@@ -371,6 +371,7 @@ async fn commit_block_backlog() {
371371 let mut l1_provider = L1ProviderContentBuilder :: new ( )
372372 . with_bootstrapper ( bootstrapper. clone ( ) )
373373 . with_txs ( [ l1_handler ( 1 ) , l1_handler ( 2 ) , l1_handler ( 4 ) ] )
374+ . with_state ( ProviderState :: Uninitialized )
374375 . build_into_l1_provider ( ) ;
375376
376377 l1_provider. initialize ( STARTUP_HEIGHT , vec ! [ ] ) . await . expect ( "l1 provider initialize failed" ) ;
@@ -431,6 +432,7 @@ async fn bootstrap_commit_block_received_twice_no_error() {
431432 let mut l1_provider = L1ProviderContentBuilder :: new ( )
432433 . with_bootstrapper ( bootstrapper)
433434 . with_txs ( [ l1_handler ( 1 ) , l1_handler ( 2 ) ] )
435+ . with_state ( ProviderState :: Uninitialized )
434436 . build_into_l1_provider ( ) ;
435437
436438 l1_provider. initialize ( BlockNumber ( 0 ) , vec ! [ ] ) . await . expect ( "l1 provider initialize failed" ) ;
@@ -452,6 +454,7 @@ async fn bootstrap_commit_block_received_twice_error_if_new_uncommitted_txs() {
452454 let mut l1_provider = L1ProviderContentBuilder :: new ( )
453455 . with_bootstrapper ( bootstrapper)
454456 . with_txs ( [ l1_handler ( 1 ) , l1_handler ( 2 ) ] )
457+ . with_state ( ProviderState :: Uninitialized )
455458 . build_into_l1_provider ( ) ;
456459
457460 l1_provider. initialize ( BlockNumber ( 0 ) , vec ! [ ] ) . await . expect ( "l1 provider initialize failed" ) ;
@@ -1058,8 +1061,10 @@ async fn commit_block_historical_height_short_circuits_bootstrap() {
10581061
10591062 let batcher_height_old = 4 ;
10601063 let bootstrapper = make_bootstrapper ! ( backlog: [ ] ) ;
1061- let l1_provider_builder =
1062- L1ProviderContentBuilder :: new ( ) . with_bootstrapper ( bootstrapper) . with_txs ( [ l1_handler ( 1 ) ] ) ;
1064+ let l1_provider_builder = L1ProviderContentBuilder :: new ( )
1065+ . with_bootstrapper ( bootstrapper)
1066+ . with_state ( ProviderState :: Uninitialized )
1067+ . with_txs ( [ l1_handler ( 1 ) ] ) ;
10631068 let l1_provider_builder_clone = l1_provider_builder. clone ( ) ;
10641069 let mut l1_provider = l1_provider_builder. clone ( ) . build_into_l1_provider ( ) ;
10651070 l1_provider. initialize ( STARTUP_HEIGHT , vec ! [ ] ) . await . expect ( "l1 provider initialize failed" ) ;
@@ -1400,7 +1405,9 @@ fn consuming_multiple_txs_selective_deletion_after_timelock() {
14001405#[ test]
14011406fn bootstrap_commit_block_received_while_uninitialized ( ) {
14021407 // Setup.
1403- let mut l1_provider = L1ProviderContentBuilder :: new ( ) . build_into_l1_provider ( ) ;
1408+ let mut l1_provider = L1ProviderContentBuilder :: new ( )
1409+ . with_state ( ProviderState :: Uninitialized )
1410+ . build_into_l1_provider ( ) ;
14041411
14051412 // Test.
14061413 let result = l1_provider. commit_block ( [ ] . into ( ) , [ ] . into ( ) , BlockNumber ( 1 ) ) ;
@@ -1726,3 +1733,24 @@ async fn test_stuck_sync() {
17261733 tokio:: time:: sleep ( config. startup_sync_sleep_retry_interval_seconds ) . await ;
17271734 }
17281735}
1736+
1737+ #[ tokio:: test]
1738+ async fn provider_initialized_in_pending_is_same_as_uninitialized_after_getting_initialize ( ) {
1739+ // Setup.
1740+ const STARTUP_HEIGHT : BlockNumber = BlockNumber ( 2 ) ;
1741+ let mut provider_starts_uninitialized = L1ProviderContentBuilder :: new ( )
1742+ . with_state ( ProviderState :: Uninitialized )
1743+ . build_into_l1_provider ( ) ;
1744+ assert ! ( provider_starts_uninitialized. state. is_uninitialized( ) ) ;
1745+
1746+ let provider_starts_pending =
1747+ L1ProviderContentBuilder :: new ( ) . with_height ( STARTUP_HEIGHT ) . build_into_l1_provider ( ) ;
1748+ assert_eq ! ( provider_starts_pending. state, ProviderState :: Pending ) ;
1749+
1750+ // Test.
1751+ provider_starts_uninitialized. initialize ( STARTUP_HEIGHT , Default :: default ( ) ) . await . unwrap ( ) ;
1752+ assert_eq ! ( provider_starts_uninitialized. state, ProviderState :: Pending ) ;
1753+
1754+ // Assert.
1755+ assert_eq ! ( provider_starts_uninitialized, provider_starts_pending) ;
1756+ }
0 commit comments