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 BlockId
s 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>
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>
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§
Implementations on Foreign Types§
§impl<'a, T> ReceiptProviderIdExt for &'a T
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>
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§
impl ReceiptProviderIdExt for MockEthProvider
test-utils
only.impl ReceiptProviderIdExt for NoopProvider
test-utils
only.