UNPKG

@drift-labs/sdk-browser

Version:
408 lines (407 loc) 16.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SwapReduceOnly = exports.PlaceAndTakeOrderSuccessCondition = exports.FuelOverflowStatus = exports.ReferrerStatus = exports.DefaultOrderParams = exports.ModifyOrderPolicy = exports.OrderParamsBitFlag = exports.PostOnlyParams = exports.LiquidationType = exports.LPAction = exports.TradeSide = exports.getVariant = exports.isOneOfVariant = exports.isVariant = exports.SettlePnlMode = exports.StakeAction = exports.SpotFulfillmentConfigStatus = exports.SettlePnlExplanation = exports.DepositExplanation = exports.SpotFulfillmentStatus = exports.SpotFulfillmentType = exports.OrderTriggerCondition = exports.OrderActionExplanation = exports.OrderAction = exports.OrderBitFlag = exports.OrderStatus = exports.MarketType = exports.OrderType = exports.OracleSourceNum = exports.OracleSource = exports.DepositDirection = exports.PositionDirection = exports.SpotBalanceType = exports.SwapDirection = exports.TokenProgramFlag = exports.AssetTier = exports.ContractTier = exports.ContractType = exports.MarginMode = exports.UserStatus = exports.InsuranceFundOperation = exports.SpotOperation = exports.PerpOperation = exports.MarketStatus = exports.FeatureBitFlags = exports.ExchangeStatus = void 0; const numericConstants_1 = require("./constants/numericConstants"); // # Utility Types / Enums / Constants var ExchangeStatus; (function (ExchangeStatus) { ExchangeStatus[ExchangeStatus["ACTIVE"] = 0] = "ACTIVE"; ExchangeStatus[ExchangeStatus["DEPOSIT_PAUSED"] = 1] = "DEPOSIT_PAUSED"; ExchangeStatus[ExchangeStatus["WITHDRAW_PAUSED"] = 2] = "WITHDRAW_PAUSED"; ExchangeStatus[ExchangeStatus["AMM_PAUSED"] = 4] = "AMM_PAUSED"; ExchangeStatus[ExchangeStatus["FILL_PAUSED"] = 8] = "FILL_PAUSED"; ExchangeStatus[ExchangeStatus["LIQ_PAUSED"] = 16] = "LIQ_PAUSED"; ExchangeStatus[ExchangeStatus["FUNDING_PAUSED"] = 32] = "FUNDING_PAUSED"; ExchangeStatus[ExchangeStatus["SETTLE_PNL_PAUSED"] = 64] = "SETTLE_PNL_PAUSED"; ExchangeStatus[ExchangeStatus["AMM_IMMEDIATE_FILL_PAUSED"] = 128] = "AMM_IMMEDIATE_FILL_PAUSED"; ExchangeStatus[ExchangeStatus["PAUSED"] = 255] = "PAUSED"; })(ExchangeStatus || (exports.ExchangeStatus = ExchangeStatus = {})); var FeatureBitFlags; (function (FeatureBitFlags) { FeatureBitFlags[FeatureBitFlags["MM_ORACLE_UPDATE"] = 1] = "MM_ORACLE_UPDATE"; FeatureBitFlags[FeatureBitFlags["MEDIAN_TRIGGER_PRICE"] = 2] = "MEDIAN_TRIGGER_PRICE"; })(FeatureBitFlags || (exports.FeatureBitFlags = FeatureBitFlags = {})); class MarketStatus { } exports.MarketStatus = MarketStatus; MarketStatus.INITIALIZED = { initialized: {} }; MarketStatus.ACTIVE = { active: {} }; MarketStatus.FUNDING_PAUSED = { fundingPaused: {} }; MarketStatus.AMM_PAUSED = { ammPaused: {} }; MarketStatus.FILL_PAUSED = { fillPaused: {} }; MarketStatus.WITHDRAW_PAUSED = { withdrawPaused: {} }; MarketStatus.REDUCE_ONLY = { reduceOnly: {} }; MarketStatus.SETTLEMENT = { settlement: {} }; MarketStatus.DELISTED = { delisted: {} }; var PerpOperation; (function (PerpOperation) { PerpOperation[PerpOperation["UPDATE_FUNDING"] = 1] = "UPDATE_FUNDING"; PerpOperation[PerpOperation["AMM_FILL"] = 2] = "AMM_FILL"; PerpOperation[PerpOperation["FILL"] = 4] = "FILL"; PerpOperation[PerpOperation["SETTLE_PNL"] = 8] = "SETTLE_PNL"; PerpOperation[PerpOperation["SETTLE_PNL_WITH_POSITION"] = 16] = "SETTLE_PNL_WITH_POSITION"; PerpOperation[PerpOperation["LIQUIDATION"] = 32] = "LIQUIDATION"; })(PerpOperation || (exports.PerpOperation = PerpOperation = {})); var SpotOperation; (function (SpotOperation) { SpotOperation[SpotOperation["UPDATE_CUMULATIVE_INTEREST"] = 1] = "UPDATE_CUMULATIVE_INTEREST"; SpotOperation[SpotOperation["FILL"] = 2] = "FILL"; SpotOperation[SpotOperation["DEPOSIT"] = 4] = "DEPOSIT"; SpotOperation[SpotOperation["WITHDRAW"] = 8] = "WITHDRAW"; SpotOperation[SpotOperation["LIQUIDATION"] = 16] = "LIQUIDATION"; })(SpotOperation || (exports.SpotOperation = SpotOperation = {})); var InsuranceFundOperation; (function (InsuranceFundOperation) { InsuranceFundOperation[InsuranceFundOperation["INIT"] = 1] = "INIT"; InsuranceFundOperation[InsuranceFundOperation["ADD"] = 2] = "ADD"; InsuranceFundOperation[InsuranceFundOperation["REQUEST_REMOVE"] = 4] = "REQUEST_REMOVE"; InsuranceFundOperation[InsuranceFundOperation["REMOVE"] = 8] = "REMOVE"; })(InsuranceFundOperation || (exports.InsuranceFundOperation = InsuranceFundOperation = {})); var UserStatus; (function (UserStatus) { UserStatus[UserStatus["BEING_LIQUIDATED"] = 1] = "BEING_LIQUIDATED"; UserStatus[UserStatus["BANKRUPT"] = 2] = "BANKRUPT"; UserStatus[UserStatus["REDUCE_ONLY"] = 4] = "REDUCE_ONLY"; UserStatus[UserStatus["ADVANCED_LP"] = 8] = "ADVANCED_LP"; UserStatus[UserStatus["PROTECTED_MAKER"] = 16] = "PROTECTED_MAKER"; })(UserStatus || (exports.UserStatus = UserStatus = {})); class MarginMode { } exports.MarginMode = MarginMode; MarginMode.DEFAULT = { default: {} }; MarginMode.HIGH_LEVERAGE = { highLeverage: {} }; MarginMode.HIGH_LEVERAGE_MAINTENANCE = { highLeverageMaintenance: {}, }; class ContractType { } exports.ContractType = ContractType; ContractType.PERPETUAL = { perpetual: {} }; ContractType.FUTURE = { future: {} }; ContractType.PREDICTION = { prediction: {} }; class ContractTier { } exports.ContractTier = ContractTier; ContractTier.A = { a: {} }; ContractTier.B = { b: {} }; ContractTier.C = { c: {} }; ContractTier.SPECULATIVE = { speculative: {} }; ContractTier.HIGHLY_SPECULATIVE = { highlySpeculative: {} }; ContractTier.ISOLATED = { isolated: {} }; class AssetTier { } exports.AssetTier = AssetTier; AssetTier.COLLATERAL = { collateral: {} }; AssetTier.PROTECTED = { protected: {} }; AssetTier.CROSS = { cross: {} }; AssetTier.ISOLATED = { isolated: {} }; AssetTier.UNLISTED = { unlisted: {} }; var TokenProgramFlag; (function (TokenProgramFlag) { TokenProgramFlag[TokenProgramFlag["Token2022"] = 1] = "Token2022"; TokenProgramFlag[TokenProgramFlag["TransferHook"] = 2] = "TransferHook"; })(TokenProgramFlag || (exports.TokenProgramFlag = TokenProgramFlag = {})); class SwapDirection { } exports.SwapDirection = SwapDirection; SwapDirection.ADD = { add: {} }; SwapDirection.REMOVE = { remove: {} }; class SpotBalanceType { } exports.SpotBalanceType = SpotBalanceType; SpotBalanceType.DEPOSIT = { deposit: {} }; SpotBalanceType.BORROW = { borrow: {} }; class PositionDirection { } exports.PositionDirection = PositionDirection; PositionDirection.LONG = { long: {} }; PositionDirection.SHORT = { short: {} }; class DepositDirection { } exports.DepositDirection = DepositDirection; DepositDirection.DEPOSIT = { deposit: {} }; DepositDirection.WITHDRAW = { withdraw: {} }; class OracleSource { } exports.OracleSource = OracleSource; OracleSource.PYTH = { pyth: {} }; OracleSource.PYTH_1K = { pyth1K: {} }; OracleSource.PYTH_1M = { pyth1M: {} }; OracleSource.PYTH_PULL = { pythPull: {} }; OracleSource.PYTH_1K_PULL = { pyth1KPull: {} }; OracleSource.PYTH_1M_PULL = { pyth1MPull: {} }; OracleSource.SWITCHBOARD = { switchboard: {} }; OracleSource.QUOTE_ASSET = { quoteAsset: {} }; OracleSource.PYTH_STABLE_COIN = { pythStableCoin: {} }; OracleSource.PYTH_STABLE_COIN_PULL = { pythStableCoinPull: {} }; OracleSource.Prelaunch = { prelaunch: {} }; OracleSource.SWITCHBOARD_ON_DEMAND = { switchboardOnDemand: {} }; OracleSource.PYTH_LAZER = { pythLazer: {} }; OracleSource.PYTH_LAZER_1K = { pythLazer1K: {} }; OracleSource.PYTH_LAZER_1M = { pythLazer1M: {} }; OracleSource.PYTH_LAZER_STABLE_COIN = { pythLazerStableCoin: {} }; class OracleSourceNum { } exports.OracleSourceNum = OracleSourceNum; OracleSourceNum.PYTH = 0; OracleSourceNum.PYTH_1K = 1; OracleSourceNum.PYTH_1M = 2; OracleSourceNum.PYTH_PULL = 3; OracleSourceNum.PYTH_1K_PULL = 4; OracleSourceNum.PYTH_1M_PULL = 5; OracleSourceNum.SWITCHBOARD = 6; OracleSourceNum.QUOTE_ASSET = 7; OracleSourceNum.PYTH_STABLE_COIN = 8; OracleSourceNum.PYTH_STABLE_COIN_PULL = 9; OracleSourceNum.PRELAUNCH = 10; OracleSourceNum.SWITCHBOARD_ON_DEMAND = 11; OracleSourceNum.PYTH_LAZER = 12; OracleSourceNum.PYTH_LAZER_1K = 13; OracleSourceNum.PYTH_LAZER_1M = 14; OracleSourceNum.PYTH_LAZER_STABLE_COIN = 15; class OrderType { } exports.OrderType = OrderType; OrderType.LIMIT = { limit: {} }; OrderType.TRIGGER_MARKET = { triggerMarket: {} }; OrderType.TRIGGER_LIMIT = { triggerLimit: {} }; OrderType.MARKET = { market: {} }; OrderType.ORACLE = { oracle: {} }; class MarketType { } exports.MarketType = MarketType; MarketType.SPOT = { spot: {} }; MarketType.PERP = { perp: {} }; class OrderStatus { } exports.OrderStatus = OrderStatus; OrderStatus.INIT = { init: {} }; OrderStatus.OPEN = { open: {} }; OrderStatus.FILLED = { filled: {} }; OrderStatus.CANCELED = { canceled: {} }; class OrderBitFlag { } exports.OrderBitFlag = OrderBitFlag; OrderBitFlag.SignedMessage = 1; OrderBitFlag.OracleTriggerMarket = 2; OrderBitFlag.SafeTriggerOrder = 4; OrderBitFlag.NewTriggerReduceOnly = 8; class OrderAction { } exports.OrderAction = OrderAction; OrderAction.PLACE = { place: {} }; OrderAction.CANCEL = { cancel: {} }; OrderAction.EXPIRE = { expire: {} }; OrderAction.FILL = { fill: {} }; OrderAction.TRIGGER = { trigger: {} }; class OrderActionExplanation { } exports.OrderActionExplanation = OrderActionExplanation; OrderActionExplanation.NONE = { none: {} }; OrderActionExplanation.INSUFFICIENT_FREE_COLLATERAL = { insufficientFreeCollateral: {}, }; OrderActionExplanation.ORACLE_PRICE_BREACHED_LIMIT_PRICE = { oraclePriceBreachedLimitPrice: {}, }; OrderActionExplanation.MARKET_ORDER_FILLED_TO_LIMIT_PRICE = { marketOrderFilledToLimitPrice: {}, }; OrderActionExplanation.ORDER_EXPIRED = { orderExpired: {}, }; OrderActionExplanation.LIQUIDATION = { liquidation: {}, }; OrderActionExplanation.ORDER_FILLED_WITH_AMM = { orderFilledWithAmm: {}, }; OrderActionExplanation.ORDER_FILLED_WITH_AMM_JIT = { orderFilledWithAmmJit: {}, }; OrderActionExplanation.ORDER_FILLED_WITH_AMM_JIT_LP_SPLIT = { orderFilledWithAmmJitLpSplit: {}, }; OrderActionExplanation.ORDER_FILLED_WITH_LP_JIT = { orderFilledWithLpJit: {}, }; OrderActionExplanation.ORDER_FILLED_WITH_MATCH = { orderFilledWithMatch: {}, }; OrderActionExplanation.ORDER_FILLED_WITH_MATCH_JIT = { orderFilledWithMatchJit: {}, }; OrderActionExplanation.MARKET_EXPIRED = { marketExpired: {}, }; OrderActionExplanation.RISK_INCREASING_ORDER = { riskingIncreasingOrder: {}, }; OrderActionExplanation.ORDER_FILLED_WITH_SERUM = { orderFillWithSerum: {}, }; OrderActionExplanation.ORDER_FILLED_WITH_OPENBOOK_V2 = { orderFilledWithOpenbookV2: {}, }; OrderActionExplanation.ORDER_FILLED_WITH_PHOENIX = { orderFillWithPhoenix: {}, }; OrderActionExplanation.REDUCE_ONLY_ORDER_INCREASED_POSITION = { reduceOnlyOrderIncreasedPosition: {}, }; OrderActionExplanation.DERISK_LP = { deriskLp: {}, }; OrderActionExplanation.TRANSFER_PERP_POSITION = { transferPerpPosition: {}, }; class OrderTriggerCondition { } exports.OrderTriggerCondition = OrderTriggerCondition; OrderTriggerCondition.ABOVE = { above: {} }; OrderTriggerCondition.BELOW = { below: {} }; OrderTriggerCondition.TRIGGERED_ABOVE = { triggeredAbove: {} }; // above condition has been triggered OrderTriggerCondition.TRIGGERED_BELOW = { triggeredBelow: {} }; // below condition has been triggered class SpotFulfillmentType { } exports.SpotFulfillmentType = SpotFulfillmentType; SpotFulfillmentType.EXTERNAL = { external: {} }; SpotFulfillmentType.MATCH = { match: {} }; class SpotFulfillmentStatus { } exports.SpotFulfillmentStatus = SpotFulfillmentStatus; SpotFulfillmentStatus.ENABLED = { enabled: {} }; SpotFulfillmentStatus.DISABLED = { disabled: {} }; class DepositExplanation { } exports.DepositExplanation = DepositExplanation; DepositExplanation.NONE = { none: {} }; DepositExplanation.TRANSFER = { transfer: {} }; DepositExplanation.BORROW = { borrow: {} }; DepositExplanation.REPAY_BORROW = { repayBorrow: {} }; DepositExplanation.REWARD = { reward: {} }; class SettlePnlExplanation { } exports.SettlePnlExplanation = SettlePnlExplanation; SettlePnlExplanation.NONE = { none: {} }; SettlePnlExplanation.EXPIRED_POSITION = { expiredPosition: {} }; class SpotFulfillmentConfigStatus { } exports.SpotFulfillmentConfigStatus = SpotFulfillmentConfigStatus; SpotFulfillmentConfigStatus.ENABLED = { enabled: {} }; SpotFulfillmentConfigStatus.DISABLED = { disabled: {} }; class StakeAction { } exports.StakeAction = StakeAction; StakeAction.STAKE = { stake: {} }; StakeAction.UNSTAKE_REQUEST = { unstakeRequest: {} }; StakeAction.UNSTAKE_CANCEL_REQUEST = { unstakeCancelRequest: {} }; StakeAction.UNSTAKE = { unstake: {} }; StakeAction.UNSTAKE_TRANSFER = { unstakeTransfer: {} }; StakeAction.STAKE_TRANSFER = { stakeTransfer: {} }; class SettlePnlMode { } exports.SettlePnlMode = SettlePnlMode; SettlePnlMode.TRY_SETTLE = { trySettle: {} }; SettlePnlMode.MUST_SETTLE = { mustSettle: {} }; function isVariant(object, type) { return object.hasOwnProperty(type); } exports.isVariant = isVariant; function isOneOfVariant(object, types) { return types.reduce((result, type) => { return result || object.hasOwnProperty(type); }, false); } exports.isOneOfVariant = isOneOfVariant; function getVariant(object) { return Object.keys(object)[0]; } exports.getVariant = getVariant; var TradeSide; (function (TradeSide) { TradeSide[TradeSide["None"] = 0] = "None"; TradeSide[TradeSide["Buy"] = 1] = "Buy"; TradeSide[TradeSide["Sell"] = 2] = "Sell"; })(TradeSide || (exports.TradeSide = TradeSide = {})); class LPAction { } exports.LPAction = LPAction; LPAction.ADD_LIQUIDITY = { addLiquidity: {} }; LPAction.REMOVE_LIQUIDITY = { removeLiquidity: {} }; LPAction.SETTLE_LIQUIDITY = { settleLiquidity: {} }; LPAction.REMOVE_LIQUIDITY_DERISK = { removeLiquidityDerisk: {} }; class LiquidationType { } exports.LiquidationType = LiquidationType; LiquidationType.LIQUIDATE_PERP = { liquidatePerp: {} }; LiquidationType.LIQUIDATE_BORROW_FOR_PERP_PNL = { liquidateBorrowForPerpPnl: {}, }; LiquidationType.LIQUIDATE_PERP_PNL_FOR_DEPOSIT = { liquidatePerpPnlForDeposit: {}, }; LiquidationType.PERP_BANKRUPTCY = { perpBankruptcy: {}, }; LiquidationType.SPOT_BANKRUPTCY = { spotBankruptcy: {}, }; LiquidationType.LIQUIDATE_SPOT = { liquidateSpot: {}, }; class PostOnlyParams { } exports.PostOnlyParams = PostOnlyParams; PostOnlyParams.NONE = { none: {} }; PostOnlyParams.MUST_POST_ONLY = { mustPostOnly: {} }; // Tx fails if order can't be post only PostOnlyParams.TRY_POST_ONLY = { tryPostOnly: {} }; // Tx succeeds and order not placed if can't be post only PostOnlyParams.SLIDE = { slide: {} }; // Modify price to be post only if can't be post only class OrderParamsBitFlag { } exports.OrderParamsBitFlag = OrderParamsBitFlag; OrderParamsBitFlag.ImmediateOrCancel = 1; OrderParamsBitFlag.UpdateHighLeverageMode = 2; var ModifyOrderPolicy; (function (ModifyOrderPolicy) { ModifyOrderPolicy[ModifyOrderPolicy["MustModify"] = 1] = "MustModify"; ModifyOrderPolicy[ModifyOrderPolicy["ExcludePreviousFill"] = 2] = "ExcludePreviousFill"; })(ModifyOrderPolicy || (exports.ModifyOrderPolicy = ModifyOrderPolicy = {})); exports.DefaultOrderParams = { orderType: OrderType.MARKET, marketType: MarketType.PERP, userOrderId: 0, direction: PositionDirection.LONG, baseAssetAmount: numericConstants_1.ZERO, price: numericConstants_1.ZERO, marketIndex: 0, reduceOnly: false, postOnly: PostOnlyParams.NONE, bitFlags: 0, triggerPrice: null, triggerCondition: OrderTriggerCondition.ABOVE, oraclePriceOffset: null, auctionDuration: null, maxTs: null, auctionStartPrice: null, auctionEndPrice: null, }; var ReferrerStatus; (function (ReferrerStatus) { ReferrerStatus[ReferrerStatus["IsReferrer"] = 1] = "IsReferrer"; ReferrerStatus[ReferrerStatus["IsReferred"] = 2] = "IsReferred"; })(ReferrerStatus || (exports.ReferrerStatus = ReferrerStatus = {})); var FuelOverflowStatus; (function (FuelOverflowStatus) { FuelOverflowStatus[FuelOverflowStatus["Exists"] = 1] = "Exists"; })(FuelOverflowStatus || (exports.FuelOverflowStatus = FuelOverflowStatus = {})); var PlaceAndTakeOrderSuccessCondition; (function (PlaceAndTakeOrderSuccessCondition) { PlaceAndTakeOrderSuccessCondition[PlaceAndTakeOrderSuccessCondition["PartialFill"] = 1] = "PartialFill"; PlaceAndTakeOrderSuccessCondition[PlaceAndTakeOrderSuccessCondition["FullFill"] = 2] = "FullFill"; })(PlaceAndTakeOrderSuccessCondition || (exports.PlaceAndTakeOrderSuccessCondition = PlaceAndTakeOrderSuccessCondition = {})); class SwapReduceOnly { } exports.SwapReduceOnly = SwapReduceOnly; SwapReduceOnly.In = { in: {} }; SwapReduceOnly.Out = { out: {} };