/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import type {
  BaseContract,
  BigNumber,
  BigNumberish,
  BytesLike,
  CallOverrides,
  PopulatedTransaction,
  Signer,
  utils,
} from "ethers";
import type {
  FunctionFragment,
  Result,
  EventFragment,
} from "@ethersproject/abi";
import type { Listener, Provider } from "@ethersproject/providers";
import type {
  TypedEventFilter,
  TypedEvent,
  TypedListener,
  OnEvent,
} from "./common";

export declare namespace StdInvariant {
  export type FuzzSelectorStruct = { addr: string; selectors: BytesLike[] };

  export type FuzzSelectorStructOutput = [string, string[]] & {
    addr: string;
    selectors: string[];
  };

  export type FuzzArtifactSelectorStruct = {
    artifact: string;
    selectors: BytesLike[];
  };

  export type FuzzArtifactSelectorStructOutput = [string, string[]] & {
    artifact: string;
    selectors: string[];
  };

  export type FuzzInterfaceStruct = { addr: string; artifacts: string[] };

  export type FuzzInterfaceStructOutput = [string, string[]] & {
    addr: string;
    artifacts: string[];
  };
}

export declare namespace Constants {
  export type L1AddressesStruct = {
    finder: string;
    l1ArbitrumInbox: string;
    l1ERC20GatewayRouter: string;
    polygonRootChainManager: string;
    polygonFxRoot: string;
    polygonERC20Predicate: string;
    polygonRegistry: string;
    polygonDepositManager: string;
    cctpTokenMessenger: string;
    cctpV2TokenMessenger: string;
    cctpMessageTransmitter: string;
    lineaMessageService: string;
    lineaTokenBridge: string;
    scrollERC20GatewayRouter: string;
    scrollMessengerRelay: string;
    scrollGasPriceOracle: string;
    blastYieldManager: string;
    blastDaiRetriever: string;
    adapterStore: string;
    donationBox: string;
    hubPoolStore: string;
    zkBridgeHub: string;
    zkUsdcSharedBridge_232: string;
    zkUsdcSharedBridge_324: string;
  };

  export type L1AddressesStructOutput = [
    string,
    string,
    string,
    string,
    string,
    string,
    string,
    string,
    string,
    string,
    string,
    string,
    string,
    string,
    string,
    string,
    string,
    string,
    string,
    string,
    string,
    string,
    string,
    string
  ] & {
    finder: string;
    l1ArbitrumInbox: string;
    l1ERC20GatewayRouter: string;
    polygonRootChainManager: string;
    polygonFxRoot: string;
    polygonERC20Predicate: string;
    polygonRegistry: string;
    polygonDepositManager: string;
    cctpTokenMessenger: string;
    cctpV2TokenMessenger: string;
    cctpMessageTransmitter: string;
    lineaMessageService: string;
    lineaTokenBridge: string;
    scrollERC20GatewayRouter: string;
    scrollMessengerRelay: string;
    scrollGasPriceOracle: string;
    blastYieldManager: string;
    blastDaiRetriever: string;
    adapterStore: string;
    donationBox: string;
    hubPoolStore: string;
    zkBridgeHub: string;
    zkUsdcSharedBridge_232: string;
    zkUsdcSharedBridge_324: string;
  };

  export type OpStackAddressesStruct = {
    L1CrossDomainMessenger: string;
    L1StandardBridge: string;
    L1OpUSDCBridgeAdapter: string;
  };

  export type OpStackAddressesStructOutput = [string, string, string] & {
    L1CrossDomainMessenger: string;
    L1StandardBridge: string;
    L1OpUSDCBridgeAdapter: string;
  };
}

export interface HubPoolTestBaseInterface extends utils.Interface {
  functions: {
    "AMOUNT_TO_LP()": FunctionFragment;
    "BOND_AMOUNT()": FunctionFragment;
    "BURN_LIMIT()": FunctionFragment;
    "DEFAULT_IDENTIFIER()": FunctionFragment;
    "FILL_DEADLINE_BUFFER()": FunctionFragment;
    "FINAL_FEE()": FunctionFragment;
    "INITIAL_ETH()": FunctionFragment;
    "IS_SCRIPT()": FunctionFragment;
    "IS_TEST()": FunctionFragment;
    "LP_ETH_FUNDING()": FunctionFragment;
    "LP_FEES()": FunctionFragment;
    "MOCK_POOL_REBALANCE_ROOT()": FunctionFragment;
    "MOCK_RELAYER_REFUND_ROOT()": FunctionFragment;
    "MOCK_SLOW_RELAY_ROOT()": FunctionFragment;
    "MOCK_TREE_ROOT()": FunctionFragment;
    "QUOTE_TIME_BUFFER()": FunctionFragment;
    "REFUND_PROPOSAL_LIVENESS()": FunctionFragment;
    "REPAYMENT_CHAIN_ID()": FunctionFragment;
    "TOKENS_TO_SEND()": FunctionFragment;
    "TOTAL_BOND()": FunctionFragment;
    "USDC_LP_FEES()": FunctionFragment;
    "USDC_TO_SEND()": FunctionFragment;
    "USDT_LP_FEES()": FunctionFragment;
    "USDT_TO_SEND()": FunctionFragment;
    "excludeArtifacts()": FunctionFragment;
    "excludeContracts()": FunctionFragment;
    "excludeSelectors()": FunctionFragment;
    "excludeSenders()": FunctionFragment;
    "failed()": FunctionFragment;
    "file()": FunctionFragment;
    "getChainFamily(uint256)": FunctionFragment;
    "getChainId(string)": FunctionFragment;
    "getCircleDomainId(uint256)": FunctionFragment;
    "getL1Addresses(uint256)": FunctionFragment;
    "getL2Address(uint256,string)": FunctionFragment;
    "getOftEid(uint256)": FunctionFragment;
    "getOpStackAddresses(uint256,uint256)": FunctionFragment;
    "getPermit2(uint256)": FunctionFragment;
    "getTestnetChainIds()": FunctionFragment;
    "getUSDCAddress(uint256)": FunctionFragment;
    "getUSDCeAddress(uint256)": FunctionFragment;
    "getWETHAddress(uint256)": FunctionFragment;
    "getWghoAddress(uint256)": FunctionFragment;
    "getWmaticAddress(uint256)": FunctionFragment;
    "getWrappedNativeToken(uint256)": FunctionFragment;
    "hasCctpDomain(uint256)": FunctionFragment;
    "hasOftEid(uint256)": FunctionFragment;
    "targetArtifactSelectors()": FunctionFragment;
    "targetArtifacts()": FunctionFragment;
    "targetContracts()": FunctionFragment;
    "targetInterfaces()": FunctionFragment;
    "targetSelectors()": FunctionFragment;
    "targetSenders()": FunctionFragment;
  };

  getFunction(
    nameOrSignatureOrTopic:
      | "AMOUNT_TO_LP"
      | "BOND_AMOUNT"
      | "BURN_LIMIT"
      | "DEFAULT_IDENTIFIER"
      | "FILL_DEADLINE_BUFFER"
      | "FINAL_FEE"
      | "INITIAL_ETH"
      | "IS_SCRIPT"
      | "IS_TEST"
      | "LP_ETH_FUNDING"
      | "LP_FEES"
      | "MOCK_POOL_REBALANCE_ROOT"
      | "MOCK_RELAYER_REFUND_ROOT"
      | "MOCK_SLOW_RELAY_ROOT"
      | "MOCK_TREE_ROOT"
      | "QUOTE_TIME_BUFFER"
      | "REFUND_PROPOSAL_LIVENESS"
      | "REPAYMENT_CHAIN_ID"
      | "TOKENS_TO_SEND"
      | "TOTAL_BOND"
      | "USDC_LP_FEES"
      | "USDC_TO_SEND"
      | "USDT_LP_FEES"
      | "USDT_TO_SEND"
      | "excludeArtifacts"
      | "excludeContracts"
      | "excludeSelectors"
      | "excludeSenders"
      | "failed"
      | "file"
      | "getChainFamily"
      | "getChainId"
      | "getCircleDomainId"
      | "getL1Addresses"
      | "getL2Address"
      | "getOftEid"
      | "getOpStackAddresses"
      | "getPermit2"
      | "getTestnetChainIds"
      | "getUSDCAddress"
      | "getUSDCeAddress"
      | "getWETHAddress"
      | "getWghoAddress"
      | "getWmaticAddress"
      | "getWrappedNativeToken"
      | "hasCctpDomain"
      | "hasOftEid"
      | "targetArtifactSelectors"
      | "targetArtifacts"
      | "targetContracts"
      | "targetInterfaces"
      | "targetSelectors"
      | "targetSenders"
  ): FunctionFragment;

  encodeFunctionData(
    functionFragment: "AMOUNT_TO_LP",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "BOND_AMOUNT",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "BURN_LIMIT",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "DEFAULT_IDENTIFIER",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "FILL_DEADLINE_BUFFER",
    values?: undefined
  ): string;
  encodeFunctionData(functionFragment: "FINAL_FEE", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "INITIAL_ETH",
    values?: undefined
  ): string;
  encodeFunctionData(functionFragment: "IS_SCRIPT", values?: undefined): string;
  encodeFunctionData(functionFragment: "IS_TEST", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "LP_ETH_FUNDING",
    values?: undefined
  ): string;
  encodeFunctionData(functionFragment: "LP_FEES", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "MOCK_POOL_REBALANCE_ROOT",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "MOCK_RELAYER_REFUND_ROOT",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "MOCK_SLOW_RELAY_ROOT",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "MOCK_TREE_ROOT",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "QUOTE_TIME_BUFFER",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "REFUND_PROPOSAL_LIVENESS",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "REPAYMENT_CHAIN_ID",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "TOKENS_TO_SEND",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "TOTAL_BOND",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "USDC_LP_FEES",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "USDC_TO_SEND",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "USDT_LP_FEES",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "USDT_TO_SEND",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "excludeArtifacts",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "excludeContracts",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "excludeSelectors",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "excludeSenders",
    values?: undefined
  ): string;
  encodeFunctionData(functionFragment: "failed", values?: undefined): string;
  encodeFunctionData(functionFragment: "file", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "getChainFamily",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(functionFragment: "getChainId", values: [string]): string;
  encodeFunctionData(
    functionFragment: "getCircleDomainId",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getL1Addresses",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getL2Address",
    values: [BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "getOftEid",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getOpStackAddresses",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getPermit2",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getTestnetChainIds",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getUSDCAddress",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getUSDCeAddress",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getWETHAddress",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getWghoAddress",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getWmaticAddress",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getWrappedNativeToken",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "hasCctpDomain",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "hasOftEid",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "targetArtifactSelectors",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "targetArtifacts",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "targetContracts",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "targetInterfaces",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "targetSelectors",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "targetSenders",
    values?: undefined
  ): string;

  decodeFunctionResult(
    functionFragment: "AMOUNT_TO_LP",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "BOND_AMOUNT",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "BURN_LIMIT", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "DEFAULT_IDENTIFIER",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "FILL_DEADLINE_BUFFER",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "FINAL_FEE", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "INITIAL_ETH",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "IS_SCRIPT", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "IS_TEST", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "LP_ETH_FUNDING",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "LP_FEES", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "MOCK_POOL_REBALANCE_ROOT",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "MOCK_RELAYER_REFUND_ROOT",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "MOCK_SLOW_RELAY_ROOT",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "MOCK_TREE_ROOT",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "QUOTE_TIME_BUFFER",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "REFUND_PROPOSAL_LIVENESS",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "REPAYMENT_CHAIN_ID",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "TOKENS_TO_SEND",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "TOTAL_BOND", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "USDC_LP_FEES",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "USDC_TO_SEND",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "USDT_LP_FEES",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "USDT_TO_SEND",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "excludeArtifacts",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "excludeContracts",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "excludeSelectors",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "excludeSenders",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "failed", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "file", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "getChainFamily",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "getChainId", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "getCircleDomainId",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getL1Addresses",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getL2Address",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "getOftEid", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "getOpStackAddresses",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "getPermit2", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "getTestnetChainIds",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getUSDCAddress",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getUSDCeAddress",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getWETHAddress",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getWghoAddress",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getWmaticAddress",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getWrappedNativeToken",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "hasCctpDomain",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "hasOftEid", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "targetArtifactSelectors",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "targetArtifacts",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "targetContracts",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "targetInterfaces",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "targetSelectors",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "targetSenders",
    data: BytesLike
  ): Result;

  events: {
    "log(string)": EventFragment;
    "log_address(address)": EventFragment;
    "log_array(uint256[])": EventFragment;
    "log_array(int256[])": EventFragment;
    "log_array(address[])": EventFragment;
    "log_bytes(bytes)": EventFragment;
    "log_bytes32(bytes32)": EventFragment;
    "log_int(int256)": EventFragment;
    "log_named_address(string,address)": EventFragment;
    "log_named_array(string,uint256[])": EventFragment;
    "log_named_array(string,int256[])": EventFragment;
    "log_named_array(string,address[])": EventFragment;
    "log_named_bytes(string,bytes)": EventFragment;
    "log_named_bytes32(string,bytes32)": EventFragment;
    "log_named_decimal_int(string,int256,uint256)": EventFragment;
    "log_named_decimal_uint(string,uint256,uint256)": EventFragment;
    "log_named_int(string,int256)": EventFragment;
    "log_named_string(string,string)": EventFragment;
    "log_named_uint(string,uint256)": EventFragment;
    "log_string(string)": EventFragment;
    "log_uint(uint256)": EventFragment;
    "logs(bytes)": EventFragment;
  };

  getEvent(nameOrSignatureOrTopic: "log"): EventFragment;
  getEvent(nameOrSignatureOrTopic: "log_address"): EventFragment;
  getEvent(nameOrSignatureOrTopic: "log_array(uint256[])"): EventFragment;
  getEvent(nameOrSignatureOrTopic: "log_array(int256[])"): EventFragment;
  getEvent(nameOrSignatureOrTopic: "log_array(address[])"): EventFragment;
  getEvent(nameOrSignatureOrTopic: "log_bytes"): EventFragment;
  getEvent(nameOrSignatureOrTopic: "log_bytes32"): EventFragment;
  getEvent(nameOrSignatureOrTopic: "log_int"): EventFragment;
  getEvent(nameOrSignatureOrTopic: "log_named_address"): EventFragment;
  getEvent(
    nameOrSignatureOrTopic: "log_named_array(string,uint256[])"
  ): EventFragment;
  getEvent(
    nameOrSignatureOrTopic: "log_named_array(string,int256[])"
  ): EventFragment;
  getEvent(
    nameOrSignatureOrTopic: "log_named_array(string,address[])"
  ): EventFragment;
  getEvent(nameOrSignatureOrTopic: "log_named_bytes"): EventFragment;
  getEvent(nameOrSignatureOrTopic: "log_named_bytes32"): EventFragment;
  getEvent(nameOrSignatureOrTopic: "log_named_decimal_int"): EventFragment;
  getEvent(nameOrSignatureOrTopic: "log_named_decimal_uint"): EventFragment;
  getEvent(nameOrSignatureOrTopic: "log_named_int"): EventFragment;
  getEvent(nameOrSignatureOrTopic: "log_named_string"): EventFragment;
  getEvent(nameOrSignatureOrTopic: "log_named_uint"): EventFragment;
  getEvent(nameOrSignatureOrTopic: "log_string"): EventFragment;
  getEvent(nameOrSignatureOrTopic: "log_uint"): EventFragment;
  getEvent(nameOrSignatureOrTopic: "logs"): EventFragment;
}

export interface logEventObject {
  arg0: string;
}
export type logEvent = TypedEvent<[string], logEventObject>;

export type logEventFilter = TypedEventFilter<logEvent>;

export interface log_addressEventObject {
  arg0: string;
}
export type log_addressEvent = TypedEvent<[string], log_addressEventObject>;

export type log_addressEventFilter = TypedEventFilter<log_addressEvent>;

export interface log_array_uint256_array_EventObject {
  val: BigNumber[];
}
export type log_array_uint256_array_Event = TypedEvent<
  [BigNumber[]],
  log_array_uint256_array_EventObject
>;

export type log_array_uint256_array_EventFilter =
  TypedEventFilter<log_array_uint256_array_Event>;

export interface log_array_int256_array_EventObject {
  val: BigNumber[];
}
export type log_array_int256_array_Event = TypedEvent<
  [BigNumber[]],
  log_array_int256_array_EventObject
>;

export type log_array_int256_array_EventFilter =
  TypedEventFilter<log_array_int256_array_Event>;

export interface log_array_address_array_EventObject {
  val: string[];
}
export type log_array_address_array_Event = TypedEvent<
  [string[]],
  log_array_address_array_EventObject
>;

export type log_array_address_array_EventFilter =
  TypedEventFilter<log_array_address_array_Event>;

export interface log_bytesEventObject {
  arg0: string;
}
export type log_bytesEvent = TypedEvent<[string], log_bytesEventObject>;

export type log_bytesEventFilter = TypedEventFilter<log_bytesEvent>;

export interface log_bytes32EventObject {
  arg0: string;
}
export type log_bytes32Event = TypedEvent<[string], log_bytes32EventObject>;

export type log_bytes32EventFilter = TypedEventFilter<log_bytes32Event>;

export interface log_intEventObject {
  arg0: BigNumber;
}
export type log_intEvent = TypedEvent<[BigNumber], log_intEventObject>;

export type log_intEventFilter = TypedEventFilter<log_intEvent>;

export interface log_named_addressEventObject {
  key: string;
  val: string;
}
export type log_named_addressEvent = TypedEvent<
  [string, string],
  log_named_addressEventObject
>;

export type log_named_addressEventFilter =
  TypedEventFilter<log_named_addressEvent>;

export interface log_named_array_string_uint256_array_EventObject {
  key: string;
  val: BigNumber[];
}
export type log_named_array_string_uint256_array_Event = TypedEvent<
  [string, BigNumber[]],
  log_named_array_string_uint256_array_EventObject
>;

export type log_named_array_string_uint256_array_EventFilter =
  TypedEventFilter<log_named_array_string_uint256_array_Event>;

export interface log_named_array_string_int256_array_EventObject {
  key: string;
  val: BigNumber[];
}
export type log_named_array_string_int256_array_Event = TypedEvent<
  [string, BigNumber[]],
  log_named_array_string_int256_array_EventObject
>;

export type log_named_array_string_int256_array_EventFilter =
  TypedEventFilter<log_named_array_string_int256_array_Event>;

export interface log_named_array_string_address_array_EventObject {
  key: string;
  val: string[];
}
export type log_named_array_string_address_array_Event = TypedEvent<
  [string, string[]],
  log_named_array_string_address_array_EventObject
>;

export type log_named_array_string_address_array_EventFilter =
  TypedEventFilter<log_named_array_string_address_array_Event>;

export interface log_named_bytesEventObject {
  key: string;
  val: string;
}
export type log_named_bytesEvent = TypedEvent<
  [string, string],
  log_named_bytesEventObject
>;

export type log_named_bytesEventFilter = TypedEventFilter<log_named_bytesEvent>;

export interface log_named_bytes32EventObject {
  key: string;
  val: string;
}
export type log_named_bytes32Event = TypedEvent<
  [string, string],
  log_named_bytes32EventObject
>;

export type log_named_bytes32EventFilter =
  TypedEventFilter<log_named_bytes32Event>;

export interface log_named_decimal_intEventObject {
  key: string;
  val: BigNumber;
  decimals: BigNumber;
}
export type log_named_decimal_intEvent = TypedEvent<
  [string, BigNumber, BigNumber],
  log_named_decimal_intEventObject
>;

export type log_named_decimal_intEventFilter =
  TypedEventFilter<log_named_decimal_intEvent>;

export interface log_named_decimal_uintEventObject {
  key: string;
  val: BigNumber;
  decimals: BigNumber;
}
export type log_named_decimal_uintEvent = TypedEvent<
  [string, BigNumber, BigNumber],
  log_named_decimal_uintEventObject
>;

export type log_named_decimal_uintEventFilter =
  TypedEventFilter<log_named_decimal_uintEvent>;

export interface log_named_intEventObject {
  key: string;
  val: BigNumber;
}
export type log_named_intEvent = TypedEvent<
  [string, BigNumber],
  log_named_intEventObject
>;

export type log_named_intEventFilter = TypedEventFilter<log_named_intEvent>;

export interface log_named_stringEventObject {
  key: string;
  val: string;
}
export type log_named_stringEvent = TypedEvent<
  [string, string],
  log_named_stringEventObject
>;

export type log_named_stringEventFilter =
  TypedEventFilter<log_named_stringEvent>;

export interface log_named_uintEventObject {
  key: string;
  val: BigNumber;
}
export type log_named_uintEvent = TypedEvent<
  [string, BigNumber],
  log_named_uintEventObject
>;

export type log_named_uintEventFilter = TypedEventFilter<log_named_uintEvent>;

export interface log_stringEventObject {
  arg0: string;
}
export type log_stringEvent = TypedEvent<[string], log_stringEventObject>;

export type log_stringEventFilter = TypedEventFilter<log_stringEvent>;

export interface log_uintEventObject {
  arg0: BigNumber;
}
export type log_uintEvent = TypedEvent<[BigNumber], log_uintEventObject>;

export type log_uintEventFilter = TypedEventFilter<log_uintEvent>;

export interface logsEventObject {
  arg0: string;
}
export type logsEvent = TypedEvent<[string], logsEventObject>;

export type logsEventFilter = TypedEventFilter<logsEvent>;

export interface HubPoolTestBase extends BaseContract {
  connect(signerOrProvider: Signer | Provider | string): this;
  attach(addressOrName: string): this;
  deployed(): Promise<this>;

  interface: HubPoolTestBaseInterface;

  queryFilter<TEvent extends TypedEvent>(
    event: TypedEventFilter<TEvent>,
    fromBlockOrBlockhash?: string | number | undefined,
    toBlock?: string | number | undefined
  ): Promise<Array<TEvent>>;

  listeners<TEvent extends TypedEvent>(
    eventFilter?: TypedEventFilter<TEvent>
  ): Array<TypedListener<TEvent>>;
  listeners(eventName?: string): Array<Listener>;
  removeAllListeners<TEvent extends TypedEvent>(
    eventFilter: TypedEventFilter<TEvent>
  ): this;
  removeAllListeners(eventName?: string): this;
  off: OnEvent<this>;
  on: OnEvent<this>;
  once: OnEvent<this>;
  removeListener: OnEvent<this>;

  functions: {
    AMOUNT_TO_LP(overrides?: CallOverrides): Promise<[BigNumber]>;

    BOND_AMOUNT(overrides?: CallOverrides): Promise<[BigNumber]>;

    BURN_LIMIT(overrides?: CallOverrides): Promise<[BigNumber]>;

    DEFAULT_IDENTIFIER(overrides?: CallOverrides): Promise<[string]>;

    FILL_DEADLINE_BUFFER(overrides?: CallOverrides): Promise<[BigNumber]>;

    FINAL_FEE(overrides?: CallOverrides): Promise<[BigNumber]>;

    INITIAL_ETH(overrides?: CallOverrides): Promise<[BigNumber]>;

    IS_SCRIPT(overrides?: CallOverrides): Promise<[boolean]>;

    IS_TEST(overrides?: CallOverrides): Promise<[boolean]>;

    LP_ETH_FUNDING(overrides?: CallOverrides): Promise<[BigNumber]>;

    LP_FEES(overrides?: CallOverrides): Promise<[BigNumber]>;

    MOCK_POOL_REBALANCE_ROOT(overrides?: CallOverrides): Promise<[string]>;

    MOCK_RELAYER_REFUND_ROOT(overrides?: CallOverrides): Promise<[string]>;

    MOCK_SLOW_RELAY_ROOT(overrides?: CallOverrides): Promise<[string]>;

    MOCK_TREE_ROOT(overrides?: CallOverrides): Promise<[string]>;

    QUOTE_TIME_BUFFER(overrides?: CallOverrides): Promise<[BigNumber]>;

    REFUND_PROPOSAL_LIVENESS(overrides?: CallOverrides): Promise<[number]>;

    REPAYMENT_CHAIN_ID(overrides?: CallOverrides): Promise<[BigNumber]>;

    TOKENS_TO_SEND(overrides?: CallOverrides): Promise<[BigNumber]>;

    TOTAL_BOND(overrides?: CallOverrides): Promise<[BigNumber]>;

    USDC_LP_FEES(overrides?: CallOverrides): Promise<[BigNumber]>;

    USDC_TO_SEND(overrides?: CallOverrides): Promise<[BigNumber]>;

    USDT_LP_FEES(overrides?: CallOverrides): Promise<[BigNumber]>;

    USDT_TO_SEND(overrides?: CallOverrides): Promise<[BigNumber]>;

    excludeArtifacts(
      overrides?: CallOverrides
    ): Promise<[string[]] & { excludedArtifacts_: string[] }>;

    excludeContracts(
      overrides?: CallOverrides
    ): Promise<[string[]] & { excludedContracts_: string[] }>;

    excludeSelectors(
      overrides?: CallOverrides
    ): Promise<
      [StdInvariant.FuzzSelectorStructOutput[]] & {
        excludedSelectors_: StdInvariant.FuzzSelectorStructOutput[];
      }
    >;

    excludeSenders(
      overrides?: CallOverrides
    ): Promise<[string[]] & { excludedSenders_: string[] }>;

    failed(overrides?: CallOverrides): Promise<[boolean]>;

    file(overrides?: CallOverrides): Promise<[string]>;

    getChainFamily(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<[string]>;

    getChainId(
      chainName: string,
      overrides?: CallOverrides
    ): Promise<[BigNumber]>;

    getCircleDomainId(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<[number]>;

    getL1Addresses(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<[Constants.L1AddressesStructOutput]>;

    getL2Address(
      chainId: BigNumberish,
      addressType: string,
      overrides?: CallOverrides
    ): Promise<[string]>;

    getOftEid(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<[BigNumber]>;

    getOpStackAddresses(
      hubChainId: BigNumberish,
      spokeChainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<[Constants.OpStackAddressesStructOutput]>;

    getPermit2(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<[string]>;

    getTestnetChainIds(overrides?: CallOverrides): Promise<[BigNumber[]]>;

    getUSDCAddress(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<[string]>;

    getUSDCeAddress(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<[string]>;

    getWETHAddress(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<[string]>;

    getWghoAddress(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<[string]>;

    getWmaticAddress(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<[string]>;

    getWrappedNativeToken(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<[string]>;

    hasCctpDomain(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<[boolean]>;

    hasOftEid(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<[boolean]>;

    targetArtifactSelectors(
      overrides?: CallOverrides
    ): Promise<
      [StdInvariant.FuzzArtifactSelectorStructOutput[]] & {
        targetedArtifactSelectors_: StdInvariant.FuzzArtifactSelectorStructOutput[];
      }
    >;

    targetArtifacts(
      overrides?: CallOverrides
    ): Promise<[string[]] & { targetedArtifacts_: string[] }>;

    targetContracts(
      overrides?: CallOverrides
    ): Promise<[string[]] & { targetedContracts_: string[] }>;

    targetInterfaces(
      overrides?: CallOverrides
    ): Promise<
      [StdInvariant.FuzzInterfaceStructOutput[]] & {
        targetedInterfaces_: StdInvariant.FuzzInterfaceStructOutput[];
      }
    >;

    targetSelectors(
      overrides?: CallOverrides
    ): Promise<
      [StdInvariant.FuzzSelectorStructOutput[]] & {
        targetedSelectors_: StdInvariant.FuzzSelectorStructOutput[];
      }
    >;

    targetSenders(
      overrides?: CallOverrides
    ): Promise<[string[]] & { targetedSenders_: string[] }>;
  };

  AMOUNT_TO_LP(overrides?: CallOverrides): Promise<BigNumber>;

  BOND_AMOUNT(overrides?: CallOverrides): Promise<BigNumber>;

  BURN_LIMIT(overrides?: CallOverrides): Promise<BigNumber>;

  DEFAULT_IDENTIFIER(overrides?: CallOverrides): Promise<string>;

  FILL_DEADLINE_BUFFER(overrides?: CallOverrides): Promise<BigNumber>;

  FINAL_FEE(overrides?: CallOverrides): Promise<BigNumber>;

  INITIAL_ETH(overrides?: CallOverrides): Promise<BigNumber>;

  IS_SCRIPT(overrides?: CallOverrides): Promise<boolean>;

  IS_TEST(overrides?: CallOverrides): Promise<boolean>;

  LP_ETH_FUNDING(overrides?: CallOverrides): Promise<BigNumber>;

  LP_FEES(overrides?: CallOverrides): Promise<BigNumber>;

  MOCK_POOL_REBALANCE_ROOT(overrides?: CallOverrides): Promise<string>;

  MOCK_RELAYER_REFUND_ROOT(overrides?: CallOverrides): Promise<string>;

  MOCK_SLOW_RELAY_ROOT(overrides?: CallOverrides): Promise<string>;

  MOCK_TREE_ROOT(overrides?: CallOverrides): Promise<string>;

  QUOTE_TIME_BUFFER(overrides?: CallOverrides): Promise<BigNumber>;

  REFUND_PROPOSAL_LIVENESS(overrides?: CallOverrides): Promise<number>;

  REPAYMENT_CHAIN_ID(overrides?: CallOverrides): Promise<BigNumber>;

  TOKENS_TO_SEND(overrides?: CallOverrides): Promise<BigNumber>;

  TOTAL_BOND(overrides?: CallOverrides): Promise<BigNumber>;

  USDC_LP_FEES(overrides?: CallOverrides): Promise<BigNumber>;

  USDC_TO_SEND(overrides?: CallOverrides): Promise<BigNumber>;

  USDT_LP_FEES(overrides?: CallOverrides): Promise<BigNumber>;

  USDT_TO_SEND(overrides?: CallOverrides): Promise<BigNumber>;

  excludeArtifacts(overrides?: CallOverrides): Promise<string[]>;

  excludeContracts(overrides?: CallOverrides): Promise<string[]>;

  excludeSelectors(
    overrides?: CallOverrides
  ): Promise<StdInvariant.FuzzSelectorStructOutput[]>;

  excludeSenders(overrides?: CallOverrides): Promise<string[]>;

  failed(overrides?: CallOverrides): Promise<boolean>;

  file(overrides?: CallOverrides): Promise<string>;

  getChainFamily(
    chainId: BigNumberish,
    overrides?: CallOverrides
  ): Promise<string>;

  getChainId(chainName: string, overrides?: CallOverrides): Promise<BigNumber>;

  getCircleDomainId(
    chainId: BigNumberish,
    overrides?: CallOverrides
  ): Promise<number>;

  getL1Addresses(
    chainId: BigNumberish,
    overrides?: CallOverrides
  ): Promise<Constants.L1AddressesStructOutput>;

  getL2Address(
    chainId: BigNumberish,
    addressType: string,
    overrides?: CallOverrides
  ): Promise<string>;

  getOftEid(
    chainId: BigNumberish,
    overrides?: CallOverrides
  ): Promise<BigNumber>;

  getOpStackAddresses(
    hubChainId: BigNumberish,
    spokeChainId: BigNumberish,
    overrides?: CallOverrides
  ): Promise<Constants.OpStackAddressesStructOutput>;

  getPermit2(chainId: BigNumberish, overrides?: CallOverrides): Promise<string>;

  getTestnetChainIds(overrides?: CallOverrides): Promise<BigNumber[]>;

  getUSDCAddress(
    chainId: BigNumberish,
    overrides?: CallOverrides
  ): Promise<string>;

  getUSDCeAddress(
    chainId: BigNumberish,
    overrides?: CallOverrides
  ): Promise<string>;

  getWETHAddress(
    chainId: BigNumberish,
    overrides?: CallOverrides
  ): Promise<string>;

  getWghoAddress(
    chainId: BigNumberish,
    overrides?: CallOverrides
  ): Promise<string>;

  getWmaticAddress(
    chainId: BigNumberish,
    overrides?: CallOverrides
  ): Promise<string>;

  getWrappedNativeToken(
    chainId: BigNumberish,
    overrides?: CallOverrides
  ): Promise<string>;

  hasCctpDomain(
    chainId: BigNumberish,
    overrides?: CallOverrides
  ): Promise<boolean>;

  hasOftEid(chainId: BigNumberish, overrides?: CallOverrides): Promise<boolean>;

  targetArtifactSelectors(
    overrides?: CallOverrides
  ): Promise<StdInvariant.FuzzArtifactSelectorStructOutput[]>;

  targetArtifacts(overrides?: CallOverrides): Promise<string[]>;

  targetContracts(overrides?: CallOverrides): Promise<string[]>;

  targetInterfaces(
    overrides?: CallOverrides
  ): Promise<StdInvariant.FuzzInterfaceStructOutput[]>;

  targetSelectors(
    overrides?: CallOverrides
  ): Promise<StdInvariant.FuzzSelectorStructOutput[]>;

  targetSenders(overrides?: CallOverrides): Promise<string[]>;

  callStatic: {
    AMOUNT_TO_LP(overrides?: CallOverrides): Promise<BigNumber>;

    BOND_AMOUNT(overrides?: CallOverrides): Promise<BigNumber>;

    BURN_LIMIT(overrides?: CallOverrides): Promise<BigNumber>;

    DEFAULT_IDENTIFIER(overrides?: CallOverrides): Promise<string>;

    FILL_DEADLINE_BUFFER(overrides?: CallOverrides): Promise<BigNumber>;

    FINAL_FEE(overrides?: CallOverrides): Promise<BigNumber>;

    INITIAL_ETH(overrides?: CallOverrides): Promise<BigNumber>;

    IS_SCRIPT(overrides?: CallOverrides): Promise<boolean>;

    IS_TEST(overrides?: CallOverrides): Promise<boolean>;

    LP_ETH_FUNDING(overrides?: CallOverrides): Promise<BigNumber>;

    LP_FEES(overrides?: CallOverrides): Promise<BigNumber>;

    MOCK_POOL_REBALANCE_ROOT(overrides?: CallOverrides): Promise<string>;

    MOCK_RELAYER_REFUND_ROOT(overrides?: CallOverrides): Promise<string>;

    MOCK_SLOW_RELAY_ROOT(overrides?: CallOverrides): Promise<string>;

    MOCK_TREE_ROOT(overrides?: CallOverrides): Promise<string>;

    QUOTE_TIME_BUFFER(overrides?: CallOverrides): Promise<BigNumber>;

    REFUND_PROPOSAL_LIVENESS(overrides?: CallOverrides): Promise<number>;

    REPAYMENT_CHAIN_ID(overrides?: CallOverrides): Promise<BigNumber>;

    TOKENS_TO_SEND(overrides?: CallOverrides): Promise<BigNumber>;

    TOTAL_BOND(overrides?: CallOverrides): Promise<BigNumber>;

    USDC_LP_FEES(overrides?: CallOverrides): Promise<BigNumber>;

    USDC_TO_SEND(overrides?: CallOverrides): Promise<BigNumber>;

    USDT_LP_FEES(overrides?: CallOverrides): Promise<BigNumber>;

    USDT_TO_SEND(overrides?: CallOverrides): Promise<BigNumber>;

    excludeArtifacts(overrides?: CallOverrides): Promise<string[]>;

    excludeContracts(overrides?: CallOverrides): Promise<string[]>;

    excludeSelectors(
      overrides?: CallOverrides
    ): Promise<StdInvariant.FuzzSelectorStructOutput[]>;

    excludeSenders(overrides?: CallOverrides): Promise<string[]>;

    failed(overrides?: CallOverrides): Promise<boolean>;

    file(overrides?: CallOverrides): Promise<string>;

    getChainFamily(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<string>;

    getChainId(
      chainName: string,
      overrides?: CallOverrides
    ): Promise<BigNumber>;

    getCircleDomainId(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<number>;

    getL1Addresses(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<Constants.L1AddressesStructOutput>;

    getL2Address(
      chainId: BigNumberish,
      addressType: string,
      overrides?: CallOverrides
    ): Promise<string>;

    getOftEid(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<BigNumber>;

    getOpStackAddresses(
      hubChainId: BigNumberish,
      spokeChainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<Constants.OpStackAddressesStructOutput>;

    getPermit2(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<string>;

    getTestnetChainIds(overrides?: CallOverrides): Promise<BigNumber[]>;

    getUSDCAddress(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<string>;

    getUSDCeAddress(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<string>;

    getWETHAddress(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<string>;

    getWghoAddress(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<string>;

    getWmaticAddress(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<string>;

    getWrappedNativeToken(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<string>;

    hasCctpDomain(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<boolean>;

    hasOftEid(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<boolean>;

    targetArtifactSelectors(
      overrides?: CallOverrides
    ): Promise<StdInvariant.FuzzArtifactSelectorStructOutput[]>;

    targetArtifacts(overrides?: CallOverrides): Promise<string[]>;

    targetContracts(overrides?: CallOverrides): Promise<string[]>;

    targetInterfaces(
      overrides?: CallOverrides
    ): Promise<StdInvariant.FuzzInterfaceStructOutput[]>;

    targetSelectors(
      overrides?: CallOverrides
    ): Promise<StdInvariant.FuzzSelectorStructOutput[]>;

    targetSenders(overrides?: CallOverrides): Promise<string[]>;
  };

  filters: {
    "log(string)"(arg0?: null): logEventFilter;
    log(arg0?: null): logEventFilter;

    "log_address(address)"(arg0?: null): log_addressEventFilter;
    log_address(arg0?: null): log_addressEventFilter;

    "log_array(uint256[])"(val?: null): log_array_uint256_array_EventFilter;
    "log_array(int256[])"(val?: null): log_array_int256_array_EventFilter;
    "log_array(address[])"(val?: null): log_array_address_array_EventFilter;

    "log_bytes(bytes)"(arg0?: null): log_bytesEventFilter;
    log_bytes(arg0?: null): log_bytesEventFilter;

    "log_bytes32(bytes32)"(arg0?: null): log_bytes32EventFilter;
    log_bytes32(arg0?: null): log_bytes32EventFilter;

    "log_int(int256)"(arg0?: null): log_intEventFilter;
    log_int(arg0?: null): log_intEventFilter;

    "log_named_address(string,address)"(
      key?: null,
      val?: null
    ): log_named_addressEventFilter;
    log_named_address(key?: null, val?: null): log_named_addressEventFilter;

    "log_named_array(string,uint256[])"(
      key?: null,
      val?: null
    ): log_named_array_string_uint256_array_EventFilter;
    "log_named_array(string,int256[])"(
      key?: null,
      val?: null
    ): log_named_array_string_int256_array_EventFilter;
    "log_named_array(string,address[])"(
      key?: null,
      val?: null
    ): log_named_array_string_address_array_EventFilter;

    "log_named_bytes(string,bytes)"(
      key?: null,
      val?: null
    ): log_named_bytesEventFilter;
    log_named_bytes(key?: null, val?: null): log_named_bytesEventFilter;

    "log_named_bytes32(string,bytes32)"(
      key?: null,
      val?: null
    ): log_named_bytes32EventFilter;
    log_named_bytes32(key?: null, val?: null): log_named_bytes32EventFilter;

    "log_named_decimal_int(string,int256,uint256)"(
      key?: null,
      val?: null,
      decimals?: null
    ): log_named_decimal_intEventFilter;
    log_named_decimal_int(
      key?: null,
      val?: null,
      decimals?: null
    ): log_named_decimal_intEventFilter;

    "log_named_decimal_uint(string,uint256,uint256)"(
      key?: null,
      val?: null,
      decimals?: null
    ): log_named_decimal_uintEventFilter;
    log_named_decimal_uint(
      key?: null,
      val?: null,
      decimals?: null
    ): log_named_decimal_uintEventFilter;

    "log_named_int(string,int256)"(
      key?: null,
      val?: null
    ): log_named_intEventFilter;
    log_named_int(key?: null, val?: null): log_named_intEventFilter;

    "log_named_string(string,string)"(
      key?: null,
      val?: null
    ): log_named_stringEventFilter;
    log_named_string(key?: null, val?: null): log_named_stringEventFilter;

    "log_named_uint(string,uint256)"(
      key?: null,
      val?: null
    ): log_named_uintEventFilter;
    log_named_uint(key?: null, val?: null): log_named_uintEventFilter;

    "log_string(string)"(arg0?: null): log_stringEventFilter;
    log_string(arg0?: null): log_stringEventFilter;

    "log_uint(uint256)"(arg0?: null): log_uintEventFilter;
    log_uint(arg0?: null): log_uintEventFilter;

    "logs(bytes)"(arg0?: null): logsEventFilter;
    logs(arg0?: null): logsEventFilter;
  };

  estimateGas: {
    AMOUNT_TO_LP(overrides?: CallOverrides): Promise<BigNumber>;

    BOND_AMOUNT(overrides?: CallOverrides): Promise<BigNumber>;

    BURN_LIMIT(overrides?: CallOverrides): Promise<BigNumber>;

    DEFAULT_IDENTIFIER(overrides?: CallOverrides): Promise<BigNumber>;

    FILL_DEADLINE_BUFFER(overrides?: CallOverrides): Promise<BigNumber>;

    FINAL_FEE(overrides?: CallOverrides): Promise<BigNumber>;

    INITIAL_ETH(overrides?: CallOverrides): Promise<BigNumber>;

    IS_SCRIPT(overrides?: CallOverrides): Promise<BigNumber>;

    IS_TEST(overrides?: CallOverrides): Promise<BigNumber>;

    LP_ETH_FUNDING(overrides?: CallOverrides): Promise<BigNumber>;

    LP_FEES(overrides?: CallOverrides): Promise<BigNumber>;

    MOCK_POOL_REBALANCE_ROOT(overrides?: CallOverrides): Promise<BigNumber>;

    MOCK_RELAYER_REFUND_ROOT(overrides?: CallOverrides): Promise<BigNumber>;

    MOCK_SLOW_RELAY_ROOT(overrides?: CallOverrides): Promise<BigNumber>;

    MOCK_TREE_ROOT(overrides?: CallOverrides): Promise<BigNumber>;

    QUOTE_TIME_BUFFER(overrides?: CallOverrides): Promise<BigNumber>;

    REFUND_PROPOSAL_LIVENESS(overrides?: CallOverrides): Promise<BigNumber>;

    REPAYMENT_CHAIN_ID(overrides?: CallOverrides): Promise<BigNumber>;

    TOKENS_TO_SEND(overrides?: CallOverrides): Promise<BigNumber>;

    TOTAL_BOND(overrides?: CallOverrides): Promise<BigNumber>;

    USDC_LP_FEES(overrides?: CallOverrides): Promise<BigNumber>;

    USDC_TO_SEND(overrides?: CallOverrides): Promise<BigNumber>;

    USDT_LP_FEES(overrides?: CallOverrides): Promise<BigNumber>;

    USDT_TO_SEND(overrides?: CallOverrides): Promise<BigNumber>;

    excludeArtifacts(overrides?: CallOverrides): Promise<BigNumber>;

    excludeContracts(overrides?: CallOverrides): Promise<BigNumber>;

    excludeSelectors(overrides?: CallOverrides): Promise<BigNumber>;

    excludeSenders(overrides?: CallOverrides): Promise<BigNumber>;

    failed(overrides?: CallOverrides): Promise<BigNumber>;

    file(overrides?: CallOverrides): Promise<BigNumber>;

    getChainFamily(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<BigNumber>;

    getChainId(
      chainName: string,
      overrides?: CallOverrides
    ): Promise<BigNumber>;

    getCircleDomainId(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<BigNumber>;

    getL1Addresses(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<BigNumber>;

    getL2Address(
      chainId: BigNumberish,
      addressType: string,
      overrides?: CallOverrides
    ): Promise<BigNumber>;

    getOftEid(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<BigNumber>;

    getOpStackAddresses(
      hubChainId: BigNumberish,
      spokeChainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<BigNumber>;

    getPermit2(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<BigNumber>;

    getTestnetChainIds(overrides?: CallOverrides): Promise<BigNumber>;

    getUSDCAddress(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<BigNumber>;

    getUSDCeAddress(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<BigNumber>;

    getWETHAddress(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<BigNumber>;

    getWghoAddress(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<BigNumber>;

    getWmaticAddress(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<BigNumber>;

    getWrappedNativeToken(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<BigNumber>;

    hasCctpDomain(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<BigNumber>;

    hasOftEid(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<BigNumber>;

    targetArtifactSelectors(overrides?: CallOverrides): Promise<BigNumber>;

    targetArtifacts(overrides?: CallOverrides): Promise<BigNumber>;

    targetContracts(overrides?: CallOverrides): Promise<BigNumber>;

    targetInterfaces(overrides?: CallOverrides): Promise<BigNumber>;

    targetSelectors(overrides?: CallOverrides): Promise<BigNumber>;

    targetSenders(overrides?: CallOverrides): Promise<BigNumber>;
  };

  populateTransaction: {
    AMOUNT_TO_LP(overrides?: CallOverrides): Promise<PopulatedTransaction>;

    BOND_AMOUNT(overrides?: CallOverrides): Promise<PopulatedTransaction>;

    BURN_LIMIT(overrides?: CallOverrides): Promise<PopulatedTransaction>;

    DEFAULT_IDENTIFIER(
      overrides?: CallOverrides
    ): Promise<PopulatedTransaction>;

    FILL_DEADLINE_BUFFER(
      overrides?: CallOverrides
    ): Promise<PopulatedTransaction>;

    FINAL_FEE(overrides?: CallOverrides): Promise<PopulatedTransaction>;

    INITIAL_ETH(overrides?: CallOverrides): Promise<PopulatedTransaction>;

    IS_SCRIPT(overrides?: CallOverrides): Promise<PopulatedTransaction>;

    IS_TEST(overrides?: CallOverrides): Promise<PopulatedTransaction>;

    LP_ETH_FUNDING(overrides?: CallOverrides): Promise<PopulatedTransaction>;

    LP_FEES(overrides?: CallOverrides): Promise<PopulatedTransaction>;

    MOCK_POOL_REBALANCE_ROOT(
      overrides?: CallOverrides
    ): Promise<PopulatedTransaction>;

    MOCK_RELAYER_REFUND_ROOT(
      overrides?: CallOverrides
    ): Promise<PopulatedTransaction>;

    MOCK_SLOW_RELAY_ROOT(
      overrides?: CallOverrides
    ): Promise<PopulatedTransaction>;

    MOCK_TREE_ROOT(overrides?: CallOverrides): Promise<PopulatedTransaction>;

    QUOTE_TIME_BUFFER(overrides?: CallOverrides): Promise<PopulatedTransaction>;

    REFUND_PROPOSAL_LIVENESS(
      overrides?: CallOverrides
    ): Promise<PopulatedTransaction>;

    REPAYMENT_CHAIN_ID(
      overrides?: CallOverrides
    ): Promise<PopulatedTransaction>;

    TOKENS_TO_SEND(overrides?: CallOverrides): Promise<PopulatedTransaction>;

    TOTAL_BOND(overrides?: CallOverrides): Promise<PopulatedTransaction>;

    USDC_LP_FEES(overrides?: CallOverrides): Promise<PopulatedTransaction>;

    USDC_TO_SEND(overrides?: CallOverrides): Promise<PopulatedTransaction>;

    USDT_LP_FEES(overrides?: CallOverrides): Promise<PopulatedTransaction>;

    USDT_TO_SEND(overrides?: CallOverrides): Promise<PopulatedTransaction>;

    excludeArtifacts(overrides?: CallOverrides): Promise<PopulatedTransaction>;

    excludeContracts(overrides?: CallOverrides): Promise<PopulatedTransaction>;

    excludeSelectors(overrides?: CallOverrides): Promise<PopulatedTransaction>;

    excludeSenders(overrides?: CallOverrides): Promise<PopulatedTransaction>;

    failed(overrides?: CallOverrides): Promise<PopulatedTransaction>;

    file(overrides?: CallOverrides): Promise<PopulatedTransaction>;

    getChainFamily(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<PopulatedTransaction>;

    getChainId(
      chainName: string,
      overrides?: CallOverrides
    ): Promise<PopulatedTransaction>;

    getCircleDomainId(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<PopulatedTransaction>;

    getL1Addresses(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<PopulatedTransaction>;

    getL2Address(
      chainId: BigNumberish,
      addressType: string,
      overrides?: CallOverrides
    ): Promise<PopulatedTransaction>;

    getOftEid(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<PopulatedTransaction>;

    getOpStackAddresses(
      hubChainId: BigNumberish,
      spokeChainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<PopulatedTransaction>;

    getPermit2(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<PopulatedTransaction>;

    getTestnetChainIds(
      overrides?: CallOverrides
    ): Promise<PopulatedTransaction>;

    getUSDCAddress(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<PopulatedTransaction>;

    getUSDCeAddress(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<PopulatedTransaction>;

    getWETHAddress(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<PopulatedTransaction>;

    getWghoAddress(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<PopulatedTransaction>;

    getWmaticAddress(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<PopulatedTransaction>;

    getWrappedNativeToken(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<PopulatedTransaction>;

    hasCctpDomain(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<PopulatedTransaction>;

    hasOftEid(
      chainId: BigNumberish,
      overrides?: CallOverrides
    ): Promise<PopulatedTransaction>;

    targetArtifactSelectors(
      overrides?: CallOverrides
    ): Promise<PopulatedTransaction>;

    targetArtifacts(overrides?: CallOverrides): Promise<PopulatedTransaction>;

    targetContracts(overrides?: CallOverrides): Promise<PopulatedTransaction>;

    targetInterfaces(overrides?: CallOverrides): Promise<PopulatedTransaction>;

    targetSelectors(overrides?: CallOverrides): Promise<PopulatedTransaction>;

    targetSenders(overrides?: CallOverrides): Promise<PopulatedTransaction>;
  };
}
