@gainsnetwork/sdk 1.4.4 → 1.5.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 (111) hide show
  1. package/lib/backend/tradingVariables/backend.types.d.ts +11 -4
  2. package/lib/backend/tradingVariables/converter.d.ts +7 -3
  3. package/lib/backend/tradingVariables/converter.js +15 -7
  4. package/lib/backend/tradingVariables/index.js +5 -2
  5. package/lib/backend/tradingVariables/types.d.ts +4 -2
  6. package/lib/contracts/addresses.d.ts +1 -1
  7. package/lib/contracts/addresses.js +6 -5
  8. package/lib/contracts/addresses.json +29 -0
  9. package/lib/contracts/types/generated/GFarmTradingStorageV5.d.ts +1911 -0
  10. package/lib/contracts/types/generated/GFarmTradingStorageV5.js +2 -0
  11. package/lib/contracts/types/generated/GNSBorrowingFees.d.ts +1067 -0
  12. package/lib/contracts/types/generated/GNSBorrowingFees.js +2 -0
  13. package/lib/contracts/types/generated/GNSBorrowingFeesV6_3_2.d.ts +979 -0
  14. package/lib/contracts/types/generated/GNSBorrowingFeesV6_3_2.js +2 -0
  15. package/lib/contracts/types/generated/GNSBorrowingFeesV6_4.d.ts +1058 -0
  16. package/lib/contracts/types/generated/GNSBorrowingFeesV6_4.js +2 -0
  17. package/lib/contracts/types/generated/GNSMultiCollatDiamond.d.ts +223 -40
  18. package/lib/contracts/types/generated/GNSNftRewardsV6.d.ts +533 -0
  19. package/lib/contracts/types/generated/GNSNftRewardsV6.js +2 -0
  20. package/lib/contracts/types/generated/GNSNftRewardsV6_3_1.d.ts +613 -0
  21. package/lib/contracts/types/generated/GNSNftRewardsV6_3_1.js +2 -0
  22. package/lib/contracts/types/generated/GNSPairInfosV6_1.d.ts +911 -0
  23. package/lib/contracts/types/generated/GNSPairInfosV6_1.js +2 -0
  24. package/lib/contracts/types/generated/GNSPairsStorageV6.d.ts +660 -0
  25. package/lib/contracts/types/generated/GNSPairsStorageV6.js +2 -0
  26. package/lib/contracts/types/generated/GNSTrading.d.ts +758 -0
  27. package/lib/contracts/types/generated/GNSTrading.js +2 -0
  28. package/lib/contracts/types/generated/GNSTradingCallbacks.d.ts +875 -0
  29. package/lib/contracts/types/generated/GNSTradingCallbacks.js +2 -0
  30. package/lib/contracts/types/generated/GNSTradingCallbacksV6_3_2.d.ts +806 -0
  31. package/lib/contracts/types/generated/GNSTradingCallbacksV6_3_2.js +2 -0
  32. package/lib/contracts/types/generated/GNSTradingCallbacksV6_4.d.ts +821 -0
  33. package/lib/contracts/types/generated/GNSTradingCallbacksV6_4.js +2 -0
  34. package/lib/contracts/types/generated/GNSTradingStorage.d.ts +1387 -0
  35. package/lib/contracts/types/generated/GNSTradingStorage.js +2 -0
  36. package/lib/contracts/types/generated/GTokenV6_3_2.d.ts +1838 -0
  37. package/lib/contracts/types/generated/GTokenV6_3_2.js +2 -0
  38. package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.d.ts +83 -0
  39. package/lib/contracts/types/generated/factories/GFarmTradingStorageV5__factory.js +2691 -0
  40. package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_3_2__factory.d.ts +88 -0
  41. package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_3_2__factory.js +1654 -0
  42. package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_4__factory.d.ts +113 -0
  43. package/lib/contracts/types/generated/factories/GNSBorrowingFeesV6_4__factory.js +1742 -0
  44. package/lib/contracts/types/generated/factories/GNSBorrowingFees__factory.d.ts +124 -0
  45. package/lib/contracts/types/generated/factories/GNSBorrowingFees__factory.js +1784 -0
  46. package/lib/contracts/types/generated/factories/GNSMultiCollatDiamond__factory.js +312 -36
  47. package/lib/contracts/types/generated/factories/GNSNftRewardsV6_3_1__factory.d.ts +100 -0
  48. package/lib/contracts/types/generated/factories/GNSNftRewardsV6_3_1__factory.js +1116 -0
  49. package/lib/contracts/types/generated/factories/GNSNftRewardsV6__factory.d.ts +100 -0
  50. package/lib/contracts/types/generated/factories/GNSNftRewardsV6__factory.js +1003 -0
  51. package/lib/contracts/types/generated/factories/GNSPairInfosV6_1__factory.d.ts +98 -0
  52. package/lib/contracts/types/generated/factories/GNSPairInfosV6_1__factory.js +1485 -0
  53. package/lib/contracts/types/generated/factories/GNSPairsStorageV6__factory.d.ts +117 -0
  54. package/lib/contracts/types/generated/factories/GNSPairsStorageV6__factory.js +1265 -0
  55. package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_3_2__factory.d.ts +82 -0
  56. package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_3_2__factory.js +1273 -0
  57. package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_4__factory.d.ts +82 -0
  58. package/lib/contracts/types/generated/factories/GNSTradingCallbacksV6_4__factory.js +1326 -0
  59. package/lib/contracts/types/generated/factories/GNSTradingCallbacks__factory.d.ts +113 -0
  60. package/lib/contracts/types/generated/factories/GNSTradingCallbacks__factory.js +1428 -0
  61. package/lib/contracts/types/generated/factories/GNSTradingStorage__factory.d.ts +96 -0
  62. package/lib/contracts/types/generated/factories/GNSTradingStorage__factory.js +2241 -0
  63. package/lib/contracts/types/generated/factories/GNSTrading__factory.d.ts +95 -0
  64. package/lib/contracts/types/generated/factories/GNSTrading__factory.js +1071 -0
  65. package/lib/contracts/types/generated/factories/GTokenV6_3_2__factory.d.ts +110 -0
  66. package/lib/contracts/types/generated/factories/GTokenV6_3_2__factory.js +2682 -0
  67. package/lib/contracts/utils/openTrades.d.ts +1 -0
  68. package/lib/contracts/utils/openTrades.js +24 -7
  69. package/lib/contracts/utils/pairs.d.ts +13 -2
  70. package/lib/contracts/utils/pairs.js +70 -11
  71. package/lib/index.d.ts +1 -0
  72. package/lib/index.js +1 -0
  73. package/lib/markets/oi/fetcher.d.ts +58 -0
  74. package/lib/markets/oi/fetcher.js +181 -0
  75. package/lib/markets/oi/validation.d.ts +80 -0
  76. package/lib/markets/oi/validation.js +172 -0
  77. package/lib/pricing/depthBands/converter.d.ts +65 -0
  78. package/lib/pricing/depthBands/converter.js +155 -0
  79. package/lib/pricing/depthBands/decoder.d.ts +32 -0
  80. package/lib/pricing/depthBands/decoder.js +109 -0
  81. package/lib/pricing/depthBands/encoder.d.ts +19 -0
  82. package/lib/pricing/depthBands/encoder.js +105 -0
  83. package/lib/pricing/depthBands/index.d.ts +8 -0
  84. package/lib/pricing/depthBands/index.js +26 -0
  85. package/lib/pricing/depthBands/types.d.ts +49 -0
  86. package/lib/pricing/depthBands/types.js +10 -0
  87. package/lib/pricing/depthBands/validator.d.ts +22 -0
  88. package/lib/pricing/depthBands/validator.js +113 -0
  89. package/lib/pricing/depthBands.d.ts +39 -0
  90. package/lib/pricing/depthBands.js +94 -0
  91. package/lib/pricing/index.d.ts +4 -0
  92. package/lib/pricing/index.js +20 -0
  93. package/lib/trade/effectiveLeverage/builder.d.ts +23 -0
  94. package/lib/trade/effectiveLeverage/builder.js +30 -0
  95. package/lib/trade/fees/holdingFees/index.d.ts +46 -0
  96. package/lib/trade/fees/holdingFees/index.js +105 -0
  97. package/lib/trade/fees/holdingFees/types.d.ts +23 -0
  98. package/lib/trade/fees/holdingFees/types.js +5 -0
  99. package/lib/trade/fees/trading/holdingFees.d.ts +28 -0
  100. package/lib/trade/fees/trading/holdingFees.js +66 -0
  101. package/lib/trade/fees/trading/holdingFeesStructured.d.ts +28 -0
  102. package/lib/trade/fees/trading/holdingFeesStructured.js +66 -0
  103. package/lib/trade/priceImpact/cumulVol/builder.js +4 -2
  104. package/lib/trade/priceImpact/cumulVol/converter.d.ts +63 -0
  105. package/lib/trade/priceImpact/cumulVol/converter.js +97 -1
  106. package/lib/trade/priceImpact/cumulVol/index.d.ts +7 -6
  107. package/lib/trade/priceImpact/cumulVol/index.js +135 -32
  108. package/lib/trade/priceImpact/cumulVol/types.d.ts +11 -0
  109. package/lib/trade/priceImpact/cumulVol/types.js +2 -0
  110. package/lib/trade/priceImpact/open/index.js +3 -0
  111. package/package.json +1 -1
@@ -96,9 +96,15 @@ export interface GroupOpenInterestBackend {
96
96
  short: string;
97
97
  max: string;
98
98
  }
99
- export interface PairDepthBackend {
100
- onePercentDepthAboveUsd: string;
101
- onePercentDepthBelowUsd: string;
99
+ export interface PairDepthBandsBackend {
100
+ aboveSlot1: string;
101
+ aboveSlot2: string;
102
+ belowSlot1: string;
103
+ belowSlot2: string;
104
+ }
105
+ export interface DepthBandsMappingBackend {
106
+ slot1: string;
107
+ slot2: string;
102
108
  }
103
109
  export interface PairBorrowingFeesBackendPairGroup {
104
110
  groupIndex: string;
@@ -159,6 +165,7 @@ export interface GlobalTradingVariablesBackend {
159
165
  groups: TradingGroupBackend[];
160
166
  fees: FeeBackend[];
161
167
  pairInfos: PairInfosBackend;
168
+ depthBandsMapping: DepthBandsMappingBackend;
162
169
  collaterals: CollateralBackend[];
163
170
  sssTokenBalance: string;
164
171
  sssLegacyTokenBalance: string;
@@ -239,7 +246,7 @@ export interface CollateralBackend {
239
246
  }
240
247
  export interface PairInfosBackend {
241
248
  maxLeverages: string[];
242
- pairDepths: PairDepthBackend[];
249
+ pairDepthBands: PairDepthBandsBackend[];
243
250
  pairFactors: PairFactorBackend[];
244
251
  }
245
252
  export type TraderInfoBackend = {
@@ -1,11 +1,15 @@
1
1
  import { ContestLeaderboardBackendEntry, ContestLeaderboardEntry } from "@gainsnetwork/contests";
2
- import { BorrowingFee, CollateralConfig, Fee, FeeTiers, GlobalTradeFeeParams, OiWindows, OiWindowsSettings, OpenInterest, Pair, PairDepth, PairOi, Trade, TradeContainer, TradeInfo, TradeInitialAccFees, TraderFeeTiers, TradingGroup, PairFactor, convertLiquidationParams } from "../../";
3
- import { BorrowingFeePerBlockCapBackend, CollateralBackend, FeeBackend, FeeTiersBackend, GlobalTradeFeeParamsBackend, OiWindowsBackend, OiWindowsSettingsBackend, OpenInterestBackend, PairBackend, PairDepthBackend, PairFactorBackend, PairOiBackend, PairParamsBorrowingFeesBackend, TradeBackend, TradeContainerBackend, TradeInfoBackend, TradeInitialAccFeesBackend, TraderFeeTiersBackend, TradingGroupBackend } from "./backend.types";
2
+ import { BorrowingFee, CollateralConfig, Fee, FeeTiers, GlobalTradeFeeParams, OiWindows, OiWindowsSettings, OpenInterest, Pair, PairOi, Trade, TradeContainer, TradeInfo, TradeInitialAccFees, TraderFeeTiers, TradingGroup, PairFactor, convertLiquidationParams } from "../../";
3
+ import { convertPairDepthBandsFromSlots } from "../../trade/priceImpact/cumulVol/converter";
4
+ import { BorrowingFeePerBlockCapBackend, CollateralBackend, FeeBackend, FeeTiersBackend, GlobalTradeFeeParamsBackend, OiWindowsBackend, OiWindowsSettingsBackend, OpenInterestBackend, PairBackend, PairDepthBandsBackend, DepthBandsMappingBackend, PairFactorBackend, PairOiBackend, PairParamsBorrowingFeesBackend, TradeBackend, TradeContainerBackend, TradeInfoBackend, TradeInitialAccFeesBackend, TraderFeeTiersBackend, TradingGroupBackend } from "./backend.types";
4
5
  import { TradingVariablesCollateral } from "./types";
5
6
  export declare const convertFees: (fees: FeeBackend[]) => Fee[];
6
7
  export declare const convertCollaterals: (collaterals: CollateralBackend[]) => TradingVariablesCollateral[];
7
8
  export declare const convertOpenInterests: (interests: OpenInterestBackend[]) => OpenInterest[];
8
- export declare const convertPairDepths: (pairDepths: PairDepthBackend[]) => PairDepth[];
9
+ export declare const convertPairDepthBands: (pairDepthBands: PairDepthBandsBackend[]) => ReturnType<typeof convertPairDepthBandsFromSlots>[];
10
+ export declare const convertDepthBandsMapping: (mapping: DepthBandsMappingBackend) => {
11
+ bands: number[];
12
+ };
9
13
  export declare const convertPairSkewDepths: (pairSkewDepths: string[] | undefined) => {
10
14
  [pairIndex: number]: number;
11
15
  };
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertLiquidationParams = 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.convertPairSkewDepths = exports.convertPairDepths = exports.convertOpenInterests = exports.convertCollaterals = exports.convertFees = void 0;
3
+ exports.convertLiquidationParams = 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.convertPairSkewDepths = exports.convertDepthBandsMapping = exports.convertPairDepthBands = exports.convertOpenInterests = exports.convertCollaterals = exports.convertFees = void 0;
4
4
  const __1 = require("../../");
5
5
  Object.defineProperty(exports, "convertLiquidationParams", { enumerable: true, get: function () { return __1.convertLiquidationParams; } });
6
6
  const converter_1 = require("../../trade/priceImpact/skew/converter");
7
+ const converter_2 = require("../../trade/priceImpact/cumulVol/converter");
8
+ const depthBands_1 = require("../../pricing/depthBands");
7
9
  const convertFees = (fees) => fees?.map(fee => convertFee(fee));
8
10
  exports.convertFees = convertFees;
9
11
  const convertCollateral = (collateral) => ({
@@ -52,12 +54,18 @@ const convertOpenInterest = (interest) => ({
52
54
  short: parseFloat(interest.beforeV10.short) / 1e10,
53
55
  max: parseFloat(interest.beforeV10.max) / 1e10,
54
56
  });
55
- const convertPairDepths = (pairDepths) => pairDepths?.map(pairDepth => convertPairDepth(pairDepth));
56
- exports.convertPairDepths = convertPairDepths;
57
- const convertPairDepth = (pairDepth) => ({
58
- onePercentDepthAboveUsd: parseInt(pairDepth.onePercentDepthAboveUsd),
59
- onePercentDepthBelowUsd: parseInt(pairDepth.onePercentDepthBelowUsd),
60
- });
57
+ const convertPairDepthBands = (pairDepthBands) => pairDepthBands?.map(bands => (0, converter_2.convertPairDepthBandsFromSlots)(BigInt(bands.aboveSlot1), BigInt(bands.aboveSlot2), BigInt(bands.belowSlot1), BigInt(bands.belowSlot2))) || [];
58
+ exports.convertPairDepthBands = convertPairDepthBands;
59
+ const convertDepthBandsMapping = (mapping) => {
60
+ // First decode the raw slots to get bands in basis points
61
+ const bandsBps = (0, depthBands_1.decodeDepthBandsMapping)(BigInt(mapping.slot1), BigInt(mapping.slot2));
62
+ console.log("bandsBps", bandsBps);
63
+ // Convert from basis points to 0-1 range
64
+ return {
65
+ bands: bandsBps.map(bps => bps / 10000),
66
+ };
67
+ };
68
+ exports.convertDepthBandsMapping = convertDepthBandsMapping;
61
69
  const convertPairSkewDepths = (pairSkewDepths) => {
62
70
  if (!pairSkewDepths)
63
71
  return {};
@@ -30,9 +30,12 @@ const transformGlobalTradingVariables = (rawData) => {
30
30
  stocksClosed: !rawData.isStocksOpen,
31
31
  indicesClosed: !rawData.isIndicesOpen,
32
32
  commoditiesClosed: !rawData.isCommoditiesOpen,
33
- pairDepths: rawData.pairInfos?.pairDepths !== undefined
34
- ? (0, converter_1.convertPairDepths)(rawData.pairInfos.pairDepths)
33
+ pairDepthBands: rawData.pairInfos?.pairDepthBands !== undefined
34
+ ? (0, converter_1.convertPairDepthBands)(rawData.pairInfos.pairDepthBands)
35
35
  : [],
36
+ depthBandsMapping: rawData.depthBandsMapping !== undefined
37
+ ? (0, converter_1.convertDepthBandsMapping)(rawData.depthBandsMapping)
38
+ : { bands: [] },
36
39
  pairMaxLeverages: rawData.pairInfos?.maxLeverages !== undefined
37
40
  ? (0, converter_1.convertMaxLeverages)(rawData.pairInfos.maxLeverages)
38
41
  : [],
@@ -1,5 +1,6 @@
1
1
  import { CollateralConfig } from "src/markets/collateral";
2
- import { BorrowingFee, BorrowingFeeV2, CounterTradeSettings, Fee, FeeTiers, FundingFees, GlobalTradeFeeParams, LeaderboardTrader, LiquidationParams, OiWindows, OiWindowsSettings, Pair, PairDepth, PairFactor, PairIndexes, TradingGroup } from "../../trade";
2
+ import { BorrowingFee, BorrowingFeeV2, CounterTradeSettings, Fee, FeeTiers, FundingFees, GlobalTradeFeeParams, LeaderboardTrader, LiquidationParams, OiWindows, OiWindowsSettings, Pair, PairFactor, PairIndexes, TradingGroup } from "../../trade";
3
+ import { PairDepthBands, DepthBandsMapping } from "../../trade/priceImpact/cumulVol/types";
3
4
  import { UnifiedPairOi } from "src/markets";
4
5
  export type TransformedGlobalTradingVariables = {
5
6
  globalTradingVariables: GlobalTradingVariablesType;
@@ -63,7 +64,8 @@ export type GlobalTradingVariablesType = {
63
64
  commodities?: string[];
64
65
  commoditiesClosed?: boolean;
65
66
  blockConfirmations?: number;
66
- pairDepths?: PairDepth[];
67
+ pairDepthBands?: PairDepthBands[];
68
+ depthBandsMapping?: DepthBandsMapping;
67
69
  pairMaxLeverages?: number[];
68
70
  maxNegativePnlOnOpenP?: number;
69
71
  oiWindowsSettings?: OiWindowsSettings;
@@ -1,3 +1,3 @@
1
1
  import { CollateralTypes, ContractAddresses } from "./types";
2
- export declare const getContractAddressesForChain: (chainId: number, collateral?: CollateralTypes) => ContractAddresses;
2
+ export declare const getContractAddressesForChain: (chainId: number, collateral?: CollateralTypes, stable?: boolean) => ContractAddresses;
3
3
  export declare const getCollateralByAddressForChain: (chainId: number, address: string) => CollateralTypes;
@@ -6,17 +6,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getCollateralByAddressForChain = exports.getContractAddressesForChain = void 0;
7
7
  const types_1 = require("./types");
8
8
  const addresses_json_1 = __importDefault(require("./addresses.json"));
9
- const getContractAddressesForChain = (chainId, collateral = types_1.CollateralTypes.DAI) => {
9
+ const getContractAddressesForChain = (chainId, collateral = types_1.CollateralTypes.DAI, stable = true) => {
10
10
  const _addresses = addresses_json_1.default;
11
- if (!_addresses[chainId]) {
11
+ const chainIdMapping = !stable && chainId === 421614 ? "421614-release" : chainId;
12
+ if (!_addresses[chainIdMapping]) {
12
13
  throw new Error(`Unknown chain id (${chainId}). No known contracts have been deployed on this chain.`);
13
14
  }
14
- if (!_addresses[chainId][collateral]) {
15
+ if (!_addresses[chainIdMapping][collateral]) {
15
16
  throw new Error(`Unknown collateral (${collateral}) for chain id (${chainId}). No known contracts have been deployed for this collateral.`);
16
17
  }
17
18
  return {
18
- ..._addresses[chainId]["global"],
19
- ..._addresses[chainId][collateral],
19
+ ..._addresses[chainIdMapping]["global"],
20
+ ..._addresses[chainIdMapping][collateral],
20
21
  };
21
22
  };
22
23
  exports.getContractAddressesForChain = getContractAddressesForChain;
@@ -143,5 +143,34 @@
143
143
  "gTokenOpenPnlFeed": "0x0000000000000000000000000000000000000000",
144
144
  "gToken": "0x0000000000000000000000000000000000000000"
145
145
  }
146
+ },
147
+ "421614-release": {
148
+ "global": {
149
+ "gnsMultiCollatDiamond": "0xB4F1B18b5679B42F2956dCBff3D7823A61F347C9"
150
+ },
151
+ "DAI": {
152
+ "gTokenOpenPnlFeed": "0xFcF76e2620eB6C32786e32620187A0FbF2844d68",
153
+ "gToken": "0x47CA7Fa22086CD63DBa92Dce23a75aEA9227a9DC"
154
+ },
155
+ "ETH": {
156
+ "gTokenOpenPnlFeed": "0x0000000000000000000000000000000000000000",
157
+ "gToken": "0x0000000000000000000000000000000000000000"
158
+ },
159
+ "USDC": {
160
+ "gTokenOpenPnlFeed": "0x0000000000000000000000000000000000000000",
161
+ "gToken": "0x0000000000000000000000000000000000000000"
162
+ },
163
+ "APE": {
164
+ "gTokenOpenPnlFeed": "0x0000000000000000000000000000000000000000",
165
+ "gToken": "0x0000000000000000000000000000000000000000"
166
+ },
167
+ "GNS": {
168
+ "gTokenOpenPnlFeed": "0x0000000000000000000000000000000000000000",
169
+ "gToken": "0x0000000000000000000000000000000000000000"
170
+ },
171
+ "BTCUSD": {
172
+ "gTokenOpenPnlFeed": "0x0000000000000000000000000000000000000000",
173
+ "gToken": "0x0000000000000000000000000000000000000000"
174
+ }
146
175
  }
147
176
  }