Skip to main content

load_acc_and_calc_gas

Function load_acc_and_calc_gas 

pub fn load_acc_and_calc_gas<H>(
    context: &mut InstructionContext<'_, H, impl InterpreterTypes>,
    to: Address,
    transfers_value: bool,
    create_empty_account: bool,
    stack_gas_limit: u64,
) -> Result<(u64, Bytecode, FixedBytes<32>, bool), InstructionResult>
where H: Host + ?Sized,
Expand description

Calculates gas cost and limit for call instructions.

The trailing bool in the returned tuple is charged_new_account_state_gas: true iff this call upfront-charged EIP-8037 new_account_state_gas (transfers value into a previously-empty account). Callers should propagate it onto CallInputs so the parent can refund the charge if the resulting frame reverts/halts.