reth::api

Trait EngineTypes

pub trait EngineTypes:
    PayloadTypes
    + DeserializeOwned
    + Serialize
    + 'static{
    type ExecutionPayloadEnvelopeV1: DeserializeOwned + Serialize + Clone + Unpin + Send + Sync + 'static;
    type ExecutionPayloadEnvelopeV2: DeserializeOwned + Serialize + Clone + Unpin + Send + Sync + 'static;
    type ExecutionPayloadEnvelopeV3: DeserializeOwned + Serialize + Clone + Unpin + Send + Sync + 'static;
    type ExecutionPayloadEnvelopeV4: DeserializeOwned + Serialize + Clone + Unpin + Send + Sync + 'static;

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

This type defines the versioned types of the engine API.

This includes the execution payload types and payload attributes that are used to trigger a payload job. Hence this trait is also PayloadTypes.

Required Associated Types§

type ExecutionPayloadEnvelopeV1: DeserializeOwned + Serialize + Clone + Unpin + Send + Sync + 'static

Execution Payload V1 envelope type.

type ExecutionPayloadEnvelopeV2: DeserializeOwned + Serialize + Clone + Unpin + Send + Sync + 'static

Execution Payload V2 envelope type.

type ExecutionPayloadEnvelopeV3: DeserializeOwned + Serialize + Clone + Unpin + Send + Sync + 'static

Execution Payload V3 envelope type.

type ExecutionPayloadEnvelopeV4: DeserializeOwned + Serialize + Clone + Unpin + Send + Sync + 'static

Execution Payload V4 envelope type.

Required Methods§

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<T> EngineTypes for EthEngineTypes<T>

Implementors§