Skip to content

feat(wips): add wip for flashblock access lists#694

Open
0xOsiris wants to merge 2 commits into
mainfrom
osiris/wip-1007
Open

feat(wips): add wip for flashblock access lists#694
0xOsiris wants to merge 2 commits into
mainfrom
osiris/wip-1007

Conversation

@0xOsiris

@0xOsiris 0xOsiris commented May 29, 2026

Copy link
Copy Markdown
Contributor

Note

Low Risk
Documentation-only WIP addition with no runtime or consensus code changes in this PR.

Overview
Adds WIP-1007, a draft Networking standards track that defines Flashblock Access Lists (FAL) for sub-block flashblock pre-confirmations.

The WIP specifies an optional access_list_data field on ExecutionPayloadFlashblockDeltaV1: EIP-7928-style account/storage change records keyed by block access index, plus keccak256(rlp(access_list)), with canonical ordering and pruning rules. Builders may attach it; consumers with the field present can reconstruct per-tx pre-state, validate via parallel re-execution, and derive post-state roots from the diff, while absent payloads keep the legacy sequential path.

It also documents Amsterdam header reconstruction using EMPTY_BLOCK_ACCESS_LIST_HASH (sidecar not committed on-chain), builder recording rules, mandatory consumer verification steps, backwards compatibility, test expectations, and security notes (verify-before-trust, canonicalization, resource bounds).

Reviewed by Cursor Bugbot for commit 11dfc81. Configure here.

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 3 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 11dfc81. Configure here.

Comment thread wips/wip-1007.md
Comment thread wips/wip-1007.md
```

- `changes` is the set of [EIP-7928 `AccountChanges`][eip-7928] records produced by the transactions in this flashblock.
- `min_tx_index` and `max_tx_index` are the inclusive bounds of the block-access-index range that this flashblock's transactions occupy within the block. For the first flashblock `min_tx_index` is `0`. For a later flashblock `min_tx_index` is the count of transactions already committed in prior flashblocks plus one. `max_tx_index` corresponds to the trailing system transaction (balance increments).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Later flashblock min index wrong

High Severity

The spec defines a later flashblock’s min_tx_index as prior committed transaction count plus one, but indices also cover pre-execution and per-flashblock system updates through max_tx_index. That formula can equal the previous flashblock’s highest used index instead of the next free index, overlapping ranges across flashblocks.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 11dfc81. Configure here.

Comment thread wips/wip-1007.md

@alessandromazza98 alessandromazza98 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we want a wip for block access list? even if there is the official eip. I know that the current implementation slightly differs but we've not committed to this impl for prod, so we may end up directly using the official eip one as it's soon going to be merged for glamsterdam

@alessandromazza98 alessandromazza98 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approving to not block you, but I don't see a big utility for this wip

@0xOsiris

Copy link
Copy Markdown
Contributor Author

approving to not block you, but I don't see a big utility for this wip

It's simply to document the implementation. Do you not think we should document it?

@alessandromazza98

Copy link
Copy Markdown
Contributor

It's simply to document the implementation. Do you not think we should document it?

It's not a big deal, let's document and merge this

@0xOsiris

Copy link
Copy Markdown
Contributor Author

do we want a wip for block access list? even if there is the official eip. I know that the current implementation slightly differs but we've not committed to this impl for prod, so we may end up directly using the official eip one as it's soon going to be merged for glamsterdam

The official EIP is an objectively worse implementation just in terms of performance. We can use a combination of both, where the block access list hash in the block header actually commits to the incremental access list of the stream.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants