@paraspell/sdk-core 10.4.8 → 10.4.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,9 +1,9 @@
1
1
  import { blake2b } from '@noble/hashes/blake2';
2
- import { isNodeEvm, getAssetsObject, getNativeAssetSymbol, getOtherAssets, getRelayChainSymbol, InvalidCurrencyError, isForeignAsset, findAssetForNodeOrThrow, isOverrideMultiLocationSpecifier, findAssetByMultiLocation, findAsset, isTMultiAsset, getExistentialDeposit, getExistentialDepositOrThrow, isAssetEqual, findAssetOnDestOrThrow, normalizeSymbol, hasDryRunSupport, hasSupportForAsset, extractMultiAssetLoc, isSymbolSpecifier, normalizeMultiLocation, getAssetId } from '@paraspell/assets';
2
+ import { isNodeEvm, getAssetsObject, getNativeAssetSymbol, getOtherAssets, getRelayChainSymbol, isForeignAsset, InvalidCurrencyError, findAssetForNodeOrThrow, isOverrideMultiLocationSpecifier, findAssetByMultiLocation, findAsset, isTMultiAsset, getExistentialDeposit, getExistentialDepositOrThrow, isAssetEqual, findAssetOnDestOrThrow, normalizeSymbol, hasDryRunSupport, hasSupportForAsset, extractMultiAssetLoc, isSymbolSpecifier, normalizeMultiLocation, getAssetId } from '@paraspell/assets';
3
3
  export * from '@paraspell/assets';
4
4
  import { base58 } from '@scure/base';
5
5
  import { isAddress, createPublicClient, http, getContract } from 'viem';
6
- import { Parents, Version, isTMultiLocation, isRelayChain, replaceBigInt, NODE_NAMES_DOT_KSM, hasJunction, deepEqual, isDotKsmBridge } from '@paraspell/sdk-common';
6
+ import { Parents, isTMultiLocation, Version, isRelayChain, replaceBigInt, NODE_NAMES_DOT_KSM, hasJunction, deepEqual, isDotKsmBridge } from '@paraspell/sdk-common';
7
7
  export * from '@paraspell/sdk-common';
8
8
  import { getSupportedPalletsDetails, getDefaultPallet } from '@paraspell/pallets';
9
9
  export * from '@paraspell/pallets';
@@ -69,7 +69,7 @@ function _defineProperties(e, r) {
69
69
  }
70
70
  }
71
71
  function _createClass(e, r, t) {
72
- return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", {
72
+ return r && _defineProperties(e.prototype, r), Object.defineProperty(e, "prototype", {
73
73
  writable: false
74
74
  }), e;
75
75
  }
@@ -705,6 +705,23 @@ var MAX_WEIGHT = {
705
705
  refTime: MAX_U64
706
706
  };
707
707
 
708
+ var ERR_MULTILOCATION_DEST_NOT_SUPPORTED = 'Multilocation destinations are not supported for specific transfer you are trying to create. In special cases such as xTokens or xTransfer pallet try using address multilocation instead (for both destination and address in same multilocation set (eg. X2 - Parachain, Address). For further assistance please open issue in our repository.';
709
+
710
+ var addXcmVersionHeader = function addXcmVersionHeader(obj, version) {
711
+ return _defineProperty({}, version, obj);
712
+ };
713
+
714
+ var assertToIsString = function assertToIsString(to, overrideMsg) {
715
+ if (isTMultiLocation(to)) {
716
+ throw new InvalidParameterError(overrideMsg !== null && overrideMsg !== void 0 ? overrideMsg : 'Multi-Location destination is not supported for XCM fee calculation.');
717
+ }
718
+ };
719
+ var assertAddressIsString = function assertAddressIsString(address) {
720
+ if (isTMultiLocation(address)) {
721
+ throw new InvalidParameterError('Multi-Location address is not supported for XCM fee calculation.');
722
+ }
723
+ };
724
+
708
725
  var AssetHubPolkadot$1 = {
709
726
  name: "AssetHub",
710
727
  info: "PolkadotAssetHub",
@@ -2434,66 +2451,6 @@ var determineRelayChain = function determineRelayChain(node) {
2434
2451
  return getRelayChainSymbol(node) === 'KSM' ? 'Kusama' : 'Polkadot';
2435
2452
  };
2436
2453
 
2437
- var findParachainJunction = function findParachainJunction(multilocation) {
2438
- var interior = multilocation.interior;
2439
- if (interior === 'Here') {
2440
- return null;
2441
- }
2442
- for (var key in interior) {
2443
- var junctions = interior[key];
2444
- if (Array.isArray(junctions)) {
2445
- var _iterator = _createForOfIteratorHelper(junctions),
2446
- _step;
2447
- try {
2448
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
2449
- var junction = _step.value;
2450
- if ('Parachain' in junction) {
2451
- return Number(junction.Parachain);
2452
- }
2453
- }
2454
- } catch (err) {
2455
- _iterator.e(err);
2456
- } finally {
2457
- _iterator.f();
2458
- }
2459
- } else if (_typeof(junctions) === 'object' && junctions !== null && 'Parachain' in junctions) {
2460
- return Number(junctions.Parachain);
2461
- }
2462
- }
2463
- return null;
2464
- };
2465
-
2466
- var constructRelayToParaParameters = function constructRelayToParaParameters(_ref, version) {
2467
- var api = _ref.api,
2468
- destination = _ref.destination,
2469
- asset = _ref.asset,
2470
- address = _ref.address,
2471
- paraIdTo = _ref.paraIdTo;
2472
- var _ref2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
2473
- includeFee: false
2474
- },
2475
- includeFee = _ref2.includeFee;
2476
- var paraId = resolveParaId(paraIdTo, destination);
2477
- return _objectSpread2({
2478
- dest: createVersionedDestination('RelayToPara', version, destination, paraId),
2479
- beneficiary: createVersionedBeneficiary({
2480
- api: api,
2481
- scenario: 'RelayToPara',
2482
- pallet: null,
2483
- recipientAddress: address,
2484
- version: version,
2485
- paraId: paraId
2486
- }),
2487
- assets: createVersionedMultiAssets(version, asset.amount, {
2488
- parents: Parents.ZERO,
2489
- interior: 'Here'
2490
- }),
2491
- fee_asset_item: DEFAULT_FEE_ASSET
2492
- }, includeFee && {
2493
- weight_limit: 'Unlimited'
2494
- });
2495
- };
2496
-
2497
2454
  var createMultiAsset = function createMultiAsset(version, amount, multiLocation) {
2498
2455
  if (version === Version.V4 || version === Version.V5) {
2499
2456
  return {
@@ -2512,83 +2469,28 @@ var createMultiAsset = function createMultiAsset(version, amount, multiLocation)
2512
2469
  }
2513
2470
  };
2514
2471
  };
2515
- var addXcmVersionHeader = function addXcmVersionHeader(obj, version) {
2516
- return _defineProperty({}, version, obj);
2517
- };
2518
- var extractVersionFromHeader = function extractVersionFromHeader(versionHeader) {
2519
- var keys = Object.keys(versionHeader);
2520
- if (keys.length !== 1) {
2521
- throw new InvalidParameterError('Invalid version header: expected exactly one key.');
2522
- }
2523
- var version = keys[0];
2524
- var value = versionHeader[version];
2525
- if (value === undefined) {
2526
- throw new InvalidParameterError('Invalid version header: value is undefined.');
2527
- }
2528
- return [version, value];
2472
+ var createVersionedMultiAssets = function createVersionedMultiAssets(version, amount, multiLocation) {
2473
+ var multiAsset = createMultiAsset(version, amount, multiLocation);
2474
+ return addXcmVersionHeader([multiAsset], version);
2529
2475
  };
2476
+
2530
2477
  var maybeOverrideMultiAssets = function maybeOverrideMultiAssets(version, amount, multiAssets, overriddenCurrency) {
2531
2478
  if (!overriddenCurrency) {
2532
2479
  return multiAssets;
2533
2480
  }
2534
2481
  return isTMultiLocation(overriddenCurrency) ? [createMultiAsset(version, amount, overriddenCurrency)] : overriddenCurrency;
2535
2482
  };
2536
- var createVersionedMultiAssets = function createVersionedMultiAssets(version, amount, multiLocation) {
2537
- var multiAssets = createMultiAsset(version, amount, multiLocation);
2538
- return addXcmVersionHeader([multiAssets], version);
2539
- };
2540
- var createDestination = function createDestination(scenario, version, destination, nodeId, junction, parents) {
2541
- var parentsResolved = parents !== null && parents !== void 0 ? parents : scenario === 'RelayToPara' ? Parents.ZERO : Parents.ONE;
2542
- var interior = scenario === 'ParaToRelay' ? 'Here' : createX1Payload(version, junction !== null && junction !== void 0 ? junction : {
2543
- Parachain: nodeId
2544
- });
2545
- var isMultiLocationDestination = isTMultiLocation(destination);
2546
- return isMultiLocationDestination ? destination : {
2547
- parents: parentsResolved,
2548
- interior: interior
2549
- };
2550
- };
2551
- var createVersionedDestination = function createVersionedDestination(scenario, version, destination, nodeId, junction, parents) {
2552
- var plainDestination = createDestination(scenario, version, destination, nodeId, junction, parents);
2553
- return addXcmVersionHeader(plainDestination, version);
2554
- };
2555
- var createBridgePolkadotXcmDest = function createBridgePolkadotXcmDest(version, ecosystem, destination, nodeId) {
2556
- var multiLocation = {
2557
- parents: Parents.TWO,
2558
- interior: {
2559
- X2: [{
2560
- GlobalConsensus: ecosystem
2561
- }, {
2562
- Parachain: nodeId
2563
- }]
2564
- }
2565
- };
2566
- var isMultiLocationDestination = isTMultiLocation(destination);
2567
- return addXcmVersionHeader(isMultiLocationDestination ? destination : multiLocation, version);
2568
- };
2569
- var resolveTNodeFromMultiLocation = function resolveTNodeFromMultiLocation(relayChain, multiLocation) {
2570
- var _NODE_NAMES_DOT_KSM$f;
2571
- var parachainId = findParachainJunction(multiLocation);
2572
- if (parachainId === null) {
2573
- throw new InvalidParameterError('Parachain ID not found in destination multi location.');
2574
- }
2575
- var node = (_NODE_NAMES_DOT_KSM$f = NODE_NAMES_DOT_KSM.find(function (nodeName) {
2576
- return getParaId(nodeName) === parachainId && determineRelayChain(nodeName) === relayChain;
2577
- })) !== null && _NODE_NAMES_DOT_KSM$f !== void 0 ? _NODE_NAMES_DOT_KSM$f : null;
2578
- if (node === null) {
2579
- throw new InvalidParameterError('Node with specified paraId not found in destination multi location.');
2483
+ var maybeOverrideMultiAsset = function maybeOverrideMultiAsset(version, amount, multiAsset, overriddenCurrency) {
2484
+ if (!overriddenCurrency) {
2485
+ return multiAsset;
2580
2486
  }
2581
- return node;
2582
- };
2583
- var throwUnsupportedCurrency = function throwUnsupportedCurrency(currency, node) {
2584
- var _ref2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
2585
- isDestination: false
2586
- },
2587
- isDestination = _ref2.isDestination;
2588
- if ('multilocation' in currency) {
2589
- throw new InvalidCurrencyError("\n Selected chain doesn't support multilocation you provided. Maybe you meant custom multilocation. If so, you need to use override option. Your selection should look like this: {multilocation: Override(".concat(JSON.stringify(currency.multilocation), ")}."));
2487
+ if (Array.isArray(overriddenCurrency)) {
2488
+ if (overriddenCurrency.length !== 1) {
2489
+ throw new InvalidParameterError('Expected a single TMultiAsset in overriddenCurrency array.');
2490
+ }
2491
+ return overriddenCurrency[0];
2590
2492
  }
2591
- throw new InvalidCurrencyError("".concat(isDestination ? 'Destination' : 'Origin', " node ").concat(node, " does not support currency ").concat(JSON.stringify(currency, replaceBigInt), "."));
2493
+ return createMultiAsset(version, amount, overriddenCurrency);
2592
2494
  };
2593
2495
 
2594
2496
  var resolveMultiLocationFromDest = function resolveMultiLocationFromDest(destination, asset) {
@@ -2654,12 +2556,13 @@ var getModifiedCurrencySelection = function getModifiedCurrencySelection(input)
2654
2556
  return createDefaultCurrencySelection(input);
2655
2557
  };
2656
2558
 
2657
- var getXTokensParameters = function getXTokensParameters(isMultiAssetTransfer, currencySelection, addressSelection, amount, fees, overriddenAsset) {
2559
+ var getXTokensParameters = function getXTokensParameters(isMultiAssetTransfer, currencySelection, destLocation, amount, fees, version, overriddenAsset) {
2560
+ var versionedDestLocation = addXcmVersionHeader(destLocation, version);
2658
2561
  if (!isMultiAssetTransfer) {
2659
2562
  return {
2660
2563
  currency_id: currencySelection,
2661
2564
  amount: BigInt(amount),
2662
- dest: addressSelection,
2565
+ dest: versionedDestLocation,
2663
2566
  dest_weight_limit: fees
2664
2567
  };
2665
2568
  }
@@ -2672,7 +2575,7 @@ var getXTokensParameters = function getXTokensParameters(isMultiAssetTransfer, c
2672
2575
  return _objectSpread2(_objectSpread2(_defineProperty({}, assetKey, currencySelection), isOverriddenMultiAssets && {
2673
2576
  fee_item: feeIndexWithFallback
2674
2577
  }), {}, {
2675
- dest: addressSelection,
2578
+ dest: versionedDestLocation,
2676
2579
  dest_weight_limit: fees
2677
2580
  });
2678
2581
  };
@@ -2696,14 +2599,15 @@ var getXTokensMethod = function getXTokensMethod(useMultiAsset, overriddenAsset)
2696
2599
  };
2697
2600
  var buildXTokensCall = function buildXTokensCall(input, currencySelection, fees) {
2698
2601
  var overriddenAsset = input.overriddenAsset,
2699
- addressSelection = input.addressSelection,
2602
+ destLocation = input.destLocation,
2700
2603
  asset = input.asset,
2701
2604
  pallet = input.pallet,
2605
+ version = input.version,
2702
2606
  methodOverride = input.method;
2703
2607
  var useMultiAsset = shouldUseMultiAssetTransfer(input);
2704
2608
  var modifiedCurrencySelection = useMultiAsset ? getModifiedCurrencySelection(input) : currencySelection;
2705
2609
  var method = getXTokensMethod(useMultiAsset, overriddenAsset);
2706
- var parameters = getXTokensParameters(useMultiAsset, modifiedCurrencySelection, addressSelection, asset.amount, fees, overriddenAsset);
2610
+ var parameters = getXTokensParameters(useMultiAsset, modifiedCurrencySelection, destLocation, asset.amount, fees, version, overriddenAsset);
2707
2611
  return {
2708
2612
  module: pallet !== null && pallet !== void 0 ? pallet : 'XTokens',
2709
2613
  method: methodOverride !== null && methodOverride !== void 0 ? methodOverride : method,
@@ -2711,22 +2615,129 @@ var buildXTokensCall = function buildXTokensCall(input, currencySelection, fees)
2711
2615
  };
2712
2616
  };
2713
2617
 
2714
- var ERR_MULTILOCATION_DEST_NOT_SUPPORTED = 'Multilocation destinations are not supported for specific transfer you are trying to create. In special cases such as xTokens or xTransfer pallet try using address multilocation instead (for both destination and address in same multilocation set (eg. X2 - Parachain, Address). For further assistance please open issue in our repository.';
2715
- var validateDestination$1 = function validateDestination(destination) {
2716
- var isMultiLocationDestination = _typeof(destination) === 'object';
2717
- if (isMultiLocationDestination) {
2718
- throw new InvalidParameterError(ERR_MULTILOCATION_DEST_NOT_SUPPORTED);
2719
- }
2720
- };
2618
+ // Contains basic structure of xTokens call
2721
2619
  var transferXTokens = function transferXTokens(input, currencySelection) {
2722
2620
  var fees = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_FEE;
2723
2621
  var api = input.api,
2724
2622
  destination = input.destination;
2725
- validateDestination$1(destination);
2623
+ assertToIsString(destination, ERR_MULTILOCATION_DEST_NOT_SUPPORTED);
2726
2624
  var call = buildXTokensCall(input, currencySelection, fees);
2727
2625
  return api.callTxMethod(call);
2728
2626
  };
2729
2627
 
2628
+ var findParachainJunction = function findParachainJunction(multilocation) {
2629
+ var interior = multilocation.interior;
2630
+ if (interior === 'Here') {
2631
+ return null;
2632
+ }
2633
+ for (var key in interior) {
2634
+ var junctions = interior[key];
2635
+ if (Array.isArray(junctions)) {
2636
+ var _iterator = _createForOfIteratorHelper(junctions),
2637
+ _step;
2638
+ try {
2639
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
2640
+ var junction = _step.value;
2641
+ if ('Parachain' in junction) {
2642
+ return Number(junction.Parachain);
2643
+ }
2644
+ }
2645
+ } catch (err) {
2646
+ _iterator.e(err);
2647
+ } finally {
2648
+ _iterator.f();
2649
+ }
2650
+ } else if (_typeof(junctions) === 'object' && junctions !== null && 'Parachain' in junctions) {
2651
+ return Number(junctions.Parachain);
2652
+ }
2653
+ }
2654
+ return null;
2655
+ };
2656
+
2657
+ var constructRelayToParaParameters = function constructRelayToParaParameters(_ref, version) {
2658
+ var api = _ref.api,
2659
+ destination = _ref.destination,
2660
+ asset = _ref.asset,
2661
+ address = _ref.address,
2662
+ paraIdTo = _ref.paraIdTo;
2663
+ var _ref2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
2664
+ includeFee: false
2665
+ },
2666
+ includeFee = _ref2.includeFee;
2667
+ var paraId = resolveParaId(paraIdTo, destination);
2668
+ return _objectSpread2({
2669
+ dest: createVersionedDestination('RelayToPara', version, destination, paraId),
2670
+ beneficiary: createVersionedBeneficiary({
2671
+ api: api,
2672
+ scenario: 'RelayToPara',
2673
+ pallet: null,
2674
+ recipientAddress: address,
2675
+ version: version,
2676
+ paraId: paraId
2677
+ }),
2678
+ assets: createVersionedMultiAssets(version, asset.amount, {
2679
+ parents: Parents.ZERO,
2680
+ interior: 'Here'
2681
+ }),
2682
+ fee_asset_item: DEFAULT_FEE_ASSET
2683
+ }, includeFee && {
2684
+ weight_limit: 'Unlimited'
2685
+ });
2686
+ };
2687
+
2688
+ var createDestination = function createDestination(scenario, version, destination, nodeId, junction, parents) {
2689
+ var parentsResolved = parents !== null && parents !== void 0 ? parents : scenario === 'RelayToPara' ? Parents.ZERO : Parents.ONE;
2690
+ var interior = scenario === 'ParaToRelay' ? 'Here' : createX1Payload(version, junction !== null && junction !== void 0 ? junction : {
2691
+ Parachain: nodeId
2692
+ });
2693
+ var isMultiLocationDestination = isTMultiLocation(destination);
2694
+ return isMultiLocationDestination ? destination : {
2695
+ parents: parentsResolved,
2696
+ interior: interior
2697
+ };
2698
+ };
2699
+ var createVersionedDestination = function createVersionedDestination(scenario, version, destination, nodeId, junction, parents) {
2700
+ var plainDestination = createDestination(scenario, version, destination, nodeId, junction, parents);
2701
+ return addXcmVersionHeader(plainDestination, version);
2702
+ };
2703
+ var createBridgeDestination = function createBridgeDestination(ecosystem, destination, nodeId) {
2704
+ var multiLocation = {
2705
+ parents: Parents.TWO,
2706
+ interior: {
2707
+ X2: [{
2708
+ GlobalConsensus: ecosystem
2709
+ }, {
2710
+ Parachain: nodeId
2711
+ }]
2712
+ }
2713
+ };
2714
+ return isTMultiLocation(destination) ? destination : multiLocation;
2715
+ };
2716
+ var resolveTNodeFromMultiLocation = function resolveTNodeFromMultiLocation(relayChain, multiLocation) {
2717
+ var _NODE_NAMES_DOT_KSM$f;
2718
+ var parachainId = findParachainJunction(multiLocation);
2719
+ if (parachainId === null) {
2720
+ throw new InvalidParameterError('Parachain ID not found in destination multi location.');
2721
+ }
2722
+ var node = (_NODE_NAMES_DOT_KSM$f = NODE_NAMES_DOT_KSM.find(function (nodeName) {
2723
+ return getParaId(nodeName) === parachainId && determineRelayChain(nodeName) === relayChain;
2724
+ })) !== null && _NODE_NAMES_DOT_KSM$f !== void 0 ? _NODE_NAMES_DOT_KSM$f : null;
2725
+ if (node === null) {
2726
+ throw new InvalidParameterError('Node with specified paraId not found in destination multi location.');
2727
+ }
2728
+ return node;
2729
+ };
2730
+ var throwUnsupportedCurrency = function throwUnsupportedCurrency(currency, node) {
2731
+ var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
2732
+ isDestination: false
2733
+ },
2734
+ isDestination = _ref.isDestination;
2735
+ if ('multilocation' in currency) {
2736
+ throw new InvalidCurrencyError("\n Selected chain doesn't support multilocation you provided. Maybe you meant custom multilocation. If so, you need to use override option. Your selection should look like this: {multilocation: Override(".concat(JSON.stringify(currency.multilocation), ")}."));
2737
+ }
2738
+ throw new InvalidCurrencyError("".concat(isDestination ? 'Destination' : 'Origin', " node ").concat(node, " does not support currency ").concat(JSON.stringify(currency, replaceBigInt), "."));
2739
+ };
2740
+
2730
2741
  /**
2731
2742
  * Retrieves the node name corresponding to a specified parachain ID.
2732
2743
  *
@@ -5911,7 +5922,8 @@ var ParachainNode = /*#__PURE__*/function () {
5911
5922
  input = {
5912
5923
  api: api,
5913
5924
  asset: asset,
5914
- addressSelection: createVersionedBeneficiary({
5925
+ // Refactor this
5926
+ destLocation: createBeneficiary({
5915
5927
  api: api,
5916
5928
  scenario: scenario,
5917
5929
  pallet: 'XTokens',
@@ -5945,7 +5957,8 @@ var ParachainNode = /*#__PURE__*/function () {
5945
5957
  api: api,
5946
5958
  asset: asset,
5947
5959
  recipientAddress: address,
5948
- paraId: paraId,
5960
+ paraIdTo: paraId,
5961
+ scenario: scenario,
5949
5962
  origin: this.node,
5950
5963
  destination: destination,
5951
5964
  overriddenAsset: overriddenAsset,
@@ -5959,8 +5972,8 @@ var ParachainNode = /*#__PURE__*/function () {
5959
5972
  }
5960
5973
  _options = {
5961
5974
  api: api,
5962
- header: this.createVersionedDestination(scenario, version, destination, paraId),
5963
- addressSelection: createVersionedBeneficiary({
5975
+ destLocation: createDestination(scenario, version, destination, paraId),
5976
+ beneficiaryLocation: createBeneficiary({
5964
5977
  api: api,
5965
5978
  scenario: scenario,
5966
5979
  pallet: 'PolkadotXcm',
@@ -5969,7 +5982,7 @@ var ParachainNode = /*#__PURE__*/function () {
5969
5982
  paraId: paraId
5970
5983
  }),
5971
5984
  address: address,
5972
- currencySelection: this.createCurrencySpec(asset.amount, scenario, version, asset, overriddenAsset !== undefined),
5985
+ multiAsset: this.createCurrencySpec(asset.amount, scenario, version, asset, overriddenAsset !== undefined),
5973
5986
  overriddenAsset: overriddenAsset,
5974
5987
  asset: asset,
5975
5988
  currency: currency,
@@ -6040,16 +6053,11 @@ var ParachainNode = /*#__PURE__*/function () {
6040
6053
  }, {
6041
6054
  key: "createCurrencySpec",
6042
6055
  value: function createCurrencySpec(amount, scenario, version, _asset, _isOverridenAsset) {
6043
- return createVersionedMultiAssets(version, amount, {
6056
+ return createMultiAsset(version, amount, {
6044
6057
  parents: scenario === 'ParaToRelay' ? Parents.ONE : Parents.ZERO,
6045
6058
  interior: 'Here'
6046
6059
  });
6047
6060
  }
6048
- }, {
6049
- key: "createVersionedDestination",
6050
- value: function createVersionedDestination$1(scenario, version, destination, paraId) {
6051
- return createVersionedDestination(scenario, version, destination, paraId);
6052
- }
6053
6061
  }, {
6054
6062
  key: "getNativeAssetSymbol",
6055
6063
  value: function getNativeAssetSymbol$1() {
@@ -6166,7 +6174,7 @@ var ParachainNode = /*#__PURE__*/function () {
6166
6174
  module: 'PolkadotXcm',
6167
6175
  method: 'transfer_assets_using_type_and_then',
6168
6176
  parameters: {
6169
- dest: this.createVersionedDestination(scenario, version, destination, getParaId('AssetHubPolkadot')),
6177
+ dest: createVersionedDestination(scenario, version, destination, getParaId('AssetHubPolkadot')),
6170
6178
  assets: addXcmVersionHeader([].concat(_toConsumableArray(!feeAsset ? [createMultiAsset(version, PARA_TO_PARA_FEE_DOT, DOT_MULTILOCATION)] : []), [ethMultiAsset]), version),
6171
6179
  assets_transfer_type: 'DestinationReserve',
6172
6180
  remote_fees_id: addXcmVersionHeader((_feeAsset$multiLocati = feeAsset === null || feeAsset === void 0 ? void 0 : feeAsset.multiLocation) !== null && _feeAsset$multiLocati !== void 0 ? _feeAsset$multiLocati : DOT_MULTILOCATION, version),
@@ -6223,7 +6231,7 @@ var ParachainNode = /*#__PURE__*/function () {
6223
6231
  };
6224
6232
  return _context2.a(2, api.callTxMethod(call));
6225
6233
  }
6226
- }, _callee2, this);
6234
+ }, _callee2);
6227
6235
  }));
6228
6236
  function transferEthAssetViaAH(_x2) {
6229
6237
  return _transferEthAssetViaAH.apply(this, arguments);
@@ -6351,7 +6359,7 @@ var ParachainNode = /*#__PURE__*/function () {
6351
6359
  module: 'PolkadotXcm',
6352
6360
  method: 'transfer_assets_using_type_and_then',
6353
6361
  parameters: {
6354
- dest: this.createVersionedDestination(scenario, version, destination, getParaId('AssetHubPolkadot')),
6362
+ dest: createVersionedDestination(scenario, version, destination, getParaId('AssetHubPolkadot')),
6355
6363
  assets: addXcmVersionHeader([].concat(_toConsumableArray(!feeAsset ? [createMultiAsset(version, fee, DOT_MULTILOCATION)] : []), [ethMultiAsset]), version),
6356
6364
  assets_transfer_type: 'DestinationReserve',
6357
6365
  remote_fees_id: addXcmVersionHeader((_feeAsset$multiLocati2 = feeAsset === null || feeAsset === void 0 ? void 0 : feeAsset.multiLocation) !== null && _feeAsset$multiLocati2 !== void 0 ? _feeAsset$multiLocati2 : DOT_MULTILOCATION, version),
@@ -6436,46 +6444,35 @@ var Acala = /*#__PURE__*/function (_ParachainNode) {
6436
6444
  }]);
6437
6445
  }(ParachainNode);
6438
6446
 
6439
- var PolkadotXCMTransferImpl = /*#__PURE__*/function () {
6440
- function PolkadotXCMTransferImpl() {
6441
- _classCallCheck(this, PolkadotXCMTransferImpl);
6442
- }
6443
- return _createClass(PolkadotXCMTransferImpl, null, [{
6444
- key: "transferPolkadotXCM",
6445
- value: function transferPolkadotXCM(_ref, method) {
6446
- var api = _ref.api,
6447
- header = _ref.header,
6448
- asset = _ref.asset,
6449
- addressSelection = _ref.addressSelection,
6450
- currencySelection = _ref.currencySelection,
6451
- overriddenAsset = _ref.overriddenAsset,
6452
- pallet = _ref.pallet,
6453
- methodOverride = _ref.method;
6454
- var fees = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
6455
- var _extractVersionFromHe = extractVersionFromHeader(currencySelection),
6456
- _extractVersionFromHe2 = _slicedToArray(_extractVersionFromHe, 2),
6457
- version = _extractVersionFromHe2[0],
6458
- multiAssets = _extractVersionFromHe2[1];
6459
- var resolvedMultiAssets = addXcmVersionHeader(maybeOverrideMultiAssets(version, asset.amount, multiAssets, overriddenAsset), version);
6460
- var feeAssetIndex = overriddenAsset === undefined || isTMultiLocation(overriddenAsset) ? DEFAULT_FEE_ASSET : overriddenAsset.findIndex(function (asset) {
6461
- return asset.isFeeAsset;
6462
- });
6463
- var call = {
6464
- module: pallet !== null && pallet !== void 0 ? pallet : 'PolkadotXcm',
6465
- method: methodOverride !== null && methodOverride !== void 0 ? methodOverride : method,
6466
- parameters: _objectSpread2({
6467
- dest: header,
6468
- beneficiary: addressSelection,
6469
- assets: resolvedMultiAssets,
6470
- fee_asset_item: feeAssetIndex
6471
- }, fees !== undefined ? {
6472
- weight_limit: fees
6473
- } : {})
6474
- };
6475
- return api.callTxMethod(call);
6476
- }
6477
- }]);
6478
- }();
6447
+ var transferPolkadotXcm = function transferPolkadotXcm(_ref, method) {
6448
+ var api = _ref.api,
6449
+ destLocation = _ref.destLocation,
6450
+ asset = _ref.asset,
6451
+ beneficiaryLocation = _ref.beneficiaryLocation,
6452
+ multiAsset = _ref.multiAsset,
6453
+ overriddenAsset = _ref.overriddenAsset,
6454
+ pallet = _ref.pallet,
6455
+ version = _ref.version,
6456
+ methodOverride = _ref.method;
6457
+ var fees = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
6458
+ var resolvedMultiAssets = maybeOverrideMultiAssets(version, asset.amount, [multiAsset], overriddenAsset);
6459
+ var feeAssetIndex = overriddenAsset === undefined || isTMultiLocation(overriddenAsset) ? DEFAULT_FEE_ASSET : overriddenAsset.findIndex(function (asset) {
6460
+ return asset.isFeeAsset;
6461
+ });
6462
+ var call = {
6463
+ module: pallet !== null && pallet !== void 0 ? pallet : 'PolkadotXcm',
6464
+ method: methodOverride !== null && methodOverride !== void 0 ? methodOverride : method,
6465
+ parameters: _objectSpread2({
6466
+ dest: addXcmVersionHeader(destLocation, version),
6467
+ beneficiary: addXcmVersionHeader(beneficiaryLocation, version),
6468
+ assets: addXcmVersionHeader(resolvedMultiAssets, version),
6469
+ fee_asset_item: feeAssetIndex
6470
+ }, fees !== undefined ? {
6471
+ weight_limit: fees
6472
+ } : {})
6473
+ };
6474
+ return Promise.resolve(api.callTxMethod(call));
6475
+ };
6479
6476
 
6480
6477
  var Ajuna = /*#__PURE__*/function (_ParachainNode) {
6481
6478
  function Ajuna() {
@@ -6499,7 +6496,7 @@ var Ajuna = /*#__PURE__*/function (_ParachainNode) {
6499
6496
  }, {
6500
6497
  key: "transferPolkadotXCM",
6501
6498
  value: function transferPolkadotXCM(input) {
6502
- return Promise.resolve(PolkadotXCMTransferImpl.transferPolkadotXCM(input, 'transfer_assets', 'Unlimited'));
6499
+ return transferPolkadotXcm(input, 'transfer_assets', 'Unlimited');
6503
6500
  }
6504
6501
  }, {
6505
6502
  key: "canUseXTokens",
@@ -6627,7 +6624,7 @@ var AssetHubKusama = /*#__PURE__*/function (_ParachainNode) {
6627
6624
  // TESTED https://kusama.subscan.io/xcm_message/kusama-ddc2a48f0d8e0337832d7aae26f6c3053e1f4ffd
6628
6625
  // TESTED https://kusama.subscan.io/xcm_message/kusama-8e423130a4d8b61679af95dbea18a55124f99672
6629
6626
  if (destination === 'AssetHubPolkadot') {
6630
- return Promise.resolve(getNode('AssetHubPolkadot').handleBridgeTransfer(input, 'Polkadot'));
6627
+ return getNode('AssetHubPolkadot').handleBridgeTransfer(input, 'Polkadot');
6631
6628
  }
6632
6629
  var isSystemNode = !isTMultiLocation(destination) && SYSTEM_NODES_KUSAMA.includes(destination);
6633
6630
  if (scenario === 'ParaToPara' && asset.symbol === 'KSM' && !isForeignAsset(asset) && !isSystemNode) {
@@ -6637,7 +6634,7 @@ var AssetHubKusama = /*#__PURE__*/function (_ParachainNode) {
6637
6634
  throw new ScenarioNotSupportedError(this.node, scenario, 'Bridged DOT cannot currently be transfered from AssetHubKusama, if you are sending different DOT asset, please specify {id: <DOTID>}.');
6638
6635
  }
6639
6636
  var method = scenario === 'ParaToPara' && !isSystemNode ? 'limited_reserve_transfer_assets' : 'limited_teleport_assets';
6640
- return Promise.resolve(PolkadotXCMTransferImpl.transferPolkadotXCM(input, method, 'Unlimited'));
6637
+ return transferPolkadotXcm(input, method, 'Unlimited');
6641
6638
  }
6642
6639
  }, {
6643
6640
  key: "getRelayToParaOverrides",
@@ -6996,7 +6993,7 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
6996
6993
  module: 'PolkadotXcm',
6997
6994
  method: 'transfer_assets_using_type_and_then',
6998
6995
  parameters: {
6999
- dest: _this.createVersionedDestination(scenario, version, destination, paraIdTo),
6996
+ dest: createVersionedDestination(scenario, version, destination, paraIdTo),
7000
6997
  assets: addXcmVersionHeader([].concat(_toConsumableArray(useDOTAsFeeAsset ? [createMultiAsset(version, PARA_TO_PARA_FEE_DOT, DOT_MULTILOCATION)] : []), [createMultiAsset(version, asset.amount, asset.multiLocation)]), version),
7001
6998
  assets_transfer_type: 'LocalReserve',
7002
6999
  remote_fees_id: addXcmVersionHeader(useDOTAsFeeAsset ? DOT_MULTILOCATION : asset.multiLocation, version),
@@ -7023,8 +7020,8 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
7023
7020
  paraIdTo = input.paraIdTo;
7024
7021
  if (targetChain === 'Kusama' && ((_asset$symbol = asset.symbol) === null || _asset$symbol === void 0 ? void 0 : _asset$symbol.toUpperCase()) === 'KSM' || targetChain === 'Polkadot' && ((_asset$symbol2 = asset.symbol) === null || _asset$symbol2 === void 0 ? void 0 : _asset$symbol2.toUpperCase()) === 'DOT') {
7025
7022
  var modifiedInput = _objectSpread2(_objectSpread2({}, input), {}, {
7026
- header: createBridgePolkadotXcmDest(version, targetChain, destination, paraIdTo),
7027
- addressSelection: createVersionedBeneficiary({
7023
+ destLocation: createBridgeDestination(targetChain, destination, paraIdTo),
7024
+ beneficiaryLocation: createBeneficiary({
7028
7025
  api: api,
7029
7026
  scenario: scenario,
7030
7027
  pallet: 'PolkadotXcm',
@@ -7032,15 +7029,15 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
7032
7029
  version: version,
7033
7030
  paraId: paraIdTo
7034
7031
  }),
7035
- currencySelection: createVersionedMultiAssets(version, asset.amount, asset.multiLocation)
7032
+ multiAsset: createMultiAsset(version, asset.amount, asset.multiLocation)
7036
7033
  });
7037
- return PolkadotXCMTransferImpl.transferPolkadotXCM(modifiedInput, 'transfer_assets', 'Unlimited');
7034
+ return transferPolkadotXcm(modifiedInput, 'transfer_assets', 'Unlimited');
7038
7035
  } else if (targetChain === 'Polkadot' && ((_asset$symbol3 = asset.symbol) === null || _asset$symbol3 === void 0 ? void 0 : _asset$symbol3.toUpperCase()) === 'KSM' || targetChain === 'Kusama' && ((_asset$symbol4 = asset.symbol) === null || _asset$symbol4 === void 0 ? void 0 : _asset$symbol4.toUpperCase()) === 'DOT') {
7039
7036
  var _modifiedInput = _objectSpread2(_objectSpread2({}, input), {}, {
7040
- header: createBridgePolkadotXcmDest(version, targetChain, destination, paraIdTo),
7041
- currencySelection: createVersionedMultiAssets(version, asset.amount, DOT_MULTILOCATION)
7037
+ destLocation: createBridgeDestination(targetChain, destination, paraIdTo),
7038
+ multiAsset: createMultiAsset(version, asset.amount, DOT_MULTILOCATION)
7042
7039
  });
7043
- return PolkadotXCMTransferImpl.transferPolkadotXCM(_modifiedInput, 'limited_reserve_transfer_assets', 'Unlimited');
7040
+ return transferPolkadotXcm(_modifiedInput, 'limited_reserve_transfer_assets', 'Unlimited');
7044
7041
  }
7045
7042
  throw new InvalidCurrencyError("Polkadot <-> Kusama bridge does not support currency ".concat(asset.symbol));
7046
7043
  }
@@ -7169,8 +7166,8 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
7169
7166
  return _context2.a(2, this.handleEthBridgeNativeTransfer(input));
7170
7167
  case 5:
7171
7168
  modifiedInput = _objectSpread2(_objectSpread2({}, input), {}, {
7172
- header: createVersionedDestination(scenario, this.version, destination, paraIdTo, ETHEREUM_JUNCTION, Parents.TWO),
7173
- addressSelection: createVersionedBeneficiary({
7169
+ destLocation: createDestination(scenario, this.version, destination, paraIdTo, ETHEREUM_JUNCTION, Parents.TWO),
7170
+ beneficiaryLocation: createBeneficiary({
7174
7171
  api: api,
7175
7172
  scenario: scenario,
7176
7173
  pallet: 'PolkadotXcm',
@@ -7178,9 +7175,9 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
7178
7175
  version: this.version,
7179
7176
  paraId: paraIdTo
7180
7177
  }),
7181
- currencySelection: createVersionedMultiAssets(version, asset.amount, asset.multiLocation)
7178
+ multiAsset: createMultiAsset(version, asset.amount, asset.multiLocation)
7182
7179
  });
7183
- return _context2.a(2, PolkadotXCMTransferImpl.transferPolkadotXCM(modifiedInput, 'transfer_assets', 'Unlimited'));
7180
+ return _context2.a(2, transferPolkadotXcm(modifiedInput, 'transfer_assets', 'Unlimited'));
7184
7181
  }
7185
7182
  }, _callee2, this);
7186
7183
  }));
@@ -7209,8 +7206,8 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
7209
7206
  }
7210
7207
  };
7211
7208
  var modifiedInput = _objectSpread2(_objectSpread2({}, input), {}, {
7212
- header: this.createVersionedDestination(scenario, version, destination, paraId),
7213
- addressSelection: createVersionedBeneficiary({
7209
+ destLocation: createDestination(scenario, version, destination, paraId),
7210
+ beneficiaryLocation: createBeneficiary({
7214
7211
  api: api,
7215
7212
  scenario: scenario,
7216
7213
  pallet: 'PolkadotXcm',
@@ -7218,9 +7215,9 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
7218
7215
  version: version,
7219
7216
  paraId: paraId
7220
7217
  }),
7221
- currencySelection: createVersionedMultiAssets(version, asset.amount, customMultiLocation)
7218
+ multiAsset: createMultiAsset(version, asset.amount, customMultiLocation)
7222
7219
  });
7223
- return PolkadotXCMTransferImpl.transferPolkadotXCM(modifiedInput, 'limited_teleport_assets', 'Unlimited');
7220
+ return transferPolkadotXcm(modifiedInput, 'limited_teleport_assets', 'Unlimited');
7224
7221
  }
7225
7222
  }, {
7226
7223
  key: "patchInput",
@@ -7231,7 +7228,7 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
7231
7228
  version = _input$version === void 0 ? this.version : _input$version;
7232
7229
  if ((destination === 'Hydration' || destination === 'Polimec' || destination === 'Moonbeam' || destination === 'BifrostPolkadot') && asset.symbol === 'DOT') {
7233
7230
  return _objectSpread2(_objectSpread2({}, input), {}, {
7234
- currencySelection: createVersionedMultiAssets(version, asset.amount, DOT_MULTILOCATION)
7231
+ multiAsset: createMultiAsset(version, asset.amount, DOT_MULTILOCATION)
7235
7232
  });
7236
7233
  }
7237
7234
  return input;
@@ -7247,7 +7244,7 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
7247
7244
  key: "handleExecuteTransfer",
7248
7245
  value: function () {
7249
7246
  var _handleExecuteTransfer = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(input) {
7250
- var api, senderAddress, asset, feeAsset, version, decimals, multiplier, base, scaledMultiplier, MIN_FEE, call, dryRunResult, paddedFee, xcm, weight;
7247
+ var api, senderAddress, asset, feeAsset, version, decimals, multiplier, base, scaledMultiplier, MIN_FEE, checkAmount, call, dryRunResult, paddedFee, xcm, weight;
7251
7248
  return _regenerator().w(function (_context3) {
7252
7249
  while (1) switch (_context3.n) {
7253
7250
  case 0:
@@ -7264,6 +7261,12 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
7264
7261
  base = BigInt(Math.pow(10, decimals));
7265
7262
  scaledMultiplier = BigInt(Math.floor(multiplier * Math.pow(10, decimals)));
7266
7263
  MIN_FEE = base * scaledMultiplier / BigInt(Math.pow(10, decimals));
7264
+ checkAmount = function checkAmount(fee) {
7265
+ if (feeAsset && isAssetEqual(asset, feeAsset) && BigInt(asset.amount) <= fee * 2n) {
7266
+ throw new InvalidParameterError("Asset amount ".concat(asset.amount, " is too low, please increase the amount or use a different fee asset."));
7267
+ }
7268
+ };
7269
+ checkAmount(MIN_FEE);
7267
7270
  call = createExecuteCall(createExecuteXcm(input, MIN_FEE, version), MAX_WEIGHT);
7268
7271
  _context3.n = 2;
7269
7272
  return api.getDryRunCall({
@@ -7281,6 +7284,7 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
7281
7284
  throw new DryRunFailedError(dryRunResult.failureReason);
7282
7285
  case 3:
7283
7286
  paddedFee = dryRunResult.fee * 120n / 100n;
7287
+ checkAmount(paddedFee);
7284
7288
  xcm = createExecuteXcm(input, paddedFee, version);
7285
7289
  _context3.n = 4;
7286
7290
  return api.getXcmWeight(xcm);
@@ -7378,7 +7382,7 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
7378
7382
  case 11:
7379
7383
  method = this.getMethod(scenario, destination);
7380
7384
  modifiedInput = this.patchInput(input);
7381
- return _context4.a(2, PolkadotXCMTransferImpl.transferPolkadotXCM(modifiedInput, method, 'Unlimited'));
7385
+ return _context4.a(2, transferPolkadotXcm(modifiedInput, method, 'Unlimited'));
7382
7386
  }
7383
7387
  }, _callee4, this);
7384
7388
  }));
@@ -7409,7 +7413,7 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
7409
7413
  throw new InvalidCurrencyError('Asset does not have a multiLocation defined');
7410
7414
  }
7411
7415
  var transformedMultiLocation = hasJunction(multiLocation, 'Parachain', 1000) ? transformMultiLocation(multiLocation) : multiLocation;
7412
- return createVersionedMultiAssets(version, amount, transformedMultiLocation);
7416
+ return createMultiAsset(version, amount, transformedMultiLocation);
7413
7417
  } else {
7414
7418
  return _superPropGet(AssetHubPolkadot, "createCurrencySpec", this, 3)([amount, scenario, version, asset]);
7415
7419
  }
@@ -7460,7 +7464,7 @@ var Astar = /*#__PURE__*/function (_ParachainNode) {
7460
7464
  return _createClass(Astar, [{
7461
7465
  key: "transferPolkadotXCM",
7462
7466
  value: function transferPolkadotXCM(input) {
7463
- return Promise.resolve(PolkadotXCMTransferImpl.transferPolkadotXCM(input, 'limited_reserve_transfer_assets', 'Unlimited'));
7467
+ return transferPolkadotXcm(input, 'limited_reserve_transfer_assets', 'Unlimited');
7464
7468
  }
7465
7469
  }, {
7466
7470
  key: "transferXTokens",
@@ -7600,8 +7604,8 @@ var BifrostPolkadot = /*#__PURE__*/function (_ParachainNode) {
7600
7604
  value: function transferToAssetHub(input) {
7601
7605
  var _getAssetId;
7602
7606
  var asset = input.asset;
7603
- return Promise.resolve(PolkadotXCMTransferImpl.transferPolkadotXCM(_objectSpread2(_objectSpread2({}, input), {}, {
7604
- currencySelection: createVersionedMultiAssets(this.version, asset.amount, {
7607
+ return transferPolkadotXcm(_objectSpread2(_objectSpread2({}, input), {}, {
7608
+ multiAsset: createMultiAsset(this.version, asset.amount, {
7605
7609
  parents: asset.symbol === 'DOT' ? Parents.ONE : Parents.TWO,
7606
7610
  interior: asset.symbol === 'WETH' ? {
7607
7611
  X2: [ETHEREUM_JUNCTION, {
@@ -7611,7 +7615,7 @@ var BifrostPolkadot = /*#__PURE__*/function (_ParachainNode) {
7611
7615
  }]
7612
7616
  } : 'Here'
7613
7617
  })
7614
- }), 'transfer_assets', 'Unlimited'));
7618
+ }), 'transfer_assets', 'Unlimited');
7615
7619
  }
7616
7620
  }, {
7617
7621
  key: "transferPolkadotXCM",
@@ -7667,7 +7671,7 @@ var BridgeHubKusama = /*#__PURE__*/function (_ParachainNode) {
7667
7671
  throw new ScenarioNotSupportedError(this.node, scenario, 'Unable to use bridge hub for transfers to other Parachains. Please move your currency to AssetHub to transfer to other Parachains.');
7668
7672
  }
7669
7673
  var method = 'limited_teleport_assets';
7670
- return Promise.resolve(PolkadotXCMTransferImpl.transferPolkadotXCM(input, method, 'Unlimited'));
7674
+ return transferPolkadotXcm(input, method, 'Unlimited');
7671
7675
  }
7672
7676
  }, {
7673
7677
  key: "getRelayToParaOverrides",
@@ -7694,7 +7698,7 @@ var BridgeHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
7694
7698
  throw new ScenarioNotSupportedError(this.node, scenario, 'Unable to use bridge hub for transfers to other Parachains. Please move your currency to AssetHub to transfer to other Parachains.');
7695
7699
  }
7696
7700
  var method = 'limited_teleport_assets';
7697
- return Promise.resolve(PolkadotXCMTransferImpl.transferPolkadotXCM(input, method, 'Unlimited'));
7701
+ return transferPolkadotXcm(input, method, 'Unlimited');
7698
7702
  }
7699
7703
  }, {
7700
7704
  key: "getRelayToParaOverrides",
@@ -7771,7 +7775,7 @@ var Collectives = /*#__PURE__*/function (_ParachainNode) {
7771
7775
  if (scenario === 'ParaToPara') {
7772
7776
  throw new ScenarioNotSupportedError(this.node, scenario);
7773
7777
  }
7774
- return Promise.resolve(PolkadotXCMTransferImpl.transferPolkadotXCM(input, 'limited_teleport_assets', 'Unlimited'));
7778
+ return transferPolkadotXcm(input, 'limited_teleport_assets', 'Unlimited');
7775
7779
  }
7776
7780
  }, {
7777
7781
  key: "getRelayToParaOverrides",
@@ -7781,11 +7785,6 @@ var Collectives = /*#__PURE__*/function (_ParachainNode) {
7781
7785
  includeFee: true
7782
7786
  };
7783
7787
  }
7784
- }, {
7785
- key: "createCurrencySpec",
7786
- value: function createCurrencySpec(amount, scenario, version, asset) {
7787
- return _superPropGet(Collectives, "createCurrencySpec", this, 3)([amount, scenario, version, asset]);
7788
- }
7789
7788
  }]);
7790
7789
  }(ParachainNode);
7791
7790
 
@@ -7819,7 +7818,7 @@ var CoretimeKusama = /*#__PURE__*/function (_ParachainNode) {
7819
7818
  // TESTED block hash on Rococo: 0x78ace0f1bf7cac9a42e56143321b617d98327e2750f795efb0abb833025c9082
7820
7819
  var scenario = input.scenario;
7821
7820
  var method = scenario === 'ParaToPara' ? 'limited_reserve_transfer_assets' : 'limited_teleport_assets';
7822
- return Promise.resolve(PolkadotXCMTransferImpl.transferPolkadotXCM(input, method, 'Unlimited'));
7821
+ return transferPolkadotXcm(input, method, 'Unlimited');
7823
7822
  }
7824
7823
  }, {
7825
7824
  key: "getRelayToParaOverrides",
@@ -7843,7 +7842,7 @@ var CoretimePolkadot = /*#__PURE__*/function (_ParachainNode) {
7843
7842
  value: function transferPolkadotXCM(input) {
7844
7843
  var scenario = input.scenario;
7845
7844
  var method = scenario === 'ParaToPara' ? 'limited_reserve_transfer_assets' : 'limited_teleport_assets';
7846
- return Promise.resolve(PolkadotXCMTransferImpl.transferPolkadotXCM(input, method, 'Unlimited'));
7845
+ return transferPolkadotXcm(input, method, 'Unlimited');
7847
7846
  }
7848
7847
  }, {
7849
7848
  key: "getRelayToParaOverrides",
@@ -7867,7 +7866,7 @@ var Crab = /*#__PURE__*/function (_ParachainNode) {
7867
7866
  value: function transferPolkadotXCM(input) {
7868
7867
  // TESTED https://kusama.subscan.io/xcm_message/kusama-ce7396ec470ba0c6516a50075046ee65464572dc
7869
7868
  if (input.scenario === 'ParaToPara') {
7870
- return Promise.resolve(PolkadotXCMTransferImpl.transferPolkadotXCM(input, 'reserve_transfer_assets'));
7869
+ return transferPolkadotXcm(input, 'reserve_transfer_assets');
7871
7870
  }
7872
7871
  throw new ScenarioNotSupportedError(this.node, input.scenario);
7873
7872
  }
@@ -7880,7 +7879,7 @@ var Crab = /*#__PURE__*/function (_ParachainNode) {
7880
7879
  key: "createCurrencySpec",
7881
7880
  value: function createCurrencySpec(amount, scenario, version, _asset) {
7882
7881
  if (scenario === 'ParaToPara') {
7883
- return createVersionedMultiAssets(version, amount, {
7882
+ return createMultiAsset(version, amount, {
7884
7883
  parents: Parents.ZERO,
7885
7884
  interior: {
7886
7885
  X1: {
@@ -8021,13 +8020,13 @@ var Darwinia = /*#__PURE__*/function (_ParachainNode) {
8021
8020
  if (scenario === 'ParaToPara' && asset.symbol !== this.getNativeAssetSymbol()) {
8022
8021
  throw new ScenarioNotSupportedError(this.node, scenario);
8023
8022
  }
8024
- return Promise.resolve(PolkadotXCMTransferImpl.transferPolkadotXCM(input, 'limited_reserve_transfer_assets', 'Unlimited'));
8023
+ return transferPolkadotXcm(input, 'limited_reserve_transfer_assets', 'Unlimited');
8025
8024
  }
8026
8025
  }, {
8027
8026
  key: "createCurrencySpec",
8028
8027
  value: function createCurrencySpec(amount, scenario, version, _asset) {
8029
8028
  if (scenario === 'ParaToPara') {
8030
- return createVersionedMultiAssets(version, amount, {
8029
+ return createMultiAsset(version, amount, {
8031
8030
  parents: Parents.ZERO,
8032
8031
  interior: {
8033
8032
  X1: {
@@ -8076,7 +8075,7 @@ var Encointer = /*#__PURE__*/function (_ParachainNode) {
8076
8075
  // NO PARA TO PARA SCENARIOS ON SUBSCAN
8077
8076
  // TESTED https://encointer.subscan.io/xcm_message/kusama-418501e86e947b16c4e4e9040694017e64f9b162
8078
8077
  if (input.scenario === 'ParaToRelay') {
8079
- return Promise.resolve(PolkadotXCMTransferImpl.transferPolkadotXCM(input, 'limited_teleport_assets', 'Unlimited'));
8078
+ return transferPolkadotXcm(input, 'limited_teleport_assets', 'Unlimited');
8080
8079
  }
8081
8080
  throw new ScenarioNotSupportedError(this.node, input.scenario);
8082
8081
  }
@@ -8108,7 +8107,7 @@ var Heima = /*#__PURE__*/function (_ParachainNode) {
8108
8107
  if (asset.symbol !== this.getNativeAssetSymbol()) {
8109
8108
  throw new InvalidCurrencyError("Asset ".concat(asset.symbol, " is not supported by node ").concat(this.node, "."));
8110
8109
  }
8111
- return Promise.resolve(PolkadotXCMTransferImpl.transferPolkadotXCM(input, 'limited_reserve_transfer_assets', 'Unlimited'));
8110
+ return transferPolkadotXcm(input, 'limited_reserve_transfer_assets', 'Unlimited');
8112
8111
  }
8113
8112
  }]);
8114
8113
  }(ParachainNode);
@@ -8128,9 +8127,9 @@ var getAssetMultiLocation = function getAssetMultiLocation(asset) {
8128
8127
  };
8129
8128
  var createTransferAssetsTransfer = function createTransferAssetsTransfer(options, version) {
8130
8129
  var asset = options.asset;
8131
- var currencySelection = addXcmVersionHeader([createMultiAsset(version, asset.amount, getAssetMultiLocation(asset))], version);
8132
- return PolkadotXCMTransferImpl.transferPolkadotXCM(_objectSpread2(_objectSpread2({}, options), {}, {
8133
- currencySelection: currencySelection
8130
+ var location = getAssetMultiLocation(asset);
8131
+ return transferPolkadotXcm(_objectSpread2(_objectSpread2({}, options), {}, {
8132
+ multiAsset: createMultiAsset(version, asset.amount, location)
8134
8133
  }), 'transfer_assets', 'Unlimited');
8135
8134
  };
8136
8135
  var createTypeAndThenDest = function createTypeAndThenDest(destination, scenario, version) {
@@ -8231,7 +8230,7 @@ var Polimec = /*#__PURE__*/function (_ParachainNode) {
8231
8230
  break;
8232
8231
  }
8233
8232
  _call = createTypeAndThenTransfer(input, version);
8234
- return _context.a(2, Promise.resolve(api.callTxMethod(_call)));
8233
+ return _context.a(2, api.callTxMethod(_call));
8235
8234
  case 1:
8236
8235
  if (!(scenario === 'ParaToPara' && (destination === 'AssetHubPolkadot' || destination === 'Hydration'))) {
8237
8236
  _context.n = 2;
@@ -8331,7 +8330,7 @@ var Hydration = /*#__PURE__*/function (_ParachainNode) {
8331
8330
  module: 'PolkadotXcm',
8332
8331
  method: 'transfer_assets_using_type_and_then',
8333
8332
  parameters: {
8334
- dest: this.createVersionedDestination(scenario, version, destination, getParaId('AssetHubPolkadot')),
8333
+ dest: createVersionedDestination(scenario, version, destination, getParaId('AssetHubPolkadot')),
8335
8334
  assets: _defineProperty({}, version, [createMultiAsset(version, asset.amount, DOT_MULTILOCATION)]),
8336
8335
  assets_transfer_type: 'DestinationReserve',
8337
8336
  remote_fees_id: _defineProperty({}, version, {
@@ -8355,7 +8354,7 @@ var Hydration = /*#__PURE__*/function (_ParachainNode) {
8355
8354
  var symbol = asset.symbol.toUpperCase();
8356
8355
  if (symbol === 'DOT') {
8357
8356
  var call = createTypeAndThenTransfer(options, version);
8358
- return api.callTxMethod(call);
8357
+ return Promise.resolve(api.callTxMethod(call));
8359
8358
  }
8360
8359
  if ((symbol === 'USDC' || symbol === 'USDT') && !hasJunction(asset.multiLocation, 'Parachain', getParaId('AssetHubPolkadot'))) {
8361
8360
  throw new InvalidCurrencyError('The selected asset is not supported for transfer to Polimec');
@@ -8537,7 +8536,7 @@ var KiltSpiritnet = /*#__PURE__*/function (_ParachainNode) {
8537
8536
  if (scenario === 'ParaToPara' && asset.symbol !== this.getNativeAssetSymbol()) {
8538
8537
  throw new ScenarioNotSupportedError(this.node, scenario, 'KiltSpiritnet only supports native asset ParaToPara transfers');
8539
8538
  }
8540
- return Promise.resolve(PolkadotXCMTransferImpl.transferPolkadotXCM(input, 'limited_reserve_transfer_assets', 'Unlimited'));
8539
+ return transferPolkadotXcm(input, 'limited_reserve_transfer_assets', 'Unlimited');
8541
8540
  }
8542
8541
  }, {
8543
8542
  key: "transferRelayToPara",
@@ -8680,9 +8679,9 @@ var Moonbeam = /*#__PURE__*/function (_ParachainNode) {
8680
8679
  return this.transferToEthereum(input);
8681
8680
  }
8682
8681
  var multiLocation = this.getMultiLocation(asset, scenario);
8683
- return Promise.resolve(PolkadotXCMTransferImpl.transferPolkadotXCM(_objectSpread2(_objectSpread2({}, input), {}, {
8684
- currencySelection: createVersionedMultiAssets(version, asset.amount, multiLocation)
8685
- }), 'transfer_assets', 'Unlimited'));
8682
+ return transferPolkadotXcm(_objectSpread2(_objectSpread2({}, input), {}, {
8683
+ multiAsset: createMultiAsset(version, asset.amount, multiLocation)
8684
+ }), 'transfer_assets', 'Unlimited');
8686
8685
  }
8687
8686
  }, {
8688
8687
  key: "getRelayToParaOverrides",
@@ -8748,9 +8747,9 @@ var Moonriver = /*#__PURE__*/function (_ParachainNode) {
8748
8747
  _input$version = input.version,
8749
8748
  version = _input$version === void 0 ? this.version : _input$version;
8750
8749
  var multiLocation = this.getMultiLocation(asset, scenario);
8751
- return Promise.resolve(PolkadotXCMTransferImpl.transferPolkadotXCM(_objectSpread2(_objectSpread2({}, input), {}, {
8752
- currencySelection: createVersionedMultiAssets(version, asset.amount, multiLocation)
8753
- }), 'transfer_assets', 'Unlimited'));
8750
+ return transferPolkadotXcm(_objectSpread2(_objectSpread2({}, input), {}, {
8751
+ multiAsset: createMultiAsset(version, asset.amount, multiLocation)
8752
+ }), 'transfer_assets', 'Unlimited');
8754
8753
  }
8755
8754
  }, {
8756
8755
  key: "getRelayToParaOverrides",
@@ -8787,7 +8786,7 @@ var Mythos = /*#__PURE__*/function (_ParachainNode) {
8787
8786
  if (asset.symbol !== nativeSymbol) {
8788
8787
  throw new InvalidCurrencyError("Node ".concat(this.node, " does not support currency ").concat(asset.symbol));
8789
8788
  }
8790
- return Promise.resolve(PolkadotXCMTransferImpl.transferPolkadotXCM(input, destination === 'AssetHubPolkadot' ? 'limited_teleport_assets' : 'limited_reserve_transfer_assets', 'Unlimited'));
8789
+ return transferPolkadotXcm(input, destination === 'AssetHubPolkadot' ? 'limited_teleport_assets' : 'limited_reserve_transfer_assets', 'Unlimited');
8791
8790
  }
8792
8791
  }, {
8793
8792
  key: "transferPolkadotXCM",
@@ -8834,7 +8833,7 @@ var NeuroWeb = /*#__PURE__*/function (_ParachainNode) {
8834
8833
  return _createClass(NeuroWeb, [{
8835
8834
  key: "transferPolkadotXCM",
8836
8835
  value: function transferPolkadotXCM(input) {
8837
- return Promise.resolve(PolkadotXCMTransferImpl.transferPolkadotXCM(input, 'limited_reserve_transfer_assets', 'Unlimited'));
8836
+ return transferPolkadotXcm(input, 'limited_reserve_transfer_assets', 'Unlimited');
8838
8837
  }
8839
8838
  }]);
8840
8839
  }(ParachainNode);
@@ -8856,7 +8855,7 @@ var Nodle = /*#__PURE__*/function (_ParachainNode) {
8856
8855
  if (asset.symbol !== this.getNativeAssetSymbol()) {
8857
8856
  throw new InvalidCurrencyError("Asset ".concat(asset.symbol, " is not supported by node ").concat(this.node, "."));
8858
8857
  }
8859
- return Promise.resolve(PolkadotXCMTransferImpl.transferPolkadotXCM(input, 'limited_reserve_transfer_assets', 'Unlimited'));
8858
+ return transferPolkadotXcm(input, 'limited_reserve_transfer_assets', 'Unlimited');
8860
8859
  }
8861
8860
  }, {
8862
8861
  key: "transferRelayToPara",
@@ -8964,7 +8963,7 @@ var PeopleKusama = /*#__PURE__*/function (_ParachainNode) {
8964
8963
  throw new ScenarioNotSupportedError(this.node, scenario);
8965
8964
  }
8966
8965
  var method = 'limited_teleport_assets';
8967
- return Promise.resolve(PolkadotXCMTransferImpl.transferPolkadotXCM(input, method, 'Unlimited'));
8966
+ return transferPolkadotXcm(input, method, 'Unlimited');
8968
8967
  }
8969
8968
  }, {
8970
8969
  key: "getRelayToParaOverrides",
@@ -8990,8 +8989,7 @@ var PeoplePolkadot = /*#__PURE__*/function (_ParachainNode) {
8990
8989
  if (scenario === 'ParaToPara') {
8991
8990
  throw new ScenarioNotSupportedError(this.node, scenario);
8992
8991
  }
8993
- var method = 'limited_teleport_assets';
8994
- return Promise.resolve(PolkadotXCMTransferImpl.transferPolkadotXCM(input, method, 'Unlimited'));
8992
+ return transferPolkadotXcm(input, 'limited_teleport_assets', 'Unlimited');
8995
8993
  }
8996
8994
  }, {
8997
8995
  key: "getRelayToParaOverrides",
@@ -9017,77 +9015,50 @@ var determineDestWeight = function determineDestWeight(destNode) {
9017
9015
  proof_size: 0n
9018
9016
  };
9019
9017
  }
9020
- throw new NodeNotSupportedError("Node ".concat(destNode, " is not supported"));
9018
+ throw new NodeNotSupportedError("Pallet XTransfer does not support transfering to ".concat(destNode, "."));
9021
9019
  };
9022
9020
 
9023
- var getDestination = function getDestination(_ref) {
9024
- var recipientAddress = _ref.recipientAddress,
9025
- paraId = _ref.paraId,
9026
- api = _ref.api;
9027
- var isMultiLocation = _typeof(recipientAddress) === 'object';
9028
- if (isMultiLocation) {
9029
- return recipientAddress;
9030
- }
9031
- var isEthAddress = isAddress(recipientAddress);
9032
- var addressJunction = isEthAddress ? {
9033
- AccountKey20: {
9034
- key: recipientAddress
9035
- }
9036
- } : {
9037
- AccountId32: {
9038
- id: api.accountToHex(recipientAddress)
9039
- }
9040
- };
9041
- return {
9042
- parents: Parents.ONE,
9043
- interior: {
9044
- X2: [{
9045
- Parachain: paraId
9046
- }, addressJunction]
9021
+ var transferXTransfer = function transferXTransfer(input) {
9022
+ var api = input.api,
9023
+ destination = input.destination,
9024
+ scenario = input.scenario,
9025
+ asset = input.asset,
9026
+ overriddenAsset = input.overriddenAsset,
9027
+ recipientAddress = input.recipientAddress,
9028
+ pallet = input.pallet,
9029
+ methodOverride = input.method,
9030
+ paraIdTo = input.paraIdTo;
9031
+ assertToIsString(destination, ERR_MULTILOCATION_DEST_NOT_SUPPORTED);
9032
+ // XTransfer pallet does not require version specification
9033
+ // but the XCM syntax matches the V3 format
9034
+ var version = Version.V3;
9035
+ var multiAsset = createMultiAsset(version, asset.amount, {
9036
+ parents: Parents.ZERO,
9037
+ interior: 'Here'
9038
+ });
9039
+ var resolvedMultiAsset = maybeOverrideMultiAsset(version, asset.amount, multiAsset, overriddenAsset);
9040
+ var dest = createBeneficiaryMultiLocation({
9041
+ api: api,
9042
+ scenario: scenario,
9043
+ pallet: 'XTokens',
9044
+ recipientAddress: recipientAddress,
9045
+ version: version,
9046
+ paraId: paraIdTo
9047
+ });
9048
+ var destWeight = determineDestWeight(destination);
9049
+ var method = 'transfer';
9050
+ var call = {
9051
+ module: pallet !== null && pallet !== void 0 ? pallet : 'XTransfer',
9052
+ method: methodOverride !== null && methodOverride !== void 0 ? methodOverride : method,
9053
+ parameters: {
9054
+ asset: resolvedMultiAsset,
9055
+ dest: dest,
9056
+ dest_weight: destWeight
9047
9057
  }
9048
9058
  };
9059
+ return api.callTxMethod(call);
9049
9060
  };
9050
9061
 
9051
- var XTransferTransferImpl = /*#__PURE__*/function () {
9052
- function XTransferTransferImpl() {
9053
- _classCallCheck(this, XTransferTransferImpl);
9054
- }
9055
- return _createClass(XTransferTransferImpl, null, [{
9056
- key: "transferXTransfer",
9057
- value: function transferXTransfer(input) {
9058
- var api = input.api,
9059
- destination = input.destination,
9060
- asset = input.asset,
9061
- overriddenAsset = input.overriddenAsset,
9062
- pallet = input.pallet,
9063
- methodOverride = input.method;
9064
- var isMultiLocationDestination = _typeof(destination) === 'object';
9065
- if (isMultiLocationDestination) {
9066
- throw new InvalidParameterError('Multilocation destinations are not supported for specific transfer you are trying to create. In special cases such as xTokens or xTransfer pallet try using address multilocation instead (for both destination and address in same multilocation set (eg. X2 - Parachain, Address). For further assistance please open issue in our repository.');
9067
- }
9068
- var version = Version.V3;
9069
- var multiAssets = [createMultiAsset(version, asset.amount, {
9070
- parents: Parents.ZERO,
9071
- interior: 'Here'
9072
- })];
9073
- var resolvedMultiAssets = maybeOverrideMultiAssets(version, asset.amount, multiAssets, overriddenAsset);
9074
- var dest = getDestination(input);
9075
- var method = 'transfer';
9076
- var destWeight = determineDestWeight(destination);
9077
- var call = {
9078
- module: pallet !== null && pallet !== void 0 ? pallet : 'XTransfer',
9079
- method: methodOverride !== null && methodOverride !== void 0 ? methodOverride : method,
9080
- parameters: {
9081
- asset: resolvedMultiAssets[0],
9082
- dest: dest,
9083
- dest_weight: destWeight
9084
- }
9085
- };
9086
- return api.callTxMethod(call);
9087
- }
9088
- }]);
9089
- }();
9090
-
9091
9062
  var Phala = /*#__PURE__*/function (_ParachainNode) {
9092
9063
  function Phala() {
9093
9064
  _classCallCheck(this, Phala);
@@ -9096,12 +9067,12 @@ var Phala = /*#__PURE__*/function (_ParachainNode) {
9096
9067
  _inherits(Phala, _ParachainNode);
9097
9068
  return _createClass(Phala, [{
9098
9069
  key: "transferXTransfer",
9099
- value: function transferXTransfer(input) {
9070
+ value: function transferXTransfer$1(input) {
9100
9071
  var asset = input.asset;
9101
9072
  if (asset.symbol !== this.getNativeAssetSymbol()) {
9102
9073
  throw new InvalidCurrencyError("Node ".concat(this.node, " does not support currency ").concat(asset.symbol));
9103
9074
  }
9104
- return XTransferTransferImpl.transferXTransfer(input);
9075
+ return transferXTransfer(input);
9105
9076
  }
9106
9077
  }, {
9107
9078
  key: "transferLocalNonNativeAsset",
@@ -9161,7 +9132,7 @@ var RobonomicsKusama = /*#__PURE__*/function (_ParachainNode) {
9161
9132
  return _createClass(RobonomicsKusama, [{
9162
9133
  key: "transferPolkadotXCM",
9163
9134
  value: function transferPolkadotXCM(input) {
9164
- return Promise.resolve(PolkadotXCMTransferImpl.transferPolkadotXCM(input, 'limited_reserve_transfer_assets', 'Unlimited'));
9135
+ return transferPolkadotXcm(input, 'limited_reserve_transfer_assets', 'Unlimited');
9165
9136
  }
9166
9137
  }, {
9167
9138
  key: "transferLocalNonNativeAsset",
@@ -9180,7 +9151,7 @@ var RobonomicsPolkadot = /*#__PURE__*/function (_ParachainNode) {
9180
9151
  return _createClass(RobonomicsPolkadot, [{
9181
9152
  key: "transferPolkadotXCM",
9182
9153
  value: function transferPolkadotXCM(input) {
9183
- return Promise.resolve(PolkadotXCMTransferImpl.transferPolkadotXCM(input, 'limited_reserve_transfer_assets', 'Unlimited'));
9154
+ return transferPolkadotXcm(input, 'limited_reserve_transfer_assets', 'Unlimited');
9184
9155
  }
9185
9156
  }, {
9186
9157
  key: "transferLocalNonNativeAsset",
@@ -9258,7 +9229,7 @@ var Subsocial = /*#__PURE__*/function (_ParachainNode) {
9258
9229
  if (asset.symbol !== this.getNativeAssetSymbol()) {
9259
9230
  throw new InvalidCurrencyError("Asset ".concat(asset.symbol, " is not supported by node ").concat(this.node, "."));
9260
9231
  }
9261
- return Promise.resolve(PolkadotXCMTransferImpl.transferPolkadotXCM(input, 'limited_reserve_transfer_assets', 'Unlimited'));
9232
+ return transferPolkadotXcm(input, 'limited_reserve_transfer_assets', 'Unlimited');
9262
9233
  }
9263
9234
  }]);
9264
9235
  }(ParachainNode);
@@ -9537,17 +9508,6 @@ var AssetClaimBuilder = /*#__PURE__*/function () {
9537
9508
  }]);
9538
9509
  }();
9539
9510
 
9540
- var assertToIsString = function assertToIsString(to) {
9541
- if (isTMultiLocation(to)) {
9542
- throw new InvalidParameterError('Multi-Location destination is not supported for XCM fee calculation.');
9543
- }
9544
- };
9545
- var assertAddressIsString = function assertAddressIsString(address) {
9546
- if (isTMultiLocation(address)) {
9547
- throw new InvalidParameterError('Multi-Location address is not supported for XCM fee calculation.');
9548
- }
9549
- };
9550
-
9551
9511
  var BatchTransactionManager = /*#__PURE__*/function () {
9552
9512
  function BatchTransactionManager() {
9553
9513
  _classCallCheck(this, BatchTransactionManager);
@@ -10256,4 +10216,4 @@ var Builder = function Builder(api) {
10256
10216
  return new GeneralBuilder(api, new BatchTransactionManager());
10257
10217
  };
10258
10218
 
10259
- export { AssetClaimBuilder, BatchMode, BridgeHaltedError, Builder, DRY_RUN_CLIENT_TIMEOUT_MS, DryRunFailedError, ETHEREUM_JUNCTION, ETH_CHAIN_ID, GeneralBuilder, IncompatibleNodesError, InvalidAddressError, InvalidParameterError, NoXCMSupportImplementedError, NodeNotSupportedError, PolkadotXcmError, ScenarioNotSupportedError, TX_CLIENT_TIMEOUT_MS, TransferToAhNotSupported, UnableToComputeError, XTokensError, blake2b256, blake2b512, claimAssets, computeFeeFromDryRun, computeFeeFromDryRunPjs, convertSs58, createApiInstanceForNode, createBeneficiary, createBeneficiaryMultiLocation, createVersionedBeneficiary, createX1Payload, deriveAccountId, determineRelayChain, dryRun, dryRunOrigin, encodeSs58, getAssetBalance, getAssetBalanceInternal, getBalanceForeign, getBalanceForeignInternal, getBalanceNative, getBalanceNativeInternal, getBridgeStatus, getFees, getNode, getNodeConfig, getNodeProviders, getOriginFeeDetails, getOriginFeeDetailsInternal, getOriginXcmFee, getOriginXcmFeeEstimate, getParaEthTransferFees, getParaId, getTNode, getTransferInfo, getTransferableAmount, getTransferableAmountInternal, getXcmFee, getXcmFeeEstimate, resolveModuleError, resolveParaId, reverseTransformMultiLocation, send, transferMoonbeamEvm, transferMoonbeamToEth, transferRelayToPara, transformMultiLocation, validateAddress, verifyEdOnDestination };
10219
+ export { AssetClaimBuilder, BatchMode, BridgeHaltedError, Builder, DRY_RUN_CLIENT_TIMEOUT_MS, DryRunFailedError, ETHEREUM_JUNCTION, ETH_CHAIN_ID, GeneralBuilder, IncompatibleNodesError, InvalidAddressError, InvalidParameterError, NoXCMSupportImplementedError, NodeNotSupportedError, PolkadotXcmError, ScenarioNotSupportedError, TX_CLIENT_TIMEOUT_MS, TransferToAhNotSupported, UnableToComputeError, XTokensError, addXcmVersionHeader, assertAddressIsString, assertToIsString, blake2b256, blake2b512, claimAssets, computeFeeFromDryRun, computeFeeFromDryRunPjs, convertSs58, createApiInstanceForNode, createBeneficiary, createBeneficiaryMultiLocation, createVersionedBeneficiary, createX1Payload, deriveAccountId, determineRelayChain, dryRun, dryRunOrigin, encodeSs58, getAssetBalance, getAssetBalanceInternal, getBalanceForeign, getBalanceForeignInternal, getBalanceNative, getBalanceNativeInternal, getBridgeStatus, getFees, getNode, getNodeConfig, getNodeProviders, getOriginFeeDetails, getOriginFeeDetailsInternal, getOriginXcmFee, getOriginXcmFeeEstimate, getParaEthTransferFees, getParaId, getTNode, getTransferInfo, getTransferableAmount, getTransferableAmountInternal, getXcmFee, getXcmFeeEstimate, resolveModuleError, resolveParaId, reverseTransformMultiLocation, send, transferMoonbeamEvm, transferMoonbeamToEth, transferRelayToPara, transformMultiLocation, validateAddress, verifyEdOnDestination };