UNPKG

@orca-so/whirlpool-sdk

Version:

Whirlpool SDK for the Orca protocol.

69 lines (68 loc) 1.76 kB
import { PublicKey } from "@solana/web3.js"; import BN from "bn.js"; import Decimal from "decimal.js"; /*** Pool ***/ export declare type PoolData = { address: PublicKey; tokenMintA: PublicKey; tokenMintB: PublicKey; tickSpacing: number; feeRate: number; protocolFeeRate: number; liquidity: BN; sqrtPrice: BN; tickCurrentIndex: number; protocolFeeOwedA: BN; protocolFeeOwedB: BN; tokenVaultAmountA: BN; tokenVaultAmountB: BN; rewards: PoolRewardInfo[]; feeGrowthGlobalAX64: BN; feeGrowthGlobalBX64: BN; feePercentage: Decimal; protocolFeePercentage: Decimal; price: Decimal; decimalProtocolFeeOwedA: Decimal; decimalProtocolFeeOwedB: Decimal; decimalTokenVaultAmountA: Decimal; decimalTokenVaultAmountB: Decimal; tokenDecimalsA: number; tokenDecimalsB: number; }; export declare type PoolRewardInfo = { mint: PublicKey; vault: PublicKey; vaultAmount?: BN; emissionsPerSecondX64: BN; growthGlobalX64: BN; decimalVaultAmount?: Decimal; emissionsPerSecond?: Decimal; }; /*** Position ***/ export declare type UserPositionData = { address: PublicKey; poolAddress: PublicKey; positionMint: PublicKey; liquidity: BN; tickLowerIndex: number; tickUpperIndex: number; feeOwedA: BN; feeOwedB: BN; rewards: UserPositionRewardInfo[]; priceLower: Decimal; priceUpper: Decimal; decimalFeeOwedA: Decimal; decimalFeeOwedB: Decimal; }; export declare type UserPositionRewardInfo = { mint: PublicKey; amountOwed?: BN; decimalAmountOwed?: Decimal; }; /*** Misc ***/ export declare type UserToken = { address: PublicKey; amount?: string; decimals?: number; mint?: string; };