@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 +32 -24
- package/package.json +1 -1
- package/src/dlob/DLOB.ts +32 -22
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
|
-
|
|
564
|
-
|
|
565
|
-
.
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
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
|
-
|
|
579
|
-
.
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
if (
|
|
584
|
-
|
|
585
|
-
|
|
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
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
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
.trigger.above
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
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
|
-
|
|
1037
|
-
.
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
if (
|
|
1042
|
-
|
|
1043
|
-
|
|
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
|
|