@paraspell/sdk-core 10.4.10 → 10.5.1
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 +27 -18
- package/dist/index.d.ts +2 -1
- package/dist/index.mjs +27 -18
- package/package.json +4 -4
package/dist/index.cjs
CHANGED
|
@@ -3830,6 +3830,9 @@ var padFee = function padFee(raw, origin, dest, side) {
|
|
|
3830
3830
|
var paraToPara = !relayOrigin && !sysParaOrigin;
|
|
3831
3831
|
if (sysParaToPara) return raw * 40n;
|
|
3832
3832
|
if (relayToPara) return side === 'origin' ? mul(raw, 320n, 100n) : mul(raw, 3000n, 100n);
|
|
3833
|
+
if (paraToPara && side == 'origin' && origin === 'Mythos' && dest !== 'Ethereum') {
|
|
3834
|
+
return 150000000000000000n;
|
|
3835
|
+
}
|
|
3833
3836
|
if (paraToPara) return mul(raw, 130n, 100n);
|
|
3834
3837
|
// apply default 30% padding
|
|
3835
3838
|
return mul(raw, 130n, 100n);
|
|
@@ -3838,28 +3841,30 @@ var padFeeBy = function padFeeBy(amount, percent) {
|
|
|
3838
3841
|
return mul(amount, BigInt(100 + percent), 100n);
|
|
3839
3842
|
};
|
|
3840
3843
|
|
|
3844
|
+
var determineAddress = function determineAddress(chain, address, senderAddress) {
|
|
3845
|
+
if (assets.isNodeEvm(chain)) {
|
|
3846
|
+
return viem.isAddress(address) ? address : senderAddress;
|
|
3847
|
+
}
|
|
3848
|
+
return viem.isAddress(address) ? senderAddress : address;
|
|
3849
|
+
};
|
|
3841
3850
|
var getReverseTxFee = /*#__PURE__*/function () {
|
|
3842
3851
|
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref, currencyInput) {
|
|
3843
|
-
var api, origin, destination, senderAddress, address, currency, tx, rawFee;
|
|
3852
|
+
var api, origin, destination, senderAddress, address, currency, toAddress, fromAddress, tx, rawFee;
|
|
3844
3853
|
return _regenerator().w(function (_context) {
|
|
3845
3854
|
while (1) switch (_context.n) {
|
|
3846
3855
|
case 0:
|
|
3847
3856
|
api = _ref.api, origin = _ref.origin, destination = _ref.destination, senderAddress = _ref.senderAddress, address = _ref.address, currency = _ref.currency;
|
|
3848
|
-
|
|
3849
|
-
|
|
3850
|
-
|
|
3851
|
-
}
|
|
3852
|
-
throw new assets.InvalidCurrencyError('Multi-assets are not yet supported for XCM fee calculation.');
|
|
3853
|
-
case 1:
|
|
3854
|
-
_context.n = 2;
|
|
3855
|
-
return Builder(api).from(destination).to(origin).address(senderAddress).senderAddress(address).currency(_objectSpread2(_objectSpread2({}, currencyInput), {}, {
|
|
3857
|
+
toAddress = determineAddress(origin, address, senderAddress);
|
|
3858
|
+
fromAddress = determineAddress(destination, address, senderAddress);
|
|
3859
|
+
_context.n = 1;
|
|
3860
|
+
return Builder(api).from(destination).to(origin).address(toAddress).senderAddress(fromAddress).currency(_objectSpread2(_objectSpread2({}, currencyInput), {}, {
|
|
3856
3861
|
amount: currency.amount
|
|
3857
3862
|
})).build();
|
|
3858
|
-
case
|
|
3863
|
+
case 1:
|
|
3859
3864
|
tx = _context.v;
|
|
3860
|
-
_context.n =
|
|
3861
|
-
return api.calculateTransactionFee(tx,
|
|
3862
|
-
case
|
|
3865
|
+
_context.n = 2;
|
|
3866
|
+
return api.calculateTransactionFee(tx, fromAddress);
|
|
3867
|
+
case 2:
|
|
3863
3868
|
rawFee = _context.v;
|
|
3864
3869
|
return _context.a(2, padFee(rawFee, origin, destination, 'destination'));
|
|
3865
3870
|
}
|
|
@@ -4789,13 +4794,14 @@ var dryRunInternal = /*#__PURE__*/function () {
|
|
|
4789
4794
|
case 0:
|
|
4790
4795
|
origin = options.origin, destination = options.destination, currency = options.currency, api = options.api, tx = options.tx, senderAddress = options.senderAddress, feeAsset = options.feeAsset;
|
|
4791
4796
|
resolvedFeeAsset = feeAsset && origin === 'AssetHubPolkadot' ? resolveFeeAsset(feeAsset, origin, destination, currency) : undefined;
|
|
4792
|
-
asset =
|
|
4797
|
+
asset = assets.findAssetForNodeOrThrow(origin, currency, destination);
|
|
4793
4798
|
_context.n = 1;
|
|
4794
4799
|
return api.getDryRunCall({
|
|
4795
4800
|
tx: tx,
|
|
4796
4801
|
node: origin,
|
|
4797
4802
|
address: senderAddress,
|
|
4798
|
-
|
|
4803
|
+
asset: asset,
|
|
4804
|
+
feeAsset: resolvedFeeAsset
|
|
4799
4805
|
});
|
|
4800
4806
|
case 1:
|
|
4801
4807
|
originDryRun = _context.v;
|
|
@@ -5008,7 +5014,7 @@ var dryRunOrigin = /*#__PURE__*/function () {
|
|
|
5008
5014
|
|
|
5009
5015
|
var getOriginXcmFee = /*#__PURE__*/function () {
|
|
5010
5016
|
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref) {
|
|
5011
|
-
var api, tx, origin, destination, senderAddress, disableFallback, feeAsset, currency, resolvedFeeAsset, nativeAssetSymbol, rawFee, paddedFee, sufficient, dryRunResult, _rawFee, _paddedFee, _sufficient, fee, forwardedXcms, destParaId, weight, currencySymbol;
|
|
5017
|
+
var api, tx, origin, destination, senderAddress, disableFallback, feeAsset, currency, resolvedFeeAsset, nativeAssetSymbol, rawFee, paddedFee, sufficient, asset, dryRunResult, _rawFee, _paddedFee, _sufficient, fee, forwardedXcms, destParaId, weight, currencySymbol;
|
|
5012
5018
|
return _regenerator().w(function (_context) {
|
|
5013
5019
|
while (1) switch (_context.n) {
|
|
5014
5020
|
case 0:
|
|
@@ -5038,12 +5044,14 @@ var getOriginXcmFee = /*#__PURE__*/function () {
|
|
|
5038
5044
|
sufficient: sufficient
|
|
5039
5045
|
});
|
|
5040
5046
|
case 4:
|
|
5047
|
+
asset = assets.findAssetForNodeOrThrow(origin, currency, destination);
|
|
5041
5048
|
_context.n = 5;
|
|
5042
5049
|
return api.getDryRunCall({
|
|
5043
5050
|
tx: tx,
|
|
5044
5051
|
node: origin,
|
|
5045
5052
|
address: senderAddress,
|
|
5046
|
-
|
|
5053
|
+
asset: asset,
|
|
5054
|
+
feeAsset: resolvedFeeAsset
|
|
5047
5055
|
});
|
|
5048
5056
|
case 5:
|
|
5049
5057
|
dryRunResult = _context.v;
|
|
@@ -7272,7 +7280,8 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
|
|
|
7272
7280
|
node: this.node,
|
|
7273
7281
|
tx: api.callTxMethod(call),
|
|
7274
7282
|
address: senderAddress,
|
|
7275
|
-
|
|
7283
|
+
asset: asset,
|
|
7284
|
+
feeAsset: feeAsset
|
|
7276
7285
|
});
|
|
7277
7286
|
case 2:
|
|
7278
7287
|
dryRunResult = _context3.v;
|
package/dist/index.d.ts
CHANGED
|
@@ -539,7 +539,8 @@ type TDryRunCallBaseOptions<TRes> = {
|
|
|
539
539
|
* The address to dry-run with
|
|
540
540
|
*/
|
|
541
541
|
address: string;
|
|
542
|
-
|
|
542
|
+
asset: TAsset;
|
|
543
|
+
feeAsset?: TAsset;
|
|
543
544
|
};
|
|
544
545
|
type TDryRunCallOptions<TApi, TRes> = WithApi<TDryRunCallBaseOptions<TRes>, TApi, TRes>;
|
|
545
546
|
type TDryRunXcmBaseOptions = {
|
package/dist/index.mjs
CHANGED
|
@@ -3831,6 +3831,9 @@ var padFee = function padFee(raw, origin, dest, side) {
|
|
|
3831
3831
|
var paraToPara = !relayOrigin && !sysParaOrigin;
|
|
3832
3832
|
if (sysParaToPara) return raw * 40n;
|
|
3833
3833
|
if (relayToPara) return side === 'origin' ? mul(raw, 320n, 100n) : mul(raw, 3000n, 100n);
|
|
3834
|
+
if (paraToPara && side == 'origin' && origin === 'Mythos' && dest !== 'Ethereum') {
|
|
3835
|
+
return 150000000000000000n;
|
|
3836
|
+
}
|
|
3834
3837
|
if (paraToPara) return mul(raw, 130n, 100n);
|
|
3835
3838
|
// apply default 30% padding
|
|
3836
3839
|
return mul(raw, 130n, 100n);
|
|
@@ -3839,28 +3842,30 @@ var padFeeBy = function padFeeBy(amount, percent) {
|
|
|
3839
3842
|
return mul(amount, BigInt(100 + percent), 100n);
|
|
3840
3843
|
};
|
|
3841
3844
|
|
|
3845
|
+
var determineAddress = function determineAddress(chain, address, senderAddress) {
|
|
3846
|
+
if (isNodeEvm(chain)) {
|
|
3847
|
+
return isAddress(address) ? address : senderAddress;
|
|
3848
|
+
}
|
|
3849
|
+
return isAddress(address) ? senderAddress : address;
|
|
3850
|
+
};
|
|
3842
3851
|
var getReverseTxFee = /*#__PURE__*/function () {
|
|
3843
3852
|
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref, currencyInput) {
|
|
3844
|
-
var api, origin, destination, senderAddress, address, currency, tx, rawFee;
|
|
3853
|
+
var api, origin, destination, senderAddress, address, currency, toAddress, fromAddress, tx, rawFee;
|
|
3845
3854
|
return _regenerator().w(function (_context) {
|
|
3846
3855
|
while (1) switch (_context.n) {
|
|
3847
3856
|
case 0:
|
|
3848
3857
|
api = _ref.api, origin = _ref.origin, destination = _ref.destination, senderAddress = _ref.senderAddress, address = _ref.address, currency = _ref.currency;
|
|
3849
|
-
|
|
3850
|
-
|
|
3851
|
-
|
|
3852
|
-
}
|
|
3853
|
-
throw new InvalidCurrencyError('Multi-assets are not yet supported for XCM fee calculation.');
|
|
3854
|
-
case 1:
|
|
3855
|
-
_context.n = 2;
|
|
3856
|
-
return Builder(api).from(destination).to(origin).address(senderAddress).senderAddress(address).currency(_objectSpread2(_objectSpread2({}, currencyInput), {}, {
|
|
3858
|
+
toAddress = determineAddress(origin, address, senderAddress);
|
|
3859
|
+
fromAddress = determineAddress(destination, address, senderAddress);
|
|
3860
|
+
_context.n = 1;
|
|
3861
|
+
return Builder(api).from(destination).to(origin).address(toAddress).senderAddress(fromAddress).currency(_objectSpread2(_objectSpread2({}, currencyInput), {}, {
|
|
3857
3862
|
amount: currency.amount
|
|
3858
3863
|
})).build();
|
|
3859
|
-
case
|
|
3864
|
+
case 1:
|
|
3860
3865
|
tx = _context.v;
|
|
3861
|
-
_context.n =
|
|
3862
|
-
return api.calculateTransactionFee(tx,
|
|
3863
|
-
case
|
|
3866
|
+
_context.n = 2;
|
|
3867
|
+
return api.calculateTransactionFee(tx, fromAddress);
|
|
3868
|
+
case 2:
|
|
3864
3869
|
rawFee = _context.v;
|
|
3865
3870
|
return _context.a(2, padFee(rawFee, origin, destination, 'destination'));
|
|
3866
3871
|
}
|
|
@@ -4790,13 +4795,14 @@ var dryRunInternal = /*#__PURE__*/function () {
|
|
|
4790
4795
|
case 0:
|
|
4791
4796
|
origin = options.origin, destination = options.destination, currency = options.currency, api = options.api, tx = options.tx, senderAddress = options.senderAddress, feeAsset = options.feeAsset;
|
|
4792
4797
|
resolvedFeeAsset = feeAsset && origin === 'AssetHubPolkadot' ? resolveFeeAsset(feeAsset, origin, destination, currency) : undefined;
|
|
4793
|
-
asset =
|
|
4798
|
+
asset = findAssetForNodeOrThrow(origin, currency, destination);
|
|
4794
4799
|
_context.n = 1;
|
|
4795
4800
|
return api.getDryRunCall({
|
|
4796
4801
|
tx: tx,
|
|
4797
4802
|
node: origin,
|
|
4798
4803
|
address: senderAddress,
|
|
4799
|
-
|
|
4804
|
+
asset: asset,
|
|
4805
|
+
feeAsset: resolvedFeeAsset
|
|
4800
4806
|
});
|
|
4801
4807
|
case 1:
|
|
4802
4808
|
originDryRun = _context.v;
|
|
@@ -5009,7 +5015,7 @@ var dryRunOrigin = /*#__PURE__*/function () {
|
|
|
5009
5015
|
|
|
5010
5016
|
var getOriginXcmFee = /*#__PURE__*/function () {
|
|
5011
5017
|
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(_ref) {
|
|
5012
|
-
var api, tx, origin, destination, senderAddress, disableFallback, feeAsset, currency, resolvedFeeAsset, nativeAssetSymbol, rawFee, paddedFee, sufficient, dryRunResult, _rawFee, _paddedFee, _sufficient, fee, forwardedXcms, destParaId, weight, currencySymbol;
|
|
5018
|
+
var api, tx, origin, destination, senderAddress, disableFallback, feeAsset, currency, resolvedFeeAsset, nativeAssetSymbol, rawFee, paddedFee, sufficient, asset, dryRunResult, _rawFee, _paddedFee, _sufficient, fee, forwardedXcms, destParaId, weight, currencySymbol;
|
|
5013
5019
|
return _regenerator().w(function (_context) {
|
|
5014
5020
|
while (1) switch (_context.n) {
|
|
5015
5021
|
case 0:
|
|
@@ -5039,12 +5045,14 @@ var getOriginXcmFee = /*#__PURE__*/function () {
|
|
|
5039
5045
|
sufficient: sufficient
|
|
5040
5046
|
});
|
|
5041
5047
|
case 4:
|
|
5048
|
+
asset = findAssetForNodeOrThrow(origin, currency, destination);
|
|
5042
5049
|
_context.n = 5;
|
|
5043
5050
|
return api.getDryRunCall({
|
|
5044
5051
|
tx: tx,
|
|
5045
5052
|
node: origin,
|
|
5046
5053
|
address: senderAddress,
|
|
5047
|
-
|
|
5054
|
+
asset: asset,
|
|
5055
|
+
feeAsset: resolvedFeeAsset
|
|
5048
5056
|
});
|
|
5049
5057
|
case 5:
|
|
5050
5058
|
dryRunResult = _context.v;
|
|
@@ -7273,7 +7281,8 @@ var AssetHubPolkadot = /*#__PURE__*/function (_ParachainNode) {
|
|
|
7273
7281
|
node: this.node,
|
|
7274
7282
|
tx: api.callTxMethod(call),
|
|
7275
7283
|
address: senderAddress,
|
|
7276
|
-
|
|
7284
|
+
asset: asset,
|
|
7285
|
+
feeAsset: feeAsset
|
|
7277
7286
|
});
|
|
7278
7287
|
case 2:
|
|
7279
7288
|
dryRunResult = _context3.v;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paraspell/sdk-core",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.5.1",
|
|
4
4
|
"description": "SDK core for ParaSpell XCM/XCMP tool for developers",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -26,9 +26,9 @@
|
|
|
26
26
|
"@noble/hashes": "^1.8.0",
|
|
27
27
|
"@scure/base": "^1.2.6",
|
|
28
28
|
"viem": "^2.30.5",
|
|
29
|
-
"@paraspell/assets": "10.
|
|
30
|
-
"@paraspell/sdk-common": "10.
|
|
31
|
-
"@paraspell/pallets": "10.
|
|
29
|
+
"@paraspell/assets": "10.5.1",
|
|
30
|
+
"@paraspell/sdk-common": "10.5.1",
|
|
31
|
+
"@paraspell/pallets": "10.5.1"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@babel/plugin-syntax-import-attributes": "^7.27.1",
|