@proton/wrap-constants 0.2.193 → 0.3.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/coins.ts DELETED
@@ -1,1632 +0,0 @@
1
- import { Asset } from "@bloks/numbers";
2
-
3
- export enum Chains {
4
- BitcoinMainnet = "Bitcoin",
5
- BitcoinTestnet = "Bitcoin (Testnet)",
6
- EthereumMainnet = "Ethereum",
7
- EthereumSepolia = "Ethereum (Sepolia)",
8
- LitecoinMainnet = "Litecoin",
9
- LitecoinTestnet = "Litecoin (Testnet)",
10
- BitcoinCashMainnet = "Bitcoin Cash",
11
- BitcoinCashTestnet = "Bitcoin Cash (Testnet)",
12
- StellarMainnet = "Stellar",
13
- StellarTestnet = "Stellar (Testnet)",
14
- ProtonMainnet = "Proton",
15
- ProtonTestnet = "Proton (Testnet)",
16
- PolkadotMainnet = "Polkadot",
17
- BinanceBEP2 = "Binance (BEP2)",
18
- BinanceBEP20 = "Binance (BEP20)",
19
- EosMainnet = "EOS",
20
- EosTestnet = "EOS (Jungle Testnet)",
21
- HederaMainnet = "Hedera (Mainnet)",
22
- HederaTestnet = "Hedera (Testnet)",
23
- DogeMainnet = "Dogecoin",
24
- CardanoMainnet = "Cardano",
25
- AvalancheXChain = "Avalanche X-Chain",
26
- AvalancheCChain = "Avalanche C-Chain",
27
- PolygonMainnet = "Polygon",
28
- TerraMainnet = "Terra",
29
- RippleMainnet = "Ripple",
30
- SolanaMainnet = "Solana",
31
- XDCMainnet = "XDC Network",
32
- MetalXTestnet = "Metal X-Chain (Testnet)",
33
- MetalCTestnet = "Metal C-Chain (Testnet)",
34
- MetalCMainnet = "Metal C-Chain",
35
- MetalL2Mainnet = "Metal L2",
36
- MetalL2Testnet = "Metal L2 (Testnet)",
37
- }
38
-
39
- export enum Networks {
40
- Mainnet = "mainnet",
41
- Testnet = "testnet",
42
- ERC20 = "erc20",
43
- BEP20 = "bep20",
44
- XLM = "xlm",
45
- AVM = "avm",
46
- EVM = "evm",
47
- METALL2 = "metall2",
48
- Sepolia = "sepolia",
49
- }
50
-
51
- export const similarChains = {
52
- [Chains.EthereumMainnet]: [Chains.BinanceBEP20],
53
- [Chains.BinanceBEP20]: [Chains.EthereumMainnet],
54
- };
55
-
56
- export interface Coin {
57
- allowSwap: boolean;
58
- allowBridge: boolean;
59
- allowLend: boolean;
60
- allowBorrow: boolean;
61
- name: string;
62
- coin: string;
63
- xtokenSymbol: string;
64
- xtokenPrecision: number;
65
- xtokenContract: string;
66
- wallets: Wallet[];
67
- image: string;
68
- coingeckoId: string;
69
- unifiedCryptoassetId: string;
70
- balance?: Asset;
71
- }
72
-
73
- export interface Wallet {
74
- wallet: string;
75
- symbol: string;
76
- chain: Chains;
77
- network: Networks;
78
- precision: number;
79
- contract: string | undefined;
80
- provider: string;
81
- hasWithdrawMemo: boolean;
82
- }
83
-
84
- export enum Providers {
85
- FIREBLOCKS = "fireblocks",
86
- METAL = "metal",
87
- METALL2 = "metall2",
88
- }
89
-
90
- export type CoinWallet = Exclude<Coin, "wallets"> & Wallet;
91
-
92
- //
93
- export const explorerLinkByChain = {
94
- [Chains.BitcoinMainnet]: (txid: string) =>
95
- `https://blockchain.com/btc/tx/${txid}`,
96
- [Chains.BitcoinTestnet]: (txid: string) =>
97
- `https://blockstream.info/testnet/tx/${txid}`,
98
- [Chains.EthereumMainnet]: (txid: string) => `https://etherscan.io/tx/${txid}`,
99
- [Chains.EthereumSepolia]: (txid: string) =>
100
- `https://sepolia.etherscan.io/tx/${txid}`,
101
- [Chains.LitecoinMainnet]: (txid: string) =>
102
- `https://blockchair.com/litecoin/transaction/${txid}`,
103
- [Chains.LitecoinTestnet]: (txid: string) =>
104
- `https://blockexplorer.one/litecoin/testnet/blockHash/${txid}`,
105
- [Chains.BitcoinCashMainnet]: (txid: string) =>
106
- `https://blockchair.com/bitcoin-cash/transaction/${txid}`,
107
- [Chains.BitcoinCashTestnet]: (txid: string) =>
108
- `https://blockexplorer.one/bitcoin-cash/testnet/blockHash/${txid}`,
109
- [Chains.StellarMainnet]: (txid: string) =>
110
- `https://blockchair.com/stellar/transaction/${txid}`,
111
- [Chains.StellarTestnet]: (txid: string) =>
112
- `https://testnet.steexp.com/tx/${txid}`,
113
- [Chains.ProtonMainnet]: (txid: string, traces?: boolean) =>
114
- `https://explorer.xprnetwork.org/transaction/${txid}${
115
- traces ? "?tab=traces" : ""
116
- }`,
117
- [Chains.ProtonTestnet]: (txid: string, traces?: boolean) =>
118
- `https://testnet.explorer.xprnetwork.org/transaction/${txid}${
119
- traces ? "?tab=traces" : ""
120
- }`,
121
- [Chains.PolkadotMainnet]: (txid: string) =>
122
- `https://polkadot.subscan.io/extrinsic/${txid}`,
123
- [Chains.BinanceBEP2]: (txid: string) =>
124
- `https://binance.mintscan.io/txs/${txid}`,
125
- [Chains.BinanceBEP20]: (txid: string) => `https://bscscan.com/tx/${txid}`,
126
- [Chains.EosMainnet]: (txid: string) => `https://bloks.io/transaction/${txid}`,
127
- [Chains.EosTestnet]: (txid: string) =>
128
- `https://jungle.bloks.io/transaction/${txid}`,
129
- [Chains.HederaMainnet]: (txid: string) =>
130
- `https://app.dragonglass.me/transactions/${txid}`,
131
- [Chains.HederaTestnet]: (txid: string) =>
132
- `https://testnet.dragonglass.me/transactions/${txid}`,
133
- [Chains.DogeMainnet]: (txid: string) =>
134
- `https://blockchair.com/dogecoin/transaction/${txid}`,
135
- [Chains.CardanoMainnet]: (txid: string) =>
136
- `https://explorer.cardano.org/en/transaction?id=${txid}`,
137
- [Chains.AvalancheXChain]: (txid: string) =>
138
- `https://avascan.info/blockchain/x/tx/${txid}`,
139
- [Chains.AvalancheCChain]: (txid: string) => `https://snowtrace.io/tx/${txid}`,
140
- [Chains.PolygonMainnet]: (txid: string) =>
141
- `https://polygonscan.com/tx/${txid}`,
142
- [Chains.TerraMainnet]: (txid: string) =>
143
- `https://terra.stake.id/?#/tx/${txid}`,
144
- [Chains.RippleMainnet]: (txid: string) => `https://xrpscan.com/tx/${txid}`,
145
- [Chains.SolanaMainnet]: (txid: string) =>
146
- `https://explorer.solana.com/tx/${txid}`,
147
- [Chains.MetalXTestnet]: (txid: string) => `https://metalscan.io/tx/${txid}`,
148
- [Chains.MetalCTestnet]: (txid: string) =>
149
- `https://tahoe.metaltrace.io/tx/${txid}`,
150
- [Chains.MetalCMainnet]: (txid: string) => `https://metalscan.io/tx/${txid}`,
151
- [Chains.XDCMainnet]: (txid: string) =>
152
- `https://xdc.blocksscan.io/txs/${txid}`,
153
- [Chains.MetalL2Testnet]: (txid: string) =>
154
- `https://testnet.explorer.metall2.com/tx/${txid}`,
155
- [Chains.MetalL2Mainnet]: (txid: string) =>
156
- `https://explorer.metall2.com/tx/${txid}`,
157
- };
158
-
159
- export const protonExplorerTxUrl = (
160
- chain: string,
161
- txId: string,
162
- traces?: boolean,
163
- ) =>
164
- chain === "proton"
165
- ? explorerLinkByChain[Chains.ProtonMainnet](txId, traces)
166
- : explorerLinkByChain[Chains.ProtonTestnet](txId, traces);
167
-
168
- // Initialize.
169
- export const initializeCoins = (
170
- protonChain: string,
171
- ): {
172
- allCoins: Coin[];
173
- swapCoins: Coin[];
174
- bridgeCoins: Coin[];
175
- lendCoins: Coin[];
176
- borrowCoins: Coin[];
177
- loanCoins: Coin[];
178
- allEnabledCoins: Coin[];
179
- } => {
180
- const IS_MAINNET = protonChain === "proton";
181
- const IS_TESTNET = protonChain === "proton-test";
182
-
183
- const coins: Coin[] = [
184
- {
185
- allowSwap: true,
186
- allowBridge: IS_MAINNET,
187
- allowLend: true,
188
- allowBorrow: true,
189
- name: "XPR Network",
190
- coin: "XPR",
191
- xtokenSymbol: "XPR",
192
- xtokenPrecision: 4,
193
- xtokenContract: "eosio.token",
194
- wallets: [
195
- ...(IS_MAINNET
196
- ? [
197
- {
198
- wallet: "XPR-ERC20",
199
- symbol: "XPR",
200
- chain: Chains.EthereumMainnet,
201
- network: Networks.ERC20,
202
- precision: 4,
203
- contract: "0xD7EFB00D12C2C13131FD319336FDF952525DA2AF",
204
- provider: Providers.FIREBLOCKS,
205
- hasWithdrawMemo: false,
206
- },
207
- {
208
- wallet: "XPR-BEP20",
209
- symbol: "XPR",
210
- chain: Chains.BinanceBEP20,
211
- network: Networks.BEP20,
212
- precision: 4,
213
- contract: "0x5DE3939B2F811A61D830E6F52D13B066881412AB",
214
- provider: Providers.FIREBLOCKS,
215
- hasWithdrawMemo: false,
216
- },
217
- ]
218
- : []),
219
- ],
220
- image: "https://app.metalx.com/img/tokens/XPR.png",
221
- coingeckoId: "proton",
222
- unifiedCryptoassetId: "5350",
223
- },
224
- {
225
- allowSwap: true,
226
- allowBridge: true,
227
- allowLend: true,
228
- allowBorrow: true,
229
- name: "USD Coin",
230
- coin: "USDC",
231
- xtokenSymbol: "XUSDC",
232
- xtokenPrecision: 6,
233
- xtokenContract: "xtokens",
234
- wallets: [
235
- ...(IS_MAINNET
236
- ? [
237
- {
238
- wallet: "USDC",
239
- symbol: "USDC",
240
- chain: Chains.EthereumMainnet,
241
- network: Networks.ERC20,
242
- precision: 6,
243
- contract: "0xA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48",
244
- provider: Providers.FIREBLOCKS,
245
- hasWithdrawMemo: false,
246
- },
247
- // {
248
- // wallet: 'USDC-BEP20',
249
- // symbol: 'USDC',
250
- // chain: Chains.BinanceBEP20,
251
- // network: Networks.BEP20,
252
- // precision: 18,
253
- // contract: '0x8AC76A51CC950D9822D68B83FE1AD97B32CD580D',
254
- // provider: Providers.FIREBLOCKS,
255
- // hasWithdrawMemo: false
256
- // },
257
- {
258
- wallet: "USDC-XLM",
259
- symbol: "USDC",
260
- chain: Chains.StellarMainnet,
261
- network: Networks.XLM,
262
- precision: 7,
263
- contract: undefined,
264
- provider: Providers.FIREBLOCKS,
265
- hasWithdrawMemo: true,
266
- },
267
- ]
268
- : []),
269
- ...(IS_TESTNET
270
- ? [
271
- {
272
- wallet: "USDC",
273
- symbol: "USDC",
274
- chain: Chains.EthereumSepolia,
275
- network: Networks.Sepolia,
276
- precision: 6,
277
- contract: "0xA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48",
278
- provider: Providers.FIREBLOCKS,
279
- hasWithdrawMemo: false,
280
- },
281
- {
282
- wallet: "USDC-XLM",
283
- symbol: "USDC",
284
- chain: Chains.StellarTestnet,
285
- network: Networks.XLM,
286
- precision: 7,
287
- contract: undefined,
288
- provider: Providers.FIREBLOCKS,
289
- hasWithdrawMemo: true,
290
- },
291
- ]
292
- : []),
293
- ],
294
- image: "https://app.metalx.com/img/tokens/usdc.png",
295
- coingeckoId: "usd-coin",
296
- unifiedCryptoassetId: "3408",
297
- },
298
- {
299
- allowSwap: true,
300
- allowBridge: true,
301
- allowLend: true,
302
- allowBorrow: true,
303
- name: "Metal DAO",
304
- coin: "MTL",
305
- xtokenSymbol: "XMT",
306
- xtokenPrecision: 8,
307
- xtokenContract: "xtokens",
308
- wallets: [
309
- ...(IS_MAINNET
310
- ? [
311
- {
312
- wallet: "MTL-METALL2",
313
- symbol: "MTL",
314
- chain: Chains.MetalL2Mainnet,
315
- network: Networks.METALL2,
316
- precision: 8,
317
- contract: "0xBCFc435d8F276585f6431Fc1b9EE9A850B5C00A9",
318
- provider: Providers.METALL2,
319
- hasWithdrawMemo: false,
320
- },
321
- // {
322
- // wallet: "MTL",
323
- // symbol: "MTL",
324
- // chain: Chains.EthereumMainnet,
325
- // network: Networks.ERC20,
326
- // precision: 8,
327
- // contract: "0xF433089366899D83A9F26A773D59EC7ECF30355E",
328
- // provider: Providers.FIREBLOCKS,
329
- // hasWithdrawMemo: false,
330
- // },
331
- ]
332
- : [
333
- // {
334
- // wallet: "MTL-METALL2",
335
- // symbol: "MTL",
336
- // chain: Chains.MetalL2Testnet,
337
- // network: Networks.METALL2,
338
- // precision: 8,
339
- // contract: "0xBCFc435d8F276585f6431Fc1b9EE9A850B5C00A9",
340
- // provider: Providers.METALL2,
341
- // hasWithdrawMemo: false,
342
- // }
343
- ]),
344
- ],
345
- image: "https://app.metalx.com/img/tokens/mtl.png",
346
- coingeckoId: "metal",
347
- unifiedCryptoassetId: "1788",
348
- },
349
- {
350
- allowSwap: true,
351
- allowBridge: true,
352
- allowLend: false,
353
- allowBorrow: false,
354
- name: "Metal Blockchain",
355
- coin: "METAL",
356
- xtokenSymbol: "METAL",
357
- xtokenPrecision: 8,
358
- xtokenContract: "xtokens",
359
- wallets: [
360
- ...(IS_TESTNET
361
- ? [
362
- {
363
- wallet: "METAL",
364
- symbol: "METAL",
365
- chain: Chains.MetalCTestnet,
366
- network: Networks.EVM,
367
- precision: 18,
368
- contract: "",
369
- provider: Providers.METAL,
370
- hasWithdrawMemo: false,
371
- },
372
- ]
373
- : []),
374
- ...(IS_MAINNET
375
- ? [
376
- {
377
- wallet: "METAL",
378
- symbol: "METAL",
379
- chain: Chains.MetalCMainnet,
380
- network: Networks.EVM,
381
- precision: 18,
382
- contract: "",
383
- provider: Providers.METAL,
384
- hasWithdrawMemo: false,
385
- },
386
- {
387
- wallet: "METAL-ERC20",
388
- symbol: "METAL",
389
- chain: Chains.EthereumMainnet,
390
- network: Networks.ERC20,
391
- precision: 18,
392
- contract: "",
393
- provider: Providers.FIREBLOCKS,
394
- hasWithdrawMemo: false,
395
- },
396
- ]
397
- : []),
398
- ],
399
- image: "https://app.metalx.com/img/tokens/metal.png",
400
- coingeckoId: "metal-blockchain",
401
- unifiedCryptoassetId: "21769",
402
- },
403
- {
404
- allowSwap: true,
405
- allowBridge: true,
406
- allowLend: true,
407
- allowBorrow: true,
408
- name: "Bitcoin",
409
- coin: "BTC",
410
- xtokenSymbol: "XBTC",
411
- xtokenPrecision: 8,
412
- xtokenContract: "xtokens",
413
- wallets: [
414
- ...(IS_MAINNET
415
- ? [
416
- {
417
- wallet: "BTC",
418
- symbol: "BTC",
419
- chain: Chains.BitcoinMainnet,
420
- network: Networks.Mainnet,
421
- precision: 8,
422
- contract: undefined,
423
- provider: Providers.FIREBLOCKS,
424
- hasWithdrawMemo: false,
425
- },
426
- ]
427
- : []),
428
- ...(IS_TESTNET
429
- ? [
430
- {
431
- wallet: "BTC",
432
- symbol: "BTC",
433
- chain: Chains.BitcoinTestnet,
434
- network: Networks.Testnet,
435
- precision: 8,
436
- contract: undefined,
437
- provider: Providers.FIREBLOCKS,
438
- hasWithdrawMemo: false,
439
- },
440
- ]
441
- : []),
442
- ],
443
- image: "https://app.metalx.com/img/tokens/btc.png",
444
- coingeckoId: "bitcoin",
445
- unifiedCryptoassetId: "1",
446
- },
447
- {
448
- allowSwap: true,
449
- allowBridge: true,
450
- allowLend: true,
451
- allowBorrow: true,
452
- name: "Ethereum",
453
- coin: "ETH",
454
- xtokenSymbol: "XETH",
455
- xtokenPrecision: 8,
456
- xtokenContract: "xtokens",
457
- wallets: [
458
- ...(IS_MAINNET
459
- ? [
460
- {
461
- wallet: "ETH",
462
- symbol: "ETH",
463
- chain: Chains.EthereumMainnet,
464
- network: Networks.Mainnet,
465
- precision: 18,
466
- contract: "0x0000000000000000000000000000000000000000",
467
- provider: Providers.FIREBLOCKS,
468
- hasWithdrawMemo: false,
469
- },
470
- ]
471
- : []),
472
- ...(IS_TESTNET
473
- ? [
474
- {
475
- wallet: "ETH",
476
- symbol: "ETH",
477
- chain: Chains.EthereumSepolia,
478
- network: Networks.Sepolia,
479
- precision: 18,
480
- contract: "0x0000000000000000000000000000000000000000",
481
- provider: Providers.FIREBLOCKS,
482
- hasWithdrawMemo: false,
483
- },
484
- ]
485
- : []),
486
- ],
487
- image: "https://app.metalx.com/img/tokens/eth.png",
488
- coingeckoId: "ethereum",
489
- unifiedCryptoassetId: "1027",
490
- },
491
- {
492
- allowSwap: true,
493
- allowBridge: false,
494
- allowLend: false,
495
- allowBorrow: false,
496
- name: "LOAN Protocol",
497
- coin: "LOAN",
498
- xtokenSymbol: "LOAN",
499
- xtokenPrecision: 4,
500
- xtokenContract: "loan.token",
501
- wallets: [],
502
- image: "https://app.metalx.com/img/tokens/loan.png",
503
- coingeckoId: "proton-loan",
504
- unifiedCryptoassetId: "22071",
505
- },
506
- {
507
- allowSwap: true,
508
- allowBridge: true,
509
- allowLend: false,
510
- allowBorrow: false,
511
- name: "Tether",
512
- coin: "USDT",
513
- xtokenSymbol: "XUSDT",
514
- xtokenPrecision: 6,
515
- xtokenContract: "xtokens",
516
- wallets: [
517
- ...(IS_MAINNET
518
- ? [
519
- {
520
- wallet: "USDT",
521
- symbol: "USDT",
522
- chain: Chains.EthereumMainnet,
523
- network: Networks.ERC20,
524
- precision: 6,
525
- contract: "0xDAC17F958D2EE523A2206206994597C13D831EC7",
526
- provider: Providers.FIREBLOCKS,
527
- hasWithdrawMemo: false,
528
- },
529
- // {
530
- // wallet: "USDT-BEP20",
531
- // symbol: "USDT",
532
- // chain: Chains.BinanceBEP20,
533
- // network: Networks.BEP20,
534
- // precision: 18,
535
- // contract: "0x55d398326f99059fF775485246999027B3197955",
536
- // provider: Providers.FIREBLOCKS,
537
- // hasWithdrawMemo: false,
538
- // },
539
- ]
540
- : [
541
- {
542
- wallet: "USDT",
543
- symbol: "USDT",
544
- chain: Chains.EthereumSepolia,
545
- network: Networks.Sepolia,
546
- precision: 6,
547
- contract: "0xDAC17F958D2EE523A2206206994597C13D831EC7",
548
- provider: Providers.FIREBLOCKS,
549
- hasWithdrawMemo: false,
550
- },
551
- ]),
552
- ],
553
- image: "https://app.metalx.com/img/tokens/usdt.png",
554
- coingeckoId: "tether",
555
- unifiedCryptoassetId: "825",
556
- },
557
- {
558
- allowSwap: false,
559
- allowBridge: false,
560
- allowLend: false,
561
- allowBorrow: false,
562
- name: "TrueUSD",
563
- coin: "TUSD",
564
- xtokenSymbol: "XTUSD",
565
- xtokenPrecision: 6,
566
- xtokenContract: "xtokens",
567
- wallets: [
568
- ...(IS_MAINNET
569
- ? [
570
- // {
571
- // wallet: "TUSD",
572
- // symbol: "TUSD",
573
- // chain: Chains.EthereumMainnet,
574
- // network: Networks.ERC20,
575
- // precision: 18,
576
- // contract: "0x0000000000085D4780B73119B644AE5ECD22B376",
577
- // provider: Providers.FIREBLOCKS,
578
- // hasWithdrawMemo: false,
579
- // },
580
- ]
581
- : []),
582
- ],
583
- image: "https://app.metalx.com/img/tokens/tusd.png",
584
- coingeckoId: "true-usd",
585
- unifiedCryptoassetId: "2563",
586
- },
587
- {
588
- allowSwap: false,
589
- allowBridge: IS_MAINNET,
590
- allowLend: false,
591
- allowBorrow: false,
592
- name: "Euro Coin",
593
- coin: "EUROC",
594
- xtokenSymbol: "XEUROC",
595
- xtokenPrecision: 6,
596
- xtokenContract: "xtokens",
597
- wallets: [
598
- ...(IS_MAINNET
599
- ? [
600
- {
601
- wallet: "EUROC-ERC20",
602
- symbol: "EUROC",
603
- chain: Chains.EthereumMainnet,
604
- network: Networks.ERC20,
605
- precision: 6,
606
- contract: "0x1aBaEA1f7C830bD89Acc67eC4af516284b1bC33c",
607
- provider: Providers.FIREBLOCKS,
608
- hasWithdrawMemo: false,
609
- },
610
- ]
611
- : []),
612
- ],
613
- image:
614
- "https://assets.coingecko.com/coins/images/26045/small/euro-coin.png?1655394420",
615
- coingeckoId: "euro-coin",
616
- unifiedCryptoassetId: "20641",
617
- },
618
- {
619
- allowSwap: false,
620
- allowBridge: IS_MAINNET,
621
- allowLend: false,
622
- allowBorrow: false,
623
- name: "XDC Network",
624
- coin: "XDC",
625
- xtokenSymbol: "XDC",
626
- xtokenPrecision: 4,
627
- xtokenContract: "xtokens",
628
- wallets: [
629
- ...(IS_MAINNET
630
- ? [
631
- {
632
- wallet: "XDC",
633
- symbol: "XDC",
634
- chain: Chains.XDCMainnet,
635
- network: Networks.Mainnet,
636
- precision: 18,
637
- contract: "",
638
- provider: Providers.FIREBLOCKS,
639
- hasWithdrawMemo: false,
640
- },
641
- ]
642
- : []),
643
- ],
644
- image: "https://app.metalx.com/img/tokens/xdc.png",
645
- coingeckoId: "xdce-crowd-sale",
646
- unifiedCryptoassetId: "2634",
647
- },
648
- {
649
- allowSwap: false,
650
- allowBridge: IS_MAINNET,
651
- allowLend: false,
652
- allowBorrow: false,
653
- name: "Paxos Dollar",
654
- coin: "PAX",
655
- xtokenSymbol: "XPAX",
656
- xtokenPrecision: 6,
657
- xtokenContract: "xtokens",
658
- wallets: [
659
- ...(IS_MAINNET
660
- ? [
661
- {
662
- wallet: "PAX",
663
- symbol: "PAX",
664
- chain: Chains.EthereumMainnet,
665
- network: Networks.ERC20,
666
- precision: 18,
667
- contract: "0x8E870D67F660D95D5BE530380D0EC0BD388289E1",
668
- provider: Providers.FIREBLOCKS,
669
- hasWithdrawMemo: false,
670
- },
671
- ]
672
- : []),
673
- ],
674
- image: "https://app.metalx.com/img/tokens/pax.png",
675
- coingeckoId: "paxos-standard",
676
- unifiedCryptoassetId: "3330",
677
- },
678
- {
679
- allowSwap: false,
680
- allowBridge: true,
681
- allowLend: false,
682
- allowBorrow: false,
683
- name: "Paxos Gold",
684
- coin: "PAXG",
685
- xtokenSymbol: "XPAXG",
686
- xtokenPrecision: 8,
687
- xtokenContract: "xtokens",
688
- wallets: [
689
- ...(IS_MAINNET
690
- ? [
691
- {
692
- wallet: "PAXG",
693
- symbol: "PAXG",
694
- chain: Chains.EthereumMainnet,
695
- network: Networks.ERC20,
696
- precision: 18,
697
- contract: "0x45804880DE22913DAFE09F4980848ECE6ECBAF78",
698
- provider: Providers.FIREBLOCKS,
699
- hasWithdrawMemo: false,
700
- },
701
- ]
702
- : []),
703
- ...(IS_TESTNET
704
- ? [
705
- {
706
- wallet: "PAXG",
707
- symbol: "PAXG",
708
- chain: Chains.EthereumSepolia,
709
- network: Networks.Sepolia,
710
- precision: 18,
711
- contract: "0x45804880DE22913DAFE09F4980848ECE6ECBAF78",
712
- provider: Providers.FIREBLOCKS,
713
- hasWithdrawMemo: false,
714
- },
715
- ]
716
- : []),
717
- ],
718
- image: "https://app.metalx.com/img/tokens/paxg.png",
719
- coingeckoId: "pax-gold",
720
- unifiedCryptoassetId: "4705",
721
- },
722
- {
723
- allowSwap: false,
724
- allowBridge: false,
725
- allowLend: false,
726
- allowBorrow: false,
727
- name: "Storex",
728
- coin: "STRX",
729
- xtokenSymbol: "STRX",
730
- xtokenPrecision: 4,
731
- xtokenContract: "storex",
732
- wallets: [],
733
- image: "https://app.metalx.com/img/tokens/strx.png",
734
- coingeckoId: "storex",
735
- unifiedCryptoassetId: "",
736
- },
737
- {
738
- allowSwap: false,
739
- allowBridge: false,
740
- allowLend: false,
741
- allowBorrow: false,
742
- name: "Mint",
743
- coin: "MINT",
744
- xtokenSymbol: "MINT",
745
- xtokenPrecision: 4,
746
- xtokenContract: "protonmint",
747
- wallets: [],
748
- image: "https://app.metalx.com/img/tokens/mint.png",
749
- coingeckoId: "",
750
- unifiedCryptoassetId: "",
751
- },
752
- {
753
- allowSwap: IS_MAINNET,
754
- allowBridge: false,
755
- allowLend: false,
756
- allowBorrow: false,
757
- name: "Snipcoins",
758
- coin: "SNIPS",
759
- xtokenSymbol: "SNIPS",
760
- xtokenPrecision: 4,
761
- xtokenContract: "snipcoins",
762
- wallets: [],
763
- image: "https://app.metalx.com/img/tokens/snips.png",
764
- coingeckoId: "",
765
- unifiedCryptoassetId: "",
766
- },
767
- {
768
- allowSwap: false,
769
- allowBridge: false,
770
- allowLend: false,
771
- allowBorrow: false,
772
- name: "Uniswap",
773
- coin: "UNI",
774
- xtokenSymbol: "XUNI",
775
- xtokenPrecision: 6,
776
- xtokenContract: "xtokens",
777
- wallets: [
778
- ...(IS_MAINNET
779
- ? [
780
- // {
781
- // wallet: "UNI",
782
- // symbol: "UNI",
783
- // chain: Chains.EthereumMainnet,
784
- // network: Networks.ERC20,
785
- // precision: 18,
786
- // contract: "0x1F9840A85D5AF5BF1D1762F925BDADDC4201F984",
787
- // provider: Providers.FIREBLOCKS,
788
- // hasWithdrawMemo: false,
789
- // },
790
- ]
791
- : []),
792
- ...(IS_TESTNET
793
- ? [
794
- // {
795
- // wallet: "UNI",
796
- // symbol: "UNI",
797
- // chain: Chains.EthereumSepolia,
798
- // network: Networks.Sepolia,
799
- // precision: 18,
800
- // contract: "0x1F9840A85D5AF5BF1D1762F925BDADDC4201F984",
801
- // provider: Providers.FIREBLOCKS,
802
- // hasWithdrawMemo: false,
803
- // },
804
- ]
805
- : []),
806
- ],
807
- image: "https://app.metalx.com/img/tokens/uni.png",
808
- coingeckoId: "uniswap",
809
- unifiedCryptoassetId: "7083",
810
- },
811
- {
812
- allowSwap: false,
813
- allowBridge: false,
814
- allowLend: false,
815
- allowBorrow: false,
816
- name: "1INCH",
817
- coin: "1INCH",
818
- xtokenSymbol: "XINCH",
819
- xtokenPrecision: 6,
820
- xtokenContract: "xtokens",
821
- wallets: [
822
- ...(IS_MAINNET
823
- ? [
824
- {
825
- wallet: "1INCH",
826
- symbol: "1INCH",
827
- chain: Chains.EthereumMainnet,
828
- network: Networks.ERC20,
829
- precision: 18,
830
- contract: "0x111111111117DC0AA78B770FA6A738034120C302",
831
- provider: Providers.FIREBLOCKS,
832
- hasWithdrawMemo: false,
833
- },
834
- ]
835
- : []),
836
- ],
837
- image: "https://www.proton.org/images/tokens/xtokensXINCH.png",
838
- coingeckoId: "1inch",
839
- unifiedCryptoassetId: "8104",
840
- },
841
- {
842
- allowSwap: false,
843
- allowBridge: false,
844
- allowLend: false,
845
- allowBorrow: false,
846
- name: "Chainlink",
847
- coin: "LINK",
848
- xtokenSymbol: "XLINK",
849
- xtokenPrecision: 6,
850
- xtokenContract: "xtokens",
851
- wallets: [
852
- ...(IS_MAINNET
853
- ? [
854
- {
855
- wallet: "LINK",
856
- symbol: "LINK",
857
- chain: Chains.EthereumMainnet,
858
- network: Networks.ERC20,
859
- precision: 18,
860
- contract: "0x514910771AF9CA656AF840DFF83E8264ECF986CA",
861
- provider: Providers.FIREBLOCKS,
862
- hasWithdrawMemo: false,
863
- },
864
- ]
865
- : []),
866
- ],
867
- image: "https://app.metalx.com/img/tokens/link.png",
868
- coingeckoId: "chainlink",
869
- unifiedCryptoassetId: "1975",
870
- },
871
- {
872
- allowSwap: IS_MAINNET,
873
- allowBridge: true,
874
- allowLend: false,
875
- allowBorrow: false,
876
- name: "Litecoin",
877
- coin: "LTC",
878
- xtokenSymbol: "XLTC",
879
- xtokenPrecision: 8,
880
- xtokenContract: "xtokens",
881
- wallets: [
882
- ...(IS_MAINNET
883
- ? [
884
- {
885
- wallet: "LTC",
886
- symbol: "LTC",
887
- chain: Chains.LitecoinMainnet,
888
- network: Networks.Mainnet,
889
- precision: 8,
890
- contract: undefined,
891
- provider: Providers.FIREBLOCKS,
892
- hasWithdrawMemo: false,
893
- },
894
- ]
895
- : []),
896
- ...(IS_TESTNET
897
- ? [
898
- {
899
- wallet: "LTC",
900
- symbol: "LTC",
901
- chain: Chains.LitecoinTestnet,
902
- network: Networks.Testnet,
903
- precision: 8,
904
- contract: undefined,
905
- provider: Providers.FIREBLOCKS,
906
- hasWithdrawMemo: false,
907
- },
908
- ]
909
- : []),
910
- ],
911
- image: "https://app.metalx.com/img/tokens/ltc.png",
912
- coingeckoId: "litecoin",
913
- unifiedCryptoassetId: "2",
914
- },
915
- {
916
- allowSwap: false,
917
- allowBridge: IS_MAINNET,
918
- allowLend: false,
919
- allowBorrow: false,
920
- name: "PayPal USD",
921
- coin: "PYUSD",
922
- xtokenSymbol: "XPYUSD",
923
- xtokenPrecision: 6,
924
- xtokenContract: "xtokens",
925
- wallets: [
926
- ...(IS_MAINNET
927
- ? [
928
- {
929
- wallet: "PYUSD",
930
- symbol: "PYUSD",
931
- chain: Chains.EthereumMainnet,
932
- network: Networks.ERC20,
933
- precision: 6,
934
- contract: undefined,
935
- provider: Providers.FIREBLOCKS,
936
- hasWithdrawMemo: false,
937
- },
938
- ]
939
- : []),
940
- ],
941
- image: "https://app.metalx.com/img/tokens/pyusd.png",
942
- coingeckoId: "paypal-usd",
943
- unifiedCryptoassetId: "27772",
944
- },
945
- {
946
- allowSwap: false,
947
- allowBridge: false,
948
- allowLend: false,
949
- allowBorrow: false,
950
- name: "Bitcoin Cash",
951
- coin: "BCH",
952
- xtokenSymbol: "XBCH",
953
- xtokenPrecision: 8,
954
- xtokenContract: "xtokens",
955
- wallets: [
956
- ...(IS_MAINNET
957
- ? [
958
- // {
959
- // wallet: "BCH",
960
- // symbol: "BCH",
961
- // chain: Chains.BitcoinCashMainnet,
962
- // network: Networks.Mainnet,
963
- // precision: 8,
964
- // contract: undefined,
965
- // provider: Providers.FIREBLOCKS,
966
- // hasWithdrawMemo: false,
967
- // },
968
- ]
969
- : []),
970
- ...(IS_TESTNET
971
- ? [
972
- // {
973
- // wallet: "BCH",
974
- // symbol: "BCH",
975
- // chain: Chains.BitcoinCashTestnet,
976
- // network: Networks.Testnet,
977
- // precision: 8,
978
- // contract: undefined,
979
- // provider: Providers.FIREBLOCKS,
980
- // hasWithdrawMemo: false,
981
- // },
982
- ]
983
- : []),
984
- ],
985
- image: "https://app.metalx.com/img/tokens/bch.png",
986
- coingeckoId: "bitcoin-cash",
987
- unifiedCryptoassetId: "1831",
988
- },
989
- {
990
- allowSwap: true,
991
- allowBridge: true,
992
- allowLend: false,
993
- allowBorrow: false,
994
- name: "LunarCrush",
995
- coin: "LUNR",
996
- xtokenSymbol: "XLUNR",
997
- xtokenPrecision: 4,
998
- xtokenContract: "xtokens",
999
- wallets: [
1000
- ...(IS_MAINNET
1001
- ? [
1002
- {
1003
- wallet: "LUNR",
1004
- symbol: "LUNR",
1005
- chain: Chains.EthereumMainnet,
1006
- network: Networks.ERC20,
1007
- precision: 4,
1008
- contract: undefined,
1009
- provider: Providers.FIREBLOCKS,
1010
- hasWithdrawMemo: false,
1011
- },
1012
- ]
1013
- : []),
1014
- ],
1015
- image: "https://app.metalx.com/img/tokens/lunr.png",
1016
- coingeckoId: "lunr-token",
1017
- unifiedCryptoassetId: "12971",
1018
- },
1019
- {
1020
- allowSwap: false,
1021
- allowBridge: true,
1022
- allowLend: false,
1023
- allowBorrow: false,
1024
- name: "Stellar",
1025
- coin: "XLM",
1026
- xtokenSymbol: "XXLM",
1027
- xtokenPrecision: 6,
1028
- xtokenContract: "xtokens",
1029
- wallets: [
1030
- ...(IS_MAINNET
1031
- ? [
1032
- {
1033
- wallet: "XLM",
1034
- symbol: "XLM",
1035
- chain: Chains.StellarMainnet,
1036
- network: Networks.Mainnet,
1037
- precision: 7,
1038
- contract: undefined,
1039
- provider: Providers.FIREBLOCKS,
1040
- hasWithdrawMemo: true,
1041
- },
1042
- ]
1043
- : []),
1044
- ...(IS_TESTNET
1045
- ? [
1046
- {
1047
- wallet: "XLM",
1048
- symbol: "XLM",
1049
- chain: Chains.StellarTestnet,
1050
- network: Networks.Testnet,
1051
- precision: 7,
1052
- contract: undefined,
1053
- provider: Providers.FIREBLOCKS,
1054
- hasWithdrawMemo: true,
1055
- },
1056
- ]
1057
- : []),
1058
- ],
1059
- image: "https://app.metalx.com/img/tokens/xlm.png",
1060
- coingeckoId: "stellar",
1061
- unifiedCryptoassetId: "512",
1062
- },
1063
- {
1064
- allowSwap: false,
1065
- allowBridge: false,
1066
- allowLend: false,
1067
- allowBorrow: false,
1068
- name: "Sense",
1069
- coin: "SENSE",
1070
- xtokenSymbol: "XSENSE",
1071
- xtokenPrecision: 4,
1072
- xtokenContract: "sense",
1073
- wallets: [],
1074
- image: "https://app.metalx.com/img/tokens/sense.png",
1075
- coingeckoId: "sense",
1076
- unifiedCryptoassetId: "",
1077
- },
1078
- {
1079
- allowSwap: false,
1080
- allowBridge: false,
1081
- allowLend: false,
1082
- allowBorrow: false,
1083
- name: "Polkadot",
1084
- coin: "DOT",
1085
- xtokenSymbol: "XDOT",
1086
- xtokenPrecision: 8,
1087
- xtokenContract: "xtokens",
1088
- wallets: [
1089
- ...(IS_MAINNET
1090
- ? [
1091
- {
1092
- wallet: "DOT",
1093
- symbol: "DOT",
1094
- chain: Chains.PolkadotMainnet,
1095
- network: Networks.Mainnet,
1096
- precision: 10,
1097
- contract: undefined,
1098
- provider: Providers.FIREBLOCKS,
1099
- hasWithdrawMemo: false,
1100
- },
1101
- ]
1102
- : []),
1103
- ],
1104
- image: "https://app.metalx.com/img/tokens/dot.png",
1105
- coingeckoId: "polkadot",
1106
- unifiedCryptoassetId: "6636",
1107
- },
1108
- {
1109
- allowSwap: true,
1110
- allowBridge: false,
1111
- allowLend: false,
1112
- allowBorrow: false,
1113
- name: "Binance Coin",
1114
- coin: "BNB",
1115
- xtokenSymbol: "XBNB",
1116
- xtokenPrecision: 8,
1117
- xtokenContract: "xtokens",
1118
- wallets: [
1119
- ...(IS_MAINNET
1120
- ? [
1121
- // {
1122
- // wallet: "BNB",
1123
- // symbol: "BNB",
1124
- // chain: Chains.BinanceBEP20,
1125
- // network: Networks.BEP20,
1126
- // precision: 18,
1127
- // contract: undefined,
1128
- // provider: Providers.FIREBLOCKS,
1129
- // hasWithdrawMemo: false,
1130
- // },
1131
- ]
1132
- : []),
1133
- ],
1134
- image: "https://app.metalx.com/img/tokens/bnb.png",
1135
- coingeckoId: "binancecoin",
1136
- unifiedCryptoassetId: "1839",
1137
- },
1138
- {
1139
- allowSwap: false,
1140
- allowBridge: false,
1141
- allowLend: false,
1142
- allowBorrow: false,
1143
- name: "Binance USD",
1144
- coin: "BUSD",
1145
- xtokenSymbol: "XBUSD",
1146
- xtokenPrecision: 6,
1147
- xtokenContract: "xtokens",
1148
- wallets: [
1149
- // ...(IS_MAINNET ? [{
1150
- // wallet: 'BUSD-BEP20',
1151
- // symbol: 'BUSD',
1152
- // chain: Chains.BinanceBEP20,
1153
- // network: Networks.BEP20,
1154
- // precision: 18,
1155
- // contract: '0xe9e7cea3dedca5984780bafc599bd69add087d56',
1156
- // provider: Providers.FIREBLOCKS,
1157
- // hasWithdrawMemo: false
1158
- // }]: [])
1159
- ],
1160
- image: "https://app.metalx.com/img/tokens/busd.png",
1161
- coingeckoId: "binance-usd",
1162
- unifiedCryptoassetId: "4687",
1163
- },
1164
- {
1165
- allowSwap: true,
1166
- allowBridge: true,
1167
- allowLend: false,
1168
- allowBorrow: false,
1169
- name: "EOS",
1170
- coin: "EOS",
1171
- xtokenSymbol: "XEOS",
1172
- xtokenPrecision: 4,
1173
- xtokenContract: "xtokens",
1174
- wallets: [
1175
- ...(IS_MAINNET
1176
- ? [
1177
- {
1178
- wallet: "EOS",
1179
- symbol: "EOS",
1180
- chain: Chains.EosMainnet,
1181
- network: Networks.Mainnet,
1182
- precision: 4,
1183
- contract: undefined,
1184
- provider: Providers.FIREBLOCKS,
1185
- hasWithdrawMemo: true,
1186
- },
1187
- ]
1188
- : []),
1189
- ...(IS_TESTNET
1190
- ? [
1191
- {
1192
- wallet: "EOS",
1193
- symbol: "EOS",
1194
- chain: Chains.EosTestnet,
1195
- network: Networks.Testnet,
1196
- precision: 4,
1197
- contract: undefined,
1198
- provider: Providers.FIREBLOCKS,
1199
- hasWithdrawMemo: true,
1200
- },
1201
- ]
1202
- : []),
1203
- ],
1204
- image: "https://app.metalx.com/img/tokens/eos.png",
1205
- coingeckoId: "eos",
1206
- unifiedCryptoassetId: "1765",
1207
- },
1208
- {
1209
- allowSwap: IS_MAINNET,
1210
- allowBridge: IS_MAINNET,
1211
- allowLend: true,
1212
- allowBorrow: true,
1213
- name: "Dogecoin",
1214
- coin: "DOGE",
1215
- xtokenSymbol: "XDOGE",
1216
- xtokenPrecision: 6,
1217
- xtokenContract: "xtokens",
1218
- wallets: [
1219
- ...(IS_MAINNET
1220
- ? [
1221
- {
1222
- wallet: "DOGE",
1223
- symbol: "DOGE",
1224
- chain: Chains.DogeMainnet,
1225
- network: Networks.Mainnet,
1226
- precision: 8,
1227
- contract: undefined,
1228
- provider: Providers.FIREBLOCKS,
1229
- hasWithdrawMemo: false,
1230
- },
1231
- ]
1232
- : []),
1233
- ],
1234
- image: "https://app.metalx.com/img/tokens/doge.png",
1235
- coingeckoId: "dogecoin",
1236
- unifiedCryptoassetId: "74",
1237
- },
1238
- {
1239
- allowSwap: IS_MAINNET,
1240
- allowBridge: IS_MAINNET,
1241
- allowLend: false,
1242
- allowBorrow: false,
1243
- name: "Cardano",
1244
- coin: "ADA",
1245
- xtokenSymbol: "XADA",
1246
- xtokenPrecision: 6,
1247
- xtokenContract: "xtokens",
1248
- wallets: [
1249
- ...(IS_MAINNET
1250
- ? [
1251
- {
1252
- wallet: "ADA",
1253
- symbol: "ADA",
1254
- chain: Chains.CardanoMainnet,
1255
- network: Networks.Mainnet,
1256
- precision: 6,
1257
- contract: undefined,
1258
- provider: Providers.FIREBLOCKS,
1259
- hasWithdrawMemo: false,
1260
- },
1261
- ]
1262
- : []),
1263
- ],
1264
- image: "https://app.metalx.com/img/tokens/ada.png",
1265
- coingeckoId: "cardano",
1266
- unifiedCryptoassetId: "2010",
1267
- },
1268
-
1269
- // Adding
1270
- {
1271
- allowSwap: false,
1272
- allowBridge: false,
1273
- allowLend: false,
1274
- allowBorrow: false,
1275
- name: "Terra",
1276
- coin: "LUNA",
1277
- xtokenSymbol: "XLUNA",
1278
- xtokenPrecision: 6,
1279
- xtokenContract: "xtokens",
1280
- wallets: [
1281
- // ...(IS_MAINNET ? [{
1282
- // wallet: 'LUNA',
1283
- // symbol: 'LUNA',
1284
- // chain: Chains.TerraMainnet,
1285
- // network: Networks.Mainnet,
1286
- // precision: 6,
1287
- // contract: undefined,
1288
- // provider: Providers.FIREBLOCKS,
1289
- // hasWithdrawMemo: true
1290
- // }]: [])
1291
- ],
1292
- image: "https://app.metalx.com/img/tokens/luna.png",
1293
- coingeckoId: "terra-luna",
1294
- unifiedCryptoassetId: "4172",
1295
- },
1296
- {
1297
- allowSwap: false,
1298
- allowBridge: false,
1299
- allowLend: false,
1300
- allowBorrow: false,
1301
- name: "TerraUSD",
1302
- coin: "UST",
1303
- xtokenSymbol: "XUST",
1304
- xtokenPrecision: 6,
1305
- xtokenContract: "xtokens",
1306
- wallets: [
1307
- ...(IS_MAINNET
1308
- ? [
1309
- {
1310
- wallet: "UST",
1311
- symbol: "UST",
1312
- chain: Chains.TerraMainnet,
1313
- network: Networks.Mainnet,
1314
- precision: 6,
1315
- contract: undefined,
1316
- provider: Providers.FIREBLOCKS,
1317
- hasWithdrawMemo: true,
1318
- },
1319
- ]
1320
- : []),
1321
- ],
1322
- image: "https://app.metalx.com/img/tokens/ust.png",
1323
- coingeckoId: "terrausd",
1324
- unifiedCryptoassetId: "7129",
1325
- },
1326
- {
1327
- allowSwap: false,
1328
- allowBridge: IS_MAINNET,
1329
- allowLend: false,
1330
- allowBorrow: false,
1331
- name: "Solana",
1332
- coin: "SOL",
1333
- xtokenSymbol: "XSOL",
1334
- xtokenPrecision: 6,
1335
- xtokenContract: "xtokens",
1336
- wallets: [
1337
- ...(IS_MAINNET
1338
- ? [
1339
- {
1340
- wallet: "SOL",
1341
- symbol: "SOL",
1342
- chain: Chains.SolanaMainnet,
1343
- network: Networks.Mainnet,
1344
- precision: 9,
1345
- contract: undefined,
1346
- provider: Providers.FIREBLOCKS,
1347
- hasWithdrawMemo: false,
1348
- },
1349
- ]
1350
- : []),
1351
- ],
1352
- image: "https://app.metalx.com/img/tokens/sol.png",
1353
- coingeckoId: "solana",
1354
- unifiedCryptoassetId: "5426",
1355
- },
1356
- {
1357
- allowSwap: false,
1358
- allowBridge: IS_MAINNET,
1359
- allowLend: false,
1360
- allowBorrow: false,
1361
- name: "Ripple",
1362
- coin: "XRP",
1363
- xtokenSymbol: "XXRP",
1364
- xtokenPrecision: 6,
1365
- xtokenContract: "xtokens",
1366
- wallets: [
1367
- ...(IS_MAINNET
1368
- ? [
1369
- {
1370
- wallet: "XRP",
1371
- symbol: "XRP",
1372
- chain: Chains.RippleMainnet,
1373
- network: Networks.Mainnet,
1374
- precision: 6,
1375
- contract: undefined,
1376
- provider: Providers.FIREBLOCKS,
1377
- hasWithdrawMemo: true,
1378
- },
1379
- ]
1380
- : []),
1381
- ],
1382
- image: "https://app.metalx.com/img/tokens/xrp.png",
1383
- coingeckoId: "ripple",
1384
- unifiedCryptoassetId: "52",
1385
- },
1386
-
1387
- // Future
1388
- {
1389
- allowSwap: false,
1390
- allowBridge: false,
1391
- allowLend: false,
1392
- allowBorrow: false,
1393
- name: "Avalanche",
1394
- coin: "AVAX",
1395
- xtokenSymbol: "XAVAX",
1396
- xtokenPrecision: 9,
1397
- xtokenContract: "xtokens",
1398
- wallets: [
1399
- ...(IS_MAINNET
1400
- ? [
1401
- {
1402
- wallet: "AVAX",
1403
- symbol: "AVAX",
1404
- chain: Chains.AvalancheCChain,
1405
- network: Networks.Mainnet,
1406
- precision: 9,
1407
- contract: undefined,
1408
- provider: Providers.FIREBLOCKS,
1409
- hasWithdrawMemo: false,
1410
- },
1411
- ]
1412
- : []),
1413
- ],
1414
- image: "https://app.metalx.com/img/tokens/avax.png",
1415
- coingeckoId: "avalanche-2",
1416
- unifiedCryptoassetId: "5805",
1417
- },
1418
- {
1419
- allowSwap: false,
1420
- allowBridge: false,
1421
- allowLend: false,
1422
- allowBorrow: false,
1423
- name: "Polygon",
1424
- coin: "MATIC",
1425
- xtokenSymbol: "XMATIC",
1426
- xtokenPrecision: 8,
1427
- xtokenContract: "xtokens",
1428
- wallets: [
1429
- ...(IS_MAINNET
1430
- ? [
1431
- {
1432
- wallet: "MATIC",
1433
- symbol: "MATIC",
1434
- chain: Chains.PolygonMainnet,
1435
- network: Networks.Mainnet,
1436
- precision: 18,
1437
- contract: "0x0000000000000000000000000000000000000000",
1438
- provider: Providers.FIREBLOCKS,
1439
- hasWithdrawMemo: false,
1440
- },
1441
- ]
1442
- : []),
1443
- ],
1444
- image: "https://app.metalx.com/img/tokens/matic.png",
1445
- coingeckoId: "matic-network",
1446
- unifiedCryptoassetId: "3890",
1447
- },
1448
- {
1449
- allowSwap: true,
1450
- allowBridge: false,
1451
- allowLend: false,
1452
- allowBorrow: false,
1453
- name: "Metal Dollar",
1454
- coin: "XMD",
1455
- xtokenSymbol: "XMD",
1456
- xtokenPrecision: 6,
1457
- xtokenContract: "xmd.token",
1458
- wallets: [],
1459
- image: "https://app.metalx.com/img/tokens/xmd.png",
1460
- coingeckoId: "",
1461
- unifiedCryptoassetId: "",
1462
- },
1463
- {
1464
- allowSwap: false,
1465
- allowBridge: false,
1466
- allowLend: false,
1467
- allowBorrow: false,
1468
- name: "Metal Dollar",
1469
- coin: "MPD",
1470
- xtokenSymbol: "MPD",
1471
- xtokenPrecision: 6,
1472
- xtokenContract: "mpd.token",
1473
- wallets: [],
1474
- image: "https://app.metalx.com/img/tokens/mpd.png",
1475
- coingeckoId: "",
1476
- unifiedCryptoassetId: "",
1477
- },
1478
- {
1479
- allowSwap: false,
1480
- allowBridge: true,
1481
- allowLend: false,
1482
- allowBorrow: false,
1483
- name: "Hedera",
1484
- coin: "HBAR",
1485
- xtokenSymbol: "XHBAR",
1486
- xtokenPrecision: 6,
1487
- xtokenContract: "xtokens",
1488
- wallets: [
1489
- ...(IS_TESTNET
1490
- ? [
1491
- {
1492
- wallet: "HBAR",
1493
- symbol: "HBAR",
1494
- chain: Chains.HederaTestnet,
1495
- network: Networks.Testnet,
1496
- precision: 8,
1497
- contract: undefined,
1498
- provider: Providers.FIREBLOCKS,
1499
- hasWithdrawMemo: true,
1500
- },
1501
- ]
1502
- : [
1503
- {
1504
- wallet: "HBAR",
1505
- symbol: "HBAR",
1506
- chain: Chains.HederaMainnet,
1507
- network: Networks.Mainnet,
1508
- precision: 8,
1509
- contract: undefined,
1510
- provider: Providers.FIREBLOCKS,
1511
- hasWithdrawMemo: true,
1512
- },
1513
- ]),
1514
- ],
1515
- image: "https://app.metalx.com/img/tokens/hbar.png",
1516
- coingeckoId: "hedera-hashgraph",
1517
- unifiedCryptoassetId: "4642",
1518
- },
1519
-
1520
- {
1521
- allowSwap: false,
1522
- allowBridge: IS_TESTNET,
1523
- allowLend: false,
1524
- allowBorrow: false,
1525
- name: "Ripple USD",
1526
- coin: "RLUSD",
1527
- xtokenSymbol: "XRLUSD",
1528
- xtokenPrecision: 6,
1529
- xtokenContract: "xtokens",
1530
- wallets: [
1531
- ...(IS_MAINNET
1532
- ? [
1533
- {
1534
- wallet: "RLUSD",
1535
- symbol: "RLUSD",
1536
- chain: Chains.EthereumMainnet,
1537
- network: Networks.ERC20,
1538
- precision: 18,
1539
- contract: "0x8292bb45bf1ee4d140127049757c2e0ff06317ed",
1540
- provider: Providers.FIREBLOCKS,
1541
- hasWithdrawMemo: false,
1542
- },
1543
- ]
1544
- : [
1545
- {
1546
- wallet: "RLUSD",
1547
- symbol: "RLUSD",
1548
- chain: Chains.EthereumSepolia,
1549
- network: Networks.ERC20,
1550
- precision: 18,
1551
- contract: "0xe101FB315a64cDa9944E570a7bFfaFE60b994b1D",
1552
- provider: Providers.FIREBLOCKS,
1553
- hasWithdrawMemo: false,
1554
- },
1555
- ]),
1556
- ],
1557
- image: "https://app.metalx.com/img/tokens/rlusd.png",
1558
- coingeckoId: "ripple-usd",
1559
- unifiedCryptoassetId: "34387",
1560
- },
1561
- {
1562
- allowSwap: false,
1563
- allowBridge: false,
1564
- allowLend: false,
1565
- allowBorrow: false,
1566
- name: "Fidelity Digital Dollar",
1567
- coin: "FIDD",
1568
- xtokenSymbol: "XFIDD",
1569
- xtokenPrecision: 6,
1570
- xtokenContract: "xtokens",
1571
- wallets: [
1572
- ...(IS_MAINNET
1573
- ? [
1574
- {
1575
- wallet: "FIDD",
1576
- symbol: "FIDD",
1577
- chain: Chains.EthereumMainnet,
1578
- network: Networks.ERC20,
1579
- precision: 18,
1580
- contract: "0x7C135549504245B5EAE64FC0E99FA5EBABB8E35D",
1581
- provider: Providers.FIREBLOCKS,
1582
- hasWithdrawMemo: false,
1583
- },
1584
- ]
1585
- : []),
1586
- ],
1587
- image: "https://app.metalx.com/img/tokens/fidd.png",
1588
- coingeckoId: "fidelity-digital-dollar",
1589
- unifiedCryptoassetId: "39549",
1590
- },
1591
- // Important! This coin is not being used on MetalX. It is intended only for XMD-ETH purposes.
1592
- {
1593
- allowSwap: false,
1594
- allowBridge: false,
1595
- allowLend: false,
1596
- allowBorrow: false,
1597
- name: "Pax Dollar",
1598
- coin: "USDP",
1599
- xtokenSymbol: "XUSDP",
1600
- xtokenPrecision: 6,
1601
- xtokenContract: "xtokens",
1602
- wallets: [],
1603
- image: "https://app.metalx.com/img/tokens/usdp.png",
1604
- coingeckoId: "pax-dollar",
1605
- unifiedCryptoassetId: "3330",
1606
- },
1607
- ];
1608
-
1609
- // Validation
1610
- const walletWithDuplicateChains = coins.find((coin) => {
1611
- const chains = coin.wallets.map((wallet) => wallet.chain);
1612
- return new Set(chains).size !== chains.length;
1613
- });
1614
- if (walletWithDuplicateChains) {
1615
- throw new Error(
1616
- `Coin ${walletWithDuplicateChains.coin} has duplicate chains in wallet`,
1617
- );
1618
- }
1619
-
1620
- return {
1621
- allCoins: coins,
1622
- swapCoins: coins.filter((coin) => coin.allowSwap),
1623
- bridgeCoins: coins.filter((coin) => coin.allowBridge),
1624
- lendCoins: coins.filter((coin) => coin.allowLend),
1625
- borrowCoins: coins.filter((coin) => coin.allowBorrow),
1626
- loanCoins: coins.filter((coin) => coin.allowLend || coin.allowBorrow),
1627
- allEnabledCoins: coins.filter(
1628
- (coin) =>
1629
- coin.allowSwap || coin.allowBridge || coin.xtokenSymbol === "XMD",
1630
- ),
1631
- };
1632
- };