@gainsnetwork/sdk 1.4.2-rc3 → 1.4.2-rc5

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/constants.js CHANGED
@@ -478,7 +478,6 @@ exports.delistedPairIxs = new Set([
478
478
  160, 163, 170, 179, 182, 183, 188, 189, 190, 208, 209, 225, 229, 230, 231,
479
479
  238, 239, 241, 250, 253, 254, 258, 270, 275, 276, 278, 279, 282, 285, 290,
480
480
  294, 296, 305, 311, 330, 349, 352, 353, 354, 355, 357, 365, 366, 395, 396,
481
- 415, 416, 417,
482
481
  ]);
483
482
  exports.delistedGroupsIxs = new Set([]);
484
483
  exports.DEFAULT_PROTECTION_CLOSE_FACTOR = 1;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gainsnetwork/sdk",
3
- "version": "1.4.2-rc3",
3
+ "version": "1.4.2-rc5",
4
4
  "description": "Gains Network SDK",
5
5
  "main": "./lib/index.js",
6
6
  "files": [
@@ -1,12 +0,0 @@
1
- import { GetBorrowingFeeContext, BorrowingFee } from "./fees";
2
- import { Fee, LiquidationParams, Trade, UserPriceImpact } from "./types";
3
- import { ContractsVersion } from "../contracts/types";
4
- export type GetLiquidationPriceContext = GetBorrowingFeeContext & {
5
- liquidationParams: LiquidationParams | undefined;
6
- pairSpreadP: number | undefined;
7
- collateralPriceUsd: number | undefined;
8
- contractsVersion: ContractsVersion | undefined;
9
- userPriceImpact?: UserPriceImpact | undefined;
10
- };
11
- export declare const getLiquidationPrice: (trade: Trade, fee: Fee, initialAccFees: BorrowingFee.InitialAccFees, context: GetLiquidationPriceContext) => number;
12
- export declare const getLiqPnlThresholdP: (liquidationParams: LiquidationParams | undefined, leverage: number | undefined) => number;
@@ -1,55 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getLiqPnlThresholdP = exports.getLiquidationPrice = void 0;
4
- const fees_1 = require("./fees");
5
- const spread_1 = require("./spread");
6
- const types_1 = require("../contracts/types");
7
- const getLiquidationPrice = (trade, fee, initialAccFees, context) => {
8
- var _a, _b;
9
- const closingFee = (0, fees_1.getClosingFee)(trade.collateralAmount, trade.leverage, trade.pairIndex, fee, context.collateralPriceUsd);
10
- const borrowingFee = (0, fees_1.getBorrowingFee)(trade.collateralAmount * trade.leverage, trade.pairIndex, trade.long, initialAccFees, context);
11
- const liqThresholdP = (0, exports.getLiqPnlThresholdP)(context.liquidationParams, trade.leverage);
12
- let liqPriceDistance = (trade.openPrice *
13
- (trade.collateralAmount * liqThresholdP - (borrowingFee + closingFee))) /
14
- trade.collateralAmount /
15
- trade.leverage;
16
- if ((context === null || context === void 0 ? void 0 : context.contractsVersion) !== undefined &&
17
- context.contractsVersion >= types_1.ContractsVersion.V9_2 &&
18
- ((((_a = context === null || context === void 0 ? void 0 : context.liquidationParams) === null || _a === void 0 ? void 0 : _a.maxLiqSpreadP) !== undefined &&
19
- context.liquidationParams.maxLiqSpreadP > 0) ||
20
- (((_b = context === null || context === void 0 ? void 0 : context.userPriceImpact) === null || _b === void 0 ? void 0 : _b.fixedSpreadP) !== undefined &&
21
- context.userPriceImpact.fixedSpreadP > 0))) {
22
- const closingSpreadP = (0, spread_1.getSpreadP)(context.pairSpreadP, true, context.liquidationParams, context.userPriceImpact);
23
- liqPriceDistance -= trade.openPrice * closingSpreadP;
24
- }
25
- return trade.long
26
- ? Math.max(trade.openPrice - liqPriceDistance, 0)
27
- : Math.max(trade.openPrice + liqPriceDistance, 0);
28
- };
29
- exports.getLiquidationPrice = getLiquidationPrice;
30
- const getLiqPnlThresholdP = (liquidationParams, leverage) => {
31
- if (liquidationParams === undefined ||
32
- leverage === undefined ||
33
- liquidationParams.maxLiqSpreadP === 0 ||
34
- liquidationParams.startLiqThresholdP === 0 ||
35
- liquidationParams.endLiqThresholdP === 0 ||
36
- liquidationParams.startLeverage === 0 ||
37
- liquidationParams.endLeverage === 0) {
38
- return 0.9;
39
- }
40
- if (leverage < liquidationParams.startLeverage) {
41
- return liquidationParams.startLiqThresholdP;
42
- }
43
- if (leverage > liquidationParams.endLeverage) {
44
- return liquidationParams.endLiqThresholdP;
45
- }
46
- if (liquidationParams.startLiqThresholdP === liquidationParams.endLiqThresholdP) {
47
- return liquidationParams.endLiqThresholdP;
48
- }
49
- return (liquidationParams.startLiqThresholdP -
50
- ((leverage - liquidationParams.startLeverage) *
51
- (liquidationParams.startLiqThresholdP -
52
- liquidationParams.endLiqThresholdP)) /
53
- (liquidationParams.endLeverage - liquidationParams.startLeverage));
54
- };
55
- exports.getLiqPnlThresholdP = getLiqPnlThresholdP;
@@ -1,10 +0,0 @@
1
- import { GetBorrowingFeeContext } from "./fees";
2
- import { Fee, LiquidationParams, Trade, TradeInfo, TradeInitialAccFees } from "./types";
3
- import { ContractsVersion } from "../contracts/types";
4
- export type GetPnlContext = GetBorrowingFeeContext & {
5
- fee: Fee | undefined;
6
- collateralPriceUsd: number | undefined;
7
- contractsVersion: ContractsVersion | undefined;
8
- feeMultiplier: number | undefined;
9
- };
10
- export declare const getPnl: (price: number | undefined, trade: Trade, tradeInfo: TradeInfo, initialAccFees: TradeInitialAccFees, liquidationParams: LiquidationParams, useFees: boolean, context: GetPnlContext) => number[] | undefined;
package/lib/trade/pnl.js DELETED
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPnl = void 0;
4
- const fees_1 = require("./fees");
5
- const liquidation_1 = require("./liquidation");
6
- const getPnl = (price, trade, tradeInfo, initialAccFees, liquidationParams, useFees, context) => {
7
- if (!price) {
8
- return;
9
- }
10
- const posCollat = trade.collateralAmount;
11
- const { openPrice, leverage } = trade;
12
- const { fee } = context;
13
- let pnlCollat = trade.long
14
- ? ((price - openPrice) / openPrice) * leverage * posCollat
15
- : ((openPrice - price) / openPrice) * leverage * posCollat;
16
- if (useFees) {
17
- pnlCollat -= (0, fees_1.getBorrowingFee)(posCollat * trade.leverage, trade.pairIndex, trade.long, initialAccFees, context);
18
- }
19
- let pnlPercentage = (pnlCollat / posCollat) * 100;
20
- // Can be liquidated
21
- if (pnlPercentage <=
22
- (0, liquidation_1.getLiqPnlThresholdP)(liquidationParams, leverage) * -100) {
23
- pnlPercentage = -100;
24
- }
25
- else {
26
- pnlCollat -= (0, fees_1.getClosingFee)(posCollat, trade.leverage, trade.pairIndex, fee, context.collateralPriceUsd, context.feeMultiplier);
27
- pnlPercentage = (pnlCollat / posCollat) * 100;
28
- }
29
- pnlPercentage = pnlPercentage < -100 ? -100 : pnlPercentage;
30
- pnlCollat = (posCollat * pnlPercentage) / 100;
31
- return [pnlCollat, pnlPercentage];
32
- };
33
- exports.getPnl = getPnl;