UNPKG

@drift-labs/sdk

Version:
27 lines 2.4 kB
/// <reference types="bn.js" /> import { User } from '../user'; import { PerpMarketAccount, AMM, Order, PositionDirection, ProtectedMakerParams } from '../types'; import { BN } from '@coral-xyz/anchor'; import { 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(order: Order, oraclePriceData: OraclePriceData, 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, oraclePriceData: OraclePriceData, slot: number, ts: number, minAuctionDuration: number): boolean; export declare function calculateBaseAssetAmountForAmmToFulfill(order: Order, market: PerpMarketAccount, oraclePriceData: OraclePriceData, slot: number): BN; export declare function calculateBaseAssetAmountToFillUpToLimitPrice(order: Order, amm: AMM, limitPrice: BN, oraclePriceData: OraclePriceData): 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