UNPKG

@drift-labs/sdk-browser

Version:
45 lines (44 loc) 1.96 kB
/// <reference types="bn.js" /> import { BN } from '@coral-xyz/anchor'; import { PerpMarketAccount } from '../types'; import { MMOraclePriceData, OraclePriceData } from '../oracles/types'; /** * * @param market * @param oraclePriceData * @param periodAdjustment * @returns Estimated funding rate. : Precision //TODO-PRECISION */ export declare function calculateAllEstimatedFundingRate(market: PerpMarketAccount, mmOraclePriceData?: MMOraclePriceData, oraclePriceData?: OraclePriceData, markPrice?: BN, now?: BN): [BN, BN, BN, BN, BN]; /** * Calculate funding rates in human-readable form. Values will have some lost precision and shouldn't be used in strict accounting. * @param period : 'hour' | 'year' :: Use 'hour' for the hourly payment as a percentage, 'year' for the payment as an estimated APR. */ export declare function calculateFormattedLiveFundingRate(market: PerpMarketAccount, mmOraclePriceData: MMOraclePriceData, oraclePriceData: OraclePriceData, period: 'hour' | 'year'): { longRate: number; shortRate: number; fundingRateUnit: string; formattedFundingRateSummary: string; }; /** * * @param market * @param oraclePriceData * @param periodAdjustment * @returns Estimated funding rate. : Precision //TODO-PRECISION */ export declare function calculateLongShortFundingRate(market: PerpMarketAccount, mmOraclePriceData?: MMOraclePriceData, oraclePriceData?: OraclePriceData, markPrice?: BN, now?: BN): [BN, BN]; /** * * @param market * @param oraclePriceData * @param periodAdjustment * @returns Estimated funding rate. : Precision //TODO-PRECISION */ export declare function calculateLongShortFundingRateAndLiveTwaps(market: PerpMarketAccount, mmOraclePriceData?: MMOraclePriceData, oraclePriceData?: OraclePriceData, markPrice?: BN, now?: BN): [BN, BN, BN, BN]; /** * * @param market * @returns Estimated fee pool size */ export declare function calculateFundingPool(market: PerpMarketAccount): BN;