@paraspell/sdk-core 10.5.2 → 10.7.0

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
@@ -2,7 +2,7 @@ import * as _paraspell_sdk_common from '@paraspell/sdk-common';
2
2
  import { TMultiLocation, TNodeDotKsmWithRelayChains, TNodeWithRelayChains, Version, TNodePolkadotKusama, TNode, TJunction, TEcosystemType, TJunctions } from '@paraspell/sdk-common';
3
3
  export * from '@paraspell/sdk-common';
4
4
  import * as _paraspell_assets from '@paraspell/assets';
5
- import { TCurrencyInputWithAmount, TCurrencyInput, WithAmount, TAsset, TMultiAsset, TMultiAssetWithFee, TCurrencyCore, TAmount } from '@paraspell/assets';
5
+ import { TCurrencyInputWithAmount, TCurrencyInput, WithAmount, TAsset, TMultiAsset, TMultiAssetWithFee, TCurrencyCore, TAmount, TAssetWithLocation } from '@paraspell/assets';
6
6
  export * from '@paraspell/assets';
7
7
  import { TPallet } from '@paraspell/pallets';
8
8
  export * from '@paraspell/pallets';
@@ -26,6 +26,7 @@ type TPolkadotXCMTransferOptions<TApi, TRes> = {
26
26
  asset: WithAmount<TAsset>;
27
27
  currency: TCurrencyInputWithAmount;
28
28
  feeAsset?: TAsset;
29
+ feeCurrency?: TCurrencyInput;
29
30
  destination: TDestination;
30
31
  paraIdTo?: number;
31
32
  version: Version;
@@ -38,7 +39,6 @@ type TXTokensTransferOptions<TApi, TRes> = {
38
39
  api: IPolkadotApi<TApi, TRes>;
39
40
  asset: WithAmount<TAsset>;
40
41
  destLocation: TMultiLocation;
41
- fees: number;
42
42
  scenario: TScenario;
43
43
  origin: TNodePolkadotKusama;
44
44
  destination: TDestination;
@@ -135,6 +135,7 @@ type TSendInternalOptions<TApi, TRes> = Omit<TSendBaseOptions, 'from' | 'feeAsse
135
135
  api: IPolkadotApi<TApi, TRes>;
136
136
  asset: WithAmount<TAsset>;
137
137
  feeAsset?: TAsset;
138
+ feeCurrency?: TCurrencyInput;
138
139
  overriddenAsset?: TMultiLocation | TMultiAssetWithFee[];
139
140
  version: Version;
140
141
  };
@@ -578,7 +579,13 @@ type TDryRunNodeResultInternal = TDryRunNodeSuccess | TDryRunNodeFailure;
578
579
  type TDryRunNodeResult = (TDryRunNodeSuccess & {
579
580
  currency: string;
580
581
  }) | TDryRunNodeFailure;
581
- type TDryRunChain = 'origin' | 'destination' | 'assetHub' | 'bridgeHub';
582
+ type THopInfo = {
583
+ node: TNodeWithRelayChains;
584
+ result: TDryRunNodeResultInternal & {
585
+ currency?: string;
586
+ };
587
+ };
588
+ type TDryRunChain = 'origin' | 'destination' | 'assetHub' | 'bridgeHub' | TNodeWithRelayChains;
582
589
  type TDryRunResult = {
583
590
  failureReason?: string;
584
591
  failureChain?: TDryRunChain;
@@ -586,6 +593,7 @@ type TDryRunResult = {
586
593
  destination?: TDryRunNodeResult;
587
594
  assetHub?: TDryRunNodeResult;
588
595
  bridgeHub?: TDryRunNodeResult;
596
+ hops: THopInfo[];
589
597
  };
590
598
  declare enum XTokensError {
591
599
  AssetHasNoReserve = "AssetHasNoReserve",
@@ -1280,7 +1288,6 @@ declare class AssetHubPolkadot<TApi, TRes> extends ParachainNode<TApi, TRes> imp
1280
1288
  handleLocalReserveTransfer: <TApi_1, TRes_1>(input: TPolkadotXCMTransferOptions<TApi_1, TRes_1>, useDOTAsFeeAsset?: boolean) => TRes_1;
1281
1289
  patchInput<TApi, TRes>(input: TPolkadotXCMTransferOptions<TApi, TRes>): TPolkadotXCMTransferOptions<TApi, TRes>;
1282
1290
  private getMethod;
1283
- private handleExecuteTransfer;
1284
1291
  transferPolkadotXCM<TApi, TRes>(input: TPolkadotXCMTransferOptions<TApi, TRes>): Promise<TRes>;
1285
1292
  getRelayToParaOverrides(): TRelayToParaOverrides;
1286
1293
  createCurrencySpec(amount: TAmount, scenario: TScenario, version: Version, asset?: TAsset, isOverriddenAsset?: boolean): _paraspell_assets.TMultiAsset;
@@ -1454,7 +1461,7 @@ declare class Hydration<TApi, TRes> extends ParachainNode<TApi, TRes> implements
1454
1461
  transferToPolimec<TApi, TRes>(options: TPolkadotXCMTransferOptions<TApi, TRes>): Promise<TRes>;
1455
1462
  transferPolkadotXCM<TApi, TRes>(input: TPolkadotXCMTransferOptions<TApi, TRes>): Promise<TRes>;
1456
1463
  transferXTokens<TApi, TRes>(input: TXTokensTransferOptions<TApi, TRes>): TRes;
1457
- protected canUseXTokens({ to: destination, asset }: TSendInternalOptions<TApi, TRes>): boolean;
1464
+ protected canUseXTokens({ to: destination, asset, feeAsset }: TSendInternalOptions<TApi, TRes>): boolean;
1458
1465
  transferLocalNativeAsset(options: TTransferLocalOptions<TApi, TRes>): TRes;
1459
1466
  transferLocalNonNativeAsset(options: TTransferLocalOptions<TApi, TRes>): TRes;
1460
1467
  }
@@ -1736,6 +1743,7 @@ declare const addXcmVersionHeader: <T, V extends Version>(obj: T, version: V) =>
1736
1743
 
1737
1744
  declare const assertToIsString: (to: TDestination, overrideMsg?: string) => asserts to is Exclude<TDestination, TMultiLocation>;
1738
1745
  declare const assertAddressIsString: (address: TAddress) => asserts address is Exclude<TAddress, TMultiLocation>;
1746
+ declare const assertHasLocation: (asset: TAsset) => asserts asset is TAssetWithLocation;
1739
1747
 
1740
1748
  declare const createApiInstanceForNode: <TApi, TRes>(api: IPolkadotApi<TApi, TRes>, node: TNodeDotKsmWithRelayChains) => Promise<TApi>;
1741
1749
 
@@ -1748,8 +1756,6 @@ declare const computeFeeFromDryRunPjs: (dryRun: any, node: TNodeDotKsmWithRelayC
1748
1756
 
1749
1757
  declare const resolveModuleError: (node: TNodeDotKsmWithRelayChains, error: TModuleError) => XTokensError | PolkadotXcmError;
1750
1758
 
1751
- declare const getFees: (scenario: TScenario) => number;
1752
-
1753
1759
  /**
1754
1760
  * Retrieves the node instance for a given node.
1755
1761
  *
@@ -1762,16 +1768,18 @@ declare const createBeneficiaryMultiLocation: <TApi, TRes>({ api, scenario, pall
1762
1768
 
1763
1769
  declare const createX1Payload: (version: Version, junction: TJunction) => TJunctions;
1764
1770
 
1765
- declare const reverseTransformMultiLocation: (multiLocation: TMultiLocation) => TMultiLocation;
1766
-
1767
1771
  /**
1768
- * This function transforms a multiLocation by removing the `Parachain` junction
1769
- * if it exists and setting the `parents` to `0`.
1772
+ * This function localizes a multiLocation by removing the `Parachain` junction
1773
+ * if it exists. The `parents` field is set to `0` either if a `Parachain` was removed
1774
+ * or if the resulting interior is `'Here'` and the node is a relay chain.
1770
1775
  *
1771
- * @param multiLocation - The multiLocation to transform
1772
- * @returns The transformed multiLocation
1776
+ * @param node - The current node
1777
+ * @param multiLocation - The multiLocation to localize
1778
+ * @returns The localized multiLocation
1773
1779
  */
1774
- declare const transformMultiLocation: (multiLocation: TMultiLocation) => TMultiLocation;
1780
+ declare const localizeLocation: (node: TNodeWithRelayChains, multiLocation: TMultiLocation) => TMultiLocation;
1781
+
1782
+ declare const reverseTransformMultiLocation: (multiLocation: TMultiLocation) => TMultiLocation;
1775
1783
 
1776
1784
  declare const resolveParaId: (paraId: number | undefined, destination: TDestination) => number | undefined;
1777
1785
 
@@ -1785,5 +1793,5 @@ declare const validateAddress: (address: TAddress, node: TNodeWithRelayChains, i
1785
1793
  */
1786
1794
  declare const determineRelayChain: (node: TNodeWithRelayChains) => TRelaychain;
1787
1795
 
1788
- export { AssetClaimBuilder, BatchMode, BridgeHaltedError, Builder, DRY_RUN_CLIENT_TIMEOUT_MS, DryRunFailedError, ETHEREUM_JUNCTION, ETH_CHAIN_ID, GeneralBuilder, IncompatibleNodesError, InvalidAddressError, InvalidParameterError, NoXCMSupportImplementedError, NodeNotSupportedError, PolkadotXcmError, ScenarioNotSupportedError, TX_CLIENT_TIMEOUT_MS, TransferToAhNotSupported, UnableToComputeError, XTokensError, addXcmVersionHeader, assertAddressIsString, assertToIsString, blake2b256, blake2b512, claimAssets, computeFeeFromDryRun, computeFeeFromDryRunPjs, convertSs58, createApiInstanceForNode, createBeneficiary, createBeneficiaryMultiLocation, createVersionedBeneficiary, createX1Payload, deriveAccountId, determineRelayChain, dryRun, dryRunOrigin, encodeSs58, getAssetBalance, getAssetBalanceInternal, getBalanceForeign, getBalanceForeignInternal, getBalanceNative, getBalanceNativeInternal, getBridgeStatus, getFees, getNode, getNodeConfig, getNodeProviders, getOriginFeeDetails, getOriginFeeDetailsInternal, getOriginXcmFee, getOriginXcmFeeEstimate, getParaEthTransferFees, getParaId, getTNode, getTransferInfo, getTransferableAmount, getTransferableAmountInternal, getXcmFee, getXcmFeeEstimate, resolveModuleError, resolveParaId, reverseTransformMultiLocation, send, transferMoonbeamEvm, transferMoonbeamToEth, transferRelayToPara, transformMultiLocation, validateAddress, verifyEdOnDestination };
1789
- export type { IPolkadotApi, IPolkadotXCMTransfer, IXTokensTransfer, IXTransferTransfer, OneKey, TAddress, TApiOrUrl, TAssetClaimOptions, TAssetClaimOptionsBase, TBalanceResponse, TBatchOptions, TBifrostToken, TBridgeStatus, TCreateBeneficiaryOptions, TDestWeight, TDestination, TDryRunBaseOptions, TDryRunCallBaseOptions, TDryRunCallOptions, TDryRunChain, TDryRunNodeFailure, TDryRunNodeResult, TDryRunNodeResultInternal, TDryRunNodeSuccess, TDryRunOptions, TDryRunResult, TDryRunXcmBaseOptions, TDryRunXcmOptions, TEdJsonMap, TEvmBuilderOptions, TEvmBuilderOptionsBase, TEvmNodeFrom, TFeeType, TForeignAssetId, TForeignOrNativeAsset, TForeignOrTokenAsset, TGetAssetBalanceOptions, TGetAssetBalanceOptionsBase, TGetBalanceForeignOptions, TGetBalanceForeignOptionsBase, TGetBalanceNativeOptions, TGetBalanceNativeOptionsBase, TGetFeeForDestNodeBaseOptions, TGetFeeForDestNodeOptions, TGetMaxForeignTransferableAmountOptions, TGetMaxForeignTransferableAmountOptionsBase, TGetMaxNativeTransferableAmountOptions, TGetMaxNativeTransferableAmountOptionsBase, TGetOriginFeeDetailsOptions, TGetOriginFeeDetailsOptionsBase, TGetOriginXcmFeeBaseOptions, TGetOriginXcmFeeEstimateOptions, TGetOriginXcmFeeOptions, TGetReverseTxFeeOptions, TGetTransferInfoOptions, TGetTransferInfoOptionsBase, TGetTransferableAmountOptions, TGetTransferableAmountOptionsBase, TGetXcmFeeBaseOptions, TGetXcmFeeBuilderOptions, TGetXcmFeeEstimateDetail, TGetXcmFeeEstimateOptions, TGetXcmFeeEstimateResult, TGetXcmFeeOptions, TGetXcmFeeResult, THubKey, TMantaAsset, TModuleError, TNativeTokenAsset, TNodeConfig, TNodeConfigMap, TNodleAsset, TOriginFeeDetails, TOtherReserveAsset, TPolkadotXCMTransferOptions, TPolkadotXcmMethod, TProviderEntry, TRelayToParaDestination, TRelayToParaOptions, TRelayToParaOverrides, TRelaychain, TReserveAsset, TScenario, TSelfReserveAsset, TSendBaseOptions, TSendBaseOptionsWithSenderAddress, TSendInternalOptions, TSendOptions, TSerializeEthTransferOptions, TSerializedApiCall, TSerializedEthTransfer, TTransferInfo, TTransferLocalOptions, TVerifyEdOnDestinationOptions, TVerifyEdOnDestinationOptionsBase, TWeight, TXTokensCurrencySelection, TXTokensMethod, TXTokensTransferOptions, TXTransferMethod, TXTransferTransferOptions, TXcmAsset, TXcmFeeBase, TXcmFeeChain, TXcmFeeDetail, TXcmForeignAsset, TXcmPalletMethod, TXcmVersioned, TZeitgeistAsset, WithApi, WithRequiredSenderAddress };
1796
+ export { AssetClaimBuilder, BatchMode, BridgeHaltedError, Builder, DRY_RUN_CLIENT_TIMEOUT_MS, DryRunFailedError, ETHEREUM_JUNCTION, ETH_CHAIN_ID, GeneralBuilder, IncompatibleNodesError, InvalidAddressError, InvalidParameterError, NoXCMSupportImplementedError, NodeNotSupportedError, PolkadotXcmError, ScenarioNotSupportedError, TX_CLIENT_TIMEOUT_MS, TransferToAhNotSupported, UnableToComputeError, XTokensError, addXcmVersionHeader, assertAddressIsString, assertHasLocation, assertToIsString, blake2b256, blake2b512, claimAssets, computeFeeFromDryRun, computeFeeFromDryRunPjs, convertSs58, createApiInstanceForNode, createBeneficiary, createBeneficiaryMultiLocation, createVersionedBeneficiary, createX1Payload, deriveAccountId, determineRelayChain, dryRun, dryRunOrigin, encodeSs58, getAssetBalance, getAssetBalanceInternal, getBalanceForeign, getBalanceForeignInternal, getBalanceNative, getBalanceNativeInternal, getBridgeStatus, getNode, getNodeConfig, getNodeProviders, getOriginFeeDetails, getOriginFeeDetailsInternal, getOriginXcmFee, getOriginXcmFeeEstimate, getParaEthTransferFees, getParaId, getTNode, getTransferInfo, getTransferableAmount, getTransferableAmountInternal, getXcmFee, getXcmFeeEstimate, localizeLocation, resolveModuleError, resolveParaId, reverseTransformMultiLocation, send, transferMoonbeamEvm, transferMoonbeamToEth, transferRelayToPara, validateAddress, verifyEdOnDestination };
1797
+ export type { IPolkadotApi, IPolkadotXCMTransfer, IXTokensTransfer, IXTransferTransfer, OneKey, TAddress, TApiOrUrl, TAssetClaimOptions, TAssetClaimOptionsBase, TBalanceResponse, TBatchOptions, TBifrostToken, TBridgeStatus, TCreateBeneficiaryOptions, TDestWeight, TDestination, TDryRunBaseOptions, TDryRunCallBaseOptions, TDryRunCallOptions, TDryRunChain, TDryRunNodeFailure, TDryRunNodeResult, TDryRunNodeResultInternal, TDryRunNodeSuccess, TDryRunOptions, TDryRunResult, TDryRunXcmBaseOptions, TDryRunXcmOptions, TEdJsonMap, TEvmBuilderOptions, TEvmBuilderOptionsBase, TEvmNodeFrom, TFeeType, TForeignAssetId, TForeignOrNativeAsset, TForeignOrTokenAsset, TGetAssetBalanceOptions, TGetAssetBalanceOptionsBase, TGetBalanceForeignOptions, TGetBalanceForeignOptionsBase, TGetBalanceNativeOptions, TGetBalanceNativeOptionsBase, TGetFeeForDestNodeBaseOptions, TGetFeeForDestNodeOptions, TGetMaxForeignTransferableAmountOptions, TGetMaxForeignTransferableAmountOptionsBase, TGetMaxNativeTransferableAmountOptions, TGetMaxNativeTransferableAmountOptionsBase, TGetOriginFeeDetailsOptions, TGetOriginFeeDetailsOptionsBase, TGetOriginXcmFeeBaseOptions, TGetOriginXcmFeeEstimateOptions, TGetOriginXcmFeeOptions, TGetReverseTxFeeOptions, TGetTransferInfoOptions, TGetTransferInfoOptionsBase, TGetTransferableAmountOptions, TGetTransferableAmountOptionsBase, TGetXcmFeeBaseOptions, TGetXcmFeeBuilderOptions, TGetXcmFeeEstimateDetail, TGetXcmFeeEstimateOptions, TGetXcmFeeEstimateResult, TGetXcmFeeOptions, TGetXcmFeeResult, THopInfo, THubKey, TMantaAsset, TModuleError, TNativeTokenAsset, TNodeConfig, TNodeConfigMap, TNodleAsset, TOriginFeeDetails, TOtherReserveAsset, TPolkadotXCMTransferOptions, TPolkadotXcmMethod, TProviderEntry, TRelayToParaDestination, TRelayToParaOptions, TRelayToParaOverrides, TRelaychain, TReserveAsset, TScenario, TSelfReserveAsset, TSendBaseOptions, TSendBaseOptionsWithSenderAddress, TSendInternalOptions, TSendOptions, TSerializeEthTransferOptions, TSerializedApiCall, TSerializedEthTransfer, TTransferInfo, TTransferLocalOptions, TVerifyEdOnDestinationOptions, TVerifyEdOnDestinationOptionsBase, TWeight, TXTokensCurrencySelection, TXTokensMethod, TXTokensTransferOptions, TXTransferMethod, TXTransferTransferOptions, TXcmAsset, TXcmFeeBase, TXcmFeeChain, TXcmFeeDetail, TXcmForeignAsset, TXcmPalletMethod, TXcmVersioned, TZeitgeistAsset, WithApi, WithRequiredSenderAddress };