test-raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
177 lines (174 loc) • 7.54 kB
TypeScript
import { PublicKey, Connection, EpochInfo } from '@solana/web3.js';
import BN__default from 'bn.js';
import { c as ClmmPoolInfo, N as TickArray, T as TickArrayBitmapExtensionType, n as ClmmPoolRewardLayoutInfo, b as ClmmPoolRewardInfo, y as ReturnTypeFetchExBitmaps, k as ReturnTypeFetchMultiplePoolTickArrays, S as SDKParsedConcentratedInfo, j as ReturnTypeComputeAmountOut, i as ReturnTypeComputeAmountOutFormat, g as ReturnTypeGetLiquidityAmountOut } from '../../../type-470cf205.js';
import { k as ApiV3PoolInfoConcentratedItem, bL as ReturnTypeFetchMultipleMintInfos, b$ as TokenAmount, c3 as Percent } from '../../../type-91d108de.js';
import { TokenAccountRaw } from '../../account/types.js';
import Decimal from 'decimal.js';
import { Token } from '../../../module/token.js';
import '../../../common/txTool/txType.js';
import '../layout.js';
import '../../../marshmallow/index.js';
import '../../../marshmallow/buffer-layout.js';
import '@solana/spl-token';
import '../../../common/owner.js';
import '../../../common/txTool/lookupTable.js';
import '../../../common/logger.js';
import '../../../module/currency.js';
import '../../account/layout.js';
import '../../../common/pubKey.js';
declare class PoolUtils {
static getOutputAmountAndRemainAccounts(poolInfo: ClmmPoolInfo, tickArrayCache: {
[key: string]: TickArray;
}, inputTokenMint: PublicKey, inputAmount: BN__default, sqrtPriceLimitX64?: BN__default): {
expectedAmountOut: BN__default;
remainingAccounts: PublicKey[];
executionPrice: BN__default;
feeAmount: BN__default;
};
static getInputAmountAndRemainAccounts(poolInfo: ClmmPoolInfo, tickArrayCache: {
[key: string]: TickArray;
}, outputTokenMint: PublicKey, outputAmount: BN__default, sqrtPriceLimitX64?: BN__default): {
expectedAmountIn: BN__default;
remainingAccounts: PublicKey[];
executionPrice: BN__default;
feeAmount: BN__default;
};
static getFirstInitializedTickArray(poolInfo: ClmmPoolInfo, zeroForOne: boolean): {
isExist: true;
startIndex: number;
nextAccountMeta: PublicKey;
} | {
isExist: false;
startIndex: undefined;
nextAccountMeta: undefined;
};
static preInitializedTickArrayStartIndex(poolInfo: ClmmPoolInfo, zeroForOne: boolean): {
isExist: boolean;
nextStartIndex: number;
};
static nextInitializedTickArrayStartIndex(poolInfo: {
tickCurrent: number;
tickSpacing: number;
tickArrayBitmap: BN__default[];
exBitmapInfo: TickArrayBitmapExtensionType;
} | ClmmPoolInfo, lastTickArrayStartIndex: number, zeroForOne: boolean): {
isExist: boolean;
nextStartIndex: number;
};
static updatePoolRewardInfos({ connection, apiPoolInfo, chainTime, poolLiquidity, rewardInfos, }: {
connection: Connection;
apiPoolInfo: ApiV3PoolInfoConcentratedItem;
chainTime: number;
poolLiquidity: BN__default;
rewardInfos: ClmmPoolRewardLayoutInfo[];
}): Promise<ClmmPoolRewardInfo[]>;
static isOverflowDefaultTickarrayBitmap(tickSpacing: number, tickarrayStartIndexs: number[]): boolean;
static tickRange(tickSpacing: number): {
maxTickBoundary: number;
minTickBoundary: number;
};
static get_tick_array_offset(tickarrayStartIndex: number, tickSpacing: number): number;
static fetchExBitmaps({ connection, exBitmapAddress, batchRequest, }: {
connection: Connection;
exBitmapAddress: PublicKey[];
batchRequest: boolean;
}): Promise<ReturnTypeFetchExBitmaps>;
static fetchMultiplePoolTickArrays({ connection, poolKeys, batchRequest, }: {
connection: Connection;
poolKeys: ClmmPoolInfo[];
batchRequest?: boolean;
}): Promise<ReturnTypeFetchMultiplePoolTickArrays>;
static fetchPoolsAccountPosition({ pools, connection, ownerInfo, batchRequest, updateOwnerRewardAndFee, }: {
pools: SDKParsedConcentratedInfo[];
connection: Connection;
ownerInfo: {
wallet: PublicKey;
tokenAccounts: TokenAccountRaw[];
};
batchRequest?: boolean;
updateOwnerRewardAndFee?: boolean;
}): Promise<SDKParsedConcentratedInfo[]>;
static computeAmountOut({ poolInfo, tickArrayCache, baseMint, token2022Infos, epochInfo, amountIn, slippage, priceLimit, }: {
poolInfo: ClmmPoolInfo;
tickArrayCache: {
[key: string]: TickArray;
};
baseMint: PublicKey;
token2022Infos: ReturnTypeFetchMultipleMintInfos;
epochInfo: EpochInfo;
amountIn: BN__default;
slippage: number;
priceLimit?: Decimal;
}): ReturnTypeComputeAmountOut;
static computeAmountOutFormat({ poolInfo, tickArrayCache, token2022Infos, amountIn, tokenOut: _tokenOut, slippage, epochInfo, }: {
poolInfo: ClmmPoolInfo;
tickArrayCache: {
[key: string]: TickArray;
};
token2022Infos: ReturnTypeFetchMultipleMintInfos;
amountIn: TokenAmount;
tokenOut: Token;
slippage: Percent;
epochInfo: EpochInfo;
}): Promise<ReturnTypeComputeAmountOutFormat>;
static estimateAprsForPriceRangeMultiplier({ poolInfo, aprType, positionTickLowerIndex, positionTickUpperIndex, }: {
poolInfo: ApiV3PoolInfoConcentratedItem;
aprType: "day" | "week" | "month";
positionTickLowerIndex: number;
positionTickUpperIndex: number;
}): {
feeApr: number;
rewardsApr: number[];
apr: number;
};
static estimateAprsForPriceRangeDelta({ poolInfo, poolLiquidity, aprType, mintPrice, liquidity, positionTickLowerIndex, positionTickUpperIndex, chainTime, }: {
poolInfo: ApiV3PoolInfoConcentratedItem;
poolLiquidity: BN__default;
aprType: "day" | "week" | "month";
mintPrice: {
[mint: string]: {
value: number;
};
};
liquidity: BN__default;
positionTickLowerIndex: number;
positionTickUpperIndex: number;
chainTime: number;
}): {
feeApr: number;
rewardsApr: number[];
apr: number;
};
static getLiquidityAmountOutFromAmountIn({ poolInfo, inputA, tickLower, tickUpper, amount, slippage, add, epochInfo, amountHasFee, }: {
poolInfo: ApiV3PoolInfoConcentratedItem;
inputA: boolean;
tickLower: number;
tickUpper: number;
amount: BN__default;
slippage: number;
add: boolean;
epochInfo: EpochInfo;
amountHasFee: boolean;
}): Promise<ReturnTypeGetLiquidityAmountOut>;
static getAmountsFromLiquidity({ epochInfo, poolInfo, tickLower, tickUpper, liquidity, slippage, add, }: {
epochInfo: EpochInfo;
poolInfo: ApiV3PoolInfoConcentratedItem;
tickLower: number;
tickUpper: number;
liquidity: BN__default;
slippage: number;
add: boolean;
}): Promise<ReturnTypeGetLiquidityAmountOut>;
}
declare function getLiquidityFromAmounts({ poolInfo, tickLower, tickUpper, amountA, amountB, slippage, add, epochInfo, amountHasFee, }: {
poolInfo: ApiV3PoolInfoConcentratedItem;
tickLower: number;
tickUpper: number;
amountA: BN__default;
amountB: BN__default;
slippage: number;
add: boolean;
epochInfo: EpochInfo;
amountHasFee: boolean;
}): ReturnTypeGetLiquidityAmountOut;
export { PoolUtils, getLiquidityFromAmounts };