You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -27,52 +22,6 @@ This specification is based on and extends [Engine API - Cancun](./cancun.md) sp
27
22
28
23
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
29
24
30
-
## Structures
31
-
32
-
### DepositRequestV1
33
-
34
-
This structure maps onto the deposit object from [EIP-6110](https://eips.ethereum.org/EIPS/eip-6110).
35
-
The fields are encoded as follows:
36
-
37
-
-`pubkey`: `DATA`, 48 Bytes
38
-
-`withdrawalCredentials`: `DATA`, 32 Bytes
39
-
-`amount`: `QUANTITY`, 64 Bits
40
-
-`signature`: `DATA`, 96 Bytes
41
-
-`index`: `QUANTITY`, 64 Bits
42
-
43
-
*Note:* The `amount` value is represented in Gwei.
44
-
45
-
### WithdrawalRequestV1
46
-
47
-
This structure maps onto the withdrawal request from [EIP-7002](https://eips.ethereum.org/EIPS/eip-7002).
48
-
The fields are encoded as follows:
49
-
50
-
-`sourceAddress`: `DATA`, 20 Bytes
51
-
-`validatorPubkey`: `DATA`, 48 Bytes
52
-
-`amount`: `QUANTITY`, 64 Bits
53
-
54
-
*Note:* The `amount` value is represented in Gwei.
55
-
56
-
### ConsolidationRequestV1
57
-
58
-
This structure maps onto the consolidation request from [EIP-7251](https://eips.ethereum.org/EIPS/eip-7251).
59
-
The fields are encoded as follows:
60
-
61
-
-`sourceAddress`: `DATA`, 20 Bytes
62
-
-`sourcePubkey`: `DATA`, 48 Bytes
63
-
-`targetPubkey`: `DATA`, 48 Bytes
64
-
65
-
### ExecutionRequestsV1
66
-
67
-
This container holds execution layer triggered requests.
68
-
69
-
-`deposits`: `Array of DepositRequestV1` - Array of deposits, each object is an `OBJECT` containing the fields of a `DepositRequestV1` structure.
70
-
-`withdrawals`: `Array of WithdrawalRequestV1` - Array of withdrawal requests, each object is an `OBJECT` containing the fields of a `WithdrawalRequestV1` structure.
71
-
-`consolidations`: `Array of ConsolidationRequestV1` - Array of consolidation requests, each object is an `OBJECT` containing the fields of a `ConsolidationRequestV1` structure.
72
-
73
-
*Note*: The order of items within `deposits`, `withdrawals` and `consolidations` lists is defined by
74
-
[EIP-6110](https://eips.ethereum.org/EIPS/eip-6110), [EIP-7002](https://eips.ethereum.org/EIPS/eip-7002) and [EIP-7251](https://eips.ethereum.org/EIPS/eip-7251) respectively.
75
-
76
25
## Methods
77
26
78
27
### engine_newPayloadV4
@@ -86,7 +35,7 @@ Method parameter list is extended with `executionRequests`.
4.`executionRequests`: `DATA` - Execution layer trigerred requests encoded as it is defined by [EIP-7685](https://eips.ethereum.org/EIPS/eip-7685).
90
39
91
40
#### Response
92
41
@@ -99,12 +48,13 @@ This method follows the same specification as [`engine_newPayloadV3`](./cancun.m
99
48
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.
100
49
101
50
2. Client software **MUST** incorporate `executionRequests` into the `blockHash` validation process.
102
-
That is, if `executionRequests` does not match the execution requests commitment in the execution layer block header
103
-
the call **MUST** be responded with `{status: INVALID, latestValidHash: null, validationError: errorMessage | null}`.
51
+
That is, if `executionRequests` does not match the execution requests commitment in the execution layer block header
52
+
the call **MUST** be responded with `{status: INVALID, latestValidHash: null, validationError: errorMessage | null}`.
53
+
The commitment computation algorithm is defined by [EIP-7685](https://eips.ethereum.org/EIPS/eip-7685).
104
54
105
55
### engine_getPayloadV4
106
56
107
-
The response of this method is updated with [`ExecutionPayloadV4`](#ExecutionPayloadV4) and new [`ExecutionRequestsV1`](#ExecutionRequestsV1).
57
+
The response of this method is extended with the `executionRequests` field.
108
58
109
59
#### Request
110
60
@@ -120,7 +70,8 @@ The response of this method is updated with [`ExecutionPayloadV4`](#ExecutionPay
120
70
-`blockValue` : `QUANTITY`, 256 Bits - The expected value to be received by the `feeRecipient` in wei
121
71
-`blobsBundle`: [`BlobsBundleV1`](#BlobsBundleV1) - Bundle with data corresponding to blob transactions included into `executionPayload`
122
72
-`shouldOverrideBuilder` : `BOOLEAN` - Suggestion from the execution layer to use this `executionPayload` instead of an externally provided one
123
-
-`executionRequests`: [`ExecutionRequestsV1`](#ExecutionRequestsV1) - Execution layer trigerred requests obtained from the `executionPayload` transaction execution
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).
124
75
* error: code and message set in case an exception happens while getting the payload.
125
76
126
77
#### Specification
@@ -129,9 +80,8 @@ This method follows the same specification as [`engine_getPayloadV3`](./cancun.m
129
80
130
81
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.
131
82
132
-
2. The call **MUST** return `executionRequests` object containing deposit, withdrawal and consolidation requests obtained from transaction execution of the `executionPayload`.
133
-
The way the requests are obtained from the payload execution is defined by the [EIP-6110](https://eips.ethereum.org/EIPS/eip-6110),
134
-
[EIP-7002](https://eips.ethereum.org/EIPS/eip-7002) and [EIP-7251](https://eips.ethereum.org/EIPS/eip-7251) respectively.
83
+
2. The call **MUST** return `executionRequests` object containing execution layer trigerred requests obtained from transaction execution of the `executionPayload`.
84
+
The ways the requests are encoded and obtained from the payload execution are defined by [EIP-7685](https://eips.ethereum.org/EIPS/eip-7685).
0 commit comments