BuiltPayload

Trait BuiltPayload 

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

    // Required methods
    fn block(&self) -> &SealedBlock<<Self::Primitives as NodePrimitives>::Block>;
    fn fees(&self) -> Uint<256, 4>;
    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§

type Primitives: NodePrimitives

The node’s primitive types

Required Methods§

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

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

fn fees(&self) -> Uint<256, 4>

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

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§

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§

§

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

§

type Primitives = <T as BuiltPayload>::Primitives

§

fn block( &self, ) -> &SealedBlock<<<&'a T as BuiltPayload>::Primitives as NodePrimitives>::Block>

§

fn fees(&self) -> Uint<256, 4>

§

fn executed_block( &self, ) -> Option<ExecutedBlockWithTrieUpdates<<&'a T as BuiltPayload>::Primitives>>

§

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

§

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

§

type Primitives = <T as BuiltPayload>::Primitives

§

fn block( &self, ) -> &SealedBlock<<<Arc<T> as BuiltPayload>::Primitives as NodePrimitives>::Block>

§

fn fees(&self) -> Uint<256, 4>

§

fn executed_block( &self, ) -> Option<ExecutedBlockWithTrieUpdates<<Arc<T> as BuiltPayload>::Primitives>>

§

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

Implementors§