Trait reth_provider::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>

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>

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>

Get the hash of the block with the given number. Returns None if no block with this number exists.

Implementations on Foreign Types§

§

impl BlockHashReader for MemoryOverlayStateProvider

§

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<'a, T> BlockHashReader for &'a T
where T: 'a + BlockHashReader + ?Sized, &'a T: Send + Sync,

§

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 Box<T>
where T: BlockHashReader + ?Sized, Box<T>: Send + Sync,

§

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>
where T: BlockHashReader + ?Sized, Arc<T>: Send + Sync,

§

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 NoopBlockReader

Noop implementation for testing purposes

source§

impl BlockHashReader for StaticFileProvider

source§

impl BlockHashReader for MockEthProvider

Available on crate feature test-utils only.
source§

impl BlockHashReader for NoopProvider

Available on crate feature test-utils only.

Noop implementation for testing purposes

source§

impl<'a> BlockHashReader for StaticFileJarProvider<'a>

source§

impl<'a, TX: DbTx> BlockHashReader for HistoricalStateProvider<TX>

source§

impl<'a, TX: DbTx> BlockHashReader for LatestStateProvider<TX>

source§

impl<'b, TX: DbTx> BlockHashReader for HistoricalStateProviderRef<'b, TX>

source§

impl<'b, TX: DbTx> BlockHashReader for LatestStateProviderRef<'b, TX>

source§

impl<N: ProviderNodeTypes> BlockHashReader for BlockchainProvider2<N>

source§

impl<N: ProviderNodeTypes> BlockHashReader for BlockchainProvider<N>

source§

impl<N: ProviderNodeTypes> BlockHashReader for ProviderFactory<N>

source§

impl<SP: StateProvider, EDP: ExecutionDataProvider> BlockHashReader for BundleStateProvider<SP, EDP>

source§

impl<TX: DbTx> BlockHashReader for DatabaseProvider<TX>