@drift-labs/sdk
Version:
SDK for Drift Protocol
27 lines • 2.4 kB
TypeScript
/// <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