@drift-labs/sdk-browser
Version:
SDK for Drift Protocol
45 lines (44 loc) • 1.96 kB
TypeScript
/// <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;