UNPKG

@marinade.finance/kamino-sdk

Version:
35 lines (34 loc) 1.88 kB
import { Connection, PublicKey } from '@solana/web3.js'; 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 '../kamino-client/accounts'; import { OraclePrices, ScopeToken } from '@hubbleprotocol/scope-sdk'; import { WhirlpoolAprApy } from './WhirlpoolAprApy'; import { GenericPoolInfo, LiquidityDistribution } from '../utils'; export declare class OrcaService { private readonly _connection; private readonly _cluster; private readonly _orcaNetwork; private readonly _orcaApiUrl; private readonly _globalConfig; constructor(connection: Connection, cluster: SolanaCluster, globalConfig: PublicKey); 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: PublicKey): Promise<PoolData | null>; getStrategyWhirlpoolPoolAprApy(strategy: WhirlpoolStrategy, whirlpools?: Whirlpool[], prices?: OraclePrices): Promise<WhirlpoolAprApy>; getWhirlpoolLiquidityDistribution(pool: PublicKey, keepOrder?: boolean, lowestTick?: number, highestTick?: number): Promise<LiquidityDistribution>; getWhirlpoolPositionAprApy(poolPubkey: PublicKey, priceLower: Decimal, priceUpper: Decimal, whirlpools?: Whirlpool[], prices?: ScopeToken[]): Promise<WhirlpoolAprApy>; getGenericPoolInfo(poolPubkey: PublicKey, whirlpools?: Whirlpool[]): Promise<GenericPoolInfo>; getPositionsCountByPool(pool: PublicKey): Promise<number>; }