@gainsnetwork/sdk 0.0.0-v10.rc1 → 0.0.0-v10.rc3

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 (176) hide show
  1. package/lib/backend/globalTrades/index.d.ts +11 -0
  2. package/lib/backend/globalTrades/index.js +69 -0
  3. package/lib/backend/index.d.ts +2 -0
  4. package/lib/backend/index.js +18 -0
  5. package/lib/backend/tradingVariables/backend.types.d.ts +312 -0
  6. package/lib/backend/tradingVariables/backend.types.js +2 -0
  7. package/lib/backend/tradingVariables/converter.d.ts +30 -0
  8. package/lib/backend/tradingVariables/converter.js +329 -0
  9. package/lib/backend/tradingVariables/index.d.ts +3 -0
  10. package/lib/backend/tradingVariables/index.js +78 -0
  11. package/lib/backend/tradingVariables/types.d.ts +109 -0
  12. package/lib/backend/tradingVariables/types.js +14 -0
  13. package/lib/constants.d.ts +8 -1
  14. package/lib/constants.js +8 -1
  15. package/lib/contracts/fetch/fees/borrowingFeesV2.d.ts +75 -0
  16. package/lib/contracts/fetch/fees/borrowingFeesV2.js +193 -0
  17. package/lib/contracts/fetch/fees/fundingFees.d.ts +66 -0
  18. package/lib/contracts/fetch/fees/fundingFees.js +150 -0
  19. package/lib/contracts/fetch/priceImpact/skew.d.ts +63 -0
  20. package/lib/contracts/fetch/priceImpact/skew.js +168 -0
  21. package/lib/contracts/types/generated/GFarmTradingStorageV5.d.ts +1911 -0
  22. package/lib/contracts/types/generated/GFarmTradingStorageV5.js +2 -0
  23. package/lib/contracts/types/generated/GNSBorrowingFees.d.ts +1067 -0
  24. package/lib/contracts/types/generated/GNSBorrowingFees.js +2 -0
  25. package/lib/contracts/types/generated/GNSBorrowingFeesV6_3_2.d.ts +979 -0
  26. package/lib/contracts/types/generated/GNSBorrowingFeesV6_3_2.js +2 -0
  27. package/lib/contracts/types/generated/GNSBorrowingFeesV6_4.d.ts +1058 -0
  28. package/lib/contracts/types/generated/GNSBorrowingFeesV6_4.js +2 -0
  29. package/lib/contracts/types/generated/GNSNftRewardsV6.d.ts +533 -0
  30. package/lib/contracts/types/generated/GNSNftRewardsV6.js +2 -0
  31. package/lib/contracts/types/generated/GNSNftRewardsV6_3_1.d.ts +613 -0
  32. package/lib/contracts/types/generated/GNSNftRewardsV6_3_1.js +2 -0
  33. package/lib/contracts/types/generated/GNSPairInfosV6_1.d.ts +911 -0
  34. package/lib/contracts/types/generated/GNSPairInfosV6_1.js +2 -0
  35. package/lib/contracts/types/generated/GNSPairsStorageV6.d.ts +660 -0
  36. package/lib/contracts/types/generated/GNSPairsStorageV6.js +2 -0
  37. package/lib/contracts/types/generated/GNSTrading.d.ts +758 -0
  38. package/lib/contracts/types/generated/GNSTrading.js +2 -0
  39. package/lib/contracts/types/generated/GNSTradingCallbacks.d.ts +875 -0
  40. package/lib/contracts/types/generated/GNSTradingCallbacks.js +2 -0
  41. package/lib/contracts/types/generated/GNSTradingCallbacksV6_3_2.d.ts +806 -0
  42. package/lib/contracts/types/generated/GNSTradingCallbacksV6_3_2.js +2 -0
  43. package/lib/contracts/types/generated/GNSTradingCallbacksV6_4.d.ts +821 -0
  44. package/lib/contracts/types/generated/GNSTradingCallbacksV6_4.js +2 -0
  45. package/lib/contracts/types/generated/GNSTradingStorage.d.ts +1387 -0
  46. package/lib/contracts/types/generated/GNSTradingStorage.js +2 -0
  47. package/lib/contracts/types/generated/GTokenV6_3_2.d.ts +1838 -0
  48. package/lib/contracts/types/generated/GTokenV6_3_2.js +2 -0
  49. package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.d.ts +83 -0
  50. package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.js +2691 -0
  51. package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_3_2__factory.d.ts +88 -0
  52. package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_3_2__factory.js +1654 -0
  53. package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_4__factory.d.ts +113 -0
  54. package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_4__factory.js +1742 -0
  55. package/lib/contracts/types/generated/factories/GNSBorrowingFees__factory.d.ts +124 -0
  56. package/lib/contracts/types/generated/factories/GNSBorrowingFees__factory.js +1784 -0
  57. package/lib/contracts/types/generated/factories/GNSNftRewardsV6_3_1__factory.d.ts +100 -0
  58. package/lib/contracts/types/generated/factories/GNSNftRewardsV6_3_1__factory.js +1116 -0
  59. package/lib/contracts/types/generated/factories/GNSNftRewardsV6__factory.d.ts +100 -0
  60. package/lib/contracts/types/generated/factories/GNSNftRewardsV6__factory.js +1003 -0
  61. package/lib/contracts/types/generated/factories/GNSPairInfosV6_1__factory.d.ts +98 -0
  62. package/lib/contracts/types/generated/factories/GNSPairInfosV6_1__factory.js +1485 -0
  63. package/lib/contracts/types/generated/factories/GNSPairsStorageV6__factory.d.ts +117 -0
  64. package/lib/contracts/types/generated/factories/GNSPairsStorageV6__factory.js +1265 -0
  65. package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_3_2__factory.d.ts +82 -0
  66. package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_3_2__factory.js +1273 -0
  67. package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_4__factory.d.ts +82 -0
  68. package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_4__factory.js +1326 -0
  69. package/lib/contracts/types/generated/factories/GNSTradingCallbacks__factory.d.ts +113 -0
  70. package/lib/contracts/types/generated/factories/GNSTradingCallbacks__factory.js +1428 -0
  71. package/lib/contracts/types/generated/factories/GNSTradingStorage__factory.d.ts +96 -0
  72. package/lib/contracts/types/generated/factories/GNSTradingStorage__factory.js +2241 -0
  73. package/lib/contracts/types/generated/factories/GNSTrading__factory.d.ts +95 -0
  74. package/lib/contracts/types/generated/factories/GNSTrading__factory.js +1071 -0
  75. package/lib/contracts/types/generated/factories/GTokenV6_3_2__factory.d.ts +110 -0
  76. package/lib/contracts/types/generated/factories/GTokenV6_3_2__factory.js +2682 -0
  77. package/lib/contracts/types/index.d.ts +2 -1
  78. package/lib/contracts/types/index.js +1 -0
  79. package/lib/contracts/utils/openTrades.d.ts +1 -0
  80. package/lib/contracts/utils/openTrades.js +94 -56
  81. package/lib/contracts/utils/pairs.js +7 -0
  82. package/lib/index.d.ts +1 -0
  83. package/lib/index.js +1 -0
  84. package/lib/markets/collateral/converter.d.ts +5 -0
  85. package/lib/markets/collateral/converter.js +11 -0
  86. package/lib/markets/collateral/index.d.ts +1 -0
  87. package/lib/markets/collateral/index.js +17 -0
  88. package/lib/markets/collateral/types.d.ts +7 -0
  89. package/lib/markets/collateral/types.js +2 -0
  90. package/lib/markets/index.d.ts +2 -0
  91. package/lib/markets/index.js +2 -0
  92. package/lib/markets/oi/converter.d.ts +63 -0
  93. package/lib/markets/oi/converter.js +103 -0
  94. package/lib/markets/oi/fetcher.d.ts +58 -0
  95. package/lib/markets/oi/fetcher.js +181 -0
  96. package/lib/markets/oi/index.d.ts +10 -0
  97. package/lib/markets/oi/index.js +37 -0
  98. package/lib/markets/oi/types.d.ts +82 -0
  99. package/lib/markets/oi/types.js +6 -0
  100. package/lib/markets/oi/validation.d.ts +80 -0
  101. package/lib/markets/oi/validation.js +172 -0
  102. package/lib/trade/fees/borrowing/index.d.ts +22 -1
  103. package/lib/trade/fees/borrowing/index.js +39 -13
  104. package/lib/trade/fees/borrowingV2/converter.d.ts +66 -0
  105. package/lib/trade/fees/borrowingV2/converter.js +121 -0
  106. package/lib/trade/fees/borrowingV2/fetcher.d.ts +75 -0
  107. package/lib/trade/fees/borrowingV2/fetcher.js +193 -0
  108. package/lib/trade/fees/borrowingV2/index.d.ts +60 -0
  109. package/lib/trade/fees/borrowingV2/index.js +140 -0
  110. package/lib/trade/fees/borrowingV2/types.d.ts +79 -0
  111. package/lib/trade/fees/borrowingV2/types.js +5 -0
  112. package/lib/trade/fees/converter.d.ts +48 -0
  113. package/lib/trade/fees/converter.js +110 -0
  114. package/lib/trade/fees/fundingFees/converter.d.ts +102 -0
  115. package/lib/trade/fees/fundingFees/converter.js +196 -0
  116. package/lib/trade/fees/fundingFees/fetcher.d.ts +66 -0
  117. package/lib/trade/fees/fundingFees/fetcher.js +150 -0
  118. package/lib/trade/fees/fundingFees/index.d.ts +136 -0
  119. package/lib/trade/fees/fundingFees/index.js +326 -0
  120. package/lib/trade/fees/fundingFees/types.d.ts +77 -0
  121. package/lib/trade/fees/fundingFees/types.js +5 -0
  122. package/lib/trade/fees/index.d.ts +7 -2
  123. package/lib/trade/fees/index.js +67 -16
  124. package/lib/trade/fees/tiers/converter.d.ts +54 -0
  125. package/lib/trade/fees/tiers/converter.js +81 -0
  126. package/lib/trade/fees/tiers/index.d.ts +18 -0
  127. package/lib/trade/fees/tiers/index.js +45 -1
  128. package/lib/trade/fees/trading/converter.d.ts +30 -0
  129. package/lib/trade/fees/trading/converter.js +43 -0
  130. package/lib/trade/fees/trading/index.d.ts +54 -0
  131. package/lib/trade/fees/trading/index.js +147 -0
  132. package/lib/trade/fees/trading/types.d.ts +48 -0
  133. package/lib/trade/fees/trading/types.js +5 -0
  134. package/lib/trade/index.d.ts +3 -2
  135. package/lib/trade/index.js +3 -2
  136. package/lib/trade/liquidation/converter.d.ts +23 -0
  137. package/lib/trade/liquidation/converter.js +46 -0
  138. package/lib/trade/liquidation/index.d.ts +31 -0
  139. package/lib/trade/liquidation/index.js +187 -0
  140. package/lib/trade/liquidation/types.d.ts +44 -0
  141. package/lib/trade/liquidation/types.js +2 -0
  142. package/lib/trade/pnl/converter.d.ts +47 -0
  143. package/lib/trade/pnl/converter.js +72 -0
  144. package/lib/trade/pnl/index.d.ts +86 -0
  145. package/lib/trade/pnl/index.js +201 -0
  146. package/lib/trade/pnl/types.d.ts +86 -0
  147. package/lib/trade/pnl/types.js +5 -0
  148. package/lib/trade/priceImpact/close/index.d.ts +21 -0
  149. package/lib/trade/priceImpact/close/index.js +131 -0
  150. package/lib/trade/priceImpact/close/types.d.ts +43 -0
  151. package/lib/trade/priceImpact/close/types.js +5 -0
  152. package/lib/trade/priceImpact/cumulVol/converter.d.ts +31 -0
  153. package/lib/trade/priceImpact/cumulVol/converter.js +59 -0
  154. package/lib/trade/priceImpact/cumulVol/index.d.ts +107 -0
  155. package/lib/trade/priceImpact/cumulVol/index.js +228 -0
  156. package/lib/trade/priceImpact/index.d.ts +12 -0
  157. package/lib/trade/priceImpact/index.js +59 -0
  158. package/lib/trade/priceImpact/open/index.d.ts +22 -0
  159. package/lib/trade/priceImpact/open/index.js +76 -0
  160. package/lib/trade/priceImpact/open/types.d.ts +41 -0
  161. package/lib/trade/priceImpact/open/types.js +5 -0
  162. package/lib/trade/priceImpact/skew/converter.d.ts +77 -0
  163. package/lib/trade/priceImpact/skew/converter.js +171 -0
  164. package/lib/trade/priceImpact/skew/fetcher.d.ts +63 -0
  165. package/lib/trade/priceImpact/skew/fetcher.js +168 -0
  166. package/lib/trade/priceImpact/skew/index.d.ts +58 -0
  167. package/lib/trade/priceImpact/skew/index.js +179 -0
  168. package/lib/trade/priceImpact/skew/types.d.ts +55 -0
  169. package/lib/trade/priceImpact/skew/types.js +5 -0
  170. package/lib/trade/spread.d.ts +5 -18
  171. package/lib/trade/spread.js +17 -106
  172. package/lib/trade/types.d.ts +34 -9
  173. package/lib/trade/types.js +7 -0
  174. package/lib/trade/utils.d.ts +18 -0
  175. package/lib/trade/utils.js +30 -0
  176. package/package.json +2 -1
@@ -0,0 +1,329 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertPairName = exports.convertFeePerBlockCap = exports.convertMaxLeverages = exports.convertGlobalTradeFeeParams = exports.convertTraderFeeTiers = exports.convertFeeTiers = exports.convertCollateralConfig = exports.convertOiWindowsSettings = exports.convertOiWindows = exports.convertPairOi = exports.convertContestLeaderboardEntry = exports.generateStockPairToActiveStockSplit = exports.convertTradeInitialAccFees = exports.convertTradeInfo = exports.convertTrade = exports.convertPairFactor = exports.convertTradeContainer = exports.convertTradesAndLimitOrders = exports.convertTradingPairs = exports.convertTradingGroups = exports.convertGroupBorrowingFees = exports.convertPairBorrowingFees = exports.convertPairDepths = exports.convertOpenInterests = exports.convertCollaterals = exports.convertFees = void 0;
4
+ const __1 = require("../../");
5
+ const convertFees = (fees) => fees === null || fees === void 0 ? void 0 : fees.map(fee => convertFee(fee));
6
+ exports.convertFees = convertFees;
7
+ const convertCollateral = (collateral) => {
8
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
9
+ return ({
10
+ pairBorrowingFees: ((_a = collateral.borrowingFees) === null || _a === void 0 ? void 0 : _a.v1) !== undefined
11
+ ? (0, exports.convertPairBorrowingFees)(collateral.borrowingFees.v1)
12
+ : [],
13
+ groupBorrowingFees: ((_b = collateral.borrowingFees) === null || _b === void 0 ? void 0 : _b.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)((_d = (_c = collateral.borrowingFees) === null || _c === void 0 ? void 0 : _c.v2) === null || _d === void 0 ? void 0 : _d.pairParams),
25
+ data: (0, __1.convertPairBorrowingFeeDataArrayV2)((_f = (_e = collateral.borrowingFees) === null || _e === void 0 ? void 0 : _e.v2) === null || _f === void 0 ? void 0 : _f.pairData),
26
+ },
27
+ pairFundingFees: {
28
+ globalParams: (0, __1.convertPairGlobalParamsArray)((_g = collateral.fundingFees) === null || _g === void 0 ? void 0 : _g.pairGlobalParams),
29
+ params: (0, __1.convertFundingFeeParamsArray)((_h = collateral.fundingFees) === null || _h === void 0 ? void 0 : _h.pairParams),
30
+ data: (0, __1.convertPairFundingFeeDataArray)((_j = collateral.fundingFees) === null || _j === void 0 ? void 0 : _j.pairData),
31
+ },
32
+ pairOis: (0, __1.convertPairOiArray)(collateral.pairOis, collateral.collateralConfig.decimals),
33
+ });
34
+ };
35
+ const convertCollaterals = (collaterals) => collaterals === null || collaterals === void 0 ? void 0 : collaterals.map(collateral => convertCollateral(collateral));
36
+ exports.convertCollaterals = convertCollaterals;
37
+ const convertFee = (fee) => ({
38
+ totalPositionSizeFeeP: parseFloat(fee.totalPositionSizeFeeP) / 1e12,
39
+ totalLiqCollateralFeeP: parseFloat(fee.totalLiqCollateralFeeP) / 1e12,
40
+ oraclePositionSizeFeeP: parseFloat(fee.oraclePositionSizeFeeP) / 1e12,
41
+ minPositionSizeUsd: parseFloat(fee.minPositionSizeUsd) / 1e3,
42
+ });
43
+ const convertOpenInterests = (interests) => interests === null || interests === void 0 ? void 0 : interests.map(interest => convertOpenInterest(interest));
44
+ exports.convertOpenInterests = convertOpenInterests;
45
+ const convertOpenInterest = (interest) => ({
46
+ long: parseFloat(interest.beforeV10.long) / 1e10,
47
+ short: parseFloat(interest.beforeV10.short) / 1e10,
48
+ max: parseFloat(interest.beforeV10.max) / 1e10,
49
+ });
50
+ const convertPairDepths = (pairDepths) => pairDepths === null || pairDepths === void 0 ? void 0 : pairDepths.map(pairDepth => convertPairDepth(pairDepth));
51
+ exports.convertPairDepths = convertPairDepths;
52
+ const convertPairDepth = (pairDepth) => ({
53
+ onePercentDepthAboveUsd: parseInt(pairDepth.onePercentDepthAboveUsd),
54
+ onePercentDepthBelowUsd: parseInt(pairDepth.onePercentDepthBelowUsd),
55
+ });
56
+ const convertPairBorrowingFees = (pairParams) => pairParams === null || pairParams === void 0 ? void 0 : pairParams.pairs.map(pairParam => convertPairBorrowingFee(pairParam));
57
+ exports.convertPairBorrowingFees = convertPairBorrowingFees;
58
+ const convertPairGroupBorrowingFee = (pairParam) => ({
59
+ groupIndex: parseInt(pairParam.groupIndex),
60
+ initialAccFeeLong: parseFloat(pairParam.initialAccFeeLong) / 1e10,
61
+ initialAccFeeShort: parseFloat(pairParam.initialAccFeeShort) / 1e10,
62
+ pairAccFeeLong: parseFloat(pairParam.pairAccFeeLong) / 1e10,
63
+ pairAccFeeShort: parseFloat(pairParam.pairAccFeeShort) / 1e10,
64
+ prevGroupAccFeeLong: parseFloat(pairParam.prevGroupAccFeeLong) / 1e10,
65
+ prevGroupAccFeeShort: parseFloat(pairParam.prevGroupAccFeeShort) / 1e10,
66
+ block: parseInt(pairParam.block),
67
+ });
68
+ const convertPairBorrowingFee = (pairParams) => ({
69
+ groups: pairParams.groups.map(pairParam => convertPairGroupBorrowingFee(pairParam)),
70
+ feePerBlock: parseFloat(pairParams.feePerBlock) / 1e10,
71
+ accFeeLong: parseFloat(pairParams.accFeeLong) / 1e10,
72
+ accFeeShort: parseFloat(pairParams.accFeeShort) / 1e10,
73
+ accLastUpdatedBlock: parseInt(pairParams.accLastUpdatedBlock),
74
+ oi: {
75
+ max: parseFloat(pairParams.oi.beforeV10.max) / 1e10 || 0,
76
+ long: parseFloat(pairParams.oi.beforeV10.long) / 1e10 || 0,
77
+ short: parseFloat(pairParams.oi.beforeV10.short) / 1e10 || 0,
78
+ },
79
+ feeExponent: parseInt(pairParams.feeExponent) || 0,
80
+ feePerBlockCap: (0, exports.convertFeePerBlockCap)(pairParams === null || pairParams === void 0 ? void 0 : pairParams.feePerBlockCap),
81
+ });
82
+ const convertGroupBorrowingFees = (pairParams) => pairParams === null || pairParams === void 0 ? void 0 : pairParams.groups.map(pairParam => convertGroupBorrowingFee(pairParam));
83
+ exports.convertGroupBorrowingFees = convertGroupBorrowingFees;
84
+ const convertGroupBorrowingFee = (pairParams) => ({
85
+ oi: {
86
+ long: parseFloat(pairParams.oi.long) / 1e10,
87
+ short: parseFloat(pairParams.oi.short) / 1e10,
88
+ max: parseFloat(pairParams.oi.max) / 1e10 || 0,
89
+ },
90
+ feePerBlock: parseFloat(pairParams.feePerBlock) / 1e10,
91
+ accFeeLong: parseFloat(pairParams.accFeeLong) / 1e10,
92
+ accFeeShort: parseFloat(pairParams.accFeeShort) / 1e10,
93
+ accLastUpdatedBlock: parseInt(pairParams.accLastUpdatedBlock),
94
+ feeExponent: parseInt(pairParams.feeExponent) || 0,
95
+ });
96
+ const convertTradingGroups = (groups) => groups === null || groups === void 0 ? void 0 : groups.map(group => convertTradingGroup(group));
97
+ exports.convertTradingGroups = convertTradingGroups;
98
+ const convertTradingGroup = (group) => ({
99
+ maxLeverage: parseFloat(group.maxLeverage) / 1e3,
100
+ minLeverage: parseFloat(group.minLeverage) / 1e3,
101
+ name: group.name,
102
+ });
103
+ const convertTradingPairs = (pairs) => pairs === null || pairs === void 0 ? void 0 : pairs.filter(pair => pair.from !== "").map((pair, index) => convertTradingPair(pair, index));
104
+ exports.convertTradingPairs = convertTradingPairs;
105
+ const convertTradingPair = (pair, index) => ({
106
+ name: (0, exports.convertPairName)(pair),
107
+ description: (0, __1.getPairDescription)(index),
108
+ from: pair.from,
109
+ to: pair.to,
110
+ pairIndex: index,
111
+ feeIndex: parseInt(pair.feeIndex),
112
+ groupIndex: parseInt(pair.groupIndex),
113
+ spreadP: parseFloat(pair.spreadP) / 1e10 / 100,
114
+ });
115
+ const convertTradesAndLimitOrders = (allItems, collaterals) => allItems === null || allItems === void 0 ? void 0 : allItems.map(item => {
116
+ return (0, exports.convertTradeContainer)(item, collaterals);
117
+ });
118
+ exports.convertTradesAndLimitOrders = convertTradesAndLimitOrders;
119
+ const convertTradeContainer = (tradeContainer, collaterals) => {
120
+ const trade = (0, exports.convertTrade)(tradeContainer.trade, collaterals);
121
+ const collateralIndex = trade.collateralIndex;
122
+ return {
123
+ trade,
124
+ tradeInfo: (0, exports.convertTradeInfo)(tradeContainer.tradeInfo),
125
+ initialAccFees: tradeContainer.initialAccFees === undefined
126
+ ? {
127
+ accPairFee: 0,
128
+ accGroupFee: 0,
129
+ block: 0,
130
+ }
131
+ : (0, exports.convertTradeInitialAccFees)(tradeContainer.initialAccFees),
132
+ liquidationParams: tradeContainer.liquidationParams === undefined
133
+ ? {
134
+ maxLiqSpreadP: 0,
135
+ startLiqThresholdP: 0,
136
+ endLiqThresholdP: 0,
137
+ startLeverage: 0,
138
+ endLeverage: 0,
139
+ }
140
+ : (0, __1.convertLiquidationParams)(tradeContainer.liquidationParams),
141
+ tradeFeesData: tradeContainer.tradeFeesData
142
+ ? // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-call
143
+ (0, __1.convertTradeFeesData)(tradeContainer.tradeFeesData, collaterals[collateralIndex - 1].collateralConfig)
144
+ : undefined,
145
+ uiRealizedPnlData: tradeContainer.uiRealizedPnlData
146
+ ? // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-call
147
+ (0, __1.convertUiRealizedPnlData)(tradeContainer.uiRealizedPnlData, collaterals[collateralIndex - 1].collateralConfig)
148
+ : undefined,
149
+ };
150
+ };
151
+ exports.convertTradeContainer = convertTradeContainer;
152
+ const convertPairFactor = (pairFactor) => ({
153
+ cumulativeFactor: parseFloat(pairFactor.cumulativeFactor) / 1e10,
154
+ protectionCloseFactor: parseFloat(pairFactor.protectionCloseFactor) / 1e10,
155
+ protectionCloseFactorBlocks: parseInt(pairFactor.protectionCloseFactorBlocks),
156
+ exemptOnOpen: pairFactor.exemptOnOpen,
157
+ exemptAfterProtectionCloseFactor: pairFactor.exemptAfterProtectionCloseFactor,
158
+ });
159
+ exports.convertPairFactor = convertPairFactor;
160
+ const convertTrade = (trade, collaterals) => {
161
+ var _a;
162
+ const { long, user } = trade;
163
+ const collateralIndex = parseInt(trade.collateralIndex);
164
+ const collateral = collaterals[collateralIndex - 1];
165
+ const decimals = ((_a = collateral === null || collateral === void 0 ? void 0 : collateral.collateralConfig) === null || _a === void 0 ? void 0 : _a.decimals) || 18;
166
+ return {
167
+ user,
168
+ index: parseInt(trade.index),
169
+ pairIndex: parseInt(trade.pairIndex),
170
+ leverage: parseInt(trade.leverage) / 1e3,
171
+ long,
172
+ isOpen: trade.isOpen,
173
+ collateralIndex,
174
+ tradeType: parseInt(trade.tradeType),
175
+ collateralAmount: parseFloat(trade.collateralAmount) / Math.pow(10, decimals),
176
+ openPrice: parseFloat(trade.openPrice) / 1e10,
177
+ sl: parseFloat(trade.sl) / 1e10,
178
+ tp: parseFloat(trade.tp) / 1e10,
179
+ isCounterTrade: trade.isCounterTrade,
180
+ positionSizeToken: trade.positionSizeToken
181
+ ? parseFloat(trade.positionSizeToken) / Math.pow(10, decimals)
182
+ : undefined,
183
+ };
184
+ };
185
+ exports.convertTrade = convertTrade;
186
+ const convertTradeInfo = (tradeInfo) => ({
187
+ createdBlock: parseInt(tradeInfo.createdBlock),
188
+ tpLastUpdatedBlock: parseInt(tradeInfo.tpLastUpdatedBlock),
189
+ slLastUpdatedBlock: parseInt(tradeInfo.slLastUpdatedBlock),
190
+ maxSlippageP: parseFloat(tradeInfo.maxSlippageP) / 1e3 || 1,
191
+ lastOiUpdateTs: tradeInfo.lastOiUpdateTs,
192
+ collateralPriceUsd: tradeInfo.collateralPriceUsd && tradeInfo.collateralPriceUsd !== "0"
193
+ ? parseFloat(tradeInfo.collateralPriceUsd) / 1e8
194
+ : 1,
195
+ contractsVersion: parseInt(tradeInfo.contractsVersion),
196
+ lastPosIncreaseBlock: parseInt(tradeInfo.lastPosIncreaseBlock),
197
+ });
198
+ exports.convertTradeInfo = convertTradeInfo;
199
+ const convertTradeInitialAccFees = (initialAccFees) => ({
200
+ accPairFee: parseFloat(initialAccFees.accPairFee || "0") / 1e10,
201
+ accGroupFee: parseFloat(initialAccFees.accGroupFee || "0") / 1e10,
202
+ block: parseInt(initialAccFees.block || "0"),
203
+ });
204
+ exports.convertTradeInitialAccFees = convertTradeInitialAccFees;
205
+ const generateStockPairToActiveStockSplit = (pairs) => {
206
+ const result = new Map();
207
+ if (!pairs) {
208
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
209
+ return result;
210
+ }
211
+ const basePairFroms = new Set();
212
+ const splitPairFroms = new Set();
213
+ pairs.forEach(p => {
214
+ const from = p.from;
215
+ if (from.includes("_")) {
216
+ splitPairFroms.add(from);
217
+ }
218
+ else {
219
+ basePairFroms.add(from);
220
+ }
221
+ });
222
+ splitPairFroms.forEach(splitFrom => {
223
+ const [potentialSplitPairFromBase, potentialSplitPairFromSplitId] = splitFrom.split("_");
224
+ const currentHighestSplitPairIdForBasePair = result.get(potentialSplitPairFromBase);
225
+ if ((currentHighestSplitPairIdForBasePair &&
226
+ +potentialSplitPairFromSplitId >
227
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
228
+ +currentHighestSplitPairIdForBasePair.split("_")[1]) ||
229
+ (!currentHighestSplitPairIdForBasePair &&
230
+ basePairFroms.has(potentialSplitPairFromBase))) {
231
+ result.set(potentialSplitPairFromBase, splitFrom);
232
+ }
233
+ });
234
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
235
+ return result;
236
+ };
237
+ exports.generateStockPairToActiveStockSplit = generateStockPairToActiveStockSplit;
238
+ const convertContestLeaderboardEntry = (entry) => {
239
+ const [trader, numWins, numLosses, avgWin, avgLoss, daiProfit, pctProfit, daiVolume,] = entry;
240
+ return {
241
+ trader,
242
+ numWins,
243
+ numLosses,
244
+ avgWin,
245
+ avgLoss,
246
+ daiProfit,
247
+ pctProfit,
248
+ daiVolume,
249
+ };
250
+ };
251
+ exports.convertContestLeaderboardEntry = convertContestLeaderboardEntry;
252
+ // OiWindow values are normalized to USD 1e18
253
+ const convertPairOi = (collateral) => ({
254
+ oiLongUsd: parseFloat(collateral.oiLongUsd) / 1e18,
255
+ oiShortUsd: parseFloat(collateral.oiShortUsd) / 1e18,
256
+ });
257
+ exports.convertPairOi = convertPairOi;
258
+ const convertOiWindows = (oiWindows) => {
259
+ return oiWindows === null || oiWindows === void 0 ? void 0 : oiWindows.map(pairWindows => {
260
+ const converted = {};
261
+ for (const [key, oiWindow] of Object.entries(pairWindows)) {
262
+ converted[key] = (0, exports.convertPairOi)(oiWindow);
263
+ }
264
+ return converted;
265
+ });
266
+ };
267
+ exports.convertOiWindows = convertOiWindows;
268
+ const convertOiWindowsSettings = (oiWindowsSettings) => ({
269
+ startTs: oiWindowsSettings.startTs,
270
+ windowsDuration: oiWindowsSettings.windowsDuration,
271
+ windowsCount: oiWindowsSettings.windowsCount,
272
+ });
273
+ exports.convertOiWindowsSettings = convertOiWindowsSettings;
274
+ const convertCollateralConfig = (collateral) => ({
275
+ collateral: collateral.collateral,
276
+ isActive: collateral.isActive,
277
+ precision: parseInt(collateral.collateralConfig.precision),
278
+ precisionDelta: parseInt(collateral.collateralConfig.precisionDelta),
279
+ decimals: collateral.collateralConfig.decimals,
280
+ });
281
+ exports.convertCollateralConfig = convertCollateralConfig;
282
+ const convertFeeTiers = (feeTiersBackend) => {
283
+ var _a;
284
+ return ({
285
+ tiers: feeTiersBackend === null || feeTiersBackend === void 0 ? void 0 : feeTiersBackend.tiers.map(tier => ({
286
+ feeMultiplier: Number(tier.feeMultiplier) / 1e3,
287
+ pointsThreshold: parseFloat(tier.pointsThreshold),
288
+ })),
289
+ multipliers: ((_a = feeTiersBackend === null || feeTiersBackend === void 0 ? void 0 : feeTiersBackend.multipliers) === null || _a === void 0 ? void 0 : _a.map(mult => parseFloat(mult) / 1e3)) || [],
290
+ currentDay: (feeTiersBackend === null || feeTiersBackend === void 0 ? void 0 : feeTiersBackend.currentDay) || 0,
291
+ });
292
+ };
293
+ exports.convertFeeTiers = convertFeeTiers;
294
+ const convertTraderFeeTiers = (traderFeeTiers) => ({
295
+ traderEnrollment: {
296
+ status: traderFeeTiers.traderEnrollment.status,
297
+ },
298
+ traderInfo: {
299
+ lastDayUpdated: traderFeeTiers.traderInfo.lastDayUpdated,
300
+ trailingPoints: parseFloat(traderFeeTiers.traderInfo.trailingPoints) / 1e18,
301
+ },
302
+ inboundPoints: parseFloat(traderFeeTiers.inboundPoints) / 1e18,
303
+ outboundPoints: parseFloat(traderFeeTiers.outboundPoints) / 1e18,
304
+ lastDayUpdatedPoints: parseFloat(traderFeeTiers.lastDayUpdatedPoints) / 1e18,
305
+ expiredPoints: traderFeeTiers.expiredPoints.map(point => parseFloat(point) / 1e18),
306
+ unclaimedPoints: parseFloat(traderFeeTiers.unclaimedPoints) / 1e18,
307
+ });
308
+ exports.convertTraderFeeTiers = convertTraderFeeTiers;
309
+ const convertGlobalTradeFeeParams = (fee) => ({
310
+ referralFeeP: parseFloat(fee.referralFeeP) / 1e5,
311
+ govFeeP: parseFloat(fee.govFeeP) / 1e5,
312
+ triggerOrderFeeP: parseFloat(fee.triggerOrderFeeP) / 1e5,
313
+ gnsOtcFeeP: parseFloat(fee.gnsOtcFeeP) / 1e5,
314
+ gTokenFeeP: parseFloat(fee.gTokenFeeP) / 1e5,
315
+ });
316
+ exports.convertGlobalTradeFeeParams = convertGlobalTradeFeeParams;
317
+ const convertMaxLeverages = (maxLeverages) => maxLeverages === null || maxLeverages === void 0 ? void 0 : maxLeverages.map(maxLeverage => parseFloat(maxLeverage) / 1e3);
318
+ exports.convertMaxLeverages = convertMaxLeverages;
319
+ const convertFeePerBlockCap = (feeCap) => ({
320
+ minP: (feeCap === null || feeCap === void 0 ? void 0 : feeCap.minP) ? parseFloat(feeCap.minP.toString()) / 1e3 / 100 : 0,
321
+ maxP: (feeCap === null || feeCap === void 0 ? void 0 : feeCap.maxP) ? parseFloat(feeCap.maxP.toString()) / 1e3 / 100 : 1,
322
+ });
323
+ exports.convertFeePerBlockCap = convertFeePerBlockCap;
324
+ const convertPairName = (pair) => {
325
+ if (!pair)
326
+ return "";
327
+ return pair.from.split("_")[0] + "/" + pair.to;
328
+ };
329
+ exports.convertPairName = convertPairName;
@@ -0,0 +1,3 @@
1
+ import { TransformedGlobalTradingVariables } from "./types";
2
+ import { GlobalTradingVariablesBackend } from "./backend.types";
3
+ export declare const transformGlobalTradingVariables: (rawData: GlobalTradingVariablesBackend) => TransformedGlobalTradingVariables;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transformGlobalTradingVariables = void 0;
4
+ const converter_1 = require("./converter");
5
+ const trade_1 = require("../../trade");
6
+ const transformGlobalTradingVariables = (rawData) => {
7
+ var _a, _b, _c, _d, _e, _f, _g;
8
+ const globalTradingVariables = {
9
+ collaterals: (0, converter_1.convertCollaterals)(rawData.collaterals),
10
+ pairs: (0, converter_1.convertTradingPairs)(rawData.pairs),
11
+ stockPairToActiveStockSplit: (0, converter_1.generateStockPairToActiveStockSplit)(rawData.pairs),
12
+ groups: (0, converter_1.convertTradingGroups)(rawData.groups),
13
+ fees: (0, converter_1.convertFees)(rawData.fees),
14
+ orderTimeout: rawData.marketOrdersTimeoutBlocks,
15
+ blockConfirmations: rawData.blockConfirmations,
16
+ forexClosed: !rawData.isForexOpen,
17
+ stocksClosed: !rawData.isStocksOpen,
18
+ indicesClosed: !rawData.isIndicesOpen,
19
+ commoditiesClosed: !rawData.isCommoditiesOpen,
20
+ pairDepths: ((_a = rawData.pairInfos) === null || _a === void 0 ? void 0 : _a.pairDepths) !== undefined
21
+ ? (0, converter_1.convertPairDepths)(rawData.pairInfos.pairDepths)
22
+ : [],
23
+ pairMaxLeverages: ((_b = rawData.pairInfos) === null || _b === void 0 ? void 0 : _b.maxLeverages) !== undefined
24
+ ? (0, converter_1.convertMaxLeverages)(rawData.pairInfos.maxLeverages)
25
+ : [],
26
+ maxNegativePnlOnOpenP: (rawData.maxNegativePnlOnOpenP && rawData.maxNegativePnlOnOpenP / 1e10) ||
27
+ undefined,
28
+ oiWindowsSettings: rawData.oiWindowsSettings !== undefined
29
+ ? (0, converter_1.convertOiWindowsSettings)(rawData.oiWindowsSettings)
30
+ : { startTs: 0, windowsDuration: 0, windowsCount: 0 },
31
+ oiWindows: rawData.oiWindows !== undefined
32
+ ? (0, converter_1.convertOiWindows)(rawData.oiWindows)
33
+ : [],
34
+ feeTiers: (0, converter_1.convertFeeTiers)(rawData.feeTiers),
35
+ liquidationParams: {
36
+ groups: ((_c = rawData.liquidationParams) === null || _c === void 0 ? void 0 : _c.groups.map(liqParams => (0, trade_1.convertLiquidationParams)(liqParams))) || [],
37
+ pairs: ((_d = rawData.liquidationParams) === null || _d === void 0 ? void 0 : _d.pairs.map(liqParams => (0, trade_1.convertLiquidationParams)(liqParams))) || [],
38
+ },
39
+ pairFactors: ((_f = (_e = rawData.pairInfos) === null || _e === void 0 ? void 0 : _e.pairFactors) === null || _f === void 0 ? void 0 : _f.map(factor => (0, converter_1.convertPairFactor)(factor))) || [],
40
+ globalTradeFeeParams: rawData.globalTradeFeeParams
41
+ ? (0, converter_1.convertGlobalTradeFeeParams)(rawData.globalTradeFeeParams)
42
+ : undefined,
43
+ congestionLevels: rawData.congestionLevels,
44
+ };
45
+ const currentBlock = (rawData.currentBlock > -1 && rawData.currentBlock) || undefined;
46
+ const l1BlockNumber = (rawData.currentL1Block > -1 && rawData.currentL1Block) || undefined;
47
+ const pairIndexes = {};
48
+ for (let i = 0; i < ((_g = rawData.pairs) === null || _g === void 0 ? void 0 : _g.length); i++) {
49
+ pairIndexes[rawData.pairs[i].from + "/" + rawData.pairs[i].to] = i;
50
+ }
51
+ if (globalTradingVariables.collaterals !== undefined) {
52
+ const { collaterals } = globalTradingVariables;
53
+ for (let i = 0; i < collaterals.length; i++) {
54
+ collaterals[i].tradingPairs = getTradingPairs(globalTradingVariables.pairs, collaterals);
55
+ }
56
+ }
57
+ return {
58
+ globalTradingVariables,
59
+ pairIndexes,
60
+ blockNumber: currentBlock,
61
+ l1BlockNumber,
62
+ };
63
+ };
64
+ exports.transformGlobalTradingVariables = transformGlobalTradingVariables;
65
+ // Orphaned function
66
+ const getTradingPairs = (pairs, collaterals) => {
67
+ const tradingPairs = new Map();
68
+ if (pairs) {
69
+ for (let j = 0; j < pairs.length; j++) {
70
+ const pair = pairs[j];
71
+ // pair is tradeable if any collateral is enabled (max oi > 0)
72
+ if (collaterals.some((collat) => collat.pairOis[j].maxCollateral > 0)) {
73
+ tradingPairs.set(j, pair);
74
+ }
75
+ }
76
+ }
77
+ return tradingPairs;
78
+ };
@@ -0,0 +1,109 @@
1
+ import { CollateralConfig } from "src/markets/collateral";
2
+ import { BorrowingFee, BorrowingFeeV2, Fee, FeeTiers, FundingFees, GlobalTradeFeeParams, LeaderboardTrader, LiquidationParams, OiWindows, OiWindowsSettings, Pair, PairDepth, PairFactor, PairIndexes, TradingGroup } from "../../trade";
3
+ import { UnifiedPairOi } from "src/markets";
4
+ export type TransformedGlobalTradingVariables = {
5
+ globalTradingVariables: GlobalTradingVariablesType;
6
+ pairIndexes: PairIndexes;
7
+ blockNumber: number | undefined;
8
+ l1BlockNumber: number | undefined;
9
+ };
10
+ /**
11
+ * @dev Processed collateral data from backend (wrapper of contract data)
12
+ */
13
+ export type TradingVariablesCollateral = {
14
+ pairBorrowingFees: BorrowingFee.Pair[];
15
+ groupBorrowingFees: BorrowingFee.Group[];
16
+ pairBorrowingFeesV2: {
17
+ params: BorrowingFeeV2.BorrowingFeeParams[];
18
+ data: BorrowingFeeV2.PairBorrowingFeeData[];
19
+ };
20
+ pairFundingFees: {
21
+ globalParams: FundingFees.PairGlobalParams[];
22
+ params: FundingFees.FundingFeeParams[];
23
+ data: FundingFees.PairFundingFeeData[];
24
+ };
25
+ collateral: string;
26
+ collateralIndex: number;
27
+ collateralConfig: CollateralConfig;
28
+ gToken: {
29
+ address: string;
30
+ currentBalanceCollateral: string;
31
+ marketCap: string;
32
+ maxBalanceCollateral: string;
33
+ };
34
+ tradingPairs?: Map<number, Pair>;
35
+ isActive: boolean;
36
+ prices: TokenPrices;
37
+ symbol: string;
38
+ pairOis: UnifiedPairOi[];
39
+ };
40
+ export type TokenPrices = {
41
+ collateralPriceUsd: number;
42
+ gnsPriceCollateral: number;
43
+ gnsPriceUsd: number;
44
+ };
45
+ export type GlobalTradingVariablesType = {
46
+ collaterals: TradingVariablesCollateral[];
47
+ paused?: boolean;
48
+ pairs?: Pair[];
49
+ stockPairToActiveStockSplit?: Map<string, string>;
50
+ groups?: TradingGroup[];
51
+ fees?: Fee[];
52
+ orderTimeout?: number;
53
+ crypto?: string[];
54
+ forex?: string[];
55
+ forexClosed?: boolean;
56
+ stocks?: string[];
57
+ stocksClosed?: boolean;
58
+ indices?: string[];
59
+ indicesClosed?: boolean;
60
+ commodities?: string[];
61
+ commoditiesClosed?: boolean;
62
+ blockConfirmations?: number;
63
+ pairDepths?: PairDepth[];
64
+ pairMaxLeverages?: number[];
65
+ maxNegativePnlOnOpenP?: number;
66
+ oiWindowsSettings?: OiWindowsSettings;
67
+ oiWindows?: OiWindows[];
68
+ collateralConfig?: CollateralConfig;
69
+ feeTiers?: FeeTiers;
70
+ liquidationParams: {
71
+ groups: LiquidationParams[];
72
+ pairs: LiquidationParams[];
73
+ };
74
+ pairFactors: PairFactor[];
75
+ globalTradeFeeParams?: GlobalTradeFeeParams;
76
+ congestionLevels: {
77
+ low: number;
78
+ high: number;
79
+ };
80
+ };
81
+ export interface LeaderboardTraderWithWinsLosses extends LeaderboardTrader {
82
+ wins?: number;
83
+ losses?: number;
84
+ }
85
+ export interface ILeaderboard {
86
+ ready: boolean;
87
+ bestTraders: LeaderboardTraderWithWinsLosses[];
88
+ }
89
+ export declare enum ORDER_TYPE {
90
+ LIMIT = "LIMIT",
91
+ STOP = "STOP",
92
+ MARKET = "MARKET"
93
+ }
94
+ export declare enum TRADE_TYPE {
95
+ LONG = "LONG",
96
+ SHORT = "SHORT"
97
+ }
98
+ export interface ActiveNews {
99
+ desc: string;
100
+ from: number;
101
+ to: number;
102
+ }
103
+ export interface BorrowingFeePerBlock {
104
+ pairFee: number;
105
+ minPairFee: number;
106
+ groupFee: number;
107
+ pairLong: boolean;
108
+ groupLong: boolean;
109
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TRADE_TYPE = exports.ORDER_TYPE = void 0;
4
+ var ORDER_TYPE;
5
+ (function (ORDER_TYPE) {
6
+ ORDER_TYPE["LIMIT"] = "LIMIT";
7
+ ORDER_TYPE["STOP"] = "STOP";
8
+ ORDER_TYPE["MARKET"] = "MARKET";
9
+ })(ORDER_TYPE = exports.ORDER_TYPE || (exports.ORDER_TYPE = {}));
10
+ var TRADE_TYPE;
11
+ (function (TRADE_TYPE) {
12
+ TRADE_TYPE["LONG"] = "LONG";
13
+ TRADE_TYPE["SHORT"] = "SHORT";
14
+ })(TRADE_TYPE = exports.TRADE_TYPE || (exports.TRADE_TYPE = {}));
@@ -369,6 +369,13 @@ export declare const pairs: {
369
369
  "WCT/USD": string;
370
370
  "BIGTIME/USD": string;
371
371
  "BABY/USD": string;
372
+ "COOKIE/USD": string;
373
+ "KMNO/USD": string;
374
+ "INIT/USD": string;
375
+ "SYRUP/USD": string;
376
+ "SIGN/USD": string;
377
+ "ZORA/USD": string;
378
+ "COIN/USD": string;
372
379
  };
373
380
  export declare const syntheticPairs: Set<string>;
374
381
  export declare const parentToSyntheticPairMap: Map<string, string>;
@@ -398,6 +405,6 @@ export declare const stockSplits: {
398
405
  };
399
406
  };
400
407
  export declare const delistedPairIxs: Set<number>;
401
- export declare const delistedGroupsIxs: Set<number>;
408
+ export declare const delistedGroupsIxs: Set<never>;
402
409
  export declare const DEFAULT_PROTECTION_CLOSE_FACTOR = 1;
403
410
  export declare const DEFAULT_CUMULATIVE_FACTOR = 1;
package/lib/constants.js CHANGED
@@ -377,6 +377,13 @@ exports.pairs = {
377
377
  "WCT/USD": CRYPTO,
378
378
  "BIGTIME/USD": CRYPTO,
379
379
  "BABY/USD": CRYPTO,
380
+ "COOKIE/USD": CRYPTO,
381
+ "KMNO/USD": CRYPTO,
382
+ "INIT/USD": CRYPTO,
383
+ "SYRUP/USD": CRYPTO,
384
+ "SIGN/USD": CRYPTO,
385
+ "ZORA/USD": CRYPTO,
386
+ "COIN/USD": STOCKS,
380
387
  };
381
388
  exports.syntheticPairs = new Set([
382
389
  "BTCDEGEN/USD",
@@ -431,6 +438,6 @@ exports.delistedPairIxs = new Set([
431
438
  231, 238, 239, 241, 250, 253, 254, 258, 270, 275, 276, 278, 279, 282, 285,
432
439
  290, 294, 296, 305, 330, 349, 352, 353, 354, 355, 357, 365, 366,
433
440
  ]);
434
- exports.delistedGroupsIxs = new Set([6, 7]);
441
+ exports.delistedGroupsIxs = new Set([]);
435
442
  exports.DEFAULT_PROTECTION_CLOSE_FACTOR = 1;
436
443
  exports.DEFAULT_CUMULATIVE_FACTOR = 1;
@@ -0,0 +1,75 @@
1
+ import type { GNSMultiCollatDiamond } from "../../types/generated";
2
+ import { BorrowingFeeV2 } from "../../../trade/fees/borrowingV2";
3
+ /**
4
+ * @dev Fetches borrowing fee parameters v2 for specific pairs
5
+ * @param contract GNSMultiCollatDiamond contract instance
6
+ * @param collateralIndices Array of collateral indices
7
+ * @param pairIndices Array of pair indices
8
+ * @returns Promise resolving to array of borrowing fee parameters
9
+ */
10
+ export declare const fetchBorrowingFeeParamsV2: (contract: GNSMultiCollatDiamond, collateralIndices: number[], pairIndices: number[]) => Promise<BorrowingFeeV2.BorrowingFeeParams[]>;
11
+ /**
12
+ * @dev Fetches pair borrowing fee data v2 for specific pairs
13
+ * @param contract GNSMultiCollatDiamond contract instance
14
+ * @param collateralIndices Array of collateral indices
15
+ * @param pairIndices Array of pair indices
16
+ * @returns Promise resolving to array of pair borrowing fee data
17
+ */
18
+ export declare const fetchPairBorrowingFeeDataV2: (contract: GNSMultiCollatDiamond, collateralIndices: number[], pairIndices: number[]) => Promise<BorrowingFeeV2.PairBorrowingFeeData[]>;
19
+ /**
20
+ * @dev Fetches borrowing fees in collateral tokens for a specific trade
21
+ * @param contract GNSMultiCollatDiamond contract instance
22
+ * @param trader Address of the trader
23
+ * @param index Trade index
24
+ * @param currentPairPrice Current price of the trading pair (1e6 precision)
25
+ * @returns Promise resolving to borrowing fees in collateral tokens
26
+ */
27
+ export declare const fetchTradeBorrowingFeesCollateralV2: (contract: GNSMultiCollatDiamond, trader: string, index: number, currentPairPrice: number) => Promise<number>;
28
+ /**
29
+ * @dev Fetches pending accumulated borrowing fees for a specific pair
30
+ * @param contract GNSMultiCollatDiamond contract instance
31
+ * @param collateralIndex Index of the collateral
32
+ * @param pairIndex Index of the trading pair
33
+ * @param currentPairPrice Current price of the trading pair (1e6 precision)
34
+ * @returns Promise resolving to pending accumulated borrowing fee
35
+ */
36
+ export declare const fetchPairPendingAccBorrowingFeesV2: (contract: GNSMultiCollatDiamond, collateralIndex: number, pairIndex: number, currentPairPrice: number) => Promise<number>;
37
+ /**
38
+ * @dev Convenience function to fetch all borrowing v2 data for specific pairs
39
+ * @param contract GNSMultiCollatDiamond contract instance
40
+ * @param collateralIndex Index of the collateral
41
+ * @param pairIndices Array of pair indices
42
+ * @returns Promise resolving to complete borrowing v2 data set
43
+ */
44
+ export declare const fetchAllBorrowingV2Data: (contract: GNSMultiCollatDiamond, collateralIndex: number, pairIndices: number[]) => Promise<{
45
+ params: BorrowingFeeV2.BorrowingFeeParams[];
46
+ data: BorrowingFeeV2.PairBorrowingFeeData[];
47
+ context: BorrowingFeeV2.GetBorrowingFeeV2Context;
48
+ }>;
49
+ /**
50
+ * @dev Creates a complete borrowing v2 context from contract data
51
+ * @param contract GNSMultiCollatDiamond contract instance
52
+ * @param collateralIndex Index of the collateral
53
+ * @param pairIndices Array of pair indices
54
+ * @param currentTimestamp Optional current timestamp for calculations
55
+ * @returns Promise resolving to complete borrowing v2 context
56
+ */
57
+ export declare const createBorrowingV2ContextFromContract: (contract: GNSMultiCollatDiamond, collateralIndex: number, pairIndices: number[], currentTimestamp?: number) => Promise<BorrowingFeeV2.GetBorrowingFeeV2Context>;
58
+ /**
59
+ * @dev Helper function to create context from already fetched arrays
60
+ * @param collateralIndices Array of collateral indices
61
+ * @param pairIndices Array of pair indices
62
+ * @param params Array of borrowing fee parameters
63
+ * @param data Array of pair borrowing fee data
64
+ * @param currentTimestamp Optional current timestamp
65
+ * @returns Complete borrowing v2 context
66
+ */
67
+ export declare const createBorrowingV2ContextFromArrays: (collateralIndices: number[], pairIndices: number[], params: BorrowingFeeV2.BorrowingFeeParams[], data: BorrowingFeeV2.PairBorrowingFeeData[], currentTimestamp?: number) => BorrowingFeeV2.GetBorrowingFeeV2Context;
68
+ /**
69
+ * @dev Fetches borrowing v2 data for multiple collateral/pair combinations
70
+ * @param contract GNSMultiCollatDiamond contract instance
71
+ * @param collateralIndices Array of collateral indices
72
+ * @param pairIndices Array of pair indices (must match collateralIndices length)
73
+ * @returns Promise resolving to complete borrowing v2 context
74
+ */
75
+ export declare const fetchBorrowingV2DataForPairs: (contract: GNSMultiCollatDiamond, collateralIndices: number[], pairIndices: number[]) => Promise<BorrowingFeeV2.GetBorrowingFeeV2Context>;