UNPKG

@kamino-finance/kliquidity-sdk

Version:

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

49 lines 3.26 kB
import { Address, ProgramDerivedAddress, Rpc, SolanaRpcApi } from '@solana/kit'; import { Pool, RaydiumPoolsResponse } from './RaydiumPoolsResponse'; import Decimal from 'decimal.js'; import { WhirlpoolAprApy } from './WhirlpoolAprApy'; import { type WhirlpoolStrategy } from '../@codegen/kliquidity/accounts'; import { GenericPoolInfo, LiquidityDistribution } from '../utils'; import { ApiV3PoolInfoConcentratedItem, ApiV3PoolInfoCountItem, ClmmParsedRpcData, ComputeClmmPoolInfo, ReturnTypeFetchExBitmaps, ReturnTypeFetchMultipleMintInfos } from '@raydium-io/raydium-sdk-v2/lib'; import { ReturnTypeGetTickPrice } from '../utils/raydiumSdkCompat'; import { Logger } from '../utils/Logger'; export declare class RaydiumService { private readonly _rpc; private readonly _raydiumProgramId; private readonly _logger; constructor(rpc: Rpc<SolanaRpcApi>, raydiumProgramId?: Address, logger?: Logger); getRaydiumProgramId(): Address; getRaydiumWhirlpools(): Promise<RaydiumPoolsResponse>; getRaydiumPoolInfo(poolPubkey: Address, poolStats?: RaydiumPoolStatsSource): Promise<ApiV3PoolInfoConcentratedItem>; getRaydiumApiPoolInfo(poolId: string): Promise<ApiV3PoolInfoConcentratedItem | undefined>; getRaydiumPoolLiquidityDistribution(pool: Address, keepOrder?: boolean, lowestTick?: number, highestTick?: number): Promise<LiquidityDistribution>; getStrategyWhirlpoolPoolAprApy: (strategy: WhirlpoolStrategy, pools?: Pool[]) => Promise<WhirlpoolAprApy>; getRaydiumPositionAprApy: (poolPubkey: Address, priceLower: Decimal, priceUpper: Decimal, pools?: Pool[]) => Promise<WhirlpoolAprApy>; getGenericPoolInfo(poolPubkey: Address, pools?: Pool[]): Promise<GenericPoolInfo>; getPositionsCountByPool(pool: Address): Promise<number>; getTickPrice(tick: number, tokenADecimals: number, tokenBDecimals: number, baseIn?: boolean): ReturnTypeGetTickPrice; getRpcClmmPoolInfo(poolId: string): Promise<ClmmParsedRpcData>; fetchComputeClmmInfo(poolInfoWithAddress: ClmmRpcDataWithAddress): Promise<ComputeClmmPoolInfo>; fetchExBitmaps(exBitmapAddress: Address[]): Promise<ReturnTypeFetchExBitmaps>; fetchComputeMultipleClmmInfo(poolList: ClmmRpcDataWithAddress[]): Promise<Record<string, ComputeClmmPoolInfo>>; fetchMultipleMintInfos(mints: Address[]): Promise<ReturnTypeFetchMultipleMintInfos>; getComputeClmmPoolInfo(clmmPoolRpcInfoWithAddress: ClmmRpcDataWithAddress): Promise<ComputeClmmPoolInfo>; getPoolInfoFromRpc(poolId: string, poolStats?: RaydiumPoolStatsSource): Promise<ApiV3PoolInfoConcentratedItem>; clmmComputeInfoToApiInfo(pool: ComputeClmmPoolInfo, poolStats?: RaydiumPoolStatsSource): ApiV3PoolInfoConcentratedItem; } export interface ClmmRpcDataWithAddress { address: Address; clmmPoolRpcInfo: ClmmParsedRpcData; } type RaydiumCountStatsSource = Partial<Omit<ApiV3PoolInfoCountItem, 'rewardApr'>> & { rewardApr?: unknown; }; export type RaydiumPoolStatsSource = { day?: RaydiumCountStatsSource; week?: RaydiumCountStatsSource; month?: RaydiumCountStatsSource; tvl?: number; }; export declare function getPdaExBitmapAccount(programId: Address, poolId: Address): Promise<ProgramDerivedAddress>; export {}; //# sourceMappingURL=RaydiumService.d.ts.map