@stabilitydao/host 0.2.1

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.
package/src/chains.ts ADDED
@@ -0,0 +1,604 @@
1
+ /** Blockchains data */
2
+
3
+ export interface IChain {
4
+ name: ChainName;
5
+ chainId: number | string;
6
+ status: ChainStatus;
7
+ img: string;
8
+ }
9
+
10
+ export enum ChainStatus {
11
+ SUPPORTED = "SUPPORTED",
12
+ DEVELOPMENT = "DEVELOPMENT",
13
+ NOT_SUPPORTED = "NOT_SUPPORTED",
14
+ }
15
+
16
+ export enum ChainName {
17
+ ETHEREUM = "Ethereum",
18
+ ARBITRUM = "Arbitrum One",
19
+ BASE = "Base",
20
+ POLYGON = "Polygon",
21
+ AVALANCHE = "Avalanche",
22
+ BSC = "BNB Chain",
23
+ CELO = "Celo",
24
+ FANTOM = "Fantom",
25
+ LINEA = "Linea",
26
+ GNOSIS = "Gnosis",
27
+ METIS = "Metis Andromeda",
28
+ MOONBEAM = "Moonbeam",
29
+ MOONRIVER = "Moonriver",
30
+ OPTIMISM = "Optimism",
31
+ POLYGON_ZKEVM = "Polygon zkEVM",
32
+ IMMUTABLE_ZKEVM = "Immutable zkEVM",
33
+ ASTAR_ZKEVM = "Astar zkEVM",
34
+ ZKFAIR = "ZKFair",
35
+ SCROLL = "Scroll",
36
+ ZKSYNC = "zkSync",
37
+ BLAST = "Blast",
38
+ MANTA = "Manta Pacific",
39
+ MANTLE = "Mantle",
40
+ MODE = "Mode",
41
+ BOBA = "Boba",
42
+ KLAYTN = "Klaytn Cypress",
43
+ AURORA = "Aurora",
44
+ DOGECHAIN = "Dogechain",
45
+ X_LAYER = "X Layer",
46
+ KAVA = "Kava",
47
+ FRAXTAL = "Fraxtal",
48
+ ROLLUX = "Rollux",
49
+ EVMOS = "Evmos",
50
+ TELOS = "Telos EVM",
51
+ ZETA = "ZetaChain",
52
+ MERLIN = "Merlin",
53
+ SKALE_EUROPA = "SKALE Europa",
54
+ SEI = "Sei",
55
+ ARBITRUM_NOVA = "Arbitrum Nova",
56
+ BITTORRENT = "BitTorrent Chain",
57
+ CORE = "Core",
58
+ FILECOIN = "Filecoin",
59
+ FUSE = "Fuse",
60
+ HAQQ = "Haqq",
61
+ ROOTSTOCK = "Rootstock",
62
+ THUNDERCORE = "ThunderCore",
63
+ KROMA = "Kroma",
64
+ WEMIX = "WEMIX3.0",
65
+ REAL = "Re.al",
66
+ HEDERA = "Hedera",
67
+ ZORA = "Zora",
68
+ TAIKO = "Taiko",
69
+ GRAVITY = "Gravity Alpha",
70
+ FLARE = "Flare",
71
+ IOTA = "IOTA EVM",
72
+ RARI = "Rari",
73
+ OPBNB = "opBNB",
74
+ CYBER = "Cyber",
75
+ MINT = "Mint",
76
+ ZIRCUIT = "Zircuit",
77
+ BITLAYER = "Bitlayer",
78
+ ZKLINK = "zkLink Nova",
79
+ BOUNCEBIT = "BounceBit",
80
+ BOB = "BOB",
81
+ CARBON = "Carbon",
82
+ XPLA = "Xpla",
83
+ BEVM = "BEVM",
84
+ DYMENSION = "Dymension",
85
+ HELA = "Hela",
86
+ ASSET_CHAIN = "Asset Chain",
87
+ SONIC = "Sonic",
88
+ TRON = "Tron",
89
+ HYPERLIQUID = "Hyperliquid",
90
+ CRONOS = "Cronos",
91
+ KATANA = "Katana",
92
+ PLASMA = "Plasma",
93
+ ETHERLINK = "Etherlink",
94
+ }
95
+
96
+ export const chains: { [chainId: string]: IChain } = {
97
+ "1": {
98
+ name: ChainName.ETHEREUM,
99
+ chainId: 1,
100
+ status: ChainStatus.NOT_SUPPORTED,
101
+ img: "ethereum.svg",
102
+ },
103
+ "10": {
104
+ name: ChainName.OPTIMISM,
105
+ chainId: 10,
106
+ status: ChainStatus.NOT_SUPPORTED,
107
+ img: "optimism.svg",
108
+ },
109
+ "14": {
110
+ name: ChainName.FLARE,
111
+ chainId: 14,
112
+ status: ChainStatus.NOT_SUPPORTED,
113
+ img: "flare.png",
114
+ },
115
+ "25": {
116
+ name: ChainName.CRONOS,
117
+ chainId: 25,
118
+ status: ChainStatus.NOT_SUPPORTED,
119
+ img: "cronos.svg",
120
+ },
121
+ "30": {
122
+ name: ChainName.ROOTSTOCK,
123
+ chainId: 30,
124
+ status: ChainStatus.NOT_SUPPORTED,
125
+ img: "rootstock.svg",
126
+ },
127
+ "37": {
128
+ name: ChainName.XPLA,
129
+ chainId: 37,
130
+ status: ChainStatus.NOT_SUPPORTED,
131
+ img: "xpla.png",
132
+ },
133
+ "40": {
134
+ name: ChainName.TELOS,
135
+ chainId: 40,
136
+ status: ChainStatus.NOT_SUPPORTED,
137
+ img: "telos.svg",
138
+ },
139
+ "56": {
140
+ name: ChainName.BSC,
141
+ chainId: 56,
142
+ status: ChainStatus.NOT_SUPPORTED,
143
+ img: "bsc.svg",
144
+ },
145
+ "999": {
146
+ name: ChainName.HYPERLIQUID,
147
+ chainId: 999,
148
+ status: ChainStatus.NOT_SUPPORTED,
149
+ img: "Hyperliquid.png",
150
+ },
151
+ "100": {
152
+ name: ChainName.GNOSIS,
153
+ chainId: 100,
154
+ status: ChainStatus.NOT_SUPPORTED,
155
+ img: "gnosis.svg",
156
+ },
157
+ "108": {
158
+ name: ChainName.THUNDERCORE,
159
+ chainId: 108,
160
+ status: ChainStatus.NOT_SUPPORTED,
161
+ img: "thundercore.png",
162
+ },
163
+ "122": {
164
+ name: ChainName.FUSE,
165
+ chainId: 122,
166
+ status: ChainStatus.NOT_SUPPORTED,
167
+ img: "fuse.svg",
168
+ },
169
+ "137": {
170
+ name: ChainName.POLYGON,
171
+ chainId: 137,
172
+ status: ChainStatus.NOT_SUPPORTED,
173
+ img: "polygon.svg",
174
+ },
175
+ "146": {
176
+ name: ChainName.SONIC,
177
+ chainId: 146,
178
+ status: ChainStatus.DEVELOPMENT,
179
+ img: "sonic.png",
180
+ },
181
+ "169": {
182
+ name: ChainName.MANTA,
183
+ chainId: 169,
184
+ status: ChainStatus.NOT_SUPPORTED,
185
+ img: "manta.svg",
186
+ },
187
+ "185": {
188
+ name: ChainName.MINT,
189
+ chainId: 185,
190
+ status: ChainStatus.NOT_SUPPORTED,
191
+ img: "mint.png",
192
+ },
193
+ "196": {
194
+ name: ChainName.X_LAYER,
195
+ chainId: 196,
196
+ status: ChainStatus.NOT_SUPPORTED,
197
+ img: "x-layer.svg",
198
+ },
199
+ "199": {
200
+ name: ChainName.BITTORRENT,
201
+ chainId: 199,
202
+ status: ChainStatus.NOT_SUPPORTED,
203
+ img: "bittorrent.svg",
204
+ },
205
+ "204": {
206
+ name: ChainName.OPBNB,
207
+ chainId: 204,
208
+ status: ChainStatus.NOT_SUPPORTED,
209
+ img: "opbnb.png",
210
+ },
211
+ "250": {
212
+ name: ChainName.FANTOM,
213
+ chainId: 250,
214
+ status: ChainStatus.NOT_SUPPORTED,
215
+ img: "fantom.png",
216
+ },
217
+ "252": {
218
+ name: ChainName.FRAXTAL,
219
+ chainId: 252,
220
+ status: ChainStatus.NOT_SUPPORTED,
221
+ img: "fraxtal.png",
222
+ },
223
+ "255": {
224
+ name: ChainName.KROMA,
225
+ chainId: 255,
226
+ status: ChainStatus.NOT_SUPPORTED,
227
+ img: "kroma.svg",
228
+ },
229
+ "288": {
230
+ name: ChainName.BOBA,
231
+ chainId: 288,
232
+ status: ChainStatus.NOT_SUPPORTED,
233
+ img: "boba.svg",
234
+ },
235
+ "295": {
236
+ name: ChainName.HEDERA,
237
+ chainId: 295,
238
+ status: ChainStatus.NOT_SUPPORTED,
239
+ img: "hedera.svg",
240
+ },
241
+ "314": {
242
+ name: ChainName.FILECOIN,
243
+ chainId: 314,
244
+ status: ChainStatus.NOT_SUPPORTED,
245
+ img: "filecoin.png",
246
+ },
247
+ "324": {
248
+ name: ChainName.ZKSYNC,
249
+ chainId: 324,
250
+ status: ChainStatus.NOT_SUPPORTED,
251
+ img: "zksync.svg",
252
+ },
253
+ "570": {
254
+ name: ChainName.ROLLUX,
255
+ chainId: 570,
256
+ status: ChainStatus.NOT_SUPPORTED,
257
+ img: "rollux.svg",
258
+ },
259
+ "1088": {
260
+ name: ChainName.METIS,
261
+ chainId: 1088,
262
+ status: ChainStatus.NOT_SUPPORTED,
263
+ img: "metis.svg",
264
+ },
265
+ "1100": {
266
+ name: ChainName.DYMENSION,
267
+ chainId: 1100,
268
+ status: ChainStatus.NOT_SUPPORTED,
269
+ img: "dymension.svg",
270
+ },
271
+ "1101": {
272
+ name: ChainName.POLYGON_ZKEVM,
273
+ chainId: 1101,
274
+ status: ChainStatus.NOT_SUPPORTED,
275
+ img: "polygon-zkevm.png",
276
+ },
277
+ "1111": {
278
+ name: ChainName.WEMIX,
279
+ chainId: 1111,
280
+ status: ChainStatus.NOT_SUPPORTED,
281
+ img: "wemix.svg",
282
+ },
283
+ "1116": {
284
+ name: ChainName.CORE,
285
+ chainId: 1116,
286
+ status: ChainStatus.NOT_SUPPORTED,
287
+ img: "core-blockchain.svg",
288
+ },
289
+ "1284": {
290
+ name: ChainName.MOONBEAM,
291
+ chainId: 1284,
292
+ status: ChainStatus.NOT_SUPPORTED,
293
+ img: "moonbeam.png",
294
+ },
295
+ "1285": {
296
+ name: ChainName.MOONRIVER,
297
+ chainId: 1285,
298
+ status: ChainStatus.NOT_SUPPORTED,
299
+ img: "moonriver.png",
300
+ },
301
+ "1329": {
302
+ name: ChainName.SEI,
303
+ chainId: 1329,
304
+ status: ChainStatus.NOT_SUPPORTED,
305
+ img: "sei.png",
306
+ },
307
+ "1625": {
308
+ name: ChainName.GRAVITY,
309
+ chainId: 1625,
310
+ status: ChainStatus.NOT_SUPPORTED,
311
+ img: "gravity.png",
312
+ },
313
+ "2000": {
314
+ name: ChainName.DOGECHAIN,
315
+ chainId: 2000,
316
+ status: ChainStatus.NOT_SUPPORTED,
317
+ img: "dogechain.png",
318
+ },
319
+ "2222": {
320
+ name: ChainName.KAVA,
321
+ chainId: 2222,
322
+ status: ChainStatus.NOT_SUPPORTED,
323
+ img: "kava.svg",
324
+ },
325
+ "3776": {
326
+ name: ChainName.ASTAR_ZKEVM,
327
+ chainId: 3776,
328
+ status: ChainStatus.NOT_SUPPORTED,
329
+ img: "astar-zkevm.svg",
330
+ },
331
+ "4200": {
332
+ name: ChainName.MERLIN,
333
+ chainId: 4200,
334
+ status: ChainStatus.NOT_SUPPORTED,
335
+ img: "merlin.png",
336
+ },
337
+ "5000": {
338
+ name: ChainName.MANTLE,
339
+ chainId: 5000,
340
+ status: ChainStatus.NOT_SUPPORTED,
341
+ img: "mantle.svg",
342
+ },
343
+ "6001": {
344
+ name: ChainName.BOUNCEBIT,
345
+ chainId: 6001,
346
+ status: ChainStatus.NOT_SUPPORTED,
347
+ img: "bouncebit.png",
348
+ },
349
+ "7000": {
350
+ name: ChainName.ZETA,
351
+ chainId: 7000,
352
+ status: ChainStatus.NOT_SUPPORTED,
353
+ img: "zetachain.svg",
354
+ },
355
+ "7560": {
356
+ name: ChainName.CYBER,
357
+ chainId: 7560,
358
+ status: ChainStatus.NOT_SUPPORTED,
359
+ img: "cyber.svg",
360
+ },
361
+ "8217": {
362
+ name: ChainName.KLAYTN,
363
+ chainId: 8217,
364
+ status: ChainStatus.NOT_SUPPORTED,
365
+ img: "klaytn.svg",
366
+ },
367
+ "8453": {
368
+ name: ChainName.BASE,
369
+ chainId: 8453,
370
+ status: ChainStatus.NOT_SUPPORTED,
371
+ img: "base.svg",
372
+ },
373
+ "8668": {
374
+ name: ChainName.HELA,
375
+ chainId: 8668,
376
+ status: ChainStatus.NOT_SUPPORTED,
377
+ img: "hela.png",
378
+ },
379
+ "8822": {
380
+ name: ChainName.IOTA,
381
+ chainId: 8822,
382
+ status: ChainStatus.NOT_SUPPORTED,
383
+ img: "iota.png",
384
+ },
385
+ "9001": {
386
+ name: ChainName.EVMOS,
387
+ chainId: 9001,
388
+ status: ChainStatus.NOT_SUPPORTED,
389
+ img: "evmos.png",
390
+ },
391
+ "9745": {
392
+ name: ChainName.PLASMA,
393
+ chainId: 9745,
394
+ status: ChainStatus.DEVELOPMENT,
395
+ img: "plasma.webp",
396
+ },
397
+ "9790": {
398
+ name: ChainName.CARBON,
399
+ chainId: 9790,
400
+ status: ChainStatus.NOT_SUPPORTED,
401
+ img: "carbon.svg",
402
+ },
403
+ "11235": {
404
+ name: ChainName.HAQQ,
405
+ chainId: 11235,
406
+ status: ChainStatus.NOT_SUPPORTED,
407
+ img: "haqq.svg",
408
+ },
409
+ "11501": {
410
+ name: ChainName.BEVM,
411
+ chainId: 11501,
412
+ status: ChainStatus.NOT_SUPPORTED,
413
+ img: "bevm.png",
414
+ },
415
+ "13371": {
416
+ name: ChainName.IMMUTABLE_ZKEVM,
417
+ chainId: 13371,
418
+ status: ChainStatus.NOT_SUPPORTED,
419
+ img: "immutable-zkevm.png",
420
+ },
421
+ "34443": {
422
+ name: ChainName.MODE,
423
+ chainId: 34443,
424
+ status: ChainStatus.NOT_SUPPORTED,
425
+ img: "mode.svg",
426
+ },
427
+ "42161": {
428
+ name: ChainName.ARBITRUM,
429
+ chainId: 42161,
430
+ status: ChainStatus.NOT_SUPPORTED,
431
+ img: "arbitrum.svg",
432
+ },
433
+ "42170": {
434
+ name: ChainName.ARBITRUM_NOVA,
435
+ chainId: 42170,
436
+ status: ChainStatus.NOT_SUPPORTED,
437
+ img: "arbitrum-nova.svg",
438
+ },
439
+ "42220": {
440
+ name: ChainName.CELO,
441
+ chainId: 42220,
442
+ status: ChainStatus.NOT_SUPPORTED,
443
+ img: "celo.svg",
444
+ },
445
+ "42420": {
446
+ name: ChainName.ASSET_CHAIN,
447
+ chainId: 42420,
448
+ status: ChainStatus.NOT_SUPPORTED,
449
+ img: "Assetchain.svg",
450
+ },
451
+ "42766": {
452
+ name: ChainName.ZKFAIR,
453
+ chainId: 42766,
454
+ status: ChainStatus.NOT_SUPPORTED,
455
+ img: "zkfair.png",
456
+ },
457
+ "42793": {
458
+ name: ChainName.ETHERLINK,
459
+ chainId: 42793,
460
+ status: ChainStatus.NOT_SUPPORTED,
461
+ img: "etherlink.webp",
462
+ },
463
+ "43114": {
464
+ name: ChainName.AVALANCHE,
465
+ chainId: 43114,
466
+ status: ChainStatus.NOT_SUPPORTED,
467
+ img: "avalanche.png",
468
+ },
469
+ "48900": {
470
+ name: ChainName.ZIRCUIT,
471
+ chainId: 48900,
472
+ status: ChainStatus.NOT_SUPPORTED,
473
+ img: "zircuit.svg",
474
+ },
475
+ "59144": {
476
+ name: ChainName.LINEA,
477
+ chainId: 59144,
478
+ status: ChainStatus.NOT_SUPPORTED,
479
+ img: "linea.svg",
480
+ },
481
+ "60808": {
482
+ name: ChainName.BOB,
483
+ chainId: 60808,
484
+ status: ChainStatus.NOT_SUPPORTED,
485
+ img: "bob.png",
486
+ },
487
+ "81457": {
488
+ name: ChainName.BLAST,
489
+ chainId: 81457,
490
+ status: ChainStatus.NOT_SUPPORTED,
491
+ img: "blast.png",
492
+ },
493
+ "111188": {
494
+ name: ChainName.REAL,
495
+ chainId: 111188,
496
+ status: ChainStatus.NOT_SUPPORTED,
497
+ img: "real.png",
498
+ },
499
+ "167000": {
500
+ name: ChainName.TAIKO,
501
+ chainId: 167000,
502
+ status: ChainStatus.NOT_SUPPORTED,
503
+ img: "taiko.svg",
504
+ },
505
+ "200901": {
506
+ name: ChainName.BITLAYER,
507
+ chainId: 200901,
508
+ status: ChainStatus.NOT_SUPPORTED,
509
+ img: "bitlayer.png",
510
+ },
511
+ "534352": {
512
+ name: ChainName.SCROLL,
513
+ chainId: 534352,
514
+ status: ChainStatus.NOT_SUPPORTED,
515
+ img: "scroll.svg",
516
+ },
517
+ "747474": {
518
+ name: ChainName.KATANA,
519
+ chainId: 747474,
520
+ status: ChainStatus.NOT_SUPPORTED,
521
+ img: "katana.png",
522
+ },
523
+ "810180": {
524
+ name: ChainName.ZKLINK,
525
+ chainId: 810180,
526
+ status: ChainStatus.NOT_SUPPORTED,
527
+ img: "zklink.png",
528
+ },
529
+ "7777777": {
530
+ name: ChainName.ZORA,
531
+ chainId: 7777777,
532
+ status: ChainStatus.NOT_SUPPORTED,
533
+ img: "zora.svg",
534
+ },
535
+ "728126428": {
536
+ name: ChainName.TRON,
537
+ chainId: 728126428,
538
+ status: ChainStatus.NOT_SUPPORTED,
539
+ img: "tron.svg",
540
+ },
541
+ "1380012617": {
542
+ name: ChainName.RARI,
543
+ chainId: 1380012617,
544
+ status: ChainStatus.NOT_SUPPORTED,
545
+ img: "rari.svg",
546
+ },
547
+ "1313161554": {
548
+ name: ChainName.AURORA,
549
+ chainId: 1313161554,
550
+ status: ChainStatus.NOT_SUPPORTED,
551
+ img: "aurora.svg",
552
+ },
553
+ "2046399126": {
554
+ name: ChainName.SKALE_EUROPA,
555
+ chainId: 2046399126,
556
+ status: ChainStatus.NOT_SUPPORTED,
557
+ img: "skale-europa.png",
558
+ },
559
+ };
560
+
561
+ export type ChainStatusInfo = {
562
+ title: string;
563
+ description: string;
564
+ color: string;
565
+ bgColor: string;
566
+ };
567
+
568
+ export const chainStatusInfo: { [status in ChainStatus]: ChainStatusInfo } = {
569
+ [ChainStatus.SUPPORTED]: {
570
+ title: "Supported",
571
+ description: "Host deployed and live in the chain",
572
+ color: "#4ade80", // green-400
573
+ bgColor: "#00521f",
574
+ },
575
+ [ChainStatus.DEVELOPMENT]: {
576
+ title: "Development",
577
+ description: "Chain integration being developed",
578
+ color: "#60a5fa", // blue-400
579
+ bgColor: "#1d3f6c",
580
+ },
581
+ [ChainStatus.NOT_SUPPORTED]: {
582
+ title: "Not supported",
583
+ description: "Host know this chain but not have deployments on it",
584
+ color: "#eeeeee",
585
+ bgColor: "#2c2c2c",
586
+ },
587
+ };
588
+
589
+ /*
590
+ export const getSupportedChainNames = (): ChainName[] =>
591
+ Object.keys(chains)
592
+ .filter((chainId) => chains[chainId].status === ChainStatus.SUPPORTED)
593
+ .map((chainId) => chains[chainId].name);
594
+ */
595
+
596
+ export const getChainByName = (chainName: ChainName): IChain => {
597
+ for (const chainId in chains) {
598
+ const chain = chains[chainId];
599
+ if (chain && chain.name === chainName) {
600
+ return chain;
601
+ }
602
+ }
603
+ throw new Error(`Incorrect chain name ${chainName}`);
604
+ };