@paraspell/sdk-core 11.2.3 → 11.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -5,7 +5,7 @@ import { base58 } from '@scure/base';
5
5
  import { isAddress, parseUnits, createPublicClient, http, getContract, pad, toHex, getAddress, concat, keccak256 } from 'viem';
6
6
  import { getSupportedPalletsDetails, getDefaultPallet, getNativeAssetsPallet, getOtherAssetsPallets, getSupportedPallets } from '@paraspell/pallets';
7
7
  export * from '@paraspell/pallets';
8
- import { replaceBigInt, isTLocation, Version, hasJunction, getJunctionValue, isRelayChain, Parents, PARACHAINS, deepEqual, isSystemChain, isDotKsmBridge } from '@paraspell/sdk-common';
8
+ import { replaceBigInt, isTLocation, Version, hasJunction, getJunctionValue, isRelayChain, Parents, PARACHAINS, deepEqual, isTrustedChain, isDotKsmBridge } from '@paraspell/sdk-common';
9
9
  export * from '@paraspell/sdk-common';
10
10
  import { moonbeam, moonriver, mainnet } from 'viem/chains';
11
11
 
@@ -849,10 +849,6 @@ var AssetHubPolkadot$1 = {
849
849
  info: "PolkadotAssetHub",
850
850
  paraId: 1000,
851
851
  providers: [
852
- {
853
- name: "Blockops",
854
- endpoint: "wss://polkadot-assethub-rpc.blockops.network/ws"
855
- },
856
852
  {
857
853
  name: "Dwellir",
858
854
  endpoint: "wss://asset-hub-polkadot-rpc.n.dwellir.com"
@@ -1042,49 +1038,6 @@ var BridgeHubPolkadot$1 = {
1042
1038
  }
1043
1039
  ]
1044
1040
  };
1045
- var BridgeHubKusama$1 = {
1046
- name: "BridgeHub",
1047
- info: "kusamaBridgeHub",
1048
- paraId: 1002,
1049
- providers: [
1050
- {
1051
- name: "Dwellir",
1052
- endpoint: "wss://bridge-hub-kusama-rpc.n.dwellir.com"
1053
- },
1054
- {
1055
- name: "Dwellir Tunisia",
1056
- endpoint: "wss://kusama-bridge-hub-rpc-tn.dwellir.com"
1057
- },
1058
- {
1059
- name: "IBP1",
1060
- endpoint: "wss://sys.ibp.network/bridgehub-kusama"
1061
- },
1062
- {
1063
- name: "IBP2",
1064
- endpoint: "wss://bridge-hub-kusama.dotters.network"
1065
- },
1066
- {
1067
- name: "LuckyFriday",
1068
- endpoint: "wss://rpc-bridge-hub-kusama.luckyfriday.io"
1069
- },
1070
- {
1071
- name: "OnFinality",
1072
- endpoint: "wss://bridgehub-kusama.api.onfinality.io/public-ws"
1073
- },
1074
- {
1075
- name: "Parity",
1076
- endpoint: "wss://kusama-bridge-hub-rpc.polkadot.io"
1077
- },
1078
- {
1079
- name: "RadiumBlock",
1080
- endpoint: "wss://bridgehub-kusama.public.curie.radiumblock.co/ws"
1081
- },
1082
- {
1083
- name: "Stakeworld",
1084
- endpoint: "wss://ksm-rpc.stakeworld.io/bridgehub"
1085
- }
1086
- ]
1087
- };
1088
1041
  var Centrifuge$1 = {
1089
1042
  name: "Centrifuge",
1090
1043
  info: "centrifuge",
@@ -1175,32 +1128,6 @@ var Hydration$1 = {
1175
1128
  }
1176
1129
  ]
1177
1130
  };
1178
- var IntegriteeKusama$1 = {
1179
- name: "Integritee Network",
1180
- info: "integritee",
1181
- paraId: 2015,
1182
- providers: [
1183
- {
1184
- name: "Integritee",
1185
- endpoint: "wss://kusama.api.integritee.network"
1186
- },
1187
- {
1188
- name: "OnFinality",
1189
- endpoint: "wss://integritee-kusama.api.onfinality.io/public-ws"
1190
- }
1191
- ]
1192
- };
1193
- var IntegriteePaseo$1 = {
1194
- name: "Integritee Network (Paseo)",
1195
- info: "integritee",
1196
- paraId: 2039,
1197
- providers: [
1198
- {
1199
- name: "Integritee",
1200
- endpoint: "wss://paseo.api.integritee.network"
1201
- }
1202
- ]
1203
- };
1204
1131
  var Interlay$1 = {
1205
1132
  name: "Interlay",
1206
1133
  info: "interlay",
@@ -1285,347 +1212,277 @@ var Moonbeam$1 = {
1285
1212
  }
1286
1213
  ]
1287
1214
  };
1288
- var AssetHubKusama$1 = {
1289
- name: "AssetHub",
1290
- info: "KusamaAssetHub",
1291
- paraId: 1000,
1215
+ var CoretimePolkadot$1 = {
1216
+ name: "Coretime",
1217
+ info: "polkadotCoretime",
1218
+ paraId: 1005,
1292
1219
  providers: [
1293
1220
  {
1294
1221
  name: "Dwellir",
1295
- endpoint: "wss://asset-hub-kusama-rpc.n.dwellir.com"
1296
- },
1297
- {
1298
- name: "Dwellir Tunisia",
1299
- endpoint: "wss://statemine-rpc-tn.dwellir.com"
1222
+ endpoint: "wss://coretime-polkadot-rpc.n.dwellir.com"
1300
1223
  },
1301
1224
  {
1302
1225
  name: "IBP1",
1303
- endpoint: "wss://sys.ibp.network/asset-hub-kusama"
1226
+ endpoint: "wss://sys.ibp.network/coretime-polkadot"
1304
1227
  },
1305
1228
  {
1306
1229
  name: "IBP2",
1307
- endpoint: "wss://asset-hub-kusama.dotters.network"
1230
+ endpoint: "wss://coretime-polkadot.dotters.network"
1308
1231
  },
1309
1232
  {
1310
1233
  name: "LuckyFriday",
1311
- endpoint: "wss://rpc-asset-hub-kusama.luckyfriday.io"
1234
+ endpoint: "wss://rpc-coretime-polkadot.luckyfriday.io"
1312
1235
  },
1313
1236
  {
1314
1237
  name: "OnFinality",
1315
- endpoint: "wss://assethub-kusama.api.onfinality.io/public-ws"
1238
+ endpoint: "wss://coretime-polkadot.api.onfinality.io/public-ws"
1316
1239
  },
1317
1240
  {
1318
1241
  name: "Parity",
1319
- endpoint: "wss://kusama-asset-hub-rpc.polkadot.io"
1320
- },
1321
- {
1322
- name: "RadiumBlock",
1323
- endpoint: "wss://statemine.public.curie.radiumblock.co/ws"
1242
+ endpoint: "wss://polkadot-coretime-rpc.polkadot.io"
1324
1243
  },
1325
1244
  {
1326
1245
  name: "Stakeworld",
1327
- endpoint: "wss://ksm-rpc.stakeworld.io/assethub"
1246
+ endpoint: "wss://dot-rpc.stakeworld.io/coretime"
1328
1247
  }
1329
1248
  ]
1330
1249
  };
1331
- var CoretimeKusama$1 = {
1332
- name: "Coretime",
1333
- info: "kusamaCoretime",
1334
- paraId: 1005,
1250
+ var Collectives$1 = {
1251
+ name: "Collectives",
1252
+ info: "polkadotCollectives",
1253
+ paraId: 1001,
1335
1254
  providers: [
1336
1255
  {
1337
1256
  name: "Dwellir",
1338
- endpoint: "wss://coretime-kusama-rpc.n.dwellir.com"
1257
+ endpoint: "wss://collectives-polkadot-rpc.n.dwellir.com"
1258
+ },
1259
+ {
1260
+ name: "Dwellir Tunisia",
1261
+ endpoint: "wss://polkadot-collectives-rpc-tn.dwellir.com"
1339
1262
  },
1340
1263
  {
1341
1264
  name: "IBP1",
1342
- endpoint: "wss://sys.ibp.network/coretime-kusama"
1265
+ endpoint: "wss://sys.ibp.network/collectives-polkadot"
1343
1266
  },
1344
1267
  {
1345
1268
  name: "IBP2",
1346
- endpoint: "wss://coretime-kusama.dotters.network"
1269
+ endpoint: "wss://collectives-polkadot.dotters.network"
1347
1270
  },
1348
1271
  {
1349
1272
  name: "LuckyFriday",
1350
- endpoint: "wss://rpc-coretime-kusama.luckyfriday.io"
1273
+ endpoint: "wss://rpc-collectives-polkadot.luckyfriday.io"
1351
1274
  },
1352
1275
  {
1353
1276
  name: "OnFinality",
1354
- endpoint: "wss://coretime-kusama.api.onfinality.io/public-ws"
1277
+ endpoint: "wss://collectives.api.onfinality.io/public-ws"
1355
1278
  },
1356
1279
  {
1357
1280
  name: "Parity",
1358
- endpoint: "wss://kusama-coretime-rpc.polkadot.io"
1281
+ endpoint: "wss://polkadot-collectives-rpc.polkadot.io"
1282
+ },
1283
+ {
1284
+ name: "RadiumBlock",
1285
+ endpoint: "wss://collectives.public.curie.radiumblock.co/ws"
1359
1286
  },
1360
1287
  {
1361
1288
  name: "Stakeworld",
1362
- endpoint: "wss://ksm-rpc.stakeworld.io/coretime"
1289
+ endpoint: "wss://dot-rpc.stakeworld.io/collectives"
1363
1290
  }
1364
1291
  ]
1365
1292
  };
1366
- var CoretimePolkadot$1 = {
1367
- name: "Coretime",
1368
- info: "polkadotCoretime",
1369
- paraId: 1005,
1293
+ var Crust$1 = {
1294
+ name: "Crust",
1295
+ info: "crustParachain",
1296
+ paraId: 2008,
1370
1297
  providers: [
1371
1298
  {
1372
- name: "Dwellir",
1373
- endpoint: "wss://coretime-polkadot-rpc.n.dwellir.com"
1374
- },
1375
- {
1376
- name: "IBP1",
1377
- endpoint: "wss://sys.ibp.network/coretime-polkadot"
1378
- },
1379
- {
1380
- name: "IBP2",
1381
- endpoint: "wss://coretime-polkadot.dotters.network"
1299
+ name: "Crust",
1300
+ endpoint: "wss://crust-parachain.crustapps.net"
1382
1301
  },
1383
1302
  {
1384
- name: "LuckyFriday",
1385
- endpoint: "wss://rpc-coretime-polkadot.luckyfriday.io"
1303
+ name: "Crust APP",
1304
+ endpoint: "wss://crust-parachain.crustnetwork.app"
1386
1305
  },
1387
1306
  {
1388
- name: "OnFinality",
1389
- endpoint: "wss://coretime-polkadot.api.onfinality.io/public-ws"
1307
+ name: "Crust CC",
1308
+ endpoint: "wss://crust-parachain.crustnetwork.cc"
1390
1309
  },
1391
1310
  {
1392
- name: "Parity",
1393
- endpoint: "wss://polkadot-coretime-rpc.polkadot.io"
1394
- },
1311
+ name: "Crust XYZ",
1312
+ endpoint: "wss://crust-parachain.crustnetwork.xyz"
1313
+ }
1314
+ ]
1315
+ };
1316
+ var Manta$1 = {
1317
+ name: "Manta",
1318
+ info: "manta",
1319
+ paraId: 2104,
1320
+ providers: [
1395
1321
  {
1396
- name: "Stakeworld",
1397
- endpoint: "wss://dot-rpc.stakeworld.io/coretime"
1322
+ name: "Manta Network",
1323
+ endpoint: "wss://ws.manta.systems"
1398
1324
  }
1399
1325
  ]
1400
1326
  };
1401
- var Encointer$1 = {
1402
- name: "Encointer Network",
1403
- info: "encointer",
1404
- paraId: 1001,
1327
+ var Nodle$1 = {
1328
+ name: "Nodle",
1329
+ info: "nodle",
1330
+ paraId: 2026,
1405
1331
  providers: [
1406
1332
  {
1407
1333
  name: "Dwellir",
1408
- endpoint: "wss://encointer-kusama-rpc.n.dwellir.com"
1409
- },
1410
- {
1411
- name: "Encointer Association",
1412
- endpoint: "wss://kusama.api.encointer.org"
1413
- },
1414
- {
1415
- name: "IBP1",
1416
- endpoint: "wss://sys.ibp.network/encointer-kusama"
1417
- },
1418
- {
1419
- name: "IBP2",
1420
- endpoint: "wss://encointer-kusama.dotters.network"
1334
+ endpoint: "wss://nodle-rpc.dwellir.com"
1421
1335
  },
1422
1336
  {
1423
- name: "LuckyFriday",
1424
- endpoint: "wss://rpc-encointer-kusama.luckyfriday.io"
1337
+ name: "OnFinality",
1338
+ endpoint: "wss://nodle-parachain.api.onfinality.io/public-ws"
1425
1339
  }
1426
1340
  ]
1427
1341
  };
1428
- var Altair$1 = {
1429
- name: "Altair",
1430
- info: "altair",
1431
- paraId: 2088,
1342
+ var NeuroWeb$1 = {
1343
+ name: "NeuroWeb",
1344
+ info: "neuroweb",
1345
+ paraId: 2043,
1432
1346
  providers: [
1433
1347
  {
1434
- name: "OnFinality",
1435
- endpoint: "wss://altair.api.onfinality.io/public-ws"
1348
+ name: "TraceLabs",
1349
+ endpoint: "wss://parachain-rpc.origin-trail.network"
1436
1350
  }
1437
1351
  ]
1438
1352
  };
1439
- var Amplitude$1 = {
1440
- name: "Amplitude",
1441
- info: "amplitude",
1442
- paraId: 2124,
1353
+ var Pendulum$1 = {
1354
+ name: "Pendulum",
1355
+ info: "pendulum",
1356
+ paraId: 2094,
1443
1357
  providers: [
1444
1358
  {
1445
1359
  name: "PendulumChain",
1446
- endpoint: "wss://rpc-amplitude.pendulumchain.tech"
1360
+ endpoint: "wss://rpc-pendulum.prd.pendulumchain.tech"
1447
1361
  }
1448
1362
  ]
1449
1363
  };
1450
- var Basilisk$1 = {
1451
- name: "Basilisk",
1452
- info: "basilisk",
1453
- paraId: 2090,
1364
+ var Phala$1 = {
1365
+ name: "Phala Network",
1366
+ info: "phala",
1367
+ paraId: 2035,
1454
1368
  providers: [
1455
1369
  {
1456
- name: "Basilisk",
1457
- endpoint: "wss://rpc.basilisk.cloud"
1370
+ name: "Dwellir",
1371
+ endpoint: "wss://phala-rpc.n.dwellir.com"
1458
1372
  },
1459
1373
  {
1460
- name: "Dwellir",
1461
- endpoint: "wss://basilisk-rpc.n.dwellir.com"
1462
- }
1463
- ]
1464
- };
1465
- var BifrostKusama$1 = {
1466
- name: "Bifrost",
1467
- info: "bifrost",
1468
- paraId: 2001,
1469
- providers: [
1374
+ name: "Helikon",
1375
+ endpoint: "wss://rpc.helikon.io/phala"
1376
+ },
1470
1377
  {
1471
- name: "Liebi",
1472
- endpoint: "wss://bifrost-rpc.liebi.com/ws"
1378
+ name: "OnFinality",
1379
+ endpoint: "wss://phala.api.onfinality.io/public-ws"
1473
1380
  },
1474
1381
  {
1475
- name: "LiebiUS",
1476
- endpoint: "wss://us.bifrost-rpc.liebi.com/ws"
1477
- }
1478
- ]
1479
- };
1480
- var CrustShadow$1 = {
1481
- name: "Crust Shadow",
1482
- info: "shadow",
1483
- paraId: 2012,
1484
- providers: [
1485
- {
1486
- name: "Crust",
1487
- endpoint: "wss://rpc-shadow.crust.network/"
1488
- },
1489
- {
1490
- name: "Crust APP",
1491
- endpoint: "wss://rpc-shadow.crustnetwork.app"
1492
- },
1493
- {
1494
- name: "Crust CC",
1495
- endpoint: "wss://rpc-shadow.crustnetwork.cc"
1496
- },
1497
- {
1498
- name: "Crust XYZ",
1499
- endpoint: "wss://rpc-shadow.crustnetwork.xyz"
1382
+ name: "RadiumBlock",
1383
+ endpoint: "wss://phala.public.curie.radiumblock.co/ws"
1500
1384
  }
1501
1385
  ]
1502
1386
  };
1503
- var Crab$1 = {
1504
- name: "Crab",
1505
- info: "crab",
1506
- paraId: 2105,
1387
+ var Subsocial$1 = {
1388
+ name: "Subsocial",
1389
+ info: "subsocial",
1390
+ paraId: 2101,
1507
1391
  providers: [
1508
1392
  {
1509
- name: "Darwinia",
1510
- endpoint: "wss://crab-rpc.darwinia.network/"
1511
- },
1512
- {
1513
- name: "Dwellir",
1514
- endpoint: "wss://darwiniacrab-rpc.n.dwellir.com"
1393
+ name: "Dappforce",
1394
+ endpoint: "wss://para.subsocial.network"
1515
1395
  }
1516
1396
  ]
1517
1397
  };
1518
- var Karura$1 = {
1519
- name: "Karura",
1520
- info: "karura",
1521
- paraId: 2000,
1398
+ var KiltSpiritnet$1 = {
1399
+ name: "KILT Spiritnet",
1400
+ info: "kilt",
1401
+ paraId: 2086,
1522
1402
  providers: [
1523
1403
  {
1524
- name: "Acala Foundation 0",
1525
- endpoint: "wss://karura-rpc-0.aca-api.network"
1526
- },
1527
- {
1528
- name: "Acala Foundation 1",
1529
- endpoint: "wss://karura-rpc-1.aca-api.network"
1530
- },
1531
- {
1532
- name: "Acala Foundation 2",
1533
- endpoint: "wss://karura-rpc-2.aca-api.network/ws"
1404
+ name: "IBP1",
1405
+ endpoint: "wss://kilt.ibp.network"
1534
1406
  },
1535
1407
  {
1536
- name: "Acala Foundation 3",
1537
- endpoint: "wss://karura-rpc-3.aca-api.network/ws"
1408
+ name: "IBP2",
1409
+ endpoint: "wss://kilt.dotters.network"
1538
1410
  },
1539
1411
  {
1540
- name: "Dwellir",
1541
- endpoint: "wss://karura-rpc.n.dwellir.com"
1412
+ name: "KILT Foundation",
1413
+ endpoint: "wss://spiritnet.kilt.io/"
1542
1414
  }
1543
1415
  ]
1544
1416
  };
1545
- var Kintsugi$1 = {
1546
- name: "Kintsugi BTC",
1547
- info: "kintsugi",
1548
- paraId: 2092,
1417
+ var Curio$1 = {
1418
+ name: "Curio",
1419
+ info: "curio",
1420
+ paraId: 3339,
1549
1421
  providers: [
1550
1422
  {
1551
- name: "Kintsugi Labs",
1552
- endpoint: "wss://api-kusama.interlay.io/parachain"
1553
- },
1554
- {
1555
- name: "OnFinality",
1556
- endpoint: "wss://kintsugi.api.onfinality.io/public-ws"
1423
+ name: "Curio",
1424
+ endpoint: "wss://parachain.curioinvest.com/"
1557
1425
  }
1558
1426
  ]
1559
1427
  };
1560
- var Moonriver$1 = {
1561
- name: "Moonriver",
1562
- info: "moonriver",
1563
- paraId: 2023,
1428
+ var Mythos$1 = {
1429
+ name: "Mythos",
1430
+ info: "mythos",
1431
+ paraId: 3369,
1564
1432
  providers: [
1565
1433
  {
1566
- name: "Allnodes",
1567
- endpoint: "wss://moonriver-rpc.publicnode.com"
1568
- },
1569
- {
1570
- name: "Dwellir",
1571
- endpoint: "wss://moonriver-rpc.n.dwellir.com"
1572
- },
1573
- {
1574
- name: "Moonbeam Foundation",
1575
- endpoint: "wss://wss.api.moonriver.moonbeam.network"
1434
+ name: "Helikon",
1435
+ endpoint: "wss://rpc.helikon.io/mythos"
1576
1436
  },
1577
1437
  {
1578
- name: "OnFinality",
1579
- endpoint: "wss://moonriver.api.onfinality.io/public-ws"
1438
+ name: "IBP1",
1439
+ endpoint: "wss://mythos.ibp.network"
1580
1440
  },
1581
1441
  {
1582
- name: "RadiumBlock",
1583
- endpoint: "wss://moonriver.public.curie.radiumblock.co/ws"
1442
+ name: "IBP2",
1443
+ endpoint: "wss://mythos.dotters.network"
1584
1444
  },
1585
1445
  {
1586
- name: "UnitedBloc",
1587
- endpoint: "wss://moonriver.unitedbloc.com"
1446
+ name: "parity",
1447
+ endpoint: "wss://polkadot-mythos-rpc.polkadot.io"
1588
1448
  }
1589
1449
  ]
1590
1450
  };
1591
- var Laos$1 = {
1592
- name: "Laos",
1593
- info: "laos",
1594
- paraId: 3370,
1451
+ var Peaq$1 = {
1452
+ name: "peaq",
1453
+ info: "peaq",
1454
+ paraId: 3338,
1595
1455
  providers: [
1596
1456
  {
1597
- name: "laosfoundation.io",
1598
- endpoint: "wss://rpc.laos.laosfoundation.io"
1457
+ name: "OnFinality",
1458
+ endpoint: "wss://peaq.api.onfinality.io/public-ws"
1599
1459
  }
1600
1460
  ]
1601
1461
  };
1602
- var Quartz$1 = {
1603
- name: "QUARTZ by UNIQUE",
1604
- info: "quartz",
1605
- paraId: 2095,
1462
+ var Polimec$1 = {
1463
+ name: "Polimec",
1464
+ info: "polimec",
1465
+ paraId: 3344,
1606
1466
  providers: [
1607
1467
  {
1608
- name: "Geo Load Balancer",
1609
- endpoint: "wss://ws-quartz.unique.network"
1468
+ name: "Amforc",
1469
+ endpoint: "wss://polimec.rpc.amforc.com"
1610
1470
  },
1611
1471
  {
1612
- name: "Unique Asia",
1613
- endpoint: "wss://asia-ws-quartz.unique.network"
1472
+ name: "Helikon",
1473
+ endpoint: "wss://rpc.helikon.io/polimec"
1614
1474
  },
1615
1475
  {
1616
- name: "Unique Europe",
1617
- endpoint: "wss://eu-ws-quartz.unique.network"
1618
- }
1619
- ]
1620
- };
1621
- var RobonomicsKusama$1 = {
1622
- name: "Robonomics",
1623
- info: "robonomics",
1624
- paraId: 2048,
1625
- providers: [
1476
+ name: "IBP1",
1477
+ endpoint: "wss://polimec.ibp.network"
1478
+ },
1626
1479
  {
1627
- name: "Airalab",
1628
- endpoint: "wss://kusama.rpc.robonomics.network/"
1480
+ name: "IBP2",
1481
+ endpoint: "wss://polimec.dotters.network"
1482
+ },
1483
+ {
1484
+ name: "Polimec Foundation",
1485
+ endpoint: "wss://rpc.polimec.org"
1629
1486
  }
1630
1487
  ]
1631
1488
  };
@@ -1669,356 +1526,480 @@ var PeoplePolkadot$1 = {
1669
1526
  name: "Parity",
1670
1527
  endpoint: "wss://polkadot-people-rpc.polkadot.io"
1671
1528
  },
1672
- {
1673
- name: "RadiumBlock",
1674
- endpoint: "wss://people-polkadot.public.curie.radiumblock.co/ws"
1675
- },
1676
1529
  {
1677
1530
  name: "Stakeworld",
1678
1531
  endpoint: "wss://dot-rpc.stakeworld.io/people"
1679
1532
  }
1680
1533
  ]
1681
1534
  };
1682
- var PeopleKusama$1 = {
1683
- name: "People",
1684
- info: "kusamaPeople",
1685
- paraId: 1004,
1535
+ var Unique$1 = {
1536
+ name: "Unique Network",
1537
+ info: "unique",
1538
+ paraId: 2037,
1539
+ providers: [
1540
+ {
1541
+ name: "Geo Load Balancer",
1542
+ endpoint: "wss://ws.unique.network"
1543
+ },
1544
+ {
1545
+ name: "IBP1",
1546
+ endpoint: "wss://unique.ibp.network"
1547
+ },
1548
+ {
1549
+ name: "IBP2",
1550
+ endpoint: "wss://unique.dotters.network"
1551
+ },
1552
+ {
1553
+ name: "Unique America",
1554
+ endpoint: "wss://us-ws.unique.network"
1555
+ },
1556
+ {
1557
+ name: "Unique Asia",
1558
+ endpoint: "wss://asia-ws.unique.network"
1559
+ },
1560
+ {
1561
+ name: "Unique Europe",
1562
+ endpoint: "wss://eu-ws.unique.network"
1563
+ }
1564
+ ]
1565
+ };
1566
+ var AssetHubKusama$1 = {
1567
+ name: "AssetHub",
1568
+ info: "KusamaAssetHub",
1569
+ paraId: 1000,
1686
1570
  providers: [
1687
1571
  {
1688
1572
  name: "Dwellir",
1689
- endpoint: "wss://people-kusama-rpc.n.dwellir.com"
1573
+ endpoint: "wss://asset-hub-kusama-rpc.n.dwellir.com"
1690
1574
  },
1691
1575
  {
1692
- name: "Helixstreet",
1693
- endpoint: "wss://rpc-people-kusama.helixstreet.io"
1576
+ name: "Dwellir Tunisia",
1577
+ endpoint: "wss://statemine-rpc-tn.dwellir.com"
1694
1578
  },
1695
1579
  {
1696
1580
  name: "IBP1",
1697
- endpoint: "wss://sys.ibp.network/people-kusama"
1581
+ endpoint: "wss://sys.ibp.network/asset-hub-kusama"
1698
1582
  },
1699
1583
  {
1700
1584
  name: "IBP2",
1701
- endpoint: "wss://people-kusama.dotters.network"
1585
+ endpoint: "wss://asset-hub-kusama.dotters.network"
1702
1586
  },
1703
1587
  {
1704
1588
  name: "LuckyFriday",
1705
- endpoint: "wss://rpc-people-kusama.luckyfriday.io"
1589
+ endpoint: "wss://rpc-asset-hub-kusama.luckyfriday.io"
1706
1590
  },
1707
1591
  {
1708
1592
  name: "OnFinality",
1709
- endpoint: "wss://people-kusama.api.onfinality.io/public-ws"
1593
+ endpoint: "wss://assethub-kusama.api.onfinality.io/public-ws"
1710
1594
  },
1711
1595
  {
1712
1596
  name: "Parity",
1713
- endpoint: "wss://kusama-people-rpc.polkadot.io"
1597
+ endpoint: "wss://kusama-asset-hub-rpc.polkadot.io"
1598
+ },
1599
+ {
1600
+ name: "RadiumBlock",
1601
+ endpoint: "wss://statemine.public.curie.radiumblock.co/ws"
1714
1602
  },
1715
1603
  {
1716
1604
  name: "Stakeworld",
1717
- endpoint: "wss://ksm-rpc.stakeworld.io/people"
1605
+ endpoint: "wss://ksm-rpc.stakeworld.io/assethub"
1718
1606
  }
1719
1607
  ]
1720
1608
  };
1721
- var Shiden$1 = {
1722
- name: "Shiden",
1723
- info: "shiden",
1724
- paraId: 2007,
1609
+ var BridgeHubKusama$1 = {
1610
+ name: "BridgeHub",
1611
+ info: "kusamaBridgeHub",
1612
+ paraId: 1002,
1725
1613
  providers: [
1726
1614
  {
1727
- name: "Astar",
1728
- endpoint: "wss://rpc.shiden.astar.network"
1615
+ name: "Dwellir",
1616
+ endpoint: "wss://bridge-hub-kusama-rpc.n.dwellir.com"
1729
1617
  },
1730
1618
  {
1731
- name: "Dwellir",
1732
- endpoint: "wss://shiden-rpc.n.dwellir.com"
1619
+ name: "Dwellir Tunisia",
1620
+ endpoint: "wss://kusama-bridge-hub-rpc-tn.dwellir.com"
1733
1621
  },
1734
1622
  {
1735
- name: "OnFinality",
1736
- endpoint: "wss://shiden.api.onfinality.io/public-ws"
1623
+ name: "IBP1",
1624
+ endpoint: "wss://sys.ibp.network/bridgehub-kusama"
1737
1625
  },
1738
1626
  {
1739
- name: "RadiumBlock",
1740
- endpoint: "wss://shiden.public.curie.radiumblock.co/ws"
1741
- }
1742
- ]
1743
- };
1744
- var Unique$1 = {
1745
- name: "Unique Network",
1746
- info: "unique",
1747
- paraId: 2037,
1748
- providers: [
1627
+ name: "IBP2",
1628
+ endpoint: "wss://bridge-hub-kusama.dotters.network"
1629
+ },
1749
1630
  {
1750
- name: "Geo Load Balancer",
1751
- endpoint: "wss://ws.unique.network"
1631
+ name: "LuckyFriday",
1632
+ endpoint: "wss://rpc-bridge-hub-kusama.luckyfriday.io"
1752
1633
  },
1753
1634
  {
1754
- name: "IBP1",
1755
- endpoint: "wss://unique.ibp.network"
1635
+ name: "OnFinality",
1636
+ endpoint: "wss://bridgehub-kusama.api.onfinality.io/public-ws"
1756
1637
  },
1757
1638
  {
1758
- name: "IBP2",
1759
- endpoint: "wss://unique.dotters.network"
1639
+ name: "Parity",
1640
+ endpoint: "wss://kusama-bridge-hub-rpc.polkadot.io"
1760
1641
  },
1761
1642
  {
1762
- name: "Unique America",
1763
- endpoint: "wss://us-ws.unique.network"
1643
+ name: "RadiumBlock",
1644
+ endpoint: "wss://bridgehub-kusama.public.curie.radiumblock.co/ws"
1764
1645
  },
1765
1646
  {
1766
- name: "Unique Asia",
1767
- endpoint: "wss://asia-ws.unique.network"
1647
+ name: "Stakeworld",
1648
+ endpoint: "wss://ksm-rpc.stakeworld.io/bridgehub"
1649
+ }
1650
+ ]
1651
+ };
1652
+ var IntegriteeKusama$1 = {
1653
+ name: "Integritee Network",
1654
+ info: "integritee",
1655
+ paraId: 2015,
1656
+ providers: [
1657
+ {
1658
+ name: "Integritee",
1659
+ endpoint: "wss://kusama.api.integritee.network"
1768
1660
  },
1769
1661
  {
1770
- name: "Unique Europe",
1771
- endpoint: "wss://eu-ws.unique.network"
1662
+ name: "OnFinality",
1663
+ endpoint: "wss://integritee-kusama.api.onfinality.io/public-ws"
1772
1664
  }
1773
1665
  ]
1774
1666
  };
1775
- var Crust$1 = {
1776
- name: "Crust",
1777
- info: "crustParachain",
1778
- paraId: 2008,
1667
+ var Karura$1 = {
1668
+ name: "Karura",
1669
+ info: "karura",
1670
+ paraId: 2000,
1779
1671
  providers: [
1780
1672
  {
1781
- name: "Crust",
1782
- endpoint: "wss://crust-parachain.crustapps.net"
1673
+ name: "Acala Foundation 0",
1674
+ endpoint: "wss://karura-rpc-0.aca-api.network"
1783
1675
  },
1784
1676
  {
1785
- name: "Crust APP",
1786
- endpoint: "wss://crust-parachain.crustnetwork.app"
1677
+ name: "Acala Foundation 1",
1678
+ endpoint: "wss://karura-rpc-1.aca-api.network"
1787
1679
  },
1788
1680
  {
1789
- name: "Crust CC",
1790
- endpoint: "wss://crust-parachain.crustnetwork.cc"
1681
+ name: "Acala Foundation 2",
1682
+ endpoint: "wss://karura-rpc-2.aca-api.network/ws"
1791
1683
  },
1792
1684
  {
1793
- name: "Crust XYZ",
1794
- endpoint: "wss://crust-parachain.crustnetwork.xyz"
1685
+ name: "Acala Foundation 3",
1686
+ endpoint: "wss://karura-rpc-3.aca-api.network/ws"
1687
+ },
1688
+ {
1689
+ name: "Dwellir",
1690
+ endpoint: "wss://karura-rpc.n.dwellir.com"
1795
1691
  }
1796
1692
  ]
1797
1693
  };
1798
- var Manta$1 = {
1799
- name: "Manta",
1800
- info: "manta",
1801
- paraId: 2104,
1694
+ var Kintsugi$1 = {
1695
+ name: "Kintsugi BTC",
1696
+ info: "kintsugi",
1697
+ paraId: 2092,
1802
1698
  providers: [
1803
1699
  {
1804
- name: "Manta Network",
1805
- endpoint: "wss://ws.manta.systems"
1700
+ name: "Kintsugi Labs",
1701
+ endpoint: "wss://api-kusama.interlay.io/parachain"
1702
+ },
1703
+ {
1704
+ name: "OnFinality",
1705
+ endpoint: "wss://kintsugi.api.onfinality.io/public-ws"
1806
1706
  }
1807
1707
  ]
1808
1708
  };
1809
- var Nodle$1 = {
1810
- name: "Nodle",
1811
- info: "nodle",
1812
- paraId: 2026,
1709
+ var Moonriver$1 = {
1710
+ name: "Moonriver",
1711
+ info: "moonriver",
1712
+ paraId: 2023,
1813
1713
  providers: [
1714
+ {
1715
+ name: "Allnodes",
1716
+ endpoint: "wss://moonriver-rpc.publicnode.com"
1717
+ },
1814
1718
  {
1815
1719
  name: "Dwellir",
1816
- endpoint: "wss://nodle-rpc.dwellir.com"
1720
+ endpoint: "wss://moonriver-rpc.n.dwellir.com"
1721
+ },
1722
+ {
1723
+ name: "Moonbeam Foundation",
1724
+ endpoint: "wss://wss.api.moonriver.moonbeam.network"
1817
1725
  },
1818
1726
  {
1819
1727
  name: "OnFinality",
1820
- endpoint: "wss://nodle-parachain.api.onfinality.io/public-ws"
1821
- }
1822
- ]
1823
- };
1824
- var NeuroWeb$1 = {
1825
- name: "NeuroWeb",
1826
- info: "neuroweb",
1827
- paraId: 2043,
1828
- providers: [
1728
+ endpoint: "wss://moonriver.api.onfinality.io/public-ws"
1729
+ },
1829
1730
  {
1830
- name: "TraceLabs",
1831
- endpoint: "wss://parachain-rpc.origin-trail.network"
1832
- }
1833
- ]
1834
- };
1835
- var Pendulum$1 = {
1836
- name: "Pendulum",
1837
- info: "pendulum",
1838
- paraId: 2094,
1839
- providers: [
1731
+ name: "RadiumBlock",
1732
+ endpoint: "wss://moonriver.public.curie.radiumblock.co/ws"
1733
+ },
1840
1734
  {
1841
- name: "PendulumChain",
1842
- endpoint: "wss://rpc-pendulum.prd.pendulumchain.tech"
1735
+ name: "UnitedBloc",
1736
+ endpoint: "wss://moonriver.unitedbloc.com"
1843
1737
  }
1844
1738
  ]
1845
1739
  };
1846
- var Zeitgeist$1 = {
1847
- name: "Zeitgeist",
1848
- info: "zeitgeist",
1849
- paraId: 2092,
1740
+ var CoretimeKusama$1 = {
1741
+ name: "Coretime",
1742
+ info: "kusamaCoretime",
1743
+ paraId: 1005,
1850
1744
  providers: [
1745
+ {
1746
+ name: "Dwellir",
1747
+ endpoint: "wss://coretime-kusama-rpc.n.dwellir.com"
1748
+ },
1749
+ {
1750
+ name: "IBP1",
1751
+ endpoint: "wss://sys.ibp.network/coretime-kusama"
1752
+ },
1753
+ {
1754
+ name: "IBP2",
1755
+ endpoint: "wss://coretime-kusama.dotters.network"
1756
+ },
1757
+ {
1758
+ name: "LuckyFriday",
1759
+ endpoint: "wss://rpc-coretime-kusama.luckyfriday.io"
1760
+ },
1851
1761
  {
1852
1762
  name: "OnFinality",
1853
- endpoint: "wss://zeitgeist.api.onfinality.io/public-ws"
1763
+ endpoint: "wss://coretime-kusama.api.onfinality.io/public-ws"
1764
+ },
1765
+ {
1766
+ name: "Parity",
1767
+ endpoint: "wss://kusama-coretime-rpc.polkadot.io"
1768
+ },
1769
+ {
1770
+ name: "Stakeworld",
1771
+ endpoint: "wss://ksm-rpc.stakeworld.io/coretime"
1854
1772
  }
1855
1773
  ]
1856
1774
  };
1857
- var Collectives$1 = {
1858
- name: "Collectives",
1859
- info: "polkadotCollectives",
1775
+ var Encointer$1 = {
1776
+ name: "Encointer Network",
1777
+ info: "encointer",
1860
1778
  paraId: 1001,
1861
1779
  providers: [
1862
1780
  {
1863
1781
  name: "Dwellir",
1864
- endpoint: "wss://collectives-polkadot-rpc.n.dwellir.com"
1782
+ endpoint: "wss://encointer-kusama-rpc.n.dwellir.com"
1865
1783
  },
1866
1784
  {
1867
- name: "Dwellir Tunisia",
1868
- endpoint: "wss://polkadot-collectives-rpc-tn.dwellir.com"
1785
+ name: "Encointer Association",
1786
+ endpoint: "wss://kusama.api.encointer.org"
1869
1787
  },
1870
1788
  {
1871
1789
  name: "IBP1",
1872
- endpoint: "wss://sys.ibp.network/collectives-polkadot"
1790
+ endpoint: "wss://sys.ibp.network/encointer-kusama"
1873
1791
  },
1874
1792
  {
1875
1793
  name: "IBP2",
1876
- endpoint: "wss://collectives-polkadot.dotters.network"
1794
+ endpoint: "wss://encointer-kusama.dotters.network"
1877
1795
  },
1878
1796
  {
1879
1797
  name: "LuckyFriday",
1880
- endpoint: "wss://rpc-collectives-polkadot.luckyfriday.io"
1881
- },
1798
+ endpoint: "wss://rpc-encointer-kusama.luckyfriday.io"
1799
+ }
1800
+ ]
1801
+ };
1802
+ var Altair$1 = {
1803
+ name: "Altair",
1804
+ info: "altair",
1805
+ paraId: 2088,
1806
+ providers: [
1882
1807
  {
1883
1808
  name: "OnFinality",
1884
- endpoint: "wss://collectives.api.onfinality.io/public-ws"
1885
- },
1809
+ endpoint: "wss://altair.api.onfinality.io/public-ws"
1810
+ }
1811
+ ]
1812
+ };
1813
+ var Amplitude$1 = {
1814
+ name: "Amplitude",
1815
+ info: "amplitude",
1816
+ paraId: 2124,
1817
+ providers: [
1886
1818
  {
1887
- name: "Parity",
1888
- endpoint: "wss://polkadot-collectives-rpc.polkadot.io"
1819
+ name: "PendulumChain",
1820
+ endpoint: "wss://rpc-amplitude.pendulumchain.tech"
1821
+ }
1822
+ ]
1823
+ };
1824
+ var Basilisk$1 = {
1825
+ name: "Basilisk",
1826
+ info: "basilisk",
1827
+ paraId: 2090,
1828
+ providers: [
1829
+ {
1830
+ name: "Basilisk",
1831
+ endpoint: "wss://rpc.basilisk.cloud"
1889
1832
  },
1890
1833
  {
1891
- name: "RadiumBlock",
1892
- endpoint: "wss://collectives.public.curie.radiumblock.co/ws"
1834
+ name: "Dwellir",
1835
+ endpoint: "wss://basilisk-rpc.n.dwellir.com"
1836
+ }
1837
+ ]
1838
+ };
1839
+ var BifrostKusama$1 = {
1840
+ name: "Bifrost",
1841
+ info: "bifrost",
1842
+ paraId: 2001,
1843
+ providers: [
1844
+ {
1845
+ name: "Liebi",
1846
+ endpoint: "wss://bifrost-rpc.liebi.com/ws"
1893
1847
  },
1894
1848
  {
1895
- name: "Stakeworld",
1896
- endpoint: "wss://dot-rpc.stakeworld.io/collectives"
1849
+ name: "LiebiUS",
1850
+ endpoint: "wss://us.bifrost-rpc.liebi.com/ws"
1897
1851
  }
1898
1852
  ]
1899
1853
  };
1900
- var Phala$1 = {
1901
- name: "Phala Network",
1902
- info: "phala",
1903
- paraId: 2035,
1854
+ var CrustShadow$1 = {
1855
+ name: "Crust Shadow",
1856
+ info: "shadow",
1857
+ paraId: 2012,
1904
1858
  providers: [
1905
1859
  {
1906
- name: "Dwellir",
1907
- endpoint: "wss://phala-rpc.n.dwellir.com"
1860
+ name: "Crust",
1861
+ endpoint: "wss://rpc-shadow.crust.network/"
1862
+ },
1863
+ {
1864
+ name: "Crust APP",
1865
+ endpoint: "wss://rpc-shadow.crustnetwork.app"
1908
1866
  },
1909
1867
  {
1910
- name: "Helikon",
1911
- endpoint: "wss://rpc.helikon.io/phala"
1868
+ name: "Crust CC",
1869
+ endpoint: "wss://rpc-shadow.crustnetwork.cc"
1912
1870
  },
1913
1871
  {
1914
- name: "OnFinality",
1915
- endpoint: "wss://phala.api.onfinality.io/public-ws"
1872
+ name: "Crust XYZ",
1873
+ endpoint: "wss://rpc-shadow.crustnetwork.xyz"
1874
+ }
1875
+ ]
1876
+ };
1877
+ var Crab$1 = {
1878
+ name: "Crab",
1879
+ info: "crab",
1880
+ paraId: 2105,
1881
+ providers: [
1882
+ {
1883
+ name: "Darwinia",
1884
+ endpoint: "wss://crab-rpc.darwinia.network/"
1916
1885
  },
1917
1886
  {
1918
- name: "RadiumBlock",
1919
- endpoint: "wss://phala.public.curie.radiumblock.co/ws"
1887
+ name: "Dwellir",
1888
+ endpoint: "wss://darwiniacrab-rpc.n.dwellir.com"
1920
1889
  }
1921
1890
  ]
1922
1891
  };
1923
- var Subsocial$1 = {
1924
- name: "Subsocial",
1925
- info: "subsocial",
1926
- paraId: 2101,
1892
+ var Laos$1 = {
1893
+ name: "Laos",
1894
+ info: "laos",
1895
+ paraId: 3370,
1927
1896
  providers: [
1928
1897
  {
1929
- name: "Dappforce",
1930
- endpoint: "wss://para.subsocial.network"
1898
+ name: "laosfoundation.io",
1899
+ endpoint: "wss://rpc.laos.laosfoundation.io"
1931
1900
  }
1932
1901
  ]
1933
1902
  };
1934
- var KiltSpiritnet$1 = {
1935
- name: "KILT Spiritnet",
1936
- info: "kilt",
1937
- paraId: 2086,
1903
+ var Quartz$1 = {
1904
+ name: "QUARTZ by UNIQUE",
1905
+ info: "quartz",
1906
+ paraId: 2095,
1938
1907
  providers: [
1939
1908
  {
1940
- name: "IBP1",
1941
- endpoint: "wss://kilt.ibp.network"
1909
+ name: "Geo Load Balancer",
1910
+ endpoint: "wss://ws-quartz.unique.network"
1942
1911
  },
1943
1912
  {
1944
- name: "IBP2",
1945
- endpoint: "wss://kilt.dotters.network"
1913
+ name: "Unique Asia",
1914
+ endpoint: "wss://asia-ws-quartz.unique.network"
1946
1915
  },
1947
1916
  {
1948
- name: "KILT Foundation",
1949
- endpoint: "wss://spiritnet.kilt.io/"
1917
+ name: "Unique Europe",
1918
+ endpoint: "wss://eu-ws-quartz.unique.network"
1950
1919
  }
1951
1920
  ]
1952
1921
  };
1953
- var Curio$1 = {
1954
- name: "Curio",
1955
- info: "curio",
1956
- paraId: 3339,
1922
+ var RobonomicsKusama$1 = {
1923
+ name: "Robonomics",
1924
+ info: "robonomics",
1925
+ paraId: 2048,
1957
1926
  providers: [
1958
1927
  {
1959
- name: "Curio",
1960
- endpoint: "wss://parachain.curioinvest.com/"
1928
+ name: "Airalab",
1929
+ endpoint: "wss://kusama.rpc.robonomics.network/"
1961
1930
  }
1962
1931
  ]
1963
1932
  };
1964
- var Mythos$1 = {
1965
- name: "Mythos",
1966
- info: "mythos",
1967
- paraId: 3369,
1933
+ var PeopleKusama$1 = {
1934
+ name: "People",
1935
+ info: "kusamaPeople",
1936
+ paraId: 1004,
1968
1937
  providers: [
1969
1938
  {
1970
- name: "Helikon",
1971
- endpoint: "wss://rpc.helikon.io/mythos"
1939
+ name: "Dwellir",
1940
+ endpoint: "wss://people-kusama-rpc.n.dwellir.com"
1941
+ },
1942
+ {
1943
+ name: "Helixstreet",
1944
+ endpoint: "wss://rpc-people-kusama.helixstreet.io"
1972
1945
  },
1973
1946
  {
1974
1947
  name: "IBP1",
1975
- endpoint: "wss://mythos.ibp.network"
1948
+ endpoint: "wss://sys.ibp.network/people-kusama"
1976
1949
  },
1977
1950
  {
1978
1951
  name: "IBP2",
1979
- endpoint: "wss://mythos.dotters.network"
1952
+ endpoint: "wss://people-kusama.dotters.network"
1980
1953
  },
1981
1954
  {
1982
- name: "parity",
1983
- endpoint: "wss://polkadot-mythos-rpc.polkadot.io"
1984
- }
1985
- ]
1986
- };
1987
- var Peaq$1 = {
1988
- name: "peaq",
1989
- info: "peaq",
1990
- paraId: 3338,
1991
- providers: [
1955
+ name: "LuckyFriday",
1956
+ endpoint: "wss://rpc-people-kusama.luckyfriday.io"
1957
+ },
1992
1958
  {
1993
1959
  name: "OnFinality",
1994
- endpoint: "wss://peaq.api.onfinality.io/public-ws"
1960
+ endpoint: "wss://people-kusama.api.onfinality.io/public-ws"
1961
+ },
1962
+ {
1963
+ name: "Parity",
1964
+ endpoint: "wss://kusama-people-rpc.polkadot.io"
1965
+ },
1966
+ {
1967
+ name: "Stakeworld",
1968
+ endpoint: "wss://ksm-rpc.stakeworld.io/people"
1995
1969
  }
1996
1970
  ]
1997
1971
  };
1998
- var Polimec$1 = {
1999
- name: "Polimec",
2000
- info: "polimec",
2001
- paraId: 3344,
1972
+ var Shiden$1 = {
1973
+ name: "Shiden",
1974
+ info: "shiden",
1975
+ paraId: 2007,
2002
1976
  providers: [
2003
1977
  {
2004
- name: "Amforc",
2005
- endpoint: "wss://polimec.rpc.amforc.com"
1978
+ name: "Astar",
1979
+ endpoint: "wss://rpc.shiden.astar.network"
2006
1980
  },
2007
1981
  {
2008
- name: "Helikon",
2009
- endpoint: "wss://rpc.helikon.io/polimec"
1982
+ name: "Dwellir",
1983
+ endpoint: "wss://shiden-rpc.n.dwellir.com"
2010
1984
  },
2011
1985
  {
2012
- name: "IBP1",
2013
- endpoint: "wss://polimec.ibp.network"
1986
+ name: "OnFinality",
1987
+ endpoint: "wss://shiden.api.onfinality.io/public-ws"
2014
1988
  },
2015
1989
  {
2016
- name: "IBP2",
2017
- endpoint: "wss://polimec.dotters.network"
2018
- },
1990
+ name: "RadiumBlock",
1991
+ endpoint: "wss://shiden.public.curie.radiumblock.co/ws"
1992
+ }
1993
+ ]
1994
+ };
1995
+ var Zeitgeist$1 = {
1996
+ name: "Zeitgeist",
1997
+ info: "zeitgeist",
1998
+ paraId: 2092,
1999
+ providers: [
2019
2000
  {
2020
- name: "Polimec Foundation",
2021
- endpoint: "wss://rpc.polimec.org"
2001
+ name: "OnFinality",
2002
+ endpoint: "wss://zeitgeist.api.onfinality.io/public-ws"
2022
2003
  }
2023
2004
  ]
2024
2005
  };
@@ -2098,21 +2079,6 @@ var CoretimeWestend$1 = {
2098
2079
  }
2099
2080
  ]
2100
2081
  };
2101
- var PeopleWestend$1 = {
2102
- name: "People",
2103
- info: "westendPeople",
2104
- paraId: 1004,
2105
- providers: [
2106
- {
2107
- name: "Dwellir",
2108
- endpoint: "wss://people-westend-rpc.n.dwellir.com"
2109
- },
2110
- {
2111
- name: "Parity",
2112
- endpoint: "wss://westend-people-rpc.polkadot.io"
2113
- }
2114
- ]
2115
- };
2116
2082
  var Penpal$1 = {
2117
2083
  name: "Penpal",
2118
2084
  info: "westendPenpal",
@@ -2124,98 +2090,18 @@ var Penpal$1 = {
2124
2090
  }
2125
2091
  ]
2126
2092
  };
2127
- var AssetHubPaseo$1 = {
2128
- name: "AssetHub",
2129
- info: "PaseoAssetHub",
2130
- paraId: 1000,
2131
- providers: [
2132
- {
2133
- name: "Dwellir",
2134
- endpoint: "wss://asset-hub-paseo-rpc.n.dwellir.com"
2135
- },
2136
- {
2137
- name: "IBP1",
2138
- endpoint: "wss://sys.ibp.network/asset-hub-paseo"
2139
- },
2140
- {
2141
- name: "IBP2",
2142
- endpoint: "wss://asset-hub-paseo.dotters.network"
2143
- },
2144
- {
2145
- name: "StakeWorld",
2146
- endpoint: "wss://pas-rpc.stakeworld.io/assethub"
2147
- },
2148
- {
2149
- name: "TurboFlakes",
2150
- endpoint: "wss://sys.turboflakes.io/asset-hub-paseo"
2151
- }
2152
- ]
2153
- };
2154
- var BridgeHubPaseo$1 = {
2155
- name: "BridgeHub",
2156
- info: "PaseoBridgeHub",
2157
- paraId: 1002,
2158
- providers: [
2159
- {
2160
- name: "IBP1",
2161
- endpoint: "wss://sys.ibp.network/bridgehub-paseo"
2162
- },
2163
- {
2164
- name: "IBP2",
2165
- endpoint: "wss://bridge-hub-paseo.dotters.network"
2166
- }
2167
- ]
2168
- };
2169
- var CoretimePaseo$1 = {
2170
- name: "Coretime",
2171
- info: "PaseoCoretime",
2172
- paraId: 1005,
2173
- providers: [
2174
- {
2175
- name: "IBP1",
2176
- endpoint: "wss://sys.ibp.network/coretime-paseo"
2177
- },
2178
- {
2179
- name: "IBP2",
2180
- endpoint: "wss://coretime-paseo.dotters.network"
2181
- }
2182
- ]
2183
- };
2184
- var PAssetHub$1 = {
2185
- name: "PAssetHub - Contracts",
2186
- info: "PAssetHub - Contracts",
2187
- paraId: 1111,
2188
- providers: [
2189
- {
2190
- name: "IBP1",
2191
- endpoint: "wss://passet-hub-paseo.ibp.network"
2192
- },
2193
- {
2194
- name: "IBP2",
2195
- endpoint: "wss://passet-hub-paseo.dotters.network"
2196
- },
2197
- {
2198
- name: "Parity",
2199
- endpoint: "wss://testnet-passet-hub.polkadot.io"
2200
- }
2201
- ]
2202
- };
2203
- var PeoplePaseo$1 = {
2093
+ var PeopleWestend$1 = {
2204
2094
  name: "People",
2205
- info: "PaseoPeopleChain",
2095
+ info: "westendPeople",
2206
2096
  paraId: 1004,
2207
2097
  providers: [
2208
2098
  {
2209
- name: "Amforc",
2210
- endpoint: "wss://people-paseo.rpc.amforc.com"
2211
- },
2212
- {
2213
- name: "IBP1",
2214
- endpoint: "wss://sys.ibp.network/people-paseo"
2099
+ name: "Dwellir",
2100
+ endpoint: "wss://people-westend-rpc.n.dwellir.com"
2215
2101
  },
2216
2102
  {
2217
- name: "IBP2",
2218
- endpoint: "wss://people-paseo.dotters.network"
2103
+ name: "Parity",
2104
+ endpoint: "wss://westend-people-rpc.polkadot.io"
2219
2105
  }
2220
2106
  ]
2221
2107
  };
@@ -2230,6 +2116,33 @@ var AjunaPaseo$1 = {
2230
2116
  }
2231
2117
  ]
2232
2118
  };
2119
+ var AssetHubPaseo$1 = {
2120
+ name: "AssetHub",
2121
+ info: "PaseoAssetHub",
2122
+ paraId: 1000,
2123
+ providers: [
2124
+ {
2125
+ name: "Dwellir",
2126
+ endpoint: "wss://asset-hub-paseo-rpc.n.dwellir.com"
2127
+ },
2128
+ {
2129
+ name: "IBP1",
2130
+ endpoint: "wss://sys.ibp.network/asset-hub-paseo"
2131
+ },
2132
+ {
2133
+ name: "IBP2",
2134
+ endpoint: "wss://asset-hub-paseo.dotters.network"
2135
+ },
2136
+ {
2137
+ name: "StakeWorld",
2138
+ endpoint: "wss://pas-rpc.stakeworld.io/assethub"
2139
+ },
2140
+ {
2141
+ name: "TurboFlakes",
2142
+ endpoint: "wss://sys.turboflakes.io/asset-hub-paseo"
2143
+ }
2144
+ ]
2145
+ };
2233
2146
  var BifrostPaseo$1 = {
2234
2147
  name: "Bifrost",
2235
2148
  info: "Bifrost(Paseo)",
@@ -2241,6 +2154,36 @@ var BifrostPaseo$1 = {
2241
2154
  }
2242
2155
  ]
2243
2156
  };
2157
+ var BridgeHubPaseo$1 = {
2158
+ name: "BridgeHub",
2159
+ info: "PaseoBridgeHub",
2160
+ paraId: 1002,
2161
+ providers: [
2162
+ {
2163
+ name: "IBP1",
2164
+ endpoint: "wss://sys.ibp.network/bridgehub-paseo"
2165
+ },
2166
+ {
2167
+ name: "IBP2",
2168
+ endpoint: "wss://bridge-hub-paseo.dotters.network"
2169
+ }
2170
+ ]
2171
+ };
2172
+ var CoretimePaseo$1 = {
2173
+ name: "Coretime",
2174
+ info: "PaseoCoretime",
2175
+ paraId: 1005,
2176
+ providers: [
2177
+ {
2178
+ name: "IBP1",
2179
+ endpoint: "wss://sys.ibp.network/coretime-paseo"
2180
+ },
2181
+ {
2182
+ name: "IBP2",
2183
+ endpoint: "wss://coretime-paseo.dotters.network"
2184
+ }
2185
+ ]
2186
+ };
2244
2187
  var HeimaPaseo$1 = {
2245
2188
  name: "Heima paseo",
2246
2189
  info: "heima-paseo",
@@ -2263,6 +2206,17 @@ var HydrationPaseo$1 = {
2263
2206
  }
2264
2207
  ]
2265
2208
  };
2209
+ var IntegriteePaseo$1 = {
2210
+ name: "Integritee Network (Paseo)",
2211
+ info: "integritee",
2212
+ paraId: 2039,
2213
+ providers: [
2214
+ {
2215
+ name: "Integritee",
2216
+ endpoint: "wss://paseo.api.integritee.network"
2217
+ }
2218
+ ]
2219
+ };
2266
2220
  var KiltPaseo$1 = {
2267
2221
  name: "KILT Peregrine",
2268
2222
  info: "kilt",
@@ -2307,6 +2261,44 @@ var NodlePaseo$1 = {
2307
2261
  }
2308
2262
  ]
2309
2263
  };
2264
+ var PAssetHub$1 = {
2265
+ name: "PAssetHub - Contracts",
2266
+ info: "PAssetHub - Contracts",
2267
+ paraId: 1111,
2268
+ providers: [
2269
+ {
2270
+ name: "IBP1",
2271
+ endpoint: "wss://passet-hub-paseo.ibp.network"
2272
+ },
2273
+ {
2274
+ name: "IBP2",
2275
+ endpoint: "wss://passet-hub-paseo.dotters.network"
2276
+ },
2277
+ {
2278
+ name: "Parity",
2279
+ endpoint: "wss://testnet-passet-hub.polkadot.io"
2280
+ }
2281
+ ]
2282
+ };
2283
+ var PeoplePaseo$1 = {
2284
+ name: "People",
2285
+ info: "PaseoPeopleChain",
2286
+ paraId: 1004,
2287
+ providers: [
2288
+ {
2289
+ name: "Amforc",
2290
+ endpoint: "wss://people-paseo.rpc.amforc.com"
2291
+ },
2292
+ {
2293
+ name: "IBP1",
2294
+ endpoint: "wss://sys.ibp.network/people-paseo"
2295
+ },
2296
+ {
2297
+ name: "IBP2",
2298
+ endpoint: "wss://people-paseo.dotters.network"
2299
+ }
2300
+ ]
2301
+ };
2310
2302
  var ZeitgeistPaseo$1 = {
2311
2303
  name: "Zeitgeist Battery Station",
2312
2304
  info: "ZeitgeistBatteryStation",
@@ -2369,7 +2361,7 @@ var Polkadot = {
2369
2361
  },
2370
2362
  {
2371
2363
  name: "Simply Staking",
2372
- endpoint: "wss://spectrum-01.simplystaking.xyz/cG9sa2Fkb3QtMDEtOTFkMmYwZGYtcG9sa2Fkb3Q/uj77qtNEPueW1w/polkadot/mainnet/"
2364
+ endpoint: "wss://spectrum-03.simplystaking.xyz/cG9sa2Fkb3QtMDMtOTFkMmYwZGYtcG9sa2Fkb3Q/LjwBJpV3dIKyWQ/polkadot/mainnet/"
2373
2365
  },
2374
2366
  {
2375
2367
  name: "Stakeworld",
@@ -2390,6 +2382,10 @@ var Kusama = {
2390
2382
  name: "Allnodes",
2391
2383
  endpoint: "wss://kusama-rpc.publicnode.com"
2392
2384
  },
2385
+ {
2386
+ name: "Blockops",
2387
+ endpoint: "wss://kusama-public-rpc.blockops.network/ws"
2388
+ },
2393
2389
  {
2394
2390
  name: "Dwellir",
2395
2391
  endpoint: "wss://kusama-rpc.n.dwellir.com"
@@ -2489,22 +2485,40 @@ var configs = {
2489
2485
  Astar: Astar$1,
2490
2486
  BifrostPolkadot: BifrostPolkadot$1,
2491
2487
  BridgeHubPolkadot: BridgeHubPolkadot$1,
2492
- BridgeHubKusama: BridgeHubKusama$1,
2493
2488
  Centrifuge: Centrifuge$1,
2494
2489
  ComposableFinance: ComposableFinance$1,
2495
2490
  Darwinia: Darwinia$1,
2496
2491
  EnergyWebX: EnergyWebX$1,
2497
2492
  EnergyWebXPaseo: EnergyWebXPaseo$1,
2498
2493
  Hydration: Hydration$1,
2499
- IntegriteeKusama: IntegriteeKusama$1,
2500
- IntegriteePaseo: IntegriteePaseo$1,
2501
2494
  Interlay: Interlay$1,
2502
2495
  Heima: Heima$1,
2503
2496
  Jamton: Jamton$1,
2504
2497
  Moonbeam: Moonbeam$1,
2498
+ CoretimePolkadot: CoretimePolkadot$1,
2499
+ Collectives: Collectives$1,
2500
+ Crust: Crust$1,
2501
+ Manta: Manta$1,
2502
+ Nodle: Nodle$1,
2503
+ NeuroWeb: NeuroWeb$1,
2504
+ Pendulum: Pendulum$1,
2505
+ Phala: Phala$1,
2506
+ Subsocial: Subsocial$1,
2507
+ KiltSpiritnet: KiltSpiritnet$1,
2508
+ Curio: Curio$1,
2509
+ Mythos: Mythos$1,
2510
+ Peaq: Peaq$1,
2511
+ Polimec: Polimec$1,
2512
+ RobonomicsPolkadot: RobonomicsPolkadot$1,
2513
+ PeoplePolkadot: PeoplePolkadot$1,
2514
+ Unique: Unique$1,
2505
2515
  AssetHubKusama: AssetHubKusama$1,
2516
+ BridgeHubKusama: BridgeHubKusama$1,
2517
+ IntegriteeKusama: IntegriteeKusama$1,
2518
+ Karura: Karura$1,
2519
+ Kintsugi: Kintsugi$1,
2520
+ Moonriver: Moonriver$1,
2506
2521
  CoretimeKusama: CoretimeKusama$1,
2507
- CoretimePolkadot: CoretimePolkadot$1,
2508
2522
  Encointer: Encointer$1,
2509
2523
  Altair: Altair$1,
2510
2524
  Amplitude: Amplitude$1,
@@ -2512,50 +2526,32 @@ var configs = {
2512
2526
  BifrostKusama: BifrostKusama$1,
2513
2527
  CrustShadow: CrustShadow$1,
2514
2528
  Crab: Crab$1,
2515
- Karura: Karura$1,
2516
- Kintsugi: Kintsugi$1,
2517
- Moonriver: Moonriver$1,
2518
2529
  Laos: Laos$1,
2519
2530
  Quartz: Quartz$1,
2520
2531
  RobonomicsKusama: RobonomicsKusama$1,
2521
- RobonomicsPolkadot: RobonomicsPolkadot$1,
2522
- PeoplePolkadot: PeoplePolkadot$1,
2523
2532
  PeopleKusama: PeopleKusama$1,
2524
2533
  Shiden: Shiden$1,
2525
- Unique: Unique$1,
2526
- Crust: Crust$1,
2527
- Manta: Manta$1,
2528
- Nodle: Nodle$1,
2529
- NeuroWeb: NeuroWeb$1,
2530
- Pendulum: Pendulum$1,
2531
2534
  Zeitgeist: Zeitgeist$1,
2532
- Collectives: Collectives$1,
2533
- Phala: Phala$1,
2534
- Subsocial: Subsocial$1,
2535
- KiltSpiritnet: KiltSpiritnet$1,
2536
- Curio: Curio$1,
2537
- Mythos: Mythos$1,
2538
- Peaq: Peaq$1,
2539
- Polimec: Polimec$1,
2540
2535
  AssetHubWestend: AssetHubWestend$1,
2541
2536
  BridgeHubWestend: BridgeHubWestend$1,
2542
2537
  CollectivesWestend: CollectivesWestend$1,
2543
2538
  CoretimeWestend: CoretimeWestend$1,
2544
- PeopleWestend: PeopleWestend$1,
2545
2539
  Penpal: Penpal$1,
2540
+ PeopleWestend: PeopleWestend$1,
2541
+ AjunaPaseo: AjunaPaseo$1,
2546
2542
  AssetHubPaseo: AssetHubPaseo$1,
2543
+ BifrostPaseo: BifrostPaseo$1,
2547
2544
  BridgeHubPaseo: BridgeHubPaseo$1,
2548
2545
  CoretimePaseo: CoretimePaseo$1,
2549
- PAssetHub: PAssetHub$1,
2550
- PeoplePaseo: PeoplePaseo$1,
2551
- AjunaPaseo: AjunaPaseo$1,
2552
- BifrostPaseo: BifrostPaseo$1,
2553
2546
  HeimaPaseo: HeimaPaseo$1,
2554
2547
  HydrationPaseo: HydrationPaseo$1,
2548
+ IntegriteePaseo: IntegriteePaseo$1,
2555
2549
  KiltPaseo: KiltPaseo$1,
2556
2550
  LaosPaseo: LaosPaseo$1,
2557
2551
  NeuroWebPaseo: NeuroWebPaseo$1,
2558
2552
  NodlePaseo: NodlePaseo$1,
2553
+ PAssetHub: PAssetHub$1,
2554
+ PeoplePaseo: PeoplePaseo$1,
2559
2555
  ZeitgeistPaseo: ZeitgeistPaseo$1,
2560
2556
  Polkadot: Polkadot,
2561
2557
  Kusama: Kusama,
@@ -2989,11 +2985,34 @@ var reverseTransformLocation = function reverseTransformLocation(location) {
2989
2985
  });
2990
2986
  };
2991
2987
 
2988
+ /**
2989
+ * Retrieves the chain name corresponding to a specified parachain ID.
2990
+ *
2991
+ * @param paraId - The parachain ID.
2992
+ * @returns The chain name if found; otherwise, null.
2993
+ */
2994
+ var getTChain = function getTChain(paraId, ecosystem) {
2995
+ var _PARACHAINS$find;
2996
+ if (paraId === 0) {
2997
+ return ecosystem;
2998
+ }
2999
+ if (paraId === 1) {
3000
+ return 'Ethereum';
3001
+ }
3002
+ return (_PARACHAINS$find = PARACHAINS.find(function (chain) {
3003
+ return getChain(chain).ecosystem === ecosystem && getParaId(chain) === paraId;
3004
+ })) !== null && _PARACHAINS$find !== void 0 ? _PARACHAINS$find : null;
3005
+ };
3006
+
3007
+ var resolveDestChain = function resolveDestChain(originChain, paraId) {
3008
+ return paraId !== undefined ? getTChain(paraId, getRelayChainOf(originChain)) : undefined;
3009
+ };
3010
+
2992
3011
  var resolveParaId = function resolveParaId(paraId, destination) {
2993
3012
  if (isTLocation(destination)) {
2994
3013
  return undefined;
2995
3014
  }
2996
- return paraId !== null && paraId !== void 0 ? paraId : getParaId(destination);
3015
+ return paraId !== undefined ? paraId : getParaId(destination);
2997
3016
  };
2998
3017
 
2999
3018
  var abstractDecimals = function abstractDecimals(amount, decimals, api) {
@@ -3119,25 +3138,6 @@ var throwUnsupportedCurrency = function throwUnsupportedCurrency(currency, chain
3119
3138
  throw new InvalidCurrencyError("".concat(isDestination ? 'Destination' : 'Origin', " chain ").concat(chain, " does not support currency ").concat(JSON.stringify(currency, replaceBigInt), "."));
3120
3139
  };
3121
3140
 
3122
- /**
3123
- * Retrieves the chain name corresponding to a specified parachain ID.
3124
- *
3125
- * @param paraId - The parachain ID.
3126
- * @returns The chain name if found; otherwise, null.
3127
- */
3128
- var getTChain = function getTChain(paraId, ecosystem) {
3129
- var _PARACHAINS$find;
3130
- if (paraId === 0) {
3131
- return ecosystem;
3132
- }
3133
- if (paraId === 1) {
3134
- return 'Ethereum';
3135
- }
3136
- return (_PARACHAINS$find = PARACHAINS.find(function (chain) {
3137
- return getChain(chain).ecosystem === ecosystem && getParaId(chain) === paraId;
3138
- })) !== null && _PARACHAINS$find !== void 0 ? _PARACHAINS$find : null;
3139
- };
3140
-
3141
3141
  var getAssetReserveChain = function getAssetReserveChain(chain, destChain, assetLocation) {
3142
3142
  var hasGlobalConsensusJunction = hasJunction(assetLocation, 'GlobalConsensus');
3143
3143
  var paraId = getJunctionValue(assetLocation, 'Parachain');
@@ -3148,8 +3148,10 @@ var getAssetReserveChain = function getAssetReserveChain(chain, destChain, asset
3148
3148
  }
3149
3149
  return resolvedChain;
3150
3150
  }
3151
+ var relaychain = getRelayChainOf(chain);
3152
+ var ahChain = "AssetHub".concat(relaychain);
3151
3153
  if (hasGlobalConsensusJunction) {
3152
- return 'AssetHubPolkadot';
3154
+ return ahChain;
3153
3155
  }
3154
3156
  if (deepEqual(assetLocation, {
3155
3157
  parents: Parents.ONE,
@@ -3157,7 +3159,7 @@ var getAssetReserveChain = function getAssetReserveChain(chain, destChain, asset
3157
3159
  Here: null
3158
3160
  }
3159
3161
  })) {
3160
- return CHAINS_DOT_RESERVE_AH.has(destChain) ? 'AssetHubPolkadot' : 'Polkadot';
3162
+ return CHAINS_DOT_RESERVE_AH.has(destChain) ? ahChain : relaychain;
3161
3163
  }
3162
3164
  return chain;
3163
3165
  };
@@ -3199,11 +3201,11 @@ var updateAsset = function updateAsset(asset, amount) {
3199
3201
  });
3200
3202
  };
3201
3203
  var getTransferType = function getTransferType(origin, destination, reserveChain) {
3202
- if (reserveChain !== undefined && origin !== reserveChain && isSystemChain(origin) && isSystemChain(reserveChain)) {
3204
+ if (reserveChain !== undefined && origin !== reserveChain && isTrustedChain(origin) && isTrustedChain(reserveChain)) {
3203
3205
  return 'teleport_to_reserve';
3204
3206
  }
3205
3207
  // Trusted chains can teleport
3206
- if (isSystemChain(origin) && isSystemChain(destination)) {
3208
+ if (isTrustedChain(origin) && isTrustedChain(destination)) {
3207
3209
  return 'teleport';
3208
3210
  }
3209
3211
  // If we need intermediary reserve (not on reserve chain)
@@ -5212,7 +5214,7 @@ var wrapTxBypass = /*#__PURE__*/function () {
5212
5214
 
5213
5215
  var getOriginXcmFeeInternal = /*#__PURE__*/function () {
5214
5216
  var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref) {
5215
- var api, tx, origin, destination, senderAddress, disableFallback, feeAsset, currency, _ref$useRootOrigin, useRootOrigin, asset, amount, resolvedFeeAsset, nativeAssetSymbol, rawFee, paddedFee, sufficient, dryRunResult, _rawFee, _paddedFee, fee, forwardedXcms, destParaId, weight, currencySymbol;
5217
+ var api, tx, origin, destination, senderAddress, disableFallback, feeAsset, currency, _ref$useRootOrigin, useRootOrigin, asset, amount, resolvedFeeAsset, nativeAssetSymbol, rawFee, paddedFee, sufficient, dryRunResult, _rawFee, _paddedFee, fee, forwardedXcms, destParaId, weight;
5216
5218
  return _regenerator().w(function (_context) {
5217
5219
  while (1) switch (_context.n) {
5218
5220
  case 0:
@@ -5242,6 +5244,7 @@ var getOriginXcmFeeInternal = /*#__PURE__*/function () {
5242
5244
  return _context.a(2, {
5243
5245
  fee: paddedFee,
5244
5246
  currency: nativeAssetSymbol,
5247
+ asset: resolvedFeeAsset !== null && resolvedFeeAsset !== void 0 ? resolvedFeeAsset : asset,
5245
5248
  feeType: 'paymentInfo',
5246
5249
  sufficient: sufficient
5247
5250
  });
@@ -5269,7 +5272,9 @@ var getOriginXcmFeeInternal = /*#__PURE__*/function () {
5269
5272
  break;
5270
5273
  }
5271
5274
  return _context.a(2, {
5272
- dryRunError: dryRunResult.failureReason
5275
+ dryRunError: dryRunResult.failureReason,
5276
+ currency: dryRunResult.currency,
5277
+ asset: dryRunResult.asset
5273
5278
  });
5274
5279
  case 6:
5275
5280
  _context.n = 7;
@@ -5279,19 +5284,20 @@ var getOriginXcmFeeInternal = /*#__PURE__*/function () {
5279
5284
  _paddedFee = padFee(_rawFee, origin, destination, 'origin');
5280
5285
  return _context.a(2, {
5281
5286
  fee: _paddedFee,
5282
- currency: nativeAssetSymbol,
5287
+ currency: dryRunResult.currency,
5288
+ asset: dryRunResult.asset,
5283
5289
  feeType: 'paymentInfo',
5284
5290
  dryRunError: dryRunResult.failureReason,
5285
5291
  sufficient: false
5286
5292
  });
5287
5293
  case 8:
5288
5294
  fee = dryRunResult.fee, forwardedXcms = dryRunResult.forwardedXcms, destParaId = dryRunResult.destParaId, weight = dryRunResult.weight;
5289
- currencySymbol = resolvedFeeAsset ? resolvedFeeAsset.symbol : nativeAssetSymbol;
5290
5295
  return _context.a(2, {
5291
5296
  fee: fee,
5292
5297
  feeType: 'dryRun',
5293
5298
  sufficient: true,
5294
- currency: currencySymbol,
5299
+ currency: dryRunResult.currency,
5300
+ asset: dryRunResult.asset,
5295
5301
  forwardedXcms: forwardedXcms,
5296
5302
  destParaId: destParaId,
5297
5303
  weight: weight
@@ -5341,11 +5347,6 @@ var validateAssetSupport = function validateAssetSupport(_ref, assetCheckEnabled
5341
5347
  var origin = _ref.from,
5342
5348
  destination = _ref.to,
5343
5349
  currency = _ref.currency;
5344
- var isDestAssetHub = destination === 'AssetHubPolkadot' || destination === 'AssetHubKusama';
5345
- var allowedChainsToAh = ['AssetHubPolkadot', 'BridgeHubPolkadot', 'PeoplePolkadot', 'CoretimePolkadot', 'Collectives', 'BifrostPolkadot', 'BifrostKusama', 'Hydration', 'Moonbeam', 'Ajuna', 'Polimec', 'Jamton'];
5346
- if (!isRelayChain(origin) && !isBridge && isDestAssetHub && !allowedChainsToAh.includes(origin) && (asset === null || asset === void 0 ? void 0 : asset.symbol) === 'DOT') {
5347
- throw new TransferToAhNotSupported("Chain ".concat(origin, " does not support DOT transfer to AssetHub"));
5348
- }
5349
5350
  var isRelayDestination = !isTLocation(destination) && isRelayChain(destination);
5350
5351
  var isLocationDestination = _typeof(destination) === 'object';
5351
5352
  if (!isBridge && !isRelayDestination && !isLocationDestination && (asset === null || asset === void 0 ? void 0 : asset.symbol) !== undefined && assetCheckEnabled && !('id' in currency) && !hasSupportForAsset(destination, asset.symbol)) {
@@ -5503,7 +5504,7 @@ var validateAssetSpecifiers = function validateAssetSpecifiers(assetCheckEnabled
5503
5504
 
5504
5505
  var getOriginXcmFeeEstimate = /*#__PURE__*/function () {
5505
5506
  var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref) {
5506
- var api, tx, origin, destination, currency, senderAddress, feeAsset, originAsset, amount, rawOriginFee, originFee, resolvedFeeAsset, sufficient;
5507
+ var api, tx, origin, destination, currency, senderAddress, feeAsset, originAsset, amount, rawOriginFee, originFee, resolvedFeeAsset, sufficient, asset;
5507
5508
  return _regenerator().w(function (_context) {
5508
5509
  while (1) switch (_context.n) {
5509
5510
  case 0:
@@ -5522,9 +5523,11 @@ var getOriginXcmFeeEstimate = /*#__PURE__*/function () {
5522
5523
  }), originAsset, resolvedFeeAsset);
5523
5524
  case 2:
5524
5525
  sufficient = _context.v;
5526
+ asset = resolvedFeeAsset !== null && resolvedFeeAsset !== void 0 ? resolvedFeeAsset : originAsset;
5525
5527
  return _context.a(2, {
5526
5528
  fee: originFee,
5527
5529
  currency: getNativeAssetSymbol(origin),
5530
+ asset: asset,
5528
5531
  sufficient: sufficient
5529
5532
  });
5530
5533
  }
@@ -5576,12 +5579,18 @@ var getFailureInfo$1 = function getFailureInfo(chains, hops) {
5576
5579
  };
5577
5580
  var getXcmFeeInternal = /*#__PURE__*/function () {
5578
5581
  var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref, useRootOrigin) {
5579
- var api, tx, origin, destination, senderAddress, address, currency, feeAsset, disableFallback, swapConfig, asset, amount, _yield$getOriginXcmFe, originFee, originCurrency, originFeeType, originDryRunError, initialForwardedXcm, initialDestParaId, originWeight, sufficientOriginFee, destApi, destFeeRes, _result, _getFailureInfo, _failureChain, _failureReason, processHop, traversalResult, destFee, destCurrency, destFeeType, destDryRunError, destSufficient, destResult, _destApi, destFallback, assetHubChain, processedBridgeHub, bridgeHubChain, bridgeHubHopIndex, convertToFeeDetail, result, _getFailureInfo2, failureChain, failureReason;
5582
+ var api, tx, origin, destination, senderAddress, address, currency, feeAsset, disableFallback, swapConfig, asset, findNativeAssetInfo, amount, _yield$getOriginXcmFe, originFee, originCurrency, originAsset, originFeeType, originDryRunError, initialForwardedXcm, initialDestParaId, originWeight, sufficientOriginFee, destApi, destFeeRes, _result, _getFailureInfo, _failureChain, _failureReason, processHop, traversalResult, destFee, destCurrency, destAsset, destFeeType, destDryRunError, destSufficient, destResult, _destApi, destFallback, assetHubChain, processedBridgeHub, bridgeHubChain, bridgeHubHopIndex, convertToFeeDetail, result, _getFailureInfo2, failureChain, failureReason;
5580
5583
  return _regenerator().w(function (_context2) {
5581
5584
  while (1) switch (_context2.p = _context2.n) {
5582
5585
  case 0:
5583
5586
  api = _ref.api, tx = _ref.tx, origin = _ref.origin, destination = _ref.destination, senderAddress = _ref.senderAddress, address = _ref.address, currency = _ref.currency, feeAsset = _ref.feeAsset, disableFallback = _ref.disableFallback, swapConfig = _ref.swapConfig;
5584
5587
  asset = findAssetInfoOrThrow(origin, currency, destination);
5588
+ findNativeAssetInfo = function findNativeAssetInfo(chain) {
5589
+ var dest = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
5590
+ return findAssetInfoOrThrow(chain, {
5591
+ symbol: Native(getNativeAssetSymbol(chain))
5592
+ }, dest);
5593
+ };
5585
5594
  amount = abstractDecimals(currency.amount, asset.decimals, api);
5586
5595
  _context2.n = 1;
5587
5596
  return getOriginXcmFeeInternal({
@@ -5599,27 +5608,24 @@ var getXcmFeeInternal = /*#__PURE__*/function () {
5599
5608
  _yield$getOriginXcmFe = _context2.v;
5600
5609
  originFee = _yield$getOriginXcmFe.fee;
5601
5610
  originCurrency = _yield$getOriginXcmFe.currency;
5611
+ originAsset = _yield$getOriginXcmFe.asset;
5602
5612
  originFeeType = _yield$getOriginXcmFe.feeType;
5603
5613
  originDryRunError = _yield$getOriginXcmFe.dryRunError;
5604
5614
  initialForwardedXcm = _yield$getOriginXcmFe.forwardedXcms;
5605
5615
  initialDestParaId = _yield$getOriginXcmFe.destParaId;
5606
5616
  originWeight = _yield$getOriginXcmFe.weight;
5607
5617
  sufficientOriginFee = _yield$getOriginXcmFe.sufficient;
5608
- api.setDisconnectAllowed(true);
5609
- _context2.n = 2;
5610
- return api.disconnect();
5611
- case 2:
5612
5618
  if (!(originDryRunError || originFeeType === 'paymentInfo')) {
5613
- _context2.n = 8;
5619
+ _context2.n = 7;
5614
5620
  break;
5615
5621
  }
5616
5622
  destApi = api.clone();
5617
- _context2.p = 3;
5618
- _context2.n = 4;
5623
+ _context2.p = 2;
5624
+ _context2.n = 3;
5619
5625
  return destApi.init(destination, DRY_RUN_CLIENT_TIMEOUT_MS);
5620
- case 4:
5626
+ case 3:
5621
5627
  destApi.setDisconnectAllowed(false);
5622
- _context2.n = 5;
5628
+ _context2.n = 4;
5623
5629
  return getDestXcmFee({
5624
5630
  api: destApi,
5625
5631
  forwardedXcms: undefined,
@@ -5636,7 +5642,7 @@ var getXcmFeeInternal = /*#__PURE__*/function () {
5636
5642
  senderAddress: senderAddress,
5637
5643
  disableFallback: disableFallback
5638
5644
  });
5639
- case 5:
5645
+ case 4:
5640
5646
  destFeeRes = _context2.v;
5641
5647
  _result = {
5642
5648
  origin: _objectSpread2(_objectSpread2(_objectSpread2({}, originFee && {
@@ -5645,7 +5651,8 @@ var getXcmFeeInternal = /*#__PURE__*/function () {
5645
5651
  feeType: originFeeType
5646
5652
  }), {}, {
5647
5653
  sufficient: sufficientOriginFee,
5648
- currency: originCurrency
5654
+ currency: originCurrency,
5655
+ asset: originAsset
5649
5656
  }, originDryRunError && {
5650
5657
  dryRunError: originDryRunError
5651
5658
  }),
@@ -5658,7 +5665,8 @@ var getXcmFeeInternal = /*#__PURE__*/function () {
5658
5665
  }), destFeeRes.sufficient !== undefined && {
5659
5666
  sufficient: destFeeRes.sufficient
5660
5667
  }), {}, {
5661
- currency: getNativeAssetSymbol(destination)
5668
+ currency: getNativeAssetSymbol(destination),
5669
+ asset: findNativeAssetInfo(destination)
5662
5670
  }),
5663
5671
  hops: []
5664
5672
  };
@@ -5670,17 +5678,17 @@ var getXcmFeeInternal = /*#__PURE__*/function () {
5670
5678
  failureChain: _failureChain,
5671
5679
  failureReason: _failureReason
5672
5680
  }));
5673
- case 6:
5674
- _context2.p = 6;
5681
+ case 5:
5682
+ _context2.p = 5;
5675
5683
  destApi.setDisconnectAllowed(true);
5676
- _context2.n = 7;
5684
+ _context2.n = 6;
5677
5685
  return destApi.disconnect();
5686
+ case 6:
5687
+ return _context2.f(5);
5678
5688
  case 7:
5679
- return _context2.f(6);
5680
- case 8:
5681
5689
  processHop = /*#__PURE__*/function () {
5682
5690
  var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(params) {
5683
- var hopApi, currentChain, currentOrigin, currentAsset, forwardedXcms, hasPassedExchange, hopResult, hopCurrency;
5691
+ var hopApi, currentChain, currentOrigin, currentAsset, forwardedXcms, hasPassedExchange, hopResult, hopAsset;
5684
5692
  return _regenerator().w(function (_context) {
5685
5693
  while (1) switch (_context.n) {
5686
5694
  case 0:
@@ -5706,17 +5714,18 @@ var getXcmFeeInternal = /*#__PURE__*/function () {
5706
5714
  hopResult = _context.v;
5707
5715
  if (hopResult.feeType === 'dryRun' && !(destination === 'Ethereum' && (currentChain.includes('AssetHub') || currentChain.includes('BridgeHub')))) {
5708
5716
  if (hasPassedExchange && swapConfig && currentChain !== swapConfig.exchangeChain) {
5709
- hopCurrency = findAssetOnDestOrThrow(swapConfig.exchangeChain, currentChain, swapConfig.currencyTo).symbol;
5717
+ hopAsset = findAssetOnDestOrThrow(swapConfig.exchangeChain, currentChain, swapConfig.currencyTo);
5710
5718
  } else if (destination === currentChain) {
5711
- hopCurrency = findAssetOnDestOrThrow(origin, currentChain, currency).symbol;
5719
+ hopAsset = findAssetOnDestOrThrow(origin, currentChain, currency);
5712
5720
  } else {
5713
- hopCurrency = asset.symbol;
5721
+ hopAsset = asset;
5714
5722
  }
5715
5723
  } else {
5716
- hopCurrency = getNativeAssetSymbol(currentChain);
5724
+ hopAsset = findNativeAssetInfo(currentChain, destination);
5717
5725
  }
5718
5726
  return _context.a(2, _objectSpread2(_objectSpread2({}, hopResult), {}, {
5719
- currency: hopCurrency
5727
+ currency: hopAsset.symbol,
5728
+ asset: hopAsset
5720
5729
  }));
5721
5730
  }
5722
5731
  }, _callee);
@@ -5725,7 +5734,7 @@ var getXcmFeeInternal = /*#__PURE__*/function () {
5725
5734
  return _ref3.apply(this, arguments);
5726
5735
  };
5727
5736
  }();
5728
- _context2.n = 9;
5737
+ _context2.n = 8;
5729
5738
  return traverseXcmHops({
5730
5739
  api: api,
5731
5740
  origin: origin,
@@ -5745,14 +5754,14 @@ var getXcmFeeInternal = /*#__PURE__*/function () {
5745
5754
  };
5746
5755
  }
5747
5756
  });
5748
- case 9:
5757
+ case 8:
5749
5758
  traversalResult = _context2.v;
5750
5759
  // Handle case where we failed before reaching destination
5751
5760
  destFee = 0n;
5752
5761
  destFeeType = destination === 'Ethereum' ? 'noFeeRequired' : 'paymentInfo';
5753
5762
  destSufficient = undefined;
5754
5763
  if (!traversalResult.destination) {
5755
- _context2.n = 10;
5764
+ _context2.n = 9;
5756
5765
  break;
5757
5766
  }
5758
5767
  destResult = traversalResult.destination;
@@ -5761,23 +5770,24 @@ var getXcmFeeInternal = /*#__PURE__*/function () {
5761
5770
  destDryRunError = destResult.dryRunError;
5762
5771
  destSufficient = destResult.sufficient;
5763
5772
  destCurrency = destResult.currency;
5764
- _context2.n = 14;
5773
+ destAsset = destResult.asset;
5774
+ _context2.n = 13;
5765
5775
  break;
5766
- case 10:
5776
+ case 9:
5767
5777
  if (!(traversalResult.hops.length > 0 && traversalResult.hops[traversalResult.hops.length - 1].result.dryRunError)) {
5768
- _context2.n = 13;
5778
+ _context2.n = 12;
5769
5779
  break;
5770
5780
  }
5771
5781
  // We failed before reaching destination, use fallback
5772
5782
  _destApi = api.clone();
5773
5783
  if (!(destination !== 'Ethereum')) {
5774
- _context2.n = 11;
5784
+ _context2.n = 10;
5775
5785
  break;
5776
5786
  }
5777
- _context2.n = 11;
5787
+ _context2.n = 10;
5778
5788
  return _destApi.init(destination, DRY_RUN_CLIENT_TIMEOUT_MS);
5779
- case 11:
5780
- _context2.n = 12;
5789
+ case 10:
5790
+ _context2.n = 11;
5781
5791
  return getDestXcmFee({
5782
5792
  api: _destApi,
5783
5793
  forwardedXcms: undefined,
@@ -5793,25 +5803,27 @@ var getXcmFeeInternal = /*#__PURE__*/function () {
5793
5803
  senderAddress: senderAddress,
5794
5804
  disableFallback: disableFallback
5795
5805
  });
5796
- case 12:
5806
+ case 11:
5797
5807
  destFallback = _context2.v;
5798
5808
  destFee = destFallback.fee;
5799
5809
  destFeeType = destFallback.feeType;
5800
5810
  destSufficient = destFallback.sufficient;
5801
5811
  destCurrency = getNativeAssetSymbol(destination);
5802
- _context2.n = 14;
5812
+ destAsset = findNativeAssetInfo(destination);
5813
+ _context2.n = 13;
5803
5814
  break;
5804
- case 13:
5815
+ case 12:
5805
5816
  destFee = 0n;
5806
5817
  destFeeType = 'noFeeRequired';
5807
5818
  destSufficient = true;
5808
5819
  destCurrency = getNativeAssetSymbol(destination);
5809
- case 14:
5820
+ destAsset = findNativeAssetInfo(destination);
5821
+ case 13:
5810
5822
  // Process Ethereum bridge fees
5811
5823
  assetHubChain = "AssetHub".concat(getRelayChainOf(origin));
5812
- _context2.n = 15;
5824
+ _context2.n = 14;
5813
5825
  return addEthereumBridgeFees(api, traversalResult.bridgeHub, destination, assetHubChain);
5814
- case 15:
5826
+ case 14:
5815
5827
  processedBridgeHub = _context2.v;
5816
5828
  // Update bridge hub fee in hops if needed
5817
5829
  if (processedBridgeHub && traversalResult.bridgeHub && processedBridgeHub.fee !== traversalResult.bridgeHub.fee) {
@@ -5833,7 +5845,8 @@ var getXcmFeeInternal = /*#__PURE__*/function () {
5833
5845
  }), result.sufficient !== undefined && {
5834
5846
  sufficient: result.sufficient
5835
5847
  }), {}, {
5836
- currency: result.currency
5848
+ currency: result.currency,
5849
+ asset: result.asset
5837
5850
  }, result.dryRunError && {
5838
5851
  dryRunError: result.dryRunError
5839
5852
  });
@@ -5848,7 +5861,8 @@ var getXcmFeeInternal = /*#__PURE__*/function () {
5848
5861
  }), sufficientOriginFee !== undefined && {
5849
5862
  sufficient: sufficientOriginFee
5850
5863
  }), {}, {
5851
- currency: originCurrency
5864
+ currency: originCurrency,
5865
+ asset: originAsset
5852
5866
  }, originDryRunError && {
5853
5867
  dryRunError: originDryRunError
5854
5868
  })
@@ -5863,7 +5877,8 @@ var getXcmFeeInternal = /*#__PURE__*/function () {
5863
5877
  feeType: destFeeType
5864
5878
  }), {}, {
5865
5879
  sufficient: destSufficient,
5866
- currency: destCurrency
5880
+ currency: destCurrency,
5881
+ asset: destAsset
5867
5882
  }, destDryRunError && {
5868
5883
  dryRunError: destDryRunError
5869
5884
  }),
@@ -5885,7 +5900,7 @@ var getXcmFeeInternal = /*#__PURE__*/function () {
5885
5900
  failureReason: failureReason
5886
5901
  }));
5887
5902
  }
5888
- }, _callee2, null, [[3,, 6, 8]]);
5903
+ }, _callee2, null, [[2,, 5, 7]]);
5889
5904
  }));
5890
5905
  return function getXcmFeeInternal(_x, _x2) {
5891
5906
  return _ref2.apply(this, arguments);
@@ -5895,7 +5910,7 @@ var getXcmFeeInternal = /*#__PURE__*/function () {
5895
5910
  var getXcmFee = /*#__PURE__*/function () {
5896
5911
  var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(options) {
5897
5912
  var _real$assetHub, _real$bridgeHub;
5898
- var forced, real;
5913
+ var forced, real, api;
5899
5914
  return _regenerator().w(function (_context) {
5900
5915
  while (1) switch (_context.n) {
5901
5916
  case 0:
@@ -5907,6 +5922,10 @@ var getXcmFee = /*#__PURE__*/function () {
5907
5922
  return getXcmFeeInternal(options, false);
5908
5923
  case 2:
5909
5924
  real = _context.v;
5925
+ api = options.api;
5926
+ _context.n = 3;
5927
+ return api.disconnect();
5928
+ case 3:
5910
5929
  return _context.a(2, _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, forced), {}, {
5911
5930
  origin: _objectSpread2(_objectSpread2({}, forced.origin), {}, {
5912
5931
  sufficient: real.origin.sufficient
@@ -5944,12 +5963,13 @@ var BRIDGE_FEE_DOT = 682395810n; // 0.068239581 DOT
5944
5963
  var BRIDGE_FEE_KSM = 12016807000n; // 0.012016807 KSM
5945
5964
  var getXcmFeeEstimate = /*#__PURE__*/function () {
5946
5965
  var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(options) {
5947
- var api, origin, destination, currency, feeAsset, address, senderAddress, originAsset, amount, resolvedFeeAsset, destApi, _ref2, _ref3, fixedOriginFee, fixedDestinationFee, originSufficient, _destinationSufficient, originFeeDetails, currencyInput, destinationFee, destinationSufficient, destFeeDetails, _t;
5966
+ var api, origin, destination, currency, feeAsset, address, senderAddress, originAsset, destAsset, amount, resolvedFeeAsset, destApi, _ref2, _ref3, fixedOriginFee, fixedDestinationFee, originSufficient, _destinationSufficient, originFeeDetails, currencyInput, destinationFee, destinationSufficient, destFeeDetails, _t;
5948
5967
  return _regenerator().w(function (_context) {
5949
5968
  while (1) switch (_context.n) {
5950
5969
  case 0:
5951
5970
  api = options.api, origin = options.origin, destination = options.destination, currency = options.currency, feeAsset = options.feeAsset, address = options.address, senderAddress = options.senderAddress;
5952
5971
  originAsset = findAssetInfoOrThrow(origin, currency, destination);
5972
+ destAsset = findAssetOnDestOrThrow(origin, destination, currency);
5953
5973
  amount = abstractDecimals(currency.amount, originAsset.decimals, api);
5954
5974
  resolvedFeeAsset = feeAsset ? resolveFeeAsset(feeAsset, origin, destination, currency) : undefined;
5955
5975
  _context.n = 1;
@@ -5978,11 +5998,13 @@ var getXcmFeeEstimate = /*#__PURE__*/function () {
5978
5998
  origin: {
5979
5999
  fee: fixedOriginFee,
5980
6000
  currency: getNativeAssetSymbol(origin),
6001
+ asset: resolvedFeeAsset !== null && resolvedFeeAsset !== void 0 ? resolvedFeeAsset : originAsset,
5981
6002
  sufficient: originSufficient
5982
6003
  },
5983
6004
  destination: {
5984
6005
  fee: fixedDestinationFee,
5985
6006
  currency: getNativeAssetSymbol(destination),
6007
+ asset: destAsset,
5986
6008
  sufficient: _destinationSufficient
5987
6009
  }
5988
6010
  });
@@ -6020,6 +6042,7 @@ var getXcmFeeEstimate = /*#__PURE__*/function () {
6020
6042
  destFeeDetails = {
6021
6043
  fee: destinationFee,
6022
6044
  currency: getNativeAssetSymbol(destination),
6045
+ asset: destAsset,
6023
6046
  sufficient: destinationSufficient
6024
6047
  };
6025
6048
  return _context.a(2, {
@@ -6036,11 +6059,11 @@ var getXcmFeeEstimate = /*#__PURE__*/function () {
6036
6059
 
6037
6060
  var transferRelayToPara = /*#__PURE__*/function () {
6038
6061
  var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(options) {
6039
- var api, origin, destination, asset, address, paraIdTo, version, pallet, method, isLocationDestination, serializedApiCall;
6062
+ var api, origin, destination, isLocationDestination, serializedApiCall;
6040
6063
  return _regenerator().w(function (_context) {
6041
6064
  while (1) switch (_context.n) {
6042
6065
  case 0:
6043
- api = options.api, origin = options.origin, destination = options.destination, asset = options.assetInfo, address = options.address, paraIdTo = options.paraIdTo, version = options.version, pallet = options.pallet, method = options.method;
6066
+ api = options.api, origin = options.origin, destination = options.destination;
6044
6067
  isLocationDestination = _typeof(destination) === 'object';
6045
6068
  if (!(api.getConfig() === undefined && isLocationDestination)) {
6046
6069
  _context.n = 1;
@@ -6051,17 +6074,10 @@ var transferRelayToPara = /*#__PURE__*/function () {
6051
6074
  _context.n = 2;
6052
6075
  return api.init(origin, TX_CLIENT_TIMEOUT_MS);
6053
6076
  case 2:
6054
- serializedApiCall = getChain(isLocationDestination ? resolveTChainFromLocation(origin, destination) : destination).transferRelayToPara({
6055
- api: api,
6056
- origin: origin,
6057
- destination: destination,
6058
- address: address,
6059
- paraIdTo: paraIdTo,
6060
- assetInfo: asset,
6061
- version: version,
6062
- pallet: pallet,
6063
- method: method
6064
- });
6077
+ _context.n = 3;
6078
+ return getChain(isLocationDestination ? resolveTChainFromLocation(origin, destination) : destination).transferRelayToPara(options);
6079
+ case 3:
6080
+ serializedApiCall = _context.v;
6065
6081
  return _context.a(2, api.callTxMethod(serializedApiCall));
6066
6082
  }
6067
6083
  }, _callee);
@@ -6142,6 +6158,7 @@ var send = /*#__PURE__*/function () {
6142
6158
  assetInfo: _objectSpread2(_objectSpread2({}, asset), {}, {
6143
6159
  amount: finalAmount
6144
6160
  }),
6161
+ currency: currency,
6145
6162
  paraIdTo: paraIdTo,
6146
6163
  version: resolvedVersion,
6147
6164
  pallet: pallet,
@@ -6200,9 +6217,9 @@ var buildTypeAndThenCall = function buildTypeAndThenCall(_ref, isDotAsset, custo
6200
6217
  var finalDest = origin.chain === reserve.chain ? dest.chain : reserve.chain;
6201
6218
  var destLocation = createDestination(version, origin.chain, finalDest, getParaId(finalDest));
6202
6219
  var reserveType = origin.chain === reserve.chain ? 'LocalReserve' : 'DestinationReserve';
6203
- var feeMultiAsset = createAsset(version, assetInfo.amount, feeAssetLocation);
6220
+ var feeMultiAsset = createAsset(version, assetInfo.amount, isRelayChain(origin.chain) ? localizeLocation(origin.chain, feeAssetLocation) : feeAssetLocation);
6204
6221
  return {
6205
- module: 'PolkadotXcm',
6222
+ module: isRelayChain(origin.chain) ? 'XcmPallet' : 'PolkadotXcm',
6206
6223
  method: 'transfer_assets_using_type_and_then',
6207
6224
  parameters: {
6208
6225
  dest: addXcmVersionHeader(destLocation, version),
@@ -6325,22 +6342,27 @@ var computeAllFees = /*#__PURE__*/function () {
6325
6342
 
6326
6343
  var createTypeAndThenCallContext = /*#__PURE__*/function () {
6327
6344
  var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(chain, options) {
6328
- var api, paraIdTo, assetInfo, destChain, reserveChain, destApi, reserveApi;
6345
+ var api, destChain, assetInfo, reserveChain, destApi, reserveApi;
6329
6346
  return _regenerator().w(function (_context) {
6330
6347
  while (1) switch (_context.n) {
6331
6348
  case 0:
6332
- api = options.api, paraIdTo = options.paraIdTo, assetInfo = options.assetInfo;
6349
+ api = options.api, destChain = options.destChain, assetInfo = options.assetInfo;
6333
6350
  assertHasLocation(assetInfo);
6334
- destChain = getTChain(paraIdTo, getRelayChainOf(chain));
6351
+ if (destChain) {
6352
+ _context.n = 1;
6353
+ break;
6354
+ }
6355
+ throw new InvalidParameterError('Cannot override destination when using type and then transfer.');
6356
+ case 1:
6335
6357
  reserveChain = isRelayChain(destChain) ? destChain : getAssetReserveChain(chain, chain, assetInfo.location);
6336
6358
  destApi = api.clone();
6337
- _context.n = 1;
6359
+ _context.n = 2;
6338
6360
  return destApi.init(destChain);
6339
- case 1:
6361
+ case 2:
6340
6362
  reserveApi = reserveChain !== chain ? api.clone() : destApi;
6341
- _context.n = 2;
6363
+ _context.n = 3;
6342
6364
  return reserveApi.init(reserveChain);
6343
- case 2:
6365
+ case 3:
6344
6366
  return _context.a(2, {
6345
6367
  origin: {
6346
6368
  api: api,
@@ -6440,12 +6462,12 @@ var createRefundInstruction = function createRefundInstruction(api, senderAddres
6440
6462
  };
6441
6463
  };
6442
6464
 
6443
- var buildAssets = function buildAssets(asset, feeAmount, isDotAsset, version) {
6465
+ var buildAssets = function buildAssets(chain, asset, feeAmount, isDotAsset, version) {
6444
6466
  var assets = [];
6445
6467
  if (!isDotAsset) {
6446
6468
  assets.push(createAsset(version, feeAmount, RELAY_LOCATION));
6447
6469
  }
6448
- assets.push(createAsset(version, asset.amount, asset.location));
6470
+ assets.push(createAsset(version, asset.amount, isRelayChain(chain) ? localizeLocation(chain, asset.location) : asset.location));
6449
6471
  return assets;
6450
6472
  };
6451
6473
  /**
@@ -6483,7 +6505,7 @@ var createTypeAndThenCall = /*#__PURE__*/function () {
6483
6505
  if (refundInstruction) finalCustomXcm.push(refundInstruction);
6484
6506
  finalCustomXcm.push(createCustomXcm(context, isDotAsset, fees));
6485
6507
  totalFee = fees.reserveFee + fees.destFee + fees.refundFee;
6486
- assets = buildAssets(assetInfo, totalFee, isDotAsset, version);
6508
+ assets = buildAssets(chain, assetInfo, totalFee, isDotAsset, version);
6487
6509
  return _context.a(2, buildTypeAndThenCall(context, isDotAsset, finalCustomXcm, assets));
6488
6510
  }
6489
6511
  }, _callee);
@@ -6654,7 +6676,7 @@ var buildDestInfo = /*#__PURE__*/function () {
6654
6676
  receivedAmount = destbalanceAfterResult - destBalance;
6655
6677
  }
6656
6678
  }
6657
- isDestFeeInNativeCurrency = destFeeDetail.currency === getNativeAssetSymbol(destination);
6679
+ isDestFeeInNativeCurrency = destFeeDetail.asset.symbol === getNativeAssetSymbol(destination);
6658
6680
  if (!isDestFeeInNativeCurrency) {
6659
6681
  _context.n = 5;
6660
6682
  break;
@@ -6681,13 +6703,15 @@ var buildDestInfo = /*#__PURE__*/function () {
6681
6703
  balance: destBalance,
6682
6704
  balanceAfter: destbalanceAfterResult,
6683
6705
  currencySymbol: destAsset.symbol,
6706
+ asset: destAsset,
6684
6707
  existentialDeposit: edDestBn
6685
6708
  },
6686
6709
  xcmFee: {
6687
6710
  fee: destFeeDetail.fee,
6688
6711
  balance: destXcmFeeBalance,
6689
6712
  balanceAfter: destXcmFeeBalanceAfter,
6690
- currencySymbol: destFeeDetail.currency
6713
+ currencySymbol: destFeeDetail.currency,
6714
+ asset: destFeeDetail.asset
6691
6715
  }
6692
6716
  });
6693
6717
  }
@@ -6700,11 +6724,11 @@ var buildDestInfo = /*#__PURE__*/function () {
6700
6724
 
6701
6725
  var buildHopInfo = /*#__PURE__*/function () {
6702
6726
  var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref) {
6703
- var api, chain, feeData, originChain, currency, senderAddress, ahAddress, hopApi, resolvedAddress, nativeBalanceOnHop, nativeAssetSymbolOnHop, xcmFeeDetails, isBridgeHub, hopAsset, hopCurrencyPayload, balance, ed;
6727
+ var api, chain, feeData, originChain, asset, currency, senderAddress, ahAddress, hopApi, resolvedAddress, nativeBalanceOnHop, nativeAssetSymbolOnHop, xcmFeeDetails, isBridgeHub, hopAsset, hopCurrencyPayload, balance, ed;
6704
6728
  return _regenerator().w(function (_context) {
6705
6729
  while (1) switch (_context.p = _context.n) {
6706
6730
  case 0:
6707
- api = _ref.api, chain = _ref.chain, feeData = _ref.feeData, originChain = _ref.originChain, currency = _ref.currency, senderAddress = _ref.senderAddress, ahAddress = _ref.ahAddress;
6731
+ api = _ref.api, chain = _ref.chain, feeData = _ref.feeData, originChain = _ref.originChain, asset = _ref.asset, currency = _ref.currency, senderAddress = _ref.senderAddress, ahAddress = _ref.ahAddress;
6708
6732
  hopApi = api.clone();
6709
6733
  _context.n = 1;
6710
6734
  return hopApi.init(chain);
@@ -6724,7 +6748,8 @@ var buildHopInfo = /*#__PURE__*/function () {
6724
6748
  xcmFeeDetails = {
6725
6749
  fee: feeData.fee,
6726
6750
  balance: nativeBalanceOnHop,
6727
- currencySymbol: nativeAssetSymbolOnHop
6751
+ currencySymbol: nativeAssetSymbolOnHop,
6752
+ asset: asset
6728
6753
  };
6729
6754
  isBridgeHub = chain.includes('BridgeHub');
6730
6755
  if (!isBridgeHub) {
@@ -6761,6 +6786,7 @@ var buildHopInfo = /*#__PURE__*/function () {
6761
6786
  return _context.a(2, {
6762
6787
  balance: balance,
6763
6788
  currencySymbol: hopAsset.symbol,
6789
+ asset: hopAsset,
6764
6790
  existentialDeposit: BigInt(ed),
6765
6791
  xcmFee: xcmFeeDetails
6766
6792
  });
@@ -6783,7 +6809,7 @@ var buildHopInfo = /*#__PURE__*/function () {
6783
6809
 
6784
6810
  var getTransferInfo = /*#__PURE__*/function () {
6785
6811
  var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref) {
6786
- var api, tx, origin, destination, senderAddress, ahAddress, address, currency, feeAsset, resolvedFeeAsset, originAsset, amount, originBalanceFee, originBalance, edOrigin, _yield$getXcmFee, _yield$getXcmFee$orig, originFee, originFeeCurrency, assetHubFeeResult, bridgeHubFeeResult, destFeeDetail, hops, isFeeAssetAh, originBalanceAfter, originBalanceFeeAfter, originBalanceNativeSufficient, originBalanceSufficient, assetHub, bridgeHub, bridgeHubChain, builtHops, destinationInfo, _t;
6812
+ var api, tx, origin, destination, senderAddress, ahAddress, address, currency, feeAsset, resolvedFeeAsset, originAsset, amount, originBalanceFee, originBalance, edOrigin, _yield$getXcmFee, _yield$getXcmFee$orig, originFee, originFeeCurrency, originFeeAsset, assetHubFeeResult, bridgeHubFeeResult, destFeeDetail, hops, isFeeAssetAh, originBalanceAfter, originBalanceFeeAfter, originBalanceNativeSufficient, originBalanceSufficient, assetHub, bridgeHub, bridgeHubChain, builtHops, destinationInfo, _t;
6787
6813
  return _regenerator().w(function (_context2) {
6788
6814
  while (1) switch (_context2.p = _context2.n) {
6789
6815
  case 0:
@@ -6855,6 +6881,7 @@ var getTransferInfo = /*#__PURE__*/function () {
6855
6881
  _yield$getXcmFee$orig = _yield$getXcmFee.origin;
6856
6882
  originFee = _yield$getXcmFee$orig.fee;
6857
6883
  originFeeCurrency = _yield$getXcmFee$orig.currency;
6884
+ originFeeAsset = _yield$getXcmFee$orig.asset;
6858
6885
  assetHubFeeResult = _yield$getXcmFee.assetHub;
6859
6886
  bridgeHubFeeResult = _yield$getXcmFee.bridgeHub;
6860
6887
  destFeeDetail = _yield$getXcmFee.destination;
@@ -6875,6 +6902,7 @@ var getTransferInfo = /*#__PURE__*/function () {
6875
6902
  feeData: assetHubFeeResult,
6876
6903
  originChain: origin,
6877
6904
  currency: currency,
6905
+ asset: assetHubFeeResult.asset,
6878
6906
  senderAddress: senderAddress,
6879
6907
  ahAddress: ahAddress
6880
6908
  });
@@ -6893,6 +6921,7 @@ var getTransferInfo = /*#__PURE__*/function () {
6893
6921
  feeData: bridgeHubFeeResult,
6894
6922
  originChain: origin,
6895
6923
  currency: currency,
6924
+ asset: bridgeHubFeeResult.asset,
6896
6925
  senderAddress: senderAddress,
6897
6926
  ahAddress: ahAddress
6898
6927
  });
@@ -6918,6 +6947,7 @@ var getTransferInfo = /*#__PURE__*/function () {
6918
6947
  feeData: hop.result,
6919
6948
  originChain: origin,
6920
6949
  currency: currency,
6950
+ asset: hop.result.asset,
6921
6951
  senderAddress: senderAddress,
6922
6952
  ahAddress: ahAddress
6923
6953
  });
@@ -6966,6 +6996,7 @@ var getTransferInfo = /*#__PURE__*/function () {
6966
6996
  balance: originBalance,
6967
6997
  balanceAfter: originBalanceAfter,
6968
6998
  currencySymbol: originAsset.symbol,
6999
+ asset: originAsset,
6969
7000
  existentialDeposit: edOrigin
6970
7001
  },
6971
7002
  xcmFee: {
@@ -6973,7 +7004,8 @@ var getTransferInfo = /*#__PURE__*/function () {
6973
7004
  fee: originFee,
6974
7005
  balance: originBalanceFee,
6975
7006
  balanceAfter: originBalanceFeeAfter,
6976
- currencySymbol: originFeeCurrency
7007
+ currencySymbol: originFeeCurrency,
7008
+ asset: originFeeAsset
6977
7009
  }
6978
7010
  },
6979
7011
  assetHub: assetHub,
@@ -7417,8 +7449,8 @@ var getFailureInfo = function getFailureInfo(results, hops) {
7417
7449
  };
7418
7450
  var dryRunInternal = /*#__PURE__*/function () {
7419
7451
  var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(options) {
7420
- var _traversalResult$brid, _traversalResult$asse, _traversalResult$dest;
7421
- var api, origin, destination, currency, tx, senderAddress, feeAsset, swapConfig, _options$useRootOrigi, useRootOrigin, resolvedFeeAsset, asset, amount, originDryRun, initialForwardedXcms, initialDestParaId, processHop, traversalResult, assetHubChain, bridgeHubChain, processedBridgeHub, bridgeHubHopIndex, originWithCurrency, assetHubWithCurrency, bridgeHubWithCurrency, destinationWithCurrency, _getFailureInfo, failureReason, failureChain, _t;
7452
+ var _traversalResult$brid, _traversalResult$asse;
7453
+ var api, origin, destination, currency, tx, senderAddress, feeAsset, swapConfig, _options$useRootOrigi, useRootOrigin, resolvedFeeAsset, asset, amount, originDryRun, initialForwardedXcms, initialDestParaId, processHop, traversalResult, assetHubChain, bridgeHubChain, processedBridgeHub, bridgeHubHopIndex, assetHubWithCurrency, bridgeHubWithCurrency, _getFailureInfo, failureReason, failureChain, _t;
7422
7454
  return _regenerator().w(function (_context2) {
7423
7455
  while (1) switch (_context2.n) {
7424
7456
  case 0:
@@ -7453,17 +7485,30 @@ var dryRunInternal = /*#__PURE__*/function () {
7453
7485
  initialForwardedXcms = originDryRun.forwardedXcms, initialDestParaId = originDryRun.destParaId;
7454
7486
  processHop = /*#__PURE__*/function () {
7455
7487
  var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(params) {
7456
- var hopApi, currentChain, currentOrigin, currentAsset, forwardedXcms, hasPassedExchange, isDestination, hopDryRun, hopCurrency;
7488
+ var hopApi, currentChain, currentOrigin, currentAsset, forwardedXcms, hasPassedExchange, isDestination, hopAsset, hopDryRun;
7457
7489
  return _regenerator().w(function (_context) {
7458
7490
  while (1) switch (_context.n) {
7459
7491
  case 0:
7460
7492
  hopApi = params.api, currentChain = params.currentChain, currentOrigin = params.currentOrigin, currentAsset = params.currentAsset, forwardedXcms = params.forwardedXcms, hasPassedExchange = params.hasPassedExchange, isDestination = params.isDestination;
7493
+ if (destination === 'Ethereum' && (currentChain.includes('AssetHub') || currentChain.includes('BridgeHub'))) {
7494
+ hopAsset = findAssetInfoOrThrow(currentChain, {
7495
+ symbol: Native(getNativeAssetSymbol(currentChain))
7496
+ }, destination);
7497
+ } else if (hasPassedExchange && swapConfig && currentChain !== swapConfig.exchangeChain) {
7498
+ hopAsset = findAssetOnDestOrThrow(swapConfig.exchangeChain, currentChain, swapConfig.currencyTo);
7499
+ } else if (isDestination) {
7500
+ hopAsset = findAssetOnDestOrThrow(origin, currentChain, currency);
7501
+ } else {
7502
+ hopAsset = asset;
7503
+ }
7461
7504
  if (hasDryRunSupport(currentChain)) {
7462
7505
  _context.n = 1;
7463
7506
  break;
7464
7507
  }
7465
7508
  return _context.a(2, {
7466
7509
  success: false,
7510
+ currency: currentAsset.symbol,
7511
+ asset: currentAsset,
7467
7512
  failureReason: "DryRunApi is not available on chain ".concat(currentChain)
7468
7513
  });
7469
7514
  case 1:
@@ -7480,24 +7525,10 @@ var dryRunInternal = /*#__PURE__*/function () {
7480
7525
  });
7481
7526
  case 2:
7482
7527
  hopDryRun = _context.v;
7483
- if (!hopDryRun.success) {
7484
- _context.n = 3;
7485
- break;
7486
- }
7487
- if (destination === 'Ethereum' && (currentChain.includes('AssetHub') || currentChain.includes('BridgeHub'))) {
7488
- hopCurrency = getNativeAssetSymbol(currentChain);
7489
- } else if (hasPassedExchange && swapConfig && currentChain !== swapConfig.exchangeChain) {
7490
- hopCurrency = findAssetOnDestOrThrow(swapConfig.exchangeChain, currentChain, swapConfig.currencyTo).symbol;
7491
- } else if (isDestination) {
7492
- hopCurrency = findAssetOnDestOrThrow(origin, currentChain, currency).symbol;
7493
- } else {
7494
- hopCurrency = asset.symbol;
7495
- }
7496
7528
  return _context.a(2, _objectSpread2(_objectSpread2({}, hopDryRun), {}, {
7497
- currency: hopCurrency
7529
+ currency: hopAsset.symbol,
7530
+ asset: hopAsset
7498
7531
  }));
7499
- case 3:
7500
- return _context.a(2, hopDryRun);
7501
7532
  }
7502
7533
  }, _callee);
7503
7534
  }));
@@ -7555,30 +7586,30 @@ var dryRunInternal = /*#__PURE__*/function () {
7555
7586
  });
7556
7587
  }
7557
7588
  }
7558
- originWithCurrency = originDryRun.success ? _objectSpread2(_objectSpread2({}, originDryRun), {}, {
7559
- currency: resolvedFeeAsset ? resolvedFeeAsset.symbol : getNativeAssetSymbol(origin)
7560
- }) : originDryRun;
7561
7589
  assetHubWithCurrency = (_traversalResult$asse = traversalResult.assetHub) !== null && _traversalResult$asse !== void 0 && _traversalResult$asse.success ? _objectSpread2(_objectSpread2({}, traversalResult.assetHub), {}, {
7562
- currency: resolvedFeeAsset ? resolvedFeeAsset.symbol : getNativeAssetSymbol(assetHubChain)
7590
+ currency: resolvedFeeAsset ? resolvedFeeAsset.symbol : getNativeAssetSymbol(assetHubChain),
7591
+ asset: resolvedFeeAsset !== null && resolvedFeeAsset !== void 0 ? resolvedFeeAsset : findAssetInfoOrThrow(assetHubChain, {
7592
+ symbol: Native(getNativeAssetSymbol(assetHubChain))
7593
+ }, destination)
7563
7594
  }) : traversalResult.assetHub;
7564
7595
  bridgeHubWithCurrency = processedBridgeHub !== null && processedBridgeHub !== void 0 && processedBridgeHub.success ? _objectSpread2(_objectSpread2({}, processedBridgeHub), {}, {
7565
- currency: getNativeAssetSymbol(bridgeHubChain)
7596
+ currency: getNativeAssetSymbol(bridgeHubChain),
7597
+ asset: findAssetInfoOrThrow(bridgeHubChain, {
7598
+ symbol: Native(getNativeAssetSymbol(bridgeHubChain))
7599
+ }, destination)
7566
7600
  }) : processedBridgeHub;
7567
- destinationWithCurrency = (_traversalResult$dest = traversalResult.destination) !== null && _traversalResult$dest !== void 0 && _traversalResult$dest.success ? _objectSpread2(_objectSpread2({}, traversalResult.destination), {}, {
7568
- currency: asset === null || asset === void 0 ? void 0 : asset.symbol
7569
- }) : traversalResult.destination;
7570
7601
  _getFailureInfo = getFailureInfo({
7571
- destination: destinationWithCurrency,
7602
+ destination: traversalResult.destination,
7572
7603
  assetHub: assetHubWithCurrency,
7573
7604
  bridgeHub: bridgeHubWithCurrency
7574
7605
  }, traversalResult.hops), failureReason = _getFailureInfo.failureReason, failureChain = _getFailureInfo.failureChain;
7575
7606
  return _context2.a(2, {
7576
7607
  failureReason: failureReason,
7577
7608
  failureChain: failureChain,
7578
- origin: originWithCurrency,
7609
+ origin: originDryRun,
7579
7610
  assetHub: assetHubWithCurrency,
7580
7611
  bridgeHub: bridgeHubWithCurrency,
7581
- destination: destinationWithCurrency,
7612
+ destination: traversalResult.destination,
7582
7613
  hops: traversalResult.hops
7583
7614
  });
7584
7615
  }
@@ -8309,20 +8340,21 @@ var Parachain = /*#__PURE__*/function () {
8309
8340
  key: "canUseXTokens",
8310
8341
  value: function canUseXTokens(options) {
8311
8342
  var asset = options.assetInfo;
8312
- var isEthAsset = asset.location && findAssetInfoByLoc(getOtherAssets('Ethereum'), asset.location);
8313
- return !isEthAsset && !this.shouldUseNativeAssetTeleport(options);
8343
+ var isExternalAsset = asset.location && asset.location.parents === Parents.TWO;
8344
+ return !isExternalAsset && !this.shouldUseNativeAssetTeleport(options);
8314
8345
  }
8315
8346
  }, {
8316
8347
  key: "transfer",
8317
8348
  value: function () {
8318
8349
  var _transfer = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(sendOptions) {
8319
- var api, asset, currency, feeAsset, feeCurrency, address, destination, paraIdTo, overriddenAsset, version, senderAddress, ahAddress, pallet, method, scenario, paraId, isLocalTransfer, isBifrostOrigin, isJamtonOrigin, isAssetHubDest, useMultiAssets, input, options, shouldUseTeleport, isAHPOrigin, isAHPDest, isEthAsset, isEthDest, isEthAssetViaAh, isEthAssetToAh, call;
8350
+ var api, asset, currency, feeAsset, feeCurrency, address, destination, paraIdTo, overriddenAsset, version, senderAddress, ahAddress, pallet, method, scenario, paraId, destChain, isLocalTransfer, isRelayAsset, supportsTypeThen, useTypeAndThen, isBifrostOrigin, isJamtonOrigin, isAssetHubDest, useMultiAssets, input, options, shouldUseTeleport, isAhToOtherPara, isOtherParaToAh, isAHPOrigin, isAHPDest, isExternalAsset, isEthDest, isExternalAssetViaAh, isExternalAssetToAh, call;
8320
8351
  return _regenerator().w(function (_context) {
8321
8352
  while (1) switch (_context.n) {
8322
8353
  case 0:
8323
8354
  api = sendOptions.api, asset = sendOptions.assetInfo, currency = sendOptions.currency, feeAsset = sendOptions.feeAsset, feeCurrency = sendOptions.feeCurrency, address = sendOptions.address, destination = sendOptions.to, paraIdTo = sendOptions.paraIdTo, overriddenAsset = sendOptions.overriddenAsset, version = sendOptions.version, senderAddress = sendOptions.senderAddress, ahAddress = sendOptions.ahAddress, pallet = sendOptions.pallet, method = sendOptions.method;
8324
8355
  scenario = resolveScenario(this.chain, destination);
8325
8356
  paraId = resolveParaId(paraIdTo, destination);
8357
+ destChain = resolveDestChain(this.chain, paraId);
8326
8358
  if (!(destination === 'Polimec' && this.chain !== 'AssetHubPolkadot' && this.chain !== 'Hydration' && this.chain !== destination)) {
8327
8359
  _context.n = 1;
8328
8360
  break;
@@ -8336,10 +8368,22 @@ var Parachain = /*#__PURE__*/function () {
8336
8368
  }
8337
8369
  return _context.a(2, this.transferLocal(sendOptions));
8338
8370
  case 2:
8339
- if (!(supportsXTokens(this) && this.canUseXTokens(sendOptions))) {
8371
+ isRelayAsset = deepEqual(asset.location, RELAY_LOCATION);
8372
+ _context.n = 3;
8373
+ return api.hasMethod('PolkadotXcm', 'transfer_assets_using_type_and_then');
8374
+ case 3:
8375
+ supportsTypeThen = _context.v;
8376
+ if (!(isRelayAsset && !supportsTypeThen)) {
8340
8377
  _context.n = 4;
8341
8378
  break;
8342
8379
  }
8380
+ throw new InvalidParameterError('Relaychain assets can only be transferred using the type-and-then method which is not supported by this chain');
8381
+ case 4:
8382
+ useTypeAndThen = isRelayAsset && supportsTypeThen;
8383
+ if (!(supportsXTokens(this) && this.canUseXTokens(sendOptions) && !useTypeAndThen)) {
8384
+ _context.n = 6;
8385
+ break;
8386
+ }
8343
8387
  isBifrostOrigin = this.chain === 'BifrostPolkadot' || this.chain === 'BifrostKusama';
8344
8388
  isJamtonOrigin = this.chain === 'Jamton';
8345
8389
  isAssetHubDest = destination === 'AssetHubPolkadot' || destination === 'AssetHubKusama';
@@ -8358,15 +8402,15 @@ var Parachain = /*#__PURE__*/function () {
8358
8402
  method: method
8359
8403
  };
8360
8404
  if (!useMultiAssets) {
8361
- _context.n = 3;
8405
+ _context.n = 5;
8362
8406
  break;
8363
8407
  }
8364
8408
  return _context.a(2, transferXTokens(input, undefined));
8365
- case 3:
8409
+ case 5:
8366
8410
  return _context.a(2, this.transferXTokens(input));
8367
- case 4:
8411
+ case 6:
8368
8412
  if (!supportsXTransfer(this)) {
8369
- _context.n = 5;
8413
+ _context.n = 7;
8370
8414
  break;
8371
8415
  }
8372
8416
  return _context.a(2, this.transferXTransfer({
@@ -8380,9 +8424,9 @@ var Parachain = /*#__PURE__*/function () {
8380
8424
  pallet: pallet,
8381
8425
  method: method
8382
8426
  }));
8383
- case 5:
8384
- if (!supportsPolkadotXCM(this)) {
8385
- _context.n = 9;
8427
+ case 7:
8428
+ if (!(supportsPolkadotXCM(this) || useTypeAndThen)) {
8429
+ _context.n = 12;
8386
8430
  break;
8387
8431
  }
8388
8432
  options = {
@@ -8402,6 +8446,7 @@ var Parachain = /*#__PURE__*/function () {
8402
8446
  feeCurrency: feeCurrency,
8403
8447
  scenario: scenario,
8404
8448
  destination: destination,
8449
+ destChain: destChain,
8405
8450
  paraIdTo: paraId,
8406
8451
  version: version,
8407
8452
  senderAddress: senderAddress,
@@ -8410,32 +8455,44 @@ var Parachain = /*#__PURE__*/function () {
8410
8455
  method: method
8411
8456
  };
8412
8457
  shouldUseTeleport = this.shouldUseNativeAssetTeleport(sendOptions);
8413
- if (!((this.chain.includes('AssetHub') && destination !== 'Mythos' && typeof destination === 'string' && !isSystemChain(destination) || !isSystemChain(this.chain) && this.chain !== 'Mythos' && typeof destination === 'string' && destination.includes('AssetHub')) && shouldUseTeleport)) {
8414
- _context.n = 6;
8458
+ isAhToOtherPara = this.chain.startsWith('AssetHub') && destChain && !isTrustedChain(destChain);
8459
+ isOtherParaToAh = (destChain === null || destChain === void 0 ? void 0 : destChain.startsWith('AssetHub')) && !isTrustedChain(this.chain);
8460
+ if (!((isAhToOtherPara || isOtherParaToAh) && shouldUseTeleport)) {
8461
+ _context.n = 8;
8415
8462
  break;
8416
8463
  }
8417
8464
  throw new TransferToAhNotSupported('Native asset transfers to or from AssetHub are temporarily disabled');
8418
- case 6:
8465
+ case 8:
8466
+ if (!(this.chain === 'Astar' && isRelayAsset)) {
8467
+ _context.n = 9;
8468
+ break;
8469
+ }
8470
+ throw new InvalidParameterError('Astar system asset transfers are temporarily disabled');
8471
+ case 9:
8419
8472
  isAHPOrigin = this.chain.includes('AssetHub');
8420
8473
  isAHPDest = !isTLocation(destination) && destination.includes('AssetHub'); // Handle common cases
8421
- isEthAsset = asset.location && findAssetInfoByLoc(getOtherAssets('Ethereum'), asset.location);
8422
- isEthDest = destination === 'Ethereum'; // Eth asset - Any origin to any dest via AH - DestinationReserve - multiple instructions
8423
- isEthAssetViaAh = isEthAsset && !isAHPOrigin && !isAHPDest && !isEthDest && !feeAsset; // Eth asset - Any origin to AHP - DestinationReserve - one DepositAsset instruction
8424
- isEthAssetToAh = isEthAsset && isAHPDest && !isAHPOrigin && !isEthDest && !feeAsset;
8425
- if (!(isEthAssetViaAh || isEthAssetToAh)) {
8426
- _context.n = 8;
8474
+ isExternalAsset = asset.location && asset.location.parents === Parents.TWO;
8475
+ isEthDest = destination === 'Ethereum'; // External asset - Any origin to any dest via AH - DestinationReserve - multiple instructions
8476
+ isExternalAssetViaAh = isExternalAsset && !isAHPOrigin && !isAHPDest && !isEthDest && !feeAsset; // External asset - Any origin to AHP - DestinationReserve - one DepositAsset instruction
8477
+ isExternalAssetToAh = isExternalAsset && isAHPDest && !isAHPOrigin && !isEthDest && !feeAsset;
8478
+ if (!(isExternalAssetViaAh || isExternalAssetToAh || useTypeAndThen)) {
8479
+ _context.n = 11;
8427
8480
  break;
8428
8481
  }
8429
- _context.n = 7;
8482
+ _context.n = 10;
8430
8483
  return createTypeAndThenCall(this.chain, options);
8431
- case 7:
8484
+ case 10:
8432
8485
  call = _context.v;
8433
8486
  return _context.a(2, api.callTxMethod(call));
8434
- case 8:
8487
+ case 11:
8488
+ if (!supportsPolkadotXCM(this)) {
8489
+ _context.n = 12;
8490
+ break;
8491
+ }
8435
8492
  return _context.a(2, this.transferPolkadotXCM(options));
8436
- case 9:
8493
+ case 12:
8437
8494
  throw new NoXCMSupportImplementedError(this._chain);
8438
- case 10:
8495
+ case 13:
8439
8496
  return _context.a(2);
8440
8497
  }
8441
8498
  }, _callee, this);
@@ -8464,32 +8521,69 @@ var Parachain = /*#__PURE__*/function () {
8464
8521
  key: "getRelayToParaOverrides",
8465
8522
  value: function getRelayToParaOverrides() {
8466
8523
  return {
8467
- method: 'limited_reserve_transfer_assets',
8524
+ method: 'transfer_assets_using_type_and_then',
8468
8525
  includeFee: true
8469
8526
  };
8470
8527
  }
8471
8528
  }, {
8472
8529
  key: "transferRelayToPara",
8473
- value: function transferRelayToPara(options) {
8474
- var version = options.version,
8475
- pallet = options.pallet,
8476
- methodOverride = options.method;
8477
- var _this$getRelayToParaO = this.getRelayToParaOverrides(),
8478
- method = _this$getRelayToParaO.method,
8479
- includeFee = _this$getRelayToParaO.includeFee;
8480
- return {
8481
- module: pallet !== null && pallet !== void 0 ? pallet : 'XcmPallet',
8482
- method: methodOverride !== null && methodOverride !== void 0 ? methodOverride : method,
8483
- parameters: constructRelayToParaParameters(options, version, {
8484
- includeFee: includeFee
8485
- })
8486
- };
8487
- }
8530
+ value: function () {
8531
+ var _transferRelayToPara = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(options) {
8532
+ var api, version, pallet, assetInfo, address, destination, paraIdTo, methodOverride, _this$getRelayToParaO, method, includeFee, customMethod, paraId, destChain, scenario;
8533
+ return _regenerator().w(function (_context2) {
8534
+ while (1) switch (_context2.n) {
8535
+ case 0:
8536
+ api = options.api, version = options.version, pallet = options.pallet, assetInfo = options.assetInfo, address = options.address, destination = options.destination, paraIdTo = options.paraIdTo, methodOverride = options.method;
8537
+ _this$getRelayToParaO = this.getRelayToParaOverrides(), method = _this$getRelayToParaO.method, includeFee = _this$getRelayToParaO.includeFee;
8538
+ customMethod = methodOverride !== null && methodOverride !== void 0 ? methodOverride : method;
8539
+ if (!(customMethod === 'transfer_assets_using_type_and_then')) {
8540
+ _context2.n = 2;
8541
+ break;
8542
+ }
8543
+ paraId = resolveParaId(paraIdTo, destination);
8544
+ destChain = resolveDestChain(this.chain, paraId);
8545
+ scenario = 'RelayToPara';
8546
+ if (destChain) {
8547
+ _context2.n = 1;
8548
+ break;
8549
+ }
8550
+ throw new InvalidParameterError('Cannot override destination when using type and then transfer.');
8551
+ case 1:
8552
+ return _context2.a(2, createTypeAndThenCall(getRelayChainOf(destChain), _objectSpread2(_objectSpread2({}, options), {}, {
8553
+ beneficiaryLocation: createBeneficiaryLocation({
8554
+ api: api,
8555
+ address: address,
8556
+ version: version
8557
+ }),
8558
+ asset: this.createCurrencySpec(assetInfo.amount, scenario, version, assetInfo, false),
8559
+ destLocation: createDestination(version, this.chain, destination, paraId),
8560
+ scenario: scenario,
8561
+ destChain: destChain,
8562
+ paraIdTo: paraId
8563
+ })));
8564
+ case 2:
8565
+ return _context2.a(2, {
8566
+ module: pallet !== null && pallet !== void 0 ? pallet : 'XcmPallet',
8567
+ method: customMethod,
8568
+ parameters: constructRelayToParaParameters(options, version, {
8569
+ includeFee: includeFee
8570
+ })
8571
+ });
8572
+ }
8573
+ }, _callee2, this);
8574
+ }));
8575
+ function transferRelayToPara(_x2) {
8576
+ return _transferRelayToPara.apply(this, arguments);
8577
+ }
8578
+ return transferRelayToPara;
8579
+ }()
8488
8580
  }, {
8489
8581
  key: "createCurrencySpec",
8490
- value: function createCurrencySpec(amount, scenario, version, _asset, _isOverridenAsset) {
8582
+ value: function createCurrencySpec(amount, scenario, version, asset, _isOverridenAsset) {
8583
+ var isRelayAsset = deepEqual(asset === null || asset === void 0 ? void 0 : asset.location, RELAY_LOCATION);
8584
+ var parents = scenario === 'ParaToRelay' || isRelayAsset && isTrustedChain(this.chain) ? Parents.ONE : Parents.ZERO;
8491
8585
  return createAsset(version, amount, {
8492
- parents: scenario === 'ParaToRelay' ? Parents.ONE : Parents.ZERO,
8586
+ parents: parents,
8493
8587
  interior: 'Here'
8494
8588
  });
8495
8589
  }
@@ -8555,7 +8649,7 @@ var Parachain = /*#__PURE__*/function () {
8555
8649
  }, {
8556
8650
  key: "transferToEthereum",
8557
8651
  value: function () {
8558
- var _transferToEthereum = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(input) {
8652
+ var _transferToEthereum = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(input) {
8559
8653
  var _feeAsset$location;
8560
8654
  var useOnlyDepositInstruction,
8561
8655
  api,
@@ -8578,18 +8672,18 @@ var Parachain = /*#__PURE__*/function () {
8578
8672
  customXcmOnDest,
8579
8673
  messageId,
8580
8674
  call,
8581
- _args2 = arguments;
8582
- return _regenerator().w(function (_context2) {
8583
- while (1) switch (_context2.n) {
8675
+ _args3 = arguments;
8676
+ return _regenerator().w(function (_context3) {
8677
+ while (1) switch (_context3.n) {
8584
8678
  case 0:
8585
- useOnlyDepositInstruction = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : false;
8679
+ useOnlyDepositInstruction = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : false;
8586
8680
  api = input.api, asset = input.assetInfo, version = input.version, destination = input.destination, address = input.address, senderAddress = input.senderAddress, feeAsset = input.feeAssetInfo;
8587
- _context2.n = 1;
8681
+ _context3.n = 1;
8588
8682
  return getBridgeStatus(api.clone());
8589
8683
  case 1:
8590
- bridgeStatus = _context2.v;
8684
+ bridgeStatus = _context3.v;
8591
8685
  if (!(bridgeStatus !== 'Normal')) {
8592
- _context2.n = 2;
8686
+ _context3.n = 2;
8593
8687
  break;
8594
8688
  }
8595
8689
  throw new BridgeHaltedError();
@@ -8597,20 +8691,20 @@ var Parachain = /*#__PURE__*/function () {
8597
8691
  assertHasLocation(asset);
8598
8692
  assertAddressIsString(address);
8599
8693
  if (!(senderAddress === undefined)) {
8600
- _context2.n = 3;
8694
+ _context3.n = 3;
8601
8695
  break;
8602
8696
  }
8603
8697
  throw new InvalidParameterError('Sender address is required for transfers to Ethereum');
8604
8698
  case 3:
8605
8699
  ethAsset = createAsset(version, asset.amount, asset.location);
8606
- _context2.n = 4;
8700
+ _context3.n = 4;
8607
8701
  return api.createApiForChain('AssetHubPolkadot');
8608
8702
  case 4:
8609
- ahApi = _context2.v;
8610
- _context2.n = 5;
8703
+ ahApi = _context3.v;
8704
+ _context3.n = 5;
8611
8705
  return getParaEthTransferFees(ahApi);
8612
8706
  case 5:
8613
- _yield$getParaEthTran = _context2.v;
8707
+ _yield$getParaEthTran = _context3.v;
8614
8708
  _yield$getParaEthTran2 = _slicedToArray(_yield$getParaEthTran, 2);
8615
8709
  bridgeFee = _yield$getParaEthTran2[0];
8616
8710
  executionFee = _yield$getParaEthTran2[1];
@@ -8618,13 +8712,13 @@ var Parachain = /*#__PURE__*/function () {
8618
8712
  fee = useOnlyDepositInstruction ? PARA_TO_PARA_FEE_DOT : bridgeFee + executionFee;
8619
8713
  ethAssetInfo = findAssetInfoByLoc(getOtherAssets('Ethereum'), asset.location);
8620
8714
  if (ethAssetInfo) {
8621
- _context2.n = 6;
8715
+ _context3.n = 6;
8622
8716
  break;
8623
8717
  }
8624
8718
  throw new InvalidCurrencyError("Could not obtain Ethereum asset address for ".concat(JSON.stringify(asset, replaceBigInt)));
8625
8719
  case 6:
8626
8720
  if (!useOnlyDepositInstruction) {
8627
- _context2.n = 7;
8721
+ _context3.n = 7;
8628
8722
  break;
8629
8723
  }
8630
8724
  customXcmOnDest = addXcmVersionHeader([{
@@ -8641,14 +8735,14 @@ var Parachain = /*#__PURE__*/function () {
8641
8735
  })
8642
8736
  }
8643
8737
  }], version);
8644
- _context2.n = 9;
8738
+ _context3.n = 9;
8645
8739
  break;
8646
8740
  case 7:
8647
8741
  assertHasId(ethAssetInfo);
8648
- _context2.n = 8;
8742
+ _context3.n = 8;
8649
8743
  return generateMessageId(api, senderAddress, getParaId(this.chain), ethAssetInfo.assetId, address, asset.amount);
8650
8744
  case 8:
8651
- messageId = _context2.v;
8745
+ messageId = _context3.v;
8652
8746
  customXcmOnDest = createCustomXcmOnDest(input, this.chain, messageId);
8653
8747
  case 9:
8654
8748
  call = {
@@ -8664,11 +8758,11 @@ var Parachain = /*#__PURE__*/function () {
8664
8758
  weight_limit: 'Unlimited'
8665
8759
  }
8666
8760
  };
8667
- return _context2.a(2, api.callTxMethod(call));
8761
+ return _context3.a(2, api.callTxMethod(call));
8668
8762
  }
8669
- }, _callee2, this);
8763
+ }, _callee3, this);
8670
8764
  }));
8671
- function transferToEthereum(_x2) {
8765
+ function transferToEthereum(_x3) {
8672
8766
  return _transferToEthereum.apply(this, arguments);
8673
8767
  }
8674
8768
  return transferToEthereum;
@@ -8819,14 +8913,62 @@ var Ajuna = /*#__PURE__*/function (_Parachain) {
8819
8913
  }]);
8820
8914
  }(Parachain);
8821
8915
 
8822
- var AjunaPaseo = /*#__PURE__*/function (_Ajuna) {
8916
+ var transferPolkadotXcm = function transferPolkadotXcm(_ref, method) {
8917
+ var api = _ref.api,
8918
+ destLocation = _ref.destLocation,
8919
+ asset = _ref.assetInfo,
8920
+ beneficiaryLocation = _ref.beneficiaryLocation,
8921
+ multiAsset = _ref.asset,
8922
+ overriddenAsset = _ref.overriddenAsset,
8923
+ pallet = _ref.pallet,
8924
+ version = _ref.version,
8925
+ methodOverride = _ref.method;
8926
+ var fees = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
8927
+ var resolvedMultiAssets = maybeOverrideAssets(version, asset.amount, [multiAsset], overriddenAsset);
8928
+ var feeAssetIndex = overriddenAsset === undefined || isTLocation(overriddenAsset) ? DEFAULT_FEE_ASSET : overriddenAsset.findIndex(function (asset) {
8929
+ return asset.isFeeAsset;
8930
+ });
8931
+ var call = {
8932
+ module: pallet !== null && pallet !== void 0 ? pallet : 'PolkadotXcm',
8933
+ method: methodOverride !== null && methodOverride !== void 0 ? methodOverride : method,
8934
+ parameters: _objectSpread2({
8935
+ dest: addXcmVersionHeader(destLocation, version),
8936
+ beneficiary: addXcmVersionHeader(beneficiaryLocation, version),
8937
+ assets: addXcmVersionHeader(resolvedMultiAssets, version),
8938
+ fee_asset_item: feeAssetIndex
8939
+ }, fees !== undefined ? {
8940
+ weight_limit: fees
8941
+ } : {})
8942
+ };
8943
+ return Promise.resolve(api.callTxMethod(call));
8944
+ };
8945
+
8946
+ var AjunaPaseo = /*#__PURE__*/function (_Parachain) {
8823
8947
  function AjunaPaseo() {
8824
8948
  _classCallCheck(this, AjunaPaseo);
8825
8949
  return _callSuper(this, AjunaPaseo, ['AjunaPaseo', 'Ajuna(paseo)', 'Paseo', Version.V4]);
8826
8950
  }
8827
- _inherits(AjunaPaseo, _Ajuna);
8828
- return _createClass(AjunaPaseo);
8829
- }(Ajuna);
8951
+ _inherits(AjunaPaseo, _Parachain);
8952
+ return _createClass(AjunaPaseo, [{
8953
+ key: "transferPolkadotXCM",
8954
+ value: function transferPolkadotXCM(input) {
8955
+ var scenario = input.scenario,
8956
+ asset = input.assetInfo;
8957
+ if (scenario !== 'ParaToPara') {
8958
+ throw new ScenarioNotSupportedError(this.chain, scenario);
8959
+ }
8960
+ if (asset.symbol !== this.getNativeAssetSymbol()) {
8961
+ throw new InvalidCurrencyError("Asset ".concat(asset.symbol, " is not supported by chain ").concat(this.chain, "."));
8962
+ }
8963
+ return transferPolkadotXcm(input, 'limited_reserve_transfer_assets', 'Unlimited');
8964
+ }
8965
+ }, {
8966
+ key: "transferRelayToPara",
8967
+ value: function transferRelayToPara() {
8968
+ throw new ChainNotSupportedError();
8969
+ }
8970
+ }]);
8971
+ }(Parachain);
8830
8972
 
8831
8973
  var Altair = /*#__PURE__*/function (_Parachain) {
8832
8974
  function Altair() {
@@ -8891,36 +9033,6 @@ var Amplitude = /*#__PURE__*/function (_Parachain) {
8891
9033
  }]);
8892
9034
  }(Parachain);
8893
9035
 
8894
- var transferPolkadotXcm = function transferPolkadotXcm(_ref, method) {
8895
- var api = _ref.api,
8896
- destLocation = _ref.destLocation,
8897
- asset = _ref.assetInfo,
8898
- beneficiaryLocation = _ref.beneficiaryLocation,
8899
- multiAsset = _ref.asset,
8900
- overriddenAsset = _ref.overriddenAsset,
8901
- pallet = _ref.pallet,
8902
- version = _ref.version,
8903
- methodOverride = _ref.method;
8904
- var fees = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
8905
- var resolvedMultiAssets = maybeOverrideAssets(version, asset.amount, [multiAsset], overriddenAsset);
8906
- var feeAssetIndex = overriddenAsset === undefined || isTLocation(overriddenAsset) ? DEFAULT_FEE_ASSET : overriddenAsset.findIndex(function (asset) {
8907
- return asset.isFeeAsset;
8908
- });
8909
- var call = {
8910
- module: pallet !== null && pallet !== void 0 ? pallet : 'PolkadotXcm',
8911
- method: methodOverride !== null && methodOverride !== void 0 ? methodOverride : method,
8912
- parameters: _objectSpread2({
8913
- dest: addXcmVersionHeader(destLocation, version),
8914
- beneficiary: addXcmVersionHeader(beneficiaryLocation, version),
8915
- assets: addXcmVersionHeader(resolvedMultiAssets, version),
8916
- fee_asset_item: feeAssetIndex
8917
- }, fees !== undefined ? {
8918
- weight_limit: fees
8919
- } : {})
8920
- };
8921
- return Promise.resolve(api.callTxMethod(call));
8922
- };
8923
-
8924
9036
  var AssetHubKusama = /*#__PURE__*/function (_Parachain) {
8925
9037
  function AssetHubKusama() {
8926
9038
  _classCallCheck(this, AssetHubKusama);
@@ -8938,7 +9050,7 @@ var AssetHubKusama = /*#__PURE__*/function (_Parachain) {
8938
9050
  if (destination === 'AssetHubPolkadot') {
8939
9051
  return getChain('AssetHubPolkadot').handleBridgeTransfer(input, 'Polkadot');
8940
9052
  }
8941
- var isTrusted = !isTLocation(destination) && isSystemChain(destination);
9053
+ var isTrusted = !isTLocation(destination) && isTrustedChain(destination);
8942
9054
  if (scenario === 'ParaToPara' && asset.symbol === 'KSM' && !isForeignAsset(asset) && !isTrusted) {
8943
9055
  throw new ScenarioNotSupportedError(this.chain, scenario, 'Para to Para scenarios for KSM transfer from AssetHub are not supported, you have to transfer KSM to Relay chain and transfer to destination chain from Relay chain.');
8944
9056
  }
@@ -9174,7 +9286,7 @@ var AssetHubPolkadot = /*#__PURE__*/function (_Parachain) {
9174
9286
  }, {
9175
9287
  key: "getMethod",
9176
9288
  value: function getMethod(scenario, destination) {
9177
- var isTrusted = !isTLocation(destination) && isSystemChain(destination);
9289
+ var isTrusted = !isTLocation(destination) && isTrustedChain(destination);
9178
9290
  if (destination === 'Polimec' || destination === 'Moonbeam') return 'transfer_assets';
9179
9291
  return scenario === 'ParaToPara' && !isTrusted ? 'limited_reserve_transfer_assets' : 'limited_teleport_assets';
9180
9292
  }
@@ -9182,7 +9294,7 @@ var AssetHubPolkadot = /*#__PURE__*/function (_Parachain) {
9182
9294
  key: "transferPolkadotXCM",
9183
9295
  value: function () {
9184
9296
  var _transferPolkadotXCM = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(options) {
9185
- var api, scenario, assetInfo, destination, feeAssetInfo, overriddenAsset, call, isNativeAsset, isNativeFeeAsset, isEthereumAsset, _call, CHAINS_SUPPORT_DOT_TRANSFER, isTrusted, isDotReserveAh, method, modifiedInput, _t, _t2;
9297
+ var api, scenario, assetInfo, destination, feeAssetInfo, overriddenAsset, call, isNativeAsset, isNativeFeeAsset, isExternalAsset, _call, CHAINS_SUPPORT_DOT_TRANSFER, isTrusted, isDotReserveAh, method, modifiedInput, _t, _t2;
9186
9298
  return _regenerator().w(function (_context3) {
9187
9299
  while (1) switch (_context3.n) {
9188
9300
  case 0:
@@ -9237,8 +9349,8 @@ var AssetHubPolkadot = /*#__PURE__*/function (_Parachain) {
9237
9349
  }
9238
9350
  return _context3.a(2, this.handleMythosTransfer(options));
9239
9351
  case 8:
9240
- isEthereumAsset = assetInfo.location && findAssetInfoByLoc(getOtherAssets('Ethereum'), assetInfo.location);
9241
- if (!isEthereumAsset) {
9352
+ isExternalAsset = assetInfo.location && assetInfo.location.parents === Parents.TWO;
9353
+ if (!isExternalAsset) {
9242
9354
  _context3.n = 10;
9243
9355
  break;
9244
9356
  }
@@ -9249,7 +9361,7 @@ var AssetHubPolkadot = /*#__PURE__*/function (_Parachain) {
9249
9361
  return _context3.a(2, api.callTxMethod(_call));
9250
9362
  case 10:
9251
9363
  CHAINS_SUPPORT_DOT_TRANSFER = new Set(['Hydration', 'Polimec', 'Moonbeam', 'BifrostPolkadot', 'PeoplePolkadot', 'Ajuna']);
9252
- isTrusted = !isTLocation(destination) && isSystemChain(destination);
9364
+ isTrusted = !isTLocation(destination) && isTrustedChain(destination);
9253
9365
  isDotReserveAh = !isTLocation(destination) && CHAINS_SUPPORT_DOT_TRANSFER.has(destination);
9254
9366
  if (!(scenario === 'ParaToPara' && assetInfo.symbol === this.getNativeAssetSymbol() && !isForeignAsset(assetInfo) && !isDotReserveAh && !isTrusted)) {
9255
9367
  _context3.n = 11;
@@ -9626,19 +9738,11 @@ var BridgeHubPolkadot = /*#__PURE__*/function (_Parachain) {
9626
9738
  key: "transferPolkadotXCM",
9627
9739
  value: function transferPolkadotXCM(input) {
9628
9740
  var scenario = input.scenario,
9629
- destination = input.destination;
9630
- var newOverridenAsset = {
9631
- parents: 1,
9632
- interior: {
9633
- Here: null
9634
- }
9635
- };
9636
- input.overriddenAsset = newOverridenAsset;
9637
- if (scenario === 'ParaToPara' && destination !== 'AssetHubPolkadot' && destination !== 'AssetHubKusama' && destination !== 'AssetHubPaseo' && destination !== 'AssetHubWestend') {
9638
- throw new ScenarioNotSupportedError(this.chain, scenario, 'Unable to use bridge hub for transfers to other Parachains.');
9741
+ destChain = input.destChain;
9742
+ if (scenario === 'ParaToPara' && !(destChain !== null && destChain !== void 0 && destChain.startsWith('AssetHub'))) {
9743
+ throw new ScenarioNotSupportedError(this.chain, scenario, "Unable to use ".concat(this.chain, " for transfers to other Parachains."));
9639
9744
  }
9640
- var method = 'limited_teleport_assets';
9641
- return transferPolkadotXcm(input, method, 'Unlimited');
9745
+ return transferPolkadotXcm(input, 'limited_teleport_assets', 'Unlimited');
9642
9746
  }
9643
9747
  }, {
9644
9748
  key: "getRelayToParaOverrides",
@@ -9727,16 +9831,9 @@ var Collectives = /*#__PURE__*/function (_Parachain) {
9727
9831
  key: "transferPolkadotXCM",
9728
9832
  value: function transferPolkadotXCM(input) {
9729
9833
  var scenario = input.scenario,
9730
- destination = input.destination;
9731
- var newOverridenAsset = {
9732
- parents: 1,
9733
- interior: {
9734
- Here: null
9735
- }
9736
- };
9737
- input.overriddenAsset = newOverridenAsset;
9738
- if (scenario === 'ParaToPara' && destination !== 'AssetHubPolkadot' && destination !== 'AssetHubKusama' && destination !== 'AssetHubPaseo' && destination !== 'AssetHubWestend') {
9739
- throw new ScenarioNotSupportedError(this.chain, scenario);
9834
+ destChain = input.destChain;
9835
+ if (scenario === 'ParaToPara' && !(destChain !== null && destChain !== void 0 && destChain.startsWith('AssetHub'))) {
9836
+ throw new ScenarioNotSupportedError(this.chain, scenario, "Unable to use ".concat(this.chain, " for transfers to other Parachains."));
9740
9837
  }
9741
9838
  return transferPolkadotXcm(input, 'limited_teleport_assets', 'Unlimited');
9742
9839
  }
@@ -9815,13 +9912,6 @@ var CoretimePolkadot = /*#__PURE__*/function (_Parachain) {
9815
9912
  key: "transferPolkadotXCM",
9816
9913
  value: function transferPolkadotXCM(input) {
9817
9914
  var scenario = input.scenario;
9818
- var newOverridenAsset = {
9819
- parents: 1,
9820
- interior: {
9821
- Here: null
9822
- }
9823
- };
9824
- input.overriddenAsset = newOverridenAsset;
9825
9915
  if (scenario === 'ParaToPara') {
9826
9916
  throw new ScenarioNotSupportedError(this.chain, scenario);
9827
9917
  }
@@ -10294,7 +10384,7 @@ var Polimec = /*#__PURE__*/function (_Parachain) {
10294
10384
  var call = createTypeAndThenTransfer$1(_objectSpread2(_objectSpread2({}, options), {}, {
10295
10385
  scenario: 'RelayToPara'
10296
10386
  }), version, 'Teleport');
10297
- return call;
10387
+ return Promise.resolve(call);
10298
10388
  }
10299
10389
  }, {
10300
10390
  key: "transferLocalNonNativeAsset",
@@ -10937,14 +11027,6 @@ var Moonbeam = /*#__PURE__*/function (_Parachain) {
10937
11027
  }
10938
11028
  return transferPolkadotXCM;
10939
11029
  }()
10940
- }, {
10941
- key: "getRelayToParaOverrides",
10942
- value: function getRelayToParaOverrides() {
10943
- return {
10944
- method: 'limited_reserve_transfer_assets',
10945
- includeFee: true
10946
- };
10947
- }
10948
11030
  }, {
10949
11031
  key: "transferLocalNonNativeAsset",
10950
11032
  value: function transferLocalNonNativeAsset(options) {
@@ -10997,14 +11079,6 @@ var Moonriver = /*#__PURE__*/function (_Parachain) {
10997
11079
  asset: createAsset(version, assetInfo.amount, location)
10998
11080
  }), 'transfer_assets', 'Unlimited');
10999
11081
  }
11000
- }, {
11001
- key: "getRelayToParaOverrides",
11002
- value: function getRelayToParaOverrides() {
11003
- return {
11004
- method: 'limited_reserve_transfer_assets',
11005
- includeFee: true
11006
- };
11007
- }
11008
11082
  }, {
11009
11083
  key: "transferLocalNonNativeAsset",
11010
11084
  value: function transferLocalNonNativeAsset(options) {
@@ -11234,17 +11308,10 @@ var PeoplePolkadot = /*#__PURE__*/function (_Parachain) {
11234
11308
  key: "transferPolkadotXCM",
11235
11309
  value: function transferPolkadotXCM(input) {
11236
11310
  var scenario = input.scenario,
11237
- destination = input.destination;
11238
- if (scenario === 'ParaToPara' && destination !== 'AssetHubPolkadot' && destination !== 'AssetHubKusama' && destination !== 'AssetHubPaseo' && destination !== 'AssetHubWestend') {
11239
- throw new ScenarioNotSupportedError(this.chain, scenario);
11311
+ destChain = input.destChain;
11312
+ if (scenario === 'ParaToPara' && !(destChain !== null && destChain !== void 0 && destChain.startsWith('AssetHub'))) {
11313
+ throw new ScenarioNotSupportedError(this.chain, scenario, "Unable to use ".concat(this.chain, " for transfers to other Parachains."));
11240
11314
  }
11241
- var newOverridenAsset = {
11242
- parents: 1,
11243
- interior: {
11244
- Here: null
11245
- }
11246
- };
11247
- input.overriddenAsset = newOverridenAsset;
11248
11315
  return transferPolkadotXcm(input, 'limited_teleport_assets', 'Unlimited');
11249
11316
  }
11250
11317
  }, {
@@ -11803,7 +11870,7 @@ var RELAY_LOCATION = {
11803
11870
  Here: null
11804
11871
  }
11805
11872
  };
11806
- var CHAINS_DOT_RESERVE_AH = new Set(['Polimec', 'Moonbeam', 'AssetHubPolkadot', 'AssetHubKusama', 'AssetHubWestend', 'AssetHubPaseo', 'BifrostPolkadot', 'BifrostKusama', 'PeoplePolkadot', 'PeopleKusama', 'Ajuna']);
11873
+ var CHAINS_DOT_RESERVE_AH = new Set(['Acala', 'Karura', 'Polimec', 'Moonbeam', 'Hydration', 'HydrationPaseo', 'AssetHubPolkadot', 'AssetHubKusama', 'AssetHubWestend', 'AssetHubPaseo', 'BifrostPolkadot', 'BifrostKusama', 'PeoplePolkadot', 'PeopleKusama', 'Ajuna']);
11807
11874
  var ASSET_HUB_EXECUTION_FEE = 2200000000n; // 0.22 DOT
11808
11875
  var TX_CLIENT_TIMEOUT_MS = 20 * 60 * 1000; // 20 minutes
11809
11876
  var DRY_RUN_CLIENT_TIMEOUT_MS = 5 * 60 * 1000; // 5 minutes
@@ -12672,4 +12739,4 @@ var Builder = function Builder(api) {
12672
12739
  return new GeneralBuilder(api, new BatchTransactionManager());
12673
12740
  };
12674
12741
 
12675
- export { AssetClaimBuilder, AssetsPallet, BatchMode, BridgeHaltedError, Builder, ChainNotSupportedError, DRY_RUN_CLIENT_TIMEOUT_MS, DryRunFailedError, ETHEREUM_JUNCTION, ETH_CHAIN_ID, GeneralBuilder, IncompatibleChainsError, InvalidAddressError, InvalidParameterError, MissingChainApiError, NoXCMSupportImplementedError, PolkadotXcmError, ScenarioNotSupportedError, TX_CLIENT_TIMEOUT_MS, TransferToAhNotSupported, UnableToComputeError, XTokensError, abstractDecimals, addEthereumBridgeFees, addXcmVersionHeader, applyDecimalAbstraction, assertAddressIsString, assertHasId, assertHasLocation, assertIsForeign, assertToIsString, blake2b256, blake2b512, claimAssets, computeFeeFromDryRun, computeFeeFromDryRunPjs, convertSs58, createAsset, createAssetsFilter, createBaseExecuteXcm, createBeneficiaryLocXTokens, createBeneficiaryLocation, createChainClient, createDirectExecuteXcm, createExecuteCall, createExecuteExchangeXcm, createTypeAndThenCall, createVersionedAssets, createX1Payload, deriveAccountId, dryRun, dryRunOrigin, encodeSs58, getAssetBalance, getAssetBalanceInternal, getAssetReserveChain, getBalanceForeign, getBalanceForeignInternal, getBalanceNative, getBalanceNativeInternal, getBridgeStatus, getChain, getChainConfig, getChainLocation, getChainProviders, getChainVersion, getOriginFeeDetails, getOriginFeeDetailsInternal, getOriginXcmFee, getOriginXcmFeeEstimate, getOriginXcmFeeInternal, getParaEthTransferFees, getParaId, getRelayChainOf, getTChain, getTransferInfo, getTransferableAmount, getTransferableAmountInternal, getXcmFee, getXcmFeeEstimate, handleExecuteTransfer, handleSwapExecuteTransfer, handleToAhTeleport, isConfig, localizeLocation, maybeOverrideAsset, maybeOverrideAssets, padFee, padFeeBy, resolveModuleError, resolveParaId, reverseTransformLocation, send, sortAssets, transferMoonbeamEvm, transferMoonbeamToEth, transferRelayToPara, traverseXcmHops, validateAddress, verifyEdOnDestination, wrapTxBypass };
12742
+ export { AssetClaimBuilder, AssetsPallet, BatchMode, BridgeHaltedError, Builder, ChainNotSupportedError, DRY_RUN_CLIENT_TIMEOUT_MS, DryRunFailedError, ETHEREUM_JUNCTION, ETH_CHAIN_ID, GeneralBuilder, IncompatibleChainsError, InvalidAddressError, InvalidParameterError, MissingChainApiError, NoXCMSupportImplementedError, PolkadotXcmError, ScenarioNotSupportedError, TX_CLIENT_TIMEOUT_MS, TransferToAhNotSupported, UnableToComputeError, XTokensError, abstractDecimals, addEthereumBridgeFees, addXcmVersionHeader, applyDecimalAbstraction, assertAddressIsString, assertHasId, assertHasLocation, assertIsForeign, assertToIsString, blake2b256, blake2b512, claimAssets, computeFeeFromDryRun, computeFeeFromDryRunPjs, convertSs58, createAsset, createAssetsFilter, createBaseExecuteXcm, createBeneficiaryLocXTokens, createBeneficiaryLocation, createChainClient, createDirectExecuteXcm, createExecuteCall, createExecuteExchangeXcm, createTypeAndThenCall, createVersionedAssets, createX1Payload, deriveAccountId, dryRun, dryRunOrigin, encodeSs58, getAssetBalance, getAssetBalanceInternal, getAssetReserveChain, getBalanceForeign, getBalanceForeignInternal, getBalanceNative, getBalanceNativeInternal, getBridgeStatus, getChain, getChainConfig, getChainLocation, getChainProviders, getChainVersion, getOriginFeeDetails, getOriginFeeDetailsInternal, getOriginXcmFee, getOriginXcmFeeEstimate, getOriginXcmFeeInternal, getParaEthTransferFees, getParaId, getRelayChainOf, getTChain, getTransferInfo, getTransferableAmount, getTransferableAmountInternal, getXcmFee, getXcmFeeEstimate, handleExecuteTransfer, handleSwapExecuteTransfer, handleToAhTeleport, isConfig, localizeLocation, maybeOverrideAsset, maybeOverrideAssets, padFee, padFeeBy, resolveDestChain, resolveModuleError, resolveParaId, reverseTransformLocation, send, sortAssets, transferMoonbeamEvm, transferMoonbeamToEth, transferRelayToPara, traverseXcmHops, validateAddress, verifyEdOnDestination, wrapTxBypass };