Skip to content

feat(tests): adds EIP-7976 test and required framework changes#2115

Merged
felix314159 merged 8 commits into
ethereum:eips/amsterdam/eip-7976from
felix314159:eip7976
Feb 24, 2026
Merged

feat(tests): adds EIP-7976 test and required framework changes#2115
felix314159 merged 8 commits into
ethereum:eips/amsterdam/eip-7976from
felix314159:eip7976

Conversation

@felix314159

@felix314159 felix314159 commented Feb 2, 2026

Copy link
Copy Markdown
Contributor

🗒️ Description

TODO: test against clients as soon as anyone has implemented it

Fill with:
uv run fill -v -s --clean ./tests/amsterdam/eip7976_increase_calldata_floor_cost/ --until=amsterdam

🔗 Related Issues or PRs

Solves #1942

✅ 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 updating the online docs in the ./docs/ directory.
  • All: Set appropriate labels for the changes (only maintainers can apply labels).
  • Tests: Ran mkdocs serve locally and verified the auto-generated docs for new tests in the Test Case Reference are correctly formatted.
  • Tests: For PRs implementing a missed test case, update the post-mortem document to add an entry the list.
  • Ported Tests: All converted JSON/YML tests from ethereum/tests or tests/static have been assigned @ported_from marker.

Cute Animal Picture

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

@felix314159 felix314159 marked this pull request as draft February 2, 2026 16:09
@codecov

codecov Bot commented Feb 2, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 85.85%. Comparing base (bd5d03f) to head (ba4ec1b).

Additional details and impacted files
@@                   Coverage Diff                    @@
##           eips/amsterdam/eip-7976    #2115   +/-   ##
========================================================
  Coverage                    85.85%   85.85%           
========================================================
  Files                          599      599           
  Lines                        39428    39429    +1     
  Branches                      3776     3776           
========================================================
+ Hits                         33851    33852    +1     
  Misses                        4946     4946           
  Partials                       631      631           
Flag Coverage Δ
unittests 85.85% <100.00%> (+<0.01%) ⬆️

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 devnets/bal/2 branch 2 times, most recently from f26caad to 763699b Compare February 3, 2026 21:44
@felix314159 felix314159 mentioned this pull request Feb 4, 2026
7 tasks
@felix314159 felix314159 changed the base branch from devnets/bal/2 to forks/amsterdam February 4, 2026 14:04
@felix314159 felix314159 changed the base branch from forks/amsterdam to devnets/bal/2 February 4, 2026 14:04
@felix314159 felix314159 changed the base branch from devnets/bal/2 to eips/amsterdam/eip-7976 February 6, 2026 15:48
@felix314159 felix314159 marked this pull request as ready for review February 6, 2026 15:48
@felix314159 felix314159 changed the title adds tests for 7976 feat(tests): adds EIP-7976 test and required framework changes Feb 6, 2026
@felix314159

Copy link
Copy Markdown
Contributor Author

Updated for floor data cost increase

@SamWilsn SamWilsn 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.

Only took a very quick look at the test code.

Comment thread src/ethereum/forks/amsterdam/transactions.py Outdated
Comment thread tests/amsterdam/eip7976_increase_calldata_floor_cost/conftest.py Outdated
Comment thread tests/amsterdam/eip7976_increase_calldata_floor_cost/conftest.py
Comment thread tests/amsterdam/eip7976_increase_calldata_floor_cost/conftest.py Outdated
Comment thread tests/amsterdam/eip7976_increase_calldata_floor_cost/conftest.py Outdated
Comment thread tests/amsterdam/eip7976_increase_calldata_floor_cost/conftest.py Outdated
Comment thread tests/amsterdam/eip7976_increase_calldata_floor_cost/conftest.py
Comment thread tests/amsterdam/eip7976_increase_calldata_floor_cost/helpers.py Outdated
@marioevz

Copy link
Copy Markdown
Member

On the testing side, I think we should take a look and try to fix failing tests for Amsterdam in the full test set before merging (this is most likely the cause of the py3/pypy3 failures).

@felix314159

Copy link
Copy Markdown
Contributor Author

thx for the review, i implemented changes and agree it's cleaner now

@marioevz marioevz self-assigned this Feb 18, 2026
@marioevz

Copy link
Copy Markdown
Member

LGTM, I think we can merge once the py3/pypy3 tests are fixed, there's still some failures in the last run.

@felix314159 felix314159 changed the base branch from eips/amsterdam/eip-7976 to forks/amsterdam February 19, 2026 13:27
@felix314159 felix314159 changed the base branch from forks/amsterdam to eips/amsterdam/eip-7976 February 19, 2026 13:28
@felix314159 felix314159 changed the base branch from eips/amsterdam/eip-7976 to forks/amsterdam February 19, 2026 13:30
@felix314159 felix314159 changed the base branch from forks/amsterdam to eips/amsterdam/eip-7976 February 19, 2026 13:30
felix314159 and others added 4 commits February 23, 2026 16:38
…rcing tx gas caps and adaptive calldata sizing so --until=amsterdam fills pass

@SamWilsn SamWilsn 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.

Spec changes look good to me, not confident in reviewing the framework changes beyond generic python feedback.

@felix314159 felix314159 merged commit c8563ea into ethereum:eips/amsterdam/eip-7976 Feb 24, 2026
18 of 19 checks passed
marioevz pushed a commit that referenced this pull request Apr 13, 2026
* feat(tests): adds tests and src changes for 7976

Co-authored-by: Toni Wahrstätter <51536394+nerolation@users.noreply.github.com>

* feat: EIP got updated

* fix: ruff

* feat: implemented PR feedback

* fix: make eip-7934 block-size filler fork-aware for amsterdam by enforcing tx gas caps and adaptive calldata sizing so --until=amsterdam fills pass

* fix: fix

* fix: fix

* fix: mypy

---------

Co-authored-by: Toni Wahrstätter <51536394+nerolation@users.noreply.github.com>
felix314159 added a commit to felix314159/execution-specs that referenced this pull request Apr 14, 2026
…eum#2115)

* feat(tests): adds tests and src changes for 7976

Co-authored-by: Toni Wahrstätter <51536394+nerolation@users.noreply.github.com>

* feat: EIP got updated

* fix: ruff

* feat: implemented PR feedback

* fix: make eip-7934 block-size filler fork-aware for amsterdam by enforcing tx gas caps and adaptive calldata sizing so --until=amsterdam fills pass

* fix: fix

* fix: fix

* fix: mypy

---------

Co-authored-by: Toni Wahrstätter <51536394+nerolation@users.noreply.github.com>
felix314159 added a commit that referenced this pull request Apr 20, 2026
* feat(tests): adds tests and src changes for 7976

Co-authored-by: Toni Wahrstätter <51536394+nerolation@users.noreply.github.com>

* feat: EIP got updated

* fix: ruff

* feat: implemented PR feedback

* fix: make eip-7934 block-size filler fork-aware for amsterdam by enforcing tx gas caps and adaptive calldata sizing so --until=amsterdam fills pass

* fix: fix

* fix: fix

* fix: mypy

---------

Co-authored-by: Toni Wahrstätter <51536394+nerolation@users.noreply.github.com>
spencer-tb pushed a commit that referenced this pull request Apr 20, 2026
* feat(tests): adds tests and src changes for 7976

Co-authored-by: Toni Wahrstätter <51536394+nerolation@users.noreply.github.com>

* feat: EIP got updated

* fix: ruff

* feat: implemented PR feedback

* fix: make eip-7934 block-size filler fork-aware for amsterdam by enforcing tx gas caps and adaptive calldata sizing so --until=amsterdam fills pass

* fix: fix

* fix: fix

* fix: mypy

---------

Co-authored-by: Toni Wahrstätter <51536394+nerolation@users.noreply.github.com>
LouisTsai-Csie pushed a commit that referenced this pull request Apr 27, 2026
* feat(tests): adds tests and src changes for 7976

Co-authored-by: Toni Wahrstätter <51536394+nerolation@users.noreply.github.com>

* feat: EIP got updated

* fix: ruff

* feat: implemented PR feedback

* fix: make eip-7934 block-size filler fork-aware for amsterdam by enforcing tx gas caps and adaptive calldata sizing so --until=amsterdam fills pass

* fix: fix

* fix: fix

* fix: mypy

---------

Co-authored-by: Toni Wahrstätter <51536394+nerolation@users.noreply.github.com>
felix314159 added a commit that referenced this pull request May 15, 2026
* feat(tests): adds tests and src changes for 7976

Co-authored-by: Toni Wahrstätter <51536394+nerolation@users.noreply.github.com>

* feat: EIP got updated

* fix: ruff

* feat: implemented PR feedback

* fix: make eip-7934 block-size filler fork-aware for amsterdam by enforcing tx gas caps and adaptive calldata sizing so --until=amsterdam fills pass

* fix: fix

* fix: fix

* fix: mypy

---------

Co-authored-by: Toni Wahrstätter <51536394+nerolation@users.noreply.github.com>
felix314159 added a commit that referenced this pull request May 19, 2026
…2861)

* feat(tests): adds EIP-7976 test and required framework changes (#2115)

* feat(tests): adds tests and src changes for 7976

Co-authored-by: Toni Wahrstätter <51536394+nerolation@users.noreply.github.com>

* feat: EIP got updated

* fix: ruff

* feat: implemented PR feedback

* fix: make eip-7934 block-size filler fork-aware for amsterdam by enforcing tx gas caps and adaptive calldata sizing so --until=amsterdam fills pass

* fix: fix

* fix: fix

* fix: mypy

---------

Co-authored-by: Toni Wahrstätter <51536394+nerolation@users.noreply.github.com>

* refactor(tests-eip-7976): Condition tests to EIP inclusion

* chores: update refspec

* fix(tests): drop GAS_ prefix from gas_costs attribute references

Align the EIP-7976 mixin and tests with the GasCosts dataclass rename
on forks/amsterdam (GAS_TX_BASE -> TX_BASE, GAS_TX_DATA_TOKEN_FLOOR ->
TX_DATA_TOKEN_FLOOR, GAS_VERY_LOW -> VERY_LOW, etc.).

* fix(tests): compose EIP-7976 floor cost via calldata_gas_calculator

Override `calldata_gas_calculator` (floor mode only) instead of
`transaction_data_floor_cost_calculator`. The previous override
shadowed EIP-7981's `transaction_data_floor_cost_calculator` in the
Amsterdam MRO (auto-loader sorts by EIP number ascending, so EIP7976
is more derived and its method wins without calling super), dropping
the access list floor contribution. Routing the change through
`calldata_gas_calculator` lets EIP-7623's data floor calculator pick
it up, which EIP-7981 then extends via super.

* fix: ci fails due to static tests out of gas

* fix: mario feedback

* fix: remove duplicate test

---------

Co-authored-by: Toni Wahrstätter <51536394+nerolation@users.noreply.github.com>
Co-authored-by: marioevz <marioevz@gmail.com>
Co-authored-by: spencer-tb <spencer.tb@ethereum.org>
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