Skip to content

Conversation

@mirgee
Copy link
Contributor

@mirgee mirgee commented Dec 17, 2025

This change splits *CALL gas cost calculation into two phases: a static phase that must not touch world state, and a phase that may read the world state and update the BAL. This prevents unnecessary state access and BAL modification in OOG scenarios where transferValue > 0 and remainingGas < staticCost.

All tests in [email protected] as well as the main release pass with these changes.

The "static gas cost" naming convention is debatable, but it was chosen for consistency with execution-specs. It is accurate in the sense that computing the static gas cost doesn't result in modifying the BAL (keeping it static).

Copy link
Contributor

@matkt matkt left a comment

Choose a reason for hiding this comment

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

LGTM, will start a hoodi fullsync before merge into main

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.

2 participants