Trait EngineApiValidator
pub trait EngineApiValidator<Types>:
Send
+ Sync
+ Unpin
+ 'staticwhere
Types: PayloadTypes,
{
// Required methods
fn validate_version_specific_fields(
&self,
version: EngineApiMessageVersion,
payload_or_attrs: PayloadOrAttributes<'_, <Types as PayloadTypes>::ExecutionData, <Types as PayloadTypes>::PayloadAttributes>,
) -> Result<(), EngineObjectValidationError>;
fn ensure_well_formed_attributes(
&self,
version: EngineApiMessageVersion,
attributes: &<Types as PayloadTypes>::PayloadAttributes,
) -> Result<(), EngineObjectValidationError>;
}Expand description
Validates engine API requests at the RPC layer, before payloads and attributes are forwarded to the engine for processing.
-
validate_version_specific_fields: Enforced in eachengine_newPayloadVNRPC handler to verify the payload contains the correct fields for the engine API version (e.g., blob fields in V3+, requests in V4+). -
ensure_well_formed_attributes: Enforced inengine_forkchoiceUpdatedVNRPC handlers to validate payload attributes are well-formed for the given version before forwarding to the engine.
After this validation passes, the engine performs the full consensus validation pipeline (header, pre-execution, execution, post-execution).