@gainsnetwork/sdk 0.2.67-rc8 → 0.2.69

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 (136) hide show
  1. package/lib/contracts/addresses.json +20 -0
  2. package/lib/{trade/fees/borrowingV2/fetcher.d.ts → contracts/fetch/fees/borrowingFeesV2.d.ts} +3 -2
  3. package/lib/{trade/fees/borrowingV2/fetcher.js → contracts/fetch/fees/borrowingFeesV2.js} +14 -6
  4. package/lib/{trade/fees/fundingFees/fetcher.d.ts → contracts/fetch/fees/fundingFees.d.ts} +2 -2
  5. package/lib/{trade/priceImpact/skew/fetcher.d.ts → contracts/fetch/priceImpact/skew.d.ts} +2 -2
  6. package/lib/{trade/priceImpact/skew/fetcher.js → contracts/fetch/priceImpact/skew.js} +6 -6
  7. package/lib/contracts/index.js +3 -1
  8. package/lib/contracts/types/generated/GNSMultiCollatDiamond.d.ts +258 -2112
  9. package/lib/contracts/types/generated/GToken.d.ts +107 -78
  10. package/lib/contracts/types/generated/factories/GNSMultiCollatDiamond__factory.d.ts +53 -90
  11. package/lib/contracts/types/generated/factories/GNSMultiCollatDiamond__factory.js +421 -4496
  12. package/lib/contracts/types/generated/factories/GToken__factory.js +142 -65
  13. package/lib/contracts/types/index.d.ts +2 -1
  14. package/lib/contracts/types/index.js +1 -0
  15. package/lib/trade/fees/borrowingV2/converter.d.ts +3 -12
  16. package/lib/trade/fees/borrowingV2/converter.js +18 -29
  17. package/lib/trade/fees/borrowingV2/index.d.ts +17 -6
  18. package/lib/trade/fees/borrowingV2/index.js +37 -10
  19. package/lib/trade/fees/borrowingV2/types.d.ts +6 -22
  20. package/lib/trade/fees/fundingFees/index.d.ts +2 -13
  21. package/lib/trade/fees/fundingFees/index.js +3 -27
  22. package/lib/trade/fees/trading/index.d.ts +2 -30
  23. package/lib/trade/fees/trading/index.js +1 -52
  24. package/lib/trade/fees/trading/types.d.ts +0 -9
  25. package/lib/trade/priceImpact/index.d.ts +2 -6
  26. package/lib/trade/priceImpact/index.js +3 -30
  27. package/lib/trade/priceImpact/skew/index.d.ts +0 -1
  28. package/lib/trade/priceImpact/skew/index.js +0 -4
  29. package/package.json +1 -1
  30. package/lib/backend/globalTrades/index.d.ts +0 -11
  31. package/lib/backend/globalTrades/index.js +0 -69
  32. package/lib/backend/index.d.ts +0 -3
  33. package/lib/backend/index.js +0 -28
  34. package/lib/backend/tradingVariables/backend.types.d.ts +0 -312
  35. package/lib/backend/tradingVariables/backend.types.js +0 -2
  36. package/lib/backend/tradingVariables/converter.d.ts +0 -31
  37. package/lib/backend/tradingVariables/converter.js +0 -330
  38. package/lib/backend/tradingVariables/index.d.ts +0 -5
  39. package/lib/backend/tradingVariables/index.js +0 -95
  40. package/lib/backend/tradingVariables/types.d.ts +0 -109
  41. package/lib/backend/tradingVariables/types.js +0 -14
  42. package/lib/contracts/types/generated/GFarmTradingStorageV5.d.ts +0 -1911
  43. package/lib/contracts/types/generated/GFarmTradingStorageV5.js +0 -2
  44. package/lib/contracts/types/generated/GNSBorrowingFees.d.ts +0 -1067
  45. package/lib/contracts/types/generated/GNSBorrowingFees.js +0 -2
  46. package/lib/contracts/types/generated/GNSNftRewardsV6.d.ts +0 -533
  47. package/lib/contracts/types/generated/GNSNftRewardsV6.js +0 -2
  48. package/lib/contracts/types/generated/GNSNftRewardsV6_3_1.d.ts +0 -613
  49. package/lib/contracts/types/generated/GNSNftRewardsV6_3_1.js +0 -2
  50. package/lib/contracts/types/generated/GNSTrading.d.ts +0 -758
  51. package/lib/contracts/types/generated/GNSTrading.js +0 -2
  52. package/lib/contracts/types/generated/GNSTradingCallbacks.d.ts +0 -875
  53. package/lib/contracts/types/generated/GNSTradingCallbacks.js +0 -2
  54. package/lib/contracts/types/generated/GNSTradingStorage.d.ts +0 -1387
  55. package/lib/contracts/types/generated/GNSTradingStorage.js +0 -2
  56. package/lib/contracts/types/generated/GTokenV6_3_2.d.ts +0 -1838
  57. package/lib/contracts/types/generated/GTokenV6_3_2.js +0 -2
  58. package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.d.ts +0 -83
  59. package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.js +0 -2691
  60. package/lib/contracts/types/generated/factories/GNSBorrowingFees__factory.d.ts +0 -124
  61. package/lib/contracts/types/generated/factories/GNSBorrowingFees__factory.js +0 -1784
  62. package/lib/contracts/types/generated/factories/GNSNftRewardsV6_3_1__factory.d.ts +0 -100
  63. package/lib/contracts/types/generated/factories/GNSNftRewardsV6_3_1__factory.js +0 -1116
  64. package/lib/contracts/types/generated/factories/GNSNftRewardsV6__factory.d.ts +0 -100
  65. package/lib/contracts/types/generated/factories/GNSNftRewardsV6__factory.js +0 -1003
  66. package/lib/contracts/types/generated/factories/GNSTradingCallbacks__factory.d.ts +0 -113
  67. package/lib/contracts/types/generated/factories/GNSTradingCallbacks__factory.js +0 -1428
  68. package/lib/contracts/types/generated/factories/GNSTradingStorage__factory.d.ts +0 -96
  69. package/lib/contracts/types/generated/factories/GNSTradingStorage__factory.js +0 -2241
  70. package/lib/contracts/types/generated/factories/GNSTrading__factory.d.ts +0 -95
  71. package/lib/contracts/types/generated/factories/GNSTrading__factory.js +0 -1071
  72. package/lib/contracts/types/generated/factories/GTokenV6_3_2__factory.d.ts +0 -110
  73. package/lib/contracts/types/generated/factories/GTokenV6_3_2__factory.js +0 -2682
  74. package/lib/contracts/utils/openLimitOrders.d.ts +0 -8
  75. package/lib/contracts/utils/openLimitOrders.js +0 -88
  76. package/lib/markets/collateral/converter.d.ts +0 -5
  77. package/lib/markets/collateral/converter.js +0 -11
  78. package/lib/markets/collateral/index.d.ts +0 -1
  79. package/lib/markets/collateral/index.js +0 -17
  80. package/lib/markets/collateral/types.d.ts +0 -7
  81. package/lib/markets/collateral/types.js +0 -2
  82. package/lib/markets/oi/converter.d.ts +0 -63
  83. package/lib/markets/oi/converter.js +0 -103
  84. package/lib/markets/oi/fetcher.d.ts +0 -58
  85. package/lib/markets/oi/fetcher.js +0 -181
  86. package/lib/markets/oi/index.d.ts +0 -10
  87. package/lib/markets/oi/index.js +0 -37
  88. package/lib/markets/oi/types.d.ts +0 -82
  89. package/lib/markets/oi/types.js +0 -6
  90. package/lib/markets/oi/validation.d.ts +0 -80
  91. package/lib/markets/oi/validation.js +0 -172
  92. package/lib/trade/fees/borrowing/builder.d.ts +0 -14
  93. package/lib/trade/fees/borrowing/builder.js +0 -33
  94. package/lib/trade/fees/borrowingV2/builder.d.ts +0 -6
  95. package/lib/trade/fees/borrowingV2/builder.js +0 -24
  96. package/lib/trade/fees/converter.d.ts +0 -48
  97. package/lib/trade/fees/converter.js +0 -110
  98. package/lib/trade/fees/fundingFees/builder.d.ts +0 -9
  99. package/lib/trade/fees/fundingFees/builder.js +0 -35
  100. package/lib/trade/fees/fundingFees/pairContext.d.ts +0 -33
  101. package/lib/trade/fees/fundingFees/pairContext.js +0 -17
  102. package/lib/trade/fees/tiers/converter.d.ts +0 -54
  103. package/lib/trade/fees/tiers/converter.js +0 -81
  104. package/lib/trade/fees/trading/builder.d.ts +0 -18
  105. package/lib/trade/fees/trading/builder.js +0 -20
  106. package/lib/trade/liquidation/builder.d.ts +0 -25
  107. package/lib/trade/liquidation/builder.js +0 -59
  108. package/lib/trade/liquidation/converter.d.ts +0 -23
  109. package/lib/trade/liquidation/converter.js +0 -46
  110. package/lib/trade/liquidation/index.d.ts +0 -26
  111. package/lib/trade/liquidation/index.js +0 -142
  112. package/lib/trade/liquidation/types.d.ts +0 -59
  113. package/lib/trade/liquidation/types.js +0 -2
  114. package/lib/trade/openLimitOrder.d.ts +0 -2
  115. package/lib/trade/openLimitOrder.js +0 -23
  116. package/lib/trade/pnl/builder.d.ts +0 -16
  117. package/lib/trade/pnl/builder.js +0 -44
  118. package/lib/trade/pnl/converter.d.ts +0 -47
  119. package/lib/trade/pnl/converter.js +0 -72
  120. package/lib/trade/pnl/index.d.ts +0 -77
  121. package/lib/trade/pnl/index.js +0 -270
  122. package/lib/trade/pnl/types.d.ts +0 -114
  123. package/lib/trade/pnl/types.js +0 -5
  124. package/lib/trade/priceImpact/close/index.d.ts +0 -21
  125. package/lib/trade/priceImpact/close/index.js +0 -131
  126. package/lib/trade/priceImpact/close/types.d.ts +0 -43
  127. package/lib/trade/priceImpact/close/types.js +0 -5
  128. package/lib/trade/priceImpact/cumulVol/converter.d.ts +0 -31
  129. package/lib/trade/priceImpact/cumulVol/converter.js +0 -59
  130. package/lib/trade/priceImpact/cumulVol/index.d.ts +0 -107
  131. package/lib/trade/priceImpact/cumulVol/index.js +0 -228
  132. package/lib/trade/priceImpact/open/index.d.ts +0 -22
  133. package/lib/trade/priceImpact/open/index.js +0 -76
  134. package/lib/trade/priceImpact/open/types.d.ts +0 -41
  135. package/lib/trade/priceImpact/open/types.js +0 -5
  136. /package/lib/{trade/fees/fundingFees/fetcher.js → contracts/fetch/fees/fundingFees.js} +0 -0
@@ -1,13 +1,8 @@
1
1
  /**
2
2
  * @dev Trading fee calculations for opening and closing positions
3
3
  */
4
- import { Fee, PairIndex, Trade, TradeInfo, TradeFeesData } from "../../types";
5
- import { GetBorrowingFeeContext } from "../borrowing";
6
- import * as BorrowingFee from "../borrowing/types";
7
- import { GetPairBorrowingFeeV2Context } from "../borrowingV2";
8
- import { GetPairFundingFeeContext } from "../fundingFees/pairContext";
9
- import { GetTradeFeesContext, GetLiquidationFeesContext, GetClosingFeeContext, TradeFeesBreakdown, TradeHoldingFees } from "./types";
10
- import { ContractsVersion } from "../../../contracts/types";
4
+ import { Fee, PairIndex } from "../../types";
5
+ import { GetTradeFeesContext, GetLiquidationFeesContext, GetClosingFeeContext, TradeFeesBreakdown } from "./types";
11
6
  /**
12
7
  * @dev Returns the total fee for a trade in collateral tokens
13
8
  * @dev Mirrors the contract's getTotalTradeFeesCollateral function
@@ -35,28 +30,5 @@ export declare const getTotalTradeLiqFeesCollateral: (collateralIndex: number, t
35
30
  * @deprecated Use getTotalTradeFeesCollateral instead
36
31
  */
37
32
  export declare const getClosingFee: (collateralAmount: number, leverage: number, pairIndex: PairIndex, pairFee: Fee | undefined, _collateralPriceUsd?: number | undefined, isCounterTrade?: boolean, trader?: string, context?: GetClosingFeeContext) => number;
38
- /**
39
- * @dev Context for holding fees calculation with structured sub-contexts
40
- */
41
- export type GetStructuredHoldingFeesContext = {
42
- contractsVersion: ContractsVersion;
43
- currentTimestamp: number;
44
- collateralPriceUsd: number;
45
- borrowingV1?: GetBorrowingFeeContext;
46
- borrowingV2?: GetPairBorrowingFeeV2Context;
47
- funding?: GetPairFundingFeeContext;
48
- initialAccFeesV1?: BorrowingFee.InitialAccFees;
49
- };
50
- /**
51
- * @dev Calculates total holding fees for a trade (funding + borrowing fees)
52
- * @param trade The trade to calculate fees for
53
- * @param tradeInfo Trade info containing contracts version
54
- * @param tradeFeesData Trade fees data containing initial acc fees
55
- * @param currentPairPrice Current pair price
56
- * @param context Structured context with sub-contexts for each fee type
57
- * @returns Object containing all holding fee components
58
- */
59
- export declare const getTradePendingHoldingFeesCollateral: (trade: Trade, tradeInfo: TradeInfo, tradeFeesData: TradeFeesData, currentPairPrice: number, context: GetStructuredHoldingFeesContext) => TradeHoldingFees;
60
33
  export * from "./types";
61
34
  export * from "./converter";
62
- export * from "./builder";
@@ -17,12 +17,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
17
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.getTradePendingHoldingFeesCollateral = exports.getClosingFee = exports.getTotalTradeLiqFeesCollateral = exports.getTradeFeesCollateral = exports.getTotalTradeFeesCollateral = void 0;
21
- const borrowing_1 = require("../borrowing");
22
- const borrowingV2_1 = require("../borrowingV2");
23
- const fundingFees_1 = require("../fundingFees");
20
+ exports.getClosingFee = exports.getTotalTradeLiqFeesCollateral = exports.getTradeFeesCollateral = exports.getTotalTradeFeesCollateral = void 0;
24
21
  const tiers_1 = require("../tiers");
25
- const types_1 = require("../../../contracts/types");
26
22
  /**
27
23
  * @dev Returns the total fee for a trade in collateral tokens
28
24
  * @dev Mirrors the contract's getTotalTradeFeesCollateral function
@@ -103,53 +99,6 @@ isCounterTrade = false, trader, context) => {
103
99
  trader || "", pairIndex, positionSizeCollateral, isCounterTrade, context);
104
100
  };
105
101
  exports.getClosingFee = getClosingFee;
106
- /**
107
- * @dev Calculates total holding fees for a trade (funding + borrowing fees)
108
- * @param trade The trade to calculate fees for
109
- * @param tradeInfo Trade info containing contracts version
110
- * @param tradeFeesData Trade fees data containing initial acc fees
111
- * @param currentPairPrice Current pair price
112
- * @param context Structured context with sub-contexts for each fee type
113
- * @returns Object containing all holding fee components
114
- */
115
- const getTradePendingHoldingFeesCollateral = (trade, tradeInfo, tradeFeesData, currentPairPrice, context) => {
116
- const positionSizeCollateral = trade.collateralAmount * trade.leverage;
117
- // Calculate funding fees (v10+ only)
118
- let fundingFeeCollateral = 0;
119
- if (context.contractsVersion >= types_1.ContractsVersion.V10 &&
120
- context.funding &&
121
- tradeFeesData.initialAccFundingFeeP !== undefined) {
122
- fundingFeeCollateral = (0, fundingFees_1.getTradeFundingFeesCollateral)(trade, tradeInfo, tradeFeesData, currentPairPrice, Object.assign(Object.assign({}, context.funding), { currentTimestamp: context.currentTimestamp }));
123
- }
124
- // Calculate borrowing fees v2 (v10+ only)
125
- let borrowingFeeCollateral = 0;
126
- if (context.contractsVersion >= types_1.ContractsVersion.V10 &&
127
- context.borrowingV2 &&
128
- tradeFeesData.initialAccBorrowingFeeP !== undefined) {
129
- borrowingFeeCollateral = (0, borrowingV2_1.getTradeBorrowingFeesCollateral)({
130
- positionSizeCollateral,
131
- openPrice: trade.openPrice,
132
- currentPairPrice,
133
- initialAccBorrowingFeeP: tradeFeesData.initialAccBorrowingFeeP,
134
- currentTimestamp: context.currentTimestamp,
135
- }, context.borrowingV2);
136
- }
137
- // Calculate v1 borrowing fees (some markets use v1 indefinitely)
138
- let borrowingFeeCollateral_old = 0;
139
- if (context.borrowingV1 && context.initialAccFeesV1) {
140
- borrowingFeeCollateral_old = (0, borrowing_1.getBorrowingFee)(positionSizeCollateral, trade.pairIndex, trade.long, context.initialAccFeesV1, context.borrowingV1);
141
- }
142
- return {
143
- fundingFeeCollateral,
144
- borrowingFeeCollateral,
145
- borrowingFeeCollateral_old,
146
- totalFeeCollateral: fundingFeeCollateral +
147
- borrowingFeeCollateral +
148
- borrowingFeeCollateral_old,
149
- };
150
- };
151
- exports.getTradePendingHoldingFeesCollateral = getTradePendingHoldingFeesCollateral;
152
102
  // Export types
153
103
  __exportStar(require("./types"), exports);
154
104
  __exportStar(require("./converter"), exports);
155
- __exportStar(require("./builder"), exports);
@@ -36,13 +36,4 @@ export type GetLiquidationFeesContext = {
36
36
  * @dev Legacy support
37
37
  */
38
38
  export type GetClosingFeeContext = GetTradeFeesContext;
39
- /**
40
- * @dev Holding fees breakdown (funding + borrowing)
41
- */
42
- export type TradeHoldingFees = {
43
- fundingFeeCollateral: number;
44
- borrowingFeeCollateral: number;
45
- borrowingFeeCollateral_old: number;
46
- totalFeeCollateral: number;
47
- };
48
39
  export type { GlobalTradeFeeParams };
@@ -1,12 +1,8 @@
1
1
  /**
2
2
  * @dev Main price impact module
3
- * @dev Exports cumulative volume, skew, and combined opening/closing price impact functionality
3
+ * @dev Exports skew price impact functionality (v10+)
4
+ * @dev Cumulative volume price impact remains in spread.ts for now
4
5
  */
5
- export { getTradeOpeningPriceImpact, getTradeOpeningPriceImpactAtMarket, TradeOpeningPriceImpactInput, TradeOpeningPriceImpactContext, TradeOpeningPriceImpactResult, } from "./open";
6
- export { getTradeClosingPriceImpact, getTradeClosingPriceImpactAtOracle, TradeClosingPriceImpactInput, TradeClosingPriceImpactContext, TradeClosingPriceImpactResult, } from "./close";
7
- export { getTradeCumulVolPriceImpactP, getCumulVolPriceImpact, // Convenience function
8
- getSpreadWithCumulVolPriceImpactP, getSpreadWithPriceImpactP, // Legacy alias
9
- getProtectionCloseFactor, isProtectionCloseFactorActive, getCumulativeFactor, getLegacyFactor, getFixedSpreadP, getSpreadP, convertOiWindowsSettings, convertOiWindow, convertOiWindows, convertOiWindowsSettingsArray, CumulVolContext, } from "./cumulVol";
10
6
  export { getNetSkewToken, getNetSkewCollateral, getTradeSkewDirection, calculateSkewPriceImpactP, getTradeSkewPriceImpact, getTradeSkewPriceImpactWithChecks, calculatePartialSizeToken, SkewPriceImpact, } from "./skew";
11
7
  export { convertPairOiToken, convertPairOiTokenArray, convertPairOiCollateral, convertPairOiCollateralArray, normalizeSkewDepth, createSkewDepth, createSkewPriceImpactContext, isValidSkewDepth, convertSkewDepthsArray, mergeSkewPriceImpactContexts, } from "./skew/converter";
12
8
  export type { PairOiToken, PairOiCollateral, SkewDepth, SkewPriceImpactInput, SkewPriceImpactResult, SkewPriceImpactContext, TradeSkewParams, PositionSizeResult, } from "./skew/types";
@@ -1,38 +1,11 @@
1
1
  "use strict";
2
2
  /**
3
3
  * @dev Main price impact module
4
- * @dev Exports cumulative volume, skew, and combined opening/closing price impact functionality
4
+ * @dev Exports skew price impact functionality (v10+)
5
+ * @dev Cumulative volume price impact remains in spread.ts for now
5
6
  */
6
7
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.mergeSkewPriceImpactContexts = exports.convertSkewDepthsArray = exports.isValidSkewDepth = exports.createSkewPriceImpactContext = exports.createSkewDepth = exports.normalizeSkewDepth = exports.convertPairOiCollateralArray = exports.convertPairOiCollateral = exports.convertPairOiTokenArray = exports.convertPairOiToken = exports.SkewPriceImpact = exports.calculatePartialSizeToken = exports.getTradeSkewPriceImpactWithChecks = exports.getTradeSkewPriceImpact = exports.calculateSkewPriceImpactP = exports.getTradeSkewDirection = exports.getNetSkewCollateral = exports.getNetSkewToken = exports.convertOiWindowsSettingsArray = exports.convertOiWindows = exports.convertOiWindow = exports.convertOiWindowsSettings = exports.getSpreadP = exports.getFixedSpreadP = exports.getLegacyFactor = exports.getCumulativeFactor = exports.isProtectionCloseFactorActive = exports.getProtectionCloseFactor = exports.getSpreadWithPriceImpactP = exports.getSpreadWithCumulVolPriceImpactP = exports.getCumulVolPriceImpact = exports.getTradeCumulVolPriceImpactP = exports.getTradeClosingPriceImpactAtOracle = exports.getTradeClosingPriceImpact = exports.getTradeOpeningPriceImpactAtMarket = exports.getTradeOpeningPriceImpact = void 0;
8
- // Export trade opening price impact functionality
9
- var open_1 = require("./open");
10
- // Core functions
11
- Object.defineProperty(exports, "getTradeOpeningPriceImpact", { enumerable: true, get: function () { return open_1.getTradeOpeningPriceImpact; } });
12
- Object.defineProperty(exports, "getTradeOpeningPriceImpactAtMarket", { enumerable: true, get: function () { return open_1.getTradeOpeningPriceImpactAtMarket; } });
13
- // Export trade closing price impact functionality
14
- var close_1 = require("./close");
15
- // Core functions
16
- Object.defineProperty(exports, "getTradeClosingPriceImpact", { enumerable: true, get: function () { return close_1.getTradeClosingPriceImpact; } });
17
- Object.defineProperty(exports, "getTradeClosingPriceImpactAtOracle", { enumerable: true, get: function () { return close_1.getTradeClosingPriceImpactAtOracle; } });
18
- // Export cumulative volume price impact functionality
19
- var cumulVol_1 = require("./cumulVol");
20
- // Core functions
21
- Object.defineProperty(exports, "getTradeCumulVolPriceImpactP", { enumerable: true, get: function () { return cumulVol_1.getTradeCumulVolPriceImpactP; } });
22
- Object.defineProperty(exports, "getCumulVolPriceImpact", { enumerable: true, get: function () { return cumulVol_1.getCumulVolPriceImpact; } });
23
- Object.defineProperty(exports, "getSpreadWithCumulVolPriceImpactP", { enumerable: true, get: function () { return cumulVol_1.getSpreadWithCumulVolPriceImpactP; } });
24
- Object.defineProperty(exports, "getSpreadWithPriceImpactP", { enumerable: true, get: function () { return cumulVol_1.getSpreadWithPriceImpactP; } });
25
- Object.defineProperty(exports, "getProtectionCloseFactor", { enumerable: true, get: function () { return cumulVol_1.getProtectionCloseFactor; } });
26
- Object.defineProperty(exports, "isProtectionCloseFactorActive", { enumerable: true, get: function () { return cumulVol_1.isProtectionCloseFactorActive; } });
27
- Object.defineProperty(exports, "getCumulativeFactor", { enumerable: true, get: function () { return cumulVol_1.getCumulativeFactor; } });
28
- Object.defineProperty(exports, "getLegacyFactor", { enumerable: true, get: function () { return cumulVol_1.getLegacyFactor; } });
29
- Object.defineProperty(exports, "getFixedSpreadP", { enumerable: true, get: function () { return cumulVol_1.getFixedSpreadP; } });
30
- Object.defineProperty(exports, "getSpreadP", { enumerable: true, get: function () { return cumulVol_1.getSpreadP; } });
31
- // Converters
32
- Object.defineProperty(exports, "convertOiWindowsSettings", { enumerable: true, get: function () { return cumulVol_1.convertOiWindowsSettings; } });
33
- Object.defineProperty(exports, "convertOiWindow", { enumerable: true, get: function () { return cumulVol_1.convertOiWindow; } });
34
- Object.defineProperty(exports, "convertOiWindows", { enumerable: true, get: function () { return cumulVol_1.convertOiWindows; } });
35
- Object.defineProperty(exports, "convertOiWindowsSettingsArray", { enumerable: true, get: function () { return cumulVol_1.convertOiWindowsSettingsArray; } });
8
+ exports.mergeSkewPriceImpactContexts = exports.convertSkewDepthsArray = exports.isValidSkewDepth = exports.createSkewPriceImpactContext = exports.createSkewDepth = exports.normalizeSkewDepth = exports.convertPairOiCollateralArray = exports.convertPairOiCollateral = exports.convertPairOiTokenArray = exports.convertPairOiToken = exports.SkewPriceImpact = exports.calculatePartialSizeToken = exports.getTradeSkewPriceImpactWithChecks = exports.getTradeSkewPriceImpact = exports.calculateSkewPriceImpactP = exports.getTradeSkewDirection = exports.getNetSkewCollateral = exports.getNetSkewToken = void 0;
36
9
  // Export skew price impact functionality
37
10
  var skew_1 = require("./skew");
38
11
  // Core functions
@@ -55,4 +55,3 @@ export declare const getTradeSkewPriceImpactWithChecks: (params: TradeSkewParams
55
55
  */
56
56
  export declare const calculatePartialSizeToken: (originalSizeCollateral: number, deltaCollateral: number, originalSizeToken: number) => number;
57
57
  export * as SkewPriceImpact from "./types";
58
- export * from "./fetcher";
@@ -26,9 +26,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
26
26
  __setModuleDefault(result, mod);
27
27
  return result;
28
28
  };
29
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
30
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
31
- };
32
29
  Object.defineProperty(exports, "__esModule", { value: true });
33
30
  exports.SkewPriceImpact = exports.calculatePartialSizeToken = exports.getTradeSkewPriceImpactWithChecks = exports.getTradeSkewPriceImpact = exports.calculateSkewPriceImpactP = exports.getTradeSkewDirection = exports.getNetSkewCollateral = exports.getNetSkewToken = void 0;
34
31
  const utils_1 = require("../../utils");
@@ -176,4 +173,3 @@ const calculatePartialSizeToken = (originalSizeCollateral, deltaCollateral, orig
176
173
  exports.calculatePartialSizeToken = calculatePartialSizeToken;
177
174
  // Export namespace for types
178
175
  exports.SkewPriceImpact = __importStar(require("./types"));
179
- __exportStar(require("./fetcher"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gainsnetwork/sdk",
3
- "version": "0.2.67-rc8",
3
+ "version": "0.2.69",
4
4
  "description": "Gains Network SDK",
5
5
  "main": "./lib/index.js",
6
6
  "files": [
@@ -1,11 +0,0 @@
1
- import { Pair, TradeContainer } from "../../trade";
2
- import { TradeContainerBackend } from "./../tradingVariables/backend.types";
3
- import { TradingVariablesCollateral } from "./../tradingVariables/types";
4
- export interface ITransformedGlobalTradingVariables {
5
- allTrades: Map<string, NestedTrade>;
6
- allLimitOrders: Map<string, NestedTrade>;
7
- trades: NestedTrade;
8
- limitOrders: NestedTrade;
9
- }
10
- export type NestedTrade = Map<number, Map<number, TradeContainer>>;
11
- export declare const transformGlobalTrades: (rawTrades: TradeContainerBackend[], pairs: Pair[], currentAddress: string | undefined, collaterals: TradingVariablesCollateral[]) => ITransformedGlobalTradingVariables | undefined;
@@ -1,69 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transformGlobalTrades = void 0;
4
- const trade_1 = require("../../trade");
5
- const converter_1 = require("./../tradingVariables/converter");
6
- const transformGlobalTrades = (rawTrades, pairs, currentAddress, collaterals) => {
7
- if (rawTrades === undefined)
8
- return;
9
- const r = (0, converter_1.convertTradesAndLimitOrders)(rawTrades, collaterals);
10
- const returnObject = {
11
- allTrades: new Map(),
12
- allLimitOrders: new Map(),
13
- trades: new Map(),
14
- limitOrders: new Map(),
15
- };
16
- currentAddress = currentAddress === undefined ? "" : currentAddress;
17
- const _trades = new Map();
18
- const _limitOrders = new Map();
19
- const _allTrades = new Map();
20
- const _allLimitOrders = new Map();
21
- for (let s = 0; s < r.length; s++) {
22
- if (r[s].trade.tradeType !== trade_1.TradeType.TRADE) {
23
- const t = r[s];
24
- if (_allLimitOrders.get(t.trade.user) === undefined) {
25
- _allLimitOrders.set(t.trade.user, new Map());
26
- }
27
- const traderMap_all = _allLimitOrders.get(t.trade.user);
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
- }
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
- if (t.trade.user.toUpperCase() !== currentAddress.toUpperCase()) {
34
- continue;
35
- }
36
- if (_limitOrders.get(t.trade.pairIndex) === undefined) {
37
- _limitOrders.set(t.trade.pairIndex, new Map());
38
- }
39
- const traderPairMap = _limitOrders.get(t.trade.pairIndex);
40
- traderPairMap === null || traderPairMap === void 0 ? void 0 : traderPairMap.set(t.trade.index, t);
41
- }
42
- else {
43
- const t = r[s];
44
- if (_allTrades.get(t.trade.user) === undefined) {
45
- _allTrades.set(t.trade.user, new Map());
46
- }
47
- const traderMap_all = _allTrades.get(t.trade.user);
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
- }
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
- if (t.trade.user.toUpperCase() !== currentAddress.toUpperCase()) {
54
- continue;
55
- }
56
- if (_trades.get(t.trade.pairIndex) === undefined) {
57
- _trades.set(t.trade.pairIndex, new Map());
58
- }
59
- const traderPairMap = _trades.get(t.trade.pairIndex);
60
- traderPairMap === null || traderPairMap === void 0 ? void 0 : traderPairMap.set(t.trade.index, t);
61
- }
62
- }
63
- returnObject.trades = _trades;
64
- returnObject.limitOrders = _limitOrders;
65
- returnObject.allTrades = _allTrades;
66
- returnObject.allLimitOrders = _allLimitOrders;
67
- return returnObject;
68
- };
69
- exports.transformGlobalTrades = transformGlobalTrades;
@@ -1,3 +0,0 @@
1
- export * from "./tradingVariables";
2
- export * from "./globalTrades";
3
- export { convertTradeContainer as convertTradeContainerBackend, convertPairOi as convertPairOiBackend, convertOiWindows as convertOiWindowsBackend, convertOiWindowsSettings as convertOiWindowsSettingsBackend, convertTraderFeeTiers as convertTraderFeeTiersBackend, convertTradingPairs as convertTradingPairsBackend, convertCollaterals as convertCollateralsBackend, } from "./tradingVariables/converter";
@@ -1,28 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.convertCollateralsBackend = exports.convertTradingPairsBackend = exports.convertTraderFeeTiersBackend = exports.convertOiWindowsSettingsBackend = exports.convertOiWindowsBackend = exports.convertPairOiBackend = exports.convertTradeContainerBackend = void 0;
18
- __exportStar(require("./tradingVariables"), exports);
19
- __exportStar(require("./globalTrades"), exports);
20
- // Re-export backend-specific converters with "Backend" suffix to avoid conflicts
21
- var converter_1 = require("./tradingVariables/converter");
22
- Object.defineProperty(exports, "convertTradeContainerBackend", { enumerable: true, get: function () { return converter_1.convertTradeContainer; } });
23
- Object.defineProperty(exports, "convertPairOiBackend", { enumerable: true, get: function () { return converter_1.convertPairOi; } });
24
- Object.defineProperty(exports, "convertOiWindowsBackend", { enumerable: true, get: function () { return converter_1.convertOiWindows; } });
25
- Object.defineProperty(exports, "convertOiWindowsSettingsBackend", { enumerable: true, get: function () { return converter_1.convertOiWindowsSettings; } });
26
- Object.defineProperty(exports, "convertTraderFeeTiersBackend", { enumerable: true, get: function () { return converter_1.convertTraderFeeTiers; } });
27
- Object.defineProperty(exports, "convertTradingPairsBackend", { enumerable: true, get: function () { return converter_1.convertTradingPairs; } });
28
- Object.defineProperty(exports, "convertCollateralsBackend", { enumerable: true, get: function () { return converter_1.convertCollaterals; } });
@@ -1,312 +0,0 @@
1
- import { TokenPrices } from "./types";
2
- export interface TradeContainerBackend {
3
- trade: TradeBackend;
4
- tradeInfo: TradeInfoBackend;
5
- initialAccFees: TradeInitialAccFeesBackend;
6
- liquidationParams: LiquidationParamsBackend;
7
- tradeFeesData?: TradeFeesDataBackend;
8
- uiRealizedPnlData?: UiRealizedPnlDataBackend;
9
- }
10
- export interface TradeBackend {
11
- user: string;
12
- index: string;
13
- pairIndex: string;
14
- leverage: string;
15
- long: boolean;
16
- isOpen: boolean;
17
- collateralIndex: string;
18
- tradeType: string;
19
- collateralAmount: string;
20
- openPrice: string;
21
- tp: string;
22
- sl: string;
23
- isCounterTrade?: boolean;
24
- positionSizeToken?: string;
25
- }
26
- export interface TradeInfoBackend {
27
- createdBlock: string;
28
- tpLastUpdatedBlock: string;
29
- slLastUpdatedBlock: string;
30
- maxSlippageP: string;
31
- lastOiUpdateTs: number;
32
- collateralPriceUsd: string;
33
- contractsVersion: string;
34
- lastPosIncreaseBlock: string;
35
- }
36
- export interface TradeInitialAccFeesBackend {
37
- accPairFee: string;
38
- accGroupFee: string;
39
- block: string;
40
- }
41
- export interface TradeFeesDataBackend {
42
- realizedTradingFeesCollateral: string;
43
- realizedPnlCollateral: string;
44
- manuallyRealizedNegativePnlCollateral: string;
45
- alreadyTransferredNegativePnlCollateral: string;
46
- virtualAvailableCollateralInDiamond: string;
47
- initialAccFundingFeeP: string;
48
- initialAccBorrowingFeeP: string;
49
- }
50
- export interface UiRealizedPnlDataBackend {
51
- realizedTradingFeesCollateral: string;
52
- realizedOldBorrowingFeesCollateral: string;
53
- realizedNewBorrowingFeesCollateral: string;
54
- realizedFundingFeesCollateral: string;
55
- realizedPnlPartialCloseCollateral: string;
56
- pnlWithdrawnCollateral: string;
57
- }
58
- export interface LiquidationParamsBackend {
59
- maxLiqSpreadP: string;
60
- startLiqThresholdP: string;
61
- endLiqThresholdP: string;
62
- startLeverage: string;
63
- endLeverage: string;
64
- }
65
- export interface TradingGroupBackend {
66
- name: string;
67
- minLeverage: string;
68
- maxLeverage: string;
69
- }
70
- export interface FeeBackend {
71
- totalPositionSizeFeeP: string;
72
- totalLiqCollateralFeeP: string;
73
- oraclePositionSizeFeeP: string;
74
- minPositionSizeUsd: string;
75
- }
76
- export interface OpenInterestBeforeV10Backend {
77
- long: string;
78
- short: string;
79
- max: string;
80
- }
81
- export interface OpenInterestCollateralBackend {
82
- oiLongCollateral: string;
83
- oiShortCollateral: string;
84
- }
85
- export interface OpenInterestTokenBackend {
86
- oiLongToken: string;
87
- oiShortToken: string;
88
- }
89
- export interface OpenInterestBackend {
90
- beforeV10: OpenInterestBeforeV10Backend;
91
- collateral: OpenInterestCollateralBackend;
92
- token: OpenInterestTokenBackend;
93
- }
94
- export interface GroupOpenInterestBackend {
95
- long: string;
96
- short: string;
97
- max: string;
98
- }
99
- export interface PairDepthBackend {
100
- onePercentDepthAboveUsd: string;
101
- onePercentDepthBelowUsd: string;
102
- }
103
- export interface PairBorrowingFeesBackendPairGroup {
104
- groupIndex: string;
105
- block: string;
106
- initialAccFeeLong: string;
107
- initialAccFeeShort: string;
108
- prevGroupAccFeeLong: string;
109
- prevGroupAccFeeShort: string;
110
- pairAccFeeLong: string;
111
- pairAccFeeShort: string;
112
- }
113
- export interface PairBorrowingFeesBackendPair {
114
- oi: OpenInterestBackend;
115
- feePerBlock: string;
116
- accFeeLong: string;
117
- accFeeShort: string;
118
- accLastUpdatedBlock: string;
119
- feeExponent: string;
120
- groups: PairBorrowingFeesBackendPairGroup[];
121
- feePerBlockCap?: BorrowingFeePerBlockCapBackend;
122
- }
123
- export interface PairBorrowingFeesBackendGroup {
124
- oi: GroupOpenInterestBackend;
125
- feePerBlock: string;
126
- accFeeLong: string;
127
- accFeeShort: string;
128
- accLastUpdatedBlock: string;
129
- feeExponent: string;
130
- }
131
- export interface BorrowingFeePerBlockCapBackend {
132
- minP: string;
133
- maxP: string;
134
- }
135
- export interface PairParamsBorrowingFeesBackend {
136
- pairs: PairBorrowingFeesBackendPair[];
137
- groups: PairBorrowingFeesBackendGroup[];
138
- }
139
- export interface PairBackend {
140
- from: string;
141
- to: string;
142
- spreadP: string;
143
- groupIndex: string;
144
- feeIndex: string;
145
- }
146
- export type PairFactorBackend = {
147
- cumulativeFactor: string;
148
- protectionCloseFactor: string;
149
- protectionCloseFactorBlocks: string;
150
- exemptOnOpen: boolean;
151
- exemptAfterProtectionCloseFactor: boolean;
152
- };
153
- export interface GlobalTradingVariablesBackend {
154
- lastRefreshed: string;
155
- refreshId: number;
156
- tradingState: number;
157
- marketOrdersTimeoutBlocks: number;
158
- pairs: PairBackend[];
159
- groups: TradingGroupBackend[];
160
- fees: FeeBackend[];
161
- pairInfos: PairInfosBackend;
162
- collaterals: CollateralBackend[];
163
- sssTokenBalance: string;
164
- sssLegacyTokenBalance: string;
165
- sssRewardTokens: string[];
166
- vaultClosingFeeP: string;
167
- maxNegativePnlOnOpenP: number;
168
- blockConfirmations: number;
169
- oiWindowsSettings: OiWindowsSettingsBackend;
170
- oiWindows: OiWindowsBackend[];
171
- feeTiers: FeeTiersBackend;
172
- allTrades: TradeContainerBackend[];
173
- currentBlock: number;
174
- currentL1Block: number;
175
- isForexOpen: boolean;
176
- isStocksOpen: boolean;
177
- isIndicesOpen: boolean;
178
- isCommoditiesOpen: boolean;
179
- liquidationParams: {
180
- groups: LiquidationParamsBackend[];
181
- pairs: LiquidationParamsBackend[];
182
- };
183
- globalTradeFeeParams: GlobalTradeFeeParamsBackend;
184
- negPnlCumulVolMultiplier: string;
185
- congestionLevels: {
186
- low: number;
187
- high: number;
188
- };
189
- }
190
- export interface FundingFeesBackend {
191
- pairGlobalParams: {
192
- maxSkewCollateral: string;
193
- }[];
194
- pairParams: {
195
- skewCoefficientPerYear: string;
196
- absoluteVelocityPerYearCap: string;
197
- absoluteRatePerSecondCap: string;
198
- thetaThresholdUsd: string;
199
- fundingFeesEnabled: boolean;
200
- aprMultiplierEnabled: boolean;
201
- }[];
202
- pairData: {
203
- accFundingFeeLongP: string;
204
- accFundingFeeShortP: string;
205
- lastFundingRatePerSecondP: string;
206
- lastFundingUpdateTs: string;
207
- }[];
208
- }
209
- export interface BorrowingFeesV2Backend {
210
- pairParams: {
211
- borrowingRatePerSecondP: string;
212
- }[];
213
- pairData: {
214
- accBorrowingFeeP: string;
215
- lastBorrowingUpdateTs: string;
216
- }[];
217
- }
218
- export interface CollateralBackend {
219
- collateralIndex: number;
220
- collateral: string;
221
- symbol: string;
222
- isActive: boolean;
223
- prices: TokenPrices;
224
- collateralConfig: CollateralConfigBackend;
225
- gToken: {
226
- address: string;
227
- currentBalanceCollateral: string;
228
- maxBalanceCollateral: string;
229
- marketCap: string;
230
- };
231
- borrowingFees: {
232
- v1: PairParamsBorrowingFeesBackend;
233
- v2: BorrowingFeesV2Backend;
234
- };
235
- fundingFees: FundingFeesBackend;
236
- pairOis: OpenInterestBackend[];
237
- }
238
- export interface PairInfosBackend {
239
- maxLeverages: string[];
240
- pairDepths: PairDepthBackend[];
241
- pairFactors: PairFactorBackend[];
242
- }
243
- export type TraderInfoBackend = {
244
- lastDayUpdated: number;
245
- trailingPoints: string;
246
- };
247
- export type TraderEnrollmentBackend = {
248
- status: number;
249
- };
250
- export type TraderFeeTiersBackend = {
251
- traderEnrollment: TraderEnrollmentBackend;
252
- traderInfo: TraderInfoBackend;
253
- lastDayUpdatedPoints: string;
254
- inboundPoints: string;
255
- outboundPoints: string;
256
- expiredPoints: string[];
257
- unclaimedPoints: string;
258
- };
259
- export interface UserTradingVariablesBackend {
260
- pendingMarketOrdersIds: any[];
261
- pendingMarketOrders: any[];
262
- feeTiers: TraderFeeTiersBackend;
263
- collaterals: Array<{
264
- balance: string;
265
- allowance: string;
266
- decimals: number;
267
- }>;
268
- protectionCloseFactorWhitelist: boolean;
269
- userPriceImpact: Array<{
270
- cumulVolPriceImpactMultiplier: string;
271
- fixedSpreadP: string;
272
- }>;
273
- }
274
- export type OpenTradeInfo = {
275
- tradeId: string;
276
- timestamp: number;
277
- };
278
- export type OpenTradeInfoMap = {
279
- [key: string]: OpenTradeInfo;
280
- };
281
- export type PairOiBackend = {
282
- oiLongUsd: string;
283
- oiShortUsd: string;
284
- };
285
- export type OiWindowsBackend = {
286
- [key: string]: PairOiBackend;
287
- };
288
- export type OiWindowsSettingsBackend = {
289
- startTs: number;
290
- windowsDuration: number;
291
- windowsCount: number;
292
- };
293
- export type CollateralConfigBackend = {
294
- precision: string;
295
- precisionDelta: string;
296
- decimals: number;
297
- };
298
- export type FeeTiersBackend = {
299
- tiers: Array<{
300
- feeMultiplier: string;
301
- pointsThreshold: string;
302
- }>;
303
- multipliers: string[];
304
- currentDay: number;
305
- };
306
- export type GlobalTradeFeeParamsBackend = {
307
- referralFeeP: string;
308
- govFeeP: string;
309
- triggerOrderFeeP: string;
310
- gnsOtcFeeP: string;
311
- gTokenFeeP: string;
312
- };
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });