@gainsnetwork/sdk 0.0.0-v10.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 (81) hide show
  1. package/README.md +11 -0
  2. package/lib/constants.d.ts +403 -0
  3. package/lib/constants.js +436 -0
  4. package/lib/contracts/addresses.d.ts +3 -0
  5. package/lib/contracts/addresses.js +31 -0
  6. package/lib/contracts/addresses.json +127 -0
  7. package/lib/contracts/index.d.ts +14 -0
  8. package/lib/contracts/index.js +83 -0
  9. package/lib/contracts/types/generated/GNSMultiCollatDiamond.d.ts +8716 -0
  10. package/lib/contracts/types/generated/GNSMultiCollatDiamond.js +2 -0
  11. package/lib/contracts/types/generated/GToken.d.ts +1917 -0
  12. package/lib/contracts/types/generated/GToken.js +2 -0
  13. package/lib/contracts/types/generated/GTokenOpenPnlFeed.d.ts +557 -0
  14. package/lib/contracts/types/generated/GTokenOpenPnlFeed.js +2 -0
  15. package/lib/contracts/types/generated/common.d.ts +22 -0
  16. package/lib/contracts/types/generated/common.js +2 -0
  17. package/lib/contracts/types/generated/factories/GNSMultiCollatDiamond__factory.d.ts +284 -0
  18. package/lib/contracts/types/generated/factories/GNSMultiCollatDiamond__factory.js +19330 -0
  19. package/lib/contracts/types/generated/factories/GTokenOpenPnlFeed__factory.d.ts +59 -0
  20. package/lib/contracts/types/generated/factories/GTokenOpenPnlFeed__factory.js +765 -0
  21. package/lib/contracts/types/generated/factories/GToken__factory.d.ts +128 -0
  22. package/lib/contracts/types/generated/factories/GToken__factory.js +2871 -0
  23. package/lib/contracts/types/generated/factories/index.d.ts +3 -0
  24. package/lib/contracts/types/generated/factories/index.js +12 -0
  25. package/lib/contracts/types/generated/index.d.ts +7 -0
  26. package/lib/contracts/types/generated/index.js +33 -0
  27. package/lib/contracts/types/index.d.ts +32 -0
  28. package/lib/contracts/types/index.js +25 -0
  29. package/lib/contracts/utils/borrowingFees.d.ts +9 -0
  30. package/lib/contracts/utils/borrowingFees.js +54 -0
  31. package/lib/contracts/utils/index.d.ts +3 -0
  32. package/lib/contracts/utils/index.js +19 -0
  33. package/lib/contracts/utils/openTrades.d.ts +10 -0
  34. package/lib/contracts/utils/openTrades.js +126 -0
  35. package/lib/contracts/utils/pairs.d.ts +7 -0
  36. package/lib/contracts/utils/pairs.js +478 -0
  37. package/lib/index.d.ts +7 -0
  38. package/lib/index.js +24 -0
  39. package/lib/markets/commodities.d.ts +1 -0
  40. package/lib/markets/commodities.js +33 -0
  41. package/lib/markets/crypto.d.ts +1 -0
  42. package/lib/markets/crypto.js +6 -0
  43. package/lib/markets/forex.d.ts +3 -0
  44. package/lib/markets/forex.js +45 -0
  45. package/lib/markets/index.d.ts +5 -0
  46. package/lib/markets/index.js +21 -0
  47. package/lib/markets/indices.d.ts +1 -0
  48. package/lib/markets/indices.js +6 -0
  49. package/lib/markets/stocks.d.ts +3 -0
  50. package/lib/markets/stocks.js +58 -0
  51. package/lib/trade/fees/borrowing/converter.d.ts +17 -0
  52. package/lib/trade/fees/borrowing/converter.js +42 -0
  53. package/lib/trade/fees/borrowing/index.d.ts +58 -0
  54. package/lib/trade/fees/borrowing/index.js +209 -0
  55. package/lib/trade/fees/borrowing/types.d.ts +36 -0
  56. package/lib/trade/fees/borrowing/types.js +2 -0
  57. package/lib/trade/fees/index.d.ts +4 -0
  58. package/lib/trade/fees/index.js +34 -0
  59. package/lib/trade/fees/tiers/index.d.ts +12 -0
  60. package/lib/trade/fees/tiers/index.js +54 -0
  61. package/lib/trade/fees/tiers/types.d.ts +15 -0
  62. package/lib/trade/fees/tiers/types.js +8 -0
  63. package/lib/trade/index.d.ts +7 -0
  64. package/lib/trade/index.js +23 -0
  65. package/lib/trade/liquidation.d.ts +12 -0
  66. package/lib/trade/liquidation.js +55 -0
  67. package/lib/trade/oiWindows.d.ts +3 -0
  68. package/lib/trade/oiWindows.js +20 -0
  69. package/lib/trade/pnl.d.ts +10 -0
  70. package/lib/trade/pnl.js +33 -0
  71. package/lib/trade/spread.d.ts +18 -0
  72. package/lib/trade/spread.js +108 -0
  73. package/lib/trade/types.d.ts +598 -0
  74. package/lib/trade/types.js +402 -0
  75. package/lib/utils/index.d.ts +1 -0
  76. package/lib/utils/index.js +17 -0
  77. package/lib/utils/packing.d.ts +2 -0
  78. package/lib/utils/packing.js +39 -0
  79. package/lib/vault/index.d.ts +8 -0
  80. package/lib/vault/index.js +10 -0
  81. package/package.json +105 -0
@@ -0,0 +1,436 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_CUMULATIVE_FACTOR = exports.DEFAULT_PROTECTION_CLOSE_FACTOR = exports.delistedGroupsIxs = exports.delistedPairIxs = exports.stockSplits = exports.tickerChanges = exports.getAssetClassFromGroupIndex = exports.parentToSyntheticPairMap = exports.syntheticPairs = exports.pairs = void 0;
4
+ const CRYPTO = "crypto";
5
+ const FOREX = "forex";
6
+ const STOCKS = "stocks";
7
+ const INDICES = "indices";
8
+ const COMMODITIES = "commodities";
9
+ exports.pairs = {
10
+ "BTC/USD": CRYPTO,
11
+ "ETH/USD": CRYPTO,
12
+ "LINK/USD": CRYPTO,
13
+ "DOGE/USD": CRYPTO,
14
+ "MATIC/USD": CRYPTO,
15
+ "ADA/USD": CRYPTO,
16
+ "SUSHI/USD": CRYPTO,
17
+ "AAVE/USD": CRYPTO,
18
+ "ALGO/USD": CRYPTO,
19
+ "BAT/USD": CRYPTO,
20
+ "COMP/USD": CRYPTO,
21
+ "DOT/USD": CRYPTO,
22
+ "EOS/USD": CRYPTO,
23
+ "LTC/USD": CRYPTO,
24
+ "MANA/USD": CRYPTO,
25
+ "OMG/USD": CRYPTO,
26
+ "SNX/USD": CRYPTO,
27
+ "UNI/USD": CRYPTO,
28
+ "XLM/USD": CRYPTO,
29
+ "XRP/USD": CRYPTO,
30
+ "ZEC/USD": CRYPTO,
31
+ "EUR/USD": FOREX,
32
+ "USD/JPY": FOREX,
33
+ "GBP/USD": FOREX,
34
+ "USD/CHF": FOREX,
35
+ "AUD/USD": FOREX,
36
+ "USD/CAD": FOREX,
37
+ "NZD/USD": FOREX,
38
+ "EUR/CHF": FOREX,
39
+ "EUR/JPY": FOREX,
40
+ "EUR/GBP": FOREX,
41
+ "LUNA/USD": CRYPTO,
42
+ "YFI/USD": CRYPTO,
43
+ "SOL/USD": CRYPTO,
44
+ "XTZ/USD": CRYPTO,
45
+ "BCH/USD": CRYPTO,
46
+ "BNT/USD": CRYPTO,
47
+ "CRV/USD": CRYPTO,
48
+ "DASH/USD": CRYPTO,
49
+ "ETC/USD": CRYPTO,
50
+ "ICP/USD": CRYPTO,
51
+ "MKR/USD": CRYPTO,
52
+ "NEO/USD": CRYPTO,
53
+ "THETA/USD": CRYPTO,
54
+ "TRX/USD": CRYPTO,
55
+ "ZRX/USD": CRYPTO,
56
+ "SAND/USD": CRYPTO,
57
+ "BNB/USD": CRYPTO,
58
+ "AXS/USD": CRYPTO,
59
+ "GRT/USD": CRYPTO,
60
+ "HBAR/USD": CRYPTO,
61
+ "XMR/USD": CRYPTO,
62
+ "ENJ/USD": CRYPTO,
63
+ "FTM/USD": CRYPTO,
64
+ "FTT/USD": CRYPTO,
65
+ "APE/USD": CRYPTO,
66
+ "CHZ/USD": CRYPTO,
67
+ "SHIB/USD": CRYPTO,
68
+ "AAPL/USD": STOCKS,
69
+ "FB/USD": STOCKS,
70
+ "GOOGL/USD": STOCKS,
71
+ "AMZN/USD": STOCKS,
72
+ "MSFT/USD": STOCKS,
73
+ "TSLA/USD": STOCKS,
74
+ "SNAP/USD": STOCKS,
75
+ "NVDA/USD": STOCKS,
76
+ "V/USD": STOCKS,
77
+ "MA/USD": STOCKS,
78
+ "PFE/USD": STOCKS,
79
+ "KO/USD": STOCKS,
80
+ "DIS/USD": STOCKS,
81
+ "GME/USD": STOCKS,
82
+ "NKE/USD": STOCKS,
83
+ "AMD/USD": STOCKS,
84
+ "PYPL/USD": STOCKS,
85
+ "ABNB/USD": STOCKS,
86
+ "BA/USD": STOCKS,
87
+ "SBUX/USD": STOCKS,
88
+ "WMT/USD": STOCKS,
89
+ "INTC/USD": STOCKS,
90
+ "MCD/USD": STOCKS,
91
+ "META/USD": STOCKS,
92
+ "GOOGL_1/USD": STOCKS,
93
+ "GME_1/USD": STOCKS,
94
+ "AMZN_1/USD": STOCKS,
95
+ "TSLA_1/USD": STOCKS,
96
+ "SPY/USD": INDICES,
97
+ "QQQ/USD": INDICES,
98
+ "IWM/USD": INDICES,
99
+ "DIA/USD": INDICES,
100
+ "XAU/USD": COMMODITIES,
101
+ "XAG/USD": COMMODITIES,
102
+ "USD/CNH": FOREX,
103
+ "USD/SGD": FOREX,
104
+ "EUR/SEK": FOREX,
105
+ "USD/KRW": FOREX,
106
+ "EUR/NOK": FOREX,
107
+ "USD/INR": FOREX,
108
+ "USD/MXN": FOREX,
109
+ "USD/TWD": FOREX,
110
+ "USD/ZAR": FOREX,
111
+ "USD/BRL": FOREX,
112
+ "AVAX/USD": CRYPTO,
113
+ "ATOM/USD": CRYPTO,
114
+ "NEAR/USD": CRYPTO,
115
+ "QNT/USD": CRYPTO,
116
+ "IOTA/USD": CRYPTO,
117
+ "TON/USD": CRYPTO,
118
+ "RPL/USD": CRYPTO,
119
+ "ARB/USD": CRYPTO,
120
+ "EUR/AUD": FOREX,
121
+ "EUR/NZD": FOREX,
122
+ "EUR/CAD": FOREX,
123
+ "GBP/AUD": FOREX,
124
+ "GBP/NZD": FOREX,
125
+ "GBP/CAD": FOREX,
126
+ "GBP/CHF": FOREX,
127
+ "GBP/JPY": FOREX,
128
+ "AUD/NZD": FOREX,
129
+ "AUD/CAD": FOREX,
130
+ "AUD/CHF": FOREX,
131
+ "AUD/JPY": FOREX,
132
+ "NZD/CAD": FOREX,
133
+ "NZD/CHF": FOREX,
134
+ "NZD/JPY": FOREX,
135
+ "CAD/CHF": FOREX,
136
+ "CAD/JPY": FOREX,
137
+ "CHF/JPY": FOREX,
138
+ "LDO/USD": CRYPTO,
139
+ "INJ/USD": CRYPTO,
140
+ "RUNE/USD": CRYPTO,
141
+ "CAKE/USD": CRYPTO,
142
+ "FXS/USD": CRYPTO,
143
+ "TWT/USD": CRYPTO,
144
+ "PEPE/USD": CRYPTO,
145
+ "DYDX/USD": CRYPTO,
146
+ "GMX/USD": CRYPTO,
147
+ "FIL/USD": CRYPTO,
148
+ "APT/USD": CRYPTO,
149
+ "IMX/USD": CRYPTO,
150
+ "VET/USD": CRYPTO,
151
+ "OP/USD": CRYPTO,
152
+ "RNDR/USD": CRYPTO,
153
+ "EGLD/USD": CRYPTO,
154
+ "TIA/USD": CRYPTO,
155
+ "STX/USD": CRYPTO,
156
+ "FLOW/USD": CRYPTO,
157
+ "KAVA/USD": CRYPTO,
158
+ "GALA/USD": CRYPTO,
159
+ "MINA/USD": CRYPTO,
160
+ "ORDI/USD": CRYPTO,
161
+ "ILV/USD": CRYPTO,
162
+ "KLAY/USD": CRYPTO,
163
+ "SUI/USD": CRYPTO,
164
+ "BLUR/USD": CRYPTO,
165
+ "FET/USD": CRYPTO,
166
+ "CFX/USD": CRYPTO,
167
+ "BEAM/USD": CRYPTO,
168
+ "AR/USD": CRYPTO,
169
+ "SEI/USD": CRYPTO,
170
+ "BTT/USD": CRYPTO,
171
+ "ROSE/USD": CRYPTO,
172
+ "WOO/USD": CRYPTO,
173
+ "AGIX/USD": CRYPTO,
174
+ "ZIL/USD": CRYPTO,
175
+ "GMT/USD": CRYPTO,
176
+ "ASTR/USD": CRYPTO,
177
+ "1INCH/USD": CRYPTO,
178
+ "FLOKI/USD": CRYPTO,
179
+ "QTUM/USD": CRYPTO,
180
+ "OCEAN/USD": CRYPTO,
181
+ "WLD/USD": CRYPTO,
182
+ "MASK/USD": CRYPTO,
183
+ "CELO/USD": CRYPTO,
184
+ "LRC/USD": CRYPTO,
185
+ "ENS/USD": CRYPTO,
186
+ "MEME/USD": CRYPTO,
187
+ "ANKR/USD": CRYPTO,
188
+ "IOTX/USD": CRYPTO,
189
+ "ICX/USD": CRYPTO,
190
+ "KSM/USD": CRYPTO,
191
+ "RVN/USD": CRYPTO,
192
+ "ANT/USD": CRYPTO,
193
+ "WAVES/USD": CRYPTO,
194
+ "SKL/USD": CRYPTO,
195
+ "SUPER/USD": CRYPTO,
196
+ "BAL/USD": CRYPTO,
197
+ "WTI/USD": COMMODITIES,
198
+ "XPT/USD": COMMODITIES,
199
+ "XPD/USD": COMMODITIES,
200
+ "HG/USD": COMMODITIES,
201
+ "JUP/USD": CRYPTO,
202
+ "MANTA/USD": CRYPTO,
203
+ "BONK/USD": CRYPTO,
204
+ "PENDLE/USD": CRYPTO,
205
+ "OSMO/USD": CRYPTO,
206
+ "ALT/USD": CRYPTO,
207
+ "UMA/USD": CRYPTO,
208
+ "MAGIC/USD": CRYPTO,
209
+ "API3/USD": CRYPTO,
210
+ "STRK/USD": CRYPTO,
211
+ "DYM/USD": CRYPTO,
212
+ "NTRN/USD": CRYPTO,
213
+ "PYTH/USD": CRYPTO,
214
+ "SC/USD": CRYPTO,
215
+ "WIF/USD": CRYPTO,
216
+ "PIXEL/USD": CRYPTO,
217
+ "JTO/USD": CRYPTO,
218
+ "MAVIA/USD": CRYPTO,
219
+ "MYRO/USD": CRYPTO,
220
+ "STG/USD": CRYPTO,
221
+ "BOME/USD": CRYPTO,
222
+ "ETHFI/USD": CRYPTO,
223
+ "METIS/USD": CRYPTO,
224
+ "AEVO/USD": CRYPTO,
225
+ "ONDO/USD": CRYPTO,
226
+ "MNT/USD": CRYPTO,
227
+ "KAS/USD": CRYPTO,
228
+ "RONIN/USD": CRYPTO,
229
+ "ENA/USD": CRYPTO,
230
+ "W/USD": CRYPTO,
231
+ "ZEUS/USD": CRYPTO,
232
+ "TNSR/USD": CRYPTO,
233
+ "TAO/USD": CRYPTO,
234
+ "OMNI/USD": CRYPTO,
235
+ "PRCL/USD": CRYPTO,
236
+ "MERL/USD": CRYPTO,
237
+ "SAFE/USD": CRYPTO,
238
+ "SAGA/USD": CRYPTO,
239
+ "LL/USD": CRYPTO,
240
+ "MSN/USD": CRYPTO,
241
+ "REZ/USD": CRYPTO,
242
+ "NOT/USD": CRYPTO,
243
+ "IO/USD": CRYPTO,
244
+ "BRETT/USD": CRYPTO,
245
+ "ATH/USD": CRYPTO,
246
+ "ZRO/USD": CRYPTO,
247
+ "ZK/USD": CRYPTO,
248
+ "LISTA/USD": CRYPTO,
249
+ "BLAST/USD": CRYPTO,
250
+ "RATS/USD": CRYPTO,
251
+ "BNX/USD": CRYPTO,
252
+ "PEOPLE/USD": CRYPTO,
253
+ "TURBO/USD": CRYPTO,
254
+ "SATS/USD": CRYPTO,
255
+ "POPCAT/USD": CRYPTO,
256
+ "MOG/USD": CRYPTO,
257
+ "OM/USD": CRYPTO,
258
+ "CORE/USD": CRYPTO,
259
+ "JASMY/USD": CRYPTO,
260
+ "DAR/USD": CRYPTO,
261
+ "MEW/USD": CRYPTO,
262
+ "DEGEN/USD": CRYPTO,
263
+ "SLERF/USD": CRYPTO,
264
+ "UXLINK/USD": CRYPTO,
265
+ "AVAIL/USD": CRYPTO,
266
+ "BANANA/USD": CRYPTO,
267
+ "RARE/USD": CRYPTO,
268
+ "SYS/USD": CRYPTO,
269
+ "NMR/USD": CRYPTO,
270
+ "RSR/USD": CRYPTO,
271
+ "SYN/USD": CRYPTO,
272
+ "AUCTION/USD": CRYPTO,
273
+ "ALICE/USD": CRYPTO,
274
+ "SUN/USD": CRYPTO,
275
+ "TRB/USD": CRYPTO,
276
+ "DOGS/USD": CRYPTO,
277
+ "SSV/USD": CRYPTO,
278
+ "PONKE/USD": CRYPTO,
279
+ "POL/USD": CRYPTO,
280
+ "RDNT/USD": CRYPTO,
281
+ "FLUX/USD": CRYPTO,
282
+ "NEIRO/USD": CRYPTO,
283
+ "SUNDOG/USD": CRYPTO,
284
+ "CAT/USD": CRYPTO,
285
+ "BABYDOGE/USD": CRYPTO,
286
+ "REEF/USD": CRYPTO,
287
+ "CKB/USD": CRYPTO,
288
+ "CATI/USD": CRYPTO,
289
+ "LOOM/USD": CRYPTO,
290
+ "ZETA/USD": CRYPTO,
291
+ "HMSTR/USD": CRYPTO,
292
+ "EIGEN/USD": CRYPTO,
293
+ "POLYX/USD": CRYPTO,
294
+ "MOODENG/USD": CRYPTO,
295
+ "MOTHER/USD": CRYPTO,
296
+ "AERO/USD": CRYPTO,
297
+ "CVC/USD": CRYPTO,
298
+ "NEIROCTO/USD": CRYPTO,
299
+ "ARK/USD": CRYPTO,
300
+ "NPC/USD": CRYPTO,
301
+ "ORBS/USD": CRYPTO,
302
+ "APU/USD": CRYPTO,
303
+ "BSV/USD": CRYPTO,
304
+ "HIPPO/USD": CRYPTO,
305
+ "GOAT/USD": CRYPTO,
306
+ "DOG/USD": CRYPTO,
307
+ "HOT/USD": CRYPTO,
308
+ "STORJ/USD": CRYPTO,
309
+ "RAY/USD": CRYPTO,
310
+ "BTCDEGEN/USD": CRYPTO,
311
+ "PNUT/USD": CRYPTO,
312
+ "ACT/USD": CRYPTO,
313
+ "GRASS/USD": CRYPTO,
314
+ "ZEN/USD": CRYPTO,
315
+ "LUMIA/USD": CRYPTO,
316
+ "ALPH/USD": CRYPTO,
317
+ "VIRTUAL/USD": CRYPTO,
318
+ "SPX/USD": CRYPTO,
319
+ "ACX/USD": CRYPTO,
320
+ "CHILLGUY/USD": CRYPTO,
321
+ "CHEX/USD": CRYPTO,
322
+ "BITCOIN/USD": CRYPTO,
323
+ "ETHDEGEN/USD": CRYPTO,
324
+ "SOLDEGEN/USD": CRYPTO,
325
+ "MOVE/USD": CRYPTO,
326
+ "ME/USD": CRYPTO,
327
+ "COW/USD": CRYPTO,
328
+ "AVA/USD": CRYPTO,
329
+ "USUAL/USD": CRYPTO,
330
+ "PENGU/USD": CRYPTO,
331
+ "FARTCOIN/USD": CRYPTO,
332
+ "ZEREBRO/USD": CRYPTO,
333
+ "AI16Z/USD": CRYPTO,
334
+ "AIXBT/USD": CRYPTO,
335
+ "BIO/USD": CRYPTO,
336
+ "XRPDEGEN/USD": CRYPTO,
337
+ "BNBDEGEN/USD": CRYPTO,
338
+ "TRUMP/USD": CRYPTO,
339
+ "MELANIA/USD": CRYPTO,
340
+ "MODE/USD": CRYPTO,
341
+ "HYPE/USD": CRYPTO,
342
+ "S/USD": CRYPTO,
343
+ "ARC/USD": CRYPTO,
344
+ "ARKM/USD": CRYPTO,
345
+ "GRIFFAIN/USD": CRYPTO,
346
+ "SWARMS/USD": CRYPTO,
347
+ "ANIME/USD": CRYPTO,
348
+ "PLUME/USD": CRYPTO,
349
+ "VVV/USD": CRYPTO,
350
+ "VINE/USD": CRYPTO,
351
+ "TOSHI/USD": CRYPTO,
352
+ "BERA/USD": CRYPTO,
353
+ "LAYER/USD": CRYPTO,
354
+ "CHEEMS/USD": CRYPTO,
355
+ "SOLV/USD": CRYPTO,
356
+ "TST/USD": CRYPTO,
357
+ "IP/USD": CRYPTO,
358
+ "KAITO/USD": CRYPTO,
359
+ "ELX/USD": CRYPTO,
360
+ "PI/USD": CRYPTO,
361
+ "SHELL/USD": CRYPTO,
362
+ "BMT/USD": CRYPTO,
363
+ "BROCCOLI/USD": CRYPTO,
364
+ "TUT/USD": CRYPTO,
365
+ "GPS/USD": CRYPTO,
366
+ "RED/USD": CRYPTO,
367
+ "MUBARAK/USD": CRYPTO,
368
+ "FORM/USD": CRYPTO,
369
+ "WAL/USD": CRYPTO,
370
+ "NIL/USD": CRYPTO,
371
+ "PARTI/USD": CRYPTO,
372
+ "SIREN/USD": CRYPTO,
373
+ "BANANAS31/USD": CRYPTO,
374
+ "HYPER/USD": CRYPTO,
375
+ "PROMPT/USD": CRYPTO,
376
+ "RFC/USD": CRYPTO,
377
+ "WCT/USD": CRYPTO,
378
+ "BIGTIME/USD": CRYPTO,
379
+ "BABY/USD": CRYPTO,
380
+ };
381
+ exports.syntheticPairs = new Set([
382
+ "BTCDEGEN/USD",
383
+ "ETHDEGEN/USD",
384
+ "SOLDEGEN/USD",
385
+ "XRPDEGEN/USD",
386
+ "BNBDEGEN/USD",
387
+ ]);
388
+ exports.parentToSyntheticPairMap = new Map([
389
+ ["BTC/USD", "BTCDEGEN/USD"],
390
+ ["ETH/USD", "ETHDEGEN/USD"],
391
+ ["SOL/USD", "SOLDEGEN/USD"],
392
+ ["XRP/USD", "XRPDEGEN/USD"],
393
+ ["BNB/USD", "BNBDEGEN/USD"],
394
+ ]);
395
+ const getAssetClassFromGroupIndex = (groupIndex) => {
396
+ switch (groupIndex) {
397
+ case 0:
398
+ case 10:
399
+ case 11:
400
+ return CRYPTO;
401
+ case 1:
402
+ case 8:
403
+ case 9:
404
+ return FOREX;
405
+ case 2:
406
+ case 3:
407
+ case 4:
408
+ return STOCKS;
409
+ case 5:
410
+ return INDICES;
411
+ case 6:
412
+ case 7:
413
+ return COMMODITIES;
414
+ }
415
+ };
416
+ exports.getAssetClassFromGroupIndex = getAssetClassFromGroupIndex;
417
+ exports.tickerChanges = {
418
+ FB: { newTicker: "META", date: "06/09/2022" },
419
+ };
420
+ exports.stockSplits = {
421
+ "AMZN_1/USD": { date: "6/6/2022", split: 20 },
422
+ "GOOGL_1/USD": { date: "7/18/2022", split: 20 },
423
+ "GME_1/USD": { date: "7/22/2022", split: 4 },
424
+ "TSLA_1/USD": { date: "8/25/2022", split: 3 },
425
+ };
426
+ exports.delistedPairIxs = new Set([
427
+ 4, 6, 15, 24, 25, 27, 28, 30, 31, 36, 48, 51, 52, 53, 54, 56, 59, 60, 61, 63,
428
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 95, 96, 97, 98,
429
+ 99, 101, 106, 111, 113, 114, 116, 118, 120, 122, 123, 125, 127, 130, 147, 152,
430
+ 160, 163, 170, 179, 182, 183, 187, 188, 189, 190, 208, 209, 225, 229, 230,
431
+ 231, 238, 239, 241, 250, 253, 254, 258, 270, 275, 276, 278, 279, 282, 285,
432
+ 290, 294, 296, 305, 330, 349, 352, 353, 354, 355, 357, 365, 366,
433
+ ]);
434
+ exports.delistedGroupsIxs = new Set([6, 7]);
435
+ exports.DEFAULT_PROTECTION_CLOSE_FACTOR = 1;
436
+ exports.DEFAULT_CUMULATIVE_FACTOR = 1;
@@ -0,0 +1,3 @@
1
+ import { CollateralTypes, ContractAddresses } from "./types";
2
+ export declare const getContractAddressesForChain: (chainId: number, collateral?: CollateralTypes) => ContractAddresses;
3
+ export declare const getCollateralByAddressForChain: (chainId: number, address: string) => CollateralTypes;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getCollateralByAddressForChain = exports.getContractAddressesForChain = void 0;
7
+ const types_1 = require("./types");
8
+ const addresses_json_1 = __importDefault(require("./addresses.json"));
9
+ const getContractAddressesForChain = (chainId, collateral = types_1.CollateralTypes.DAI) => {
10
+ const _addresses = addresses_json_1.default;
11
+ if (!_addresses[chainId]) {
12
+ throw new Error(`Unknown chain id (${chainId}). No known contracts have been deployed on this chain.`);
13
+ }
14
+ if (!_addresses[chainId][collateral]) {
15
+ throw new Error(`Unknown collateral (${collateral}) for chain id (${chainId}). No known contracts have been deployed for this collateral.`);
16
+ }
17
+ return Object.assign(Object.assign({}, _addresses[chainId]["global"]), _addresses[chainId][collateral]);
18
+ };
19
+ exports.getContractAddressesForChain = getContractAddressesForChain;
20
+ const getCollateralByAddressForChain = (chainId, address) => {
21
+ const _addresses = addresses_json_1.default;
22
+ if (!_addresses[chainId]) {
23
+ throw new Error(`Unknown chain id (${chainId}). No known contracts have been deployed on this chain.`);
24
+ }
25
+ for (const collateral in types_1.CollateralTypes) {
26
+ if (Object.values(_addresses[chainId][collateral] || {}).some(contract => contract.toLowerCase() === address.toLowerCase()))
27
+ return collateral;
28
+ }
29
+ throw new Error(`Unable to find collateral for address (${address}) and chain id (${chainId}). No known contracts match requested address.`);
30
+ };
31
+ exports.getCollateralByAddressForChain = getCollateralByAddressForChain;
@@ -0,0 +1,127 @@
1
+ {
2
+ "137": {
3
+ "global": {
4
+ "gnsMultiCollatDiamond": "0x209A9A01980377916851af2cA075C2b170452018"
5
+ },
6
+ "DAI": {
7
+ "gTokenOpenPnlFeed": "0x8d687276543b92819F2f2B5C3faad4AD27F4440c",
8
+ "gToken": "0x91993f2101cc758D0dEB7279d41e880F7dEFe827"
9
+ },
10
+ "ETH": {
11
+ "gTokenOpenPnlFeed": "0xF07f4507DD6A057Aea509cB9b218B7C4D1894473",
12
+ "gToken": "0x1544E1fF1a6f6Bdbfb901622C12bb352a43464Fb"
13
+ },
14
+ "USDC": {
15
+ "gTokenOpenPnlFeed": "0xFF84e736A15F80E7E104e153d7f7D6c9bd6fE822",
16
+ "gToken": "0x29019Fe2e72E8d4D2118E8D0318BeF389ffe2C81"
17
+ },
18
+ "APE": {
19
+ "gTokenOpenPnlFeed": "0x0000000000000000000000000000000000000000",
20
+ "gToken": "0x0000000000000000000000000000000000000000"
21
+ },
22
+ "GNS": {
23
+ "gTokenOpenPnlFeed": "0x0000000000000000000000000000000000000000",
24
+ "gToken": "0x0000000000000000000000000000000000000000"
25
+ }
26
+ },
27
+ "42161": {
28
+ "global": {
29
+ "gnsMultiCollatDiamond": "0xFF162c694eAA571f685030649814282eA457f169"
30
+ },
31
+ "DAI": {
32
+ "gTokenOpenPnlFeed": "0x990BA9Edd8a9615A23E4c452E63A80e519A4a23D",
33
+ "gToken": "0xd85E038593d7A098614721EaE955EC2022B9B91B"
34
+ },
35
+ "ETH": {
36
+ "gTokenOpenPnlFeed": "0x018D9A3F0D06cCb7C305B7C9219a4307e1f9f27e",
37
+ "gToken": "0x5977A9682D7AF81D347CFc338c61692163a2784C"
38
+ },
39
+ "USDC": {
40
+ "gTokenOpenPnlFeed": "0xBF55C78132ab06a2B217040b7A7F20B5cBD47982",
41
+ "gToken": "0xd3443ee1e91aF28e5FB858Fbd0D72A63bA8046E0"
42
+ },
43
+ "APE": {
44
+ "gTokenOpenPnlFeed": "0x0000000000000000000000000000000000000000",
45
+ "gToken": "0x0000000000000000000000000000000000000000"
46
+ },
47
+ "GNS": {
48
+ "gTokenOpenPnlFeed": "0x4ca1638754Be8060E544Aca4A4F43702Be30E0D1",
49
+ "gToken": "0x4BeeF1113F968326905224D2Ca272f3032A9a9F4"
50
+ }
51
+ },
52
+ "421614": {
53
+ "global": {
54
+ "gnsMultiCollatDiamond": "0xd659a15812064C79E189fd950A189b15c75d3186"
55
+ },
56
+ "DAI": {
57
+ "gTokenOpenPnlFeed": "0x371a924C2DC433D0C83b67Ff71A4CBd2013b5046",
58
+ "gToken": "0xD6e33C7560009D60052d7A5E0476A8Db295bF8C7"
59
+ },
60
+ "ETH": {
61
+ "gTokenOpenPnlFeed": "0xab1042C2767461D59ABC9547b3B717ccae3Eb7C9",
62
+ "gToken": "0xfd7E69042812f3416C18261673b55eD005F67E01"
63
+ },
64
+ "USDC": {
65
+ "gTokenOpenPnlFeed": "0x38e6cEFcE96bdB65D64Fce8f4736b3763A5F9eD2",
66
+ "gToken": "0xb0C25646774Ad985B4f9ccD262623bA6D6F64677"
67
+ },
68
+ "APE": {
69
+ "gTokenOpenPnlFeed": "0x0000000000000000000000000000000000000000",
70
+ "gToken": "0x0000000000000000000000000000000000000000"
71
+ },
72
+ "GNS": {
73
+ "gTokenOpenPnlFeed": "0x68F8D4ec2EF23a15e61e1642E730b6f69fB9A5De",
74
+ "gToken": "0x5ed4bEA869300DB39bE2a92a8B42e53453742a43"
75
+ }
76
+ },
77
+ "8453": {
78
+ "global": {
79
+ "gnsMultiCollatDiamond": "0x6cD5aC19a07518A8092eEFfDA4f1174C72704eeb"
80
+ },
81
+ "DAI": {
82
+ "gTokenOpenPnlFeed": "0x0000000000000000000000000000000000000000",
83
+ "gToken": "0x0000000000000000000000000000000000000000"
84
+ },
85
+ "ETH": {
86
+ "gTokenOpenPnlFeed": "0x0000000000000000000000000000000000000000",
87
+ "gToken": "0x0000000000000000000000000000000000000000"
88
+ },
89
+ "USDC": {
90
+ "gTokenOpenPnlFeed": "0xefA1C2753daD877Bb6531bBa9D9c589B5433Be37",
91
+ "gToken": "0xad20523A7dC37bAbc1CC74897E4977232b3D02e5"
92
+ },
93
+ "APE": {
94
+ "gTokenOpenPnlFeed": "0x0000000000000000000000000000000000000000",
95
+ "gToken": "0x0000000000000000000000000000000000000000"
96
+ },
97
+ "GNS": {
98
+ "gTokenOpenPnlFeed": "0x0000000000000000000000000000000000000000",
99
+ "gToken": "0x0000000000000000000000000000000000000000"
100
+ }
101
+ },
102
+ "33139": {
103
+ "global": {
104
+ "gnsMultiCollatDiamond": "0x2BE5D7058AdBa14Bc38E4A83E94A81f7491b0163"
105
+ },
106
+ "DAI": {
107
+ "gTokenOpenPnlFeed": "0x0000000000000000000000000000000000000000",
108
+ "gToken": "0x0000000000000000000000000000000000000000"
109
+ },
110
+ "ETH": {
111
+ "gTokenOpenPnlFeed": "0x0000000000000000000000000000000000000000",
112
+ "gToken": "0x0000000000000000000000000000000000000000"
113
+ },
114
+ "USDC": {
115
+ "gTokenOpenPnlFeed": "0x0000000000000000000000000000000000000000",
116
+ "gToken": "0x0000000000000000000000000000000000000000"
117
+ },
118
+ "APE": {
119
+ "gTokenOpenPnlFeed": "0x33FE6f374C4a44C50F4362c93372f0EB09d968F5",
120
+ "gToken": "0xDd9C98e5022AF88B9c991ab24F02B4A8Be81D860"
121
+ },
122
+ "GNS": {
123
+ "gTokenOpenPnlFeed": "0x0000000000000000000000000000000000000000",
124
+ "gToken": "0x0000000000000000000000000000000000000000"
125
+ }
126
+ }
127
+ }
@@ -0,0 +1,14 @@
1
+ import type { Signer } from "ethers";
2
+ import type { Provider } from "@ethersproject/providers";
3
+ import { ChainId, CollateralTypes, Contracts } from "./types";
4
+ export declare const getContractsForChain: (chainId: number, signerOrProvider?: Signer | Provider, collateral?: CollateralTypes) => Contracts;
5
+ export declare const getContractsForChainByRequester: (chainId: number, requester: string, signerOrProvider?: Signer | Provider) => Contracts;
6
+ export declare const getCollateralIndexAndContractsForChainByRequester: (chainId: number, requester: string, signerOrProvider?: Signer | Provider) => {
7
+ contracts: Contracts;
8
+ collateralIndex: number;
9
+ };
10
+ export declare const COLLATERAL_TO_CHAIN_COLLATERAL_INDEX: Record<ChainId, Partial<Record<CollateralTypes, number>>>;
11
+ export declare const COLLATERAL_TO_COLLATERAL_INDEX: Record<CollateralTypes, number>;
12
+ export * from "./utils";
13
+ export * from "./addresses";
14
+ export { CollateralTypes } from "./types";