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
@@ -38,39 +36,28 @@ This specification is based on and extends [Engine API - Cancun](./cancun.md) sp
38
36
39
37
## Structures
40
38
41
-
### DepositRequestV1
42
-
This structure maps onto the deposit object from [EIP-6110](https://eips.ethereum.org/EIPS/eip-6110).
39
+
### RequestV1
40
+
41
+
This structure maps onto the amalgamation of the deposit object from [EIP-6110](https://eips.ethereum.org/EIPS/eip-6110), withdrawal request from [EIP-7002](https://eips.ethereum.org/EIPS/eip-7002), and the consolidation request from [EIP-7251](https://eips.ethereum.org/EIPS/eip-7251).
42
+
43
43
The fields are encoded as follows:
44
44
45
+
-`type`: `QUANTITY`, 64 bits - [EIP-7685](https://eips.ethereum.org/EIPS/eip-7685) type byte to identify the request
45
46
-`pubkey`: `DATA`, 48 Bytes
46
47
-`withdrawalCredentials`: `DATA`, 32 Bytes
47
48
-`amount`: `QUANTITY`, 64 Bits
48
49
-`signature`: `DATA`, 96 Bytes
49
50
-`index`: `QUANTITY`, 64 Bits
50
-
51
-
*Note:* The `amount` value is represented in Gwei.
52
-
53
-
### WithdrawalRequestV1
54
-
This structure maps onto the withdrawal request from [EIP-7002](https://eips.ethereum.org/EIPS/eip-7002).
55
-
The fields are encoded as follows:
56
-
57
51
-`sourceAddress`: `DATA`, 20 Bytes
58
52
-`validatorPubkey`: `DATA`, 48 Bytes
59
-
-`amount`: `QUANTITY`, 64 Bits
60
-
61
-
*Note:* The `amount` value is represented in Gwei.
62
-
63
-
### ConsolidationRequestV1
64
-
This structure maps onto the consolidation request from [EIP-7251](https://eips.ethereum.org/EIPS/eip-7251).
65
-
The fields are encoded as follows:
66
-
67
-
-`sourceAddress`: `DATA`, 20 Bytes
68
53
-`sourcePubkey`: `DATA`, 48 Bytes
69
54
-`targetPubkey`: `DATA`, 48 Bytes
70
55
56
+
*Note:* The `amount` value is represented in Gwei.
57
+
71
58
### ExecutionPayloadV4
72
59
73
-
This structure has the syntax of [`ExecutionPayloadV3`](./cancun.md#executionpayloadv3) and appends the new fields: `depositRequests` and `withdrawalRequests`.
60
+
This structure has the syntax of [`ExecutionPayloadV3`](./cancun.md#executionpayloadv3) and appends the new field `requests`.
74
61
75
62
-`parentHash`: `DATA`, 32 Bytes
76
63
-`feeRecipient`: `DATA`, 20 Bytes
@@ -89,19 +76,15 @@ This structure has the syntax of [`ExecutionPayloadV3`](./cancun.md#executionpay
89
76
-`withdrawals`: `Array of WithdrawalV1` - Array of withdrawals, each object is an `OBJECT` containing the fields of a `WithdrawalV1` structure.
90
77
-`blobGasUsed`: `QUANTITY`, 64 Bits
91
78
-`excessBlobGas`: `QUANTITY`, 64 Bits
92
-
-`depositRequests`: `Array of DepositRequestV1` - Array of deposits, each object is an `OBJECT` containing the fields of a `DepositRequestV1` structure.
93
-
-`withdrawalRequests`: `Array of WithdrawalRequestV1` - Array of withdrawal requests, each object is an `OBJECT` containing the fields of a `WithdrawalRequestV1` structure.
94
-
-`consolidationRequests`: `Array of ConsolidationRequestV1` - Array of consolidation requests, each object is an `OBJECT` containing the fields of a `ConsolidationRequestV1` structure.
79
+
-`requests`: `Array of RequestV1` - Array of request objects
95
80
96
81
### ExecutionPayloadBodyV2
97
82
98
-
This structure has the syntax of [`ExecutionPayloadBodyV1`](./shanghai.md#executionpayloadv1) and appends the new fields: `depositRequests` and `withdrawalRequests`.
83
+
This structure has the syntax of [`ExecutionPayloadBodyV1`](./shanghai.md#executionpayloadv1) and appends the new field `requests`.
99
84
100
85
-`transactions`: `Array of DATA` - Array of transaction objects, each object is a byte list (`DATA`) representing `TransactionType || TransactionPayload` or `LegacyTransaction` as defined in [EIP-2718](https://eips.ethereum.org/EIPS/eip-2718)
101
86
-`withdrawals`: `Array of WithdrawalV1` - Array of withdrawals, each object is an `OBJECT` containing the fields of a `WithdrawalV1` structure.
102
-
-`depositRequests`: `Array of DepositRequestV1` - Array of deposits, each object is an `OBJECT` containing the fields of a `DepositRequestV1` structure.
103
-
-`withdrawalRequests`: `Array of WithdrawalRequestV1` - Array of withdrawal requests, each object is an `OBJECT` containing the fields of a `WithdrawalRequestV1` structure.
104
-
-`consolidationRequests`: `Array of ConsolidationRequestV1` - Array of consolidation requests, each object is an `OBJECT` containing the fields of a `ConsolidationRequestV1` structure.
87
+
-`requests`: `Array of RequestV1` - Array of requests, each object is an `OBJECT` containing the fields of a `RequestV1` structure.
105
88
106
89
## Methods
107
90
@@ -173,7 +156,7 @@ The response of this method is updated with [`ExecutionPayloadBodyV2`](#executio
173
156
174
157
This method follows the same specification as [`engine_getPayloadBodiesByHashV1`](./shanghai.md#engine_getpayloadbodiesbyhashv1) with the addition of the following:
175
158
176
-
1. Client software **MUST** set `depositRequests` and `withdrawalRequests` fields to `null` for bodies of pre-Prague blocks.
159
+
1. Client software **MUST** set `requests` field to `null` for bodies of pre-Prague blocks.
177
160
178
161
### engine_getPayloadBodiesByRangeV2
179
162
@@ -196,7 +179,7 @@ The response of this method is updated with [`ExecutionPayloadBodyV2`](#executio
196
179
197
180
This method follows the same specification as [`engine_getPayloadBodiesByRangeV2`](./shanghai.md#engine_getpayloadbodiesbyrangev1) with the addition of the following:
198
181
199
-
1. Client software **MUST** set `depositRequests` and `withdrawalRequests` fields to `null` for bodies of pre-Prague blocks.
182
+
1. Client software **MUST** set `requests` field to `null` for bodies of pre-Prague blocks.
0 commit comments