@paraspell/sdk-core 13.8.0 → 13.9.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
@@ -121,6 +121,23 @@ declare abstract class PolkadotApi<TApi, TRes, TSigner, TCustomChain extends str
121
121
  private maybeHydrateCustomChain;
122
122
  }
123
123
 
124
+ type TSetBalanceRes = {
125
+ assetStatusTx?: TSerializedExtrinsics;
126
+ balanceTx: TSerializedExtrinsics;
127
+ };
128
+ type TMintConfig = {
129
+ useIdPrefix?: boolean;
130
+ useLocationId?: boolean;
131
+ useBigIntId?: boolean;
132
+ useCustomCurrencyId?: boolean;
133
+ };
134
+ declare abstract class BaseAssetsPallet {
135
+ protected palletName: TAssetsPallet;
136
+ constructor(palletName: TAssetsPallet);
137
+ abstract mint<TApi, TRes, TSigner, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, address: string, assetInfo: WithAmount<TAssetInfo>, balance: bigint, chain: Chain<TApi, TRes, TSigner, TCustomChain>): Promise<TSetBalanceRes>;
138
+ abstract getBalance<TApi, TRes, TSigner, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, address: string, asset: TAssetInfo, customCurrencyId?: unknown): Promise<bigint>;
139
+ }
140
+
124
141
  declare abstract class Chain<TApi, TRes, TSigner, TCustomChain extends string = never> {
125
142
  private readonly _chain;
126
143
  private readonly _info;
@@ -148,6 +165,9 @@ declare abstract class Chain<TApi, TRes, TSigner, TCustomChain extends string =
148
165
  getCustomCurrencyId(_api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, _asset: TAssetInfo): unknown;
149
166
  getBalanceForeign(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, address: string, asset: TAssetInfo): Promise<bigint>;
150
167
  getBalance(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, address: string, asset: TAssetInfo): Promise<bigint>;
168
+ mint(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, address: string, assetInfo: WithAmount<TAssetInfo>, balance: bigint): Promise<TSetBalanceRes>;
169
+ resolveMintConfig(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>): TMintConfig;
170
+ protected getMintConfig(): TMintConfig;
151
171
  }
152
172
 
153
173
  declare class Acala<TApi, TRes, TSigner> extends Chain<TApi, TRes, TSigner> implements IPolkadotXCMTransfer<TApi, TRes, TSigner> {
@@ -157,6 +177,7 @@ declare class Acala<TApi, TRes, TSigner> extends Chain<TApi, TRes, TSigner> impl
157
177
  transferLocalNativeAsset(options: TTransferLocalOptions<TApi, TRes, TSigner>): Promise<TRes>;
158
178
  transferLocalNonNativeAsset(options: TTransferLocalOptions<TApi, TRes, TSigner>): TRes;
159
179
  getCustomCurrencyId<TCustomChain extends string = never>(_api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, asset: TAssetInfo): TForeignOrTokenAsset;
180
+ protected getMintConfig(): TMintConfig;
160
181
  getBalance(api: PolkadotApi<TApi, TRes, TSigner>, address: string, asset: TAssetInfo): Promise<bigint>;
161
182
  }
162
183
 
@@ -195,6 +216,7 @@ declare class AssetHubWestend<TApi, TRes, TSigner> extends AssetHubPolkadot<TApi
195
216
 
196
217
  declare class Astar<TApi, TRes, TSigner> extends Chain<TApi, TRes, TSigner> implements IPolkadotXCMTransfer<TApi, TRes, TSigner> {
197
218
  constructor(chain?: TParachain, info?: string, ecosystem?: TRelaychain, version?: Version);
219
+ protected getMintConfig(): TMintConfig;
198
220
  transferPolkadotXCM(input: TPolkadotXCMTransferOptions<TApi, TRes, TSigner>): Promise<TRes>;
199
221
  isRelayToParaEnabled(): boolean;
200
222
  transferLocalNonNativeAsset(options: TTransferLocalOptions<TApi, TRes, TSigner>): TRes;
@@ -202,6 +224,7 @@ declare class Astar<TApi, TRes, TSigner> extends Chain<TApi, TRes, TSigner> impl
202
224
 
203
225
  declare class Hydration<TApi, TRes, TSigner> extends Chain<TApi, TRes, TSigner> implements IPolkadotXCMTransfer<TApi, TRes, TSigner> {
204
226
  constructor(chain?: TParachain, info?: string, ecosystem?: TRelaychain, version?: Version);
227
+ protected getMintConfig(): TMintConfig;
205
228
  transferPolkadotXCM(input: TPolkadotXCMTransferOptions<TApi, TRes, TSigner>): Promise<TRes>;
206
229
  transferMoonbeamWhAsset<TApi, TRes, TSigner>(input: TPolkadotXCMTransferOptions<TApi, TRes, TSigner>): Promise<TRes>;
207
230
  transferLocalNativeAsset(options: TTransferLocalOptions<TApi, TRes, TSigner>): Promise<TRes>;
@@ -258,6 +281,7 @@ declare class BifrostPolkadot<TApi, TRes, TSigner> extends Chain<TApi, TRes, TSi
258
281
  VSToken2?: undefined;
259
282
  VToken2?: undefined;
260
283
  };
284
+ protected getMintConfig(): TMintConfig;
261
285
  transferPolkadotXCM(options: TPolkadotXCMTransferOptions<TApi, TRes, TSigner>): Promise<TRes>;
262
286
  transferLocalNonNativeAsset(options: TTransferLocalOptions<TApi, TRes, TSigner>): TRes;
263
287
  }
@@ -348,6 +372,7 @@ declare class CrustShadow<TApi, TRes, TSigner> extends Chain<TApi, TRes, TSigner
348
372
 
349
373
  declare class Darwinia<TApi, TRes, TSigner> extends Chain<TApi, TRes, TSigner> implements IPolkadotXCMTransfer<TApi, TRes, TSigner> {
350
374
  constructor();
375
+ protected getMintConfig(): TMintConfig;
351
376
  transferPolkadotXCM(input: TPolkadotXCMTransferOptions<TApi, TRes, TSigner>): Promise<TRes>;
352
377
  transferLocalNonNativeAsset(options: TTransferLocalOptions<TApi, TRes, TSigner>): TRes;
353
378
  }
@@ -361,6 +386,7 @@ declare class EnergyWebX<TApi, TRes, TSigner> extends Chain<TApi, TRes, TSigner>
361
386
  constructor(chain?: TParachain, info?: string, ecosystem?: TRelaychain, version?: Version);
362
387
  transferPolkadotXCM(input: TPolkadotXCMTransferOptions<TApi, TRes, TSigner>): Promise<TRes>;
363
388
  isRelayToParaEnabled(): boolean;
389
+ protected getMintConfig(): TMintConfig;
364
390
  getBalanceForeign<TApi, TRes, TSigner>(api: PolkadotApi<TApi, TRes, TSigner>, address: string, asset: TAssetInfo): Promise<bigint>;
365
391
  }
366
392
 
@@ -445,6 +471,7 @@ declare class Mythos<TApi, TRes, TSigner> extends Chain<TApi, TRes, TSigner> imp
445
471
 
446
472
  declare class NeuroWeb<TApi, TRes, TSigner> extends Chain<TApi, TRes, TSigner> implements IPolkadotXCMTransfer<TApi, TRes, TSigner> {
447
473
  constructor(chain?: TParachain, info?: string, ecosystem?: TRelaychain, version?: Version);
474
+ protected getMintConfig(): TMintConfig;
448
475
  transferPolkadotXCM(input: TPolkadotXCMTransferOptions<TApi, TRes, TSigner>): Promise<TRes>;
449
476
  transferLocalNativeAsset(options: TTransferLocalOptions<TApi, TRes, TSigner>): Promise<TRes>;
450
477
  transferLocalNonNativeAsset(options: TTransferLocalOptions<TApi, TRes, TSigner>): TRes;
@@ -498,6 +525,8 @@ declare class PeopleWestend<TApi, TRes, TSigner> extends PeoplePolkadot<TApi, TR
498
525
  declare class Quartz<TApi, TRes, TSigner> extends Chain<TApi, TRes, TSigner> implements IPolkadotXCMTransfer<TApi, TRes, TSigner> {
499
526
  constructor();
500
527
  transferPolkadotXCM(input: TPolkadotXCMTransferOptions<TApi, TRes, TSigner>): Promise<TRes>;
528
+ transferLocalNonNativeAsset(options: TTransferLocalOptions<TApi, TRes, TSigner>): TRes;
529
+ getBalanceForeign<TApi, TRes, TSigner>(api: PolkadotApi<TApi, TRes, TSigner>, address: string, asset: TAssetInfo): Promise<bigint>;
501
530
  isSendingTempDisabled(): boolean;
502
531
  }
503
532
 
@@ -514,7 +543,7 @@ declare class Shiden<TApi, TRes, TSigner> extends Astar<TApi, TRes, TSigner> {
514
543
  declare class Unique<TApi, TRes, TSigner> extends Chain<TApi, TRes, TSigner> implements IPolkadotXCMTransfer<TApi, TRes, TSigner> {
515
544
  constructor();
516
545
  transferPolkadotXCM(input: TPolkadotXCMTransferOptions<TApi, TRes, TSigner>): Promise<TRes>;
517
- transferLocalNonNativeAsset(_options: TTransferLocalOptions<TApi, TRes, TSigner>): TRes;
546
+ transferLocalNonNativeAsset(options: TTransferLocalOptions<TApi, TRes, TSigner>): TRes;
518
547
  getBalanceForeign<TApi, TRes, TSigner>(api: PolkadotApi<TApi, TRes, TSigner>, address: string, asset: TAssetInfo): Promise<bigint>;
519
548
  }
520
549
 
@@ -1195,10 +1224,8 @@ type TDryRunChainSuccess = TDryRunResBase & {
1195
1224
  forwardedXcms: any;
1196
1225
  destParaId?: number;
1197
1226
  };
1198
- type TDryRunChainFailure = TDryRunResBase & {
1227
+ type TDryRunChainFailure = TDryRunResBase & TDryRunError & {
1199
1228
  success: false;
1200
- failureReason: string;
1201
- failureSubReason?: string;
1202
1229
  };
1203
1230
  type TDryRunChainResult = TDryRunChainSuccess | TDryRunChainFailure;
1204
1231
  type THopInfo = {
@@ -1206,10 +1233,10 @@ type THopInfo = {
1206
1233
  result: TDryRunChainResult;
1207
1234
  };
1208
1235
  type TChainEndpoint = 'origin' | 'destination' | TChain;
1209
- type TDryRunResult = {
1210
- failureReason?: string;
1211
- failureSubReason?: string;
1236
+ type TDryRunFailureInfo = Partial<TDryRunError> & {
1212
1237
  failureChain?: TChainEndpoint;
1238
+ };
1239
+ type TDryRunResult = TDryRunFailureInfo & {
1213
1240
  origin: TDryRunChainResult;
1214
1241
  destination?: TDryRunChainResult;
1215
1242
  hops: THopInfo[];
@@ -1365,6 +1392,7 @@ type TModuleError = {
1365
1392
  type TDryRunError = {
1366
1393
  failureReason: string;
1367
1394
  failureSubReason?: string;
1395
+ failureIndex?: number;
1368
1396
  };
1369
1397
 
1370
1398
  declare class AmountTooLowError extends Error {
@@ -2241,17 +2269,6 @@ type TAssetClaimInternalOptions<TApi, TRes, TSigner> = TAssetClaimOptions<TApi,
2241
2269
  assets: TAsset<bigint>[];
2242
2270
  };
2243
2271
 
2244
- type TSetBalanceRes = {
2245
- assetStatusTx?: TSerializedExtrinsics;
2246
- balanceTx: TSerializedExtrinsics;
2247
- };
2248
- declare abstract class BaseAssetsPallet {
2249
- protected palletName: TAssetsPallet;
2250
- constructor(palletName: TAssetsPallet);
2251
- abstract mint<TApi, TRes, TSigner, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, address: string, assetInfo: WithAmount<TAssetInfo>, balance: bigint, chain: TSubstrateChain | TCustomChain): Promise<TSetBalanceRes>;
2252
- abstract getBalance<TApi, TRes, TSigner, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, address: string, asset: TAssetInfo, customCurrencyId?: unknown): Promise<bigint>;
2253
- }
2254
-
2255
2272
  type OneKey<K extends string, V = unknown> = {
2256
2273
  [P in K]: Record<P, V> & Partial<Record<Exclude<K, P>, never>> extends infer O ? {
2257
2274
  [Q in keyof O]: O[Q];
@@ -2418,7 +2435,7 @@ declare const dryRunInternal: <TApi, TRes, TSigner, TCustomChain extends string
2418
2435
 
2419
2436
  declare const dryRunOrigin: <TApi, TRes, TSigner>(options: TDryRunCallOptions<TApi, TRes, TSigner>) => Promise<TDryRunChainResult>;
2420
2437
 
2421
- declare const getFailureInfo: (result: TDryRunResult) => Pick<TDryRunResult, "failureReason" | "failureSubReason" | "failureChain">;
2438
+ declare const getFailureInfo: (result: TDryRunResult) => TDryRunFailureInfo;
2422
2439
 
2423
2440
  declare const traverseXcmHops: <TApi, TRes, TSigner, THopResult, TCustomChain extends string = never>(config: HopTraversalConfig<TApi, TRes, TSigner, THopResult, TCustomChain>) => Promise<HopTraversalResult<THopResult, TCustomChain>>;
2424
2441
  declare const addEthereumBridgeFees: <TApi, TRes, TSigner, TResult extends {
@@ -2542,6 +2559,8 @@ declare const formatAssetIdToERC20: (id: string) => string;
2542
2559
  declare const maybeOverrideAssets: (version: Version, amount: bigint, assets: TAsset[], overriddenCurrency?: TLocation | TAsset[]) => TAsset | TAsset[];
2543
2560
  declare const maybeOverrideAsset: (version: Version, amount: bigint, asset: TAsset, overriddenCurrency?: TLocation | TAsset[]) => TAsset;
2544
2561
 
2562
+ declare const pickOtherMintPallet: (asset: TAssetInfo, pallets: TAssetsPallet[]) => TAssetsPallet;
2563
+
2545
2564
  declare const sortAssets: <T extends TAsset>(assets: T[]) => T[];
2546
2565
 
2547
2566
  declare const computeOverridenAmount: <TApi, TRes, TSigner, TCustomChain extends string = never>(options: TCreateTxsOptions<TApi, TRes, TSigner, TCustomChain>, increaseAmount: string, relative?: boolean) => number | bigint;
@@ -2621,6 +2640,13 @@ declare const resolveDestChain: <TApi, TRes, TSigner, TCustomChain extends strin
2621
2640
 
2622
2641
  declare const resolveParaId: <TApi, TRes, TSigner, TCustomChain extends string = never>(paraId: number | undefined, destination: TDestination, api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>) => number | undefined;
2623
2642
 
2643
+ /**
2644
+ * Checks if a given chain is a supported exchange chain.
2645
+ *
2646
+ * @param chain - The chain to check.
2647
+ * @returns True if the chain is a supported exchange chain; otherwise, false.
2648
+ */
2649
+ declare const isExchange: (chain: string) => chain is TExchangeChain;
2624
2650
  declare const convertBuilderConfig: <TApi>(config: TBuilderOptions<TApiOrUrl<TApi>> | undefined) => TBuilderConfig<TUrl> | undefined;
2625
2651
  declare const createSwapBuilder: <TApi, TRes, TSigner, TCustomChain extends string = never>(options: TTransferOptionsWithSwap<TApi, TRes, TSigner, TCustomChain>) => TSwapBuilder<TApi, TRes, TSigner>;
2626
2652
  declare const executeWithSwap: <TApi, TRes, TSigner, T, TCustomChain extends string = never>(options: TTransferOptionsWithSwap<TApi, TRes, TSigner, TCustomChain>, executor: (builder: TSwapBuilder<TApi, TRes, TSigner>) => Promise<T>) => Promise<T>;
@@ -2670,5 +2696,5 @@ declare const selectXcmVersion: (forcedVersion: Version | undefined, originVersi
2670
2696
  declare const pickCompatibleXcmVersion: <TApi, TRes, TSigner, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, origin: TSubstrateChain | TCustomChain, destination: TDestination, override?: Version) => Version;
2671
2697
  declare const pickRouterCompatibleXcmVersion: <TApi, TRes, TSigner, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, origin: TSubstrateChain | undefined, exchangeChain: TSubstrateChain, destination: TChain | undefined) => Version;
2672
2698
 
2673
- export { API_TYPES, AmountTooLowError, ApiNotInitializedError, AssetClaimBuilder, BaseAssetsPallet, BatchMode, BatchValidationError, BridgeHaltedError, Builder, CustomChainConflictError, CustomChainInvalidError, DEFAULT_TTL_MS, DRY_RUN_CLIENT_TIMEOUT_MS, DryRunFailedError, ETH_MAINNET_CHAIN_ID, ETH_TESTNET_CHAIN_ID, EXCHANGE_CHAINS, EXTENSION_MS, ExtensionNotInstalledError, FeatureTemporarilyDisabledError, GeneralBuilder, InvalidAddressError, MAX_CLIENTS, MissingChainApiError, MissingParameterError, NoXCMSupportImplementedError, NumberFormatError, OverrideConflictError, PolkadotApi, PolkadotXcmError, PolkadotXcmExecutionError, ProviderUnavailableError, RELAY_LOCATION, RoutingResolutionError, RuntimeApiError, RuntimeApiUnavailableError, ScenarioNotSupportedError, SubmitTransactionError, TRANSACT_ORIGINS, TX_CLIENT_TIMEOUT_MS, TransferToAhNotSupported, TypeAndThenUnavailableError, UnableToComputeError, UnsupportedOperationError, ValidationError, XTokensError, abstractDecimals, addEthereumBridgeFees, addXcmVersionHeader, aggregateHopFees, applyDecimalAbstraction, assertAddressIsString, assertCurrencyCore, assertEvmAddress, assertExtensionInstalled, assertHasId, assertNotEvmTransfer, assertNotRawAssets, assertSender, assertSenderSource, assertSubstrateOrigin, assertSwapSupport, assertToIsString, blake2b256, blake2b512, buildCustomChainAssetsInfo, buildCustomChainConfig, buildDestInfo, buildHopInfo, buildOriginInfo, calcPreviewMintAmount, claimAssets, compareAddresses, computeOverridenAmount, constructTypeAndThenCall, convertBuilderConfig, convertSs58, createAsset, createAssetId, createAssetsFilter, createBaseExecuteXcm, createBeneficiaryLocXTokens, createBeneficiaryLocation, createChainClient, createClientCache, createClientPoolHelpers, createCustomXcmOnDest, createDestination, createDirectExecuteXcm, createEthereumBridgeInstructions, createExecuteCall, createExecuteExchangeXcm, createSwapBuilder, createTransfer, createTransferOrSwap, createTransferOrSwapAll, createTxOverrideAmount, createTypeAndThenCall, createTypeThenAutoReserve, createVersionedAssets, createVersionedDestination, createX1Payload, deriveAccountId, dryRun, dryRunInternal, dryRunOrigin, encodeSs58, executeWithSwap, formatAssetIdToERC20, formatUnits, generateMessageId, getAssetBalanceInternal, getAssetReserveChain, getAssetReserveChainImpl, getBalance, getBalanceInternal, getBridgeStatus, getChain, getChainConfig, getChainConfigImpl, getChainLocation, getChainProviders, getChainProvidersImpl, getChainVersion, getEthErc20Balance, getEvmExtensionOrThrow, getEvmPrivateKeyHex, getEvmSnowbridgeExtensionOrThrow, getFailureInfo, getLocalTransferAmount, getMinTransferableAmount, getMinTransferableAmountInternal, getMoonbeamErc20Balance, getOriginXcmFee, getOriginXcmFeeInternal, getParaEthTransferFees, getParaId, getParaIdImpl, getRelayChainOf, getRelayChainOfImpl, getRelayChainSymbolOf, getSwapExtensionOrThrow, getTChain, getTransferInfo, getTransferableAmount, getTransferableAmountInternal, getXcmFee, getXcmFeeInternal, getXcmFeeOnce, handleExecuteTransfer, handleSwapExecuteTransfer, handleToAhTeleport, isConfig, isSenderSigner, isViemSigner, keyFromWs, localizeLocation, localizeLocationImpl, maybeOverrideAsset, maybeOverrideAssets, normalizeAmount, normalizeCustomChains, normalizeExchange, overrideTxAmount, padFee, padValueBy, parseUnits, pickCompatibleXcmVersion, pickRouterCompatibleXcmVersion, registerEvmExtension, registerEvmSnowbridgeExtension, registerSwapExtension, resolveAssetCount, resolveDestChain, resolveModuleError, resolveParaId, resolveTransferParams, reverseTransformLocation, selectXcmVersion, sortAssets, throwUnsupportedCurrency, transferMoonbeamEvm, transferMoonbeamToEth, traverseXcmHops, validateAddress, validateAssetSpecifiers, validateCurrency, validateDestination, validateDestinationAddress, validateTransact, verifyEdOnDestination, wrapTxBypass };
2674
- export type { BuildHopInfoOptions, ClientCache, HopProcessParams, HopTraversalConfig, HopTraversalResult, IPolkadotXCMTransfer, IXTokensTransfer, OneKey, TAddress, TApiOrUrl, TApiType, TAssetClaimInternalOptions, TAssetClaimOptions, TAssetClaimOptionsBase, TBatchOptions, TBatchedTransferOptions, TBifrostToken, TBridgeStatus, TBuildAllInternalRes, TBuildDestInfoOptions, TBuildEvmTransferOptions, TBuildInternalRes, TBuildInternalResBase, TBuildOriginInfoOptions, TBuilderConfig, TBuilderInternalOptions, TBuilderOptions, TBypassOptions, TCacheItem, TChainConfig, TChainConfigMap, TChainEndpoint, TChainWithApi, TClientEntry, TClientKey, TConditionalXcmFeeDetail, TConditionalXcmFeeHopInfo, TCreateBaseSwapXcmOptions, TCreateBaseTransferXcmOptions, TCreateBeneficiaryOptions, TCreateBeneficiaryXTokensOptions, TCreateEthBridgeInstructionsOptions, TCreateSwapXcmInternalOptions, TCreateSwapXcmOptions, TCreateTransferXcmOptions, TCreateTxsOptions, TCustomChainEntry, TCustomChainEntryHydrated, TCustomChainFrom, TCustomChainInput, TCustomChainPalletsInput, TCustomChainsCtx, TCustomChainsMap, TDestWeight, TDestination, TDryRunBaseOptions, TDryRunBypassOptions, TDryRunCallBaseOptions, TDryRunCallOptions, TDryRunChainFailure, TDryRunChainResult, TDryRunChainSuccess, TDryRunError, TDryRunOptions, TDryRunPreviewOptions, TDryRunResBase, TDryRunResult, TDryRunXcmBaseOptions, TDryRunXcmOptions, TEvmExtension, TEvmSnowbridgeExtension, TEvmTransferOptions, TEvmTransferOptionsBase, TExchangeChain, TExchangeInput, TFeeType, TForeignAssetId, TForeignOrNativeAsset, TForeignOrTokenAsset, TFullCustomCtx, TGetAssetBalanceOptions, TGetAssetBalanceOptionsBase, TGetBalanceCommonOptions, TGetBalanceOptions, TGetBalanceOptionsBase, TGetFeeForDestChainBaseOptions, TGetFeeForDestChainOptions, TGetMinTransferableAmountOptions, TGetOriginXcmFeeBaseOptions, TGetOriginXcmFeeInternalOptions, TGetOriginXcmFeeOptions, TGetReverseTxFeeOptions, TGetTransferInfoOptions, TGetTransferInfoOptionsBase, TGetTransferableAmountOptions, TGetTransferableAmountOptionsBase, TGetXcmFeeBaseOptions, TGetXcmFeeBuilderOptions, TGetXcmFeeInternalOptions, TGetXcmFeeOptions, TGetXcmFeeResult, THopInfo, THopTransferInfo, TModuleError, TNativeTokenAsset, TOriginFeeDetails, TOriginXcmFeeInfo, TOtherReserveAsset, TPaymentInfo, TPerAssetResult, TPolkadotXCMTransferOptions, TPolkadotXcmMethod, TProviderEntry, TReceivedCurrencyInfo, TReserveAsset, TResolveHopParams, TResolvedCurrency, TRuntimeApi, TScenario, TSelectedCurrencyInfo, TSelfReserveAsset, TSender, TSerializedExtrinsics, TSerializedRuntimeApiQuery, TSerializedStateQuery, TSetBalanceRes, TStatusChangeCallback, TSubstrateTransferBaseOptions, TSubstrateTransferBaseOptionsWithSender, TSubstrateTransferOptions, TSwapBuilder, TSwapBuilderFactory, TSwapConfig, TSwapEvent, TSwapEventType, TSwapExtension, TSwapFeeEstimates, TSwapOptions, TSystemProperties, TTransactOptions, TTransactOrigin, TTransactionContext, TTransactionType, TTransferBaseOptions, TTransferBaseOptionsWithSender, TTransferBaseOptionsWithSwap, TTransferFeeEstimates, TTransferInfo, TTransferInternalOptions, TTransferLocalOptions, TTransferOptions, TTransferOptionsWithSwap, TTxFactory, TTypeAndThenCallContext, TTypeAndThenFees, TTypeAndThenOverrides, TUrl, TVerifyEdOnDestinationOptions, TVerifyEdOnDestinationOptionsBase, TWeight, TXTokensCurrencySelection, TXTokensMethod, TXTokensTransferOptions, TXcmAsset, TXcmFeeBase, TXcmFeeDetail, TXcmFeeDetailError, TXcmFeeDetailSuccess, TXcmFeeDetailWithFallback, TXcmFeeDetailWithForwardedXcm, TXcmFeeHopInfo, TXcmFeeHopResult, TXcmFeeSwapConfig, TXcmForeignAsset, TXcmPalletMethod, TXcmVersioned, TZeitgeistAsset, WithApi, WithRequiredSender, WithRequiredSwapOptions };
2699
+ export { API_TYPES, AmountTooLowError, ApiNotInitializedError, AssetClaimBuilder, BaseAssetsPallet, BatchMode, BatchValidationError, BridgeHaltedError, Builder, CustomChainConflictError, CustomChainInvalidError, DEFAULT_TTL_MS, DRY_RUN_CLIENT_TIMEOUT_MS, DryRunFailedError, ETH_MAINNET_CHAIN_ID, ETH_TESTNET_CHAIN_ID, EXCHANGE_CHAINS, EXTENSION_MS, ExtensionNotInstalledError, FeatureTemporarilyDisabledError, GeneralBuilder, InvalidAddressError, MAX_CLIENTS, MissingChainApiError, MissingParameterError, NoXCMSupportImplementedError, NumberFormatError, OverrideConflictError, PolkadotApi, PolkadotXcmError, PolkadotXcmExecutionError, ProviderUnavailableError, RELAY_LOCATION, RoutingResolutionError, RuntimeApiError, RuntimeApiUnavailableError, ScenarioNotSupportedError, SubmitTransactionError, TRANSACT_ORIGINS, TX_CLIENT_TIMEOUT_MS, TransferToAhNotSupported, TypeAndThenUnavailableError, UnableToComputeError, UnsupportedOperationError, ValidationError, XTokensError, abstractDecimals, addEthereumBridgeFees, addXcmVersionHeader, aggregateHopFees, applyDecimalAbstraction, assertAddressIsString, assertCurrencyCore, assertEvmAddress, assertExtensionInstalled, assertHasId, assertNotEvmTransfer, assertNotRawAssets, assertSender, assertSenderSource, assertSubstrateOrigin, assertSwapSupport, assertToIsString, blake2b256, blake2b512, buildCustomChainAssetsInfo, buildCustomChainConfig, buildDestInfo, buildHopInfo, buildOriginInfo, calcPreviewMintAmount, claimAssets, compareAddresses, computeOverridenAmount, constructTypeAndThenCall, convertBuilderConfig, convertSs58, createAsset, createAssetId, createAssetsFilter, createBaseExecuteXcm, createBeneficiaryLocXTokens, createBeneficiaryLocation, createChainClient, createClientCache, createClientPoolHelpers, createCustomXcmOnDest, createDestination, createDirectExecuteXcm, createEthereumBridgeInstructions, createExecuteCall, createExecuteExchangeXcm, createSwapBuilder, createTransfer, createTransferOrSwap, createTransferOrSwapAll, createTxOverrideAmount, createTypeAndThenCall, createTypeThenAutoReserve, createVersionedAssets, createVersionedDestination, createX1Payload, deriveAccountId, dryRun, dryRunInternal, dryRunOrigin, encodeSs58, executeWithSwap, formatAssetIdToERC20, formatUnits, generateMessageId, getAssetBalanceInternal, getAssetReserveChain, getAssetReserveChainImpl, getBalance, getBalanceInternal, getBridgeStatus, getChain, getChainConfig, getChainConfigImpl, getChainLocation, getChainProviders, getChainProvidersImpl, getChainVersion, getEthErc20Balance, getEvmExtensionOrThrow, getEvmPrivateKeyHex, getEvmSnowbridgeExtensionOrThrow, getFailureInfo, getLocalTransferAmount, getMinTransferableAmount, getMinTransferableAmountInternal, getMoonbeamErc20Balance, getOriginXcmFee, getOriginXcmFeeInternal, getParaEthTransferFees, getParaId, getParaIdImpl, getRelayChainOf, getRelayChainOfImpl, getRelayChainSymbolOf, getSwapExtensionOrThrow, getTChain, getTransferInfo, getTransferableAmount, getTransferableAmountInternal, getXcmFee, getXcmFeeInternal, getXcmFeeOnce, handleExecuteTransfer, handleSwapExecuteTransfer, handleToAhTeleport, isConfig, isExchange, isSenderSigner, isViemSigner, keyFromWs, localizeLocation, localizeLocationImpl, maybeOverrideAsset, maybeOverrideAssets, normalizeAmount, normalizeCustomChains, normalizeExchange, overrideTxAmount, padFee, padValueBy, parseUnits, pickCompatibleXcmVersion, pickOtherMintPallet, pickRouterCompatibleXcmVersion, registerEvmExtension, registerEvmSnowbridgeExtension, registerSwapExtension, resolveAssetCount, resolveDestChain, resolveModuleError, resolveParaId, resolveTransferParams, reverseTransformLocation, selectXcmVersion, sortAssets, throwUnsupportedCurrency, transferMoonbeamEvm, transferMoonbeamToEth, traverseXcmHops, validateAddress, validateAssetSpecifiers, validateCurrency, validateDestination, validateDestinationAddress, validateTransact, verifyEdOnDestination, wrapTxBypass };
2700
+ export type { BuildHopInfoOptions, ClientCache, HopProcessParams, HopTraversalConfig, HopTraversalResult, IPolkadotXCMTransfer, IXTokensTransfer, OneKey, TAddress, TApiOrUrl, TApiType, TAssetClaimInternalOptions, TAssetClaimOptions, TAssetClaimOptionsBase, TBatchOptions, TBatchedTransferOptions, TBifrostToken, TBridgeStatus, TBuildAllInternalRes, TBuildDestInfoOptions, TBuildEvmTransferOptions, TBuildInternalRes, TBuildInternalResBase, TBuildOriginInfoOptions, TBuilderConfig, TBuilderInternalOptions, TBuilderOptions, TBypassOptions, TCacheItem, TChainConfig, TChainConfigMap, TChainEndpoint, TChainWithApi, TClientEntry, TClientKey, TConditionalXcmFeeDetail, TConditionalXcmFeeHopInfo, TCreateBaseSwapXcmOptions, TCreateBaseTransferXcmOptions, TCreateBeneficiaryOptions, TCreateBeneficiaryXTokensOptions, TCreateEthBridgeInstructionsOptions, TCreateSwapXcmInternalOptions, TCreateSwapXcmOptions, TCreateTransferXcmOptions, TCreateTxsOptions, TCustomChainEntry, TCustomChainEntryHydrated, TCustomChainFrom, TCustomChainInput, TCustomChainPalletsInput, TCustomChainsCtx, TCustomChainsMap, TDestWeight, TDestination, TDryRunBaseOptions, TDryRunBypassOptions, TDryRunCallBaseOptions, TDryRunCallOptions, TDryRunChainFailure, TDryRunChainResult, TDryRunChainSuccess, TDryRunError, TDryRunFailureInfo, TDryRunOptions, TDryRunPreviewOptions, TDryRunResBase, TDryRunResult, TDryRunXcmBaseOptions, TDryRunXcmOptions, TEvmExtension, TEvmSnowbridgeExtension, TEvmTransferOptions, TEvmTransferOptionsBase, TExchangeChain, TExchangeInput, TFeeType, TForeignAssetId, TForeignOrNativeAsset, TForeignOrTokenAsset, TFullCustomCtx, TGetAssetBalanceOptions, TGetAssetBalanceOptionsBase, TGetBalanceCommonOptions, TGetBalanceOptions, TGetBalanceOptionsBase, TGetFeeForDestChainBaseOptions, TGetFeeForDestChainOptions, TGetMinTransferableAmountOptions, TGetOriginXcmFeeBaseOptions, TGetOriginXcmFeeInternalOptions, TGetOriginXcmFeeOptions, TGetReverseTxFeeOptions, TGetTransferInfoOptions, TGetTransferInfoOptionsBase, TGetTransferableAmountOptions, TGetTransferableAmountOptionsBase, TGetXcmFeeBaseOptions, TGetXcmFeeBuilderOptions, TGetXcmFeeInternalOptions, TGetXcmFeeOptions, TGetXcmFeeResult, THopInfo, THopTransferInfo, TMintConfig, TModuleError, TNativeTokenAsset, TOriginFeeDetails, TOriginXcmFeeInfo, TOtherReserveAsset, TPaymentInfo, TPerAssetResult, TPolkadotXCMTransferOptions, TPolkadotXcmMethod, TProviderEntry, TReceivedCurrencyInfo, TReserveAsset, TResolveHopParams, TResolvedCurrency, TRuntimeApi, TScenario, TSelectedCurrencyInfo, TSelfReserveAsset, TSender, TSerializedExtrinsics, TSerializedRuntimeApiQuery, TSerializedStateQuery, TSetBalanceRes, TStatusChangeCallback, TSubstrateTransferBaseOptions, TSubstrateTransferBaseOptionsWithSender, TSubstrateTransferOptions, TSwapBuilder, TSwapBuilderFactory, TSwapConfig, TSwapEvent, TSwapEventType, TSwapExtension, TSwapFeeEstimates, TSwapOptions, TSystemProperties, TTransactOptions, TTransactOrigin, TTransactionContext, TTransactionType, TTransferBaseOptions, TTransferBaseOptionsWithSender, TTransferBaseOptionsWithSwap, TTransferFeeEstimates, TTransferInfo, TTransferInternalOptions, TTransferLocalOptions, TTransferOptions, TTransferOptionsWithSwap, TTxFactory, TTypeAndThenCallContext, TTypeAndThenFees, TTypeAndThenOverrides, TUrl, TVerifyEdOnDestinationOptions, TVerifyEdOnDestinationOptionsBase, TWeight, TXTokensCurrencySelection, TXTokensMethod, TXTokensTransferOptions, TXcmAsset, TXcmFeeBase, TXcmFeeDetail, TXcmFeeDetailError, TXcmFeeDetailSuccess, TXcmFeeDetailWithFallback, TXcmFeeDetailWithForwardedXcm, TXcmFeeHopInfo, TXcmFeeHopResult, TXcmFeeSwapConfig, TXcmForeignAsset, TXcmPalletMethod, TXcmVersioned, TZeitgeistAsset, WithApi, WithRequiredSender, WithRequiredSwapOptions };
package/dist/index.mjs CHANGED
@@ -3,9 +3,9 @@ import { isChainEvm, getAssetsObject, isChainEvmImpl, InvalidCurrencyError, isOv
3
3
  export * from '@paraspell/assets';
4
4
  import { base58 } from '@scure/base';
5
5
  import { isAddress, pad, toHex, getAddress, concat, keccak256, isHex, createPublicClient, http, getContract, formatUnits as formatUnits$1, parseUnits as parseUnits$1 } from 'viem';
6
- import { isTLocation, replaceBigInt, isExternalChain, Version, isCustomChain, isRelayChain, Parents, isSubstrateBridge, isSnowbridge, getJunctionValue, deepEqual, hasJunction, RELAYCHAINS, PARACHAINS, isTrustedChain, ETHEREUM_BRIDGE_ORIGINS, isBridge, DEFAULT_SS58_PREFIX, CHAINS } from '@paraspell/sdk-common';
6
+ import { isTLocation, replaceBigInt, isExternalChain, Version, isRelayChain, Parents, isSubstrateBridge, isSnowbridge, isCustomChain, getJunctionValue, deepEqual, hasJunction, RELAYCHAINS, PARACHAINS, isTrustedChain, ETHEREUM_BRIDGE_ORIGINS, isBridge, DEFAULT_SS58_PREFIX, CHAINS } from '@paraspell/sdk-common';
7
7
  export * from '@paraspell/sdk-common';
8
- import { getXcmPallet, getSupportedPallets, hasPalletImpl, getOtherAssetsPallets, getNativeAssetsPallet, getXcmPalletImpl, getSupportedPalletsDetails, ASSETS_PALLETS, NATIVE_ASSETS_PALLET_PRIORITY, OTHER_ASSETS_PALLET_PRIORITY } from '@paraspell/pallets';
8
+ import { getXcmPallet, getSupportedPallets, getOtherAssetsPallets, getNativeAssetsPallet, hasPalletImpl, getXcmPalletImpl, getSupportedPalletsDetails, ASSETS_PALLETS, NATIVE_ASSETS_PALLET_PRIORITY, OTHER_ASSETS_PALLET_PRIORITY } from '@paraspell/pallets';
9
9
  export * from '@paraspell/pallets';
10
10
  import { mainnet, sepolia, moonbeam, moonriver } from 'viem/chains';
11
11
 
@@ -1420,19 +1420,10 @@ var AssetManagerPallet = /*#__PURE__*/function (_BaseAssetsPallet) {
1420
1420
  }]);
1421
1421
  }(BaseAssetsPallet);
1422
1422
 
1423
- var LOCATION_ID_CHAINS = ['EnergyWebX'];
1424
- var BIGINT_ID_CHAINS = ['Astar', 'Shiden', 'Moonbeam', 'NeuroWeb', 'Darwinia'];
1425
- var resolveAssetId = function resolveAssetId(asset, chain) {
1426
- if (LOCATION_ID_CHAINS.some(function (prefix) {
1427
- return chain.startsWith(prefix);
1428
- })) {
1429
- return asset.location;
1430
- }
1423
+ var resolveAssetId = function resolveAssetId(asset, config) {
1424
+ if (config.useLocationId) return asset.location;
1431
1425
  assertHasId(asset);
1432
- var useBigInt = BIGINT_ID_CHAINS.some(function (prefix) {
1433
- return chain.startsWith(prefix);
1434
- });
1435
- return useBigInt ? BigInt(asset.assetId) : Number(asset.assetId);
1426
+ return config.useBigIntId ? BigInt(asset.assetId) : Number(asset.assetId);
1436
1427
  };
1437
1428
  var AssetsPallet = /*#__PURE__*/function (_BaseAssetsPallet) {
1438
1429
  function AssetsPallet() {
@@ -1444,14 +1435,11 @@ var AssetsPallet = /*#__PURE__*/function (_BaseAssetsPallet) {
1444
1435
  key: "mint",
1445
1436
  value: function mint(api, address, asset, _balance, chain) {
1446
1437
  var amount = asset.amount;
1447
- var id = resolveAssetId(asset, chain);
1448
- var notUseAddressIdChains = ['NeuroWeb', 'Darwinia'];
1449
- var notUseId = notUseAddressIdChains.some(function (prefix) {
1450
- return chain.startsWith(prefix);
1451
- }) || api.isChainEvm(chain);
1452
- var addr = notUseId ? address : {
1438
+ var config = chain.resolveMintConfig(api);
1439
+ var id = resolveAssetId(asset, config);
1440
+ var addr = config.useIdPrefix ? {
1453
1441
  Id: address
1454
- };
1442
+ } : address;
1455
1443
  return Promise.resolve({
1456
1444
  assetStatusTx: {
1457
1445
  module: this.palletName,
@@ -1543,18 +1531,16 @@ var BalancesPallet = /*#__PURE__*/function (_BaseAssetsPallet) {
1543
1531
  key: "mint",
1544
1532
  value: function mint(api, address, assetInfo, balance, chain) {
1545
1533
  var amount = assetInfo.amount;
1546
- var noIdPrefixes = ['Hydration', 'NeuroWeb', 'Basilisk', 'Darwinia'];
1547
- var notUseId = noIdPrefixes.some(function (prefix) {
1548
- return chain.startsWith(prefix);
1549
- }) || api.isChainEvm(chain);
1534
+ var _chain$resolveMintCon = chain.resolveMintConfig(api),
1535
+ useIdPrefix = _chain$resolveMintCon.useIdPrefix;
1550
1536
  return Promise.resolve({
1551
1537
  balanceTx: {
1552
1538
  module: this.palletName,
1553
1539
  method: 'force_set_balance',
1554
1540
  params: {
1555
- who: notUseId ? address : {
1541
+ who: useIdPrefix ? {
1556
1542
  Id: address
1557
- },
1543
+ } : address,
1558
1544
  new_free: balance + amount
1559
1545
  }
1560
1546
  }
@@ -1589,6 +1575,11 @@ var BalancesPallet = /*#__PURE__*/function (_BaseAssetsPallet) {
1589
1575
  }]);
1590
1576
  }(BaseAssetsPallet);
1591
1577
 
1578
+ var resolveCurrencyId$1 = function resolveCurrencyId(api, asset, chain, config) {
1579
+ if (config.useCustomCurrencyId) return chain.getCustomCurrencyId(api, asset);
1580
+ assertHasId(asset);
1581
+ return Number(asset.assetId);
1582
+ };
1592
1583
  var CurrenciesPallet = /*#__PURE__*/function (_BaseAssetsPallet) {
1593
1584
  function CurrenciesPallet() {
1594
1585
  _classCallCheck(this, CurrenciesPallet);
@@ -1598,20 +1589,17 @@ var CurrenciesPallet = /*#__PURE__*/function (_BaseAssetsPallet) {
1598
1589
  return _createClass(CurrenciesPallet, [{
1599
1590
  key: "mint",
1600
1591
  value: function mint(api, address, asset, balance, chain) {
1601
- var isKarura = chain.startsWith('Karura');
1602
- var isAcala = chain.startsWith('Acala');
1603
- var isAcalaLike = isKarura || isAcala;
1604
- var id = isAcalaLike ? getChain(isKarura ? 'Karura' : 'Acala').getCustomCurrencyId(api, asset) : (assertHasId(asset), Number(asset.assetId));
1592
+ var config = chain.resolveMintConfig(api);
1605
1593
  var amount = asset.amount;
1606
1594
  return Promise.resolve({
1607
1595
  balanceTx: {
1608
1596
  module: this.palletName,
1609
1597
  method: 'update_balance',
1610
1598
  params: {
1611
- who: isAcalaLike ? {
1599
+ who: config.useCustomCurrencyId ? {
1612
1600
  Id: address
1613
1601
  } : address,
1614
- currency_id: id,
1602
+ currency_id: resolveCurrencyId$1(api, asset, chain, config),
1615
1603
  amount: balance + amount
1616
1604
  }
1617
1605
  }
@@ -1633,15 +1621,14 @@ var ForeignAssetsPallet = /*#__PURE__*/function (_BaseAssetsPallet) {
1633
1621
  _inherits(ForeignAssetsPallet, _BaseAssetsPallet);
1634
1622
  return _createClass(ForeignAssetsPallet, [{
1635
1623
  key: "mint",
1636
- value: function mint(_api, address, asset, _balance, chain) {
1624
+ value: function mint(api, address, asset, _balance, chain) {
1637
1625
  var location = asset.location,
1638
1626
  amount = asset.amount;
1639
- var notUseId = ['NeuroWeb'];
1640
- var addr = notUseId.some(function (prefix) {
1641
- return chain.startsWith(prefix);
1642
- }) ? address : {
1627
+ var _chain$resolveMintCon = chain.resolveMintConfig(api),
1628
+ useIdPrefix = _chain$resolveMintCon.useIdPrefix;
1629
+ var addr = useIdPrefix ? {
1643
1630
  Id: address
1644
- };
1631
+ } : address;
1645
1632
  return Promise.resolve({
1646
1633
  assetStatusTx: {
1647
1634
  module: this.palletName,
@@ -1756,7 +1743,7 @@ var SystemPallet = /*#__PURE__*/function (_BaseAssetsPallet) {
1756
1743
  return _createClass(SystemPallet, [{
1757
1744
  key: "mint",
1758
1745
  value: function () {
1759
- var _mint = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(api, address, assetInfo, balance, _chain) {
1746
+ var _mint = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(api, address, assetInfo, balance) {
1760
1747
  var contractAddr, slot, amountEncoded, storageKey;
1761
1748
  return _regenerator().w(function (_context) {
1762
1749
  while (1) switch (_context.n) {
@@ -1783,7 +1770,7 @@ var SystemPallet = /*#__PURE__*/function (_BaseAssetsPallet) {
1783
1770
  }
1784
1771
  }, _callee, this);
1785
1772
  }));
1786
- function mint(_x, _x2, _x3, _x4, _x5) {
1773
+ function mint(_x, _x2, _x3, _x4) {
1787
1774
  return _mint.apply(this, arguments);
1788
1775
  }
1789
1776
  return mint;
@@ -1822,7 +1809,7 @@ var SystemPallet = /*#__PURE__*/function (_BaseAssetsPallet) {
1822
1809
  }
1823
1810
  }, _callee2, this);
1824
1811
  }));
1825
- function getBalance(_x6, _x7, _x8) {
1812
+ function getBalance(_x5, _x6, _x7) {
1826
1813
  return _getBalance.apply(this, arguments);
1827
1814
  }
1828
1815
  return getBalance;
@@ -1830,18 +1817,17 @@ var SystemPallet = /*#__PURE__*/function (_BaseAssetsPallet) {
1830
1817
  }]);
1831
1818
  }(BaseAssetsPallet);
1832
1819
 
1833
- var resolveId = function resolveId(api, asset, chain) {
1834
- if (!isCustomChain(chain) && (chain === 'BifrostPolkadot' || chain === 'BifrostKusama' || chain === 'BifrostPaseo')) {
1835
- var _asset$assetId;
1836
- var isEthAsset = !asset.isNative && ((_asset$assetId = asset.assetId) === null || _asset$assetId === void 0 ? void 0 : _asset$assetId.startsWith('0x'));
1837
- var resolvedAsset = isEthAsset ? api.findAssetInfoOrThrow(chain, {
1838
- location: asset.location
1839
- }) : asset;
1840
- return getChain(chain).getCustomCurrencyId(api, resolvedAsset);
1841
- } else {
1820
+ var resolveCurrencyId = function resolveCurrencyId(api, asset, chain, config) {
1821
+ var _asset$assetId;
1822
+ if (!config.useCustomCurrencyId) {
1842
1823
  assertHasId(asset);
1843
1824
  return asset.assetId;
1844
1825
  }
1826
+ var isEthAsset = !asset.isNative && ((_asset$assetId = asset.assetId) === null || _asset$assetId === void 0 ? void 0 : _asset$assetId.startsWith('0x'));
1827
+ var resolvedAsset = isEthAsset ? api.findAssetInfoOrThrow(chain.chain, {
1828
+ location: asset.location
1829
+ }) : asset;
1830
+ return chain.getCustomCurrencyId(api, resolvedAsset);
1845
1831
  };
1846
1832
  var TokensPallet = /*#__PURE__*/function (_BaseAssetsPallet) {
1847
1833
  function TokensPallet() {
@@ -1852,9 +1838,7 @@ var TokensPallet = /*#__PURE__*/function (_BaseAssetsPallet) {
1852
1838
  return _createClass(TokensPallet, [{
1853
1839
  key: "mint",
1854
1840
  value: function mint(api, address, asset, balance, chain) {
1855
- var isBifrost = chain.startsWith('Bifrost');
1856
- if (!isBifrost) assertHasId(asset);
1857
- var id = resolveId(api, asset, chain);
1841
+ var id = resolveCurrencyId(api, asset, chain, chain.resolveMintConfig(api));
1858
1842
  var amount = asset.amount;
1859
1843
  return Promise.resolve({
1860
1844
  balanceTx: {
@@ -3780,11 +3764,11 @@ var Chain = /*#__PURE__*/function () {
3780
3764
  key: "transferLocal",
3781
3765
  value: function () {
3782
3766
  var _transferLocal = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(options) {
3783
- var api, asset, feeAsset, recipient, sender, isAmountAll, validatedOptions, isNativeAsset, balance, localOptions;
3767
+ var api, asset, feeAsset, recipient, sender, isAmountAll, keepAlive, validatedOptions, isNativeAsset, balance, localOptions;
3784
3768
  return _regenerator().w(function (_context2) {
3785
3769
  while (1) switch (_context2.n) {
3786
3770
  case 0:
3787
- api = options.api, asset = options.assetInfo, feeAsset = options.feeAsset, recipient = options.recipient, sender = options.sender, isAmountAll = options.isAmountAll;
3771
+ api = options.api, asset = options.assetInfo, feeAsset = options.feeAsset, recipient = options.recipient, sender = options.sender, isAmountAll = options.isAmountAll, keepAlive = options.keepAlive;
3788
3772
  if (!isTLocation(recipient)) {
3789
3773
  _context2.n = 1;
3790
3774
  break;
@@ -3801,7 +3785,7 @@ var Chain = /*#__PURE__*/function () {
3801
3785
  recipient: recipient
3802
3786
  });
3803
3787
  isNativeAsset = asset.symbol === this.getNativeAssetSymbol(api) && asset.isNative;
3804
- if (!isAmountAll) {
3788
+ if (!(isAmountAll || keepAlive)) {
3805
3789
  _context2.n = 4;
3806
3790
  break;
3807
3791
  }
@@ -3978,6 +3962,25 @@ var Chain = /*#__PURE__*/function () {
3978
3962
  if (isNativeAsset) return this.getBalanceNative(api, address, asset);
3979
3963
  return this.getBalanceForeign(api, address, asset);
3980
3964
  }
3965
+ }, {
3966
+ key: "mint",
3967
+ value: function mint(api, address, assetInfo, balance) {
3968
+ var isMainNativeAsset = isSymbolMatch(assetInfo.symbol, this.getNativeAssetSymbol(api));
3969
+ var pallet = !assetInfo.isNative && this.chain !== 'Mythos' || !isMainNativeAsset ? pickOtherMintPallet(assetInfo, getOtherAssetsPallets(this.chain, api._customCtx)) : getNativeAssetsPallet(this.chain, api._customCtx);
3970
+ return getPalletInstance(pallet).mint(api, address, assetInfo, balance, this);
3971
+ }
3972
+ }, {
3973
+ key: "resolveMintConfig",
3974
+ value: function resolveMintConfig(api) {
3975
+ return _objectSpread2({
3976
+ useIdPrefix: !api.isChainEvm(this.chain)
3977
+ }, this.getMintConfig());
3978
+ }
3979
+ }, {
3980
+ key: "getMintConfig",
3981
+ value: function getMintConfig() {
3982
+ return {};
3983
+ }
3981
3984
  }]);
3982
3985
  }();
3983
3986
 
@@ -6583,6 +6586,17 @@ var getDestXcmFee = /*#__PURE__*/function () {
6583
6586
  };
6584
6587
  }();
6585
6588
 
6589
+ var toFailureInfo = function toFailureInfo(failureChain, _ref) {
6590
+ var failureReason = _ref.failureReason,
6591
+ failureSubReason = _ref.failureSubReason,
6592
+ failureIndex = _ref.failureIndex;
6593
+ return {
6594
+ failureChain: failureChain,
6595
+ failureReason: failureReason,
6596
+ failureSubReason: failureSubReason,
6597
+ failureIndex: failureIndex
6598
+ };
6599
+ };
6586
6600
  var getFailureInfo$1 = function getFailureInfo(result) {
6587
6601
  var orderedChecks = [{
6588
6602
  chain: 'origin',
@@ -6604,11 +6618,7 @@ var getFailureInfo$1 = function getFailureInfo(result) {
6604
6618
  chain = _step$value.chain,
6605
6619
  chainResult = _step$value.chainResult;
6606
6620
  if (chainResult && chainResult.success === false && chainResult.failureReason) {
6607
- return {
6608
- failureChain: chain,
6609
- failureReason: chainResult.failureReason,
6610
- failureSubReason: chainResult.failureSubReason
6611
- };
6621
+ return toFailureInfo(chain, chainResult);
6612
6622
  }
6613
6623
  }
6614
6624
  } catch (err) {
@@ -6616,11 +6626,7 @@ var getFailureInfo$1 = function getFailureInfo(result) {
6616
6626
  } finally {
6617
6627
  _iterator.f();
6618
6628
  }
6619
- return {
6620
- failureChain: result.failureChain,
6621
- failureReason: result.failureReason,
6622
- failureSubReason: result.failureSubReason
6623
- };
6629
+ return toFailureInfo(result.failureChain, result);
6624
6630
  };
6625
6631
 
6626
6632
  var getParaEthTransferFees = /*#__PURE__*/function () {
@@ -7724,23 +7730,8 @@ var resolveBypassMintAmount = function resolveBypassMintAmount(chain) {
7724
7730
  return c === chain;
7725
7731
  }) ? HIGH_BYPASS_MINT_AMOUNT : BYPASS_MINT_AMOUNT;
7726
7732
  };
7727
- var pickOtherPallet = function pickOtherPallet(asset, pallets) {
7728
- if (!asset.isNative && (!asset.assetId || asset.assetId.startsWith('0x'))) {
7729
- var _pallets$find;
7730
- // No assetId means it's probably a ForeignAssets pallet asset
7731
- return (_pallets$find = pallets.find(function (pallet) {
7732
- return pallet.startsWith('Foreign');
7733
- })) !== null && _pallets$find !== void 0 ? _pallets$find : pallets[0];
7734
- }
7735
- return pallets[0];
7736
- };
7737
7733
  var createMintTxs = function createMintTxs(chain, asset, balance, address, api) {
7738
- var nativePallet = getNativeAssetsPallet(chain, api._customCtx);
7739
- var otherPallets = getOtherAssetsPallets(chain, api._customCtx);
7740
- var isMainNativeAsset = isSymbolMatch(asset.symbol, getNativeAssetSymbolImpl(chain, api._customCtx));
7741
- var pallet = !asset.isNative && chain !== 'Mythos' || !isMainNativeAsset ? pickOtherPallet(asset, otherPallets) : nativePallet;
7742
- var palletInstance = getPalletInstance(pallet);
7743
- return palletInstance.mint(api, address, asset, balance, chain);
7734
+ return getChainImpl(chain, api._customCtx).mint(api, address, asset, balance);
7744
7735
  };
7745
7736
  var createRequiredMintTxs = function createRequiredMintTxs(chain, asset, amountHuman, balance, address, api) {
7746
7737
  var amount = parseUnits(amountHuman, asset.decimals);
@@ -11668,6 +11659,13 @@ var Acala = /*#__PURE__*/function (_Chain) {
11668
11659
  ForeignAsset: Number(asset.assetId)
11669
11660
  };
11670
11661
  }
11662
+ }, {
11663
+ key: "getMintConfig",
11664
+ value: function getMintConfig() {
11665
+ return {
11666
+ useCustomCurrencyId: true
11667
+ };
11668
+ }
11671
11669
  }, {
11672
11670
  key: "getBalance",
11673
11671
  value: function getBalance(api, address, asset) {
@@ -11925,6 +11923,13 @@ var Astar = /*#__PURE__*/function (_Chain) {
11925
11923
  }
11926
11924
  _inherits(Astar, _Chain);
11927
11925
  return _createClass(Astar, [{
11926
+ key: "getMintConfig",
11927
+ value: function getMintConfig() {
11928
+ return {
11929
+ useBigIntId: true
11930
+ };
11931
+ }
11932
+ }, {
11928
11933
  key: "transferPolkadotXCM",
11929
11934
  value: function transferPolkadotXCM(input) {
11930
11935
  return transferPolkadotXcm(input, 'transfer_assets_using_type_and_then');
@@ -11982,6 +11987,13 @@ var Hydration = /*#__PURE__*/function (_Chain) {
11982
11987
  }
11983
11988
  _inherits(Hydration, _Chain);
11984
11989
  return _createClass(Hydration, [{
11990
+ key: "getMintConfig",
11991
+ value: function getMintConfig() {
11992
+ return {
11993
+ useIdPrefix: false
11994
+ };
11995
+ }
11996
+ }, {
11985
11997
  key: "transferPolkadotXCM",
11986
11998
  value: function () {
11987
11999
  var _transferPolkadotXCM = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(input) {
@@ -12152,6 +12164,13 @@ var BifrostPolkadot = /*#__PURE__*/function (_Chain) {
12152
12164
  Token2: id
12153
12165
  };
12154
12166
  }
12167
+ }, {
12168
+ key: "getMintConfig",
12169
+ value: function getMintConfig() {
12170
+ return {
12171
+ useCustomCurrencyId: true
12172
+ };
12173
+ }
12155
12174
  }, {
12156
12175
  key: "transferPolkadotXCM",
12157
12176
  value: function transferPolkadotXCM(options) {
@@ -12557,6 +12576,13 @@ var Darwinia = /*#__PURE__*/function (_Chain) {
12557
12576
  }
12558
12577
  _inherits(Darwinia, _Chain);
12559
12578
  return _createClass(Darwinia, [{
12579
+ key: "getMintConfig",
12580
+ value: function getMintConfig() {
12581
+ return {
12582
+ useBigIntId: true
12583
+ };
12584
+ }
12585
+ }, {
12560
12586
  key: "transferPolkadotXCM",
12561
12587
  value: function transferPolkadotXCM(input) {
12562
12588
  var scenario = input.scenario,
@@ -12652,6 +12678,13 @@ var EnergyWebX = /*#__PURE__*/function (_Chain) {
12652
12678
  value: function isRelayToParaEnabled() {
12653
12679
  return false;
12654
12680
  }
12681
+ }, {
12682
+ key: "getMintConfig",
12683
+ value: function getMintConfig() {
12684
+ return {
12685
+ useLocationId: true
12686
+ };
12687
+ }
12655
12688
  }, {
12656
12689
  key: "getBalanceForeign",
12657
12690
  value: function () {
@@ -13118,6 +13151,14 @@ var NeuroWeb = /*#__PURE__*/function (_Chain) {
13118
13151
  }
13119
13152
  _inherits(NeuroWeb, _Chain);
13120
13153
  return _createClass(NeuroWeb, [{
13154
+ key: "getMintConfig",
13155
+ value: function getMintConfig() {
13156
+ return {
13157
+ useIdPrefix: false,
13158
+ useBigIntId: true
13159
+ };
13160
+ }
13161
+ }, {
13121
13162
  key: "transferPolkadotXCM",
13122
13163
  value: function transferPolkadotXCM(input) {
13123
13164
  return transferPolkadotXcm(input);
@@ -13390,6 +13431,16 @@ var Quartz = /*#__PURE__*/function (_Chain) {
13390
13431
  value: function transferPolkadotXCM(input) {
13391
13432
  return transferPolkadotXcm(input);
13392
13433
  }
13434
+ }, {
13435
+ key: "transferLocalNonNativeAsset",
13436
+ value: function transferLocalNonNativeAsset(options) {
13437
+ return getChain('Unique').transferLocalNonNativeAsset(options);
13438
+ }
13439
+ }, {
13440
+ key: "getBalanceForeign",
13441
+ value: function getBalanceForeign(api, address, asset) {
13442
+ return getChain('Unique').getBalanceForeign(api, address, asset);
13443
+ }
13393
13444
  }, {
13394
13445
  key: "isSendingTempDisabled",
13395
13446
  value: function isSendingTempDisabled() {
@@ -13455,6 +13506,7 @@ var Shiden = /*#__PURE__*/function (_Astar) {
13455
13506
  return _createClass(Shiden);
13456
13507
  }(Astar);
13457
13508
 
13509
+ var FUNGIBLE_ITEM_ID = 0;
13458
13510
  var Unique = /*#__PURE__*/function (_Chain) {
13459
13511
  function Unique() {
13460
13512
  _classCallCheck(this, Unique);
@@ -13468,36 +13520,44 @@ var Unique = /*#__PURE__*/function (_Chain) {
13468
13520
  }
13469
13521
  }, {
13470
13522
  key: "transferLocalNonNativeAsset",
13471
- value: function transferLocalNonNativeAsset(_options) {
13472
- throw new ScenarioNotSupportedError("".concat(this.chain, " does not support foreign assets local transfers"));
13523
+ value: function transferLocalNonNativeAsset(options) {
13524
+ var api = options.api,
13525
+ asset = options.assetInfo,
13526
+ recipient = options.recipient;
13527
+ assertHasId(asset);
13528
+ var amount = getLocalTransferAmount(options);
13529
+ return api.deserializeExtrinsics({
13530
+ module: 'Unique',
13531
+ method: 'transfer',
13532
+ params: {
13533
+ recipient: {
13534
+ Substrate: recipient
13535
+ },
13536
+ collection_id: Number(asset.assetId),
13537
+ item_id: FUNGIBLE_ITEM_ID,
13538
+ value: amount
13539
+ }
13540
+ });
13473
13541
  }
13474
13542
  }, {
13475
13543
  key: "getBalanceForeign",
13476
13544
  value: function () {
13477
13545
  var _getBalanceForeign = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(api, address, asset) {
13478
13546
  var _ref, _balance$value;
13479
- var collectionId, balance;
13547
+ var balance;
13480
13548
  return _regenerator().w(function (_context) {
13481
13549
  while (1) switch (_context.n) {
13482
13550
  case 0:
13483
13551
  assertHasId(asset);
13484
13552
  _context.n = 1;
13485
- return api.queryState({
13486
- module: 'ForeignAssets',
13487
- method: 'ForeignAssetToCollection',
13488
- params: [asset.location]
13489
- });
13490
- case 1:
13491
- collectionId = _context.v;
13492
- _context.n = 2;
13493
13553
  return api.queryRuntimeApi({
13494
13554
  module: 'UniqueApi',
13495
13555
  method: 'balance',
13496
- params: [collectionId, {
13556
+ params: [Number(asset.assetId), {
13497
13557
  Substrate: address
13498
- }, Number(asset.assetId)]
13558
+ }, FUNGIBLE_ITEM_ID]
13499
13559
  });
13500
- case 2:
13560
+ case 1:
13501
13561
  balance = _context.v;
13502
13562
  return _context.a(2, (_ref = (_balance$value = balance === null || balance === void 0 ? void 0 : balance.value) !== null && _balance$value !== void 0 ? _balance$value : (balance === null || balance === void 0 ? void 0 : balance.ok) != undefined ? BigInt(balance.ok) : undefined) !== null && _ref !== void 0 ? _ref : 0n);
13503
13563
  }
@@ -13901,6 +13961,17 @@ var maybeOverrideAsset = function maybeOverrideAsset(version, amount, asset, ove
13901
13961
  return createAsset(version, amount, overriddenCurrency);
13902
13962
  };
13903
13963
 
13964
+ var pickOtherMintPallet = function pickOtherMintPallet(asset, pallets) {
13965
+ if (!asset.isNative && (!asset.assetId || asset.assetId.startsWith('0x'))) {
13966
+ var _pallets$find;
13967
+ // No assetId means it's probably a ForeignAssets pallet asset
13968
+ return (_pallets$find = pallets.find(function (pallet) {
13969
+ return pallet.startsWith('Foreign');
13970
+ })) !== null && _pallets$find !== void 0 ? _pallets$find : pallets[0];
13971
+ }
13972
+ return pallets[0];
13973
+ };
13974
+
13904
13975
  var isHere = function isHere(loc) {
13905
13976
  var _loc$interior;
13906
13977
  return loc.interior === 'Here' || ((_loc$interior = loc.interior) === null || _loc$interior === void 0 ? void 0 : _loc$interior.Here) !== undefined;
@@ -13939,6 +14010,17 @@ var _excluded = ["apiOverrides"];
13939
14010
  var isUrl = function isUrl(value) {
13940
14011
  return typeof value === 'string' || Array.isArray(value);
13941
14012
  };
14013
+ /**
14014
+ * Checks if a given chain is a supported exchange chain.
14015
+ *
14016
+ * @param chain - The chain to check.
14017
+ * @returns True if the chain is a supported exchange chain; otherwise, false.
14018
+ */
14019
+ var isExchange = function isExchange(chain) {
14020
+ return EXCHANGE_CHAINS.some(function (c) {
14021
+ return c === chain;
14022
+ });
14023
+ };
13942
14024
  var convertBuilderConfig = function convertBuilderConfig(config) {
13943
14025
  if (!config) return undefined;
13944
14026
  if (isConfig(config)) {
@@ -14190,6 +14272,8 @@ var resolveModuleError = function resolveModuleError(chain, error) {
14190
14272
  throw new RoutingResolutionError("Error index ".concat(errorIndex, " not found in ").concat(name, " pallet"));
14191
14273
  }
14192
14274
  if (failureReason === PolkadotXcmError.LocalExecutionIncompleteWithError) {
14275
+ // Byte layout: [pallet error variant][instruction index][xcm sub-error]
14276
+ var failureIndex = Number("0x".concat(error.error.slice(4, 6)));
14193
14277
  var subErrorIndex = Number("0x".concat(error.error.slice(6, 8)));
14194
14278
  var failureSubReason = Object.values(PolkadotXcmExecutionError)[subErrorIndex];
14195
14279
  if (!failureSubReason) {
@@ -14197,7 +14281,8 @@ var resolveModuleError = function resolveModuleError(chain, error) {
14197
14281
  }
14198
14282
  return {
14199
14283
  failureReason: failureReason,
14200
- failureSubReason: failureSubReason
14284
+ failureSubReason: failureSubReason,
14285
+ failureIndex: failureIndex
14201
14286
  };
14202
14287
  }
14203
14288
  return {
@@ -14913,4 +14998,4 @@ var createClientCache = function createClientCache(maxSize, pingClient, onEvicti
14913
14998
  };
14914
14999
  };
14915
15000
 
14916
- export { API_TYPES, AmountTooLowError, ApiNotInitializedError, AssetClaimBuilder, BaseAssetsPallet, BatchMode, BatchValidationError, BridgeHaltedError, Builder, CustomChainConflictError, CustomChainInvalidError, DEFAULT_TTL_MS, DRY_RUN_CLIENT_TIMEOUT_MS, DryRunFailedError, ETH_MAINNET_CHAIN_ID, ETH_TESTNET_CHAIN_ID, EXCHANGE_CHAINS, EXTENSION_MS, ExtensionNotInstalledError, FeatureTemporarilyDisabledError, GeneralBuilder, InvalidAddressError, MAX_CLIENTS, MissingChainApiError, MissingParameterError, NoXCMSupportImplementedError, NumberFormatError, OverrideConflictError, PolkadotApi, PolkadotXcmError, PolkadotXcmExecutionError, ProviderUnavailableError, RELAY_LOCATION, RoutingResolutionError, RuntimeApiError, RuntimeApiUnavailableError, ScenarioNotSupportedError, SubmitTransactionError, TRANSACT_ORIGINS, TX_CLIENT_TIMEOUT_MS, TransferToAhNotSupported, TypeAndThenUnavailableError, UnableToComputeError, UnsupportedOperationError, ValidationError, XTokensError, abstractDecimals, addEthereumBridgeFees, addXcmVersionHeader, aggregateHopFees, applyDecimalAbstraction, assertAddressIsString, assertCurrencyCore, assertEvmAddress, assertExtensionInstalled, assertHasId, assertNotEvmTransfer, assertNotRawAssets, assertSender, assertSenderSource, assertSubstrateOrigin, assertSwapSupport, assertToIsString, blake2b256, blake2b512, buildCustomChainAssetsInfo, buildCustomChainConfig, buildDestInfo, buildHopInfo, buildOriginInfo, calcPreviewMintAmount, claimAssets, compareAddresses, computeOverridenAmount, constructTypeAndThenCall, convertBuilderConfig, convertSs58, createAsset, createAssetId, createAssetsFilter, createBaseExecuteXcm, createBeneficiaryLocXTokens, createBeneficiaryLocation, createChainClient, createClientCache, createClientPoolHelpers, createCustomXcmOnDest, createDestination, createDirectExecuteXcm, createEthereumBridgeInstructions, createExecuteCall, createExecuteExchangeXcm, createSwapBuilder, createTransfer, createTransferOrSwap, createTransferOrSwapAll, createTxOverrideAmount, createTypeAndThenCall, createTypeThenAutoReserve, createVersionedAssets, createVersionedDestination, createX1Payload, deriveAccountId, dryRun, dryRunInternal, dryRunOrigin, encodeSs58, executeWithSwap, formatAssetIdToERC20, formatUnits, generateMessageId, getAssetBalanceInternal, getAssetReserveChain, getAssetReserveChainImpl, getBalance, getBalanceInternal, getBridgeStatus, getChain, getChainConfig, getChainConfigImpl, getChainLocation, getChainProviders, getChainProvidersImpl, getChainVersion, getEthErc20Balance, getEvmExtensionOrThrow, getEvmPrivateKeyHex, getEvmSnowbridgeExtensionOrThrow, getFailureInfo$1 as getFailureInfo, getLocalTransferAmount, getMinTransferableAmount, getMinTransferableAmountInternal, getMoonbeamErc20Balance, getOriginXcmFee, getOriginXcmFeeInternal, getParaEthTransferFees, getParaId, getParaIdImpl, getRelayChainOf, getRelayChainOfImpl, getRelayChainSymbolOf, getSwapExtensionOrThrow, getTChain, getTransferInfo, getTransferableAmount, getTransferableAmountInternal, getXcmFee, getXcmFeeInternal, getXcmFeeOnce, handleExecuteTransfer, handleSwapExecuteTransfer, handleToAhTeleport, isConfig, isSenderSigner, isViemSigner, keyFromWs, localizeLocation, localizeLocationImpl, maybeOverrideAsset, maybeOverrideAssets, normalizeAmount, normalizeCustomChains, normalizeExchange, overrideTxAmount, padFee, padValueBy, parseUnits, pickCompatibleXcmVersion, pickRouterCompatibleXcmVersion, registerEvmExtension, registerEvmSnowbridgeExtension, registerSwapExtension, resolveAssetCount, resolveDestChain, resolveModuleError, resolveParaId, resolveTransferParams, reverseTransformLocation, selectXcmVersion, sortAssets, throwUnsupportedCurrency, transferMoonbeamEvm, transferMoonbeamToEth, traverseXcmHops, validateAddress, validateAssetSpecifiers, validateCurrency, validateDestination, validateDestinationAddress, validateTransact, verifyEdOnDestination, wrapTxBypass };
15001
+ export { API_TYPES, AmountTooLowError, ApiNotInitializedError, AssetClaimBuilder, BaseAssetsPallet, BatchMode, BatchValidationError, BridgeHaltedError, Builder, CustomChainConflictError, CustomChainInvalidError, DEFAULT_TTL_MS, DRY_RUN_CLIENT_TIMEOUT_MS, DryRunFailedError, ETH_MAINNET_CHAIN_ID, ETH_TESTNET_CHAIN_ID, EXCHANGE_CHAINS, EXTENSION_MS, ExtensionNotInstalledError, FeatureTemporarilyDisabledError, GeneralBuilder, InvalidAddressError, MAX_CLIENTS, MissingChainApiError, MissingParameterError, NoXCMSupportImplementedError, NumberFormatError, OverrideConflictError, PolkadotApi, PolkadotXcmError, PolkadotXcmExecutionError, ProviderUnavailableError, RELAY_LOCATION, RoutingResolutionError, RuntimeApiError, RuntimeApiUnavailableError, ScenarioNotSupportedError, SubmitTransactionError, TRANSACT_ORIGINS, TX_CLIENT_TIMEOUT_MS, TransferToAhNotSupported, TypeAndThenUnavailableError, UnableToComputeError, UnsupportedOperationError, ValidationError, XTokensError, abstractDecimals, addEthereumBridgeFees, addXcmVersionHeader, aggregateHopFees, applyDecimalAbstraction, assertAddressIsString, assertCurrencyCore, assertEvmAddress, assertExtensionInstalled, assertHasId, assertNotEvmTransfer, assertNotRawAssets, assertSender, assertSenderSource, assertSubstrateOrigin, assertSwapSupport, assertToIsString, blake2b256, blake2b512, buildCustomChainAssetsInfo, buildCustomChainConfig, buildDestInfo, buildHopInfo, buildOriginInfo, calcPreviewMintAmount, claimAssets, compareAddresses, computeOverridenAmount, constructTypeAndThenCall, convertBuilderConfig, convertSs58, createAsset, createAssetId, createAssetsFilter, createBaseExecuteXcm, createBeneficiaryLocXTokens, createBeneficiaryLocation, createChainClient, createClientCache, createClientPoolHelpers, createCustomXcmOnDest, createDestination, createDirectExecuteXcm, createEthereumBridgeInstructions, createExecuteCall, createExecuteExchangeXcm, createSwapBuilder, createTransfer, createTransferOrSwap, createTransferOrSwapAll, createTxOverrideAmount, createTypeAndThenCall, createTypeThenAutoReserve, createVersionedAssets, createVersionedDestination, createX1Payload, deriveAccountId, dryRun, dryRunInternal, dryRunOrigin, encodeSs58, executeWithSwap, formatAssetIdToERC20, formatUnits, generateMessageId, getAssetBalanceInternal, getAssetReserveChain, getAssetReserveChainImpl, getBalance, getBalanceInternal, getBridgeStatus, getChain, getChainConfig, getChainConfigImpl, getChainLocation, getChainProviders, getChainProvidersImpl, getChainVersion, getEthErc20Balance, getEvmExtensionOrThrow, getEvmPrivateKeyHex, getEvmSnowbridgeExtensionOrThrow, getFailureInfo$1 as getFailureInfo, getLocalTransferAmount, getMinTransferableAmount, getMinTransferableAmountInternal, getMoonbeamErc20Balance, getOriginXcmFee, getOriginXcmFeeInternal, getParaEthTransferFees, getParaId, getParaIdImpl, getRelayChainOf, getRelayChainOfImpl, getRelayChainSymbolOf, getSwapExtensionOrThrow, getTChain, getTransferInfo, getTransferableAmount, getTransferableAmountInternal, getXcmFee, getXcmFeeInternal, getXcmFeeOnce, handleExecuteTransfer, handleSwapExecuteTransfer, handleToAhTeleport, isConfig, isExchange, isSenderSigner, isViemSigner, keyFromWs, localizeLocation, localizeLocationImpl, maybeOverrideAsset, maybeOverrideAssets, normalizeAmount, normalizeCustomChains, normalizeExchange, overrideTxAmount, padFee, padValueBy, parseUnits, pickCompatibleXcmVersion, pickOtherMintPallet, pickRouterCompatibleXcmVersion, registerEvmExtension, registerEvmSnowbridgeExtension, registerSwapExtension, resolveAssetCount, resolveDestChain, resolveModuleError, resolveParaId, resolveTransferParams, reverseTransformLocation, selectXcmVersion, sortAssets, throwUnsupportedCurrency, transferMoonbeamEvm, transferMoonbeamToEth, traverseXcmHops, validateAddress, validateAssetSpecifiers, validateCurrency, validateDestination, validateDestinationAddress, validateTransact, verifyEdOnDestination, wrapTxBypass };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraspell/sdk-core",
3
- "version": "13.8.0",
3
+ "version": "13.9.0",
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
  "@noble/hashes": "^2.2.0",
26
26
  "@scure/base": "^2.2.0",
27
27
  "viem": "^2.51.3",
28
- "@paraspell/assets": "13.8.0",
29
- "@paraspell/pallets": "13.8.0",
30
- "@paraspell/sdk-common": "13.8.0"
28
+ "@paraspell/assets": "13.9.0",
29
+ "@paraspell/pallets": "13.9.0",
30
+ "@paraspell/sdk-common": "13.9.0"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@babel/plugin-syntax-import-attributes": "^7.29.7",