Trait reth_node_builder::EngineTypes

source ·
pub trait EngineTypes: DeserializeOwned + Serialize + Debug + Unpin + Send + Sync + Clone {
    type PayloadAttributes: PayloadAttributes + Unpin;
    type PayloadBuilderAttributes: PayloadBuilderAttributes<RpcPayloadAttributes = Self::PayloadAttributes> + Clone + Unpin;
    type BuiltPayload: BuiltPayload + Clone + Unpin + TryInto<Self::ExecutionPayloadV1> + TryInto<Self::ExecutionPayloadV2> + TryInto<Self::ExecutionPayloadV3>;
    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;

    // Required method
    fn validate_version_specific_fields(
        chain_spec: &ChainSpec,
        version: EngineApiMessageVersion,
        payload_or_attrs: PayloadOrAttributes<'_, Self::PayloadAttributes>
    ) -> Result<(), EngineObjectValidationError>;
}
Expand description

The types that are used by the engine API.

Required Associated Types§

source

type PayloadAttributes: PayloadAttributes + Unpin

The RPC payload attributes type the CL node emits via the engine API.

source

type PayloadBuilderAttributes: PayloadBuilderAttributes<RpcPayloadAttributes = Self::PayloadAttributes> + Clone + Unpin

The payload attributes type that contains information about a running payload job.

source

type BuiltPayload: BuiltPayload + Clone + Unpin + TryInto<Self::ExecutionPayloadV1> + TryInto<Self::ExecutionPayloadV2> + TryInto<Self::ExecutionPayloadV3>

The built payload type.

source

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

Execution Payload V1 type.

source

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

Execution Payload V2 type.

source

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

Execution Payload V3 type.

Required Methods§

source

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 EthEngineTypes

§

type PayloadAttributes = PayloadAttributes

§

type PayloadBuilderAttributes = EthPayloadBuilderAttributes

§

type BuiltPayload = EthBuiltPayload

§

type ExecutionPayloadV1 = ExecutionPayloadV1

§

type ExecutionPayloadV2 = ExecutionPayloadEnvelopeV2

§

type ExecutionPayloadV3 = ExecutionPayloadEnvelopeV3

source§

fn validate_version_specific_fields( chain_spec: &ChainSpec, version: EngineApiMessageVersion, payload_or_attrs: PayloadOrAttributes<'_, PayloadAttributes> ) -> Result<(), EngineObjectValidationError>

Implementors§