Crate payload

Crate payload 

Available on crate feature node-api only.
Expand description

Abstractions for working with execution payloads.

This crate provides types and traits for execution and building payloads.

Enums§

EngineApiMessageVersion
The version of Engine API message.
EngineObjectValidationError
Thrown when the payload or attributes are known to be invalid before processing.
InvalidPayloadAttributesError
Thrown when validating the correctness of a payloadattributes object.
MessageValidationKind
A type that represents whether or not we are validating a payload or payload attributes.
NewPayloadError
Error validating payload received over newPayload API.
PayloadBuilderError
Possible error variants during payload building.
PayloadKind
Determines how we should choose the payload to return.
PayloadOrAttributes
A unified type for handling both execution payloads and payload attributes.
VersionSpecificValidationError
Thrown when validating an execution payload OR payload attributes fails due to:

Traits§

BuildNextEnv
Trait to build the EVM environment for the next block from the given payload attributes.
BuiltPayload
Represents a successfully built execution payload (block).
ExecutionPayload
Represents the core data structure of an execution payload.
PayloadAttributes
Basic attributes required to initiate payload construction.
PayloadAttributesBuilder
Factory trait for creating payload attributes.
PayloadBuilderAttributes
Attributes used to guide the construction of a new execution payload.
PayloadTypes
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 a payloadAttributes field or a full payload, with the engine_forkchoiceUpdated and engine_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;