Skip to content

fix(spec,test): align with latest EIP-8037 auth refund changes#2836

Merged
spencer-tb merged 2 commits into
ethereum:devnets/bal/7from
fselmo:feat/auth-non-empty-codehash
May 12, 2026
Merged

fix(spec,test): align with latest EIP-8037 auth refund changes#2836
spencer-tb merged 2 commits into
ethereum:devnets/bal/7from
fselmo:feat/auth-non-empty-codehash

Conversation

@fselmo
Copy link
Copy Markdown
Contributor

@fselmo fselmo commented May 11, 2026

🗒️ Description

Align with ethereum/EIPs#11611 and ethereum/EIPs#11616

  • commit #1:
    • Refund AUTH_BASE on existing delegation along with the new account cost.
    • Fix broken re-auth test with better checks that would've caught the fact that the re-auth never worked and properly check the refund in this test now.
  • commit #2:
    • Refactor / add coverage by parametrizing all auth refund test cases together for ease of readability and keeping track of cases covered.

✅ 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.

Cute Animal Picture

Screenshot 2026-05-11 at 13 36 33

@fselmo fselmo requested a review from spencer-tb May 11, 2026 19:40
@fselmo fselmo marked this pull request as ready for review May 11, 2026 19:40
@codecov
Copy link
Copy Markdown

codecov Bot commented May 11, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (devnets/bal/7@bcc2a87). Learn more about missing BASE report.

Additional details and impacted files
@@               Coverage Diff                @@
##             devnets/bal/7    #2836   +/-   ##
================================================
  Coverage                 ?   85.59%           
================================================
  Files                    ?      630           
  Lines                    ?    39615           
  Branches                 ?     3938           
================================================
  Hits                     ?    33908           
  Misses                   ?     5083           
  Partials                 ?      624           
Flag Coverage Δ
unittests 85.59% <100.00%> (?)

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.

finterne

This comment was marked as spam.

@fselmo fselmo dismissed finterne’s stale review May 11, 2026 22:01

Bot spam from account created less than an hour ago. Wasting our dev time. Didn't even bother to read that this is an update in the EIP in this PR's description.

@fselmo fselmo changed the title fix(spec,test): refill AUTH_BASE state gas on existing delegation fix(spec,test): align with latest EIP-8037 auth refund changes May 11, 2026
spencer-tb
spencer-tb previously approved these changes May 12, 2026
Copy link
Copy Markdown
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.

Amazing! Thanks for adding this! Let's align on Wednesdays Glamsterdam Repricings call :)

@spencer-tb spencer-tb dismissed their stale review May 12, 2026 13:05

Changes required after follow up on discord!

@spencer-tb
Copy link
Copy Markdown
Contributor

Based on the EIP-8037 Discord discussion on the STEEL server, the plan for bal-devnet-7 is:

  • Land only the AUTH_BASE * CPSB refill on non-empty codeHash piece from this PR commit #1
  • Defer the rest (ACCOUNT_WRITE constant, intrinsic auth bump, ACCOUNT_WRITE refund on account_exists) to a future devnet where we land 8038 properly.

Could you move the ACCOUNT_WRITE-dependent commits to a different branch for the future, and keep just the re-auth refill fix? I'll spin up a follow-up PR removing all SD state gas refunds in parallel, we merge both and can cut a new bal-devnet-7 release once both land! 🙏

@fselmo fselmo force-pushed the feat/auth-non-empty-codehash branch from 356f492 to 557469d Compare May 12, 2026 13:42
Copy link
Copy Markdown
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.

LGMT! Thanks sir!!

@spencer-tb spencer-tb merged commit a0a1ed1 into ethereum:devnets/bal/7 May 12, 2026
47 checks passed
@fselmo fselmo deleted the feat/auth-non-empty-codehash branch May 12, 2026 14:10
edg-l added a commit to lambdaclass/ethrex that referenced this pull request May 12, 2026
…ation

Mirrors EELS PR #2836 (merged 2026-05-12, devnets/bal/7):
ethereum/execution-specs#2836

When the authority's pre-state code slot already holds a 7702 delegation
indicator (overwrite or clear), refill the 23-byte AUTH_BASE portion of
intrinsic state gas via both the reservoir and the state_refund channel.
Keys off the pre-state code, not the auth target, so it applies whether
auth.address is a new delegation target or zero (clear).

Breaks ef-tests until upstream re-cuts fixtures past tests-bal@v7.0.0;
no skips added per the bal-devnet-7 alignment policy.
edg-l added a commit to lambdaclass/ethrex that referenced this pull request May 13, 2026
…ation

Mirrors EELS PR #2836 (merged 2026-05-12, devnets/bal/7):
ethereum/execution-specs#2836

When the authority's pre-state code slot already holds a 7702 delegation
indicator (overwrite or clear), refill the 23-byte AUTH_BASE portion of
intrinsic state gas via both the reservoir and the state_refund channel.
Keys off the pre-state code, not the auth target, so it applies whether
auth.address is a new delegation target or zero (clear).

Breaks ef-tests until upstream re-cuts fixtures past tests-bal@v7.0.0;
no skips added per the bal-devnet-7 alignment policy.
edg-l added a commit to lambdaclass/ethrex that referenced this pull request May 13, 2026
…ation

Mirrors EELS PR #2836 (merged 2026-05-12, devnets/bal/7):
ethereum/execution-specs#2836

When the authority's pre-state code slot already holds a 7702 delegation
indicator (overwrite or clear), refill the 23-byte AUTH_BASE portion of
intrinsic state gas via both the reservoir and the state_refund channel.
Keys off the pre-state code, not the auth target, so it applies whether
auth.address is a new delegation target or zero (clear).

Breaks ef-tests until upstream re-cuts fixtures past tests-bal@v7.0.0;
no skips added per the bal-devnet-7 alignment policy.
edg-l added a commit to lambdaclass/ethrex that referenced this pull request May 13, 2026
…ation

Mirrors EELS PR #2836 (merged 2026-05-12, devnets/bal/7):
ethereum/execution-specs#2836

When the authority's pre-state code slot already holds a 7702 delegation
indicator (overwrite or clear), refill the 23-byte AUTH_BASE portion of
intrinsic state gas via both the reservoir and the state_refund channel.
Keys off the pre-state code, not the auth target, so it applies whether
auth.address is a new delegation target or zero (clear).

Breaks ef-tests until upstream re-cuts fixtures past tests-bal@v7.0.0;
no skips added per the bal-devnet-7 alignment policy.
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