Skip to main content

Module payload_validator

Module payload_validator 

Source
Expand description

Types and traits for validating blocks and payloads.

§Validation pipeline

When the engine processes a new payload (engine_newPayload), validation happens in phases:

§Phase 1 – Payload conversion

PayloadValidator::convert_payload_to_block decodes the execution payload (RLP, hashing) into a SealedBlock. This runs on a background thread concurrently with state setup.

§Phase 2 – Pre-execution consensus

§Phase 3 – Execution

Block transactions are executed via the EVM. Receipt roots are computed incrementally.

§Phase 4 – Post-execution consensus

§Payload attributes validation (engine_forkchoiceUpdated)

When the CL provides payload attributes to start building a block:

If validation passes, a payload build job is started. If it fails, INVALID_PAYLOAD_ATTRIBUTES is returned without rolling back the forkchoice update.

Structs§

BasicEngineValidator
A helper type that provides reusable payload validation logic for network-specific validators.
TreeCtx
Context providing access to tree state during validation.

Enums§

BlockOrPayload
Enum representing either block or payload being validated.

Traits§

EngineValidator
Type that validates the payloads processed by the engine.

Type Aliases§

ValidationOutcome
Output of block or payload validation.