@paraspell/sdk-core 10.4.2 → 10.4.4

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, findAsset, isOverrideMultiLocationSpecifier, findAssetByMultiLocation, isTMultiAsset, getExistentialDeposit, isAssetEqual, findAssetOnDestOrThrow, normalizeSymbol, getExistentialDepositOrThrow, hasDryRunSupport, hasSupportForAsset, extractMultiAssetLoc, isSymbolSpecifier, getAssetId } from '@paraspell/assets';
2
+ import { isNodeEvm, getAssetsObject, getNativeAssetSymbol, getOtherAssets, getRelayChainSymbol, InvalidCurrencyError, isForeignAsset, findAssetForNodeOrThrow, findAsset, isOverrideMultiLocationSpecifier, findAssetByMultiLocation, isTMultiAsset, getExistentialDeposit, isAssetEqual, findAssetOnDestOrThrow, normalizeSymbol, getExistentialDepositOrThrow, 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, isTMultiLocation, isRelayChain, NODE_NAMES_DOT_KSM, hasJunction, deepEqual, isDotKsmBridge } from '@paraspell/sdk-common';
6
+ import { Parents, Version, isTMultiLocation, isRelayChain, 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';
@@ -2017,83 +2017,6 @@ var getParaId = function getParaId(node) {
2017
2017
  return getNodeConfig(node).paraId;
2018
2018
  };
2019
2019
 
2020
- /**
2021
- * The options for the batch builder.
2022
- */
2023
- var BatchMode;
2024
- (function (BatchMode) {
2025
- /**
2026
- * Does not commit if one of the calls in the batch fails.
2027
- */
2028
- BatchMode["BATCH_ALL"] = "BATCH_ALL";
2029
- /**
2030
- * Commits each successful call regardless if a call fails.
2031
- */
2032
- BatchMode["BATCH"] = "BATCH";
2033
- })(BatchMode || (BatchMode = {}));
2034
-
2035
- var XTokensError;
2036
- (function (XTokensError) {
2037
- XTokensError["AssetHasNoReserve"] = "AssetHasNoReserve";
2038
- XTokensError["NotCrossChainTransfer"] = "NotCrossChainTransfer";
2039
- XTokensError["InvalidDest"] = "InvalidDest";
2040
- XTokensError["NotCrossChainTransferableCurrency"] = "NotCrossChainTransferableCurrency";
2041
- XTokensError["UnweighableMessage"] = "UnweighableMessage";
2042
- XTokensError["XcmExecutionFailed"] = "XcmExecutionFailed";
2043
- XTokensError["CannotReanchor"] = "CannotReanchor";
2044
- XTokensError["InvalidAncestry"] = "InvalidAncestry";
2045
- XTokensError["InvalidAsset"] = "InvalidAsset";
2046
- XTokensError["DestinationNotInvertible"] = "DestinationNotInvertible";
2047
- XTokensError["BadVersion"] = "BadVersion";
2048
- XTokensError["DistinctReserveForAssetAndFee"] = "DistinctReserveForAssetAndFee";
2049
- XTokensError["ZeroFee"] = "ZeroFee";
2050
- XTokensError["ZeroAmount"] = "ZeroAmount";
2051
- XTokensError["TooManyAssetsBeingSent"] = "TooManyAssetsBeingSent";
2052
- XTokensError["AssetIndexNonExistent"] = "AssetIndexNonExistent";
2053
- XTokensError["FeeNotEnough"] = "FeeNotEnough";
2054
- XTokensError["NotSupportedLocation"] = "NotSupportedLocation";
2055
- XTokensError["MinXcmFeeNotDefined"] = "MinXcmFeeNotDefined";
2056
- XTokensError["RateLimited"] = "RateLimited";
2057
- })(XTokensError || (XTokensError = {}));
2058
- var PolkadotXcmError;
2059
- (function (PolkadotXcmError) {
2060
- PolkadotXcmError["Unreachable"] = "Unreachable";
2061
- PolkadotXcmError["SendFailure"] = "SendFailure";
2062
- PolkadotXcmError["Filtered"] = "Filtered";
2063
- PolkadotXcmError["UnweighableMessage"] = "UnweighableMessage";
2064
- PolkadotXcmError["DestinationNotInvertible"] = "DestinationNotInvertible";
2065
- PolkadotXcmError["Empty"] = "Empty";
2066
- PolkadotXcmError["CannotReanchor"] = "CannotReanchor";
2067
- PolkadotXcmError["TooManyAssets"] = "TooManyAssets";
2068
- PolkadotXcmError["InvalidOrigin"] = "InvalidOrigin";
2069
- PolkadotXcmError["BadVersion"] = "BadVersion";
2070
- PolkadotXcmError["BadLocation"] = "BadLocation";
2071
- PolkadotXcmError["NoSubscription"] = "NoSubscription";
2072
- PolkadotXcmError["AlreadySubscribed"] = "AlreadySubscribed";
2073
- PolkadotXcmError["CannotCheckOutTeleport"] = "CannotCheckOutTeleport";
2074
- PolkadotXcmError["LowBalance"] = "LowBalance";
2075
- PolkadotXcmError["TooManyLocks"] = "TooManyLocks";
2076
- PolkadotXcmError["AccountNotSovereign"] = "AccountNotSovereign";
2077
- PolkadotXcmError["FeesNotMet"] = "FeesNotMet";
2078
- PolkadotXcmError["LockNotFound"] = "LockNotFound";
2079
- PolkadotXcmError["InUse"] = "InUse";
2080
- PolkadotXcmError["REMOVED"] = "REMOVED";
2081
- PolkadotXcmError["InvalidAssetUnknownReserve"] = "InvalidAssetUnknownReserve";
2082
- PolkadotXcmError["InvalidAssetUnsupportedReserve"] = "InvalidAssetUnsupportedReserve";
2083
- PolkadotXcmError["TooManyReserves"] = "TooManyReserves";
2084
- PolkadotXcmError["LocalExecutionIncomplete"] = "LocalExecutionIncomplete";
2085
- })(PolkadotXcmError || (PolkadotXcmError = {}));
2086
-
2087
- /**
2088
- * The XCM version.
2089
- */
2090
- var Version;
2091
- (function (Version) {
2092
- Version["V3"] = "V3";
2093
- Version["V4"] = "V4";
2094
- Version["V5"] = "V5";
2095
- })(Version || (Version = {}));
2096
-
2097
2020
  var createApiInstanceForNode = /*#__PURE__*/function () {
2098
2021
  var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(api, node) {
2099
2022
  var wsUrl;
@@ -2111,10 +2034,10 @@ var createApiInstanceForNode = /*#__PURE__*/function () {
2111
2034
  }();
2112
2035
 
2113
2036
  var createX1Payload = function createX1Payload(version, junction) {
2114
- return version === Version.V4 ? {
2115
- X1: [junction]
2116
- } : {
2037
+ return version === Version.V3 ? {
2117
2038
  X1: junction
2039
+ } : {
2040
+ X1: [junction]
2118
2041
  };
2119
2042
  };
2120
2043
 
@@ -2370,6 +2293,73 @@ var computeFeeFromDryRunPjs = function computeFeeFromDryRunPjs(dryRun, node, exe
2370
2293
  return totalDeliveryFees + executionFee;
2371
2294
  };
2372
2295
 
2296
+ /**
2297
+ * The options for the batch builder.
2298
+ */
2299
+ var BatchMode;
2300
+ (function (BatchMode) {
2301
+ /**
2302
+ * Does not commit if one of the calls in the batch fails.
2303
+ */
2304
+ BatchMode["BATCH_ALL"] = "BATCH_ALL";
2305
+ /**
2306
+ * Commits each successful call regardless if a call fails.
2307
+ */
2308
+ BatchMode["BATCH"] = "BATCH";
2309
+ })(BatchMode || (BatchMode = {}));
2310
+
2311
+ var XTokensError;
2312
+ (function (XTokensError) {
2313
+ XTokensError["AssetHasNoReserve"] = "AssetHasNoReserve";
2314
+ XTokensError["NotCrossChainTransfer"] = "NotCrossChainTransfer";
2315
+ XTokensError["InvalidDest"] = "InvalidDest";
2316
+ XTokensError["NotCrossChainTransferableCurrency"] = "NotCrossChainTransferableCurrency";
2317
+ XTokensError["UnweighableMessage"] = "UnweighableMessage";
2318
+ XTokensError["XcmExecutionFailed"] = "XcmExecutionFailed";
2319
+ XTokensError["CannotReanchor"] = "CannotReanchor";
2320
+ XTokensError["InvalidAncestry"] = "InvalidAncestry";
2321
+ XTokensError["InvalidAsset"] = "InvalidAsset";
2322
+ XTokensError["DestinationNotInvertible"] = "DestinationNotInvertible";
2323
+ XTokensError["BadVersion"] = "BadVersion";
2324
+ XTokensError["DistinctReserveForAssetAndFee"] = "DistinctReserveForAssetAndFee";
2325
+ XTokensError["ZeroFee"] = "ZeroFee";
2326
+ XTokensError["ZeroAmount"] = "ZeroAmount";
2327
+ XTokensError["TooManyAssetsBeingSent"] = "TooManyAssetsBeingSent";
2328
+ XTokensError["AssetIndexNonExistent"] = "AssetIndexNonExistent";
2329
+ XTokensError["FeeNotEnough"] = "FeeNotEnough";
2330
+ XTokensError["NotSupportedLocation"] = "NotSupportedLocation";
2331
+ XTokensError["MinXcmFeeNotDefined"] = "MinXcmFeeNotDefined";
2332
+ XTokensError["RateLimited"] = "RateLimited";
2333
+ })(XTokensError || (XTokensError = {}));
2334
+ var PolkadotXcmError;
2335
+ (function (PolkadotXcmError) {
2336
+ PolkadotXcmError["Unreachable"] = "Unreachable";
2337
+ PolkadotXcmError["SendFailure"] = "SendFailure";
2338
+ PolkadotXcmError["Filtered"] = "Filtered";
2339
+ PolkadotXcmError["UnweighableMessage"] = "UnweighableMessage";
2340
+ PolkadotXcmError["DestinationNotInvertible"] = "DestinationNotInvertible";
2341
+ PolkadotXcmError["Empty"] = "Empty";
2342
+ PolkadotXcmError["CannotReanchor"] = "CannotReanchor";
2343
+ PolkadotXcmError["TooManyAssets"] = "TooManyAssets";
2344
+ PolkadotXcmError["InvalidOrigin"] = "InvalidOrigin";
2345
+ PolkadotXcmError["BadVersion"] = "BadVersion";
2346
+ PolkadotXcmError["BadLocation"] = "BadLocation";
2347
+ PolkadotXcmError["NoSubscription"] = "NoSubscription";
2348
+ PolkadotXcmError["AlreadySubscribed"] = "AlreadySubscribed";
2349
+ PolkadotXcmError["CannotCheckOutTeleport"] = "CannotCheckOutTeleport";
2350
+ PolkadotXcmError["LowBalance"] = "LowBalance";
2351
+ PolkadotXcmError["TooManyLocks"] = "TooManyLocks";
2352
+ PolkadotXcmError["AccountNotSovereign"] = "AccountNotSovereign";
2353
+ PolkadotXcmError["FeesNotMet"] = "FeesNotMet";
2354
+ PolkadotXcmError["LockNotFound"] = "LockNotFound";
2355
+ PolkadotXcmError["InUse"] = "InUse";
2356
+ PolkadotXcmError["REMOVED"] = "REMOVED";
2357
+ PolkadotXcmError["InvalidAssetUnknownReserve"] = "InvalidAssetUnknownReserve";
2358
+ PolkadotXcmError["InvalidAssetUnsupportedReserve"] = "InvalidAssetUnsupportedReserve";
2359
+ PolkadotXcmError["TooManyReserves"] = "TooManyReserves";
2360
+ PolkadotXcmError["LocalExecutionIncomplete"] = "LocalExecutionIncomplete";
2361
+ })(PolkadotXcmError || (PolkadotXcmError = {}));
2362
+
2373
2363
  var resolveModuleError = function resolveModuleError(node, error) {
2374
2364
  var palletDetails = getSupportedPalletsDetails(node).find(function (p) {
2375
2365
  return p.index === Number(error.index);
@@ -2390,29 +2380,6 @@ var resolveModuleError = function resolveModuleError(node, error) {
2390
2380
  return failureReason;
2391
2381
  };
2392
2382
 
2393
- var generateAddressMultiLocationV4 = function generateAddressMultiLocationV4(api, address) {
2394
- var isMultiLocation = _typeof(address) === 'object';
2395
- if (isMultiLocation) {
2396
- return _defineProperty({}, Version.V4, address);
2397
- }
2398
- var isEthAddress = isAddress(address);
2399
- return addXcmVersionHeader({
2400
- parents: Parents.ZERO,
2401
- interior: {
2402
- X1: [isEthAddress ? {
2403
- AccountKey20: {
2404
- key: address
2405
- }
2406
- } : {
2407
- AccountId32: {
2408
- id: api.accountToHex(address),
2409
- network: null
2410
- }
2411
- }]
2412
- }
2413
- }, Version.V4);
2414
- };
2415
-
2416
2383
  var getFees = function getFees(scenario) {
2417
2384
  if (scenario === 'ParaToRelay') {
2418
2385
  return 4600000000;
@@ -2532,7 +2499,7 @@ var constructRelayToParaParameters = function constructRelayToParaParameters(_re
2532
2499
  };
2533
2500
 
2534
2501
  var createMultiAsset = function createMultiAsset(version, amount, multiLocation) {
2535
- if (version === Version.V4) {
2502
+ if (version === Version.V4 || version === Version.V5) {
2536
2503
  return {
2537
2504
  id: multiLocation,
2538
2505
  fun: {
@@ -3469,13 +3436,14 @@ var transferMoonbeamEvm = /*#__PURE__*/function () {
3469
3436
  };
3470
3437
  }();
3471
3438
 
3472
- var createCustomXcmOnDest = function createCustomXcmOnDest(_ref, origin, version, messageId) {
3439
+ var createCustomXcmOnDest = function createCustomXcmOnDest(_ref, origin, messageId) {
3473
3440
  var api = _ref.api,
3474
3441
  address = _ref.address,
3475
3442
  asset = _ref.asset,
3476
3443
  scenario = _ref.scenario,
3477
3444
  senderAddress = _ref.senderAddress,
3478
- ahAddress = _ref.ahAddress;
3445
+ ahAddress = _ref.ahAddress,
3446
+ version = _ref.version;
3479
3447
  if (!isForeignAsset(asset)) {
3480
3448
  throw new InvalidCurrencyError("Asset ".concat(JSON.stringify(asset), " is not a foreign asset"));
3481
3449
  }
@@ -3782,7 +3750,9 @@ var transferMoonbeamToEth = /*#__PURE__*/function () {
3782
3750
  ahAddress: ahAddress,
3783
3751
  asset: _objectSpread2(_objectSpread2({}, foundAsset), {}, {
3784
3752
  amount: currency.amount
3785
- })}, from, Version.V4, messageId);
3753
+ }),
3754
+ version: Version.V4
3755
+ }, from, messageId);
3786
3756
  _context.n = 12;
3787
3757
  return api.objectToHex(customXcm, 'XcmVersionedXcm');
3788
3758
  case 12:
@@ -5631,7 +5601,7 @@ var validateAssetSupport = function validateAssetSupport(_ref, assetCheckEnabled
5631
5601
  destination = _ref.to,
5632
5602
  currency = _ref.currency;
5633
5603
  var isDestAssetHub = destination === 'AssetHubPolkadot' || destination === 'AssetHubKusama';
5634
- var allowedChainsToAh = ['BifrostPolkadot', 'BifrostKusama', 'Hydration', 'Moonbeam', 'Ajuna', 'Polimec'];
5604
+ var allowedChainsToAh = ['AssetHubPolkadot', 'BifrostPolkadot', 'BifrostKusama', 'Hydration', 'Moonbeam', 'Ajuna', 'Polimec'];
5635
5605
  if (!isRelayChain(origin) && !isBridge && isDestAssetHub && !allowedChainsToAh.includes(origin) && (asset === null || asset === void 0 ? void 0 : asset.symbol) === 'DOT') {
5636
5606
  throw new TransferToAhNotSupported("Node ".concat(origin, " does not support DOT transfer to AssetHub"));
5637
5607
  }
@@ -5710,6 +5680,17 @@ var resolveOverriddenAsset = function resolveOverriddenAsset(options, isBridge,
5710
5680
  return undefined;
5711
5681
  };
5712
5682
 
5683
+ var selectXcmVersion = function selectXcmVersion(forcedVersion, originVersion, destMaxVersion) {
5684
+ if (forcedVersion) {
5685
+ return forcedVersion;
5686
+ }
5687
+ var destVersion = destMaxVersion !== null && destMaxVersion !== void 0 ? destMaxVersion : originVersion;
5688
+ if (originVersion === Version.V4 && destVersion === Version.V3) {
5689
+ return Version.V3;
5690
+ }
5691
+ return originVersion;
5692
+ };
5693
+
5713
5694
  var shouldPerformAssetCheck = function shouldPerformAssetCheck(origin, currency) {
5714
5695
  if (isRelayChain(origin)) return true;
5715
5696
  var hasMultiAsset = 'multiasset' in currency;
@@ -5768,7 +5749,7 @@ var validateAssetSpecifiers = function validateAssetSpecifiers(assetCheckEnabled
5768
5749
 
5769
5750
  var send = /*#__PURE__*/function () {
5770
5751
  var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(options) {
5771
- var api, origin, currency, feeAsset, address, destination, paraIdTo, version, senderAddress, ahAddress, pallet, method, isBridge, assetCheckEnabled, asset, resolvedFeeAsset, isLocalTransfer, overriddenAsset, resolvedAsset, originNode, finalAsset;
5752
+ var api, origin, currency, feeAsset, address, destination, paraIdTo, version, senderAddress, ahAddress, pallet, method, isBridge, assetCheckEnabled, asset, resolvedFeeAsset, originVersion, destVersion, resolvedVersion, isLocalTransfer, overriddenAsset, resolvedAsset, finalAsset, finalVersion, normalizedAsset;
5772
5753
  return _regenerator().w(function (_context) {
5773
5754
  while (1) switch (_context.n) {
5774
5755
  case 0:
@@ -5783,6 +5764,9 @@ var send = /*#__PURE__*/function () {
5783
5764
  asset = resolveAsset(currency, origin, destination, assetCheckEnabled);
5784
5765
  resolvedFeeAsset = feeAsset ? resolveFeeAsset(feeAsset, origin, destination, currency) : undefined;
5785
5766
  validateAssetSupport(options, assetCheckEnabled, isBridge, asset);
5767
+ originVersion = isRelayChain(origin) ? Version.V4 : getNode(origin).version;
5768
+ destVersion = !isTMultiLocation(destination) && !isRelayChain(destination) && destination !== 'Ethereum' ? getNode(destination).version : undefined;
5769
+ resolvedVersion = selectXcmVersion(version, originVersion, destVersion);
5786
5770
  if (!isRelayChain(origin)) {
5787
5771
  _context.n = 6;
5788
5772
  break;
@@ -5833,7 +5817,7 @@ var send = /*#__PURE__*/function () {
5833
5817
  amount: 'multiasset' in currency ? 0 : currency.amount
5834
5818
  }),
5835
5819
  paraIdTo: paraIdTo,
5836
- version: version,
5820
+ version: resolvedVersion,
5837
5821
  pallet: pallet,
5838
5822
  method: method
5839
5823
  }));
@@ -5846,7 +5830,6 @@ var send = /*#__PURE__*/function () {
5846
5830
  resolvedAsset = asset !== null && asset !== void 0 ? asset : {
5847
5831
  symbol: 'symbol' in currency ? currency.symbol : undefined
5848
5832
  };
5849
- originNode = getNode(origin);
5850
5833
  finalAsset = 'multiasset' in currency ? _objectSpread2(_objectSpread2({}, resolvedAsset), {}, {
5851
5834
  amount: 0,
5852
5835
  assetId: '1'
@@ -5854,16 +5837,20 @@ var send = /*#__PURE__*/function () {
5854
5837
  _objectSpread2(_objectSpread2({}, resolvedAsset), {}, {
5855
5838
  amount: BigInt(currency.amount) < 1n ? 1n : currency.amount
5856
5839
  });
5857
- return _context.a(2, originNode.transfer({
5840
+ finalVersion = selectXcmVersion(version, originVersion, destVersion);
5841
+ normalizedAsset = finalAsset.multiLocation ? _objectSpread2(_objectSpread2({}, finalAsset), {}, {
5842
+ multilocation: normalizeMultiLocation(finalAsset.multiLocation, finalVersion)
5843
+ }) : finalAsset;
5844
+ return _context.a(2, getNode(origin).transfer({
5858
5845
  api: api,
5859
- asset: finalAsset,
5846
+ asset: normalizedAsset,
5860
5847
  currency: currency,
5861
5848
  feeAsset: resolvedFeeAsset,
5862
5849
  address: address,
5863
5850
  to: destination,
5864
5851
  paraIdTo: paraIdTo,
5865
5852
  overriddenAsset: overriddenAsset,
5866
- version: version,
5853
+ version: finalVersion,
5867
5854
  senderAddress: senderAddress,
5868
5855
  ahAddress: ahAddress,
5869
5856
  pallet: pallet,
@@ -5925,7 +5912,7 @@ var ParachainNode = /*#__PURE__*/function () {
5925
5912
  key: "transfer",
5926
5913
  value: function () {
5927
5914
  var _transfer = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(options) {
5928
- var api, asset, currency, feeAsset, address, destination, paraIdTo, overriddenAsset, version, senderAddress, ahAddress, pallet, method, isRelayDestination, scenario, paraId, versionOrDefault, isLocalTransfer, isBifrostOrigin, isAssetHubDest, shouldUseMultiasset, input, _options, isEthAsset, isAHPOrigin, isAHPDest, isEthDest;
5915
+ var api, asset, currency, feeAsset, address, destination, paraIdTo, overriddenAsset, version, senderAddress, ahAddress, pallet, method, isRelayDestination, scenario, paraId, isLocalTransfer, isBifrostOrigin, isAssetHubDest, shouldUseMultiasset, input, _options, isEthAsset, isAHPOrigin, isAHPDest, isEthDest;
5929
5916
  return _regenerator().w(function (_context) {
5930
5917
  while (1) switch (_context.n) {
5931
5918
  case 0:
@@ -5939,7 +5926,6 @@ var ParachainNode = /*#__PURE__*/function () {
5939
5926
  }
5940
5927
  throw new InvalidParameterError('Sending assets to Polimec is supported only from AssetHubPolkadot and Hydration');
5941
5928
  case 1:
5942
- versionOrDefault = version !== null && version !== void 0 ? version : this.version;
5943
5929
  isLocalTransfer = this.node === destination;
5944
5930
  if (!isLocalTransfer) {
5945
5931
  _context.n = 2;
@@ -5962,14 +5948,14 @@ var ParachainNode = /*#__PURE__*/function () {
5962
5948
  scenario: scenario,
5963
5949
  pallet: 'XTokens',
5964
5950
  recipientAddress: address,
5965
- version: versionOrDefault,
5951
+ version: version,
5966
5952
  paraId: paraId
5967
5953
  }),
5968
5954
  fees: getFees(scenario),
5969
5955
  origin: this.node,
5970
5956
  scenario: scenario,
5971
5957
  paraIdTo: paraId,
5972
- version: versionOrDefault,
5958
+ version: version,
5973
5959
  destination: destination,
5974
5960
  overriddenAsset: overriddenAsset,
5975
5961
  pallet: pallet,
@@ -6005,17 +5991,17 @@ var ParachainNode = /*#__PURE__*/function () {
6005
5991
  }
6006
5992
  _options = {
6007
5993
  api: api,
6008
- header: this.createVersionedDestination(scenario, versionOrDefault, destination, paraId),
5994
+ header: this.createVersionedDestination(scenario, version, destination, paraId),
6009
5995
  addressSelection: createVersionedBeneficiary({
6010
5996
  api: api,
6011
5997
  scenario: scenario,
6012
5998
  pallet: 'PolkadotXcm',
6013
5999
  recipientAddress: address,
6014
- version: versionOrDefault,
6000
+ version: version,
6015
6001
  paraId: paraId
6016
6002
  }),
6017
6003
  address: address,
6018
- currencySelection: this.createCurrencySpec(asset.amount, scenario, versionOrDefault, asset, overriddenAsset !== undefined),
6004
+ currencySelection: this.createCurrencySpec(asset.amount, scenario, version, asset, overriddenAsset !== undefined),
6019
6005
  overriddenAsset: overriddenAsset,
6020
6006
  asset: asset,
6021
6007
  currency: currency,
@@ -6069,8 +6055,7 @@ var ParachainNode = /*#__PURE__*/function () {
6069
6055
  }, {
6070
6056
  key: "transferRelayToPara",
6071
6057
  value: function transferRelayToPara(options) {
6072
- var _options$version = options.version,
6073
- version = _options$version === void 0 ? Version.V3 : _options$version,
6058
+ var version = options.version,
6074
6059
  pallet = options.pallet,
6075
6060
  methodOverride = options.method;
6076
6061
  var _this$getRelayToParaO = this.getRelayToParaOverrides(),
@@ -6166,11 +6151,11 @@ var ParachainNode = /*#__PURE__*/function () {
6166
6151
  value: function () {
6167
6152
  var _transferEthAssetViaAH = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(input) {
6168
6153
  var _feeAsset$multiLocati;
6169
- var api, asset, scenario, _input$version, version, destination, address, senderAddress, feeAsset, paraIdTo, ethMultiAsset, PARA_TO_PARA_FEE_DOT, AH_EXECUTION_FEE_PADDED, dryRunResult, dryRunFeePadded, dest, call;
6154
+ var api, asset, scenario, version, destination, address, senderAddress, feeAsset, paraIdTo, ethMultiAsset, PARA_TO_PARA_FEE_DOT, AH_EXECUTION_FEE_PADDED, dryRunResult, dryRunFeePadded, dest, call;
6170
6155
  return _regenerator().w(function (_context2) {
6171
6156
  while (1) switch (_context2.n) {
6172
6157
  case 0:
6173
- api = input.api, asset = input.asset, scenario = input.scenario, _input$version = input.version, version = _input$version === void 0 ? Version.V4 : _input$version, destination = input.destination, address = input.address, senderAddress = input.senderAddress, feeAsset = input.feeAsset, paraIdTo = input.paraIdTo;
6158
+ api = input.api, asset = input.asset, scenario = input.scenario, version = input.version, destination = input.destination, address = input.address, senderAddress = input.senderAddress, feeAsset = input.feeAsset, paraIdTo = input.paraIdTo;
6174
6159
  if (asset.multiLocation) {
6175
6160
  _context2.n = 1;
6176
6161
  break;
@@ -6286,7 +6271,6 @@ var ParachainNode = /*#__PURE__*/function () {
6286
6271
  api,
6287
6272
  asset,
6288
6273
  scenario,
6289
- _input$version2,
6290
6274
  version,
6291
6275
  destination,
6292
6276
  address,
@@ -6310,7 +6294,7 @@ var ParachainNode = /*#__PURE__*/function () {
6310
6294
  while (1) switch (_context3.n) {
6311
6295
  case 0:
6312
6296
  useOnlyDepositInstruction = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : false;
6313
- api = input.api, asset = input.asset, scenario = input.scenario, _input$version2 = input.version, version = _input$version2 === void 0 ? Version.V4 : _input$version2, destination = input.destination, address = input.address, senderAddress = input.senderAddress, feeAsset = input.feeAsset;
6297
+ api = input.api, asset = input.asset, scenario = input.scenario, version = input.version, destination = input.destination, address = input.address, senderAddress = input.senderAddress, feeAsset = input.feeAsset;
6314
6298
  _context3.n = 1;
6315
6299
  return getBridgeStatus(api.clone());
6316
6300
  case 1:
@@ -6393,7 +6377,7 @@ var ParachainNode = /*#__PURE__*/function () {
6393
6377
  return generateMessageId(api, senderAddress, getParaId(this.node), ethAsset.assetId, address, asset.amount);
6394
6378
  case 11:
6395
6379
  messageId = _context3.v;
6396
- customXcmOnDest = createCustomXcmOnDest(input, this.node, version, messageId);
6380
+ customXcmOnDest = createCustomXcmOnDest(input, this.node, messageId);
6397
6381
  case 12:
6398
6382
  call = {
6399
6383
  module: 'PolkadotXcm',
@@ -6423,7 +6407,7 @@ var ParachainNode = /*#__PURE__*/function () {
6423
6407
  var Acala = /*#__PURE__*/function (_ParachainNode) {
6424
6408
  function Acala() {
6425
6409
  _classCallCheck(this, Acala);
6426
- return _callSuper(this, Acala, ['Acala', 'acala', 'polkadot', Version.V3]);
6410
+ return _callSuper(this, Acala, ['Acala', 'acala', 'polkadot', Version.V4]);
6427
6411
  }
6428
6412
  _inherits(Acala, _ParachainNode);
6429
6413
  return _createClass(Acala, [{
@@ -6591,7 +6575,7 @@ var Ajuna = /*#__PURE__*/function (_ParachainNode) {
6591
6575
  var Altair = /*#__PURE__*/function (_ParachainNode) {
6592
6576
  function Altair() {
6593
6577
  _classCallCheck(this, Altair);
6594
- return _callSuper(this, Altair, ['Altair', 'altair', 'kusama', Version.V3]);
6578
+ return _callSuper(this, Altair, ['Altair', 'altair', 'kusama', Version.V4]);
6595
6579
  }
6596
6580
  _inherits(Altair, _ParachainNode);
6597
6581
  return _createClass(Altair, [{
@@ -6663,7 +6647,7 @@ var Amplitude = /*#__PURE__*/function (_ParachainNode) {
6663
6647
  var AssetHubKusama = /*#__PURE__*/function (_ParachainNode) {
6664
6648
  function AssetHubKusama() {
6665
6649
  _classCallCheck(this, AssetHubKusama);
6666
- return _callSuper(this, AssetHubKusama, ['AssetHubKusama', 'KusamaAssetHub', 'kusama', Version.V3]);
6650
+ return _callSuper(this, AssetHubKusama, ['AssetHubKusama', 'KusamaAssetHub', 'kusama', Version.V4]);
6667
6651
  }
6668
6652
  _inherits(AssetHubKusama, _ParachainNode);
6669
6653
  return _createClass(AssetHubKusama, [{
@@ -6708,10 +6692,25 @@ var AssetHubKusama = /*#__PURE__*/function (_ParachainNode) {
6708
6692
  }]);
6709
6693
  }(ParachainNode);
6710
6694
 
6695
+ var createExecuteCall = function createExecuteCall(
6696
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
6697
+ xcm, maxWeight) {
6698
+ return {
6699
+ module: 'PolkadotXcm',
6700
+ method: 'execute',
6701
+ parameters: {
6702
+ message: xcm,
6703
+ max_weight: {
6704
+ ref_time: maxWeight.refTime,
6705
+ proof_size: maxWeight.proofSize
6706
+ }
6707
+ }
6708
+ };
6709
+ };
6710
+
6711
6711
  var createExecuteExchangeXcm = function createExecuteExchangeXcm(input, weight, originExecutionFee, destExecutionFee) {
6712
6712
  var api = input.api,
6713
- _input$version = input.version,
6714
- version = _input$version === void 0 ? Version.V4 : _input$version,
6713
+ version = input.version,
6715
6714
  asset = input.asset,
6716
6715
  scenario = input.scenario,
6717
6716
  destination = input.destination,
@@ -6805,15 +6804,15 @@ var createExecuteExchangeXcm = function createExecuteExchangeXcm(input, weight,
6805
6804
  return api.callTxMethod(call);
6806
6805
  };
6807
6806
 
6808
- var createExecuteXcm = function createExecuteXcm(input, weight, executionFee) {
6807
+ var createExecuteXcm = function createExecuteXcm(input, executionFee, version) {
6808
+ var _feeAsset$multiLocati;
6809
6809
  var api = input.api,
6810
- _input$version = input.version,
6811
- version = _input$version === void 0 ? Version.V4 : _input$version,
6812
6810
  asset = input.asset,
6813
6811
  scenario = input.scenario,
6814
6812
  destination = input.destination,
6815
6813
  paraIdTo = input.paraIdTo,
6816
- address = input.address;
6814
+ address = input.address,
6815
+ feeAsset = input.feeAsset;
6817
6816
  var dest = createDestination(scenario, version, destination, paraIdTo);
6818
6817
  var beneficiary = createBeneficiary({
6819
6818
  api: api,
@@ -6823,77 +6822,93 @@ var createExecuteXcm = function createExecuteXcm(input, weight, executionFee) {
6823
6822
  version: version,
6824
6823
  paraId: paraIdTo
6825
6824
  });
6826
- if (!asset.multiLocation) {
6827
- throw new InvalidParameterError("Asset ".concat(JSON.stringify(asset), " has no multiLocation"));
6825
+ if (!isForeignAsset(asset) || !asset.multiLocation || !asset.assetId) {
6826
+ throw new InvalidCurrencyError("Asset ".concat(JSON.stringify(asset), " is missing multiLocation or assetId"));
6828
6827
  }
6829
- var transformedMultiLocation = transformMultiLocation(asset.multiLocation);
6828
+ if (feeAsset && (!isForeignAsset(feeAsset) || !feeAsset.multiLocation || !feeAsset.assetId)) {
6829
+ throw new InvalidCurrencyError("Fee asset ".concat(JSON.stringify(feeAsset), " is missing multiLocation or assetId"));
6830
+ }
6831
+ var assetML = transformMultiLocation(asset.multiLocation);
6832
+ var feeML = transformMultiLocation((_feeAsset$multiLocati = feeAsset === null || feeAsset === void 0 ? void 0 : feeAsset.multiLocation) !== null && _feeAsset$multiLocati !== void 0 ? _feeAsset$multiLocati : asset.multiLocation);
6833
+ var sameFeeAsset = feeAsset && isAssetEqual(asset, feeAsset);
6830
6834
  var amountWithoutFee = BigInt(asset.amount) - executionFee;
6831
- var call = {
6832
- module: 'PolkadotXcm',
6833
- method: 'execute',
6834
- parameters: {
6835
- message: _defineProperty({}, version, [{
6836
- WithdrawAsset: [{
6837
- id: transformedMultiLocation,
6835
+ var assetsToWithdraw = [{
6836
+ assetId: asset.assetId,
6837
+ multiasset: {
6838
+ id: assetML,
6839
+ fun: {
6840
+ Fungible: BigInt(asset.amount)
6841
+ }
6842
+ }
6843
+ }];
6844
+ if (!sameFeeAsset && feeAsset !== null && feeAsset !== void 0 && feeAsset.multiLocation) {
6845
+ assetsToWithdraw.push({
6846
+ assetId: feeAsset.assetId,
6847
+ multiasset: {
6848
+ id: feeML,
6849
+ fun: {
6850
+ Fungible: executionFee
6851
+ }
6852
+ }
6853
+ });
6854
+ }
6855
+ assetsToWithdraw.sort(function (a, b) {
6856
+ return a.assetId > b.assetId ? 1 : -1;
6857
+ });
6858
+ var xcm = [{
6859
+ WithdrawAsset: assetsToWithdraw.map(function (_ref) {
6860
+ var multiasset = _ref.multiasset;
6861
+ return multiasset;
6862
+ })
6863
+ }, {
6864
+ BuyExecution: {
6865
+ fees: {
6866
+ id: feeML,
6867
+ fun: {
6868
+ Fungible: executionFee
6869
+ }
6870
+ },
6871
+ weight_limit: {
6872
+ Limited: {
6873
+ ref_time: 150n,
6874
+ proof_size: 0n
6875
+ }
6876
+ }
6877
+ }
6878
+ }, {
6879
+ DepositReserveAsset: {
6880
+ assets: {
6881
+ Definite: [{
6882
+ id: assetML,
6838
6883
  fun: {
6839
- Fungible: BigInt(asset.amount)
6884
+ Fungible: sameFeeAsset ? amountWithoutFee : BigInt(asset.amount)
6840
6885
  }
6841
6886
  }]
6842
- }, {
6887
+ },
6888
+ dest: dest,
6889
+ xcm: [{
6843
6890
  BuyExecution: {
6844
6891
  fees: {
6845
- id: transformedMultiLocation,
6892
+ id: asset.multiLocation,
6846
6893
  fun: {
6847
- Fungible: executionFee
6894
+ Fungible: sameFeeAsset ? amountWithoutFee - executionFee : BigInt(asset.amount)
6848
6895
  }
6849
6896
  },
6850
- weight_limit: {
6851
- Limited: {
6852
- ref_time: 150n,
6853
- proof_size: 0n
6854
- }
6855
- }
6897
+ weight_limit: 'Unlimited'
6856
6898
  }
6857
6899
  }, {
6858
- DepositReserveAsset: {
6900
+ DepositAsset: {
6859
6901
  assets: {
6860
- Definite: [{
6861
- id: transformedMultiLocation,
6862
- fun: {
6863
- Fungible: amountWithoutFee
6864
- }
6865
- }]
6866
- },
6867
- dest: dest,
6868
- xcm: [{
6869
- BuyExecution: {
6870
- fees: {
6871
- id: asset.multiLocation,
6872
- fun: {
6873
- Fungible: amountWithoutFee - executionFee
6874
- }
6875
- },
6876
- weight_limit: 'Unlimited'
6877
- }
6878
- }, {
6879
- DepositAsset: {
6880
- assets: {
6881
- Wild: {
6882
- AllCounted: 1
6883
- }
6884
- },
6885
- beneficiary: beneficiary
6902
+ Wild: {
6903
+ AllCounted: 1
6886
6904
  }
6887
- }]
6905
+ },
6906
+ beneficiary: beneficiary
6888
6907
  }
6889
- }]),
6890
- max_weight: {
6891
- ref_time: weight.refTime,
6892
- proof_size: weight.proofSize
6893
- }
6908
+ }]
6894
6909
  }
6895
- };
6896
- return api.callTxMethod(call);
6910
+ }];
6911
+ return addXcmVersionHeader(xcm, version);
6897
6912
  };
6898
6913
 
6899
6914
  var handleToAhTeleport = /*#__PURE__*/function () {
@@ -6987,13 +7002,12 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
6987
7002
  function AssetHubPolkadot() {
6988
7003
  var _this;
6989
7004
  _classCallCheck(this, AssetHubPolkadot);
6990
- _this = _callSuper(this, AssetHubPolkadot, ['AssetHubPolkadot', 'PolkadotAssetHub', 'polkadot', Version.V3]);
7005
+ _this = _callSuper(this, AssetHubPolkadot, ['AssetHubPolkadot', 'PolkadotAssetHub', 'polkadot', Version.V4]);
6991
7006
  _this.handleLocalReserveTransfer = function (input) {
6992
7007
  var useDOTAsFeeAsset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
6993
7008
  var api = input.api,
6994
7009
  scenario = input.scenario,
6995
- _input$version = input.version,
6996
- version = _input$version === void 0 ? Version.V4 : _input$version,
7010
+ version = input.version,
6997
7011
  destination = input.destination,
6998
7012
  asset = input.asset,
6999
7013
  paraIdTo = input.paraIdTo;
@@ -7025,42 +7039,46 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
7025
7039
  return _createClass(AssetHubPolkadot, [{
7026
7040
  key: "handleBridgeTransfer",
7027
7041
  value: function handleBridgeTransfer(input, targetChain) {
7028
- var _input$asset$symbol, _input$asset$symbol2, _input$asset$symbol3, _input$asset$symbol4;
7029
- if (targetChain === 'Kusama' && ((_input$asset$symbol = input.asset.symbol) === null || _input$asset$symbol === void 0 ? void 0 : _input$asset$symbol.toUpperCase()) === 'KSM' || targetChain === 'Polkadot' && ((_input$asset$symbol2 = input.asset.symbol) === null || _input$asset$symbol2 === void 0 ? void 0 : _input$asset$symbol2.toUpperCase()) === 'DOT') {
7030
- var overriddenVersion = Version.V4;
7031
- var customMultiLocation = {
7032
- parents: Parents.TWO,
7033
- interior: {
7034
- X1: [{
7035
- GlobalConsensus: targetChain
7036
- }]
7037
- }
7038
- };
7042
+ var _asset$symbol, _asset$symbol2, _asset$symbol3, _asset$symbol4;
7043
+ var api = input.api,
7044
+ asset = input.asset,
7045
+ destination = input.destination,
7046
+ scenario = input.scenario,
7047
+ address = input.address,
7048
+ version = input.version,
7049
+ paraIdTo = input.paraIdTo;
7050
+ 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') {
7039
7051
  var modifiedInput = _objectSpread2(_objectSpread2({}, input), {}, {
7040
- header: createBridgePolkadotXcmDest(overriddenVersion, targetChain, input.destination, input.paraIdTo),
7041
- addressSelection: generateAddressMultiLocationV4(input.api, input.address),
7042
- currencySelection: createVersionedMultiAssets(overriddenVersion, input.asset.amount, customMultiLocation)
7052
+ header: createBridgePolkadotXcmDest(version, targetChain, destination, paraIdTo),
7053
+ addressSelection: createVersionedBeneficiary({
7054
+ api: api,
7055
+ scenario: scenario,
7056
+ pallet: 'PolkadotXcm',
7057
+ recipientAddress: address,
7058
+ version: version,
7059
+ paraId: paraIdTo
7060
+ }),
7061
+ currencySelection: createVersionedMultiAssets(version, asset.amount, asset.multiLocation)
7043
7062
  });
7044
7063
  return PolkadotXCMTransferImpl.transferPolkadotXCM(modifiedInput, 'transfer_assets', 'Unlimited');
7045
- } else if (targetChain === 'Polkadot' && ((_input$asset$symbol3 = input.asset.symbol) === null || _input$asset$symbol3 === void 0 ? void 0 : _input$asset$symbol3.toUpperCase()) === 'KSM' || targetChain === 'Kusama' && ((_input$asset$symbol4 = input.asset.symbol) === null || _input$asset$symbol4 === void 0 ? void 0 : _input$asset$symbol4.toUpperCase()) === 'DOT') {
7046
- var _overriddenVersion = Version.V3;
7064
+ } 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') {
7047
7065
  var _modifiedInput = _objectSpread2(_objectSpread2({}, input), {}, {
7048
- header: createBridgePolkadotXcmDest(_overriddenVersion, targetChain, input.destination, input.paraIdTo),
7049
- currencySelection: createVersionedMultiAssets(_overriddenVersion, input.asset.amount, DOT_MULTILOCATION)
7066
+ header: createBridgePolkadotXcmDest(version, targetChain, destination, paraIdTo),
7067
+ currencySelection: createVersionedMultiAssets(version, asset.amount, DOT_MULTILOCATION)
7050
7068
  });
7051
7069
  return PolkadotXCMTransferImpl.transferPolkadotXCM(_modifiedInput, 'limited_reserve_transfer_assets', 'Unlimited');
7052
7070
  }
7053
- throw new InvalidCurrencyError("Polkadot <-> Kusama bridge does not support currency ".concat(input.asset.symbol));
7071
+ throw new InvalidCurrencyError("Polkadot <-> Kusama bridge does not support currency ".concat(asset.symbol));
7054
7072
  }
7055
7073
  }, {
7056
7074
  key: "handleEthBridgeNativeTransfer",
7057
7075
  value: function () {
7058
7076
  var _handleEthBridgeNativeTransfer = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(input) {
7059
- var api, _input$version2, version, scenario, destination, senderAddress, address, paraIdTo, asset, bridgeStatus, messageId, multiLocation, call;
7077
+ var api, version, scenario, destination, senderAddress, address, paraIdTo, asset, bridgeStatus, messageId, multiLocation, call;
7060
7078
  return _regenerator().w(function (_context) {
7061
7079
  while (1) switch (_context.n) {
7062
7080
  case 0:
7063
- api = input.api, _input$version2 = input.version, version = _input$version2 === void 0 ? Version.V4 : _input$version2, scenario = input.scenario, destination = input.destination, senderAddress = input.senderAddress, address = input.address, paraIdTo = input.paraIdTo, asset = input.asset;
7081
+ api = input.api, version = input.version, scenario = input.scenario, destination = input.destination, senderAddress = input.senderAddress, address = input.address, paraIdTo = input.paraIdTo, asset = input.asset;
7064
7082
  _context.n = 1;
7065
7083
  return getBridgeStatus(api.clone());
7066
7084
  case 1:
@@ -7143,11 +7161,11 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
7143
7161
  key: "handleEthBridgeTransfer",
7144
7162
  value: function () {
7145
7163
  var _handleEthBridgeTransfer = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(input) {
7146
- var api, scenario, destination, paraIdTo, address, asset, bridgeStatus, modifiedInput;
7164
+ var api, scenario, destination, paraIdTo, address, asset, version, bridgeStatus, modifiedInput;
7147
7165
  return _regenerator().w(function (_context2) {
7148
7166
  while (1) switch (_context2.n) {
7149
7167
  case 0:
7150
- api = input.api, scenario = input.scenario, destination = input.destination, paraIdTo = input.paraIdTo, address = input.address, asset = input.asset;
7168
+ api = input.api, scenario = input.scenario, destination = input.destination, paraIdTo = input.paraIdTo, address = input.address, asset = input.asset, version = input.version;
7151
7169
  _context2.n = 1;
7152
7170
  return getBridgeStatus(api.clone());
7153
7171
  case 1:
@@ -7186,7 +7204,7 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
7186
7204
  version: this.version,
7187
7205
  paraId: paraIdTo
7188
7206
  }),
7189
- currencySelection: createVersionedMultiAssets(Version.V3, asset.amount, asset.multiLocation)
7207
+ currencySelection: createVersionedMultiAssets(version, asset.amount, asset.multiLocation)
7190
7208
  });
7191
7209
  return _context2.a(2, PolkadotXCMTransferImpl.transferPolkadotXCM(modifiedInput, 'transfer_assets', 'Unlimited'));
7192
7210
  }
@@ -7205,8 +7223,8 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
7205
7223
  asset = input.asset,
7206
7224
  scenario = input.scenario,
7207
7225
  destination = input.destination,
7208
- paraIdTo = input.paraIdTo;
7209
- var version = Version.V3;
7226
+ paraIdTo = input.paraIdTo,
7227
+ version = input.version;
7210
7228
  var paraId = resolveParaId(paraIdTo, destination);
7211
7229
  var customMultiLocation = {
7212
7230
  parents: Parents.ONE,
@@ -7235,8 +7253,8 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
7235
7253
  value: function patchInput(input) {
7236
7254
  var asset = input.asset,
7237
7255
  destination = input.destination,
7238
- _input$version3 = input.version,
7239
- version = _input$version3 === void 0 ? this.version : _input$version3;
7256
+ _input$version = input.version,
7257
+ version = _input$version === void 0 ? this.version : _input$version;
7240
7258
  if ((destination === 'Hydration' || destination === 'Polimec' || destination === 'Moonbeam' || destination === 'BifrostPolkadot') && asset.symbol === 'DOT') {
7241
7259
  return _objectSpread2(_objectSpread2({}, input), {}, {
7242
7260
  currencySelection: createVersionedMultiAssets(version, asset.amount, DOT_MULTILOCATION)
@@ -7255,11 +7273,11 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
7255
7273
  key: "handleExecuteTransfer",
7256
7274
  value: function () {
7257
7275
  var _handleExecuteTransfer = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(input) {
7258
- var api, senderAddress, asset, feeAsset, decimals, multiplier, base, scaledMultiplier, MIN_FEE, dummyTx, dryRunResult, paddedFee;
7276
+ var api, senderAddress, asset, feeAsset, version, decimals, multiplier, base, scaledMultiplier, MIN_FEE, call, dryRunResult, paddedFee, xcm, weight;
7259
7277
  return _regenerator().w(function (_context3) {
7260
7278
  while (1) switch (_context3.n) {
7261
7279
  case 0:
7262
- api = input.api, senderAddress = input.senderAddress, asset = input.asset, feeAsset = input.feeAsset;
7280
+ api = input.api, senderAddress = input.senderAddress, asset = input.asset, feeAsset = input.feeAsset, version = input.version;
7263
7281
  if (senderAddress) {
7264
7282
  _context3.n = 1;
7265
7283
  break;
@@ -7272,11 +7290,11 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
7272
7290
  base = BigInt(Math.pow(10, decimals));
7273
7291
  scaledMultiplier = BigInt(Math.floor(multiplier * Math.pow(10, decimals)));
7274
7292
  MIN_FEE = base * scaledMultiplier / BigInt(Math.pow(10, decimals));
7275
- dummyTx = createExecuteXcm(input, MAX_WEIGHT, MIN_FEE);
7293
+ call = createExecuteCall(createExecuteXcm(input, MIN_FEE, version), MAX_WEIGHT);
7276
7294
  _context3.n = 2;
7277
7295
  return api.getDryRunCall({
7278
7296
  node: this.node,
7279
- tx: dummyTx,
7297
+ tx: api.callTxMethod(call),
7280
7298
  address: senderAddress,
7281
7299
  isFeeAsset: !!feeAsset
7282
7300
  });
@@ -7288,14 +7306,13 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
7288
7306
  }
7289
7307
  throw new DryRunFailedError(dryRunResult.failureReason);
7290
7308
  case 3:
7291
- if (dryRunResult.weight) {
7292
- _context3.n = 4;
7293
- break;
7294
- }
7295
- throw new DryRunFailedError('weight not found');
7296
- case 4:
7297
7309
  paddedFee = dryRunResult.fee * 120n / 100n;
7298
- return _context3.a(2, createExecuteXcm(input, dryRunResult.weight, paddedFee));
7310
+ xcm = createExecuteXcm(input, paddedFee, version);
7311
+ _context3.n = 4;
7312
+ return api.getXcmWeight(xcm);
7313
+ case 4:
7314
+ weight = _context3.v;
7315
+ return _context3.a(2, createExecuteCall(createExecuteXcm(input, paddedFee, version), weight));
7299
7316
  }
7300
7317
  }, _callee3, this);
7301
7318
  }));
@@ -7306,54 +7323,96 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
7306
7323
  }()
7307
7324
  }, {
7308
7325
  key: "transferPolkadotXCM",
7309
- value: function transferPolkadotXCM(input) {
7310
- var scenario = input.scenario,
7311
- asset = input.asset,
7312
- destination = input.destination,
7313
- feeAsset = input.feeAsset,
7314
- overriddenAsset = input.overriddenAsset;
7315
- if (feeAsset) {
7316
- if (overriddenAsset) {
7317
- throw new InvalidCurrencyError('Cannot use overridden multi-assets with XCM execute');
7318
- }
7319
- if (!isAssetEqual(feeAsset, asset)) {
7320
- throw new InvalidCurrencyError("Fee asset does not match transfer asset.");
7321
- }
7322
- if (normalizeSymbol(asset.symbol) === normalizeSymbol('KSM')) {
7323
- return Promise.resolve(this.handleLocalReserveTransfer(input));
7324
- }
7325
- var isNativeAsset = asset.symbol === this.getNativeAssetSymbol();
7326
- if (!isNativeAsset) {
7327
- return Promise.resolve(this.handleExecuteTransfer(input));
7328
- }
7329
- }
7330
- if (destination === 'AssetHubKusama') {
7331
- return Promise.resolve(this.handleBridgeTransfer(input, 'Kusama'));
7332
- }
7333
- if (destination === 'Ethereum') {
7334
- return Promise.resolve(this.handleEthBridgeTransfer(input));
7335
- }
7336
- if (destination === 'Mythos') {
7337
- return Promise.resolve(this.handleMythosTransfer(input));
7338
- }
7339
- var isEthereumAsset = asset.multiLocation && findAssetByMultiLocation(getOtherAssets('Ethereum'), asset.multiLocation);
7340
- if (destination === 'BifrostPolkadot' && isEthereumAsset) {
7341
- return Promise.resolve(this.handleLocalReserveTransfer(input));
7342
- }
7343
- if (isEthereumAsset) {
7344
- return Promise.resolve(this.handleLocalReserveTransfer(input, true));
7345
- }
7346
- var isSystemNode = !isTMultiLocation(destination) && SYSTEM_NODES_POLKADOT.includes(destination);
7347
- if (scenario === 'ParaToPara' && asset.symbol === 'DOT' && !isForeignAsset(asset) && destination !== 'Hydration' && destination !== 'Polimec' && destination !== 'Moonbeam' && destination !== 'BifrostPolkadot' && destination !== 'PeoplePolkadot' && destination !== 'Ajuna' && !isSystemNode) {
7348
- throw new ScenarioNotSupportedError(this.node, scenario, 'Some Parachains do not have a reserve for DOT on AssetHub. This can also include multihop transfers that have AssetHub as a hop chain and the call contains DOT. Chains that do not have a DOT reserve on AssetHub are not allowed to transfer DOT to it or through it because this transfer will result in asset loss.');
7349
- }
7350
- if (scenario === 'ParaToPara' && asset.symbol === 'KSM' && !isForeignAsset(asset)) {
7351
- throw new ScenarioNotSupportedError(this.node, scenario, 'Bridged KSM cannot currently be transfered from AssetHubPolkadot, if you are sending different KSM asset, please specify {id: <KSMID>}.');
7326
+ value: function () {
7327
+ var _transferPolkadotXCM = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(input) {
7328
+ var api, scenario, asset, destination, feeAsset, overriddenAsset, isNativeAsset, isEthereumAsset, isSystemNode, method, modifiedInput, _t, _t2;
7329
+ return _regenerator().w(function (_context4) {
7330
+ while (1) switch (_context4.n) {
7331
+ case 0:
7332
+ api = input.api, scenario = input.scenario, asset = input.asset, destination = input.destination, feeAsset = input.feeAsset, overriddenAsset = input.overriddenAsset;
7333
+ if (!feeAsset) {
7334
+ _context4.n = 4;
7335
+ break;
7336
+ }
7337
+ if (!overriddenAsset) {
7338
+ _context4.n = 1;
7339
+ break;
7340
+ }
7341
+ throw new InvalidCurrencyError('Cannot use overridden multi-assets with XCM execute');
7342
+ case 1:
7343
+ if (!(normalizeSymbol(asset.symbol) === normalizeSymbol('KSM'))) {
7344
+ _context4.n = 2;
7345
+ break;
7346
+ }
7347
+ return _context4.a(2, this.handleLocalReserveTransfer(input));
7348
+ case 2:
7349
+ isNativeAsset = asset.symbol === this.getNativeAssetSymbol();
7350
+ if (isNativeAsset) {
7351
+ _context4.n = 4;
7352
+ break;
7353
+ }
7354
+ _t = api;
7355
+ _context4.n = 3;
7356
+ return this.handleExecuteTransfer(input);
7357
+ case 3:
7358
+ _t2 = _context4.v;
7359
+ return _context4.a(2, _t.callTxMethod.call(_t, _t2));
7360
+ case 4:
7361
+ if (!(destination === 'AssetHubKusama')) {
7362
+ _context4.n = 5;
7363
+ break;
7364
+ }
7365
+ return _context4.a(2, this.handleBridgeTransfer(input, 'Kusama'));
7366
+ case 5:
7367
+ if (!(destination === 'Ethereum')) {
7368
+ _context4.n = 6;
7369
+ break;
7370
+ }
7371
+ return _context4.a(2, this.handleEthBridgeTransfer(input));
7372
+ case 6:
7373
+ if (!(destination === 'Mythos')) {
7374
+ _context4.n = 7;
7375
+ break;
7376
+ }
7377
+ return _context4.a(2, this.handleMythosTransfer(input));
7378
+ case 7:
7379
+ isEthereumAsset = asset.multiLocation && findAssetByMultiLocation(getOtherAssets('Ethereum'), asset.multiLocation);
7380
+ if (!(destination === 'BifrostPolkadot' && isEthereumAsset)) {
7381
+ _context4.n = 8;
7382
+ break;
7383
+ }
7384
+ return _context4.a(2, this.handleLocalReserveTransfer(input));
7385
+ case 8:
7386
+ if (!isEthereumAsset) {
7387
+ _context4.n = 9;
7388
+ break;
7389
+ }
7390
+ return _context4.a(2, this.handleLocalReserveTransfer(input, true));
7391
+ case 9:
7392
+ isSystemNode = !isTMultiLocation(destination) && SYSTEM_NODES_POLKADOT.includes(destination);
7393
+ if (!(scenario === 'ParaToPara' && asset.symbol === 'DOT' && !isForeignAsset(asset) && destination !== 'Hydration' && destination !== 'Polimec' && destination !== 'Moonbeam' && destination !== 'BifrostPolkadot' && destination !== 'PeoplePolkadot' && destination !== 'Ajuna' && !isSystemNode)) {
7394
+ _context4.n = 10;
7395
+ break;
7396
+ }
7397
+ throw new ScenarioNotSupportedError(this.node, scenario, 'Some Parachains do not have a reserve for DOT on AssetHub. This can also include multihop transfers that have AssetHub as a hop chain and the call contains DOT. Chains that do not have a DOT reserve on AssetHub are not allowed to transfer DOT to it or through it because this transfer will result in asset loss.');
7398
+ case 10:
7399
+ if (!(scenario === 'ParaToPara' && asset.symbol === 'KSM' && !isForeignAsset(asset))) {
7400
+ _context4.n = 11;
7401
+ break;
7402
+ }
7403
+ throw new ScenarioNotSupportedError(this.node, scenario, 'Bridged KSM cannot currently be transfered from AssetHubPolkadot, if you are sending different KSM asset, please specify {id: <KSMID>}.');
7404
+ case 11:
7405
+ method = this.getMethod(scenario, destination);
7406
+ modifiedInput = this.patchInput(input);
7407
+ return _context4.a(2, PolkadotXCMTransferImpl.transferPolkadotXCM(modifiedInput, method, 'Unlimited'));
7408
+ }
7409
+ }, _callee4, this);
7410
+ }));
7411
+ function transferPolkadotXCM(_x4) {
7412
+ return _transferPolkadotXCM.apply(this, arguments);
7352
7413
  }
7353
- var method = this.getMethod(scenario, destination);
7354
- var modifiedInput = this.patchInput(input);
7355
- return Promise.resolve(PolkadotXCMTransferImpl.transferPolkadotXCM(modifiedInput, method, 'Unlimited'));
7356
- }
7414
+ return transferPolkadotXCM;
7415
+ }()
7357
7416
  }, {
7358
7417
  key: "getRelayToParaOverrides",
7359
7418
  value: function getRelayToParaOverrides() {
@@ -7421,7 +7480,7 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
7421
7480
  var Astar = /*#__PURE__*/function (_ParachainNode) {
7422
7481
  function Astar() {
7423
7482
  _classCallCheck(this, Astar);
7424
- return _callSuper(this, Astar, ['Astar', 'astar', 'polkadot', Version.V3]);
7483
+ return _callSuper(this, Astar, ['Astar', 'astar', 'polkadot', Version.V4]);
7425
7484
  }
7426
7485
  _inherits(Astar, _ParachainNode);
7427
7486
  return _createClass(Astar, [{
@@ -7474,7 +7533,7 @@ var Astar = /*#__PURE__*/function (_ParachainNode) {
7474
7533
  var Basilisk = /*#__PURE__*/function (_ParachainNode) {
7475
7534
  function Basilisk() {
7476
7535
  _classCallCheck(this, Basilisk);
7477
- return _callSuper(this, Basilisk, ['Basilisk', 'basilisk', 'kusama', Version.V3]);
7536
+ return _callSuper(this, Basilisk, ['Basilisk', 'basilisk', 'kusama', Version.V4]);
7478
7537
  }
7479
7538
  _inherits(Basilisk, _ParachainNode);
7480
7539
  return _createClass(Basilisk, [{
@@ -7502,7 +7561,7 @@ var Basilisk = /*#__PURE__*/function (_ParachainNode) {
7502
7561
  var BifrostKusama = /*#__PURE__*/function (_ParachainNode) {
7503
7562
  function BifrostKusama() {
7504
7563
  _classCallCheck(this, BifrostKusama);
7505
- return _callSuper(this, BifrostKusama, ['BifrostKusama', 'bifrost', 'kusama', Version.V3]);
7564
+ return _callSuper(this, BifrostKusama, ['BifrostKusama', 'bifrost', 'kusama', Version.V4]);
7506
7565
  }
7507
7566
  _inherits(BifrostKusama, _ParachainNode);
7508
7567
  return _createClass(BifrostKusama, [{
@@ -7521,7 +7580,7 @@ var BifrostKusama = /*#__PURE__*/function (_ParachainNode) {
7521
7580
  var BifrostPolkadot = /*#__PURE__*/function (_ParachainNode) {
7522
7581
  function BifrostPolkadot() {
7523
7582
  _classCallCheck(this, BifrostPolkadot);
7524
- return _callSuper(this, BifrostPolkadot, ['BifrostPolkadot', 'bifrost', 'polkadot', Version.V3]);
7583
+ return _callSuper(this, BifrostPolkadot, ['BifrostPolkadot', 'bifrost', 'polkadot', Version.V4]);
7525
7584
  }
7526
7585
  _inherits(BifrostPolkadot, _ParachainNode);
7527
7586
  return _createClass(BifrostPolkadot, [{
@@ -7623,7 +7682,7 @@ var BifrostPolkadot = /*#__PURE__*/function (_ParachainNode) {
7623
7682
  var BridgeHubKusama = /*#__PURE__*/function (_ParachainNode) {
7624
7683
  function BridgeHubKusama() {
7625
7684
  _classCallCheck(this, BridgeHubKusama);
7626
- return _callSuper(this, BridgeHubKusama, ['BridgeHubKusama', 'kusamaBridgeHub', 'kusama', Version.V3]);
7685
+ return _callSuper(this, BridgeHubKusama, ['BridgeHubKusama', 'kusamaBridgeHub', 'kusama', Version.V4]);
7627
7686
  }
7628
7687
  _inherits(BridgeHubKusama, _ParachainNode);
7629
7688
  return _createClass(BridgeHubKusama, [{
@@ -7650,7 +7709,7 @@ var BridgeHubKusama = /*#__PURE__*/function (_ParachainNode) {
7650
7709
  var BridgeHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
7651
7710
  function BridgeHubPolkadot() {
7652
7711
  _classCallCheck(this, BridgeHubPolkadot);
7653
- return _callSuper(this, BridgeHubPolkadot, ['BridgeHubPolkadot', 'polkadotBridgeHub', 'polkadot', Version.V3]);
7712
+ return _callSuper(this, BridgeHubPolkadot, ['BridgeHubPolkadot', 'polkadotBridgeHub', 'polkadot', Version.V4]);
7654
7713
  }
7655
7714
  _inherits(BridgeHubPolkadot, _ParachainNode);
7656
7715
  return _createClass(BridgeHubPolkadot, [{
@@ -7677,7 +7736,7 @@ var BridgeHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
7677
7736
  var Centrifuge = /*#__PURE__*/function (_ParachainNode) {
7678
7737
  function Centrifuge() {
7679
7738
  _classCallCheck(this, Centrifuge);
7680
- return _callSuper(this, Centrifuge, ['Centrifuge', 'centrifuge', 'polkadot', Version.V3]);
7739
+ return _callSuper(this, Centrifuge, ['Centrifuge', 'centrifuge', 'polkadot', Version.V4]);
7681
7740
  }
7682
7741
  _inherits(Centrifuge, _ParachainNode);
7683
7742
  return _createClass(Centrifuge, [{
@@ -7728,7 +7787,7 @@ var Centrifuge = /*#__PURE__*/function (_ParachainNode) {
7728
7787
  var Collectives = /*#__PURE__*/function (_ParachainNode) {
7729
7788
  function Collectives() {
7730
7789
  _classCallCheck(this, Collectives);
7731
- return _callSuper(this, Collectives, ['Collectives', 'polkadotCollectives', 'polkadot', Version.V3]);
7790
+ return _callSuper(this, Collectives, ['Collectives', 'polkadotCollectives', 'polkadot', Version.V4]);
7732
7791
  }
7733
7792
  _inherits(Collectives, _ParachainNode);
7734
7793
  return _createClass(Collectives, [{
@@ -7777,7 +7836,7 @@ var ComposableFinance = /*#__PURE__*/function (_ParachainNode) {
7777
7836
  var CoretimeKusama = /*#__PURE__*/function (_ParachainNode) {
7778
7837
  function CoretimeKusama() {
7779
7838
  _classCallCheck(this, CoretimeKusama);
7780
- return _callSuper(this, CoretimeKusama, ['CoretimeKusama', 'kusamaCoretime', 'kusama', Version.V3]);
7839
+ return _callSuper(this, CoretimeKusama, ['CoretimeKusama', 'kusamaCoretime', 'kusama', Version.V4]);
7781
7840
  }
7782
7841
  _inherits(CoretimeKusama, _ParachainNode);
7783
7842
  return _createClass(CoretimeKusama, [{
@@ -7802,7 +7861,7 @@ var CoretimeKusama = /*#__PURE__*/function (_ParachainNode) {
7802
7861
  var CoretimePolkadot = /*#__PURE__*/function (_ParachainNode) {
7803
7862
  function CoretimePolkadot() {
7804
7863
  _classCallCheck(this, CoretimePolkadot);
7805
- return _callSuper(this, CoretimePolkadot, ['CoretimePolkadot', 'polkadotCoretime', 'polkadot', Version.V3]);
7864
+ return _callSuper(this, CoretimePolkadot, ['CoretimePolkadot', 'polkadotCoretime', 'polkadot', Version.V4]);
7806
7865
  }
7807
7866
  _inherits(CoretimePolkadot, _ParachainNode);
7808
7867
  return _createClass(CoretimePolkadot, [{
@@ -7826,7 +7885,7 @@ var CoretimePolkadot = /*#__PURE__*/function (_ParachainNode) {
7826
7885
  var Crab = /*#__PURE__*/function (_ParachainNode) {
7827
7886
  function Crab() {
7828
7887
  _classCallCheck(this, Crab);
7829
- return _callSuper(this, Crab, ['Crab', 'crab', 'kusama', Version.V3]);
7888
+ return _callSuper(this, Crab, ['Crab', 'crab', 'kusama', Version.V4]);
7830
7889
  }
7831
7890
  _inherits(Crab, _ParachainNode);
7832
7891
  return _createClass(Crab, [{
@@ -7977,7 +8036,7 @@ var Curio = /*#__PURE__*/function (_ParachainNode) {
7977
8036
  var Darwinia = /*#__PURE__*/function (_ParachainNode) {
7978
8037
  function Darwinia() {
7979
8038
  _classCallCheck(this, Darwinia);
7980
- return _callSuper(this, Darwinia, ['Darwinia', 'darwinia', 'polkadot', Version.V3]);
8039
+ return _callSuper(this, Darwinia, ['Darwinia', 'darwinia', 'polkadot', Version.V4]);
7981
8040
  }
7982
8041
  _inherits(Darwinia, _ParachainNode);
7983
8042
  return _createClass(Darwinia, [{
@@ -8034,7 +8093,7 @@ var Darwinia = /*#__PURE__*/function (_ParachainNode) {
8034
8093
  var Encointer = /*#__PURE__*/function (_ParachainNode) {
8035
8094
  function Encointer() {
8036
8095
  _classCallCheck(this, Encointer);
8037
- return _callSuper(this, Encointer, ['Encointer', 'encointer', 'kusama', Version.V3]);
8096
+ return _callSuper(this, Encointer, ['Encointer', 'encointer', 'kusama', Version.V4]);
8038
8097
  }
8039
8098
  _inherits(Encointer, _ParachainNode);
8040
8099
  return _createClass(Encointer, [{
@@ -8061,7 +8120,7 @@ var Encointer = /*#__PURE__*/function (_ParachainNode) {
8061
8120
  var Heima = /*#__PURE__*/function (_ParachainNode) {
8062
8121
  function Heima() {
8063
8122
  _classCallCheck(this, Heima);
8064
- return _callSuper(this, Heima, ['Heima', 'litentry', 'polkadot', Version.V3]);
8123
+ return _callSuper(this, Heima, ['Heima', 'litentry', 'polkadot', Version.V4]);
8065
8124
  }
8066
8125
  _inherits(Heima, _ParachainNode);
8067
8126
  return _createClass(Heima, [{
@@ -8127,10 +8186,8 @@ var createTypeAndThenTransfer = function createTypeAndThenTransfer(_ref, version
8127
8186
  })]),
8128
8187
  assets_transfer_type: transferType,
8129
8188
  remote_fees_id: _defineProperty({}, version, {
8130
- Concrete: {
8131
- parents: scenario === 'ParaToPara' ? Parents.ONE : Parents.ZERO,
8132
- interior: 'Here'
8133
- }
8189
+ parents: scenario === 'ParaToPara' ? Parents.ONE : Parents.ZERO,
8190
+ interior: 'Here'
8134
8191
  }),
8135
8192
  fees_transfer_type: transferType,
8136
8193
  custom_xcm_on_dest: createCustomXcmPolimec(api, address, scenario, destination, paraIdTo, version),
@@ -8152,10 +8209,8 @@ var createCustomXcmPolimec = function createCustomXcmPolimec(api, address, scena
8152
8209
  BuyExecution: {
8153
8210
  fees: {
8154
8211
  id: {
8155
- Concrete: {
8156
- parents: Parents.ONE,
8157
- interior: 'Here'
8158
- }
8212
+ parents: Parents.ONE,
8213
+ interior: 'Here'
8159
8214
  },
8160
8215
  fun: {
8161
8216
  Fungible: GAS_LIMIT
@@ -8185,7 +8240,7 @@ var createCustomXcmPolimec = function createCustomXcmPolimec(api, address, scena
8185
8240
  var Polimec = /*#__PURE__*/function (_ParachainNode) {
8186
8241
  function Polimec() {
8187
8242
  _classCallCheck(this, Polimec);
8188
- return _callSuper(this, Polimec, ['Polimec', 'polimec', 'polkadot', Version.V3]);
8243
+ return _callSuper(this, Polimec, ['Polimec', 'polimec', 'polkadot', Version.V4]);
8189
8244
  }
8190
8245
  _inherits(Polimec, _ParachainNode);
8191
8246
  return _createClass(Polimec, [{
@@ -8287,7 +8342,7 @@ var createCustomXcmAh = function createCustomXcmAh(_ref, version) {
8287
8342
  var Hydration = /*#__PURE__*/function (_ParachainNode) {
8288
8343
  function Hydration() {
8289
8344
  _classCallCheck(this, Hydration);
8290
- return _callSuper(this, Hydration, ['Hydration', 'hydradx', 'polkadot', Version.V3]);
8345
+ return _callSuper(this, Hydration, ['Hydration', 'hydradx', 'polkadot', Version.V4]);
8291
8346
  }
8292
8347
  _inherits(Hydration, _ParachainNode);
8293
8348
  return _createClass(Hydration, [{
@@ -8298,22 +8353,19 @@ var Hydration = /*#__PURE__*/function (_ParachainNode) {
8298
8353
  scenario = input.scenario,
8299
8354
  version = input.version,
8300
8355
  destination = input.destination;
8301
- var versionOrDefault = version !== null && version !== void 0 ? version : Version.V3;
8302
8356
  var call = {
8303
8357
  module: 'PolkadotXcm',
8304
8358
  method: 'transfer_assets_using_type_and_then',
8305
8359
  parameters: {
8306
- dest: this.createVersionedDestination(scenario, versionOrDefault, destination, getParaId('AssetHubPolkadot')),
8307
- assets: _defineProperty({}, versionOrDefault, [createMultiAsset(versionOrDefault, asset.amount, DOT_MULTILOCATION)]),
8360
+ dest: this.createVersionedDestination(scenario, version, destination, getParaId('AssetHubPolkadot')),
8361
+ assets: _defineProperty({}, version, [createMultiAsset(version, asset.amount, DOT_MULTILOCATION)]),
8308
8362
  assets_transfer_type: 'DestinationReserve',
8309
- remote_fees_id: _defineProperty({}, versionOrDefault, {
8310
- Concrete: {
8311
- parents: Parents.ONE,
8312
- interior: 'Here'
8313
- }
8363
+ remote_fees_id: _defineProperty({}, version, {
8364
+ parents: Parents.ONE,
8365
+ interior: 'Here'
8314
8366
  }),
8315
8367
  fees_transfer_type: 'DestinationReserve',
8316
- custom_xcm_on_dest: createCustomXcmAh(input, versionOrDefault),
8368
+ custom_xcm_on_dest: createCustomXcmAh(input, version),
8317
8369
  weight_limit: 'Unlimited'
8318
8370
  }
8319
8371
  };
@@ -8476,7 +8528,7 @@ var Interlay = /*#__PURE__*/function (_ParachainNode) {
8476
8528
  var Karura = /*#__PURE__*/function (_ParachainNode) {
8477
8529
  function Karura() {
8478
8530
  _classCallCheck(this, Karura);
8479
- return _callSuper(this, Karura, ['Karura', 'karura', 'kusama', Version.V3]);
8531
+ return _callSuper(this, Karura, ['Karura', 'karura', 'kusama', Version.V4]);
8480
8532
  }
8481
8533
  _inherits(Karura, _ParachainNode);
8482
8534
  return _createClass(Karura, [{
@@ -8500,7 +8552,7 @@ var Karura = /*#__PURE__*/function (_ParachainNode) {
8500
8552
  var KiltSpiritnet = /*#__PURE__*/function (_ParachainNode) {
8501
8553
  function KiltSpiritnet() {
8502
8554
  _classCallCheck(this, KiltSpiritnet);
8503
- return _callSuper(this, KiltSpiritnet, ['KiltSpiritnet', 'kilt', 'polkadot', Version.V3]);
8555
+ return _callSuper(this, KiltSpiritnet, ['KiltSpiritnet', 'kilt', 'polkadot', Version.V4]);
8504
8556
  }
8505
8557
  _inherits(KiltSpiritnet, _ParachainNode);
8506
8558
  return _createClass(KiltSpiritnet, [{
@@ -8622,7 +8674,7 @@ Manta.NATIVE_ASSET_ID = 1n;
8622
8674
  var Moonbeam = /*#__PURE__*/function (_ParachainNode) {
8623
8675
  function Moonbeam() {
8624
8676
  _classCallCheck(this, Moonbeam);
8625
- return _callSuper(this, Moonbeam, ['Moonbeam', 'moonbeam', 'polkadot', Version.V3]);
8677
+ return _callSuper(this, Moonbeam, ['Moonbeam', 'moonbeam', 'polkadot', Version.V4]);
8626
8678
  }
8627
8679
  _inherits(Moonbeam, _ParachainNode);
8628
8680
  return _createClass(Moonbeam, [{
@@ -8694,7 +8746,7 @@ var Moonbeam = /*#__PURE__*/function (_ParachainNode) {
8694
8746
  var Moonriver = /*#__PURE__*/function (_ParachainNode) {
8695
8747
  function Moonriver() {
8696
8748
  _classCallCheck(this, Moonriver);
8697
- return _callSuper(this, Moonriver, ['Moonriver', 'moonriver', 'kusama', Version.V3]);
8749
+ return _callSuper(this, Moonriver, ['Moonriver', 'moonriver', 'kusama', Version.V4]);
8698
8750
  }
8699
8751
  _inherits(Moonriver, _ParachainNode);
8700
8752
  return _createClass(Moonriver, [{
@@ -8745,7 +8797,7 @@ var Moonriver = /*#__PURE__*/function (_ParachainNode) {
8745
8797
  var Mythos = /*#__PURE__*/function (_ParachainNode) {
8746
8798
  function Mythos() {
8747
8799
  _classCallCheck(this, Mythos);
8748
- return _callSuper(this, Mythos, ['Mythos', 'mythos', 'polkadot', Version.V3]);
8800
+ return _callSuper(this, Mythos, ['Mythos', 'mythos', 'polkadot', Version.V4]);
8749
8801
  }
8750
8802
  _inherits(Mythos, _ParachainNode);
8751
8803
  return _createClass(Mythos, [{
@@ -8802,7 +8854,7 @@ var Mythos = /*#__PURE__*/function (_ParachainNode) {
8802
8854
  var NeuroWeb = /*#__PURE__*/function (_ParachainNode) {
8803
8855
  function NeuroWeb() {
8804
8856
  _classCallCheck(this, NeuroWeb);
8805
- return _callSuper(this, NeuroWeb, ['NeuroWeb', 'neuroweb', 'polkadot', Version.V3]);
8857
+ return _callSuper(this, NeuroWeb, ['NeuroWeb', 'neuroweb', 'polkadot', Version.V4]);
8806
8858
  }
8807
8859
  _inherits(NeuroWeb, _ParachainNode);
8808
8860
  return _createClass(NeuroWeb, [{
@@ -8816,7 +8868,7 @@ var NeuroWeb = /*#__PURE__*/function (_ParachainNode) {
8816
8868
  var Nodle = /*#__PURE__*/function (_ParachainNode) {
8817
8869
  function Nodle() {
8818
8870
  _classCallCheck(this, Nodle);
8819
- return _callSuper(this, Nodle, ['Nodle', 'nodle', 'polkadot', Version.V3]);
8871
+ return _callSuper(this, Nodle, ['Nodle', 'nodle', 'polkadot', Version.V4]);
8820
8872
  }
8821
8873
  _inherits(Nodle, _ParachainNode);
8822
8874
  return _createClass(Nodle, [{
@@ -8843,7 +8895,7 @@ var Nodle = /*#__PURE__*/function (_ParachainNode) {
8843
8895
  var Peaq = /*#__PURE__*/function (_ParachainNode) {
8844
8896
  function Peaq() {
8845
8897
  _classCallCheck(this, Peaq);
8846
- return _callSuper(this, Peaq, ['Peaq', 'peaq', 'polkadot', Version.V3]);
8898
+ return _callSuper(this, Peaq, ['Peaq', 'peaq', 'polkadot', Version.V4]);
8847
8899
  }
8848
8900
  _inherits(Peaq, _ParachainNode);
8849
8901
  return _createClass(Peaq, [{
@@ -8927,7 +8979,7 @@ var Pendulum = /*#__PURE__*/function (_ParachainNode) {
8927
8979
  var PeopleKusama = /*#__PURE__*/function (_ParachainNode) {
8928
8980
  function PeopleKusama() {
8929
8981
  _classCallCheck(this, PeopleKusama);
8930
- return _callSuper(this, PeopleKusama, ['PeopleKusama', 'kusamaPeople', 'kusama', Version.V3]);
8982
+ return _callSuper(this, PeopleKusama, ['PeopleKusama', 'kusamaPeople', 'kusama', Version.V4]);
8931
8983
  }
8932
8984
  _inherits(PeopleKusama, _ParachainNode);
8933
8985
  return _createClass(PeopleKusama, [{
@@ -8954,7 +9006,7 @@ var PeopleKusama = /*#__PURE__*/function (_ParachainNode) {
8954
9006
  var PeoplePolkadot = /*#__PURE__*/function (_ParachainNode) {
8955
9007
  function PeoplePolkadot() {
8956
9008
  _classCallCheck(this, PeoplePolkadot);
8957
- return _callSuper(this, PeoplePolkadot, ['PeoplePolkadot', 'polkadotPeople', 'polkadot', Version.V3]);
9009
+ return _callSuper(this, PeoplePolkadot, ['PeoplePolkadot', 'polkadotPeople', 'polkadot', Version.V4]);
8958
9010
  }
8959
9011
  _inherits(PeoplePolkadot, _ParachainNode);
8960
9012
  return _createClass(PeoplePolkadot, [{
@@ -9107,7 +9159,7 @@ var Phala = /*#__PURE__*/function (_ParachainNode) {
9107
9159
  var Quartz = /*#__PURE__*/function (_ParachainNode) {
9108
9160
  function Quartz() {
9109
9161
  _classCallCheck(this, Quartz);
9110
- return _callSuper(this, Quartz, ['Quartz', 'quartz', 'kusama', Version.V3]);
9162
+ return _callSuper(this, Quartz, ['Quartz', 'quartz', 'kusama', Version.V4]);
9111
9163
  }
9112
9164
  _inherits(Quartz, _ParachainNode);
9113
9165
  return _createClass(Quartz, [{
@@ -9186,7 +9238,7 @@ var RobonomicsPolkadot = /*#__PURE__*/function (_ParachainNode) {
9186
9238
  var Shiden = /*#__PURE__*/function (_ParachainNode) {
9187
9239
  function Shiden() {
9188
9240
  _classCallCheck(this, Shiden);
9189
- return _callSuper(this, Shiden, ['Shiden', 'shiden', 'kusama', Version.V3]);
9241
+ return _callSuper(this, Shiden, ['Shiden', 'shiden', 'kusama', Version.V4]);
9190
9242
  }
9191
9243
  _inherits(Shiden, _ParachainNode);
9192
9244
  return _createClass(Shiden, [{
@@ -9240,7 +9292,7 @@ var Subsocial = /*#__PURE__*/function (_ParachainNode) {
9240
9292
  var Unique = /*#__PURE__*/function (_ParachainNode) {
9241
9293
  function Unique() {
9242
9294
  _classCallCheck(this, Unique);
9243
- return _callSuper(this, Unique, ['Unique', 'unique', 'polkadot', Version.V3]);
9295
+ return _callSuper(this, Unique, ['Unique', 'unique', 'polkadot', Version.V4]);
9244
9296
  }
9245
9297
  _inherits(Unique, _ParachainNode);
9246
9298
  return _createClass(Unique, [{
@@ -9394,7 +9446,7 @@ var buildClaimAssetsInput = function buildClaimAssetsInput(_ref) {
9394
9446
  multiAssets = _ref.multiAssets,
9395
9447
  address = _ref.address,
9396
9448
  _ref$version = _ref.version,
9397
- version = _ref$version === void 0 ? Version.V3 : _ref$version;
9449
+ version = _ref$version === void 0 ? Version.V4 : _ref$version;
9398
9450
  return {
9399
9451
  assets: _defineProperty({}, version, multiAssets),
9400
9452
  beneficiary: _defineProperty({}, version, buildBeneficiaryInput(api, address))
@@ -10229,4 +10281,4 @@ var Builder = function Builder(api) {
10229
10281
  return new GeneralBuilder(api, new BatchTransactionManager());
10230
10282
  };
10231
10283
 
10232
- 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, Version, XTokensError, blake2b256, blake2b512, claimAssets, computeFeeFromDryRun, computeFeeFromDryRunPjs, convertSs58, createApiInstanceForNode, createBeneficiary, createBeneficiaryMultiLocation, createVersionedBeneficiary, createX1Payload, deriveAccountId, determineRelayChain, dryRun, dryRunOrigin, encodeSs58, generateAddressMultiLocationV4, getAssetBalance, getAssetBalanceInternal, getBalanceForeign, getBalanceForeignInternal, getBalanceNative, getBalanceNativeInternal, getBridgeStatus, getFees, getNode, getNodeConfig, getNodeProviders, getOriginFeeDetails, getOriginFeeDetailsInternal, getOriginXcmFee, getOriginXcmFeeEstimate, getParaEthTransferFees, getParaId, getTNode, getTransferInfo, getTransferableAmount, getTransferableAmountInternal, getXcmFee, getXcmFeeEstimate, replaceBigInt, resolveModuleError, resolveParaId, reverseTransformMultiLocation, send, transferMoonbeamEvm, transferMoonbeamToEth, transferRelayToPara, transformMultiLocation, validateAddress, verifyEdOnDestination };
10284
+ 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, replaceBigInt, resolveModuleError, resolveParaId, reverseTransformMultiLocation, send, transferMoonbeamEvm, transferMoonbeamToEth, transferRelayToPara, transformMultiLocation, validateAddress, verifyEdOnDestination };