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§
sourcetype PayloadAttributes: PayloadAttributes + Unpin
type PayloadAttributes: PayloadAttributes + Unpin
The RPC payload attributes type the CL node emits via the engine API.
sourcetype PayloadBuilderAttributes: PayloadBuilderAttributes<RpcPayloadAttributes = Self::PayloadAttributes> + Clone + Unpin
type PayloadBuilderAttributes: PayloadBuilderAttributes<RpcPayloadAttributes = Self::PayloadAttributes> + Clone + Unpin
The payload attributes type that contains information about a running payload job.
sourcetype BuiltPayload: BuiltPayload + Clone + Unpin + TryInto<Self::ExecutionPayloadV1> + TryInto<Self::ExecutionPayloadV2> + TryInto<Self::ExecutionPayloadV3>
type BuiltPayload: BuiltPayload + Clone + Unpin + TryInto<Self::ExecutionPayloadV1> + TryInto<Self::ExecutionPayloadV2> + TryInto<Self::ExecutionPayloadV3>
The built payload type.
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.
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.