import { Address } from 'abitype'; import { PublicClient } from 'viem'; import { Token } from './constants/type'; export declare class KuramaV3Factory { static ABI: readonly [{ readonly type: "constructor"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "_poolDeployer"; readonly internalType: "address"; }]; }, { readonly type: "event"; readonly name: "FeeAmountEnabled"; readonly inputs: readonly [{ readonly type: "uint24"; readonly name: "fee"; readonly internalType: "uint24"; readonly indexed: true; }, { readonly type: "int24"; readonly name: "tickSpacing"; readonly internalType: "int24"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "FeeAmountExtraInfoUpdated"; readonly inputs: readonly [{ readonly type: "uint24"; readonly name: "fee"; readonly internalType: "uint24"; readonly indexed: true; }, { readonly type: "bool"; readonly name: "whitelistRequested"; readonly internalType: "bool"; readonly indexed: false; }, { readonly type: "bool"; readonly name: "enabled"; readonly internalType: "bool"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnerChanged"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "oldOwner"; readonly internalType: "address"; readonly indexed: true; }, { readonly type: "address"; readonly name: "newOwner"; readonly internalType: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "PoolCreated"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token0"; readonly internalType: "address"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token1"; readonly internalType: "address"; readonly indexed: true; }, { readonly type: "uint24"; readonly name: "fee"; readonly internalType: "uint24"; readonly indexed: true; }, { readonly type: "int24"; readonly name: "tickSpacing"; readonly internalType: "int24"; readonly indexed: false; }, { readonly type: "address"; readonly name: "pool"; readonly internalType: "address"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "SetLmPoolDeployer"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "lmPoolDeployer"; readonly internalType: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "WhiteListAdded"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "user"; readonly internalType: "address"; readonly indexed: true; }, { readonly type: "bool"; readonly name: "verified"; readonly internalType: "bool"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "amount0"; readonly internalType: "uint128"; }, { readonly type: "uint128"; readonly name: "amount1"; readonly internalType: "uint128"; }]; readonly name: "collectProtocol"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "pool"; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "recipient"; readonly internalType: "address"; }, { readonly type: "uint128"; readonly name: "amount0Requested"; readonly internalType: "uint128"; }, { readonly type: "uint128"; readonly name: "amount1Requested"; readonly internalType: "uint128"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "address"; readonly name: "pool"; readonly internalType: "address"; }]; readonly name: "createPool"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tokenA"; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "tokenB"; readonly internalType: "address"; }, { readonly type: "uint24"; readonly name: "fee"; readonly internalType: "uint24"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "enableFeeAmount"; readonly inputs: readonly [{ readonly type: "uint24"; readonly name: "fee"; readonly internalType: "uint24"; }, { readonly type: "int24"; readonly name: "tickSpacing"; readonly internalType: "int24"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "int24"; readonly name: ""; readonly internalType: "int24"; }]; readonly name: "feeAmountTickSpacing"; readonly inputs: readonly [{ readonly type: "uint24"; readonly name: ""; readonly internalType: "uint24"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "bool"; readonly name: "whitelistRequested"; readonly internalType: "bool"; }, { readonly type: "bool"; readonly name: "enabled"; readonly internalType: "bool"; }]; readonly name: "feeAmountTickSpacingExtraInfo"; readonly inputs: readonly [{ readonly type: "uint24"; readonly name: ""; readonly internalType: "uint24"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }]; readonly name: "getPool"; readonly inputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }, { readonly type: "address"; readonly name: ""; readonly internalType: "address"; }, { readonly type: "uint24"; readonly name: ""; readonly internalType: "uint24"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }]; readonly name: "lmPoolDeployer"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }]; readonly name: "owner"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }]; readonly name: "poolDeployer"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "setFeeAmountExtraInfo"; readonly inputs: readonly [{ readonly type: "uint24"; readonly name: "fee"; readonly internalType: "uint24"; }, { readonly type: "bool"; readonly name: "whitelistRequested"; readonly internalType: "bool"; }, { readonly type: "bool"; readonly name: "enabled"; readonly internalType: "bool"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "setFeeProtocol"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "pool"; readonly internalType: "address"; }, { readonly type: "uint32"; readonly name: "feeProtocol0"; readonly internalType: "uint32"; }, { readonly type: "uint32"; readonly name: "feeProtocol1"; readonly internalType: "uint32"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "setLmPool"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "pool"; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "lmPool"; readonly internalType: "address"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "setLmPoolDeployer"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "_lmPoolDeployer"; readonly internalType: "address"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "setOwner"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "_owner"; readonly internalType: "address"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "setWhiteListAddress"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "user"; readonly internalType: "address"; }, { readonly type: "bool"; readonly name: "verified"; readonly internalType: "bool"; }]; }]; readonly publicClient: PublicClient; readonly contractAddress: Address; constructor(publicClient: PublicClient, contractAddress: Address); private buildContractClinet; getPoolAddress(addressA: Address, addressB: Address, fee: number): Promise<`0x${string}`>; static createPoolCallParameters(tokenA: Token, tokenB: Token, fee: number): { abi: readonly [{ readonly type: "constructor"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "_poolDeployer"; readonly internalType: "address"; }]; }, { readonly type: "event"; readonly name: "FeeAmountEnabled"; readonly inputs: readonly [{ readonly type: "uint24"; readonly name: "fee"; readonly internalType: "uint24"; readonly indexed: true; }, { readonly type: "int24"; readonly name: "tickSpacing"; readonly internalType: "int24"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "FeeAmountExtraInfoUpdated"; readonly inputs: readonly [{ readonly type: "uint24"; readonly name: "fee"; readonly internalType: "uint24"; readonly indexed: true; }, { readonly type: "bool"; readonly name: "whitelistRequested"; readonly internalType: "bool"; readonly indexed: false; }, { readonly type: "bool"; readonly name: "enabled"; readonly internalType: "bool"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnerChanged"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "oldOwner"; readonly internalType: "address"; readonly indexed: true; }, { readonly type: "address"; readonly name: "newOwner"; readonly internalType: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "PoolCreated"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token0"; readonly internalType: "address"; readonly indexed: true; }, { readonly type: "address"; readonly name: "token1"; readonly internalType: "address"; readonly indexed: true; }, { readonly type: "uint24"; readonly name: "fee"; readonly internalType: "uint24"; readonly indexed: true; }, { readonly type: "int24"; readonly name: "tickSpacing"; readonly internalType: "int24"; readonly indexed: false; }, { readonly type: "address"; readonly name: "pool"; readonly internalType: "address"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "SetLmPoolDeployer"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "lmPoolDeployer"; readonly internalType: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "WhiteListAdded"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "user"; readonly internalType: "address"; readonly indexed: true; }, { readonly type: "bool"; readonly name: "verified"; readonly internalType: "bool"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "amount0"; readonly internalType: "uint128"; }, { readonly type: "uint128"; readonly name: "amount1"; readonly internalType: "uint128"; }]; readonly name: "collectProtocol"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "pool"; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "recipient"; readonly internalType: "address"; }, { readonly type: "uint128"; readonly name: "amount0Requested"; readonly internalType: "uint128"; }, { readonly type: "uint128"; readonly name: "amount1Requested"; readonly internalType: "uint128"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "address"; readonly name: "pool"; readonly internalType: "address"; }]; readonly name: "createPool"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "tokenA"; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "tokenB"; readonly internalType: "address"; }, { readonly type: "uint24"; readonly name: "fee"; readonly internalType: "uint24"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "enableFeeAmount"; readonly inputs: readonly [{ readonly type: "uint24"; readonly name: "fee"; readonly internalType: "uint24"; }, { readonly type: "int24"; readonly name: "tickSpacing"; readonly internalType: "int24"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "int24"; readonly name: ""; readonly internalType: "int24"; }]; readonly name: "feeAmountTickSpacing"; readonly inputs: readonly [{ readonly type: "uint24"; readonly name: ""; readonly internalType: "uint24"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "bool"; readonly name: "whitelistRequested"; readonly internalType: "bool"; }, { readonly type: "bool"; readonly name: "enabled"; readonly internalType: "bool"; }]; readonly name: "feeAmountTickSpacingExtraInfo"; readonly inputs: readonly [{ readonly type: "uint24"; readonly name: ""; readonly internalType: "uint24"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }]; readonly name: "getPool"; readonly inputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }, { readonly type: "address"; readonly name: ""; readonly internalType: "address"; }, { readonly type: "uint24"; readonly name: ""; readonly internalType: "uint24"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }]; readonly name: "lmPoolDeployer"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }]; readonly name: "owner"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }]; readonly name: "poolDeployer"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "setFeeAmountExtraInfo"; readonly inputs: readonly [{ readonly type: "uint24"; readonly name: "fee"; readonly internalType: "uint24"; }, { readonly type: "bool"; readonly name: "whitelistRequested"; readonly internalType: "bool"; }, { readonly type: "bool"; readonly name: "enabled"; readonly internalType: "bool"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "setFeeProtocol"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "pool"; readonly internalType: "address"; }, { readonly type: "uint32"; readonly name: "feeProtocol0"; readonly internalType: "uint32"; }, { readonly type: "uint32"; readonly name: "feeProtocol1"; readonly internalType: "uint32"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "setLmPool"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "pool"; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "lmPool"; readonly internalType: "address"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "setLmPoolDeployer"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "_lmPoolDeployer"; readonly internalType: "address"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "setOwner"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "_owner"; readonly internalType: "address"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "setWhiteListAddress"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "user"; readonly internalType: "address"; }, { readonly type: "bool"; readonly name: "verified"; readonly internalType: "bool"; }]; }]; functionName: string; args: any[]; }; }