UNPKG

@kamino-finance/kliquidity-sdk

Version:

Typescript SDK for interacting with the Kamino Liquidity (kliquidity) protocol

47 lines 2.74 kB
import { PersonalPositionLayout } from '@raydium-io/raydium-sdk-v2/lib'; import { PublicKey } from '@solana/web3.js'; import BN from 'bn.js'; import Decimal from 'decimal.js'; export type ReturnTypeGetTickPrice = { tick: number; price: Decimal; tickSqrtPriceX64: BN; }; export type RaydiumPersonalPositionInfo = ReturnType<typeof PersonalPositionLayout.decode>; export declare function decodeRaydiumPersonalPosition(data: Buffer): RaydiumPersonalPositionInfo; export declare function i32ToBytes(num: number): Uint8Array; export declare function getPdaProtocolPositionAddress(programId: PublicKey, poolId: PublicKey, tickLower: number, tickUpper: number): { publicKey: PublicKey; nonce: number; }; export declare class RaydiumSqrtPriceMath { static sqrtPriceX64ToPrice(sqrtPriceX64: BN, decimalsA: number, decimalsB: number): Decimal; static priceToSqrtPriceX64(price: Decimal, decimalsA: number, decimalsB: number): BN; static getSqrtPriceX64FromTick(tick: number): BN; static getTickFromPrice(price: Decimal, decimalsA: number, decimalsB: number): number; static getTickFromSqrtPriceX64(sqrtPriceX64: BN): number; } export declare class RaydiumTickMath { static getTickWithPriceAndTickspacing(price: Decimal, tickSpacing: number, mintDecimalsA: number, mintDecimalsB: number): number; static roundPriceWithTickspacing(price: Decimal, tickSpacing: number, mintDecimalsA: number, mintDecimalsB: number): Decimal; } export declare class RaydiumLiquidityMath { static addDelta(x: BN, y: BN): BN; static getTokenAmountAFromLiquidity(sqrtPriceX64A: BN, sqrtPriceX64B: BN, liquidity: BN, roundUp: boolean): BN; static getTokenAmountBFromLiquidity(sqrtPriceX64A: BN, sqrtPriceX64B: BN, liquidity: BN, roundUp: boolean): BN; static getLiquidityFromTokenAmountA(sqrtPriceX64A: BN, sqrtPriceX64B: BN, amountA: BN, _roundUp: boolean): BN; static getLiquidityFromTokenAmountB(sqrtPriceX64A: BN, sqrtPriceX64B: BN, amountB: BN): BN; static getLiquidityFromTokenAmounts(sqrtPriceCurrentX64: BN, sqrtPriceX64A: BN, sqrtPriceX64B: BN, amountA: BN, amountB: BN): BN; static getAmountsFromLiquidity(sqrtPriceCurrentX64: BN, sqrtPriceX64A: BN, sqrtPriceX64B: BN, liquidity: BN, roundUp: boolean): { amountA: BN; amountB: BN; }; static getAmountsFromLiquidityWithSlippage(sqrtPriceCurrentX64: BN, sqrtPriceX64A: BN, sqrtPriceX64B: BN, liquidity: BN, amountMax: boolean, roundUp: boolean, amountSlippage: number): { amountSlippageA: BN; amountSlippageB: BN; }; } export declare class RaydiumTickUtils { static getTickArrayStartIndexByTick(tickIndex: number, tickSpacing: number): number; } //# sourceMappingURL=raydiumSdkCompat.d.ts.map