Engine API changes introduced in Prague.
This specification is based on and extends Engine API - Cancun specification.
Method parameter list is extended with executionRequests
.
- method:
engine_newPayloadV4
- params:
executionPayload
:ExecutionPayloadV3
.expectedBlobVersionedHashes
:Array of DATA
, 32 Bytes - Array of expected blob versioned hashes to validate.parentBeaconBlockRoot
:DATA
, 32 Bytes - Root of the parent beacon block.executionRequests
:Array of DATA
- List of execution layer triggered requests. Each list element is arequests
byte array as defined by EIP-7685. The first byte of each element is therequest_type
and the remaining bytes are therequest_data
. Elements of the list MUST be ordered byrequest_type
in ascending order. Elements with emptyrequest_data
MUST be excluded from the list.
Refer to the response for engine_newPayloadV3
.
This method follows the same specification as engine_newPayloadV3
with the following changes:
-
Client software MUST return
-38005: Unsupported fork
error if thetimestamp
of the payload does not fall within the time frame of the Prague fork. -
Given the
executionRequests
, client software MUST compute the execution requests commitment and incorporate it into theblockHash
validation process. That is, if the computed commitment does not match the corresponding commitment in the execution layer block header, the call MUST return{status: INVALID, latestValidHash: null, validationError: errorMessage | null}
.
The response of this method is extended with the executionRequests
field.
- method:
engine_getPayloadV4
- params:
payloadId
:DATA
, 8 Bytes - Identifier of the payload build process
- timeout: 1s
- result:
object
executionPayload
:ExecutionPayloadV3
blockValue
:QUANTITY
, 256 Bits - The expected value to be received by thefeeRecipient
in weiblobsBundle
:BlobsBundleV1
- Bundle with data corresponding to blob transactions included intoexecutionPayload
shouldOverrideBuilder
:BOOLEAN
- Suggestion from the execution layer to use thisexecutionPayload
instead of an externally provided oneexecutionRequests
:Array of DATA
- Execution layer triggered requests obtained from theexecutionPayload
transaction execution.
- error: code and message set in case an exception happens while getting the payload.
This method follows the same specification as engine_getPayloadV3
with the following changes:
-
Client software MUST return
-38005: Unsupported fork
error if thetimestamp
of the built payload does not fall within the time frame of the Prague fork. -
The call MUST return
executionRequests
list representing execution layer triggered requests. Each list element is arequests
byte array as defined by EIP-7685. The first byte of each element is therequest_type
and the remaining bytes are therequest_data
. Elements of the list MUST be ordered byrequest_type
in ascending order. Elements with emptyrequest_data
MUST be excluded from the list.
This document defines how Prague payload should be handled by the Cancun API
.
For the following methods:
a validation MUST be added:
- Client software MUST return
-38005: Unsupported fork
error if thetimestamp
of payload or payloadAttributes greater or equal to the Prague activation timestamp.