@paraspell/sdk-core 11.8.5 → 11.8.6
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 +537 -245
- package/dist/index.d.ts +40 -8
- package/dist/index.mjs +539 -248
- package/package.json +11 -11
package/dist/index.cjs
CHANGED
|
@@ -771,6 +771,20 @@ var createVersionedAssets = function createVersionedAssets(version, amount, loca
|
|
|
771
771
|
return addXcmVersionHeader([asset], version);
|
|
772
772
|
};
|
|
773
773
|
|
|
774
|
+
var getCurrencySelection = function getCurrencySelection(asset) {
|
|
775
|
+
if (asset.location) return {
|
|
776
|
+
location: asset.location
|
|
777
|
+
};
|
|
778
|
+
if (assets.isForeignAsset(asset) && asset.assetId) {
|
|
779
|
+
return {
|
|
780
|
+
id: asset.assetId
|
|
781
|
+
};
|
|
782
|
+
}
|
|
783
|
+
return {
|
|
784
|
+
symbol: asset.symbol
|
|
785
|
+
};
|
|
786
|
+
};
|
|
787
|
+
|
|
774
788
|
var maybeOverrideAssets = function maybeOverrideAssets(version, amount, assets, overriddenCurrency) {
|
|
775
789
|
if (!overriddenCurrency) {
|
|
776
790
|
return assets;
|
|
@@ -908,7 +922,7 @@ var getRelayChainOf = function getRelayChainOf(chain) {
|
|
|
908
922
|
};
|
|
909
923
|
|
|
910
924
|
var AssetHubPolkadot$1 = {
|
|
911
|
-
name: "
|
|
925
|
+
name: "Asset Hub",
|
|
912
926
|
info: "PolkadotAssetHub",
|
|
913
927
|
paraId: 1000,
|
|
914
928
|
providers: [
|
|
@@ -1009,10 +1023,6 @@ var Astar$1 = {
|
|
|
1009
1023
|
name: "Astar",
|
|
1010
1024
|
endpoint: "wss://rpc.astar.network"
|
|
1011
1025
|
},
|
|
1012
|
-
{
|
|
1013
|
-
name: "Automata 1RPC",
|
|
1014
|
-
endpoint: "wss://1rpc.io/astr"
|
|
1015
|
-
},
|
|
1016
1026
|
{
|
|
1017
1027
|
name: "Blast",
|
|
1018
1028
|
endpoint: "wss://astar.public.blastapi.io"
|
|
@@ -1051,15 +1061,11 @@ var BifrostPolkadot$1 = {
|
|
|
1051
1061
|
{
|
|
1052
1062
|
name: "LiebiEU",
|
|
1053
1063
|
endpoint: "wss://eu.bifrost-polkadot-rpc.liebi.com/ws"
|
|
1054
|
-
},
|
|
1055
|
-
{
|
|
1056
|
-
name: "RadiumBlock",
|
|
1057
|
-
endpoint: "wss://bifrost.public.curie.radiumblock.co/ws"
|
|
1058
1064
|
}
|
|
1059
1065
|
]
|
|
1060
1066
|
};
|
|
1061
1067
|
var BridgeHubPolkadot$1 = {
|
|
1062
|
-
name: "
|
|
1068
|
+
name: "Bridge Hub",
|
|
1063
1069
|
info: "polkadotBridgeHub",
|
|
1064
1070
|
paraId: 1002,
|
|
1065
1071
|
providers: [
|
|
@@ -1208,16 +1214,16 @@ var Interlay$1 = {
|
|
|
1208
1214
|
};
|
|
1209
1215
|
var Heima$1 = {
|
|
1210
1216
|
name: "Heima",
|
|
1211
|
-
info: "
|
|
1217
|
+
info: "heima",
|
|
1212
1218
|
paraId: 2013,
|
|
1213
1219
|
providers: [
|
|
1214
1220
|
{
|
|
1215
1221
|
name: "Dwellir",
|
|
1216
|
-
endpoint: "wss://
|
|
1222
|
+
endpoint: "wss://heima-rpc.n.dwellir.com"
|
|
1217
1223
|
},
|
|
1218
1224
|
{
|
|
1219
|
-
name: "
|
|
1220
|
-
endpoint: "wss://rpc.
|
|
1225
|
+
name: "Heima",
|
|
1226
|
+
endpoint: "wss://rpc.heima-parachain.heima.network"
|
|
1221
1227
|
}
|
|
1222
1228
|
]
|
|
1223
1229
|
};
|
|
@@ -1642,7 +1648,7 @@ var Xode$1 = {
|
|
|
1642
1648
|
]
|
|
1643
1649
|
};
|
|
1644
1650
|
var AssetHubKusama$1 = {
|
|
1645
|
-
name: "
|
|
1651
|
+
name: "Asset Hub",
|
|
1646
1652
|
info: "KusamaAssetHub",
|
|
1647
1653
|
paraId: 1000,
|
|
1648
1654
|
providers: [
|
|
@@ -1685,7 +1691,7 @@ var AssetHubKusama$1 = {
|
|
|
1685
1691
|
]
|
|
1686
1692
|
};
|
|
1687
1693
|
var BridgeHubKusama$1 = {
|
|
1688
|
-
name: "
|
|
1694
|
+
name: "Bridge Hub",
|
|
1689
1695
|
info: "kusamaBridgeHub",
|
|
1690
1696
|
paraId: 1002,
|
|
1691
1697
|
providers: [
|
|
@@ -1987,10 +1993,6 @@ var Quartz$1 = {
|
|
|
1987
1993
|
name: "Geo Load Balancer",
|
|
1988
1994
|
endpoint: "wss://ws-quartz.unique.network"
|
|
1989
1995
|
},
|
|
1990
|
-
{
|
|
1991
|
-
name: "Unique Asia",
|
|
1992
|
-
endpoint: "wss://asia-ws-quartz.unique.network"
|
|
1993
|
-
},
|
|
1994
1996
|
{
|
|
1995
1997
|
name: "Unique Europe",
|
|
1996
1998
|
endpoint: "wss://eu-ws-quartz.unique.network"
|
|
@@ -2082,7 +2084,7 @@ var Zeitgeist$1 = {
|
|
|
2082
2084
|
]
|
|
2083
2085
|
};
|
|
2084
2086
|
var AssetHubWestend$1 = {
|
|
2085
|
-
name: "
|
|
2087
|
+
name: "Asset Hub",
|
|
2086
2088
|
info: "WestendAssetHub",
|
|
2087
2089
|
paraId: 1000,
|
|
2088
2090
|
providers: [
|
|
@@ -2105,7 +2107,7 @@ var AssetHubWestend$1 = {
|
|
|
2105
2107
|
]
|
|
2106
2108
|
};
|
|
2107
2109
|
var BridgeHubWestend$1 = {
|
|
2108
|
-
name: "
|
|
2110
|
+
name: "Bridge Hub",
|
|
2109
2111
|
info: "westendBridgeHub",
|
|
2110
2112
|
paraId: 1002,
|
|
2111
2113
|
providers: [
|
|
@@ -2195,7 +2197,7 @@ var AjunaPaseo$1 = {
|
|
|
2195
2197
|
]
|
|
2196
2198
|
};
|
|
2197
2199
|
var AssetHubPaseo$1 = {
|
|
2198
|
-
name: "
|
|
2200
|
+
name: "Asset Hub",
|
|
2199
2201
|
info: "PaseoAssetHub",
|
|
2200
2202
|
paraId: 1000,
|
|
2201
2203
|
providers: [
|
|
@@ -2233,7 +2235,7 @@ var BifrostPaseo$1 = {
|
|
|
2233
2235
|
]
|
|
2234
2236
|
};
|
|
2235
2237
|
var BridgeHubPaseo$1 = {
|
|
2236
|
-
name: "
|
|
2238
|
+
name: "Bridge Hub",
|
|
2237
2239
|
info: "PaseoBridgeHub",
|
|
2238
2240
|
paraId: 1002,
|
|
2239
2241
|
providers: [
|
|
@@ -2400,7 +2402,7 @@ var ZeitgeistPaseo$1 = {
|
|
|
2400
2402
|
]
|
|
2401
2403
|
};
|
|
2402
2404
|
var Polkadot = {
|
|
2403
|
-
name: "Polkadot",
|
|
2405
|
+
name: "Polkadot Relay",
|
|
2404
2406
|
info: "polkadot",
|
|
2405
2407
|
paraId: 0,
|
|
2406
2408
|
providers: [
|
|
@@ -2463,7 +2465,7 @@ var Polkadot = {
|
|
|
2463
2465
|
]
|
|
2464
2466
|
};
|
|
2465
2467
|
var Kusama = {
|
|
2466
|
-
name: "Kusama",
|
|
2468
|
+
name: "Kusama Relay",
|
|
2467
2469
|
info: "kusama",
|
|
2468
2470
|
paraId: 0,
|
|
2469
2471
|
providers: [
|
|
@@ -2514,7 +2516,7 @@ var Kusama = {
|
|
|
2514
2516
|
]
|
|
2515
2517
|
};
|
|
2516
2518
|
var Westend = {
|
|
2517
|
-
name: "Westend",
|
|
2519
|
+
name: "Westend Relay",
|
|
2518
2520
|
info: "westend",
|
|
2519
2521
|
paraId: 0,
|
|
2520
2522
|
providers: [
|
|
@@ -2541,7 +2543,7 @@ var Westend = {
|
|
|
2541
2543
|
]
|
|
2542
2544
|
};
|
|
2543
2545
|
var Paseo = {
|
|
2544
|
-
name: "Paseo",
|
|
2546
|
+
name: "Paseo Relay",
|
|
2545
2547
|
info: "paseo",
|
|
2546
2548
|
paraId: 0,
|
|
2547
2549
|
providers: [
|
|
@@ -3291,6 +3293,7 @@ var getAssetReserveChain = function getAssetReserveChain(chain, destChain, asset
|
|
|
3291
3293
|
Here: null
|
|
3292
3294
|
}
|
|
3293
3295
|
})) {
|
|
3296
|
+
if (relaychain === 'Paseo') return ahChain;
|
|
3294
3297
|
return CHAINS_DOT_RESERVE_AH.has(destChain) ? ahChain : relaychain;
|
|
3295
3298
|
}
|
|
3296
3299
|
return chain;
|
|
@@ -3774,49 +3777,6 @@ var getReverseTxFee = /*#__PURE__*/function () {
|
|
|
3774
3777
|
};
|
|
3775
3778
|
}();
|
|
3776
3779
|
|
|
3777
|
-
var AssetsPallet = /*#__PURE__*/function () {
|
|
3778
|
-
function AssetsPallet() {
|
|
3779
|
-
_classCallCheck(this, AssetsPallet);
|
|
3780
|
-
}
|
|
3781
|
-
return _createClass(AssetsPallet, [{
|
|
3782
|
-
key: "mint",
|
|
3783
|
-
value: function mint(address, asset, _balance, chain) {
|
|
3784
|
-
assertHasId(asset);
|
|
3785
|
-
var assetId = asset.assetId,
|
|
3786
|
-
amount = asset.amount;
|
|
3787
|
-
var id = chain === 'Astar' || chain === 'Shiden' || chain === 'Moonbeam' ? BigInt(assetId) : Number(assetId);
|
|
3788
|
-
var addr = assets.isChainEvm(chain) ? address : {
|
|
3789
|
-
Id: address
|
|
3790
|
-
};
|
|
3791
|
-
return Promise.resolve({
|
|
3792
|
-
assetStatusTx: {
|
|
3793
|
-
module: 'Assets',
|
|
3794
|
-
method: 'force_asset_status',
|
|
3795
|
-
parameters: {
|
|
3796
|
-
id: id,
|
|
3797
|
-
owner: addr,
|
|
3798
|
-
issuer: addr,
|
|
3799
|
-
admin: addr,
|
|
3800
|
-
freezer: addr,
|
|
3801
|
-
min_balance: 0n,
|
|
3802
|
-
is_sufficient: true,
|
|
3803
|
-
is_frozen: false
|
|
3804
|
-
}
|
|
3805
|
-
},
|
|
3806
|
-
balanceTx: {
|
|
3807
|
-
module: 'Assets',
|
|
3808
|
-
method: 'mint',
|
|
3809
|
-
parameters: {
|
|
3810
|
-
id: id,
|
|
3811
|
-
beneficiary: addr,
|
|
3812
|
-
amount: amount
|
|
3813
|
-
}
|
|
3814
|
-
}
|
|
3815
|
-
});
|
|
3816
|
-
}
|
|
3817
|
-
}]);
|
|
3818
|
-
}();
|
|
3819
|
-
|
|
3820
3780
|
// Inspired by Moonbeam XCM-SDK
|
|
3821
3781
|
// https://github.com/moonbeam-foundation/xcm-sdk/blob/ab835c15bf41612604b1c858d956a9f07705ed65/packages/utils/src/format/asset.ts#L1
|
|
3822
3782
|
var formatAssetIdToERC20 = function formatAssetIdToERC20(id) {
|
|
@@ -3897,7 +3857,7 @@ var getBalanceForeignPolkadotXcm = /*#__PURE__*/function () {
|
|
|
3897
3857
|
assertHasLocation(asset);
|
|
3898
3858
|
return _context.a(2, api.getBalanceForeignAssetsPallet(address, asset.location));
|
|
3899
3859
|
case 3:
|
|
3900
|
-
if (!(
|
|
3860
|
+
if (!chain.startsWith('AssetHub')) {
|
|
3901
3861
|
_context.n = 5;
|
|
3902
3862
|
break;
|
|
3903
3863
|
}
|
|
@@ -3911,7 +3871,7 @@ var getBalanceForeignPolkadotXcm = /*#__PURE__*/function () {
|
|
|
3911
3871
|
case 4:
|
|
3912
3872
|
return _context.a(2, api.getBalanceForeignAssetsPallet(address, asset.location));
|
|
3913
3873
|
case 5:
|
|
3914
|
-
return _context.a(2, api.getBalanceForeignPolkadotXcm(address, asset
|
|
3874
|
+
return _context.a(2, api.getBalanceForeignPolkadotXcm(chain, address, asset));
|
|
3915
3875
|
}
|
|
3916
3876
|
}, _callee);
|
|
3917
3877
|
}));
|
|
@@ -4239,77 +4199,6 @@ var getAssetBalance = /*#__PURE__*/function () {
|
|
|
4239
4199
|
};
|
|
4240
4200
|
}();
|
|
4241
4201
|
|
|
4242
|
-
var getOriginFeeDetailsInternal = /*#__PURE__*/function () {
|
|
4243
|
-
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref) {
|
|
4244
|
-
var _getExistentialDeposi;
|
|
4245
|
-
var api, account, accountDestination, ahAddress, currency, origin, destination, _ref$feeMarginPercent, feeMarginPercentage, tx, xcmFee, xcmFeeWithMargin, nativeBalance, existentialDeposit, sufficientForXCM;
|
|
4246
|
-
return _regenerator().w(function (_context) {
|
|
4247
|
-
while (1) switch (_context.n) {
|
|
4248
|
-
case 0:
|
|
4249
|
-
api = _ref.api, account = _ref.account, accountDestination = _ref.accountDestination, ahAddress = _ref.ahAddress, currency = _ref.currency, origin = _ref.origin, destination = _ref.destination, _ref$feeMarginPercent = _ref.feeMarginPercentage, feeMarginPercentage = _ref$feeMarginPercent === void 0 ? 10 : _ref$feeMarginPercent;
|
|
4250
|
-
_context.n = 1;
|
|
4251
|
-
return api.init(origin);
|
|
4252
|
-
case 1:
|
|
4253
|
-
_context.n = 2;
|
|
4254
|
-
return Builder(api).from(origin).to(destination).currency(currency).address(accountDestination).senderAddress(account).ahAddress(ahAddress)['buildInternal']();
|
|
4255
|
-
case 2:
|
|
4256
|
-
tx = _context.v;
|
|
4257
|
-
_context.n = 3;
|
|
4258
|
-
return api.calculateTransactionFee(tx, account);
|
|
4259
|
-
case 3:
|
|
4260
|
-
xcmFee = _context.v;
|
|
4261
|
-
xcmFeeWithMargin = xcmFee + xcmFee / BigInt(feeMarginPercentage);
|
|
4262
|
-
_context.n = 4;
|
|
4263
|
-
return getBalanceNativeInternal({
|
|
4264
|
-
address: account,
|
|
4265
|
-
chain: origin,
|
|
4266
|
-
api: api
|
|
4267
|
-
});
|
|
4268
|
-
case 4:
|
|
4269
|
-
nativeBalance = _context.v;
|
|
4270
|
-
existentialDeposit = BigInt((_getExistentialDeposi = assets.getExistentialDeposit(origin)) !== null && _getExistentialDeposi !== void 0 ? _getExistentialDeposi : '0');
|
|
4271
|
-
sufficientForXCM = nativeBalance - existentialDeposit - xcmFeeWithMargin > 0;
|
|
4272
|
-
return _context.a(2, {
|
|
4273
|
-
sufficientForXCM: sufficientForXCM,
|
|
4274
|
-
xcmFee: xcmFee
|
|
4275
|
-
});
|
|
4276
|
-
}
|
|
4277
|
-
}, _callee);
|
|
4278
|
-
}));
|
|
4279
|
-
return function getOriginFeeDetailsInternal(_x) {
|
|
4280
|
-
return _ref2.apply(this, arguments);
|
|
4281
|
-
};
|
|
4282
|
-
}();
|
|
4283
|
-
var getOriginFeeDetails = /*#__PURE__*/function () {
|
|
4284
|
-
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(options) {
|
|
4285
|
-
var api;
|
|
4286
|
-
return _regenerator().w(function (_context2) {
|
|
4287
|
-
while (1) switch (_context2.p = _context2.n) {
|
|
4288
|
-
case 0:
|
|
4289
|
-
api = options.api;
|
|
4290
|
-
api.setDisconnectAllowed(false);
|
|
4291
|
-
_context2.p = 1;
|
|
4292
|
-
_context2.n = 2;
|
|
4293
|
-
return getOriginFeeDetailsInternal(options);
|
|
4294
|
-
case 2:
|
|
4295
|
-
return _context2.a(2, _context2.v);
|
|
4296
|
-
case 3:
|
|
4297
|
-
_context2.p = 3;
|
|
4298
|
-
api.setDisconnectAllowed(true);
|
|
4299
|
-
_context2.n = 4;
|
|
4300
|
-
return api.disconnect();
|
|
4301
|
-
case 4:
|
|
4302
|
-
return _context2.f(3);
|
|
4303
|
-
case 5:
|
|
4304
|
-
return _context2.a(2);
|
|
4305
|
-
}
|
|
4306
|
-
}, _callee2, null, [[1,, 3, 5]]);
|
|
4307
|
-
}));
|
|
4308
|
-
return function getOriginFeeDetails(_x2) {
|
|
4309
|
-
return _ref3.apply(this, arguments);
|
|
4310
|
-
};
|
|
4311
|
-
}();
|
|
4312
|
-
|
|
4313
4202
|
var isSufficientOrigin = /*#__PURE__*/function () {
|
|
4314
4203
|
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(api, origin, destination, senderAddress, feeNative, currency, asset, feeAsset) {
|
|
4315
4204
|
var edNative, balanceNative, isNativeAssetToOrigin, isNativeAssetToDest, isSufficientNative, balanceAsset, edAsset, isSufficientAsset;
|
|
@@ -4497,7 +4386,7 @@ var getDestXcmFee = /*#__PURE__*/function () {
|
|
|
4497
4386
|
_context2.n = 5;
|
|
4498
4387
|
break;
|
|
4499
4388
|
}
|
|
4500
|
-
|
|
4389
|
+
return _context2.a(2, 0n);
|
|
4501
4390
|
case 5:
|
|
4502
4391
|
_context2.n = 6;
|
|
4503
4392
|
return attempt(swapConfig.exchangeChain, swapConfig.currencyTo, swapConfig.amountOut);
|
|
@@ -5932,20 +5821,15 @@ var handleToAhTeleport = /*#__PURE__*/function () {
|
|
|
5932
5821
|
while (1) switch (_context.n) {
|
|
5933
5822
|
case 0:
|
|
5934
5823
|
api = input.api, destination = input.destination, address = input.address, senderAddress = input.senderAddress, asset = input.assetInfo, currency = input.currency;
|
|
5935
|
-
|
|
5936
|
-
_context.n = 1;
|
|
5937
|
-
break;
|
|
5938
|
-
}
|
|
5939
|
-
throw new InvalidParameterError('Location destination is not supported for this scenario');
|
|
5940
|
-
case 1:
|
|
5824
|
+
assertToIsString(destination, 'Location destination is not supported for AH teleport.');
|
|
5941
5825
|
if (!sdkCommon.isTLocation(address)) {
|
|
5942
|
-
_context.n =
|
|
5826
|
+
_context.n = 1;
|
|
5943
5827
|
break;
|
|
5944
5828
|
}
|
|
5945
5829
|
throw new InvalidParameterError('Location address is not supported for this scenario');
|
|
5946
|
-
case
|
|
5830
|
+
case 1:
|
|
5947
5831
|
assertSenderAddress(senderAddress);
|
|
5948
|
-
_context.n =
|
|
5832
|
+
_context.n = 2;
|
|
5949
5833
|
return dryRunInternal({
|
|
5950
5834
|
api: api,
|
|
5951
5835
|
tx: defaultTx,
|
|
@@ -5955,19 +5839,19 @@ var handleToAhTeleport = /*#__PURE__*/function () {
|
|
|
5955
5839
|
address: address,
|
|
5956
5840
|
currency: currency
|
|
5957
5841
|
});
|
|
5958
|
-
case
|
|
5842
|
+
case 2:
|
|
5959
5843
|
dryRunResult = _context.v;
|
|
5960
5844
|
if (!((_dryRunResult$destina = dryRunResult.destination) !== null && _dryRunResult$destina !== void 0 && _dryRunResult$destina.success)) {
|
|
5961
|
-
_context.n =
|
|
5845
|
+
_context.n = 3;
|
|
5962
5846
|
break;
|
|
5963
5847
|
}
|
|
5964
5848
|
return _context.a(2, defaultTx);
|
|
5965
|
-
case
|
|
5849
|
+
case 3:
|
|
5966
5850
|
// If the default tx dry run failed, we need to create execute transaction
|
|
5967
5851
|
dummyTx = createExecuteExchangeXcm(input, origin, MAX_WEIGHT,
|
|
5968
5852
|
// Enter dummy fee values just to get the dry run to pass
|
|
5969
5853
|
asset.amount, asset.amount / 2n);
|
|
5970
|
-
_context.n =
|
|
5854
|
+
_context.n = 4;
|
|
5971
5855
|
return getXcmFeeInternal({
|
|
5972
5856
|
api: api,
|
|
5973
5857
|
tx: dummyTx,
|
|
@@ -5979,7 +5863,7 @@ var handleToAhTeleport = /*#__PURE__*/function () {
|
|
|
5979
5863
|
disableFallback: false,
|
|
5980
5864
|
useRootOrigin: true
|
|
5981
5865
|
});
|
|
5982
|
-
case
|
|
5866
|
+
case 4:
|
|
5983
5867
|
feeResult = _context.v;
|
|
5984
5868
|
originExecutionFee = padFeeBy(feeResult.origin.fee, 20); // Pad by 20%
|
|
5985
5869
|
destinationExecutionFee = padFeeBy(
|
|
@@ -6202,7 +6086,7 @@ var Parachain = /*#__PURE__*/function () {
|
|
|
6202
6086
|
key: "transfer",
|
|
6203
6087
|
value: function () {
|
|
6204
6088
|
var _transfer = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(sendOptions) {
|
|
6205
|
-
var api, asset, currency, feeAsset, feeCurrency, address, destination, paraIdTo, overriddenAsset, version, senderAddress, ahAddress, pallet, method, scenario, paraId, destChain, isLocalTransfer, isRelayAsset, supportsTypeThen, useTypeAndThen, isBifrostOrigin, isJamtonOrigin, isAssetHubDest, useMultiAssets, input, options, shouldUseTeleport, isAhToOtherPara, isOtherParaToAh, isAllowedAhTransfer, isAHPOrigin, isAHPDest, isExternalAsset, isEthDest, isExternalAssetViaAh, isExternalAssetToAh, call;
|
|
6089
|
+
var api, asset, currency, feeAsset, feeCurrency, address, destination, paraIdTo, overriddenAsset, version, senderAddress, ahAddress, pallet, method, scenario, paraId, destChain, isLocalTransfer, isRelayAsset, supportsTypeThen, useTypeAndThen, isBifrostOrigin, isJamtonOrigin, isAssetHubDest, useMultiAssets, input, options, shouldUseTeleport, isAhToOtherPara, isOtherParaToAh, isAllowedAhTransfer, isAHPOrigin, isAHPDest, isExternalAsset, isEthDest, isExternalAssetViaAh, isExternalAssetToAh, call, _t;
|
|
6206
6090
|
return _regenerator().w(function (_context) {
|
|
6207
6091
|
while (1) switch (_context.n) {
|
|
6208
6092
|
case 0:
|
|
@@ -6225,7 +6109,7 @@ var Parachain = /*#__PURE__*/function () {
|
|
|
6225
6109
|
case 2:
|
|
6226
6110
|
this.throwIfTempDisabled(sendOptions, destChain);
|
|
6227
6111
|
this.throwIfCantReceive(destChain);
|
|
6228
|
-
isRelayAsset = sdkCommon.deepEqual(asset.location, RELAY_LOCATION);
|
|
6112
|
+
isRelayAsset = sdkCommon.deepEqual(asset.location, RELAY_LOCATION) && assets.isSymbolMatch(assets.getRelayChainSymbol(this.chain), asset.symbol);
|
|
6229
6113
|
_context.n = 3;
|
|
6230
6114
|
return api.hasMethod('PolkadotXcm', 'transfer_assets_using_type_and_then');
|
|
6231
6115
|
case 3:
|
|
@@ -6236,7 +6120,7 @@ var Parachain = /*#__PURE__*/function () {
|
|
|
6236
6120
|
}
|
|
6237
6121
|
throw new InvalidParameterError('Relaychain assets can only be transferred using the type-and-then method which is not supported by this chain');
|
|
6238
6122
|
case 4:
|
|
6239
|
-
useTypeAndThen = isRelayAsset && supportsTypeThen && destChain && (!sdkCommon.isTrustedChain(this.chain) || !sdkCommon.isTrustedChain(destChain));
|
|
6123
|
+
useTypeAndThen = isRelayAsset && supportsTypeThen && destChain && !feeAsset && (!sdkCommon.isTrustedChain(this.chain) || !sdkCommon.isTrustedChain(destChain));
|
|
6240
6124
|
if (!(supportsXTokens(this) && this.canUseXTokens(sendOptions) && !useTypeAndThen)) {
|
|
6241
6125
|
_context.n = 6;
|
|
6242
6126
|
break;
|
|
@@ -6283,7 +6167,7 @@ var Parachain = /*#__PURE__*/function () {
|
|
|
6283
6167
|
}));
|
|
6284
6168
|
case 7:
|
|
6285
6169
|
if (!(supportsPolkadotXCM(this) || useTypeAndThen)) {
|
|
6286
|
-
_context.n =
|
|
6170
|
+
_context.n = 16;
|
|
6287
6171
|
break;
|
|
6288
6172
|
}
|
|
6289
6173
|
options = {
|
|
@@ -6336,7 +6220,7 @@ var Parachain = /*#__PURE__*/function () {
|
|
|
6336
6220
|
isExternalAssetViaAh = isExternalAsset && !isAHPOrigin && !isAHPDest && !isEthDest && !feeAsset; // External asset - Any origin to AHP - DestinationReserve - one DepositAsset instruction
|
|
6337
6221
|
isExternalAssetToAh = isExternalAsset && isAHPDest && !isAHPOrigin && !isEthDest && !feeAsset;
|
|
6338
6222
|
if (!(isExternalAssetViaAh || isExternalAssetToAh || useTypeAndThen)) {
|
|
6339
|
-
_context.n =
|
|
6223
|
+
_context.n = 15;
|
|
6340
6224
|
break;
|
|
6341
6225
|
}
|
|
6342
6226
|
if (!(useTypeAndThen && supportsPolkadotXCM(this))) {
|
|
@@ -6346,20 +6230,33 @@ var Parachain = /*#__PURE__*/function () {
|
|
|
6346
6230
|
_context.n = 10;
|
|
6347
6231
|
return this.transferPolkadotXCM(options);
|
|
6348
6232
|
case 10:
|
|
6233
|
+
if (!isRelayAsset) {
|
|
6234
|
+
_context.n = 12;
|
|
6235
|
+
break;
|
|
6236
|
+
}
|
|
6349
6237
|
_context.n = 11;
|
|
6350
|
-
return
|
|
6238
|
+
return createTypeThenAutoReserve(this.chain, options);
|
|
6351
6239
|
case 11:
|
|
6352
|
-
|
|
6353
|
-
|
|
6240
|
+
_t = _context.v;
|
|
6241
|
+
_context.n = 14;
|
|
6242
|
+
break;
|
|
6354
6243
|
case 12:
|
|
6244
|
+
_context.n = 13;
|
|
6245
|
+
return createTypeAndThenCall(this.chain, options);
|
|
6246
|
+
case 13:
|
|
6247
|
+
_t = _context.v;
|
|
6248
|
+
case 14:
|
|
6249
|
+
call = _t;
|
|
6250
|
+
return _context.a(2, api.callTxMethod(call));
|
|
6251
|
+
case 15:
|
|
6355
6252
|
if (!supportsPolkadotXCM(this)) {
|
|
6356
|
-
_context.n =
|
|
6253
|
+
_context.n = 16;
|
|
6357
6254
|
break;
|
|
6358
6255
|
}
|
|
6359
6256
|
return _context.a(2, this.transferPolkadotXCM(options));
|
|
6360
|
-
case
|
|
6257
|
+
case 16:
|
|
6361
6258
|
throw new NoXCMSupportImplementedError(this._chain);
|
|
6362
|
-
case
|
|
6259
|
+
case 17:
|
|
6363
6260
|
return _context.a(2);
|
|
6364
6261
|
}
|
|
6365
6262
|
}, _callee, this);
|
|
@@ -6386,7 +6283,8 @@ var Parachain = /*#__PURE__*/function () {
|
|
|
6386
6283
|
if (isSendingDisabled) {
|
|
6387
6284
|
throw new InvalidParameterError("Sending from ".concat(this.chain, " is temporarily disabled"));
|
|
6388
6285
|
}
|
|
6389
|
-
var
|
|
6286
|
+
var scenario = resolveScenario(this.chain, options.to);
|
|
6287
|
+
var isReceivingDisabled = destChain && !sdkCommon.isRelayChain(destChain) && !sdkCommon.isExternalChain(destChain) && getChain(destChain).isReceivingTempDisabled(scenario);
|
|
6390
6288
|
if (isReceivingDisabled) {
|
|
6391
6289
|
throw new InvalidParameterError("Receiving on ".concat(destChain, " is temporarily disabled"));
|
|
6392
6290
|
}
|
|
@@ -6398,7 +6296,7 @@ var Parachain = /*#__PURE__*/function () {
|
|
|
6398
6296
|
}
|
|
6399
6297
|
}, {
|
|
6400
6298
|
key: "isReceivingTempDisabled",
|
|
6401
|
-
value: function isReceivingTempDisabled(
|
|
6299
|
+
value: function isReceivingTempDisabled(_scenario) {
|
|
6402
6300
|
return false;
|
|
6403
6301
|
}
|
|
6404
6302
|
}, {
|
|
@@ -6434,39 +6332,46 @@ var Parachain = /*#__PURE__*/function () {
|
|
|
6434
6332
|
key: "transferRelayToPara",
|
|
6435
6333
|
value: function () {
|
|
6436
6334
|
var _transferRelayToPara = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(options) {
|
|
6437
|
-
var api, version, pallet, assetInfo, address, destination, paraIdTo, methodOverride, _this$getRelayToParaO, method, includeFee, customMethod, paraId, destChain, scenario;
|
|
6335
|
+
var api, version, pallet, assetInfo, address, senderAddress, destination, paraIdTo, methodOverride, _this$getRelayToParaO, method, includeFee, customMethod, paraId, destChain, scenario;
|
|
6438
6336
|
return _regenerator().w(function (_context2) {
|
|
6439
6337
|
while (1) switch (_context2.n) {
|
|
6440
6338
|
case 0:
|
|
6441
|
-
api = options.api, version = options.version, pallet = options.pallet, assetInfo = options.assetInfo, address = options.address, destination = options.destination, paraIdTo = options.paraIdTo, methodOverride = options.method;
|
|
6339
|
+
api = options.api, version = options.version, pallet = options.pallet, assetInfo = options.assetInfo, address = options.address, senderAddress = options.senderAddress, destination = options.destination, paraIdTo = options.paraIdTo, methodOverride = options.method;
|
|
6442
6340
|
_this$getRelayToParaO = this.getRelayToParaOverrides(), method = _this$getRelayToParaO.method, includeFee = _this$getRelayToParaO.includeFee;
|
|
6341
|
+
if (!this.isReceivingTempDisabled('RelayToPara')) {
|
|
6342
|
+
_context2.n = 1;
|
|
6343
|
+
break;
|
|
6344
|
+
}
|
|
6345
|
+
throw new InvalidParameterError("Receiving on ".concat(this.chain, " is temporarily disabled"));
|
|
6346
|
+
case 1:
|
|
6443
6347
|
customMethod = methodOverride !== null && methodOverride !== void 0 ? methodOverride : method;
|
|
6444
6348
|
if (!(customMethod === 'transfer_assets_using_type_and_then')) {
|
|
6445
|
-
_context2.n =
|
|
6349
|
+
_context2.n = 3;
|
|
6446
6350
|
break;
|
|
6447
6351
|
}
|
|
6448
6352
|
paraId = resolveParaId(paraIdTo, destination);
|
|
6449
6353
|
destChain = resolveDestChain(this.chain, paraId);
|
|
6450
6354
|
scenario = 'RelayToPara';
|
|
6451
6355
|
if (destChain) {
|
|
6452
|
-
_context2.n =
|
|
6356
|
+
_context2.n = 2;
|
|
6453
6357
|
break;
|
|
6454
6358
|
}
|
|
6455
6359
|
throw new InvalidParameterError('Cannot override destination when using type and then transfer.');
|
|
6456
|
-
case
|
|
6457
|
-
return _context2.a(2,
|
|
6360
|
+
case 2:
|
|
6361
|
+
return _context2.a(2, createTypeThenAutoReserve(getRelayChainOf(destChain), _objectSpread2(_objectSpread2({}, options), {}, {
|
|
6458
6362
|
beneficiaryLocation: createBeneficiaryLocation({
|
|
6459
6363
|
api: api,
|
|
6460
6364
|
address: address,
|
|
6461
6365
|
version: version
|
|
6462
6366
|
}),
|
|
6367
|
+
senderAddress: senderAddress,
|
|
6463
6368
|
asset: this.createCurrencySpec(assetInfo.amount, scenario, version, assetInfo, false),
|
|
6464
6369
|
destLocation: createDestination(version, this.chain, destination, paraId),
|
|
6465
6370
|
scenario: scenario,
|
|
6466
6371
|
destChain: destChain,
|
|
6467
6372
|
paraIdTo: paraId
|
|
6468
6373
|
})));
|
|
6469
|
-
case
|
|
6374
|
+
case 3:
|
|
6470
6375
|
return _context2.a(2, {
|
|
6471
6376
|
module: pallet !== null && pallet !== void 0 ? pallet : 'XcmPallet',
|
|
6472
6377
|
method: customMethod,
|
|
@@ -7730,6 +7635,16 @@ var ComposableFinance = /*#__PURE__*/function (_Parachain) {
|
|
|
7730
7635
|
assertHasId(asset);
|
|
7731
7636
|
return transferXTokens(input, BigInt(asset.assetId));
|
|
7732
7637
|
}
|
|
7638
|
+
}, {
|
|
7639
|
+
key: "isSendingTempDisabled",
|
|
7640
|
+
value: function isSendingTempDisabled(_options) {
|
|
7641
|
+
return true;
|
|
7642
|
+
}
|
|
7643
|
+
}, {
|
|
7644
|
+
key: "isReceivingTempDisabled",
|
|
7645
|
+
value: function isReceivingTempDisabled(_scenario) {
|
|
7646
|
+
return true;
|
|
7647
|
+
}
|
|
7733
7648
|
}]);
|
|
7734
7649
|
}(Parachain);
|
|
7735
7650
|
|
|
@@ -7742,10 +7657,11 @@ var CoretimeKusama = /*#__PURE__*/function (_Parachain) {
|
|
|
7742
7657
|
return _createClass(CoretimeKusama, [{
|
|
7743
7658
|
key: "transferPolkadotXCM",
|
|
7744
7659
|
value: function transferPolkadotXCM(input) {
|
|
7745
|
-
// TESTED block hash on Rococo: 0x78ace0f1bf7cac9a42e56143321b617d98327e2750f795efb0abb833025c9082
|
|
7746
7660
|
var scenario = input.scenario;
|
|
7747
|
-
|
|
7748
|
-
|
|
7661
|
+
if (scenario === 'ParaToPara') {
|
|
7662
|
+
throw new ScenarioNotSupportedError(this.chain, scenario);
|
|
7663
|
+
}
|
|
7664
|
+
return transferPolkadotXcm(input, 'limited_teleport_assets', 'Unlimited');
|
|
7749
7665
|
}
|
|
7750
7666
|
}, {
|
|
7751
7667
|
key: "getRelayToParaOverrides",
|
|
@@ -7777,6 +7693,11 @@ var CoretimePolkadot = /*#__PURE__*/function (_Parachain) {
|
|
|
7777
7693
|
}
|
|
7778
7694
|
return transferPolkadotXcm(input, 'limited_teleport_assets', 'Unlimited');
|
|
7779
7695
|
}
|
|
7696
|
+
}, {
|
|
7697
|
+
key: "canReceiveFrom",
|
|
7698
|
+
value: function canReceiveFrom(origin) {
|
|
7699
|
+
return origin !== 'Hydration' && origin !== 'Moonbeam';
|
|
7700
|
+
}
|
|
7780
7701
|
}, {
|
|
7781
7702
|
key: "getRelayToParaOverrides",
|
|
7782
7703
|
value: function getRelayToParaOverrides() {
|
|
@@ -7944,6 +7865,16 @@ var Curio = /*#__PURE__*/function (_Parachain) {
|
|
|
7944
7865
|
};
|
|
7945
7866
|
return transferXTokens(input, currencySelection);
|
|
7946
7867
|
}
|
|
7868
|
+
}, {
|
|
7869
|
+
key: "isSendingTempDisabled",
|
|
7870
|
+
value: function isSendingTempDisabled(_options) {
|
|
7871
|
+
return true;
|
|
7872
|
+
}
|
|
7873
|
+
}, {
|
|
7874
|
+
key: "isReceivingTempDisabled",
|
|
7875
|
+
value: function isReceivingTempDisabled(_scenario) {
|
|
7876
|
+
return true;
|
|
7877
|
+
}
|
|
7947
7878
|
}]);
|
|
7948
7879
|
}(Parachain);
|
|
7949
7880
|
|
|
@@ -8066,7 +7997,7 @@ var EnergyWebXPaseo = /*#__PURE__*/function (_EnergyWebX) {
|
|
|
8066
7997
|
var Heima = /*#__PURE__*/function (_Parachain) {
|
|
8067
7998
|
function Heima() {
|
|
8068
7999
|
var chain = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'Heima';
|
|
8069
|
-
var info = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '
|
|
8000
|
+
var info = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'heima';
|
|
8070
8001
|
var ecosystem = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'Polkadot';
|
|
8071
8002
|
var version = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : sdkCommon.Version.V5;
|
|
8072
8003
|
_classCallCheck(this, Heima);
|
|
@@ -8238,6 +8169,12 @@ var Polimec = /*#__PURE__*/function (_Parachain) {
|
|
|
8238
8169
|
}
|
|
8239
8170
|
return transferPolkadotXCM;
|
|
8240
8171
|
}()
|
|
8172
|
+
}, {
|
|
8173
|
+
key: "isSendingTempDisabled",
|
|
8174
|
+
value: function isSendingTempDisabled(_ref3) {
|
|
8175
|
+
var assetInfo = _ref3.assetInfo;
|
|
8176
|
+
return assets.isSymbolMatch(assetInfo.symbol, this.getNativeAssetSymbol());
|
|
8177
|
+
}
|
|
8241
8178
|
}, {
|
|
8242
8179
|
key: "transferRelayToPara",
|
|
8243
8180
|
value: function transferRelayToPara(options) {
|
|
@@ -9174,7 +9111,17 @@ var PAssetHub = /*#__PURE__*/function (_PeoplePolkadot) {
|
|
|
9174
9111
|
return _callSuper(this, PAssetHub, ['PAssetHub', 'PAssetHub - Contracts', 'Paseo', sdkCommon.Version.V5]);
|
|
9175
9112
|
}
|
|
9176
9113
|
_inherits(PAssetHub, _PeoplePolkadot);
|
|
9177
|
-
return _createClass(PAssetHub
|
|
9114
|
+
return _createClass(PAssetHub, [{
|
|
9115
|
+
key: "isSendingTempDisabled",
|
|
9116
|
+
value: function isSendingTempDisabled(_options) {
|
|
9117
|
+
return true;
|
|
9118
|
+
}
|
|
9119
|
+
}, {
|
|
9120
|
+
key: "isReceivingTempDisabled",
|
|
9121
|
+
value: function isReceivingTempDisabled(_scenario) {
|
|
9122
|
+
return true;
|
|
9123
|
+
}
|
|
9124
|
+
}]);
|
|
9178
9125
|
}(PeoplePolkadot);
|
|
9179
9126
|
|
|
9180
9127
|
var Peaq = /*#__PURE__*/function (_Parachain) {
|
|
@@ -9199,6 +9146,16 @@ var Peaq = /*#__PURE__*/function (_Parachain) {
|
|
|
9199
9146
|
value: function transferRelayToPara() {
|
|
9200
9147
|
throw new ChainNotSupportedError();
|
|
9201
9148
|
}
|
|
9149
|
+
}, {
|
|
9150
|
+
key: "isSendingTempDisabled",
|
|
9151
|
+
value: function isSendingTempDisabled(_options) {
|
|
9152
|
+
return true;
|
|
9153
|
+
}
|
|
9154
|
+
}, {
|
|
9155
|
+
key: "isReceivingTempDisabled",
|
|
9156
|
+
value: function isReceivingTempDisabled(_scenario) {
|
|
9157
|
+
return true;
|
|
9158
|
+
}
|
|
9202
9159
|
}, {
|
|
9203
9160
|
key: "transferLocalNonNativeAsset",
|
|
9204
9161
|
value: function transferLocalNonNativeAsset(options) {
|
|
@@ -9450,8 +9407,17 @@ var RobonomicsPolkadot = /*#__PURE__*/function (_Parachain) {
|
|
|
9450
9407
|
return _createClass(RobonomicsPolkadot, [{
|
|
9451
9408
|
key: "transferPolkadotXCM",
|
|
9452
9409
|
value: function transferPolkadotXCM(input) {
|
|
9410
|
+
var scenario = input.scenario;
|
|
9411
|
+
if (scenario === 'ParaToPara') {
|
|
9412
|
+
throw new ScenarioNotSupportedError(this.chain, scenario);
|
|
9413
|
+
}
|
|
9453
9414
|
return transferPolkadotXcm(input, 'limited_reserve_transfer_assets', 'Unlimited');
|
|
9454
9415
|
}
|
|
9416
|
+
}, {
|
|
9417
|
+
key: "isReceivingTempDisabled",
|
|
9418
|
+
value: function isReceivingTempDisabled(scenario) {
|
|
9419
|
+
return scenario !== 'RelayToPara';
|
|
9420
|
+
}
|
|
9455
9421
|
}, {
|
|
9456
9422
|
key: "transferLocalNonNativeAsset",
|
|
9457
9423
|
value: function transferLocalNonNativeAsset(options) {
|
|
@@ -9525,6 +9491,16 @@ var Subsocial = /*#__PURE__*/function (_Parachain) {
|
|
|
9525
9491
|
}
|
|
9526
9492
|
return transferPolkadotXcm(input, 'limited_reserve_transfer_assets', 'Unlimited');
|
|
9527
9493
|
}
|
|
9494
|
+
}, {
|
|
9495
|
+
key: "isSendingTempDisabled",
|
|
9496
|
+
value: function isSendingTempDisabled(_options) {
|
|
9497
|
+
return true;
|
|
9498
|
+
}
|
|
9499
|
+
}, {
|
|
9500
|
+
key: "isReceivingTempDisabled",
|
|
9501
|
+
value: function isReceivingTempDisabled(_scenario) {
|
|
9502
|
+
return true;
|
|
9503
|
+
}
|
|
9528
9504
|
}]);
|
|
9529
9505
|
}(Parachain);
|
|
9530
9506
|
|
|
@@ -9607,6 +9583,11 @@ var Zeitgeist = /*#__PURE__*/function (_Parachain) {
|
|
|
9607
9583
|
var currencySelection = this.getCurrencySelection(asset);
|
|
9608
9584
|
return transferXTokens(input, currencySelection);
|
|
9609
9585
|
}
|
|
9586
|
+
}, {
|
|
9587
|
+
key: "canReceiveFrom",
|
|
9588
|
+
value: function canReceiveFrom(origin) {
|
|
9589
|
+
return origin !== 'Astar';
|
|
9590
|
+
}
|
|
9610
9591
|
}, {
|
|
9611
9592
|
key: "transferLocalNonNativeAsset",
|
|
9612
9593
|
value: function transferLocalNonNativeAsset(options) {
|
|
@@ -9910,10 +9891,17 @@ var dryRunOrigin = /*#__PURE__*/function () {
|
|
|
9910
9891
|
};
|
|
9911
9892
|
}();
|
|
9912
9893
|
|
|
9913
|
-
var
|
|
9894
|
+
var BaseAssetsPallet = /*#__PURE__*/_createClass(function BaseAssetsPallet(palletName) {
|
|
9895
|
+
_classCallCheck(this, BaseAssetsPallet);
|
|
9896
|
+
this.palletName = palletName;
|
|
9897
|
+
});
|
|
9898
|
+
|
|
9899
|
+
var AssetManagerPallet = /*#__PURE__*/function (_BaseAssetsPallet) {
|
|
9914
9900
|
function AssetManagerPallet() {
|
|
9915
9901
|
_classCallCheck(this, AssetManagerPallet);
|
|
9902
|
+
return _callSuper(this, AssetManagerPallet, arguments);
|
|
9916
9903
|
}
|
|
9904
|
+
_inherits(AssetManagerPallet, _BaseAssetsPallet);
|
|
9917
9905
|
return _createClass(AssetManagerPallet, [{
|
|
9918
9906
|
key: "mint",
|
|
9919
9907
|
value: function mint(address, asset, balance) {
|
|
@@ -9922,7 +9910,7 @@ var AssetManagerPallet = /*#__PURE__*/function () {
|
|
|
9922
9910
|
amount = asset.amount;
|
|
9923
9911
|
return Promise.resolve({
|
|
9924
9912
|
balanceTx: {
|
|
9925
|
-
module:
|
|
9913
|
+
module: this.palletName,
|
|
9926
9914
|
method: 'updateBalance',
|
|
9927
9915
|
parameters: {
|
|
9928
9916
|
who: {
|
|
@@ -9937,12 +9925,59 @@ var AssetManagerPallet = /*#__PURE__*/function () {
|
|
|
9937
9925
|
});
|
|
9938
9926
|
}
|
|
9939
9927
|
}]);
|
|
9940
|
-
}();
|
|
9928
|
+
}(BaseAssetsPallet);
|
|
9941
9929
|
|
|
9942
|
-
var
|
|
9930
|
+
var AssetsPallet = /*#__PURE__*/function (_BaseAssetsPallet) {
|
|
9931
|
+
function AssetsPallet() {
|
|
9932
|
+
_classCallCheck(this, AssetsPallet);
|
|
9933
|
+
return _callSuper(this, AssetsPallet, arguments);
|
|
9934
|
+
}
|
|
9935
|
+
_inherits(AssetsPallet, _BaseAssetsPallet);
|
|
9936
|
+
return _createClass(AssetsPallet, [{
|
|
9937
|
+
key: "mint",
|
|
9938
|
+
value: function mint(address, asset, _balance, chain) {
|
|
9939
|
+
assertHasId(asset);
|
|
9940
|
+
var assetId = asset.assetId,
|
|
9941
|
+
amount = asset.amount;
|
|
9942
|
+
var id = chain === 'Astar' || chain === 'Shiden' || chain === 'Moonbeam' ? BigInt(assetId) : Number(assetId);
|
|
9943
|
+
var addr = assets.isChainEvm(chain) ? address : {
|
|
9944
|
+
Id: address
|
|
9945
|
+
};
|
|
9946
|
+
return Promise.resolve({
|
|
9947
|
+
assetStatusTx: {
|
|
9948
|
+
module: this.palletName,
|
|
9949
|
+
method: 'force_asset_status',
|
|
9950
|
+
parameters: {
|
|
9951
|
+
id: id,
|
|
9952
|
+
owner: addr,
|
|
9953
|
+
issuer: addr,
|
|
9954
|
+
admin: addr,
|
|
9955
|
+
freezer: addr,
|
|
9956
|
+
min_balance: 0n,
|
|
9957
|
+
is_sufficient: true,
|
|
9958
|
+
is_frozen: false
|
|
9959
|
+
}
|
|
9960
|
+
},
|
|
9961
|
+
balanceTx: {
|
|
9962
|
+
module: this.palletName,
|
|
9963
|
+
method: 'mint',
|
|
9964
|
+
parameters: {
|
|
9965
|
+
id: id,
|
|
9966
|
+
beneficiary: addr,
|
|
9967
|
+
amount: amount
|
|
9968
|
+
}
|
|
9969
|
+
}
|
|
9970
|
+
});
|
|
9971
|
+
}
|
|
9972
|
+
}]);
|
|
9973
|
+
}(BaseAssetsPallet);
|
|
9974
|
+
|
|
9975
|
+
var BalancesPallet = /*#__PURE__*/function (_BaseAssetsPallet) {
|
|
9943
9976
|
function BalancesPallet() {
|
|
9944
9977
|
_classCallCheck(this, BalancesPallet);
|
|
9978
|
+
return _callSuper(this, BalancesPallet, arguments);
|
|
9945
9979
|
}
|
|
9980
|
+
_inherits(BalancesPallet, _BaseAssetsPallet);
|
|
9946
9981
|
return _createClass(BalancesPallet, [{
|
|
9947
9982
|
key: "mint",
|
|
9948
9983
|
value: function mint(address, assetInfo, balance, chain) {
|
|
@@ -9950,7 +9985,7 @@ var BalancesPallet = /*#__PURE__*/function () {
|
|
|
9950
9985
|
var notUseId = chain.startsWith('Hydration') || chain === 'Basilisk' || assets.isChainEvm(chain);
|
|
9951
9986
|
return Promise.resolve({
|
|
9952
9987
|
balanceTx: {
|
|
9953
|
-
module:
|
|
9988
|
+
module: this.palletName,
|
|
9954
9989
|
method: 'force_set_balance',
|
|
9955
9990
|
parameters: {
|
|
9956
9991
|
who: notUseId ? address : {
|
|
@@ -9962,12 +9997,14 @@ var BalancesPallet = /*#__PURE__*/function () {
|
|
|
9962
9997
|
});
|
|
9963
9998
|
}
|
|
9964
9999
|
}]);
|
|
9965
|
-
}();
|
|
10000
|
+
}(BaseAssetsPallet);
|
|
9966
10001
|
|
|
9967
|
-
var CurrenciesPallet = /*#__PURE__*/function () {
|
|
10002
|
+
var CurrenciesPallet = /*#__PURE__*/function (_BaseAssetsPallet) {
|
|
9968
10003
|
function CurrenciesPallet() {
|
|
9969
10004
|
_classCallCheck(this, CurrenciesPallet);
|
|
10005
|
+
return _callSuper(this, CurrenciesPallet, arguments);
|
|
9970
10006
|
}
|
|
10007
|
+
_inherits(CurrenciesPallet, _BaseAssetsPallet);
|
|
9971
10008
|
return _createClass(CurrenciesPallet, [{
|
|
9972
10009
|
key: "mint",
|
|
9973
10010
|
value: function mint(address, assetInfo, balance) {
|
|
@@ -9976,7 +10013,7 @@ var CurrenciesPallet = /*#__PURE__*/function () {
|
|
|
9976
10013
|
amount = assetInfo.amount;
|
|
9977
10014
|
return Promise.resolve({
|
|
9978
10015
|
balanceTx: {
|
|
9979
|
-
module:
|
|
10016
|
+
module: this.palletName,
|
|
9980
10017
|
method: 'update_balance',
|
|
9981
10018
|
parameters: {
|
|
9982
10019
|
who: address,
|
|
@@ -9987,12 +10024,14 @@ var CurrenciesPallet = /*#__PURE__*/function () {
|
|
|
9987
10024
|
});
|
|
9988
10025
|
}
|
|
9989
10026
|
}]);
|
|
9990
|
-
}();
|
|
10027
|
+
}(BaseAssetsPallet);
|
|
9991
10028
|
|
|
9992
|
-
var ForeignAssetsPallet = /*#__PURE__*/function () {
|
|
10029
|
+
var ForeignAssetsPallet = /*#__PURE__*/function (_BaseAssetsPallet) {
|
|
9993
10030
|
function ForeignAssetsPallet() {
|
|
9994
10031
|
_classCallCheck(this, ForeignAssetsPallet);
|
|
10032
|
+
return _callSuper(this, ForeignAssetsPallet, arguments);
|
|
9995
10033
|
}
|
|
10034
|
+
_inherits(ForeignAssetsPallet, _BaseAssetsPallet);
|
|
9996
10035
|
return _createClass(ForeignAssetsPallet, [{
|
|
9997
10036
|
key: "mint",
|
|
9998
10037
|
value: function mint(address, asset) {
|
|
@@ -10001,7 +10040,7 @@ var ForeignAssetsPallet = /*#__PURE__*/function () {
|
|
|
10001
10040
|
amount = asset.amount;
|
|
10002
10041
|
return Promise.resolve({
|
|
10003
10042
|
assetStatusTx: {
|
|
10004
|
-
module:
|
|
10043
|
+
module: this.palletName,
|
|
10005
10044
|
method: 'force_asset_status',
|
|
10006
10045
|
parameters: {
|
|
10007
10046
|
id: location,
|
|
@@ -10023,7 +10062,7 @@ var ForeignAssetsPallet = /*#__PURE__*/function () {
|
|
|
10023
10062
|
}
|
|
10024
10063
|
},
|
|
10025
10064
|
balanceTx: {
|
|
10026
|
-
module:
|
|
10065
|
+
module: this.palletName,
|
|
10027
10066
|
method: 'mint',
|
|
10028
10067
|
parameters: {
|
|
10029
10068
|
id: location,
|
|
@@ -10036,7 +10075,7 @@ var ForeignAssetsPallet = /*#__PURE__*/function () {
|
|
|
10036
10075
|
});
|
|
10037
10076
|
}
|
|
10038
10077
|
}]);
|
|
10039
|
-
}();
|
|
10078
|
+
}(BaseAssetsPallet);
|
|
10040
10079
|
|
|
10041
10080
|
var SIZE = 32;
|
|
10042
10081
|
var BALANCE_SLOT = 0;
|
|
@@ -10051,10 +10090,12 @@ var calculateMappingSlot = function calculateMappingSlot(key) {
|
|
|
10051
10090
|
var encoded = viem.concat([keyPadded, slotHex]);
|
|
10052
10091
|
return viem.keccak256(encoded);
|
|
10053
10092
|
};
|
|
10054
|
-
var SystemPallet = /*#__PURE__*/function () {
|
|
10093
|
+
var SystemPallet = /*#__PURE__*/function (_BaseAssetsPallet) {
|
|
10055
10094
|
function SystemPallet() {
|
|
10056
10095
|
_classCallCheck(this, SystemPallet);
|
|
10096
|
+
return _callSuper(this, SystemPallet, arguments);
|
|
10057
10097
|
}
|
|
10098
|
+
_inherits(SystemPallet, _BaseAssetsPallet);
|
|
10058
10099
|
return _createClass(SystemPallet, [{
|
|
10059
10100
|
key: "mint",
|
|
10060
10101
|
value: function () {
|
|
@@ -10075,7 +10116,7 @@ var SystemPallet = /*#__PURE__*/function () {
|
|
|
10075
10116
|
storageKey = _context.v;
|
|
10076
10117
|
return _context.a(2, {
|
|
10077
10118
|
balanceTx: {
|
|
10078
|
-
module:
|
|
10119
|
+
module: this.palletName,
|
|
10079
10120
|
method: 'set_storage',
|
|
10080
10121
|
parameters: {
|
|
10081
10122
|
items: [[storageKey, amountEncoded]]
|
|
@@ -10083,7 +10124,7 @@ var SystemPallet = /*#__PURE__*/function () {
|
|
|
10083
10124
|
}
|
|
10084
10125
|
});
|
|
10085
10126
|
}
|
|
10086
|
-
}, _callee);
|
|
10127
|
+
}, _callee, this);
|
|
10087
10128
|
}));
|
|
10088
10129
|
function mint(_x, _x2, _x3, _x4, _x5) {
|
|
10089
10130
|
return _mint.apply(this, arguments);
|
|
@@ -10091,12 +10132,14 @@ var SystemPallet = /*#__PURE__*/function () {
|
|
|
10091
10132
|
return mint;
|
|
10092
10133
|
}()
|
|
10093
10134
|
}]);
|
|
10094
|
-
}();
|
|
10135
|
+
}(BaseAssetsPallet);
|
|
10095
10136
|
|
|
10096
|
-
var TokensPallet = /*#__PURE__*/function () {
|
|
10137
|
+
var TokensPallet = /*#__PURE__*/function (_BaseAssetsPallet) {
|
|
10097
10138
|
function TokensPallet() {
|
|
10098
10139
|
_classCallCheck(this, TokensPallet);
|
|
10140
|
+
return _callSuper(this, TokensPallet, arguments);
|
|
10099
10141
|
}
|
|
10142
|
+
_inherits(TokensPallet, _BaseAssetsPallet);
|
|
10100
10143
|
return _createClass(TokensPallet, [{
|
|
10101
10144
|
key: "mint",
|
|
10102
10145
|
value: function mint(address, asset, balance, chain) {
|
|
@@ -10106,7 +10149,7 @@ var TokensPallet = /*#__PURE__*/function () {
|
|
|
10106
10149
|
var amount = asset.amount;
|
|
10107
10150
|
return Promise.resolve({
|
|
10108
10151
|
balanceTx: {
|
|
10109
|
-
module:
|
|
10152
|
+
module: this.palletName,
|
|
10110
10153
|
method: 'set_balance',
|
|
10111
10154
|
parameters: {
|
|
10112
10155
|
who: {
|
|
@@ -10120,35 +10163,93 @@ var TokensPallet = /*#__PURE__*/function () {
|
|
|
10120
10163
|
});
|
|
10121
10164
|
}
|
|
10122
10165
|
}]);
|
|
10123
|
-
}();
|
|
10166
|
+
}(BaseAssetsPallet);
|
|
10124
10167
|
|
|
10125
10168
|
var palletRegistry = {
|
|
10126
|
-
Balances: BalancesPallet,
|
|
10127
|
-
Tokens: TokensPallet,
|
|
10128
|
-
Currencies: CurrenciesPallet,
|
|
10129
|
-
Assets: AssetsPallet,
|
|
10130
|
-
ForeignAssets: ForeignAssetsPallet,
|
|
10131
|
-
AssetManager: AssetManagerPallet,
|
|
10132
|
-
System: SystemPallet
|
|
10169
|
+
Balances: new BalancesPallet('Balances'),
|
|
10170
|
+
Tokens: new TokensPallet('Tokens'),
|
|
10171
|
+
Currencies: new CurrenciesPallet('Currencies'),
|
|
10172
|
+
Assets: new AssetsPallet('Assets'),
|
|
10173
|
+
ForeignAssets: new ForeignAssetsPallet('ForeignAssets'),
|
|
10174
|
+
AssetManager: new AssetManagerPallet('AssetManager'),
|
|
10175
|
+
System: new SystemPallet('System'),
|
|
10176
|
+
Fungibles: new AssetsPallet('Fungibles')
|
|
10133
10177
|
};
|
|
10134
10178
|
var getPalletInstance = function getPalletInstance(type) {
|
|
10135
|
-
|
|
10136
|
-
return new HandlerClass();
|
|
10179
|
+
return palletRegistry[type];
|
|
10137
10180
|
};
|
|
10138
10181
|
|
|
10139
|
-
var
|
|
10140
|
-
|
|
10141
|
-
|
|
10182
|
+
var getOriginFeeDetailsInternal = /*#__PURE__*/function () {
|
|
10183
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref) {
|
|
10184
|
+
var _getExistentialDeposi;
|
|
10185
|
+
var api, account, accountDestination, ahAddress, currency, origin, destination, _ref$feeMarginPercent, feeMarginPercentage, tx, xcmFee, xcmFeeWithMargin, nativeBalance, existentialDeposit, sufficientForXCM;
|
|
10186
|
+
return _regenerator().w(function (_context) {
|
|
10187
|
+
while (1) switch (_context.n) {
|
|
10188
|
+
case 0:
|
|
10189
|
+
api = _ref.api, account = _ref.account, accountDestination = _ref.accountDestination, ahAddress = _ref.ahAddress, currency = _ref.currency, origin = _ref.origin, destination = _ref.destination, _ref$feeMarginPercent = _ref.feeMarginPercentage, feeMarginPercentage = _ref$feeMarginPercent === void 0 ? 10 : _ref$feeMarginPercent;
|
|
10190
|
+
_context.n = 1;
|
|
10191
|
+
return api.init(origin);
|
|
10192
|
+
case 1:
|
|
10193
|
+
_context.n = 2;
|
|
10194
|
+
return Builder(api).from(origin).to(destination).currency(currency).address(accountDestination).senderAddress(account).ahAddress(ahAddress)['buildInternal']();
|
|
10195
|
+
case 2:
|
|
10196
|
+
tx = _context.v;
|
|
10197
|
+
_context.n = 3;
|
|
10198
|
+
return api.calculateTransactionFee(tx, account);
|
|
10199
|
+
case 3:
|
|
10200
|
+
xcmFee = _context.v;
|
|
10201
|
+
xcmFeeWithMargin = xcmFee + xcmFee / BigInt(feeMarginPercentage);
|
|
10202
|
+
_context.n = 4;
|
|
10203
|
+
return getBalanceNativeInternal({
|
|
10204
|
+
address: account,
|
|
10205
|
+
chain: origin,
|
|
10206
|
+
api: api
|
|
10207
|
+
});
|
|
10208
|
+
case 4:
|
|
10209
|
+
nativeBalance = _context.v;
|
|
10210
|
+
existentialDeposit = BigInt((_getExistentialDeposi = assets.getExistentialDeposit(origin)) !== null && _getExistentialDeposi !== void 0 ? _getExistentialDeposi : '0');
|
|
10211
|
+
sufficientForXCM = nativeBalance - existentialDeposit - xcmFeeWithMargin > 0;
|
|
10212
|
+
return _context.a(2, {
|
|
10213
|
+
sufficientForXCM: sufficientForXCM,
|
|
10214
|
+
xcmFee: xcmFee
|
|
10215
|
+
});
|
|
10216
|
+
}
|
|
10217
|
+
}, _callee);
|
|
10218
|
+
}));
|
|
10219
|
+
return function getOriginFeeDetailsInternal(_x) {
|
|
10220
|
+
return _ref2.apply(this, arguments);
|
|
10142
10221
|
};
|
|
10143
|
-
|
|
10144
|
-
|
|
10145
|
-
|
|
10146
|
-
|
|
10147
|
-
|
|
10148
|
-
|
|
10149
|
-
|
|
10222
|
+
}();
|
|
10223
|
+
var getOriginFeeDetails = /*#__PURE__*/function () {
|
|
10224
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(options) {
|
|
10225
|
+
var api;
|
|
10226
|
+
return _regenerator().w(function (_context2) {
|
|
10227
|
+
while (1) switch (_context2.p = _context2.n) {
|
|
10228
|
+
case 0:
|
|
10229
|
+
api = options.api;
|
|
10230
|
+
api.setDisconnectAllowed(false);
|
|
10231
|
+
_context2.p = 1;
|
|
10232
|
+
_context2.n = 2;
|
|
10233
|
+
return getOriginFeeDetailsInternal(options);
|
|
10234
|
+
case 2:
|
|
10235
|
+
return _context2.a(2, _context2.v);
|
|
10236
|
+
case 3:
|
|
10237
|
+
_context2.p = 3;
|
|
10238
|
+
api.setDisconnectAllowed(true);
|
|
10239
|
+
_context2.n = 4;
|
|
10240
|
+
return api.disconnect();
|
|
10241
|
+
case 4:
|
|
10242
|
+
return _context2.f(3);
|
|
10243
|
+
case 5:
|
|
10244
|
+
return _context2.a(2);
|
|
10245
|
+
}
|
|
10246
|
+
}, _callee2, null, [[1,, 3, 5]]);
|
|
10247
|
+
}));
|
|
10248
|
+
return function getOriginFeeDetails(_x2) {
|
|
10249
|
+
return _ref3.apply(this, arguments);
|
|
10150
10250
|
};
|
|
10151
|
-
};
|
|
10251
|
+
}();
|
|
10252
|
+
|
|
10152
10253
|
var pickOtherPallet = function pickOtherPallet(asset, pallets) {
|
|
10153
10254
|
if (assets.isForeignAsset(asset) && (!asset.assetId || asset.assetId.startsWith('0x'))) {
|
|
10154
10255
|
var _pallets$find;
|
|
@@ -11504,6 +11605,7 @@ var send = /*#__PURE__*/function () {
|
|
|
11504
11605
|
origin: origin,
|
|
11505
11606
|
destination: destination,
|
|
11506
11607
|
address: address,
|
|
11608
|
+
senderAddress: senderAddress,
|
|
11507
11609
|
assetInfo: _objectSpread2(_objectSpread2({}, asset), {}, {
|
|
11508
11610
|
amount: finalAmount
|
|
11509
11611
|
}),
|
|
@@ -12244,12 +12346,13 @@ var computeInstructionFee = /*#__PURE__*/function () {
|
|
|
12244
12346
|
}();
|
|
12245
12347
|
var computeAllFees = /*#__PURE__*/function () {
|
|
12246
12348
|
var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref3, customXcm, isDotAsset, refundInstruction) {
|
|
12349
|
+
var _customXcm$DepositRes;
|
|
12247
12350
|
var reserve, dest, version, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t0;
|
|
12248
12351
|
return _regenerator().w(function (_context2) {
|
|
12249
12352
|
while (1) switch (_context2.n) {
|
|
12250
12353
|
case 0:
|
|
12251
12354
|
reserve = _ref3.reserve, dest = _ref3.dest, version = _ref3.options.version;
|
|
12252
|
-
if (!('DepositReserveAsset' in customXcm)) {
|
|
12355
|
+
if (!('DepositReserveAsset' in customXcm || 'InitiateTeleport' in customXcm)) {
|
|
12253
12356
|
_context2.n = 6;
|
|
12254
12357
|
break;
|
|
12255
12358
|
}
|
|
@@ -12272,7 +12375,7 @@ var computeAllFees = /*#__PURE__*/function () {
|
|
|
12272
12375
|
case 4:
|
|
12273
12376
|
_t5 = _t4;
|
|
12274
12377
|
_context2.n = 5;
|
|
12275
|
-
return computeInstructionFee(assets.hasXcmPaymentApiSupport(dest.chain) ? dest : reserve, version, customXcm.DepositReserveAsset.xcm);
|
|
12378
|
+
return computeInstructionFee(assets.hasXcmPaymentApiSupport(dest.chain) ? dest : reserve, version, ((_customXcm$DepositRes = customXcm === null || customXcm === void 0 ? void 0 : customXcm.DepositReserveAsset) !== null && _customXcm$DepositRes !== void 0 ? _customXcm$DepositRes : customXcm.InitiateTeleport).xcm);
|
|
12276
12379
|
case 5:
|
|
12277
12380
|
_t6 = _context2.v;
|
|
12278
12381
|
_t2 = {
|
|
@@ -12327,7 +12430,7 @@ var computeAllFees = /*#__PURE__*/function () {
|
|
|
12327
12430
|
}();
|
|
12328
12431
|
|
|
12329
12432
|
var createTypeAndThenCallContext = /*#__PURE__*/function () {
|
|
12330
|
-
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(chain, options) {
|
|
12433
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(chain, options, overrideReserve) {
|
|
12331
12434
|
var api, destChain, assetInfo, reserveChain, destApi, reserveApi;
|
|
12332
12435
|
return _regenerator().w(function (_context) {
|
|
12333
12436
|
while (1) switch (_context.n) {
|
|
@@ -12340,12 +12443,14 @@ var createTypeAndThenCallContext = /*#__PURE__*/function () {
|
|
|
12340
12443
|
}
|
|
12341
12444
|
throw new InvalidParameterError('Cannot override destination when using type and then transfer.');
|
|
12342
12445
|
case 1:
|
|
12343
|
-
reserveChain =
|
|
12446
|
+
reserveChain = overrideReserve !== undefined ? overrideReserve :
|
|
12447
|
+
// Paseo ecosystem migrated reserves to AssetHub
|
|
12448
|
+
getRelayChainOf(chain) === 'Paseo' ? getAssetReserveChain(chain, chain, assetInfo.location) : sdkCommon.isRelayChain(destChain) ? destChain : getAssetReserveChain(chain, chain, assetInfo.location);
|
|
12344
12449
|
destApi = api.clone();
|
|
12345
12450
|
_context.n = 2;
|
|
12346
12451
|
return destApi.init(destChain);
|
|
12347
12452
|
case 2:
|
|
12348
|
-
reserveApi = reserveChain
|
|
12453
|
+
reserveApi = reserveChain === chain ? api : reserveChain === destChain ? destApi : api.clone();
|
|
12349
12454
|
_context.n = 3;
|
|
12350
12455
|
return reserveApi.init(reserveChain);
|
|
12351
12456
|
case 3:
|
|
@@ -12368,7 +12473,7 @@ var createTypeAndThenCallContext = /*#__PURE__*/function () {
|
|
|
12368
12473
|
}
|
|
12369
12474
|
}, _callee);
|
|
12370
12475
|
}));
|
|
12371
|
-
return function createTypeAndThenCallContext(_x, _x2) {
|
|
12476
|
+
return function createTypeAndThenCallContext(_x, _x2, _x3) {
|
|
12372
12477
|
return _ref.apply(this, arguments);
|
|
12373
12478
|
};
|
|
12374
12479
|
}();
|
|
@@ -12416,20 +12521,33 @@ var createCustomXcm = function createCustomXcm(_ref, isDotAsset) {
|
|
|
12416
12521
|
if (origin.chain !== reserve.chain && dest.chain !== reserve.chain) {
|
|
12417
12522
|
var buyExecutionAmount = !isDotAsset ? destFee : assetInfo.amount - reserveFee - refundFee;
|
|
12418
12523
|
if (buyExecutionAmount < 0n) throw new AmountTooLowError();
|
|
12524
|
+
var filter = fees.destFee === MIN_FEE ? {
|
|
12525
|
+
Wild: 'All'
|
|
12526
|
+
} : {
|
|
12527
|
+
Definite: assetsFilter
|
|
12528
|
+
};
|
|
12529
|
+
var buyExecution = {
|
|
12530
|
+
BuyExecution: {
|
|
12531
|
+
fees: createAsset(version, buyExecutionAmount, feeAssetLocation),
|
|
12532
|
+
weight_limit: 'Unlimited'
|
|
12533
|
+
}
|
|
12534
|
+
};
|
|
12535
|
+
var destLoc = createDestination(version, origin.chain, destination, paraIdTo);
|
|
12536
|
+
// If destination is a system chain, use teleport instead of reserve deposit
|
|
12537
|
+
if (sdkCommon.isSystemChain(dest.chain)) {
|
|
12538
|
+
return {
|
|
12539
|
+
InitiateTeleport: {
|
|
12540
|
+
assets: filter,
|
|
12541
|
+
dest: destLoc,
|
|
12542
|
+
xcm: [buyExecution, depositInstruction]
|
|
12543
|
+
}
|
|
12544
|
+
};
|
|
12545
|
+
}
|
|
12419
12546
|
return {
|
|
12420
12547
|
DepositReserveAsset: {
|
|
12421
|
-
assets:
|
|
12422
|
-
|
|
12423
|
-
|
|
12424
|
-
Definite: assetsFilter
|
|
12425
|
-
},
|
|
12426
|
-
dest: createDestination(version, origin.chain, destination, paraIdTo),
|
|
12427
|
-
xcm: [{
|
|
12428
|
-
BuyExecution: {
|
|
12429
|
-
fees: createAsset(version, buyExecutionAmount, feeAssetLocation),
|
|
12430
|
-
weight_limit: 'Unlimited'
|
|
12431
|
-
}
|
|
12432
|
-
}, depositInstruction]
|
|
12548
|
+
assets: filter,
|
|
12549
|
+
dest: destLoc,
|
|
12550
|
+
xcm: [buyExecution, depositInstruction]
|
|
12433
12551
|
}
|
|
12434
12552
|
};
|
|
12435
12553
|
}
|
|
@@ -12467,14 +12585,14 @@ var buildAssets = function buildAssets(chain, asset, feeAmount, isDotAsset, vers
|
|
|
12467
12585
|
* Creates a type and then call for transferring assets using XCM. Works only for DOT and snowbridge assets so far.
|
|
12468
12586
|
*/
|
|
12469
12587
|
var createTypeAndThenCall = /*#__PURE__*/function () {
|
|
12470
|
-
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(chain, options) {
|
|
12588
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(chain, options, overrideReserve) {
|
|
12471
12589
|
var api, senderAddress, version, context, assetInfo, isDotAsset, customXcm, assetCount, refundInstruction, fees, finalCustomXcm, totalFee, assets;
|
|
12472
12590
|
return _regenerator().w(function (_context) {
|
|
12473
12591
|
while (1) switch (_context.n) {
|
|
12474
12592
|
case 0:
|
|
12475
12593
|
api = options.api, senderAddress = options.senderAddress, version = options.version;
|
|
12476
12594
|
_context.n = 1;
|
|
12477
|
-
return createTypeAndThenCallContext(chain, options);
|
|
12595
|
+
return createTypeAndThenCallContext(chain, options, overrideReserve);
|
|
12478
12596
|
case 1:
|
|
12479
12597
|
context = _context.v;
|
|
12480
12598
|
assetInfo = context.assetInfo;
|
|
@@ -12504,11 +12622,184 @@ var createTypeAndThenCall = /*#__PURE__*/function () {
|
|
|
12504
12622
|
}
|
|
12505
12623
|
}, _callee);
|
|
12506
12624
|
}));
|
|
12507
|
-
return function createTypeAndThenCall(_x, _x2) {
|
|
12625
|
+
return function createTypeAndThenCall(_x, _x2, _x3) {
|
|
12508
12626
|
return _ref.apply(this, arguments);
|
|
12509
12627
|
};
|
|
12510
12628
|
}();
|
|
12511
12629
|
|
|
12630
|
+
/**
|
|
12631
|
+
* Choose a reserve (AssetHub or Relay) by checking the beneficiary’s balance on each.
|
|
12632
|
+
* We resolve the beneficiary account on every candidate and return the first with
|
|
12633
|
+
* balance \>= amount, or undefined if none qualify.
|
|
12634
|
+
*/
|
|
12635
|
+
var selectReserveByBalance = /*#__PURE__*/function () {
|
|
12636
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(chain, options) {
|
|
12637
|
+
var api, assetInfo, destination, version, paraIdTo, relay, candidates, _i, _candidates, reserve, reserveApi, location, resolvedAddress, balance;
|
|
12638
|
+
return _regenerator().w(function (_context) {
|
|
12639
|
+
while (1) switch (_context.n) {
|
|
12640
|
+
case 0:
|
|
12641
|
+
api = options.api, assetInfo = options.assetInfo, destination = options.destination, version = options.version, paraIdTo = options.paraIdTo;
|
|
12642
|
+
relay = getRelayChainOf(chain);
|
|
12643
|
+
candidates = ["AssetHub".concat(relay), relay];
|
|
12644
|
+
_i = 0, _candidates = candidates;
|
|
12645
|
+
case 1:
|
|
12646
|
+
if (!(_i < _candidates.length)) {
|
|
12647
|
+
_context.n = 7;
|
|
12648
|
+
break;
|
|
12649
|
+
}
|
|
12650
|
+
reserve = _candidates[_i];
|
|
12651
|
+
reserveApi = api.clone();
|
|
12652
|
+
_context.n = 2;
|
|
12653
|
+
return reserveApi.init(reserve);
|
|
12654
|
+
case 2:
|
|
12655
|
+
location = createDestination(version, chain, destination, paraIdTo);
|
|
12656
|
+
_context.n = 3;
|
|
12657
|
+
return reserveApi.convertLocationToAccount(location);
|
|
12658
|
+
case 3:
|
|
12659
|
+
resolvedAddress = _context.v;
|
|
12660
|
+
if (resolvedAddress) {
|
|
12661
|
+
_context.n = 4;
|
|
12662
|
+
break;
|
|
12663
|
+
}
|
|
12664
|
+
return _context.a(3, 6);
|
|
12665
|
+
case 4:
|
|
12666
|
+
assertAddressIsString(resolvedAddress);
|
|
12667
|
+
_context.n = 5;
|
|
12668
|
+
return getAssetBalanceInternal({
|
|
12669
|
+
api: reserveApi,
|
|
12670
|
+
chain: reserve,
|
|
12671
|
+
address: resolvedAddress,
|
|
12672
|
+
currency: getCurrencySelection(assetInfo)
|
|
12673
|
+
});
|
|
12674
|
+
case 5:
|
|
12675
|
+
balance = _context.v;
|
|
12676
|
+
if (!(balance >= assetInfo.amount)) {
|
|
12677
|
+
_context.n = 6;
|
|
12678
|
+
break;
|
|
12679
|
+
}
|
|
12680
|
+
return _context.a(2, reserve);
|
|
12681
|
+
case 6:
|
|
12682
|
+
_i++;
|
|
12683
|
+
_context.n = 1;
|
|
12684
|
+
break;
|
|
12685
|
+
case 7:
|
|
12686
|
+
return _context.a(2, undefined);
|
|
12687
|
+
}
|
|
12688
|
+
}, _callee);
|
|
12689
|
+
}));
|
|
12690
|
+
return function selectReserveByBalance(_x, _x2) {
|
|
12691
|
+
return _ref.apply(this, arguments);
|
|
12692
|
+
};
|
|
12693
|
+
}();
|
|
12694
|
+
|
|
12695
|
+
var createCallForReserve = /*#__PURE__*/function () {
|
|
12696
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(chain, reserveChain, options) {
|
|
12697
|
+
var api, destination, address, senderAddress, currency, feeCurrency, serialized, tx, dryRunResult, success;
|
|
12698
|
+
return _regenerator().w(function (_context) {
|
|
12699
|
+
while (1) switch (_context.n) {
|
|
12700
|
+
case 0:
|
|
12701
|
+
api = options.api, destination = options.destination, address = options.address, senderAddress = options.senderAddress, currency = options.currency, feeCurrency = options.feeCurrency;
|
|
12702
|
+
_context.n = 1;
|
|
12703
|
+
return createTypeAndThenCall(chain, options, reserveChain);
|
|
12704
|
+
case 1:
|
|
12705
|
+
serialized = _context.v;
|
|
12706
|
+
assertAddressIsString(address);
|
|
12707
|
+
assertToIsString(destination, 'Location destination is not supported for reserve auto-selection.');
|
|
12708
|
+
assertSenderAddress(senderAddress);
|
|
12709
|
+
tx = api.callTxMethod(serialized);
|
|
12710
|
+
_context.n = 2;
|
|
12711
|
+
return dryRunInternal({
|
|
12712
|
+
api: api,
|
|
12713
|
+
tx: tx,
|
|
12714
|
+
origin: chain,
|
|
12715
|
+
destination: destination,
|
|
12716
|
+
address: address,
|
|
12717
|
+
senderAddress: senderAddress,
|
|
12718
|
+
currency: currency,
|
|
12719
|
+
feeAsset: feeCurrency,
|
|
12720
|
+
useRootOrigin: true
|
|
12721
|
+
});
|
|
12722
|
+
case 2:
|
|
12723
|
+
dryRunResult = _context.v;
|
|
12724
|
+
success = !dryRunResult.failureReason;
|
|
12725
|
+
return _context.a(2, {
|
|
12726
|
+
call: serialized,
|
|
12727
|
+
success: success
|
|
12728
|
+
});
|
|
12729
|
+
}
|
|
12730
|
+
}, _callee);
|
|
12731
|
+
}));
|
|
12732
|
+
return function createCallForReserve(_x, _x2, _x3) {
|
|
12733
|
+
return _ref.apply(this, arguments);
|
|
12734
|
+
};
|
|
12735
|
+
}();
|
|
12736
|
+
/**
|
|
12737
|
+
* Creates a type-and-then call but auto-selects the asset reserve between AssetHub and the Relay chain
|
|
12738
|
+
* by dry-running both variants and preferring the one that succeeds. If both fail, returns the
|
|
12739
|
+
* AssetHub variant. Supports only relaychain assets.
|
|
12740
|
+
*/
|
|
12741
|
+
var createTypeThenAutoReserve = /*#__PURE__*/function () {
|
|
12742
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(chain, options) {
|
|
12743
|
+
var originSupports, destSupports, reserve, relay, assetHubReserve, ahResult, relayResult;
|
|
12744
|
+
return _regenerator().w(function (_context2) {
|
|
12745
|
+
while (1) switch (_context2.n) {
|
|
12746
|
+
case 0:
|
|
12747
|
+
// Use dry-run path only when BOTH origin and destination support it
|
|
12748
|
+
originSupports = assets.hasDryRunSupport(chain);
|
|
12749
|
+
destSupports = options.destChain ? assets.hasDryRunSupport(options.destChain) : false;
|
|
12750
|
+
if (originSupports && destSupports) {
|
|
12751
|
+
_context2.n = 5;
|
|
12752
|
+
break;
|
|
12753
|
+
}
|
|
12754
|
+
_context2.n = 1;
|
|
12755
|
+
return selectReserveByBalance(chain, options);
|
|
12756
|
+
case 1:
|
|
12757
|
+
reserve = _context2.v;
|
|
12758
|
+
if (!reserve) {
|
|
12759
|
+
_context2.n = 3;
|
|
12760
|
+
break;
|
|
12761
|
+
}
|
|
12762
|
+
_context2.n = 2;
|
|
12763
|
+
return createTypeAndThenCall(chain, options, reserve);
|
|
12764
|
+
case 2:
|
|
12765
|
+
return _context2.a(2, _context2.v);
|
|
12766
|
+
case 3:
|
|
12767
|
+
_context2.n = 4;
|
|
12768
|
+
return createTypeAndThenCall(chain, options);
|
|
12769
|
+
case 4:
|
|
12770
|
+
return _context2.a(2, _context2.v);
|
|
12771
|
+
case 5:
|
|
12772
|
+
relay = getRelayChainOf(chain);
|
|
12773
|
+
assetHubReserve = "AssetHub".concat(relay);
|
|
12774
|
+
_context2.n = 6;
|
|
12775
|
+
return createCallForReserve(chain, assetHubReserve, options);
|
|
12776
|
+
case 6:
|
|
12777
|
+
ahResult = _context2.v;
|
|
12778
|
+
if (!ahResult.success) {
|
|
12779
|
+
_context2.n = 7;
|
|
12780
|
+
break;
|
|
12781
|
+
}
|
|
12782
|
+
return _context2.a(2, ahResult.call);
|
|
12783
|
+
case 7:
|
|
12784
|
+
_context2.n = 8;
|
|
12785
|
+
return createCallForReserve(chain, relay, options);
|
|
12786
|
+
case 8:
|
|
12787
|
+
relayResult = _context2.v;
|
|
12788
|
+
if (!relayResult.success) {
|
|
12789
|
+
_context2.n = 9;
|
|
12790
|
+
break;
|
|
12791
|
+
}
|
|
12792
|
+
return _context2.a(2, relayResult.call);
|
|
12793
|
+
case 9:
|
|
12794
|
+
return _context2.a(2, ahResult.call);
|
|
12795
|
+
}
|
|
12796
|
+
}, _callee2);
|
|
12797
|
+
}));
|
|
12798
|
+
return function createTypeThenAutoReserve(_x4, _x5) {
|
|
12799
|
+
return _ref2.apply(this, arguments);
|
|
12800
|
+
};
|
|
12801
|
+
}();
|
|
12802
|
+
|
|
12512
12803
|
var calculateTotalXcmFee = function calculateTotalXcmFee(feeResult) {
|
|
12513
12804
|
var _feeResult$assetHub;
|
|
12514
12805
|
var totalFee = 0n;
|
|
@@ -13615,6 +13906,7 @@ exports.createExecuteCall = createExecuteCall;
|
|
|
13615
13906
|
exports.createExecuteExchangeXcm = createExecuteExchangeXcm;
|
|
13616
13907
|
exports.createTx = createTx;
|
|
13617
13908
|
exports.createTypeAndThenCall = createTypeAndThenCall;
|
|
13909
|
+
exports.createTypeThenAutoReserve = createTypeThenAutoReserve;
|
|
13618
13910
|
exports.createVersionedAssets = createVersionedAssets;
|
|
13619
13911
|
exports.createX1Payload = createX1Payload;
|
|
13620
13912
|
exports.deriveAccountId = deriveAccountId;
|