pub trait TransactionsProvider:
BlockNumReader
+ Send
+ Sync {
// Required methods
fn transaction_id(
&self,
tx_hash: TxHash,
) -> ProviderResult<Option<TxNumber>>;
fn transaction_by_id(
&self,
id: TxNumber,
) -> ProviderResult<Option<TransactionSigned>>;
fn transaction_by_id_no_hash(
&self,
id: TxNumber,
) -> ProviderResult<Option<TransactionSignedNoHash>>;
fn transaction_by_hash(
&self,
hash: TxHash,
) -> ProviderResult<Option<TransactionSigned>>;
fn transaction_by_hash_with_meta(
&self,
hash: TxHash,
) -> ProviderResult<Option<(TransactionSigned, TransactionMeta)>>;
fn transaction_block(
&self,
id: TxNumber,
) -> ProviderResult<Option<BlockNumber>>;
fn transactions_by_block(
&self,
block: BlockHashOrNumber,
) -> ProviderResult<Option<Vec<TransactionSigned>>>;
fn transactions_by_block_range(
&self,
range: impl RangeBounds<BlockNumber>,
) -> ProviderResult<Vec<Vec<TransactionSigned>>>;
fn transactions_by_tx_range(
&self,
range: impl RangeBounds<TxNumber>,
) -> ProviderResult<Vec<TransactionSignedNoHash>>;
fn senders_by_tx_range(
&self,
range: impl RangeBounds<TxNumber>,
) -> ProviderResult<Vec<Address>>;
fn transaction_sender(
&self,
id: TxNumber,
) -> ProviderResult<Option<Address>>;
}
Expand description
Client trait for fetching [TransactionSigned] related data.
Required Methods§
sourcefn transaction_id(&self, tx_hash: TxHash) -> ProviderResult<Option<TxNumber>>
fn transaction_id(&self, tx_hash: TxHash) -> ProviderResult<Option<TxNumber>>
Get internal transaction identifier by transaction hash.
This is the inverse of TransactionsProvider::transaction_by_id. Returns None if the transaction is not found.
sourcefn transaction_by_id(
&self,
id: TxNumber,
) -> ProviderResult<Option<TransactionSigned>>
fn transaction_by_id( &self, id: TxNumber, ) -> ProviderResult<Option<TransactionSigned>>
Get transaction by id, computes hash every time so more expensive.
sourcefn transaction_by_id_no_hash(
&self,
id: TxNumber,
) -> ProviderResult<Option<TransactionSignedNoHash>>
fn transaction_by_id_no_hash( &self, id: TxNumber, ) -> ProviderResult<Option<TransactionSignedNoHash>>
Get transaction by id without computing the hash.
sourcefn transaction_by_hash(
&self,
hash: TxHash,
) -> ProviderResult<Option<TransactionSigned>>
fn transaction_by_hash( &self, hash: TxHash, ) -> ProviderResult<Option<TransactionSigned>>
Get transaction by transaction hash.
sourcefn transaction_by_hash_with_meta(
&self,
hash: TxHash,
) -> ProviderResult<Option<(TransactionSigned, TransactionMeta)>>
fn transaction_by_hash_with_meta( &self, hash: TxHash, ) -> ProviderResult<Option<(TransactionSigned, TransactionMeta)>>
Get transaction by transaction hash and additional metadata of the block the transaction was mined in
sourcefn transaction_block(&self, id: TxNumber) -> ProviderResult<Option<BlockNumber>>
fn transaction_block(&self, id: TxNumber) -> ProviderResult<Option<BlockNumber>>
Get transaction block number
sourcefn transactions_by_block(
&self,
block: BlockHashOrNumber,
) -> ProviderResult<Option<Vec<TransactionSigned>>>
fn transactions_by_block( &self, block: BlockHashOrNumber, ) -> ProviderResult<Option<Vec<TransactionSigned>>>
Get transactions by block id.
sourcefn transactions_by_block_range(
&self,
range: impl RangeBounds<BlockNumber>,
) -> ProviderResult<Vec<Vec<TransactionSigned>>>
fn transactions_by_block_range( &self, range: impl RangeBounds<BlockNumber>, ) -> ProviderResult<Vec<Vec<TransactionSigned>>>
Get transactions by block range.
sourcefn transactions_by_tx_range(
&self,
range: impl RangeBounds<TxNumber>,
) -> ProviderResult<Vec<TransactionSignedNoHash>>
fn transactions_by_tx_range( &self, range: impl RangeBounds<TxNumber>, ) -> ProviderResult<Vec<TransactionSignedNoHash>>
Get transactions by tx range.
sourcefn senders_by_tx_range(
&self,
range: impl RangeBounds<TxNumber>,
) -> ProviderResult<Vec<Address>>
fn senders_by_tx_range( &self, range: impl RangeBounds<TxNumber>, ) -> ProviderResult<Vec<Address>>
Get Senders from a tx range.
sourcefn transaction_sender(&self, id: TxNumber) -> ProviderResult<Option<Address>>
fn transaction_sender(&self, id: TxNumber) -> ProviderResult<Option<Address>>
Get transaction sender.
Returns None if the transaction is not found.
Object Safety§
This trait is not object safe.