Trait reth_storage_api::BlockIdReader

source ·
pub trait BlockIdReader:
    BlockNumReader
    + Send
    + Sync {
    // Required methods
    fn pending_block_num_hash(&self) -> ProviderResult<Option<BlockNumHash>>;
    fn safe_block_num_hash(&self) -> ProviderResult<Option<BlockNumHash>>;
    fn finalized_block_num_hash(&self) -> ProviderResult<Option<BlockNumHash>>;

    // Provided methods
    fn convert_block_number(
        &self,
        num: BlockNumberOrTag,
    ) -> ProviderResult<Option<BlockNumber>> { ... }
    fn block_hash_for_id(
        &self,
        block_id: BlockId,
    ) -> ProviderResult<Option<B256>> { ... }
    fn block_number_for_id(
        &self,
        block_id: BlockId,
    ) -> ProviderResult<Option<BlockNumber>> { ... }
    fn safe_block_number(&self) -> ProviderResult<Option<BlockNumber>> { ... }
    fn finalized_block_number(&self) -> ProviderResult<Option<BlockNumber>> { ... }
    fn safe_block_hash(&self) -> ProviderResult<Option<B256>> { ... }
    fn finalized_block_hash(&self) -> ProviderResult<Option<B256>> { ... }
}
Expand description

Client trait for transforming [BlockId] into block numbers or hashes.

Types that implement this trait must be able to resolve all variants of [BlockNumberOrTag] to block numbers or hashes. Automatic implementations for resolving [BlockNumberOrTag] variants are provided if the type implements the pending_block_num_hash, finalized_block_num, and safe_block_num methods.

The resulting block numbers can be converted to hashes using the underlying BlockNumReader methods, and vice versa.

Required Methods§

source

fn pending_block_num_hash(&self) -> ProviderResult<Option<BlockNumHash>>

Get the current pending block number and hash.

source

fn safe_block_num_hash(&self) -> ProviderResult<Option<BlockNumHash>>

Get the current safe block number and hash.

source

fn finalized_block_num_hash(&self) -> ProviderResult<Option<BlockNumHash>>

Get the current finalized block number and hash.

Provided Methods§

source

fn convert_block_number( &self, num: BlockNumberOrTag, ) -> ProviderResult<Option<BlockNumber>>

Converts the BlockNumberOrTag variants to a block number.

source

fn block_hash_for_id(&self, block_id: BlockId) -> ProviderResult<Option<B256>>

Get the hash of the block by matching the given id.

source

fn block_number_for_id( &self, block_id: BlockId, ) -> ProviderResult<Option<BlockNumber>>

Get the number of the block by matching the given id.

source

fn safe_block_number(&self) -> ProviderResult<Option<BlockNumber>>

Get the safe block number.

source

fn finalized_block_number(&self) -> ProviderResult<Option<BlockNumber>>

Get the finalized block number.

source

fn safe_block_hash(&self) -> ProviderResult<Option<B256>>

Get the safe block hash.

source

fn finalized_block_hash(&self) -> ProviderResult<Option<B256>>

Get the finalized block hash.

Implementations on Foreign Types§

source§

impl<'a, T: 'a + BlockIdReader + ?Sized> BlockIdReader for &'a T

source§

fn convert_block_number( &self, num: BlockNumberOrTag, ) -> ProviderResult<Option<BlockNumber>>

source§

fn block_hash_for_id(&self, block_id: BlockId) -> ProviderResult<Option<B256>>

source§

fn block_number_for_id( &self, block_id: BlockId, ) -> ProviderResult<Option<BlockNumber>>

source§

fn pending_block_num_hash(&self) -> ProviderResult<Option<BlockNumHash>>

source§

fn safe_block_num_hash(&self) -> ProviderResult<Option<BlockNumHash>>

source§

fn finalized_block_num_hash(&self) -> ProviderResult<Option<BlockNumHash>>

source§

fn safe_block_number(&self) -> ProviderResult<Option<BlockNumber>>

source§

fn finalized_block_number(&self) -> ProviderResult<Option<BlockNumber>>

source§

fn safe_block_hash(&self) -> ProviderResult<Option<B256>>

source§

fn finalized_block_hash(&self) -> ProviderResult<Option<B256>>

source§

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

source§

fn convert_block_number( &self, num: BlockNumberOrTag, ) -> ProviderResult<Option<BlockNumber>>

source§

fn block_hash_for_id(&self, block_id: BlockId) -> ProviderResult<Option<B256>>

source§

fn block_number_for_id( &self, block_id: BlockId, ) -> ProviderResult<Option<BlockNumber>>

source§

fn pending_block_num_hash(&self) -> ProviderResult<Option<BlockNumHash>>

source§

fn safe_block_num_hash(&self) -> ProviderResult<Option<BlockNumHash>>

source§

fn finalized_block_num_hash(&self) -> ProviderResult<Option<BlockNumHash>>

source§

fn safe_block_number(&self) -> ProviderResult<Option<BlockNumber>>

source§

fn finalized_block_number(&self) -> ProviderResult<Option<BlockNumber>>

source§

fn safe_block_hash(&self) -> ProviderResult<Option<B256>>

source§

fn finalized_block_hash(&self) -> ProviderResult<Option<B256>>

Implementors§