@paraspell/sdk 0.0.11-alpha.0 → 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,18 +1,58 @@
1
+ import '@polkadot/api';
1
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
+ };
2
51
 
3
52
  function createAccID(api, account) {
4
53
  console.log("Generating AccountId32 address");
5
54
  return api.createType("AccountId32", account).toHex();
6
55
  }
7
- function selectLimit(limit, isLimited) {
8
- if (isLimited) {
9
- return {
10
- Limited: limit
11
- };
12
- } else {
13
- return "Unlimited";
14
- }
15
- }
16
56
  function getFees(scenario) {
17
57
  if (scenario === "ParaToRelay") {
18
58
  console.log("Asigning fees for transfer to Relay chain");
@@ -20,45 +60,27 @@ function getFees(scenario) {
20
60
  } else if (scenario === "ParaToPara") {
21
61
  console.log("Asigning fees for transfer to another Parachain chain");
22
62
  return 3996e8;
23
- } else {
24
- console.log("Asigning fees for transfer from Relay chain");
25
- return 0;
26
63
  }
64
+ throw new Error(`Fees for scenario ${scenario} are not defined.`);
27
65
  }
28
- function buildCall(scenario, api, to, nodeId) {
29
- if (scenario === "ParaToRelay") {
30
- if (ethers.utils.isAddress(to)) {
31
- console.log("AccountKey20 transfer");
32
- return {
33
- V1: {
34
- parents: 1,
35
- interior: {
36
- X1: {
37
- AccountKey20: {
38
- network: "any",
39
- key: to
40
- }
41
- }
42
- }
43
- }
44
- };
45
- } else {
46
- console.log("AccountId32 transfer");
47
- return {
48
- V1: {
49
- parents: 1,
50
- interior: {
51
- X1: {
52
- AccountId32: {
53
- network: "any",
54
- id: createAccID(api, to)
55
- }
66
+ function handleAddress(scenario, pallet, api, to, nodeId, node) {
67
+ if (scenario === "ParaToRelay" && pallet === "xTokens") {
68
+ console.log("AccountId32 transfer");
69
+ return {
70
+ V1: {
71
+ parents: 1,
72
+ interior: {
73
+ X1: {
74
+ AccountId32: {
75
+ network: "any",
76
+ id: createAccID(api, to)
56
77
  }
57
78
  }
58
79
  }
59
- };
60
- }
61
- } else if (scenario === "ParaToPara") {
80
+ }
81
+ };
82
+ }
83
+ if (scenario === "ParaToPara" && pallet === "xTokens") {
62
84
  if (ethers.utils.isAddress(to)) {
63
85
  console.log("AccountKey20 transfer");
64
86
  return {
@@ -101,6 +123,67 @@ function buildCall(scenario, api, to, nodeId) {
101
123
  };
102
124
  }
103
125
  }
126
+ if (scenario === "ParaToRelay" && pallet === "polkadotXCM") {
127
+ console.log("AccountId32 transfer");
128
+ return {
129
+ V1: {
130
+ parents: 0,
131
+ interior: {
132
+ X1: {
133
+ AccountId32: {
134
+ network: "any",
135
+ id: createAccID(api, to)
136
+ }
137
+ }
138
+ }
139
+ }
140
+ };
141
+ }
142
+ if (scenario === "ParaToPara" && pallet === "polkadotXCM") {
143
+ if (node === "Quartz") {
144
+ return {
145
+ V0: {
146
+ X1: {
147
+ AccountId32: {
148
+ network: "Any",
149
+ id: createAccID(api, to)
150
+ }
151
+ }
152
+ }
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
+ }
104
187
  if (scenario === "RelayToPara") {
105
188
  if (ethers.utils.isAddress(to)) {
106
189
  console.log("AccountKey20 transfer");
@@ -135,190 +218,2662 @@ function buildCall(scenario, api, to, nodeId) {
135
218
  }
136
219
  }
137
220
  }
138
- function selectPallet(api, origin, currencyID, currency, amount, call, fees) {
221
+ function createCurrencySpecification(amount, scenario, node, cur) {
222
+ if (scenario === "ParaToRelay") {
223
+ console.log("polkadotXCM transfer in native currency to Relay chain");
224
+ return {
225
+ V1: [
226
+ {
227
+ id: {
228
+ Concrete: {
229
+ parents: 1,
230
+ interior: "Here"
231
+ }
232
+ },
233
+ fun: {
234
+ Fungible: amount
235
+ }
236
+ }
237
+ ]
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
+ }
250
+ }
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
270
+ }
271
+ }
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 {
301
+ V1: [
302
+ {
303
+ id: {
304
+ Concrete: {
305
+ parents: 0,
306
+ interior: "Here"
307
+ }
308
+ },
309
+ fun: {
310
+ Fungible: amount
311
+ }
312
+ }
313
+ ]
314
+ };
315
+ }
316
+ }
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
346
+ }
347
+ }
348
+ }
349
+ };
350
+ }
351
+ if (scenario === "RelayToPara") {
352
+ return {
353
+ V1: {
354
+ parents: 0,
355
+ interior: {
356
+ X1: {
357
+ Parachain: nodeId
358
+ }
359
+ }
360
+ }
361
+ };
362
+ }
363
+ }
364
+ function getAvailableXCMPallet(origin) {
365
+ return nodeToPallet[origin];
366
+ }
367
+ function constructXTokens(api, origin, currencyID, currency, amount, addressSelection, fees) {
139
368
  switch (origin) {
140
369
  case "Acala":
141
370
  console.log("Transferring tokens " + currency + " from Acala");
142
- return api.tx.xTokens.transfer({ Token: currency }, amount, call, fees);
143
- case "Bifrost_Polkadot":
144
- console.log("Transferring " + currency + " tokens from Bifrost - Polkadot");
145
- return api.tx.xTokens.transfer({ Token: currency }, amount, call, fees);
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);
146
375
  case "Centrifuge":
147
376
  console.log("Transferring tokens from Centrifuge");
148
- return api.tx.xTokens.transfer("Native", amount, call, fees);
377
+ return api.tx.xTokens.transfer("Native", amount, addressSelection, fees);
149
378
  case "Clover":
150
379
  console.log("Transferring tokens from Clover");
151
- return api.tx.xTokens.transfer("SelfReserve", amount, call, fees);
380
+ return api.tx.xTokens.transfer("SelfReserve", amount, addressSelection, fees);
152
381
  case "HydraDX":
153
382
  console.log("Transferring " + currencyID + "tokens from HydraDX");
154
- return api.tx.xTokens.transfer(currencyID, amount, call, fees);
383
+ return api.tx.xTokens.transfer(currencyID, amount, addressSelection, fees);
155
384
  case "Interlay":
156
385
  console.log("Transferring " + currency + "tokens from Interlay");
157
- return api.tx.xTokens.transfer({ Token: currency }, amount, call, fees);
386
+ return api.tx.xTokens.transfer({ Token: currency }, amount, addressSelection, fees);
158
387
  case "Moonbeam":
159
388
  console.log("Transferring tokens from Moonbeam");
160
- return api.tx.xTokens.transfer("SelfReserve", amount, call, fees);
389
+ return api.tx.xTokens.transfer("SelfReserve", amount, addressSelection, fees);
161
390
  case "Parallel":
162
391
  console.log("Transferring " + currencyID + " tokens from Parallel");
163
- return api.tx.xTokens.transfer(currencyID, amount, call, fees);
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);
164
399
  case "Altair":
165
400
  console.log("Transferring tokens from Altair");
166
- return api.tx.xTokens.transfer("Native", amount, call, fees);
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);
167
408
  case "Basilisk":
168
- console.log("Transferring " + currencyID + " tokens from Basilisk");
169
- return api.tx.xTokens.transfer(currencyID, amount, call, fees);
170
- case "Bifrost_Kusama":
171
- console.log("Transferring " + currency + " tokens from Bifrost - Kusama");
172
- return api.tx.xTokens.transfer({ Token: currency }, amount, call, fees);
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);
173
414
  case "Pioneer":
174
415
  console.log("Transferring tokens from Pioneer");
175
- return api.tx.xTokens.transfer("NativeToken", amount, call, fees);
416
+ return api.tx.xTokens.transfer("NativeToken", amount, addressSelection, fees);
176
417
  case "Calamari":
177
- console.log("Transferring " + currencyID + " tokens from Calamari");
178
- return api.tx.xTokens.transfer({ MantaCurrency: currencyID }, amount, call, fees);
179
- case "Crust_Shadow":
180
- console.log("Transferring tokens from Crust Shadow");
181
- return api.tx.xTokens.transfer("SelfReserve", amount, call, fees);
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);
182
423
  case "Dorafactory":
183
424
  console.log("Transferring " + currency + " tokens from DoraFactory");
184
- return api.tx.xTokens.transfer(currency, amount, call, fees);
185
- case "imbue":
425
+ return api.tx.xTokens.transfer(currency, amount, addressSelection, fees);
426
+ case "Imbue":
186
427
  console.log("Transferring " + currency + " tokens from imbue");
187
- return api.tx.xTokens.transfer(currency, amount, call, fees);
428
+ return api.tx.xTokens.transfer(currency, amount, addressSelection, fees);
188
429
  case "Integritee":
189
430
  console.log("Transferring " + currency + " tokens from Integritee");
190
- return api.tx.xTokens.transfer(currency, amount, call, fees);
191
- case "InvArch_Tinker":
192
- console.log("Transferring " + currencyID + " tokens from InvArch Tinker");
193
- return api.tx.xTokens.transfer(currencyID, amount, call, fees);
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);
194
435
  case "Karura":
195
436
  console.log("Transferring " + currency + " tokens from Karura");
196
- return api.tx.xTokens.transfer({ Token: currency }, amount, call, fees);
197
- case "KICO":
198
- console.log("Transferring " + currencyID + " tokens from KICO");
199
- return api.tx.xTokens.transfer(currencyID, amount, call, fees);
200
- case "kintsugi":
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":
201
442
  console.log("Transferring " + currency + " tokens from kintsugi");
202
- return api.tx.xTokens.transfer({ Token: currency }, amount, call, fees);
443
+ return api.tx.xTokens.transfer({ Token: currency }, amount, addressSelection, fees);
203
444
  case "Listen":
204
- console.log("Transferring " + currencyID + " tokens from Listen");
205
- return api.tx.xTokens.transfer(currencyID, amount, call, fees);
445
+ console.log("Transferring " + currencyID + " token from Listen");
446
+ return api.tx.xTokens.transfer(currencyID, amount, addressSelection, fees);
206
447
  case "Litmus":
207
448
  console.log("Transferring tokens from Litmus");
208
- return api.tx.xTokens.transfer("SelfReserve", amount, call, fees);
449
+ return api.tx.xTokens.transfer("SelfReserve", amount, addressSelection, fees);
209
450
  case "Mangata":
210
- console.log("Transferring " + currencyID + " tokens from Mangata");
211
- return api.tx.xTokens.transfer(currencyID, amount, call, fees);
451
+ console.log("Transferring " + currencyID + " token from Mangata");
452
+ return api.tx.xTokens.transfer(currencyID, amount, addressSelection, fees);
212
453
  case "Moonriver":
213
454
  console.log("Transferring tokens from Moonriver");
214
- return api.tx.xTokens.transfer("SelfReserve", amount, call, fees);
215
- case "Parallel_Heiko":
216
- console.log("Transferring " + currencyID + " tokens from Parallel Heiko");
217
- return api.tx.xTokens.transfer(currencyID, amount, call, fees);
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);
218
459
  case "Picasso":
219
- console.log("Transferring " + currencyID + " tokens from Picasso");
220
- return api.tx.xTokens.transfer(currencyID, amount, call, fees);
460
+ console.log("Transferring " + currencyID + " token from Picasso");
461
+ return api.tx.xTokens.transfer(currencyID, amount, addressSelection, fees);
221
462
  case "Pichiu":
222
463
  console.log("Transferring " + currency + " tokens from Pichiu");
223
- return api.tx.ormlXTokens.transfer(currency, amount, call, fees);
464
+ return api.tx.ormlXTokens.transfer(currency, amount, addressSelection, fees);
224
465
  case "Turing":
225
- console.log("Transferring " + currencyID + " tokens from Turing");
226
- return api.tx.xTokens.transfer(currencyID, amount, call, fees);
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}`);
227
470
  }
228
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
+ }
229
546
 
230
- function transferParaToRelay(api, origin, currency, currencyID, amount, to) {
231
- return selectPallet(
232
- api,
233
- origin,
234
- currencyID,
235
- currency,
236
- amount,
237
- buildCall("ParaToRelay", api, to, 0),
238
- getFees("ParaToRelay")
239
- );
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);
240
2724
  }
241
- function transferRelayToPara(api, destination, amount, to) {
242
- return api.tx.xcmPallet.reserveTransferAssets(
243
- {
244
- V1: {
245
- parents: 0,
246
- interior: {
247
- X1: {
248
- Parachain: destination
249
- }
250
- }
251
- }
252
- },
253
- buildCall("RelayToPara", api, to, destination),
254
- {
255
- V1: [
256
- {
257
- id: {
258
- Concrete: {
259
- parents: 0,
260
- interior: "Here"
261
- }
262
- },
263
- fun: {
264
- Fungible: amount
265
- }
266
- }
267
- ]
268
- },
269
- getFees("RelayToPara")
270
- );
2725
+ function getAssetsInfo(node) {
2726
+ return assetsMapJson[node];
271
2727
  }
272
- function limitedTransferRelayToPara(api, destination, amount, to, limit, isLimited) {
273
- return api.tx.xcmPallet.limitedReserveTransferAssets(
274
- {
275
- V1: {
276
- parents: 0,
277
- interior: {
278
- X1: {
279
- Parachain: destination
280
- }
281
- }
282
- }
283
- },
284
- buildCall("RelayToPara", api, to, destination),
285
- {
286
- V1: [
287
- {
288
- id: {
289
- Concrete: {
290
- parents: 0,
291
- interior: "Here"
292
- }
293
- },
294
- fun: {
295
- Fungible: amount
296
- }
297
- }
298
- ]
299
- },
300
- getFees("RelayToPara"),
301
- selectLimit(limit, isLimited)
302
- );
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);
303
2770
  }
304
- function transferParaToPara(api, origin, destination, currency, currencyID, amount, to) {
305
- return selectPallet(
306
- api,
307
- origin,
308
- currencyID,
309
- currency,
310
- amount,
311
- buildCall("ParaToPara", api, to, destination),
312
- getFees("ParaToPara")
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
2849
+ );
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
313
2870
  );
314
2871
  }
315
2872
 
316
2873
  const index$2 = {
317
2874
  __proto__: null,
318
- transferParaToRelay: transferParaToRelay,
319
- transferRelayToPara: transferRelayToPara,
320
- limitedTransferRelayToPara: limitedTransferRelayToPara,
321
- transferParaToPara: transferParaToPara
2875
+ send: send,
2876
+ transferRelayToPara: transferRelayToPara
322
2877
  };
323
2878
 
324
2879
  function openChannel(api, origin, destination, maxSize, maxMessageSize) {
@@ -346,4 +2901,4 @@ const index = {
346
2901
  closeChannel: closeChannel
347
2902
  };
348
2903
 
349
- 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 };