import { Address, Hex, PublicClient } from 'viem'; import { Address as Address$1 } from 'abitype'; declare const NEGATIVE_ONE: bigint; declare const Q96: bigint; declare const Q192: bigint; declare const MAX_FEE: bigint; declare const Q128: bigint; type BigintIsh = bigint | number | string; declare const MAX_UINT128: bigint; declare enum TradeType { EXACT_INPUT = 0, EXACT_OUTPUT = 1 } declare enum Rounding { ROUND_DOWN = 0, ROUND_HALF_UP = 1, ROUND_UP = 2 } declare const MINIMUM_LIQUIDITY = 1000n; declare const ZERO = 0n; declare const ONE = 1n; declare const TWO = 2n; declare const THREE = 3n; declare const FIVE = 5n; declare const TEN = 10n; declare const _100 = 100n; declare const _9975 = 9975n; declare const _10000 = 10000n; declare const MaxUint256: bigint; declare enum VMType { uint8 = "uint8", uint256 = "uint256" } declare const VM_TYPE_MAXIMA: { uint8: bigint; uint256: bigint; }; type Token = { name: string; id: Address; wrapId: Address; symbol: string; decimals: number; logoURI: string; isNative: boolean; } & Record; type Position = { tokenId: BigintIsh; token0: Address; token1: Address; fee: BigintIsh; tickLower: number; tickUpper: number; liquidity: BigintIsh; tokensOwed0: BigintIsh; tokensOwed1: BigintIsh; }; type CommonAddLiquidityOptions = { amount0Desired: bigint; amount1Desired: bigint; amount0Min: bigint; amount1Min: bigint; deadline: bigint; }; type IncreaseSpecificOptions = { /** * Indicates the ID of the position to increase liquidity for. */ tokenId: bigint; } & CommonAddLiquidityOptions; type MintOptions = { token0: Address; token1: Address; fee: number; tickLower: number; tickUpper: number; /** * The account that should receive the minted NFT. */ recipient: Address; } & CommonAddLiquidityOptions; type CreatePoolOptions = { token0: Address; token1: Address; fee: number; sqrtPriceX96: bigint; }; type RemoveSpecificOptions = { liquidity: bigint; tokenId: bigint; amount0Min: bigint; amount1Min: bigint; deadline: bigint; }; type AddCallOptions = { /** * eth 数量 如没eth token 则不传 */ warpNativeAmount?: bigint; /** * 添加流动性 */ addLiquidity?: IncreaseSpecificOptions; /** * 收割仓位手续费(仅 在添加流动性情况有效) */ collect?: CollectOptions; /** * 开仓 */ mint?: MintOptions; /** * 创建池子 */ createPool?: CreatePoolOptions; }; type RemoveCallOptions = { /** * 移除流动性 */ removeLiquidity: RemoveSpecificOptions; /** * 收割仓位手续费 */ collect?: CollectOptions; /** * 销毁token, 若为true 必须传入全部流动性移除 收割奖励 并且unStake 为 false */ useBurn: boolean; }; type FarmRemoveCallOptions = { /** * 解除质押, 若为true 必须传入全部流动性移除 */ unStake: boolean; /** * 接收 收割Farming奖励 或者 解除质押的地址 */ recipient?: Address; } & RemoveCallOptions; type FarmAddCallOptions = { /** * eth 数量 如没eth token 则不传 */ warpNativeAmount?: bigint; /** * 添加流动性 */ addLiquidity: IncreaseSpecificOptions; /** * 接收Farming奖励地址 */ recipient?: Address; /** * 收割仓位手续费 */ collect?: CollectOptions; }; type CollectOptions = { tokenId: bigint; recipient: Address; amount0Max: bigint; amount1Max: bigint; token0: Address; token1: Address; useNative?: Address; }; type StakeOptions = { sender: Address; recipient: Address; tokenId: bigint; }; type HarvestOptions = { tokenId: bigint; to: Address; }; type WidthDrawOptions = { tokenId: bigint; to: Address; }; /** * Generated method parameters for executing a call. */ interface MethodParameters { /** * The hex encoded calldata to perform the given operation */ calldata: Hex; /** * The amount of ether (wei) to send in hex. */ value: Hex; } declare enum EventType { IncreaseLiquidity = "Mint", DecreaseLiquidity = "Burn", Swap = "Swap", MasterChefV3_AddPool = "MasterChefV3_AddPool" } type EventInfo = { address: string; blockNumber: bigint; transactionHash: string; blockHash: string; removed: boolean; eventName: EventType; timestamp: bigint; args: SwapEvent | DecreaseLiquidityEvent | IncreaseLiquidityyEvent; }; type SwapEvent = { sender: string; recipient: string; amount0: string; amount1: string; sqrtPriceX96: string; liquidity: string; tick: number; protocolFeesToken0: string; protocolFeesToken1: string; swap_a2b: boolean; }; type DecreaseLiquidityEvent = { sender: string; tickLower: string; tickUpper: string; amount: string; amount0: string; amount1: string; }; type IncreaseLiquidityyEvent = { sender: string; recipient: string; tickLower: string; tickUpper: string; amount: string; amount0: string; amount1: string; }; type MasterChefV3AddPoolEvent = { pid: string; allocPoint: string; v3Pool: string; lmPool: string; }; declare function isSwapArg(info: SwapEvent | DecreaseLiquidityEvent | IncreaseLiquidityyEvent): info is SwapEvent; declare enum ChainId { TOMO = 88, TOMO_TESTNET = 89, SCROLL = 534352, SCROLL_TESTNET = 534351, Sepolia_TESTNET = 11155111, Habitat_TESTNET = 1123 } type SdkConfig = { tokenPriority: string[]; nativeToken: string; }; declare const SdkConfigInfo: { [key: number]: SdkConfig; }; declare const PRICE_MULTIPLIER = 1000000000000000000; type IdoPool = { poolAddress: string; forceStop: boolean; baseToken: string; quoteToken: string; isWithdraw: boolean; owner: string; startTime: number; endTime: number; claimBaseTime: number; totalBase: string; price: string; poolQuoteReserve: string; poolQuoteLimite: string; poolQuoteCap: string; minBidAmount: string; maxBidAmount: string; protectionQuoteCap: string; protectionQuoteUsed: string; protectionQuoteAllowed: string; }; type BidderInfo = { bidQuoteAmount: string; protectionQuoteAmount: string; obtainedBaseAmount: string; usedQuoteAmount: string; isSettle: boolean; baseClaimed: boolean; quoteClaimed: boolean; }; type CreateIdoPoolOptions = { base: Address; quote: Address; base_decimals: number; quote_decimal: number; owner: Address; start_time: number; end_time: number; claim_base_time: number; total_base: BigInt; price: string; pool_quote_limit: BigInt; min_bid_amount: BigInt; max_bid_amount: BigInt; }; type WithdrawAmounts = { baseAmount: string; quoteAmount: string; }; type ClaimAmounts = { baseAmount: string; quoterAmount: string; }; declare function sanitizeNumericalString(numStr: string): string; declare function maxDecimals(amount: string, decimals?: bigint): string; declare function fixedDecimals(amount: string, decimals?: bigint): string; declare function amountToBN(amount: string | number | undefined, decimals?: bigint): bigint; declare function fixedPrice(amount: string, decimals?: bigint): string; declare function getMinimumDigit(precision: bigint): number; declare abstract class FullMath { /** * Cannot be constructed. */ private constructor(); static mulDivRoundingUp(a: bigint, b: bigint, denominator: bigint): bigint; } /** * Computes the maximum amount of liquidity received for a given amount of token0, token1, * and the prices at the tick boundaries. * @param sqrtRatioCurrentX96 the current price * @param sqrtRatioAX96 price at lower boundary * @param sqrtRatioBX96 price at upper boundary * @param amount0 token0 amount * @param amount1 token1 amount * @param useFullPrecision if false, liquidity will be maximized according to what the router can calculate, * not what core can theoretically support */ declare function maxLiquidityForAmounts(sqrtRatioCurrentX96: bigint, sqrtRatioAX96: bigint, sqrtRatioBX96: bigint, amount0: BigintIsh, amount1: BigintIsh, useFullPrecision: boolean): bigint; declare function mostSignificantBit(x: bigint): number; /** * Returns the closest tick that is nearest a given tick and usable for the given tick spacing * @param tick the target tick * @param tickSpacing the spacing of the pool */ declare function nearestUsableTick(tick: number, tickSpacing: number): number; declare function getToken0Amount(sqrtPriceX96: bigint, tickLower: number, tickUpper: number, liquidity: bigint): BigintIsh; declare function getToken1Amount(sqrtPriceX96: bigint, tickLower: number, tickUpper: number, liquidity: bigint): BigintIsh; declare function getTokenAmountsFromLiquidity(sqrtPriceX96: bigint, tickLower: number, tickUpper: number, liquidity: bigint): { token0Amount: BigintIsh; token1Amount: BigintIsh; }; declare function getLiquidityFromTokenAmount0(sqrtPriceX96: bigint, tickLower: number, tickUpper: number, amount0: BigintIsh): { liquidity: bigint; token1Amount: BigintIsh; }; declare function getLiquidityFromTokenAmount1(sqrtPriceX96: bigint, tickLower: number, tickUpper: number, amount1: BigintIsh): { liquidity: bigint; token0Amount: BigintIsh; }; declare function getLiquidityFromTokenAmounts(sqrtPriceX96: bigint, tickLower: number, tickUpper: number, amount0: BigintIsh, amount1: BigintIsh): bigint; declare const PositionMath: { getToken0Amount: typeof getToken0Amount; getToken1Amount: typeof getToken1Amount; getTokenAmountsFromLiquidity: typeof getTokenAmountsFromLiquidity; getLiquidityFromTokenAmount0: typeof getLiquidityFromTokenAmount0; getLiquidityFromTokenAmount1: typeof getLiquidityFromTokenAmount1; getLiquidityFromTokenAmounts: typeof getLiquidityFromTokenAmounts; }; declare abstract class SqrtPriceMath { /** * Cannot be constructed. */ private constructor(); static getAmount0Delta(sqrtRatioAX96: bigint, sqrtRatioBX96: bigint, liquidity: bigint, roundUp: boolean): bigint; static getAmount1Delta(sqrtRatioAX96: bigint, sqrtRatioBX96: bigint, liquidity: bigint, roundUp: boolean): bigint; static getNextSqrtPriceFromInput(sqrtPX96: bigint, liquidity: bigint, amountIn: bigint, zeroForOne: boolean): bigint; static getNextSqrtPriceFromOutput(sqrtPX96: bigint, liquidity: bigint, amountOut: bigint, zeroForOne: boolean): bigint; private static getNextSqrtPriceFromAmount0RoundingUp; private static getNextSqrtPriceFromAmount1RoundingDown; } declare abstract class TickMath { /** * Cannot be constructed. */ private constructor(); /** * The minimum tick that can be used on any pool. */ static MIN_TICK: number; /** * The maximum tick that can be used on any pool. */ static MAX_TICK: number; /** * The sqrt ratio corresponding to the minimum tick that could be used on any pool. */ static MIN_SQRT_RATIO: bigint; /** * The sqrt ratio corresponding to the maximum tick that could be used on any pool. */ static MAX_SQRT_RATIO: bigint; /** * Returns the sqrt ratio as a Q64.96 for the given tick. The sqrt ratio is computed as sqrt(1.0001)^tick * @param tick the tick for which to compute the sqrt ratio */ static getSqrtRatioAtTick(tick: number): bigint; /** * Returns the tick corresponding to a given sqrt ratio, s.t. #getSqrtRatioAtTick(tick) <= sqrtRatioX96 * and #getSqrtRatioAtTick(tick + 1) > sqrtRatioX96 * @param sqrtRatioX96 the sqrt ratio as a Q64.96 for which to compute the tick */ static getTickAtSqrtRatio(sqrtRatioX96: bigint): number; } declare class Fraction { readonly numerator: bigint; readonly denominator: bigint; constructor(numerator: BigintIsh, denominator?: BigintIsh); private static tryParseFraction; get quotient(): bigint; get remainder(): Fraction; invert(): Fraction; add(other: Fraction | BigintIsh): Fraction; subtract(other: Fraction | BigintIsh): Fraction; lessThan(other: Fraction | BigintIsh): boolean; equalTo(other: Fraction | BigintIsh): boolean; greaterThan(other: Fraction | BigintIsh): boolean; multiply(other: Fraction | BigintIsh): Fraction; divide(other: Fraction | BigintIsh): Fraction; toSignificant(significantDigits: number, format?: object, rounding?: Rounding): string; toFixed(decimalPlaces: number, format?: object, rounding?: Rounding): string; /** * Helper method for converting any super class back to a fraction */ get asFraction(): Fraction; } declare class Percent extends Fraction { /** * This boolean prevents a fraction from being interpreted as a Percent */ readonly isPercent: true; add(other: Fraction | BigintIsh): Percent; subtract(other: Fraction | BigintIsh): Percent; multiply(other: Fraction | BigintIsh): Percent; divide(other: Fraction | BigintIsh): Percent; toSignificant(significantDigits?: number, format?: object, rounding?: Rounding): string; toFixed(decimalPlaces?: number, format?: object, rounding?: Rounding): string; } declare class CurrencyAmount extends Fraction { readonly currency: T; readonly decimalScale: bigint; /** * Returns a new currency amount instance from the unitless amount of token, i.e. the raw amount * @param currency the currency in the amount * @param rawAmount the raw token or ether amount */ static fromRawAmount(currency: T, rawAmount: BigintIsh): CurrencyAmount; /** * Construct a currency amount with a denominator that is not equal to 1 * @param currency the currency * @param numerator the numerator of the fractional token amount * @param denominator the denominator of the fractional token amount */ static fromFractionalAmount(currency: T, numerator: BigintIsh, denominator: BigintIsh): CurrencyAmount; protected constructor(currency: T, numerator: BigintIsh, denominator?: BigintIsh); add(other: CurrencyAmount): CurrencyAmount; subtract(other: CurrencyAmount): CurrencyAmount; multiply(other: Fraction | BigintIsh): CurrencyAmount; divide(other: Fraction | BigintIsh): CurrencyAmount; toSignificant(significantDigits?: number, format?: object, rounding?: Rounding): string; toFixed(decimalPlaces?: number, format?: object, rounding?: Rounding): string; toExact(format?: object): string; get wrapped(): CurrencyAmount; } declare class Price extends Fraction { readonly baseToken: TBase; readonly quoteToken: TQuote; readonly scalar: Fraction; /** * Construct a price, either with the base and quote currency amount, or the * @param args */ constructor(...args: [TBase, TQuote, BigintIsh, BigintIsh] | [{ baseAmount: CurrencyAmount; quoteAmount: CurrencyAmount; }]); /** * Flip the price, switching the base and quote currency */ invert(): Price; /** * Multiply the price by another price, returning a new price. The other price must have the same base currency as this price's quote currency * @param other the other price */ multiply(other: Price): Price; /** * Return the amount of quote currency corresponding to a given amount of the base currency * @param currencyAmount the amount of base currency to quote against the price */ quote(currencyAmount: CurrencyAmount): CurrencyAmount; /** * Get the value scaled by decimals for formatting * @private */ private get adjustedForDecimals(); toSignificant(significantDigits?: number, format?: object, rounding?: Rounding): string; toFixed(decimalPlaces?: number, format?: object, rounding?: Rounding): string; } declare const ADDRESS_ZERO = "0x0000000000000000000000000000000000000000"; declare function validateAndParseAddress(address: string): Address; type TokenAmounts = { token0Amount: BigintIsh; token1Amount: BigintIsh; }; declare function adjustForSlippage(n: BigintIsh, { numerator, denominator }: Percent, adjustUp: boolean): bigint; declare function adjustForTokenSlippage(tokenAmount: TokenAmounts, slippage: Percent, adjustUp: boolean): { tokenLimit0: bigint; tokenLimit1: bigint; }; declare function parseProtocolFees(feeProtocol: number | string): Percent[]; /** * Returns the sqrt ratio as a Q64.96 corresponding to a given ratio of amount1 and amount0 * @param amount1 The numerator amount i.e., the amount of token1 * @param amount0 The denominator amount i.e., the amount of token0 * @returns The sqrt ratio */ declare function encodeSqrtRatioX96(amount1: BigintIsh, amount0: BigintIsh): bigint; declare function decodeSqrtRatioX96(sqrtRatioX96: bigint): [bigint, bigint]; declare function calculatePriceStep(price: Price, tickSpacing: number): string; /** * 是否是正向 * @param address0 * @param address1 * @returns */ declare function isDirect(address0: string, address1: string): boolean; declare function sqrt(y: bigint): bigint; declare function calculateGasMargin(value: bigint, margin?: bigint): bigint; declare function tryParsePrice(baseToken?: Token, quoteToken?: Token, value?: string): Price | undefined; declare function tryParseTick(baseToken?: Token, quoteToken?: Token, tickSpacing?: number, value?: string): number | undefined; /** * Returns a price object corresponding to the input tick and the base/quote token * Inputs must be tokens because the address order is used to interpret the price represented by the tick * @param baseToken the base token of the price * @param quoteToken the quote token of the price * @param tick the tick for which to return the price */ declare function tickToPrice(baseToken: Token, quoteToken: Token, tick: number): Price; declare function priceToTick(price: Price, tickSpacing: number): number; declare function priceToRatioX96(baseToken: Token, quoteToken: Token, value: string): bigint; /** * Returns the first tick for which the given price is greater than or equal to the tick price * @param price for which to return the closest tick that represents a price less than or equal to the input price, * i.e. the price of the returned tick is less than or equal to the input price */ declare function priceToClosestTick(price: Price): number; declare const PRECISION_FACTOR = "1000000000000"; type ChefV3Position = { liquidity: BigintIsh; boostLiquidity: BigintIsh; tickLower: number; tickUpper: number; rewardGrowthInside: BigintIsh; reward: BigintIsh; user: Address$1; pid: bigint; tokenId: bigint; boostMultiplier: BigintIsh; poolAddress: string; fee_amount0: bigint; fee_amount1: bigint; }; type MasterChef = { latestPeriodNumber: bigint; latestPeriodStartTime: bigint; latestPeriodEndTime: bigint; latestPeriodRewardPerSecond: bigint; totalAllocPoint: bigint; rewaedCoin: string; poolLength: bigint; }; type MasterPool = { allocPoint: bigint; v3Pool: string; token0: string; token1: string; fee: number; totalLiquidity: bigint; totalBoostLiquidity: bigint; }; declare class MasterChefV3 { static ABI: readonly [{ readonly type: "constructor"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "_REWARD"; readonly internalType: "contract IERC20"; }, { readonly type: "address"; readonly name: "_nonfungiblePositionManager"; readonly internalType: "contract INonfungiblePositionManager"; }, { readonly type: "address"; readonly name: "_WETH"; readonly internalType: "address"; }]; }, { readonly type: "error"; readonly name: "DuplicatedPool"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "pid"; readonly internalType: "uint256"; }]; }, { readonly type: "error"; readonly name: "InconsistentAmount"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InsufficientAmount"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidNFT"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidPeriodDuration"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "InvalidPid"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NoBalance"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NoLMPool"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NoLiquidity"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotEmpty"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotKuramaNFT"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotOwner"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "NotOwnerOrOperator"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "WrongReceiver"; readonly inputs: readonly []; }, { readonly type: "error"; readonly name: "ZeroAddress"; readonly inputs: readonly []; }, { readonly type: "event"; readonly name: "AddPool"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "pid"; readonly internalType: "uint256"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "allocPoint"; readonly internalType: "uint256"; readonly indexed: false; }, { readonly type: "address"; readonly name: "v3Pool"; readonly internalType: "contract IKuramaV3Pool"; readonly indexed: true; }, { readonly type: "address"; readonly name: "lmPool"; readonly internalType: "contract ILMPool"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Deposit"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; readonly internalType: "address"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "pid"; readonly internalType: "uint256"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "tokenId"; readonly internalType: "uint256"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "liquidity"; readonly internalType: "uint256"; readonly indexed: false; }, { readonly type: "int24"; readonly name: "tickLower"; readonly internalType: "int24"; readonly indexed: false; }, { readonly type: "int24"; readonly name: "tickUpper"; readonly internalType: "int24"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Harvest"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "sender"; readonly internalType: "address"; readonly indexed: true; }, { readonly type: "address"; readonly name: "to"; readonly internalType: "address"; readonly indexed: false; }, { readonly type: "uint256"; readonly name: "pid"; readonly internalType: "uint256"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "tokenId"; readonly internalType: "uint256"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "reward"; readonly internalType: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "NewLMPoolDeployerAddress"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "deployer"; readonly internalType: "address"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "NewOperatorAddress"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "operator"; readonly internalType: "address"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "NewPeriodDuration"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "periodDuration"; readonly internalType: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "NewReceiver"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "receiver"; readonly internalType: "address"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "NewUpkeepPeriod"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "periodNumber"; readonly internalType: "uint256"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "startTime"; readonly internalType: "uint256"; readonly indexed: false; }, { readonly type: "uint256"; readonly name: "endTime"; readonly internalType: "uint256"; readonly indexed: false; }, { readonly type: "uint256"; readonly name: "rewardPerSecond"; readonly internalType: "uint256"; readonly indexed: false; }, { readonly type: "uint256"; readonly name: "rewardAmount"; readonly internalType: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "OwnershipTransferred"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "previousOwner"; 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: "SetEmergency"; readonly inputs: readonly [{ readonly type: "bool"; readonly name: "emergency"; readonly internalType: "bool"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "SetPool"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "pid"; readonly internalType: "uint256"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "allocPoint"; readonly internalType: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "UpdateFarmBoostContract"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "farmBoostContract"; readonly internalType: "address"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "UpdateLiquidity"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; readonly internalType: "address"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "pid"; readonly internalType: "uint256"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "tokenId"; readonly internalType: "uint256"; readonly indexed: true; }, { readonly type: "int128"; readonly name: "liquidity"; readonly internalType: "int128"; readonly indexed: false; }, { readonly type: "int24"; readonly name: "tickLower"; readonly internalType: "int24"; readonly indexed: false; }, { readonly type: "int24"; readonly name: "tickUpper"; readonly internalType: "int24"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "UpdateUpkeepPeriod"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "periodNumber"; readonly internalType: "uint256"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "oldEndTime"; readonly internalType: "uint256"; readonly indexed: false; }, { readonly type: "uint256"; readonly name: "newEndTime"; readonly internalType: "uint256"; readonly indexed: false; }, { readonly type: "uint256"; readonly name: "remainingReward"; readonly internalType: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Withdraw"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; readonly internalType: "address"; readonly indexed: true; }, { readonly type: "address"; readonly name: "to"; readonly internalType: "address"; readonly indexed: false; }, { readonly type: "uint256"; readonly name: "pid"; readonly internalType: "uint256"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "tokenId"; readonly internalType: "uint256"; readonly indexed: true; }]; readonly anonymous: false; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: ""; readonly internalType: "uint256"; }]; readonly name: "BOOST_PRECISION"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "contract IFarmBooster"; }]; readonly name: "FARM_BOOSTER"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "contract ILMPoolDeployer"; }]; readonly name: "LMPoolDeployer"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: ""; readonly internalType: "uint256"; }]; readonly name: "MAX_BOOST_PRECISION"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: ""; readonly internalType: "uint256"; }]; readonly name: "MAX_DURATION"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: ""; readonly internalType: "uint256"; }]; readonly name: "MIN_DURATION"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: ""; readonly internalType: "uint256"; }]; readonly name: "PERIOD_DURATION"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: ""; readonly internalType: "uint256"; }]; readonly name: "PRECISION"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "contract IERC20"; }]; readonly name: "REWARD"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }]; readonly name: "WETH"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "add"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "_allocPoint"; readonly internalType: "uint256"; }, { readonly type: "address"; readonly name: "_v3Pool"; readonly internalType: "contract IKuramaV3Pool"; }, { readonly type: "bool"; readonly name: "_withUpdate"; readonly internalType: "bool"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: ""; readonly internalType: "uint256"; }]; readonly name: "balanceOf"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "owner"; readonly internalType: "address"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "burn"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "_tokenId"; readonly internalType: "uint256"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amount0"; readonly internalType: "uint256"; }, { readonly type: "uint256"; readonly name: "amount1"; readonly internalType: "uint256"; }]; readonly name: "collect"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "params"; readonly internalType: "struct INonfungiblePositionManagerStruct.CollectParams"; readonly components: readonly [{ readonly type: "uint256"; readonly name: "tokenId"; readonly internalType: "uint256"; }, { readonly type: "address"; readonly name: "recipient"; readonly internalType: "address"; }, { readonly type: "uint128"; readonly name: "amount0Max"; readonly internalType: "uint128"; }, { readonly type: "uint128"; readonly name: "amount1Max"; readonly internalType: "uint128"; }]; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amount0"; readonly internalType: "uint256"; }, { readonly type: "uint256"; readonly name: "amount1"; readonly internalType: "uint256"; }]; readonly name: "collectTo"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "params"; readonly internalType: "struct INonfungiblePositionManagerStruct.CollectParams"; readonly components: readonly [{ readonly type: "uint256"; readonly name: "tokenId"; readonly internalType: "uint256"; }, { readonly type: "address"; readonly name: "recipient"; readonly internalType: "address"; }, { readonly type: "uint128"; readonly name: "amount0Max"; readonly internalType: "uint128"; }, { readonly type: "uint128"; readonly name: "amount1Max"; readonly internalType: "uint128"; }]; }, { readonly type: "address"; readonly name: "to"; readonly internalType: "address"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amount0"; readonly internalType: "uint256"; }, { readonly type: "uint256"; readonly name: "amount1"; readonly internalType: "uint256"; }]; readonly name: "decreaseLiquidity"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "params"; readonly internalType: "struct INonfungiblePositionManagerStruct.DecreaseLiquidityParams"; readonly components: readonly [{ readonly type: "uint256"; readonly name: "tokenId"; readonly internalType: "uint256"; }, { readonly type: "uint128"; readonly name: "liquidity"; readonly internalType: "uint128"; }, { readonly type: "uint256"; readonly name: "amount0Min"; readonly internalType: "uint256"; }, { readonly type: "uint256"; readonly name: "amount1Min"; readonly internalType: "uint256"; }, { readonly type: "uint256"; readonly name: "deadline"; readonly internalType: "uint256"; }]; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "bool"; readonly name: ""; readonly internalType: "bool"; }]; readonly name: "emergency"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "rewardPerSecond"; readonly internalType: "uint256"; }, { readonly type: "uint256"; readonly name: "endTime"; readonly internalType: "uint256"; }]; readonly name: "getLatestPeriodInfo"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "_v3Pool"; readonly internalType: "address"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "rewardPerSecond"; readonly internalType: "uint256"; }, { readonly type: "uint256"; readonly name: "endTime"; readonly internalType: "uint256"; }]; readonly name: "getLatestPeriodInfoByPid"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "_pid"; readonly internalType: "uint256"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "reward"; readonly internalType: "uint256"; }]; readonly name: "harvest"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "_tokenId"; readonly internalType: "uint256"; }, { readonly type: "address"; readonly name: "_to"; readonly internalType: "address"; }]; }, { readonly type: "function"; readonly stateMutability: "payable"; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "liquidity"; readonly internalType: "uint128"; }, { readonly type: "uint256"; readonly name: "amount0"; readonly internalType: "uint256"; }, { readonly type: "uint256"; readonly name: "amount1"; /** * 取消质押 * @param sender * @param recipient * @param tokenId * @returns */ readonly internalType: "uint256"; }]; readonly name: "increaseLiquidity"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "params"; readonly internalType: "struct INonfungiblePositionManagerStruct.IncreaseLiquidityParams"; readonly components: readonly [{ readonly type: "uint256"; readonly name: "tokenId"; readonly internalType: "uint256"; }, { readonly type: "uint256"; readonly name: "amount0Desired"; /** * 收割Farming奖励 * @param options * @returns */ readonly internalType: "uint256"; }, { readonly type: "uint256"; readonly name: "amount1Desired"; readonly internalType: "uint256"; }, { readonly type: "uint256"; readonly name: "amount0Min"; readonly internalType: "uint256"; }, { readonly type: "uint256"; readonly name: "amount1Min"; readonly internalType: "uint256"; }, { readonly type: "uint256"; readonly name: "deadline"; readonly internalType: "uint256"; }]; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: ""; readonly internalType: "uint256"; }]; readonly name: "latestPeriodEndTime"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: ""; readonly internalType: "uint256"; }]; readonly name: "latestPeriodNumber"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: ""; readonly internalType: "uint256"; }]; readonly name: "latestPeriodRewardPerSecond"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: ""; readonly internalType: "uint256"; }]; readonly name: "latestPeriodStartTime"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "payable"; readonly outputs: readonly [{ readonly type: "bytes[]"; readonly name: "results"; readonly internalType: "bytes[]"; }]; readonly name: "multicall"; readonly inputs: readonly [{ readonly type: "bytes[]"; readonly name: "data"; readonly internalType: "bytes[]"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "contract INonfungiblePositionManager"; }]; readonly name: "nonfungiblePositionManager"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "bytes4"; readonly name: ""; readonly internalType: "bytes4"; }]; readonly name: "onERC721Received"; readonly inputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "_from"; readonly internalType: "address"; }, { readonly type: "uint256"; readonly name: "_tokenId"; readonly internalType: "uint256"; }, { readonly type: "bytes"; readonly name: ""; readonly internalType: "bytes"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }]; readonly name: "operatorAddress"; 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: "uint256"; readonly name: "reward"; readonly internalType: "uint256"; }]; readonly name: "pendingReward"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "_tokenId"; readonly internalType: "uint256"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "allocPoint"; readonly internalType: "uint256"; }, { readonly type: "address"; readonly name: "v3Pool"; readonly internalType: "contract IKuramaV3Pool"; }, { readonly type: "address"; readonly name: "token0"; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "token1"; readonly internalType: "address"; }, { readonly type: "uint24"; readonly name: "fee"; readonly internalType: "uint24"; }, { readonly type: "uint256"; readonly name: "totalLiquidity"; readonly internalType: "uint256"; }, { readonly type: "uint256"; readonly name: "totalBoostLiquidity"; readonly internalType: "uint256"; }]; readonly name: "poolInfo"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: ""; readonly internalType: "uint256"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: ""; readonly internalType: "uint256"; }]; readonly name: "poolLength"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }]; readonly name: "receiver"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "renounceOwnership"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: ""; readonly internalType: "uint256"; }]; readonly name: "rewardAmountBelongToMC"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "set"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "_pid"; readonly internalType: "uint256"; }, { readonly type: "uint256"; readonly name: "_allocPoint"; readonly internalType: "uint256"; }, { readonly type: "bool"; readonly name: "_withUpdate"; readonly internalType: "bool"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "setEmergency"; readonly inputs: readonly [{ readonly type: "bool"; readonly name: "_emergency"; readonly internalType: "bool"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "setLMPoolDeployer"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "_LMPoolDeployer"; readonly internalType: "contract ILMPoolDeployer"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "setOperator"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "_operatorAddress"; readonly internalType: "address"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "setPeriodDuration"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "_periodDuration"; readonly internalType: "uint256"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "setReceiver"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "_receiver"; readonly internalType: "address"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "sweepToken"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "token"; readonly internalType: "address"; }, { readonly type: "uint256"; readonly name: "amountMinimum"; readonly internalType: "uint256"; }, { readonly type: "address"; readonly name: "recipient"; readonly internalType: "address"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: ""; readonly internalType: "uint256"; }]; readonly name: "tokenOfOwnerByIndex"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "owner"; readonly internalType: "address"; }, { readonly type: "uint256"; readonly name: "index"; readonly internalType: "uint256"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: ""; readonly internalType: "uint256"; }]; readonly name: "totalAllocPoint"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "transferOwnership"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "newOwner"; readonly internalType: "address"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "unwrapWETH9"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "amountMinimum"; readonly internalType: "uint256"; }, { readonly type: "address"; readonly name: "recipient"; readonly internalType: "address"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "updateBoostMultiplier"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "_tokenId"; readonly internalType: "uint256"; }, { readonly type: "uint256"; readonly name: "_newMultiplier"; readonly internalType: "uint256"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "updateFarmBoostContract"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "_newFarmBoostContract"; readonly internalType: "address"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "updateLiquidity"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "_tokenId"; readonly internalType: "uint256"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "updatePools"; readonly inputs: readonly [{ readonly type: "uint256[]"; readonly name: "pids"; readonly internalType: "uint256[]"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "upkeep"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "_amount"; readonly internalType: "uint256"; }, { readonly type: "uint256"; readonly name: "_duration"; readonly internalType: "uint256"; }, { readonly type: "bool"; readonly name: "_withUpdate"; readonly internalType: "bool"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint128"; readonly name: "liquidity"; readonly internalType: "uint128"; }, { readonly type: "uint128"; readonly name: "boostLiquidity"; readonly internalType: "uint128"; }, { readonly type: "int24"; readonly name: "tickLower"; readonly internalType: "int24"; }, { readonly type: "int24"; readonly name: "tickUpper"; readonly internalType: "int24"; }, { readonly type: "uint256"; readonly name: "rewardGrowthInside"; readonly internalType: "uint256"; }, { readonly type: "uint256"; readonly name: "reward"; readonly internalType: "uint256"; }, { readonly type: "address"; readonly name: "user"; readonly internalType: "address"; }, { readonly type: "uint256"; readonly name: "pid"; readonly internalType: "uint256"; }, { readonly type: "uint256"; readonly name: "boostMultiplier"; readonly internalType: "uint256"; }]; readonly name: "userPositionInfos"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: ""; readonly internalType: "uint256"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: ""; readonly internalType: "uint256"; }]; readonly name: "v3PoolAddressPid"; readonly inputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "reward"; readonly internalType: "uint256"; }]; readonly name: "withdraw"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "_tokenId"; readonly internalType: "uint256"; }, { readonly type: "address"; readonly name: "_to"; readonly internalType: "address"; }]; }, { readonly type: "receive"; readonly stateMutability: "payable"; }]; readonly publicClient: PublicClient; readonly contractAddress: Address$1; masterChefData?: MasterChef; private pidsMap; constructor(publicClient: PublicClient, contractAddress: Address$1); private buildContractClinet; buildMasterChefData(): Promise; buildMasterPoolData(pid: bigint): Promise; buildMasterPoolList(): Promise; getOwnerTokenIds(owner: Address$1): Promise; getOwnerPositions(owner: Address$1, tokenIds?: bigint[]): Promise; getPosition(tokenId: bigint): Promise; getOwnerPositionsByPid(owner: Address$1, pid: bigint, calculateFarmingReward?: boolean): Promise; getOwnerPositionsByPool(owner: Address$1, poolAddress: Address$1, calculateFarmingReward?: boolean): Promise; /** * 获取v3池子的pid * @param poolAddress * @returns */ getV3PoolAddressPid(poolAddress: Address$1): Promise; getRewardCoin(): Promise; /** * 计算仓位fee * @param tokenId * @param recipient * @returns */ calculatePositionFee(tokenIds: bigint[], recipient: Address$1): Promise>; /** * 计算farming 奖励 * @param options * @returns */ calculateFarmingReward(tokenIds: bigint[], recipient: Address$1): Promise>; /** * 增加流动性 * @param options * @returns */ static addCallParameters(options: FarmAddCallOptions): { calldata: `0x${string}`; value: `0x${string}`; }; /** * 移除流动性 * @param options * @param warpNativeAmount * @returns */ static removeCallParameters(options: FarmRemoveCallOptions): MethodParameters; /** * 收割奖励和fee * @param options * @returns */ static claimCallParameters(collectOptions: CollectOptions, recipient: Address$1): MethodParameters; /** * 收集仓位手续费 * @param options * @returns */ static collectCallParameters(options: CollectOptions): MethodParameters; /** * 取消质押 * @param sender * @param recipient * @param tokenId * @returns */ static withdrawCallParameters(options: WidthDrawOptions): MethodParameters; /** * 收割Farming奖励 * @param options * @returns */ static batchHarvestCallParameters(options: HarvestOptions[]): MethodParameters; static encodeHarvest(options: HarvestOptions): Hex; private static encodeWithdraw; } type Slot = { sqrtPriceX96: BigintIsh; tick: number; token0ProtocolFee: Percent; token1ProtocolFee: Percent; }; type Pool = { fee: BigintIsh; tickSpacing: number; liquidity: BigintIsh; token0: Address$1; token1: Address$1; slot: Slot; }; declare class KuramaV3Pool { static ABI: readonly [{ readonly inputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "int24"; readonly name: "tickLower"; readonly type: "int24"; }, { readonly indexed: true; readonly internalType: "int24"; readonly name: "tickUpper"; readonly type: "int24"; }, { readonly indexed: false; readonly internalType: "uint128"; readonly name: "amount"; readonly type: "uint128"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly name: "Burn"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "int24"; readonly name: "tickLower"; readonly type: "int24"; }, { readonly indexed: true; readonly internalType: "int24"; readonly name: "tickUpper"; readonly type: "int24"; }, { readonly indexed: false; readonly internalType: "uint128"; readonly name: "amount0"; readonly type: "uint128"; }, { readonly indexed: false; readonly internalType: "uint128"; readonly name: "amount1"; readonly type: "uint128"; }]; readonly name: "Collect"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint128"; readonly name: "amount0"; readonly type: "uint128"; }, { readonly indexed: false; readonly internalType: "uint128"; readonly name: "amount1"; readonly type: "uint128"; }]; readonly name: "CollectProtocol"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "paid0"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "paid1"; readonly type: "uint256"; }]; readonly name: "Flash"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint16"; readonly name: "observationCardinalityNextOld"; readonly type: "uint16"; }, { readonly indexed: false; readonly internalType: "uint16"; readonly name: "observationCardinalityNextNew"; readonly type: "uint16"; }]; readonly name: "IncreaseObservationCardinalityNext"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint160"; readonly name: "sqrtPriceX96"; readonly type: "uint160"; }, { readonly indexed: false; readonly internalType: "int24"; readonly name: "tick"; readonly type: "int24"; }]; readonly name: "Initialize"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "int24"; readonly name: "tickLower"; readonly type: "int24"; }, { readonly indexed: true; readonly internalType: "int24"; readonly name: "tickUpper"; readonly type: "int24"; }, { readonly indexed: false; readonly internalType: "uint128"; readonly name: "amount"; readonly type: "uint128"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly name: "Mint"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint32"; readonly name: "feeProtocol0Old"; readonly type: "uint32"; }, { readonly indexed: false; readonly internalType: "uint32"; readonly name: "feeProtocol1Old"; readonly type: "uint32"; }, { readonly indexed: false; readonly internalType: "uint32"; readonly name: "feeProtocol0New"; readonly type: "uint32"; }, { readonly indexed: false; readonly internalType: "uint32"; readonly name: "feeProtocol1New"; readonly type: "uint32"; }]; readonly name: "SetFeeProtocol"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "addr"; readonly type: "address"; }]; readonly name: "SetLmPoolEvent"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "int256"; readonly name: "amount0"; readonly type: "int256"; }, { readonly indexed: false; readonly internalType: "int256"; readonly name: "amount1"; readonly type: "int256"; }, { readonly indexed: false; readonly internalType: "uint160"; readonly name: "sqrtPriceX96"; readonly type: "uint160"; }, { readonly indexed: false; readonly internalType: "uint128"; readonly name: "liquidity"; readonly type: "uint128"; }, { readonly indexed: false; readonly internalType: "int24"; readonly name: "tick"; readonly type: "int24"; }, { readonly indexed: false; readonly internalType: "uint128"; readonly name: "protocolFeesToken0"; readonly type: "uint128"; }, { readonly indexed: false; readonly internalType: "uint128"; readonly name: "protocolFeesToken1"; readonly type: "uint128"; }]; readonly name: "Swap"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly internalType: "int24"; readonly name: "tickLower"; readonly type: "int24"; }, { readonly internalType: "int24"; readonly name: "tickUpper"; readonly type: "int24"; }, { readonly internalType: "uint128"; readonly name: "amount"; readonly type: "uint128"; }]; readonly name: "burn"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly internalType: "int24"; readonly name: "tickLower"; readonly type: "int24"; }, { readonly internalType: "int24"; readonly name: "tickUpper"; readonly type: "int24"; }, { readonly internalType: "uint128"; readonly name: "amount0Requested"; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: "amount1Requested"; readonly type: "uint128"; }]; readonly name: "collect"; readonly outputs: readonly [{ readonly internalType: "uint128"; readonly name: "amount0"; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: "amount1"; readonly type: "uint128"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly internalType: "uint128"; readonly name: "amount0Requested"; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: "amount1Requested"; readonly type: "uint128"; }]; readonly name: "collectProtocol"; readonly outputs: readonly [{ readonly internalType: "uint128"; readonly name: "amount0"; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: "amount1"; readonly type: "uint128"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "factory"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "fee"; readonly outputs: readonly [{ readonly internalType: "uint24"; readonly name: ""; readonly type: "uint24"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "feeGrowthGlobal0X128"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "feeGrowthGlobal1X128"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly name: "flash"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint16"; readonly name: "observationCardinalityNext"; readonly type: "uint16"; }]; readonly name: "increaseObservationCardinalityNext"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint160"; readonly name: "sqrtPriceX96"; readonly type: "uint160"; }]; readonly name: "initialize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "liquidity"; readonly outputs: readonly [{ readonly internalType: "uint128"; readonly name: ""; readonly type: "uint128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "lmPool"; readonly outputs: readonly [{ readonly internalType: "contract IKuramaV3LmPool"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "maxLiquidityPerTick"; readonly outputs: readonly [{ readonly internalType: "uint128"; readonly name: ""; readonly type: "uint128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly internalType: "int24"; readonly name: "tickLower"; readonly type: "int24"; }, { readonly internalType: "int24"; readonly name: "tickUpper"; readonly type: "int24"; }, { readonly internalType: "uint128"; readonly name: "amount"; readonly type: "uint128"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly name: "mint"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly name: "observations"; readonly outputs: readonly [{ readonly internalType: "uint32"; readonly name: "blockTimestamp"; readonly type: "uint32"; }, { readonly internalType: "int56"; readonly name: "tickCumulative"; readonly type: "int56"; }, { readonly internalType: "uint160"; readonly name: "secondsPerLiquidityCumulativeX128"; readonly type: "uint160"; }, { readonly internalType: "bool"; readonly name: "initialized"; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32[]"; readonly name: "secondsAgos"; readonly type: "uint32[]"; }]; readonly name: "observe"; readonly outputs: readonly [{ readonly internalType: "int56[]"; readonly name: "tickCumulatives"; readonly type: "int56[]"; }, { readonly internalType: "uint160[]"; readonly name: "secondsPerLiquidityCumulativeX128s"; readonly type: "uint160[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly name: "positions"; readonly outputs: readonly [{ readonly internalType: "uint128"; readonly name: "liquidity"; readonly type: "uint128"; }, { readonly internalType: "uint256"; readonly name: "feeGrowthInside0LastX128"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "feeGrowthInside1LastX128"; readonly type: "uint256"; }, { readonly internalType: "uint128"; readonly name: "tokensOwed0"; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: "tokensOwed1"; readonly type: "uint128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "protocolFees"; readonly outputs: readonly [{ readonly internalType: "uint128"; readonly name: "token0"; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: "token1"; readonly type: "uint128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: "feeProtocol0"; readonly type: "uint32"; }, { readonly internalType: "uint32"; readonly name: "feeProtocol1"; readonly type: "uint32"; }]; readonly name: "setFeeProtocol"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_lmPool"; readonly type: "address"; }]; readonly name: "setLmPool"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "slot0"; readonly outputs: readonly [{ readonly internalType: "uint160"; readonly name: "sqrtPriceX96"; readonly type: "uint160"; }, { readonly internalType: "int24"; readonly name: "tick"; readonly type: "int24"; }, { readonly internalType: "uint16"; readonly name: "observationIndex"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "observationCardinality"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "observationCardinalityNext"; readonly type: "uint16"; }, { readonly internalType: "uint32"; readonly name: "feeProtocol"; readonly type: "uint32"; }, { readonly internalType: "bool"; readonly name: "unlocked"; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "int24"; readonly name: "tickLower"; readonly type: "int24"; }, { readonly internalType: "int24"; readonly name: "tickUpper"; readonly type: "int24"; }]; readonly name: "snapshotCumulativesInside"; readonly outputs: readonly [{ readonly internalType: "int56"; readonly name: "tickCumulativeInside"; readonly type: "int56"; }, { readonly internalType: "uint160"; readonly name: "secondsPerLiquidityInsideX128"; readonly type: "uint160"; }, { readonly internalType: "uint32"; readonly name: "secondsInside"; readonly type: "uint32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "zeroForOne"; readonly type: "bool"; }, { readonly internalType: "int256"; readonly name: "amountSpecified"; readonly type: "int256"; }, { readonly internalType: "uint160"; readonly name: "sqrtPriceLimitX96"; readonly type: "uint160"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly name: "swap"; readonly outputs: readonly [{ readonly internalType: "int256"; readonly name: "amount0"; readonly type: "int256"; }, { readonly internalType: "int256"; readonly name: "amount1"; readonly type: "int256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "int16"; readonly name: ""; readonly type: "int16"; }]; readonly name: "tickBitmap"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "tickSpacing"; readonly outputs: readonly [{ readonly internalType: "int24"; readonly name: ""; readonly type: "int24"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "int24"; readonly name: ""; readonly type: "int24"; }]; readonly name: "ticks"; readonly outputs: readonly [{ readonly internalType: "uint128"; readonly name: "liquidityGross"; readonly type: "uint128"; }, { readonly internalType: "int128"; readonly name: "liquidityNet"; readonly type: "int128"; }, { readonly internalType: "uint256"; readonly name: "feeGrowthOutside0X128"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "feeGrowthOutside1X128"; readonly type: "uint256"; }, { readonly internalType: "int56"; readonly name: "tickCumulativeOutside"; readonly type: "int56"; }, { readonly internalType: "uint160"; readonly name: "secondsPerLiquidityOutsideX128"; readonly type: "uint160"; }, { readonly internalType: "uint32"; readonly name: "secondsOutside"; readonly type: "uint32"; }, { readonly internalType: "bool"; readonly name: "initialized"; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "token0"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "token1"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; readonly publicClient: PublicClient; readonly poolAddress: Address$1; pool?: Pool; constructor(publicClient: PublicClient, poolAddress: Address$1); private buildContractClinet; getSlot0(): Promise; getLiquidity(): Promise; buildPool(): Promise; } type PoolRewarderInfo = { rewardToken: Address$1; rewardPerSecond: bigint; endTime: number; }; type MultiMasterPool = { v3Pool: Address$1; token0: Address$1; token1: Address$1; fee: number; pid: bigint; latestAccumulateTime: number; totalLiquidity: bigint; totalBoostLiquidity: bigint; rewarders: PoolRewarderInfo[]; slot?: Slot; }; type FramFormatPool = { id: string; pid: number; symbol: string; feeTier: string; IsLive: boolean; tick: string; isForward: boolean; rewarderUSD: { address: string; amountSecond: string; logoURI: string; name: string; symbol: string; decimals: number; }[]; token0: { id: string; balance: string; logoURI: string; name: string; symbol: string; decimals: number; }; token1: { id: string; balance: string; logoURI: string; name: string; symbol: string; decimals: number; }; }; type MultiChefV3Position = { liquidity: BigintIsh; boostLiquidity: BigintIsh; tickLower: number; tickUpper: number; user: Address$1; pid: bigint; tokenId: bigint; boostMultiplier: BigintIsh; poolAddress: string; rewards: bigint[]; fee_amount0: bigint; fee_amount1: bigint; }; declare class MultiMasterChefV3 { static ABI: readonly [{ readonly inputs: readonly [{ readonly internalType: "contract INonfungiblePositionManager"; readonly name: "_nonfungiblePositionManager"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_WETH"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "pid"; readonly type: "uint256"; }]; readonly name: "DuplicatedPool"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "pid"; readonly type: "uint256"; }, { readonly internalType: "contract IERC20"; readonly name: "rewardToken"; readonly type: "address"; }]; readonly name: "DuplicatedRewarder"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InconsistentAmount"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidNFT"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidPeriodDuration"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidPid"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NoLMPool"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NoLiquidity"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NotDojoNFT"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NotEmergency"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NotEmpty"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NotOwner"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NotOwnerOrOperator"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "pid"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "rewardToken"; readonly type: "address"; }]; readonly name: "RewarderNotExist"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "WrongReceiver"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ZeroAddress"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint256"; readonly name: "pid"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "contract IDojoV3Pool"; readonly name: "v3Pool"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "contract ILMPool"; readonly name: "lmPool"; readonly type: "address"; }]; readonly name: "AddPool"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint256"; readonly name: "pid"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "rewardToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "rewardPerSecond"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "endTime"; readonly type: "uint256"; }]; readonly name: "AddRewarder"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "pid"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "liquidity"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "int24"; readonly name: "tickLower"; readonly type: "int24"; }, { readonly indexed: false; readonly internalType: "int24"; readonly name: "tickUpper"; readonly type: "int24"; }]; readonly name: "Deposit"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "pid"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "EmergencyWithdraw"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "pid"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "rewardToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "reward"; readonly type: "uint256"; }]; readonly name: "Harvest"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "deployer"; readonly type: "address"; }]; readonly name: "NewLMPoolDeployerAddress"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "operator"; readonly type: "address"; }]; readonly name: "NewOperatorAddress"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "vault"; readonly type: "address"; }]; readonly name: "NewVaultAddress"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "previousOwner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; }]; readonly name: "OwnershipTransferred"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bool"; readonly name: "emergency"; readonly type: "bool"; }]; readonly name: "SetEmergency"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "farmBoostContract"; readonly type: "address"; }]; readonly name: "UpdateFarmBoostContract"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "pid"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "int128"; readonly name: "liquidity"; readonly type: "int128"; }, { readonly indexed: false; readonly internalType: "int24"; readonly name: "tickLower"; readonly type: "int24"; }, { readonly indexed: false; readonly internalType: "int24"; /** * 获得池子奖励配置信息 */ readonly name: "tickUpper"; readonly type: "int24"; }]; readonly name: "UpdateLiquidity"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint256"; readonly name: "pid"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "rewardToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "rewardPerSecond"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "endTime"; readonly type: "uint256"; }]; readonly name: "UpdateRewarder"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "pid"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "Withdraw"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "BOOST_PRECISION"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "FARM_BOOSTER"; readonly outputs: readonly [{ readonly internalType: "contract IFarmBooster"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "LMPoolDeployer"; readonly outputs: readonly [{ readonly internalType: "contract ILMPoolDeployer"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "MAX_BOOST_PRECISION"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "MAX_DURATION"; /** * 获取v3池子的pid * @param poolAddress * @returns */ readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "MIN_DURATION"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "REWARD_PRECISION"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; /** * 计算farming 奖励 * @param options * @returns */ readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "WETH"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract IDojoV3Pool"; readonly name: "_v3Pool"; readonly type: "address"; }, { readonly internalType: "contract IERC20"; readonly name: "_rewardToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_rewardPerSecond"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_duration"; readonly type: "uint256"; }]; readonly name: "addPool"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_pid"; readonly type: "uint256"; }, { readonly internalType: "contract IERC20"; readonly name: "_rewardToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_rewardPerSecond"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_duration"; readonly type: "uint256"; }]; readonly name: "addRewarder"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }]; readonly name: "balanceOf"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_tokenId"; readonly type: "uint256"; }]; readonly name: "burn"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly internalType: "uint128"; readonly name: "amount0Max"; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: "amount1Max"; readonly type: "uint128"; }]; readonly internalType: "struct INonfungiblePositionManagerStruct.CollectParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "collect"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }, { readonly internalType: "uint128"; readonly name: "liquidity"; readonly type: "uint128"; }, { readonly internalType: "uint256"; readonly name: "amount0Min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1Min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly internalType: "struct INonfungiblePositionManagerStruct.DecreaseLiquidityParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "decreaseLiquidity"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "emergency"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_tokenId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "_to"; readonly type: "address"; }]; readonly name: "emergencyWithdraw"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_v3Pool"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_rewardToken"; readonly type: "address"; }]; readonly name: "getLatestPeriodInfo"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "rewardPerSecond"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "endTime"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_pid"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "_rewardToken"; readonly type: "address"; }]; readonly name: "getLatestPeriodInfoByPid"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "rewardPerSecond"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "endTime"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract IDojoV3Pool"; readonly name: "_v3Pool"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "index"; readonly type: "uint256"; }]; readonly name: "getRewarderInfo"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "contract IERC20"; readonly name: "rewardToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "rewardPerSecond"; readonly type: "uint256"; }, { /** * 取消质押 * @param sender * @param recipient * @param tokenId * @returns */ readonly internalType: "uint32"; readonly name: "endTime"; readonly type: "uint32"; }, { readonly internalType: "uint256"; readonly name: "releasedAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "harvestedAmount"; readonly type: "uint256"; }]; /** * 收割Farming奖励 * @param options * @returns */ readonly internalType: "struct MasterChefV3.PoolRewarderInfo"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_pid"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "index"; readonly type: "uint256"; }]; readonly name: "getRewarderInfoByPid"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "contract IERC20"; readonly name: "rewardToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "rewardPerSecond"; readonly type: "uint256"; }, { readonly internalType: "uint32"; readonly name: "endTime"; readonly type: "uint32"; }, { readonly internalType: "uint256"; readonly name: "releasedAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "harvestedAmount"; readonly type: "uint256"; }]; readonly internalType: "struct MasterChefV3.PoolRewarderInfo"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract IDojoV3Pool"; readonly name: "_v3Pool"; readonly type: "address"; }]; readonly name: "getRewarderLength"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_tokenId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "_to"; readonly type: "address"; }]; readonly name: "harvest"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount0Desired"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1Desired"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount0Min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1Min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly internalType: "struct INonfungiblePositionManagerStruct.IncreaseLiquidityParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "increaseLiquidity"; readonly outputs: readonly [{ readonly internalType: "uint128"; readonly name: "liquidity"; readonly type: "uint128"; }, { readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly name: "multicall"; readonly outputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "results"; readonly type: "bytes[]"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "nonfungiblePositionManager"; readonly outputs: readonly [{ readonly internalType: "contract INonfungiblePositionManager"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_from"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_tokenId"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: ""; readonly type: "bytes"; }]; readonly name: "onERC721Received"; readonly outputs: readonly [{ readonly internalType: "bytes4"; readonly name: ""; readonly type: "bytes4"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "operatorAddress"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "owner"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_tokenId"; readonly type: "uint256"; }]; readonly name: "pendingRewards"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly name: "poolInfo"; readonly outputs: readonly [{ readonly internalType: "contract IDojoV3Pool"; readonly name: "v3Pool"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token0"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token1"; readonly type: "address"; }, { readonly internalType: "uint24"; readonly name: "fee"; readonly type: "uint24"; }, { readonly internalType: "uint256"; readonly name: "totalLiquidity"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalBoostLiquidity"; readonly type: "uint256"; }, { readonly internalType: "uint32"; readonly name: "latestAccumulateTime"; readonly type: "uint32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "poolLength"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "poolRewarderIndex"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "renounceOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "_emergency"; readonly type: "bool"; }]; readonly name: "setEmergency"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract ILMPoolDeployer"; readonly name: "_LMPoolDeployer"; readonly type: "address"; }]; readonly name: "setLMPoolDeployer"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_operatorAddress"; readonly type: "address"; }]; readonly name: "setOperator"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "contract IVault"; readonly name: "_vault"; readonly type: "address"; }]; readonly name: "setVault"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "index"; readonly type: "uint256"; }]; readonly name: "tokenOfOwnerByIndex"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; }]; readonly name: "transferOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_newFarmBoostContract"; readonly type: "address"; }]; readonly name: "updateFarmBoostContract"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_tokenId"; readonly type: "uint256"; }]; readonly name: "updateLiquidity"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "_pids"; readonly type: "uint256[]"; }]; readonly name: "updatePools"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_pid"; readonly type: "uint256"; }, { readonly internalType: "contract IERC20"; readonly name: "_rewardToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_rewardPerSecond"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_duration"; readonly type: "uint256"; }]; readonly name: "updateRewarder"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly name: "userPositionInfos"; readonly outputs: readonly [{ readonly internalType: "uint128"; readonly name: "liquidity"; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: "boostLiquidity"; readonly type: "uint128"; }, { readonly internalType: "int24"; readonly name: "tickLower"; readonly type: "int24"; }, { readonly internalType: "int24"; readonly name: "tickUpper"; readonly type: "int24"; }, { readonly internalType: "address"; readonly name: "user"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "pid"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "boostMultiplier"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "v3PoolAddressPid"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "vault"; readonly outputs: readonly [{ readonly internalType: "contract IVault"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_tokenId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "_to"; readonly type: "address"; }]; readonly name: "withdraw"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly stateMutability: "payable"; readonly type: "receive"; }]; readonly publicClient: PublicClient; readonly contractAddress: Address$1; masterChefData?: MasterChef; private readonly masterChefV3; constructor(publicClient: PublicClient, contractAddress: Address$1); private buildContractClinet; private buildToken; private buildTokenBalance; private compareTokens; /** * 获得池子数据 * @returns */ buildFormatPoolList(): Promise; /** * 获得池子数据 * @param pid * @returns */ buildMasterPoolData(pid: bigint, showSlot?: boolean): Promise; /** * 获取池子列表 * @returns */ buildMasterPoolList(showSlot?: boolean): Promise; /** * 获得池子奖励配置信息 */ getPoolRewarderInfo(v3Pool: Address$1): Promise; /** * 获取持有的TokenId数据 * @param owner * @returns */ getOwnerTokenIds(owner: Address$1): Promise; /** * 获取持有的仓位数据 * @param owner * @returns */ getOwnerPositions(owner: Address$1, tokenIds?: bigint[]): Promise; /** * 获取仓位信息 * @param tokenId * @returns */ getPosition(tokenId: bigint): Promise; /** * 获取v3池子的pid * @param poolAddress * @returns */ getV3PoolAddressPid(poolAddress: Address$1): Promise; /** * 计算仓位fee * @param tokenIds * @param recipient * @returns */ calculatePositionFee(tokenIds: bigint[], recipient: Address$1): Promise>; /** * 计算farming 奖励 * @param options * @returns */ calculateFarmingReward(tokenIds: bigint[], recipient: Address$1): Promise>; /** * 添加流动性 * @param options * @returns */ static addCallParameters(options: FarmAddCallOptions): { calldata: `0x${string}`; value: `0x${string}`; }; /** * 移除流动性 * @param options * @returns */ static removeCallParameters(options: FarmRemoveCallOptions): { calldata: `0x${string}`; value: `0x${string}`; }; /** * 移除流动性 * 当token id 对应fram 奖励为0 时 该逻辑有问题 * @param options * @returns */ static removeCallParametersCopy(options: FarmRemoveCallOptions): { calldata: `0x${string}`; value: `0x${string}`; }; static encodeburn(tokenId: bigint): Hex; static burnCallParameters(tokenId: bigint): { calldata: `0x${string}`; value: `0x${string}`; }; /** * 收割奖励和fee * @param options * @returns */ static claimCallParameters(collectOptions: CollectOptions, recipient: Address$1): { calldata: `0x${string}`; value: `0x${string}`; }; /** * 收集仓位手续费 * @param options * @returns */ static collectCallParameters(options: CollectOptions): MethodParameters; /** * 取消质押 * @param sender * @param recipient * @param tokenId * @returns */ static withdrawCallParameters(options: WidthDrawOptions): MethodParameters; /** * 收割Farming奖励 * @param options * @returns */ static batchHarvestCallParameters(options: HarvestOptions[]): MethodParameters; /** * 100000000000000000/10^12 / 10^decamil * @param rewardPerSecond * @param decimals * @returns */ static formatRewardPerSecond(rewardPerSecond: bigint, decimals: number): string; static encodeCollect(options: CollectOptions): Hex[]; static encodeIncreaseLiquidity(options: IncreaseSpecificOptions): Hex; static encodeDecreaseLiquidity(options: RemoveSpecificOptions): Hex; static encodeHarvest(options: HarvestOptions): Hex; private static encodeWithdraw; } declare class CacheMap { private readonly _cacheMap; set(key: string, value: T): void; get(key: string): T | undefined; getAllValues(): T[]; } declare class KuramaCacheMap { private readonly _tokenCache; private readonly _FramsPoolCache; setToken(key: string, value: Token): void; getToken(key: string): Token | undefined; setFramsPool(key: string, value: MultiMasterPool): void; getFramsPool(key: string): MultiMasterPool | undefined; } declare const sdkCacheMap: KuramaCacheMap; declare class IdoUtils { static parsePrice(price: string, baseDecimal: number, quoteDecimal: number): bigint; static formatPrice(price: string, baseDecimal: number, quoteDecimal: number): string; /** * 是否失败 * @param pool * @returns */ static isPoolFaild(pool: IdoPool): boolean; /** * 是否超募 * @param pool * @returns */ static isPoolOvercap(pool: IdoPool): boolean; /** * 是否开始 * @param pool * @returns */ static isPoolStart(pool: IdoPool): boolean; /** * 是否结束 * @param pool * @returns */ static isPoolEnd(pool: IdoPool): boolean; /** * 是否可购买 * @param pool * @returns */ static isCanBid(pool: IdoPool): boolean; /** * 是否可以claim base * @param pool * @returns */ static isCanClaimedBase(pool: IdoPool, bidInfo: BidderInfo): boolean; /** * 是否可以claim quote * @param pool * @returns */ static isCanClaimedQuote(pool: IdoPool, bidInfo: BidderInfo): boolean; /** * 是否可以claim * @param pool * @param bidInfo * @returns */ static isCanClaimed(pool: IdoPool, bidInfo: BidderInfo): boolean; } declare abstract class SwapRouter { static ABI: ({ type: string; stateMutability: string; inputs: { type: string; name: string; internalType: string; }[]; outputs?: undefined; name?: undefined; } | { type: string; stateMutability: string; outputs: { type: string; name: string; internalType: string; }[]; name: string; inputs: { type: string; name: string; internalType: string; components: { type: string; name: string; internalType: string; }[]; }[]; } | { type: string; stateMutability: string; outputs: { type: string; name: string; internalType: string; }[]; name: string; inputs: { type: string; name: string; internalType: string; }[]; } | { type: string; stateMutability: string; inputs?: undefined; outputs?: undefined; name?: undefined; })[]; static swapCallParameters(tokenA: Token, tokenB: Token, fee: string, recipient: string, deadline: string, tradeType: TradeType, inputAmount: string, outputAmount: string, slippage: Percent): MethodParameters; } declare class SwapQuoter { static ABI: readonly [{ readonly type: "constructor"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "_deployer"; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "_factory"; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "_WETH9"; readonly internalType: "address"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }]; readonly name: "WETH9"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }]; readonly name: "deployer"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }]; readonly name: "factory"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly []; readonly name: "kuramaV3SwapCallback"; readonly inputs: readonly [{ readonly type: "int256"; readonly name: "amount0Delta"; readonly internalType: "int256"; }, { readonly type: "int256"; readonly name: "amount1Delta"; readonly internalType: "int256"; }, { readonly type: "bytes"; readonly name: "path"; readonly internalType: "bytes"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amountOut"; readonly internalType: "uint256"; }, { readonly type: "uint160[]"; readonly name: "sqrtPriceX96AfterList"; readonly internalType: "uint160[]"; }, { readonly type: "uint32[]"; readonly name: "initializedTicksCrossedList"; readonly internalType: "uint32[]"; }, { readonly type: "uint256"; readonly name: "gasEstimate"; readonly internalType: "uint256"; }]; readonly name: "quoteExactInput"; readonly inputs: readonly [{ readonly type: "bytes"; readonly name: "path"; readonly internalType: "bytes"; }, { readonly type: "uint256"; readonly name: "amountIn"; readonly internalType: "uint256"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amountOut"; readonly internalType: "uint256"; }, { readonly type: "uint160"; readonly name: "sqrtPriceX96After"; readonly internalType: "uint160"; }, { readonly type: "uint32"; readonly name: "initializedTicksCrossed"; readonly internalType: "uint32"; }, { readonly type: "uint256"; readonly name: "gasEstimate"; readonly internalType: "uint256"; }]; readonly name: "quoteExactInputSingle"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "params"; readonly internalType: "struct IQuoter.QuoteExactInputSingleParams"; readonly components: readonly [{ readonly type: "address"; readonly name: "tokenIn"; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "tokenOut"; readonly internalType: "address"; }, { readonly type: "uint256"; readonly name: "amountIn"; readonly internalType: "uint256"; }, { readonly type: "uint24"; readonly name: "fee"; readonly internalType: "uint24"; }, { readonly type: "uint160"; readonly name: "sqrtPriceLimitX96"; readonly internalType: "uint160"; }]; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amountIn"; readonly internalType: "uint256"; }, { readonly type: "uint160[]"; readonly name: "sqrtPriceX96AfterList"; readonly internalType: "uint160[]"; }, { readonly type: "uint32[]"; readonly name: "initializedTicksCrossedList"; readonly internalType: "uint32[]"; }, { readonly type: "uint256"; readonly name: "gasEstimate"; readonly internalType: "uint256"; }]; readonly name: "quoteExactOutput"; readonly inputs: readonly [{ readonly type: "bytes"; readonly name: "path"; readonly internalType: "bytes"; }, { readonly type: "uint256"; readonly name: "amountOut"; readonly internalType: "uint256"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amountIn"; readonly internalType: "uint256"; }, { readonly type: "uint160"; readonly name: "sqrtPriceX96After"; readonly internalType: "uint160"; }, { readonly type: "uint32"; readonly name: "initializedTicksCrossed"; readonly internalType: "uint32"; }, { readonly type: "uint256"; readonly name: "gasEstimate"; readonly internalType: "uint256"; }]; readonly name: "quoteExactOutputSingle"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "params"; readonly internalType: "struct IQuoter.QuoteExactOutputSingleParams"; readonly components: readonly [{ readonly type: "address"; readonly name: "tokenIn"; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "tokenOut"; readonly internalType: "address"; }, { readonly type: "uint256"; readonly name: "amount"; readonly internalType: "uint256"; }, { readonly type: "uint24"; readonly name: "fee"; readonly internalType: "uint24"; }, { readonly type: "uint160"; readonly name: "sqrtPriceLimitX96"; readonly internalType: "uint160"; }]; }]; }]; readonly publicClient: PublicClient; readonly contractAddress: Address; constructor(publicClient: PublicClient, contractAddress: Address); private buildContractClinet; quoteCallParameters(tokenA: Token, tokenB: Token, tradeType: TradeType, amount: string, fee: string): Promise; static quoteCallParameters(tokenA: Token, tokenB: Token, tradeType: TradeType, amount: string, fee: string): { abi: readonly [{ readonly type: "constructor"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "_deployer"; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "_factory"; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "_WETH9"; readonly internalType: "address"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }]; readonly name: "WETH9"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }]; readonly name: "deployer"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }]; readonly name: "factory"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly []; readonly name: "kuramaV3SwapCallback"; readonly inputs: readonly [{ readonly type: "int256"; readonly name: "amount0Delta"; readonly internalType: "int256"; }, { readonly type: "int256"; readonly name: "amount1Delta"; readonly internalType: "int256"; }, { readonly type: "bytes"; readonly name: "path"; readonly internalType: "bytes"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amountOut"; readonly internalType: "uint256"; }, { readonly type: "uint160[]"; readonly name: "sqrtPriceX96AfterList"; readonly internalType: "uint160[]"; }, { readonly type: "uint32[]"; readonly name: "initializedTicksCrossedList"; readonly internalType: "uint32[]"; }, { readonly type: "uint256"; readonly name: "gasEstimate"; readonly internalType: "uint256"; }]; readonly name: "quoteExactInput"; readonly inputs: readonly [{ readonly type: "bytes"; readonly name: "path"; readonly internalType: "bytes"; }, { readonly type: "uint256"; readonly name: "amountIn"; readonly internalType: "uint256"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amountOut"; readonly internalType: "uint256"; }, { readonly type: "uint160"; readonly name: "sqrtPriceX96After"; readonly internalType: "uint160"; }, { readonly type: "uint32"; readonly name: "initializedTicksCrossed"; readonly internalType: "uint32"; }, { readonly type: "uint256"; readonly name: "gasEstimate"; readonly internalType: "uint256"; }]; readonly name: "quoteExactInputSingle"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "params"; readonly internalType: "struct IQuoter.QuoteExactInputSingleParams"; readonly components: readonly [{ readonly type: "address"; readonly name: "tokenIn"; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "tokenOut"; readonly internalType: "address"; }, { readonly type: "uint256"; readonly name: "amountIn"; readonly internalType: "uint256"; }, { readonly type: "uint24"; readonly name: "fee"; readonly internalType: "uint24"; }, { readonly type: "uint160"; readonly name: "sqrtPriceLimitX96"; readonly internalType: "uint160"; }]; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amountIn"; readonly internalType: "uint256"; }, { readonly type: "uint160[]"; readonly name: "sqrtPriceX96AfterList"; readonly internalType: "uint160[]"; }, { readonly type: "uint32[]"; readonly name: "initializedTicksCrossedList"; readonly internalType: "uint32[]"; }, { readonly type: "uint256"; readonly name: "gasEstimate"; readonly internalType: "uint256"; }]; readonly name: "quoteExactOutput"; readonly inputs: readonly [{ readonly type: "bytes"; readonly name: "path"; readonly internalType: "bytes"; }, { readonly type: "uint256"; readonly name: "amountOut"; readonly internalType: "uint256"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amountIn"; readonly internalType: "uint256"; }, { readonly type: "uint160"; readonly name: "sqrtPriceX96After"; readonly internalType: "uint160"; }, { readonly type: "uint32"; readonly name: "initializedTicksCrossed"; readonly internalType: "uint32"; }, { readonly type: "uint256"; readonly name: "gasEstimate"; readonly internalType: "uint256"; }]; readonly name: "quoteExactOutputSingle"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "params"; readonly internalType: "struct IQuoter.QuoteExactOutputSingleParams"; readonly components: readonly [{ readonly type: "address"; readonly name: "tokenIn"; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "tokenOut"; readonly internalType: "address"; }, { readonly type: "uint256"; readonly name: "amount"; readonly internalType: "uint256"; }, { readonly type: "uint24"; readonly name: "fee"; readonly internalType: "uint24"; }, { readonly type: "uint160"; readonly name: "sqrtPriceLimitX96"; readonly internalType: "uint160"; }]; }]; }]; functionName: string; args: { tokenIn: any; tokenOut: any; amount: bigint; fee: bigint; sqrtPriceLimitX96: string; }[]; }; } 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$1; constructor(publicClient: PublicClient, contractAddress: Address$1); private buildContractClinet; getPoolAddress(addressA: Address$1, addressB: Address$1, 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[]; }; } declare class KuramaV3Token { static ABI: readonly [{ readonly type: "constructor"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "string"; readonly name: "_name"; readonly internalType: "string"; }, { readonly type: "string"; readonly name: "_symbol"; readonly internalType: "string"; }, { readonly type: "uint8"; readonly name: "_decimals"; readonly internalType: "uint8"; }, { readonly type: "uint256"; readonly name: "_faucet_amount"; readonly internalType: "uint256"; }]; }, { readonly type: "event"; readonly name: "Approval"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "owner"; readonly internalType: "address"; readonly indexed: true; }, { readonly type: "address"; readonly name: "spender"; readonly internalType: "address"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "value"; readonly internalType: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "event"; readonly name: "Transfer"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; readonly internalType: "address"; readonly indexed: true; }, { readonly type: "address"; readonly name: "to"; readonly internalType: "address"; readonly indexed: true; }, { readonly type: "uint256"; readonly name: "value"; readonly internalType: "uint256"; readonly indexed: false; }]; readonly anonymous: false; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: ""; readonly internalType: "uint256"; }]; readonly name: "allowance"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "owner"; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "spender"; readonly internalType: "address"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "bool"; readonly name: ""; readonly internalType: "bool"; }]; readonly name: "approve"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "spender"; readonly internalType: "address"; }, { readonly type: "uint256"; readonly name: "amount"; readonly internalType: "uint256"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: ""; readonly internalType: "uint256"; }]; /** * 验证和批准代币转账 * @param owner * @param spender * @param amount * @returns */ readonly name: "balanceOf"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "account"; readonly internalType: "address"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint8"; readonly name: ""; readonly internalType: "uint8"; }]; readonly name: "decimals"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "bool"; readonly name: ""; readonly internalType: "bool"; }]; readonly name: "decreaseAllowance"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "spender"; readonly internalType: "address"; }, { readonly type: "uint256"; readonly name: "subtractedValue"; readonly internalType: "uint256"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "faucet"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "_to"; readonly internalType: "address"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "bool"; readonly name: ""; readonly internalType: "bool"; }]; readonly name: "increaseAllowance"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "spender"; readonly internalType: "address"; }, { readonly type: "uint256"; readonly name: "addedValue"; readonly internalType: "uint256"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly []; readonly name: "mint"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "_to"; readonly internalType: "address"; }, { readonly type: "uint256"; readonly name: "_amount"; readonly internalType: "uint256"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "string"; readonly name: ""; readonly internalType: "string"; }]; readonly name: "name"; 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: "string"; readonly name: ""; readonly internalType: "string"; }]; readonly name: "symbol"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: ""; readonly internalType: "uint256"; }]; readonly name: "totalSupply"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "bool"; readonly name: ""; readonly internalType: "bool"; }]; readonly name: "transfer"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "to"; readonly internalType: "address"; }, { readonly type: "uint256"; readonly name: "amount"; readonly internalType: "uint256"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "bool"; readonly name: ""; readonly internalType: "bool"; }]; readonly name: "transferFrom"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "from"; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "to"; readonly internalType: "address"; }, { readonly type: "uint256"; readonly name: "amount"; readonly internalType: "uint256"; }]; }]; readonly publicClient: PublicClient; readonly address: Address$1; constructor(publicClient: PublicClient, address: Address$1); readToken(): Promise; getTokenBalance(address: Address$1): Promise; getBalance(address: Address$1): Promise; /** * 验证和批准代币转账 * @param owner * @param spender * @param amount * @returns */ ensureSufficientAndApproveCallParameters(owner: Address$1, spender: Address$1, amount: bigint): Promise; encodeEnsureSufficientAndApprove(owner: Address$1, spender: Address$1, amount: bigint): Promise; getAllowance(owner: Address$1, spender: Address$1): Promise; static approveCallParameters(spender: Address$1, amount: bigint): MethodParameters; static encodeApprove(spender: Address$1, amount: bigint): `0x${string}`; static faucetCallParameters(to: Address$1): MethodParameters; } declare class NonfungiblePositionManager { static ABI: readonly [{ readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_deployer"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_factory"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_WETH9"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_tokenDescriptor_"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "approved"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "operator"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "approved"; readonly type: "bool"; }]; readonly name: "ApprovalForAll"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly name: "Collect"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint128"; readonly name: "liquidity"; readonly type: "uint128"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly name: "DecreaseLiquidity"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint128"; readonly name: "liquidity"; readonly type: "uint128"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly name: "IncreaseLiquidity"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "Transfer"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "DOMAIN_SEPARATOR"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "PERMIT_TYPEHASH"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "WETH9"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "approve"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }]; readonly name: "balanceOf"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "baseURI"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "burn"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly internalType: "uint128"; readonly name: "amount0Max"; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: "amount1Max"; readonly type: "uint128"; }]; readonly internalType: "struct INonfungiblePositionManager.CollectParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "collect"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token0"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token1"; readonly type: "address"; }, { readonly internalType: "uint24"; readonly name: "fee"; readonly type: "uint24"; }, { readonly internalType: "uint160"; readonly name: "sqrtPriceX96"; readonly type: "uint160"; }]; readonly name: "createAndInitializePoolIfNecessary"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: "pool"; readonly type: "address"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }, { readonly internalType: "uint128"; readonly name: "liquidity"; readonly type: "uint128"; }, { readonly internalType: "uint256"; readonly name: "amount0Min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1Min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly internalType: "struct INonfungiblePositionManager.DecreaseLiquidityParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "decreaseLiquidity"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "deployer"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "factory"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "getApproved"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount0Desired"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1Desired"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount0Min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1Min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly internalType: "struct INonfungiblePositionManager.IncreaseLiquidityParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "increaseLiquidity"; readonly outputs: readonly [{ readonly internalType: "uint128"; readonly name: "liquidity"; readonly type: "uint128"; }, { readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "operator"; readonly type: "address"; }]; readonly name: "isApprovedForAll"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "amount0Owed"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1Owed"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly name: "kuramaV3MintCallback"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "token0"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token1"; readonly type: "address"; }, { readonly internalType: "uint24"; readonly name: "fee"; readonly type: "uint24"; }, { readonly internalType: "int24"; readonly name: "tickLower"; readonly type: "int24"; }, { readonly internalType: "int24"; readonly name: "tickUpper"; readonly type: "int24"; }, { readonly internalType: "uint256"; readonly name: "amount0Desired"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1Desired"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount0Min"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1Min"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }]; readonly internalType: "struct INonfungiblePositionManager.MintParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "mint"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }, { readonly internalType: "uint128"; readonly name: "liquidity"; readonly type: "uint128"; }, { readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly name: "multicall"; readonly outputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "results"; readonly type: "bytes[]"; }]; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "name"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "ownerOf"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }]; readonly name: "permit"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "positions"; readonly outputs: readonly [{ readonly internalType: "uint96"; readonly name: "nonce"; readonly type: "uint96"; }, { readonly internalType: "address"; readonly name: "operator"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token0"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token1"; readonly type: "address"; }, { readonly internalType: "uint24"; readonly name: "fee"; readonly type: "uint24"; }, { readonly internalType: "int24"; readonly name: "tickLower"; readonly type: "int24"; }, { readonly internalType: "int24"; readonly name: "tickUpper"; readonly type: "int24"; }, { readonly internalType: "uint128"; readonly name: "liquidity"; readonly type: "uint128"; }, { readonly internalType: "uint256"; readonly name: "feeGrowthInside0LastX128"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "feeGrowthInside1LastX128"; readonly type: "uint256"; }, { readonly internalType: "uint128"; readonly name: "tokensOwed0"; readonly type: "uint128"; }, { readonly internalType: "uint128"; readonly name: "tokensOwed1"; readonly type: "uint128"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "refundETH"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "safeTransferFrom"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "_data"; readonly type: "bytes"; }]; readonly name: "safeTransferFrom"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }]; readonly name: "selfPermit"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "nonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "expiry"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }]; readonly name: "selfPermitAllowed"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "nonce"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "expiry"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }]; readonly name: "selfPermitAllowedIfNecessary"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }]; readonly name: "selfPermitIfNecessary"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "operator"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "approved"; readonly type: "bool"; }]; readonly name: "setApprovalForAll"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes4"; readonly name: "interfaceId"; readonly type: "bytes4"; }]; readonly name: "supportsInterface"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amountMinimum"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }]; readonly name: "sweepToken"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "symbol"; readonly outputs: readonly [{ readonly internalType: "string"; /** * 质押 * @param sender * @param recipient * @param tokenId * @returns */ readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "index"; readonly type: "uint256"; }]; readonly name: "tokenByIndex"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "index"; readonly type: "uint256"; }]; readonly name: "tokenOfOwnerByIndex"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "tokenURI"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "totalSupply"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "tokenId"; readonly type: "uint256"; }]; readonly name: "transferFrom"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "amountMinimum"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }]; readonly name: "unwrapWETH9"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly stateMutability: "payable"; readonly type: "receive"; }]; readonly publicClient: PublicClient; readonly contractAddress: Address$1; constructor(publicClient: PublicClient, contractAddress: Address$1); private buildContractClinet; getOwnerOf(tokenId: BigintIsh): Promise<`0x${string}`>; getOwnerTokenIds(owner: Address$1): Promise; getOwnerPositions(owner: Address$1, tokenIds?: BigintIsh[]): Promise; getPosition(tokenId: BigintIsh): Promise; calculatePositionFee(tokenId: bigint, recipient: Address$1): Promise<{ amount0: bigint; amount1: bigint; }>; static calculateLiquidityByAmount(sqrtPriceX96: bigint, tickLower: number, tickUpper: number, amount: BigintIsh, fix_amount_0: boolean, slippage: Percent, round_up: boolean): { liquidity: bigint; amount0Desired: bigint; amount1Desired: bigint; amount0Min: bigint; amount1Min: bigint; }; static calculateAmountsByLiquidity(sqrtPriceX96: bigint, tickLower: number, tickUpper: number, liquidity: bigint, slippage: Percent, round_up: boolean): { token0Amount: BigintIsh; token1Amount: BigintIsh; amount0Min: bigint; amount1Min: bigint; }; static addCallParameters(options: AddCallOptions): MethodParameters; static removeCallParameters(options: RemoveCallOptions): MethodParameters; private static encodeMint; static encodeIncreaseLiquidity(options: IncreaseSpecificOptions): Hex; static encodeDecreaseLiquidity(options: RemoveSpecificOptions): Hex; static collectCallParameters(options: CollectOptions): MethodParameters; static encodeCollect(options: CollectOptions): Hex[]; static encodeburn(tokenId: bigint): Hex; /** * 质押 * @param sender * @param recipient * @param tokenId * @returns */ static stakeCallParameters(options: StakeOptions): MethodParameters; private static encodeCreate; } declare abstract class Multicall { static ABI: readonly [{ readonly inputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "data"; readonly type: "bytes[]"; }]; readonly name: "multicall"; readonly outputs: readonly [{ readonly internalType: "bytes[]"; readonly name: "results"; readonly type: "bytes[]"; }]; readonly stateMutability: "payable"; readonly type: "function"; }]; /** * Cannot be constructed. */ private constructor(); static encodeMulticall(calldatas: Hex | Hex[]): Hex; /** * ETH -> WETH * @returns */ static encodeDepositETH(): `0x${string}`; /** * WETH->eth * @returns */ static encodeWithdrawETH(amount: bigint): `0x${string}`; static encodeRefundETH(): `0x${string}`; static encodeUnwrapWETH9(amountMinimum: bigint, recipient: Address): `0x${string}`; static encodeSweepToken(tokenAddress: Address, amountMinimum: bigint, recipient: Address): `0x${string}`; } declare class KuramaV3Event { readonly publicClient: PublicClient; private timeCache; constructor(publicClient: PublicClient); getEventRecords(address: Address$1[], type: EventType, fromBlock?: bigint, toBlock?: bigint): Promise; getTimestampForBlock(blockNumber: bigint): Promise; private verifyEventInfo; } declare class KuramaIdoFactory { static ABI: readonly [{ readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_WETH"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "baseToken"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "quoteToken"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "crowdPool"; readonly type: "address"; }]; readonly name: "CreateCrowdPool"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "previousOwner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; }]; readonly name: "OwnershipTransferred"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "WETH"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly name: "_CP_ADDRESSES_"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "_PID_"; readonly outputs: readonly [{ /** * 创建池子 * @param options */ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "_REGISTRY_"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "addressList"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "timeLine"; readonly type: "uint256[]"; }, { readonly internalType: "uint256[]"; readonly name: "valueList"; readonly type: "uint256[]"; }]; readonly name: "createCrowdPooling"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "owner"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "renounceOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; }]; readonly name: "transferOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; readonly publicClient: PublicClient; readonly contractAddress: Address$1; constructor(publicClient: PublicClient, contractAddress: Address$1); private buildContractClinet; /** * 获取池子列表信息 * @returns */ getPoolList(): Promise; /** * 获取池子信息 * @param poolAddress * @returns */ getPoolInfo(poolAddress: string): Promise; /** * 创建池子 * @param options */ createPoolParameters(options: CreateIdoPoolOptions): MethodParameters | undefined; } declare class KuramaIdoPool { static ABI: readonly [{ readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_WETH"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address[]"; readonly name: "users"; readonly type: "address[]"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "AddWhiteList"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "user"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "Bid"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "user"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "ClaimBaseToken"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "user"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "ClaimQuoteToken"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "baseToken"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "quoteToken"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "crowdPool"; readonly type: "address"; }]; readonly name: "Init"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "previousOwner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; }]; readonly name: "OwnershipTransferred"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint256"; readonly name: "bidStartTime"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "bidEndTime"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "claimBaseStartTime"; readonly type: "uint256"; }]; readonly name: "UpdateTimeLine"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address[]"; readonly name: "users"; readonly type: "address[]"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "UpdateWhiteList"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "user"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "baseAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "quoteAmount"; readonly type: "uint256"; }]; readonly name: "Withdraw"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "WETH"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "_BASE_TOKEN_"; readonly outputs: readonly [{ readonly internalType: "contract IERC20"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "_BIDDER_INFOS_"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "bidQuoteAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "protectionQuoteAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "obtainedBaseAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "usedQuoteAmount"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "isSettle"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "baseClaimed"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "quoteClaimed"; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "_FORCE_STOP_"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "_INIT_"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "_IS_WITHDRAW_"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "_MAX_BID_AMOUNT_"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "_MIN_BID_AMOUNT_"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "_OWNER_"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "_PHASE_BID_ENDTIME_"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "_PHASE_BID_STARTTIME_"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "_PHASE_CLAIM_BASE_STARTTIME_"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "_POOL_QUOTE_CAP_"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "_POOL_QUOTE_LIMIT_"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "_POOL_QUOTE_RESERVE_"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "_PRICE_"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "_PRICE_MULTIPLIER_"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "_PROTECTION_ADDRESSES_"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "_PROTECTION_QUOTE_ALLOWED_"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "_PROTECTION_QUOTE_CAP_"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "_PROTECTION_QUOTE_USED_"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "_QUOTE_TOKEN_"; readonly outputs: readonly [{ readonly internalType: "contract IERC20"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "_TOTAL_BASE_"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "addresses"; readonly type: "address[]"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "add_whitelist"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "bid"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "claim"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "claim_base"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "claim_quote"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "forceStop"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "bidder"; readonly type: "address"; }]; readonly name: "getAllowProtectionAmount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "addressList"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "timeLine"; readonly type: "uint256[]"; }, { readonly internalType: "uint256[]"; readonly name: "valueList"; readonly type: "uint256[]"; }]; readonly name: "init"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "owner"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "renounceOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "newOwner"; readonly type: "address"; }]; readonly name: "transferOwnership"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "timeLine"; readonly type: "uint256[]"; }]; readonly name: "updateTimeLine"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "timeLine"; readonly type: "uint256[]"; }]; readonly name: "updateTimeLineOnlyTest"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "addresses"; readonly type: "address[]"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "update_whitelist"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "withdraw"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly stateMutability: "payable"; readonly type: "receive"; }]; readonly publicClient: PublicClient; readonly poolAddress: Address$1; private poolInfo; /** * 用户白名单额度 */ private useProtectionMap; /** * 用户购买信息 */ private useBindderMap; constructor(publicClient: PublicClient, poolAddress: Address$1); private buildContractClinet; /** * 获取用户的白名单限制额度 * @param user * @returns */ getUserProtectionAmount(user: string): Promise; /** * 获取用户购买信息 * @param user * @returns */ getUseBidderInfo(user: string, refresh?: boolean): Promise; /** * 获取池子信息 * @param useCache * @returns */ getPoolInfo(useCache?: boolean): Promise; /** * 购买 * @param options */ bidParameters(amount: string, isWeth: boolean): MethodParameters; /** * 项目方提现 * @returns */ withdrawParameters(): MethodParameters; /** * 计算项目方可提现数量 */ calculateWithdrawAmount(): Promise; /** * 计算用户可提取数量 * @returns */ calculateClaimAmount(bidderInfo: BidderInfo): Promise; claimParameters(claimBase: boolean, claimQuote: boolean): MethodParameters; private encodeClaimBase; private encodeClaim; private encodeClaimQuote; } export { ADDRESS_ZERO, AddCallOptions, BidderInfo, BigintIsh, CacheMap, ChainId, ChefV3Position, ClaimAmounts, CollectOptions, CommonAddLiquidityOptions, CreateIdoPoolOptions, CreatePoolOptions, CurrencyAmount, DecreaseLiquidityEvent, EventInfo, EventType, FIVE, FarmAddCallOptions, FarmRemoveCallOptions, Fraction, FramFormatPool, FullMath, HarvestOptions, IdoPool, IdoUtils, IncreaseLiquidityyEvent, IncreaseSpecificOptions, KuramaIdoFactory, KuramaIdoPool, KuramaV3Event, KuramaV3Factory, KuramaV3Pool, KuramaV3Token, MAX_FEE, MAX_UINT128, MINIMUM_LIQUIDITY, MasterChef, MasterChefV3, MasterChefV3AddPoolEvent, MasterPool, MaxUint256, MethodParameters, MintOptions, MultiChefV3Position, MultiMasterChefV3, MultiMasterPool, Multicall, NEGATIVE_ONE, NonfungiblePositionManager, ONE, PRECISION_FACTOR, PRICE_MULTIPLIER, Percent, Pool, PoolRewarderInfo, Position, PositionMath, Price, Q128, Q192, Q96, RemoveCallOptions, RemoveSpecificOptions, Rounding, SdkConfig, SdkConfigInfo, Slot, SqrtPriceMath, StakeOptions, SwapEvent, SwapQuoter, SwapRouter, TEN, THREE, TWO, TickMath, Token, TokenAmounts, TradeType, VMType, VM_TYPE_MAXIMA, WidthDrawOptions, WithdrawAmounts, ZERO, _100, _10000, _9975, adjustForSlippage, adjustForTokenSlippage, amountToBN, calculateGasMargin, calculatePriceStep, decodeSqrtRatioX96, encodeSqrtRatioX96, fixedDecimals, fixedPrice, getMinimumDigit, isDirect, isSwapArg, maxDecimals, maxLiquidityForAmounts, mostSignificantBit, nearestUsableTick, parseProtocolFees, priceToClosestTick, priceToRatioX96, priceToTick, sanitizeNumericalString, sdkCacheMap, sqrt, tickToPrice, tryParsePrice, tryParseTick, validateAndParseAddress };