reth_engine_primitives

Trait EngineTypes

Source
pub trait EngineTypes:
    PayloadTypes<BuiltPayload: TryInto<Self::ExecutionPayloadEnvelopeV1> + TryInto<Self::ExecutionPayloadEnvelopeV2> + TryInto<Self::ExecutionPayloadEnvelopeV3> + TryInto<Self::ExecutionPayloadEnvelopeV4>>
    + 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;
}
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§

Source

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

Execution Payload V1 envelope type.

Source

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

Execution Payload V2 envelope type.

Source

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

Execution Payload V3 envelope type.

Source

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

Execution Payload V4 envelope type.

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§