Skip to content

Commit a371ab8

Browse files
committed
run on multithread
1 parent eaeeaf5 commit a371ab8

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

crates/storage/provider/provider/src/providers/fork/state.rs

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,14 @@ impl<Db: Database> StateProofProvider for LatestStateProvider<Db> {
206206
addresses: Vec<ContractAddress>,
207207
) -> ProviderResult<katana_trie::MultiProof> {
208208
let fork_point = self.fork_db.block_id;
209-
let latest_block_number = self.db.latest_number()?;
209+
let latest_block_number = match self.db.latest_number() {
210+
Ok(num) => num,
211+
// return the fork block number if local db return this error. this can only happen whne
212+
// the ForkedProvider is constructed without inserting any locally produced
213+
// blocks.
214+
Err(ProviderError::MissingLatestBlockNumber) => self.fork_db.block_id,
215+
Err(err) => return Err(err),
216+
};
210217

211218
if latest_block_number == fork_point {
212219
let result = self.fork_db.backend.get_contracts_proofs(addresses, fork_point)?;
@@ -224,7 +231,14 @@ impl<Db: Database> StateProofProvider for LatestStateProvider<Db> {
224231
storage_keys: Vec<StorageKey>,
225232
) -> ProviderResult<katana_trie::MultiProof> {
226233
let fork_point = self.fork_db.block_id;
227-
let latest_block_number = self.db.latest_number()?;
234+
let latest_block_number = match self.db.latest_number() {
235+
Ok(num) => num,
236+
// return the fork block number if local db return this error. this can only happen whne
237+
// the ForkedProvider is constructed without inserting any locally produced
238+
// blocks.
239+
Err(ProviderError::MissingLatestBlockNumber) => self.fork_db.block_id,
240+
Err(err) => return Err(err),
241+
};
228242

229243
if latest_block_number == fork_point {
230244
let key = vec![ContractStorageKeys { address, keys: storage_keys }];

crates/storage/provider/provider/tests/fork.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,8 @@ async fn historical_fork_state() {
298298
assert!(result2.is_some());
299299
}
300300

301-
#[tokio::test]
301+
#[ignore]
302+
#[tokio::test(flavor = "multi_thread")]
302303
async fn pre_fork_state_proof() {
303304
let starknet_client = StarknetClient::new(SEPOLIA_RPC_URL.try_into().unwrap());
304305

0 commit comments

Comments
 (0)