Skip to content

fix(evm): preflight Amsterdam call runtime OOG before inspection - #284

Closed
0xalpharush wants to merge 1 commit into
alloy-rs:mainfrom
0xalpharush:agent/amsterdam-call-runtime-oog-inspector
Closed

fix(evm): preflight Amsterdam call runtime OOG before inspection#284
0xalpharush wants to merge 1 commit into
alloy-rs:mainfrom
0xalpharush:agent/amsterdam-call-runtime-oog-inspector

Conversation

@0xalpharush

Copy link
Copy Markdown
Contributor

Summary

Preflight Amsterdam depth-zero CALL runtime gas before emitting Inspector::call or transfer-log callbacks.

Impact

A value transfer that could afford intrinsic gas but not Amsterdam new-account state gas previously appeared as a failed call frame with an EIP-7708 log callback. The journal was rolled back, but tracer consumers observed a frame and log that never entered execution.

Testing

  • Added amsterdam_runtime_oog_call_value_is_not_inspected
  • Warnings-denied evm2 Clippy
  • structured_compare_amsterdam/crash-dc81cee312825a7f24931cb945e94e42b780b134 replays cleanly

}

let checkpoint = self.state.checkpoint();
let (regular, state) = self.eip2780_call_charges(message);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Yeah this is not correct, and needs changing. eip2780_call_charges needs to take into account gas limit. and checkpoint creation is in wrong place. If eip2780 checks fail eip7702 delegations need reverting.

@rakita

rakita commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Will close this if this is okay, it looks like it is in the wrong place. I need to implement glam-devnet-7 for evm2, so it will be solved then

@0xalpharush

Copy link
Copy Markdown
Contributor Author

fine to close. lmk when evm2 amsterdam is up-to-date with revm

@rakita rakita closed this Jul 27, 2026
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