@lifi/data-types 1.0.0-alpha.0

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 (39) hide show
  1. package/LICENSE.md +201 -0
  2. package/README.md +31 -0
  3. package/dist/chains/index.d.ts +2 -0
  4. package/dist/chains/index.js +2 -0
  5. package/dist/chains/supportedChains.d.ts +6 -0
  6. package/dist/chains/supportedChains.js +1174 -0
  7. package/dist/chains/supportedChains.unit.spec.d.ts +1 -0
  8. package/dist/chains/supportedChains.unit.spec.js +79 -0
  9. package/dist/chains/utils.d.ts +1 -0
  10. package/dist/chains/utils.js +4 -0
  11. package/dist/cjs/chains/index.d.ts +2 -0
  12. package/dist/cjs/chains/index.js +18 -0
  13. package/dist/cjs/chains/supportedChains.d.ts +6 -0
  14. package/dist/cjs/chains/supportedChains.js +1179 -0
  15. package/dist/cjs/chains/supportedChains.unit.spec.d.ts +1 -0
  16. package/dist/cjs/chains/supportedChains.unit.spec.js +81 -0
  17. package/dist/cjs/chains/utils.d.ts +1 -0
  18. package/dist/cjs/chains/utils.js +8 -0
  19. package/dist/cjs/coins/coins.d.ts +26 -0
  20. package/dist/cjs/coins/coins.int.spec.d.ts +1 -0
  21. package/dist/cjs/coins/coins.int.spec.js +31 -0
  22. package/dist/cjs/coins/coins.js +1842 -0
  23. package/dist/cjs/coins/index.d.ts +1 -0
  24. package/dist/cjs/coins/index.js +17 -0
  25. package/dist/cjs/index.d.ts +3 -0
  26. package/dist/cjs/index.js +19 -0
  27. package/dist/cjs/multicall.d.ts +3 -0
  28. package/dist/cjs/multicall.js +79 -0
  29. package/dist/coins/coins.d.ts +26 -0
  30. package/dist/coins/coins.int.spec.d.ts +1 -0
  31. package/dist/coins/coins.int.spec.js +29 -0
  32. package/dist/coins/coins.js +1835 -0
  33. package/dist/coins/index.d.ts +1 -0
  34. package/dist/coins/index.js +1 -0
  35. package/dist/index.d.ts +3 -0
  36. package/dist/index.js +3 -0
  37. package/dist/multicall.d.ts +3 -0
  38. package/dist/multicall.js +76 -0
  39. package/package.json +90 -0
@@ -0,0 +1,1174 @@
1
+ import { ChainId, ChainKey, ChainType, CoinKey, } from '@lifi/types';
2
+ import { multicallAddresses } from '../multicall';
3
+ import { prefixChainId } from './utils';
4
+ // chainNames aligned with https://github.com/ethereum-lists/chains/tree/master/_data/chains
5
+ export const supportedEVMChains = [
6
+ // 1 - Ethereum
7
+ {
8
+ key: ChainKey.ETH,
9
+ chainType: ChainType.EVM,
10
+ name: 'Ethereum',
11
+ coin: CoinKey.ETH,
12
+ id: 1,
13
+ mainnet: true,
14
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/ethereum.svg',
15
+ tokenlistUrl: 'https://gateway.ipfs.io/ipns/tokens.uniswap.org',
16
+ multicallAddress: multicallAddresses[ChainId.ETH],
17
+ metamask: {
18
+ chainId: prefixChainId(1),
19
+ blockExplorerUrls: ['https://etherscan.io/'],
20
+ chainName: 'Ethereum Mainnet',
21
+ nativeCurrency: {
22
+ name: 'ETH',
23
+ symbol: 'ETH',
24
+ decimals: 18,
25
+ },
26
+ rpcUrls: [
27
+ 'https://mainnet.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161',
28
+ ],
29
+ },
30
+ },
31
+ // 137 - Polygon
32
+ {
33
+ key: ChainKey.POL,
34
+ chainType: ChainType.EVM,
35
+ name: 'Polygon',
36
+ coin: CoinKey.MATIC,
37
+ id: 137,
38
+ mainnet: true,
39
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/polygon.svg',
40
+ tokenlistUrl: 'https://unpkg.com/quickswap-default-token-list@1.0.71/build/quickswap-default.tokenlist.json',
41
+ faucetUrls: ['https://stakely.io/faucet/polygon-matic'],
42
+ multicallAddress: multicallAddresses[ChainId.POL],
43
+ // https://docs.matic.network/docs/develop/metamask/config-matic/
44
+ metamask: {
45
+ chainId: prefixChainId(137),
46
+ blockExplorerUrls: [
47
+ 'https://polygonscan.com/',
48
+ 'https://explorer-mainnet.maticvigil.com/',
49
+ ],
50
+ chainName: 'Matic(Polygon) Mainnet',
51
+ nativeCurrency: {
52
+ name: 'MATIC',
53
+ symbol: 'MATIC',
54
+ decimals: 18,
55
+ },
56
+ rpcUrls: [
57
+ 'https://polygon-rpc.com/',
58
+ 'https://rpc-mainnet.maticvigil.com/',
59
+ ],
60
+ },
61
+ },
62
+ // 56 - Binance Smart Chain
63
+ {
64
+ key: ChainKey.BSC,
65
+ chainType: ChainType.EVM,
66
+ name: 'BSC',
67
+ coin: CoinKey.BNB,
68
+ id: 56,
69
+ mainnet: true,
70
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/bsc.svg',
71
+ tokenlistUrl: 'https://tokens.pancakeswap.finance/pancakeswap-extended.json',
72
+ faucetUrls: ['https://stakely.io/faucet/bsc-chain-bnb'],
73
+ multicallAddress: multicallAddresses[ChainId.BSC],
74
+ // https://docs.binance.org/smart-chain/wallet/metamask.html
75
+ metamask: {
76
+ chainId: prefixChainId(56),
77
+ blockExplorerUrls: ['https://bscscan.com/'],
78
+ chainName: 'Binance Smart Chain Mainnet',
79
+ nativeCurrency: {
80
+ name: 'BNB',
81
+ symbol: 'BNB',
82
+ decimals: 18,
83
+ },
84
+ rpcUrls: [
85
+ 'https://bsc-dataseed.binance.org/',
86
+ 'https://bsc-dataseed1.defibit.io/',
87
+ 'https://bsc-dataseed1.ninicoin.io/',
88
+ ],
89
+ },
90
+ },
91
+ // 100 - Gnosis
92
+ {
93
+ key: ChainKey.DAI,
94
+ chainType: ChainType.EVM,
95
+ name: 'Gnosis',
96
+ coin: CoinKey.DAI,
97
+ id: 100,
98
+ mainnet: true,
99
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/gnosis.svg',
100
+ tokenlistUrl: 'https://tokens.honeyswap.org/',
101
+ faucetUrls: ['https://stakely.io/faucet/xdai-chain'],
102
+ multicallAddress: multicallAddresses[ChainId.DAI],
103
+ // https://www.xdaichain.com/for-users/wallets/metamask/metamask-setup
104
+ metamask: {
105
+ chainId: prefixChainId(100),
106
+ blockExplorerUrls: ['https://blockscout.com/xdai/mainnet/'],
107
+ chainName: 'Gnosis Chain',
108
+ nativeCurrency: {
109
+ name: 'xDai',
110
+ symbol: 'xDai',
111
+ decimals: 18,
112
+ },
113
+ rpcUrls: [
114
+ 'https://rpc.gnosischain.com/',
115
+ 'https://rpc.ankr.com/gnosis',
116
+ 'https://xdai-rpc.gateway.pokt.network',
117
+ ],
118
+ },
119
+ },
120
+ // 250 - Fantom
121
+ {
122
+ key: ChainKey.FTM,
123
+ chainType: ChainType.EVM,
124
+ name: 'Fantom',
125
+ coin: CoinKey.FTM,
126
+ id: 250,
127
+ mainnet: true,
128
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/fantom.svg',
129
+ tokenlistUrl: 'https://raw.githubusercontent.com/SpookySwap/spooky-info/master/src/constants/token/spookyswap.json',
130
+ faucetUrls: [
131
+ 'https://stakely.io/faucet/fantom-blockchain-ftm',
132
+ 'https://docs.spookyswap.finance/getting-started/how-to-get-fantom-gas',
133
+ ],
134
+ multicallAddress: multicallAddresses[ChainId.FTM],
135
+ // https://docs.fantom.foundation/tutorials/set-up-metamask
136
+ metamask: {
137
+ chainId: prefixChainId(250),
138
+ blockExplorerUrls: ['https://ftmscan.com/'],
139
+ chainName: 'Fantom Opera',
140
+ nativeCurrency: {
141
+ name: 'FTM',
142
+ symbol: 'FTM',
143
+ decimals: 18,
144
+ },
145
+ rpcUrls: ['https://rpc.ftm.tools/', 'https://rpcapi.fantom.network'],
146
+ },
147
+ },
148
+ // 66 - OKXChain
149
+ {
150
+ key: ChainKey.OKT,
151
+ chainType: ChainType.EVM,
152
+ name: 'OKXChain',
153
+ coin: CoinKey.OKT,
154
+ id: 66,
155
+ mainnet: true,
156
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/okx.svg',
157
+ tokenlistUrl: 'https://raw.githubusercontent.com/sushiswap/default-token-list/master/tokens/okex.json',
158
+ multicallAddress: multicallAddresses[ChainId.OKT],
159
+ // https://okc-docs.readthedocs.io/en/latest/developers/quick-start-for-mainnet.html
160
+ metamask: {
161
+ chainId: prefixChainId(66),
162
+ blockExplorerUrls: ['https://www.oklink.com/en/okc/'],
163
+ chainName: 'OKXChain Mainnet',
164
+ nativeCurrency: {
165
+ name: 'OKT',
166
+ symbol: 'OKT',
167
+ decimals: 18,
168
+ },
169
+ rpcUrls: ['https://exchainrpc.okex.org'],
170
+ },
171
+ },
172
+ // 43114 - Avalanche
173
+ {
174
+ key: ChainKey.AVA,
175
+ chainType: ChainType.EVM,
176
+ name: 'Avalanche',
177
+ coin: CoinKey.AVAX,
178
+ id: 43114,
179
+ mainnet: true,
180
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/avalanche.svg',
181
+ tokenlistUrl: 'https://raw.githubusercontent.com/sushiswap/default-token-list/master/tokens/avalanche.json',
182
+ multicallAddress: multicallAddresses[ChainId.AVA],
183
+ // https://support.avax.network/en/articles/4626956-how-do-i-set-up-metamask-on-avalanche
184
+ metamask: {
185
+ chainId: prefixChainId(43114),
186
+ blockExplorerUrls: ['https://cchain.explorer.avax.network/'],
187
+ chainName: 'Avalanche Mainnet',
188
+ nativeCurrency: {
189
+ name: 'AVAX',
190
+ symbol: 'AVAX',
191
+ decimals: 18,
192
+ },
193
+ rpcUrls: ['https://api.avax.network/ext/bc/C/rpc'],
194
+ },
195
+ },
196
+ // 42161 - Arbitrum
197
+ {
198
+ key: ChainKey.ARB,
199
+ chainType: ChainType.EVM,
200
+ name: 'Arbitrum',
201
+ coin: CoinKey.ETH,
202
+ id: 42161,
203
+ mainnet: true,
204
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/arbitrum.svg',
205
+ tokenlistUrl: 'https://raw.githubusercontent.com/sushiswap/default-token-list/master/tokens/arbitrum.json',
206
+ faucetUrls: ['https://bridge.arbitrum.io/'],
207
+ multicallAddress: multicallAddresses[ChainId.ARB],
208
+ metamask: {
209
+ chainId: prefixChainId(42161),
210
+ blockExplorerUrls: ['https://arbiscan.io/'],
211
+ chainName: 'Arbitrum',
212
+ nativeCurrency: {
213
+ name: 'AETH',
214
+ symbol: 'AETH',
215
+ decimals: 18, // check
216
+ },
217
+ rpcUrls: ['https://arb1.arbitrum.io/rpc'],
218
+ },
219
+ },
220
+ // 128 - Huobi ECO Chain Mainnet
221
+ {
222
+ key: ChainKey.HEC,
223
+ chainType: ChainType.EVM,
224
+ name: 'Huobi ECO Chain Mainnet',
225
+ coin: CoinKey.HT,
226
+ id: 128,
227
+ mainnet: true,
228
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/heco.png',
229
+ tokenlistUrl: 'https://raw.githubusercontent.com/sushiswap/default-token-list/master/tokens/heco.json',
230
+ multicallAddress: multicallAddresses[ChainId.HEC],
231
+ metamask: {
232
+ chainId: prefixChainId(128),
233
+ blockExplorerUrls: ['https://hecoinfo.com/'],
234
+ chainName: 'Huobi ECO Chain Mainnet',
235
+ nativeCurrency: {
236
+ name: 'HT',
237
+ symbol: 'HT',
238
+ decimals: 18,
239
+ },
240
+ rpcUrls: ['https://http-mainnet.hecochain.com'],
241
+ },
242
+ },
243
+ // 10 - Optimism
244
+ {
245
+ key: ChainKey.OPT,
246
+ chainType: ChainType.EVM,
247
+ name: 'Optimism',
248
+ coin: CoinKey.ETH,
249
+ id: 10,
250
+ mainnet: true,
251
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/optimism.svg',
252
+ tokenlistUrl: 'https://static.optimism.io/optimism.tokenlist.json',
253
+ faucetUrls: ['https://gateway.optimism.io/'],
254
+ multicallAddress: multicallAddresses[ChainId.OPT],
255
+ metamask: {
256
+ chainId: prefixChainId(10),
257
+ blockExplorerUrls: ['https://optimistic.etherscan.io/'],
258
+ chainName: 'Optimism',
259
+ nativeCurrency: {
260
+ name: 'ETH',
261
+ symbol: 'ETH',
262
+ decimals: 18,
263
+ },
264
+ rpcUrls: ['https://mainnet.optimism.io/'],
265
+ },
266
+ },
267
+ // 32659 - Fusion (anyswap)
268
+ {
269
+ key: ChainKey.FSN,
270
+ chainType: ChainType.EVM,
271
+ name: 'Fusion Mainnet',
272
+ coin: CoinKey.FSN,
273
+ id: 32659,
274
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/fusion.png',
275
+ mainnet: true,
276
+ multicallAddress: multicallAddresses[ChainId.FSN],
277
+ // https://support.avax.network/en/articles/4626956-how-do-i-set-up-metamask-on-avalanche
278
+ metamask: {
279
+ chainId: prefixChainId(32659),
280
+ blockExplorerUrls: ['https://fsnex.com/'],
281
+ chainName: 'Fusion Mainnet',
282
+ nativeCurrency: {
283
+ name: 'FSN',
284
+ symbol: 'FSN',
285
+ decimals: 18,
286
+ },
287
+ rpcUrls: ['https://fsnmainnet2.anyswap.exchange'],
288
+ },
289
+ },
290
+ // 1666600000 - Harmony Mainnet Shard 0
291
+ {
292
+ key: ChainKey.ONE,
293
+ chainType: ChainType.EVM,
294
+ name: 'Harmony',
295
+ coin: CoinKey.ONE,
296
+ id: 1666600000,
297
+ mainnet: true,
298
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/harmony.svg',
299
+ tokenlistUrl: 'https://d1xrz6ki9z98vb.cloudfront.net/venomswap/lists/venomswap-default.tokenlist.json',
300
+ faucetUrls: ['https://stakely.io/faucet/harmony-one'],
301
+ multicallAddress: multicallAddresses[ChainId.ONE],
302
+ // https://docs.harmony.one/home/developers/wallets/metamask/connect-metamask-to-the-harmony-chain
303
+ metamask: {
304
+ chainId: prefixChainId(1666600000),
305
+ blockExplorerUrls: ['https://explorer.harmony.one/'],
306
+ chainName: 'Harmony Mainnet Shard 0',
307
+ nativeCurrency: {
308
+ name: 'ONE',
309
+ symbol: 'ONE',
310
+ decimals: 18,
311
+ },
312
+ rpcUrls: ['https://api.harmony.one'],
313
+ },
314
+ },
315
+ // 1285 - Moonriver
316
+ {
317
+ key: ChainKey.MOR,
318
+ chainType: ChainType.EVM,
319
+ name: 'Moonriver',
320
+ coin: CoinKey.MOVR,
321
+ id: 1285,
322
+ mainnet: true,
323
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/moonriver.svg',
324
+ tokenlistUrl: 'https://raw.githubusercontent.com/sushiswap/default-token-list/master/tokens/moonriver.json',
325
+ multicallAddress: multicallAddresses[ChainId.MOR],
326
+ metamask: {
327
+ chainId: prefixChainId(1285),
328
+ blockExplorerUrls: ['https://blockscout.moonriver.moonbeam.network/'],
329
+ chainName: 'Moonriver',
330
+ nativeCurrency: {
331
+ name: 'Moonriver',
332
+ symbol: 'MOVR',
333
+ decimals: 18,
334
+ },
335
+ rpcUrls: ['https://rpc.api.moonriver.moonbeam.network'],
336
+ },
337
+ },
338
+ // 1284 Moonbeam
339
+ {
340
+ key: ChainKey.MOO,
341
+ chainType: ChainType.EVM,
342
+ name: 'Moonbeam',
343
+ coin: CoinKey.GLMR,
344
+ id: 1284,
345
+ mainnet: true,
346
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/moonbeam.svg',
347
+ tokenlistUrl: 'https://raw.githubusercontent.com/BeamSwap/beamswap-tokenlist/main/tokenlist.json',
348
+ multicallAddress: multicallAddresses[ChainId.MOO],
349
+ metamask: {
350
+ chainId: prefixChainId(1284),
351
+ blockExplorerUrls: ['https://blockscout.moonbeam.network/'],
352
+ chainName: 'Moonbeam',
353
+ nativeCurrency: {
354
+ name: 'GLMR',
355
+ symbol: 'GLMR',
356
+ decimals: 18,
357
+ },
358
+ rpcUrls: ['https://rpc.api.moonbeam.network'],
359
+ },
360
+ },
361
+ // 2 - Expanse Network
362
+ {
363
+ key: ChainKey.EXP,
364
+ chainType: ChainType.EVM,
365
+ name: 'Expanse Network',
366
+ coin: CoinKey.EXP,
367
+ id: 2,
368
+ mainnet: true,
369
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/expanse.png',
370
+ multicallAddress: multicallAddresses[ChainId.EXP],
371
+ metamask: {
372
+ chainId: prefixChainId(2),
373
+ blockExplorerUrls: ['https://expanse.tech/'],
374
+ chainName: 'Expanse Network',
375
+ nativeCurrency: {
376
+ name: 'EXP',
377
+ symbol: 'EXP',
378
+ decimals: 18,
379
+ },
380
+ rpcUrls: ['https://node.expanse.tech'],
381
+ },
382
+ },
383
+ // 7 - ThaiChain
384
+ {
385
+ key: ChainKey.TCH,
386
+ chainType: ChainType.EVM,
387
+ name: 'ThaiChain',
388
+ coin: CoinKey.TCH,
389
+ id: 7,
390
+ mainnet: true,
391
+ multicallAddress: multicallAddresses[ChainId.TCH],
392
+ metamask: {
393
+ chainId: prefixChainId(7),
394
+ blockExplorerUrls: ['https://thaichain.io/'],
395
+ chainName: 'ThaiChain',
396
+ nativeCurrency: {
397
+ name: 'TCH',
398
+ symbol: 'TCH',
399
+ decimals: 18,
400
+ },
401
+ rpcUrls: ['https://rpc.dome.cloud/'],
402
+ },
403
+ },
404
+ // 8 - Ubiq
405
+ {
406
+ key: ChainKey.UBQ,
407
+ chainType: ChainType.EVM,
408
+ name: 'Ubiq',
409
+ coin: CoinKey.UBQ,
410
+ id: 8,
411
+ mainnet: true,
412
+ multicallAddress: multicallAddresses[ChainId.UBQ],
413
+ metamask: {
414
+ chainId: prefixChainId(8),
415
+ blockExplorerUrls: ['https://ubiqscan.io/'],
416
+ chainName: 'Ubiq',
417
+ nativeCurrency: {
418
+ name: 'UBQ',
419
+ symbol: 'UBQ',
420
+ decimals: 18,
421
+ },
422
+ rpcUrls: ['https://rpc.octano.dev/'],
423
+ },
424
+ },
425
+ // 11 - Metadium Mainnet
426
+ {
427
+ key: ChainKey.MET,
428
+ chainType: ChainType.EVM,
429
+ name: 'Metadium Mainnet',
430
+ coin: CoinKey.META,
431
+ id: 11,
432
+ mainnet: true,
433
+ multicallAddress: multicallAddresses[ChainId.MET],
434
+ metamask: {
435
+ chainId: prefixChainId(11),
436
+ blockExplorerUrls: ['https://metadium.com/'],
437
+ chainName: 'Metadium Mainnet',
438
+ nativeCurrency: {
439
+ name: 'META',
440
+ symbol: 'META',
441
+ decimals: 18,
442
+ },
443
+ rpcUrls: ['https://api.metadium.com/prod'],
444
+ },
445
+ },
446
+ // 15 - Diode Prenet
447
+ {
448
+ key: ChainKey.DIO,
449
+ chainType: ChainType.EVM,
450
+ name: 'DIODE',
451
+ coin: CoinKey.DIODE,
452
+ id: 15,
453
+ mainnet: true,
454
+ multicallAddress: multicallAddresses[ChainId.DIO],
455
+ metamask: {
456
+ chainId: prefixChainId(15),
457
+ blockExplorerUrls: ['https://diode.io/prenet/'],
458
+ chainName: 'Diode Prenet',
459
+ nativeCurrency: {
460
+ name: 'Diodes',
461
+ symbol: 'DIODE',
462
+ decimals: 18,
463
+ },
464
+ rpcUrls: ['https://prenet.diode.io:8443/'],
465
+ },
466
+ },
467
+ // 42220 Celo Mainnet
468
+ {
469
+ key: ChainKey.CEL,
470
+ chainType: ChainType.EVM,
471
+ name: 'CELO',
472
+ coin: CoinKey.CELO,
473
+ id: 42220,
474
+ mainnet: true,
475
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/celo.svg',
476
+ tokenlistUrl: 'https://raw.githubusercontent.com/sushiswap/default-token-list/master/tokens/celo.json',
477
+ faucetUrls: [
478
+ 'https://stakely.io/faucet/celo-platform',
479
+ 'https://free-online-app.com/faucet-for-eth-evm-chains/',
480
+ ],
481
+ multicallAddress: multicallAddresses[ChainId.CEL],
482
+ metamask: {
483
+ chainId: prefixChainId(42220),
484
+ blockExplorerUrls: ['https://explorer.celo.org/'],
485
+ chainName: 'Celo Mainnet',
486
+ nativeCurrency: {
487
+ name: 'CELO',
488
+ symbol: 'CELO',
489
+ decimals: 18,
490
+ },
491
+ rpcUrls: ['https://forno.celo.org'],
492
+ },
493
+ },
494
+ // 122 Fuse Mainnet
495
+ {
496
+ key: ChainKey.FUS,
497
+ chainType: ChainType.EVM,
498
+ name: 'FUSE',
499
+ coin: CoinKey.FUSE,
500
+ id: 122,
501
+ mainnet: true,
502
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/fuse.svg',
503
+ tokenlistUrl: 'https://raw.githubusercontent.com/sushiswap/default-token-list/master/tokens/fuse.json',
504
+ multicallAddress: multicallAddresses[ChainId.FUS],
505
+ metamask: {
506
+ chainId: prefixChainId(122),
507
+ blockExplorerUrls: ['https://explorer.fuse.io/'],
508
+ chainName: 'Fuse Mainnet',
509
+ nativeCurrency: {
510
+ name: 'FUSE',
511
+ symbol: 'FUSE',
512
+ decimals: 18,
513
+ },
514
+ rpcUrls: ['https://rpc.fuse.io'],
515
+ },
516
+ },
517
+ // 40 Telos EVM Mainnet
518
+ {
519
+ key: ChainKey.TLO,
520
+ chainType: ChainType.EVM,
521
+ name: 'Telos',
522
+ coin: CoinKey.TLOS,
523
+ id: 40,
524
+ mainnet: true,
525
+ tokenlistUrl: 'https://raw.githubusercontent.com/sushiswap/default-token-list/master/tokens/telos.json',
526
+ multicallAddress: multicallAddresses[ChainId.TLO],
527
+ metamask: {
528
+ chainId: prefixChainId(40),
529
+ blockExplorerUrls: ['https://telos.net/'],
530
+ chainName: 'Telos EVM Mainnet',
531
+ nativeCurrency: {
532
+ name: 'Telos',
533
+ symbol: 'TLOS',
534
+ decimals: 18,
535
+ },
536
+ rpcUrls: ['https://mainnet.telos.net/evm'],
537
+ },
538
+ },
539
+ // 25 Cronos Mainnet Beta
540
+ {
541
+ key: ChainKey.CRO,
542
+ chainType: ChainType.EVM,
543
+ name: 'Cronos',
544
+ coin: CoinKey.CRO,
545
+ id: 25,
546
+ mainnet: true,
547
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/cronos.svg',
548
+ tokenlistUrl: 'https://raw.githubusercontent.com/cronaswap/cronaswap-tokenlists/main/cronaswap-default.tokenlist.json',
549
+ multicallAddress: multicallAddresses[ChainId.CRO],
550
+ metamask: {
551
+ chainId: prefixChainId(25),
552
+ blockExplorerUrls: ['https://cronos.crypto.org/explorer/'],
553
+ chainName: 'Cronos',
554
+ nativeCurrency: {
555
+ name: 'Crypto.org Coin',
556
+ symbol: 'CRO',
557
+ decimals: 18,
558
+ },
559
+ rpcUrls: ['https://evm-cronos.crypto.org'],
560
+ },
561
+ },
562
+ // 288 Boba Network
563
+ {
564
+ key: ChainKey.BOB,
565
+ chainType: ChainType.EVM,
566
+ name: 'Boba',
567
+ coin: CoinKey.ETH,
568
+ id: 288,
569
+ mainnet: true,
570
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/boba.png',
571
+ // TODO: we should update token list url to latest one
572
+ tokenlistUrl: 'https://raw.githubusercontent.com/OolongSwap/boba-community-token-list/main/build/boba.tokenlist.json',
573
+ multicallAddress: multicallAddresses[ChainId.BOB],
574
+ metamask: {
575
+ chainId: prefixChainId(288),
576
+ blockExplorerUrls: ['https://blockexplorer.boba.network/'],
577
+ chainName: 'Boba',
578
+ nativeCurrency: {
579
+ name: 'ETH',
580
+ symbol: 'ETH',
581
+ decimals: 18,
582
+ },
583
+ rpcUrls: ['https://mainnet.boba.network/'],
584
+ },
585
+ },
586
+ // 27 ShibaChain
587
+ {
588
+ key: ChainKey.SHI,
589
+ chainType: ChainType.EVM,
590
+ name: 'Shiba',
591
+ coin: CoinKey.SHIB,
592
+ id: 27,
593
+ mainnet: true,
594
+ multicallAddress: multicallAddresses[ChainId.SHI],
595
+ metamask: {
596
+ chainId: prefixChainId(27),
597
+ blockExplorerUrls: ['https://exp.shibachain.net/'],
598
+ chainName: 'Shiba',
599
+ nativeCurrency: {
600
+ name: 'SHIB',
601
+ symbol: 'SHIB',
602
+ decimals: 18,
603
+ },
604
+ rpcUrls: ['https://rpc.shibachain.net'],
605
+ },
606
+ },
607
+ // 29 Genesis L1
608
+ {
609
+ key: ChainKey.GL1,
610
+ chainType: ChainType.EVM,
611
+ name: 'Genesis L1',
612
+ coin: CoinKey.L1,
613
+ id: 29,
614
+ mainnet: true,
615
+ multicallAddress: multicallAddresses[ChainId.GL1],
616
+ metamask: {
617
+ chainId: prefixChainId(29),
618
+ blockExplorerUrls: ['https://explorer.genesisl1.org/'],
619
+ chainName: 'Genesis L1',
620
+ nativeCurrency: {
621
+ name: 'L1',
622
+ symbol: 'L1',
623
+ decimals: 18,
624
+ },
625
+ rpcUrls: ['https://rpc.genesisl1.org'],
626
+ },
627
+ },
628
+ // 30 RSK Mainnet
629
+ {
630
+ key: ChainKey.RSK,
631
+ chainType: ChainType.EVM,
632
+ name: 'RSK Mainnet',
633
+ coin: CoinKey.RBTC,
634
+ id: 30,
635
+ mainnet: true,
636
+ multicallAddress: multicallAddresses[ChainId.RSK],
637
+ metamask: {
638
+ chainId: prefixChainId(30),
639
+ blockExplorerUrls: ['https://explorer.rsk.co/'],
640
+ chainName: 'RSK Mainnet',
641
+ nativeCurrency: {
642
+ name: 'RBTC',
643
+ symbol: 'RBTC',
644
+ decimals: 18,
645
+ },
646
+ rpcUrls: ['https://public-node.rsk.co'],
647
+ },
648
+ },
649
+ // 35 TBWG Chain
650
+ {
651
+ key: ChainKey.TBW,
652
+ chainType: ChainType.EVM,
653
+ name: 'TBWG',
654
+ coin: CoinKey.TBG,
655
+ id: 35,
656
+ mainnet: true,
657
+ multicallAddress: multicallAddresses[ChainId.TBW],
658
+ metamask: {
659
+ chainId: prefixChainId(35),
660
+ blockExplorerUrls: ['https://tbwg.io/'],
661
+ chainName: 'TBWG',
662
+ nativeCurrency: {
663
+ name: 'TBG',
664
+ symbol: 'TBG',
665
+ decimals: 18,
666
+ },
667
+ rpcUrls: ['https://rpc.tbwg.io'],
668
+ },
669
+ },
670
+ // 106 Velas EVM Mainnet
671
+ {
672
+ key: ChainKey.VEL,
673
+ chainType: ChainType.EVM,
674
+ name: 'Velas',
675
+ coin: CoinKey.VLX,
676
+ id: 106,
677
+ mainnet: true,
678
+ multicallAddress: multicallAddresses[ChainId.VEL],
679
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/velas.png',
680
+ faucetUrls: ['https://stakely.io/faucet/velas-vlx'],
681
+ metamask: {
682
+ chainId: prefixChainId(106),
683
+ blockExplorerUrls: ['https://evmexplorer.velas.com/'],
684
+ chainName: 'Velas',
685
+ nativeCurrency: {
686
+ name: 'VLX',
687
+ symbol: 'VLX',
688
+ decimals: 18,
689
+ },
690
+ rpcUrls: ['https://evmexplorer.velas.com/rpc'],
691
+ },
692
+ },
693
+ // 1088 Metis Andromeda Mainnet
694
+ {
695
+ key: ChainKey.MAM,
696
+ chainType: ChainType.EVM,
697
+ name: 'Metis',
698
+ coin: CoinKey.METIS,
699
+ id: 1088,
700
+ mainnet: true,
701
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/metis.png',
702
+ tokenlistUrl: 'https://raw.githubusercontent.com/digitalnativeinc/default-token-list/dnf/tokens/metis.json',
703
+ multicallAddress: multicallAddresses[ChainId.MAM],
704
+ metamask: {
705
+ chainId: prefixChainId(1088),
706
+ blockExplorerUrls: ['https://andromeda-explorer.metis.io/'],
707
+ chainName: 'Metis',
708
+ nativeCurrency: {
709
+ name: 'METIS',
710
+ symbol: 'METIS',
711
+ decimals: 18,
712
+ },
713
+ rpcUrls: ['https://andromeda.metis.io/?owner=1088'],
714
+ },
715
+ },
716
+ // 1313161554 Aurora Mainnet
717
+ {
718
+ key: ChainKey.AUR,
719
+ chainType: ChainType.EVM,
720
+ name: 'Aurora',
721
+ coin: CoinKey.ETH,
722
+ id: 1313161554,
723
+ mainnet: true,
724
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/aurora.png',
725
+ tokenlistUrl: 'https://aurora.dev/tokens.json',
726
+ multicallAddress: multicallAddresses[ChainId.AUR],
727
+ metamask: {
728
+ chainId: prefixChainId(1313161554),
729
+ blockExplorerUrls: ['https://aurorascan.dev/'],
730
+ chainName: 'Aurora',
731
+ nativeCurrency: {
732
+ name: 'ETH',
733
+ symbol: 'ETH',
734
+ decimals: 18,
735
+ },
736
+ rpcUrls: ['https://mainnet.aurora.dev'],
737
+ },
738
+ },
739
+ // EVM = 9001,
740
+ {
741
+ key: ChainKey.EVM,
742
+ chainType: ChainType.EVM,
743
+ name: 'Evmos',
744
+ coin: CoinKey.EVM,
745
+ id: 9001,
746
+ mainnet: true,
747
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/evmos.svg',
748
+ multicallAddress: multicallAddresses[ChainId.EVM],
749
+ metamask: {
750
+ chainId: prefixChainId(9001),
751
+ blockExplorerUrls: ['https://evm.evmos.org/'],
752
+ chainName: 'Evmos',
753
+ nativeCurrency: {
754
+ name: 'EVMOS',
755
+ symbol: 'EVMOS',
756
+ decimals: 18,
757
+ },
758
+ rpcUrls: ['https://eth.bd.evmos.org:8545'],
759
+ },
760
+ },
761
+ // 324 - zksync ERA
762
+ {
763
+ key: ChainKey.ERA,
764
+ chainType: ChainType.EVM,
765
+ name: 'zkSync Era',
766
+ coin: CoinKey.ETH,
767
+ id: 324,
768
+ mainnet: true,
769
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/zksync.png',
770
+ multicallAddress: multicallAddresses[ChainId.ERA],
771
+ metamask: {
772
+ chainId: prefixChainId(324),
773
+ blockExplorerUrls: ['https://zkscan.io/'],
774
+ chainName: 'zkSync Era Mainnet',
775
+ nativeCurrency: {
776
+ name: 'ETH',
777
+ symbol: 'ETH',
778
+ decimals: 18,
779
+ },
780
+ rpcUrls: ['https://mainnet.era.zksync.io'],
781
+ },
782
+ },
783
+ // 1101 - Polygon zkEVM
784
+ {
785
+ key: ChainKey.PZE,
786
+ chainType: ChainType.EVM,
787
+ name: 'Polygon zkEVM',
788
+ coin: CoinKey.ETH,
789
+ id: 1101,
790
+ mainnet: true,
791
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/zkevm.png',
792
+ multicallAddress: multicallAddresses[ChainId.PZE],
793
+ metamask: {
794
+ chainId: prefixChainId(1101),
795
+ blockExplorerUrls: ['https://zkevm.polygonscan.com/'],
796
+ chainName: 'Polygon zkEVM',
797
+ nativeCurrency: {
798
+ name: 'ETH',
799
+ symbol: 'ETH',
800
+ decimals: 18,
801
+ },
802
+ rpcUrls: ['https://zkevm-rpc.com'],
803
+ },
804
+ },
805
+ // TESTNETS
806
+ // 5 - Goerli
807
+ {
808
+ key: ChainKey.GOR,
809
+ chainType: ChainType.EVM,
810
+ name: 'Goerli',
811
+ coin: CoinKey.ETH,
812
+ id: 5,
813
+ mainnet: false,
814
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/ethereum_goerli.png',
815
+ tokenlistUrl: 'https://raw.githubusercontent.com/compound-finance/token-list/master/compound.tokenlist.json',
816
+ faucetUrls: ['https://goerli-faucet.slock.it/'],
817
+ multicallAddress: multicallAddresses[ChainId.GOR],
818
+ metamask: {
819
+ chainId: prefixChainId(5),
820
+ blockExplorerUrls: ['https://goerli.etherscan.io/'],
821
+ chainName: 'Ethereum Testnet Görli',
822
+ nativeCurrency: {
823
+ name: 'ETH',
824
+ symbol: 'ETH',
825
+ decimals: 18,
826
+ },
827
+ rpcUrls: ['https://rpc.ankr.com/eth_goerli'],
828
+ },
829
+ },
830
+ // 12 - Metadium Testnet
831
+ {
832
+ key: ChainKey.METT,
833
+ chainType: ChainType.EVM,
834
+ name: 'Metadium Testnet',
835
+ coin: CoinKey.KAL,
836
+ id: 12,
837
+ mainnet: false,
838
+ multicallAddress: multicallAddresses[ChainId.METT],
839
+ metamask: {
840
+ chainId: prefixChainId(12),
841
+ blockExplorerUrls: ['https://metadium.com/'],
842
+ chainName: 'Metadium Testnet',
843
+ nativeCurrency: {
844
+ name: 'KAL',
845
+ symbol: 'KAL',
846
+ decimals: 18,
847
+ },
848
+ rpcUrls: ['https://api.metadium.com/dev'],
849
+ },
850
+ },
851
+ // 13 - Diode Testnet Staging
852
+ {
853
+ key: ChainKey.DIOT,
854
+ chainType: ChainType.EVM,
855
+ name: 'DIODE',
856
+ coin: CoinKey.SDIODE,
857
+ id: 13,
858
+ mainnet: false,
859
+ multicallAddress: multicallAddresses[ChainId.DIOT],
860
+ metamask: {
861
+ chainId: prefixChainId(13),
862
+ blockExplorerUrls: ['https://diode.io/staging/'],
863
+ chainName: 'Diode Testnet Staging',
864
+ nativeCurrency: {
865
+ name: 'Staging Diodes',
866
+ symbol: 'sDIODE',
867
+ decimals: 18,
868
+ },
869
+ rpcUrls: ['https://staging.diode.io:8443/'],
870
+ },
871
+ },
872
+ // 80001 - Mumbai Polygon Testnet
873
+ {
874
+ key: ChainKey.MUM,
875
+ chainType: ChainType.EVM,
876
+ name: 'Polygon Testnet',
877
+ coin: CoinKey.MATIC,
878
+ id: 80001,
879
+ mainnet: false,
880
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/polygon_test.png',
881
+ tokenlistUrl: 'https://raw.githubusercontent.com/elkfinance/tokens/main/mumbai.tokenlist.json',
882
+ faucetUrls: ['https://faucet.matic.network/'],
883
+ multicallAddress: multicallAddresses[ChainId.MUM],
884
+ metamask: {
885
+ chainId: prefixChainId(80001),
886
+ blockExplorerUrls: ['https://explorer-mumbai.maticvigil.com/'],
887
+ chainName: 'Matic(Polygon) Testnet Mumbai',
888
+ nativeCurrency: {
889
+ name: 'MATIC',
890
+ symbol: 'tMATIC',
891
+ decimals: 18,
892
+ },
893
+ rpcUrls: ['https://rpc-mumbai.matic.today'],
894
+ },
895
+ },
896
+ {
897
+ key: ChainKey.ARBG,
898
+ chainType: ChainType.EVM,
899
+ name: 'Arbitrum Görli',
900
+ coin: CoinKey.ETH,
901
+ id: 421613,
902
+ mainnet: false,
903
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/arbitrum_test.png',
904
+ faucetUrls: ['https://bridge.arbitrum.io/'],
905
+ multicallAddress: multicallAddresses[ChainId.ARBG],
906
+ metamask: {
907
+ chainId: prefixChainId(421613),
908
+ blockExplorerUrls: ['https://goerli-rollup-explorer.arbitrum.io/'],
909
+ chainName: 'Arbitrum Görli',
910
+ nativeCurrency: {
911
+ name: 'AGOR',
912
+ symbol: 'AGOR',
913
+ decimals: 18,
914
+ },
915
+ rpcUrls: ['https://goerli-rollup.arbitrum.io/rpc/ '],
916
+ },
917
+ },
918
+ // 420 - Optimistic Ethereum (Goerli)
919
+ {
920
+ key: ChainKey.OPTG,
921
+ chainType: ChainType.EVM,
922
+ name: 'Optimistic Ethereum Testnet Goerli',
923
+ coin: CoinKey.ETH,
924
+ id: 420,
925
+ mainnet: false,
926
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/optimism_test.png',
927
+ faucetUrls: ['https://gateway.optimism.io/'],
928
+ multicallAddress: multicallAddresses[ChainId.OPTG],
929
+ metamask: {
930
+ chainId: prefixChainId(420),
931
+ blockExplorerUrls: ['https://blockscout.com/optimism/goerli/'],
932
+ chainName: 'Optimistic Ethereum Testnet Goerli',
933
+ nativeCurrency: {
934
+ name: 'tETH',
935
+ symbol: 'tETH',
936
+ decimals: 18,
937
+ },
938
+ rpcUrls: ['https://goerli.optimism.io/'],
939
+ },
940
+ },
941
+ // 97 - Binance Smart Chain Testnet
942
+ {
943
+ key: ChainKey.BSCT,
944
+ chainType: ChainType.EVM,
945
+ name: 'Binance Smart Chain Testnet',
946
+ coin: CoinKey.BNB,
947
+ id: 97,
948
+ mainnet: false,
949
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/bsc_test.png',
950
+ faucetUrls: ['https://testnet.binance.org/faucet-smart'],
951
+ multicallAddress: multicallAddresses[ChainId.BSCT],
952
+ metamask: {
953
+ chainId: prefixChainId(97),
954
+ blockExplorerUrls: ['https://testnet.bscscan.com/'],
955
+ chainName: 'Binance Smart Chain Testnet',
956
+ nativeCurrency: {
957
+ name: 'tBNB',
958
+ symbol: 'tBNB',
959
+ decimals: 18,
960
+ },
961
+ rpcUrls: ['https://data-seed-prebsc-1-s1.binance.org:8545/'],
962
+ },
963
+ },
964
+ // 256 - Huobi ECO Chain Testnet
965
+ {
966
+ key: ChainKey.HECT,
967
+ chainType: ChainType.EVM,
968
+ name: 'Huobi ECO Chain Testnet',
969
+ coin: 'HTT',
970
+ id: 256,
971
+ mainnet: false,
972
+ faucetUrls: ['https://scan-testnet.hecochain.com/faucet'],
973
+ multicallAddress: multicallAddresses[ChainId.HECT],
974
+ metamask: {
975
+ chainId: prefixChainId(256),
976
+ blockExplorerUrls: ['https://scan-testnet.hecochain.com/'],
977
+ chainName: 'Huobi ECO Chain Testnet',
978
+ nativeCurrency: {
979
+ name: 'HT',
980
+ symbol: 'HT',
981
+ decimals: 18,
982
+ },
983
+ rpcUrls: ['https://http-testnet.hecochain.com'],
984
+ },
985
+ },
986
+ // 1666700000 - Harmony Testnet 0
987
+ {
988
+ key: ChainKey.ONET,
989
+ chainType: ChainType.EVM,
990
+ name: 'Harmony Testnet',
991
+ coin: CoinKey.ONE,
992
+ id: 1666700000,
993
+ mainnet: false,
994
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/harmony_test.png',
995
+ // https://docs.harmony.one/home/developers/wallets/metamask/connect-metamask-to-the-harmony-chain
996
+ multicallAddress: multicallAddresses[ChainId.ONET],
997
+ metamask: {
998
+ chainId: prefixChainId(1666700000),
999
+ blockExplorerUrls: [
1000
+ 'https://explorer.pops.one/',
1001
+ 'https://explorer.testnet.harmony.one/',
1002
+ ],
1003
+ chainName: 'Harmony Testnet Shard 0',
1004
+ nativeCurrency: {
1005
+ name: 'ONE',
1006
+ symbol: 'ONE',
1007
+ decimals: 18,
1008
+ },
1009
+ rpcUrls: ['https://api.s0.b.hmny.io'],
1010
+ },
1011
+ },
1012
+ // 123 Fuse Sparknet
1013
+ {
1014
+ key: ChainKey.FUST,
1015
+ chainType: ChainType.EVM,
1016
+ name: 'SPARK',
1017
+ coin: CoinKey.SPARK,
1018
+ id: 123,
1019
+ mainnet: false,
1020
+ multicallAddress: multicallAddresses[ChainId.FUST],
1021
+ metamask: {
1022
+ chainId: prefixChainId(123),
1023
+ blockExplorerUrls: ['https://explorer.fusespark.io/'],
1024
+ chainName: 'Fuse Sparknet',
1025
+ nativeCurrency: {
1026
+ name: 'Spark',
1027
+ symbol: 'SPARK',
1028
+ decimals: 18,
1029
+ },
1030
+ rpcUrls: ['https://rpc.fusespark.io'],
1031
+ },
1032
+ },
1033
+ // 41 Telos EVM Testnet
1034
+ {
1035
+ key: ChainKey.TLOT,
1036
+ chainType: ChainType.EVM,
1037
+ name: 'Telos Testnet',
1038
+ coin: CoinKey.TLOS,
1039
+ id: 41,
1040
+ mainnet: false,
1041
+ faucetUrls: ['https://app.telos.net/testnet/developers'],
1042
+ multicallAddress: multicallAddresses[ChainId.TLOT],
1043
+ metamask: {
1044
+ chainId: prefixChainId(41),
1045
+ blockExplorerUrls: ['https://telos.net/'],
1046
+ chainName: 'Telos EVM Mainnet',
1047
+ nativeCurrency: {
1048
+ name: 'Telos',
1049
+ symbol: 'TLOS',
1050
+ decimals: 18,
1051
+ },
1052
+ rpcUrls: ['https://testnet.telos.net/evm'],
1053
+ },
1054
+ },
1055
+ // 31 RSK Testnet
1056
+ {
1057
+ key: ChainKey.RSKT,
1058
+ chainType: ChainType.EVM,
1059
+ name: 'RSK Testnet',
1060
+ coin: CoinKey.TRBTC,
1061
+ id: 31,
1062
+ mainnet: true,
1063
+ multicallAddress: multicallAddresses[ChainId.RSKT],
1064
+ metamask: {
1065
+ chainId: prefixChainId(31),
1066
+ blockExplorerUrls: ['https://rsk.co/'],
1067
+ chainName: 'RSK Testnet',
1068
+ nativeCurrency: {
1069
+ name: 'tRBTC',
1070
+ symbol: 'TRBTC',
1071
+ decimals: 18,
1072
+ },
1073
+ rpcUrls: ['https://public-node.testnet.rsk.co'],
1074
+ },
1075
+ },
1076
+ // 43113 - Avalanche Fuji Testnet
1077
+ {
1078
+ key: ChainKey.AVAT,
1079
+ chainType: ChainType.EVM,
1080
+ name: 'Avalanche Fuji Testnet',
1081
+ coin: CoinKey.AVAX,
1082
+ id: 43113,
1083
+ mainnet: false,
1084
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/avalanche_test.png',
1085
+ multicallAddress: multicallAddresses[ChainId.AVAT],
1086
+ faucetUrls: ['https://faucet.avax-test.network/'],
1087
+ // https://github.com/ethereum-lists/chains/blob/master/_data/chains/eip155-43113.json
1088
+ metamask: {
1089
+ chainId: prefixChainId(43113),
1090
+ blockExplorerUrls: ['https://testnet.snowtrace.io/'],
1091
+ chainName: 'Avalanche Fuji Testnet',
1092
+ nativeCurrency: {
1093
+ name: 'AVAX',
1094
+ symbol: 'AVAX',
1095
+ decimals: 18,
1096
+ },
1097
+ rpcUrls: ['https://api.avax-test.network/ext/bc/C/rpc'],
1098
+ },
1099
+ },
1100
+ // 59140 - Linea (formerly ConsenSys zkEVM) Testnet
1101
+ {
1102
+ key: ChainKey.LNAT,
1103
+ chainType: ChainType.EVM,
1104
+ name: 'Linea Testnet',
1105
+ coin: CoinKey.ETH,
1106
+ id: 59140,
1107
+ mainnet: false,
1108
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/linea.svg',
1109
+ multicallAddress: multicallAddresses[ChainId.LNAT],
1110
+ faucetUrls: ['https://faucetlink.to/goerli'],
1111
+ metamask: {
1112
+ chainId: prefixChainId(59140),
1113
+ blockExplorerUrls: ['https://explorer.goerli.linea.build/'],
1114
+ chainName: 'Linea Testnet',
1115
+ nativeCurrency: {
1116
+ name: 'crETH',
1117
+ symbol: 'crETH',
1118
+ decimals: 18,
1119
+ },
1120
+ rpcUrls: ['https://rpc.goerli.linea.build'],
1121
+ },
1122
+ },
1123
+ // TODO: Add
1124
+ // EVMT = 9000,
1125
+ // MORT = 1287,
1126
+ // FTMT = 4002,
1127
+ // https://faucet.buni.finance/
1128
+ // kucoin faucet: https://stakely.io/faucet/kucoin-kcc-kcs
1129
+ ];
1130
+ export const supportedSolanaChains = [
1131
+ {
1132
+ key: ChainKey.SOL,
1133
+ chainType: ChainType.Solana,
1134
+ name: 'Solana',
1135
+ coin: CoinKey.SOL,
1136
+ id: ChainId.SOL,
1137
+ mainnet: true,
1138
+ logoURI: 'https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/chains/solana.svg',
1139
+ faucetUrls: ['https://stakely.io/faucet/solana-sol'],
1140
+ metamask: {
1141
+ chainId: ChainId.SOL.toString(),
1142
+ blockExplorerUrls: [
1143
+ 'https://explorer.solana.com/',
1144
+ 'https://solscan.io/',
1145
+ 'https://solana.fm/',
1146
+ ],
1147
+ chainName: 'Solana',
1148
+ nativeCurrency: {
1149
+ name: 'SOL',
1150
+ symbol: 'SOL',
1151
+ decimals: 9,
1152
+ },
1153
+ rpcUrls: ['https://api.mainnet-beta.solana.com'],
1154
+ },
1155
+ },
1156
+ ];
1157
+ // This assignment is required to avoid breaking
1158
+ // changes with the new non EVM support types release
1159
+ // This will be removed in the future
1160
+ export const supportedChains = [...supportedEVMChains, ...supportedSolanaChains];
1161
+ export const getChainByKey = (chainKey) => {
1162
+ const chain = supportedChains.find((c) => c.key === chainKey);
1163
+ if (!chain) {
1164
+ throw new Error('Invalid chainKey');
1165
+ }
1166
+ return chain;
1167
+ };
1168
+ export const getChainById = (chainId) => {
1169
+ const chain = supportedChains.find((c) => c.id === chainId);
1170
+ if (!chain) {
1171
+ throw new Error('Invalid chainId');
1172
+ }
1173
+ return chain;
1174
+ };