Skip to content

feat(tests): EIP-8037 base fee follows the bottleneck gas dimension#3039

Open
chfast wants to merge 1 commit into
ethereum:forks/amsterdamfrom
chfast:eips/amsterdam/eip-8037-base-fee-state-dimension
Open

feat(tests): EIP-8037 base fee follows the bottleneck gas dimension#3039
chfast wants to merge 1 commit into
ethereum:forks/amsterdamfrom
chfast:eips/amsterdam/eip-8037-base-fee-state-dimension

Conversation

@chfast

@chfast chfast commented Jun 23, 2026

Copy link
Copy Markdown
Member

🗒️ Description

Add a two-block test asserting the child block's base_fee_per_gas is driven by the parent header gas_used = max(block_regular_gas_used, block_state_gas_used).

Block 1 is pushed above the gas target by a single dimension (state via spilling SSTORE-set txs, or regular via STOP txs) while the other stays below it, so the dominant dimension alone decides whether the child base fee rises. Block 2 is empty and its base_fee_per_gas must equal the EIP-1559 update fed block 1's max-dimension gas_used.

🔗 Related Issues or PRs

N/A.

✅ Checklist

  • All: Ran fast static checks to avoid unnecessary CI fails, see also Code Standards and Enabling Pre-commit Checks:
    just 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.

Add a two-block test asserting the child block's base_fee_per_gas is
driven by the parent header gas_used = max(block_regular_gas_used,
block_state_gas_used).

Block 1 is pushed above the gas target by a single dimension (state via
spilling SSTORE-set txs, or regular via STOP txs) while the other stays
below it, so the dominant dimension alone decides whether the child base
fee rises. Block 2 is empty and its base_fee_per_gas must equal the
EIP-1559 update fed block 1's max-dimension gas_used.
@codecov

codecov Bot commented Jun 23, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.50%. Comparing base (b14bc81) to head (e590bf0).

Additional details and impacted files
@@                 Coverage Diff                 @@
##           forks/amsterdam    #3039      +/-   ##
===================================================
- Coverage            92.80%   92.50%   -0.31%     
===================================================
  Files                  620      620              
  Lines                36728    36728              
  Branches              3345     3345              
===================================================
- Hits                 34087    33975     -112     
- Misses                1780     1852      +72     
- Partials               861      901      +40     
Flag Coverage Δ
unittests 92.50% <ø> (-0.31%) ⬇️

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

☔ View full report in Codecov by Harness.
📢 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.

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.

1 participant