Skip to main content

runtime_oog_unwind

Function runtime_oog_unwind 

pub fn runtime_oog_unwind<CTX>(
    ctx: &mut CTX,
    checkpoint: JournalCheckpoint,
) -> Result<(), <<<CTX as ContextTr>::Journal as JournalTr>::Database as Database>::Error>
where CTX: ContextTr,
Available on crate feature evm only.
Expand description

Unwinds the EIP-2780 runtime gas phase after first-frame creation ran out of gas (create_init_frame returned None): reverts the phase’s journal checkpoint — dropping all runtime state changes, including applied EIP-7702 delegations — and bumps the sender nonce of a create transaction, whose increment precedes message processing and survives the halt. (Calls bump it in validate_against_state_and_deduct_caller; creates at frame creation, which the runtime halt never reaches.)