UNPKG

test-raydium-sdk-v2

Version:

An SDK for building applications on top of Raydium.

124 lines (121 loc) 4.04 kB
import { PublicKey, Keypair, Signer, TransactionInstruction, Transaction } from '@solana/web3.js'; import BN__default from 'bn.js'; import { bI as TransferAmountFee, c4 as Price, c3 as Percent, b$ as TokenAmount, m as ApiV3PoolInfoItem, t as PoolKeys } from '../../type-91d108de.js'; import { Token } from '../../module/token.js'; import { c as ClmmPoolInfo } from '../../type-470cf205.js'; import '@solana/spl-token'; import '../../common/txTool/txType.js'; import '../../common/owner.js'; import '../../common/txTool/lookupTable.js'; import 'decimal.js'; import '../../marshmallow/index.js'; import '../../marshmallow/buffer-layout.js'; import '../../common/logger.js'; import '../../module/currency.js'; import '../../common/pubKey.js'; import '../clmm/layout.js'; interface ComputeAmountOutAmmLayout { amountIn: TransferAmountFee; amountOut: TransferAmountFee; minAmountOut: TransferAmountFee; currentPrice: Price | undefined; executionPrice: Price | null; priceImpact: Percent; fee: TokenAmount[]; routeType: "amm"; poolInfo: ApiV3PoolInfoItem[]; poolKey: PoolKeys[]; remainingAccounts: PublicKey[][]; poolReady: boolean; poolType: "CLMM" | "STABLE" | undefined; feeConfig?: { feeAmount: BN__default; feeAccount: PublicKey; }; expirationTime: number | undefined; } interface ComputeAmountOutRouteLayout { amountIn: TransferAmountFee; amountOut: TransferAmountFee; minAmountOut: TransferAmountFee; currentPrice: Price | undefined; executionPrice: Price | null; priceImpact: Percent; fee: TokenAmount[]; routeType: "route"; poolInfo: ApiV3PoolInfoItem[]; poolKey: PoolKeys[]; remainingAccounts: (PublicKey[] | undefined)[]; minMiddleAmountFee: TokenAmount | undefined; middleToken: Token; poolReady: boolean; poolType: (string | undefined)[]; feeConfig?: { feeAmount: BN__default; feeAccount: PublicKey; }; expirationTime: number | undefined; } declare type ComputeAmountOutLayout = ComputeAmountOutAmmLayout | ComputeAmountOutRouteLayout; declare type MakeSwapInstructionParam = { ownerInfo: { wallet: PublicKey; sourceToken: PublicKey; routeToken?: PublicKey; destinationToken: PublicKey; userPdaAccount?: PublicKey; }; inputMint: PublicKey; routeProgram: PublicKey; swapInfo: ComputeAmountOutLayout; }; interface PoolAccountInfoV4 { ammId: string; status: BN__default; baseDecimals: number; quoteDecimals: number; lpDecimals: number; baseReserve: BN__default; quoteReserve: BN__default; lpSupply: BN__default; startTime: BN__default; } interface ReturnTypeFetchMultipleInfo { [ammId: string]: PoolAccountInfoV4; } declare type ReturnTypeGetAddLiquidityDefaultPool = ApiV3PoolInfoItem | undefined; interface ReturnTypeMakeSwapInstruction { signers: (Keypair | Signer)[]; instructions: TransactionInstruction[]; instructionTypes: string[]; address: { [key: string]: PublicKey; }; lookupTableAddress: string[]; } interface ReturnTypeMakeSwapTransaction { transactions: { transaction: Transaction; signer: (Keypair | Signer)[]; }[]; address: { [key: string]: PublicKey; }; } declare type RoutePathType = { [routeMint: string]: { mintProgram: PublicKey; in: PoolKeys[]; out: PoolKeys[]; mDecimals: number; }; }; interface ReturnTypeGetAllRoute { directPath: PoolKeys[]; addLiquidityPools: ApiV3PoolInfoItem[]; routePathDict: RoutePathType; needSimulate: ApiV3PoolInfoItem[]; needTickArray: ClmmPoolInfo[]; needCheckToken: string[]; } export { ComputeAmountOutAmmLayout, ComputeAmountOutLayout, ComputeAmountOutRouteLayout, MakeSwapInstructionParam, PoolAccountInfoV4, ReturnTypeFetchMultipleInfo, ReturnTypeGetAddLiquidityDefaultPool, ReturnTypeGetAllRoute, ReturnTypeMakeSwapInstruction, ReturnTypeMakeSwapTransaction, RoutePathType };