Trait LoadTransaction
pub trait LoadTransaction: SpawnBlocking + FullEthApiTypes {
type Pool: TransactionPool;
// Required methods
fn provider(&self) -> impl TransactionsProvider;
fn cache(&self) -> &EthStateCache;
fn pool(&self) -> &Self::Pool;
// Provided methods
fn transaction_by_hash(
&self,
hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<TransactionSource>, Self::Error>> + Send { ... }
fn transaction_by_hash_at(
&self,
transaction_hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<(TransactionSource, BlockId)>, Self::Error>> + Send { ... }
fn transaction_and_block(
&self,
hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<(TransactionSource, SealedBlockWithSenders)>, Self::Error>> + Send { ... }
}
Expand description
Loads a transaction from database.
Behaviour shared by several eth_
RPC methods, not exclusive to eth_
transactions RPC
methods.
Required Associated Types§
type Pool: TransactionPool
type Pool: TransactionPool
Transaction pool with pending transactions. TransactionPool::Transaction
is the
supported transaction type.
Required Methods§
fn provider(&self) -> impl TransactionsProvider
fn provider(&self) -> impl TransactionsProvider
Returns a handle for reading data from disk.
Data access in default (L1) trait method implementations.
fn cache(&self) -> &EthStateCache
fn cache(&self) -> &EthStateCache
Returns a handle for reading data from memory.
Data access in default (L1) trait method implementations.
Provided Methods§
fn transaction_by_hash(
&self,
hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<TransactionSource>, Self::Error>> + Send
fn transaction_by_hash( &self, hash: FixedBytes<32>, ) -> impl Future<Output = Result<Option<TransactionSource>, Self::Error>> + Send
Returns the transaction by hash.
Checks the pool and state.
Returns Ok(None)
if no matching transaction was found.
fn transaction_by_hash_at(
&self,
transaction_hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<(TransactionSource, BlockId)>, Self::Error>> + Send
fn transaction_by_hash_at( &self, transaction_hash: FixedBytes<32>, ) -> impl Future<Output = Result<Option<(TransactionSource, BlockId)>, Self::Error>> + Send
Returns the transaction by including its corresponding BlockId
.
Note: this supports pending transactions
fn transaction_and_block(
&self,
hash: FixedBytes<32>,
) -> impl Future<Output = Result<Option<(TransactionSource, SealedBlockWithSenders)>, Self::Error>> + Send
fn transaction_and_block( &self, hash: FixedBytes<32>, ) -> impl Future<Output = Result<Option<(TransactionSource, SealedBlockWithSenders)>, Self::Error>> + Send
Fetches the transaction and the transaction’s block
Object Safety§
This trait is not object safe.