@@ -39,7 +39,8 @@ use scroll_alloy_hardforks::ScrollHardforks;
3939use scroll_alloy_network:: Scroll ;
4040use scroll_alloy_provider:: { ScrollAuthApiEngineClient , ScrollEngineApi } ;
4141use scroll_db:: {
42- Database , DatabaseConnectionProvider , DatabaseTransactionProvider , DatabaseWriteOperations ,
42+ Database , DatabaseConnectionProvider , DatabaseReadOperations , DatabaseTransactionProvider ,
43+ DatabaseWriteOperations ,
4344} ;
4445use scroll_engine:: { genesis_hash_from_chain_spec, EngineDriver , ForkchoiceState } ;
4546use scroll_migration:: traits:: ScrollMigrator ;
@@ -338,6 +339,9 @@ impl ScrollRollupNodeConfig {
338339
339340 // Construct the Sequencer.
340341 let chain_config = chain_spec. chain_config ( ) ;
342+ let latest_l1_message = db. tx ( ) . await ?. get_latest_executed_l1_message ( ) . await ?;
343+ let sequencer_l1_messages_queue_index =
344+ latest_l1_message. map ( |msg| msg. transaction . queue_index + 1 ) . unwrap_or_default ( ) ;
341345 let ( sequencer, block_time, auto_start) = if self . sequencer_args . sequencer_enabled {
342346 let args = & self . sequencer_args ;
343347 let sequencer = Sequencer :: new (
@@ -349,8 +353,7 @@ impl ScrollRollupNodeConfig {
349353 . unwrap_or ( chain_config. l1_config . num_l1_messages_per_block ) ,
350354 0 ,
351355 self . sequencer_args . l1_message_inclusion_mode ,
352- // TODO (issue 169): update with correct start value.
353- 0 ,
356+ sequencer_l1_messages_queue_index,
354357 ) ;
355358 ( Some ( sequencer) , ( args. block_time != 0 ) . then_some ( args. block_time ) , args. auto_start )
356359 } else {
0 commit comments