@@ -89,8 +89,6 @@ type Config struct {
8989 RPCServer rpcserver.Config `koanf:"rpc-server"`
9090 ExecutionRPCClient rpcclient.ClientConfig `koanf:"execution-rpc-client" reload:"hot"`
9191 VersionAlerterServer nitroversionalerter.ServerConfig `koanf:"version-alerter-server" reload:"hot"`
92- // SnapSyncConfig is only used for testing purposes, these should not be configured in production.
93- SnapSyncTest SnapSyncConfig
9492}
9593
9694func (c * Config ) Validate () error {
@@ -212,7 +210,6 @@ var ConfigDefault = Config{
212210 Maintenance : DefaultMaintenanceConfig ,
213211 ConsensusExecutionSyncer : DefaultConsensusExecutionSyncerConfig ,
214212 VersionAlerterServer : nitroversionalerter .DefaultServerConfig ,
215- SnapSyncTest : DefaultSnapSyncConfig ,
216213 RPCServer : rpcserver .DefaultConfig ,
217214 ExecutionRPCClient : rpcclient.ClientConfig {
218215 URL : "" ,
@@ -330,24 +327,6 @@ type Node struct {
330327 ConsensusExecutionSyncer * ConsensusExecutionSyncer
331328}
332329
333- type SnapSyncConfig struct {
334- Enabled bool
335- PrevBatchMessageCount uint64
336- PrevDelayedRead uint64
337- BatchCount uint64
338- DelayedCount uint64
339- ParentChainAssertionBlock uint64
340- }
341-
342- var DefaultSnapSyncConfig = SnapSyncConfig {
343- Enabled : false ,
344- PrevBatchMessageCount : 0 ,
345- PrevDelayedRead : 0 ,
346- BatchCount : 0 ,
347- DelayedCount : 0 ,
348- ParentChainAssertionBlock : 0 ,
349- }
350-
351330type ConfigFetcher interface {
352331 Get () * Config
353332 Start (context.Context )
@@ -743,49 +722,21 @@ func getDAProviders(
743722}
744723
745724func getInboxTrackerAndReader (
746- ctx context.Context ,
747725 consensusDB ethdb.Database ,
748726 txStreamer * TransactionStreamer ,
749727 dapReaders * daprovider.DAProviderRegistry ,
750- config * Config ,
751728 configFetcher ConfigFetcher ,
752729 l1client * ethclient.Client ,
753730 l1Reader * headerreader.HeaderReader ,
754731 deployInfo * chaininfo.RollupAddresses ,
755732 delayedBridge * DelayedBridge ,
756733 sequencerInbox * SequencerInbox ,
757- exec execution.ExecutionSequencer ,
758734) (* InboxTracker , * InboxReader , error ) {
759- inboxTracker , err := NewInboxTracker (consensusDB , txStreamer , dapReaders , config . SnapSyncTest )
735+ inboxTracker , err := NewInboxTracker (consensusDB , txStreamer , dapReaders )
760736 if err != nil {
761737 return nil , nil , err
762738 }
763739 firstMessageBlock := new (big.Int ).SetUint64 (deployInfo .DeployedAt )
764- if config .SnapSyncTest .Enabled {
765- if exec == nil {
766- return nil , nil , errors .New ("snap sync test requires an execution sequencer" )
767- }
768-
769- batchCount := config .SnapSyncTest .BatchCount
770- delayedMessageNumber , err := exec .NextDelayedMessageNumber ()
771- if err != nil {
772- return nil , nil , err
773- }
774- if batchCount > delayedMessageNumber {
775- batchCount = delayedMessageNumber
776- }
777- // Find the first block containing the batch count.
778- // Subtract 1 to get the block before the needed batch count,
779- // this is done to fetch previous batch metadata needed for snap sync.
780- if batchCount > 0 {
781- batchCount --
782- }
783- block , err := FindBlockContainingBatchCount (ctx , deployInfo .Bridge , l1client , config .SnapSyncTest .ParentChainAssertionBlock , batchCount )
784- if err != nil {
785- return nil , nil , err
786- }
787- firstMessageBlock .SetUint64 (block )
788- }
789740 inboxReader , err := NewInboxReader (inboxTracker , l1client , l1Reader , firstMessageBlock , delayedBridge , sequencerInbox , func () * InboxReaderConfig { return & configFetcher .Get ().InboxReader })
790741 if err != nil {
791742 return nil , nil , err
@@ -927,7 +878,7 @@ func getTransactionStreamer(
927878 fatalErrChan chan error ,
928879) (* TransactionStreamer , error ) {
929880 transactionStreamerConfigFetcher := func () * TransactionStreamerConfig { return & configFetcher .Get ().TransactionStreamer }
930- txStreamer , err := NewTransactionStreamer (ctx , consensusDB , l2Config , exec , broadcastServer , fatalErrChan , transactionStreamerConfigFetcher , & configFetcher . Get (). SnapSyncTest )
881+ txStreamer , err := NewTransactionStreamer (ctx , consensusDB , l2Config , exec , broadcastServer , fatalErrChan , transactionStreamerConfigFetcher )
931882 if err != nil {
932883 return nil , err
933884 }
@@ -1224,7 +1175,7 @@ func createNodeImpl(
12241175 return nil , err
12251176 }
12261177
1227- inboxTracker , inboxReader , err := getInboxTrackerAndReader (ctx , consensusDB , txStreamer , dapRegistry , config , configFetcher , l1client , l1Reader , deployInfo , delayedBridge , sequencerInbox , executionSequencer )
1178+ inboxTracker , inboxReader , err := getInboxTrackerAndReader (consensusDB , txStreamer , dapRegistry , configFetcher , l1client , l1Reader , deployInfo , delayedBridge , sequencerInbox )
12281179 if err != nil {
12291180 return nil , err
12301181 }
@@ -1290,53 +1241,6 @@ func createNodeImpl(
12901241 }, nil
12911242}
12921243
1293- func FindBlockContainingBatchCount (ctx context.Context , bridgeAddress common.Address , l1Client * ethclient.Client , parentChainAssertionBlock uint64 , batchCount uint64 ) (uint64 , error ) {
1294- bridge , err := bridgegen .NewIBridge (bridgeAddress , l1Client )
1295- if err != nil {
1296- return 0 , err
1297- }
1298- high := parentChainAssertionBlock
1299- low := uint64 (0 )
1300- reduceBy := uint64 (100 )
1301- if high > reduceBy {
1302- low = high - reduceBy
1303- }
1304- // Reduce high and low by 100 until lowNode.InboxMaxCount < batchCount
1305- // This will give us a range (low to high) of blocks that contain the batch count.
1306- for low > 0 {
1307- lowCount , err := bridge .SequencerMessageCount (& bind.CallOpts {Context : ctx , BlockNumber : new (big.Int ).SetUint64 (low )})
1308- if err != nil {
1309- return 0 , err
1310- }
1311- if lowCount .Uint64 () > batchCount {
1312- high = low
1313- reduceBy = reduceBy * 2
1314- if low > reduceBy {
1315- low = low - reduceBy
1316- } else {
1317- low = 0
1318- }
1319- } else {
1320- break
1321- }
1322- }
1323- // Then binary search between low and high to find the block containing the batch count.
1324- for low < high {
1325- mid := low + (high - low )/ 2
1326-
1327- midCount , err := bridge .SequencerMessageCount (& bind.CallOpts {Context : ctx , BlockNumber : new (big.Int ).SetUint64 (mid )})
1328- if err != nil {
1329- return 0 , err
1330- }
1331- if midCount .Uint64 () < batchCount {
1332- low = mid + 1
1333- } else {
1334- high = mid
1335- }
1336- }
1337- return low , nil
1338- }
1339-
13401244func (n * Node ) OnConfigReload (_ * Config , _ * Config ) error {
13411245 // TODO
13421246 return nil
0 commit comments