@gainsnetwork/sdk 1.3.0-rc7 → 1.4.0-rc1

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 (153) hide show
  1. package/lib/backend/globalTrades/index.js +10 -10
  2. package/lib/backend/tradingVariables/backend.types.d.ts +4 -11
  3. package/lib/backend/tradingVariables/converter.d.ts +3 -7
  4. package/lib/backend/tradingVariables/converter.js +63 -71
  5. package/lib/backend/tradingVariables/index.js +8 -10
  6. package/lib/backend/tradingVariables/types.d.ts +2 -4
  7. package/lib/constants.js +1 -1
  8. package/lib/contracts/addresses.d.ts +1 -1
  9. package/lib/contracts/addresses.js +4 -8
  10. package/lib/contracts/addresses.json +0 -29
  11. package/lib/contracts/index.d.ts +1 -1
  12. package/lib/contracts/index.js +3 -3
  13. package/lib/contracts/types/generated/GNSMultiCollatDiamond.d.ts +299 -608
  14. package/lib/contracts/types/generated/factories/GNSMultiCollatDiamond__factory.d.ts +10 -2
  15. package/lib/contracts/types/generated/factories/GNSMultiCollatDiamond__factory.js +317 -1995
  16. package/lib/contracts/utils/borrowingFees.js +20 -9
  17. package/lib/contracts/utils/openTrades.js +20 -11
  18. package/lib/contracts/utils/pairs.d.ts +2 -13
  19. package/lib/contracts/utils/pairs.js +30 -80
  20. package/lib/index.d.ts +0 -1
  21. package/lib/index.js +0 -1
  22. package/lib/markets/forex.js +1 -1
  23. package/lib/markets/leverage/builder.js +2 -2
  24. package/lib/markets/price/index.d.ts +0 -1
  25. package/lib/markets/price/index.js +0 -1
  26. package/lib/markets/price/types.d.ts +0 -27
  27. package/lib/trade/fees/borrowing/builder.js +3 -2
  28. package/lib/trade/fees/borrowing/converter.js +1 -5
  29. package/lib/trade/fees/borrowing/index.js +5 -5
  30. package/lib/trade/fees/borrowingV2/builder.js +4 -3
  31. package/lib/trade/fees/borrowingV2/converter.js +1 -1
  32. package/lib/trade/fees/borrowingV2/fetcher.js +32 -26
  33. package/lib/trade/fees/borrowingV2/index.js +3 -3
  34. package/lib/trade/fees/converter.js +22 -22
  35. package/lib/trade/fees/fundingFees/builder.js +7 -6
  36. package/lib/trade/fees/fundingFees/converter.js +1 -1
  37. package/lib/trade/fees/fundingFees/fetcher.js +25 -16
  38. package/lib/trade/fees/fundingFees/index.js +3 -2
  39. package/lib/trade/fees/tiers/index.js +2 -1
  40. package/lib/trade/fees/trading/index.js +3 -5
  41. package/lib/trade/liquidation/builder.js +2 -1
  42. package/lib/trade/liquidation/index.js +6 -4
  43. package/lib/trade/liquidation.d.ts +12 -0
  44. package/lib/trade/liquidation.js +55 -0
  45. package/lib/trade/oiWindows.js +2 -1
  46. package/lib/trade/pnl/builder.js +2 -1
  47. package/lib/trade/pnl/converter.js +1 -1
  48. package/lib/trade/pnl/index.js +7 -4
  49. package/lib/trade/pnl.d.ts +10 -0
  50. package/lib/trade/pnl.js +33 -0
  51. package/lib/trade/priceImpact/close/builder.js +2 -1
  52. package/lib/trade/priceImpact/close/index.js +1 -4
  53. package/lib/trade/priceImpact/cumulVol/builder.js +11 -21
  54. package/lib/trade/priceImpact/cumulVol/converter.d.ts +0 -63
  55. package/lib/trade/priceImpact/cumulVol/converter.js +1 -97
  56. package/lib/trade/priceImpact/cumulVol/index.d.ts +6 -7
  57. package/lib/trade/priceImpact/cumulVol/index.js +41 -149
  58. package/lib/trade/priceImpact/open/builder.js +2 -1
  59. package/lib/trade/priceImpact/open/index.js +1 -7
  60. package/lib/trade/priceImpact/skew/builder.js +3 -2
  61. package/lib/trade/priceImpact/skew/converter.js +1 -1
  62. package/lib/trade/priceImpact/skew/fetcher.js +33 -24
  63. package/package.json +2 -2
  64. package/lib/contracts/types/generated/GFarmTradingStorageV5.d.ts +0 -1911
  65. package/lib/contracts/types/generated/GFarmTradingStorageV5.js +0 -2
  66. package/lib/contracts/types/generated/GNSBorrowingFees.d.ts +0 -1067
  67. package/lib/contracts/types/generated/GNSBorrowingFees.js +0 -2
  68. package/lib/contracts/types/generated/GNSBorrowingFeesV6_3_2.d.ts +0 -979
  69. package/lib/contracts/types/generated/GNSBorrowingFeesV6_3_2.js +0 -2
  70. package/lib/contracts/types/generated/GNSBorrowingFeesV6_4.d.ts +0 -1058
  71. package/lib/contracts/types/generated/GNSBorrowingFeesV6_4.js +0 -2
  72. package/lib/contracts/types/generated/GNSNftRewardsV6.d.ts +0 -533
  73. package/lib/contracts/types/generated/GNSNftRewardsV6.js +0 -2
  74. package/lib/contracts/types/generated/GNSNftRewardsV6_3_1.d.ts +0 -613
  75. package/lib/contracts/types/generated/GNSNftRewardsV6_3_1.js +0 -2
  76. package/lib/contracts/types/generated/GNSPairInfosV6_1.d.ts +0 -911
  77. package/lib/contracts/types/generated/GNSPairInfosV6_1.js +0 -2
  78. package/lib/contracts/types/generated/GNSPairsStorageV6.d.ts +0 -660
  79. package/lib/contracts/types/generated/GNSPairsStorageV6.js +0 -2
  80. package/lib/contracts/types/generated/GNSTrading.d.ts +0 -758
  81. package/lib/contracts/types/generated/GNSTrading.js +0 -2
  82. package/lib/contracts/types/generated/GNSTradingCallbacks.d.ts +0 -875
  83. package/lib/contracts/types/generated/GNSTradingCallbacks.js +0 -2
  84. package/lib/contracts/types/generated/GNSTradingCallbacksV6_3_2.d.ts +0 -806
  85. package/lib/contracts/types/generated/GNSTradingCallbacksV6_3_2.js +0 -2
  86. package/lib/contracts/types/generated/GNSTradingCallbacksV6_4.d.ts +0 -821
  87. package/lib/contracts/types/generated/GNSTradingCallbacksV6_4.js +0 -2
  88. package/lib/contracts/types/generated/GNSTradingStorage.d.ts +0 -1387
  89. package/lib/contracts/types/generated/GNSTradingStorage.js +0 -2
  90. package/lib/contracts/types/generated/GTokenV6_3_2.d.ts +0 -1838
  91. package/lib/contracts/types/generated/GTokenV6_3_2.js +0 -2
  92. package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.d.ts +0 -83
  93. package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.js +0 -2691
  94. package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_3_2__factory.d.ts +0 -88
  95. package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_3_2__factory.js +0 -1654
  96. package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_4__factory.d.ts +0 -113
  97. package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_4__factory.js +0 -1742
  98. package/lib/contracts/types/generated/factories/GNSBorrowingFees__factory.d.ts +0 -124
  99. package/lib/contracts/types/generated/factories/GNSBorrowingFees__factory.js +0 -1784
  100. package/lib/contracts/types/generated/factories/GNSNftRewardsV6_3_1__factory.d.ts +0 -100
  101. package/lib/contracts/types/generated/factories/GNSNftRewardsV6_3_1__factory.js +0 -1116
  102. package/lib/contracts/types/generated/factories/GNSNftRewardsV6__factory.d.ts +0 -100
  103. package/lib/contracts/types/generated/factories/GNSNftRewardsV6__factory.js +0 -1003
  104. package/lib/contracts/types/generated/factories/GNSPairInfosV6_1__factory.d.ts +0 -98
  105. package/lib/contracts/types/generated/factories/GNSPairInfosV6_1__factory.js +0 -1485
  106. package/lib/contracts/types/generated/factories/GNSPairsStorageV6__factory.d.ts +0 -117
  107. package/lib/contracts/types/generated/factories/GNSPairsStorageV6__factory.js +0 -1265
  108. package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_3_2__factory.d.ts +0 -82
  109. package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_3_2__factory.js +0 -1273
  110. package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_4__factory.d.ts +0 -82
  111. package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_4__factory.js +0 -1326
  112. package/lib/contracts/types/generated/factories/GNSTradingCallbacks__factory.d.ts +0 -113
  113. package/lib/contracts/types/generated/factories/GNSTradingCallbacks__factory.js +0 -1428
  114. package/lib/contracts/types/generated/factories/GNSTradingStorage__factory.d.ts +0 -96
  115. package/lib/contracts/types/generated/factories/GNSTradingStorage__factory.js +0 -2241
  116. package/lib/contracts/types/generated/factories/GNSTrading__factory.d.ts +0 -95
  117. package/lib/contracts/types/generated/factories/GNSTrading__factory.js +0 -1071
  118. package/lib/contracts/types/generated/factories/GTokenV6_3_2__factory.d.ts +0 -110
  119. package/lib/contracts/types/generated/factories/GTokenV6_3_2__factory.js +0 -2682
  120. package/lib/markets/oi/fetcher.d.ts +0 -58
  121. package/lib/markets/oi/fetcher.js +0 -181
  122. package/lib/markets/oi/validation.d.ts +0 -80
  123. package/lib/markets/oi/validation.js +0 -172
  124. package/lib/markets/price/signedPrices.d.ts +0 -36
  125. package/lib/markets/price/signedPrices.js +0 -181
  126. package/lib/pricing/depthBands/converter.d.ts +0 -65
  127. package/lib/pricing/depthBands/converter.js +0 -155
  128. package/lib/pricing/depthBands/decoder.d.ts +0 -32
  129. package/lib/pricing/depthBands/decoder.js +0 -109
  130. package/lib/pricing/depthBands/encoder.d.ts +0 -19
  131. package/lib/pricing/depthBands/encoder.js +0 -105
  132. package/lib/pricing/depthBands/index.d.ts +0 -8
  133. package/lib/pricing/depthBands/index.js +0 -26
  134. package/lib/pricing/depthBands/types.d.ts +0 -49
  135. package/lib/pricing/depthBands/types.js +0 -10
  136. package/lib/pricing/depthBands/validator.d.ts +0 -22
  137. package/lib/pricing/depthBands/validator.js +0 -113
  138. package/lib/pricing/depthBands.d.ts +0 -39
  139. package/lib/pricing/depthBands.js +0 -94
  140. package/lib/pricing/index.d.ts +0 -4
  141. package/lib/pricing/index.js +0 -20
  142. package/lib/trade/effectiveLeverage/builder.d.ts +0 -23
  143. package/lib/trade/effectiveLeverage/builder.js +0 -30
  144. package/lib/trade/fees/holdingFees/index.d.ts +0 -46
  145. package/lib/trade/fees/holdingFees/index.js +0 -105
  146. package/lib/trade/fees/holdingFees/types.d.ts +0 -23
  147. package/lib/trade/fees/holdingFees/types.js +0 -5
  148. package/lib/trade/fees/trading/holdingFees.d.ts +0 -28
  149. package/lib/trade/fees/trading/holdingFees.js +0 -66
  150. package/lib/trade/fees/trading/holdingFeesStructured.d.ts +0 -28
  151. package/lib/trade/fees/trading/holdingFeesStructured.js +0 -66
  152. package/lib/trade/priceImpact/cumulVol/types.d.ts +0 -11
  153. package/lib/trade/priceImpact/cumulVol/types.js +0 -2
@@ -1,66 +0,0 @@
1
- "use strict";
2
- /**
3
- * @dev Holding fees calculation for structured contexts
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getTradePendingHoldingFeesCollateralStructured = void 0;
7
- const types_1 = require("../../../contracts/types");
8
- const borrowing_1 = require("../borrowing");
9
- const borrowingV2_1 = require("../borrowingV2");
10
- const pairContext_1 = require("../fundingFees/pairContext");
11
- /**
12
- * @dev Calculates total holding fees using structured context
13
- * @param trade The trade to calculate fees for
14
- * @param tradeInfo Trade info containing contracts version
15
- * @param tradeFeesData Trade fees data containing initial acc fees
16
- * @param currentPairPrice Current pair price
17
- * @param context Structured context with sub-contexts for each fee type
18
- * @returns Object containing all holding fee components
19
- */
20
- const getTradePendingHoldingFeesCollateralStructured = (trade, tradeInfo, tradeFeesData, currentPairPrice, context) => {
21
- const positionSizeCollateral = trade.collateralAmount * trade.leverage;
22
- // Calculate funding fees (v10+ only)
23
- let fundingFeeCollateral = 0;
24
- if (context.contractsVersion >= types_1.ContractsVersion.V10 &&
25
- context.funding &&
26
- tradeFeesData.initialAccFundingFeeP !== undefined) {
27
- fundingFeeCollateral = (0, pairContext_1.getPairTradeFundingFeesCollateral)({
28
- positionSizeCollateral,
29
- openPrice: trade.openPrice,
30
- long: trade.long,
31
- currentPairPrice,
32
- initialAccFundingFeeP: tradeFeesData.initialAccFundingFeeP,
33
- }, context.funding // TODO: Fix types once funding types are properly imported
34
- );
35
- }
36
- // Calculate borrowing fees v2
37
- let borrowingFeeCollateral = 0;
38
- if (context.borrowingV2 && tradeFeesData.initialAccBorrowingFeeP !== undefined) {
39
- borrowingFeeCollateral = (0, borrowingV2_1.getPairTradeBorrowingFeesCollateral)({
40
- positionSizeCollateral,
41
- openPrice: trade.openPrice,
42
- currentPairPrice,
43
- initialAccBorrowingFeeP: tradeFeesData.initialAccBorrowingFeeP,
44
- currentTimestamp: context.currentTimestamp,
45
- }, context.borrowingV2);
46
- }
47
- // Calculate v1 borrowing fees (some markets use v1 indefinitely)
48
- let borrowingFeeCollateral_old = 0;
49
- if (context.borrowingV1) {
50
- borrowingFeeCollateral_old = (0, borrowing_1.getPairBorrowingFee)(positionSizeCollateral, trade.long, context.borrowingV1.initialAccFees || { accPairFee: 0, accGroupFee: 0, block: 0 }, {
51
- currentBlock: context.borrowingV1.currentBlock,
52
- group: context.borrowingV1.group,
53
- pair: context.borrowingV1.pair,
54
- collateralPriceUsd: context.collateralPriceUsd,
55
- });
56
- }
57
- return {
58
- fundingFeeCollateral,
59
- borrowingFeeCollateral,
60
- borrowingFeeCollateral_old,
61
- totalFeeCollateral: fundingFeeCollateral +
62
- borrowingFeeCollateral +
63
- borrowingFeeCollateral_old,
64
- };
65
- };
66
- exports.getTradePendingHoldingFeesCollateralStructured = getTradePendingHoldingFeesCollateralStructured;
@@ -1,28 +0,0 @@
1
- /**
2
- * @dev Holding fees calculation for structured contexts
3
- */
4
- import { Trade, TradeInfo, TradeFeesData } from "../../types";
5
- import { TradeHoldingFees } from "./types";
6
- import { ContractsVersion } from "../../../contracts/types";
7
- import type { BorrowingV1SubContext, BorrowingV2SubContext, FundingFeesSubContext } from "../../pnl";
8
- /**
9
- * @dev Context for holding fees calculation with structured sub-contexts
10
- */
11
- export type GetStructuredHoldingFeesContext = {
12
- contractsVersion: ContractsVersion;
13
- currentTimestamp: number;
14
- collateralPriceUsd: number;
15
- borrowingV1?: BorrowingV1SubContext;
16
- borrowingV2?: BorrowingV2SubContext;
17
- funding?: FundingFeesSubContext;
18
- };
19
- /**
20
- * @dev Calculates total holding fees using structured context
21
- * @param trade The trade to calculate fees for
22
- * @param tradeInfo Trade info containing contracts version
23
- * @param tradeFeesData Trade fees data containing initial acc fees
24
- * @param currentPairPrice Current pair price
25
- * @param context Structured context with sub-contexts for each fee type
26
- * @returns Object containing all holding fee components
27
- */
28
- export declare const getTradePendingHoldingFeesCollateralStructured: (trade: Trade, tradeInfo: TradeInfo, tradeFeesData: TradeFeesData, currentPairPrice: number, context: GetStructuredHoldingFeesContext) => TradeHoldingFees;
@@ -1,66 +0,0 @@
1
- "use strict";
2
- /**
3
- * @dev Holding fees calculation for structured contexts
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getTradePendingHoldingFeesCollateralStructured = void 0;
7
- const types_1 = require("../../../contracts/types");
8
- const borrowing_1 = require("../borrowing");
9
- const borrowingV2_1 = require("../borrowingV2");
10
- const fundingFees_1 = require("../fundingFees");
11
- /**
12
- * @dev Calculates total holding fees using structured context
13
- * @param trade The trade to calculate fees for
14
- * @param tradeInfo Trade info containing contracts version
15
- * @param tradeFeesData Trade fees data containing initial acc fees
16
- * @param currentPairPrice Current pair price
17
- * @param context Structured context with sub-contexts for each fee type
18
- * @returns Object containing all holding fee components
19
- */
20
- const getTradePendingHoldingFeesCollateralStructured = (trade, tradeInfo, tradeFeesData, currentPairPrice, context) => {
21
- const positionSizeCollateral = trade.collateralAmount * trade.leverage;
22
- // Calculate funding fees (v10+ only)
23
- let fundingFeeCollateral = 0;
24
- if (context.contractsVersion >= types_1.ContractsVersion.V10 &&
25
- context.funding &&
26
- tradeFeesData.initialAccFundingFeeP !== undefined) {
27
- fundingFeeCollateral = (0, fundingFees_1.getTradeFundingFeesCollateral)(trade, tradeInfo, tradeFeesData, currentPairPrice, Object.assign(Object.assign({}, context.funding), { currentTimestamp: context.currentTimestamp }) // TODO: Fix types once funding types are properly imported
28
- );
29
- }
30
- // Calculate borrowing fees v2
31
- let borrowingFeeCollateral = 0;
32
- if (context.borrowingV2 &&
33
- tradeFeesData.initialAccBorrowingFeeP !== undefined) {
34
- borrowingFeeCollateral = (0, borrowingV2_1.getTradeBorrowingFeesCollateral)({
35
- positionSizeCollateral,
36
- openPrice: trade.openPrice,
37
- currentPairPrice,
38
- initialAccBorrowingFeeP: tradeFeesData.initialAccBorrowingFeeP,
39
- currentTimestamp: context.currentTimestamp,
40
- }, context.borrowingV2);
41
- }
42
- // Calculate v1 borrowing fees (some markets use v1 indefinitely)
43
- let borrowingFeeCollateral_old = 0;
44
- if (context.borrowingV1) {
45
- borrowingFeeCollateral_old = (0, borrowing_1.getBorrowingFee)(positionSizeCollateral, undefined, // pairIndex not needed for pair-specific context
46
- trade.long, context.borrowingV1.initialAccFees || {
47
- accPairFee: 0,
48
- accGroupFee: 0,
49
- block: 0,
50
- }, {
51
- currentBlock: context.borrowingV1.currentBlock,
52
- group: context.borrowingV1.group,
53
- pair: context.borrowingV1.pair,
54
- collateralPriceUsd: context.collateralPriceUsd,
55
- });
56
- }
57
- return {
58
- fundingFeeCollateral,
59
- borrowingFeeCollateral,
60
- borrowingFeeCollateral_old,
61
- totalFeeCollateral: fundingFeeCollateral +
62
- borrowingFeeCollateral +
63
- borrowingFeeCollateral_old,
64
- };
65
- };
66
- exports.getTradePendingHoldingFeesCollateralStructured = getTradePendingHoldingFeesCollateralStructured;
@@ -1,11 +0,0 @@
1
- export type DepthBands = {
2
- totalDepthUsd: number;
3
- bands: number[];
4
- };
5
- export type PairDepthBands = {
6
- above: DepthBands | undefined;
7
- below: DepthBands | undefined;
8
- };
9
- export type DepthBandsMapping = {
10
- bands: number[];
11
- };
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });