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