Crate payload
Expand description
Abstractions for working with execution payloads.
This crate provides types and traits for execution and building payloads.
Enums§
- Engine
ApiMessage Version - The version of Engine API message.
- Engine
Object Validation Error - Thrown when the payload or attributes are known to be invalid before processing.
- Invalid
Payload Attributes Error - Thrown when validating the correctness of a payloadattributes object.
- Message
Validation Kind - A type that represents whether or not we are validating a payload or payload attributes.
- NewPayload
Error - Error validating payload received over
newPayload
API. - Payload
Builder Error - Possible error variants during payload building.
- Payload
Kind - Determines how we should choose the payload to return.
- Payload
OrAttributes - A unified type for handling both execution payloads and payload attributes.
- Version
Specific Validation Error - Thrown when validating an execution payload OR payload attributes fails due to:
Traits§
- Build
Next Env - Trait to build the EVM environment for the next block from the given payload attributes.
- Built
Payload - Represents a successfully built execution payload (block).
- Execution
Payload - Represents the core data structure of an execution payload.
- Payload
Attributes - Basic attributes required to initiate payload construction.
- Payload
Attributes Builder - Factory trait for creating payload attributes.
- Payload
Builder Attributes - Attributes used to guide the construction of a new execution payload.
- Payload
Types - Core trait that defines the associated types for working with execution payloads.
Functions§
- validate_
execution_ requests - Validates that execution requests are valid according to Engine API specification.
- validate_
parent_ beacon_ block_ root_ presence - Validate the presence of the
parentBeaconBlockRoot
field according to the given timestamp. This method is meant to be used with either apayloadAttributes
field or a full payload, with theengine_forkchoiceUpdated
andengine_newPayload
methods respectively. - validate_
payload_ timestamp - Validates the timestamp depending on the version called:
- validate_
version_ specific_ fields - Validates the presence or exclusion of fork-specific fields based on the ethereum execution payload, or payload attributes, and the message version.
- validate_
withdrawals_ presence - Validates the presence of the
withdrawals
field according to the payload timestamp. After Shanghai, withdrawals field must be Some. Before Shanghai, withdrawals field must be None;