@paraspell/sdk-core 12.0.6 → 12.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1982,14 +1982,6 @@ declare class Quartz<TApi, TRes> extends Parachain<TApi, TRes> implements IXToke
1982
1982
  transferXTokens<TApi, TRes>(input: TXTokensTransferOptions<TApi, TRes>): TRes;
1983
1983
  }
1984
1984
 
1985
- declare class RobonomicsKusama<TApi, TRes> extends Parachain<TApi, TRes> implements IPolkadotXCMTransfer {
1986
- constructor();
1987
- transferPolkadotXCM<TApi, TRes>(input: TPolkadotXCMTransferOptions<TApi, TRes>): Promise<TRes>;
1988
- transferLocalNonNativeAsset(options: TTransferLocalOptions<TApi, TRes>): TRes;
1989
- isSendingTempDisabled(_options: TSendInternalOptions<TApi, TRes>): boolean;
1990
- isReceivingTempDisabled(_scenario: TScenario): boolean;
1991
- }
1992
-
1993
1985
  declare class RobonomicsPolkadot<TApi, TRes> extends Parachain<TApi, TRes> implements IPolkadotXCMTransfer {
1994
1986
  constructor();
1995
1987
  transferPolkadotXCM<TApi, TRes>(input: TPolkadotXCMTransferOptions<TApi, TRes>): Promise<TRes>;
@@ -2078,7 +2070,6 @@ declare const chains: <TApi, TRes>() => {
2078
2070
  Moonriver: Moonriver<TApi, TRes>;
2079
2071
  Laos: Laos<TApi, TRes>;
2080
2072
  Quartz: Quartz<TApi, TRes>;
2081
- RobonomicsKusama: RobonomicsKusama<TApi, TRes>;
2082
2073
  PeopleKusama: PeopleKusama<TApi, TRes>;
2083
2074
  Shiden: Shiden<TApi, TRes>;
2084
2075
  Zeitgeist: Zeitgeist<TApi, TRes>;
@@ -2106,6 +2097,7 @@ declare const chains: <TApi, TRes>() => {
2106
2097
 
2107
2098
  declare const ETH_CHAIN_ID: bigint;
2108
2099
  declare const ETHEREUM_JUNCTION: TJunction;
2100
+ declare const RELAY_LOCATION: TLocation;
2109
2101
  declare const TX_CLIENT_TIMEOUT_MS: number;
2110
2102
  declare const DRY_RUN_CLIENT_TIMEOUT_MS: number;
2111
2103
 
@@ -2279,7 +2271,7 @@ declare const reverseTransformLocation: (location: TLocation) => TLocation;
2279
2271
 
2280
2272
  declare const normalizeAmount: (amount: bigint) => bigint;
2281
2273
 
2282
- declare const resolveDestChain: (originChain: TSubstrateChain, paraId: number | undefined) => "AssetHubPolkadot" | "Acala" | "Ajuna" | "Astar" | "BifrostPolkadot" | "BridgeHubPolkadot" | "Centrifuge" | "Darwinia" | "EnergyWebX" | "Hydration" | "Interlay" | "Heima" | "Jamton" | "Moonbeam" | "CoretimePolkadot" | "Collectives" | "Crust" | "Manta" | "Nodle" | "NeuroWeb" | "Pendulum" | "Phala" | "KiltSpiritnet" | "Curio" | "Mythos" | "Peaq" | "RobonomicsPolkadot" | "PeoplePolkadot" | "Unique" | "Xode" | "AssetHubKusama" | "BridgeHubKusama" | "Karura" | "Kintsugi" | "Moonriver" | "CoretimeKusama" | "Encointer" | "Altair" | "Amplitude" | "Basilisk" | "BifrostKusama" | "CrustShadow" | "Crab" | "Laos" | "Quartz" | "RobonomicsKusama" | "PeopleKusama" | "Shiden" | "Zeitgeist" | "AssetHubWestend" | "BridgeHubWestend" | "CollectivesWestend" | "CoretimeWestend" | "Penpal" | "PeopleWestend" | "AjunaPaseo" | "AssetHubPaseo" | "BifrostPaseo" | "BridgeHubPaseo" | "CoretimePaseo" | "EnergyWebXPaseo" | "HeimaPaseo" | "HydrationPaseo" | "KiltPaseo" | "LaosPaseo" | "NeuroWebPaseo" | "PAssetHub" | "PeoplePaseo" | "ZeitgeistPaseo" | undefined;
2274
+ declare const resolveDestChain: (originChain: TSubstrateChain, paraId: number | undefined) => "AssetHubPolkadot" | "Acala" | "Ajuna" | "Astar" | "BifrostPolkadot" | "BridgeHubPolkadot" | "Centrifuge" | "Darwinia" | "EnergyWebX" | "Hydration" | "Interlay" | "Heima" | "Jamton" | "Moonbeam" | "CoretimePolkadot" | "Collectives" | "Crust" | "Manta" | "Nodle" | "NeuroWeb" | "Pendulum" | "Phala" | "KiltSpiritnet" | "Curio" | "Mythos" | "Peaq" | "RobonomicsPolkadot" | "PeoplePolkadot" | "Unique" | "Xode" | "AssetHubKusama" | "BridgeHubKusama" | "Karura" | "Kintsugi" | "Moonriver" | "CoretimeKusama" | "Encointer" | "Altair" | "Amplitude" | "Basilisk" | "BifrostKusama" | "CrustShadow" | "Crab" | "Laos" | "Quartz" | "PeopleKusama" | "Shiden" | "Zeitgeist" | "AssetHubWestend" | "BridgeHubWestend" | "CollectivesWestend" | "CoretimeWestend" | "Penpal" | "PeopleWestend" | "AjunaPaseo" | "AssetHubPaseo" | "BifrostPaseo" | "BridgeHubPaseo" | "CoretimePaseo" | "EnergyWebXPaseo" | "HeimaPaseo" | "HydrationPaseo" | "KiltPaseo" | "LaosPaseo" | "NeuroWebPaseo" | "PAssetHub" | "PeoplePaseo" | "ZeitgeistPaseo" | undefined;
2283
2275
 
2284
2276
  declare const resolveParaId: (paraId: number | undefined, destination: TDestination) => number | undefined;
2285
2277
 
@@ -2322,5 +2314,5 @@ declare const formatUnits: typeof formatUnits$1;
2322
2314
 
2323
2315
  declare const validateAddress: <TApi, TRes>(api: IPolkadotApi<TApi, TRes>, address: TAddress, chain: TChain, isDestination?: boolean) => void;
2324
2316
 
2325
- export { AmountTooLowError, AssetClaimBuilder, BaseAssetsPallet, BatchMode, BatchValidationError, BridgeHaltedError, Builder, DRY_RUN_CLIENT_TIMEOUT_MS, DryRunFailedError, ETHEREUM_JUNCTION, ETH_CHAIN_ID, FeatureTemporarilyDisabledError, GeneralBuilder, InvalidAddressError, MissingChainApiError, MissingParameterError, NoXCMSupportImplementedError, NumberFormatError, OverrideConflictError, PolkadotXcmError, PolkadotXcmExecutionError, ProviderUnavailableError, RoutingResolutionError, RuntimeApiUnavailableError, ScenarioNotSupportedError, TX_CLIENT_TIMEOUT_MS, TransferToAhNotSupported, UnableToComputeError, UnsupportedOperationError, XTokensError, abstractDecimals, addEthereumBridgeFees, addXcmVersionHeader, applyDecimalAbstraction, assertAddressIsString, assertHasId, assertHasLocation, assertSenderAddress, assertToIsString, blake2b256, blake2b512, calcPreviewMintAmount, claimAssets, computeFeeFromDryRun, computeFeeFromDryRunPjs, computeOverridenAmount, constructTypeAndThenCall, convertSs58, createAsset, createAssetsFilter, createBaseExecuteXcm, createBeneficiaryLocXTokens, createBeneficiaryLocation, createChainClient, createDirectExecuteXcm, createExecuteCall, createExecuteExchangeXcm, createId, createTx, createTypeAndThenCall, createTypeThenAutoReserve, createVersionedAssets, createX1Payload, deriveAccountId, dryRun, dryRunInternal, dryRunOrigin, encodeSs58, formatAssetIdToERC20, formatUnits, getAssetBalanceInternal, getAssetReserveChain, getBalance, getBalanceInternal, getBridgeStatus, getChain, getChainConfig, getChainLocation, getChainProviders, getChainVersion, getEthErc20Balance, getFailureInfo, getMinTransferableAmount, getMinTransferableAmountInternal, getMoonbeamErc20Balance, getOriginXcmFee, getOriginXcmFeeEstimate, getOriginXcmFeeInternal, getParaEthTransferFees, getParaId, getRelayChainOf, getTChain, getTransferInfo, getTransferableAmount, getTransferableAmountInternal, getXcmFee, getXcmFeeEstimate, getXcmFeeInternal, getXcmFeeOnce, handleExecuteTransfer, handleSwapExecuteTransfer, handleToAhTeleport, isConfig, localizeLocation, maybeOverrideAsset, maybeOverrideAssets, normalizeAmount, overrideTxAmount, padFee, padValueBy, parseUnits, resolveDestChain, resolveModuleError, resolveParaId, reverseTransformLocation, send, sortAssets, throwUnsupportedCurrency, transferMoonbeamEvm, transferMoonbeamToEth, transferRelayToPara, traverseXcmHops, validateAddress, validateAssetSpecifiers, validateCurrency, validateDestination, verifyEdOnDestination, wrapTxBypass };
2317
+ export { AmountTooLowError, AssetClaimBuilder, BaseAssetsPallet, BatchMode, BatchValidationError, BridgeHaltedError, Builder, DRY_RUN_CLIENT_TIMEOUT_MS, DryRunFailedError, ETHEREUM_JUNCTION, ETH_CHAIN_ID, FeatureTemporarilyDisabledError, GeneralBuilder, InvalidAddressError, MissingChainApiError, MissingParameterError, NoXCMSupportImplementedError, NumberFormatError, OverrideConflictError, PolkadotXcmError, PolkadotXcmExecutionError, ProviderUnavailableError, RELAY_LOCATION, RoutingResolutionError, RuntimeApiUnavailableError, ScenarioNotSupportedError, TX_CLIENT_TIMEOUT_MS, TransferToAhNotSupported, UnableToComputeError, UnsupportedOperationError, XTokensError, abstractDecimals, addEthereumBridgeFees, addXcmVersionHeader, applyDecimalAbstraction, assertAddressIsString, assertHasId, assertHasLocation, assertSenderAddress, assertToIsString, blake2b256, blake2b512, calcPreviewMintAmount, claimAssets, computeFeeFromDryRun, computeFeeFromDryRunPjs, computeOverridenAmount, constructTypeAndThenCall, convertSs58, createAsset, createAssetsFilter, createBaseExecuteXcm, createBeneficiaryLocXTokens, createBeneficiaryLocation, createChainClient, createDirectExecuteXcm, createExecuteCall, createExecuteExchangeXcm, createId, createTx, createTypeAndThenCall, createTypeThenAutoReserve, createVersionedAssets, createX1Payload, deriveAccountId, dryRun, dryRunInternal, dryRunOrigin, encodeSs58, formatAssetIdToERC20, formatUnits, getAssetBalanceInternal, getAssetReserveChain, getBalance, getBalanceInternal, getBridgeStatus, getChain, getChainConfig, getChainLocation, getChainProviders, getChainVersion, getEthErc20Balance, getFailureInfo, getMinTransferableAmount, getMinTransferableAmountInternal, getMoonbeamErc20Balance, getOriginXcmFee, getOriginXcmFeeEstimate, getOriginXcmFeeInternal, getParaEthTransferFees, getParaId, getRelayChainOf, getTChain, getTransferInfo, getTransferableAmount, getTransferableAmountInternal, getXcmFee, getXcmFeeEstimate, getXcmFeeInternal, getXcmFeeOnce, handleExecuteTransfer, handleSwapExecuteTransfer, handleToAhTeleport, isConfig, localizeLocation, maybeOverrideAsset, maybeOverrideAssets, normalizeAmount, overrideTxAmount, padFee, padValueBy, parseUnits, resolveDestChain, resolveModuleError, resolveParaId, reverseTransformLocation, send, sortAssets, throwUnsupportedCurrency, transferMoonbeamEvm, transferMoonbeamToEth, transferRelayToPara, traverseXcmHops, validateAddress, validateAssetSpecifiers, validateCurrency, validateDestination, verifyEdOnDestination, wrapTxBypass };
2326
2318
  export type { BuildHopInfoOptions, HopProcessParams, HopTraversalConfig, HopTraversalResult, IPolkadotApi, IPolkadotXCMTransfer, IXTokensTransfer, IXTransferTransfer, OneKey, TAddress, TApiOrUrl, TAssetClaimInternalOptions, TAssetClaimOptions, TAssetClaimOptionsBase, TBatchOptions, TBatchedSendOptions, TBifrostToken, TBridgeStatus, TBuildDestInfoOptions, TBuildInternalRes, TBuilderConfig, TBuilderOptions, TBypassOptions, TChainConfig, TChainConfigMap, TChainEndpoint, TChainWithApi, TConditionalXcmFeeDetail, TConditionalXcmFeeHopInfo, TCreateBaseSwapXcmOptions, TCreateBaseTransferXcmOptions, TCreateBeneficiaryOptions, TCreateBeneficiaryXTokensOptions, TCreateSwapXcmInternalOptions, TCreateSwapXcmOptions, TCreateTransferXcmOptions, TCreateTxsOptions, TDestWeight, TDestXcmFeeDetail, TDestination, TDryRunBaseOptions, TDryRunBypassOptions, TDryRunCallBaseOptions, TDryRunCallOptions, TDryRunChainFailure, TDryRunChainResult, TDryRunChainSuccess, TDryRunError, TDryRunOptions, TDryRunPreviewOptions, TDryRunResBase, TDryRunResult, TDryRunXcmBaseOptions, TDryRunXcmOptions, TEvmBuilderOptions, TEvmBuilderOptionsBase, TEvmChainFrom, 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, TPolkadotXCMTransferOptions, TPolkadotXcmMethod, TProviderEntry, TRelayToParaDestination, TRelayToParaOptions, TRelayToParaOverrides, TReserveAsset, TResolveHopParams, TScenario, TSelfReserveAsset, TSendBaseOptions, TSendBaseOptionsWithSenderAddress, TSendInternalOptions, TSendOptions, TSerializeEthTransferOptions, TSerializedEthTransfer, TSerializedExtrinsics, TSerializedRuntimeApiQuery, TSerializedStateQuery, TSetBalanceRes, TSwapConfig, TSwapFeeEstimates, TTransferFeeEstimates, TTransferInfo, TTransferLocalOptions, TTxFactory, TTypeAndThenCallContext, TTypeAndThenFees, TUrl, TVerifyEdOnDestinationOptions, TVerifyEdOnDestinationOptionsBase, TWeight, TXTokensCurrencySelection, TXTokensMethod, TXTokensTransferOptions, TXTransferMethod, TXTransferTransferOptions, TXcmAsset, TXcmFeeBase, TXcmFeeDetail, TXcmFeeDetailError, TXcmFeeDetailSuccess, TXcmFeeDetailWithFallback, TXcmFeeHopInfo, TXcmFeeHopResult, TXcmFeeSwapConfig, TXcmForeignAsset, TXcmPalletMethod, TXcmVersioned, TZeitgeistAsset, WithApi, WithRequiredSenderAddress };
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  import { blake2b } from '@noble/hashes/blake2.js';
2
- import { isChainEvm, getAssetsObject, InvalidCurrencyError, extractAssetLocation, findAssetInfoOrThrow, getOtherAssets, isTAsset, findNativeAssetInfoOrThrow, findAssetInfo, getExistentialDepositOrThrow, isSymbolMatch, getNativeAssetSymbol, getEdFromAssetOrThrow, hasDryRunSupport, findAssetOnDestOrThrow, findAssetInfoOnDest, isAssetEqual, isOverrideLocationSpecifier, getRelayChainSymbol, isSymbolSpecifier, findNativeAssetInfo, isAssetXcEqual, normalizeLocation, normalizeSymbol, Native, hasXcmPaymentApiSupport, findAssetInfoByLoc } from '@paraspell/assets';
2
+ import { isChainEvm, getAssetsObject, InvalidCurrencyError, extractAssetLocation, findAssetInfoOrThrow, getOtherAssets, isTAsset, findNativeAssetInfoOrThrow, findAssetInfo, getExistentialDepositOrThrow, isSymbolMatch, getNativeAssetSymbol, getEdFromAssetOrThrow, hasDryRunSupport, findAssetOnDestOrThrow, findAssetInfoOnDest, isAssetEqual, isStableCoinAsset, isOverrideLocationSpecifier, getRelayChainSymbol, isSymbolSpecifier, findNativeAssetInfo, isAssetXcEqual, normalizeLocation, normalizeSymbol, Native, hasXcmPaymentApiSupport, findAssetInfoByLoc } from '@paraspell/assets';
3
3
  export * from '@paraspell/assets';
4
4
  import { base58 } from '@scure/base';
5
5
  import { isAddress, parseUnits as parseUnits$1, formatUnits as formatUnits$1, getContract, createPublicClient, http, pad, toHex, getAddress, concat, keccak256 } from 'viem';
@@ -1205,6 +1205,10 @@ var AssetHubPolkadot$1 = {
1205
1205
  name: "Parity",
1206
1206
  endpoint: "wss://polkadot-asset-hub-rpc.polkadot.io"
1207
1207
  },
1208
+ {
1209
+ name: "Permanence DAO EU",
1210
+ endpoint: "wss://asset-hub-polkadot.rpc.permanence.io"
1211
+ },
1208
1212
  {
1209
1213
  name: "RadiumBlock",
1210
1214
  endpoint: "wss://statemint.public.curie.radiumblock.co/ws"
@@ -1666,10 +1670,6 @@ var KiltSpiritnet$1 = {
1666
1670
  {
1667
1671
  name: "IBP2",
1668
1672
  endpoint: "wss://kilt.dotters.network"
1669
- },
1670
- {
1671
- name: "KILT Foundation",
1672
- endpoint: "wss://spiritnet.kilt.io/"
1673
1673
  }
1674
1674
  ]
1675
1675
  };
@@ -1689,18 +1689,6 @@ var Mythos$1 = {
1689
1689
  info: "mythos",
1690
1690
  paraId: 3369,
1691
1691
  providers: [
1692
- {
1693
- name: "Helikon",
1694
- endpoint: "wss://rpc.helikon.io/mythos"
1695
- },
1696
- {
1697
- name: "IBP1",
1698
- endpoint: "wss://mythos.ibp.network"
1699
- },
1700
- {
1701
- name: "IBP2",
1702
- endpoint: "wss://mythos.dotters.network"
1703
- },
1704
1692
  {
1705
1693
  name: "parity",
1706
1694
  endpoint: "wss://polkadot-mythos-rpc.polkadot.io"
@@ -2123,17 +2111,6 @@ var Quartz$1 = {
2123
2111
  }
2124
2112
  ]
2125
2113
  };
2126
- var RobonomicsKusama$1 = {
2127
- name: "Robonomics",
2128
- info: "robonomics",
2129
- paraId: 2048,
2130
- providers: [
2131
- {
2132
- name: "Airalab",
2133
- endpoint: "wss://kusama.rpc.robonomics.network/"
2134
- }
2135
- ]
2136
- };
2137
2114
  var PeopleKusama$1 = {
2138
2115
  name: "People",
2139
2116
  info: "kusamaPeople",
@@ -2544,10 +2521,6 @@ var Polkadot = {
2544
2521
  name: "OnFinality",
2545
2522
  endpoint: "wss://polkadot.api.onfinality.io/public-ws"
2546
2523
  },
2547
- {
2548
- name: "Permanence DAO EU",
2549
- endpoint: "wss://polkadot.rpc.permanence.io"
2550
- },
2551
2524
  {
2552
2525
  name: "RadiumBlock",
2553
2526
  endpoint: "wss://polkadot.public.curie.radiumblock.co/ws"
@@ -2717,7 +2690,6 @@ var configs = {
2717
2690
  Crab: Crab$1,
2718
2691
  Laos: Laos$1,
2719
2692
  Quartz: Quartz$1,
2720
- RobonomicsKusama: RobonomicsKusama$1,
2721
2693
  PeopleKusama: PeopleKusama$1,
2722
2694
  Shiden: Shiden$1,
2723
2695
  Zeitgeist: Zeitgeist$1,
@@ -4601,8 +4573,9 @@ var validateBridgeAsset = function validateBridgeAsset(origin, destination, asse
4601
4573
  var nativeAsset = findNativeAssetInfoOrThrow(origin);
4602
4574
  var isNativeAsset = isAssetEqual(asset, nativeAsset);
4603
4575
  var ecosystem = getRelayChainOf(destination).toLowerCase();
4604
- var isBridgedAsset = ((_asset$location = asset.location) === null || _asset$location === void 0 ? void 0 : _asset$location.parents) === Parents.TWO && deepEqual(getJunctionValue(asset.location, 'GlobalConsensus'), _defineProperty({}, ecosystem, null));
4605
- if (!(isNativeAsset || isBridgedAsset)) {
4576
+ var isBridgedSystemAsset = ((_asset$location = asset.location) === null || _asset$location === void 0 ? void 0 : _asset$location.parents) === Parents.TWO && deepEqual(getJunctionValue(asset.location, 'GlobalConsensus'), _defineProperty({}, ecosystem, null));
4577
+ var isBridgedStablecoin = isStableCoinAsset(asset);
4578
+ if (!(isNativeAsset || isBridgedSystemAsset || isBridgedStablecoin)) {
4606
4579
  throw new InvalidCurrencyError("Substrate bridge does not support currency ".concat(JSON.stringify(currency, replaceBigInt), "."));
4607
4580
  }
4608
4581
  };
@@ -5205,21 +5178,32 @@ var getChainLocation = function getChainLocation(chain, destChain) {
5205
5178
  * @returns The localized location
5206
5179
  */
5207
5180
  var localizeLocation = function localizeLocation(chain, location, origin) {
5181
+ var _Object$keys$;
5208
5182
  var targetRelay = isExternalChain(chain) ? undefined : getRelayChainOf(chain).toLowerCase();
5209
5183
  var originRelay = origin && !isExternalChain(origin) ? getRelayChainOf(origin).toLowerCase() : undefined;
5210
- var ecosystemDiffers = originRelay !== targetRelay;
5211
- if (origin && ecosystemDiffers && location.parents === Parents.TWO && originRelay !== undefined && targetRelay !== undefined && deepEqual(getJunctionValue(location, 'GlobalConsensus'), _defineProperty({}, targetRelay, null))) {
5184
+ var locationConsensus = getJunctionValue(location, 'GlobalConsensus');
5185
+ var locationRelay = locationConsensus ? (_Object$keys$ = Object.keys(locationConsensus)[0]) === null || _Object$keys$ === void 0 ? void 0 : _Object$keys$.toLowerCase() : undefined;
5186
+ var ecosystemDiffers = targetRelay && originRelay && originRelay !== targetRelay;
5187
+ var junctions = location.interior === 'Here' ? [] : Object.values(location.interior).flat().filter(function (junction) {
5188
+ return _typeof(junction) === 'object' && junction !== null;
5189
+ });
5190
+ var junctionCount = junctions.length;
5191
+ var isLocationOnTargetRelay = targetRelay !== undefined && locationRelay === targetRelay;
5192
+ if (!origin && locationRelay && targetRelay && locationRelay !== targetRelay) {
5193
+ return location;
5194
+ }
5195
+ if (origin && ecosystemDiffers && location.parents === Parents.TWO && originRelay !== undefined && targetRelay !== undefined && deepEqual(getJunctionValue(location, 'GlobalConsensus'), _defineProperty({}, targetRelay, null)) && junctionCount === 1) {
5212
5196
  return RELAY_LOCATION;
5213
5197
  }
5214
5198
  var newInterior = location.interior;
5215
5199
  var parachainRemoved = false;
5216
5200
  if (location.interior !== 'Here') {
5217
5201
  var paraId = getParaId(chain);
5218
- var junctions = Object.values(location.interior).flat().filter(function (junction) {
5219
- return _typeof(junction) === 'object' && junction !== null;
5220
- });
5221
5202
  var filteredJunctions = junctions.filter(function (junction) {
5222
- if ('Parachain' in junction) {
5203
+ if ('GlobalConsensus' in junction && isLocationOnTargetRelay) {
5204
+ return false;
5205
+ }
5206
+ if ('Parachain' in junction && (!ecosystemDiffers || isLocationOnTargetRelay)) {
5223
5207
  var paraJunctionId = getJunctionValue(location, 'Parachain');
5224
5208
  if (paraJunctionId === paraId) {
5225
5209
  parachainRemoved = true;
@@ -5248,6 +5232,18 @@ var localizeLocation = function localizeLocation(chain, location, origin) {
5248
5232
  }
5249
5233
  };
5250
5234
  }
5235
+ if (origin && ecosystemDiffers && newInterior !== 'Here' && !hasGlobalConsensus && originRelay !== undefined) {
5236
+ var _junctions = Object.values(newInterior).flat().filter(function (junction) {
5237
+ return _typeof(junction) === 'object' && junction !== null;
5238
+ });
5239
+ var updatedJunctions = [{
5240
+ GlobalConsensus: _defineProperty({}, originRelay, null)
5241
+ }].concat(_toConsumableArray(_junctions));
5242
+ return {
5243
+ parents: Parents.TWO,
5244
+ interior: _defineProperty({}, "X".concat(updatedJunctions.length), updatedJunctions)
5245
+ };
5246
+ }
5251
5247
  var shouldSetParentsToZero = parachainRemoved || newInterior === 'Here' && isRelayChain(chain);
5252
5248
  return {
5253
5249
  parents: shouldSetParentsToZero ? Parents.ZERO : location.parents,
@@ -7556,7 +7552,7 @@ var buildHopInfo = /*#__PURE__*/function () {
7556
7552
 
7557
7553
  var getTransferInfo = /*#__PURE__*/function () {
7558
7554
  var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(_ref) {
7559
- var api, buildTx, origin, destination, senderAddress, ahAddress, address, currency, feeAsset, resolvedFeeAsset, originAsset, amount, originBalanceFee, originBalance, edOrigin, _yield$getXcmFeeInter, _yield$getXcmFeeInter2, originFee, originFeeAsset, destFeeDetail, hops, isFeeAssetAh, originBalanceAfter, originBalanceFeeAfter, originBalanceNativeSufficient, originBalanceSufficient, builtHops, totalHopFee, bridgeHop, destinationInfo, _t;
7555
+ var api, buildTx, origin, destination, senderAddress, ahAddress, address, currency, feeAsset, resolvedFeeAsset, originAsset, amount, originBalance, edOrigin, _yield$getXcmFeeInter, _yield$getXcmFeeInter2, originFee, originFeeAsset, destFeeDetail, hops, originBalanceFee, isFeeAssetAh, originBalanceAfter, originBalanceFeeAfter, originBalanceNativeSufficient, originBalanceSufficient, builtHops, totalHopFee, bridgeHop, destinationInfo;
7560
7556
  return _regenerator().w(function (_context2) {
7561
7557
  while (1) switch (_context2.p = _context2.n) {
7562
7558
  case 0:
@@ -7575,43 +7571,17 @@ var getTransferInfo = /*#__PURE__*/function () {
7575
7571
  _context2.p = 3;
7576
7572
  originAsset = findAssetInfoOrThrow(origin, currency, destination);
7577
7573
  amount = abstractDecimals(currency.amount, originAsset.decimals, api);
7578
- if (!resolvedFeeAsset) {
7579
- _context2.n = 5;
7580
- break;
7581
- }
7582
7574
  _context2.n = 4;
7583
- return getAssetBalanceInternal({
7584
- api: api,
7585
- address: senderAddress,
7586
- chain: origin,
7587
- asset: resolvedFeeAsset
7588
- });
7589
- case 4:
7590
- _t = _context2.v;
7591
- _context2.n = 7;
7592
- break;
7593
- case 5:
7594
- _context2.n = 6;
7595
- return getBalanceInternal({
7596
- api: api,
7597
- address: senderAddress,
7598
- chain: origin
7599
- });
7600
- case 6:
7601
- _t = _context2.v;
7602
- case 7:
7603
- originBalanceFee = _t;
7604
- _context2.n = 8;
7605
7575
  return getAssetBalanceInternal({
7606
7576
  api: api,
7607
7577
  address: senderAddress,
7608
7578
  chain: origin,
7609
7579
  asset: originAsset
7610
7580
  });
7611
- case 8:
7581
+ case 4:
7612
7582
  originBalance = _context2.v;
7613
7583
  edOrigin = getExistentialDepositOrThrow(origin, currency);
7614
- _context2.n = 9;
7584
+ _context2.n = 5;
7615
7585
  return getXcmFee({
7616
7586
  api: api,
7617
7587
  buildTx: buildTx,
@@ -7623,13 +7593,22 @@ var getTransferInfo = /*#__PURE__*/function () {
7623
7593
  feeAsset: feeAsset,
7624
7594
  disableFallback: false
7625
7595
  });
7626
- case 9:
7596
+ case 5:
7627
7597
  _yield$getXcmFeeInter = _context2.v;
7628
7598
  _yield$getXcmFeeInter2 = _yield$getXcmFeeInter.origin;
7629
7599
  originFee = _yield$getXcmFeeInter2.fee;
7630
7600
  originFeeAsset = _yield$getXcmFeeInter2.asset;
7631
7601
  destFeeDetail = _yield$getXcmFeeInter.destination;
7632
7602
  hops = _yield$getXcmFeeInter.hops;
7603
+ _context2.n = 6;
7604
+ return getAssetBalanceInternal({
7605
+ api: api,
7606
+ address: senderAddress,
7607
+ chain: origin,
7608
+ asset: originFeeAsset
7609
+ });
7610
+ case 6:
7611
+ originBalanceFee = _context2.v;
7633
7612
  isFeeAssetAh = origin === 'AssetHubPolkadot' && resolvedFeeAsset && isAssetEqual(resolvedFeeAsset, originAsset);
7634
7613
  originBalanceAfter = originBalance - amount;
7635
7614
  originBalanceFeeAfter = isFeeAssetAh ? originBalanceFee - amount : originBalanceFee - originFee;
@@ -7637,10 +7616,10 @@ var getTransferInfo = /*#__PURE__*/function () {
7637
7616
  originBalanceSufficient = originBalanceAfter >= edOrigin;
7638
7617
  builtHops = [];
7639
7618
  if (!(hops && hops.length > 0)) {
7640
- _context2.n = 11;
7619
+ _context2.n = 8;
7641
7620
  break;
7642
7621
  }
7643
- _context2.n = 10;
7622
+ _context2.n = 7;
7644
7623
  return Promise.all(hops.map(/*#__PURE__*/function () {
7645
7624
  var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(hop) {
7646
7625
  var result;
@@ -7671,16 +7650,16 @@ var getTransferInfo = /*#__PURE__*/function () {
7671
7650
  return _ref3.apply(this, arguments);
7672
7651
  };
7673
7652
  }()));
7674
- case 10:
7653
+ case 7:
7675
7654
  builtHops = _context2.v;
7676
- case 11:
7655
+ case 8:
7677
7656
  totalHopFee = hops.reduce(function (acc, hop) {
7678
7657
  return isAssetXcEqual(hop.result.asset, originAsset) ? acc + hop.result.fee : acc;
7679
7658
  }, 0n);
7680
7659
  bridgeHop = hops.find(function (hop) {
7681
7660
  return hop.chain.startsWith('BridgeHub');
7682
7661
  });
7683
- _context2.n = 12;
7662
+ _context2.n = 9;
7684
7663
  return buildDestInfo({
7685
7664
  api: api,
7686
7665
  origin: origin,
@@ -7695,7 +7674,7 @@ var getTransferInfo = /*#__PURE__*/function () {
7695
7674
  totalHopFee: totalHopFee,
7696
7675
  bridgeFee: bridgeHop === null || bridgeHop === void 0 ? void 0 : bridgeHop.result.fee
7697
7676
  });
7698
- case 12:
7677
+ case 9:
7699
7678
  destinationInfo = _context2.v;
7700
7679
  return _context2.a(2, {
7701
7680
  chain: {
@@ -7721,17 +7700,17 @@ var getTransferInfo = /*#__PURE__*/function () {
7721
7700
  hops: builtHops,
7722
7701
  destination: destinationInfo
7723
7702
  });
7724
- case 13:
7725
- _context2.p = 13;
7703
+ case 10:
7704
+ _context2.p = 10;
7726
7705
  api.setDisconnectAllowed(true);
7727
- _context2.n = 14;
7706
+ _context2.n = 11;
7728
7707
  return api.disconnect();
7729
- case 14:
7730
- return _context2.f(13);
7731
- case 15:
7708
+ case 11:
7709
+ return _context2.f(10);
7710
+ case 12:
7732
7711
  return _context2.a(2);
7733
7712
  }
7734
- }, _callee2, null, [[3,, 13, 15]]);
7713
+ }, _callee2, null, [[3,, 10, 12]]);
7735
7714
  }));
7736
7715
  return function getTransferInfo(_x) {
7737
7716
  return _ref2.apply(this, arguments);
@@ -8052,6 +8031,7 @@ var buildTypeAndThenCall = function buildTypeAndThenCall(_ref, isDotAsset, custo
8052
8031
  var origin = _ref.origin,
8053
8032
  reserve = _ref.reserve,
8054
8033
  dest = _ref.dest,
8034
+ isSubBridge = _ref.isSubBridge,
8055
8035
  assetInfo = _ref.assetInfo,
8056
8036
  _ref$options = _ref.options,
8057
8037
  version = _ref$options.version,
@@ -8061,7 +8041,7 @@ var buildTypeAndThenCall = function buildTypeAndThenCall(_ref, isDotAsset, custo
8061
8041
  var finalDest = origin.chain === reserve.chain ? dest.chain : reserve.chain;
8062
8042
  var destLocation = createDestination(version, origin.chain, finalDest, getParaId(finalDest));
8063
8043
  var reserveType = origin.chain === reserve.chain ? 'LocalReserve' : 'DestinationReserve';
8064
- var feeMultiAsset = createAsset(version, assetInfo.amount, isRelayChain(origin.chain) ? localizeLocation(origin.chain, feeAssetLocation) : feeAssetLocation);
8044
+ var feeMultiAsset = createAsset(version, assetInfo.amount, isRelayChain(origin.chain) || isSubBridge ? localizeLocation(origin.chain, feeAssetLocation) : feeAssetLocation);
8065
8045
  var module = pallet !== null && pallet !== void 0 ? pallet : isRelayChain(origin.chain) ? 'XcmPallet' : 'PolkadotXcm';
8066
8046
  var methodName = method !== null && method !== void 0 ? method : 'transfer_assets_using_type_and_then';
8067
8047
  return {
@@ -8080,8 +8060,10 @@ var buildTypeAndThenCall = function buildTypeAndThenCall(_ref, isDotAsset, custo
8080
8060
  };
8081
8061
 
8082
8062
  var getSubBridgeReserve = function getSubBridgeReserve(chain, destination, location) {
8083
- if (deepEqual(location, RELAY_LOCATION)) return chain;
8084
- return destination;
8063
+ var destRelay = getRelayChainOf(destination).toLowerCase();
8064
+ var isDestReserve = deepEqual(getJunctionValue(location, 'GlobalConsensus'), _defineProperty({}, destRelay, null));
8065
+ if (isDestReserve) return destination;
8066
+ return chain;
8085
8067
  };
8086
8068
  var resolveReserveChain = function resolveReserveChain(chain, destination, assetLocation, isSubBridge, overrideReserve) {
8087
8069
  if (isSubBridge) {
@@ -8126,7 +8108,7 @@ var createTypeAndThenCallContext = /*#__PURE__*/function () {
8126
8108
  systemAsset = findNativeAssetInfoOrThrow(getRelayChainOf(chain));
8127
8109
  isRelayAsset = RELAY_ASSET_LOCATIONS.some(function (loc) {
8128
8110
  return deepEqual(assetInfo.location, loc);
8129
- });
8111
+ }) || isSubBridge;
8130
8112
  destApi = api.clone();
8131
8113
  _context.n = 1;
8132
8114
  return destApi.init(destinationChain);
@@ -8277,10 +8259,10 @@ var createRefundInstruction = function createRefundInstruction(api, senderAddres
8277
8259
  };
8278
8260
  };
8279
8261
 
8280
- var buildAssets = function buildAssets(chain, asset, feeAmount, isDotAsset, version) {
8262
+ var buildAssets = function buildAssets(chain, asset, feeAmount, isRelayAsset, version) {
8281
8263
  var assets = [];
8282
8264
  var shouldLocalizeAndSort = isRelayChain(chain) || chain.startsWith('AssetHub');
8283
- if (!isDotAsset) {
8265
+ if (!isRelayAsset) {
8284
8266
  assets.push(createAsset(version, feeAmount, RELAY_LOCATION));
8285
8267
  }
8286
8268
  assets.push(createAsset(version, asset.amount, shouldLocalizeAndSort ? localizeLocation(chain, asset.location) : asset.location));
@@ -10878,7 +10860,7 @@ var AssetHubPolkadot = /*#__PURE__*/function (_Parachain) {
10878
10860
  key: "getBalanceForeign",
10879
10861
  value: function getBalanceForeign(api, address, asset) {
10880
10862
  var ASSETS_PALLET_ID = 50;
10881
- var hasRequiredJunctions = asset.location && hasJunction(asset.location, 'PalletInstance', ASSETS_PALLET_ID) && hasJunction(asset.location, 'GeneralIndex');
10863
+ var hasRequiredJunctions = asset.location && hasJunction(asset.location, 'PalletInstance', ASSETS_PALLET_ID) && hasJunction(asset.location, 'GeneralIndex') && !hasJunction(asset.location, 'GlobalConsensus');
10882
10864
  if (!asset.location || hasRequiredJunctions) {
10883
10865
  return getPalletInstance('Assets').getBalance(api, address, asset);
10884
10866
  }
@@ -12846,35 +12828,6 @@ var Quartz = /*#__PURE__*/function (_Parachain) {
12846
12828
  }(Parachain);
12847
12829
  Quartz.NATIVE_ASSET_ID = 0;
12848
12830
 
12849
- var RobonomicsKusama = /*#__PURE__*/function (_Parachain) {
12850
- function RobonomicsKusama() {
12851
- _classCallCheck(this, RobonomicsKusama);
12852
- return _callSuper(this, RobonomicsKusama, ['RobonomicsKusama', 'robonomics', 'Kusama', Version.V3]);
12853
- }
12854
- _inherits(RobonomicsKusama, _Parachain);
12855
- return _createClass(RobonomicsKusama, [{
12856
- key: "transferPolkadotXCM",
12857
- value: function transferPolkadotXCM(input) {
12858
- return transferPolkadotXcm(input, 'limited_reserve_transfer_assets', 'Unlimited');
12859
- }
12860
- }, {
12861
- key: "transferLocalNonNativeAsset",
12862
- value: function transferLocalNonNativeAsset(options) {
12863
- return getChain('RobonomicsPolkadot').transferLocalNonNativeAsset(options);
12864
- }
12865
- }, {
12866
- key: "isSendingTempDisabled",
12867
- value: function isSendingTempDisabled(_options) {
12868
- return true;
12869
- }
12870
- }, {
12871
- key: "isReceivingTempDisabled",
12872
- value: function isReceivingTempDisabled(_scenario) {
12873
- return true;
12874
- }
12875
- }]);
12876
- }(Parachain);
12877
-
12878
12831
  var RobonomicsPolkadot = /*#__PURE__*/function (_Parachain) {
12879
12832
  function RobonomicsPolkadot() {
12880
12833
  _classCallCheck(this, RobonomicsPolkadot);
@@ -13177,7 +13130,6 @@ var chains = function chains() {
13177
13130
  Moonriver: new Moonriver(),
13178
13131
  Laos: new Laos(),
13179
13132
  Quartz: new Quartz(),
13180
- RobonomicsKusama: new RobonomicsKusama(),
13181
13133
  PeopleKusama: new PeopleKusama(),
13182
13134
  Shiden: new Shiden(),
13183
13135
  Zeitgeist: new Zeitgeist(),
@@ -14159,4 +14111,4 @@ var getMoonbeamErc20Balance = /*#__PURE__*/function () {
14159
14111
  };
14160
14112
  }();
14161
14113
 
14162
- export { AmountTooLowError, AssetClaimBuilder, BaseAssetsPallet, BatchMode, BatchValidationError, BridgeHaltedError, Builder, DRY_RUN_CLIENT_TIMEOUT_MS, DryRunFailedError, ETHEREUM_JUNCTION, ETH_CHAIN_ID, FeatureTemporarilyDisabledError, GeneralBuilder, InvalidAddressError, MissingChainApiError, MissingParameterError, NoXCMSupportImplementedError, NumberFormatError, OverrideConflictError, PolkadotXcmError, PolkadotXcmExecutionError, ProviderUnavailableError, RoutingResolutionError, RuntimeApiUnavailableError, ScenarioNotSupportedError, TX_CLIENT_TIMEOUT_MS, TransferToAhNotSupported, UnableToComputeError, UnsupportedOperationError, XTokensError, abstractDecimals, addEthereumBridgeFees, addXcmVersionHeader, applyDecimalAbstraction, assertAddressIsString, assertHasId, assertHasLocation, assertSenderAddress, assertToIsString, blake2b256, blake2b512, calcPreviewMintAmount, claimAssets, computeFeeFromDryRun, computeFeeFromDryRunPjs, computeOverridenAmount, constructTypeAndThenCall, convertSs58, createAsset, createAssetsFilter, createBaseExecuteXcm, createBeneficiaryLocXTokens, createBeneficiaryLocation, createChainClient, createDirectExecuteXcm, createExecuteCall, createExecuteExchangeXcm, createId, createTx, createTypeAndThenCall, createTypeThenAutoReserve, createVersionedAssets, createX1Payload, deriveAccountId, dryRun, dryRunInternal, dryRunOrigin, encodeSs58, formatAssetIdToERC20, formatUnits, getAssetBalanceInternal, getAssetReserveChain, getBalance, getBalanceInternal, getBridgeStatus, getChain, getChainConfig, getChainLocation, getChainProviders, getChainVersion, getEthErc20Balance, getFailureInfo$1 as getFailureInfo, getMinTransferableAmount, getMinTransferableAmountInternal, getMoonbeamErc20Balance, getOriginXcmFee, getOriginXcmFeeEstimate, getOriginXcmFeeInternal, getParaEthTransferFees, getParaId, getRelayChainOf, getTChain, getTransferInfo, getTransferableAmount, getTransferableAmountInternal, getXcmFee, getXcmFeeEstimate, getXcmFeeInternal, getXcmFeeOnce, handleExecuteTransfer, handleSwapExecuteTransfer, handleToAhTeleport, isConfig, localizeLocation, maybeOverrideAsset, maybeOverrideAssets, normalizeAmount, overrideTxAmount, padFee, padValueBy, parseUnits, resolveDestChain, resolveModuleError, resolveParaId, reverseTransformLocation, send, sortAssets, throwUnsupportedCurrency, transferMoonbeamEvm, transferMoonbeamToEth, transferRelayToPara, traverseXcmHops, validateAddress, validateAssetSpecifiers, validateCurrency, validateDestination, verifyEdOnDestination, wrapTxBypass };
14114
+ export { AmountTooLowError, AssetClaimBuilder, BaseAssetsPallet, BatchMode, BatchValidationError, BridgeHaltedError, Builder, DRY_RUN_CLIENT_TIMEOUT_MS, DryRunFailedError, ETHEREUM_JUNCTION, ETH_CHAIN_ID, FeatureTemporarilyDisabledError, GeneralBuilder, InvalidAddressError, MissingChainApiError, MissingParameterError, NoXCMSupportImplementedError, NumberFormatError, OverrideConflictError, PolkadotXcmError, PolkadotXcmExecutionError, ProviderUnavailableError, RELAY_LOCATION, RoutingResolutionError, RuntimeApiUnavailableError, ScenarioNotSupportedError, TX_CLIENT_TIMEOUT_MS, TransferToAhNotSupported, UnableToComputeError, UnsupportedOperationError, XTokensError, abstractDecimals, addEthereumBridgeFees, addXcmVersionHeader, applyDecimalAbstraction, assertAddressIsString, assertHasId, assertHasLocation, assertSenderAddress, assertToIsString, blake2b256, blake2b512, calcPreviewMintAmount, claimAssets, computeFeeFromDryRun, computeFeeFromDryRunPjs, computeOverridenAmount, constructTypeAndThenCall, convertSs58, createAsset, createAssetsFilter, createBaseExecuteXcm, createBeneficiaryLocXTokens, createBeneficiaryLocation, createChainClient, createDirectExecuteXcm, createExecuteCall, createExecuteExchangeXcm, createId, createTx, createTypeAndThenCall, createTypeThenAutoReserve, createVersionedAssets, createX1Payload, deriveAccountId, dryRun, dryRunInternal, dryRunOrigin, encodeSs58, formatAssetIdToERC20, formatUnits, getAssetBalanceInternal, getAssetReserveChain, getBalance, getBalanceInternal, getBridgeStatus, getChain, getChainConfig, getChainLocation, getChainProviders, getChainVersion, getEthErc20Balance, getFailureInfo$1 as getFailureInfo, getMinTransferableAmount, getMinTransferableAmountInternal, getMoonbeamErc20Balance, getOriginXcmFee, getOriginXcmFeeEstimate, getOriginXcmFeeInternal, getParaEthTransferFees, getParaId, getRelayChainOf, getTChain, getTransferInfo, getTransferableAmount, getTransferableAmountInternal, getXcmFee, getXcmFeeEstimate, getXcmFeeInternal, getXcmFeeOnce, handleExecuteTransfer, handleSwapExecuteTransfer, handleToAhTeleport, isConfig, localizeLocation, maybeOverrideAsset, maybeOverrideAssets, normalizeAmount, overrideTxAmount, padFee, padValueBy, parseUnits, resolveDestChain, resolveModuleError, resolveParaId, reverseTransformLocation, send, sortAssets, throwUnsupportedCurrency, transferMoonbeamEvm, transferMoonbeamToEth, transferRelayToPara, traverseXcmHops, validateAddress, validateAssetSpecifiers, validateCurrency, validateDestination, verifyEdOnDestination, wrapTxBypass };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraspell/sdk-core",
3
- "version": "12.0.6",
3
+ "version": "12.1.1",
4
4
  "description": "SDK core for ParaSpell XCM/XCMP tool for developers",
5
5
  "repository": {
6
6
  "type": "git",
@@ -25,24 +25,24 @@
25
25
  "dependencies": {
26
26
  "@noble/hashes": "^2.0.1",
27
27
  "@scure/base": "^2.0.0",
28
- "viem": "^2.40.3",
29
- "@paraspell/pallets": "12.0.6",
30
- "@paraspell/sdk-common": "12.0.6",
31
- "@paraspell/assets": "12.0.6"
28
+ "viem": "2.40.3",
29
+ "@paraspell/sdk-common": "12.1.1",
30
+ "@paraspell/assets": "12.1.1",
31
+ "@paraspell/pallets": "12.1.1"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@babel/plugin-syntax-import-attributes": "^7.27.1",
35
35
  "@babel/preset-env": "^7.28.5",
36
36
  "@codecov/rollup-plugin": "^1.9.1",
37
- "@polkadot/api": "^16.5.3",
38
- "@polkadot/types": "^16.5.3",
37
+ "@polkadot/api": "^16.5.4",
38
+ "@polkadot/types": "^16.5.4",
39
39
  "@rollup/plugin-babel": "^6.1.0",
40
40
  "@rollup/plugin-json": "^6.1.0",
41
41
  "@rollup/plugin-typescript": "^12.3.0",
42
- "@vitest/coverage-v8": "^4.0.14",
42
+ "@vitest/coverage-v8": "^4.0.16",
43
43
  "axios": "^1.13.2",
44
44
  "dotenv": "^17.2.3",
45
- "rollup": "^4.53.3",
45
+ "rollup": "^4.54.0",
46
46
  "rollup-plugin-dts": "^6.3.0",
47
47
  "ts-morph": "^27.0.2",
48
48
  "ts-node": "^10.9.2",