Trait reth_node_core::rpc::eth::helpers::EthBlocks

pub trait EthBlocks: LoadBlock {
    // Required methods
    fn provider(&self) -> impl HeaderProvider;
    fn block_receipts(
        &self,
        block_id: BlockId,
    ) -> impl Future<Output = Result<Option<Vec<WithOtherFields<TransactionReceipt<AnyReceiptEnvelope<Log>>>>>, Self::Error>> + Send
       where Self: LoadReceipt;

    // Provided methods
    fn rpc_block_header(
        &self,
        block_id: BlockId,
    ) -> impl Future<Output = Result<Option<Header>, Self::Error>> + Send { ... }
    fn rpc_block(
        &self,
        block_id: BlockId,
        full: bool,
    ) -> impl Future<Output = Result<Option<Block<<Self::NetworkTypes as Network>::TransactionResponse, <Self::NetworkTypes as Network>::HeaderResponse>>, Self::Error>> + Send { ... }
    fn block_transaction_count(
        &self,
        block_id: BlockId,
    ) -> impl Future<Output = Result<Option<usize>, Self::Error>> + Send { ... }
    fn load_block_and_receipts(
        &self,
        block_id: BlockId,
    ) -> impl Future<Output = Result<Option<(SealedBlock, Arc<Vec<Receipt>>)>, Self::Error>> + Send
       where Self: LoadReceipt { ... }
    fn ommers(
        &self,
        block_id: BlockId,
    ) -> Result<Option<Vec<Header>>, Self::Error> { ... }
    fn ommer_by_block_and_index(
        &self,
        block_id: BlockId,
        index: Index,
    ) -> impl Future<Output = Result<Option<Block<<Self::NetworkTypes as Network>::TransactionResponse, <Self::NetworkTypes as Network>::HeaderResponse>>, Self::Error>> + Send { ... }
}
Expand description

Block related functions for the EthApiServer trait in the eth_ namespace.

Required Methods§

fn provider(&self) -> impl HeaderProvider

Returns a handle for reading data from disk.

Data access in default (L1) trait method implementations.

fn block_receipts( &self, block_id: BlockId, ) -> impl Future<Output = Result<Option<Vec<WithOtherFields<TransactionReceipt<AnyReceiptEnvelope<Log>>>>>, Self::Error>> + Send
where Self: LoadReceipt,

Helper function for eth_getBlockReceipts.

Returns all transaction receipts in block, or None if block wasn’t found.

Provided Methods§

fn rpc_block_header( &self, block_id: BlockId, ) -> impl Future<Output = Result<Option<Header>, Self::Error>> + Send

Returns the block header for the given block id.

fn rpc_block( &self, block_id: BlockId, full: bool, ) -> impl Future<Output = Result<Option<Block<<Self::NetworkTypes as Network>::TransactionResponse, <Self::NetworkTypes as Network>::HeaderResponse>>, Self::Error>> + Send

Returns the populated rpc block object for the given block id.

If full is true, the block object will contain all transaction objects, otherwise it will only contain the transaction hashes.

fn block_transaction_count( &self, block_id: BlockId, ) -> impl Future<Output = Result<Option<usize>, Self::Error>> + Send

Returns the number transactions in the given block.

Returns None if the block does not exist

fn load_block_and_receipts( &self, block_id: BlockId, ) -> impl Future<Output = Result<Option<(SealedBlock, Arc<Vec<Receipt>>)>, Self::Error>> + Send
where Self: LoadReceipt,

Helper method that loads a bock and all its receipts.

fn ommers(&self, block_id: BlockId) -> Result<Option<Vec<Header>>, Self::Error>

Returns uncle headers of given block.

Returns an empty vec if there are none.

fn ommer_by_block_and_index( &self, block_id: BlockId, index: Index, ) -> impl Future<Output = Result<Option<Block<<Self::NetworkTypes as Network>::TransactionResponse, <Self::NetworkTypes as Network>::HeaderResponse>>, Self::Error>> + Send

Returns uncle block at given index in given block.

Returns None if index out of range.

Object Safety§

This trait is not object safe.

Implementors§