Skip to content

Conversation

@fselmo
Copy link
Collaborator

@fselmo fselmo commented Oct 13, 2025

🗒️ Description

Block access lists should record storage reads if SSTORE reverts with out of gas beyond the EIP-2200 stipend check. Refer to conversation in EthR&D here for more details.

Here we test that:

  1. OOG at stipend gas (fails stipend check, no implicit SLOAD) -> No changes recorded
  2. OOG at stipend gas plus 1 -> Read recorded, no writes
  3. OOG at exact SSTORE gas minus 1 -> Read recorded, no writes
  4. No OOG, exact gas for SSTORE -> Write recorded, no reads

Requires and fills with spec changes here: fselmo/execution-specs#18

✅ Checklist

  • All: Ran fast tox checks to avoid unnecessary CI fails, see also Code Standards and Enabling Pre-commit Checks:
    uvx --with=tox-uv tox -e lint,typecheck,spellcheck,markdownlint
  • 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: 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.

fselmo added a commit to fselmo/execution-spec-tests that referenced this pull request Oct 13, 2025
@fselmo fselmo force-pushed the fix/sstore-at-oog-test-cases branch from 0e7b716 to e5dff24 Compare October 13, 2025 19:31
@fselmo fselmo marked this pull request as ready for review October 13, 2025 19:36
@fselmo fselmo added scope:tests Scope: Changes EL client test cases in `./tests` type:feat type: Feature fork: amsterdam Amsterdam hard fork labels Oct 13, 2025
@fselmo fselmo assigned fselmo and unassigned fselmo Oct 13, 2025
@fselmo fselmo requested a review from raxhvl October 13, 2025 19:37
Copy link
Member

@marioevz marioevz left a comment

Choose a reason for hiding this comment

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

LGTM, just one small suggestion.

@fselmo
Copy link
Collaborator Author

fselmo commented Oct 13, 2025

Note: Will wait to merge this until fselmo/execution-specs#18 is merged and we can update the resolver here for a new bal release with updated vectors.

@fselmo fselmo merged commit 5e73bad into ethereum:main Oct 14, 2025
16 checks passed
@fselmo fselmo deleted the fix/sstore-at-oog-test-cases branch October 14, 2025 14:14
kclowes pushed a commit to kclowes/execution-spec-tests that referenced this pull request Oct 20, 2025
ethereum#2297)

* fix(tests): Fix and add cases for BALs tests for SSTORE OOG conditions

* chore: add CHANGELOG entry for ethereum#2297

* chore: update test case reference for new SSTORE w/ OOG boundary cases

* chore: update eels resolver to use latest specs commit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fork: amsterdam Amsterdam hard fork scope:tests Scope: Changes EL client test cases in `./tests` type:feat type: Feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants