@paraspell/sdk 0.0.11 → 0.0.13

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/dist/index.mjs CHANGED
@@ -1,75 +1,148 @@
1
+ import '@polkadot/api';
2
+ import { ethers } from 'ethers';
3
+ import '@polkadot/apps-config/endpoints';
4
+
5
+ const nodeToPallet = {
6
+ Statemint: "polkadotXCM",
7
+ Acala: "xTokens",
8
+ Astar: "polkadotXCM",
9
+ BifrostPolkadot: "xTokens",
10
+ Bitgreen: "polkadotXCM",
11
+ Centrifuge: "xTokens",
12
+ Clover: "xTokens",
13
+ ComposableFinance: "relayerXcm",
14
+ Darwinia: "polkadotXCM",
15
+ HydraDX: "xTokens",
16
+ Interlay: "xTokens",
17
+ Kylin: "ormlXTokens",
18
+ Litentry: "xTokens",
19
+ Moonbeam: "xTokens",
20
+ Parallel: "xTokens",
21
+ Statemine: "polkadotXCM",
22
+ Encointer: "polkadotXCM",
23
+ Altair: "xTokens",
24
+ Amplitude: "xTokens",
25
+ Bajun: "polkadotXCM",
26
+ Basilisk: "xTokens",
27
+ BifrostKusama: "xTokens",
28
+ Pioneer: "xTokens",
29
+ Calamari: "xTokens",
30
+ CrustShadow: "xTokens",
31
+ Crab: "polkadotXCM",
32
+ Dorafactory: "xTokens",
33
+ Imbue: "xTokens",
34
+ Integritee: "xTokens",
35
+ InvArchTinker: "xTokens",
36
+ Karura: "xTokens",
37
+ Kico: "xTokens",
38
+ Kintsugi: "xTokens",
39
+ Listen: "xTokens",
40
+ Litmus: "xTokens",
41
+ Mangata: "xTokens",
42
+ Moonriver: "xTokens",
43
+ ParallelHeiko: "xTokens",
44
+ Picasso: "xTokens",
45
+ Pichiu: "ormlXTokens",
46
+ Quartz: "polkadotXCM",
47
+ Robonomics: "polkadotXCM",
48
+ Shiden: "polkadotXCM",
49
+ Turing: "xTokens"
50
+ };
51
+
1
52
  function createAccID(api, account) {
53
+ console.log("Generating AccountId32 address");
2
54
  return api.createType("AccountId32", account).toHex();
3
55
  }
4
- function selectLimit(limit, isLimited) {
5
- if (isLimited) {
56
+ function getFees(scenario) {
57
+ if (scenario === "ParaToRelay") {
58
+ console.log("Asigning fees for transfer to Relay chain");
59
+ return 46e8;
60
+ } else if (scenario === "ParaToPara") {
61
+ console.log("Asigning fees for transfer to another Parachain chain");
62
+ return 3996e8;
63
+ }
64
+ throw new Error(`Fees for scenario ${scenario} are not defined.`);
65
+ }
66
+ function handleAddress(scenario, pallet, api, to, nodeId, node) {
67
+ if (scenario === "ParaToRelay" && pallet === "xTokens") {
68
+ console.log("AccountId32 transfer");
6
69
  return {
7
- Limited: limit
70
+ V1: {
71
+ parents: 1,
72
+ interior: {
73
+ X1: {
74
+ AccountId32: {
75
+ network: "any",
76
+ id: createAccID(api, to)
77
+ }
78
+ }
79
+ }
80
+ }
8
81
  };
9
- } else {
10
- return "Unlimited";
11
82
  }
12
- }
13
-
14
- function transferParaToRelay(api, origin, currency, amount, to) {
15
- if (origin == "Karura" || origin == "Bifrost") {
16
- return api.tx.xTokens.transfer(
17
- {
18
- Token: currency
19
- },
20
- amount,
21
- {
83
+ if (scenario === "ParaToPara" && pallet === "xTokens") {
84
+ if (ethers.utils.isAddress(to)) {
85
+ console.log("AccountKey20 transfer");
86
+ return {
22
87
  V1: {
23
88
  parents: 1,
24
89
  interior: {
25
- X1: {
26
- AccountId32: {
27
- network: "any",
28
- id: createAccID(api, to)
90
+ X2: [
91
+ {
92
+ Parachain: nodeId
93
+ },
94
+ {
95
+ AccountKey20: {
96
+ network: "Any",
97
+ key: to
98
+ }
29
99
  }
30
- }
100
+ ]
31
101
  }
32
102
  }
33
- },
34
- 46e8
35
- );
36
- } else if (origin == "Pichiu") {
37
- return api.tx.ormlXTokens.transfer(
38
- currency,
39
- amount,
40
- {
103
+ };
104
+ } else {
105
+ console.log("AccountId32 transfer");
106
+ return {
41
107
  V1: {
42
108
  parents: 1,
43
109
  interior: {
44
- X1: {
45
- AccountId32: {
46
- network: "any",
47
- id: createAccID(api, to)
110
+ X2: [
111
+ {
112
+ Parachain: nodeId
113
+ },
114
+ {
115
+ AccountId32: {
116
+ network: "Any",
117
+ id: createAccID(api, to)
118
+ }
48
119
  }
49
- }
120
+ ]
50
121
  }
51
122
  }
52
- },
53
- 46e8
54
- );
123
+ };
124
+ }
55
125
  }
56
- }
57
- function transferRelayToPara(api, destination, amount, to) {
58
- return api.tx.xcmPallet.reserveTransferAssets(
59
- {
126
+ if (scenario === "ParaToRelay" && pallet === "polkadotXCM") {
127
+ console.log("AccountId32 transfer");
128
+ return {
60
129
  V1: {
61
130
  parents: 0,
62
131
  interior: {
63
132
  X1: {
64
- Parachain: destination
133
+ AccountId32: {
134
+ network: "any",
135
+ id: createAccID(api, to)
136
+ }
65
137
  }
66
138
  }
67
139
  }
68
- },
69
- {
70
- V1: {
71
- parents: 0,
72
- interior: {
140
+ };
141
+ }
142
+ if (scenario === "ParaToPara" && pallet === "polkadotXCM") {
143
+ if (node === "Quartz") {
144
+ return {
145
+ V0: {
73
146
  X1: {
74
147
  AccountId32: {
75
148
  network: "Any",
@@ -77,14 +150,83 @@ function transferRelayToPara(api, destination, amount, to) {
77
150
  }
78
151
  }
79
152
  }
80
- }
81
- },
82
- {
153
+ };
154
+ }
155
+ if (ethers.utils.isAddress(to)) {
156
+ console.log("AccountKey20 transfer");
157
+ return {
158
+ V1: {
159
+ parents: 0,
160
+ interior: {
161
+ X1: {
162
+ AccountKey20: {
163
+ network: "Any",
164
+ key: to
165
+ }
166
+ }
167
+ }
168
+ }
169
+ };
170
+ } else {
171
+ console.log("AccountId32 transfer");
172
+ return {
173
+ V1: {
174
+ parents: 0,
175
+ interior: {
176
+ X1: {
177
+ AccountId32: {
178
+ network: "Any",
179
+ id: createAccID(api, to)
180
+ }
181
+ }
182
+ }
183
+ }
184
+ };
185
+ }
186
+ }
187
+ if (scenario === "RelayToPara") {
188
+ if (ethers.utils.isAddress(to)) {
189
+ console.log("AccountKey20 transfer");
190
+ return {
191
+ V1: {
192
+ parents: 0,
193
+ interior: {
194
+ X1: {
195
+ AccountKey20: {
196
+ network: "Any",
197
+ key: to
198
+ }
199
+ }
200
+ }
201
+ }
202
+ };
203
+ } else {
204
+ console.log("AccountId32 transfer");
205
+ return {
206
+ V1: {
207
+ parents: 0,
208
+ interior: {
209
+ X1: {
210
+ AccountId32: {
211
+ network: "Any",
212
+ id: createAccID(api, to)
213
+ }
214
+ }
215
+ }
216
+ }
217
+ };
218
+ }
219
+ }
220
+ }
221
+ function createCurrencySpecification(amount, scenario, node, cur) {
222
+ if (scenario === "ParaToRelay") {
223
+ console.log("polkadotXCM transfer in native currency to Relay chain");
224
+ return {
83
225
  V1: [
84
226
  {
85
227
  id: {
86
228
  Concrete: {
87
- parents: 0,
229
+ parents: 1,
88
230
  interior: "Here"
89
231
  }
90
232
  },
@@ -93,36 +235,69 @@ function transferRelayToPara(api, destination, amount, to) {
93
235
  }
94
236
  }
95
237
  ]
96
- },
97
- 0
98
- );
99
- }
100
- function limitedTransferRelayToPara(api, destination, amount, to, limit, isLimited) {
101
- return api.tx.xcmPallet.limitedReserveTransferAssets(
102
- {
103
- V1: {
104
- parents: 0,
105
- interior: {
106
- X1: {
107
- Parachain: destination
238
+ };
239
+ }
240
+ if (scenario === "RelayToPara" || scenario === "ParaToPara") {
241
+ console.log("polkadotXCM Native currency to sender chain transfer");
242
+ if (node === "Quartz" && scenario === "ParaToPara") {
243
+ return {
244
+ V0: [
245
+ {
246
+ ConcreteFungible: {
247
+ id: null,
248
+ amount
249
+ }
108
250
  }
109
- }
110
- }
111
- },
112
- {
113
- V1: {
114
- parents: 0,
115
- interior: {
116
- X1: {
117
- AccountId32: {
118
- network: "Any",
119
- id: createAccID(api, to)
251
+ ]
252
+ };
253
+ }
254
+ if ((node === "Darwinia" || node === "Crab") && scenario === "ParaToPara") {
255
+ return {
256
+ V1: [
257
+ {
258
+ id: {
259
+ Concrete: {
260
+ parents: 0,
261
+ interior: {
262
+ X1: {
263
+ PalletInstance: 5
264
+ }
265
+ }
266
+ }
267
+ },
268
+ fun: {
269
+ Fungible: amount
120
270
  }
121
271
  }
122
- }
123
- }
124
- },
125
- {
272
+ ]
273
+ };
274
+ } else if ((node === "Statemint" || node === "Statemine") && scenario === "ParaToPara") {
275
+ return {
276
+ V1: [
277
+ {
278
+ id: {
279
+ Concrete: {
280
+ parents: 0,
281
+ interior: {
282
+ X2: [
283
+ {
284
+ PalletInstance: 50
285
+ },
286
+ {
287
+ GeneralIndex: cur
288
+ }
289
+ ]
290
+ }
291
+ }
292
+ },
293
+ fun: {
294
+ Fungible: amount
295
+ }
296
+ }
297
+ ]
298
+ };
299
+ }
300
+ return {
126
301
  V1: [
127
302
  {
128
303
  id: {
@@ -136,80 +311,2585 @@ function limitedTransferRelayToPara(api, destination, amount, to, limit, isLimit
136
311
  }
137
312
  }
138
313
  ]
139
- },
140
- 0,
141
- selectLimit(limit, isLimited)
142
- );
314
+ };
315
+ }
143
316
  }
144
- function transferParaToPara(api, origin, destination, currency, amount, to) {
145
- if (origin == "Karura" || origin == "Bifrost") {
146
- return api.tx.xTokens.transfer(
147
- {
148
- Token: currency
149
- },
150
- amount,
151
- {
152
- V1: {
153
- parents: 1,
154
- interior: {
155
- X2: [
156
- {
157
- Parachain: destination
158
- },
159
- {
160
- AccountId32: {
161
- network: "Any",
162
- id: createAccID(api, to)
163
- }
164
- }
165
- ]
317
+ function createHeaderPolkadotXCM(scenario, nodeId, node) {
318
+ console.log("Generating header for polkadotXCM transfer");
319
+ if (scenario === "ParaToRelay") {
320
+ return {
321
+ V1: {
322
+ parents: 1,
323
+ interior: "Here"
324
+ }
325
+ };
326
+ }
327
+ if (scenario === "ParaToPara") {
328
+ if (node === "Quartz") {
329
+ return {
330
+ V0: {
331
+ X2: [
332
+ "Parent",
333
+ {
334
+ Parachain: nodeId
335
+ }
336
+ ]
337
+ }
338
+ };
339
+ }
340
+ return {
341
+ V1: {
342
+ parents: 1,
343
+ interior: {
344
+ X1: {
345
+ Parachain: nodeId
166
346
  }
167
347
  }
168
- },
169
- 3996e8
170
- );
171
- } else if (origin == "Pichiu") {
172
- return api.tx.ormlXTokens.transfer(
173
- currency,
174
- amount,
175
- {
176
- V1: {
177
- parents: 1,
178
- interior: {
179
- X2: [
180
- {
181
- Parachain: destination
182
- },
183
- {
184
- AccountId32: {
185
- network: "Any",
186
- id: createAccID(api, to)
187
- }
188
- }
189
- ]
348
+ }
349
+ };
350
+ }
351
+ if (scenario === "RelayToPara") {
352
+ return {
353
+ V1: {
354
+ parents: 0,
355
+ interior: {
356
+ X1: {
357
+ Parachain: nodeId
190
358
  }
191
359
  }
192
- },
193
- 3996e8
360
+ }
361
+ };
362
+ }
363
+ }
364
+ function getAvailableXCMPallet(origin) {
365
+ return nodeToPallet[origin];
366
+ }
367
+ function constructXTokens(api, origin, currencyID, currency, amount, addressSelection, fees) {
368
+ switch (origin) {
369
+ case "Acala":
370
+ console.log("Transferring tokens " + currency + " from Acala");
371
+ return api.tx.xTokens.transfer({ Token: currency }, amount, addressSelection, fees);
372
+ case "BifrostPolkadot":
373
+ console.log("Transferring " + currency + " tokens from BifrostPolkadot");
374
+ return api.tx.xTokens.transfer({ Token: currency }, amount, addressSelection, fees);
375
+ case "Centrifuge":
376
+ console.log("Transferring tokens from Centrifuge");
377
+ return api.tx.xTokens.transfer("Native", amount, addressSelection, fees);
378
+ case "Clover":
379
+ console.log("Transferring tokens from Clover");
380
+ return api.tx.xTokens.transfer("SelfReserve", amount, addressSelection, fees);
381
+ case "HydraDX":
382
+ console.log("Transferring " + currencyID + "tokens from HydraDX");
383
+ return api.tx.xTokens.transfer(currencyID, amount, addressSelection, fees);
384
+ case "Interlay":
385
+ console.log("Transferring " + currency + "tokens from Interlay");
386
+ return api.tx.xTokens.transfer({ Token: currency }, amount, addressSelection, fees);
387
+ case "Moonbeam":
388
+ console.log("Transferring tokens from Moonbeam");
389
+ return api.tx.xTokens.transfer("SelfReserve", amount, addressSelection, fees);
390
+ case "Parallel":
391
+ console.log("Transferring " + currencyID + " tokens from Parallel");
392
+ return api.tx.xTokens.transfer(currencyID, amount, addressSelection, fees);
393
+ case "Litentry":
394
+ console.log("Transferring " + currencyID + " tokens from Litentry");
395
+ return api.tx.xTokens.transfer("SelfReserve", amount, addressSelection, fees);
396
+ case "Kylin":
397
+ console.log("Transferring " + currency + " tokens from Kylin");
398
+ return api.tx.ormlXTokens.transfer(currency, amount, addressSelection, fees);
399
+ case "Altair":
400
+ console.log("Transferring tokens from Altair");
401
+ return api.tx.xTokens.transfer("Native", amount, addressSelection, fees);
402
+ case "Amplitude":
403
+ console.log("Transferring " + currency + " tokens from Amplitude");
404
+ return api.tx.xTokens.transfer({ XCM: currency }, amount, addressSelection, fees);
405
+ case "Bajun":
406
+ console.log("Transferring " + currencyID + " token from Bajun");
407
+ return api.tx.xTokens.transfer(currencyID, amount, addressSelection, fees);
408
+ case "Basilisk":
409
+ console.log("Transferring " + currencyID + " token from Basilisk");
410
+ return api.tx.xTokens.transfer(currencyID, amount, addressSelection, fees);
411
+ case "BifrostKusama":
412
+ console.log("Transferring " + currency + " tokens from BifrostKusama");
413
+ return api.tx.xTokens.transfer({ Token: currency }, amount, addressSelection, fees);
414
+ case "Pioneer":
415
+ console.log("Transferring tokens from Pioneer");
416
+ return api.tx.xTokens.transfer("NativeToken", amount, addressSelection, fees);
417
+ case "Calamari":
418
+ console.log("Transferring " + currencyID + " token from Calamari");
419
+ return api.tx.xTokens.transfer({ MantaCurrency: currencyID }, amount, addressSelection, fees);
420
+ case "CrustShadow":
421
+ console.log("Transferring tokens from CrustShadow");
422
+ return api.tx.xTokens.transfer("SelfReserve", amount, addressSelection, fees);
423
+ case "Dorafactory":
424
+ console.log("Transferring " + currency + " tokens from DoraFactory");
425
+ return api.tx.xTokens.transfer(currency, amount, addressSelection, fees);
426
+ case "Imbue":
427
+ console.log("Transferring " + currency + " tokens from imbue");
428
+ return api.tx.xTokens.transfer(currency, amount, addressSelection, fees);
429
+ case "Integritee":
430
+ console.log("Transferring " + currency + " tokens from Integritee");
431
+ return api.tx.xTokens.transfer(currency, amount, addressSelection, fees);
432
+ case "InvArchTinker":
433
+ console.log("Transferring " + currencyID + " token from InvArch Tinker");
434
+ return api.tx.xTokens.transfer(currencyID, amount, addressSelection, fees);
435
+ case "Karura":
436
+ console.log("Transferring " + currency + " tokens from Karura");
437
+ return api.tx.xTokens.transfer({ Token: currency }, amount, addressSelection, fees);
438
+ case "Kico":
439
+ console.log("Transferring " + currencyID + " token from KICO");
440
+ return api.tx.xTokens.transfer(currencyID, amount, addressSelection, fees);
441
+ case "Kintsugi":
442
+ console.log("Transferring " + currency + " tokens from kintsugi");
443
+ return api.tx.xTokens.transfer({ Token: currency }, amount, addressSelection, fees);
444
+ case "Listen":
445
+ console.log("Transferring " + currencyID + " token from Listen");
446
+ return api.tx.xTokens.transfer(currencyID, amount, addressSelection, fees);
447
+ case "Litmus":
448
+ console.log("Transferring tokens from Litmus");
449
+ return api.tx.xTokens.transfer("SelfReserve", amount, addressSelection, fees);
450
+ case "Mangata":
451
+ console.log("Transferring " + currencyID + " token from Mangata");
452
+ return api.tx.xTokens.transfer(currencyID, amount, addressSelection, fees);
453
+ case "Moonriver":
454
+ console.log("Transferring tokens from Moonriver");
455
+ return api.tx.xTokens.transfer("SelfReserve", amount, addressSelection, fees);
456
+ case "ParallelHeiko":
457
+ console.log("Transferring " + currencyID + " token from Parallel Heiko");
458
+ return api.tx.xTokens.transfer(currencyID, amount, addressSelection, fees);
459
+ case "Picasso":
460
+ console.log("Transferring " + currencyID + " token from Picasso");
461
+ return api.tx.xTokens.transfer(currencyID, amount, addressSelection, fees);
462
+ case "Pichiu":
463
+ console.log("Transferring " + currency + " tokens from Pichiu");
464
+ return api.tx.ormlXTokens.transfer(currency, amount, addressSelection, fees);
465
+ case "Turing":
466
+ console.log("Transferring " + currencyID + " token from Turing");
467
+ return api.tx.xTokens.transfer(currencyID, amount, addressSelection, fees);
468
+ default:
469
+ throw new Error(`Invalid node: ${origin}`);
470
+ }
471
+ }
472
+ function constructPolkadotXCM(api, origin, header, addressSelection, currencySelection, scenario) {
473
+ switch (origin) {
474
+ case "Statemint":
475
+ if (scenario === "ParaToPara") {
476
+ console.log("Transferring selected tokens from Statemint");
477
+ return api.tx.polkadotXcm.limitedReserveTransferAssets(header, addressSelection, currencySelection, 0, "Unlimited");
478
+ } else if (scenario === "ParaToRelay") {
479
+ console.log("Transferring DOT tokens from Statemint");
480
+ return api.tx.polkadotXcm.limitedTeleportAssets(header, addressSelection, currencySelection, 0, "Unlimited");
481
+ }
482
+ break;
483
+ case "Astar":
484
+ if (scenario === "ParaToPara") {
485
+ console.log("Transferring native tokens from Astar");
486
+ return api.tx.polkadotXcm.reserveTransferAssets(header, addressSelection, currencySelection, 0);
487
+ } else if (scenario === "ParaToRelay") {
488
+ console.log("Transferring DOT tokens from Astar");
489
+ return api.tx.polkadotXcm.reserveWithdrawAssets(header, addressSelection, currencySelection, 0);
490
+ }
491
+ break;
492
+ case "Darwinia":
493
+ if (scenario === "ParaToPara") {
494
+ console.log("Transferring native tokens from Darwinia");
495
+ return api.tx.polkadotXcm.reserveTransferAssets(header, addressSelection, currencySelection, 0);
496
+ }
497
+ break;
498
+ case "Statemine":
499
+ if (scenario === "ParaToPara") {
500
+ console.log("Transferring native tokens from Statemine");
501
+ return api.tx.polkadotXcm.limitedReserveTransferAssets(header, addressSelection, currencySelection, 0, "Unlimited");
502
+ } else if (scenario === "ParaToRelay") {
503
+ console.log("Transferring KSM tokens from Statemine");
504
+ return api.tx.polkadotXcm.limitedTeleportAssets(header, addressSelection, currencySelection, 0, "Unlimited");
505
+ }
506
+ break;
507
+ case "Encointer":
508
+ if (scenario === "ParaToRelay") {
509
+ console.log("Transferring KSM tokens from Encointer");
510
+ return api.tx.polkadotXcm.limitedTeleportAssets(header, addressSelection, currencySelection, 0, "Unlimited");
511
+ }
512
+ break;
513
+ case "Crab":
514
+ if (scenario === "ParaToPara") {
515
+ console.log("Transferring native tokens from Crab");
516
+ return api.tx.polkadotXcm.reserveTransferAssets(header, addressSelection, currencySelection, 0);
517
+ }
518
+ break;
519
+ case "Quartz":
520
+ if (scenario === "ParaToPara") {
521
+ console.log("Transferring native tokens from Quartz");
522
+ return api.tx.polkadotXcm.reserveTransferAssets(header, addressSelection, currencySelection, 0);
523
+ }
524
+ break;
525
+ case "Robonomics":
526
+ if (scenario === "ParaToPara") {
527
+ console.log("Transferring native tokens from Robonomics");
528
+ return api.tx.polkadotXcm.reserveTransferAssets(header, addressSelection, currencySelection, 0);
529
+ } else if (scenario === "ParaToRelay") {
530
+ console.log("Transferring KSM tokens from Robonomics");
531
+ return api.tx.polkadotXcm.reserveWithdrawAssets(header, addressSelection, currencySelection, 0);
532
+ }
533
+ break;
534
+ case "Shiden":
535
+ if (scenario === "ParaToPara") {
536
+ console.log("Transferring native tokens from Shiden");
537
+ return api.tx.polkadotXcm.reserveTransferAssets(header, addressSelection, currencySelection, 0);
538
+ } else if (scenario === "ParaToRelay") {
539
+ console.log("Transferring KSM tokens from Shiden");
540
+ return api.tx.polkadotXcm.reserveWithdrawAssets(header, addressSelection, currencySelection, 0);
541
+ }
542
+ break;
543
+ }
544
+ throw new Error(`Invalid node/ Node does not support XCM at the moment: ${origin}`);
545
+ }
546
+
547
+ const Acala = {
548
+ relayChainAssetSymbol: "DOT",
549
+ nativeAssets: [
550
+ "aUSD",
551
+ "ACA",
552
+ "TAP",
553
+ "LcDOT",
554
+ "LDOT",
555
+ "DOT"
556
+ ],
557
+ otherAssets: [
558
+ {
559
+ assetId: "0",
560
+ symbol: "tDOT"
561
+ },
562
+ {
563
+ assetId: "8",
564
+ symbol: "EQD"
565
+ },
566
+ {
567
+ assetId: "4",
568
+ symbol: "INTR"
569
+ },
570
+ {
571
+ assetId: "6",
572
+ symbol: "WETH"
573
+ },
574
+ {
575
+ assetId: "0x07df96d1341a7d16ba1ad431e2c847d978bc2bce",
576
+ symbol: "USDCet"
577
+ },
578
+ {
579
+ assetId: "2",
580
+ symbol: "ASTR"
581
+ },
582
+ {
583
+ assetId: "9",
584
+ symbol: "PHA"
585
+ },
586
+ {
587
+ assetId: "1",
588
+ symbol: "PARA"
589
+ },
590
+ {
591
+ assetId: "0",
592
+ symbol: "GLMR"
593
+ },
594
+ {
595
+ assetId: "5",
596
+ symbol: "WBTC"
597
+ },
598
+ {
599
+ assetId: "0x54a37a01cd75b616d63e0ab665bffdb0143c52ae",
600
+ symbol: "DAI"
601
+ },
602
+ {
603
+ assetId: "7",
604
+ symbol: "EQ"
605
+ },
606
+ {
607
+ assetId: "3",
608
+ symbol: "IBTC"
609
+ }
610
+ ]
611
+ };
612
+ const Astar = {
613
+ relayChainAssetSymbol: "DOT",
614
+ nativeAssets: [
615
+ "ASTR"
616
+ ],
617
+ otherAssets: [
618
+ {
619
+ assetId: "18446744073709551623",
620
+ symbol: "BNC"
621
+ },
622
+ {
623
+ assetId: "18446744073709551619",
624
+ symbol: "GLMR"
625
+ },
626
+ {
627
+ assetId: "1337",
628
+ symbol: "XC20"
629
+ },
630
+ {
631
+ assetId: "1334",
632
+ symbol: "TOK"
633
+ },
634
+ {
635
+ assetId: "862812",
636
+ symbol: "CUBO"
637
+ },
638
+ {
639
+ assetId: "1328",
640
+ symbol: "ALGM"
641
+ },
642
+ {
643
+ assetId: "1333",
644
+ symbol: "ASTR"
645
+ },
646
+ {
647
+ assetId: "18446744073709551625",
648
+ symbol: "CLV"
649
+ },
650
+ {
651
+ assetId: "18446744073709551620",
652
+ symbol: "IBTC"
653
+ },
654
+ {
655
+ assetId: "18446744073709551621",
656
+ symbol: "INTR"
657
+ },
658
+ {
659
+ assetId: "18446744073709551622",
660
+ symbol: "PHA"
661
+ },
662
+ {
663
+ assetId: "1327",
664
+ symbol: "CHAI"
665
+ },
666
+ {
667
+ assetId: "340282366920938463463374607431768211455",
668
+ symbol: "DOT"
669
+ },
670
+ {
671
+ assetId: "1335",
672
+ symbol: "MDOT"
673
+ },
674
+ {
675
+ assetId: "868367",
676
+ symbol: "VSC"
677
+ },
678
+ {
679
+ assetId: "18446744073709551616",
680
+ symbol: "ACA"
681
+ },
682
+ {
683
+ assetId: "18446744073709551624",
684
+ symbol: "vDOT"
685
+ },
686
+ {
687
+ assetId: "18446744073709551618",
688
+ symbol: "LDOT"
689
+ },
690
+ {
691
+ assetId: "18446744073709551617",
692
+ symbol: "aUSD"
693
+ },
694
+ {
695
+ assetId: "1336",
696
+ symbol: "TDOT"
697
+ },
698
+ {
699
+ assetId: "1329",
700
+ symbol: "PPC"
701
+ },
702
+ {
703
+ assetId: "18446744073709551626",
704
+ symbol: "vsDOT"
705
+ },
706
+ {
707
+ assetId: "4294969280",
708
+ symbol: "USDT"
709
+ },
710
+ {
711
+ assetId: "1330",
712
+ symbol: "MMC"
713
+ },
714
+ {
715
+ assetId: "1331",
716
+ symbol: "sDOT"
717
+ },
718
+ {
719
+ assetId: "1332",
720
+ symbol: "sDOT"
721
+ }
722
+ ]
723
+ };
724
+ const BifrostPolkadot = {
725
+ relayChainAssetSymbol: "DOT",
726
+ nativeAssets: [
727
+ "ASG",
728
+ "BNC",
729
+ "KUSD",
730
+ "DOT",
731
+ "KSM",
732
+ "ETH",
733
+ "KAR",
734
+ "ZLK",
735
+ "PHA",
736
+ "RMRK",
737
+ "MOVR"
738
+ ],
739
+ otherAssets: [
740
+ ]
741
+ };
742
+ const Bitgreen = {
743
+ relayChainAssetSymbol: "DOT",
744
+ nativeAssets: [
745
+ "BBB"
746
+ ],
747
+ otherAssets: [
748
+ ]
749
+ };
750
+ const Centrifuge = {
751
+ relayChainAssetSymbol: "DOT",
752
+ nativeAssets: [
753
+ "CFG"
754
+ ],
755
+ otherAssets: [
756
+ {
757
+ assetId: "3",
758
+ symbol: "aUSD"
759
+ },
760
+ {
761
+ assetId: "1",
762
+ symbol: "USDT"
763
+ },
764
+ {
765
+ assetId: "4",
766
+ symbol: "GLMR"
767
+ },
768
+ {
769
+ assetId: "2",
770
+ symbol: "xcUSDC"
771
+ }
772
+ ]
773
+ };
774
+ const Clover = {
775
+ relayChainAssetSymbol: "DOT",
776
+ nativeAssets: [
777
+ "CLV"
778
+ ],
779
+ otherAssets: [
780
+ {
781
+ assetId: "11",
782
+ symbol: "PARA"
783
+ },
784
+ {
785
+ assetId: "12",
786
+ symbol: "ASTR"
787
+ }
788
+ ]
789
+ };
790
+ const ComposableFinance = {
791
+ relayChainAssetSymbol: "DOT",
792
+ nativeAssets: [
793
+ "LAYR"
794
+ ],
795
+ otherAssets: [
796
+ ]
797
+ };
798
+ const Darwinia = {
799
+ relayChainAssetSymbol: "DOT",
800
+ nativeAssets: [
801
+ "RING"
802
+ ],
803
+ otherAssets: [
804
+ ]
805
+ };
806
+ const HydraDX = {
807
+ relayChainAssetSymbol: "DOT",
808
+ nativeAssets: [
809
+ "HDX"
810
+ ],
811
+ otherAssets: [
812
+ ]
813
+ };
814
+ const Interlay = {
815
+ relayChainAssetSymbol: "DOT",
816
+ nativeAssets: [
817
+ "INTR",
818
+ "IBTC",
819
+ "DOT",
820
+ "KINT",
821
+ "KBTC",
822
+ "KSM"
823
+ ],
824
+ otherAssets: [
825
+ {
826
+ assetId: "1",
827
+ symbol: "LDOT"
828
+ },
829
+ {
830
+ assetId: "2",
831
+ symbol: "USDT"
832
+ }
833
+ ]
834
+ };
835
+ const Kylin = {
836
+ relayChainAssetSymbol: "DOT",
837
+ nativeAssets: [
838
+ "KYL"
839
+ ],
840
+ otherAssets: [
841
+ ]
842
+ };
843
+ const Litentry = {
844
+ relayChainAssetSymbol: "DOT",
845
+ nativeAssets: [
846
+ "LIT"
847
+ ],
848
+ otherAssets: [
849
+ ]
850
+ };
851
+ const Moonbeam = {
852
+ relayChainAssetSymbol: "DOT",
853
+ nativeAssets: [
854
+ "GLMR"
855
+ ],
856
+ otherAssets: [
857
+ {
858
+ assetId: "125699734534028342599692732320197985871",
859
+ symbol: "xcRING"
860
+ },
861
+ {
862
+ assetId: "224077081838586484055667086558292981199",
863
+ symbol: "xcASTR"
864
+ },
865
+ {
866
+ assetId: "110021739665376159354538090254163045594",
867
+ symbol: "xcaUSD"
868
+ },
869
+ {
870
+ assetId: "311091173110107856861649819128533077277",
871
+ symbol: "xcUSDT"
872
+ },
873
+ {
874
+ assetId: "120637696315203257380661607956669368914",
875
+ symbol: "xcIBTC"
876
+ },
877
+ {
878
+ assetId: "101170542313601871197860408087030232491",
879
+ symbol: "xcINTR"
880
+ },
881
+ {
882
+ assetId: "165823357460190568952172802245839421906",
883
+ symbol: "xcBNC"
884
+ },
885
+ {
886
+ assetId: "32615670524745285411807346420584982855",
887
+ symbol: "xcPARA"
888
+ },
889
+ {
890
+ assetId: "42259045809535163221576417993425387648",
891
+ symbol: "xcDOT"
892
+ },
893
+ {
894
+ assetId: "224821240862170613278369189818311486111",
895
+ symbol: "xcACA"
896
+ },
897
+ {
898
+ assetId: "132685552157663328694213725410064821485",
899
+ symbol: "xcPHA"
900
+ }
901
+ ]
902
+ };
903
+ const Parallel = {
904
+ relayChainAssetSymbol: "DOT",
905
+ nativeAssets: [
906
+ "PARA"
907
+ ],
908
+ otherAssets: [
909
+ {
910
+ assetId: "6002",
911
+ symbol: "LP-DOT/PARA"
912
+ },
913
+ {
914
+ assetId: "6007",
915
+ symbol: "LP-DOT/cDOT-8/15"
916
+ },
917
+ {
918
+ assetId: "110",
919
+ symbol: "LDOT"
920
+ },
921
+ {
922
+ assetId: "1001",
923
+ symbol: "sDOT"
924
+ },
925
+ {
926
+ assetId: "120",
927
+ symbol: "INTR"
928
+ },
929
+ {
930
+ assetId: "108",
931
+ symbol: "ACA"
932
+ },
933
+ {
934
+ assetId: "200070014",
935
+ symbol: "cDOT-7/14"
936
+ },
937
+ {
938
+ assetId: "6009",
939
+ symbol: "LP-PHA/PARA"
940
+ },
941
+ {
942
+ assetId: "101",
943
+ symbol: "DOT"
944
+ },
945
+ {
946
+ assetId: "6005",
947
+ symbol: "LP-DOT/cDOT-7/14"
948
+ },
949
+ {
950
+ assetId: "200080015",
951
+ symbol: "cDOT-8/15"
952
+ },
953
+ {
954
+ assetId: "122",
955
+ symbol: "IBTC"
956
+ },
957
+ {
958
+ assetId: "6016",
959
+ symbol: "LP-INTR/PARA"
960
+ },
961
+ {
962
+ assetId: "6004",
963
+ symbol: "LP-DOT/cDOT-6/13"
964
+ },
965
+ {
966
+ assetId: "6013",
967
+ symbol: "LP-PARA/cDOT-8/15"
968
+ },
969
+ {
970
+ assetId: "104",
971
+ symbol: "AUSD"
972
+ },
973
+ {
974
+ assetId: "6003",
975
+ symbol: "LP-DOT/sDOT"
976
+ },
977
+ {
978
+ assetId: "6017",
979
+ symbol: "LP-IBTC/PARA"
980
+ },
981
+ {
982
+ assetId: "102",
983
+ symbol: "USDT"
984
+ },
985
+ {
986
+ assetId: "106",
987
+ symbol: "lcDOT"
988
+ },
989
+ {
990
+ assetId: "114",
991
+ symbol: "GLMR"
992
+ },
993
+ {
994
+ assetId: "6008",
995
+ symbol: "LP-GLMR/PARA"
996
+ },
997
+ {
998
+ assetId: "130",
999
+ symbol: "CLV"
1000
+ },
1001
+ {
1002
+ assetId: "4294957296",
1003
+ symbol: "DOT_U"
1004
+ },
1005
+ {
1006
+ assetId: "112",
1007
+ symbol: "ASTR"
1008
+ },
1009
+ {
1010
+ assetId: "200100017",
1011
+ symbol: "cDOT-10/17"
1012
+ },
1013
+ {
1014
+ assetId: "6011",
1015
+ symbol: "LP-lcDOT/PARA"
1016
+ },
1017
+ {
1018
+ assetId: "6012",
1019
+ symbol: "LP-PARA/cDOT-7/14"
1020
+ },
1021
+ {
1022
+ assetId: "6010",
1023
+ symbol: "LP-USDT/PARA"
1024
+ },
1025
+ {
1026
+ assetId: "200060013",
1027
+ symbol: "cDOT-6/13"
1028
+ },
1029
+ {
1030
+ assetId: "115",
1031
+ symbol: "PHA"
1032
+ },
1033
+ {
1034
+ assetId: "200090016",
1035
+ symbol: "cDOT-9/16"
1036
+ },
1037
+ {
1038
+ assetId: "6014",
1039
+ symbol: "LP-ACA/PARA"
1040
+ },
1041
+ {
1042
+ assetId: "6006",
1043
+ symbol: "LP-PARA/cDOT-6/13"
1044
+ },
1045
+ {
1046
+ assetId: "6015",
1047
+ symbol: "LP-LDOT/PARA"
1048
+ }
1049
+ ]
1050
+ };
1051
+ const Statemint = {
1052
+ relayChainAssetSymbol: "DOT",
1053
+ nativeAssets: [
1054
+ "DOT"
1055
+ ],
1056
+ otherAssets: [
1057
+ {
1058
+ assetId: "100",
1059
+ symbol: "WETH"
1060
+ },
1061
+ {
1062
+ assetId: "123",
1063
+ symbol: "123"
1064
+ },
1065
+ {
1066
+ assetId: "4",
1067
+ symbol: "EFI"
1068
+ },
1069
+ {
1070
+ assetId: "21",
1071
+ symbol: "WBTC"
1072
+ },
1073
+ {
1074
+ assetId: "999",
1075
+ symbol: "gold"
1076
+ },
1077
+ {
1078
+ assetId: "101",
1079
+ symbol: "DOTMA"
1080
+ },
1081
+ {
1082
+ assetId: "77",
1083
+ symbol: "TRQ"
1084
+ },
1085
+ {
1086
+ assetId: "2",
1087
+ symbol: "BTC"
1088
+ },
1089
+ {
1090
+ assetId: "868367",
1091
+ symbol: "VSC"
1092
+ },
1093
+ {
1094
+ assetId: "5",
1095
+ symbol: "PLX"
1096
+ },
1097
+ {
1098
+ assetId: "7",
1099
+ symbol: "lucky7"
1100
+ },
1101
+ {
1102
+ assetId: "1984",
1103
+ symbol: "USDt"
1104
+ },
1105
+ {
1106
+ assetId: "20090103",
1107
+ symbol: "BTC"
1108
+ },
1109
+ {
1110
+ assetId: "777",
1111
+ symbol: "777"
1112
+ },
1113
+ {
1114
+ assetId: "8",
1115
+ symbol: "JOE"
1116
+ },
1117
+ {
1118
+ assetId: "1",
1119
+ symbol: "no1"
1120
+ },
1121
+ {
1122
+ assetId: "3",
1123
+ symbol: "DOT"
1124
+ },
1125
+ {
1126
+ assetId: "1337",
1127
+ symbol: "USDC"
1128
+ },
1129
+ {
1130
+ assetId: "666",
1131
+ symbol: "DANGER"
1132
+ },
1133
+ {
1134
+ assetId: "9",
1135
+ symbol: "PINT"
1136
+ },
1137
+ {
1138
+ assetId: "862812",
1139
+ symbol: "CUBO"
1140
+ }
1141
+ ]
1142
+ };
1143
+ const Altair = {
1144
+ relayChainAssetSymbol: "KSM",
1145
+ nativeAssets: [
1146
+ "AIR"
1147
+ ],
1148
+ otherAssets: [
1149
+ ]
1150
+ };
1151
+ const Amplitude = {
1152
+ relayChainAssetSymbol: "KSM",
1153
+ nativeAssets: [
1154
+ "AMPE"
1155
+ ],
1156
+ otherAssets: [
1157
+ ]
1158
+ };
1159
+ const Bajun = {
1160
+ relayChainAssetSymbol: "KSM",
1161
+ nativeAssets: [
1162
+ "BAJU"
1163
+ ],
1164
+ otherAssets: [
1165
+ ]
1166
+ };
1167
+ const Basilisk = {
1168
+ relayChainAssetSymbol: "KSM",
1169
+ nativeAssets: [
1170
+ "BSX"
1171
+ ],
1172
+ otherAssets: [
1173
+ {
1174
+ assetId: "13",
1175
+ symbol: "DAI"
1176
+ },
1177
+ {
1178
+ assetId: "1",
1179
+ symbol: "KSM"
1180
+ },
1181
+ {
1182
+ assetId: "9",
1183
+ symbol: "USDCet"
1184
+ },
1185
+ {
1186
+ assetId: "2",
1187
+ symbol: "aUSD"
1188
+ },
1189
+ {
1190
+ assetId: "10",
1191
+ symbol: "wETH"
1192
+ },
1193
+ {
1194
+ assetId: "0",
1195
+ symbol: "BSX"
1196
+ },
1197
+ {
1198
+ assetId: "6",
1199
+ symbol: "TNKR"
1200
+ },
1201
+ {
1202
+ assetId: "11",
1203
+ symbol: "wBTC"
1204
+ },
1205
+ {
1206
+ assetId: "12",
1207
+ symbol: "USDT"
1208
+ }
1209
+ ]
1210
+ };
1211
+ const BifrostKusama = {
1212
+ relayChainAssetSymbol: "KSM",
1213
+ nativeAssets: [
1214
+ "BNC",
1215
+ "KUSD",
1216
+ "DOT",
1217
+ "KSM",
1218
+ "KAR",
1219
+ "ZLK",
1220
+ "PHA",
1221
+ "RMRK",
1222
+ "MOVR"
1223
+ ],
1224
+ otherAssets: [
1225
+ ]
1226
+ };
1227
+ const Calamari = {
1228
+ relayChainAssetSymbol: "KSM",
1229
+ nativeAssets: [
1230
+ "KMA"
1231
+ ],
1232
+ otherAssets: [
1233
+ {
1234
+ assetId: "10",
1235
+ symbol: "LKSM"
1236
+ },
1237
+ {
1238
+ assetId: "11",
1239
+ symbol: "MOVR"
1240
+ },
1241
+ {
1242
+ assetId: "13",
1243
+ symbol: "PHA"
1244
+ },
1245
+ {
1246
+ assetId: "8",
1247
+ symbol: "KAR"
1248
+ },
1249
+ {
1250
+ assetId: "12",
1251
+ symbol: "KSM"
1252
+ },
1253
+ {
1254
+ assetId: "9",
1255
+ symbol: "AUSD"
1256
+ }
1257
+ ]
1258
+ };
1259
+ const Crab = {
1260
+ relayChainAssetSymbol: "KSM",
1261
+ nativeAssets: [
1262
+ "CRAB"
1263
+ ],
1264
+ otherAssets: [
1265
+ ]
1266
+ };
1267
+ const CrustShadow = {
1268
+ relayChainAssetSymbol: "KSM",
1269
+ nativeAssets: [
1270
+ "CSM"
1271
+ ],
1272
+ otherAssets: [
1273
+ {
1274
+ assetId: "16797826370226091782818345603793389938",
1275
+ symbol: "SDN"
1276
+ },
1277
+ {
1278
+ assetId: "108036400430056508975016746969135344601",
1279
+ symbol: "XRT"
1280
+ },
1281
+ {
1282
+ assetId: "173481220575862801646329923366065693029",
1283
+ symbol: "CRAB"
1284
+ },
1285
+ {
1286
+ assetId: "214920334981412447805621250067209749032",
1287
+ symbol: "AUSD"
1288
+ },
1289
+ {
1290
+ assetId: "232263652204149413431520870009560565298",
1291
+ symbol: "MOVR"
1292
+ },
1293
+ {
1294
+ assetId: "10810581592933651521121702237638664357",
1295
+ symbol: "KAR"
1296
+ },
1297
+ {
1298
+ assetId: "319623561105283008236062145480775032445",
1299
+ symbol: "BNC"
1300
+ }
1301
+ ]
1302
+ };
1303
+ const Dorafactory = {
1304
+ relayChainAssetSymbol: "KSM",
1305
+ nativeAssets: [
1306
+ "DORA"
1307
+ ],
1308
+ otherAssets: [
1309
+ ]
1310
+ };
1311
+ const Encointer = {
1312
+ relayChainAssetSymbol: "KSM",
1313
+ nativeAssets: [
1314
+ "KSM"
1315
+ ],
1316
+ otherAssets: [
1317
+ ]
1318
+ };
1319
+ const Imbue = {
1320
+ relayChainAssetSymbol: "KSM",
1321
+ nativeAssets: [
1322
+ "IMBU"
1323
+ ],
1324
+ otherAssets: [
1325
+ ]
1326
+ };
1327
+ const Integritee = {
1328
+ relayChainAssetSymbol: "KSM",
1329
+ nativeAssets: [
1330
+ "TEER"
1331
+ ],
1332
+ otherAssets: [
1333
+ ]
1334
+ };
1335
+ const InvArchTinker = {
1336
+ relayChainAssetSymbol: "KSM",
1337
+ nativeAssets: [
1338
+ "TNKR"
1339
+ ],
1340
+ otherAssets: [
1341
+ ]
1342
+ };
1343
+ const Kico = {
1344
+ relayChainAssetSymbol: "KSM",
1345
+ nativeAssets: [
1346
+ "KICO"
1347
+ ],
1348
+ otherAssets: [
1349
+ {
1350
+ assetId: "100",
1351
+ symbol: "KSM"
1352
+ },
1353
+ {
1354
+ assetId: "0",
1355
+ symbol: "KICO"
1356
+ },
1357
+ {
1358
+ assetId: "10",
1359
+ symbol: "aUSD"
1360
+ },
1361
+ {
1362
+ assetId: "11",
1363
+ symbol: "SOL"
1364
+ },
1365
+ {
1366
+ assetId: "4000000004",
1367
+ symbol: "aUSD-KSM"
1368
+ },
1369
+ {
1370
+ assetId: "4000000000",
1371
+ symbol: "KICO-aUSD"
1372
+ },
1373
+ {
1374
+ assetId: "4000000001",
1375
+ symbol: "KSM-KICO"
1376
+ },
1377
+ {
1378
+ assetId: "13",
1379
+ symbol: "LIKE"
1380
+ },
1381
+ {
1382
+ assetId: "102",
1383
+ symbol: "KAR"
1384
+ },
1385
+ {
1386
+ assetId: "4000000002",
1387
+ symbol: "KAR-KICO"
1388
+ },
1389
+ {
1390
+ assetId: "4000000003",
1391
+ symbol: "KAR-aUSD"
1392
+ },
1393
+ {
1394
+ assetId: "12",
1395
+ symbol: "LT"
1396
+ }
1397
+ ]
1398
+ };
1399
+ const Karura = {
1400
+ relayChainAssetSymbol: "KSM",
1401
+ nativeAssets: [
1402
+ "LKSM",
1403
+ "KAR",
1404
+ "BNC",
1405
+ "TAI",
1406
+ "PHA",
1407
+ "KINT",
1408
+ "VSKSM",
1409
+ "KSM",
1410
+ "aUSD",
1411
+ "KBTC"
1412
+ ],
1413
+ otherAssets: [
1414
+ {
1415
+ assetId: "10",
1416
+ symbol: "KMA"
1417
+ },
1418
+ {
1419
+ assetId: "14",
1420
+ symbol: "GENS"
1421
+ },
1422
+ {
1423
+ assetId: "0",
1424
+ symbol: "taiKSM"
1425
+ },
1426
+ {
1427
+ assetId: "19",
1428
+ symbol: "LT"
1429
+ },
1430
+ {
1431
+ assetId: "8",
1432
+ symbol: "TEER"
1433
+ },
1434
+ {
1435
+ assetId: "16",
1436
+ symbol: "TUR"
1437
+ },
1438
+ {
1439
+ assetId: "4",
1440
+ symbol: "HKO"
1441
+ },
1442
+ {
1443
+ assetId: "6",
1444
+ symbol: "KICO"
1445
+ },
1446
+ {
1447
+ assetId: "2",
1448
+ symbol: "QTZ"
1449
+ },
1450
+ {
1451
+ assetId: "20",
1452
+ symbol: "LIT"
1453
+ },
1454
+ {
1455
+ assetId: "9",
1456
+ symbol: "NEER"
1457
+ },
1458
+ {
1459
+ assetId: "1",
1460
+ symbol: "ARIS"
1461
+ },
1462
+ {
1463
+ assetId: "0",
1464
+ symbol: "RMRK"
1465
+ },
1466
+ {
1467
+ assetId: "5",
1468
+ symbol: "CSM"
1469
+ },
1470
+ {
1471
+ assetId: "0x1f3a10587a20114ea25ba1b388ee2dd4a337ce27",
1472
+ symbol: "USDCet"
1473
+ },
1474
+ {
1475
+ assetId: "17",
1476
+ symbol: "PCHU"
1477
+ },
1478
+ {
1479
+ assetId: "13",
1480
+ symbol: "CRAB"
1481
+ },
1482
+ {
1483
+ assetId: "0x4bb6afb5fa2b07a5d1c499e1c3ddb5a15e709a71",
1484
+ symbol: "DAI"
1485
+ },
1486
+ {
1487
+ assetId: "11",
1488
+ symbol: "BSX"
1489
+ },
1490
+ {
1491
+ assetId: "12",
1492
+ symbol: "AIR"
1493
+ },
1494
+ {
1495
+ assetId: "0xe20683ad1ed8bbeed7e1ae74be10f19d8045b530",
1496
+ symbol: "waUSD"
1497
+ },
1498
+ {
1499
+ assetId: "7",
1500
+ symbol: "USDT"
1501
+ },
1502
+ {
1503
+ assetId: "18",
1504
+ symbol: "SDN"
1505
+ },
1506
+ {
1507
+ assetId: "1",
1508
+ symbol: "3USD"
1509
+ },
1510
+ {
1511
+ assetId: "15",
1512
+ symbol: "EQD"
1513
+ },
1514
+ {
1515
+ assetId: "3",
1516
+ symbol: "MOVR"
1517
+ }
1518
+ ]
1519
+ };
1520
+ const Kintsugi = {
1521
+ relayChainAssetSymbol: "KSM",
1522
+ nativeAssets: [
1523
+ "KINT",
1524
+ "KBTC",
1525
+ "KSM",
1526
+ "INTR",
1527
+ "IBTC",
1528
+ "DOT"
1529
+ ],
1530
+ otherAssets: [
1531
+ {
1532
+ assetId: "1",
1533
+ symbol: "AUSD"
1534
+ },
1535
+ {
1536
+ assetId: "2",
1537
+ symbol: "LKSM"
1538
+ },
1539
+ {
1540
+ assetId: "3",
1541
+ symbol: "USDT"
1542
+ }
1543
+ ]
1544
+ };
1545
+ const Listen = {
1546
+ relayChainAssetSymbol: "KSM",
1547
+ nativeAssets: [
1548
+ "LT"
1549
+ ],
1550
+ otherAssets: [
1551
+ {
1552
+ assetId: "100",
1553
+ symbol: "KT"
1554
+ },
1555
+ {
1556
+ assetId: "0",
1557
+ symbol: "LT"
1558
+ },
1559
+ {
1560
+ assetId: "10",
1561
+ symbol: "KICO"
1562
+ },
1563
+ {
1564
+ assetId: "129",
1565
+ symbol: "aUSD"
1566
+ },
1567
+ {
1568
+ assetId: "2",
1569
+ symbol: "KSM"
1570
+ },
1571
+ {
1572
+ assetId: "5",
1573
+ symbol: "USDT"
1574
+ },
1575
+ {
1576
+ assetId: "128",
1577
+ symbol: "KAR"
1578
+ },
1579
+ {
1580
+ assetId: "131",
1581
+ symbol: "LKSM"
1582
+ },
1583
+ {
1584
+ assetId: "1",
1585
+ symbol: "LIKE"
1586
+ }
1587
+ ]
1588
+ };
1589
+ const Litmus = {
1590
+ relayChainAssetSymbol: "KSM",
1591
+ nativeAssets: [
1592
+ "LIT"
1593
+ ],
1594
+ otherAssets: [
1595
+ ]
1596
+ };
1597
+ const Mangata = {
1598
+ relayChainAssetSymbol: "KSM",
1599
+ nativeAssets: [
1600
+ "MGX"
1601
+ ],
1602
+ otherAssets: [
1603
+ {
1604
+ assetId: "7",
1605
+ symbol: "TUR"
1606
+ },
1607
+ {
1608
+ assetId: "13",
1609
+ symbol: "TKN0x0000000B-TKN0x00000004"
1610
+ },
1611
+ {
1612
+ assetId: "5",
1613
+ symbol: "TKN0x00000004-TKN0x00000000"
1614
+ },
1615
+ {
1616
+ assetId: "8",
1617
+ symbol: "TKN0x00000000-TKN0x00000007"
1618
+ },
1619
+ {
1620
+ assetId: "1",
1621
+ symbol: "ETH"
1622
+ },
1623
+ {
1624
+ assetId: "9",
1625
+ symbol: "TKN0x00000004-TKN0x00000007"
1626
+ },
1627
+ {
1628
+ assetId: "16",
1629
+ symbol: "vsKSM"
1630
+ },
1631
+ {
1632
+ assetId: "14",
1633
+ symbol: "BNC"
1634
+ },
1635
+ {
1636
+ assetId: "15",
1637
+ symbol: "vKSM"
1638
+ },
1639
+ {
1640
+ assetId: "10",
1641
+ symbol: "TKN0x00000005-TKN0x00000000"
1642
+ },
1643
+ {
1644
+ assetId: "0",
1645
+ symbol: "MGX"
1646
+ },
1647
+ {
1648
+ assetId: "6",
1649
+ symbol: "KAR"
1650
+ },
1651
+ {
1652
+ assetId: "11",
1653
+ symbol: "IMBU"
1654
+ },
1655
+ {
1656
+ assetId: "3",
1657
+ symbol: "TKN0x00000000-TKN0x00000002"
1658
+ },
1659
+ {
1660
+ assetId: "4",
1661
+ symbol: "KSM"
1662
+ },
1663
+ {
1664
+ assetId: "12",
1665
+ symbol: "TKN0x00000000-TKN0x0000000B"
1666
+ }
1667
+ ]
1668
+ };
1669
+ const Moonriver = {
1670
+ relayChainAssetSymbol: "KSM",
1671
+ nativeAssets: [
1672
+ "MOVR"
1673
+ ],
1674
+ otherAssets: [
1675
+ {
1676
+ assetId: "108457044225666871745333730479173774551",
1677
+ symbol: "xcCSM"
1678
+ },
1679
+ {
1680
+ assetId: "16797826370226091782818345603793389938",
1681
+ symbol: "xcSDN"
1682
+ },
1683
+ {
1684
+ assetId: "76100021443485661246318545281171740067",
1685
+ symbol: "xcHKO"
1686
+ },
1687
+ {
1688
+ assetId: "328179947973504579459046439826496046832",
1689
+ symbol: "xcKBTC"
1690
+ },
1691
+ {
1692
+ assetId: "108036400430056508975016746969135344601",
1693
+ symbol: "xcXRT"
1694
+ },
1695
+ {
1696
+ assetId: "213357169630950964874127107356898319277",
1697
+ symbol: "xcKMA"
1698
+ },
1699
+ {
1700
+ assetId: "65216491554813189869575508812319036608",
1701
+ symbol: "xcLIT"
1702
+ },
1703
+ {
1704
+ assetId: "173481220575862801646329923366065693029",
1705
+ symbol: "xcCRAB"
1706
+ },
1707
+ {
1708
+ assetId: "189307976387032586987344677431204943363",
1709
+ symbol: "xcPHA"
1710
+ },
1711
+ {
1712
+ assetId: "214920334981412447805621250067209749032",
1713
+ symbol: "xcAUSD"
1714
+ },
1715
+ {
1716
+ assetId: "175400718394635817552109270754364440562",
1717
+ symbol: "xcKINT"
1718
+ },
1719
+ {
1720
+ assetId: "105075627293246237499203909093923548958",
1721
+ symbol: "xcTEER"
1722
+ },
1723
+ {
1724
+ assetId: "311091173110107856861649819128533077277",
1725
+ symbol: "xcUSDT"
1726
+ },
1727
+ {
1728
+ assetId: "182365888117048807484804376330534607370",
1729
+ symbol: "xcRMRK"
1730
+ },
1731
+ {
1732
+ assetId: "42259045809535163221576417993425387648",
1733
+ symbol: "xcKSM"
1734
+ },
1735
+ {
1736
+ assetId: "10810581592933651521121702237638664357",
1737
+ symbol: "xcKAR"
1738
+ },
1739
+ {
1740
+ assetId: "319623561105283008236062145480775032445",
1741
+ symbol: "xcBNC"
1742
+ }
1743
+ ]
1744
+ };
1745
+ const ParallelHeiko = {
1746
+ relayChainAssetSymbol: "KSM",
1747
+ nativeAssets: [
1748
+ "HKO"
1749
+ ],
1750
+ otherAssets: [
1751
+ {
1752
+ assetId: "100",
1753
+ symbol: "KSM"
1754
+ },
1755
+ {
1756
+ assetId: "123",
1757
+ symbol: "GENS"
1758
+ },
1759
+ {
1760
+ assetId: "121",
1761
+ symbol: "KBTC"
1762
+ },
1763
+ {
1764
+ assetId: "5007",
1765
+ symbol: "LP-USDT/HKO"
1766
+ },
1767
+ {
1768
+ assetId: "100210028",
1769
+ symbol: "cKSM-21/28"
1770
+ },
1771
+ {
1772
+ assetId: "125",
1773
+ symbol: "TUR"
1774
+ },
1775
+ {
1776
+ assetId: "5002",
1777
+ symbol: "LP-KSM/HKO"
1778
+ },
1779
+ {
1780
+ assetId: "103",
1781
+ symbol: "AUSD"
1782
+ },
1783
+ {
1784
+ assetId: "109",
1785
+ symbol: "LKSM"
1786
+ },
1787
+ {
1788
+ assetId: "111",
1789
+ symbol: "SDN"
1790
+ },
1791
+ {
1792
+ assetId: "5005",
1793
+ symbol: "LP-MOVR/HKO"
1794
+ },
1795
+ {
1796
+ assetId: "119",
1797
+ symbol: "KINT"
1798
+ },
1799
+ {
1800
+ assetId: "100150022",
1801
+ symbol: "cKSM-15/22"
1802
+ },
1803
+ {
1804
+ assetId: "5004",
1805
+ symbol: "LP-KSM/cKSM-20/27"
1806
+ },
1807
+ {
1808
+ assetId: "102",
1809
+ symbol: "USDT"
1810
+ },
1811
+ {
1812
+ assetId: "100230030",
1813
+ symbol: "cKSM-23/30"
1814
+ },
1815
+ {
1816
+ assetId: "5006",
1817
+ symbol: "LP-PHA/HKO"
1818
+ },
1819
+ {
1820
+ assetId: "5011",
1821
+ symbol: "LP-KBTC/HKO"
1822
+ },
1823
+ {
1824
+ assetId: "4294957295",
1825
+ symbol: "KSM_U"
1826
+ },
1827
+ {
1828
+ assetId: "1000",
1829
+ symbol: "sKSM"
1830
+ },
1831
+ {
1832
+ assetId: "113",
1833
+ symbol: "MOVR"
1834
+ },
1835
+ {
1836
+ assetId: "115",
1837
+ symbol: "PHA"
1838
+ },
1839
+ {
1840
+ assetId: "5003",
1841
+ symbol: "LP-KSM/sKSM"
1842
+ },
1843
+ {
1844
+ assetId: "100220029",
1845
+ symbol: "cKSM-22/29"
1846
+ },
1847
+ {
1848
+ assetId: "107",
1849
+ symbol: "KAR"
1850
+ },
1851
+ {
1852
+ assetId: "5008",
1853
+ symbol: "LP-KAR/HKO"
1854
+ },
1855
+ {
1856
+ assetId: "5009",
1857
+ symbol: "LP-LKSM/HKO"
1858
+ },
1859
+ {
1860
+ assetId: "5010",
1861
+ symbol: "LP-KINT/HKO"
1862
+ },
1863
+ {
1864
+ assetId: "100200027",
1865
+ symbol: "cKSM-20/27"
1866
+ }
1867
+ ]
1868
+ };
1869
+ const Picasso = {
1870
+ relayChainAssetSymbol: "KSM",
1871
+ nativeAssets: [
1872
+ "PICA"
1873
+ ],
1874
+ otherAssets: [
1875
+ ]
1876
+ };
1877
+ const Pichiu = {
1878
+ relayChainAssetSymbol: "KSM",
1879
+ nativeAssets: [
1880
+ "PCHU"
1881
+ ],
1882
+ otherAssets: [
1883
+ ]
1884
+ };
1885
+ const Pioneer = {
1886
+ relayChainAssetSymbol: "KSM",
1887
+ nativeAssets: [
1888
+ "NEER"
1889
+ ],
1890
+ otherAssets: [
1891
+ ]
1892
+ };
1893
+ const Quartz = {
1894
+ relayChainAssetSymbol: "KSM",
1895
+ nativeAssets: [
1896
+ "QTZ"
1897
+ ],
1898
+ otherAssets: [
1899
+ ]
1900
+ };
1901
+ const Robonomics = {
1902
+ relayChainAssetSymbol: "KSM",
1903
+ nativeAssets: [
1904
+ "XRT"
1905
+ ],
1906
+ otherAssets: [
1907
+ {
1908
+ assetId: "4294967292",
1909
+ symbol: "KAR"
1910
+ },
1911
+ {
1912
+ assetId: "4294967295",
1913
+ symbol: "KSM"
1914
+ },
1915
+ {
1916
+ assetId: "4294967291",
1917
+ symbol: "CSM"
1918
+ },
1919
+ {
1920
+ assetId: "4294967293",
1921
+ symbol: "LKSM"
1922
+ },
1923
+ {
1924
+ assetId: "4294967294",
1925
+ symbol: "AUSD"
1926
+ }
1927
+ ]
1928
+ };
1929
+ const Shiden = {
1930
+ relayChainAssetSymbol: "KSM",
1931
+ nativeAssets: [
1932
+ "SDN"
1933
+ ],
1934
+ otherAssets: [
1935
+ {
1936
+ assetId: "18446744073709551623",
1937
+ symbol: "PHA"
1938
+ },
1939
+ {
1940
+ assetId: "18446744073709551619",
1941
+ symbol: "LKSM"
1942
+ },
1943
+ {
1944
+ assetId: "314",
1945
+ symbol: "BAR"
1946
+ },
1947
+ {
1948
+ assetId: "18446744073709551620",
1949
+ symbol: "MOVR"
1950
+ },
1951
+ {
1952
+ assetId: "18446744073709551621",
1953
+ symbol: "KBTC"
1954
+ },
1955
+ {
1956
+ assetId: "18446744073709551622",
1957
+ symbol: "KINT"
1958
+ },
1959
+ {
1960
+ assetId: "312",
1961
+ symbol: "XCT"
1962
+ },
1963
+ {
1964
+ assetId: "313",
1965
+ symbol: "SDG"
1966
+ },
1967
+ {
1968
+ assetId: "340282366920938463463374607431768211455",
1969
+ symbol: "KSM"
1970
+ },
1971
+ {
1972
+ assetId: "18446744073709551616",
1973
+ symbol: "aUSD"
1974
+ },
1975
+ {
1976
+ assetId: "18446744073709551624",
1977
+ symbol: "CSM"
1978
+ },
1979
+ {
1980
+ assetId: "18446744073709551618",
1981
+ symbol: "KAR"
1982
+ },
1983
+ {
1984
+ assetId: "311",
1985
+ symbol: "SYG"
1986
+ },
1987
+ {
1988
+ assetId: "18446744073709551626",
1989
+ symbol: "SKU"
1990
+ },
1991
+ {
1992
+ assetId: "18446744073709551629",
1993
+ symbol: "vsKSM"
1994
+ },
1995
+ {
1996
+ assetId: "4294969280",
1997
+ symbol: "USDT"
1998
+ },
1999
+ {
2000
+ assetId: "18446744073709551628",
2001
+ symbol: "vKSM"
2002
+ },
2003
+ {
2004
+ assetId: "18446744073709551627",
2005
+ symbol: "BNC"
2006
+ },
2007
+ {
2008
+ assetId: "315",
2009
+ symbol: "CHAI"
2010
+ }
2011
+ ]
2012
+ };
2013
+ const Statemine = {
2014
+ relayChainAssetSymbol: "KSM",
2015
+ nativeAssets: [
2016
+ "KSM"
2017
+ ],
2018
+ otherAssets: [
2019
+ {
2020
+ assetId: "9999",
2021
+ symbol: "BTC"
2022
+ },
2023
+ {
2024
+ assetId: "100",
2025
+ symbol: "Chralt"
2026
+ },
2027
+ {
2028
+ assetId: "123",
2029
+ symbol: "NFT"
2030
+ },
2031
+ {
2032
+ assetId: "9000",
2033
+ symbol: "KPOTS"
2034
+ },
2035
+ {
2036
+ assetId: "1155",
2037
+ symbol: "WITEK"
2038
+ },
2039
+ {
2040
+ assetId: "69420",
2041
+ symbol: "CHAOS"
2042
+ },
2043
+ {
2044
+ assetId: "47",
2045
+ symbol: "EUR"
2046
+ },
2047
+ {
2048
+ assetId: "6789",
2049
+ symbol: "VHM"
2050
+ },
2051
+ {
2052
+ assetId: "50",
2053
+ symbol: "PROMO"
2054
+ },
2055
+ {
2056
+ assetId: "420",
2057
+ symbol: "BLAZE"
2058
+ },
2059
+ {
2060
+ assetId: "0",
2061
+ symbol: "DOG"
2062
+ },
2063
+ {
2064
+ assetId: "10",
2065
+ symbol: "USDC"
2066
+ },
2067
+ {
2068
+ assetId: "1111",
2069
+ symbol: "MTVD"
2070
+ },
2071
+ {
2072
+ assetId: "300",
2073
+ symbol: "PWS"
2074
+ },
2075
+ {
2076
+ assetId: "4",
2077
+ symbol: "HAPPY"
2078
+ },
2079
+ {
2080
+ assetId: "21",
2081
+ symbol: "ELEV"
2082
+ },
2083
+ {
2084
+ assetId: "333",
2085
+ symbol: "Token"
2086
+ },
2087
+ {
2088
+ assetId: "28",
2089
+ symbol: "LAC"
2090
+ },
2091
+ {
2092
+ assetId: "20",
2093
+ symbol: "BFKK"
2094
+ },
2095
+ {
2096
+ assetId: "2048",
2097
+ symbol: "RWS"
2098
+ },
2099
+ {
2100
+ assetId: "377",
2101
+ symbol: "KAA"
2102
+ },
2103
+ {
2104
+ assetId: "95834",
2105
+ symbol: "LUL"
2106
+ },
2107
+ {
2108
+ assetId: "999",
2109
+ symbol: "CBDC"
2110
+ },
2111
+ {
2112
+ assetId: "30",
2113
+ symbol: "GOL"
2114
+ },
2115
+ {
2116
+ assetId: "677",
2117
+ symbol: "GRB"
2118
+ },
2119
+ {
2120
+ assetId: "39",
2121
+ symbol: "DSCAN"
2122
+ },
2123
+ {
2124
+ assetId: "101",
2125
+ symbol: "---"
2126
+ },
2127
+ {
2128
+ assetId: "38",
2129
+ symbol: "ENT"
2130
+ },
2131
+ {
2132
+ assetId: "46",
2133
+ symbol: "FAN"
2134
+ },
2135
+ {
2136
+ assetId: "99",
2137
+ symbol: "BITCOIN"
2138
+ },
2139
+ {
2140
+ assetId: "34",
2141
+ symbol: "PLX"
2142
+ },
2143
+ {
2144
+ assetId: "7777",
2145
+ symbol: "lucky7"
2146
+ },
2147
+ {
2148
+ assetId: "168",
2149
+ symbol: "Tokens"
2150
+ },
2151
+ {
2152
+ assetId: "2077",
2153
+ symbol: "XRT"
2154
+ },
2155
+ {
2156
+ assetId: "16",
2157
+ symbol: "ARIS"
2158
+ },
2159
+ {
2160
+ assetId: "11",
2161
+ symbol: "USDT"
2162
+ },
2163
+ {
2164
+ assetId: "224",
2165
+ symbol: "SIK"
2166
+ },
2167
+ {
2168
+ assetId: "138",
2169
+ symbol: "Abc"
2170
+ },
2171
+ {
2172
+ assetId: "75",
2173
+ symbol: "cipher"
2174
+ },
2175
+ {
2176
+ assetId: "111",
2177
+ symbol: "NO1"
2178
+ },
2179
+ {
2180
+ assetId: "66",
2181
+ symbol: "DAI"
2182
+ },
2183
+ {
2184
+ assetId: "14",
2185
+ symbol: "DOT"
2186
+ },
2187
+ {
2188
+ assetId: "360",
2189
+ symbol: "uni"
2190
+ },
2191
+ {
2192
+ assetId: "6",
2193
+ symbol: "ZKPD"
2194
+ },
2195
+ {
2196
+ assetId: "19",
2197
+ symbol: "SHOT"
2198
+ },
2199
+ {
2200
+ assetId: "1607",
2201
+ symbol: "STRGZN"
2202
+ },
2203
+ {
2204
+ assetId: "383",
2205
+ symbol: "KODA"
2206
+ },
2207
+ {
2208
+ assetId: "42069",
2209
+ symbol: "INTRN"
2210
+ },
2211
+ {
2212
+ assetId: "88888",
2213
+ symbol: "BAILEGO"
2214
+ },
2215
+ {
2216
+ assetId: "4206969",
2217
+ symbol: "SHIB"
2218
+ },
2219
+ {
2220
+ assetId: "2021",
2221
+ symbol: "WAVE"
2222
+ },
2223
+ {
2224
+ assetId: "1107",
2225
+ symbol: "HOLIC"
2226
+ },
2227
+ {
2228
+ assetId: "77",
2229
+ symbol: "Crypto"
2230
+ },
2231
+ {
2232
+ assetId: "35",
2233
+ symbol: "LUCKY"
2234
+ },
2235
+ {
2236
+ assetId: "36",
2237
+ symbol: "RRT"
2238
+ },
2239
+ {
2240
+ assetId: "31",
2241
+ symbol: "ki"
2242
+ },
2243
+ {
2244
+ assetId: "33",
2245
+ symbol: "BUSSY"
2246
+ },
2247
+ {
2248
+ assetId: "41",
2249
+ symbol: "GOOSE"
2250
+ },
2251
+ {
2252
+ assetId: "71",
2253
+ symbol: "OAK"
2254
+ },
2255
+ {
2256
+ assetId: "44",
2257
+ symbol: "ADVNCE"
2258
+ },
2259
+ {
2260
+ assetId: "11111",
2261
+ symbol: "KVC"
2262
+ },
2263
+ {
2264
+ assetId: "15",
2265
+ symbol: "Web3"
2266
+ },
2267
+ {
2268
+ assetId: "3721",
2269
+ symbol: "fast"
2270
+ },
2271
+ {
2272
+ assetId: "374",
2273
+ symbol: "wETH"
2274
+ },
2275
+ {
2276
+ assetId: "40",
2277
+ symbol: "ERIC"
2278
+ },
2279
+ {
2280
+ assetId: "2",
2281
+ symbol: "PNN"
2282
+ },
2283
+ {
2284
+ assetId: "117",
2285
+ symbol: "TNKR"
2286
+ },
2287
+ {
2288
+ assetId: "70",
2289
+ symbol: "MAR"
2290
+ },
2291
+ {
2292
+ assetId: "13",
2293
+ symbol: "LN"
2294
+ },
2295
+ {
2296
+ assetId: "2049",
2297
+ symbol: "Android"
2298
+ },
2299
+ {
2300
+ assetId: "32",
2301
+ symbol: "FAV"
2302
+ },
2303
+ {
2304
+ assetId: "188",
2305
+ symbol: "ZLK"
2306
+ },
2307
+ {
2308
+ assetId: "27",
2309
+ symbol: "RUNE"
2310
+ },
2311
+ {
2312
+ assetId: "49",
2313
+ symbol: "DIAN"
2314
+ },
2315
+ {
2316
+ assetId: "1999",
2317
+ symbol: "ADVERT2"
2318
+ },
2319
+ {
2320
+ assetId: "3943",
2321
+ symbol: "GMK"
2322
+ },
2323
+ {
2324
+ assetId: "314159",
2325
+ symbol: "RTT"
2326
+ },
2327
+ {
2328
+ assetId: "29",
2329
+ symbol: "CODES"
2330
+ },
2331
+ {
2332
+ assetId: "42",
2333
+ symbol: "NRNF"
2334
+ },
2335
+ {
2336
+ assetId: "102",
2337
+ symbol: "DRX"
2338
+ },
2339
+ {
2340
+ assetId: "80815",
2341
+ symbol: "KSMFS"
2342
+ },
2343
+ {
2344
+ assetId: "43",
2345
+ symbol: "TTT"
2346
+ },
2347
+ {
2348
+ assetId: "7777777",
2349
+ symbol: "king"
2350
+ },
2351
+ {
2352
+ assetId: "365",
2353
+ symbol: "time"
2354
+ },
2355
+ {
2356
+ assetId: "5",
2357
+ symbol: "BEER"
2358
+ },
2359
+ {
2360
+ assetId: "18",
2361
+ symbol: "HEI"
2362
+ },
2363
+ {
2364
+ assetId: "7",
2365
+ symbol: "DOS"
2366
+ },
2367
+ {
2368
+ assetId: "26",
2369
+ symbol: "BUNGA"
2370
+ },
2371
+ {
2372
+ assetId: "8848",
2373
+ symbol: "top"
2374
+ },
2375
+ {
2376
+ assetId: "3077",
2377
+ symbol: "ACT"
2378
+ },
2379
+ {
2380
+ assetId: "87",
2381
+ symbol: "XEXR"
2382
+ },
2383
+ {
2384
+ assetId: "1984",
2385
+ symbol: "USDt"
2386
+ },
2387
+ {
2388
+ assetId: "2050",
2389
+ symbol: "CUT"
2390
+ },
2391
+ {
2392
+ assetId: "1688",
2393
+ symbol: "ali"
2394
+ },
2395
+ {
2396
+ assetId: "1123",
2397
+ symbol: "XEN"
2398
+ },
2399
+ {
2400
+ assetId: "4294967291",
2401
+ symbol: "PRIME"
2402
+ },
2403
+ {
2404
+ assetId: "777777",
2405
+ symbol: "DEFI"
2406
+ },
2407
+ {
2408
+ assetId: "22",
2409
+ symbol: "STH"
2410
+ },
2411
+ {
2412
+ assetId: "777",
2413
+ symbol: "GOD"
2414
+ },
2415
+ {
2416
+ assetId: "567",
2417
+ symbol: "CHRWNA"
2418
+ },
2419
+ {
2420
+ assetId: "68",
2421
+ symbol: "ADVERT"
2422
+ },
2423
+ {
2424
+ assetId: "24",
2425
+ symbol: "test"
2426
+ },
2427
+ {
2428
+ assetId: "90",
2429
+ symbol: "SATS"
2430
+ },
2431
+ {
2432
+ assetId: "80",
2433
+ symbol: "BIT"
2434
+ },
2435
+ {
2436
+ assetId: "8",
2437
+ symbol: "RMRK"
2438
+ },
2439
+ {
2440
+ assetId: "45",
2441
+ symbol: "CRIB"
2442
+ },
2443
+ {
2444
+ assetId: "841",
2445
+ symbol: "YAYOI"
2446
+ },
2447
+ {
2448
+ assetId: "5201314",
2449
+ symbol: "belove"
2450
+ },
2451
+ {
2452
+ assetId: "1234",
2453
+ symbol: "KSM"
2454
+ },
2455
+ {
2456
+ assetId: "1420",
2457
+ symbol: "HYDR"
2458
+ },
2459
+ {
2460
+ assetId: "1000",
2461
+ symbol: "SPARK"
2462
+ },
2463
+ {
2464
+ assetId: "223",
2465
+ symbol: "BILL"
2466
+ },
2467
+ {
2468
+ assetId: "60",
2469
+ symbol: "GAV"
2470
+ },
2471
+ {
2472
+ assetId: "80817",
2473
+ symbol: "FRALEY"
2474
+ },
2475
+ {
2476
+ assetId: "1",
2477
+ symbol: "L T"
2478
+ },
2479
+ {
2480
+ assetId: "12",
2481
+ symbol: "BUSD"
2482
+ },
2483
+ {
2484
+ assetId: "12345",
2485
+ symbol: "DREX"
2486
+ },
2487
+ {
2488
+ assetId: "3",
2489
+ symbol: "Meow"
2490
+ },
2491
+ {
2492
+ assetId: "55",
2493
+ symbol: "MTS"
2494
+ },
2495
+ {
2496
+ assetId: "1337",
2497
+ symbol: "TIP"
2498
+ },
2499
+ {
2500
+ assetId: "666",
2501
+ symbol: "BAD"
2502
+ },
2503
+ {
2504
+ assetId: "88",
2505
+ symbol: "BTC"
2506
+ },
2507
+ {
2508
+ assetId: "17",
2509
+ symbol: "MEME"
2510
+ },
2511
+ {
2512
+ assetId: "598",
2513
+ symbol: "EREN"
2514
+ },
2515
+ {
2516
+ assetId: "25",
2517
+ symbol: "BABE"
2518
+ },
2519
+ {
2520
+ assetId: "69",
2521
+ symbol: "NICE"
2522
+ },
2523
+ {
2524
+ assetId: "23",
2525
+ symbol: "KOJO"
2526
+ },
2527
+ {
2528
+ assetId: "19840",
2529
+ symbol: "USDt"
2530
+ },
2531
+ {
2532
+ assetId: "37",
2533
+ symbol: "MNCH"
2534
+ },
2535
+ {
2536
+ assetId: "759",
2537
+ symbol: "bLd"
2538
+ },
2539
+ {
2540
+ assetId: "91",
2541
+ symbol: "TMJ"
2542
+ },
2543
+ {
2544
+ assetId: "1225",
2545
+ symbol: "GOD"
2546
+ },
2547
+ {
2548
+ assetId: "64",
2549
+ symbol: "oh!"
2550
+ },
2551
+ {
2552
+ assetId: "520",
2553
+ symbol: "0xe299a5e299a5e299a5"
2554
+ },
2555
+ {
2556
+ assetId: "9",
2557
+ symbol: "TOT"
2558
+ },
2559
+ {
2560
+ assetId: "888",
2561
+ symbol: "LUCK"
2562
+ },
2563
+ {
2564
+ assetId: "911",
2565
+ symbol: "911"
2566
+ },
2567
+ {
2568
+ assetId: "214",
2569
+ symbol: "LOVE"
2570
+ },
2571
+ {
2572
+ assetId: "345",
2573
+ symbol: "345"
2574
+ },
2575
+ {
2576
+ assetId: "1441",
2577
+ symbol: "SPOT"
2578
+ },
2579
+ {
2580
+ assetId: "80816",
2581
+ symbol: "RUEPP"
2582
+ }
2583
+ ]
2584
+ };
2585
+ const Turing = {
2586
+ relayChainAssetSymbol: "KSM",
2587
+ nativeAssets: [
2588
+ "TUR"
2589
+ ],
2590
+ otherAssets: [
2591
+ {
2592
+ assetId: "7",
2593
+ symbol: "PHA"
2594
+ },
2595
+ {
2596
+ assetId: "5",
2597
+ symbol: "HKO"
2598
+ },
2599
+ {
2600
+ assetId: "1",
2601
+ symbol: "KSM"
2602
+ },
2603
+ {
2604
+ assetId: "2",
2605
+ symbol: "AUSD"
2606
+ },
2607
+ {
2608
+ assetId: "0",
2609
+ symbol: "TUR"
2610
+ },
2611
+ {
2612
+ assetId: "6",
2613
+ symbol: "SKSM"
2614
+ },
2615
+ {
2616
+ assetId: "3",
2617
+ symbol: "KAR"
2618
+ },
2619
+ {
2620
+ assetId: "4",
2621
+ symbol: "LKSM"
2622
+ }
2623
+ ]
2624
+ };
2625
+ const assets = {
2626
+ Acala: Acala,
2627
+ Astar: Astar,
2628
+ BifrostPolkadot: BifrostPolkadot,
2629
+ Bitgreen: Bitgreen,
2630
+ Centrifuge: Centrifuge,
2631
+ Clover: Clover,
2632
+ ComposableFinance: ComposableFinance,
2633
+ Darwinia: Darwinia,
2634
+ HydraDX: HydraDX,
2635
+ Interlay: Interlay,
2636
+ Kylin: Kylin,
2637
+ Litentry: Litentry,
2638
+ Moonbeam: Moonbeam,
2639
+ Parallel: Parallel,
2640
+ Statemint: Statemint,
2641
+ Altair: Altair,
2642
+ Amplitude: Amplitude,
2643
+ Bajun: Bajun,
2644
+ Basilisk: Basilisk,
2645
+ BifrostKusama: BifrostKusama,
2646
+ Calamari: Calamari,
2647
+ Crab: Crab,
2648
+ CrustShadow: CrustShadow,
2649
+ Dorafactory: Dorafactory,
2650
+ Encointer: Encointer,
2651
+ Imbue: Imbue,
2652
+ Integritee: Integritee,
2653
+ InvArchTinker: InvArchTinker,
2654
+ Kico: Kico,
2655
+ Karura: Karura,
2656
+ Kintsugi: Kintsugi,
2657
+ Listen: Listen,
2658
+ Litmus: Litmus,
2659
+ Mangata: Mangata,
2660
+ Moonriver: Moonriver,
2661
+ ParallelHeiko: ParallelHeiko,
2662
+ Picasso: Picasso,
2663
+ Pichiu: Pichiu,
2664
+ Pioneer: Pioneer,
2665
+ Quartz: Quartz,
2666
+ Robonomics: Robonomics,
2667
+ Shiden: Shiden,
2668
+ Statemine: Statemine,
2669
+ Turing: Turing
2670
+ };
2671
+
2672
+ const assetsMap = {
2673
+ __proto__: null,
2674
+ Acala: Acala,
2675
+ Astar: Astar,
2676
+ BifrostPolkadot: BifrostPolkadot,
2677
+ Bitgreen: Bitgreen,
2678
+ Centrifuge: Centrifuge,
2679
+ Clover: Clover,
2680
+ ComposableFinance: ComposableFinance,
2681
+ Darwinia: Darwinia,
2682
+ HydraDX: HydraDX,
2683
+ Interlay: Interlay,
2684
+ Kylin: Kylin,
2685
+ Litentry: Litentry,
2686
+ Moonbeam: Moonbeam,
2687
+ Parallel: Parallel,
2688
+ Statemint: Statemint,
2689
+ Altair: Altair,
2690
+ Amplitude: Amplitude,
2691
+ Bajun: Bajun,
2692
+ Basilisk: Basilisk,
2693
+ BifrostKusama: BifrostKusama,
2694
+ Calamari: Calamari,
2695
+ Crab: Crab,
2696
+ CrustShadow: CrustShadow,
2697
+ Dorafactory: Dorafactory,
2698
+ Encointer: Encointer,
2699
+ Imbue: Imbue,
2700
+ Integritee: Integritee,
2701
+ InvArchTinker: InvArchTinker,
2702
+ Kico: Kico,
2703
+ Karura: Karura,
2704
+ Kintsugi: Kintsugi,
2705
+ Listen: Listen,
2706
+ Litmus: Litmus,
2707
+ Mangata: Mangata,
2708
+ Moonriver: Moonriver,
2709
+ ParallelHeiko: ParallelHeiko,
2710
+ Picasso: Picasso,
2711
+ Pichiu: Pichiu,
2712
+ Pioneer: Pioneer,
2713
+ Quartz: Quartz,
2714
+ Robonomics: Robonomics,
2715
+ Shiden: Shiden,
2716
+ Statemine: Statemine,
2717
+ Turing: Turing,
2718
+ default: assets
2719
+ };
2720
+
2721
+ const assetsMapJson = assetsMap;
2722
+ function hasAssetsInfo(node) {
2723
+ return Object.prototype.hasOwnProperty.call(assetsMapJson, node);
2724
+ }
2725
+ function getAssetsInfo(node) {
2726
+ return assetsMapJson[node];
2727
+ }
2728
+ function getAssetsObject(node) {
2729
+ if (!hasAssetsInfo(node)) {
2730
+ return null;
2731
+ }
2732
+ return getAssetsInfo(node);
2733
+ }
2734
+ function getAssetId(node, symbol) {
2735
+ if (!hasAssetsInfo(node)) {
2736
+ return null;
2737
+ }
2738
+ return getAssetsInfo(node).otherAssets.find((o) => o.symbol === symbol)?.assetId ?? null;
2739
+ }
2740
+ function getRelayChainSymbol(node) {
2741
+ if (!hasAssetsInfo(node)) {
2742
+ return null;
2743
+ }
2744
+ return getAssetsInfo(node).relayChainAssetSymbol;
2745
+ }
2746
+ function getNativeAssets(node) {
2747
+ if (!hasAssetsInfo(node)) {
2748
+ return [];
2749
+ }
2750
+ return getAssetsInfo(node).nativeAssets ?? [];
2751
+ }
2752
+ function getOtherAssets(node) {
2753
+ if (!hasAssetsInfo(node)) {
2754
+ return [];
2755
+ }
2756
+ return getAssetsInfo(node).otherAssets;
2757
+ }
2758
+ function getAllAssetsSymbols(node) {
2759
+ if (!hasAssetsInfo(node)) {
2760
+ return [];
2761
+ }
2762
+ const { relayChainAssetSymbol, nativeAssets, otherAssets } = getAssetsInfo(node);
2763
+ return [relayChainAssetSymbol, ...nativeAssets, ...otherAssets.map(({ symbol }) => symbol)];
2764
+ }
2765
+ function hasSupportForAsset(node, symbol) {
2766
+ if (!hasAssetsInfo(node)) {
2767
+ return false;
2768
+ }
2769
+ return getAllAssetsSymbols(node).includes(symbol);
2770
+ }
2771
+
2772
+ const index$3 = {
2773
+ __proto__: null,
2774
+ getAssetsObject: getAssetsObject,
2775
+ getAssetId: getAssetId,
2776
+ getRelayChainSymbol: getRelayChainSymbol,
2777
+ getNativeAssets: getNativeAssets,
2778
+ getOtherAssets: getOtherAssets,
2779
+ getAllAssetsSymbols: getAllAssetsSymbols,
2780
+ hasSupportForAsset: hasSupportForAsset
2781
+ };
2782
+
2783
+ class InvalidCurrencyError extends Error {
2784
+ constructor(message) {
2785
+ super(message);
2786
+ this.name = "InvalidCurrencyError";
2787
+ }
2788
+ }
2789
+
2790
+ class NodeNotSupportedError extends Error {
2791
+ constructor(message) {
2792
+ super(message);
2793
+ this.name = "NodeNotSupported";
2794
+ }
2795
+ }
2796
+
2797
+ function send(api, origin, currency, currencyID, amount, to, destination) {
2798
+ if (!hasSupportForAsset(origin, currency)) {
2799
+ throw new InvalidCurrencyError(`Node ${origin} does not support currency ${currency}.`);
2800
+ }
2801
+ const type = destination ? "ParaToPara" : "ParaToRelay";
2802
+ const pallet = getAvailableXCMPallet(origin);
2803
+ if (pallet === "xTokens" || pallet === "ormlXTokens") {
2804
+ return constructXTokens(
2805
+ api,
2806
+ origin,
2807
+ currencyID,
2808
+ currency,
2809
+ amount,
2810
+ handleAddress(type, "xTokens", api, to, destination),
2811
+ getFees(type)
2812
+ );
2813
+ } else if (pallet === "polkadotXCM" || pallet === "relayerXcm") {
2814
+ if ((origin === "Statemint" || origin === "Statemine") && type === "ParaToPara") {
2815
+ return constructPolkadotXCM(
2816
+ api,
2817
+ origin,
2818
+ createHeaderPolkadotXCM(type, destination),
2819
+ handleAddress(type, "polkadotXCM", api, to, destination),
2820
+ createCurrencySpecification(amount, type, origin, currencyID),
2821
+ type
2822
+ );
2823
+ } else if ((origin === "Darwinia" || origin === "Crab") && type === "ParaToPara") {
2824
+ return constructPolkadotXCM(
2825
+ api,
2826
+ origin,
2827
+ createHeaderPolkadotXCM(type, destination),
2828
+ handleAddress(type, "polkadotXCM", api, to, destination),
2829
+ createCurrencySpecification(amount, type, origin),
2830
+ type
2831
+ );
2832
+ } else if (origin === "Quartz" && type === "ParaToPara") {
2833
+ return constructPolkadotXCM(
2834
+ api,
2835
+ origin,
2836
+ createHeaderPolkadotXCM(type, destination, origin),
2837
+ handleAddress(type, "polkadotXCM", api, to, destination, origin),
2838
+ createCurrencySpecification(amount, type, origin),
2839
+ type
2840
+ );
2841
+ }
2842
+ return constructPolkadotXCM(
2843
+ api,
2844
+ origin,
2845
+ createHeaderPolkadotXCM(type, destination),
2846
+ handleAddress(type, "polkadotXCM", api, to, destination),
2847
+ createCurrencySpecification(amount, type),
2848
+ type
194
2849
  );
195
2850
  }
2851
+ throw new Error(`Invalid pallet: ${pallet}`);
2852
+ }
2853
+ function transferRelayToPara(api, destination, amount, to) {
2854
+ if (destination === 1e3 || destination === 1001) {
2855
+ return api.tx.xcmPallet.limitedTeleportAssets(
2856
+ createHeaderPolkadotXCM("RelayToPara", destination),
2857
+ handleAddress("RelayToPara", "", api, to, destination),
2858
+ createCurrencySpecification(amount, "RelayToPara"),
2859
+ 0,
2860
+ "Unlimited"
2861
+ );
2862
+ } else if (destination === 2046 || destination === 2105 || destination === 2095) {
2863
+ throw new NodeNotSupportedError("These nodes do not support XCM transfers from Relay / to Relay chain.");
2864
+ }
2865
+ return api.tx.xcmPallet.reserveTransferAssets(
2866
+ createHeaderPolkadotXCM("RelayToPara", destination),
2867
+ handleAddress("RelayToPara", "", api, to, destination),
2868
+ createCurrencySpecification(amount, "RelayToPara"),
2869
+ 0
2870
+ );
196
2871
  }
197
2872
 
198
2873
  const index$2 = {
199
- __proto__: null,
200
- transferParaToPara: transferParaToPara,
201
- transferParaToRelay: transferParaToRelay,
202
- transferRelayToPara: transferRelayToPara,
203
- limitedTransferRelayToPara: limitedTransferRelayToPara
2874
+ __proto__: null,
2875
+ send: send,
2876
+ transferRelayToPara: transferRelayToPara
204
2877
  };
205
2878
 
206
2879
  function openChannel(api, origin, destination, maxSize, maxMessageSize) {
207
- return api.tx.sudo.sudo(api.tx.parasSudoWrapper.sudoEstablishHrmpChannel(origin, destination, maxSize, maxMessageSize));
2880
+ return api.tx.sudo.sudo(
2881
+ api.tx.parasSudoWrapper.sudoEstablishHrmpChannel(
2882
+ origin,
2883
+ destination,
2884
+ maxSize,
2885
+ maxMessageSize
2886
+ )
2887
+ );
208
2888
  }
209
2889
 
210
2890
  const index$1 = {
211
- __proto__: null,
212
- openChannel: openChannel
2891
+ __proto__: null,
2892
+ openChannel: openChannel
213
2893
  };
214
2894
 
215
2895
  function closeChannel(api, origin, inbound, outbound) {
@@ -217,8 +2897,8 @@ function closeChannel(api, origin, inbound, outbound) {
217
2897
  }
218
2898
 
219
2899
  const index = {
220
- __proto__: null,
221
- closeChannel: closeChannel
2900
+ __proto__: null,
2901
+ closeChannel: closeChannel
222
2902
  };
223
2903
 
224
- export { index as closeChannels, index$1 as openChannels, index$2 as xTokens };
2904
+ export { index$3 as assets, index as closeChannels, index$1 as openChannels, index$2 as xcmPallet };