Skip to content

Commit 76eb2d2

Browse files
committed
Switch to the nested list representation
1 parent 892cd30 commit 76eb2d2

File tree

2 files changed

+17
-13
lines changed

2 files changed

+17
-13
lines changed

src/engine/openrpc/methods/payload.yaml

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

src/engine/prague.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ Method parameter list is extended with `executionRequests`.
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. `executionRequests`: `DATA` - Execution layer triggered requests encoded as it is defined by [EIP-7685](https://eips.ethereum.org/EIPS/eip-7685).
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).
3940

4041
#### Response
4142

@@ -47,10 +48,9 @@ This method follows the same specification as [`engine_newPayloadV3`](./cancun.m
4748

4849
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.
4950

50-
2. Client software **MUST** incorporate `executionRequests` into the `blockHash` validation process.
51-
That is, if `executionRequests` does not match the execution requests commitment in the execution layer block header
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
5253
the call **MUST** return `{status: INVALID, latestValidHash: null, validationError: errorMessage | null}`.
53-
The commitment computation algorithm is defined by [EIP-7685](https://eips.ethereum.org/EIPS/eip-7685).
5454

5555
### engine_getPayloadV4
5656

@@ -70,8 +70,8 @@ The response of this method is extended with the `executionRequests` field.
7070
- `blockValue` : `QUANTITY`, 256 Bits - The expected value to be received by the `feeRecipient` in wei
7171
- `blobsBundle`: [`BlobsBundleV1`](#BlobsBundleV1) - Bundle with data corresponding to blob transactions included into `executionPayload`
7272
- `shouldOverrideBuilder` : `BOOLEAN` - Suggestion from the execution layer to use this `executionPayload` instead of an externally provided one
73-
- `executionRequests`: `DATA` - Execution layer trigerred requests obtained from the `executionPayload` transaction execution,
74-
encoded as it is defined by [EIP-7685](https://eips.ethereum.org/EIPS/eip-7685).
73+
- `executionRequests`: `Array of DATA` - Execution layer triggered requests obtained from the `executionPayload` transaction execution,
74+
each element of the list rerpresents requests of a certain type encoded as it is defined by [EIP-7685](https://eips.ethereum.org/EIPS/eip-7685).
7575
* error: code and message set in case an exception happens while getting the payload.
7676

7777
#### Specification
@@ -80,8 +80,9 @@ This method follows the same specification as [`engine_getPayloadV3`](./cancun.m
8080

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

83-
2. The call **MUST** return `executionRequests` byte sequence representing an encoded list of execution layer trigerred requests obtained from the `executionPayload` transaction execution.
84-
The ways the requests are encoded and obtained from the execution are defined by [EIP-7685](https://eips.ethereum.org/EIPS/eip-7685).
83+
2. The call **MUST** return `executionRequests` list representing execution layer triggered requests obtained from the `executionPayload` transaction execution.
84+
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.
8586

8687
### Update the methods of previous forks
8788

0 commit comments

Comments
 (0)