@raydium-io/raydium-sdk-v2
Version:
An SDK for building applications on top of Raydium.
96 lines (93 loc) • 5.55 kB
TypeScript
import { EpochInfo, PublicKey } from '@solana/web3.js';
import BN__default from 'bn.js';
import Decimal from 'decimal.js';
import { p as ApiV3PoolInfoConcentratedItem } from '../../../api-c27cc5ec.js';
import { g as ReturnTypeGetLiquidityAmountOut, Q as TickArray } from '../../../type-a4faa080.js';
import { TickArrayBitmapExtensionLayout } from '../layout.js';
import 'axios';
import '../../../solana/type.js';
import '@solana/spl-token';
import '../../../api/url.js';
import '../../../common/owner.js';
import '../../../common/txTool/lookupTable.js';
import '../../../common/txTool/txType.js';
import '../../../module/token.js';
import '../../../common/pubKey.js';
import '../../../common/logger.js';
import '../../../module/currency.js';
import '../../../marshmallow/index.js';
import '../../../marshmallow/buffer-layout.js';
declare class MathUtil {
static mulDivRoundingUp(a: BN__default, b: BN__default, denominator: BN__default): BN__default;
static mulDivFloor(a: BN__default, b: BN__default, denominator: BN__default): BN__default;
static mulDivCeil(a: BN__default, b: BN__default, denominator: BN__default): BN__default;
static x64ToDecimal(num: BN__default, decimalPlaces?: number): Decimal;
static decimalToX64(num: Decimal): BN__default;
static wrappingSubU128(n0: BN__default, n1: BN__default): BN__default;
}
declare class SqrtPriceMath {
static sqrtPriceX64ToPrice(sqrtPriceX64: BN__default, decimalsA: number, decimalsB: number): Decimal;
static priceToSqrtPriceX64(price: Decimal, decimalsA: number, decimalsB: number): BN__default;
static getNextSqrtPriceX64FromInput(sqrtPriceX64: BN__default, liquidity: BN__default, amountIn: BN__default, zeroForOne: boolean): BN__default;
static getNextSqrtPriceX64FromOutput(sqrtPriceX64: BN__default, liquidity: BN__default, amountOut: BN__default, zeroForOne: boolean): BN__default;
private static getNextSqrtPriceFromTokenAmountARoundingUp;
private static getNextSqrtPriceFromTokenAmountBRoundingDown;
static getSqrtPriceX64FromTick(tick: number): BN__default;
static getTickFromPrice(price: Decimal, decimalsA: number, decimalsB: number): number;
static getTickFromSqrtPriceX64(sqrtPriceX64: BN__default): number;
}
declare class TickMath {
static getTickWithPriceAndTickspacing(price: Decimal, tickSpacing: number, mintDecimalsA: number, mintDecimalsB: number): number;
static roundPriceWithTickspacing(price: Decimal, tickSpacing: number, mintDecimalsA: number, mintDecimalsB: number): Decimal;
}
declare class LiquidityMath {
static addDelta(x: BN__default, y: BN__default): BN__default;
static getTokenAmountAFromLiquidity(sqrtPriceX64A: BN__default, sqrtPriceX64B: BN__default, liquidity: BN__default, roundUp: boolean): BN__default;
static getTokenAmountBFromLiquidity(sqrtPriceX64A: BN__default, sqrtPriceX64B: BN__default, liquidity: BN__default, roundUp: boolean): BN__default;
static getLiquidityFromTokenAmountA(sqrtPriceX64A: BN__default, sqrtPriceX64B: BN__default, amountA: BN__default, roundUp: boolean): BN__default;
static getLiquidityFromTokenAmountB(sqrtPriceX64A: BN__default, sqrtPriceX64B: BN__default, amountB: BN__default): BN__default;
static getLiquidityFromTokenAmounts(sqrtPriceCurrentX64: BN__default, sqrtPriceX64A: BN__default, sqrtPriceX64B: BN__default, amountA: BN__default, amountB: BN__default): BN__default;
static getAmountsFromLiquidity(sqrtPriceCurrentX64: BN__default, sqrtPriceX64A: BN__default, sqrtPriceX64B: BN__default, liquidity: BN__default, roundUp: boolean): {
amountA: BN__default;
amountB: BN__default;
};
static getAmountsFromLiquidityWithSlippage(sqrtPriceCurrentX64: BN__default, sqrtPriceX64A: BN__default, sqrtPriceX64B: BN__default, liquidity: BN__default, amountMax: boolean, roundUp: boolean, amountSlippage: number): {
amountSlippageA: BN__default;
amountSlippageB: BN__default;
};
static getAmountsOutFromLiquidity({ poolInfo, tickLower, tickUpper, liquidity, slippage, add, epochInfo, amountAddFee, }: {
poolInfo: ApiV3PoolInfoConcentratedItem;
tickLower: number;
tickUpper: number;
liquidity: BN__default;
slippage: number;
add: boolean;
epochInfo: EpochInfo;
amountAddFee: boolean;
}): ReturnTypeGetLiquidityAmountOut;
}
interface StepComputations {
sqrtPriceStartX64: BN__default;
tickNext: number;
initialized: boolean;
sqrtPriceNextX64: BN__default;
amountIn: BN__default;
amountOut: BN__default;
feeAmount: BN__default;
}
declare abstract class SwapMath {
static swapCompute(programId: PublicKey, poolId: PublicKey, tickArrayCache: {
[key: string]: TickArray;
}, tickArrayBitmap: BN__default[], tickarrayBitmapExtension: ReturnType<typeof TickArrayBitmapExtensionLayout.decode>, zeroForOne: boolean, fee: number, liquidity: BN__default, currentTick: number, tickSpacing: number, currentSqrtPriceX64: BN__default, amountSpecified: BN__default, lastSavedTickArrayStartIndex: number, sqrtPriceLimitX64?: BN__default, catchLiquidityInsufficient?: boolean): {
allTrade: boolean;
amountSpecifiedRemaining: BN__default;
amountCalculated: BN__default;
feeAmount: BN__default;
sqrtPriceX64: BN__default;
liquidity: BN__default;
tickCurrent: number;
accounts: PublicKey[];
};
private static swapStepCompute;
}
export { LiquidityMath, MathUtil, SqrtPriceMath, StepComputations, SwapMath, TickMath };