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>

Returns the hash of this block’s parent.

fn block_hash(&self) -> FixedBytes<32>

Returns this block’s hash.

fn block_number(&self) -> u64

Returns this block’s number (height).

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>>

Returns the beacon block root associated with this payload.

Returns None for pre-merge payloads.

fn timestamp(&self) -> u64

Returns this block’s timestamp (seconds since Unix epoch).

fn gas_used(&self) -> u64

Returns the total gas consumed by all transactions in this block.

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.

Implementations on Foreign Types§

§

impl ExecutionPayload for ExecutionData

§

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

§

impl ExecutionPayload for OpExecutionData

§

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

Implementors§