def get_intrinsic_gas(self) -> int: core_gas = calculate_intrinsic_gas(ISTANBUL_TX_GAS_SCHEDULE, self) num_addresses = len(self.access_list) preload_address_costs = ACCESS_LIST_ADDRESS_COST_EIP_2930 * num_addresses num_slots = sum(len(slots) for _, slots in self.access_list) preload_slot_costs = ACCESS_LIST_STORAGE_KEY_COST_EIP_2930 * num_slots return core_gas + preload_address_costs + preload_slot_costs
def _get_access_list_txn_intrinsic_gas( klass: Union[UnsignedAccessListTransaction, AccessListTransaction]) -> int: core_gas = calculate_intrinsic_gas(ISTANBUL_TX_GAS_SCHEDULE, klass) num_addresses = len(klass.access_list) preload_address_costs = ACCESS_LIST_ADDRESS_COST_EIP_2930 * num_addresses num_slots = sum(len(slots) for _, slots in klass.access_list) preload_slot_costs = ACCESS_LIST_STORAGE_KEY_COST_EIP_2930 * num_slots return core_gas + preload_address_costs + preload_slot_costs