@paraspell/sdk 5.7.0 → 5.9.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
@@ -613,6 +613,30 @@ var NoXCMSupportImplementedError = /*#__PURE__*/function (_Error) {
613
613
  return _createClass(NoXCMSupportImplementedError);
614
614
  }( /*#__PURE__*/_wrapNativeSuper(Error));
615
615
 
616
+ var Polkadot$1 = {
617
+ relayChainAssetSymbol: "DOT",
618
+ nativeAssetSymbol: "DOT",
619
+ nativeAssets: [
620
+ {
621
+ symbol: "DOT",
622
+ decimals: 10
623
+ }
624
+ ],
625
+ otherAssets: [
626
+ ]
627
+ };
628
+ var Kusama$1 = {
629
+ relayChainAssetSymbol: "KSM",
630
+ nativeAssetSymbol: "KSM",
631
+ nativeAssets: [
632
+ {
633
+ symbol: "KSM",
634
+ decimals: 12
635
+ }
636
+ ],
637
+ otherAssets: [
638
+ ]
639
+ };
616
640
  var Acala$3 = {
617
641
  paraId: 2000,
618
642
  relayChainAssetSymbol: "DOT",
@@ -1484,6 +1508,11 @@ var Hydration$3 = {
1484
1508
  symbol: "iBTC",
1485
1509
  decimals: 8
1486
1510
  },
1511
+ {
1512
+ assetId: "1000085",
1513
+ symbol: "WUD",
1514
+ decimals: 10
1515
+ },
1487
1516
  {
1488
1517
  assetId: "1000099",
1489
1518
  symbol: "ACA",
@@ -1702,6 +1731,16 @@ var Interlay$3 = {
1702
1731
  symbol: "WBTC.wh",
1703
1732
  decimals: 8
1704
1733
  },
1734
+ {
1735
+ assetId: "14",
1736
+ symbol: "PHA",
1737
+ decimals: 12
1738
+ },
1739
+ {
1740
+ assetId: "15",
1741
+ symbol: "stDOT",
1742
+ decimals: 10
1743
+ },
1705
1744
  {
1706
1745
  assetId: "2",
1707
1746
  symbol: "USDT",
@@ -2189,11 +2228,21 @@ var AssetHubPolkadot$3 = {
2189
2228
  }
2190
2229
  ],
2191
2230
  otherAssets: [
2231
+ {
2232
+ assetId: "",
2233
+ symbol: "MYTH",
2234
+ decimals: 18
2235
+ },
2192
2236
  {
2193
2237
  assetId: "9999",
2194
2238
  symbol: "TOM",
2195
2239
  decimals: 10
2196
2240
  },
2241
+ {
2242
+ assetId: "20090142",
2243
+ symbol: "ELONA",
2244
+ decimals: 10
2245
+ },
2197
2246
  {
2198
2247
  assetId: "100",
2199
2248
  symbol: "WETH",
@@ -2224,6 +2273,11 @@ var AssetHubPolkadot$3 = {
2224
2273
  symbol: "123",
2225
2274
  decimals: 20
2226
2275
  },
2276
+ {
2277
+ assetId: "52",
2278
+ symbol: "TeMe8",
2279
+ decimals: 12
2280
+ },
2227
2281
  {
2228
2282
  assetId: "9000",
2229
2283
  symbol: "PLAY",
@@ -2339,6 +2393,16 @@ var AssetHubPolkadot$3 = {
2339
2393
  symbol: "MATIC",
2340
2394
  decimals: 10
2341
2395
  },
2396
+ {
2397
+ assetId: "7006",
2398
+ symbol: "ttt",
2399
+ decimals: 0
2400
+ },
2401
+ {
2402
+ assetId: "20090138",
2403
+ symbol: "LOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONG",
2404
+ decimals: 10
2405
+ },
2342
2406
  {
2343
2407
  assetId: "67",
2344
2408
  symbol: "LINK",
@@ -2349,6 +2413,11 @@ var AssetHubPolkadot$3 = {
2349
2413
  symbol: "StabCP",
2350
2414
  decimals: 10
2351
2415
  },
2416
+ {
2417
+ assetId: "20090140",
2418
+ symbol: "Grift ",
2419
+ decimals: 10
2420
+ },
2352
2421
  {
2353
2422
  assetId: "999",
2354
2423
  symbol: "gold",
@@ -2479,6 +2548,11 @@ var AssetHubPolkadot$3 = {
2479
2548
  symbol: "TST",
2480
2549
  decimals: 10
2481
2550
  },
2551
+ {
2552
+ assetId: "669",
2553
+ symbol: "lish",
2554
+ decimals: 9
2555
+ },
2482
2556
  {
2483
2557
  assetId: "8889",
2484
2558
  symbol: "BNDT",
@@ -2494,6 +2568,11 @@ var AssetHubPolkadot$3 = {
2494
2568
  symbol: "STINK",
2495
2569
  decimals: 10
2496
2570
  },
2571
+ {
2572
+ assetId: "20090143",
2573
+ symbol: "DMSTR",
2574
+ decimals: 10
2575
+ },
2497
2576
  {
2498
2577
  assetId: "20090117",
2499
2578
  symbol: "DEDX",
@@ -2519,6 +2598,11 @@ var AssetHubPolkadot$3 = {
2519
2598
  symbol: "DOTTY",
2520
2599
  decimals: 10
2521
2600
  },
2601
+ {
2602
+ assetId: "323",
2603
+ symbol: "DGNNNC",
2604
+ decimals: 6
2605
+ },
2522
2606
  {
2523
2607
  assetId: "77",
2524
2608
  symbol: "TRQ",
@@ -2664,11 +2748,21 @@ var AssetHubPolkadot$3 = {
2664
2748
  symbol: "STEEBOR",
2665
2749
  decimals: 20
2666
2750
  },
2751
+ {
2752
+ assetId: "20090136",
2753
+ symbol: "HTG",
2754
+ decimals: 10
2755
+ },
2667
2756
  {
2668
2757
  assetId: "32",
2669
2758
  symbol: "CLAY",
2670
2759
  decimals: 10
2671
2760
  },
2761
+ {
2762
+ assetId: "2106",
2763
+ symbol: "STREAK",
2764
+ decimals: 10
2765
+ },
2672
2766
  {
2673
2767
  assetId: "9527",
2674
2768
  symbol: "LSCAT",
@@ -2704,6 +2798,11 @@ var AssetHubPolkadot$3 = {
2704
2798
  symbol: "JTO",
2705
2799
  decimals: 10
2706
2800
  },
2801
+ {
2802
+ assetId: "53",
2803
+ symbol: "TeMe9",
2804
+ decimals: 12
2805
+ },
2707
2806
  {
2708
2807
  assetId: "29",
2709
2808
  symbol: "SHRIMP",
@@ -2716,8 +2815,8 @@ var AssetHubPolkadot$3 = {
2716
2815
  },
2717
2816
  {
2718
2817
  assetId: "42",
2719
- symbol: "PJS",
2720
- decimals: 18
2818
+ symbol: "GAVUN",
2819
+ decimals: 10
2721
2820
  },
2722
2821
  {
2723
2822
  assetId: "43",
@@ -2749,6 +2848,11 @@ var AssetHubPolkadot$3 = {
2749
2848
  symbol: "lucky7",
2750
2849
  decimals: 20
2751
2850
  },
2851
+ {
2852
+ assetId: "4242",
2853
+ symbol: "GAVUN",
2854
+ decimals: 10
2855
+ },
2752
2856
  {
2753
2857
  assetId: "26",
2754
2858
  symbol: "POKA",
@@ -2839,6 +2943,11 @@ var AssetHubPolkadot$3 = {
2839
2943
  symbol: "ANT",
2840
2944
  decimals: 6
2841
2945
  },
2946
+ {
2947
+ assetId: "54",
2948
+ symbol: "TeMe10",
2949
+ decimals: 12
2950
+ },
2842
2951
  {
2843
2952
  assetId: "1230",
2844
2953
  symbol: "HAM",
@@ -2889,6 +2998,11 @@ var AssetHubPolkadot$3 = {
2889
2998
  symbol: "GOVD",
2890
2999
  decimals: 10
2891
3000
  },
3001
+ {
3002
+ assetId: "20090139",
3003
+ symbol: "DUSTY",
3004
+ decimals: 10
3005
+ },
2892
3006
  {
2893
3007
  assetId: "1864",
2894
3008
  symbol: "JUNK",
@@ -3079,6 +3193,11 @@ var AssetHubPolkadot$3 = {
3079
3193
  symbol: "MMM",
3080
3194
  decimals: 10
3081
3195
  },
3196
+ {
3197
+ assetId: "20090137",
3198
+ symbol: "hawn",
3199
+ decimals: 10
3200
+ },
3082
3201
  {
3083
3202
  assetId: "69",
3084
3203
  symbol: "DAL",
@@ -3099,6 +3218,11 @@ var AssetHubPolkadot$3 = {
3099
3218
  symbol: "DODA",
3100
3219
  decimals: 6
3101
3220
  },
3221
+ {
3222
+ assetId: "20090141",
3223
+ symbol: "Guzzler",
3224
+ decimals: 10
3225
+ },
3102
3226
  {
3103
3227
  assetId: "5417",
3104
3228
  symbol: "HASH",
@@ -6472,6 +6596,8 @@ var Peaq$3 = {
6472
6596
  ]
6473
6597
  };
6474
6598
  var assets = {
6599
+ Polkadot: Polkadot$1,
6600
+ Kusama: Kusama$1,
6475
6601
  Acala: Acala$3,
6476
6602
  BridgeHubPolkadot: BridgeHubPolkadot$3,
6477
6603
  BridgeHubKusama: BridgeHubKusama$3,
@@ -6567,6 +6693,7 @@ var assetsMapJson = /*#__PURE__*/Object.freeze({
6567
6693
  Khala: Khala$3,
6568
6694
  KiltSpiritnet: KiltSpiritnet$3,
6569
6695
  Kintsugi: Kintsugi$3,
6696
+ Kusama: Kusama$1,
6570
6697
  Litentry: Litentry$3,
6571
6698
  Litmus: Litmus$3,
6572
6699
  Manta: Manta$3,
@@ -6583,6 +6710,7 @@ var assetsMapJson = /*#__PURE__*/Object.freeze({
6583
6710
  Picasso: Picasso$3,
6584
6711
  Pioneer: Pioneer$3,
6585
6712
  Polkadex: Polkadex$3,
6713
+ Polkadot: Polkadot$1,
6586
6714
  Quartz: Quartz$3,
6587
6715
  Robonomics: Robonomics$3,
6588
6716
  Shiden: Shiden$3,
@@ -6593,64 +6721,369 @@ var assetsMapJson = /*#__PURE__*/Object.freeze({
6593
6721
  default: assets
6594
6722
  });
6595
6723
 
6596
- var assetsMap = assetsMapJson;
6597
- var getAssetsObject = function getAssetsObject(node) {
6598
- return assetsMap[node];
6599
- };
6600
- var getAssetId = function getAssetId(node, symbol) {
6601
- var info = getAssetsObject(node).otherAssets.find(function (o) {
6602
- return o.symbol === symbol;
6603
- });
6604
- return info != null ? info.assetId : null;
6724
+ // Used to inform user, that currency they wish to use is not registered on either origin or destination Parachain
6725
+ var InvalidCurrencyError = /*#__PURE__*/function (_Error) {
6726
+ function InvalidCurrencyError(message) {
6727
+ var _this;
6728
+ _classCallCheck(this, InvalidCurrencyError);
6729
+ _this = _callSuper(this, InvalidCurrencyError, [message]);
6730
+ _this.name = 'InvalidCurrencyError';
6731
+ return _this;
6732
+ }
6733
+ _inherits(InvalidCurrencyError, _Error);
6734
+ return _createClass(InvalidCurrencyError);
6735
+ }( /*#__PURE__*/_wrapNativeSuper(Error));
6736
+
6737
+ // Used to inform user, that Parachain they wish to use is not supported yet
6738
+ var NodeNotSupportedError = /*#__PURE__*/function (_Error) {
6739
+ function NodeNotSupportedError(message) {
6740
+ var _this;
6741
+ _classCallCheck(this, NodeNotSupportedError);
6742
+ _this = _callSuper(this, NodeNotSupportedError, [message !== null && message !== void 0 ? message : 'These nodes do not support XCM transfers from Relay / to Relay chain.']);
6743
+ _this.name = 'NodeNotSupported';
6744
+ return _this;
6745
+ }
6746
+ _inherits(NodeNotSupportedError, _Error);
6747
+ return _createClass(NodeNotSupportedError);
6748
+ }( /*#__PURE__*/_wrapNativeSuper(Error));
6749
+
6750
+ // Used to inform user, that Parachain they wish to use does not support scenario they wish to use yet
6751
+ var ScenarioNotSupportedError = /*#__PURE__*/function (_Error) {
6752
+ function ScenarioNotSupportedError(node, scenario, message) {
6753
+ var _this;
6754
+ _classCallCheck(this, ScenarioNotSupportedError);
6755
+ _this = _callSuper(this, ScenarioNotSupportedError, [message !== null && message !== void 0 ? message : "Scenario ".concat(scenario, " not supported for node ").concat(node)]);
6756
+ _this.name = 'ScenarioNotSupported';
6757
+ return _this;
6758
+ }
6759
+ _inherits(ScenarioNotSupportedError, _Error);
6760
+ return _createClass(ScenarioNotSupportedError);
6761
+ }( /*#__PURE__*/_wrapNativeSuper(Error));
6762
+
6763
+ var IncompatibleNodesError = /*#__PURE__*/function (_Error) {
6764
+ function IncompatibleNodesError(message) {
6765
+ var _this;
6766
+ _classCallCheck(this, IncompatibleNodesError);
6767
+ _this = _callSuper(this, IncompatibleNodesError, [message !== null && message !== void 0 ? message : 'Transactions between nodes on different relaychains are not yet possible.']);
6768
+ _this.name = 'IncompatibleNodes';
6769
+ return _this;
6770
+ }
6771
+ _inherits(IncompatibleNodesError, _Error);
6772
+ return _createClass(IncompatibleNodesError);
6773
+ }( /*#__PURE__*/_wrapNativeSuper(Error));
6774
+
6775
+ var DuplicateAssetError = /*#__PURE__*/function (_Error) {
6776
+ function DuplicateAssetError(symbol) {
6777
+ var _this;
6778
+ _classCallCheck(this, DuplicateAssetError);
6779
+ _this = _callSuper(this, DuplicateAssetError, ["Multiple assets found with the same symbol: ".concat(symbol, ". Please specify asset ID directly by .currency({id: <ASSET_ID>})")]);
6780
+ _this.name = 'DuplicateAsset';
6781
+ return _this;
6782
+ }
6783
+ _inherits(DuplicateAssetError, _Error);
6784
+ return _createClass(DuplicateAssetError);
6785
+ }( /*#__PURE__*/_wrapNativeSuper(Error));
6786
+
6787
+ var constructRelayToParaParameters = function constructRelayToParaParameters(_ref, version) {
6788
+ var api = _ref.api,
6789
+ destination = _ref.destination,
6790
+ address = _ref.address,
6791
+ amount = _ref.amount,
6792
+ paraIdTo = _ref.paraIdTo;
6793
+ var includeFee = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
6794
+ var paraId = destination !== undefined && _typeof(destination) !== 'object' ? paraIdTo !== null && paraIdTo !== void 0 ? paraIdTo : getParaId(destination) : undefined;
6795
+ var parameters = [createPolkadotXcmHeader('RelayToPara', version, destination, paraId), generateAddressPayload(api, 'RelayToPara', null, address, version, paraId), createCurrencySpec(amount, version, Parents.ZERO), 0];
6796
+ if (includeFee) {
6797
+ parameters.push('Unlimited');
6798
+ }
6799
+ return parameters;
6605
6800
  };
6606
- var getRelayChainSymbol = function getRelayChainSymbol(node) {
6607
- return getAssetsObject(node).relayChainAssetSymbol;
6801
+ var isTMulti = function isTMulti(value) {
6802
+ return value && _typeof(value) === 'object' || Array.isArray(value);
6608
6803
  };
6609
- var getNativeAssets = function getNativeAssets(node) {
6610
- return getAssetsObject(node).nativeAssets;
6804
+ var isTMultiLocation = function isTMultiLocation(value) {
6805
+ return value && typeof value.parents !== 'undefined' && typeof value.interior !== 'undefined';
6611
6806
  };
6612
- var getOtherAssets = function getOtherAssets(node) {
6613
- return getAssetsObject(node).otherAssets;
6807
+ var isTCurrencySpecifier = function isTCurrencySpecifier(value) {
6808
+ if (_typeof(value) !== 'object' || value === null) {
6809
+ return false;
6810
+ }
6811
+ return 'symbol' in value && typeof value.symbol === 'string' || 'id' in value && (typeof value.id === 'string' || typeof value.id === 'number' || typeof value.id === 'bigint');
6614
6812
  };
6615
- var getAllAssetsSymbols = function getAllAssetsSymbols(node) {
6616
- var _getAssetsObject = getAssetsObject(node),
6617
- relayChainAssetSymbol = _getAssetsObject.relayChainAssetSymbol,
6618
- nativeAssets = _getAssetsObject.nativeAssets,
6619
- otherAssets = _getAssetsObject.otherAssets;
6620
- var nativeAssetsSymbols = nativeAssets.map(function (_ref) {
6621
- var symbol = _ref.symbol;
6622
- return symbol;
6623
- });
6624
- var otherAssetsSymbols = otherAssets.filter(function (asset) {
6625
- return asset.symbol !== undefined;
6626
- }).map(function (_ref2) {
6627
- var symbol = _ref2.symbol;
6628
- return symbol;
6629
- });
6630
- return [relayChainAssetSymbol].concat(_toConsumableArray(nativeAssetsSymbols), _toConsumableArray(otherAssetsSymbols));
6813
+ var createBridgeCurrencySpec = function createBridgeCurrencySpec(amount, ecosystem) {
6814
+ return _defineProperty({}, Version.V4, [{
6815
+ id: {
6816
+ parents: Parents.TWO,
6817
+ interior: {
6818
+ X1: [{
6819
+ GlobalConsensus: ecosystem
6820
+ }]
6821
+ }
6822
+ },
6823
+ fun: {
6824
+ Fungible: amount
6825
+ }
6826
+ }]);
6631
6827
  };
6632
- var getNativeAssetSymbol = function getNativeAssetSymbol(node) {
6633
- if (node === 'Polkadot') {
6634
- return 'DOT';
6635
- } else if (node === 'Kusama') {
6636
- return 'KSM';
6828
+ var createCurrencySpec = function createCurrencySpec(amount, version, parents, overriddenCurrency) {
6829
+ var interior = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 'Here';
6830
+ if (!overriddenCurrency) {
6831
+ return _defineProperty({}, version, [{
6832
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
6833
+ id: version === Version.V4 ? {
6834
+ parents: parents,
6835
+ interior: interior
6836
+ } : {
6837
+ Concrete: {
6838
+ parents: parents,
6839
+ interior: interior
6840
+ }
6841
+ },
6842
+ fun: {
6843
+ Fungible: amount
6844
+ }
6845
+ }]);
6637
6846
  }
6638
- return getAssetsObject(node).nativeAssetSymbol;
6639
- };
6640
- var hasSupportForAsset = function hasSupportForAsset(node, symbol) {
6641
- return getAllAssetsSymbols(node).includes(symbol);
6847
+ return isTMultiLocation(overriddenCurrency) ? _defineProperty({}, version, [{
6848
+ id: version === Version.V4 ? overriddenCurrency : {
6849
+ Concrete: overriddenCurrency
6850
+ },
6851
+ fun: {
6852
+ Fungible: amount
6853
+ }
6854
+ }]) : // It must be TMultiAsset if not TMultiLocation
6855
+ _defineProperty({}, version, overriddenCurrency);
6642
6856
  };
6643
- var getAssetDecimals = function getAssetDecimals(node, symbol) {
6644
- var _getAssetsObject2 = getAssetsObject(node),
6645
- otherAssets = _getAssetsObject2.otherAssets,
6646
- nativeAssets = _getAssetsObject2.nativeAssets;
6647
- var asset = [].concat(_toConsumableArray(otherAssets), _toConsumableArray(nativeAssets)).find(function (o) {
6648
- return o.symbol === symbol;
6857
+ var createPolkadotXcmHeader = function createPolkadotXcmHeader(scenario, version, destination, nodeId, junction, parents) {
6858
+ var parentsResolved = parents !== null && parents !== void 0 ? parents : scenario === 'RelayToPara' ? Parents.ZERO : Parents.ONE;
6859
+ var interior = scenario === 'ParaToRelay' ? 'Here' : createX1Payload(version, junction !== null && junction !== void 0 ? junction : {
6860
+ Parachain: nodeId
6861
+ });
6862
+ var isMultiLocationDestination = _typeof(destination) === 'object';
6863
+ return _defineProperty({}, version, isMultiLocationDestination ? destination : {
6864
+ parents: parentsResolved,
6865
+ interior: interior
6649
6866
  });
6650
- return (asset === null || asset === void 0 ? void 0 : asset.decimals) !== undefined ? asset.decimals : null;
6651
6867
  };
6652
- var getParaId = function getParaId(node) {
6653
- return getAssetsObject(node).paraId;
6868
+ var createBridgePolkadotXcmDest = function createBridgePolkadotXcmDest(version, ecosystem, destination, nodeId) {
6869
+ var multiLocation = {
6870
+ parents: Parents.TWO,
6871
+ interior: {
6872
+ X2: [{
6873
+ GlobalConsensus: ecosystem
6874
+ }, {
6875
+ Parachain: nodeId
6876
+ }]
6877
+ }
6878
+ };
6879
+ var isMultiLocationDestination = _typeof(destination) === 'object';
6880
+ return _defineProperty({}, version, isMultiLocationDestination ? destination : multiLocation);
6881
+ };
6882
+ var calculateTransactionFee$1 = function calculateTransactionFee(tx, address) {
6883
+ return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
6884
+ var _yield$tx$paymentInfo, partialFee;
6885
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
6886
+ while (1) switch (_context.prev = _context.next) {
6887
+ case 0:
6888
+ _context.next = 2;
6889
+ return tx.paymentInfo(address);
6890
+ case 2:
6891
+ _yield$tx$paymentInfo = _context.sent;
6892
+ partialFee = _yield$tx$paymentInfo.partialFee;
6893
+ return _context.abrupt("return", partialFee.toBn());
6894
+ case 5:
6895
+ case "end":
6896
+ return _context.stop();
6897
+ }
6898
+ }, _callee);
6899
+ }));
6900
+ };
6901
+ // TODO: Refactor this function to eliminate the any type
6902
+ var findParachainJunction = function findParachainJunction(multilocation) {
6903
+ var interior = multilocation.interior;
6904
+ for (var key in interior) {
6905
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
6906
+ var junctions = interior[key];
6907
+ if (Array.isArray(junctions)) {
6908
+ var _iterator = _createForOfIteratorHelper(junctions),
6909
+ _step;
6910
+ try {
6911
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
6912
+ var junction = _step.value;
6913
+ if ('Parachain' in junction) {
6914
+ return Number(junction.Parachain);
6915
+ }
6916
+ }
6917
+ } catch (err) {
6918
+ _iterator.e(err);
6919
+ } finally {
6920
+ _iterator.f();
6921
+ }
6922
+ } else if (junctions !== undefined && 'Parachain' in junctions) {
6923
+ return Number(junctions.Parachain);
6924
+ }
6925
+ }
6926
+ return null;
6927
+ };
6928
+ var resolveTNodeFromMultiLocation = function resolveTNodeFromMultiLocation(multiLocation) {
6929
+ var parachainId = findParachainJunction(multiLocation);
6930
+ if (parachainId === null) {
6931
+ throw new Error('Parachain ID not found in destination multi location.');
6932
+ }
6933
+ var node = getTNode(parachainId);
6934
+ if (node === null) {
6935
+ throw new Error('Node with specified paraId not found in destination multi location.');
6936
+ }
6937
+ return node;
6938
+ };
6939
+
6940
+ var findAssetBySymbol = function findAssetBySymbol(node, destination, otherAssets, nativeAssets, combinedAssets, symbol, isRelayDestination, isSymbol) {
6941
+ if (destination === 'Ethereum') {
6942
+ return combinedAssets.find(function (_ref) {
6943
+ var assetSymbol = _ref.symbol;
6944
+ return (assetSymbol === null || assetSymbol === void 0 ? void 0 : assetSymbol.toLowerCase()) === symbol.toLowerCase();
6945
+ });
6946
+ }
6947
+ var otherAssetsMatches = otherAssets.filter(function (_ref2) {
6948
+ var assetSymbol = _ref2.symbol;
6949
+ return (assetSymbol === null || assetSymbol === void 0 ? void 0 : assetSymbol.toLowerCase()) === symbol.toLowerCase();
6950
+ });
6951
+ var nativeAssetsMatches = nativeAssets.filter(function (_ref3) {
6952
+ var assetSymbol = _ref3.symbol;
6953
+ return (assetSymbol === null || assetSymbol === void 0 ? void 0 : assetSymbol.toLowerCase()) === symbol.toLowerCase();
6954
+ });
6955
+ if (otherAssetsMatches.length > 1 && !isRelayDestination && isSymbol === undefined) {
6956
+ throw new DuplicateAssetError(symbol);
6957
+ }
6958
+ if (node === 'Astar' || node === 'Shiden') {
6959
+ return nativeAssetsMatches[0] || otherAssetsMatches[0] || null;
6960
+ }
6961
+ return otherAssetsMatches[0] || nativeAssetsMatches[0] || null;
6962
+ };
6963
+ var findAssetById = function findAssetById(assets, assetId) {
6964
+ return assets.find(function (_ref4) {
6965
+ var currentAssetId = _ref4.assetId;
6966
+ return currentAssetId === assetId;
6967
+ });
6968
+ };
6969
+ var getAssetBySymbolOrId = function getAssetBySymbolOrId(node, currency) {
6970
+ var isRelayDestination = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
6971
+ var isSymbol = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : undefined;
6972
+ var destination = arguments.length > 4 ? arguments[4] : undefined;
6973
+ if (isTMulti(currency)) {
6974
+ return null;
6975
+ }
6976
+ var currencyString = currency.toString();
6977
+ var _getAssetsObject = getAssetsObject(node),
6978
+ otherAssets = _getAssetsObject.otherAssets,
6979
+ nativeAssets = _getAssetsObject.nativeAssets,
6980
+ relayChainAssetSymbol = _getAssetsObject.relayChainAssetSymbol;
6981
+ var combinedAssets = destination === 'Ethereum' ? _toConsumableArray(getOtherAssets('Ethereum')) : [].concat(_toConsumableArray(otherAssets), _toConsumableArray(nativeAssets));
6982
+ var asset;
6983
+ if (isSymbol === true) {
6984
+ asset = findAssetBySymbol(node, destination, otherAssets, nativeAssets, combinedAssets, currencyString, isRelayDestination, isSymbol);
6985
+ } else if (isSymbol === false) {
6986
+ asset = findAssetById(combinedAssets, currencyString);
6987
+ } else {
6988
+ asset = findAssetBySymbol(node, destination, otherAssets, nativeAssets, combinedAssets, currencyString, isRelayDestination, isSymbol) || findAssetById(combinedAssets, currencyString);
6989
+ }
6990
+ if (asset) {
6991
+ return asset;
6992
+ }
6993
+ if (relayChainAssetSymbol.toLowerCase() === currencyString.toLowerCase() && isSymbol !== false) {
6994
+ var relayChainAsset = {
6995
+ symbol: relayChainAssetSymbol,
6996
+ decimals: getAssetDecimals(node, relayChainAssetSymbol)
6997
+ };
6998
+ return relayChainAsset;
6999
+ }
7000
+ return null;
7001
+ };
7002
+
7003
+ var assetsMap = assetsMapJson;
7004
+ var getAssetsObject = function getAssetsObject(node) {
7005
+ return assetsMap[node];
7006
+ };
7007
+ var getAssetId = function getAssetId(node, symbol) {
7008
+ var info = getAssetsObject(node).otherAssets.find(function (o) {
7009
+ return o.symbol === symbol;
7010
+ });
7011
+ return info != null ? info.assetId : null;
7012
+ };
7013
+ var getRelayChainSymbol = function getRelayChainSymbol(node) {
7014
+ return getAssetsObject(node).relayChainAssetSymbol;
7015
+ };
7016
+ var getNativeAssets = function getNativeAssets(node) {
7017
+ return getAssetsObject(node).nativeAssets;
7018
+ };
7019
+ var getOtherAssets = function getOtherAssets(node) {
7020
+ return getAssetsObject(node).otherAssets;
7021
+ };
7022
+ var getAssets = function getAssets(node) {
7023
+ var _getAssetsObject = getAssetsObject(node),
7024
+ nativeAssets = _getAssetsObject.nativeAssets,
7025
+ otherAssets = _getAssetsObject.otherAssets;
7026
+ var relayChainAsset = getAssetBySymbolOrId(determineRelayChain(node), getRelayChainSymbol(node));
7027
+ return [].concat(_toConsumableArray(relayChainAsset ? [relayChainAsset] : []), _toConsumableArray(nativeAssets), _toConsumableArray(otherAssets));
7028
+ };
7029
+ var getAllAssetsSymbols = function getAllAssetsSymbols(node) {
7030
+ var _getAssetsObject2 = getAssetsObject(node),
7031
+ relayChainAssetSymbol = _getAssetsObject2.relayChainAssetSymbol,
7032
+ nativeAssets = _getAssetsObject2.nativeAssets,
7033
+ otherAssets = _getAssetsObject2.otherAssets;
7034
+ var nativeAssetsSymbols = nativeAssets.map(function (_ref) {
7035
+ var symbol = _ref.symbol;
7036
+ return symbol;
7037
+ });
7038
+ var otherAssetsSymbols = otherAssets.filter(function (asset) {
7039
+ return asset.symbol !== undefined;
7040
+ }).map(function (_ref2) {
7041
+ var symbol = _ref2.symbol;
7042
+ return symbol;
7043
+ });
7044
+ return [relayChainAssetSymbol].concat(_toConsumableArray(nativeAssetsSymbols), _toConsumableArray(otherAssetsSymbols));
7045
+ };
7046
+ var getNativeAssetSymbol = function getNativeAssetSymbol(node) {
7047
+ if (node === 'Polkadot') {
7048
+ return 'DOT';
7049
+ } else if (node === 'Kusama') {
7050
+ return 'KSM';
7051
+ }
7052
+ return getAssetsObject(node).nativeAssetSymbol;
7053
+ };
7054
+ var hasSupportForAsset = function hasSupportForAsset(node, symbol) {
7055
+ return getAllAssetsSymbols(node).map(function (s) {
7056
+ return s.toLowerCase();
7057
+ }).includes(symbol.toLowerCase());
7058
+ };
7059
+ var getSupportedAssets = function getSupportedAssets(origin, destination) {
7060
+ var originAssets = getAssets(origin);
7061
+ var destinationAssets = getAssets(destination);
7062
+ if (destination === 'Ethereum' || origin === 'Ethereum') {
7063
+ return getOtherAssets('Ethereum');
7064
+ }
7065
+ if (origin === 'AssetHubPolkadot' && destination === 'AssetHubKusama' || origin === 'AssetHubKusama' && destination === 'AssetHubPolkadot') {
7066
+ var polkadotAsset = getAssetBySymbolOrId('Polkadot', 'DOT');
7067
+ var kusamaAsset = getAssetBySymbolOrId('Kusama', 'KSM');
7068
+ return [].concat(_toConsumableArray(polkadotAsset ? [polkadotAsset] : []), _toConsumableArray(kusamaAsset ? [kusamaAsset] : []));
7069
+ }
7070
+ return _toConsumableArray(originAssets.filter(function (asset) {
7071
+ return destinationAssets.some(function (a) {
7072
+ return a.symbol === asset.symbol;
7073
+ });
7074
+ }));
7075
+ };
7076
+ var getAssetDecimals = function getAssetDecimals(node, symbol) {
7077
+ var _getAssetsObject3 = getAssetsObject(node),
7078
+ otherAssets = _getAssetsObject3.otherAssets,
7079
+ nativeAssets = _getAssetsObject3.nativeAssets;
7080
+ var asset = [].concat(_toConsumableArray(otherAssets), _toConsumableArray(nativeAssets)).find(function (o) {
7081
+ return o.symbol === symbol;
7082
+ });
7083
+ return (asset === null || asset === void 0 ? void 0 : asset.decimals) !== undefined ? asset.decimals : null;
7084
+ };
7085
+ var getParaId = function getParaId(node) {
7086
+ return getAssetsObject(node).paraId;
6654
7087
  };
6655
7088
  var getTNode = function getTNode(paraId) {
6656
7089
  var _a;
@@ -7157,229 +7590,50 @@ var palletsMapJson = /*#__PURE__*/Object.freeze({
7157
7590
  Crust: Crust$2,
7158
7591
  CrustShadow: CrustShadow$2,
7159
7592
  Curio: Curio$2,
7160
- Darwinia: Darwinia$2,
7161
- Encointer: Encointer$2,
7162
- Hydration: Hydration$2,
7163
- Imbue: Imbue$2,
7164
- Integritee: Integritee$2,
7165
- Interlay: Interlay$2,
7166
- InvArchTinker: InvArchTinker$2,
7167
- Karura: Karura$2,
7168
- Khala: Khala$2,
7169
- KiltSpiritnet: KiltSpiritnet$2,
7170
- Kintsugi: Kintsugi$2,
7171
- Litentry: Litentry$2,
7172
- Litmus: Litmus$2,
7173
- Manta: Manta$2,
7174
- Moonbeam: Moonbeam$2,
7175
- Moonriver: Moonriver$2,
7176
- Mythos: Mythos$2,
7177
- NeuroWeb: NeuroWeb$2,
7178
- Nodle: Nodle$2,
7179
- Parallel: Parallel$2,
7180
- ParallelHeiko: ParallelHeiko$2,
7181
- Peaq: Peaq$2,
7182
- Pendulum: Pendulum$2,
7183
- Phala: Phala$2,
7184
- Picasso: Picasso$2,
7185
- Pioneer: Pioneer$2,
7186
- Polkadex: Polkadex$2,
7187
- Quartz: Quartz$2,
7188
- Robonomics: Robonomics$2,
7189
- Shiden: Shiden$2,
7190
- Subsocial: Subsocial$2,
7191
- Turing: Turing$2,
7192
- Unique: Unique$2,
7193
- Zeitgeist: Zeitgeist$2,
7194
- default: pallets
7195
- });
7196
-
7197
- // Script that pulls XCM Pallets for selected Parachain
7198
- var palletsMap$1 = palletsMapJson;
7199
- var getDefaultPallet = function getDefaultPallet(node) {
7200
- return palletsMap$1[node].defaultPallet;
7201
- };
7202
- var getSupportedPallets = function getSupportedPallets(node) {
7203
- return palletsMap$1[node].supportedPallets;
7204
- };
7205
-
7206
- var constructRelayToParaParameters = function constructRelayToParaParameters(_ref, version) {
7207
- var api = _ref.api,
7208
- destination = _ref.destination,
7209
- address = _ref.address,
7210
- amount = _ref.amount,
7211
- paraIdTo = _ref.paraIdTo;
7212
- var includeFee = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
7213
- var paraId = destination !== undefined && _typeof(destination) !== 'object' ? paraIdTo !== null && paraIdTo !== void 0 ? paraIdTo : getParaId(destination) : undefined;
7214
- var parameters = [createPolkadotXcmHeader('RelayToPara', version, destination, paraId), generateAddressPayload(api, 'RelayToPara', null, address, version, paraId), createCurrencySpec(amount, version, Parents.ZERO), 0];
7215
- if (includeFee) {
7216
- parameters.push('Unlimited');
7217
- }
7218
- return parameters;
7219
- };
7220
- var isTMulti = function isTMulti(value) {
7221
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
7222
- return value && _typeof(value) === 'object' || Array.isArray(value);
7223
- };
7224
- var isTMultiLocation = function isTMultiLocation(value) {
7225
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access
7226
- return value && typeof value.parents !== 'undefined' && typeof value.interior !== 'undefined';
7227
- };
7228
- var createBridgeCurrencySpec = function createBridgeCurrencySpec(amount, ecosystem) {
7229
- return _defineProperty({}, Version.V4, [{
7230
- id: {
7231
- parents: Parents.TWO,
7232
- interior: {
7233
- X1: [{
7234
- GlobalConsensus: ecosystem
7235
- }]
7236
- }
7237
- },
7238
- fun: {
7239
- Fungible: amount
7240
- }
7241
- }]);
7242
- };
7243
- var createCurrencySpec = function createCurrencySpec(amount, version, parents, overriddenCurrency) {
7244
- var interior = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 'Here';
7245
- if (!overriddenCurrency) {
7246
- return _defineProperty({}, version, [{
7247
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
7248
- id: version === Version.V4 ? {
7249
- parents: parents,
7250
- interior: interior
7251
- } : {
7252
- Concrete: {
7253
- parents: parents,
7254
- interior: interior
7255
- }
7256
- },
7257
- fun: {
7258
- Fungible: amount
7259
- }
7260
- }]);
7261
- }
7262
- return isTMultiLocation(overriddenCurrency) ? _defineProperty({}, version, [{
7263
- id: version === Version.V4 ? overriddenCurrency : {
7264
- Concrete: overriddenCurrency
7265
- },
7266
- fun: {
7267
- Fungible: amount
7268
- }
7269
- }]) : // It must be TMultiAsset if not TMultiLocation
7270
- _defineProperty({}, version, overriddenCurrency);
7271
- };
7272
- var createPolkadotXcmHeader = function createPolkadotXcmHeader(scenario, version, destination, nodeId, junction, parents) {
7273
- var parentsResolved = parents !== null && parents !== void 0 ? parents : scenario === 'RelayToPara' ? Parents.ZERO : Parents.ONE;
7274
- var interior = scenario === 'ParaToRelay' ? 'Here' : createX1Payload(version, junction !== null && junction !== void 0 ? junction : {
7275
- Parachain: nodeId
7276
- });
7277
- var isMultiLocationDestination = _typeof(destination) === 'object';
7278
- return _defineProperty({}, version, isMultiLocationDestination ? destination : {
7279
- parents: parentsResolved,
7280
- interior: interior
7281
- });
7282
- };
7283
- var createBridgePolkadotXcmDest = function createBridgePolkadotXcmDest(version, ecosystem, destination, nodeId) {
7284
- var multiLocation = {
7285
- parents: Parents.TWO,
7286
- interior: {
7287
- X2: [{
7288
- GlobalConsensus: ecosystem
7289
- }, {
7290
- Parachain: nodeId
7291
- }]
7292
- }
7293
- };
7294
- var isMultiLocationDestination = _typeof(destination) === 'object';
7295
- return _defineProperty({}, version, isMultiLocationDestination ? destination : multiLocation);
7296
- };
7297
- var calculateTransactionFee$1 = function calculateTransactionFee(tx, address) {
7298
- return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
7299
- var _yield$tx$paymentInfo, partialFee;
7300
- return _regeneratorRuntime().wrap(function _callee$(_context) {
7301
- while (1) switch (_context.prev = _context.next) {
7302
- case 0:
7303
- _context.next = 2;
7304
- return tx.paymentInfo(address);
7305
- case 2:
7306
- _yield$tx$paymentInfo = _context.sent;
7307
- partialFee = _yield$tx$paymentInfo.partialFee;
7308
- return _context.abrupt("return", partialFee.toBn());
7309
- case 5:
7310
- case "end":
7311
- return _context.stop();
7312
- }
7313
- }, _callee);
7314
- }));
7315
- };
7316
- // TODO: Refactor this function to eliminate the any type
7317
- var findParachainJunction = function findParachainJunction(multilocation) {
7318
- var interior = multilocation.interior;
7319
- for (var key in interior) {
7320
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access
7321
- var junctions = interior[key];
7322
- if (Array.isArray(junctions)) {
7323
- var _iterator = _createForOfIteratorHelper(junctions),
7324
- _step;
7325
- try {
7326
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
7327
- var junction = _step.value;
7328
- if ('Parachain' in junction) {
7329
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
7330
- return Number(junction.Parachain);
7331
- }
7332
- }
7333
- } catch (err) {
7334
- _iterator.e(err);
7335
- } finally {
7336
- _iterator.f();
7337
- }
7338
- } else if (junctions !== undefined && 'Parachain' in junctions) {
7339
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
7340
- return Number(junctions.Parachain);
7341
- }
7342
- }
7343
- return null;
7344
- };
7345
- var resolveTNodeFromMultiLocation = function resolveTNodeFromMultiLocation(multiLocation) {
7346
- var parachainId = findParachainJunction(multiLocation);
7347
- if (parachainId === null) {
7348
- throw new Error('Parachain ID not found in destination multi location.');
7349
- }
7350
- var node = getTNode(parachainId);
7351
- if (node === null) {
7352
- throw new Error('Node with specified paraId not found in destination multi location.');
7353
- }
7354
- return node;
7355
- };
7593
+ Darwinia: Darwinia$2,
7594
+ Encointer: Encointer$2,
7595
+ Hydration: Hydration$2,
7596
+ Imbue: Imbue$2,
7597
+ Integritee: Integritee$2,
7598
+ Interlay: Interlay$2,
7599
+ InvArchTinker: InvArchTinker$2,
7600
+ Karura: Karura$2,
7601
+ Khala: Khala$2,
7602
+ KiltSpiritnet: KiltSpiritnet$2,
7603
+ Kintsugi: Kintsugi$2,
7604
+ Litentry: Litentry$2,
7605
+ Litmus: Litmus$2,
7606
+ Manta: Manta$2,
7607
+ Moonbeam: Moonbeam$2,
7608
+ Moonriver: Moonriver$2,
7609
+ Mythos: Mythos$2,
7610
+ NeuroWeb: NeuroWeb$2,
7611
+ Nodle: Nodle$2,
7612
+ Parallel: Parallel$2,
7613
+ ParallelHeiko: ParallelHeiko$2,
7614
+ Peaq: Peaq$2,
7615
+ Pendulum: Pendulum$2,
7616
+ Phala: Phala$2,
7617
+ Picasso: Picasso$2,
7618
+ Pioneer: Pioneer$2,
7619
+ Polkadex: Polkadex$2,
7620
+ Quartz: Quartz$2,
7621
+ Robonomics: Robonomics$2,
7622
+ Shiden: Shiden$2,
7623
+ Subsocial: Subsocial$2,
7624
+ Turing: Turing$2,
7625
+ Unique: Unique$2,
7626
+ Zeitgeist: Zeitgeist$2,
7627
+ default: pallets
7628
+ });
7356
7629
 
7357
- var getAssetBySymbolOrId = function getAssetBySymbolOrId(node, currency) {
7358
- if (isTMulti(currency)) {
7359
- return null;
7360
- }
7361
- var currencyString = currency.toString();
7362
- var _getAssetsObject = getAssetsObject(node),
7363
- otherAssets = _getAssetsObject.otherAssets,
7364
- nativeAssets = _getAssetsObject.nativeAssets,
7365
- relayChainAssetSymbol = _getAssetsObject.relayChainAssetSymbol;
7366
- var asset = [].concat(_toConsumableArray(otherAssets), _toConsumableArray(nativeAssets)).find(function (_ref) {
7367
- var symbol = _ref.symbol,
7368
- assetId = _ref.assetId;
7369
- return symbol === currencyString || assetId === currencyString;
7370
- });
7371
- if (asset !== undefined) {
7372
- var symbol = asset.symbol,
7373
- assetId = asset.assetId;
7374
- return {
7375
- symbol: symbol,
7376
- assetId: assetId
7377
- };
7378
- }
7379
- if (relayChainAssetSymbol === currencyString) return {
7380
- symbol: relayChainAssetSymbol
7381
- };
7382
- return null;
7630
+ // Script that pulls XCM Pallets for selected Parachain
7631
+ var palletsMap$1 = palletsMapJson;
7632
+ var getDefaultPallet = function getDefaultPallet(node) {
7633
+ return palletsMap$1[node].defaultPallet;
7634
+ };
7635
+ var getSupportedPallets = function getSupportedPallets(node) {
7636
+ return palletsMap$1[node].supportedPallets;
7383
7637
  };
7384
7638
 
7385
7639
  var getBalanceForeignXTokens = function getBalanceForeignXTokens(address, symbolOrId, symbol, id, api) {
@@ -7396,10 +7650,9 @@ var getBalanceForeignXTokens = function getBalanceForeignXTokens(address, symbol
7396
7650
  var _ref2 = _slicedToArray(_ref, 2),
7397
7651
  _ref2$0$args = _slicedToArray(_ref2[0].args, 2);
7398
7652
  _ref2$0$args[0];
7399
- var asset = _ref2$0$args[1],
7400
- value1 = _ref2[1];
7653
+ var asset = _ref2$0$args[1];
7654
+ _ref2[1];
7401
7655
  var _a, _b, _c;
7402
- console.log(asset.toHuman(), value1.toHuman());
7403
7656
  return asset.toString() === symbolOrId || asset.toString() === id || asset.toString() === symbol || Object.values((_a = asset.toHuman()) !== null && _a !== void 0 ? _a : {}).toString() === symbolOrId || Object.values((_b = asset.toHuman()) !== null && _b !== void 0 ? _b : {}).toString() === id || Object.values((_c = asset.toHuman()) !== null && _c !== void 0 ? _c : {}).toString() === symbol;
7404
7657
  });
7405
7658
  return _context.abrupt("return", entry ? BigInt(entry[1].free.toString()) : null);
@@ -7410,30 +7663,102 @@ var getBalanceForeignXTokens = function getBalanceForeignXTokens(address, symbol
7410
7663
  }, _callee);
7411
7664
  }));
7412
7665
  };
7413
- var getBalanceForeignPolkadotXcm = function getBalanceForeignPolkadotXcm(address, id, api) {
7666
+ var getAssetHubMultiLocation = function getAssetHubMultiLocation(symbol) {
7667
+ if (symbol === 'MYTH') {
7668
+ return {
7669
+ parents: 1,
7670
+ interior: {
7671
+ X1: {
7672
+ Parachain: '3369'
7673
+ }
7674
+ }
7675
+ };
7676
+ } else if (symbol === 'KSM') {
7677
+ return {
7678
+ parents: 2,
7679
+ interior: {
7680
+ X1: {
7681
+ GlobalConsensus: 'Kusama'
7682
+ }
7683
+ }
7684
+ };
7685
+ }
7686
+ var ethAssets = getOtherAssets('Ethereum');
7687
+ var ethAsset = ethAssets.find(function (asset) {
7688
+ return asset.symbol === symbol;
7689
+ });
7690
+ if (ethAsset) {
7691
+ return {
7692
+ parents: 2,
7693
+ interior: {
7694
+ X2: [{
7695
+ GlobalConsensus: {
7696
+ Ethereum: {
7697
+ chainId: 1
7698
+ }
7699
+ }
7700
+ }, {
7701
+ AccountKey20: {
7702
+ network: null,
7703
+ key: ethAsset.assetId
7704
+ }
7705
+ }]
7706
+ }
7707
+ };
7708
+ }
7709
+ return null;
7710
+ };
7711
+ var getBalanceForeignPolkadotXcm = function getBalanceForeignPolkadotXcm(address, id, api, node, symbol) {
7414
7712
  return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
7415
- var parsedId, response, obj;
7713
+ var _response, _obj, multiLocation, _response2, _obj2, parsedId, response, obj;
7416
7714
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
7417
7715
  while (1) switch (_context2.prev = _context2.next) {
7418
7716
  case 0:
7419
7717
  _context2.prev = 0;
7420
- parsedId = new u32(api.registry, id);
7718
+ if (!(node === 'Mythos')) {
7719
+ _context2.next = 7;
7720
+ break;
7721
+ }
7421
7722
  _context2.next = 4;
7422
- return api.query.assets.account(parsedId, address);
7723
+ return api.query.balances.account(address);
7423
7724
  case 4:
7725
+ _response = _context2.sent;
7726
+ _obj = _response.toJSON();
7727
+ return _context2.abrupt("return", BigInt(_obj.free));
7728
+ case 7:
7729
+ if (!(node === 'AssetHubPolkadot')) {
7730
+ _context2.next = 15;
7731
+ break;
7732
+ }
7733
+ multiLocation = getAssetHubMultiLocation(symbol !== null && symbol !== void 0 ? symbol : id);
7734
+ if (!multiLocation) {
7735
+ _context2.next = 15;
7736
+ break;
7737
+ }
7738
+ _context2.next = 12;
7739
+ return api.query.foreignAssets.account(multiLocation, address);
7740
+ case 12:
7741
+ _response2 = _context2.sent;
7742
+ _obj2 = _response2.toJSON();
7743
+ return _context2.abrupt("return", BigInt(_obj2 === null ? 0 : _obj2.balance));
7744
+ case 15:
7745
+ parsedId = new u32(api.registry, id);
7746
+ _context2.next = 18;
7747
+ return api.query.assets.account(parsedId, address);
7748
+ case 18:
7424
7749
  response = _context2.sent;
7425
7750
  obj = response.toJSON();
7426
7751
  return _context2.abrupt("return", BigInt(obj.balance));
7427
- case 9:
7428
- _context2.prev = 9;
7752
+ case 23:
7753
+ _context2.prev = 23;
7429
7754
  _context2.t0 = _context2["catch"](0);
7430
7755
  console.log('Error while fetching balance', _context2.t0);
7431
7756
  return _context2.abrupt("return", null);
7432
- case 13:
7757
+ case 27:
7433
7758
  case "end":
7434
7759
  return _context2.stop();
7435
7760
  }
7436
- }, _callee2, null, [[0, 9]]);
7761
+ }, _callee2, null, [[0, 23]]);
7437
7762
  }));
7438
7763
  };
7439
7764
  var getBalanceForeign = function getBalanceForeign(address, node, symbolOrId, api) {
@@ -7471,7 +7796,7 @@ var getBalanceForeign = function getBalanceForeign(address, node, symbolOrId, ap
7471
7796
  break;
7472
7797
  }
7473
7798
  _context3.next = 18;
7474
- return getBalanceForeignPolkadotXcm(address, (_a = asset === null || asset === void 0 ? void 0 : asset.assetId) !== null && _a !== void 0 ? _a : symbolOrId, apiWithFallback);
7799
+ return getBalanceForeignPolkadotXcm(address, (_a = asset === null || asset === void 0 ? void 0 : asset.assetId) !== null && _a !== void 0 ? _a : symbolOrId, apiWithFallback, node, asset === null || asset === void 0 ? void 0 : asset.symbol);
7475
7800
  case 18:
7476
7801
  return _context3.abrupt("return", _context3.sent);
7477
7802
  case 19:
@@ -8411,57 +8736,6 @@ var Builder = function Builder(api) {
8411
8736
  return new GeneralBuilder(api);
8412
8737
  };
8413
8738
 
8414
- // Used to inform user, that currency they wish to use is not registered on either origin or destination Parachain
8415
- var InvalidCurrencyError = /*#__PURE__*/function (_Error) {
8416
- function InvalidCurrencyError(message) {
8417
- var _this;
8418
- _classCallCheck(this, InvalidCurrencyError);
8419
- _this = _callSuper(this, InvalidCurrencyError, [message]);
8420
- _this.name = 'InvalidCurrencyError';
8421
- return _this;
8422
- }
8423
- _inherits(InvalidCurrencyError, _Error);
8424
- return _createClass(InvalidCurrencyError);
8425
- }( /*#__PURE__*/_wrapNativeSuper(Error));
8426
-
8427
- // Used to inform user, that Parachain they wish to use is not supported yet
8428
- var NodeNotSupportedError = /*#__PURE__*/function (_Error) {
8429
- function NodeNotSupportedError(message) {
8430
- var _this;
8431
- _classCallCheck(this, NodeNotSupportedError);
8432
- _this = _callSuper(this, NodeNotSupportedError, [message !== null && message !== void 0 ? message : 'These nodes do not support XCM transfers from Relay / to Relay chain.']);
8433
- _this.name = 'NodeNotSupported';
8434
- return _this;
8435
- }
8436
- _inherits(NodeNotSupportedError, _Error);
8437
- return _createClass(NodeNotSupportedError);
8438
- }( /*#__PURE__*/_wrapNativeSuper(Error));
8439
-
8440
- // Used to inform user, that Parachain they wish to use does not support scenario they wish to use yet
8441
- var ScenarioNotSupportedError = /*#__PURE__*/function (_Error) {
8442
- function ScenarioNotSupportedError(node, scenario, message) {
8443
- var _this;
8444
- _classCallCheck(this, ScenarioNotSupportedError);
8445
- _this = _callSuper(this, ScenarioNotSupportedError, [message !== null && message !== void 0 ? message : "Scenario ".concat(scenario, " not supported for node ").concat(node)]);
8446
- _this.name = 'ScenarioNotSupported';
8447
- return _this;
8448
- }
8449
- _inherits(ScenarioNotSupportedError, _Error);
8450
- return _createClass(ScenarioNotSupportedError);
8451
- }( /*#__PURE__*/_wrapNativeSuper(Error));
8452
-
8453
- var IncompatibleNodesError = /*#__PURE__*/function (_Error) {
8454
- function IncompatibleNodesError() {
8455
- var _this;
8456
- _classCallCheck(this, IncompatibleNodesError);
8457
- _this = _callSuper(this, IncompatibleNodesError, ['Transactions between nodes on different relaychains are not yet possible.']);
8458
- _this.name = 'IncompatibleNodes';
8459
- return _this;
8460
- }
8461
- _inherits(IncompatibleNodesError, _Error);
8462
- return _createClass(IncompatibleNodesError);
8463
- }( /*#__PURE__*/_wrapNativeSuper(Error));
8464
-
8465
8739
  var transferEthToPolkadot = function transferEthToPolkadot(provider_1, _a) {
8466
8740
  return __awaiter(void 0, [provider_1, _a], void 0, function (provider, _ref) {
8467
8741
  var signer = _ref.signer,
@@ -8723,7 +8997,7 @@ var getAssetSymbol = function getAssetSymbol(node, assetId) {
8723
8997
  if (node === 'Polkadot' || node === 'Kusama') {
8724
8998
  return getNativeAssetSymbol(node);
8725
8999
  }
8726
- var asset = getAssetBySymbolOrId(node, assetId);
9000
+ var asset = getAssetBySymbolOrId(node, assetId, false, true);
8727
9001
  return asset === null || asset === void 0 ? void 0 : asset.symbol;
8728
9002
  };
8729
9003
  var getAssetBalance = function getAssetBalance(account, node, assetSymbolOrId) {
@@ -8869,6 +9143,7 @@ var index$1 = /*#__PURE__*/Object.freeze({
8869
9143
  getAllAssetsSymbols: getAllAssetsSymbols,
8870
9144
  getAssetDecimals: getAssetDecimals,
8871
9145
  getAssetId: getAssetId,
9146
+ getAssets: getAssets,
8872
9147
  getAssetsObject: getAssetsObject,
8873
9148
  getBalanceForeign: getBalanceForeign,
8874
9149
  getBalanceNative: getBalanceNative,
@@ -8877,6 +9152,7 @@ var index$1 = /*#__PURE__*/Object.freeze({
8877
9152
  getOtherAssets: getOtherAssets,
8878
9153
  getParaId: getParaId,
8879
9154
  getRelayChainSymbol: getRelayChainSymbol,
9155
+ getSupportedAssets: getSupportedAssets,
8880
9156
  getTNode: getTNode,
8881
9157
  getTransferInfo: getTransferInfo,
8882
9158
  hasSupportForAsset: hasSupportForAsset
@@ -9042,6 +9318,11 @@ var ParachainNode = /*#__PURE__*/function () {
9042
9318
  value: function createPolkadotXcmHeader$1(scenario, version, destination, paraId) {
9043
9319
  return createPolkadotXcmHeader(scenario, version, destination, paraId);
9044
9320
  }
9321
+ }, {
9322
+ key: "getNativeAssetSymbol",
9323
+ value: function getNativeAssetSymbol$1() {
9324
+ return getNativeAssetSymbol(this.node);
9325
+ }
9045
9326
  }]);
9046
9327
  }();
9047
9328
 
@@ -9080,7 +9361,9 @@ var getCurrencySelection = function getCurrencySelection(_ref2, isAssetHub, curr
9080
9361
  }
9081
9362
  return currencySelection;
9082
9363
  };
9083
- var getParameters = function getParameters(isAssetHub, currencySelection, addressSelection, amount, fees, feeAsset) {
9364
+ var getParameters = function getParameters(isAssetHub, currencySelection, addressSelection, amount, fees, feeAsset
9365
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
9366
+ ) {
9084
9367
  if (isAssetHub) {
9085
9368
  return feeAsset !== undefined ? [currencySelection, feeAsset, addressSelection, fees] : [currencySelection, addressSelection, fees];
9086
9369
  }
@@ -9160,9 +9443,11 @@ var Unique = /*#__PURE__*/function (_ParachainNode) {
9160
9443
  return _createClass(Unique, [{
9161
9444
  key: "transferXTokens",
9162
9445
  value: function transferXTokens(input) {
9163
- return XTokensTransferImpl.transferXTokens(input, {
9164
- ForeignAssetId: input.currencyID
9165
- });
9446
+ var currencyID = input.currencyID;
9447
+ var currencySelection = {
9448
+ ForeignAssetId: currencyID
9449
+ };
9450
+ return XTokensTransferImpl.transferXTokens(input, currencySelection);
9166
9451
  }
9167
9452
  }]);
9168
9453
  }(ParachainNode);
@@ -9178,7 +9463,7 @@ var Crust = /*#__PURE__*/function (_ParachainNode) {
9178
9463
  value: function getCurrencySelection(_ref) {
9179
9464
  var currency = _ref.currency,
9180
9465
  currencyID = _ref.currencyID;
9181
- if (currency === 'CRU') {
9466
+ if (currency === this.getNativeAssetSymbol()) {
9182
9467
  return 'SelfReserve';
9183
9468
  }
9184
9469
  if (currencyID === undefined) {
@@ -9205,7 +9490,7 @@ var BifrostPolkadot = /*#__PURE__*/function (_ParachainNode) {
9205
9490
  return _createClass(BifrostPolkadot, [{
9206
9491
  key: "transferXTokens",
9207
9492
  value: function transferXTokens(input) {
9208
- var currencySelection = _defineProperty({}, input.currency === 'BNC' ? 'Native' : 'Token', input.currency);
9493
+ var currencySelection = _defineProperty({}, input.currency === this.getNativeAssetSymbol() ? 'Native' : 'Token', input.currency);
9209
9494
  return XTokensTransferImpl.transferXTokens(input, currencySelection);
9210
9495
  }
9211
9496
  }]);
@@ -9231,7 +9516,7 @@ var Centrifuge = /*#__PURE__*/function (_ParachainNode) {
9231
9516
  value: function transferXTokens(input) {
9232
9517
  var currency = input.currency,
9233
9518
  currencyID = input.currencyID;
9234
- var currencySelection = currency === 'CFG' ? 'Native' : {
9519
+ var currencySelection = currency === this.getNativeAssetSymbol() ? 'Native' : {
9235
9520
  ForeignAsset: currencyID
9236
9521
  };
9237
9522
  return XTokensTransferImpl.transferXTokens(input, currencySelection);
@@ -9299,7 +9584,8 @@ var Litentry = /*#__PURE__*/function (_ParachainNode) {
9299
9584
  return _createClass(Litentry, [{
9300
9585
  key: "transferXTokens",
9301
9586
  value: function transferXTokens(input) {
9302
- return XTokensTransferImpl.transferXTokens(input, 'SelfReserve');
9587
+ var currencySelection = 'SelfReserve';
9588
+ return XTokensTransferImpl.transferXTokens(input, currencySelection);
9303
9589
  }
9304
9590
  }]);
9305
9591
  }(ParachainNode);
@@ -9315,7 +9601,7 @@ var Moonbeam = /*#__PURE__*/function (_ParachainNode) {
9315
9601
  value: function transferXTokens(input) {
9316
9602
  var currency = input.currency,
9317
9603
  currencyID = input.currencyID;
9318
- var currencySelection = currency === 'GLMR' ? 'SelfReserve' : {
9604
+ var currencySelection = currency === this.getNativeAssetSymbol() ? 'SelfReserve' : {
9319
9605
  ForeignAsset: currencyID
9320
9606
  };
9321
9607
  return XTokensTransferImpl.transferXTokens(input, currencySelection);
@@ -9348,7 +9634,8 @@ var Parallel = /*#__PURE__*/function (_ParachainNode) {
9348
9634
  return _createClass(Parallel, [{
9349
9635
  key: "transferXTokens",
9350
9636
  value: function transferXTokens(input) {
9351
- return XTokensTransferImpl.transferXTokens(input, input.currencyID);
9637
+ var currencyID = input.currencyID;
9638
+ return XTokensTransferImpl.transferXTokens(input, currencyID);
9352
9639
  }
9353
9640
  }]);
9354
9641
  }(ParachainNode);
@@ -9362,18 +9649,12 @@ var Altair = /*#__PURE__*/function (_ParachainNode) {
9362
9649
  return _createClass(Altair, [{
9363
9650
  key: "transferXTokens",
9364
9651
  value: function transferXTokens(input) {
9365
- var currencySelection = Altair.getCurrencySelection(input);
9366
- return XTokensTransferImpl.transferXTokens(input, currencySelection);
9367
- }
9368
- }], [{
9369
- key: "getCurrencySelection",
9370
- value: function getCurrencySelection(_ref) {
9371
- var currency = _ref.currency,
9372
- currencyID = _ref.currencyID;
9373
- if (currency === 'AIR') return 'Native';
9374
- return {
9652
+ var currency = input.currency,
9653
+ currencyID = input.currencyID;
9654
+ var currencySelection = currency === this.getNativeAssetSymbol() ? 'Native' : {
9375
9655
  ForeignAsset: currencyID
9376
9656
  };
9657
+ return XTokensTransferImpl.transferXTokens(input, currencySelection);
9377
9658
  }
9378
9659
  }]);
9379
9660
  }(ParachainNode);
@@ -9387,9 +9668,11 @@ var Amplitude = /*#__PURE__*/function (_ParachainNode) {
9387
9668
  return _createClass(Amplitude, [{
9388
9669
  key: "transferXTokens",
9389
9670
  value: function transferXTokens(input) {
9390
- return XTokensTransferImpl.transferXTokens(input, {
9391
- XCM: input.currencyID
9392
- });
9671
+ var currencyID = input.currencyID;
9672
+ var currencySelection = {
9673
+ XCM: currencyID
9674
+ };
9675
+ return XTokensTransferImpl.transferXTokens(input, currencySelection);
9393
9676
  }
9394
9677
  }]);
9395
9678
  }(ParachainNode);
@@ -9408,7 +9691,7 @@ var Bajun = /*#__PURE__*/function (_ParachainNode) {
9408
9691
  if (scenario !== 'ParaToPara') {
9409
9692
  throw new ScenarioNotSupportedError(this.node, scenario);
9410
9693
  }
9411
- var nativeSymbol = getNativeAssetSymbol(this.node);
9694
+ var nativeSymbol = this.getNativeAssetSymbol();
9412
9695
  if (currency !== nativeSymbol) {
9413
9696
  throw new InvalidCurrencyError("Node ".concat(this.node, " does not support currency ").concat(currency));
9414
9697
  }
@@ -9446,7 +9729,7 @@ var BifrostKusama = /*#__PURE__*/function (_ParachainNode) {
9446
9729
  return _createClass(BifrostKusama, [{
9447
9730
  key: "transferXTokens",
9448
9731
  value: function transferXTokens(input) {
9449
- var currencySelection = _defineProperty({}, input.currency === 'BNC' ? 'Native' : 'Token', input.currency);
9732
+ var currencySelection = _defineProperty({}, input.currency === this.getNativeAssetSymbol() ? 'Native' : 'Token', input.currency);
9450
9733
  return XTokensTransferImpl.transferXTokens(input, currencySelection);
9451
9734
  }
9452
9735
  }]);
@@ -9462,7 +9745,9 @@ var Pioneer = /*#__PURE__*/function (_ParachainNode) {
9462
9745
  key: "transferXTokens",
9463
9746
  value: function transferXTokens(input) {
9464
9747
  // Multiple asset options needs addressing
9465
- return XTokensTransferImpl.transferXTokens(input, 'NativeToken', input.fees);
9748
+ var fees = input.fees;
9749
+ var currencySelection = 'NativeToken';
9750
+ return XTokensTransferImpl.transferXTokens(input, currencySelection, fees);
9466
9751
  }
9467
9752
  }]);
9468
9753
  }(ParachainNode);
@@ -9491,7 +9776,8 @@ var Picasso = /*#__PURE__*/function (_ParachainNode) {
9491
9776
  return _createClass(Picasso, [{
9492
9777
  key: "transferXTokens",
9493
9778
  value: function transferXTokens(input) {
9494
- return XTokensTransferImpl.transferXTokens(input, input.currencyID);
9779
+ var currencyID = input.currencyID;
9780
+ return XTokensTransferImpl.transferXTokens(input, currencyID);
9495
9781
  }
9496
9782
  }]);
9497
9783
  }(ParachainNode);
@@ -9505,7 +9791,7 @@ var ParallelHeiko = /*#__PURE__*/function (_ParachainNode) {
9505
9791
  return _createClass(ParallelHeiko, [{
9506
9792
  key: "transferXTokens",
9507
9793
  value: function transferXTokens(input) {
9508
- return XTokensTransferImpl.transferXTokens(input, input.currencyID);
9794
+ return getNode('Parallel').transferXTokens(input);
9509
9795
  }
9510
9796
  }]);
9511
9797
  }(ParachainNode);
@@ -9521,7 +9807,7 @@ var Moonriver = /*#__PURE__*/function (_ParachainNode) {
9521
9807
  value: function transferXTokens(input) {
9522
9808
  var currency = input.currency,
9523
9809
  currencyID = input.currencyID;
9524
- var currencySelection = currency === 'MOVR' ? 'SelfReserve' : {
9810
+ var currencySelection = currency === this.getNativeAssetSymbol() ? 'SelfReserve' : {
9525
9811
  ForeignAsset: currencyID
9526
9812
  };
9527
9813
  return XTokensTransferImpl.transferXTokens(input, currencySelection);
@@ -9550,7 +9836,7 @@ var Litmus = /*#__PURE__*/function (_ParachainNode) {
9550
9836
  key: "transferXTokens",
9551
9837
  value: function transferXTokens(input) {
9552
9838
  // Multiple asset options needs addressing
9553
- return XTokensTransferImpl.transferXTokens(input, 'SelfReserve');
9839
+ return getNode('Litentry').transferXTokens(input);
9554
9840
  }
9555
9841
  }]);
9556
9842
  }(ParachainNode);
@@ -9587,9 +9873,10 @@ var Calamari = /*#__PURE__*/function (_ParachainNode) {
9587
9873
  value: function transferXTokens(input) {
9588
9874
  // Currently only option for XCM transfer
9589
9875
  var currencyID = input.currencyID;
9590
- return XTokensTransferImpl.transferXTokens(input, {
9876
+ var currencySelection = {
9591
9877
  MantaCurrency: currencyID
9592
- });
9878
+ };
9879
+ return XTokensTransferImpl.transferXTokens(input, currencySelection);
9593
9880
  }
9594
9881
  }]);
9595
9882
  }(ParachainNode);
@@ -9605,7 +9892,7 @@ var CrustShadow = /*#__PURE__*/function (_ParachainNode) {
9605
9892
  value: function getCurrencySelection(_ref) {
9606
9893
  var currency = _ref.currency,
9607
9894
  currencyID = _ref.currencyID;
9608
- if (currency === 'CSM') {
9895
+ if (currency === this.getNativeAssetSymbol()) {
9609
9896
  return 'SelfReserve';
9610
9897
  }
9611
9898
  if (currencyID === undefined) {
@@ -9682,14 +9969,7 @@ var Karura = /*#__PURE__*/function (_ParachainNode) {
9682
9969
  return _createClass(Karura, [{
9683
9970
  key: "transferXTokens",
9684
9971
  value: function transferXTokens(input) {
9685
- var currency = input.currency,
9686
- currencyID = input.currencyID;
9687
- var currencySelection = currencyID !== undefined ? {
9688
- ForeignAsset: currencyID
9689
- } : {
9690
- Token: currency
9691
- };
9692
- return XTokensTransferImpl.transferXTokens(input, currencySelection);
9972
+ return getNode('Acala').transferXTokens(input);
9693
9973
  }
9694
9974
  }, {
9695
9975
  key: "getProvider",
@@ -9731,31 +10011,29 @@ var PolkadotXCMTransferImpl = /*#__PURE__*/function () {
9731
10011
 
9732
10012
  var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
9733
10013
  function AssetHubPolkadot() {
9734
- var _this;
9735
10014
  _classCallCheck(this, AssetHubPolkadot);
9736
- _this = _callSuper(this, AssetHubPolkadot, ['AssetHubPolkadot', 'PolkadotAssetHub', 'polkadot', Version.V3]);
9737
- _this._assetCheckEnabled = false;
9738
- return _this;
10015
+ return _callSuper(this, AssetHubPolkadot, ['AssetHubPolkadot', 'PolkadotAssetHub', 'polkadot', Version.V3]);
9739
10016
  }
9740
10017
  _inherits(AssetHubPolkadot, _ParachainNode);
9741
10018
  return _createClass(AssetHubPolkadot, [{
9742
10019
  key: "handleBridgeTransfer",
9743
10020
  value: function handleBridgeTransfer(input, targetChain) {
9744
- if (targetChain === 'Kusama' && input.currencyId === 'KSM' || targetChain === 'Polkadot' && input.currencyId === 'DOT') {
10021
+ var _a, _b, _c, _d;
10022
+ if (targetChain === 'Kusama' && ((_a = input.currencySymbol) === null || _a === void 0 ? void 0 : _a.toUpperCase()) === 'KSM' || targetChain === 'Polkadot' && ((_b = input.currencySymbol) === null || _b === void 0 ? void 0 : _b.toUpperCase()) === 'DOT') {
9745
10023
  var modifiedInput = Object.assign(Object.assign({}, input), {
9746
10024
  header: createBridgePolkadotXcmDest(Version.V4, targetChain, input.destination, input.paraIdTo),
9747
10025
  addressSelection: generateAddressMultiLocationV4(input.api, input.address),
9748
10026
  currencySelection: createBridgeCurrencySpec(input.amount, targetChain)
9749
10027
  });
9750
10028
  return PolkadotXCMTransferImpl.transferPolkadotXCM(modifiedInput, 'transferAssets', 'Unlimited');
9751
- } else if (targetChain === 'Polkadot' && input.currencyId === 'KSM' || targetChain === 'Kusama' && input.currencyId === 'DOT') {
10029
+ } else if (targetChain === 'Polkadot' && ((_c = input.currencySymbol) === null || _c === void 0 ? void 0 : _c.toUpperCase()) === 'KSM' || targetChain === 'Kusama' && ((_d = input.currencySymbol) === null || _d === void 0 ? void 0 : _d.toUpperCase()) === 'DOT') {
9752
10030
  var _modifiedInput = Object.assign(Object.assign({}, input), {
9753
10031
  header: createBridgePolkadotXcmDest(Version.V3, targetChain, input.destination, input.paraIdTo),
9754
10032
  currencySelection: createCurrencySpec(input.amount, Version.V3, Parents.ONE, input.overridedCurrency)
9755
10033
  });
9756
10034
  return PolkadotXCMTransferImpl.transferPolkadotXCM(_modifiedInput, 'limitedReserveTransferAssets', 'Unlimited');
9757
10035
  }
9758
- throw new InvalidCurrencyError('Polkadot <-> Kusama bridge does not support this currency');
10036
+ throw new InvalidCurrencyError("Polkadot <-> Kusama bridge does not support currency ".concat(input.currencySymbol));
9759
10037
  }
9760
10038
  }, {
9761
10039
  key: "handleEthBridgeTransfer",
@@ -9765,16 +10043,16 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
9765
10043
  destination = input.destination,
9766
10044
  paraIdTo = input.paraIdTo,
9767
10045
  address = input.address,
9768
- currencyId = input.currencyId;
10046
+ currencySymbol = input.currencySymbol;
9769
10047
  if (!ethers.isAddress(address)) {
9770
10048
  throw new Error('Only Ethereum addresses are supported for Ethereum transfers');
9771
10049
  }
9772
10050
  var ethAssets = getOtherAssets('Ethereum');
9773
10051
  var ethAsset = ethAssets.find(function (asset) {
9774
- return asset.symbol === currencyId;
10052
+ return asset.symbol === currencySymbol;
9775
10053
  });
9776
10054
  if (!ethAsset) {
9777
- throw new InvalidCurrencyError("Currency ".concat(currencyId, " is not supported for Ethereum transfers"));
10055
+ throw new InvalidCurrencyError("Currency ".concat(currencySymbol, " is not supported for Ethereum transfers"));
9778
10056
  }
9779
10057
  var ETH_CHAIN_ID = 1;
9780
10058
  var ethJunction = {
@@ -9800,6 +10078,34 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
9800
10078
  });
9801
10079
  return PolkadotXCMTransferImpl.transferPolkadotXCM(modifiedInput, 'transferAssets', 'Unlimited');
9802
10080
  }
10081
+ }, {
10082
+ key: "handleMythosTransfer",
10083
+ value: function handleMythosTransfer(input) {
10084
+ var api = input.api,
10085
+ address = input.address,
10086
+ amount = input.amount,
10087
+ currencyId = input.currencyId,
10088
+ overridedCurrency = input.overridedCurrency,
10089
+ scenario = input.scenario,
10090
+ destination = input.destination,
10091
+ paraIdTo = input.paraIdTo;
10092
+ var version = Version.V2;
10093
+ var paraId = destination !== undefined && _typeof(destination) !== 'object' ? paraIdTo !== null && paraIdTo !== void 0 ? paraIdTo : getParaId(destination) : undefined;
10094
+ var customMultiLocation = {
10095
+ parents: Parents.ONE,
10096
+ interior: {
10097
+ X1: {
10098
+ Parachain: paraId
10099
+ }
10100
+ }
10101
+ };
10102
+ var modifiedInput = Object.assign(Object.assign({}, input), {
10103
+ header: this.createPolkadotXcmHeader(scenario, version, destination, paraId),
10104
+ addressSelection: generateAddressPayload(api, scenario, 'PolkadotXcm', address, version, paraId),
10105
+ currencySelection: this.createCurrencySpec(amount, scenario, version, currencyId, overridedCurrency !== null && overridedCurrency !== void 0 ? overridedCurrency : customMultiLocation)
10106
+ });
10107
+ return PolkadotXCMTransferImpl.transferPolkadotXCM(modifiedInput, 'limitedTeleportAssets', 'Unlimited');
10108
+ }
9803
10109
  }, {
9804
10110
  key: "transferPolkadotXCM",
9805
10111
  value: function transferPolkadotXCM(input) {
@@ -9810,6 +10116,9 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
9810
10116
  if (input.destination === 'Ethereum') {
9811
10117
  return this.handleEthBridgeTransfer(input);
9812
10118
  }
10119
+ if (input.destination === 'Mythos') {
10120
+ return this.handleMythosTransfer(input);
10121
+ }
9813
10122
  var method = scenario === 'ParaToPara' ? 'limitedReserveTransferAssets' : 'limitedTeleportAssets';
9814
10123
  return PolkadotXCMTransferImpl.transferPolkadotXCM(input, method, 'Unlimited');
9815
10124
  }
@@ -9845,11 +10154,8 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
9845
10154
 
9846
10155
  var AssetHubKusama = /*#__PURE__*/function (_ParachainNode) {
9847
10156
  function AssetHubKusama() {
9848
- var _this;
9849
10157
  _classCallCheck(this, AssetHubKusama);
9850
- _this = _callSuper(this, AssetHubKusama, ['AssetHubKusama', 'KusamaAssetHub', 'kusama', Version.V3]);
9851
- _this._assetCheckEnabled = false;
9852
- return _this;
10158
+ return _callSuper(this, AssetHubKusama, ['AssetHubKusama', 'KusamaAssetHub', 'kusama', Version.V3]);
9853
10159
  }
9854
10160
  _inherits(AssetHubKusama, _ParachainNode);
9855
10161
  return _createClass(AssetHubKusama, [{
@@ -9982,13 +10288,15 @@ var Astar = /*#__PURE__*/function (_ParachainNode) {
9982
10288
  }, {
9983
10289
  key: "transferXTokens",
9984
10290
  value: function transferXTokens(input) {
9985
- return XTokensTransferImpl.transferXTokens(input, input.currencyID);
10291
+ var currencyID = input.currencyID;
10292
+ return XTokensTransferImpl.transferXTokens(input, currencyID);
9986
10293
  }
9987
10294
  }, {
9988
10295
  key: "canUseXTokens",
9989
10296
  value: function canUseXTokens(_ref) {
9990
- var currencySymbol = _ref.currencySymbol;
9991
- return currencySymbol !== 'ASTR';
10297
+ var currencySymbol = _ref.currencySymbol,
10298
+ currencyId = _ref.currencyId;
10299
+ return currencySymbol !== this.getNativeAssetSymbol() || !!currencyId;
9992
10300
  }
9993
10301
  }]);
9994
10302
  }(ParachainNode);
@@ -10002,9 +10310,11 @@ var Darwinia = /*#__PURE__*/function (_ParachainNode) {
10002
10310
  return _createClass(Darwinia, [{
10003
10311
  key: "transferXTokens",
10004
10312
  value: function transferXTokens(input) {
10005
- return XTokensTransferImpl.transferXTokens(input, input.currency === 'RING' ? 'SelfReserve' : {
10006
- ForeignAsset: input.currencyID
10007
- });
10313
+ var currencyID = input.currencyID;
10314
+ var currencySelection = input.currency === this.getNativeAssetSymbol() ? 'SelfReserve' : {
10315
+ ForeignAsset: currencyID
10316
+ };
10317
+ return XTokensTransferImpl.transferXTokens(input, currencySelection);
10008
10318
  }
10009
10319
  }, {
10010
10320
  key: "transferRelayToPara",
@@ -10068,10 +10378,7 @@ var Quartz = /*#__PURE__*/function (_ParachainNode) {
10068
10378
  return _createClass(Quartz, [{
10069
10379
  key: "transferXTokens",
10070
10380
  value: function transferXTokens(input) {
10071
- var currencyID = input.currencyID;
10072
- return XTokensTransferImpl.transferXTokens(input, {
10073
- ForeignAssetId: currencyID
10074
- });
10381
+ return getNode('Unique').transferXTokens(input);
10075
10382
  }
10076
10383
  }]);
10077
10384
  }(ParachainNode);
@@ -10087,19 +10394,19 @@ var Shiden = /*#__PURE__*/function (_ParachainNode) {
10087
10394
  value: function transferPolkadotXCM(input) {
10088
10395
  // Same as Astar, works
10089
10396
  // https://shiden.subscan.io/xcm_message/kusama-97eb47c25c781affa557f36dbd117d49f7e1ab4e
10090
- var method = input.scenario === 'ParaToPara' ? 'reserveTransferAssets' : 'reserveWithdrawAssets';
10091
- return PolkadotXCMTransferImpl.transferPolkadotXCM(input, method);
10397
+ return getNode('Astar').transferPolkadotXCM(input);
10092
10398
  }
10093
10399
  }, {
10094
10400
  key: "transferXTokens",
10095
10401
  value: function transferXTokens(input) {
10096
- return XTokensTransferImpl.transferXTokens(input, input.currencyID);
10402
+ return getNode('Astar').transferXTokens(input);
10097
10403
  }
10098
10404
  }, {
10099
10405
  key: "canUseXTokens",
10100
10406
  value: function canUseXTokens(_ref) {
10101
- var currencySymbol = _ref.currencySymbol;
10102
- return currencySymbol !== 'SDN';
10407
+ var currencySymbol = _ref.currencySymbol,
10408
+ currencyId = _ref.currencyId;
10409
+ return currencySymbol !== this.getNativeAssetSymbol() || !!currencyId;
10103
10410
  }
10104
10411
  }]);
10105
10412
  }(ParachainNode);
@@ -10113,9 +10420,11 @@ var Manta = /*#__PURE__*/function (_ParachainNode) {
10113
10420
  return _createClass(Manta, [{
10114
10421
  key: "transferXTokens",
10115
10422
  value: function transferXTokens(input) {
10116
- return XTokensTransferImpl.transferXTokens(input, {
10117
- MantaCurrency: input.currencyID
10118
- });
10423
+ var currencyID = input.currencyID;
10424
+ var currencySelection = {
10425
+ MantaCurrency: currencyID
10426
+ };
10427
+ return XTokensTransferImpl.transferXTokens(input, currencySelection);
10119
10428
  }
10120
10429
  }]);
10121
10430
  }(ParachainNode);
@@ -10132,10 +10441,11 @@ var Nodle = /*#__PURE__*/function (_ParachainNode) {
10132
10441
  if (input.scenario !== 'ParaToPara') {
10133
10442
  throw new ScenarioNotSupportedError(this.node, input.scenario);
10134
10443
  }
10135
- if (input.currency !== 'NODL') {
10444
+ if (input.currency !== this.getNativeAssetSymbol()) {
10136
10445
  throw new InvalidCurrencyError("Asset ".concat(input.currency, " is not supported by node ").concat(this.node, "."));
10137
10446
  }
10138
- return XTokensTransferImpl.transferXTokens(input, 'NodleNative');
10447
+ var currencySelection = 'NodleNative';
10448
+ return XTokensTransferImpl.transferXTokens(input, currencySelection);
10139
10449
  }
10140
10450
  }, {
10141
10451
  key: "transferRelayToPara",
@@ -10171,12 +10481,13 @@ var Pendulum = /*#__PURE__*/function (_ParachainNode) {
10171
10481
  if (input.scenario !== 'ParaToPara') {
10172
10482
  throw new ScenarioNotSupportedError(this.node, input.scenario);
10173
10483
  }
10174
- if (input.currency !== 'PEN') {
10484
+ if (input.currency !== this.getNativeAssetSymbol()) {
10175
10485
  throw new InvalidCurrencyError("Asset ".concat(input.currency, " is not supported by node ").concat(this.node, "."));
10176
10486
  }
10177
- return XTokensTransferImpl.transferXTokens(input, {
10487
+ var currencySelection = {
10178
10488
  XCM: input.currencyID
10179
- });
10489
+ };
10490
+ return XTokensTransferImpl.transferXTokens(input, currencySelection);
10180
10491
  }
10181
10492
  }, {
10182
10493
  key: "transferRelayToPara",
@@ -10195,7 +10506,8 @@ var Polkadex = /*#__PURE__*/function (_ParachainNode) {
10195
10506
  return _createClass(Polkadex, [{
10196
10507
  key: "transferXTokens",
10197
10508
  value: function transferXTokens(input) {
10198
- return XTokensTransferImpl.transferXTokens(input, input.currencyID);
10509
+ var currencyID = input.currencyID;
10510
+ return XTokensTransferImpl.transferXTokens(input, currencyID);
10199
10511
  }
10200
10512
  }, {
10201
10513
  key: "getProvider",
@@ -10214,7 +10526,7 @@ var Zeitgeist = /*#__PURE__*/function (_ParachainNode) {
10214
10526
  return _createClass(Zeitgeist, [{
10215
10527
  key: "transferXTokens",
10216
10528
  value: function transferXTokens(input) {
10217
- var currencySelection = input.currency === 'ZTG' ? 'Ztg' : {
10529
+ var currencySelection = input.currency === this.getNativeAssetSymbol() ? 'Ztg' : {
10218
10530
  ForeignAsset: input.currencyID
10219
10531
  };
10220
10532
  return XTokensTransferImpl.transferXTokens(input, currencySelection);
@@ -10361,7 +10673,7 @@ var Phala = /*#__PURE__*/function (_ParachainNode) {
10361
10673
  key: "transferXTransfer",
10362
10674
  value: function transferXTransfer(input) {
10363
10675
  var currency = input.currency;
10364
- if (currency !== 'PHA') {
10676
+ if (currency !== this.getNativeAssetSymbol()) {
10365
10677
  throw new InvalidCurrencyError("Node ".concat(this.node, " does not support currency ").concat(currency));
10366
10678
  }
10367
10679
  return XTransferTransferImpl.transferXTransfer(input);
@@ -10514,15 +10826,16 @@ var Mythos = /*#__PURE__*/function (_ParachainNode) {
10514
10826
  key: "transferPolkadotXCM",
10515
10827
  value: function transferPolkadotXCM(input) {
10516
10828
  var scenario = input.scenario,
10517
- currencySymbol = input.currencySymbol;
10829
+ currencySymbol = input.currencySymbol,
10830
+ destination = input.destination;
10518
10831
  if (scenario !== 'ParaToPara') {
10519
10832
  throw new ScenarioNotSupportedError(this.node, scenario);
10520
10833
  }
10521
- var nativeSymbol = getNativeAssetSymbol(this.node);
10834
+ var nativeSymbol = this.getNativeAssetSymbol();
10522
10835
  if (currencySymbol !== nativeSymbol) {
10523
10836
  throw new InvalidCurrencyError("Node ".concat(this.node, " does not support currency ").concat(currencySymbol));
10524
10837
  }
10525
- return PolkadotXCMTransferImpl.transferPolkadotXCM(input, 'limitedReserveTransferAssets', 'Unlimited');
10838
+ return PolkadotXCMTransferImpl.transferPolkadotXCM(input, destination === 'AssetHubPolkadot' ? 'limitedTeleportAssets' : 'limitedReserveTransferAssets', 'Unlimited');
10526
10839
  }
10527
10840
  }, {
10528
10841
  key: "transferRelayToPara",
@@ -11007,13 +11320,33 @@ var checkKeepAlive = function checkKeepAlive(_a) {
11007
11320
  });
11008
11321
  };
11009
11322
 
11323
+ var transformOptions = function transformOptions(options) {
11324
+ var currency = options.currency;
11325
+ if (isTCurrencySpecifier(currency)) {
11326
+ if ('symbol' in currency) {
11327
+ return Object.assign(Object.assign({}, options), {
11328
+ currency: currency.symbol,
11329
+ isSymbol: true
11330
+ });
11331
+ } else if ('id' in currency) {
11332
+ return Object.assign(Object.assign({}, options), {
11333
+ currency: currency.id,
11334
+ isSymbol: false
11335
+ });
11336
+ }
11337
+ }
11338
+ return Object.assign(Object.assign({}, options), {
11339
+ currency: currency,
11340
+ isSymbol: undefined
11341
+ });
11342
+ };
11010
11343
  var sendCommon = function sendCommon(options) {
11011
11344
  return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
11012
- var _a, api, origin, currency, amount, address, destination, paraIdTo, destApiForKeepAlive, feeAsset, version, _options$serializedAp, serializedApiCallEnabled, asset, isMultiLocationDestination, isMultiLocationCurrency, originRelayChainSymbol, destinationRelayChainSymbol, supportsBridge, originNode, assetCheckEnabled, apiWithFallback, amountStr, currencyStr, currencyId;
11345
+ var _a, _b, _transformOptions, api, origin, currency, amount, address, destination, paraIdTo, destApiForKeepAlive, feeAsset, version, isSymbol, _transformOptions$ser, serializedApiCallEnabled, isMultiLocationDestination, isMultiLocationCurrency, isBridge, isRelayDestination, originRelayChainSymbol, destinationRelayChainSymbol, originNode, assetCheckEnabled, asset, apiWithFallback, amountStr, currencyStr;
11013
11346
  return _regeneratorRuntime().wrap(function _callee$(_context) {
11014
11347
  while (1) switch (_context.prev = _context.next) {
11015
11348
  case 0:
11016
- api = options.api, origin = options.origin, currency = options.currency, amount = options.amount, address = options.address, destination = options.destination, paraIdTo = options.paraIdTo, destApiForKeepAlive = options.destApiForKeepAlive, feeAsset = options.feeAsset, version = options.version, _options$serializedAp = options.serializedApiCallEnabled, serializedApiCallEnabled = _options$serializedAp === void 0 ? false : _options$serializedAp;
11349
+ _transformOptions = transformOptions(options), api = _transformOptions.api, origin = _transformOptions.origin, currency = _transformOptions.currency, amount = _transformOptions.amount, address = _transformOptions.address, destination = _transformOptions.destination, paraIdTo = _transformOptions.paraIdTo, destApiForKeepAlive = _transformOptions.destApiForKeepAlive, feeAsset = _transformOptions.feeAsset, version = _transformOptions.version, isSymbol = _transformOptions.isSymbol, _transformOptions$ser = _transformOptions.serializedApiCallEnabled, serializedApiCallEnabled = _transformOptions$ser === void 0 ? false : _transformOptions$ser;
11017
11350
  if (!((!isTMulti(currency) || isTMultiLocation(currency)) && amount === null)) {
11018
11351
  _context.next = 3;
11019
11352
  break;
@@ -11063,84 +11396,91 @@ var sendCommon = function sendCommon(options) {
11063
11396
  }
11064
11397
  throw new InvalidCurrencyError('Fee asset index is out of bounds. Please provide a valid index.');
11065
11398
  case 17:
11066
- asset = getAssetBySymbolOrId(origin, currency);
11399
+ if (!(destination === 'Ethereum' && origin !== 'AssetHubPolkadot')) {
11400
+ _context.next = 19;
11401
+ break;
11402
+ }
11403
+ throw new IncompatibleNodesError('Transfers to Ethereum are only supported from AssetHubPolkadot.');
11404
+ case 19:
11067
11405
  isMultiLocationDestination = _typeof(destination) === 'object';
11068
11406
  isMultiLocationCurrency = _typeof(currency) === 'object';
11069
- if (!(destination !== undefined && !isMultiLocationDestination)) {
11070
- _context.next = 26;
11407
+ isBridge = origin === 'AssetHubPolkadot' && destination === 'AssetHubKusama' || origin === 'AssetHubKusama' && destination === 'AssetHubPolkadot';
11408
+ isRelayDestination = destination === undefined;
11409
+ if (!(!isRelayDestination && !isMultiLocationDestination)) {
11410
+ _context.next = 28;
11071
11411
  break;
11072
11412
  }
11073
11413
  originRelayChainSymbol = getRelayChainSymbol(origin);
11074
11414
  destinationRelayChainSymbol = getRelayChainSymbol(destination);
11075
- supportsBridge = (origin === 'AssetHubPolkadot' || origin === 'AssetHubKusama') && (destination === 'AssetHubPolkadot' || destination === 'AssetHubKusama');
11076
- if (!(!supportsBridge && originRelayChainSymbol !== destinationRelayChainSymbol)) {
11077
- _context.next = 26;
11415
+ if (!(!isBridge && originRelayChainSymbol !== destinationRelayChainSymbol)) {
11416
+ _context.next = 28;
11078
11417
  break;
11079
11418
  }
11080
11419
  throw new IncompatibleNodesError();
11081
- case 26:
11420
+ case 28:
11082
11421
  originNode = getNode(origin);
11083
- assetCheckEnabled = destination === 'AssetHubKusama' || destination === 'AssetHubPolkadot' || isMultiLocationCurrency ? false : originNode.assetCheckEnabled;
11084
- if (!(asset === null && assetCheckEnabled)) {
11085
- _context.next = 30;
11422
+ assetCheckEnabled = isMultiLocationCurrency || isBridge ? false : originNode.assetCheckEnabled;
11423
+ asset = assetCheckEnabled ? getAssetBySymbolOrId(origin, currency, isRelayDestination, isSymbol, isTMultiLocation(destination) ? undefined : destination) : null;
11424
+ if (!(!isBridge && asset === null && assetCheckEnabled)) {
11425
+ _context.next = 33;
11086
11426
  break;
11087
11427
  }
11088
11428
  throw new InvalidCurrencyError("Origin node ".concat(origin, " does not support currency or currencyId ").concat(JSON.stringify(currency), "."));
11089
- case 30:
11090
- if (!(destination !== undefined && !isMultiLocationDestination && (asset === null || asset === void 0 ? void 0 : asset.symbol) !== undefined && assetCheckEnabled && !hasSupportForAsset(destination, asset.symbol))) {
11091
- _context.next = 32;
11429
+ case 33:
11430
+ if (!(!isBridge && !isRelayDestination && !isMultiLocationDestination && (asset === null || asset === void 0 ? void 0 : asset.symbol) !== undefined && assetCheckEnabled && isSymbol !== false && asset.assetId !== currency && !hasSupportForAsset(destination, asset.symbol))) {
11431
+ _context.next = 35;
11092
11432
  break;
11093
11433
  }
11094
11434
  throw new InvalidCurrencyError("Destination node ".concat(destination, " does not support currency or currencyId ").concat(JSON.stringify(currency), "."));
11095
- case 32:
11435
+ case 35:
11096
11436
  if (!(api !== null && api !== void 0)) {
11097
- _context.next = 36;
11437
+ _context.next = 39;
11098
11438
  break;
11099
11439
  }
11100
11440
  _context.t0 = api;
11101
- _context.next = 39;
11441
+ _context.next = 42;
11102
11442
  break;
11103
- case 36:
11104
- _context.next = 38;
11443
+ case 39:
11444
+ _context.next = 41;
11105
11445
  return createApiInstanceForNode(origin);
11106
- case 38:
11446
+ case 41:
11107
11447
  _context.t0 = _context.sent;
11108
- case 39:
11448
+ case 42:
11109
11449
  apiWithFallback = _context.t0;
11110
11450
  amountStr = amount === null || amount === void 0 ? void 0 : amount.toString();
11111
11451
  if (!isTMulti(currency)) {
11112
- _context.next = 45;
11452
+ _context.next = 48;
11113
11453
  break;
11114
11454
  }
11115
11455
  console.warn('Keep alive check is not supported when using MultiLocation as currency.');
11116
- _context.next = 59;
11456
+ _context.next = 62;
11117
11457
  break;
11118
- case 45:
11458
+ case 48:
11119
11459
  if (!(_typeof(address) === 'object')) {
11120
- _context.next = 49;
11460
+ _context.next = 52;
11121
11461
  break;
11122
11462
  }
11123
11463
  console.warn('Keep alive check is not supported when using MultiLocation as address.');
11124
- _context.next = 59;
11464
+ _context.next = 62;
11125
11465
  break;
11126
- case 49:
11466
+ case 52:
11127
11467
  if (!(_typeof(destination) === 'object')) {
11128
- _context.next = 53;
11468
+ _context.next = 56;
11129
11469
  break;
11130
11470
  }
11131
11471
  console.warn('Keep alive check is not supported when using MultiLocation as destination.');
11132
- _context.next = 59;
11472
+ _context.next = 62;
11133
11473
  break;
11134
- case 53:
11474
+ case 56:
11135
11475
  if (!(origin === 'Ethereum' || destination === 'Ethereum')) {
11136
- _context.next = 57;
11476
+ _context.next = 60;
11137
11477
  break;
11138
11478
  }
11139
11479
  console.warn('Keep alive check is not supported when using Ethereum as origin or destination.');
11140
- _context.next = 59;
11480
+ _context.next = 62;
11141
11481
  break;
11142
- case 57:
11143
- _context.next = 59;
11482
+ case 60:
11483
+ _context.next = 62;
11144
11484
  return checkKeepAlive({
11145
11485
  originApi: apiWithFallback,
11146
11486
  address: address,
@@ -11150,13 +11490,12 @@ var sendCommon = function sendCommon(options) {
11150
11490
  currencySymbol: (_a = asset === null || asset === void 0 ? void 0 : asset.symbol) !== null && _a !== void 0 ? _a : currency.toString(),
11151
11491
  destNode: destination
11152
11492
  });
11153
- case 59:
11493
+ case 62:
11154
11494
  currencyStr = isTMulti(currency) ? undefined : currency.toString();
11155
- currencyId = assetCheckEnabled ? asset === null || asset === void 0 ? void 0 : asset.assetId : currencyStr;
11156
11495
  return _context.abrupt("return", originNode.transfer({
11157
11496
  api: apiWithFallback,
11158
- currencySymbol: asset === null || asset === void 0 ? void 0 : asset.symbol,
11159
- currencyId: currencyId,
11497
+ currencySymbol: (_b = asset === null || asset === void 0 ? void 0 : asset.symbol) !== null && _b !== void 0 ? _b : currencyStr,
11498
+ currencyId: asset === null || asset === void 0 ? void 0 : asset.assetId,
11160
11499
  amount: amountStr !== null && amountStr !== void 0 ? amountStr : '',
11161
11500
  address: address,
11162
11501
  destination: destination,
@@ -11166,7 +11505,7 @@ var sendCommon = function sendCommon(options) {
11166
11505
  version: version,
11167
11506
  serializedApiCallEnabled: serializedApiCallEnabled
11168
11507
  }));
11169
- case 62:
11508
+ case 64:
11170
11509
  case "end":
11171
11510
  return _context.stop();
11172
11511
  }
@@ -11209,11 +11548,11 @@ var send = function send(options) {
11209
11548
  };
11210
11549
  var transferRelayToParaCommon = function transferRelayToParaCommon(options) {
11211
11550
  return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
11212
- var api, destination, amount, address, paraIdTo, destApiForKeepAlive, version, _options$serializedAp2, serializedApiCallEnabled, isMultiLocationDestination, isAddressMultiLocation, apiWithFallback, amountStr, serializedApiCall;
11551
+ var api, destination, amount, address, paraIdTo, destApiForKeepAlive, version, _options$serializedAp, serializedApiCallEnabled, isMultiLocationDestination, isAddressMultiLocation, apiWithFallback, amountStr, serializedApiCall;
11213
11552
  return _regeneratorRuntime().wrap(function _callee4$(_context4) {
11214
11553
  while (1) switch (_context4.prev = _context4.next) {
11215
11554
  case 0:
11216
- api = options.api, destination = options.destination, amount = options.amount, address = options.address, paraIdTo = options.paraIdTo, destApiForKeepAlive = options.destApiForKeepAlive, version = options.version, _options$serializedAp2 = options.serializedApiCallEnabled, serializedApiCallEnabled = _options$serializedAp2 === void 0 ? false : _options$serializedAp2;
11555
+ api = options.api, destination = options.destination, amount = options.amount, address = options.address, paraIdTo = options.paraIdTo, destApiForKeepAlive = options.destApiForKeepAlive, version = options.version, _options$serializedAp = options.serializedApiCallEnabled, serializedApiCallEnabled = _options$serializedAp === void 0 ? false : _options$serializedAp;
11217
11556
  isMultiLocationDestination = _typeof(destination) === 'object';
11218
11557
  isAddressMultiLocation = _typeof(address) === 'object';
11219
11558
  if (!(api === undefined && isMultiLocationDestination)) {
@@ -11338,4 +11677,4 @@ var index = /*#__PURE__*/Object.freeze({
11338
11677
  transferRelayToParaSerializedApiCall: transferRelayToParaSerializedApiCall
11339
11678
  });
11340
11679
 
11341
- export { Builder, CloseChannelBuilder, EvmBuilder, IncompatibleNodesError, InvalidCurrencyError, NODES_WITH_RELAY_CHAINS, NODES_WITH_RELAY_CHAINS_DOT_KSM, NODE_NAMES, NODE_NAMES_DOT_KSM, NoXCMSupportImplementedError, NodeNotSupportedError, OpenChannelBuilder, Parents, SUPPORTED_PALLETS, ScenarioNotSupportedError, Version, index$1 as assets, index$3 as closeChannels, createApiInstanceForNode, getAllAssetsSymbols, getAllNodeProviders, getAssetDecimals, getAssetId, getAssetsObject, getBalanceForeign, getBalanceNative, getDefaultPallet, getExistentialDeposit, getNativeAssetSymbol, getNativeAssets, getNode, getNodeEndpointOption, getNodeProvider, getOtherAssets, getParaId, getRelayChainSymbol, getSupportedPallets, getTNode, getTransferInfo, hasSupportForAsset, index$2 as openChannels, index as xcmPallet };
11680
+ export { Builder, CloseChannelBuilder, DuplicateAssetError, EvmBuilder, IncompatibleNodesError, InvalidCurrencyError, NODES_WITH_RELAY_CHAINS, NODES_WITH_RELAY_CHAINS_DOT_KSM, NODE_NAMES, NODE_NAMES_DOT_KSM, NoXCMSupportImplementedError, NodeNotSupportedError, OpenChannelBuilder, Parents, SUPPORTED_PALLETS, ScenarioNotSupportedError, Version, index$1 as assets, index$3 as closeChannels, createApiInstanceForNode, getAllAssetsSymbols, getAllNodeProviders, getAssetDecimals, getAssetId, getAssets, getAssetsObject, getBalanceForeign, getBalanceNative, getDefaultPallet, getExistentialDeposit, getNativeAssetSymbol, getNativeAssets, getNode, getNodeEndpointOption, getNodeProvider, getOtherAssets, getParaId, getRelayChainSymbol, getSupportedAssets, getSupportedPallets, getTNode, getTransferInfo, hasSupportForAsset, index$2 as openChannels, index as xcmPallet };