pub trait BlockHashReader {
// 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§
Sourcefn 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.
Sourcefn 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§
Sourcefn 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.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl<'a, N> BlockHashReader for MemoryOverlayStateProvider<N>where
N: NodePrimitives,
impl<'a, N> BlockHashReader for MemoryOverlayStateProvider<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>
Source§impl<'a, T> BlockHashReader for &'a Twhere
T: 'a + BlockHashReader + ?Sized,
impl<'a, T> BlockHashReader for &'a Twhere
T: 'a + BlockHashReader + ?Sized,
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>
Source§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>
Source§impl<S> BlockHashReader for CachedStateProvider<S>where
S: BlockHashReader,
impl<S> BlockHashReader for CachedStateProvider<S>where
S: BlockHashReader,
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>
Source§impl<S> BlockHashReader for InstrumentedStateProvider<S>where
S: BlockHashReader,
impl<S> BlockHashReader for InstrumentedStateProvider<S>where
S: BlockHashReader,
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>
Source§impl<T> BlockHashReader for Arc<T>where
T: BlockHashReader + ?Sized,
impl<T> BlockHashReader for Arc<T>where
T: BlockHashReader + ?Sized,
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>
Source§impl<T> BlockHashReader for Box<T>where
T: BlockHashReader + ?Sized,
impl<T> BlockHashReader for Box<T>where
T: BlockHashReader + ?Sized,
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<'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