BlockBody in reth_node_api - Rust

Trait BlockBody 

pub trait BlockBody:
    Send
    + Sync
    + Unpin
    + Clone
    + Default
    + Debug
    + PartialEq
    + Eq
    + Encodable
    + Decodable
    + InMemorySize
    + MaybeSerde
    + 'static {
    type Transaction: SignedTransaction;
    type OmmerHeader: BlockHeader;

Show 26 methods // Required methods fn transactions(&self) -> &[Self::Transaction]; fn into_ethereum_body( self, ) -> BlockBody<Self::Transaction, Self::OmmerHeader>; fn into_transactions(self) -> Vec<Self::Transaction>; fn withdrawals(&self) -> Option<&Withdrawals>; fn ommers(&self) -> Option<&[Self::OmmerHeader]>; // Provided methods fn transactions_iter(&self) -> impl Iterator<Item = &Self::Transaction> { ... } fn transaction_by_hash( &self, hash: &FixedBytes<32>, ) -> Option<&Self::Transaction> { ... } fn contains_transaction(&self, hash: &FixedBytes<32>) -> bool { ... } fn clone_transactions(&self) -> Vec<Self::Transaction> { ... } fn transaction_hashes_iter(&self) -> impl Iterator<Item = &FixedBytes<32>> { ... } fn transaction_count(&self) -> usize { ... } fn contains_transaction_type(&self, tx_type: u8) -> bool { ... } fn calculate_tx_root(&self) -> FixedBytes<32> { ... } fn calculate_withdrawals_root(&self) -> Option<FixedBytes<32>> { ... } fn calculate_ommers_root(&self) -> Option<FixedBytes<32>> { ... } fn blob_gas_used(&self) -> u64 { ... } fn blob_versioned_hashes_iter( &self, ) -> impl Iterator<Item = &FixedBytes<32>> { ... } fn encoded_2718_transactions_iter(&self) -> impl Iterator<Item = Vec<u8>> { ... } fn encoded_2718_transactions(&self) -> Vec<Bytes> { ... } fn recover_signers(&self) -> Result<Vec<Address>, RecoveryError> { ... } fn try_recover_signers(&self) -> Result<Vec<Address>, RecoveryError> { ... } fn recover_signers_unchecked(&self) -> Result<Vec<Address>, RecoveryError> { ... } fn try_recover_signers_unchecked( &self, ) -> Result<Vec<Address>, RecoveryError> { ... } fn recover_transactions( &self, ) -> Result<Vec<Recovered<Self::Transaction>>, RecoveryError> { ... } fn recover_transactions_ref( &self, ) -> Result<impl Iterator<Item = Recovered<&Self::Transaction>>, RecoveryError> { ... } fn recover_transactions_unchecked_ref( &self, ) -> Result<impl Iterator<Item = Recovered<&Self::Transaction>>, RecoveryError> { ... }
}
Expand description

Abstraction for block’s body.

This type is a container for everything that is included in a block except the header. For ethereum this includes transactions, ommers, and withdrawals.

Ordered list of signed transactions as committed in the block.

Ommer header type.

Returns reference to transactions in the block.

A Convenience function to convert this type into the regular ethereum block body that consists of:

  • Transactions
  • Withdrawals
  • Ommers

Note: This conversion can be incomplete. It is not expected that this Body is the same as [alloy_consensus::BlockBody] only that it can be converted into it which is useful for the eth_ RPC namespace (e.g. RPC block).

Consume the block body and return a Vec of transactions.

Returns block withdrawals if any.

Returns block ommers if any.

Returns an iterator over the transactions in the block.

Returns the transaction with the matching hash.

This is a convenience function for transactions_iter().find()

Returns true if the block body contains a transaction with the given hash.

This is a convenience function for transaction_by_hash().is_some()

Clones the transactions in the block.

This is a convenience function for transactions().to_vec()

Returns an iterator over all transaction hashes in the block body.

Returns the number of the transactions in the block.

Returns true if the block body contains a transaction of the given type.

Calculate the transaction root for the block body.

Calculate the withdrawals root for the block body.

Returns Some(root) if withdrawals are present, otherwise None.

Calculate the ommers root for the block body.

Returns Some(root) if ommers are present, otherwise None.

Calculates the total blob gas used by all EIP-4844 transactions in the block.

Returns an iterator over all blob versioned hashes in the block body.

Returns an iterator over the encoded 2718 transactions.

This is also known as raw transactions.

See also [Encodable2718].

Returns a vector of encoded 2718 transactions.

This is also known as raw transactions.

See also [Encodable2718].

Recover signer addresses for all transactions in the block body.

Recover signer addresses for all transactions in the block body.

Returns an error if some transaction’s signature is invalid.

Recover signer addresses for all transactions in the block body without ensuring that the signature has a low s value.

Returns RecoveryError, if some transaction’s signature is invalid.

Recover signer addresses for all transactions in the block body without ensuring that the signature has a low s value.

Returns an error if some transaction’s signature is invalid.

Recovers signers for all transactions in the block body and returns a vector of [Recovered].

Returns an iterator over Recovered<&Transaction> for all transactions in the block body.

This method recovers signers and returns an iterator without cloning transactions, making it more efficient than BlockBody::recover_transactions when owned values are not required.

§Errors

Returns an error if any transaction’s signature is invalid.

Returns an iterator over Recovered<&Transaction> for all transactions in the block body without ensuring that the signature has a low s value.

This method recovers signers and returns an iterator without cloning transactions, making it more efficient than recovering with owned transactions when owned values are not required.

§Errors

Returns an error if any transaction’s signature is invalid.

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

§

§
§
§
§
§
§