UNPKG

@drift-labs/sdk-browser

Version:
65 lines (64 loc) 2.06 kB
/// <reference types="bn.js" /> import { Order, PositionDirection } from '../types'; import { BN } from '@coral-xyz/anchor'; import { PerpMarketAccount } from '../types'; export declare function isAuctionComplete(order: Order, slot: number): boolean; export declare function isFallbackAvailableLiquiditySource(order: Order, minAuctionDuration: number, slot: number): boolean; /** * * @param order * @param slot * @param oraclePrice Use MMOraclePriceData source for perp orders, OraclePriceData for spot * @returns BN */ export declare function getAuctionPrice(order: Order, slot: number, oraclePrice: BN): BN; export declare function getAuctionPriceForFixedAuction(order: Order, slot: number): BN; /** * * @param order * @param slot * @param oraclePrice Use MMOraclePriceData source for perp orders, OraclePriceData for spot * @returns */ export declare function getAuctionPriceForOracleOffsetAuction(order: Order, slot: number, oraclePrice: BN): BN; export declare function deriveOracleAuctionParams({ direction, oraclePrice, auctionStartPrice, auctionEndPrice, limitPrice, auctionPriceCaps, }: { direction: PositionDirection; oraclePrice: BN; auctionStartPrice: BN; auctionEndPrice: BN; limitPrice: BN; auctionPriceCaps?: { min: BN; max: BN; }; }): { auctionStartPrice: BN; auctionEndPrice: BN; oraclePriceOffset: number; }; /** * * @param params Use OraclePriceData.price for oraclePrice param * @returns */ export declare function getTriggerAuctionStartPrice(params: { perpMarket: PerpMarketAccount; direction: PositionDirection; oraclePrice: BN; limitPrice?: BN; }): BN; /** * * @param params Use OraclePriceData.price for oraclePrice param and MMOraclePriceData.price for mmOraclePrice * @returns */ export declare function getTriggerAuctionStartAndExecutionPrice(params: { perpMarket: PerpMarketAccount; direction: PositionDirection; oraclePrice: BN; mmOraclePrice: BN; limitPrice?: BN; }): { startPrice: BN; executionPrice: BN; };