@gainsnetwork/sdk 1.0.6-rc4 → 1.1.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 (92) hide show
  1. package/lib/backend/globalTrades/index.js +10 -10
  2. package/lib/backend/tradingVariables/converter.js +57 -57
  3. package/lib/backend/tradingVariables/index.js +7 -6
  4. package/lib/contracts/addresses.js +1 -4
  5. package/lib/contracts/index.d.ts +1 -1
  6. package/lib/contracts/index.js +3 -3
  7. package/lib/contracts/types/generated/GNSMultiCollatDiamond.d.ts +20 -7
  8. package/lib/contracts/types/generated/factories/GNSMultiCollatDiamond__factory.js +16 -7
  9. package/lib/contracts/types/generated/factories/GToken__factory.d.ts +0 -7
  10. package/lib/contracts/types/generated/factories/GToken__factory.js +0 -4
  11. package/lib/contracts/utils/borrowingFees.js +20 -9
  12. package/lib/contracts/utils/openTrades.js +20 -11
  13. package/lib/contracts/utils/pairs.js +21 -12
  14. package/lib/markets/forex.js +1 -1
  15. package/lib/markets/leverage/builder.js +2 -2
  16. package/lib/markets/price/index.d.ts +0 -1
  17. package/lib/markets/price/index.js +0 -1
  18. package/lib/markets/price/types.d.ts +0 -27
  19. package/lib/trade/fees/borrowing/builder.js +3 -2
  20. package/lib/trade/fees/borrowing/converter.js +1 -5
  21. package/lib/trade/fees/borrowing/index.js +5 -5
  22. package/lib/trade/fees/borrowingV2/builder.js +4 -3
  23. package/lib/trade/fees/borrowingV2/converter.js +1 -1
  24. package/lib/trade/fees/borrowingV2/fetcher.js +32 -26
  25. package/lib/trade/fees/borrowingV2/index.js +3 -3
  26. package/lib/trade/fees/converter.js +22 -22
  27. package/lib/trade/fees/fundingFees/builder.js +7 -6
  28. package/lib/trade/fees/fundingFees/converter.js +1 -1
  29. package/lib/trade/fees/fundingFees/fetcher.js +25 -16
  30. package/lib/trade/fees/fundingFees/index.js +3 -2
  31. package/lib/trade/fees/tiers/index.js +2 -1
  32. package/lib/trade/fees/trading/builder.d.ts +2 -1
  33. package/lib/trade/fees/trading/builder.js +2 -1
  34. package/lib/trade/fees/trading/index.js +3 -5
  35. package/lib/trade/fees/trading/types.d.ts +1 -3
  36. package/lib/trade/liquidation/builder.js +3 -6
  37. package/lib/trade/liquidation/index.js +6 -4
  38. package/lib/trade/liquidation/types.d.ts +2 -7
  39. package/lib/trade/oiWindows.js +2 -1
  40. package/lib/trade/pnl/builder.js +2 -1
  41. package/lib/trade/pnl/converter.js +1 -1
  42. package/lib/trade/pnl/index.js +9 -4
  43. package/lib/trade/priceImpact/close/builder.js +2 -1
  44. package/lib/trade/priceImpact/close/index.js +1 -4
  45. package/lib/trade/priceImpact/cumulVol/builder.js +10 -18
  46. package/lib/trade/priceImpact/cumulVol/index.js +16 -21
  47. package/lib/trade/priceImpact/open/builder.js +2 -1
  48. package/lib/trade/priceImpact/open/index.js +1 -4
  49. package/lib/trade/priceImpact/skew/builder.js +3 -2
  50. package/lib/trade/priceImpact/skew/converter.js +1 -1
  51. package/lib/trade/priceImpact/skew/fetcher.js +33 -24
  52. package/package.json +2 -2
  53. package/lib/contracts/types/generated/GNSBorrowingFeesV6_3_2.d.ts +0 -979
  54. package/lib/contracts/types/generated/GNSBorrowingFeesV6_3_2.js +0 -2
  55. package/lib/contracts/types/generated/GNSBorrowingFeesV6_4.d.ts +0 -1058
  56. package/lib/contracts/types/generated/GNSBorrowingFeesV6_4.js +0 -2
  57. package/lib/contracts/types/generated/GNSPairInfosV6_1.d.ts +0 -911
  58. package/lib/contracts/types/generated/GNSPairInfosV6_1.js +0 -2
  59. package/lib/contracts/types/generated/GNSPairsStorageV6.d.ts +0 -660
  60. package/lib/contracts/types/generated/GNSPairsStorageV6.js +0 -2
  61. package/lib/contracts/types/generated/GNSTradingCallbacksV6_3_2.d.ts +0 -806
  62. package/lib/contracts/types/generated/GNSTradingCallbacksV6_3_2.js +0 -2
  63. package/lib/contracts/types/generated/GNSTradingCallbacksV6_4.d.ts +0 -821
  64. package/lib/contracts/types/generated/GNSTradingCallbacksV6_4.js +0 -2
  65. package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_3_2__factory.d.ts +0 -88
  66. package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_3_2__factory.js +0 -1654
  67. package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_4__factory.d.ts +0 -113
  68. package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_4__factory.js +0 -1742
  69. package/lib/contracts/types/generated/factories/GNSPairInfosV6_1__factory.d.ts +0 -98
  70. package/lib/contracts/types/generated/factories/GNSPairInfosV6_1__factory.js +0 -1485
  71. package/lib/contracts/types/generated/factories/GNSPairsStorageV6__factory.d.ts +0 -117
  72. package/lib/contracts/types/generated/factories/GNSPairsStorageV6__factory.js +0 -1265
  73. package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_3_2__factory.d.ts +0 -82
  74. package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_3_2__factory.js +0 -1273
  75. package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_4__factory.d.ts +0 -82
  76. package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_4__factory.js +0 -1326
  77. package/lib/markets/oi/fetcher.d.ts +0 -58
  78. package/lib/markets/oi/fetcher.js +0 -181
  79. package/lib/markets/oi/validation.d.ts +0 -80
  80. package/lib/markets/oi/validation.js +0 -172
  81. package/lib/markets/price/signedPrices.d.ts +0 -36
  82. package/lib/markets/price/signedPrices.js +0 -181
  83. package/lib/trade/effectiveLeverage/builder.d.ts +0 -23
  84. package/lib/trade/effectiveLeverage/builder.js +0 -30
  85. package/lib/trade/fees/holdingFees/index.d.ts +0 -46
  86. package/lib/trade/fees/holdingFees/index.js +0 -105
  87. package/lib/trade/fees/holdingFees/types.d.ts +0 -23
  88. package/lib/trade/fees/holdingFees/types.js +0 -5
  89. package/lib/trade/fees/trading/holdingFees.d.ts +0 -28
  90. package/lib/trade/fees/trading/holdingFees.js +0 -66
  91. package/lib/trade/fees/trading/holdingFeesStructured.d.ts +0 -28
  92. package/lib/trade/fees/trading/holdingFeesStructured.js +0 -66
@@ -25,11 +25,11 @@ const transformGlobalTrades = (rawTrades, pairs, currentAddress, collaterals) =>
25
25
  _allLimitOrders.set(t.trade.user, new Map());
26
26
  }
27
27
  const traderMap_all = _allLimitOrders.get(t.trade.user);
28
- if (traderMap_all?.get(t.trade.pairIndex) === undefined) {
29
- traderMap_all?.set(t.trade.pairIndex, new Map());
28
+ if ((traderMap_all === null || traderMap_all === void 0 ? void 0 : traderMap_all.get(t.trade.pairIndex)) === undefined) {
29
+ traderMap_all === null || traderMap_all === void 0 ? void 0 : traderMap_all.set(t.trade.pairIndex, new Map());
30
30
  }
31
- const traderPairMap_all = traderMap_all?.get(t.trade.pairIndex);
32
- traderPairMap_all?.set(t.trade.index, t);
31
+ const traderPairMap_all = traderMap_all === null || traderMap_all === void 0 ? void 0 : traderMap_all.get(t.trade.pairIndex);
32
+ traderPairMap_all === null || traderPairMap_all === void 0 ? void 0 : traderPairMap_all.set(t.trade.index, t);
33
33
  if (t.trade.user.toUpperCase() !== currentAddress.toUpperCase()) {
34
34
  continue;
35
35
  }
@@ -37,7 +37,7 @@ const transformGlobalTrades = (rawTrades, pairs, currentAddress, collaterals) =>
37
37
  _limitOrders.set(t.trade.pairIndex, new Map());
38
38
  }
39
39
  const traderPairMap = _limitOrders.get(t.trade.pairIndex);
40
- traderPairMap?.set(t.trade.index, t);
40
+ traderPairMap === null || traderPairMap === void 0 ? void 0 : traderPairMap.set(t.trade.index, t);
41
41
  }
42
42
  else {
43
43
  const t = r[s];
@@ -45,11 +45,11 @@ const transformGlobalTrades = (rawTrades, pairs, currentAddress, collaterals) =>
45
45
  _allTrades.set(t.trade.user, new Map());
46
46
  }
47
47
  const traderMap_all = _allTrades.get(t.trade.user);
48
- if (traderMap_all?.get(t.trade.pairIndex) === undefined) {
49
- traderMap_all?.set(t.trade.pairIndex, new Map());
48
+ if ((traderMap_all === null || traderMap_all === void 0 ? void 0 : traderMap_all.get(t.trade.pairIndex)) === undefined) {
49
+ traderMap_all === null || traderMap_all === void 0 ? void 0 : traderMap_all.set(t.trade.pairIndex, new Map());
50
50
  }
51
- const traderPairMap_all = traderMap_all?.get(t.trade.pairIndex);
52
- traderPairMap_all?.set(t.trade.index, t);
51
+ const traderPairMap_all = traderMap_all === null || traderMap_all === void 0 ? void 0 : traderMap_all.get(t.trade.pairIndex);
52
+ traderPairMap_all === null || traderPairMap_all === void 0 ? void 0 : traderPairMap_all.set(t.trade.index, t);
53
53
  if (t.trade.user.toUpperCase() !== currentAddress.toUpperCase()) {
54
54
  continue;
55
55
  }
@@ -57,7 +57,7 @@ const transformGlobalTrades = (rawTrades, pairs, currentAddress, collaterals) =>
57
57
  _trades.set(t.trade.pairIndex, new Map());
58
58
  }
59
59
  const traderPairMap = _trades.get(t.trade.pairIndex);
60
- traderPairMap?.set(t.trade.index, t);
60
+ traderPairMap === null || traderPairMap === void 0 ? void 0 : traderPairMap.set(t.trade.index, t);
61
61
  }
62
62
  }
63
63
  returnObject.trades = _trades;
@@ -4,40 +4,38 @@ exports.convertLiquidationParams = exports.convertPairName = exports.convertFeeP
4
4
  const __1 = require("../../");
5
5
  Object.defineProperty(exports, "convertLiquidationParams", { enumerable: true, get: function () { return __1.convertLiquidationParams; } });
6
6
  const converter_1 = require("../../trade/priceImpact/skew/converter");
7
- const convertFees = (fees) => fees?.map(fee => convertFee(fee));
7
+ const convertFees = (fees) => fees === null || fees === void 0 ? void 0 : fees.map(fee => convertFee(fee));
8
8
  exports.convertFees = convertFees;
9
- const convertCollateral = (collateral) => ({
10
- pairBorrowingFees: collateral.borrowingFees?.v1 !== undefined
11
- ? (0, exports.convertPairBorrowingFees)(collateral.borrowingFees.v1)
12
- : [],
13
- groupBorrowingFees: collateral.borrowingFees?.v1 !== undefined
14
- ? (0, exports.convertGroupBorrowingFees)(collateral.borrowingFees.v1)
15
- : [],
16
- collateral: collateral.collateral,
17
- collateralConfig: (0, exports.convertCollateralConfig)(collateral),
18
- collateralIndex: collateral.collateralIndex,
19
- gToken: collateral.gToken,
20
- isActive: true,
21
- prices: collateral.prices,
22
- symbol: collateral.symbol,
23
- pairBorrowingFeesV2: {
24
- params: (0, __1.convertBorrowingFeeParamsArrayV2)(collateral.borrowingFees?.v2
25
- ?.pairParams),
26
- data: (0, __1.convertPairBorrowingFeeDataArrayV2)(collateral.borrowingFees?.v2
27
- ?.pairData),
28
- },
29
- pairFundingFees: {
30
- globalParams: (0, __1.convertPairGlobalParamsArray)(collateral.fundingFees
31
- ?.pairGlobalParams),
32
- params: (0, __1.convertFundingFeeParamsArray)(collateral.fundingFees
33
- ?.pairParams),
34
- data: (0, __1.convertPairFundingFeeDataArray)(collateral.fundingFees
35
- ?.pairData),
36
- },
37
- pairOis: (0, __1.convertPairOiArray)(collateral.pairOis, parseInt(collateral.collateralConfig.precision)),
38
- pairSkewDepths: (0, exports.convertPairSkewDepths)(collateral.pairSkewDepths),
39
- });
40
- const convertCollaterals = (collaterals) => collaterals?.map(collateral => convertCollateral(collateral));
9
+ const convertCollateral = (collateral) => {
10
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
11
+ return ({
12
+ pairBorrowingFees: ((_a = collateral.borrowingFees) === null || _a === void 0 ? void 0 : _a.v1) !== undefined
13
+ ? (0, exports.convertPairBorrowingFees)(collateral.borrowingFees.v1)
14
+ : [],
15
+ groupBorrowingFees: ((_b = collateral.borrowingFees) === null || _b === void 0 ? void 0 : _b.v1) !== undefined
16
+ ? (0, exports.convertGroupBorrowingFees)(collateral.borrowingFees.v1)
17
+ : [],
18
+ collateral: collateral.collateral,
19
+ collateralConfig: (0, exports.convertCollateralConfig)(collateral),
20
+ collateralIndex: collateral.collateralIndex,
21
+ gToken: collateral.gToken,
22
+ isActive: true,
23
+ prices: collateral.prices,
24
+ symbol: collateral.symbol,
25
+ pairBorrowingFeesV2: {
26
+ params: (0, __1.convertBorrowingFeeParamsArrayV2)((_d = (_c = collateral.borrowingFees) === null || _c === void 0 ? void 0 : _c.v2) === null || _d === void 0 ? void 0 : _d.pairParams),
27
+ data: (0, __1.convertPairBorrowingFeeDataArrayV2)((_f = (_e = collateral.borrowingFees) === null || _e === void 0 ? void 0 : _e.v2) === null || _f === void 0 ? void 0 : _f.pairData),
28
+ },
29
+ pairFundingFees: {
30
+ globalParams: (0, __1.convertPairGlobalParamsArray)((_g = collateral.fundingFees) === null || _g === void 0 ? void 0 : _g.pairGlobalParams),
31
+ params: (0, __1.convertFundingFeeParamsArray)((_h = collateral.fundingFees) === null || _h === void 0 ? void 0 : _h.pairParams),
32
+ data: (0, __1.convertPairFundingFeeDataArray)((_j = collateral.fundingFees) === null || _j === void 0 ? void 0 : _j.pairData),
33
+ },
34
+ pairOis: (0, __1.convertPairOiArray)(collateral.pairOis, parseInt(collateral.collateralConfig.precision)),
35
+ pairSkewDepths: (0, exports.convertPairSkewDepths)(collateral.pairSkewDepths),
36
+ });
37
+ };
38
+ const convertCollaterals = (collaterals) => collaterals === null || collaterals === void 0 ? void 0 : collaterals.map(collateral => convertCollateral(collateral));
41
39
  exports.convertCollaterals = convertCollaterals;
42
40
  const convertFee = (fee) => ({
43
41
  totalPositionSizeFeeP: parseFloat(fee.totalPositionSizeFeeP) / 1e12,
@@ -45,14 +43,14 @@ const convertFee = (fee) => ({
45
43
  oraclePositionSizeFeeP: parseFloat(fee.oraclePositionSizeFeeP) / 1e12,
46
44
  minPositionSizeUsd: parseFloat(fee.minPositionSizeUsd) / 1e3,
47
45
  });
48
- const convertOpenInterests = (interests) => interests?.map(interest => convertOpenInterest(interest));
46
+ const convertOpenInterests = (interests) => interests === null || interests === void 0 ? void 0 : interests.map(interest => convertOpenInterest(interest));
49
47
  exports.convertOpenInterests = convertOpenInterests;
50
48
  const convertOpenInterest = (interest) => ({
51
49
  long: parseFloat(interest.beforeV10.long) / 1e10,
52
50
  short: parseFloat(interest.beforeV10.short) / 1e10,
53
51
  max: parseFloat(interest.beforeV10.max) / 1e10,
54
52
  });
55
- const convertPairDepths = (pairDepths) => pairDepths?.map(pairDepth => convertPairDepth(pairDepth));
53
+ const convertPairDepths = (pairDepths) => pairDepths === null || pairDepths === void 0 ? void 0 : pairDepths.map(pairDepth => convertPairDepth(pairDepth));
56
54
  exports.convertPairDepths = convertPairDepths;
57
55
  const convertPairDepth = (pairDepth) => ({
58
56
  onePercentDepthAboveUsd: parseInt(pairDepth.onePercentDepthAboveUsd),
@@ -64,7 +62,7 @@ const convertPairSkewDepths = (pairSkewDepths) => {
64
62
  return (0, converter_1.convertPairSkewDepths)(pairSkewDepths);
65
63
  };
66
64
  exports.convertPairSkewDepths = convertPairSkewDepths;
67
- const convertPairBorrowingFees = (pairParams) => pairParams?.pairs.map(pairParam => convertPairBorrowingFee(pairParam));
65
+ const convertPairBorrowingFees = (pairParams) => pairParams === null || pairParams === void 0 ? void 0 : pairParams.pairs.map(pairParam => convertPairBorrowingFee(pairParam));
68
66
  exports.convertPairBorrowingFees = convertPairBorrowingFees;
69
67
  const convertPairGroupBorrowingFee = (pairParam) => ({
70
68
  groupIndex: parseInt(pairParam.groupIndex),
@@ -88,9 +86,9 @@ const convertPairBorrowingFee = (pairParams) => ({
88
86
  short: parseFloat(pairParams.oi.beforeV10.short) / 1e10 || 0,
89
87
  },
90
88
  feeExponent: parseInt(pairParams.feeExponent) || 0,
91
- feePerBlockCap: (0, exports.convertFeePerBlockCap)(pairParams?.feePerBlockCap),
89
+ feePerBlockCap: (0, exports.convertFeePerBlockCap)(pairParams === null || pairParams === void 0 ? void 0 : pairParams.feePerBlockCap),
92
90
  });
93
- const convertGroupBorrowingFees = (pairParams) => pairParams?.groups.map(pairParam => convertGroupBorrowingFee(pairParam));
91
+ const convertGroupBorrowingFees = (pairParams) => pairParams === null || pairParams === void 0 ? void 0 : pairParams.groups.map(pairParam => convertGroupBorrowingFee(pairParam));
94
92
  exports.convertGroupBorrowingFees = convertGroupBorrowingFees;
95
93
  const convertGroupBorrowingFee = (pairParams) => ({
96
94
  oi: {
@@ -104,16 +102,14 @@ const convertGroupBorrowingFee = (pairParams) => ({
104
102
  accLastUpdatedBlock: parseInt(pairParams.accLastUpdatedBlock),
105
103
  feeExponent: parseInt(pairParams.feeExponent) || 0,
106
104
  });
107
- const convertTradingGroups = (groups) => groups?.map(group => convertTradingGroup(group));
105
+ const convertTradingGroups = (groups) => groups === null || groups === void 0 ? void 0 : groups.map(group => convertTradingGroup(group));
108
106
  exports.convertTradingGroups = convertTradingGroups;
109
107
  const convertTradingGroup = (group) => ({
110
108
  maxLeverage: parseFloat(group.maxLeverage) / 1e3,
111
109
  minLeverage: parseFloat(group.minLeverage) / 1e3,
112
110
  name: group.name,
113
111
  });
114
- const convertTradingPairs = (pairs) => pairs
115
- ?.filter(pair => pair.from !== "")
116
- .map((pair, index) => convertTradingPair(pair, index));
112
+ const convertTradingPairs = (pairs) => pairs === null || pairs === void 0 ? void 0 : pairs.filter(pair => pair.from !== "").map((pair, index) => convertTradingPair(pair, index));
117
113
  exports.convertTradingPairs = convertTradingPairs;
118
114
  const convertTradingPair = (pair, index) => ({
119
115
  name: (0, exports.convertPairName)(pair),
@@ -125,7 +121,7 @@ const convertTradingPair = (pair, index) => ({
125
121
  groupIndex: parseInt(pair.groupIndex),
126
122
  spreadP: parseFloat(pair.spreadP) / 1e10,
127
123
  });
128
- const convertTradesAndLimitOrders = (allItems, collaterals) => allItems?.map(item => {
124
+ const convertTradesAndLimitOrders = (allItems, collaterals) => allItems === null || allItems === void 0 ? void 0 : allItems.map(item => {
129
125
  return (0, exports.convertTradeContainer)(item, collaterals);
130
126
  });
131
127
  exports.convertTradesAndLimitOrders = convertTradesAndLimitOrders;
@@ -171,10 +167,11 @@ const convertPairFactor = (pairFactor) => ({
171
167
  });
172
168
  exports.convertPairFactor = convertPairFactor;
173
169
  const convertTrade = (trade, collaterals) => {
170
+ var _a;
174
171
  const { long, user } = trade;
175
172
  const collateralIndex = parseInt(trade.collateralIndex);
176
173
  const collateral = collaterals[collateralIndex - 1];
177
- const decimals = collateral?.collateralConfig?.decimals || 18;
174
+ const decimals = ((_a = collateral === null || collateral === void 0 ? void 0 : collateral.collateralConfig) === null || _a === void 0 ? void 0 : _a.decimals) || 18;
178
175
  return {
179
176
  user,
180
177
  index: parseInt(trade.index),
@@ -184,7 +181,7 @@ const convertTrade = (trade, collaterals) => {
184
181
  isOpen: trade.isOpen,
185
182
  collateralIndex,
186
183
  tradeType: parseInt(trade.tradeType),
187
- collateralAmount: parseFloat(trade.collateralAmount) / 10 ** decimals,
184
+ collateralAmount: parseFloat(trade.collateralAmount) / Math.pow(10, decimals),
188
185
  openPrice: parseFloat(trade.openPrice) / 1e10,
189
186
  sl: parseFloat(trade.sl) / 1e10,
190
187
  tp: parseFloat(trade.tp) / 1e10,
@@ -268,7 +265,7 @@ const convertPairOi = (collateral) => ({
268
265
  });
269
266
  exports.convertPairOi = convertPairOi;
270
267
  const convertOiWindows = (oiWindows) => {
271
- return oiWindows?.map(pairWindows => {
268
+ return oiWindows === null || oiWindows === void 0 ? void 0 : oiWindows.map(pairWindows => {
272
269
  const converted = {};
273
270
  for (const [key, oiWindow] of Object.entries(pairWindows)) {
274
271
  converted[key] = (0, exports.convertPairOi)(oiWindow);
@@ -291,14 +288,17 @@ const convertCollateralConfig = (collateral) => ({
291
288
  decimals: collateral.collateralConfig.decimals,
292
289
  });
293
290
  exports.convertCollateralConfig = convertCollateralConfig;
294
- const convertFeeTiers = (feeTiersBackend) => ({
295
- tiers: feeTiersBackend?.tiers.map(tier => ({
296
- feeMultiplier: Number(tier.feeMultiplier) / 1e3,
297
- pointsThreshold: parseFloat(tier.pointsThreshold),
298
- })),
299
- multipliers: feeTiersBackend?.multipliers?.map(mult => parseFloat(mult) / 1e3) || [],
300
- currentDay: feeTiersBackend?.currentDay || 0,
301
- });
291
+ const convertFeeTiers = (feeTiersBackend) => {
292
+ var _a;
293
+ return ({
294
+ tiers: feeTiersBackend === null || feeTiersBackend === void 0 ? void 0 : feeTiersBackend.tiers.map(tier => ({
295
+ feeMultiplier: Number(tier.feeMultiplier) / 1e3,
296
+ pointsThreshold: parseFloat(tier.pointsThreshold),
297
+ })),
298
+ multipliers: ((_a = feeTiersBackend === null || feeTiersBackend === void 0 ? void 0 : feeTiersBackend.multipliers) === null || _a === void 0 ? void 0 : _a.map(mult => parseFloat(mult) / 1e3)) || [],
299
+ currentDay: (feeTiersBackend === null || feeTiersBackend === void 0 ? void 0 : feeTiersBackend.currentDay) || 0,
300
+ });
301
+ };
302
302
  exports.convertFeeTiers = convertFeeTiers;
303
303
  const convertTraderFeeTiers = (traderFeeTiers) => ({
304
304
  traderEnrollment: {
@@ -323,11 +323,11 @@ const convertGlobalTradeFeeParams = (fee) => ({
323
323
  gTokenFeeP: parseFloat(fee.gTokenFeeP) / 1e5,
324
324
  });
325
325
  exports.convertGlobalTradeFeeParams = convertGlobalTradeFeeParams;
326
- const convertMaxLeverages = (maxLeverages) => maxLeverages?.map(maxLeverage => parseFloat(maxLeverage) / 1e3);
326
+ const convertMaxLeverages = (maxLeverages) => maxLeverages === null || maxLeverages === void 0 ? void 0 : maxLeverages.map(maxLeverage => parseFloat(maxLeverage) / 1e3);
327
327
  exports.convertMaxLeverages = convertMaxLeverages;
328
328
  const convertFeePerBlockCap = (feeCap) => ({
329
- minP: feeCap?.minP ? parseFloat(feeCap.minP.toString()) / 1e3 / 100 : 0,
330
- maxP: feeCap?.maxP ? parseFloat(feeCap.maxP.toString()) / 1e3 / 100 : 1,
329
+ minP: (feeCap === null || feeCap === void 0 ? void 0 : feeCap.minP) ? parseFloat(feeCap.minP.toString()) / 1e3 / 100 : 0,
330
+ maxP: (feeCap === null || feeCap === void 0 ? void 0 : feeCap.maxP) ? parseFloat(feeCap.maxP.toString()) / 1e3 / 100 : 1,
331
331
  });
332
332
  exports.convertFeePerBlockCap = convertFeePerBlockCap;
333
333
  const convertPairName = (pair) => {
@@ -18,6 +18,7 @@ exports.transformGlobalTradingVariables = void 0;
18
18
  const converter_1 = require("./converter");
19
19
  const trade_1 = require("../../trade");
20
20
  const transformGlobalTradingVariables = (rawData) => {
21
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
21
22
  const globalTradingVariables = {
22
23
  collaterals: (0, converter_1.convertCollaterals)(rawData.collaterals),
23
24
  pairs: (0, converter_1.convertTradingPairs)(rawData.pairs),
@@ -30,10 +31,10 @@ const transformGlobalTradingVariables = (rawData) => {
30
31
  stocksClosed: !rawData.isStocksOpen,
31
32
  indicesClosed: !rawData.isIndicesOpen,
32
33
  commoditiesClosed: !rawData.isCommoditiesOpen,
33
- pairDepths: rawData.pairInfos?.pairDepths !== undefined
34
+ pairDepths: ((_a = rawData.pairInfos) === null || _a === void 0 ? void 0 : _a.pairDepths) !== undefined
34
35
  ? (0, converter_1.convertPairDepths)(rawData.pairInfos.pairDepths)
35
36
  : [],
36
- pairMaxLeverages: rawData.pairInfos?.maxLeverages !== undefined
37
+ pairMaxLeverages: ((_b = rawData.pairInfos) === null || _b === void 0 ? void 0 : _b.maxLeverages) !== undefined
37
38
  ? (0, converter_1.convertMaxLeverages)(rawData.pairInfos.maxLeverages)
38
39
  : [],
39
40
  maxNegativePnlOnOpenP: (rawData.maxNegativePnlOnOpenP && rawData.maxNegativePnlOnOpenP / 1e10) ||
@@ -46,11 +47,11 @@ const transformGlobalTradingVariables = (rawData) => {
46
47
  : [],
47
48
  feeTiers: (0, converter_1.convertFeeTiers)(rawData.feeTiers),
48
49
  liquidationParams: {
49
- groups: rawData.liquidationParams?.groups?.map(liqParams => (0, trade_1.convertLiquidationParams)(liqParams)) || [],
50
- pairs: rawData.liquidationParams?.pairs?.map(liqParams => (0, trade_1.convertLiquidationParams)(liqParams)) || [],
50
+ groups: ((_d = (_c = rawData.liquidationParams) === null || _c === void 0 ? void 0 : _c.groups) === null || _d === void 0 ? void 0 : _d.map(liqParams => (0, trade_1.convertLiquidationParams)(liqParams))) || [],
51
+ pairs: ((_f = (_e = rawData.liquidationParams) === null || _e === void 0 ? void 0 : _e.pairs) === null || _f === void 0 ? void 0 : _f.map(liqParams => (0, trade_1.convertLiquidationParams)(liqParams))) || [],
51
52
  },
52
53
  counterTradeSettings: (0, trade_1.convertCounterTradeSettingsArray)(rawData.counterTradeSettings),
53
- pairFactors: rawData.pairInfos?.pairFactors?.map(factor => (0, converter_1.convertPairFactor)(factor)) || [],
54
+ pairFactors: ((_h = (_g = rawData.pairInfos) === null || _g === void 0 ? void 0 : _g.pairFactors) === null || _h === void 0 ? void 0 : _h.map(factor => (0, converter_1.convertPairFactor)(factor))) || [],
54
55
  globalTradeFeeParams: rawData.globalTradeFeeParams
55
56
  ? (0, converter_1.convertGlobalTradeFeeParams)(rawData.globalTradeFeeParams)
56
57
  : undefined,
@@ -59,7 +60,7 @@ const transformGlobalTradingVariables = (rawData) => {
59
60
  const currentBlock = (rawData.currentBlock > -1 && rawData.currentBlock) || undefined;
60
61
  const l1BlockNumber = (rawData.currentL1Block > -1 && rawData.currentL1Block) || undefined;
61
62
  const pairIndexes = {};
62
- for (let i = 0; i < rawData.pairs?.length; i++) {
63
+ for (let i = 0; i < ((_j = rawData.pairs) === null || _j === void 0 ? void 0 : _j.length); i++) {
63
64
  pairIndexes[rawData.pairs[i].from + "/" + rawData.pairs[i].to] = i;
64
65
  }
65
66
  if (globalTradingVariables.collaterals !== undefined) {
@@ -14,10 +14,7 @@ const getContractAddressesForChain = (chainId, collateral = types_1.CollateralTy
14
14
  if (!_addresses[chainId][collateral]) {
15
15
  throw new Error(`Unknown collateral (${collateral}) for chain id (${chainId}). No known contracts have been deployed for this collateral.`);
16
16
  }
17
- return {
18
- ..._addresses[chainId]["global"],
19
- ..._addresses[chainId][collateral],
20
- };
17
+ return Object.assign(Object.assign({}, _addresses[chainId]["global"]), _addresses[chainId][collateral]);
21
18
  };
22
19
  exports.getContractAddressesForChain = getContractAddressesForChain;
23
20
  const getCollateralByAddressForChain = (chainId, address) => {
@@ -11,4 +11,4 @@ export declare const COLLATERAL_TO_CHAIN_COLLATERAL_INDEX: Record<ChainId, Parti
11
11
  export declare const COLLATERAL_TO_COLLATERAL_INDEX: Record<CollateralTypes, number>;
12
12
  export * from "./utils";
13
13
  export * from "./addresses";
14
- export { CollateralTypes, ChainId } from "./types";
14
+ export { CollateralTypes } from "./types";
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.ChainId = exports.CollateralTypes = exports.COLLATERAL_TO_COLLATERAL_INDEX = exports.COLLATERAL_TO_CHAIN_COLLATERAL_INDEX = exports.getCollateralIndexAndContractsForChainByRequester = exports.getContractsForChainByRequester = exports.getContractsForChain = void 0;
17
+ exports.CollateralTypes = exports.COLLATERAL_TO_COLLATERAL_INDEX = exports.COLLATERAL_TO_CHAIN_COLLATERAL_INDEX = exports.getCollateralIndexAndContractsForChainByRequester = exports.getContractsForChainByRequester = exports.getContractsForChain = void 0;
18
18
  const addresses_1 = require("./addresses");
19
19
  const factories_1 = require("./types/generated/factories");
20
20
  const types_1 = require("./types");
@@ -34,10 +34,11 @@ const getContractsForChainByRequester = (chainId, requester, signerOrProvider) =
34
34
  };
35
35
  exports.getContractsForChainByRequester = getContractsForChainByRequester;
36
36
  const getCollateralIndexAndContractsForChainByRequester = (chainId, requester, signerOrProvider) => {
37
+ var _a;
37
38
  const collateral = (0, addresses_1.getCollateralByAddressForChain)(chainId, requester);
38
39
  return {
39
40
  contracts: (0, exports.getContractsForChain)(chainId, signerOrProvider, collateral),
40
- collateralIndex: exports.COLLATERAL_TO_CHAIN_COLLATERAL_INDEX[chainId]?.[collateral] ||
41
+ collateralIndex: ((_a = exports.COLLATERAL_TO_CHAIN_COLLATERAL_INDEX[chainId]) === null || _a === void 0 ? void 0 : _a[collateral]) ||
41
42
  0,
42
43
  };
43
44
  };
@@ -82,4 +83,3 @@ __exportStar(require("./utils"), exports);
82
83
  __exportStar(require("./addresses"), exports);
83
84
  var types_2 = require("./types");
84
85
  Object.defineProperty(exports, "CollateralTypes", { enumerable: true, get: function () { return types_2.CollateralTypes; } });
85
- Object.defineProperty(exports, "ChainId", { enumerable: true, get: function () { return types_2.ChainId; } });
@@ -570,7 +570,7 @@ export declare namespace IUpdatePositionSize {
570
570
  priceImpact: ITradingCommonUtils.TradePriceImpactStruct;
571
571
  existingPnlPercent: PromiseOrValue<BigNumberish>;
572
572
  partialRawPnlCollateral: PromiseOrValue<BigNumberish>;
573
- existingNetPnlCollateral: PromiseOrValue<BigNumberish>;
573
+ partialNetPnlCollateral: PromiseOrValue<BigNumberish>;
574
574
  pnlToRealizeCollateral: PromiseOrValue<BigNumberish>;
575
575
  closingFeeCollateral: PromiseOrValue<BigNumberish>;
576
576
  totalAvailableCollateralInDiamond: PromiseOrValue<BigNumberish>;
@@ -605,7 +605,7 @@ export declare namespace IUpdatePositionSize {
605
605
  priceImpact: ITradingCommonUtils.TradePriceImpactStructOutput;
606
606
  existingPnlPercent: BigNumber;
607
607
  partialRawPnlCollateral: BigNumber;
608
- existingNetPnlCollateral: BigNumber;
608
+ partialNetPnlCollateral: BigNumber;
609
609
  pnlToRealizeCollateral: BigNumber;
610
610
  closingFeeCollateral: BigNumber;
611
611
  totalAvailableCollateralInDiamond: BigNumber;
@@ -1007,7 +1007,6 @@ export declare namespace IBorrowingFees {
1007
1007
  long: PromiseOrValue<boolean>;
1008
1008
  collateral: PromiseOrValue<BigNumberish>;
1009
1009
  leverage: PromiseOrValue<BigNumberish>;
1010
- openPrice: PromiseOrValue<BigNumberish>;
1011
1010
  currentPairPrice: PromiseOrValue<BigNumberish>;
1012
1011
  };
1013
1012
  type BorrowingFeeInputStructOutput = [
@@ -1018,7 +1017,6 @@ export declare namespace IBorrowingFees {
1018
1017
  boolean,
1019
1018
  BigNumber,
1020
1019
  BigNumber,
1021
- BigNumber,
1022
1020
  BigNumber
1023
1021
  ] & {
1024
1022
  collateralIndex: number;
@@ -1028,7 +1026,6 @@ export declare namespace IBorrowingFees {
1028
1026
  long: boolean;
1029
1027
  collateral: BigNumber;
1030
1028
  leverage: BigNumber;
1031
- openPrice: BigNumber;
1032
1029
  currentPairPrice: BigNumber;
1033
1030
  };
1034
1031
  type LiqPriceInputStruct = {
@@ -1264,6 +1261,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1264
1261
  "hasRole(address,uint8)": FunctionFragment;
1265
1262
  "hasRoles(address,uint8,uint8)": FunctionFragment;
1266
1263
  "initialize(address)": FunctionFragment;
1264
+ "initializeGovEmergencyTimelock(address)": FunctionFragment;
1267
1265
  "setRoles(address[],uint8[],bool[])": FunctionFragment;
1268
1266
  "addFees((uint40,uint40,uint40,uint32,uint104)[])": FunctionFragment;
1269
1267
  "addGroups((string,bytes32,uint256,uint256)[])": FunctionFragment;
@@ -1501,7 +1499,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1501
1499
  "getPairMaxOiCollateral(uint8,uint16)": FunctionFragment;
1502
1500
  "getPairOiBeforeV10Collateral(uint8,uint16,bool)": FunctionFragment;
1503
1501
  "getPairOisBeforeV10Collateral(uint8,uint16)": FunctionFragment;
1504
- "getTradeBorrowingFee((uint8,address,uint16,uint32,bool,uint256,uint256,uint256,uint256))": FunctionFragment;
1502
+ "getTradeBorrowingFee((uint8,address,uint16,uint32,bool,uint256,uint256,uint256))": FunctionFragment;
1505
1503
  "getTradeLiquidationPrice((uint8,address,uint16,uint32,uint64,bool,uint256,uint256,int256,(uint40,uint40,uint40,uint24,uint24),uint64,bool,uint256,bool))": FunctionFragment;
1506
1504
  "handleTradeBorrowingCallback(uint8,address,uint16,uint32,uint256,bool,bool,uint256)": FunctionFragment;
1507
1505
  "initializeBorrowingFeePerBlockCap((uint32,uint32))": FunctionFragment;
@@ -1614,7 +1612,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1614
1612
  "storeUiRealizedPnlPartialCloseCollateral(address,uint32,int256)": FunctionFragment;
1615
1613
  "storeVirtualAvailableCollateralInDiamond(address,uint32,uint256)": FunctionFragment;
1616
1614
  };
1617
- getFunction(nameOrSignatureOrTopic: "diamondCut" | "facetAddress" | "facetAddresses" | "facetFunctionSelectors" | "facets" | "getAddresses" | "hasRole" | "hasRoles" | "initialize" | "setRoles" | "addFees" | "addGroups" | "addPairs" | "fees" | "feesCount" | "getAllPairsRestrictedMaxLeverage" | "getGlobalTradeFeeParams" | "getGroupLiquidationParams" | "getPairCounterTradeFeeRateMultiplier" | "getPairCounterTradeFeeRateMultipliers" | "getPairCounterTradeMaxLeverage" | "getPairCounterTradeMaxLeverages" | "getPairLiquidationParams" | "groups" | "groupsCount" | "initializeGroupLiquidationParams" | "initializeNewFees" | "initializeReferralFeeChange" | "isPairIndexListed" | "isPairListed" | "pairCustomMaxLeverage" | "pairJob" | "pairMaxLeverage" | "pairMinFeeUsd" | "pairMinLeverage" | "pairMinPositionSizeUsd" | "pairOraclePositionSizeFeeP" | "pairSpreadP" | "pairSpreadPArray" | "pairTotalLiqCollateralFeeP" | "pairTotalPositionSizeFeeP" | "pairs" | "pairsCount" | "setGlobalTradeFeeParams" | "setGroupLiquidationParams" | "setPairCounterTradeFeeRateMultipliers" | "setPairCounterTradeMaxLeverages" | "setPairCustomMaxLeverages" | "updateFees" | "updateGroups" | "updatePairs" | "claimAllyRewards" | "claimReferrerRewards" | "distributeReferralReward" | "getAllyDetails" | "getReferralSettingsOverrides" | "getReferralsAllyFeeP" | "getReferralsStartReferrerFeeP" | "getReferralsTargetVolumeUsd" | "getReferrerDetails" | "getReferrerFeeProgressP" | "getReferrersReferred" | "getTraderActiveReferrer" | "getTraderLastReferrer" | "getTradersReferred" | "initializeReferrals" | "overrideAllyFeeP" | "overrideReferralFeeP" | "registerPotentialReferrer" | "unwhitelistAllies" | "unwhitelistReferrers" | "updateAllyFeeP" | "updateReferralsTargetVolumeUsd" | "updateStartReferrerFeeP" | "whitelistAllies" | "whitelistReferrers" | "addTradersUnclaimedPoints" | "calculateFeeAmount" | "getFeeTier" | "getFeeTiersCount" | "getFeeTiersTraderDailyInfo" | "getFeeTiersTraderInfo" | "getGroupVolumeMultiplier" | "getTraderFeeTiersEnrollment" | "getTraderUnclaimedPoints" | "initializeFeeTiers" | "setFeeTiers" | "setGroupVolumeMultipliers" | "setTradersFeeTiersEnrollment" | "updateTraderPoints" | "addPriceImpactOpenInterest" | "getNegPnlCumulVolMultiplier" | "getOiWindow" | "getOiWindows" | "getOiWindowsSettings" | "getPairDepth" | "getPairDepths" | "getPairFactors" | "getPairOiAfterV10Collateral" | "getPairOiAfterV10Token" | "getPairOisAfterV10Collateral" | "getPairOisAfterV10Token" | "getPairSkewDepth" | "getPairSkewDepths" | "getPriceImpactOi" | "getProtectionCloseFactorWhitelist" | "getTradeCumulVolPriceImpactP" | "getTradeSkewPriceImpactP" | "getUserPriceImpact" | "initializeNegPnlCumulVolMultiplier" | "initializePairFactors" | "initializePriceImpact" | "setCumulativeFactors" | "setExemptAfterProtectionCloseFactor" | "setExemptOnOpen" | "setNegPnlCumulVolMultiplier" | "setPairDepths" | "setPairSkewDepths" | "setPriceImpactWindowsCount" | "setPriceImpactWindowsDuration" | "setProtectionCloseFactorBlocks" | "setProtectionCloseFactorWhitelist" | "setProtectionCloseFactors" | "setUserPriceImpact" | "updatePairOiAfterV10" | "addCollateral" | "closePendingOrder" | "closeTrade" | "getAllPendingOrders" | "getAllPendingOrdersForTraders" | "getAllTradeInfos" | "getAllTradeInfosForTraders" | "getAllTrades" | "getAllTradesForTraders" | "getAllTradesLiquidationParams" | "getAllTradesLiquidationParamsForTraders" | "getCollateral" | "getCollateralIndex" | "getCollaterals" | "getCollateralsCount" | "getCounters" | "getCountersForTraders" | "getCurrentContractsVersion" | "getGToken" | "getGnsCollateralIndex" | "getPendingOrder" | "getPendingOrders" | "getTrade" | "getTradeContractsVersion" | "getTradeInfo" | "getTradeInfos" | "getTradeLiquidationParams" | "getTradePendingOrderBlock" | "getTraderStored" | "getTraders" | "getTradersCount" | "getTrades" | "getTradesLiquidationParams" | "getTradingActivated" | "initializeTradingStorage" | "isCollateralActive" | "isCollateralGns" | "isCollateralListed" | "storePendingOrder" | "storeTrade" | "toggleCollateralActiveState" | "updateGToken" | "updateOpenOrderDetails" | "updateTradeMaxClosingSlippageP" | "updateTradePosition" | "updateTradeSl" | "updateTradeTp" | "updateTradingActivated" | "claimPendingTriggerRewards" | "distributeTriggerReward" | "getTriggerPendingRewardsGns" | "getTriggerTimeoutBlocks" | "hasActiveOrder" | "initializeTriggerRewards" | "updateTriggerTimeoutBlocks" | "cancelOpenOrder" | "cancelOrderAfterTimeout" | "closeTradeMarket" | "decreasePositionSize" | "delegatedTradingAction" | "getByPassTriggerLink" | "getMarketOrdersTimeoutBlocks" | "getTradingDelegate" | "getWrappedNativeToken" | "increasePositionSize" | "increasePositionSizeNative" | "initializeTrading" | "initiateManualNegativePnlRealization" | "isWrappedNativeToken" | "openTrade" | "openTradeNative" | "removeTradingDelegate" | "setTradingDelegate" | "triggerOrder" | "updateByPassTriggerLink" | "updateLeverage" | "updateLeverageNative" | "updateMarketOrdersTimeoutBlocks" | "updateMaxClosingSlippageP" | "updateOpenOrder" | "updateSl" | "updateTp" | "withdrawPositivePnl" | "claimPendingGovFees" | "closeTradeMarketCallback" | "decreasePositionSizeMarketCallback" | "executeTriggerCloseOrderCallback" | "executeTriggerOpenOrderCallback" | "getPendingGovFeesCollateral" | "getVaultClosingFeeP" | "increasePositionSizeMarketCallback" | "initializeCallbacks" | "initializeTreasuryAddress" | "manualHoldingFeesRealizationCallback" | "manualNegativePnlRealizationCallback" | "openTradeMarketCallback" | "pnlWithdrawalCallback" | "updateLeverageCallback" | "updateTreasuryAddress" | "updateVaultClosingFeeP" | "validateTriggerCloseOrderCallback" | "validateTriggerOpenOrderCallback" | "borrowingParamUpdateCallback" | "getAllBorrowingPairs" | "getBorrowingFeePerBlockCap" | "getBorrowingGroup" | "getBorrowingGroupOi" | "getBorrowingGroupPendingAccFees" | "getBorrowingGroups" | "getBorrowingInitialAccFees" | "getBorrowingPair" | "getBorrowingPairFeePerBlockCap" | "getBorrowingPairFeePerBlockCaps" | "getBorrowingPairGroupIndex" | "getBorrowingPairGroups" | "getBorrowingPairOiBeforeV10" | "getBorrowingPairPendingAccFees" | "getPairMaxOi" | "getPairMaxOiCollateral" | "getPairOiBeforeV10Collateral" | "getPairOisBeforeV10Collateral" | "getTradeBorrowingFee" | "getTradeLiquidationPrice" | "handleTradeBorrowingCallback" | "initializeBorrowingFeePerBlockCap" | "resetTradeBorrowingFees" | "setBorrowingFeePerBlockCap" | "setBorrowingGroupParams" | "setBorrowingGroupParamsArray" | "setBorrowingPairFeePerBlockCapArray" | "setBorrowingPairParams" | "setBorrowingPairParamsArray" | "updatePairOiBeforeV10" | "withinMaxBorrowingGroupOi" | "addOracle" | "claimBackLink" | "fulfill" | "getChainlinkToken" | "getCollateralFromUsdNormalizedValue" | "getCollateralGnsLiquidityPool" | "getCollateralPriceUsd" | "getCollateralUsdPriceFeed" | "getGnsPriceCollateralAddress" | "getGnsPriceCollateralIndex" | "getGnsPriceUsd" | "getLimitJobCount" | "getLimitJobId" | "getLimitJobIndex" | "getLinkFee" | "getLinkUsdPriceFeed" | "getMarketJobId" | "getMaxLookbackDeviationP" | "getMaxMarketDeviationP" | "getMinAnswers" | "getOracle" | "getOracles" | "getParamUpdateJobId" | "getPendingRequest" | "getPrice" | "getPriceAggregatorOrder" | "getPriceAggregatorOrderAnswers" | "getRequestCount" | "getTwapInterval" | "getUsdNormalizedValue" | "initializeLimitJobCount" | "initializeMaxDeviationsP" | "initializeParamUpdateJobId" | "initializePriceAggregator" | "removeOracle" | "replaceOracle" | "setLimitJobCount" | "setLimitJobId" | "setMarketJobId" | "setMaxLookbackDeviationP" | "setMaxMarketDeviationP" | "setParamUpdateJobId" | "updateCollateralGnsLiquidityPool" | "updateCollateralUsdPriceFeed" | "updateLinkUsdPriceFeed" | "updateMinAnswers" | "updateTwapInterval" | "addOtcCollateralBalance" | "getOtcBalance" | "getOtcConfig" | "getOtcRate" | "initializeOtc" | "sellGnsForCollateral" | "updateOtcConfig" | "multicall" | "getNativeTransferEnabled" | "getNativeTransferGasLimit" | "getReentrancyLock" | "initializeChainConfig" | "updateNativeTransferEnabled" | "updateNativeTransferGasLimit" | "downscaleTradeFeesData" | "getMaxSkewCollateral" | "getPairBorrowingFeeData" | "getPairBorrowingFeeParams" | "getPairFundingFeeData" | "getPairFundingFeeParams" | "getPairGlobalParamsArray" | "getPairPendingAccBorrowingFees" | "getPairPendingAccFundingFees" | "getPendingParamUpdates" | "getTradeBorrowingFeesCollateral" | "getTradeFeesData" | "getTradeFeesDataArray" | "getTradeFundingFeesCollateral" | "getTradeManuallyRealizedNegativePnlCollateral" | "getTradePendingHoldingFeesCollateral" | "getTradeRealizedPnlCollateral" | "getTradeRealizedTradingFeesCollateral" | "getTradeUiRealizedPnlDataArray" | "pendingParamUpdateCallback" | "realizeHoldingFeesOnOpenTrade" | "realizePnlOnOpenTrade" | "realizeTradingFeesOnOpenTrade" | "requestParamUpdate" | "setAbsoluteRatePerSecondCap" | "setAbsoluteVelocityPerYearCap" | "setAprMultiplierEnabled" | "setBorrowingRatePerSecondP" | "setFundingFeesEnabled" | "setMaxSkewCollateral" | "setSkewCoefficientPerYear" | "setThetaThresholdUsd" | "storeAlreadyTransferredNegativePnl" | "storeManuallyRealizedNegativePnlCollateral" | "storeTradeInitialAccFees" | "storeUiPnlWithdrawnCollateral" | "storeUiRealizedPnlPartialCloseCollateral" | "storeVirtualAvailableCollateralInDiamond"): FunctionFragment;
1615
+ getFunction(nameOrSignatureOrTopic: "diamondCut" | "facetAddress" | "facetAddresses" | "facetFunctionSelectors" | "facets" | "getAddresses" | "hasRole" | "hasRoles" | "initialize" | "initializeGovEmergencyTimelock" | "setRoles" | "addFees" | "addGroups" | "addPairs" | "fees" | "feesCount" | "getAllPairsRestrictedMaxLeverage" | "getGlobalTradeFeeParams" | "getGroupLiquidationParams" | "getPairCounterTradeFeeRateMultiplier" | "getPairCounterTradeFeeRateMultipliers" | "getPairCounterTradeMaxLeverage" | "getPairCounterTradeMaxLeverages" | "getPairLiquidationParams" | "groups" | "groupsCount" | "initializeGroupLiquidationParams" | "initializeNewFees" | "initializeReferralFeeChange" | "isPairIndexListed" | "isPairListed" | "pairCustomMaxLeverage" | "pairJob" | "pairMaxLeverage" | "pairMinFeeUsd" | "pairMinLeverage" | "pairMinPositionSizeUsd" | "pairOraclePositionSizeFeeP" | "pairSpreadP" | "pairSpreadPArray" | "pairTotalLiqCollateralFeeP" | "pairTotalPositionSizeFeeP" | "pairs" | "pairsCount" | "setGlobalTradeFeeParams" | "setGroupLiquidationParams" | "setPairCounterTradeFeeRateMultipliers" | "setPairCounterTradeMaxLeverages" | "setPairCustomMaxLeverages" | "updateFees" | "updateGroups" | "updatePairs" | "claimAllyRewards" | "claimReferrerRewards" | "distributeReferralReward" | "getAllyDetails" | "getReferralSettingsOverrides" | "getReferralsAllyFeeP" | "getReferralsStartReferrerFeeP" | "getReferralsTargetVolumeUsd" | "getReferrerDetails" | "getReferrerFeeProgressP" | "getReferrersReferred" | "getTraderActiveReferrer" | "getTraderLastReferrer" | "getTradersReferred" | "initializeReferrals" | "overrideAllyFeeP" | "overrideReferralFeeP" | "registerPotentialReferrer" | "unwhitelistAllies" | "unwhitelistReferrers" | "updateAllyFeeP" | "updateReferralsTargetVolumeUsd" | "updateStartReferrerFeeP" | "whitelistAllies" | "whitelistReferrers" | "addTradersUnclaimedPoints" | "calculateFeeAmount" | "getFeeTier" | "getFeeTiersCount" | "getFeeTiersTraderDailyInfo" | "getFeeTiersTraderInfo" | "getGroupVolumeMultiplier" | "getTraderFeeTiersEnrollment" | "getTraderUnclaimedPoints" | "initializeFeeTiers" | "setFeeTiers" | "setGroupVolumeMultipliers" | "setTradersFeeTiersEnrollment" | "updateTraderPoints" | "addPriceImpactOpenInterest" | "getNegPnlCumulVolMultiplier" | "getOiWindow" | "getOiWindows" | "getOiWindowsSettings" | "getPairDepth" | "getPairDepths" | "getPairFactors" | "getPairOiAfterV10Collateral" | "getPairOiAfterV10Token" | "getPairOisAfterV10Collateral" | "getPairOisAfterV10Token" | "getPairSkewDepth" | "getPairSkewDepths" | "getPriceImpactOi" | "getProtectionCloseFactorWhitelist" | "getTradeCumulVolPriceImpactP" | "getTradeSkewPriceImpactP" | "getUserPriceImpact" | "initializeNegPnlCumulVolMultiplier" | "initializePairFactors" | "initializePriceImpact" | "setCumulativeFactors" | "setExemptAfterProtectionCloseFactor" | "setExemptOnOpen" | "setNegPnlCumulVolMultiplier" | "setPairDepths" | "setPairSkewDepths" | "setPriceImpactWindowsCount" | "setPriceImpactWindowsDuration" | "setProtectionCloseFactorBlocks" | "setProtectionCloseFactorWhitelist" | "setProtectionCloseFactors" | "setUserPriceImpact" | "updatePairOiAfterV10" | "addCollateral" | "closePendingOrder" | "closeTrade" | "getAllPendingOrders" | "getAllPendingOrdersForTraders" | "getAllTradeInfos" | "getAllTradeInfosForTraders" | "getAllTrades" | "getAllTradesForTraders" | "getAllTradesLiquidationParams" | "getAllTradesLiquidationParamsForTraders" | "getCollateral" | "getCollateralIndex" | "getCollaterals" | "getCollateralsCount" | "getCounters" | "getCountersForTraders" | "getCurrentContractsVersion" | "getGToken" | "getGnsCollateralIndex" | "getPendingOrder" | "getPendingOrders" | "getTrade" | "getTradeContractsVersion" | "getTradeInfo" | "getTradeInfos" | "getTradeLiquidationParams" | "getTradePendingOrderBlock" | "getTraderStored" | "getTraders" | "getTradersCount" | "getTrades" | "getTradesLiquidationParams" | "getTradingActivated" | "initializeTradingStorage" | "isCollateralActive" | "isCollateralGns" | "isCollateralListed" | "storePendingOrder" | "storeTrade" | "toggleCollateralActiveState" | "updateGToken" | "updateOpenOrderDetails" | "updateTradeMaxClosingSlippageP" | "updateTradePosition" | "updateTradeSl" | "updateTradeTp" | "updateTradingActivated" | "claimPendingTriggerRewards" | "distributeTriggerReward" | "getTriggerPendingRewardsGns" | "getTriggerTimeoutBlocks" | "hasActiveOrder" | "initializeTriggerRewards" | "updateTriggerTimeoutBlocks" | "cancelOpenOrder" | "cancelOrderAfterTimeout" | "closeTradeMarket" | "decreasePositionSize" | "delegatedTradingAction" | "getByPassTriggerLink" | "getMarketOrdersTimeoutBlocks" | "getTradingDelegate" | "getWrappedNativeToken" | "increasePositionSize" | "increasePositionSizeNative" | "initializeTrading" | "initiateManualNegativePnlRealization" | "isWrappedNativeToken" | "openTrade" | "openTradeNative" | "removeTradingDelegate" | "setTradingDelegate" | "triggerOrder" | "updateByPassTriggerLink" | "updateLeverage" | "updateLeverageNative" | "updateMarketOrdersTimeoutBlocks" | "updateMaxClosingSlippageP" | "updateOpenOrder" | "updateSl" | "updateTp" | "withdrawPositivePnl" | "claimPendingGovFees" | "closeTradeMarketCallback" | "decreasePositionSizeMarketCallback" | "executeTriggerCloseOrderCallback" | "executeTriggerOpenOrderCallback" | "getPendingGovFeesCollateral" | "getVaultClosingFeeP" | "increasePositionSizeMarketCallback" | "initializeCallbacks" | "initializeTreasuryAddress" | "manualHoldingFeesRealizationCallback" | "manualNegativePnlRealizationCallback" | "openTradeMarketCallback" | "pnlWithdrawalCallback" | "updateLeverageCallback" | "updateTreasuryAddress" | "updateVaultClosingFeeP" | "validateTriggerCloseOrderCallback" | "validateTriggerOpenOrderCallback" | "borrowingParamUpdateCallback" | "getAllBorrowingPairs" | "getBorrowingFeePerBlockCap" | "getBorrowingGroup" | "getBorrowingGroupOi" | "getBorrowingGroupPendingAccFees" | "getBorrowingGroups" | "getBorrowingInitialAccFees" | "getBorrowingPair" | "getBorrowingPairFeePerBlockCap" | "getBorrowingPairFeePerBlockCaps" | "getBorrowingPairGroupIndex" | "getBorrowingPairGroups" | "getBorrowingPairOiBeforeV10" | "getBorrowingPairPendingAccFees" | "getPairMaxOi" | "getPairMaxOiCollateral" | "getPairOiBeforeV10Collateral" | "getPairOisBeforeV10Collateral" | "getTradeBorrowingFee" | "getTradeLiquidationPrice" | "handleTradeBorrowingCallback" | "initializeBorrowingFeePerBlockCap" | "resetTradeBorrowingFees" | "setBorrowingFeePerBlockCap" | "setBorrowingGroupParams" | "setBorrowingGroupParamsArray" | "setBorrowingPairFeePerBlockCapArray" | "setBorrowingPairParams" | "setBorrowingPairParamsArray" | "updatePairOiBeforeV10" | "withinMaxBorrowingGroupOi" | "addOracle" | "claimBackLink" | "fulfill" | "getChainlinkToken" | "getCollateralFromUsdNormalizedValue" | "getCollateralGnsLiquidityPool" | "getCollateralPriceUsd" | "getCollateralUsdPriceFeed" | "getGnsPriceCollateralAddress" | "getGnsPriceCollateralIndex" | "getGnsPriceUsd" | "getLimitJobCount" | "getLimitJobId" | "getLimitJobIndex" | "getLinkFee" | "getLinkUsdPriceFeed" | "getMarketJobId" | "getMaxLookbackDeviationP" | "getMaxMarketDeviationP" | "getMinAnswers" | "getOracle" | "getOracles" | "getParamUpdateJobId" | "getPendingRequest" | "getPrice" | "getPriceAggregatorOrder" | "getPriceAggregatorOrderAnswers" | "getRequestCount" | "getTwapInterval" | "getUsdNormalizedValue" | "initializeLimitJobCount" | "initializeMaxDeviationsP" | "initializeParamUpdateJobId" | "initializePriceAggregator" | "removeOracle" | "replaceOracle" | "setLimitJobCount" | "setLimitJobId" | "setMarketJobId" | "setMaxLookbackDeviationP" | "setMaxMarketDeviationP" | "setParamUpdateJobId" | "updateCollateralGnsLiquidityPool" | "updateCollateralUsdPriceFeed" | "updateLinkUsdPriceFeed" | "updateMinAnswers" | "updateTwapInterval" | "addOtcCollateralBalance" | "getOtcBalance" | "getOtcConfig" | "getOtcRate" | "initializeOtc" | "sellGnsForCollateral" | "updateOtcConfig" | "multicall" | "getNativeTransferEnabled" | "getNativeTransferGasLimit" | "getReentrancyLock" | "initializeChainConfig" | "updateNativeTransferEnabled" | "updateNativeTransferGasLimit" | "downscaleTradeFeesData" | "getMaxSkewCollateral" | "getPairBorrowingFeeData" | "getPairBorrowingFeeParams" | "getPairFundingFeeData" | "getPairFundingFeeParams" | "getPairGlobalParamsArray" | "getPairPendingAccBorrowingFees" | "getPairPendingAccFundingFees" | "getPendingParamUpdates" | "getTradeBorrowingFeesCollateral" | "getTradeFeesData" | "getTradeFeesDataArray" | "getTradeFundingFeesCollateral" | "getTradeManuallyRealizedNegativePnlCollateral" | "getTradePendingHoldingFeesCollateral" | "getTradeRealizedPnlCollateral" | "getTradeRealizedTradingFeesCollateral" | "getTradeUiRealizedPnlDataArray" | "pendingParamUpdateCallback" | "realizeHoldingFeesOnOpenTrade" | "realizePnlOnOpenTrade" | "realizeTradingFeesOnOpenTrade" | "requestParamUpdate" | "setAbsoluteRatePerSecondCap" | "setAbsoluteVelocityPerYearCap" | "setAprMultiplierEnabled" | "setBorrowingRatePerSecondP" | "setFundingFeesEnabled" | "setMaxSkewCollateral" | "setSkewCoefficientPerYear" | "setThetaThresholdUsd" | "storeAlreadyTransferredNegativePnl" | "storeManuallyRealizedNegativePnlCollateral" | "storeTradeInitialAccFees" | "storeUiPnlWithdrawnCollateral" | "storeUiRealizedPnlPartialCloseCollateral" | "storeVirtualAvailableCollateralInDiamond"): FunctionFragment;
1618
1616
  encodeFunctionData(functionFragment: "diamondCut", values: [
1619
1617
  IDiamondStorage.FacetCutStruct[],
1620
1618
  PromiseOrValue<string>,
@@ -1632,6 +1630,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
1632
1630
  PromiseOrValue<BigNumberish>
1633
1631
  ]): string;
1634
1632
  encodeFunctionData(functionFragment: "initialize", values: [PromiseOrValue<string>]): string;
1633
+ encodeFunctionData(functionFragment: "initializeGovEmergencyTimelock", values: [PromiseOrValue<string>]): string;
1635
1634
  encodeFunctionData(functionFragment: "setRoles", values: [
1636
1635
  PromiseOrValue<string>[],
1637
1636
  PromiseOrValue<BigNumberish>[],
@@ -2357,6 +2356,7 @@ export interface GNSMultiCollatDiamondInterface extends utils.Interface {
2357
2356
  decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result;
2358
2357
  decodeFunctionResult(functionFragment: "hasRoles", data: BytesLike): Result;
2359
2358
  decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
2359
+ decodeFunctionResult(functionFragment: "initializeGovEmergencyTimelock", data: BytesLike): Result;
2360
2360
  decodeFunctionResult(functionFragment: "setRoles", data: BytesLike): Result;
2361
2361
  decodeFunctionResult(functionFragment: "addFees", data: BytesLike): Result;
2362
2362
  decodeFunctionResult(functionFragment: "addGroups", data: BytesLike): Result;
@@ -5038,6 +5038,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5038
5038
  initialize(_govTimelock: PromiseOrValue<string>, overrides?: Overrides & {
5039
5039
  from?: PromiseOrValue<string>;
5040
5040
  }): Promise<ContractTransaction>;
5041
+ initializeGovEmergencyTimelock(_govEmergencyTimelock: PromiseOrValue<string>, overrides?: Overrides & {
5042
+ from?: PromiseOrValue<string>;
5043
+ }): Promise<ContractTransaction>;
5041
5044
  setRoles(_accounts: PromiseOrValue<string>[], _roles: PromiseOrValue<BigNumberish>[], _values: PromiseOrValue<boolean>[], overrides?: Overrides & {
5042
5045
  from?: PromiseOrValue<string>;
5043
5046
  }): Promise<ContractTransaction>;
@@ -5814,6 +5817,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
5814
5817
  initialize(_govTimelock: PromiseOrValue<string>, overrides?: Overrides & {
5815
5818
  from?: PromiseOrValue<string>;
5816
5819
  }): Promise<ContractTransaction>;
5820
+ initializeGovEmergencyTimelock(_govEmergencyTimelock: PromiseOrValue<string>, overrides?: Overrides & {
5821
+ from?: PromiseOrValue<string>;
5822
+ }): Promise<ContractTransaction>;
5817
5823
  setRoles(_accounts: PromiseOrValue<string>[], _roles: PromiseOrValue<BigNumberish>[], _values: PromiseOrValue<boolean>[], overrides?: Overrides & {
5818
5824
  from?: PromiseOrValue<string>;
5819
5825
  }): Promise<ContractTransaction>;
@@ -6570,6 +6576,7 @@ export interface GNSMultiCollatDiamond extends BaseContract {
6570
6576
  hasRole(_account: PromiseOrValue<string>, _role: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
6571
6577
  hasRoles(_account: PromiseOrValue<string>, _roleA: PromiseOrValue<BigNumberish>, _roleB: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
6572
6578
  initialize(_govTimelock: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
6579
+ initializeGovEmergencyTimelock(_govEmergencyTimelock: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
6573
6580
  setRoles(_accounts: PromiseOrValue<string>[], _roles: PromiseOrValue<BigNumberish>[], _values: PromiseOrValue<boolean>[], overrides?: CallOverrides): Promise<void>;
6574
6581
  addFees(_fees: IPairsStorage.FeeGroupStruct[], overrides?: CallOverrides): Promise<void>;
6575
6582
  addGroups(_groups: IPairsStorage.GroupStruct[], overrides?: CallOverrides): Promise<void>;
@@ -7327,6 +7334,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
7327
7334
  initialize(_govTimelock: PromiseOrValue<string>, overrides?: Overrides & {
7328
7335
  from?: PromiseOrValue<string>;
7329
7336
  }): Promise<BigNumber>;
7337
+ initializeGovEmergencyTimelock(_govEmergencyTimelock: PromiseOrValue<string>, overrides?: Overrides & {
7338
+ from?: PromiseOrValue<string>;
7339
+ }): Promise<BigNumber>;
7330
7340
  setRoles(_accounts: PromiseOrValue<string>[], _roles: PromiseOrValue<BigNumberish>[], _values: PromiseOrValue<boolean>[], overrides?: Overrides & {
7331
7341
  from?: PromiseOrValue<string>;
7332
7342
  }): Promise<BigNumber>;
@@ -8027,6 +8037,9 @@ export interface GNSMultiCollatDiamond extends BaseContract {
8027
8037
  initialize(_govTimelock: PromiseOrValue<string>, overrides?: Overrides & {
8028
8038
  from?: PromiseOrValue<string>;
8029
8039
  }): Promise<PopulatedTransaction>;
8040
+ initializeGovEmergencyTimelock(_govEmergencyTimelock: PromiseOrValue<string>, overrides?: Overrides & {
8041
+ from?: PromiseOrValue<string>;
8042
+ }): Promise<PopulatedTransaction>;
8030
8043
  setRoles(_accounts: PromiseOrValue<string>[], _roles: PromiseOrValue<BigNumberish>[], _values: PromiseOrValue<boolean>[], overrides?: Overrides & {
8031
8044
  from?: PromiseOrValue<string>;
8032
8045
  }): Promise<PopulatedTransaction>;
@@ -502,6 +502,20 @@ const _abi = [
502
502
  type: "function",
503
503
  signature: "0xc4d66de8",
504
504
  },
505
+ {
506
+ inputs: [
507
+ {
508
+ internalType: "address",
509
+ name: "_govEmergencyTimelock",
510
+ type: "address",
511
+ },
512
+ ],
513
+ name: "initializeGovEmergencyTimelock",
514
+ outputs: [],
515
+ stateMutability: "nonpayable",
516
+ type: "function",
517
+ signature: "0x52b3aaca",
518
+ },
505
519
  {
506
520
  inputs: [
507
521
  {
@@ -9607,7 +9621,7 @@ const _abi = [
9607
9621
  },
9608
9622
  {
9609
9623
  internalType: "int256",
9610
- name: "existingNetPnlCollateral",
9624
+ name: "partialNetPnlCollateral",
9611
9625
  type: "int256",
9612
9626
  },
9613
9627
  {
@@ -14345,11 +14359,6 @@ const _abi = [
14345
14359
  name: "leverage",
14346
14360
  type: "uint256",
14347
14361
  },
14348
- {
14349
- internalType: "uint256",
14350
- name: "openPrice",
14351
- type: "uint256",
14352
- },
14353
14362
  {
14354
14363
  internalType: "uint256",
14355
14364
  name: "currentPairPrice",
@@ -14371,7 +14380,7 @@ const _abi = [
14371
14380
  ],
14372
14381
  stateMutability: "view",
14373
14382
  type: "function",
14374
- signature: "0x2f020075",
14383
+ signature: "0x19e31460",
14375
14384
  },
14376
14385
  {
14377
14386
  inputs: [
@@ -114,13 +114,6 @@ export declare class GToken__factory extends ContractFactory {
114
114
  stateMutability: string;
115
115
  type: string;
116
116
  anonymous?: undefined;
117
- } | {
118
- stateMutability: string;
119
- type: string;
120
- inputs?: undefined;
121
- name?: undefined;
122
- anonymous?: undefined;
123
- outputs?: undefined;
124
117
  })[];
125
118
  static createInterface(): GTokenInterface;
126
119
  static connect(address: string, signerOrProvider: Signer | Provider): GToken;