Skip to main content

runtime_oog_unwind

Function runtime_oog_unwind 

Source
pub fn runtime_oog_unwind<CTX: ContextTr>(
    ctx: &mut CTX,
    checkpoint: JournalCheckpoint,
) -> Result<(), <<CTX::Journal as JournalTr>::Database as Database>::Error>
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.)