//! Various noop implementations for traits. use crate::{BlockHashReader, BlockNumReader}; use reth_chainspec::ChainInfo; use reth_primitives::{BlockNumber, B256}; use reth_storage_errors::provider::ProviderResult; /// Supports various api interfaces for testing purposes. #[derive(Debug, Clone, Default, Copy)] #[non_exhaustive] pub struct NoopBlockReader; /// Noop implementation for testing purposes impl BlockHashReader for NoopBlockReader { fn block_hash(&self, _number: u64) -> ProviderResult> { Ok(None) } fn canonical_hashes_range( &self, _start: BlockNumber, _end: BlockNumber, ) -> ProviderResult> { Ok(vec![]) } } impl BlockNumReader for NoopBlockReader { fn chain_info(&self) -> ProviderResult { Ok(ChainInfo::default()) } fn best_block_number(&self) -> ProviderResult { Ok(0) } fn last_block_number(&self) -> ProviderResult { Ok(0) } fn block_number(&self, _hash: B256) -> ProviderResult> { Ok(None) } }