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;
// 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
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.
Required Methods§
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)
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)
Converts a BuiltPayload
into an ExecutionPayload
and ExecutionPayloadSidecar
.
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.