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