@paraspell/sdk-core 12.8.5 → 12.8.7

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.d.ts CHANGED
@@ -7,7 +7,7 @@ export * from '@paraspell/assets';
7
7
  import { TPallet, TAssetsPallet } from '@paraspell/pallets';
8
8
  export * from '@paraspell/pallets';
9
9
  import { WalletClient, formatUnits as formatUnits$1, parseUnits as parseUnits$1 } from 'viem';
10
- import * as _paraspell_xcm_router from '@paraspell/xcm-router';
10
+ import * as _paraspell_swap from '@paraspell/swap';
11
11
 
12
12
  type WithApi<TBase, TApi, TRes, TSigner> = TBase & {
13
13
  api: IPolkadotApi<TApi, TRes, TSigner>;
@@ -607,11 +607,11 @@ declare const TRANSACT_ORIGINS: readonly ["Native", "SovereignAccount", "Superus
607
607
  declare const EXCHANGE_CHAINS: readonly ["AssetHubPolkadotDex", "AssetHubKusamaDex", "AssetHubPaseoDex", "AssetHubWestendDex", "HydrationDex", "KaruraDex", "AcalaDex", "BifrostKusamaDex", "BifrostPolkadotDex"];
608
608
 
609
609
  type TExchangeChain = (typeof EXCHANGE_CHAINS)[number];
610
- type TExchangeInput = TExchangeChain | [TExchangeChain, ...TExchangeChain[]] | undefined;
610
+ type TExchangeInput$1 = TExchangeChain | [TExchangeChain, ...TExchangeChain[]] | undefined;
611
611
  type TSwapOptions<TApi, TRes, TSigner> = {
612
612
  currencyTo: TCurrencyCore;
613
- exchange: TExchangeInput;
614
- slippage: number;
613
+ exchange?: TExchangeInput$1;
614
+ slippage?: number;
615
615
  evmSenderAddress?: string;
616
616
  evmSigner?: TSigner;
617
617
  onStatusChange?: TStatusChangeCallback<TApi, TRes>;
@@ -1218,7 +1218,7 @@ declare class GeneralBuilder<TApi, TRes, TSigner, T extends Partial<TSendBaseOpt
1218
1218
  * @throws \{UnableToComputeError\} Thrown when the receivable amount cannot be determined.
1219
1219
  */
1220
1220
  getReceivableAmount(this: GeneralBuilder<TApi, TRes, TSigner, TSendBaseOptionsWithSenderAddress<TApi, TRes, TSigner>>): Promise<bigint>;
1221
- getBestAmountOut(this: GeneralBuilder<TApi, TRes, TSigner, TSendBaseOptionsWithSwap<TApi, TRes, TSigner>>): Promise<_paraspell_xcm_router.TGetBestAmountOutResult>;
1221
+ getBestAmountOut(this: GeneralBuilder<TApi, TRes, TSigner, TSendBaseOptionsWithSwap<TApi, TRes, TSigner>>): Promise<_paraspell_swap.TGetBestAmountOutResult>;
1222
1222
  signAndSubmit(this: GeneralBuilder<TApi, TRes, TSigner, TSendBaseOptionsWithSenderAddress<TApi, TRes, TSigner> & TBuilderInternalOptions<TSigner>>): Promise<string>;
1223
1223
  /**
1224
1224
  * Returns the API instance used by the builder.
@@ -2409,10 +2409,10 @@ declare const resolveDestChain: (originChain: TSubstrateChain$1, paraId: number
2409
2409
 
2410
2410
  declare const resolveParaId: (paraId: number | undefined, destination: TDestination) => number | undefined;
2411
2411
 
2412
- declare const createRouterBuilder: <TApi, TRes, TSigner>(options: TSendOptionsWithSwap<TApi, TRes, TSigner>) => Promise<_paraspell_xcm_router.RouterBuilderCore<object & {
2412
+ declare const createRouterBuilder: <TApi, TRes, TSigner>(options: TSendOptionsWithSwap<TApi, TRes, TSigner>) => Promise<_paraspell_swap.RouterBuilderCore<object & {
2413
2413
  from: TSubstrateChain | undefined;
2414
2414
  } & {
2415
- exchange: _paraspell_xcm_router.TExchangeInput;
2415
+ exchange: TExchangeInput;
2416
2416
  } & {
2417
2417
  to: TChain | undefined;
2418
2418
  } & {
@@ -2477,4 +2477,4 @@ declare const pickCompatibleXcmVersion: (origin: TSubstrateChain$1, destination:
2477
2477
  declare const pickRouterCompatibleXcmVersion: (origin: TSubstrateChain$1 | undefined, exchangeChain: TSubstrateChain$1, destination: TChain$1 | undefined) => Version;
2478
2478
 
2479
2479
  export { AmountTooLowError, AssetClaimBuilder, BaseAssetsPallet, BatchMode, BatchValidationError, BridgeHaltedError, Builder, DRY_RUN_CLIENT_TIMEOUT_MS, DryRunFailedError, ETH_MAINNET_CHAIN_ID, ETH_TESTNET_CHAIN_ID, EXCHANGE_CHAINS, ExtensionNotInstalledError, FeatureTemporarilyDisabledError, GeneralBuilder, InvalidAddressError, MissingChainApiError, MissingParameterError, NoXCMSupportImplementedError, NumberFormatError, OverrideConflictError, PolkadotXcmError, PolkadotXcmExecutionError, ProviderUnavailableError, RELAY_LOCATION, RoutingResolutionError, RuntimeApiUnavailableError, ScenarioNotSupportedError, TRANSACT_ORIGINS, TX_CLIENT_TIMEOUT_MS, TransferToAhNotSupported, TypeAndThenUnavailableError, UnableToComputeError, UnsupportedOperationError, ValidationError, XTokensError, abstractDecimals, addEthereumBridgeFees, addXcmVersionHeader, applyDecimalAbstraction, assertAddressIsString, assertHasId, assertSender, assertSenderAddress, assertSwapSupport, assertToIsString, blake2b256, blake2b512, calcPreviewMintAmount, claimAssets, compareAddresses, computeFeeFromDryRun, computeFeeFromDryRunPjs, computeOverridenAmount, constructTypeAndThenCall, convertSs58, createAsset, createAssetsFilter, createBaseExecuteXcm, createBeneficiaryLocXTokens, createBeneficiaryLocation, createChainClient, createClientCache, createClientPoolHelpers, createDestination, createDirectExecuteXcm, createExecuteCall, createExecuteExchangeXcm, createId, createRouterBuilder, createTransfer, createTransferOrSwap, createTransferOrSwapAll, createTxOverrideAmount, createTypeAndThenCall, createTypeThenAutoReserve, createVersionedAssets, createVersionedDestination, createX1Payload, deriveAccountId, dryRun, dryRunInternal, dryRunOrigin, encodeSs58, executeWithRouter, formatAssetIdToERC20, formatUnits, getAssetBalanceInternal, getAssetReserveChain, getBalance, getBalanceInternal, getBridgeStatus, getChain, getChainConfig, getChainLocation, getChainProviders, getChainVersion, getEthErc20Balance, getEvmPrivateKeyHex, getFailureInfo, getLocalTransferAmount, getMinTransferableAmount, getMinTransferableAmountInternal, getMoonbeamErc20Balance, getOriginXcmFee, getOriginXcmFeeEstimate, getOriginXcmFeeInternal, getParaEthTransferFees, getParaId, getRelayChainOf, getTChain, getTransferInfo, getTransferableAmount, getTransferableAmountInternal, getXcmFee, getXcmFeeEstimate, getXcmFeeInternal, getXcmFeeOnce, handleExecuteTransfer, handleSwapExecuteTransfer, handleToAhTeleport, isConfig, isSenderSigner, keyFromWs, localizeLocation, maybeOverrideAsset, maybeOverrideAssets, normalizeAmount, overrideTxAmount, padFee, padValueBy, parseUnits, pickCompatibleXcmVersion, pickRouterCompatibleXcmVersion, resolveDestChain, resolveModuleError, resolveParaId, resolveTransferParams, reverseTransformLocation, selectXcmVersion, sortAssets, throwUnsupportedCurrency, transferMoonbeamEvm, transferMoonbeamToEth, traverseXcmHops, validateAddress, validateAssetSpecifiers, validateCurrency, validateDestination, validateDestinationAddress, validateTransact, verifyEdOnDestination, wrapTxBypass };
2480
- export type { BuildHopInfoOptions, ClientCache, HopProcessParams, HopTraversalConfig, HopTraversalResult, IPolkadotApi, IPolkadotXCMTransfer, IXTokensTransfer, OneKey, TAddress, TApiOrUrl, TApiType, TAssetClaimInternalOptions, TAssetClaimOptions, TAssetClaimOptionsBase, TBatchOptions, TBatchedSendOptions, TBifrostToken, TBridgeStatus, TBuildAllInternalRes, TBuildDestInfoOptions, TBuildInternalRes, TBuildInternalResBase, TBuilderConfig, TBuilderInternalOptions, TBuilderOptions, TBypassOptions, TCacheItem, TChainConfig, TChainConfigMap, TChainEndpoint, TChainWithApi, TClientEntry, TClientKey, TConditionalXcmFeeDetail, TConditionalXcmFeeHopInfo, TCreateBaseSwapXcmOptions, TCreateBaseTransferXcmOptions, TCreateBeneficiaryOptions, TCreateBeneficiaryXTokensOptions, TCreateEthBridgeInstructionsOptions, TCreateSwapXcmInternalOptions, TCreateSwapXcmOptions, TCreateTransferXcmOptions, TCreateTxsOptions, TDestWeight, TDestXcmFeeDetail, TDestination, TDryRunBaseOptions, TDryRunBypassOptions, TDryRunCallBaseOptions, TDryRunCallOptions, TDryRunChainFailure, TDryRunChainResult, TDryRunChainSuccess, TDryRunError, TDryRunOptions, TDryRunPreviewOptions, TDryRunResBase, TDryRunResult, TDryRunXcmBaseOptions, TDryRunXcmOptions, TEvmBuilderOptions, TEvmBuilderOptionsBase, TEvmChainFrom, TExchangeChain, TExchangeInput, TFeeType, TForeignAssetId, TForeignOrNativeAsset, TForeignOrTokenAsset, TGetAssetBalanceOptions, TGetAssetBalanceOptionsBase, TGetBalanceCommonOptions, TGetBalanceOptions, TGetBalanceOptionsBase, TGetFeeForDestChainBaseOptions, TGetFeeForDestChainOptions, TGetMinTransferableAmountOptions, TGetOriginXcmFeeBaseOptions, TGetOriginXcmFeeEstimateOptions, TGetOriginXcmFeeInternalOptions, TGetOriginXcmFeeOptions, TGetReverseTxFeeOptions, TGetTransferInfoOptions, TGetTransferInfoOptionsBase, TGetTransferableAmountOptions, TGetTransferableAmountOptionsBase, TGetXcmFeeBaseOptions, TGetXcmFeeBuilderOptions, TGetXcmFeeEstimateDetail, TGetXcmFeeEstimateOptions, TGetXcmFeeEstimateResult, TGetXcmFeeInternalOptions, TGetXcmFeeOptions, TGetXcmFeeResult, THopInfo, THopTransferInfo, TMantaAsset, TModuleError, TNativeTokenAsset, TNodleAsset, TOriginFeeDetails, TOtherReserveAsset, TPaymentInfo, TPolkadotXCMTransferOptions, TPolkadotXcmMethod, TProviderEntry, TReserveAsset, TResolveHopParams, TScenario, TSelfReserveAsset, TSendBaseOptions, TSendBaseOptionsWithSenderAddress, TSendBaseOptionsWithSwap, TSendInternalOptions, TSendOptions, TSendOptionsWithSwap, TSender, TSerializeEthTransferOptions, TSerializedEthTransfer, TSerializedExtrinsics, TSerializedRuntimeApiQuery, TSerializedStateQuery, TSetBalanceRes, TStatusChangeCallback, TSwapConfig, TSwapEvent, TSwapEventType, TSwapFeeEstimates, TSwapOptions, TTransactOptions, TTransactOrigin, TTransactionContext, TTransactionType, TTransferFeeEstimates, TTransferInfo, TTransferLocalOptions, TTxFactory, TTypeAndThenCallContext, TTypeAndThenFees, TTypeAndThenOverrides, TUrl, TVerifyEdOnDestinationOptions, TVerifyEdOnDestinationOptionsBase, TWeight, TXTokensCurrencySelection, TXTokensMethod, TXTokensTransferOptions, TXcmAsset, TXcmFeeBase, TXcmFeeDetail, TXcmFeeDetailError, TXcmFeeDetailSuccess, TXcmFeeDetailWithFallback, TXcmFeeHopInfo, TXcmFeeHopResult, TXcmFeeSwapConfig, TXcmForeignAsset, TXcmPalletMethod, TXcmVersioned, TZeitgeistAsset, WithApi, WithRequiredSenderAddress, WithRequiredSwapOptions };
2480
+ export type { BuildHopInfoOptions, ClientCache, HopProcessParams, HopTraversalConfig, HopTraversalResult, IPolkadotApi, IPolkadotXCMTransfer, IXTokensTransfer, OneKey, TAddress, TApiOrUrl, TApiType, TAssetClaimInternalOptions, TAssetClaimOptions, TAssetClaimOptionsBase, TBatchOptions, TBatchedSendOptions, TBifrostToken, TBridgeStatus, TBuildAllInternalRes, TBuildDestInfoOptions, TBuildInternalRes, TBuildInternalResBase, TBuilderConfig, TBuilderInternalOptions, TBuilderOptions, TBypassOptions, TCacheItem, TChainConfig, TChainConfigMap, TChainEndpoint, TChainWithApi, TClientEntry, TClientKey, TConditionalXcmFeeDetail, TConditionalXcmFeeHopInfo, TCreateBaseSwapXcmOptions, TCreateBaseTransferXcmOptions, TCreateBeneficiaryOptions, TCreateBeneficiaryXTokensOptions, TCreateEthBridgeInstructionsOptions, TCreateSwapXcmInternalOptions, TCreateSwapXcmOptions, TCreateTransferXcmOptions, TCreateTxsOptions, TDestWeight, TDestXcmFeeDetail, TDestination, TDryRunBaseOptions, TDryRunBypassOptions, TDryRunCallBaseOptions, TDryRunCallOptions, TDryRunChainFailure, TDryRunChainResult, TDryRunChainSuccess, TDryRunError, TDryRunOptions, TDryRunPreviewOptions, TDryRunResBase, TDryRunResult, TDryRunXcmBaseOptions, TDryRunXcmOptions, TEvmBuilderOptions, TEvmBuilderOptionsBase, TEvmChainFrom, TExchangeChain, TExchangeInput$1 as TExchangeInput, TFeeType, TForeignAssetId, TForeignOrNativeAsset, TForeignOrTokenAsset, TGetAssetBalanceOptions, TGetAssetBalanceOptionsBase, TGetBalanceCommonOptions, TGetBalanceOptions, TGetBalanceOptionsBase, TGetFeeForDestChainBaseOptions, TGetFeeForDestChainOptions, TGetMinTransferableAmountOptions, TGetOriginXcmFeeBaseOptions, TGetOriginXcmFeeEstimateOptions, TGetOriginXcmFeeInternalOptions, TGetOriginXcmFeeOptions, TGetReverseTxFeeOptions, TGetTransferInfoOptions, TGetTransferInfoOptionsBase, TGetTransferableAmountOptions, TGetTransferableAmountOptionsBase, TGetXcmFeeBaseOptions, TGetXcmFeeBuilderOptions, TGetXcmFeeEstimateDetail, TGetXcmFeeEstimateOptions, TGetXcmFeeEstimateResult, TGetXcmFeeInternalOptions, TGetXcmFeeOptions, TGetXcmFeeResult, THopInfo, THopTransferInfo, TMantaAsset, TModuleError, TNativeTokenAsset, TNodleAsset, TOriginFeeDetails, TOtherReserveAsset, TPaymentInfo, TPolkadotXCMTransferOptions, TPolkadotXcmMethod, TProviderEntry, TReserveAsset, TResolveHopParams, TScenario, TSelfReserveAsset, TSendBaseOptions, TSendBaseOptionsWithSenderAddress, TSendBaseOptionsWithSwap, TSendInternalOptions, TSendOptions, TSendOptionsWithSwap, TSender, TSerializeEthTransferOptions, TSerializedEthTransfer, TSerializedExtrinsics, TSerializedRuntimeApiQuery, TSerializedStateQuery, TSetBalanceRes, TStatusChangeCallback, TSwapConfig, TSwapEvent, TSwapEventType, TSwapFeeEstimates, TSwapOptions, TTransactOptions, TTransactOrigin, TTransactionContext, TTransactionType, TTransferFeeEstimates, TTransferInfo, TTransferLocalOptions, TTxFactory, TTypeAndThenCallContext, TTypeAndThenFees, TTypeAndThenOverrides, TUrl, TVerifyEdOnDestinationOptions, TVerifyEdOnDestinationOptionsBase, TWeight, TXTokensCurrencySelection, TXTokensMethod, TXTokensTransferOptions, TXcmAsset, TXcmFeeBase, TXcmFeeDetail, TXcmFeeDetailError, TXcmFeeDetailSuccess, TXcmFeeDetailWithFallback, TXcmFeeHopInfo, TXcmFeeHopResult, TXcmFeeSwapConfig, TXcmForeignAsset, TXcmPalletMethod, TXcmVersioned, TZeitgeistAsset, WithApi, WithRequiredSenderAddress, WithRequiredSwapOptions };
package/dist/index.mjs CHANGED
@@ -4768,8 +4768,8 @@ var GeneralBuilder = /*#__PURE__*/function () {
4768
4768
  }), function (builder) {
4769
4769
  return (
4770
4770
  // We need to cast this sender because RouterBuilder expects a PAPI signer but this part of sdk-core is generic
4771
- // Will be removed in the future when we gradually move parts of xcm-router to sdk-core
4772
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any
4771
+ // Will be removed in the future when we gradually move parts of swap package to sdk-core
4772
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument
4773
4773
  builder.signer(sender).build()
4774
4774
  );
4775
4775
  });
@@ -13234,6 +13234,7 @@ var ERR_LOCATION_DEST_NOT_SUPPORTED = 'XCM Location destinations are not support
13234
13234
  * Supported exchange chains
13235
13235
  */
13236
13236
  var EXCHANGE_CHAINS = ['AssetHubPolkadotDex', 'AssetHubKusamaDex', 'AssetHubPaseoDex', 'AssetHubWestendDex', 'HydrationDex', 'KaruraDex', 'AcalaDex', 'BifrostKusamaDex', 'BifrostPolkadotDex'];
13237
+ var DEFAULT_SWAP_SLIPPAGE = 1;
13237
13238
 
13238
13239
  var EVM_DEV_PRIVATE_KEYS = {
13239
13240
  alith: '0x5fb92d6e98884f76de468fa3f6278f8807c48bebc13595d45af5bdc4da702133',
@@ -13413,42 +13414,48 @@ var convertBuilderConfig = function convertBuilderConfig(config) {
13413
13414
  };
13414
13415
  var createRouterBuilder = /*#__PURE__*/function () {
13415
13416
  var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(options) {
13416
- var _slippage$toString;
13417
+ var _options$transactOpti, _slippage$toString;
13417
13418
  var api, _yield$import, RouterBuilder, from, to, currency, _options$swapOptions, currencyTo, evmSenderAddress, exchange, slippage, onStatusChange, senderAddress, address, config, routerConfig, builder;
13418
13419
  return _regenerator().w(function (_context) {
13419
13420
  while (1) switch (_context.n) {
13420
13421
  case 0:
13421
13422
  api = options.api;
13422
- if (!(api.getType() !== 'PAPI')) {
13423
+ if (!((_options$transactOpti = options.transactOptions) !== null && _options$transactOpti !== void 0 && _options$transactOpti.call)) {
13423
13424
  _context.n = 1;
13424
13425
  break;
13425
13426
  }
13426
- throw new UnsupportedOperationError('Swaps are only supported when using PAPI SDK.');
13427
+ throw new UnsupportedOperationError('Cannot use transact options together with swap options.');
13427
13428
  case 1:
13428
- _context.n = 2;
13429
- return import('@paraspell/xcm-router');
13429
+ if (!(api.getType() !== 'PAPI')) {
13430
+ _context.n = 2;
13431
+ break;
13432
+ }
13433
+ throw new UnsupportedOperationError('Swaps are only supported when using PAPI SDK.');
13430
13434
  case 2:
13435
+ _context.n = 3;
13436
+ return import('@paraspell/swap');
13437
+ case 3:
13431
13438
  _yield$import = _context.v;
13432
13439
  RouterBuilder = _yield$import.RouterBuilder;
13433
13440
  if (RouterBuilder) {
13434
- _context.n = 3;
13441
+ _context.n = 4;
13435
13442
  break;
13436
13443
  }
13437
- throw new ExtensionNotInstalledError('XCM Router package is required for swaps. Please install @paraspell/xcm-router.');
13438
- case 3:
13444
+ throw new ExtensionNotInstalledError('XCM Router package is required for swaps. Please install @paraspell/swap.');
13445
+ case 4:
13439
13446
  from = options.from, to = options.to, currency = options.currency, _options$swapOptions = options.swapOptions, currencyTo = _options$swapOptions.currencyTo, evmSenderAddress = _options$swapOptions.evmSenderAddress, exchange = _options$swapOptions.exchange, slippage = _options$swapOptions.slippage, onStatusChange = _options$swapOptions.onStatusChange, senderAddress = options.senderAddress, address = options.address;
13440
13447
  assertToIsString(to);
13441
13448
  assertAddressIsString(address);
13442
13449
  assertSenderAddress(senderAddress);
13443
13450
  if (!Array.isArray(currency)) {
13444
- _context.n = 4;
13451
+ _context.n = 5;
13445
13452
  break;
13446
13453
  }
13447
13454
  throw new UnsupportedOperationError('Swaps with multiple currencies are not supported.');
13448
- case 4:
13455
+ case 5:
13449
13456
  config = api.getConfig();
13450
13457
  routerConfig = convertBuilderConfig(config);
13451
- builder = RouterBuilder(routerConfig).from(from).exchange(exchange).to(to).currencyFrom(currency).currencyTo(currencyTo).amount(currency.amount).senderAddress(senderAddress).evmSenderAddress(evmSenderAddress).recipientAddress(address).slippagePct((_slippage$toString = slippage.toString()) !== null && _slippage$toString !== void 0 ? _slippage$toString : '1');
13458
+ builder = RouterBuilder(routerConfig).from(from).exchange(exchange).to(to).currencyFrom(currency).currencyTo(currencyTo).amount(currency.amount).senderAddress(senderAddress).evmSenderAddress(evmSenderAddress).recipientAddress(address).slippagePct((_slippage$toString = slippage === null || slippage === void 0 ? void 0 : slippage.toString()) !== null && _slippage$toString !== void 0 ? _slippage$toString : DEFAULT_SWAP_SLIPPAGE.toString());
13452
13459
  if (onStatusChange) {
13453
13460
  // We cast because router types are bind to specific PAPI types
13454
13461
  // Will be resolved when we make RouterBuilder generic
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraspell/sdk-core",
3
- "version": "12.8.5",
3
+ "version": "12.8.7",
4
4
  "description": "SDK core for ParaSpell XCM/XCMP tool for developers",
5
5
  "repository": {
6
6
  "type": "git",
@@ -26,15 +26,15 @@
26
26
  "@noble/hashes": "^2.0.1",
27
27
  "@scure/base": "^2.0.0",
28
28
  "viem": "2.46.3",
29
- "@paraspell/pallets": "12.8.5",
30
- "@paraspell/sdk-common": "12.8.5",
31
- "@paraspell/assets": "12.8.5"
29
+ "@paraspell/assets": "12.8.7",
30
+ "@paraspell/pallets": "12.8.7",
31
+ "@paraspell/sdk-common": "12.8.7"
32
32
  },
33
33
  "peerDependencies": {
34
- "@paraspell/xcm-router": "12.8.3"
34
+ "@paraspell/swap": "^12.0.0"
35
35
  },
36
36
  "peerDependenciesMeta": {
37
- "@paraspell/xcm-router": {
37
+ "@paraspell/swap": {
38
38
  "optional": true
39
39
  }
40
40
  },