UNPKG

@drift-labs/sdk

Version:
27 lines 2.51 kB
/// <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