import { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers"; import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface IUniswapV3FactoryInterface extends utils.Interface { contractName: "IUniswapV3Factory"; functions: { "owner()": FunctionFragment; "feeAmountTickSpacing(uint24)": FunctionFragment; "getPool(address,address,uint24)": FunctionFragment; "createPool(address,address,uint24)": FunctionFragment; "setOwner(address)": FunctionFragment; "enableFeeAmount(uint24,int24)": FunctionFragment; }; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "feeAmountTickSpacing", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getPool", values: [string, string, BigNumberish]): string; encodeFunctionData(functionFragment: "createPool", values: [string, string, BigNumberish]): string; encodeFunctionData(functionFragment: "setOwner", values: [string]): string; encodeFunctionData(functionFragment: "enableFeeAmount", values: [BigNumberish, BigNumberish]): string; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "feeAmountTickSpacing", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "createPool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "enableFeeAmount", data: BytesLike): Result; events: { "FeeAmountEnabled(uint24,int24)": EventFragment; "OwnerChanged(address,address)": EventFragment; "PoolCreated(address,address,uint24,int24,address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "FeeAmountEnabled"): EventFragment; getEvent(nameOrSignatureOrTopic: "OwnerChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "PoolCreated"): EventFragment; } export declare type FeeAmountEnabledEvent = TypedEvent<[ number, number ], { fee: number; tickSpacing: number; }>; export declare type FeeAmountEnabledEventFilter = TypedEventFilter; export declare type OwnerChangedEvent = TypedEvent<[ string, string ], { oldOwner: string; newOwner: string; }>; export declare type OwnerChangedEventFilter = TypedEventFilter; export declare type PoolCreatedEvent = TypedEvent<[ string, string, number, number, string ], { token0: string; token1: string; fee: number; tickSpacing: number; pool: string; }>; export declare type PoolCreatedEventFilter = TypedEventFilter; export interface IUniswapV3Factory extends BaseContract { contractName: "IUniswapV3Factory"; connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: IUniswapV3FactoryInterface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { /** * Can be changed by the current owner via setOwner * Returns the current owner of the factory */ owner(overrides?: CallOverrides): Promise<[string]>; /** * A fee amount can never be removed, so this value should be hard coded or cached in the calling context * Returns the tick spacing for a given fee amount, if enabled, or 0 if not enabled * @param fee The enabled fee, denominated in hundredths of a bip. Returns 0 in case of unenabled fee */ feeAmountTickSpacing(fee: BigNumberish, overrides?: CallOverrides): Promise<[number]>; /** * tokenA and tokenB may be passed in either token0/token1 or token1/token0 order * Returns the pool address for a given pair of tokens and a fee, or address 0 if it does not exist * @param fee The fee collected upon every swap in the pool, denominated in hundredths of a bip * @param tokenA The contract address of either token0 or token1 * @param tokenB The contract address of the other token */ getPool(tokenA: string, tokenB: string, fee: BigNumberish, overrides?: CallOverrides): Promise<[string] & { pool: string; }>; /** * tokenA and tokenB may be passed in either order: token0/token1 or token1/token0. tickSpacing is retrieved from the fee. The call will revert if the pool already exists, the fee is invalid, or the token arguments are invalid. * Creates a pool for the given two tokens and fee * @param fee The desired fee for the pool * @param tokenA One of the two tokens in the desired pool * @param tokenB The other of the two tokens in the desired pool */ createPool(tokenA: string, tokenB: string, fee: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; /** * Must be called by the current owner * Updates the owner of the factory * @param _owner The new owner of the factory */ setOwner(_owner: string, overrides?: Overrides & { from?: string | Promise; }): Promise; /** * Fee amounts may never be removed once enabled * Enables a fee amount with the given tickSpacing * @param fee The fee amount to enable, denominated in hundredths of a bip (i.e. 1e-6) * @param tickSpacing The spacing between ticks to be enforced for all pools created with the given fee amount */ enableFeeAmount(fee: BigNumberish, tickSpacing: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; }; /** * Can be changed by the current owner via setOwner * Returns the current owner of the factory */ owner(overrides?: CallOverrides): Promise; /** * A fee amount can never be removed, so this value should be hard coded or cached in the calling context * Returns the tick spacing for a given fee amount, if enabled, or 0 if not enabled * @param fee The enabled fee, denominated in hundredths of a bip. Returns 0 in case of unenabled fee */ feeAmountTickSpacing(fee: BigNumberish, overrides?: CallOverrides): Promise; /** * tokenA and tokenB may be passed in either token0/token1 or token1/token0 order * Returns the pool address for a given pair of tokens and a fee, or address 0 if it does not exist * @param fee The fee collected upon every swap in the pool, denominated in hundredths of a bip * @param tokenA The contract address of either token0 or token1 * @param tokenB The contract address of the other token */ getPool(tokenA: string, tokenB: string, fee: BigNumberish, overrides?: CallOverrides): Promise; /** * tokenA and tokenB may be passed in either order: token0/token1 or token1/token0. tickSpacing is retrieved from the fee. The call will revert if the pool already exists, the fee is invalid, or the token arguments are invalid. * Creates a pool for the given two tokens and fee * @param fee The desired fee for the pool * @param tokenA One of the two tokens in the desired pool * @param tokenB The other of the two tokens in the desired pool */ createPool(tokenA: string, tokenB: string, fee: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; /** * Must be called by the current owner * Updates the owner of the factory * @param _owner The new owner of the factory */ setOwner(_owner: string, overrides?: Overrides & { from?: string | Promise; }): Promise; /** * Fee amounts may never be removed once enabled * Enables a fee amount with the given tickSpacing * @param fee The fee amount to enable, denominated in hundredths of a bip (i.e. 1e-6) * @param tickSpacing The spacing between ticks to be enforced for all pools created with the given fee amount */ enableFeeAmount(fee: BigNumberish, tickSpacing: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; callStatic: { /** * Can be changed by the current owner via setOwner * Returns the current owner of the factory */ owner(overrides?: CallOverrides): Promise; /** * A fee amount can never be removed, so this value should be hard coded or cached in the calling context * Returns the tick spacing for a given fee amount, if enabled, or 0 if not enabled * @param fee The enabled fee, denominated in hundredths of a bip. Returns 0 in case of unenabled fee */ feeAmountTickSpacing(fee: BigNumberish, overrides?: CallOverrides): Promise; /** * tokenA and tokenB may be passed in either token0/token1 or token1/token0 order * Returns the pool address for a given pair of tokens and a fee, or address 0 if it does not exist * @param fee The fee collected upon every swap in the pool, denominated in hundredths of a bip * @param tokenA The contract address of either token0 or token1 * @param tokenB The contract address of the other token */ getPool(tokenA: string, tokenB: string, fee: BigNumberish, overrides?: CallOverrides): Promise; /** * tokenA and tokenB may be passed in either order: token0/token1 or token1/token0. tickSpacing is retrieved from the fee. The call will revert if the pool already exists, the fee is invalid, or the token arguments are invalid. * Creates a pool for the given two tokens and fee * @param fee The desired fee for the pool * @param tokenA One of the two tokens in the desired pool * @param tokenB The other of the two tokens in the desired pool */ createPool(tokenA: string, tokenB: string, fee: BigNumberish, overrides?: CallOverrides): Promise; /** * Must be called by the current owner * Updates the owner of the factory * @param _owner The new owner of the factory */ setOwner(_owner: string, overrides?: CallOverrides): Promise; /** * Fee amounts may never be removed once enabled * Enables a fee amount with the given tickSpacing * @param fee The fee amount to enable, denominated in hundredths of a bip (i.e. 1e-6) * @param tickSpacing The spacing between ticks to be enforced for all pools created with the given fee amount */ enableFeeAmount(fee: BigNumberish, tickSpacing: BigNumberish, overrides?: CallOverrides): Promise; }; filters: { "FeeAmountEnabled(uint24,int24)"(fee?: BigNumberish | null, tickSpacing?: BigNumberish | null): FeeAmountEnabledEventFilter; FeeAmountEnabled(fee?: BigNumberish | null, tickSpacing?: BigNumberish | null): FeeAmountEnabledEventFilter; "OwnerChanged(address,address)"(oldOwner?: string | null, newOwner?: string | null): OwnerChangedEventFilter; OwnerChanged(oldOwner?: string | null, newOwner?: string | null): OwnerChangedEventFilter; "PoolCreated(address,address,uint24,int24,address)"(token0?: string | null, token1?: string | null, fee?: BigNumberish | null, tickSpacing?: null, pool?: null): PoolCreatedEventFilter; PoolCreated(token0?: string | null, token1?: string | null, fee?: BigNumberish | null, tickSpacing?: null, pool?: null): PoolCreatedEventFilter; }; estimateGas: { /** * Can be changed by the current owner via setOwner * Returns the current owner of the factory */ owner(overrides?: CallOverrides): Promise; /** * A fee amount can never be removed, so this value should be hard coded or cached in the calling context * Returns the tick spacing for a given fee amount, if enabled, or 0 if not enabled * @param fee The enabled fee, denominated in hundredths of a bip. Returns 0 in case of unenabled fee */ feeAmountTickSpacing(fee: BigNumberish, overrides?: CallOverrides): Promise; /** * tokenA and tokenB may be passed in either token0/token1 or token1/token0 order * Returns the pool address for a given pair of tokens and a fee, or address 0 if it does not exist * @param fee The fee collected upon every swap in the pool, denominated in hundredths of a bip * @param tokenA The contract address of either token0 or token1 * @param tokenB The contract address of the other token */ getPool(tokenA: string, tokenB: string, fee: BigNumberish, overrides?: CallOverrides): Promise; /** * tokenA and tokenB may be passed in either order: token0/token1 or token1/token0. tickSpacing is retrieved from the fee. The call will revert if the pool already exists, the fee is invalid, or the token arguments are invalid. * Creates a pool for the given two tokens and fee * @param fee The desired fee for the pool * @param tokenA One of the two tokens in the desired pool * @param tokenB The other of the two tokens in the desired pool */ createPool(tokenA: string, tokenB: string, fee: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; /** * Must be called by the current owner * Updates the owner of the factory * @param _owner The new owner of the factory */ setOwner(_owner: string, overrides?: Overrides & { from?: string | Promise; }): Promise; /** * Fee amounts may never be removed once enabled * Enables a fee amount with the given tickSpacing * @param fee The fee amount to enable, denominated in hundredths of a bip (i.e. 1e-6) * @param tickSpacing The spacing between ticks to be enforced for all pools created with the given fee amount */ enableFeeAmount(fee: BigNumberish, tickSpacing: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; }; populateTransaction: { /** * Can be changed by the current owner via setOwner * Returns the current owner of the factory */ owner(overrides?: CallOverrides): Promise; /** * A fee amount can never be removed, so this value should be hard coded or cached in the calling context * Returns the tick spacing for a given fee amount, if enabled, or 0 if not enabled * @param fee The enabled fee, denominated in hundredths of a bip. Returns 0 in case of unenabled fee */ feeAmountTickSpacing(fee: BigNumberish, overrides?: CallOverrides): Promise; /** * tokenA and tokenB may be passed in either token0/token1 or token1/token0 order * Returns the pool address for a given pair of tokens and a fee, or address 0 if it does not exist * @param fee The fee collected upon every swap in the pool, denominated in hundredths of a bip * @param tokenA The contract address of either token0 or token1 * @param tokenB The contract address of the other token */ getPool(tokenA: string, tokenB: string, fee: BigNumberish, overrides?: CallOverrides): Promise; /** * tokenA and tokenB may be passed in either order: token0/token1 or token1/token0. tickSpacing is retrieved from the fee. The call will revert if the pool already exists, the fee is invalid, or the token arguments are invalid. * Creates a pool for the given two tokens and fee * @param fee The desired fee for the pool * @param tokenA One of the two tokens in the desired pool * @param tokenB The other of the two tokens in the desired pool */ createPool(tokenA: string, tokenB: string, fee: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; /** * Must be called by the current owner * Updates the owner of the factory * @param _owner The new owner of the factory */ setOwner(_owner: string, overrides?: Overrides & { from?: string | Promise; }): Promise; /** * Fee amounts may never be removed once enabled * Enables a fee amount with the given tickSpacing * @param fee The fee amount to enable, denominated in hundredths of a bip (i.e. 1e-6) * @param tickSpacing The spacing between ticks to be enforced for all pools created with the given fee amount */ enableFeeAmount(fee: BigNumberish, tickSpacing: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; }; }