Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add EIP-7594 (PeerDAS) related changes #630

Open
wants to merge 17 commits into
base: main
Choose a base branch
from
Open
Prev Previous commit
Next Next commit
Add back proofVersion
0x00101010 committed Mar 25, 2025

Verified

This commit was signed with the committer’s verified signature.
0x00101010 Francis Li
commit 37dff61a85fb358cfe49b09641d3434bc87ef2cd
31 changes: 30 additions & 1 deletion src/engine/osaka.md
Original file line number Diff line number Diff line change
@@ -9,6 +9,7 @@ This specification is based on and extends [Engine API - Prague](./prague.md) sp
**Table of Contents**

- [Structures](#structures)
- [ExecutionPayloadV4](#executionpayloadv4)
- [BlobsBundleV2](#blobsbundlev2)
- [BlobAndProofV2](#blobandproofv2)
- [Methods](#methods)
@@ -25,6 +26,34 @@ This specification is based on and extends [Engine API - Prague](./prague.md) sp

## Structures

### ExecutionPayloadV4

This structure has the syntax of [`ExecutionPayloadV3`](./cancun.md#executionpayloadv3) and appends the new field `proofVersion`.

- `parentHash`: `DATA`, 32 Bytes
- `feeRecipient`: `DATA`, 20 Bytes
- `stateRoot`: `DATA`, 32 Bytes
- `receiptsRoot`: `DATA`, 32 Bytes
- `logsBloom`: `DATA`, 256 Bytes
- `prevRandao`: `DATA`, 32 Bytes
- `blockNumber`: `QUANTITY`, 64 Bits
- `gasLimit`: `QUANTITY`, 64 Bits
- `gasUsed`: `QUANTITY`, 64 Bits
- `timestamp`: `QUANTITY`, 64 Bits
- `extraData`: `DATA`, 0 to 32 Bytes
- `baseFeePerGas`: `QUANTITY`, 256 Bits
- `blockHash`: `DATA`, 32 Bytes
- `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)
- `withdrawals`: `Array of WithdrawalV1` - Array of withdrawals, each object is an `OBJECT` containing the fields of a `WithdrawalV1` structure.
- `blobGasUsed`: `QUANTITY`, 64 Bits
- `excessBlobGas`: `QUANTITY`, 64 Bits
- `proofVersion`: `QUANTITY`, 8 Bits

Currently `proofVersion` supports two types:

- `0`: original type, blob proofs
- `1`: new type after EIP-7594, cell proofs

### BlobsBundleV2

The fields are encoded as follows:
@@ -60,7 +89,7 @@ This method is updated in a backward incompatible way. Instead of returning `Blo
#### Response

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