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> { ... }
}
Available on crate feature
provider
only.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.
Implementations on Foreign Types§
Source§impl BlockHashReader for StateProviderTest
impl BlockHashReader for StateProviderTest
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 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>
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<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>
Source§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 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