UNPKG

@raydium-io/raydium-sdk-v2

Version:

An SDK for building applications on top of Raydium.

180 lines (177 loc) 6.99 kB
import { TransferFeeConfig } from '@solana/spl-token'; import BN__default from 'bn.js'; import Decimal from 'decimal.js'; import { bZ as GetTransferAmountFee } from '../../../api-23ae421b.js'; import { LaunchpadPool, LaunchpadConfig } from '../layout.js'; import { PoolBaseAmount, CurveBase } from './curveBase.js'; import 'axios'; import '../../../solana/type.js'; import '@solana/web3.js'; 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'; interface SwapInfoReturn { amountA: GetTransferAmountFee; amountB: BN__default; splitFee: ReturnType<typeof Curve.splitFee>; } declare class Curve { static getPoolCurvePointByPoolInfo({ curveType, pointCount, poolInfo, }: { curveType: number; poolInfo: ReturnType<typeof LaunchpadPool.decode>; pointCount: number; }): { price: Decimal; totalSellSupply: number; }[]; static getPoolCurvePointByInit({ curveType, pointCount, supply, totalFundRaising, totalSell, totalLockedAmount, migrateFee, decimalA, decimalB, }: { curveType: number; supply: BN__default; totalSell: BN__default; totalLockedAmount: BN__default; totalFundRaising: BN__default; migrateFee: BN__default; decimalA: number; decimalB: number; pointCount: number; }): { price: Decimal; totalSellSupply: number; }[]; static getPoolInitPriceByPool({ poolInfo, decimalA, decimalB, curveType, }: { poolInfo: ReturnType<typeof LaunchpadPool.decode> | PoolBaseAmount; decimalA: number; decimalB: number; curveType: number; }): Decimal; static getPoolInitPriceByInit({ a, b, decimalA, decimalB, curveType, }: { a: BN__default; b: BN__default; decimalA: number; decimalB: number; curveType: number; }): Decimal; static getPrice({ poolInfo, curveType, decimalA, decimalB, }: { poolInfo: ReturnType<typeof LaunchpadPool.decode> | { virtualA: BN__default; virtualB: BN__default; realA: BN__default; realB: BN__default; }; decimalA: number; decimalB: number; curveType: number; }): Decimal; static getEndPrice({ poolInfo, curveType, decimalA, decimalB, }: { poolInfo: ReturnType<typeof LaunchpadPool.decode>; curveType: number; decimalA: number; decimalB: number; }): Decimal; static getPoolEndPriceReal({ poolInfo, curveType, decimalA, decimalB, }: { poolInfo: ReturnType<typeof LaunchpadPool.decode>; curveType: number; decimalA: number; decimalB: number; }): Decimal; static checkParam({ supply, totalFundRaising, totalSell, totalLockedAmount, decimals, config, migrateType, }: { supply: BN__default; totalSell: BN__default; totalLockedAmount: BN__default; totalFundRaising: BN__default; decimals: number; config: ReturnType<typeof LaunchpadConfig.decode>; migrateType: "amm" | "cpmm"; }): void; /** * @returns Please note that amountA/B is subject to change */ static buyExactIn({ poolInfo, amountB, protocolFeeRate, platformFeeRate, curveType, shareFeeRate, creatorFeeRate, transferFeeConfigA, slot, }: { poolInfo: ReturnType<typeof LaunchpadPool.decode> | (PoolBaseAmount & { totalSellA: BN__default; totalFundRaisingB: BN__default; }); amountB: BN__default; protocolFeeRate: BN__default; platformFeeRate: BN__default; curveType: number; shareFeeRate: BN__default; creatorFeeRate: BN__default; transferFeeConfigA: TransferFeeConfig | undefined; slot: number; }): SwapInfoReturn; /** * @returns Please note that amountA/B is subject to change */ static buyExactOut({ poolInfo, amountA, protocolFeeRate, platformFeeRate, curveType, shareFeeRate, creatorFeeRate, transferFeeConfigA, slot, }: { poolInfo: ReturnType<typeof LaunchpadPool.decode> | (PoolBaseAmount & { totalSellA: BN__default; totalFundRaisingB: BN__default; }); amountA: BN__default; protocolFeeRate: BN__default; platformFeeRate: BN__default; curveType: number; shareFeeRate: BN__default; creatorFeeRate: BN__default; transferFeeConfigA: TransferFeeConfig | undefined; slot: number; }): SwapInfoReturn; static sellExactIn({ poolInfo, amountA: _amountA, protocolFeeRate, platformFeeRate, curveType, shareFeeRate, creatorFeeRate, transferFeeConfigA, slot, }: { poolInfo: ReturnType<typeof LaunchpadPool.decode> | PoolBaseAmount; amountA: BN__default; protocolFeeRate: BN__default; platformFeeRate: BN__default; curveType: number; shareFeeRate: BN__default; creatorFeeRate: BN__default; transferFeeConfigA: TransferFeeConfig | undefined; slot: number; }): SwapInfoReturn; static sellExactOut({ poolInfo, amountB, protocolFeeRate, platformFeeRate, curveType, shareFeeRate, creatorFeeRate, transferFeeConfigA, slot, }: { poolInfo: ReturnType<typeof LaunchpadPool.decode> | PoolBaseAmount; amountB: BN__default; protocolFeeRate: BN__default; platformFeeRate: BN__default; curveType: number; shareFeeRate: BN__default; creatorFeeRate: BN__default; transferFeeConfigA: TransferFeeConfig | undefined; slot: number; }): SwapInfoReturn; static splitFee({ totalFee, protocolFeeRate, platformFeeRate, shareFeeRate, creatorFeeRate, }: { totalFee: BN__default; protocolFeeRate: BN__default; platformFeeRate: BN__default; shareFeeRate: BN__default; creatorFeeRate: BN__default; }): { platformFee: BN__default; shareFee: BN__default; protocolFee: BN__default; creatorFee: BN__default; }; static calculateFee({ amount, feeRate }: { amount: BN__default; feeRate: BN__default; }): BN__default; static calculatePreFee({ postFeeAmount, feeRate }: { postFeeAmount: BN__default; feeRate: BN__default; }): BN__default; static totalFeeRate({ protocolFeeRate, platformFeeRate, shareFeeRate, creatorFeeRate, }: { protocolFeeRate: BN__default; platformFeeRate: BN__default; shareFeeRate: BN__default; creatorFeeRate: BN__default; }): BN__default; static getCurve(curveType: number): typeof CurveBase; } export { Curve, SwapInfoReturn };