import { BaseContract, BigNumber, BigNumberish, 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 IUniswapV3PoolStateInterface extends utils.Interface { contractName: "IUniswapV3PoolState"; functions: { "slot0()": FunctionFragment; "feeGrowthGlobal0X128()": FunctionFragment; "feeGrowthGlobal1X128()": FunctionFragment; "protocolFees()": FunctionFragment; "liquidity()": FunctionFragment; "ticks(int24)": FunctionFragment; "tickBitmap(int16)": FunctionFragment; "positions(bytes32)": FunctionFragment; "observations(uint256)": FunctionFragment; }; encodeFunctionData(functionFragment: "slot0", values?: undefined): string; encodeFunctionData(functionFragment: "feeGrowthGlobal0X128", values?: undefined): string; encodeFunctionData(functionFragment: "feeGrowthGlobal1X128", values?: undefined): string; encodeFunctionData(functionFragment: "protocolFees", values?: undefined): string; encodeFunctionData(functionFragment: "liquidity", values?: undefined): string; encodeFunctionData(functionFragment: "ticks", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "tickBitmap", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "positions", values: [BytesLike]): string; encodeFunctionData(functionFragment: "observations", values: [BigNumberish]): string; decodeFunctionResult(functionFragment: "slot0", data: BytesLike): Result; decodeFunctionResult(functionFragment: "feeGrowthGlobal0X128", data: BytesLike): Result; decodeFunctionResult(functionFragment: "feeGrowthGlobal1X128", data: BytesLike): Result; decodeFunctionResult(functionFragment: "protocolFees", data: BytesLike): Result; decodeFunctionResult(functionFragment: "liquidity", data: BytesLike): Result; decodeFunctionResult(functionFragment: "ticks", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tickBitmap", data: BytesLike): Result; decodeFunctionResult(functionFragment: "positions", data: BytesLike): Result; decodeFunctionResult(functionFragment: "observations", data: BytesLike): Result; events: {}; } export interface IUniswapV3PoolState extends BaseContract { contractName: "IUniswapV3PoolState"; connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: IUniswapV3PoolStateInterface; 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 0th storage slot in the pool stores many values, and is exposed as a single method to save gas when accessed externally. */ slot0(overrides?: CallOverrides): Promise<[ BigNumber, number, number, number, number, number, boolean ] & { sqrtPriceX96: BigNumber; tick: number; observationIndex: number; observationCardinality: number; observationCardinalityNext: number; feeProtocol: number; unlocked: boolean; }>; /** * This value can overflow the uint256 * The fee growth as a Q128.128 fees of token0 collected per unit of liquidity for the entire life of the pool */ feeGrowthGlobal0X128(overrides?: CallOverrides): Promise<[BigNumber]>; /** * This value can overflow the uint256 * The fee growth as a Q128.128 fees of token1 collected per unit of liquidity for the entire life of the pool */ feeGrowthGlobal1X128(overrides?: CallOverrides): Promise<[BigNumber]>; /** * Protocol fees will never exceed uint128 max in either token * The amounts of token0 and token1 that are owed to the protocol */ protocolFees(overrides?: CallOverrides): Promise<[ BigNumber, BigNumber ] & { token0: BigNumber; token1: BigNumber; }>; /** * This value has no relationship to the total liquidity across all ticks * The currently in range liquidity available to the pool */ liquidity(overrides?: CallOverrides): Promise<[BigNumber]>; /** * Look up information about a specific tick in the pool * @param tick The tick to look up */ ticks(tick: BigNumberish, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, number, boolean ] & { liquidityGross: BigNumber; liquidityNet: BigNumber; feeGrowthOutside0X128: BigNumber; feeGrowthOutside1X128: BigNumber; tickCumulativeOutside: BigNumber; secondsPerLiquidityOutsideX128: BigNumber; secondsOutside: number; initialized: boolean; }>; /** * Returns 256 packed tick initialized boolean values. See TickBitmap for more information */ tickBitmap(wordPosition: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; /** * Returns the information about a position by the position's key * @param key The position's key is a hash of a preimage composed by the owner, tickLower and tickUpper */ positions(key: BytesLike, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber ] & { _liquidity: BigNumber; feeGrowthInside0LastX128: BigNumber; feeGrowthInside1LastX128: BigNumber; tokensOwed0: BigNumber; tokensOwed1: BigNumber; }>; /** * You most likely want to use #observe() instead of this method to get an observation as of some amount of time ago, rather than at a specific index in the array. * Returns data about a specific observation index * @param index The element of the observations array to fetch */ observations(index: BigNumberish, overrides?: CallOverrides): Promise<[ number, BigNumber, BigNumber, boolean ] & { blockTimestamp: number; tickCumulative: BigNumber; secondsPerLiquidityCumulativeX128: BigNumber; initialized: boolean; }>; }; /** * The 0th storage slot in the pool stores many values, and is exposed as a single method to save gas when accessed externally. */ slot0(overrides?: CallOverrides): Promise<[ BigNumber, number, number, number, number, number, boolean ] & { sqrtPriceX96: BigNumber; tick: number; observationIndex: number; observationCardinality: number; observationCardinalityNext: number; feeProtocol: number; unlocked: boolean; }>; /** * This value can overflow the uint256 * The fee growth as a Q128.128 fees of token0 collected per unit of liquidity for the entire life of the pool */ feeGrowthGlobal0X128(overrides?: CallOverrides): Promise; /** * This value can overflow the uint256 * The fee growth as a Q128.128 fees of token1 collected per unit of liquidity for the entire life of the pool */ feeGrowthGlobal1X128(overrides?: CallOverrides): Promise; /** * Protocol fees will never exceed uint128 max in either token * The amounts of token0 and token1 that are owed to the protocol */ protocolFees(overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & { token0: BigNumber; token1: BigNumber; }>; /** * This value has no relationship to the total liquidity across all ticks * The currently in range liquidity available to the pool */ liquidity(overrides?: CallOverrides): Promise; /** * Look up information about a specific tick in the pool * @param tick The tick to look up */ ticks(tick: BigNumberish, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, number, boolean ] & { liquidityGross: BigNumber; liquidityNet: BigNumber; feeGrowthOutside0X128: BigNumber; feeGrowthOutside1X128: BigNumber; tickCumulativeOutside: BigNumber; secondsPerLiquidityOutsideX128: BigNumber; secondsOutside: number; initialized: boolean; }>; /** * Returns 256 packed tick initialized boolean values. See TickBitmap for more information */ tickBitmap(wordPosition: BigNumberish, overrides?: CallOverrides): Promise; /** * Returns the information about a position by the position's key * @param key The position's key is a hash of a preimage composed by the owner, tickLower and tickUpper */ positions(key: BytesLike, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber ] & { _liquidity: BigNumber; feeGrowthInside0LastX128: BigNumber; feeGrowthInside1LastX128: BigNumber; tokensOwed0: BigNumber; tokensOwed1: BigNumber; }>; /** * You most likely want to use #observe() instead of this method to get an observation as of some amount of time ago, rather than at a specific index in the array. * Returns data about a specific observation index * @param index The element of the observations array to fetch */ observations(index: BigNumberish, overrides?: CallOverrides): Promise<[ number, BigNumber, BigNumber, boolean ] & { blockTimestamp: number; tickCumulative: BigNumber; secondsPerLiquidityCumulativeX128: BigNumber; initialized: boolean; }>; callStatic: { /** * The 0th storage slot in the pool stores many values, and is exposed as a single method to save gas when accessed externally. */ slot0(overrides?: CallOverrides): Promise<[ BigNumber, number, number, number, number, number, boolean ] & { sqrtPriceX96: BigNumber; tick: number; observationIndex: number; observationCardinality: number; observationCardinalityNext: number; feeProtocol: number; unlocked: boolean; }>; /** * This value can overflow the uint256 * The fee growth as a Q128.128 fees of token0 collected per unit of liquidity for the entire life of the pool */ feeGrowthGlobal0X128(overrides?: CallOverrides): Promise; /** * This value can overflow the uint256 * The fee growth as a Q128.128 fees of token1 collected per unit of liquidity for the entire life of the pool */ feeGrowthGlobal1X128(overrides?: CallOverrides): Promise; /** * Protocol fees will never exceed uint128 max in either token * The amounts of token0 and token1 that are owed to the protocol */ protocolFees(overrides?: CallOverrides): Promise<[ BigNumber, BigNumber ] & { token0: BigNumber; token1: BigNumber; }>; /** * This value has no relationship to the total liquidity across all ticks * The currently in range liquidity available to the pool */ liquidity(overrides?: CallOverrides): Promise; /** * Look up information about a specific tick in the pool * @param tick The tick to look up */ ticks(tick: BigNumberish, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, number, boolean ] & { liquidityGross: BigNumber; liquidityNet: BigNumber; feeGrowthOutside0X128: BigNumber; feeGrowthOutside1X128: BigNumber; tickCumulativeOutside: BigNumber; secondsPerLiquidityOutsideX128: BigNumber; secondsOutside: number; initialized: boolean; }>; /** * Returns 256 packed tick initialized boolean values. See TickBitmap for more information */ tickBitmap(wordPosition: BigNumberish, overrides?: CallOverrides): Promise; /** * Returns the information about a position by the position's key * @param key The position's key is a hash of a preimage composed by the owner, tickLower and tickUpper */ positions(key: BytesLike, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber ] & { _liquidity: BigNumber; feeGrowthInside0LastX128: BigNumber; feeGrowthInside1LastX128: BigNumber; tokensOwed0: BigNumber; tokensOwed1: BigNumber; }>; /** * You most likely want to use #observe() instead of this method to get an observation as of some amount of time ago, rather than at a specific index in the array. * Returns data about a specific observation index * @param index The element of the observations array to fetch */ observations(index: BigNumberish, overrides?: CallOverrides): Promise<[ number, BigNumber, BigNumber, boolean ] & { blockTimestamp: number; tickCumulative: BigNumber; secondsPerLiquidityCumulativeX128: BigNumber; initialized: boolean; }>; }; filters: {}; estimateGas: { /** * The 0th storage slot in the pool stores many values, and is exposed as a single method to save gas when accessed externally. */ slot0(overrides?: CallOverrides): Promise; /** * This value can overflow the uint256 * The fee growth as a Q128.128 fees of token0 collected per unit of liquidity for the entire life of the pool */ feeGrowthGlobal0X128(overrides?: CallOverrides): Promise; /** * This value can overflow the uint256 * The fee growth as a Q128.128 fees of token1 collected per unit of liquidity for the entire life of the pool */ feeGrowthGlobal1X128(overrides?: CallOverrides): Promise; /** * Protocol fees will never exceed uint128 max in either token * The amounts of token0 and token1 that are owed to the protocol */ protocolFees(overrides?: CallOverrides): Promise; /** * This value has no relationship to the total liquidity across all ticks * The currently in range liquidity available to the pool */ liquidity(overrides?: CallOverrides): Promise; /** * Look up information about a specific tick in the pool * @param tick The tick to look up */ ticks(tick: BigNumberish, overrides?: CallOverrides): Promise; /** * Returns 256 packed tick initialized boolean values. See TickBitmap for more information */ tickBitmap(wordPosition: BigNumberish, overrides?: CallOverrides): Promise; /** * Returns the information about a position by the position's key * @param key The position's key is a hash of a preimage composed by the owner, tickLower and tickUpper */ positions(key: BytesLike, overrides?: CallOverrides): Promise; /** * You most likely want to use #observe() instead of this method to get an observation as of some amount of time ago, rather than at a specific index in the array. * Returns data about a specific observation index * @param index The element of the observations array to fetch */ observations(index: BigNumberish, overrides?: CallOverrides): Promise; }; populateTransaction: { /** * The 0th storage slot in the pool stores many values, and is exposed as a single method to save gas when accessed externally. */ slot0(overrides?: CallOverrides): Promise; /** * This value can overflow the uint256 * The fee growth as a Q128.128 fees of token0 collected per unit of liquidity for the entire life of the pool */ feeGrowthGlobal0X128(overrides?: CallOverrides): Promise; /** * This value can overflow the uint256 * The fee growth as a Q128.128 fees of token1 collected per unit of liquidity for the entire life of the pool */ feeGrowthGlobal1X128(overrides?: CallOverrides): Promise; /** * Protocol fees will never exceed uint128 max in either token * The amounts of token0 and token1 that are owed to the protocol */ protocolFees(overrides?: CallOverrides): Promise; /** * This value has no relationship to the total liquidity across all ticks * The currently in range liquidity available to the pool */ liquidity(overrides?: CallOverrides): Promise; /** * Look up information about a specific tick in the pool * @param tick The tick to look up */ ticks(tick: BigNumberish, overrides?: CallOverrides): Promise; /** * Returns 256 packed tick initialized boolean values. See TickBitmap for more information */ tickBitmap(wordPosition: BigNumberish, overrides?: CallOverrides): Promise; /** * Returns the information about a position by the position's key * @param key The position's key is a hash of a preimage composed by the owner, tickLower and tickUpper */ positions(key: BytesLike, overrides?: CallOverrides): Promise; /** * You most likely want to use #observe() instead of this method to get an observation as of some amount of time ago, rather than at a specific index in the array. * Returns data about a specific observation index * @param index The element of the observations array to fetch */ observations(index: BigNumberish, overrides?: CallOverrides): Promise; }; }