Skip to content

Conversation

@nerolation
Copy link
Contributor

@nerolation nerolation commented Dec 13, 2025

🗒️ Description

This PR completes the EIP-7928 block access list (BAL) refactoring by moving BAL validation outside of the state transition function.

The changes across the last two commits:

  • Previous commit: Moved BAL from the block body to be passed separately to state_transition
  • The second commit: Removed BAL parameter entirely from state_transition, keeping only hash validation

The state transition now:

  • Generates the BAL during block execution via apply_body()
  • Computes the hash of the generated BAL
  • Validates only that this hash matches block.header.block_access_list_hash

This simplifies the state transition by removing the need to pass and validate the full BAL, since the actual BAL validation (checking p2p received BAL matches the hash) is handled at the engine API layer.

🔗 Related Issues or PRs

N/A.

Alt text

@codecov
Copy link

codecov bot commented Dec 13, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (eips/amsterdam/eip-7928@ba0eec1). Learn more about missing BASE report.

Additional details and impacted files
@@                    Coverage Diff                     @@
##             eips/amsterdam/eip-7928    #1917   +/-   ##
==========================================================
  Coverage                           ?   86.25%           
==========================================================
  Files                              ?      538           
  Lines                              ?    34561           
  Branches                           ?     3224           
==========================================================
  Hits                               ?    29809           
  Misses                             ?     4165           
  Partials                           ?      587           
Flag Coverage Δ
unittests 86.25% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@fselmo fselmo force-pushed the eips/amsterdam/eip-7928 branch from 6967b93 to be73122 Compare December 15, 2025 19:37
@fselmo fselmo force-pushed the move-bal-from-body branch 2 times, most recently from 340bee1 to 211f899 Compare December 17, 2025 18:06
@fselmo fselmo force-pushed the eips/amsterdam/eip-7928 branch from be73122 to ba0eec1 Compare December 17, 2025 22:12
@fselmo fselmo force-pushed the move-bal-from-body branch from 211f899 to 858d7c3 Compare December 17, 2025 22:17
Copy link
Contributor

@fselmo fselmo left a comment

Choose a reason for hiding this comment

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

This lgtm, thank you!

@fselmo fselmo merged commit 2344445 into ethereum:eips/amsterdam/eip-7928 Dec 17, 2025
8 of 10 checks passed
fselmo pushed a commit to fselmo/execution-specs that referenced this pull request Jan 12, 2026
* feat(specs): EIP-7928 move bal from payload

* remove BAL from stf

* fix linter
fselmo pushed a commit to fselmo/execution-specs that referenced this pull request Jan 12, 2026
* feat(specs): EIP-7928 move bal from payload

* remove BAL from stf

* fix linter
fselmo pushed a commit that referenced this pull request Jan 12, 2026
* feat(specs): EIP-7928 move bal from payload

* remove BAL from stf

* fix linter
fselmo pushed a commit to fselmo/execution-specs that referenced this pull request Jan 15, 2026
* feat(specs): EIP-7928 move bal from payload

* remove BAL from stf

* fix linter
fselmo pushed a commit to fselmo/execution-specs that referenced this pull request Jan 15, 2026
* feat(specs): EIP-7928 move bal from payload

* remove BAL from stf

* fix linter
fselmo pushed a commit that referenced this pull request Jan 16, 2026
* feat(specs): EIP-7928 move bal from payload

* remove BAL from stf

* fix linter
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.

3 participants