Skip to content

Commit d0d88cd

Browse files
committed
add updates to execution payload for extended header under EIP-7742
1 parent 6840596 commit d0d88cd

File tree

1 file changed

+26
-2
lines changed

1 file changed

+26
-2
lines changed

src/engine/prague.md

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ This specification is based on and extends [Engine API - Cancun](./cancun.md) sp
1010
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
1111

1212
- [Structures](#structures)
13+
- [ExecutionPayloadV4](#executionpayloadv4)
1314
- [PayloadAttributesV4](#payloadattributesv4)
1415
- [Methods](#methods)
1516
- [engine_newPayloadV4](#engine_newpayloadv4)
@@ -30,6 +31,29 @@ This specification is based on and extends [Engine API - Cancun](./cancun.md) sp
3031

3132
## Structures
3233

34+
### ExecutionPayloadV4
35+
36+
This structure has the syntax of [`ExecutionPayloadV3`](./cancun.md#executionpayloadv3) and appends the new field(s): `targetBlobsPerBlock`.
37+
38+
- `parentHash`: `DATA`, 32 Bytes
39+
- `feeRecipient`: `DATA`, 20 Bytes
40+
- `stateRoot`: `DATA`, 32 Bytes
41+
- `receiptsRoot`: `DATA`, 32 Bytes
42+
- `logsBloom`: `DATA`, 256 Bytes
43+
- `prevRandao`: `DATA`, 32 Bytes
44+
- `blockNumber`: `QUANTITY`, 64 Bits
45+
- `gasLimit`: `QUANTITY`, 64 Bits
46+
- `gasUsed`: `QUANTITY`, 64 Bits
47+
- `timestamp`: `QUANTITY`, 64 Bits
48+
- `extraData`: `DATA`, 0 to 32 Bytes
49+
- `baseFeePerGas`: `QUANTITY`, 256 Bits
50+
- `blockHash`: `DATA`, 32 Bytes
51+
- `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)
52+
- `withdrawals`: `Array of WithdrawalV1` - Array of withdrawals, each object is an `OBJECT` containing the fields of a `WithdrawalV1` structure.
53+
- `blobGasUsed`: `QUANTITY`, 64 Bits
54+
- `excessBlobGas`: `QUANTITY`, 64 Bits
55+
- `targetBlobsPerBlock`: `QUANTITY`, 64 Bits
56+
3357
### PayloadAttributesV4
3458

3559
This structure has the syntax of [`PayloadAttributesV3`](./cancun.md#payloadattributesv3) and appends the fields: `targetBlobsPerBlock`, `maxBlobsPerBlock`.
@@ -52,7 +76,7 @@ Method parameter list is extended with `executionRequests`.
5276

5377
* method: `engine_newPayloadV4`
5478
* params:
55-
1. `executionPayload`: [`ExecutionPayloadV3`](./cancun.md#executionpayloadv3).
79+
1. `executionPayload`: [`ExecutionPayloadV4`](#ExecutionPayloadV4).
5680
2. `expectedBlobVersionedHashes`: `Array of DATA`, 32 Bytes - Array of expected blob versioned hashes to validate.
5781
3. `parentBeaconBlockRoot`: `DATA`, 32 Bytes - Root of the parent beacon block.
5882
4. `executionRequests`: `Array of DATA` - List of execution layer triggered requests. Each list element is a `requests` byte array as defined by [EIP-7685](https://eips.ethereum.org/EIPS/eip-7685). The first byte of each element is the `request_type` and the remaining bytes are the `request_data`. Elements of the list **MUST** be ordered by `request_type` in ascending order. Elements with empty `request_data` **MUST** be excluded from the list.
@@ -107,7 +131,7 @@ The response of this method is extended with the `executionRequests` field.
107131
#### Response
108132

109133
* result: `object`
110-
- `executionPayload`: [`ExecutionPayloadV3`](./cancun.md#executionpayloadv3)
134+
- `executionPayload`: [`ExecutionPayloadV4`](#ExecutionPayloadv4)
111135
- `blockValue` : `QUANTITY`, 256 Bits - The expected value to be received by the `feeRecipient` in wei
112136
- `blobsBundle`: [`BlobsBundleV1`](#BlobsBundleV1) - Bundle with data corresponding to blob transactions included into `executionPayload`
113137
- `shouldOverrideBuilder` : `BOOLEAN` - Suggestion from the execution layer to use this `executionPayload` instead of an externally provided one

0 commit comments

Comments
 (0)