@drift-labs/sdk-browser 2.108.0-beta.12 → 2.108.0-beta.13

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/VERSION CHANGED
@@ -1 +1 @@
1
- 2.108.0-beta.12
1
+ 2.108.0-beta.13
@@ -37,3 +37,4 @@ export declare function calculateAvailablePerpLiquidity(market: PerpMarketAccoun
37
37
  bids: BN;
38
38
  asks: BN;
39
39
  };
40
+ export declare function calculatePerpMarketBaseLiquidatorFee(market: PerpMarketAccount, userHighLeverageMode: boolean): number;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.calculateAvailablePerpLiquidity = exports.calculateNetUserPnlImbalance = exports.calculateNetUserPnl = exports.calculateMarketMaxAvailableInsurance = exports.calculateMarketAvailablePNL = exports.calculateUnrealizedAssetWeight = exports.calculateMarketMarginRatio = exports.calculateOracleSpread = exports.calculateOracleReserveSpread = exports.calculateNewMarketAfterTrade = exports.calculateAskPrice = exports.calculateBidPrice = exports.calculateReservePrice = void 0;
3
+ exports.calculatePerpMarketBaseLiquidatorFee = exports.calculateAvailablePerpLiquidity = exports.calculateNetUserPnlImbalance = exports.calculateNetUserPnl = exports.calculateMarketMaxAvailableInsurance = exports.calculateMarketAvailablePNL = exports.calculateUnrealizedAssetWeight = exports.calculateMarketMarginRatio = exports.calculateOracleSpread = exports.calculateOracleReserveSpread = exports.calculateNewMarketAfterTrade = exports.calculateAskPrice = exports.calculateBidPrice = exports.calculateReservePrice = void 0;
4
4
  const anchor_1 = require("@coral-xyz/anchor");
5
5
  const types_1 = require("../types");
6
6
  const amm_1 = require("./amm");
@@ -161,3 +161,14 @@ function calculateAvailablePerpLiquidity(market, oraclePriceData, dlob, slot) {
161
161
  };
162
162
  }
163
163
  exports.calculateAvailablePerpLiquidity = calculateAvailablePerpLiquidity;
164
+ function calculatePerpMarketBaseLiquidatorFee(market, userHighLeverageMode) {
165
+ if (userHighLeverageMode && market.highLeverageMarginRatioMaintenance > 0) {
166
+ // min(liquidator_fee, .8 * high_leverage_margin_ratio_maintenance)
167
+ return Math.min(market.liquidatorFee, market.highLeverageMarginRatioMaintenance -
168
+ Math.floor(market.highLeverageMarginRatioMaintenance / 5));
169
+ }
170
+ else {
171
+ return market.liquidatorFee;
172
+ }
173
+ }
174
+ exports.calculatePerpMarketBaseLiquidatorFee = calculatePerpMarketBaseLiquidatorFee;
@@ -37,3 +37,4 @@ export declare function calculateAvailablePerpLiquidity(market: PerpMarketAccoun
37
37
  bids: BN;
38
38
  asks: BN;
39
39
  };
40
+ export declare function calculatePerpMarketBaseLiquidatorFee(market: PerpMarketAccount, userHighLeverageMode: boolean): number;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.calculateAvailablePerpLiquidity = exports.calculateNetUserPnlImbalance = exports.calculateNetUserPnl = exports.calculateMarketMaxAvailableInsurance = exports.calculateMarketAvailablePNL = exports.calculateUnrealizedAssetWeight = exports.calculateMarketMarginRatio = exports.calculateOracleSpread = exports.calculateOracleReserveSpread = exports.calculateNewMarketAfterTrade = exports.calculateAskPrice = exports.calculateBidPrice = exports.calculateReservePrice = void 0;
3
+ exports.calculatePerpMarketBaseLiquidatorFee = exports.calculateAvailablePerpLiquidity = exports.calculateNetUserPnlImbalance = exports.calculateNetUserPnl = exports.calculateMarketMaxAvailableInsurance = exports.calculateMarketAvailablePNL = exports.calculateUnrealizedAssetWeight = exports.calculateMarketMarginRatio = exports.calculateOracleSpread = exports.calculateOracleReserveSpread = exports.calculateNewMarketAfterTrade = exports.calculateAskPrice = exports.calculateBidPrice = exports.calculateReservePrice = void 0;
4
4
  const anchor_1 = require("@coral-xyz/anchor");
5
5
  const types_1 = require("../types");
6
6
  const amm_1 = require("./amm");
@@ -161,3 +161,14 @@ function calculateAvailablePerpLiquidity(market, oraclePriceData, dlob, slot) {
161
161
  };
162
162
  }
163
163
  exports.calculateAvailablePerpLiquidity = calculateAvailablePerpLiquidity;
164
+ function calculatePerpMarketBaseLiquidatorFee(market, userHighLeverageMode) {
165
+ if (userHighLeverageMode && market.highLeverageMarginRatioMaintenance > 0) {
166
+ // min(liquidator_fee, .8 * high_leverage_margin_ratio_maintenance)
167
+ return Math.min(market.liquidatorFee, market.highLeverageMarginRatioMaintenance -
168
+ Math.floor(market.highLeverageMarginRatioMaintenance / 5));
169
+ }
170
+ else {
171
+ return market.liquidatorFee;
172
+ }
173
+ }
174
+ exports.calculatePerpMarketBaseLiquidatorFee = calculatePerpMarketBaseLiquidatorFee;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drift-labs/sdk-browser",
3
- "version": "2.108.0-beta.12",
3
+ "version": "2.108.0-beta.13",
4
4
  "main": "lib/node/index.js",
5
5
  "types": "lib/node/index.d.ts",
6
6
  "browser": "./lib/browser/index.js",
@@ -334,3 +334,19 @@ export function calculateAvailablePerpLiquidity(
334
334
  asks: asks,
335
335
  };
336
336
  }
337
+
338
+ export function calculatePerpMarketBaseLiquidatorFee(
339
+ market: PerpMarketAccount,
340
+ userHighLeverageMode: boolean
341
+ ): number {
342
+ if (userHighLeverageMode && market.highLeverageMarginRatioMaintenance > 0) {
343
+ // min(liquidator_fee, .8 * high_leverage_margin_ratio_maintenance)
344
+ return Math.min(
345
+ market.liquidatorFee,
346
+ market.highLeverageMarginRatioMaintenance -
347
+ Math.floor(market.highLeverageMarginRatioMaintenance / 5)
348
+ );
349
+ } else {
350
+ return market.liquidatorFee;
351
+ }
352
+ }