test-raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
124 lines (121 loc) • 4.04 kB
TypeScript
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 };