Trait BlockBody
pub trait BlockBody:
Send
+ Sync
+ Unpin
+ Clone
+ Default
+ Debug
+ PartialEq
+ Eq
+ Encodable
+ Decodable
+ InMemorySize
+ MaybeSerde
+ 'static {
type Transaction: SignedTransaction;
type OmmerHeader: BlockHeader;
// Required methods
fn transactions(&self) -> &[Self::Transaction];
fn into_transactions(self) -> Vec<Self::Transaction>;
fn withdrawals(&self) -> Option<&Withdrawals>;
fn ommers(&self) -> Option<&[Self::OmmerHeader]>;
// Provided methods
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> { ... }
}
Expand description
Abstraction for block’s body.
Required Associated Types§
type Transaction: SignedTransaction
type Transaction: SignedTransaction
Ordered list of signed transactions as committed in block.
type OmmerHeader: BlockHeader
type OmmerHeader: BlockHeader
Ommer header type.
Required Methods§
fn transactions(&self) -> &[Self::Transaction]
fn transactions(&self) -> &[Self::Transaction]
Returns reference to transactions in block.
fn into_transactions(self) -> Vec<Self::Transaction>
fn into_transactions(self) -> Vec<Self::Transaction>
Consume the block body and return a Vec
of transactions.
fn withdrawals(&self) -> Option<&Withdrawals>
fn withdrawals(&self) -> Option<&Withdrawals>
Returns block withdrawals if any.
fn ommers(&self) -> Option<&[Self::OmmerHeader]>
fn ommers(&self) -> Option<&[Self::OmmerHeader]>
Returns block ommers if any.
Provided Methods§
fn calculate_tx_root(&self) -> FixedBytes<32>
fn calculate_tx_root(&self) -> FixedBytes<32>
Calculate the transaction root for the block body.
fn calculate_withdrawals_root(&self) -> Option<FixedBytes<32>>
fn calculate_withdrawals_root(&self) -> Option<FixedBytes<32>>
Calculate the withdrawals root for the block body.
Returns None
if there are no withdrawals in the block.
fn calculate_ommers_root(&self) -> Option<FixedBytes<32>>
fn calculate_ommers_root(&self) -> Option<FixedBytes<32>>
Calculate the ommers root for the block body.
Returns None
if there are no ommers in the block.
fn blob_gas_used(&self) -> u64
fn blob_gas_used(&self) -> u64
Calculates the total blob gas used by all EIP-4844 transactions in the block.
fn blob_versioned_hashes_iter(&self) -> impl Iterator<Item = &FixedBytes<32>>
fn blob_versioned_hashes_iter(&self) -> impl Iterator<Item = &FixedBytes<32>>
Returns an iterator over all blob versioned hashes in the block body.
fn encoded_2718_transactions_iter(&self) -> impl Iterator<Item = Vec<u8>>
fn encoded_2718_transactions_iter(&self) -> impl Iterator<Item = Vec<u8>>
Returns an iterator over the encoded 2718 transactions.
This is also known as raw transactions
.
See also [Encodable2718
].
fn encoded_2718_transactions(&self) -> Vec<Bytes>
fn encoded_2718_transactions(&self) -> Vec<Bytes>
Returns a vector of encoded 2718 transactions.
This is also known as raw transactions
.
See also [Encodable2718
].
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.