Trait BlockHashReader
pub trait BlockHashReader: Send + Sync {
// Required methods
fn block_hash(
&self,
number: u64,
) -> Result<Option<FixedBytes<32>>, ProviderError>;
fn canonical_hashes_range(
&self,
start: u64,
end: u64,
) -> Result<Vec<FixedBytes<32>>, ProviderError>;
// Provided method
fn convert_block_hash(
&self,
hash_or_number: HashOrNumber,
) -> Result<Option<FixedBytes<32>>, ProviderError> { ... }
}
Expand description
Client trait for fetching block hashes by number.
Required Methods§
fn block_hash(
&self,
number: u64,
) -> Result<Option<FixedBytes<32>>, ProviderError>
fn block_hash( &self, number: u64, ) -> Result<Option<FixedBytes<32>>, ProviderError>
Get the hash of the block with the given number. Returns None
if no block with this number
exists.
fn canonical_hashes_range(
&self,
start: u64,
end: u64,
) -> Result<Vec<FixedBytes<32>>, ProviderError>
fn canonical_hashes_range( &self, start: u64, end: u64, ) -> Result<Vec<FixedBytes<32>>, ProviderError>
Get headers in range of block hashes or numbers
Returns the available hashes of that range.
Note: The range is start..end
, so the expected result is [start..end)
Provided Methods§
fn convert_block_hash(
&self,
hash_or_number: HashOrNumber,
) -> Result<Option<FixedBytes<32>>, ProviderError>
fn convert_block_hash( &self, hash_or_number: HashOrNumber, ) -> Result<Option<FixedBytes<32>>, ProviderError>
Get the hash of the block with the given number. Returns None
if no block with this number
exists.
Implementations on Foreign Types§
§impl<'a, T> BlockHashReader for &'a T
impl<'a, T> BlockHashReader for &'a T
fn block_hash( &self, number: u64, ) -> Result<Option<FixedBytes<32>>, ProviderError>
fn convert_block_hash( &self, hash_or_number: HashOrNumber, ) -> Result<Option<FixedBytes<32>>, ProviderError>
fn canonical_hashes_range( &self, start: u64, end: u64, ) -> Result<Vec<FixedBytes<32>>, ProviderError>
§impl<N> BlockHashReader for MemoryOverlayStateProviderRef<'_, N>where
N: NodePrimitives,
impl<N> BlockHashReader for MemoryOverlayStateProviderRef<'_, N>where
N: NodePrimitives,
fn block_hash( &self, number: u64, ) -> Result<Option<FixedBytes<32>>, ProviderError>
fn canonical_hashes_range( &self, start: u64, end: u64, ) -> Result<Vec<FixedBytes<32>>, ProviderError>
§impl<T> BlockHashReader for Box<T>
impl<T> BlockHashReader for Box<T>
fn block_hash( &self, number: u64, ) -> Result<Option<FixedBytes<32>>, ProviderError>
fn convert_block_hash( &self, hash_or_number: HashOrNumber, ) -> Result<Option<FixedBytes<32>>, ProviderError>
fn canonical_hashes_range( &self, start: u64, end: u64, ) -> Result<Vec<FixedBytes<32>>, ProviderError>
§impl<T> BlockHashReader for Arc<T>
impl<T> BlockHashReader for Arc<T>
fn block_hash( &self, number: u64, ) -> Result<Option<FixedBytes<32>>, ProviderError>
fn convert_block_hash( &self, hash_or_number: HashOrNumber, ) -> Result<Option<FixedBytes<32>>, ProviderError>
fn canonical_hashes_range( &self, start: u64, end: u64, ) -> Result<Vec<FixedBytes<32>>, ProviderError>
Implementors§
impl BlockHashReader for StateProviderTest
impl BlockHashReader for StateProviderTraitObjWrapper<'_>
impl BlockHashReader for MockEthProvider
impl<'a, Provider> BlockHashReader for HistoricalStateProvider<Provider>
impl<'a, Provider> BlockHashReader for LatestStateProvider<Provider>
impl<ChainSpec, N> BlockHashReader for NoopProvider<ChainSpec, N>
Noop implementation for testing purposes