Skip to content

Conversation

@fselmo
Copy link
Contributor

@fselmo fselmo commented Nov 3, 2025

🗒️ Description

We were writing tests specific to BALs but now that we turned on all tests, some of the ordering checks from the specs were not getting caught. We should separate the static validation checks on the t8n BAL coming from the specs (BlockAccessList) from the validation that happens against a defined BlockAccessListExpectation in a BAL-specific test.

This PR moves the ordering and validation checks for the t8n BAL over to that class, as it should've probably been from the start. This way we always perform this validation on the BAL coming from t8n and IF we also define an expectation we only validate against the expectation in this second step.

This correctly catches duplicate entries from this report while filling tests: https://discord.com/channels/595666850260713488/1434985857823146059/1434999311812530176

✅ Checklist

  • All: Ran fast tox checks to avoid unnecessary CI fails, see also Code Standards and Enabling Pre-commit Checks:
    uvx tox -e static
  • All: PR title adheres to the repo standard - it will be used as the squash commit message and should start type(scope):.
  • All: Considered adding an entry to CHANGELOG.md.
  • All: Set appropriate labels for the changes (only maintainers can apply labels).

Cute Animal Picture

Put a link to a cute animal picture inside the parenthesis-->

@fselmo fselmo added C-bug Category: this is a bug, deviation, or other problem C-refactor Category: refactor A-test-types Area: Test Types—Definitions used in tests/testing tools (eg. `p/t/s/e/{base,test}_types`) labels Nov 3, 2025
@fselmo fselmo force-pushed the fix/block-access-list-validation branch 3 times, most recently from 5d1606d to 640348d Compare November 3, 2025 22:04
@fselmo fselmo marked this pull request as ready for review November 3, 2025 23:32
@fselmo fselmo force-pushed the eips/amsterdam/eip-7928 branch from 70a7786 to be41913 Compare November 4, 2025 21:55
@fselmo fselmo force-pushed the fix/block-access-list-validation branch from 640348d to b1d7cd9 Compare November 4, 2025 22:02
@fselmo fselmo force-pushed the eips/amsterdam/eip-7928 branch from be41913 to 20db73a Compare November 4, 2025 22:28
@fselmo fselmo force-pushed the fix/block-access-list-validation branch from b1d7cd9 to 5b3d50f Compare November 4, 2025 22:32
chetna-mittal pushed a commit to gnosischain/execution-specs that referenced this pull request Nov 8, 2025
* feat(zkevm): create pure ether transfer worst case

* fix(tests): update iteration and transfer amount config

* refactor: add iterator for the sender and receiver list

* doc: update changelog

* refactor(tests): simplify sender and receiver list generation

* refactor(tests): streamline ether transfer case handling
@fselmo fselmo force-pushed the eips/amsterdam/eip-7928 branch 2 times, most recently from 4388bef to 0395133 Compare November 11, 2025 15:35
- Validate static checks on the t8n BAL if it exists
- IF the expectation also exists, validate against the expectation

Keep these checks separate as this helps validation now that we fill
for all tests, regardless if they have an expectation or not.
@fselmo fselmo force-pushed the fix/block-access-list-validation branch from 5b3d50f to 874ab91 Compare November 11, 2025 16:46
@codecov-commenter
Copy link

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.67%. Comparing base (0395133) to head (874ab91).
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@                   Coverage Diff                    @@
##           eips/amsterdam/eip-7928    #1742   +/-   ##
========================================================
  Coverage                    82.67%   82.67%           
========================================================
  Files                          797      797           
  Lines                        47864    47864           
  Branches                      4308     4308           
========================================================
  Hits                         39571    39571           
  Misses                        7807     7807           
  Partials                       486      486           
Flag Coverage Δ
unittests 82.67% <ø> (ø)

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.

Copy link
Contributor

@spencer-tb spencer-tb left a comment

Choose a reason for hiding this comment

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

LGTM! Thanks.

Comment on lines +719 to +721
# Always validate BAL structural integrity (ordering, duplicates) if present
if t8n_bal is not None:
t8n_bal.validate_structure()
Copy link
Contributor

Choose a reason for hiding this comment

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

As far as I can tell this is the only new code and the rest is refactored?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yep!

@spencer-tb
Copy link
Contributor

Feel free to merge from my end.

@fselmo fselmo merged commit a7c2ba3 into ethereum:eips/amsterdam/eip-7928 Nov 13, 2025
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-test-types Area: Test Types—Definitions used in tests/testing tools (eg. `p/t/s/e/{base,test}_types`) C-bug Category: this is a bug, deviation, or other problem C-refactor Category: refactor

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants