import { Address, SenderArguments } from '@ton/ton'; import { Api } from 'tonapi-sdk-js'; import { Jetton, JettonAmount, Percent, Position } from '../entities'; import { WalletVersion } from '../types/WalletVersion'; export declare enum SwapType { TON_TO_JETTON = 0, JETTON_TO_TON = 1, JETTON_TO_JETTON = 2 } export declare class PoolMessageManager { /** * Cannot be constructed. */ private constructor(); static gasUsage: { TRANSFER_GAS: bigint; MINT_GAS: bigint; SWAP_GAS: bigint; SWAP_GAS_SLIPPAGE: bigint; BURN_GAS: bigint; BURN_GAS_SLIPPAGE: bigint; DEPLOY_POOL_GAS: bigint; }; static createDeployPoolMessage(jetton0Minter: Address, jetton1Minter: Address, sqrtPriceX96: bigint, settings: bigint, jetton0Wallet: Address, jetton1Wallet: Address): SenderArguments; static createMintMessage(routerJetton0Wallet: Address, routerJetton1Wallet: Address, userJetton0Wallet: Address, userJetton1Wallet: Address, position: Position, recipient: Address, slippage?: Percent, // 1 % queryId?: number | bigint, txFee?: bigint, // 0.4 forwardGas?: bigint): SenderArguments[]; static createEmulatedMintMessage(routerJetton0Wallet: Address, routerJetton1Wallet: Address, userJetton0Wallet: Address, userJetton1Wallet: Address, position: Position, recipient: Address, slippage?: Percent, // 1 % queryId?: number | bigint, client?: Api, // ton api client wallet_public_key?: string, walletVersion?: WalletVersion): Promise<{ messages: SenderArguments[]; txFee: bigint; forwardGas: bigint; gasLimit: bigint; }>; static createBurnMessage(poolAddress: Address, tokenId: number, tickLower: number, tickUpper: number, liquidityToBurn: bigint, txFee?: bigint, forwardGas?: bigint): SenderArguments; static createEmulatedBurnMessage(poolAddress: Address, tokenId: number, tickLower: number, tickUpper: number, liquidityToBurn: bigint, amount0: JettonAmount | undefined, amount1: JettonAmount | undefined, feeAmount0: JettonAmount | undefined, feeAmount1: JettonAmount | undefined, client?: Api, // ton api client wallet?: string, wallet_public_key?: string, walletVersion?: WalletVersion): Promise<{ message: SenderArguments; txFee: bigint; forwardGas: bigint; gasLimit: bigint; }>; static createCollectMessage(poolAddress: Address, tokenId: number, tickLower: number, tickUpper: number, txFee?: bigint, forwardGas?: bigint): SenderArguments; static createEmulatedCollectMessage(poolAddress: Address, tokenId: number, tickLower: number, tickUpper: number, feeAmount0: JettonAmount | undefined, feeAmount1: JettonAmount | undefined, client?: Api, // ton api client wallet?: string, wallet_public_key?: string, walletVersion?: WalletVersion): Promise<{ message: SenderArguments; txFee: bigint; forwardGas: bigint; gasLimit: bigint; }>; static createMultihopHops(jettonPath: Address[], // path of jetton attached to router recipient: Address, amountIn: bigint, minimumAmountsOut: bigint[], priceLimitsSqrt: bigint[], jettonsAreInOrder: boolean[], swapTypes: SwapType[], txFee: bigint | undefined, // 0.4 forwardGas: bigint | undefined, // TODO isMainCell: boolean, hops: bigint, pathString: string): any; static createSwapExactInMultihopMessage(userJettonWallet: Address, // input jetton wallet attached to user jettonPath: Address[], // path of jetton attached to router recipient: Address, amountIn: bigint, minimumAmountsOut: bigint[], priceLimitsSqrt: bigint[], jettonsAreInOrder: boolean[], swapTypes: SwapType[], txFee?: bigint, // 0.4 forwardGas?: bigint): SenderArguments; static createSwapExactInMessage(userJettonWallet: Address, // input jetton wallet attached to user routerJettonWallet: Address, // output jetton wallet attached to router recipient: Address, amountIn: bigint, minimumAmountOut: bigint, priceLimitSqrt: bigint, swapType: SwapType, txFee?: bigint, // 0.4 forwardGas?: bigint): SenderArguments; static createEmulatedSwapExactInMessage(userJettonWallet: Address, routerJettonWallet: Address, recipient: Address, amountIn: bigint, minimumAmountOut: bigint, priceLimitSqrt: bigint, swapType: SwapType, client?: Api, // ton api client wallet_public_key?: string, walletVersion?: WalletVersion): Promise<{ message: SenderArguments; txFee: bigint; forwardGas: bigint; gasLimit: bigint; }>; static createEmulatedSwapMultihopMessage(userJettonWallet: Address, // input jetton wallet attached to user jettonPath: Address[], // path of jetton attached to router recipient: Address, amountIn: bigint, minimumAmountsOut: bigint[], priceLimitsSqrt: bigint[], jettonsAreInOrder: boolean[], swapTypes: SwapType[], client?: Api, // ton api client wallet_public_key?: string, walletVersion?: WalletVersion): Promise<{ message: SenderArguments; txFee: bigint; forwardGas: bigint; gasLimit: bigint; }>; }