@drift-labs/sdk 2.19.0 → 2.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/lib/accounts/bulkAccountLoader.d.ts +2 -1
  2. package/lib/accounts/bulkAccountLoader.js +3 -3
  3. package/lib/accounts/fetch.js +2 -2
  4. package/lib/accounts/pollingDriftClientAccountSubscriber.js +7 -7
  5. package/lib/accounts/pollingTokenAccountSubscriber.js +2 -2
  6. package/lib/accounts/pollingUserAccountSubscriber.js +2 -2
  7. package/lib/accounts/pollingUserStatsAccountSubscriber.js +2 -2
  8. package/lib/accounts/types.d.ts +5 -4
  9. package/lib/accounts/webSocketAccountSubscriber.js +1 -1
  10. package/lib/accounts/webSocketDriftClientAccountSubscriber.js +3 -3
  11. package/lib/addresses/marketAddresses.js +1 -1
  12. package/lib/addresses/pda.js +5 -1
  13. package/lib/adminClient.js +61 -57
  14. package/lib/config.d.ts +2 -2
  15. package/lib/constants/perpMarkets.d.ts +1 -1
  16. package/lib/constants/perpMarkets.js +20 -0
  17. package/lib/constants/spotMarkets.d.ts +1 -1
  18. package/lib/dlob/DLOB.d.ts +4 -4
  19. package/lib/dlob/DLOB.js +71 -71
  20. package/lib/dlob/DLOBNode.d.ts +2 -2
  21. package/lib/dlob/DLOBNode.js +7 -7
  22. package/lib/dlob/DLOBOrders.d.ts +2 -2
  23. package/lib/dlob/NodeList.d.ts +1 -1
  24. package/lib/dlob/NodeList.js +2 -2
  25. package/lib/driftClient.d.ts +1 -1
  26. package/lib/driftClient.js +99 -95
  27. package/lib/driftClientConfig.d.ts +3 -3
  28. package/lib/events/eventSubscriber.js +2 -2
  29. package/lib/events/fetchLogs.d.ts +2 -2
  30. package/lib/events/pollingLogProvider.js +1 -1
  31. package/lib/events/types.d.ts +14 -14
  32. package/lib/examples/loadDlob.js +2 -2
  33. package/lib/examples/makeTradeExample.js +9 -9
  34. package/lib/factory/bigNum.js +13 -13
  35. package/lib/factory/oracleClient.js +4 -4
  36. package/lib/idl/drift.json +1 -1
  37. package/lib/index.js +5 -1
  38. package/lib/math/amm.d.ts +1 -1
  39. package/lib/math/amm.js +23 -23
  40. package/lib/math/auction.js +6 -6
  41. package/lib/math/exchangeStatus.js +2 -2
  42. package/lib/math/funding.js +2 -2
  43. package/lib/math/margin.js +4 -4
  44. package/lib/math/market.js +15 -15
  45. package/lib/math/oracles.js +1 -1
  46. package/lib/math/orders.js +24 -24
  47. package/lib/math/position.js +5 -5
  48. package/lib/math/repeg.js +1 -1
  49. package/lib/math/spotBalance.js +9 -9
  50. package/lib/math/spotMarket.js +3 -3
  51. package/lib/math/spotPosition.js +3 -3
  52. package/lib/math/trade.d.ts +1 -1
  53. package/lib/math/trade.js +42 -42
  54. package/lib/math/utils.js +1 -1
  55. package/lib/oracles/oracleClientCache.js +1 -1
  56. package/lib/oracles/pythClient.js +1 -1
  57. package/lib/oracles/types.d.ts +2 -2
  58. package/lib/serum/types.d.ts +1 -1
  59. package/lib/slot/SlotSubscriber.d.ts +1 -1
  60. package/lib/tokenFaucet.js +5 -1
  61. package/lib/tx/retryTxSender.d.ts +1 -1
  62. package/lib/tx/retryTxSender.js +1 -1
  63. package/lib/tx/types.d.ts +1 -1
  64. package/lib/types.d.ts +44 -44
  65. package/lib/user.js +63 -63
  66. package/lib/userConfig.d.ts +2 -2
  67. package/lib/userMap/userMap.js +1 -1
  68. package/lib/userMap/userStatsMap.js +3 -3
  69. package/lib/userStats.js +2 -2
  70. package/lib/userStatsConfig.d.ts +2 -2
  71. package/package.json +1 -1
  72. package/src/constants/perpMarkets.ts +20 -0
  73. package/src/idl/drift.json +1 -1
package/lib/dlob/DLOB.js CHANGED
@@ -80,10 +80,10 @@ class DLOB {
80
80
  this.insertOrder(record.order, record.user, slot);
81
81
  }
82
82
  handleOrderActionRecord(record, slot) {
83
- if (__1.isOneOfVariant(record.action, ['place', 'expire'])) {
83
+ if ((0, __1.isOneOfVariant)(record.action, ['place', 'expire'])) {
84
84
  return;
85
85
  }
86
- if (__1.isVariant(record.action, 'trigger')) {
86
+ if ((0, __1.isVariant)(record.action, 'trigger')) {
87
87
  if (record.taker !== null) {
88
88
  const takerOrder = this.getOrder(record.takerOrderId, record.taker);
89
89
  if (takerOrder) {
@@ -97,7 +97,7 @@ class DLOB {
97
97
  }
98
98
  }
99
99
  }
100
- else if (__1.isVariant(record.action, 'fill')) {
100
+ else if ((0, __1.isVariant)(record.action, 'fill')) {
101
101
  if (record.taker !== null) {
102
102
  const takerOrder = this.getOrder(record.takerOrderId, record.taker);
103
103
  if (takerOrder) {
@@ -111,7 +111,7 @@ class DLOB {
111
111
  }
112
112
  }
113
113
  }
114
- else if (__1.isVariant(record.action, 'cancel')) {
114
+ else if ((0, __1.isVariant)(record.action, 'cancel')) {
115
115
  if (record.taker !== null) {
116
116
  const takerOrder = this.getOrder(record.takerOrderId, record.taker);
117
117
  if (takerOrder) {
@@ -128,20 +128,20 @@ class DLOB {
128
128
  }
129
129
  insertOrder(order, userAccount, slot, onInsert) {
130
130
  var _a;
131
- if (__1.isVariant(order.status, 'init')) {
131
+ if ((0, __1.isVariant)(order.status, 'init')) {
132
132
  return;
133
133
  }
134
- if (!__1.isOneOfVariant(order.orderType, SUPPORTED_ORDER_TYPES)) {
134
+ if (!(0, __1.isOneOfVariant)(order.orderType, SUPPORTED_ORDER_TYPES)) {
135
135
  return;
136
136
  }
137
- const marketType = __1.getVariant(order.marketType);
137
+ const marketType = (0, __1.getVariant)(order.marketType);
138
138
  if (!this.orderLists.get(marketType).has(order.marketIndex)) {
139
139
  this.addOrderList(marketType, order.marketIndex);
140
140
  }
141
- if (__1.isVariant(order.status, 'open')) {
141
+ if ((0, __1.isVariant)(order.status, 'open')) {
142
142
  this.openOrders
143
143
  .get(marketType)
144
- .add(NodeList_1.getOrderSignature(order.orderId, userAccount));
144
+ .add((0, NodeList_1.getOrderSignature)(order.orderId, userAccount));
145
145
  }
146
146
  (_a = this.getListForOrder(order, slot)) === null || _a === void 0 ? void 0 : _a.insert(order, marketType, userAccount);
147
147
  if (onInsert) {
@@ -193,16 +193,16 @@ class DLOB {
193
193
  }
194
194
  trigger(order, userAccount, slot, onTrigger) {
195
195
  var _a;
196
- if (__1.isVariant(order.status, 'init')) {
196
+ if ((0, __1.isVariant)(order.status, 'init')) {
197
197
  return;
198
198
  }
199
199
  this.updateRestingLimitOrders(slot);
200
- if (__1.isTriggered(order)) {
200
+ if ((0, __1.isTriggered)(order)) {
201
201
  return;
202
202
  }
203
- const marketType = __1.getVariant(order.marketType);
203
+ const marketType = (0, __1.getVariant)(order.marketType);
204
204
  const triggerList = this.orderLists.get(marketType).get(order.marketIndex)
205
- .trigger[__1.isVariant(order.triggerCondition, 'above') ? 'above' : 'below'];
205
+ .trigger[(0, __1.isVariant)(order.triggerCondition, 'above') ? 'above' : 'below'];
206
206
  triggerList.remove(order, userAccount);
207
207
  (_a = this.getListForOrder(order, slot)) === null || _a === void 0 ? void 0 : _a.insert(order, marketType, userAccount);
208
208
  if (onTrigger) {
@@ -211,7 +211,7 @@ class DLOB {
211
211
  }
212
212
  delete(order, userAccount, slot, onDelete) {
213
213
  var _a;
214
- if (__1.isVariant(order.status, 'init')) {
214
+ if ((0, __1.isVariant)(order.status, 'init')) {
215
215
  return;
216
216
  }
217
217
  this.updateRestingLimitOrders(slot);
@@ -221,29 +221,29 @@ class DLOB {
221
221
  }
222
222
  }
223
223
  getListForOrder(order, slot) {
224
- const isInactiveTriggerOrder = __1.mustBeTriggered(order) && !__1.isTriggered(order);
224
+ const isInactiveTriggerOrder = (0, __1.mustBeTriggered)(order) && !(0, __1.isTriggered)(order);
225
225
  let type;
226
226
  if (isInactiveTriggerOrder) {
227
227
  type = 'trigger';
228
228
  }
229
- else if (__1.isOneOfVariant(order.orderType, ['market', 'triggerMarket', 'oracle'])) {
229
+ else if ((0, __1.isOneOfVariant)(order.orderType, ['market', 'triggerMarket', 'oracle'])) {
230
230
  type = 'market';
231
231
  }
232
232
  else if (order.oraclePriceOffset !== 0) {
233
233
  type = 'floatingLimit';
234
234
  }
235
235
  else {
236
- const isResting = __1.isRestingLimitOrder(order, slot);
236
+ const isResting = (0, __1.isRestingLimitOrder)(order, slot);
237
237
  type = isResting ? 'restingLimit' : 'takingLimit';
238
238
  }
239
239
  let subType;
240
240
  if (isInactiveTriggerOrder) {
241
- subType = __1.isVariant(order.triggerCondition, 'above') ? 'above' : 'below';
241
+ subType = (0, __1.isVariant)(order.triggerCondition, 'above') ? 'above' : 'below';
242
242
  }
243
243
  else {
244
- subType = __1.isVariant(order.direction, 'long') ? 'bid' : 'ask';
244
+ subType = (0, __1.isVariant)(order.direction, 'long') ? 'bid' : 'ask';
245
245
  }
246
- const marketType = __1.getVariant(order.marketType);
246
+ const marketType = (0, __1.getVariant)(order.marketType);
247
247
  if (!this.orderLists.has(marketType)) {
248
248
  return undefined;
249
249
  }
@@ -261,7 +261,7 @@ class DLOB {
261
261
  for (const [_, nodeLists] of this.orderLists.get(marketTypeStr)) {
262
262
  const nodesToUpdate = [];
263
263
  for (const node of nodeLists.takingLimit.ask.getGenerator()) {
264
- if (!__1.isRestingLimitOrder(node.order, slot)) {
264
+ if (!(0, __1.isRestingLimitOrder)(node.order, slot)) {
265
265
  continue;
266
266
  }
267
267
  nodesToUpdate.push({
@@ -270,7 +270,7 @@ class DLOB {
270
270
  });
271
271
  }
272
272
  for (const node of nodeLists.takingLimit.bid.getGenerator()) {
273
- if (!__1.isRestingLimitOrder(node.order, slot)) {
273
+ if (!(0, __1.isRestingLimitOrder)(node.order, slot)) {
274
274
  continue;
275
275
  }
276
276
  nodesToUpdate.push({
@@ -286,7 +286,7 @@ class DLOB {
286
286
  }
287
287
  }
288
288
  getOrder(orderId, userAccount) {
289
- const orderSignature = NodeList_1.getOrderSignature(orderId, userAccount);
289
+ const orderSignature = (0, NodeList_1.getOrderSignature)(orderId, userAccount);
290
290
  for (const nodeList of this.getNodeLists()) {
291
291
  const node = nodeList.get(orderSignature);
292
292
  if (node) {
@@ -296,11 +296,11 @@ class DLOB {
296
296
  return undefined;
297
297
  }
298
298
  findNodesToFill(marketIndex, fallbackBid, fallbackAsk, slot, ts, marketType, oraclePriceData, stateAccount, marketAccount) {
299
- if (exchangeStatus_1.fillPaused(stateAccount, marketAccount)) {
299
+ if ((0, exchangeStatus_1.fillPaused)(stateAccount, marketAccount)) {
300
300
  return [];
301
301
  }
302
- const isAmmPaused = exchangeStatus_1.ammPaused(stateAccount, marketAccount);
303
- const minAuctionDuration = __1.isVariant(marketType, 'perp')
302
+ const isAmmPaused = (0, exchangeStatus_1.ammPaused)(stateAccount, marketAccount);
303
+ const minAuctionDuration = (0, __1.isVariant)(marketType, 'perp')
304
304
  ? stateAccount.minPerpAuctionDuration
305
305
  : 0;
306
306
  const restingLimitOrderNodesToFill = this.findRestingLimitOrderNodesToFill(marketIndex, slot, marketType, oraclePriceData, isAmmPaused, minAuctionDuration, fallbackAsk, fallbackBid);
@@ -339,7 +339,7 @@ class DLOB {
339
339
  const nodesToFill = new Array();
340
340
  let takingOrderGenerator = this.getTakingAsks(marketIndex, marketType, slot, oraclePriceData);
341
341
  const takingAsksCrossingBids = this.findTakingNodesCrossingMakerNodes(marketIndex, slot, marketType, oraclePriceData, takingOrderGenerator, this.getMakerLimitBids.bind(this), (takerPrice, makerPrice) => {
342
- if (__1.isVariant(marketType, 'spot')) {
342
+ if ((0, __1.isVariant)(marketType, 'spot')) {
343
343
  if (takerPrice === undefined) {
344
344
  return false;
345
345
  }
@@ -363,7 +363,7 @@ class DLOB {
363
363
  }
364
364
  takingOrderGenerator = this.getTakingBids(marketIndex, marketType, slot, oraclePriceData);
365
365
  const takingBidsToFill = this.findTakingNodesCrossingMakerNodes(marketIndex, slot, marketType, oraclePriceData, takingOrderGenerator, this.getMakerLimitAsks.bind(this), (takerPrice, makerPrice) => {
366
- if (__1.isVariant(marketType, 'spot')) {
366
+ if ((0, __1.isVariant)(marketType, 'spot')) {
367
367
  if (takerPrice === undefined) {
368
368
  return false;
369
369
  }
@@ -435,16 +435,16 @@ class DLOB {
435
435
  let nextNode = nodeGenerator.next();
436
436
  while (!nextNode.done) {
437
437
  const node = nextNode.value;
438
- if (__1.isVariant(marketType, 'spot') && ((_a = node.order) === null || _a === void 0 ? void 0 : _a.postOnly)) {
438
+ if ((0, __1.isVariant)(marketType, 'spot') && ((_a = node.order) === null || _a === void 0 ? void 0 : _a.postOnly)) {
439
439
  nextNode = nodeGenerator.next();
440
440
  continue;
441
441
  }
442
- const nodePrice = __1.getLimitPrice(node.order, oraclePriceData, slot);
442
+ const nodePrice = (0, __1.getLimitPrice)(node.order, oraclePriceData, slot);
443
443
  // order crosses if there is no limit price or it crosses fallback price
444
444
  const crosses = doesCross(nodePrice, fallbackPrice);
445
445
  // fallback is available if auction is complete or it's a spot order
446
- const fallbackAvailable = __1.isVariant(marketType, 'spot') ||
447
- __1.isFallbackAvailableLiquiditySource(node.order, minAuctionDuration, slot);
446
+ const fallbackAvailable = (0, __1.isVariant)(marketType, 'spot') ||
447
+ (0, __1.isFallbackAvailableLiquiditySource)(node.order, minAuctionDuration, slot);
448
448
  if (crosses && fallbackAvailable) {
449
449
  nodesToFill.push({
450
450
  node: node,
@@ -457,7 +457,7 @@ class DLOB {
457
457
  }
458
458
  findExpiredNodesToFill(marketIndex, ts, marketType) {
459
459
  const nodesToFill = new Array();
460
- const marketTypeStr = __1.getVariant(marketType);
460
+ const marketTypeStr = (0, __1.getVariant)(marketType);
461
461
  const nodeLists = this.orderLists.get(marketTypeStr).get(marketIndex);
462
462
  if (!nodeLists) {
463
463
  return nodesToFill;
@@ -477,7 +477,7 @@ class DLOB {
477
477
  ];
478
478
  for (const bidGenerator of bidGenerators) {
479
479
  for (const bid of bidGenerator) {
480
- if (__1.isOrderExpired(bid.order, ts)) {
480
+ if ((0, __1.isOrderExpired)(bid.order, ts)) {
481
481
  nodesToFill.push({
482
482
  node: bid,
483
483
  });
@@ -486,7 +486,7 @@ class DLOB {
486
486
  }
487
487
  for (const askGenerator of askGenerators) {
488
488
  for (const ask of askGenerator) {
489
- if (__1.isOrderExpired(ask.order, ts)) {
489
+ if ((0, __1.isOrderExpired)(ask.order, ts)) {
490
490
  nodesToFill.push({
491
491
  node: ask,
492
492
  });
@@ -511,7 +511,7 @@ class DLOB {
511
511
  return nodesToFill;
512
512
  }
513
513
  *getTakingBids(marketIndex, marketType, slot, oraclePriceData) {
514
- const marketTypeStr = __1.getVariant(marketType);
514
+ const marketTypeStr = (0, __1.getVariant)(marketType);
515
515
  const orderLists = this.orderLists.get(marketTypeStr).get(marketIndex);
516
516
  if (!orderLists) {
517
517
  return;
@@ -526,7 +526,7 @@ class DLOB {
526
526
  });
527
527
  }
528
528
  *getTakingAsks(marketIndex, marketType, slot, oraclePriceData) {
529
- const marketTypeStr = __1.getVariant(marketType);
529
+ const marketTypeStr = (0, __1.getVariant)(marketType);
530
530
  const orderLists = this.orderLists.get(marketTypeStr).get(marketIndex);
531
531
  if (!orderLists) {
532
532
  return;
@@ -577,11 +577,11 @@ class DLOB {
577
577
  }
578
578
  }
579
579
  *getRestingLimitAsks(marketIndex, slot, marketType, oraclePriceData) {
580
- if (__1.isVariant(marketType, 'spot') && !oraclePriceData) {
580
+ if ((0, __1.isVariant)(marketType, 'spot') && !oraclePriceData) {
581
581
  throw new Error('Must provide OraclePriceData to get spot asks');
582
582
  }
583
583
  this.updateRestingLimitOrders(slot);
584
- const marketTypeStr = __1.getVariant(marketType);
584
+ const marketTypeStr = (0, __1.getVariant)(marketType);
585
585
  const nodeLists = this.orderLists.get(marketTypeStr).get(marketIndex);
586
586
  if (!nodeLists) {
587
587
  return;
@@ -612,11 +612,11 @@ class DLOB {
612
612
  }
613
613
  }
614
614
  *getRestingLimitBids(marketIndex, slot, marketType, oraclePriceData) {
615
- if (__1.isVariant(marketType, 'spot') && !oraclePriceData) {
615
+ if ((0, __1.isVariant)(marketType, 'spot') && !oraclePriceData) {
616
616
  throw new Error('Must provide OraclePriceData to get spot bids');
617
617
  }
618
618
  this.updateRestingLimitOrders(slot);
619
- const marketTypeStr = __1.getVariant(marketType);
619
+ const marketTypeStr = (0, __1.getVariant)(marketType);
620
620
  const nodeLists = this.orderLists.get(marketTypeStr).get(marketIndex);
621
621
  if (!nodeLists) {
622
622
  return;
@@ -647,23 +647,23 @@ class DLOB {
647
647
  }
648
648
  }
649
649
  *getAsks(marketIndex, fallbackAsk, slot, marketType, oraclePriceData) {
650
- if (__1.isVariant(marketType, 'spot') && !oraclePriceData) {
650
+ if ((0, __1.isVariant)(marketType, 'spot') && !oraclePriceData) {
651
651
  throw new Error('Must provide OraclePriceData to get spot asks');
652
652
  }
653
653
  const generatorList = [
654
654
  this.getTakingAsks(marketIndex, marketType, slot, oraclePriceData),
655
655
  this.getRestingLimitAsks(marketIndex, slot, marketType, oraclePriceData),
656
656
  ];
657
- const marketTypeStr = __1.getVariant(marketType);
657
+ const marketTypeStr = (0, __1.getVariant)(marketType);
658
658
  if (marketTypeStr === 'perp' && fallbackAsk) {
659
- generatorList.push(NodeList_1.getVammNodeGenerator(fallbackAsk));
659
+ generatorList.push((0, NodeList_1.getVammNodeGenerator)(fallbackAsk));
660
660
  }
661
661
  yield* this.getBestNode(generatorList, oraclePriceData, slot, (bestNode, currentNode, slot, oraclePriceData) => {
662
662
  const bestNodeTaking = bestNode.order
663
- ? __1.isTakingOrder(bestNode.order, slot)
663
+ ? (0, __1.isTakingOrder)(bestNode.order, slot)
664
664
  : false;
665
665
  const currentNodeTaking = currentNode.order
666
- ? __1.isTakingOrder(currentNode.order, slot)
666
+ ? (0, __1.isTakingOrder)(currentNode.order, slot)
667
667
  : false;
668
668
  if (bestNodeTaking && currentNodeTaking) {
669
669
  return bestNode.order.slot.lt(currentNode.order.slot);
@@ -680,23 +680,23 @@ class DLOB {
680
680
  });
681
681
  }
682
682
  *getBids(marketIndex, fallbackBid, slot, marketType, oraclePriceData) {
683
- if (__1.isVariant(marketType, 'spot') && !oraclePriceData) {
683
+ if ((0, __1.isVariant)(marketType, 'spot') && !oraclePriceData) {
684
684
  throw new Error('Must provide OraclePriceData to get spot bids');
685
685
  }
686
686
  const generatorList = [
687
687
  this.getTakingBids(marketIndex, marketType, slot, oraclePriceData),
688
688
  this.getRestingLimitBids(marketIndex, slot, marketType, oraclePriceData),
689
689
  ];
690
- const marketTypeStr = __1.getVariant(marketType);
690
+ const marketTypeStr = (0, __1.getVariant)(marketType);
691
691
  if (marketTypeStr === 'perp' && fallbackBid) {
692
- generatorList.push(NodeList_1.getVammNodeGenerator(fallbackBid));
692
+ generatorList.push((0, NodeList_1.getVammNodeGenerator)(fallbackBid));
693
693
  }
694
694
  yield* this.getBestNode(generatorList, oraclePriceData, slot, (bestNode, currentNode, slot, oraclePriceData) => {
695
695
  const bestNodeTaking = bestNode.order
696
- ? __1.isTakingOrder(bestNode.order, slot)
696
+ ? (0, __1.isTakingOrder)(bestNode.order, slot)
697
697
  : false;
698
698
  const currentNodeTaking = currentNode.order
699
- ? __1.isTakingOrder(currentNode.order, slot)
699
+ ? (0, __1.isTakingOrder)(currentNode.order, slot)
700
700
  : false;
701
701
  if (bestNodeTaking && currentNodeTaking) {
702
702
  return bestNode.order.slot.lt(currentNode.order.slot);
@@ -801,11 +801,11 @@ class DLOB {
801
801
  .value.getPrice(oraclePriceData, slot);
802
802
  }
803
803
  findNodesToTrigger(marketIndex, slot, oraclePrice, marketType, stateAccount) {
804
- if (exchangeStatus_1.exchangePaused(stateAccount)) {
804
+ if ((0, exchangeStatus_1.exchangePaused)(stateAccount)) {
805
805
  return [];
806
806
  }
807
807
  const nodesToTrigger = [];
808
- const marketTypeStr = __1.getVariant(marketType);
808
+ const marketTypeStr = (0, __1.getVariant)(marketType);
809
809
  const marketNodeLists = this.orderLists.get(marketTypeStr).get(marketIndex);
810
810
  const triggerAboveList = marketNodeLists
811
811
  ? marketNodeLists.trigger.above
@@ -840,46 +840,46 @@ class DLOB {
840
840
  return nodesToTrigger;
841
841
  }
842
842
  printTopOfOrderLists(sdkConfig, driftClient, slotSubscriber, marketIndex, marketType) {
843
- if (__1.isVariant(marketType, 'perp')) {
843
+ if ((0, __1.isVariant)(marketType, 'perp')) {
844
844
  const market = driftClient.getPerpMarketAccount(marketIndex);
845
845
  const slot = slotSubscriber.getSlot();
846
846
  const oraclePriceData = driftClient.getOracleDataForPerpMarket(marketIndex);
847
- const fallbackAsk = __1.calculateAskPrice(market, oraclePriceData);
848
- const fallbackBid = __1.calculateBidPrice(market, oraclePriceData);
847
+ const fallbackAsk = (0, __1.calculateAskPrice)(market, oraclePriceData);
848
+ const fallbackBid = (0, __1.calculateBidPrice)(market, oraclePriceData);
849
849
  const bestAsk = this.getBestAsk(marketIndex, fallbackAsk, slot, marketType, oraclePriceData);
850
850
  const bestBid = this.getBestBid(marketIndex, fallbackBid, slot, marketType, oraclePriceData);
851
851
  const mid = bestAsk.add(bestBid).div(new __1.BN(2));
852
- const bidSpread = (__1.convertToNumber(bestBid, __1.PRICE_PRECISION) /
853
- __1.convertToNumber(oraclePriceData.price, __1.PRICE_PRECISION) -
852
+ const bidSpread = ((0, __1.convertToNumber)(bestBid, __1.PRICE_PRECISION) /
853
+ (0, __1.convertToNumber)(oraclePriceData.price, __1.PRICE_PRECISION) -
854
854
  1) *
855
855
  100.0;
856
- const askSpread = (__1.convertToNumber(bestAsk, __1.PRICE_PRECISION) /
857
- __1.convertToNumber(oraclePriceData.price, __1.PRICE_PRECISION) -
856
+ const askSpread = ((0, __1.convertToNumber)(bestAsk, __1.PRICE_PRECISION) /
857
+ (0, __1.convertToNumber)(oraclePriceData.price, __1.PRICE_PRECISION) -
858
858
  1) *
859
859
  100.0;
860
860
  console.log(`Market ${sdkConfig.MARKETS[marketIndex].symbol} Orders`);
861
- console.log(` Ask`, __1.convertToNumber(bestAsk, __1.PRICE_PRECISION).toFixed(3), `(${askSpread.toFixed(4)}%)`);
862
- console.log(` Mid`, __1.convertToNumber(mid, __1.PRICE_PRECISION).toFixed(3));
863
- console.log(` Bid`, __1.convertToNumber(bestBid, __1.PRICE_PRECISION).toFixed(3), `(${bidSpread.toFixed(4)}%)`);
861
+ console.log(` Ask`, (0, __1.convertToNumber)(bestAsk, __1.PRICE_PRECISION).toFixed(3), `(${askSpread.toFixed(4)}%)`);
862
+ console.log(` Mid`, (0, __1.convertToNumber)(mid, __1.PRICE_PRECISION).toFixed(3));
863
+ console.log(` Bid`, (0, __1.convertToNumber)(bestBid, __1.PRICE_PRECISION).toFixed(3), `(${bidSpread.toFixed(4)}%)`);
864
864
  }
865
- else if (__1.isVariant(marketType, 'spot')) {
865
+ else if ((0, __1.isVariant)(marketType, 'spot')) {
866
866
  const slot = slotSubscriber.getSlot();
867
867
  const oraclePriceData = driftClient.getOracleDataForPerpMarket(marketIndex);
868
868
  const bestAsk = this.getBestAsk(marketIndex, undefined, slot, marketType, oraclePriceData);
869
869
  const bestBid = this.getBestBid(marketIndex, undefined, slot, marketType, oraclePriceData);
870
870
  const mid = bestAsk.add(bestBid).div(new __1.BN(2));
871
- const bidSpread = (__1.convertToNumber(bestBid, __1.PRICE_PRECISION) /
872
- __1.convertToNumber(oraclePriceData.price, __1.PRICE_PRECISION) -
871
+ const bidSpread = ((0, __1.convertToNumber)(bestBid, __1.PRICE_PRECISION) /
872
+ (0, __1.convertToNumber)(oraclePriceData.price, __1.PRICE_PRECISION) -
873
873
  1) *
874
874
  100.0;
875
- const askSpread = (__1.convertToNumber(bestAsk, __1.PRICE_PRECISION) /
876
- __1.convertToNumber(oraclePriceData.price, __1.PRICE_PRECISION) -
875
+ const askSpread = ((0, __1.convertToNumber)(bestAsk, __1.PRICE_PRECISION) /
876
+ (0, __1.convertToNumber)(oraclePriceData.price, __1.PRICE_PRECISION) -
877
877
  1) *
878
878
  100.0;
879
879
  console.log(`Market ${sdkConfig.MARKETS[marketIndex].symbol} Orders`);
880
- console.log(` Ask`, __1.convertToNumber(bestAsk, __1.PRICE_PRECISION).toFixed(3), `(${askSpread.toFixed(4)}%)`);
881
- console.log(` Mid`, __1.convertToNumber(mid, __1.PRICE_PRECISION).toFixed(3));
882
- console.log(` Bid`, __1.convertToNumber(bestBid, __1.PRICE_PRECISION).toFixed(3), `(${bidSpread.toFixed(4)}%)`);
880
+ console.log(` Ask`, (0, __1.convertToNumber)(bestAsk, __1.PRICE_PRECISION).toFixed(3), `(${askSpread.toFixed(4)}%)`);
881
+ console.log(` Mid`, (0, __1.convertToNumber)(mid, __1.PRICE_PRECISION).toFixed(3));
882
+ console.log(` Bid`, (0, __1.convertToNumber)(bestBid, __1.PRICE_PRECISION).toFixed(3), `(${bidSpread.toFixed(4)}%)`);
883
883
  }
884
884
  }
885
885
  getDLOBOrders() {
@@ -47,12 +47,12 @@ export declare class TriggerOrderNode extends OrderNode {
47
47
  previous?: TriggerOrderNode;
48
48
  getSortValue(order: Order): BN;
49
49
  }
50
- export declare type DLOBNodeMap = {
50
+ export type DLOBNodeMap = {
51
51
  restingLimit: RestingLimitOrderNode;
52
52
  takingLimit: TakingLimitOrderNode;
53
53
  floatingLimit: FloatingLimitOrderNode;
54
54
  market: MarketOrderNode;
55
55
  trigger: TriggerOrderNode;
56
56
  };
57
- export declare type DLOBNodeType = 'restingLimit' | 'takingLimit' | 'floatingLimit' | 'market' | ('trigger' & keyof DLOBNodeMap);
57
+ export type DLOBNodeType = 'restingLimit' | 'takingLimit' | 'floatingLimit' | 'market' | ('trigger' & keyof DLOBNodeMap);
58
58
  export declare function createNode<T extends DLOBNodeType>(nodeType: T, order: Order, userAccount: PublicKey): DLOBNodeMap[T];
@@ -13,20 +13,20 @@ class OrderNode {
13
13
  this.sortValue = this.getSortValue(order);
14
14
  }
15
15
  getLabel() {
16
- let msg = `Order ${NodeList_1.getOrderSignature(this.order.orderId, this.userAccount)}`;
17
- msg += ` ${__1.isVariant(this.order.direction, 'long') ? 'LONG' : 'SHORT'} `;
18
- msg += `${__1.convertToNumber(this.order.baseAssetAmount, __1.AMM_RESERVE_PRECISION).toFixed(3)}`;
16
+ let msg = `Order ${(0, NodeList_1.getOrderSignature)(this.order.orderId, this.userAccount)}`;
17
+ msg += ` ${(0, __1.isVariant)(this.order.direction, 'long') ? 'LONG' : 'SHORT'} `;
18
+ msg += `${(0, __1.convertToNumber)(this.order.baseAssetAmount, __1.AMM_RESERVE_PRECISION).toFixed(3)}`;
19
19
  if (this.order.price.gt(__1.ZERO)) {
20
- msg += ` @ ${__1.convertToNumber(this.order.price, __1.PRICE_PRECISION).toFixed(3)}`;
20
+ msg += ` @ ${(0, __1.convertToNumber)(this.order.price, __1.PRICE_PRECISION).toFixed(3)}`;
21
21
  }
22
22
  if (this.order.triggerPrice.gt(__1.ZERO)) {
23
- msg += ` ${__1.isVariant(this.order.triggerCondition, 'below') ? 'BELOW' : 'ABOVE'}`;
24
- msg += ` ${__1.convertToNumber(this.order.triggerPrice, __1.PRICE_PRECISION).toFixed(3)}`;
23
+ msg += ` ${(0, __1.isVariant)(this.order.triggerCondition, 'below') ? 'BELOW' : 'ABOVE'}`;
24
+ msg += ` ${(0, __1.convertToNumber)(this.order.triggerPrice, __1.PRICE_PRECISION).toFixed(3)}`;
25
25
  }
26
26
  return msg;
27
27
  }
28
28
  getPrice(oraclePriceData, slot) {
29
- return __1.getLimitPrice(this.order, oraclePriceData, slot);
29
+ return (0, __1.getLimitPrice)(this.order, oraclePriceData, slot);
30
30
  }
31
31
  isBaseFilled() {
32
32
  return this.order.baseAssetAmountFilled.eq(this.order.baseAssetAmount);
@@ -2,11 +2,11 @@
2
2
  import { PublicKey } from '@solana/web3.js';
3
3
  import { Idl } from '@project-serum/anchor';
4
4
  import { Order } from '../types';
5
- export declare type DLOBOrder = {
5
+ export type DLOBOrder = {
6
6
  user: PublicKey;
7
7
  order: Order;
8
8
  };
9
- export declare type DLOBOrders = DLOBOrder[];
9
+ export type DLOBOrders = DLOBOrder[];
10
10
  export declare class DLOBOrdersCoder {
11
11
  private idl;
12
12
  constructor(idl: Idl);
@@ -2,7 +2,7 @@
2
2
  import { BN, MarketTypeStr, Order } from '..';
3
3
  import { PublicKey } from '@solana/web3.js';
4
4
  import { DLOBNode, DLOBNodeMap } from './DLOBNode';
5
- export declare type SortDirection = 'asc' | 'desc';
5
+ export type SortDirection = 'asc' | 'desc';
6
6
  export declare function getOrderSignature(orderId: number, userAccount: PublicKey): string;
7
7
  export interface DLOBNodeGenerator {
8
8
  getGenerator(): Generator<DLOBNode>;
@@ -20,10 +20,10 @@ class NodeList {
20
20
  this.nodeMap.clear();
21
21
  }
22
22
  insert(order, marketType, userAccount) {
23
- if (__1.isVariant(order.status, 'init')) {
23
+ if ((0, __1.isVariant)(order.status, 'init')) {
24
24
  return;
25
25
  }
26
- const newNode = DLOBNode_1.createNode(this.nodeType, order, userAccount);
26
+ const newNode = (0, DLOBNode_1.createNode)(this.nodeType, order, userAccount);
27
27
  const orderSignature = getOrderSignature(order.orderId, userAccount);
28
28
  if (this.nodeMap.has(orderSignature)) {
29
29
  return;
@@ -14,7 +14,7 @@ import { DriftClientConfig } from './driftClientConfig';
14
14
  import { User } from './user';
15
15
  import { UserSubscriptionConfig } from './userConfig';
16
16
  import { UserStats } from './userStats';
17
- declare type RemainingAccountParams = {
17
+ type RemainingAccountParams = {
18
18
  userAccounts: UserAccount[];
19
19
  writablePerpMarketIndexes?: number[];
20
20
  writableSpotMarketIndexes?: number[];