feat(tests): adds EIP-7976 test and required framework changes#2115
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 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
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
f26caad to
763699b
Compare
|
Updated for floor data cost increase |
SamWilsn
left a comment
There was a problem hiding this comment.
Only took a very quick look at the test code.
|
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). |
|
thx for the review, i implemented changes and agree it's cleaner now |
|
LGTM, I think we can merge once the py3/pypy3 tests are fixed, there's still some failures in the last run. |
Co-authored-by: Toni Wahrstätter <51536394+nerolation@users.noreply.github.com>
SamWilsn
left a comment
There was a problem hiding this comment.
Spec changes look good to me, not confident in reviewing the framework changes beyond generic python feedback.
c8563ea
into
ethereum:eips/amsterdam/eip-7976
* 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>
…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>
* 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>
* 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>
* 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>
* 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>
…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>
🗒️ 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
toxchecks to avoid unnecessary CI fails, see also Code Standards and Enabling Pre-commit Checks:uvx tox -e statictype(scope):.mkdocs servelocally and verified the auto-generated docs for new tests in the Test Case Reference are correctly formatted.@ported_frommarker.Cute Animal Picture