@drift-labs/sdk 2.0.18 → 2.0.20

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.
package/lib/dlob/DLOB.js CHANGED
@@ -288,6 +288,9 @@ class DLOB {
288
288
  const nodesToFill = new Array();
289
289
  const marketTypeStr = (0, __1.getVariant)(marketType);
290
290
  const nodeLists = this.orderLists.get(marketTypeStr).get(marketIndex);
291
+ if (!nodeLists) {
292
+ return nodesToFill;
293
+ }
291
294
  // All bids/asks that can expire
292
295
  const bidGenerators = [
293
296
  nodeLists.limit.bid.getGenerator(),
@@ -560,34 +563,39 @@ class DLOB {
560
563
  }
561
564
  const nodesToTrigger = [];
562
565
  const marketTypeStr = (0, __1.getVariant)(marketType);
563
- for (const node of this.orderLists
564
- .get(marketTypeStr)
565
- .get(marketIndex)
566
- .trigger.above.getGenerator()) {
567
- if (oraclePrice.gt(node.order.triggerPrice)) {
568
- if ((0, __1.isAuctionComplete)(node.order, slot)) {
569
- nodesToTrigger.push({
570
- node: node,
571
- });
566
+ const marketNodeLists = this.orderLists.get(marketTypeStr).get(marketIndex);
567
+ const triggerAboveList = marketNodeLists
568
+ ? marketNodeLists.trigger.above
569
+ : undefined;
570
+ if (triggerAboveList) {
571
+ for (const node of triggerAboveList.getGenerator()) {
572
+ if (oraclePrice.gt(node.order.triggerPrice)) {
573
+ if ((0, __1.isAuctionComplete)(node.order, slot)) {
574
+ nodesToTrigger.push({
575
+ node: node,
576
+ });
577
+ }
578
+ }
579
+ else {
580
+ break;
572
581
  }
573
- }
574
- else {
575
- break;
576
582
  }
577
583
  }
578
- for (const node of this.orderLists
579
- .get(marketTypeStr)
580
- .get(marketIndex)
581
- .trigger.below.getGenerator()) {
582
- if (oraclePrice.lt(node.order.triggerPrice)) {
583
- if ((0, __1.isAuctionComplete)(node.order, slot)) {
584
- nodesToTrigger.push({
585
- node: node,
586
- });
584
+ const triggerBelowList = marketNodeLists
585
+ ? marketNodeLists.trigger.below
586
+ : undefined;
587
+ if (triggerBelowList) {
588
+ for (const node of triggerBelowList.getGenerator()) {
589
+ if (oraclePrice.lt(node.order.triggerPrice)) {
590
+ if ((0, __1.isAuctionComplete)(node.order, slot)) {
591
+ nodesToTrigger.push({
592
+ node: node,
593
+ });
594
+ }
595
+ }
596
+ else {
597
+ break;
587
598
  }
588
- }
589
- else {
590
- break;
591
599
  }
592
600
  }
593
601
  return nodesToTrigger;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drift-labs/sdk",
3
- "version": "2.0.18",
3
+ "version": "2.0.20",
4
4
  "main": "lib/index.js",
5
5
  "types": "lib/index.d.ts",
6
6
  "author": "crispheaney",
package/src/dlob/DLOB.ts CHANGED
@@ -577,6 +577,10 @@ export class DLOB {
577
577
  const marketTypeStr = getVariant(marketType) as MarketTypeStr;
578
578
  const nodeLists = this.orderLists.get(marketTypeStr).get(marketIndex);
579
579
 
580
+ if (!nodeLists) {
581
+ return nodesToFill;
582
+ }
583
+
580
584
  // All bids/asks that can expire
581
585
  const bidGenerators = [
582
586
  nodeLists.limit.bid.getGenerator(),
@@ -1018,33 +1022,39 @@ export class DLOB {
1018
1022
 
1019
1023
  const nodesToTrigger = [];
1020
1024
  const marketTypeStr = getVariant(marketType) as MarketTypeStr;
1021
- for (const node of this.orderLists
1022
- .get(marketTypeStr)
1023
- .get(marketIndex)
1024
- .trigger.above.getGenerator()) {
1025
- if (oraclePrice.gt(node.order.triggerPrice)) {
1026
- if (isAuctionComplete(node.order, slot)) {
1027
- nodesToTrigger.push({
1028
- node: node,
1029
- });
1025
+ const marketNodeLists = this.orderLists.get(marketTypeStr).get(marketIndex);
1026
+
1027
+ const triggerAboveList = marketNodeLists
1028
+ ? marketNodeLists.trigger.above
1029
+ : undefined;
1030
+ if (triggerAboveList) {
1031
+ for (const node of triggerAboveList.getGenerator()) {
1032
+ if (oraclePrice.gt(node.order.triggerPrice)) {
1033
+ if (isAuctionComplete(node.order, slot)) {
1034
+ nodesToTrigger.push({
1035
+ node: node,
1036
+ });
1037
+ }
1038
+ } else {
1039
+ break;
1030
1040
  }
1031
- } else {
1032
- break;
1033
1041
  }
1034
1042
  }
1035
1043
 
1036
- for (const node of this.orderLists
1037
- .get(marketTypeStr)
1038
- .get(marketIndex)
1039
- .trigger.below.getGenerator()) {
1040
- if (oraclePrice.lt(node.order.triggerPrice)) {
1041
- if (isAuctionComplete(node.order, slot)) {
1042
- nodesToTrigger.push({
1043
- node: node,
1044
- });
1044
+ const triggerBelowList = marketNodeLists
1045
+ ? marketNodeLists.trigger.below
1046
+ : undefined;
1047
+ if (triggerBelowList) {
1048
+ for (const node of triggerBelowList.getGenerator()) {
1049
+ if (oraclePrice.lt(node.order.triggerPrice)) {
1050
+ if (isAuctionComplete(node.order, slot)) {
1051
+ nodesToTrigger.push({
1052
+ node: node,
1053
+ });
1054
+ }
1055
+ } else {
1056
+ break;
1045
1057
  }
1046
- } else {
1047
- break;
1048
1058
  }
1049
1059
  }
1050
1060