Skip to content

Conversation

raxhvl
Copy link
Member

@raxhvl raxhvl commented Sep 9, 2025

🗒️ Description

New OOG test cases proposed by @rakita have been added to the test_cases.md for EIP-7928. The no-op test case, which was missed during the rebase of the framework changes, has been patched in.

Related Reth PR: paradigmxyz/reth#17765 and bluealloy/revm#2903

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

@raxhvl raxhvl requested a review from fselmo September 9, 2025 06:43
@raxhvl raxhvl added scope:tests Scope: Changes EL client test cases in `./tests` type:test Type: Add/refactor fw unit tests; no fw or el client test case changes labels Sep 9, 2025
@raxhvl raxhvl self-assigned this Sep 9, 2025
@rakita
Copy link

rakita commented Sep 9, 2025

Delegated accounts (EIP-7702) are not covered, when CALL/DELEGATECALL/STATICCALL/CALLCODE is called for delegated account there are edge case where first account get loaded but we dont have gas for second load etc.

There are two variants:

  • First account is cold, delegated account is cold -> fail on second cold load -> Delegated account is not loaded
  • First account is warm, delegated account is cold -> fail on second cold load -> Delegated account is not loaded.

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.

Hey, thanks for the PR!

I've added some comments to the document as I feel we should modify our approach here slightly. Thanks!

@raxhvl raxhvl force-pushed the feat/eip-7928/test-cases branch from 2104098 to e7367f8 Compare September 10, 2025 09:02
@raxhvl
Copy link
Member Author

raxhvl commented Sep 11, 2025

@rakita 7702 tests added ea7a1b6

@raxhvl raxhvl requested a review from marioevz September 11, 2025 18:09
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.

Awesome test ideas!

I feel the distinction I mention in my comment is extremely important and we should at least mention it so we don't miss on implementing all of the different flavors of these scenarios.

@raxhvl raxhvl force-pushed the feat/eip-7928/test-cases branch from ea7a1b6 to bcaf230 Compare September 15, 2025 14:39
@spencer-tb
Copy link
Contributor

Some other small OOG ideas

  • BAL handles OOG during CREATE2's keccak256 address calculation.
  • BAL handles OOG during CREATE/CREATE2 init code execution with expensive SSTORE.
  • BAL handles OOG during CREATE/CREATE2 final bytecode storage after successful init code completion, uses large storage to trigger.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scope:tests Scope: Changes EL client test cases in `./tests` type:test Type: Add/refactor fw unit tests; no fw or el client test case changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants