Skip to main content

apply_eip7702_auth_list

Function apply_eip7702_auth_list 

pub fn apply_eip7702_auth_list<CTX, ERROR>(
    context: &mut CTX,
    gas: &mut GasTracker,
) -> Result<Option<u64>, ERROR>
where CTX: ContextTr, ERROR: From<InvalidTransaction> + From<<<CTX as ContextTr>::Db as Database>::Error>,
Expand description

Apply EIP-7702 auth list and return number gas refund on already created accounts.

Note that this function will do nothing if the transaction type is not EIP-7702. If you need to apply auth list for other transaction types, use apply_auth_list function.

Internally uses apply_auth_list function.

Under EIP-2780 the authorization charges are instead metered on the transaction-level gas as the authorizations are applied (apply_auth_list_eip2780) and no refund is returned (the pessimistic intrinsic charge and its refund are replaced by conditional runtime charges). Charging as the authorizations are applied makes the phase stop at the first unaffordable charge: later authorities must not be loaded (observable through the EIP-7928 block access list).

Returns the EIP-7702 gas refund, or None when the authorization charges ran out of gas: the caller owns the runtime gas phase checkpoint and must revert it, dropping the applied delegations; the transaction stays valid but must be included as an out-of-gas halt without entering execution.

init_and_floor_gas is unused by this implementation — the EIP-2780 charges are recorded on the transaction-level gas — and is kept in the signature so chain variants that meter the authorizations against the intrinsic/floor gas can reuse this entry point.