Trait reth_storage_api::BlockHashReader

source ·
pub trait BlockHashReader: Send + Sync {
    // Required methods
    fn block_hash(&self, number: BlockNumber) -> ProviderResult<Option<B256>>;
    fn canonical_hashes_range(
        &self,
        start: BlockNumber,
        end: BlockNumber,
    ) -> ProviderResult<Vec<B256>>;

    // Provided method
    fn convert_block_hash(
        &self,
        hash_or_number: BlockHashOrNumber,
    ) -> ProviderResult<Option<B256>> { ... }
}
Expand description

Client trait for fetching block hashes by number.

Required Methods§

source

fn block_hash(&self, number: BlockNumber) -> ProviderResult<Option<B256>>

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

source

fn canonical_hashes_range( &self, start: BlockNumber, end: BlockNumber, ) -> ProviderResult<Vec<B256>>

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§

source

fn convert_block_hash( &self, hash_or_number: BlockHashOrNumber, ) -> ProviderResult<Option<B256>>

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

source§

fn block_hash(&self, number: BlockNumber) -> ProviderResult<Option<B256>>

source§

fn convert_block_hash( &self, hash_or_number: BlockHashOrNumber, ) -> ProviderResult<Option<B256>>

source§

fn canonical_hashes_range( &self, start: BlockNumber, end: BlockNumber, ) -> ProviderResult<Vec<B256>>

source§

impl<T: BlockHashReader + ?Sized> BlockHashReader for Box<T>
where Box<T>: Send + Sync,

source§

fn block_hash(&self, number: BlockNumber) -> ProviderResult<Option<B256>>

source§

fn convert_block_hash( &self, hash_or_number: BlockHashOrNumber, ) -> ProviderResult<Option<B256>>

source§

fn canonical_hashes_range( &self, start: BlockNumber, end: BlockNumber, ) -> ProviderResult<Vec<B256>>

source§

impl<T: BlockHashReader + ?Sized> BlockHashReader for Arc<T>
where Arc<T>: Send + Sync,

source§

fn block_hash(&self, number: BlockNumber) -> ProviderResult<Option<B256>>

source§

fn convert_block_hash( &self, hash_or_number: BlockHashOrNumber, ) -> ProviderResult<Option<B256>>

source§

fn canonical_hashes_range( &self, start: BlockNumber, end: BlockNumber, ) -> ProviderResult<Vec<B256>>

Implementors§

source§

impl BlockHashReader for NoopBlockReader

Noop implementation for testing purposes