Skip to main content

LoadTransaction

Trait LoadTransaction 

Source
pub trait LoadTransaction:
    SpawnBlocking
    + FullEthApiTypes
    + RpcNodeCoreExt {
    // Provided methods
    fn recover_raw_transaction<T: SignedTransaction>(
        &self,
        tx: &[u8],
    ) -> EthResult<Recovered<T>> { ... }
    fn recover_raw_transactions<T: SignedTransaction>(
        &self,
        txs: impl IntoIterator<Item = impl AsRef<[u8]>>,
    ) -> EthResult<Vec<Recovered<T>>> { ... }
    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§

Source

fn recover_raw_transaction<T: SignedTransaction>( &self, tx: &[u8], ) -> EthResult<Recovered<T>>

Decodes and recovers a raw transaction, sharing sender recovery when configured.

Source

fn recover_raw_transactions<T: SignedTransaction>( &self, txs: impl IntoIterator<Item = impl AsRef<[u8]>>, ) -> EthResult<Vec<Recovered<T>>>

Decodes and recovers raw transactions in order, stopping at the first error.

Uses Self::recover_raw_transaction to share sender recovery when configured.

Source

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.

Source

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

Source

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

Source

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".

Implementors§