Trait PayloadTypes

Source
pub trait PayloadTypes:
    Send
    + Sync
    + Unpin
    + Debug
    + Clone
    + 'static {
    type ExecutionData: ExecutionPayload;
    type BuiltPayload: BuiltPayload + Clone + Unpin;
    type PayloadAttributes: PayloadAttributes + Unpin;
    type PayloadBuilderAttributes: PayloadBuilderAttributes<RpcPayloadAttributes = Self::PayloadAttributes> + Clone + Unpin;

    // Required method
    fn block_to_payload(
        block: SealedBlock<<<Self::BuiltPayload as BuiltPayload>::Primitives as NodePrimitives>::Block>,
    ) -> Self::ExecutionData;
}
Expand description

The types that are used by the engine API.

Required Associated Types§

Source

type ExecutionData: ExecutionPayload

The execution payload type provided as input

Source

type BuiltPayload: BuiltPayload + Clone + Unpin

The built payload type.

Source

type PayloadAttributes: PayloadAttributes + Unpin

The RPC payload attributes type the CL node emits via the engine API.

Source

type PayloadBuilderAttributes: PayloadBuilderAttributes<RpcPayloadAttributes = Self::PayloadAttributes> + Clone + Unpin

The payload attributes type that contains information about a running payload job.

Required Methods§

Source

fn block_to_payload( block: SealedBlock<<<Self::BuiltPayload as BuiltPayload>::Primitives as NodePrimitives>::Block>, ) -> Self::ExecutionData

Converts a block into an execution payload.

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.

Implementors§