Trait ExecutionPayload
pub trait ExecutionPayload:
Serialize
+ DeserializeOwned
+ Debug
+ Clone
+ Send
+ Sync
+ 'static {
// Required methods
fn parent_hash(&self) -> FixedBytes<32>;
fn block_hash(&self) -> FixedBytes<32>;
fn block_number(&self) -> u64;
fn withdrawals(&self) -> Option<&Vec<Withdrawal>>;
fn parent_beacon_block_root(&self) -> Option<FixedBytes<32>>;
fn timestamp(&self) -> u64;
fn gas_used(&self) -> u64;
}
Expand description
Represents the core data structure of an execution payload.
Contains all necessary information to execute and validate a block, including headers, transactions, and consensus fields. Provides a unified interface regardless of protocol version.
Required Methods§
fn parent_hash(&self) -> FixedBytes<32>
fn parent_hash(&self) -> FixedBytes<32>
Returns the hash of this block’s parent.
fn block_hash(&self) -> FixedBytes<32>
fn block_hash(&self) -> FixedBytes<32>
Returns this block’s hash.
fn block_number(&self) -> u64
fn block_number(&self) -> u64
Returns this block’s number (height).
fn withdrawals(&self) -> Option<&Vec<Withdrawal>>
fn withdrawals(&self) -> Option<&Vec<Withdrawal>>
Returns the withdrawals included in this payload.
Returns None
for pre-Shanghai blocks.
fn parent_beacon_block_root(&self) -> Option<FixedBytes<32>>
fn parent_beacon_block_root(&self) -> Option<FixedBytes<32>>
Returns the beacon block root associated with this payload.
Returns None
for pre-merge payloads.
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.