@drift-labs/sdk
Version:
SDK for Drift Protocol
27 lines • 2.51 kB
TypeScript
/// <reference types="bn.js" />
import { User } from '../user';
import { PerpMarketAccount, AMM, Order, PositionDirection, ProtectedMakerParams, MarketTypeStr } from '../types';
import { BN } from '@coral-xyz/anchor';
import { MMOraclePriceData, OraclePriceData } from '../oracles/types';
export declare function isOrderRiskIncreasing(user: User, order: Order): boolean;
export declare function isOrderRiskIncreasingInSameDirection(user: User, order: Order): boolean;
export declare function isOrderReduceOnly(user: User, order: Order): boolean;
export declare function standardizeBaseAssetAmount(baseAssetAmount: BN, stepSize: BN): BN;
export declare function standardizePrice(price: BN, tickSize: BN, direction: PositionDirection): BN;
export declare function getLimitPrice<T extends MarketTypeStr>(order: Order, oraclePriceData: T extends 'spot' ? OraclePriceData : MMOraclePriceData, slot: number, fallbackPrice?: BN, protectedMakerParams?: ProtectedMakerParams): BN | undefined;
export declare function applyProtectedMakerParams(limitPrice: BN, direction: PositionDirection, protectedMakerParams: ProtectedMakerParams): BN;
export declare function hasLimitPrice(order: Order, slot: number): boolean;
export declare function hasAuctionPrice(order: Order, slot: number): boolean;
export declare function isFillableByVAMM(order: Order, market: PerpMarketAccount, mmOraclePriceData: MMOraclePriceData, slot: number, ts: number, minAuctionDuration: number): boolean;
export declare function calculateBaseAssetAmountForAmmToFulfill(order: Order, market: PerpMarketAccount, mmOraclePriceData: MMOraclePriceData, slot: number): BN;
export declare function calculateBaseAssetAmountToFillUpToLimitPrice(order: Order, amm: AMM, limitPrice: BN, mmOraclePriceData: MMOraclePriceData): BN;
export declare function isOrderExpired(order: Order, ts: number, enforceBuffer?: boolean, bufferSeconds?: number): boolean;
export declare function isMarketOrder(order: Order): boolean;
export declare function isLimitOrder(order: Order): boolean;
export declare function mustBeTriggered(order: Order): boolean;
export declare function isTriggered(order: Order): boolean;
export declare function isRestingLimitOrder(order: Order, slot: number): boolean;
export declare function isTakingOrder(order: Order, slot: number): boolean;
export declare function isSignedMsgOrder(order: Order): boolean;
export declare function calculateOrderBaseAssetAmount(order: Order, existingBaseAssetAmount: BN): BN;
//# sourceMappingURL=orders.d.ts.map