Trait reth::builder::EngineTypes

pub trait EngineTypes: PayloadTypes + DeserializeOwned + Serialize{
    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§

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

Execution Payload V1 type.

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

Execution Payload V2 type.

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

Execution Payload V3 type.

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

Execution Payload V4 type.

Required Methods§

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.

Implementations on Foreign Types§

source§

impl EngineTypes for OptimismEngineTypes

§

impl EngineTypes for EthEngineTypes

Implementors§