From 2b27aa9a4f2efe40ba336933fed7147a71d724e8 Mon Sep 17 00:00:00 2001 From: Dan Cline <6798349+Rjected@users.noreply.github.com> Date: Sun, 2 Apr 2023 15:50:59 -0400 Subject: [PATCH] chore: impl transactions_by_block_range for mock provider (#2082) --- crates/storage/provider/src/test_utils/mock.rs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/crates/storage/provider/src/test_utils/mock.rs b/crates/storage/provider/src/test_utils/mock.rs index 058b2fc63c..afe38bb502 100644 --- a/crates/storage/provider/src/test_utils/mock.rs +++ b/crates/storage/provider/src/test_utils/mock.rs @@ -11,7 +11,11 @@ use reth_primitives::{ TransactionSigned, TxHash, TxNumber, H256, U256, }; use revm_primitives::{BlockEnv, CfgEnv}; -use std::{collections::HashMap, ops::RangeBounds, sync::Arc}; +use std::{ + collections::{BTreeMap, HashMap}, + ops::RangeBounds, + sync::Arc, +}; /// A mock implementation for Provider interfaces. #[derive(Debug, Clone, Default)] @@ -167,9 +171,17 @@ impl TransactionsProvider for MockEthProvider { fn transactions_by_block_range( &self, - _range: impl RangeBounds, + range: impl RangeBounds, ) -> Result>> { - unimplemented!() + // init btreemap so we can return in order + let mut map = BTreeMap::new(); + for (_, block) in self.blocks.lock().iter() { + if range.contains(&block.number) { + map.insert(block.number, block.body.clone()); + } + } + + Ok(map.into_values().collect()) } }