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