BuiltPayload

Trait BuiltPayload 

Source
pub trait BuiltPayload:
    Send
    + Sync
    + Debug {
    type Primitives: NodePrimitives;

    // Required methods
    fn block(&self) -> &SealedBlock<<Self::Primitives as NodePrimitives>::Block>;
    fn fees(&self) -> U256;
    fn requests(&self) -> Option<Requests>;

    // Provided method
    fn executed_block(
        &self,
    ) -> Option<ExecutedBlockWithTrieUpdates<Self::Primitives>> { ... }
}
Expand description

Represents a successfully built execution payload (block).

Provides access to the underlying block data, execution results, and associated metadata for payloads ready for execution or propagation.

Required Associated Types§

Source

type Primitives: NodePrimitives

The node’s primitive types

Required Methods§

Source

fn block(&self) -> &SealedBlock<<Self::Primitives as NodePrimitives>::Block>

Returns the built block in its sealed (hash-verified) form.

Source

fn fees(&self) -> U256

Returns the total fees collected from all transactions in this block.

Source

fn requests(&self) -> Option<Requests>

Returns the EIP-7685 execution layer requests included in this block.

These are requests generated by the execution layer that need to be processed by the consensus layer (e.g., validator deposits, withdrawals).

Provided Methods§

Source

fn executed_block( &self, ) -> Option<ExecutedBlockWithTrieUpdates<Self::Primitives>>

Returns the complete execution result including state updates.

Returns None if execution data is not available or not tracked.

Implementations on Foreign Types§

Source§

impl<'a, T: 'a + BuiltPayload + ?Sized> BuiltPayload for &'a T
where &'a T: Send + Sync + Debug,

Source§

type Primitives = <T as BuiltPayload>::Primitives

Source§

fn block(&self) -> &SealedBlock<<Self::Primitives as NodePrimitives>::Block>

Source§

fn fees(&self) -> U256

Source§

fn executed_block( &self, ) -> Option<ExecutedBlockWithTrieUpdates<Self::Primitives>>

Source§

fn requests(&self) -> Option<Requests>

Source§

impl<T: BuiltPayload + ?Sized> BuiltPayload for Arc<T>
where Arc<T>: Send + Sync + Debug,

Source§

type Primitives = <T as BuiltPayload>::Primitives

Source§

fn block(&self) -> &SealedBlock<<Self::Primitives as NodePrimitives>::Block>

Source§

fn fees(&self) -> U256

Source§

fn executed_block( &self, ) -> Option<ExecutedBlockWithTrieUpdates<Self::Primitives>>

Source§

fn requests(&self) -> Option<Requests>

Implementors§