Trait reth_provider::ReceiptProviderIdExt

pub trait ReceiptProviderIdExt: ReceiptProvider + BlockIdReader {
    // Provided methods
    fn receipts_by_block_id(
        &self,
        block: BlockId,
    ) -> Result<Option<Vec<Receipt>>, ProviderError> { ... }
    fn receipts_by_number_or_tag(
        &self,
        number_or_tag: BlockNumberOrTag,
    ) -> Result<Option<Vec<Receipt>>, ProviderError> { ... }
}
Expand description

Trait extension for ReceiptProvider, for types that implement BlockId conversion.

The Receipt trait should be implemented on types that can retrieve receipts from either a block number or hash. However, it might be desirable to fetch receipts from a BlockId type, which can be a number, hash, or tag such as BlockNumberOrTag::Safe.

Resolving tags requires keeping track of block hashes or block numbers associated with the tag, so this trait can only be implemented for types that implement BlockIdReader. The BlockIdReader methods should be used to resolve BlockIds to block numbers or hashes, and retrieving the receipts should be done using the type’s ReceiptProvider methods.

Provided Methods§

fn receipts_by_block_id( &self, block: BlockId, ) -> Result<Option<Vec<Receipt>>, ProviderError>

Get receipt by block id

fn receipts_by_number_or_tag( &self, number_or_tag: BlockNumberOrTag, ) -> Result<Option<Vec<Receipt>>, ProviderError>

Returns the block with the matching BlockId from the database.

Returns None if block is not found.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

§

impl<'a, T> ReceiptProviderIdExt for &'a T

§

fn receipts_by_block_id( &self, block: BlockId, ) -> Result<Option<Vec<Receipt>>, ProviderError>

§

fn receipts_by_number_or_tag( &self, number_or_tag: BlockNumberOrTag, ) -> Result<Option<Vec<Receipt>>, ProviderError>

§

impl<T> ReceiptProviderIdExt for Arc<T>

§

fn receipts_by_block_id( &self, block: BlockId, ) -> Result<Option<Vec<Receipt>>, ProviderError>

§

fn receipts_by_number_or_tag( &self, number_or_tag: BlockNumberOrTag, ) -> Result<Option<Vec<Receipt>>, ProviderError>

Implementors§

source§

impl ReceiptProviderIdExt for MockEthProvider

Available on crate feature test-utils only.
source§

impl ReceiptProviderIdExt for NoopProvider

Available on crate feature test-utils only.
source§

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

source§

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