@@ -8,10 +8,12 @@ use apollo_l1_provider::l1_provider::L1ProviderBuilder;
88use apollo_l1_provider:: l1_scraper:: L1Scraper ;
99use apollo_l1_provider:: metrics:: L1_PROVIDER_INFRA_METRICS ;
1010use apollo_l1_provider:: L1ProviderConfig ;
11- use apollo_l1_provider_types:: { L1ProviderRequest , L1ProviderResponse , MockL1ProviderClient } ;
11+ use apollo_l1_provider_types:: { L1ProviderRequest , L1ProviderResponse } ;
1212use apollo_l1_scraper_config:: config:: L1ScraperConfig ;
1313use apollo_state_sync_types:: communication:: MockStateSyncClient ;
14- use papyrus_base_layer:: { L1BlockReference , MockBaseLayerContract } ;
14+ use papyrus_base_layer:: anvil_base_layer:: AnvilBaseLayer ;
15+ use papyrus_base_layer:: test_utils:: anvil_mine_blocks;
16+ use papyrus_base_layer:: { BaseLayerContract , L1BlockReference } ;
1517use starknet_api:: block:: { BlockHashAndNumber , BlockNumber } ;
1618use tokio:: sync:: mpsc:: channel;
1719
@@ -22,21 +24,16 @@ async fn flow_tests() {
2224 let historical_block = BlockHashAndNumber :: default ( ) ;
2325
2426 // Setup the base layer.
25- let mut base_layer = MockBaseLayerContract :: default ( ) ; // TODO(guyn): replace this with Anvil.
26- base_layer. expect_latest_l1_block ( ) . returning ( move |_| Ok ( Some ( start_block) ) ) ;
27- base_layer. expect_latest_proved_block ( ) . returning ( move |_| Ok ( Some ( historical_block) ) ) ;
28-
29- // L1 provider setup.
30- let mut l1_provider = L1ProviderBuilder :: new (
31- L1ProviderConfig :: default ( ) ,
32- Arc :: new ( MockL1ProviderClient :: default ( ) ) , // This isn't right
33- Arc :: new ( MockBatcherClient :: default ( ) ) , // Consider saving a copy of this to interact
34- Arc :: new ( MockStateSyncClient :: default ( ) ) , /* We'll need a copy of this if we do
35- * bootstrapping */
27+ // let mut base_layer = MockBaseLayerContract::default(); // TODO(guyn): replace this with
28+ // Anvil. base_layer.expect_latest_l1_block().returning(move |_| Ok(Some(start_block)));
29+ // base_layer.expect_latest_proved_block().returning(move |_| Ok(Some(historical_block)));
30+ let base_layer = AnvilBaseLayer :: new ( ) . await ;
31+ anvil_mine_blocks (
32+ base_layer. ethereum_base_layer . config . clone ( ) ,
33+ 100 ,
34+ & base_layer. get_url ( ) . await . expect ( "Failed to get anvil url." ) ,
3635 )
37- . startup_height ( BlockNumber ( start_block. number ) )
38- . catchup_height ( historical_block. number )
39- . build ( ) ;
36+ . await ;
4037
4138 // This channel connects the L1Provider client to the server.
4239 let ( tx, rx) = channel :: < RequestWrapper < L1ProviderRequest , L1ProviderResponse > > ( 32 ) ;
@@ -45,6 +42,18 @@ async fn flow_tests() {
4542 let l1_provider_client =
4643 LocalComponentClient :: new ( tx, L1_PROVIDER_INFRA_METRICS . get_local_client_metrics ( ) ) ;
4744
45+ // L1 provider setup.
46+ let mut l1_provider = L1ProviderBuilder :: new (
47+ L1ProviderConfig :: default ( ) ,
48+ Arc :: new ( l1_provider_client. clone ( ) ) ,
49+ Arc :: new ( MockBatcherClient :: default ( ) ) , // Consider saving a copy of this to interact
50+ Arc :: new ( MockStateSyncClient :: default ( ) ) , /* We'll need a copy of this if we do
51+ * bootstrapping */
52+ )
53+ . startup_height ( BlockNumber ( start_block. number ) )
54+ . catchup_height ( historical_block. number )
55+ . build ( ) ;
56+
4857 // Create the server.
4958 l1_provider. initialize ( vec ! [ ] ) . await . unwrap ( ) ;
5059 let _l1_provider_server = LocalComponentServer :: new (
0 commit comments