reth_primitives_traits/block/body.rs
//! Block body abstraction.
use crate::InMemorySize;
use alloc::fmt;
use alloy_consensus::Transaction;
/// Abstraction for block's body.
pub trait BlockBody:
Send
+ Sync
+ Unpin
+ Clone
+ Default
+ fmt::Debug
+ PartialEq
+ Eq
+ serde::Serialize
+ for<'de> serde::Deserialize<'de>
+ alloy_rlp::Encodable
+ alloy_rlp::Decodable
+ InMemorySize
+ 'static
{
/// Ordered list of signed transactions as committed in block.
// todo: requires trait for signed transaction
type Transaction: Transaction;
/// Returns reference to transactions in block.
fn transactions(&self) -> &[Self::Transaction];
}