import { BaseContract, BigNumber, BytesLike, CallOverrides, PopulatedTransaction, Signer, utils } from "ethers"; import { FunctionFragment, Result } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface IUniswapV3PoolImmutablesInterface extends utils.Interface { contractName: "IUniswapV3PoolImmutables"; functions: { "factory()": FunctionFragment; "token0()": FunctionFragment; "token1()": FunctionFragment; "fee()": FunctionFragment; "tickSpacing()": FunctionFragment; "maxLiquidityPerTick()": FunctionFragment; }; encodeFunctionData(functionFragment: "factory", values?: undefined): string; encodeFunctionData(functionFragment: "token0", values?: undefined): string; encodeFunctionData(functionFragment: "token1", values?: undefined): string; encodeFunctionData(functionFragment: "fee", values?: undefined): string; encodeFunctionData(functionFragment: "tickSpacing", values?: undefined): string; encodeFunctionData(functionFragment: "maxLiquidityPerTick", values?: undefined): string; decodeFunctionResult(functionFragment: "factory", data: BytesLike): Result; decodeFunctionResult(functionFragment: "token0", data: BytesLike): Result; decodeFunctionResult(functionFragment: "token1", data: BytesLike): Result; decodeFunctionResult(functionFragment: "fee", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tickSpacing", data: BytesLike): Result; decodeFunctionResult(functionFragment: "maxLiquidityPerTick", data: BytesLike): Result; events: {}; } export interface IUniswapV3PoolImmutables extends BaseContract { contractName: "IUniswapV3PoolImmutables"; connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: IUniswapV3PoolImmutablesInterface; 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: { /** * The contract that deployed the pool, which must adhere to the IUniswapV3Factory interface */ factory(overrides?: CallOverrides): Promise<[string]>; /** * The first of the two tokens of the pool, sorted by address */ token0(overrides?: CallOverrides): Promise<[string]>; /** * The second of the two tokens of the pool, sorted by address */ token1(overrides?: CallOverrides): Promise<[string]>; /** * The pool's fee in hundredths of a bip, i.e. 1e-6 */ fee(overrides?: CallOverrides): Promise<[number]>; /** * Ticks can only be used at multiples of this value, minimum of 1 and always positive e.g.: a tickSpacing of 3 means ticks can be initialized every 3rd tick, i.e., ..., -6, -3, 0, 3, 6, ... This value is an int24 to avoid casting even though it is always positive. * The pool tick spacing */ tickSpacing(overrides?: CallOverrides): Promise<[number]>; /** * This parameter is enforced per tick to prevent liquidity from overflowing a uint128 at any point, and also prevents out-of-range liquidity from being used to prevent adding in-range liquidity to a pool * The maximum amount of position liquidity that can use any tick in the range */ maxLiquidityPerTick(overrides?: CallOverrides): Promise<[BigNumber]>; }; /** * The contract that deployed the pool, which must adhere to the IUniswapV3Factory interface */ factory(overrides?: CallOverrides): Promise; /** * The first of the two tokens of the pool, sorted by address */ token0(overrides?: CallOverrides): Promise; /** * The second of the two tokens of the pool, sorted by address */ token1(overrides?: CallOverrides): Promise; /** * The pool's fee in hundredths of a bip, i.e. 1e-6 */ fee(overrides?: CallOverrides): Promise; /** * Ticks can only be used at multiples of this value, minimum of 1 and always positive e.g.: a tickSpacing of 3 means ticks can be initialized every 3rd tick, i.e., ..., -6, -3, 0, 3, 6, ... This value is an int24 to avoid casting even though it is always positive. * The pool tick spacing */ tickSpacing(overrides?: CallOverrides): Promise; /** * This parameter is enforced per tick to prevent liquidity from overflowing a uint128 at any point, and also prevents out-of-range liquidity from being used to prevent adding in-range liquidity to a pool * The maximum amount of position liquidity that can use any tick in the range */ maxLiquidityPerTick(overrides?: CallOverrides): Promise; callStatic: { /** * The contract that deployed the pool, which must adhere to the IUniswapV3Factory interface */ factory(overrides?: CallOverrides): Promise; /** * The first of the two tokens of the pool, sorted by address */ token0(overrides?: CallOverrides): Promise; /** * The second of the two tokens of the pool, sorted by address */ token1(overrides?: CallOverrides): Promise; /** * The pool's fee in hundredths of a bip, i.e. 1e-6 */ fee(overrides?: CallOverrides): Promise; /** * Ticks can only be used at multiples of this value, minimum of 1 and always positive e.g.: a tickSpacing of 3 means ticks can be initialized every 3rd tick, i.e., ..., -6, -3, 0, 3, 6, ... This value is an int24 to avoid casting even though it is always positive. * The pool tick spacing */ tickSpacing(overrides?: CallOverrides): Promise; /** * This parameter is enforced per tick to prevent liquidity from overflowing a uint128 at any point, and also prevents out-of-range liquidity from being used to prevent adding in-range liquidity to a pool * The maximum amount of position liquidity that can use any tick in the range */ maxLiquidityPerTick(overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { /** * The contract that deployed the pool, which must adhere to the IUniswapV3Factory interface */ factory(overrides?: CallOverrides): Promise; /** * The first of the two tokens of the pool, sorted by address */ token0(overrides?: CallOverrides): Promise; /** * The second of the two tokens of the pool, sorted by address */ token1(overrides?: CallOverrides): Promise; /** * The pool's fee in hundredths of a bip, i.e. 1e-6 */ fee(overrides?: CallOverrides): Promise; /** * Ticks can only be used at multiples of this value, minimum of 1 and always positive e.g.: a tickSpacing of 3 means ticks can be initialized every 3rd tick, i.e., ..., -6, -3, 0, 3, 6, ... This value is an int24 to avoid casting even though it is always positive. * The pool tick spacing */ tickSpacing(overrides?: CallOverrides): Promise; /** * This parameter is enforced per tick to prevent liquidity from overflowing a uint128 at any point, and also prevents out-of-range liquidity from being used to prevent adding in-range liquidity to a pool * The maximum amount of position liquidity that can use any tick in the range */ maxLiquidityPerTick(overrides?: CallOverrides): Promise; }; populateTransaction: { /** * The contract that deployed the pool, which must adhere to the IUniswapV3Factory interface */ factory(overrides?: CallOverrides): Promise; /** * The first of the two tokens of the pool, sorted by address */ token0(overrides?: CallOverrides): Promise; /** * The second of the two tokens of the pool, sorted by address */ token1(overrides?: CallOverrides): Promise; /** * The pool's fee in hundredths of a bip, i.e. 1e-6 */ fee(overrides?: CallOverrides): Promise; /** * Ticks can only be used at multiples of this value, minimum of 1 and always positive e.g.: a tickSpacing of 3 means ticks can be initialized every 3rd tick, i.e., ..., -6, -3, 0, 3, 6, ... This value is an int24 to avoid casting even though it is always positive. * The pool tick spacing */ tickSpacing(overrides?: CallOverrides): Promise; /** * This parameter is enforced per tick to prevent liquidity from overflowing a uint128 at any point, and also prevents out-of-range liquidity from being used to prevent adding in-range liquidity to a pool * The maximum amount of position liquidity that can use any tick in the range */ maxLiquidityPerTick(overrides?: CallOverrides): Promise; }; }