Trait EngineTypes
pub trait EngineTypes:
PayloadTypes
+ DeserializeOwned
+ Serialize
+ 'staticwhere
Self::BuiltPayload: TryInto<Self::ExecutionPayloadEnvelopeV1> + TryInto<Self::ExecutionPayloadEnvelopeV2> + TryInto<Self::ExecutionPayloadEnvelopeV3> + TryInto<Self::ExecutionPayloadEnvelopeV4>,{
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;
type ExecutionData: ExecutionPayload;
// Required method
fn block_to_payload(
block: SealedBlock<<<Self::BuiltPayload as BuiltPayload>::Primitives as NodePrimitives>::Block>,
) -> Self::ExecutionData;
}
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
type ExecutionPayloadEnvelopeV1: DeserializeOwned + Serialize + Clone + Unpin + Send + Sync + 'static
Execution Payload V1 envelope type.
type ExecutionPayloadEnvelopeV2: DeserializeOwned + Serialize + Clone + Unpin + Send + Sync + 'static
type ExecutionPayloadEnvelopeV2: DeserializeOwned + Serialize + Clone + Unpin + Send + Sync + 'static
Execution Payload V2 envelope type.
type ExecutionPayloadEnvelopeV3: DeserializeOwned + Serialize + Clone + Unpin + Send + Sync + 'static
type ExecutionPayloadEnvelopeV3: DeserializeOwned + Serialize + Clone + Unpin + Send + Sync + 'static
Execution Payload V3 envelope type.
type ExecutionPayloadEnvelopeV4: DeserializeOwned + Serialize + Clone + Unpin + Send + Sync + 'static
type ExecutionPayloadEnvelopeV4: DeserializeOwned + Serialize + Clone + Unpin + Send + Sync + 'static
Execution Payload V4 envelope type.
type ExecutionData: ExecutionPayload
type ExecutionData: ExecutionPayload
Execution data.
Required Methods§
fn block_to_payload(
block: SealedBlock<<<Self::BuiltPayload as BuiltPayload>::Primitives as NodePrimitives>::Block>,
) -> Self::ExecutionData
fn block_to_payload( block: SealedBlock<<<Self::BuiltPayload as BuiltPayload>::Primitives as NodePrimitives>::Block>, ) -> Self::ExecutionData
Converts a BuiltPayload
into an Self::ExecutionData
.
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.