Expand description
Tempo EVM Handler implementation.
Structsยง
- Tempo
EvmHandler - Tempo EVM [
Handler] implementation with Tempo specific modifications:
Constantsยง
- EXPIRING_
NONCE_ GAS - Gas cost for expiring nonce transactions (replay check + insert).
- KEYCHAIN_
VALIDATION_ ๐GAS - Additional gas for Keychain signatures (key validation overhead: COLD_SLOAD_COST + 900 processing)
- KEY_
AUTH_ ๐BASE_ GAS - Base gas for KeyAuthorization (22k storage + 5k buffer), signature gas added at runtime
- KEY_
AUTH_ ๐PER_ LIMIT_ GAS - Gas per spending limit in KeyAuthorization
- P256_
VERIFY_ ๐GAS - Additional gas for P256 signature verification P256 precompile cost (6900 from EIP-7951) + 1100 for 129 bytes extra signature size - ecrecover savings (3000)
Functionsยง
- adjusted_
initial_ ๐gas - Computes the adjusted initial gas for AA transaction execution.
- calculate_
aa_ batch_ intrinsic_ gas - Calculates intrinsic gas for an AA transaction batch using revm helpers.
- calculate_
key_ ๐authorization_ gas - Calculates the intrinsic gas cost for a KeyAuthorization.
- check_
gas_ ๐limit - Checks if gas limit is sufficient and returns OOG frame result if not.
- get_
token_ balance - IMPORTANT: the caller must ensure
tokenis a valid TIP20Token address. - oog_
frame_ ๐result - Helper function to create a frame result for an out of gas error.
- primitive_
signature_ ๐verification_ gas - Calculates the gas cost for verifying a primitive signature.
- tempo_
signature_ ๐verification_ gas - Calculates the gas cost for verifying an AA signature.
- validate_
aa_ ๐initial_ tx_ gas - Validates and calculates initial transaction gas for AA transactions.
- validate_
time_ window - Validates time window for AA transactions