feat(wips): add wip for flashblock access lists#694
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 3 potential issues.
❌ 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.
| ``` | ||
|
|
||
| - `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). |
There was a problem hiding this comment.
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.
Reviewed by Cursor Bugbot for commit 11dfc81. Configure here.
alessandromazza98
left a comment
There was a problem hiding this comment.
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
left a comment
There was a problem hiding this comment.
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? |
It's not a big deal, let's document and merge this |
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. |


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_datafield onExecutionPayloadFlashblockDeltaV1: EIP-7928-style account/storage change records keyed by block access index, pluskeccak256(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.