@kamino-finance/kliquidity-sdk
Version:
Typescript SDK for interacting with the Kamino Liquidity (kliquidity) protocol
49 lines • 3.26 kB
TypeScript
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