Trait reth_engine_primitives::EngineTypes
source · pub trait EngineTypes:
PayloadTypes<BuiltPayload: TryInto<Self::ExecutionPayloadV1> + TryInto<Self::ExecutionPayloadV2> + TryInto<Self::ExecutionPayloadV3> + TryInto<Self::ExecutionPayloadV4>>
+ DeserializeOwned
+ Serialize
+ 'static {
type ExecutionPayloadV1: DeserializeOwned + Serialize + Clone + Unpin + Send + Sync + 'static;
type ExecutionPayloadV2: DeserializeOwned + Serialize + Clone + Unpin + Send + Sync + 'static;
type ExecutionPayloadV3: DeserializeOwned + Serialize + Clone + Unpin + Send + Sync + 'static;
type ExecutionPayloadV4: DeserializeOwned + Serialize + Clone + Unpin + Send + Sync + 'static;
// Required method
fn validate_version_specific_fields(
chain_spec: &ChainSpec,
version: EngineApiMessageVersion,
payload_or_attrs: PayloadOrAttributes<'_, Self::PayloadAttributes>,
) -> Result<(), EngineObjectValidationError>;
}
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§
sourcetype ExecutionPayloadV1: DeserializeOwned + Serialize + Clone + Unpin + Send + Sync + 'static
type ExecutionPayloadV1: DeserializeOwned + Serialize + Clone + Unpin + Send + Sync + 'static
Execution Payload V1 type.
sourcetype ExecutionPayloadV2: DeserializeOwned + Serialize + Clone + Unpin + Send + Sync + 'static
type ExecutionPayloadV2: DeserializeOwned + Serialize + Clone + Unpin + Send + Sync + 'static
Execution Payload V2 type.
sourcetype ExecutionPayloadV3: DeserializeOwned + Serialize + Clone + Unpin + Send + Sync + 'static
type ExecutionPayloadV3: DeserializeOwned + Serialize + Clone + Unpin + Send + Sync + 'static
Execution Payload V3 type.
sourcetype ExecutionPayloadV4: DeserializeOwned + Serialize + Clone + Unpin + Send + Sync + 'static
type ExecutionPayloadV4: DeserializeOwned + Serialize + Clone + Unpin + Send + Sync + 'static
Execution Payload V4 type.
Required Methods§
sourcefn validate_version_specific_fields(
chain_spec: &ChainSpec,
version: EngineApiMessageVersion,
payload_or_attrs: PayloadOrAttributes<'_, Self::PayloadAttributes>,
) -> Result<(), EngineObjectValidationError>
fn validate_version_specific_fields( chain_spec: &ChainSpec, version: EngineApiMessageVersion, payload_or_attrs: PayloadOrAttributes<'_, Self::PayloadAttributes>, ) -> Result<(), EngineObjectValidationError>
Validates the presence or exclusion of fork-specific fields based on the payload attributes and the message version.
Object Safety§
This trait is not object safe.