@drift-labs/sdk 2.149.1 → 2.150.0-alpha.0

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 (58) hide show
  1. package/.env +4 -0
  2. package/VERSION +1 -1
  3. package/lib/browser/constants/perpMarkets.js +11 -0
  4. package/lib/browser/constants/spotMarkets.js +13 -0
  5. package/lib/browser/decode/user.js +2 -2
  6. package/lib/browser/driftClient.d.ts +20 -8
  7. package/lib/browser/driftClient.js +216 -17
  8. package/lib/browser/idl/drift.json +225 -21
  9. package/lib/browser/math/margin.js +2 -1
  10. package/lib/browser/math/position.d.ts +1 -0
  11. package/lib/browser/math/position.js +10 -2
  12. package/lib/browser/math/superStake.d.ts +3 -2
  13. package/lib/browser/types.d.ts +12 -6
  14. package/lib/browser/types.js +11 -6
  15. package/lib/browser/user.d.ts +3 -2
  16. package/lib/browser/user.js +24 -8
  17. package/lib/node/constants/perpMarkets.d.ts.map +1 -1
  18. package/lib/node/constants/perpMarkets.js +11 -0
  19. package/lib/node/constants/spotMarkets.d.ts.map +1 -1
  20. package/lib/node/constants/spotMarkets.js +13 -0
  21. package/lib/node/decode/user.d.ts.map +1 -1
  22. package/lib/node/decode/user.js +2 -2
  23. package/lib/node/driftClient.d.ts +20 -8
  24. package/lib/node/driftClient.d.ts.map +1 -1
  25. package/lib/node/driftClient.js +216 -17
  26. package/lib/node/idl/drift.json +225 -21
  27. package/lib/node/math/margin.d.ts.map +1 -1
  28. package/lib/node/math/margin.js +2 -1
  29. package/lib/node/math/position.d.ts +1 -0
  30. package/lib/node/math/position.d.ts.map +1 -1
  31. package/lib/node/math/position.js +10 -2
  32. package/lib/node/math/spotBalance.d.ts.map +1 -1
  33. package/lib/node/math/superStake.d.ts +3 -2
  34. package/lib/node/math/superStake.d.ts.map +1 -1
  35. package/lib/node/types.d.ts +12 -6
  36. package/lib/node/types.d.ts.map +1 -1
  37. package/lib/node/types.js +11 -6
  38. package/lib/node/user.d.ts +3 -2
  39. package/lib/node/user.d.ts.map +1 -1
  40. package/lib/node/user.js +24 -8
  41. package/package.json +1 -1
  42. package/scripts/deposit-isolated-positions.ts +110 -0
  43. package/scripts/single-grpc-client-test.ts +71 -21
  44. package/scripts/withdraw-isolated-positions.ts +174 -0
  45. package/src/constants/perpMarkets.ts +11 -0
  46. package/src/constants/spotMarkets.ts +14 -0
  47. package/src/decode/user.ts +2 -3
  48. package/src/driftClient.ts +464 -41
  49. package/src/idl/drift.json +226 -22
  50. package/src/margin/README.md +143 -0
  51. package/src/math/margin.ts +3 -4
  52. package/src/math/position.ts +12 -2
  53. package/src/math/spotBalance.ts +0 -1
  54. package/src/types.ts +15 -7
  55. package/src/user.ts +49 -15
  56. package/tests/amm/test.ts +1 -1
  57. package/tests/dlob/helpers.ts +1 -1
  58. package/tests/user/test.ts +0 -7
@@ -652,6 +652,163 @@
652
652
  }
653
653
  ]
654
654
  },
655
+ {
656
+ "name": "depositIntoIsolatedPerpPosition",
657
+ "accounts": [
658
+ {
659
+ "name": "state",
660
+ "isMut": false,
661
+ "isSigner": false
662
+ },
663
+ {
664
+ "name": "user",
665
+ "isMut": true,
666
+ "isSigner": false
667
+ },
668
+ {
669
+ "name": "userStats",
670
+ "isMut": true,
671
+ "isSigner": false
672
+ },
673
+ {
674
+ "name": "authority",
675
+ "isMut": false,
676
+ "isSigner": true
677
+ },
678
+ {
679
+ "name": "spotMarketVault",
680
+ "isMut": true,
681
+ "isSigner": false
682
+ },
683
+ {
684
+ "name": "userTokenAccount",
685
+ "isMut": true,
686
+ "isSigner": false
687
+ },
688
+ {
689
+ "name": "tokenProgram",
690
+ "isMut": false,
691
+ "isSigner": false
692
+ }
693
+ ],
694
+ "args": [
695
+ {
696
+ "name": "spotMarketIndex",
697
+ "type": "u16"
698
+ },
699
+ {
700
+ "name": "perpMarketIndex",
701
+ "type": "u16"
702
+ },
703
+ {
704
+ "name": "amount",
705
+ "type": "u64"
706
+ }
707
+ ]
708
+ },
709
+ {
710
+ "name": "transferIsolatedPerpPositionDeposit",
711
+ "accounts": [
712
+ {
713
+ "name": "user",
714
+ "isMut": true,
715
+ "isSigner": false
716
+ },
717
+ {
718
+ "name": "userStats",
719
+ "isMut": true,
720
+ "isSigner": false
721
+ },
722
+ {
723
+ "name": "authority",
724
+ "isMut": false,
725
+ "isSigner": true
726
+ },
727
+ {
728
+ "name": "state",
729
+ "isMut": false,
730
+ "isSigner": false
731
+ },
732
+ {
733
+ "name": "spotMarketVault",
734
+ "isMut": false,
735
+ "isSigner": false
736
+ }
737
+ ],
738
+ "args": [
739
+ {
740
+ "name": "spotMarketIndex",
741
+ "type": "u16"
742
+ },
743
+ {
744
+ "name": "perpMarketIndex",
745
+ "type": "u16"
746
+ },
747
+ {
748
+ "name": "amount",
749
+ "type": "i64"
750
+ }
751
+ ]
752
+ },
753
+ {
754
+ "name": "withdrawFromIsolatedPerpPosition",
755
+ "accounts": [
756
+ {
757
+ "name": "state",
758
+ "isMut": false,
759
+ "isSigner": false
760
+ },
761
+ {
762
+ "name": "user",
763
+ "isMut": true,
764
+ "isSigner": false
765
+ },
766
+ {
767
+ "name": "userStats",
768
+ "isMut": true,
769
+ "isSigner": false
770
+ },
771
+ {
772
+ "name": "authority",
773
+ "isMut": false,
774
+ "isSigner": true
775
+ },
776
+ {
777
+ "name": "spotMarketVault",
778
+ "isMut": true,
779
+ "isSigner": false
780
+ },
781
+ {
782
+ "name": "driftSigner",
783
+ "isMut": false,
784
+ "isSigner": false
785
+ },
786
+ {
787
+ "name": "userTokenAccount",
788
+ "isMut": true,
789
+ "isSigner": false
790
+ },
791
+ {
792
+ "name": "tokenProgram",
793
+ "isMut": false,
794
+ "isSigner": false
795
+ }
796
+ ],
797
+ "args": [
798
+ {
799
+ "name": "spotMarketIndex",
800
+ "type": "u16"
801
+ },
802
+ {
803
+ "name": "perpMarketIndex",
804
+ "type": "u16"
805
+ },
806
+ {
807
+ "name": "amount",
808
+ "type": "u64"
809
+ }
810
+ ]
811
+ },
655
812
  {
656
813
  "name": "placePerpOrder",
657
814
  "accounts": [
@@ -14412,13 +14569,13 @@
14412
14569
  "type": "u64"
14413
14570
  },
14414
14571
  {
14415
- "name": "lastBaseAssetAmountPerLp",
14572
+ "name": "isolatedPositionScaledBalance",
14416
14573
  "docs": [
14417
14574
  "The last base asset amount per lp the amm had",
14418
14575
  "Used to settle the users lp position",
14419
- "precision: BASE_PRECISION"
14576
+ "precision: SPOT_BALANCE_PRECISION"
14420
14577
  ],
14421
- "type": "i64"
14578
+ "type": "u64"
14422
14579
  },
14423
14580
  {
14424
14581
  "name": "lastQuoteAssetAmountPerLp",
@@ -14457,8 +14614,8 @@
14457
14614
  "type": "u8"
14458
14615
  },
14459
14616
  {
14460
- "name": "perLpBase",
14461
- "type": "i8"
14617
+ "name": "positionFlag",
14618
+ "type": "u8"
14462
14619
  }
14463
14620
  ]
14464
14621
  }
@@ -15138,6 +15295,17 @@
15138
15295
  ]
15139
15296
  }
15140
15297
  },
15298
+ {
15299
+ "name": "LiquidationBitFlag",
15300
+ "type": {
15301
+ "kind": "enum",
15302
+ "variants": [
15303
+ {
15304
+ "name": "IsolatedPosition"
15305
+ }
15306
+ ]
15307
+ }
15308
+ },
15141
15309
  {
15142
15310
  "name": "SettlePnlExplanation",
15143
15311
  "type": {
@@ -15267,13 +15435,7 @@
15267
15435
  "kind": "enum",
15268
15436
  "variants": [
15269
15437
  {
15270
- "name": "Standard",
15271
- "fields": [
15272
- {
15273
- "name": "trackOpenOrdersFraction",
15274
- "type": "bool"
15275
- }
15276
- ]
15438
+ "name": "Standard"
15277
15439
  },
15278
15440
  {
15279
15441
  "name": "Liquidation",
@@ -15434,6 +15596,9 @@
15434
15596
  },
15435
15597
  {
15436
15598
  "name": "AmmImmediateFill"
15599
+ },
15600
+ {
15601
+ "name": "SettleRevPool"
15437
15602
  }
15438
15603
  ]
15439
15604
  }
@@ -15912,6 +16077,23 @@
15912
16077
  ]
15913
16078
  }
15914
16079
  },
16080
+ {
16081
+ "name": "PositionFlag",
16082
+ "type": {
16083
+ "kind": "enum",
16084
+ "variants": [
16085
+ {
16086
+ "name": "IsolatedPosition"
16087
+ },
16088
+ {
16089
+ "name": "BeingLiquidated"
16090
+ },
16091
+ {
16092
+ "name": "Bankrupt"
16093
+ }
16094
+ ]
16095
+ }
16096
+ },
15915
16097
  {
15916
16098
  "name": "ReferrerStatus",
15917
16099
  "type": {
@@ -16131,6 +16313,18 @@
16131
16313
  "option": "publicKey"
16132
16314
  },
16133
16315
  "index": false
16316
+ },
16317
+ {
16318
+ "name": "signer",
16319
+ "type": {
16320
+ "option": "publicKey"
16321
+ },
16322
+ "index": false
16323
+ },
16324
+ {
16325
+ "name": "userTokenAmountAfter",
16326
+ "type": "i128",
16327
+ "index": false
16134
16328
  }
16135
16329
  ]
16136
16330
  },
@@ -16876,6 +17070,11 @@
16876
17070
  "defined": "SpotBankruptcyRecord"
16877
17071
  },
16878
17072
  "index": false
17073
+ },
17074
+ {
17075
+ "name": "bitFlags",
17076
+ "type": "u8",
17077
+ "index": false
16879
17078
  }
16880
17079
  ]
16881
17080
  },
@@ -18312,8 +18511,8 @@
18312
18511
  },
18313
18512
  {
18314
18513
  "code": 6094,
18315
- "name": "CantUpdatePoolBalanceType",
18316
- "msg": "CantUpdatePoolBalanceType"
18514
+ "name": "CantUpdateSpotBalanceType",
18515
+ "msg": "CantUpdateSpotBalanceType"
18317
18516
  },
18318
18517
  {
18319
18518
  "code": 6095,
@@ -19427,41 +19626,46 @@
19427
19626
  },
19428
19627
  {
19429
19628
  "code": 6317,
19629
+ "name": "InvalidIsolatedPerpMarket",
19630
+ "msg": "Invalid Isolated Perp Market"
19631
+ },
19632
+ {
19633
+ "code": 6318,
19430
19634
  "name": "InvalidRevenueShareResize",
19431
19635
  "msg": "Invalid RevenueShare resize"
19432
19636
  },
19433
19637
  {
19434
- "code": 6318,
19638
+ "code": 6319,
19435
19639
  "name": "BuilderRevoked",
19436
19640
  "msg": "Builder has been revoked"
19437
19641
  },
19438
19642
  {
19439
- "code": 6319,
19643
+ "code": 6320,
19440
19644
  "name": "InvalidBuilderFee",
19441
19645
  "msg": "Builder fee is greater than max fee bps"
19442
19646
  },
19443
19647
  {
19444
- "code": 6320,
19648
+ "code": 6321,
19445
19649
  "name": "RevenueShareEscrowAuthorityMismatch",
19446
19650
  "msg": "RevenueShareEscrow authority mismatch"
19447
19651
  },
19448
19652
  {
19449
- "code": 6321,
19653
+ "code": 6322,
19450
19654
  "name": "RevenueShareEscrowOrdersAccountFull",
19451
19655
  "msg": "RevenueShareEscrow has too many active orders"
19452
19656
  },
19453
19657
  {
19454
- "code": 6322,
19658
+ "code": 6323,
19455
19659
  "name": "InvalidRevenueShareAccount",
19456
19660
  "msg": "Invalid RevenueShareAccount"
19457
19661
  },
19458
19662
  {
19459
- "code": 6323,
19663
+ "code": 6324,
19460
19664
  "name": "CannotRevokeBuilderWithOpenOrders",
19461
19665
  "msg": "Cannot revoke builder with open orders"
19462
19666
  },
19463
19667
  {
19464
- "code": 6324,
19668
+ "code": 6325,
19465
19669
  "name": "UnableToLoadRevenueShareAccount",
19466
19670
  "msg": "Unable to load builder account"
19467
19671
  },
@@ -1 +1 @@
1
- {"version":3,"file":"margin.d.ts","sourceRoot":"","sources":["../../../src/math/margin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"margin.d.ts","sourceRoot":"","sources":["../../../src/math/margin.ts"],"names":[],"mappings":"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"}
@@ -91,10 +91,11 @@ function calculateWorstCaseBaseAssetAmount(perpPosition, perpMarket, oraclePrice
91
91
  exports.calculateWorstCaseBaseAssetAmount = calculateWorstCaseBaseAssetAmount;
92
92
  function calculateWorstCasePerpLiabilityValue(perpPosition, perpMarket, oraclePrice, includeOpenOrders = true) {
93
93
  const isPredictionMarket = (0, types_1.isVariant)(perpMarket.contractType, 'prediction');
94
+ // return early if no open orders required
94
95
  if (!includeOpenOrders) {
95
96
  return {
96
97
  worstCaseBaseAssetAmount: perpPosition.baseAssetAmount,
97
- worstCaseLiabilityValue: calculatePerpLiabilityValue(perpPosition.baseAssetAmount, oraclePrice, isPredictionMarket),
98
+ worstCaseLiabilityValue: calculatePerpLiabilityValue(perpPosition.baseAssetAmount, oraclePrice, (0, types_1.isVariant)(perpMarket.contractType, 'prediction')),
98
99
  };
99
100
  }
100
101
  const allBids = perpPosition.baseAssetAmount.add(perpPosition.openBids);
@@ -46,6 +46,7 @@ export declare function calculateUnsettledFundingPnl(market: PerpMarketAccount,
46
46
  */
47
47
  export declare function calculatePositionFundingPNL(market: PerpMarketAccount, perpPosition: PerpPosition): BN;
48
48
  export declare function positionIsAvailable(position: PerpPosition): boolean;
49
+ export declare function positionIsBeingLiquidated(position: PerpPosition): boolean;
49
50
  /**
50
51
  *
51
52
  * @param userPosition
@@ -1 +1 @@
1
- {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../../src/math/position.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAUvC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EACN,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,MAAM,UAAU,CAAC;AAUlB;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACtC,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,YAAY,EAC1B,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,UAAO,EAChB,UAAU,UAAQ,EAClB,UAAU,CAAC,EAAE,EAAE,GACb,EAAE,CAoDJ;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,YAAY,EAC1B,WAAW,SAAQ,EACnB,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,GAC7C,EAAE,CAyBJ;AAED,wBAAgB,qBAAqB,CACpC,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,iBAAiB,EAC7B,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,GAC7C,EAAE,CAyBJ;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACzC,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,YAAY,EAC1B,gBAAgB,UAAO,GACrB,EAAE,CAeJ;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC3C,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,YAAY,GACxB,EAAE,CAoBJ;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAC1C,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,YAAY,GACxB,EAAE,CAEJ;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAOnE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,YAAY,GAAG,EAAE,CAUtE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,YAAY,GAAG,EAAE,CAUlE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CACjC,YAAY,EAAE,YAAY,EAC1B,iBAAiB,UAAQ,GACvB,EAAE,CAWJ;AAED,wBAAgB,oBAAoB,CACnC,YAAY,EAAE,YAAY,GACxB,iBAAiB,CAInB;AAED,wBAAgB,wBAAwB,CACvC,YAAY,EAAE,YAAY,GACxB,iBAAiB,CAInB;AAED,wBAAgB,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAEnE;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAM7D"}
1
+ {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../../src/math/position.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAUvC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EACN,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EAEjB,MAAM,UAAU,CAAC;AAUlB;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACtC,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,YAAY,EAC1B,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,UAAO,EAChB,UAAU,UAAQ,EAClB,UAAU,CAAC,EAAE,EAAE,GACb,EAAE,CAoDJ;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,YAAY,EAC1B,WAAW,SAAQ,EACnB,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,GAC7C,EAAE,CAwBJ;AAED,wBAAgB,qBAAqB,CACpC,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,iBAAiB,EAC7B,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,GAC7C,EAAE,CAyBJ;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CACzC,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,YAAY,EAC1B,gBAAgB,UAAO,GACrB,EAAE,CAeJ;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC3C,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,YAAY,GACxB,EAAE,CAoBJ;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAC1C,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,YAAY,GACxB,EAAE,CAEJ;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CASnE;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAMzE;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,YAAY,GAAG,EAAE,CAUtE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,YAAY,GAAG,EAAE,CAUlE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CACjC,YAAY,EAAE,YAAY,EAC1B,iBAAiB,UAAQ,GACvB,EAAE,CAWJ;AAED,wBAAgB,oBAAoB,CACnC,YAAY,EAAE,YAAY,GACxB,iBAAiB,CAInB;AAED,wBAAgB,wBAAwB,CACvC,YAAY,EAAE,YAAY,GACxB,iBAAiB,CAInB;AAED,wBAAgB,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAEnE;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAM7D"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hasOpenOrders = exports.isEmptyPosition = exports.positionCurrentDirection = exports.findDirectionToClose = exports.calculateCostBasis = exports.calculateEntryPrice = exports.calculateBreakEvenPrice = exports.positionIsAvailable = exports.calculatePositionFundingPNL = exports.calculateUnsettledFundingPnl = exports.calculateFeesAndFundingPnl = exports.calculateClaimablePnl = exports.calculatePositionPNL = exports.calculateBaseAssetValue = void 0;
3
+ exports.hasOpenOrders = exports.isEmptyPosition = exports.positionCurrentDirection = exports.findDirectionToClose = exports.calculateCostBasis = exports.calculateEntryPrice = exports.calculateBreakEvenPrice = exports.positionIsBeingLiquidated = exports.positionIsAvailable = exports.calculatePositionFundingPNL = exports.calculateUnsettledFundingPnl = exports.calculateFeesAndFundingPnl = exports.calculateClaimablePnl = exports.calculatePositionPNL = exports.calculateBaseAssetValue = void 0;
4
4
  const anchor_1 = require("@coral-xyz/anchor");
5
5
  const numericConstants_1 = require("../constants/numericConstants");
6
6
  const types_1 = require("../types");
@@ -149,9 +149,17 @@ function positionIsAvailable(position) {
149
149
  return (position.baseAssetAmount.eq(numericConstants_1.ZERO) &&
150
150
  position.openOrders === 0 &&
151
151
  position.quoteAssetAmount.eq(numericConstants_1.ZERO) &&
152
- position.lpShares.eq(numericConstants_1.ZERO));
152
+ position.lpShares.eq(numericConstants_1.ZERO) &&
153
+ position.isolatedPositionScaledBalance.eq(numericConstants_1.ZERO) &&
154
+ !positionIsBeingLiquidated(position));
153
155
  }
154
156
  exports.positionIsAvailable = positionIsAvailable;
157
+ function positionIsBeingLiquidated(position) {
158
+ return ((position.positionFlag &
159
+ (types_1.PositionFlag.BeingLiquidated | types_1.PositionFlag.Bankruptcy)) >
160
+ 0);
161
+ }
162
+ exports.positionIsBeingLiquidated = positionIsBeingLiquidated;
155
163
  /**
156
164
  *
157
165
  * @param userPosition
@@ -1 +1 @@
1
- {"version":3,"file":"spotBalance.d.ts","sourceRoot":"","sources":["../../../src/math/spotBalance.ts"],"names":[],"mappings":";AAAA,OAAO,EACN,iBAAiB,EACjB,eAAe,EAEf,cAAc,EACd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAgBvC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACzB,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,iBAAiB,EAC7B,WAAW,EAAE,eAAe,GAC1B,EAAE,CAcJ;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC7B,aAAa,EAAE,EAAE,EACjB,UAAU,EAAE,iBAAiB,EAC7B,WAAW,EAAE,eAAe,GAC1B,EAAE,CAaJ;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CACnC,WAAW,EAAE,EAAE,EACf,WAAW,EAAE,eAAe,GAC1B,EAAE,CAMJ;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAClC,WAAW,EAAE,EAAE,EACf,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,iBAAiB,GAClC,EAAE,CAeJ;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC5B,WAAW,EAAE,EAAE,EACf,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,GAC7C,EAAE,CAQJ;AAED,wBAAgB,oBAAoB,CACnC,aAAa,EAAE,EAAE,EACjB,WAAW,EAAE,EAAE,EACf,UAAU,EAAE,iBAAiB,EAC7B,cAAc,EAAE,cAAc,GAC5B,EAAE,CAoCJ;AAED,wBAAgB,iCAAiC,CAChD,UAAU,EAAE,iBAAiB,EAC7B,WAAW,EAAE,EAAE,GACb,EAAE,CAqBJ;AAED,wBAAgB,wBAAwB,CACvC,IAAI,EAAE,EAAE,EACR,UAAU,EAAE,iBAAiB,EAC7B,cAAc,EAAE,cAAc,GAC5B,EAAE,CAsCJ;AAED,wBAAgB,oBAAoB,CACnC,IAAI,EAAE,iBAAiB,EACvB,KAAK,KAAO,GACV,EAAE,CA8BJ;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAChD,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,EAAE,GAClB;IAAE,aAAa,EAAE,EAAE,CAAC;IAAC,iBAAiB,EAAE,EAAE,CAAA;CAAE,CAqE9C;AAED,wBAAgB,qBAAqB,CACpC,IAAI,EAAE,iBAAiB,EACvB,KAAK,KAAO,EACZ,kBAAkB,GAAE,EAAS,GAC3B,EAAE,CAwDJ;AAED,wBAAgB,oBAAoB,CACnC,IAAI,EAAE,iBAAiB,EACvB,KAAK,KAAO,EACZ,kBAAkB,GAAE,EAAS,GAC3B,EAAE,CAYJ;AAED,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,iBAAiB,EACvB,KAAK,KAAO,EACZ,kBAAkB,GAAE,EAAS,GAC3B,EAAE,CAEJ;AAED,wBAAgB,4BAA4B,CAC3C,IAAI,EAAE,iBAAiB,EACvB,GAAG,EAAE,EAAE,GACL;IAAE,cAAc,EAAE,EAAE,CAAC;IAAC,eAAe,EAAE,EAAE,CAAA;CAAE,CAwB7C;AAED,wBAAgB,+BAA+B,CAC9C,kBAAkB,EAAE,EAAE,EACtB,iBAAiB,EAAE,EAAE,EACrB,UAAU,EAAE,iBAAiB,GAC3B;IACF,8BAA8B,EAAE,EAAE,CAAC;IACnC,6BAA6B,EAAE,EAAE,CAAC;CAClC,CAsCA;AAED,wBAAgB,sBAAsB,CACrC,UAAU,EAAE,iBAAiB,EAC7B,GAAG,EAAE,EAAE,GACL;IACF,WAAW,EAAE,EAAE,CAAC;IAChB,aAAa,EAAE,EAAE,CAAC;IAClB,gBAAgB,EAAE,EAAE,CAAC;IACrB,eAAe,EAAE,EAAE,CAAC;IACpB,oBAAoB,MAAC;IACrB,mBAAmB,MAAC;CACpB,CAqHA;AAED,wBAAgB,iBAAiB,CAChC,WAAW,EAAE,EAAE,EACf,iBAAiB,EAAE,iBAAiB,EACpC,iBAAiB,EAAE,iBAAiB,EACpC,cAAc,EAAE,MAAM,EACtB,cAAc,CAAC,EAAE,cAAc,GAC7B,EAAE,CA8BJ;AAED,wBAAgB,qBAAqB,CACpC,WAAW,EAAE,EAAE,EACf,iBAAiB,EAAE,iBAAiB,EACpC,iBAAiB,EAAE,iBAAiB,EACpC,cAAc,EAAE,MAAM,EACtB,cAAc,CAAC,EAAE,cAAc,EAC/B,iBAAiB,CAAC,EAAE,EAAE,GACpB,EAAE,CAkCJ"}
1
+ {"version":3,"file":"spotBalance.d.ts","sourceRoot":"","sources":["../../../src/math/spotBalance.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { DriftClient } from '../driftClient';
5
5
  import { BN } from '@coral-xyz/anchor';
6
6
  import { User } from '../user';
7
7
  import { DepositRecord } from '../types';
8
+ import fetch from 'node-fetch';
8
9
  export type BSOL_STATS_API_RESPONSE = {
9
10
  success: boolean;
10
11
  stats?: {
@@ -27,8 +28,8 @@ export type BSOL_EMISSIONS_API_RESPONSE = {
27
28
  lend: number;
28
29
  };
29
30
  };
30
- export declare function fetchBSolMetrics(): Promise<any>;
31
- export declare function fetchBSolDriftEmissions(): Promise<any>;
31
+ export declare function fetchBSolMetrics(): Promise<fetch.Response>;
32
+ export declare function fetchBSolDriftEmissions(): Promise<fetch.Response>;
32
33
  export declare function findBestSuperStakeIxs({ marketIndex, amount, jupiterClient, driftClient, userAccountPublicKey, price, forceMarinade, onlyDirectRoutes, jupiterQuote, }: {
33
34
  marketIndex: number;
34
35
  amount: BN;
@@ -1 +1 @@
1
- {"version":3,"file":"superStake.d.ts","sourceRoot":"","sources":["../../../src/math/superStake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"superStake.d.ts","sourceRoot":"","sources":["../../../src/math/superStake.ts"],"names":[],"mappings":"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"}
@@ -697,6 +697,9 @@ export type SpotBankruptcyRecord = {
697
697
  cumulativeDepositInterestDelta: BN;
698
698
  ifPayment: BN;
699
699
  };
700
+ export declare class LiquidationBitFlag {
701
+ static readonly IsolatedPosition = 1;
702
+ }
700
703
  export type SettlePnlRecord = {
701
704
  ts: BN;
702
705
  user: PublicKey;
@@ -1192,14 +1195,9 @@ export type PerpPosition = {
1192
1195
  lastBaseAssetAmountPerLp: BN;
1193
1196
  lastQuoteAssetAmountPerLp: BN;
1194
1197
  perLpBase: number;
1195
- isolatedPositionScaledBalance: BN;
1196
1198
  positionFlag: number;
1199
+ isolatedPositionScaledBalance: BN;
1197
1200
  };
1198
- export declare class PositionFlag {
1199
- static readonly IsolatedPosition = 1;
1200
- static readonly BeingLiquidated = 2;
1201
- static readonly Bankruptcy = 4;
1202
- }
1203
1201
  export type UserStatsAccount = {
1204
1202
  numberOfSubAccounts: number;
1205
1203
  numberOfSubAccountsCreated: number;
@@ -1348,6 +1346,11 @@ export declare class OrderParamsBitFlag {
1348
1346
  static readonly ImmediateOrCancel = 1;
1349
1347
  static readonly UpdateHighLeverageMode = 2;
1350
1348
  }
1349
+ export declare class PositionFlag {
1350
+ static readonly IsolatedPosition = 1;
1351
+ static readonly BeingLiquidated = 2;
1352
+ static readonly Bankruptcy = 4;
1353
+ }
1351
1354
  export type NecessaryOrderParams = {
1352
1355
  orderType: OrderType;
1353
1356
  marketIndex: number;
@@ -1357,6 +1360,9 @@ export type NecessaryOrderParams = {
1357
1360
  export type OptionalOrderParams = {
1358
1361
  [Property in keyof OrderParams]?: OrderParams[Property];
1359
1362
  } & NecessaryOrderParams;
1363
+ export type PerpOrderIsolatedExtras = {
1364
+ isolatedPositionDepositAmount?: BN;
1365
+ };
1360
1366
  export type ModifyOrderParams = {
1361
1367
  [Property in keyof OrderParams]?: OrderParams[Property] | null;
1362
1368
  } & {