@paraspell/sdk-core 8.9.5 → 8.9.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 CHANGED
@@ -2312,7 +2312,9 @@ var XTokensTransferImpl = /*#__PURE__*/function () {
2312
2312
  scenario = input.scenario,
2313
2313
  overriddenAsset = input.overriddenAsset,
2314
2314
  pallet = input.pallet,
2315
- method = input.method;
2315
+ method = input.method,
2316
+ _input$useMultiAssetT = input.useMultiAssetTransfer,
2317
+ useMultiAssetTransfer = _input$useMultiAssetT === void 0 ? false : _input$useMultiAssetT;
2316
2318
  var isMultiLocationDestination = _typeof(destination) === 'object';
2317
2319
  if (isMultiLocationDestination) {
2318
2320
  throw new Error('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.');
@@ -2320,9 +2322,8 @@ var XTokensTransferImpl = /*#__PURE__*/function () {
2320
2322
  var isBifrostOrigin = origin === 'BifrostPolkadot' || origin === 'BifrostKusama';
2321
2323
  var isAssetHubDest = destination === 'AssetHubPolkadot' || destination === 'AssetHubKusama';
2322
2324
  var isAstarOrShidenToRelay = scenario === 'ParaToRelay' && (origin === 'Astar' || origin === 'Shiden');
2323
- var isTuring = origin === 'Turing';
2324
2325
  var isOverridenMultiAssets = overriddenAsset && !sdkCommon.isTMultiLocation(overriddenAsset);
2325
- var shouldUseMultiasset = isTuring || isAstarOrShidenToRelay || isAssetHubDest && !isBifrostOrigin || !!isOverridenMultiAssets;
2326
+ var shouldUseMultiasset = useMultiAssetTransfer || isAstarOrShidenToRelay || isAssetHubDest && !isBifrostOrigin || !!isOverridenMultiAssets;
2326
2327
  var modifiedCurrencySelection = getCurrencySelection(input, shouldUseMultiasset, currencySelection);
2327
2328
  var section = shouldUseMultiasset ? isOverridenMultiAssets ? 'transfer_multiassets' : 'transfer_multiasset' : 'transfer';
2328
2329
  var parameters = getXTokensParameters(shouldUseMultiasset, modifiedCurrencySelection, addressSelection, asset.amount, fees, overriddenAsset);
@@ -5549,24 +5550,28 @@ var Pendulum = /*#__PURE__*/function (_ParachainNode) {
5549
5550
  }
5550
5551
  _inherits(Pendulum, _ParachainNode);
5551
5552
  return _createClass(Pendulum, [{
5552
- key: "transferXTokens",
5553
- value: function transferXTokens(input) {
5554
- var scenario = input.scenario,
5555
- asset = input.asset;
5556
- if (scenario === 'ParaToRelay') {
5557
- throw new ScenarioNotSupportedError(this.node, scenario);
5553
+ key: "getCurrencySelection",
5554
+ value: function getCurrencySelection(asset) {
5555
+ if (asset.symbol === this.getNativeAssetSymbol()) {
5556
+ return {
5557
+ Native: null
5558
+ };
5558
5559
  }
5559
- if (scenario === 'ParaToPara' && asset.symbol === 'DOT') {
5560
- throw new assets.InvalidCurrencyError('Pendulum does not support DOT transfers');
5560
+ if (assets.isForeignAsset(asset) && asset.assetId !== undefined) {
5561
+ return {
5562
+ XCM: Number(asset.assetId)
5563
+ };
5561
5564
  }
5562
- var currencySelection = asset.symbol === 'PEN' ? {
5563
- Native: null
5564
- } : {
5565
- XCM: assets.isForeignAsset(asset) ? Number(asset.assetId) : function () {
5566
- throw new assets.InvalidCurrencyError("Asset ".concat(JSON.stringify(asset), " has no assetId"));
5567
- }()
5568
- };
5569
- return XTokensTransferImpl.transferXTokens(input, currencySelection);
5565
+ throw new assets.InvalidCurrencyError("Asset ".concat(JSON.stringify(asset), " has no assetId"));
5566
+ }
5567
+ }, {
5568
+ key: "transferXTokens",
5569
+ value: function transferXTokens(input) {
5570
+ var asset = input.asset;
5571
+ var currencySelection = this.getCurrencySelection(asset);
5572
+ return XTokensTransferImpl.transferXTokens(_objectSpread2(_objectSpread2({}, input), {}, {
5573
+ useMultiAssetTransfer: asset.symbol === 'DOT'
5574
+ }), currencySelection);
5570
5575
  }
5571
5576
  }]);
5572
5577
  }(ParachainNode);
@@ -5839,7 +5844,9 @@ var Turing = /*#__PURE__*/function (_ParachainNode) {
5839
5844
  if (!assets.isForeignAsset(asset) || !asset.assetId) {
5840
5845
  throw new assets.InvalidCurrencyError("Asset ".concat(JSON.stringify(asset), " has no assetId"));
5841
5846
  }
5842
- return XTokensTransferImpl.transferXTokens(input, BigInt(asset.assetId));
5847
+ return XTokensTransferImpl.transferXTokens(_objectSpread2(_objectSpread2({}, input), {}, {
5848
+ useMultiAssetTransfer: true
5849
+ }), BigInt(asset.assetId));
5843
5850
  }
5844
5851
  }]);
5845
5852
  }(ParachainNode);
package/dist/index.d.ts CHANGED
@@ -92,6 +92,7 @@ type TXTokensTransferOptions<TApi, TRes> = {
92
92
  overriddenAsset?: TMultiLocation | TMultiAssetWithFee[];
93
93
  pallet?: string;
94
94
  method?: string;
95
+ useMultiAssetTransfer?: boolean;
95
96
  };
96
97
  type TXTransferTransferOptions<TApi, TRes> = {
97
98
  api: IPolkadotApi<TApi, TRes>;
@@ -1182,6 +1183,7 @@ declare class Peaq<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTo
1182
1183
 
1183
1184
  declare class Pendulum<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
1184
1185
  constructor();
1186
+ private getCurrencySelection;
1185
1187
  transferXTokens<TApi, TRes>(input: TXTokensTransferOptions<TApi, TRes>): TRes;
1186
1188
  }
1187
1189
 
package/dist/index.mjs CHANGED
@@ -2313,7 +2313,9 @@ var XTokensTransferImpl = /*#__PURE__*/function () {
2313
2313
  scenario = input.scenario,
2314
2314
  overriddenAsset = input.overriddenAsset,
2315
2315
  pallet = input.pallet,
2316
- method = input.method;
2316
+ method = input.method,
2317
+ _input$useMultiAssetT = input.useMultiAssetTransfer,
2318
+ useMultiAssetTransfer = _input$useMultiAssetT === void 0 ? false : _input$useMultiAssetT;
2317
2319
  var isMultiLocationDestination = _typeof(destination) === 'object';
2318
2320
  if (isMultiLocationDestination) {
2319
2321
  throw new Error('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.');
@@ -2321,9 +2323,8 @@ var XTokensTransferImpl = /*#__PURE__*/function () {
2321
2323
  var isBifrostOrigin = origin === 'BifrostPolkadot' || origin === 'BifrostKusama';
2322
2324
  var isAssetHubDest = destination === 'AssetHubPolkadot' || destination === 'AssetHubKusama';
2323
2325
  var isAstarOrShidenToRelay = scenario === 'ParaToRelay' && (origin === 'Astar' || origin === 'Shiden');
2324
- var isTuring = origin === 'Turing';
2325
2326
  var isOverridenMultiAssets = overriddenAsset && !isTMultiLocation(overriddenAsset);
2326
- var shouldUseMultiasset = isTuring || isAstarOrShidenToRelay || isAssetHubDest && !isBifrostOrigin || !!isOverridenMultiAssets;
2327
+ var shouldUseMultiasset = useMultiAssetTransfer || isAstarOrShidenToRelay || isAssetHubDest && !isBifrostOrigin || !!isOverridenMultiAssets;
2327
2328
  var modifiedCurrencySelection = getCurrencySelection(input, shouldUseMultiasset, currencySelection);
2328
2329
  var section = shouldUseMultiasset ? isOverridenMultiAssets ? 'transfer_multiassets' : 'transfer_multiasset' : 'transfer';
2329
2330
  var parameters = getXTokensParameters(shouldUseMultiasset, modifiedCurrencySelection, addressSelection, asset.amount, fees, overriddenAsset);
@@ -5550,24 +5551,28 @@ var Pendulum = /*#__PURE__*/function (_ParachainNode) {
5550
5551
  }
5551
5552
  _inherits(Pendulum, _ParachainNode);
5552
5553
  return _createClass(Pendulum, [{
5553
- key: "transferXTokens",
5554
- value: function transferXTokens(input) {
5555
- var scenario = input.scenario,
5556
- asset = input.asset;
5557
- if (scenario === 'ParaToRelay') {
5558
- throw new ScenarioNotSupportedError(this.node, scenario);
5554
+ key: "getCurrencySelection",
5555
+ value: function getCurrencySelection(asset) {
5556
+ if (asset.symbol === this.getNativeAssetSymbol()) {
5557
+ return {
5558
+ Native: null
5559
+ };
5559
5560
  }
5560
- if (scenario === 'ParaToPara' && asset.symbol === 'DOT') {
5561
- throw new InvalidCurrencyError('Pendulum does not support DOT transfers');
5561
+ if (isForeignAsset(asset) && asset.assetId !== undefined) {
5562
+ return {
5563
+ XCM: Number(asset.assetId)
5564
+ };
5562
5565
  }
5563
- var currencySelection = asset.symbol === 'PEN' ? {
5564
- Native: null
5565
- } : {
5566
- XCM: isForeignAsset(asset) ? Number(asset.assetId) : function () {
5567
- throw new InvalidCurrencyError("Asset ".concat(JSON.stringify(asset), " has no assetId"));
5568
- }()
5569
- };
5570
- return XTokensTransferImpl.transferXTokens(input, currencySelection);
5566
+ throw new InvalidCurrencyError("Asset ".concat(JSON.stringify(asset), " has no assetId"));
5567
+ }
5568
+ }, {
5569
+ key: "transferXTokens",
5570
+ value: function transferXTokens(input) {
5571
+ var asset = input.asset;
5572
+ var currencySelection = this.getCurrencySelection(asset);
5573
+ return XTokensTransferImpl.transferXTokens(_objectSpread2(_objectSpread2({}, input), {}, {
5574
+ useMultiAssetTransfer: asset.symbol === 'DOT'
5575
+ }), currencySelection);
5571
5576
  }
5572
5577
  }]);
5573
5578
  }(ParachainNode);
@@ -5840,7 +5845,9 @@ var Turing = /*#__PURE__*/function (_ParachainNode) {
5840
5845
  if (!isForeignAsset(asset) || !asset.assetId) {
5841
5846
  throw new InvalidCurrencyError("Asset ".concat(JSON.stringify(asset), " has no assetId"));
5842
5847
  }
5843
- return XTokensTransferImpl.transferXTokens(input, BigInt(asset.assetId));
5848
+ return XTokensTransferImpl.transferXTokens(_objectSpread2(_objectSpread2({}, input), {}, {
5849
+ useMultiAssetTransfer: true
5850
+ }), BigInt(asset.assetId));
5844
5851
  }
5845
5852
  }]);
5846
5853
  }(ParachainNode);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraspell/sdk-core",
3
- "version": "8.9.5",
3
+ "version": "8.9.6",
4
4
  "description": "SDK core for ParaSpell XCM/XCMP tool for developers",
5
5
  "repository": {
6
6
  "type": "git",
@@ -25,9 +25,9 @@
25
25
  "dependencies": {
26
26
  "ethers": "^6.13.5",
27
27
  "viem": "^2.23.15",
28
- "@paraspell/pallets": "8.9.5",
29
- "@paraspell/sdk-common": "8.9.5",
30
- "@paraspell/assets": "8.9.5"
28
+ "@paraspell/pallets": "8.9.6",
29
+ "@paraspell/assets": "8.9.6",
30
+ "@paraspell/sdk-common": "8.9.6"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@babel/plugin-syntax-import-attributes": "^7.26.0",