pub trait LoadTransaction:
SpawnBlocking
+ FullEthApiTypes
+ RpcNodeCoreExt {
// Provided methods
fn transaction_by_hash(
&self,
hash: B256,
) -> impl Future<Output = Result<Option<TransactionSource<ProviderTx<Self::Provider>>>, Self::Error>> + Send { ... }
fn transaction_by_hash_at(
&self,
transaction_hash: B256,
) -> impl Future<Output = Result<Option<(TransactionSource<ProviderTx<Self::Provider>>, BlockId)>, Self::Error>> + Send { ... }
fn transaction_and_block(
&self,
hash: B256,
) -> impl Future<Output = Result<Option<(TransactionSource<ProviderTx<Self::Provider>>, Arc<RecoveredBlock<ProviderBlock<Self::Provider>>>)>, Self::Error>> + Send { ... }
fn transaction_and_block_and_maybe_bal(
&self,
hash: B256,
) -> impl Future<Output = Result<Option<(TransactionSource<ProviderTx<Self::Provider>>, Arc<RecoveredBlock<ProviderBlock<Self::Provider>>>, Option<Arc<DecodedBal<Arc<RevmBal>>>>)>, Self::Error>> + Send { ... }
}Expand description
Loads a transaction from database.
Behaviour shared by several eth_ RPC methods, not exclusive to eth_ transactions RPC
methods.
Provided Methods§
Sourcefn transaction_by_hash(
&self,
hash: B256,
) -> impl Future<Output = Result<Option<TransactionSource<ProviderTx<Self::Provider>>>, Self::Error>> + Send
fn transaction_by_hash( &self, hash: B256, ) -> impl Future<Output = Result<Option<TransactionSource<ProviderTx<Self::Provider>>>, Self::Error>> + Send
Returns the transaction by hash.
Checks the pool and state.
Returns Ok(None) if no matching transaction was found.
Sourcefn transaction_by_hash_at(
&self,
transaction_hash: B256,
) -> impl Future<Output = Result<Option<(TransactionSource<ProviderTx<Self::Provider>>, BlockId)>, Self::Error>> + Send
fn transaction_by_hash_at( &self, transaction_hash: B256, ) -> impl Future<Output = Result<Option<(TransactionSource<ProviderTx<Self::Provider>>, BlockId)>, Self::Error>> + Send
Returns the transaction by including its corresponding [BlockId].
Note: this supports pending transactions
Sourcefn transaction_and_block(
&self,
hash: B256,
) -> impl Future<Output = Result<Option<(TransactionSource<ProviderTx<Self::Provider>>, Arc<RecoveredBlock<ProviderBlock<Self::Provider>>>)>, Self::Error>> + Send
fn transaction_and_block( &self, hash: B256, ) -> impl Future<Output = Result<Option<(TransactionSource<ProviderTx<Self::Provider>>, Arc<RecoveredBlock<ProviderBlock<Self::Provider>>>)>, Self::Error>> + Send
Fetches the transaction and the transaction’s block
Sourcefn transaction_and_block_and_maybe_bal(
&self,
hash: B256,
) -> impl Future<Output = Result<Option<(TransactionSource<ProviderTx<Self::Provider>>, Arc<RecoveredBlock<ProviderBlock<Self::Provider>>>, Option<Arc<DecodedBal<Arc<RevmBal>>>>)>, Self::Error>> + Send
fn transaction_and_block_and_maybe_bal( &self, hash: B256, ) -> impl Future<Output = Result<Option<(TransactionSource<ProviderTx<Self::Provider>>, Arc<RecoveredBlock<ProviderBlock<Self::Provider>>>, Option<Arc<DecodedBal<Arc<RevmBal>>>>)>, Self::Error>> + Send
Fetches the transaction and the transaction’s block, together with the block’s cached block access list, if any.
The BAL is only returned if it is already cached, it is never fetched from the BAL store.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".