@quartz-labs/sdk 0.36.0 → 0.37.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.
@@ -24,16 +24,10 @@ export declare class DriftUser {
24
24
  private getWorstCaseTokenAmounts;
25
25
  private getSpotLiabilityValue;
26
26
  private getSpotAssetValue;
27
- private getUnrealizedPNL;
28
27
  private getActivePerpPositions;
29
- private getPerpPositionWithLPSettle;
30
- private getPerpPosition;
31
- private getEmptyPosition;
32
28
  private getClonedPosition;
33
29
  getInitialMarginRequirement(openOrderBalances?: Record<MarketIndex, BN>): BN;
34
30
  private getMarginRequirement;
35
- private getTotalPerpPositionLiability;
36
- private calculateWeightedPerpPositionLiability;
37
31
  private getSpotMarketLiabilityValue;
38
32
  }
39
33
  //# sourceMappingURL=DriftUser.class.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DriftUser.class.d.ts","sourceRoot":"","sources":["../../../src/types/classes/DriftUser.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,EAAE,EAYF,KAAK,WAAW,EAQhB,KAAK,cAAc,EAUnB,KAAK,WAAW,EAUhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAKjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,qBAAa,SAAS;IACrB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,WAAW,CAAc;IAEjC,OAAO,CAAC,WAAW,CAA0B;IACtC,MAAM,EAAE,SAAS,CAAC;IAClB,WAAW,EAAE,SAAS,CAAC;gBAG7B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW;IAYlB,mBAAmB,IAAI,WAAW;IAKlC,oBAAoB,CAAC,gBAAgB,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE;IAoBpE,SAAS,IAAI,MAAM;IA2BnB,cAAc,CACpB,WAAW,EAAE,MAAM,EACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,GACzC,EAAE;IAwBE,kBAAkB,CACxB,WAAW,EAAE,WAAW,EACxB,UAAU,CAAC,EAAE,OAAO,EACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,GACzC,EAAE;IA2FE,iBAAiB,CACvB,cAAc,GAAE,cAA0B,EAC1C,MAAM,UAAQ,EACd,iBAAiB,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,GACzC,EAAE;IAuBL,OAAO,CAAC,uBAAuB;IA6D/B,OAAO,CAAC,iBAAiB;IASlB,uBAAuB,CAC7B,cAAc,CAAC,EAAE,cAAc,EAC/B,MAAM,UAAQ,EACd,iBAAiB,UAAO,EACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,GACzC,EAAE;IAaE,0BAA0B,CAChC,cAAc,CAAC,EAAE,cAAc,EAC/B,MAAM,UAAQ,EACd,iBAAiB,UAAO,EACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,GACzC,EAAE;IAeL,OAAO,CAAC,uBAAuB;IAoB/B,OAAO,CAAC,mCAAmC;IAyL3C,OAAO,CAAC,wBAAwB;IA0EhC,OAAO,CAAC,qBAAqB;IA4C7B,OAAO,CAAC,iBAAiB;IAuCzB,OAAO,CAAC,gBAAgB;IAkFxB,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,2BAA2B;IA0MnC,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,iBAAiB;IAKlB,2BAA2B,CACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,GACzC,EAAE;IAoBL,OAAO,CAAC,oBAAoB;IAyB5B,OAAO,CAAC,6BAA6B;IAqBrC,OAAO,CAAC,sCAAsC;IAqH9C,OAAO,CAAC,2BAA2B;CAoBnC"}
1
+ {"version":3,"file":"DriftUser.class.d.ts","sourceRoot":"","sources":["../../../src/types/classes/DriftUser.class.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,EAAE,EAKF,KAAK,WAAW,EAQhB,KAAK,cAAc,EAQnB,KAAK,WAAW,EAUhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAKjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,qBAAa,SAAS;IACrB,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,WAAW,CAAc;IAEjC,OAAO,CAAC,WAAW,CAA0B;IACtC,MAAM,EAAE,SAAS,CAAC;IAClB,WAAW,EAAE,SAAS,CAAC;gBAG7B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW;IAYlB,mBAAmB,IAAI,WAAW;IAKlC,oBAAoB,CAAC,gBAAgB,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE;IAoBpE,SAAS,IAAI,MAAM;IA2BnB,cAAc,CACpB,WAAW,EAAE,MAAM,EACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,GACzC,EAAE;IAwBE,kBAAkB,CACxB,WAAW,EAAE,WAAW,EACxB,UAAU,CAAC,EAAE,OAAO,EACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,GACzC,EAAE;IA2FE,iBAAiB,CACvB,cAAc,GAAE,cAA0B,EAC1C,MAAM,UAAQ,EACd,iBAAiB,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,GACzC,EAAE;IAuBL,OAAO,CAAC,uBAAuB;IA6D/B,OAAO,CAAC,iBAAiB;IASlB,uBAAuB,CAC7B,cAAc,CAAC,EAAE,cAAc,EAC/B,MAAM,UAAQ,EACd,iBAAiB,UAAO,EACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,GACzC,EAAE;IAaE,0BAA0B,CAChC,cAAc,CAAC,EAAE,cAAc,EAC/B,MAAM,UAAQ,EACd,iBAAiB,UAAO,EACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,GACzC,EAAE;IAeL,OAAO,CAAC,uBAAuB;IAoB/B,OAAO,CAAC,mCAAmC;IAyL3C,OAAO,CAAC,wBAAwB;IA0EhC,OAAO,CAAC,qBAAqB;IA4C7B,OAAO,CAAC,iBAAiB;IAuCzB,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,iBAAiB;IAKlB,2BAA2B,CACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,GACzC,EAAE;IAoBL,OAAO,CAAC,oBAAoB;IAkB5B,OAAO,CAAC,2BAA2B;CAoBnC"}
@@ -1,4 +1,4 @@
1
- import { AMM_RESERVE_PRECISION, AMM_RESERVE_PRECISION_EXP, BN, calculateAssetWeight, calculateLiabilityWeight, calculateLiveOracleTwap, calculateMarketMarginRatio, calculateMarketOpenBidAsk, calculatePerpLiabilityValue, calculatePositionPNL, calculateUnrealizedAssetWeight, calculateUnsettledFundingPnl, calculateWithdrawLimit, calculateWorstCasePerpLiabilityValue, FIVE_MINUTE, getSignedTokenAmount, getStrictTokenValue, getTokenAmount, isSpotPositionAvailable, isVariant, MARGIN_PRECISION, ONE, OPEN_ORDER_MARGIN_REQUIREMENT, PRICE_PRECISION, QUOTE_PRECISION, QUOTE_SPOT_MARKET_INDEX, SPOT_MARKET_WEIGHT_PRECISION, SpotBalanceType, StrictOraclePrice, UserStatus, ZERO, TEN, divCeil, calculateWeightedTokenValue, simulateOrderFill, } from "@drift-labs/sdk";
1
+ import { BN, calculateAssetWeight, calculateLiabilityWeight, calculateLiveOracleTwap, calculateWithdrawLimit, FIVE_MINUTE, getSignedTokenAmount, getStrictTokenValue, getTokenAmount, isSpotPositionAvailable, isVariant, MARGIN_PRECISION, OPEN_ORDER_MARGIN_REQUIREMENT, PRICE_PRECISION, QUOTE_SPOT_MARKET_INDEX, SPOT_MARKET_WEIGHT_PRECISION, SpotBalanceType, StrictOraclePrice, UserStatus, ZERO, TEN, divCeil, calculateWeightedTokenValue, simulateOrderFill, } from "@drift-labs/sdk";
2
2
  import { getDriftUserPublicKey, getDriftUserStatsPublicKey, } from "../../utils/accounts.js";
3
3
  import { getMarketIndicesRecord } from "../../index.browser.js";
4
4
  export class DriftUser {
@@ -167,7 +167,7 @@ export class DriftUser {
167
167
  getTotalCollateralValue(marginCategory, strict = false, includeOpenOrders = true, openOrderBalances) {
168
168
  if (!this.userAccount)
169
169
  throw new Error("DriftUser not initialized");
170
- return this.getSpotMarketAssetValue(marginCategory, undefined, includeOpenOrders, strict, undefined, openOrderBalances).add(this.getUnrealizedPNL(true, undefined, marginCategory, strict));
170
+ return this.getSpotMarketAssetValue(marginCategory, undefined, includeOpenOrders, strict, undefined, openOrderBalances);
171
171
  }
172
172
  getTotalSpotLiabilityValue(marginCategory, strict = false, includeOpenOrders = true, openOrderBalances) {
173
173
  if (!this.userAccount)
@@ -321,45 +321,6 @@ export class DriftUser {
321
321
  }
322
322
  return assetValue;
323
323
  }
324
- getUnrealizedPNL(withFunding, marketIndex, withWeightMarginCategory, strict = false) {
325
- return this.getActivePerpPositions()
326
- .filter((pos) => marketIndex !== undefined ? pos.marketIndex === marketIndex : true)
327
- .reduce((unrealizedPnl, perpPosition) => {
328
- const market = this.driftClient.getPerpMarketAccount(perpPosition.marketIndex);
329
- if (!market)
330
- throw new Error("Perp market not found");
331
- const oraclePriceData = this.driftClient.getOracleDataForPerpMarket(market.marketIndex);
332
- const quoteSpotMarket = this.driftClient.getSpotMarketAccount(market.quoteSpotMarketIndex);
333
- if (!quoteSpotMarket)
334
- throw new Error("Quote spot market not found");
335
- const quoteOraclePriceData = this.driftClient.getOracleDataForSpotMarket(market.quoteSpotMarketIndex);
336
- if (perpPosition.lpShares.gt(ZERO)) {
337
- perpPosition = this.getPerpPositionWithLPSettle(perpPosition.marketIndex, undefined, !!withWeightMarginCategory)[0];
338
- }
339
- let positionUnrealizedPnl = calculatePositionPNL(market, perpPosition, withFunding, oraclePriceData);
340
- let quotePrice;
341
- if (strict && positionUnrealizedPnl.gt(ZERO)) {
342
- quotePrice = BN.min(quoteOraclePriceData.price, quoteSpotMarket.historicalOracleData.lastOraclePriceTwap5Min);
343
- }
344
- else if (strict && positionUnrealizedPnl.lt(ZERO)) {
345
- quotePrice = BN.max(quoteOraclePriceData.price, quoteSpotMarket.historicalOracleData.lastOraclePriceTwap5Min);
346
- }
347
- else {
348
- quotePrice = quoteOraclePriceData.price;
349
- }
350
- positionUnrealizedPnl = positionUnrealizedPnl
351
- .mul(quotePrice)
352
- .div(PRICE_PRECISION);
353
- if (withWeightMarginCategory !== undefined) {
354
- if (positionUnrealizedPnl.gt(ZERO)) {
355
- positionUnrealizedPnl = positionUnrealizedPnl
356
- .mul(calculateUnrealizedAssetWeight(market, quoteSpotMarket, positionUnrealizedPnl, withWeightMarginCategory, oraclePriceData))
357
- .div(new BN(SPOT_MARKET_WEIGHT_PRECISION));
358
- }
359
- }
360
- return unrealizedPnl.add(positionUnrealizedPnl);
361
- }, ZERO);
362
- }
363
324
  getActivePerpPositions() {
364
325
  if (!this.userAccount)
365
326
  throw new Error("DriftUser not initialized");
@@ -368,200 +329,6 @@ export class DriftUser {
368
329
  !(pos.openOrders === 0) ||
369
330
  !pos.lpShares.eq(ZERO));
370
331
  }
371
- getPerpPositionWithLPSettle(marketIndex, originalPosition, burnLpShares = false, includeRemainderInBaseAmount = false) {
372
- originalPosition =
373
- originalPosition ??
374
- this.getPerpPosition(marketIndex) ??
375
- this.getEmptyPosition(marketIndex);
376
- if (originalPosition.lpShares.eq(ZERO)) {
377
- return [originalPosition, ZERO, ZERO];
378
- }
379
- const position = this.getClonedPosition(originalPosition);
380
- const market = this.driftClient.getPerpMarketAccount(position.marketIndex);
381
- if (!market)
382
- throw new Error("Perp market not found");
383
- if (market.amm.perLpBase !== position.perLpBase) {
384
- // perLpBase = 1 => per 10 LP shares, perLpBase = -1 => per 0.1 LP shares
385
- const expoDiff = market.amm.perLpBase - position.perLpBase;
386
- const marketPerLpRebaseScalar = new BN(10 ** Math.abs(expoDiff));
387
- if (expoDiff > 0) {
388
- position.lastBaseAssetAmountPerLp =
389
- position.lastBaseAssetAmountPerLp.mul(marketPerLpRebaseScalar);
390
- position.lastQuoteAssetAmountPerLp =
391
- position.lastQuoteAssetAmountPerLp.mul(marketPerLpRebaseScalar);
392
- }
393
- else {
394
- position.lastBaseAssetAmountPerLp =
395
- position.lastBaseAssetAmountPerLp.div(marketPerLpRebaseScalar);
396
- position.lastQuoteAssetAmountPerLp =
397
- position.lastQuoteAssetAmountPerLp.div(marketPerLpRebaseScalar);
398
- }
399
- position.perLpBase = position.perLpBase + expoDiff;
400
- }
401
- const nShares = position.lpShares;
402
- // incorp unsettled funding on pre settled position
403
- const quoteFundingPnl = calculateUnsettledFundingPnl(market, position);
404
- let baseUnit = AMM_RESERVE_PRECISION;
405
- if (market.amm.perLpBase === position.perLpBase) {
406
- if (position.perLpBase >= 0 &&
407
- position.perLpBase <= AMM_RESERVE_PRECISION_EXP.toNumber()) {
408
- const marketPerLpRebase = new BN(10 ** market.amm.perLpBase);
409
- baseUnit = baseUnit.mul(marketPerLpRebase);
410
- }
411
- else if (position.perLpBase < 0 &&
412
- position.perLpBase >= -AMM_RESERVE_PRECISION_EXP.toNumber()) {
413
- const marketPerLpRebase = new BN(10 ** Math.abs(market.amm.perLpBase));
414
- baseUnit = baseUnit.div(marketPerLpRebase);
415
- }
416
- else {
417
- throw "cannot calc";
418
- }
419
- }
420
- else {
421
- throw "market.amm.perLpBase != position.perLpBase";
422
- }
423
- const deltaBaa = market.amm.baseAssetAmountPerLp
424
- .sub(position.lastBaseAssetAmountPerLp)
425
- .mul(nShares)
426
- .div(baseUnit);
427
- const deltaQaa = market.amm.quoteAssetAmountPerLp
428
- .sub(position.lastQuoteAssetAmountPerLp)
429
- .mul(nShares)
430
- .div(baseUnit);
431
- function sign(v) {
432
- return v.isNeg() ? new BN(-1) : new BN(1);
433
- }
434
- function standardize(amount, stepSize) {
435
- const remainder = amount.abs().mod(stepSize).mul(sign(amount));
436
- const standardizedAmount = amount.sub(remainder);
437
- return [standardizedAmount, remainder];
438
- }
439
- const [standardizedBaa, remainderBaa] = standardize(deltaBaa, market.amm.orderStepSize);
440
- if (standardizedBaa === undefined)
441
- throw new Error("Standardized BAA is undefined");
442
- if (remainderBaa === undefined)
443
- throw new Error("Remainder BAA is undefined");
444
- position.remainderBaseAssetAmount += remainderBaa.toNumber();
445
- if (Math.abs(position.remainderBaseAssetAmount) >
446
- market.amm.orderStepSize.toNumber()) {
447
- const [newStandardizedBaa, newRemainderBaa] = standardize(new BN(position.remainderBaseAssetAmount), market.amm.orderStepSize);
448
- if (newStandardizedBaa === undefined)
449
- throw new Error("New standardized BAA is undefined");
450
- if (newRemainderBaa === undefined)
451
- throw new Error("New remainder BAA is undefined");
452
- position.baseAssetAmount =
453
- position.baseAssetAmount.add(newStandardizedBaa);
454
- position.remainderBaseAssetAmount = newRemainderBaa.toNumber();
455
- }
456
- let dustBaseAssetValue = ZERO;
457
- if (burnLpShares && position.remainderBaseAssetAmount !== 0) {
458
- const oraclePriceData = this.driftClient.getOracleDataForPerpMarket(position.marketIndex);
459
- dustBaseAssetValue = new BN(Math.abs(position.remainderBaseAssetAmount))
460
- .mul(oraclePriceData.price)
461
- .div(AMM_RESERVE_PRECISION)
462
- .add(ONE);
463
- }
464
- let updateType;
465
- if (position.baseAssetAmount.eq(ZERO)) {
466
- updateType = "open";
467
- }
468
- else if (sign(position.baseAssetAmount).eq(sign(deltaBaa))) {
469
- updateType = "increase";
470
- }
471
- else if (position.baseAssetAmount.abs().gt(deltaBaa.abs())) {
472
- updateType = "reduce";
473
- }
474
- else if (position.baseAssetAmount.abs().eq(deltaBaa.abs())) {
475
- updateType = "close";
476
- }
477
- else {
478
- updateType = "flip";
479
- }
480
- let newQuoteEntry;
481
- let pnl;
482
- if (updateType === "open" || updateType === "increase") {
483
- newQuoteEntry = position.quoteEntryAmount.add(deltaQaa);
484
- pnl = ZERO;
485
- }
486
- else if (updateType === "reduce" || updateType === "close") {
487
- newQuoteEntry = position.quoteEntryAmount.sub(position.quoteEntryAmount
488
- .mul(deltaBaa.abs())
489
- .div(position.baseAssetAmount.abs()));
490
- pnl = position.quoteEntryAmount.sub(newQuoteEntry).add(deltaQaa);
491
- }
492
- else {
493
- newQuoteEntry = deltaQaa.sub(deltaQaa.mul(position.baseAssetAmount.abs()).div(deltaBaa.abs()));
494
- pnl = position.quoteEntryAmount.add(deltaQaa.sub(newQuoteEntry));
495
- }
496
- position.quoteEntryAmount = newQuoteEntry;
497
- position.baseAssetAmount = position.baseAssetAmount.add(standardizedBaa);
498
- position.quoteAssetAmount = position.quoteAssetAmount
499
- .add(deltaQaa)
500
- .add(quoteFundingPnl)
501
- .sub(dustBaseAssetValue);
502
- position.quoteBreakEvenAmount = position.quoteBreakEvenAmount
503
- .add(deltaQaa)
504
- .add(quoteFundingPnl)
505
- .sub(dustBaseAssetValue);
506
- // update open bids/asks
507
- const [marketOpenBids, marketOpenAsks] = calculateMarketOpenBidAsk(market.amm.baseAssetReserve, market.amm.minBaseAssetReserve, market.amm.maxBaseAssetReserve, market.amm.orderStepSize);
508
- const lpOpenBids = marketOpenBids
509
- .mul(position.lpShares)
510
- .div(market.amm.sqrtK);
511
- const lpOpenAsks = marketOpenAsks
512
- .mul(position.lpShares)
513
- .div(market.amm.sqrtK);
514
- position.openBids = lpOpenBids.add(position.openBids);
515
- position.openAsks = lpOpenAsks.add(position.openAsks);
516
- // eliminate counting funding on settled position
517
- if (position.baseAssetAmount.gt(ZERO)) {
518
- position.lastCumulativeFundingRate = market.amm.cumulativeFundingRateLong;
519
- }
520
- else if (position.baseAssetAmount.lt(ZERO)) {
521
- position.lastCumulativeFundingRate =
522
- market.amm.cumulativeFundingRateShort;
523
- }
524
- else {
525
- position.lastCumulativeFundingRate = ZERO;
526
- }
527
- const remainderBeforeRemoval = new BN(position.remainderBaseAssetAmount);
528
- if (includeRemainderInBaseAmount) {
529
- position.baseAssetAmount = position.baseAssetAmount.add(remainderBeforeRemoval);
530
- position.remainderBaseAssetAmount = 0;
531
- }
532
- return [position, remainderBeforeRemoval, pnl];
533
- }
534
- getPerpPosition(marketIndex) {
535
- if (!this.userAccount)
536
- throw new Error("DriftUser not initialized");
537
- const activePositions = this.userAccount.perpPositions.filter((pos) => !pos.baseAssetAmount.eq(ZERO) ||
538
- !pos.quoteAssetAmount.eq(ZERO) ||
539
- !(pos.openOrders === 0) ||
540
- !pos.lpShares.eq(ZERO));
541
- return activePositions.find((position) => position.marketIndex === marketIndex);
542
- }
543
- getEmptyPosition(marketIndex) {
544
- return {
545
- baseAssetAmount: ZERO,
546
- remainderBaseAssetAmount: 0,
547
- lastCumulativeFundingRate: ZERO,
548
- marketIndex,
549
- quoteAssetAmount: ZERO,
550
- quoteEntryAmount: ZERO,
551
- quoteBreakEvenAmount: ZERO,
552
- openOrders: 0,
553
- openBids: ZERO,
554
- openAsks: ZERO,
555
- settledPnl: ZERO,
556
- lpShares: ZERO,
557
- lastBaseAssetAmountPerLp: ZERO,
558
- lastQuoteAssetAmountPerLp: ZERO,
559
- perLpBase: 0,
560
- maxMarginRatio: 0,
561
- isolatedPositionScaledBalance: ZERO,
562
- positionFlag: 0,
563
- };
564
- }
565
332
  getClonedPosition(position) {
566
333
  const clonedPosition = Object.assign({}, position);
567
334
  return clonedPosition;
@@ -577,75 +344,7 @@ export class DriftUser {
577
344
  return this.getMarginRequirement("Initial", liquidationBuffer, false, true, openOrderBalances);
578
345
  }
579
346
  getMarginRequirement(marginCategory, liquidationBuffer, strict = false, includeOpenOrders = true, openOrderBalances) {
580
- return this.getTotalPerpPositionLiability(marginCategory, liquidationBuffer, includeOpenOrders, strict).add(this.getSpotMarketLiabilityValue(marginCategory, undefined, liquidationBuffer, includeOpenOrders, strict, undefined, openOrderBalances));
581
- }
582
- getTotalPerpPositionLiability(marginCategory, liquidationBuffer, includeOpenOrders, strict = false) {
583
- return this.getActivePerpPositions().reduce((totalPerpValue, perpPosition) => {
584
- const baseAssetValue = this.calculateWeightedPerpPositionLiability(perpPosition, marginCategory, liquidationBuffer, includeOpenOrders, strict);
585
- return totalPerpValue.add(baseAssetValue);
586
- }, ZERO);
587
- }
588
- calculateWeightedPerpPositionLiability(perpPosition, marginCategory, liquidationBuffer, includeOpenOrders, strict = false) {
589
- if (!this.userAccount)
590
- throw new Error("DriftUser not initialized");
591
- const market = this.driftClient.getPerpMarketAccount(perpPosition.marketIndex);
592
- if (!market)
593
- throw new Error("Perp market not found");
594
- if (perpPosition.lpShares.gt(ZERO)) {
595
- // is an lp, clone so we dont mutate the position
596
- perpPosition = this.getPerpPositionWithLPSettle(market.marketIndex, this.getClonedPosition(perpPosition), !!marginCategory)[0];
597
- }
598
- let valuationPrice = this.driftClient.getOracleDataForPerpMarket(market.marketIndex).price;
599
- if (isVariant(market.status, "settlement")) {
600
- valuationPrice = market.expiryPrice;
601
- }
602
- let baseAssetAmount;
603
- let liabilityValue;
604
- if (includeOpenOrders) {
605
- const { worstCaseBaseAssetAmount, worstCaseLiabilityValue } = calculateWorstCasePerpLiabilityValue(perpPosition, market, valuationPrice);
606
- baseAssetAmount = worstCaseBaseAssetAmount;
607
- liabilityValue = worstCaseLiabilityValue;
608
- }
609
- else {
610
- baseAssetAmount = perpPosition.baseAssetAmount;
611
- liabilityValue = calculatePerpLiabilityValue(baseAssetAmount, valuationPrice, isVariant(market.contractType, "prediction"));
612
- }
613
- if (marginCategory) {
614
- let marginRatio = new BN(calculateMarketMarginRatio(market, baseAssetAmount.abs(), marginCategory, this.userAccount.maxMarginRatio, isVariant(this.userAccount.marginMode, "highLeverage")));
615
- if (liquidationBuffer !== undefined) {
616
- marginRatio = marginRatio.add(liquidationBuffer);
617
- }
618
- if (isVariant(market.status, "settlement")) {
619
- marginRatio = ZERO;
620
- }
621
- const quoteSpotMarket = this.driftClient.getSpotMarketAccount(market.quoteSpotMarketIndex);
622
- if (!quoteSpotMarket)
623
- throw new Error("Quote spot market not found");
624
- const quoteOraclePriceData = this.driftClient.getOracleDataForSpotMarket(QUOTE_SPOT_MARKET_INDEX);
625
- let quotePrice;
626
- if (strict) {
627
- quotePrice = BN.max(quoteOraclePriceData.price, quoteSpotMarket.historicalOracleData.lastOraclePriceTwap5Min);
628
- }
629
- else {
630
- quotePrice = quoteOraclePriceData.price;
631
- }
632
- liabilityValue = liabilityValue
633
- .mul(quotePrice)
634
- .div(PRICE_PRECISION)
635
- .mul(marginRatio)
636
- .div(MARGIN_PRECISION);
637
- if (includeOpenOrders) {
638
- liabilityValue = liabilityValue.add(new BN(perpPosition.openOrders).mul(OPEN_ORDER_MARGIN_REQUIREMENT));
639
- if (perpPosition.lpShares.gt(ZERO)) {
640
- liabilityValue = liabilityValue.add(BN.max(QUOTE_PRECISION, valuationPrice
641
- .mul(market.amm.orderStepSize)
642
- .mul(QUOTE_PRECISION)
643
- .div(AMM_RESERVE_PRECISION)
644
- .div(PRICE_PRECISION)));
645
- }
646
- }
647
- }
648
- return liabilityValue;
347
+ return this.getSpotMarketLiabilityValue(marginCategory, undefined, liquidationBuffer, includeOpenOrders, strict, undefined, openOrderBalances);
649
348
  }
650
349
  getSpotMarketLiabilityValue(marginCategory, marketIndex, liquidationBuffer, includeOpenOrders, strict = false, now, openOrderBalances) {
651
350
  const { totalLiabilityValue } = this.getSpotMarketAssetAndLiabilityValue(marginCategory, marketIndex, liquidationBuffer, includeOpenOrders, strict, now, openOrderBalances);
@@ -1 +1 @@
1
- {"version":3,"file":"DriftUser.class.js","sourceRoot":"","sources":["../../../src/types/classes/DriftUser.class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DriftUser.class.js","sourceRoot":"","sources":["../../../src/types/classes/DriftUser.class.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quartz-labs/sdk",
3
- "version": "0.36.0",
3
+ "version": "0.37.0",
4
4
  "description": "SDK for interacting with the Quartz Protocol",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",
@@ -57,10 +57,10 @@
57
57
  },
58
58
  "dependencies": {
59
59
  "@coral-xyz/anchor": "0.31.1",
60
- "@drift-labs/sdk": "2.147.0-beta.0",
60
+ "@drift-labs/sdk": "2.155.0-beta.6",
61
61
  "@jup-ag/api": "6.0.30",
62
62
  "@pythnetwork/pyth-solana-receiver": "^0.9.1",
63
- "@quartz-labs/connection": "^2.0.0",
63
+ "@quartz-labs/connection": "2.0.1",
64
64
  "@solana/spl-token": "^0.4.9",
65
65
  "bn.js": "^5.2.1",
66
66
  "ed25519-hd-key": "^1.3.0"
@@ -69,5 +69,8 @@
69
69
  "@solana/web3.js": "1.98.0",
70
70
  "rpc-websockets": "9.0.4"
71
71
  },
72
+ "resolutions": {
73
+ "@solana/web3.js": "1.98.0"
74
+ },
72
75
  "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
73
76
  }