calculate_aa_batch_intrinsic_gas

Function calculate_aa_batch_intrinsic_gas 

Source
fn calculate_aa_batch_intrinsic_gas<'a>(
    calls: &[Call],
    signature: &TempoSignature,
    access_list: Option<impl Iterator<Item = &'a AccessListItem>>,
    authorization_list: &[RecoveredTempoAuthorization],
) -> Result<InitialAndFloorGas, TempoInvalidTransaction>
Expand description

Calculates intrinsic gas for an AA transaction batch using revm helpers.

This includes:

  • Base 21k stipend (once for the transaction)
  • Signature verification gas (P256: 5k, WebAuthn: 5k + webauthn_data)
  • Per-call account access cost (COLD_ACCOUNT_ACCESS_COST * calls.len())
  • Per-call input data gas (calldata tokens * 4 gas)
  • Per-call CREATE costs (if applicable):
    • Additional 32k base (CREATE constant)
    • Initcode analysis gas (2 per 32-byte chunk, Shanghai+)
  • Check that value transfer is zero.
  • Access list costs (shared across batch)
  • Floor gas calculation (EIP-7623, Prague+)