@paraspell/sdk-core 10.4.8 → 10.4.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +305 -342
- package/dist/index.d.ts +71 -115
- package/dist/index.mjs +305 -345
- package/package.json +4 -4
package/dist/index.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { blake2b } from '@noble/hashes/blake2';
|
|
2
|
-
import { isNodeEvm, getAssetsObject, getNativeAssetSymbol, getOtherAssets, getRelayChainSymbol,
|
|
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,
|
|
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),
|
|
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
|
|
2516
|
-
|
|
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
|
|
2537
|
-
|
|
2538
|
-
|
|
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
|
-
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
|
|
2585
|
-
|
|
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
|
-
|
|
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,
|
|
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:
|
|
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:
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
*
|
|
@@ -4708,7 +4719,7 @@ var getDestXcmFee = /*#__PURE__*/function () {
|
|
|
4708
4719
|
asset: asset,
|
|
4709
4720
|
originFee: originFee,
|
|
4710
4721
|
feeAsset: resolvedFeeAsset,
|
|
4711
|
-
amount: BigInt(currency.amount)
|
|
4722
|
+
amount: BigInt(currency.amount) < 2n ? 2n : BigInt(currency.amount)
|
|
4712
4723
|
});
|
|
4713
4724
|
case 4:
|
|
4714
4725
|
dryRunResult = _context2.v;
|
|
@@ -5801,9 +5812,9 @@ var send = /*#__PURE__*/function () {
|
|
|
5801
5812
|
finalAsset = 'multiasset' in currency ? _objectSpread2(_objectSpread2({}, resolvedAsset), {}, {
|
|
5802
5813
|
amount: 0,
|
|
5803
5814
|
assetId: '1'
|
|
5804
|
-
}) : // Ensure amount is at least
|
|
5815
|
+
}) : // Ensure amount is at least 2 to avoid Rust panic
|
|
5805
5816
|
_objectSpread2(_objectSpread2({}, resolvedAsset), {}, {
|
|
5806
|
-
amount: BigInt(currency.amount) <
|
|
5817
|
+
amount: BigInt(currency.amount) < 2n ? 2n : currency.amount
|
|
5807
5818
|
});
|
|
5808
5819
|
finalVersion = selectXcmVersion(version, originVersion, destVersion);
|
|
5809
5820
|
normalizedAsset = finalAsset.multiLocation ? _objectSpread2(_objectSpread2({}, finalAsset), {}, {
|
|
@@ -5911,7 +5922,8 @@ var ParachainNode = /*#__PURE__*/function () {
|
|
|
5911
5922
|
input = {
|
|
5912
5923
|
api: api,
|
|
5913
5924
|
asset: asset,
|
|
5914
|
-
|
|
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
|
-
|
|
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
|
-
|
|
5963
|
-
|
|
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
|
-
|
|
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
|
|
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:
|
|
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
|
|
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:
|
|
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
|
|
6440
|
-
|
|
6441
|
-
|
|
6442
|
-
|
|
6443
|
-
|
|
6444
|
-
|
|
6445
|
-
|
|
6446
|
-
|
|
6447
|
-
|
|
6448
|
-
|
|
6449
|
-
|
|
6450
|
-
|
|
6451
|
-
|
|
6452
|
-
|
|
6453
|
-
|
|
6454
|
-
|
|
6455
|
-
|
|
6456
|
-
|
|
6457
|
-
|
|
6458
|
-
|
|
6459
|
-
|
|
6460
|
-
|
|
6461
|
-
|
|
6462
|
-
|
|
6463
|
-
|
|
6464
|
-
|
|
6465
|
-
|
|
6466
|
-
|
|
6467
|
-
|
|
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
|
|
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
|
|
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
|
|
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:
|
|
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
|
-
|
|
7027
|
-
|
|
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
|
-
|
|
7032
|
+
multiAsset: createMultiAsset(version, asset.amount, asset.multiLocation)
|
|
7036
7033
|
});
|
|
7037
|
-
return
|
|
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
|
-
|
|
7041
|
-
|
|
7037
|
+
destLocation: createBridgeDestination(targetChain, destination, paraIdTo),
|
|
7038
|
+
multiAsset: createMultiAsset(version, asset.amount, DOT_MULTILOCATION)
|
|
7042
7039
|
});
|
|
7043
|
-
return
|
|
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
|
-
|
|
7173
|
-
|
|
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
|
-
|
|
7178
|
+
multiAsset: createMultiAsset(version, asset.amount, asset.multiLocation)
|
|
7182
7179
|
});
|
|
7183
|
-
return _context2.a(2,
|
|
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
|
-
|
|
7213
|
-
|
|
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
|
-
|
|
7218
|
+
multiAsset: createMultiAsset(version, asset.amount, customMultiLocation)
|
|
7222
7219
|
});
|
|
7223
|
-
return
|
|
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
|
-
|
|
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,
|
|
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
|
|
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
|
|
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
|
|
7604
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
8132
|
-
return
|
|
8133
|
-
|
|
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,
|
|
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:
|
|
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
|
|
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
|
|
8684
|
-
|
|
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
|
|
8752
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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("
|
|
9018
|
+
throw new NodeNotSupportedError("Pallet XTransfer does not support transfering to ".concat(destNode, "."));
|
|
9021
9019
|
};
|
|
9022
9020
|
|
|
9023
|
-
var
|
|
9024
|
-
var
|
|
9025
|
-
|
|
9026
|
-
|
|
9027
|
-
|
|
9028
|
-
|
|
9029
|
-
|
|
9030
|
-
|
|
9031
|
-
|
|
9032
|
-
|
|
9033
|
-
|
|
9034
|
-
|
|
9035
|
-
|
|
9036
|
-
|
|
9037
|
-
|
|
9038
|
-
|
|
9039
|
-
|
|
9040
|
-
};
|
|
9041
|
-
|
|
9042
|
-
|
|
9043
|
-
|
|
9044
|
-
|
|
9045
|
-
|
|
9046
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 };
|