@kamino-finance/kliquidity-sdk
Version:
Typescript SDK for interacting with the Kamino Liquidity (kliquidity) protocol
38 lines • 2.12 kB
TypeScript
import { Address, Rpc, SolanaRpcApi } from '@solana/kit';
import Decimal from 'decimal.js';
import { PoolData } from '@orca-so/whirlpool-sdk';
import { OrcaWhirlpoolsResponse, Whirlpool } from './OrcaWhirlpoolsResponse';
import { SolanaCluster } from '@hubbleprotocol/hubble-config';
import { WhirlpoolStrategy } from '../@codegen/kliquidity/accounts';
import { WhirlpoolAprApy } from './WhirlpoolAprApy';
import { GenericPoolInfo, LiquidityDistribution } from '../utils';
import { CollateralInfo } from '../@codegen/kliquidity/types';
import { KaminoPrices } from '../models';
import { Connection } from '@solana/web3.js';
export declare class OrcaService {
private readonly _rpc;
private readonly _legacyConnection;
private readonly _whirlpoolProgramId;
private readonly _orcaNetwork;
private readonly _orcaApiUrl;
constructor(rpc: Rpc<SolanaRpcApi>, legacyConnection: Connection, cluster: SolanaCluster, whirlpoolProgramId?: Address);
getWhirlpoolProgramId(): Address;
getOrcaWhirlpools(): Promise<OrcaWhirlpoolsResponse>;
/**
* Get token prices for a strategy - for use with orca sdk
* @param strategy
* @param prices
* @param collateralInfos
* @returns {Record<string, Decimal>} - token prices by mint string
* @private
*/
private getTokenPrices;
private getPoolTokensPrices;
getPool(poolAddress: Address): Promise<PoolData | null>;
getStrategyWhirlpoolPoolAprApy(strategy: WhirlpoolStrategy, collateralInfos: CollateralInfo[], prices: KaminoPrices, whirlpools?: Whirlpool[]): Promise<WhirlpoolAprApy>;
getWhirlpoolLiquidityDistribution(pool: Address, keepOrder?: boolean, lowestTick?: number, highestTick?: number): Promise<LiquidityDistribution>;
getWhirlpoolPositionAprApy(poolPubkey: Address, priceLower: Decimal, priceUpper: Decimal, prices: KaminoPrices, whirlpools?: Whirlpool[]): Promise<WhirlpoolAprApy>;
getGenericPoolInfo(poolPubkey: Address, whirlpools?: Whirlpool[]): Promise<GenericPoolInfo>;
getPositionsCountByPool(pool: Address): Promise<number>;
}
//# sourceMappingURL=OrcaService.d.ts.map