Skip to content

Commit 18cd126

Browse files
committed
papyrus_base_layer: test util for creating an ethereum base layer using a mock provider
1 parent c9cf398 commit 18cd126

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

crates/papyrus_base_layer/src/base_layer_test.rs

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,7 @@ use alloy::providers::{Provider, ProviderBuilder};
55
use alloy::rpc::types::{Block, BlockTransactions, Header as AlloyRpcHeader};
66
use pretty_assertions::assert_eq;
77

8-
use crate::ethereum_base_layer_contract::{
9-
CircularUrlIterator,
10-
EthereumBaseLayerConfig,
11-
EthereumBaseLayerContract,
12-
Starknet,
13-
};
8+
use crate::ethereum_base_layer_contract::{EthereumBaseLayerConfig, EthereumBaseLayerContract};
149
use crate::BaseLayerContract;
1510

1611
// TODO(Gilad): Use everywhere instead of relying on the confusing `#[ignore]` api to mark slow
@@ -24,10 +19,8 @@ fn base_layer_with_mocked_provider() -> (EthereumBaseLayerContract, Asserter) {
2419
let asserter = Asserter::new();
2520

2621
let provider = ProviderBuilder::new().connect_mocked_client(asserter.clone()).root().clone();
27-
let contract = Starknet::new(Default::default(), provider);
2822
let config = EthereumBaseLayerConfig::default();
29-
let url_iterator = CircularUrlIterator::new(config.ordered_l1_endpoint_urls.clone());
30-
let base_layer = EthereumBaseLayerContract { contract, config, url_iterator };
23+
let base_layer = EthereumBaseLayerContract::new_with_provider(config, provider);
3124

3225
(base_layer, asserter)
3326
}

crates/papyrus_base_layer/src/ethereum_base_layer_contract.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,13 @@ impl EthereumBaseLayerContract {
110110
);
111111
Self { url_iterator, contract, config }
112112
}
113+
#[cfg(any(test, feature = "testing"))]
114+
pub fn new_with_provider(config: EthereumBaseLayerConfig, provider: RootProvider) -> Self {
115+
let url_iterator = CircularUrlIterator::new(config.ordered_l1_endpoint_urls.clone());
116+
let starknet_contract_address = config.starknet_contract_address;
117+
let contract = Starknet::new(starknet_contract_address, provider);
118+
Self { url_iterator, contract, config }
119+
}
113120
}
114121

115122
#[async_trait]

0 commit comments

Comments
 (0)