Skip to content

Commit e08292f

Browse files
committed
Replace hash with full executionRequests object for newPayloadV4
1 parent 3bf5431 commit e08292f

File tree

2 files changed

+22
-13
lines changed

2 files changed

+22
-13
lines changed

src/engine/openrpc/methods/payload.yaml

Lines changed: 15 additions & 8 deletions
Large diffs are not rendered by default.

src/engine/prague.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,9 @@ Method parameter list is extended with `executionRequestsHash`.
3535
1. `executionPayload`: [`ExecutionPayloadV3`](./cancun.md#executionpayloadv3).
3636
2. `expectedBlobVersionedHashes`: `Array of DATA`, 32 Bytes - Array of expected blob versioned hashes to validate.
3737
3. `parentBeaconBlockRoot`: `DATA`, 32 Bytes - Root of the parent beacon block.
38-
4. `executionRequestsHash`: `DATA`, 32 Bytes - Hash of the execution layer triggered requests,
39-
computed as it is defined by [EIP-7685](https://eips.ethereum.org/EIPS/eip-7685).
38+
4. `executionRequests`: `Array of DATA`, 32 Bytes - List of execution layer triggered requests,
39+
each element of the list represents requests of a certain type encoded as it is defined by [EIP-7685](https://eips.ethereum.org/EIPS/eip-7685).
40+
Elements of the list **MUST** be ordered by `requestType` in ascending order.
4041

4142
#### Response
4243

@@ -48,8 +49,9 @@ This method follows the same specification as [`engine_newPayloadV3`](./cancun.m
4849

4950
1. Client software **MUST** return `-38005: Unsupported fork` error if the `timestamp` of the payload does not fall within the time frame of the Prague fork.
5051

51-
2. Client software **MUST** incorporate `executionRequestsHash` into the `blockHash` validation process.
52-
That is, if `executionRequestsHash` does not match the execution requests commitment in the execution layer block header
52+
2. Given the `executionRequests`, client software **MUST** compute the execution requests commitment
53+
and incorporate it into the `blockHash` validation process.
54+
That is, if the computed commitment does not match the corresponding commitment in the execution layer block header,
5355
the call **MUST** return `{status: INVALID, latestValidHash: null, validationError: errorMessage | null}`.
5456

5557
### engine_getPayloadV4
@@ -82,7 +84,7 @@ This method follows the same specification as [`engine_getPayloadV3`](./cancun.m
8284

8385
2. The call **MUST** return `executionRequests` list representing execution layer triggered requests obtained from the `executionPayload` transaction execution.
8486
The way the requests of different types are encoded and obtained from the execution is defined by [EIP-7685](https://eips.ethereum.org/EIPS/eip-7685).
85-
Elements of the `executionRequests` list **MUST** be ordered by the `requestType` (the first byte) in ascending order.
87+
Elements of the `executionRequests` list **MUST** be ordered by the `requestType` in ascending order.
8688

8789
### Update the methods of previous forks
8890

0 commit comments

Comments
 (0)