///
import type BN from "bn.js";
import type { ContractOptions } from "web3-eth-contract";
import type { EventLog } from "web3-core";
import type { EventEmitter } from "events";
import type { Callback, NonPayableTransactionObject, BlockType, ContractEventLog, BaseContract } from "./types";
export interface EventOptions {
filter?: object;
fromBlock?: BlockType;
topics?: string[];
}
export type Burn = ContractEventLog<{
owner: string;
tickLower: string;
tickUpper: string;
amount: string;
amount0: string;
amount1: string;
0: string;
1: string;
2: string;
3: string;
4: string;
5: string;
}>;
export type Collect = ContractEventLog<{
owner: string;
recipient: string;
tickLower: string;
tickUpper: string;
amount0: string;
amount1: string;
0: string;
1: string;
2: string;
3: string;
4: string;
5: string;
}>;
export type CollectProtocol = ContractEventLog<{
sender: string;
recipient: string;
amount0: string;
amount1: string;
0: string;
1: string;
2: string;
3: string;
}>;
export type Flash = ContractEventLog<{
sender: string;
recipient: string;
amount0: string;
amount1: string;
paid0: string;
paid1: string;
0: string;
1: string;
2: string;
3: string;
4: string;
5: string;
}>;
export type IncreaseObservationCardinalityNext = ContractEventLog<{
observationCardinalityNextOld: string;
observationCardinalityNextNew: string;
0: string;
1: string;
}>;
export type Initialize = ContractEventLog<{
sqrtPriceX96: string;
tick: string;
0: string;
1: string;
}>;
export type Mint = ContractEventLog<{
sender: string;
owner: string;
tickLower: string;
tickUpper: string;
amount: string;
amount0: string;
amount1: string;
0: string;
1: string;
2: string;
3: string;
4: string;
5: string;
6: string;
}>;
export type SetFeeProtocol = ContractEventLog<{
feeProtocol0Old: string;
feeProtocol1Old: string;
feeProtocol0New: string;
feeProtocol1New: string;
0: string;
1: string;
2: string;
3: string;
}>;
export type Swap = ContractEventLog<{
sender: string;
recipient: string;
amount0: string;
amount1: string;
sqrtPriceX96: string;
liquidity: string;
tick: string;
0: string;
1: string;
2: string;
3: string;
4: string;
5: string;
6: string;
}>;
export interface IUniswapV3Pool extends BaseContract {
constructor(jsonInterface: any[], address?: string, options?: ContractOptions): IUniswapV3Pool;
clone(): IUniswapV3Pool;
methods: {
burn(tickLower: number | string | BN, tickUpper: number | string | BN, amount: number | string | BN): NonPayableTransactionObject<{
amount0: string;
amount1: string;
0: string;
1: string;
}>;
collect(recipient: string, tickLower: number | string | BN, tickUpper: number | string | BN, amount0Requested: number | string | BN, amount1Requested: number | string | BN): NonPayableTransactionObject<{
amount0: string;
amount1: string;
0: string;
1: string;
}>;
collectProtocol(recipient: string, amount0Requested: number | string | BN, amount1Requested: number | string | BN): NonPayableTransactionObject<{
amount0: string;
amount1: string;
0: string;
1: string;
}>;
factory(): NonPayableTransactionObject;
fee(): NonPayableTransactionObject;
feeGrowthGlobal0X128(): NonPayableTransactionObject;
feeGrowthGlobal1X128(): NonPayableTransactionObject;
flash(recipient: string, amount0: number | string | BN, amount1: number | string | BN, data: string | number[]): NonPayableTransactionObject;
increaseObservationCardinalityNext(observationCardinalityNext: number | string | BN): NonPayableTransactionObject;
initialize(sqrtPriceX96: number | string | BN): NonPayableTransactionObject;
liquidity(): NonPayableTransactionObject;
maxLiquidityPerTick(): NonPayableTransactionObject;
mint(recipient: string, tickLower: number | string | BN, tickUpper: number | string | BN, amount: number | string | BN, data: string | number[]): NonPayableTransactionObject<{
amount0: string;
amount1: string;
0: string;
1: string;
}>;
observations(index: number | string | BN): NonPayableTransactionObject<{
blockTimestamp: string;
tickCumulative: string;
secondsPerLiquidityCumulativeX128: string;
initialized: boolean;
0: string;
1: string;
2: string;
3: boolean;
}>;
observe(secondsAgos: (number | string | BN)[]): NonPayableTransactionObject<{
tickCumulatives: string[];
secondsPerLiquidityCumulativeX128s: string[];
0: string[];
1: string[];
}>;
positions(key: string | number[]): NonPayableTransactionObject<{
liquidity: string;
feeGrowthInside0LastX128: string;
feeGrowthInside1LastX128: string;
tokensOwed0: string;
tokensOwed1: string;
0: string;
1: string;
2: string;
3: string;
4: string;
}>;
protocolFees(): NonPayableTransactionObject<{
token0: string;
token1: string;
0: string;
1: string;
}>;
setFeeProtocol(feeProtocol0: number | string | BN, feeProtocol1: number | string | BN): NonPayableTransactionObject;
slot0(): NonPayableTransactionObject<{
sqrtPriceX96: string;
tick: string;
observationIndex: string;
observationCardinality: string;
observationCardinalityNext: string;
feeProtocol: string;
unlocked: boolean;
0: string;
1: string;
2: string;
3: string;
4: string;
5: string;
6: boolean;
}>;
snapshotCumulativesInside(tickLower: number | string | BN, tickUpper: number | string | BN): NonPayableTransactionObject<{
tickCumulativeInside: string;
secondsPerLiquidityInsideX128: string;
secondsInside: string;
0: string;
1: string;
2: string;
}>;
swap(recipient: string, zeroForOne: boolean, amountSpecified: number | string | BN, sqrtPriceLimitX96: number | string | BN, data: string | number[]): NonPayableTransactionObject<{
amount0: string;
amount1: string;
0: string;
1: string;
}>;
tickBitmap(wordPosition: number | string | BN): NonPayableTransactionObject;
tickSpacing(): NonPayableTransactionObject;
ticks(tick: number | string | BN): NonPayableTransactionObject<{
liquidityGross: string;
liquidityNet: string;
feeGrowthOutside0X128: string;
feeGrowthOutside1X128: string;
tickCumulativeOutside: string;
secondsPerLiquidityOutsideX128: string;
secondsOutside: string;
initialized: boolean;
0: string;
1: string;
2: string;
3: string;
4: string;
5: string;
6: string;
7: boolean;
}>;
token0(): NonPayableTransactionObject;
token1(): NonPayableTransactionObject;
};
events: {
Burn(cb?: Callback): EventEmitter;
Burn(options?: EventOptions, cb?: Callback): EventEmitter;
Collect(cb?: Callback): EventEmitter;
Collect(options?: EventOptions, cb?: Callback): EventEmitter;
CollectProtocol(cb?: Callback): EventEmitter;
CollectProtocol(options?: EventOptions, cb?: Callback): EventEmitter;
Flash(cb?: Callback): EventEmitter;
Flash(options?: EventOptions, cb?: Callback): EventEmitter;
IncreaseObservationCardinalityNext(cb?: Callback): EventEmitter;
IncreaseObservationCardinalityNext(options?: EventOptions, cb?: Callback): EventEmitter;
Initialize(cb?: Callback): EventEmitter;
Initialize(options?: EventOptions, cb?: Callback): EventEmitter;
Mint(cb?: Callback): EventEmitter;
Mint(options?: EventOptions, cb?: Callback): EventEmitter;
SetFeeProtocol(cb?: Callback): EventEmitter;
SetFeeProtocol(options?: EventOptions, cb?: Callback): EventEmitter;
Swap(cb?: Callback): EventEmitter;
Swap(options?: EventOptions, cb?: Callback): EventEmitter;
allEvents(options?: EventOptions, cb?: Callback): EventEmitter;
};
once(event: "Burn", cb: Callback): void;
once(event: "Burn", options: EventOptions, cb: Callback): void;
once(event: "Collect", cb: Callback): void;
once(event: "Collect", options: EventOptions, cb: Callback): void;
once(event: "CollectProtocol", cb: Callback): void;
once(event: "CollectProtocol", options: EventOptions, cb: Callback): void;
once(event: "Flash", cb: Callback): void;
once(event: "Flash", options: EventOptions, cb: Callback): void;
once(event: "IncreaseObservationCardinalityNext", cb: Callback): void;
once(event: "IncreaseObservationCardinalityNext", options: EventOptions, cb: Callback): void;
once(event: "Initialize", cb: Callback): void;
once(event: "Initialize", options: EventOptions, cb: Callback): void;
once(event: "Mint", cb: Callback): void;
once(event: "Mint", options: EventOptions, cb: Callback): void;
once(event: "SetFeeProtocol", cb: Callback): void;
once(event: "SetFeeProtocol", options: EventOptions, cb: Callback): void;
once(event: "Swap", cb: Callback): void;
once(event: "Swap", options: EventOptions, cb: Callback): void;
}