@paraspell/sdk-core 13.7.1 → 13.7.2

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
@@ -8,8 +8,8 @@ import { TPallet, TPalletEntry, TAssetsPallet, TCustomChainPallets, TCrosschainP
8
8
  export * from '@paraspell/pallets';
9
9
  import { WalletClient, TransactionSerializableEIP1559, Address, formatUnits as formatUnits$1, parseUnits as parseUnits$1 } from 'viem';
10
10
 
11
- type WithApi<TBase, TApi, TRes, TSigner> = TBase & {
12
- api: PolkadotApi<TApi, TRes, TSigner>;
11
+ type WithApi<TBase, TApi, TRes, TSigner, TCustomChain extends string = never> = TBase & {
12
+ api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>;
13
13
  };
14
14
  type TUrl = string | string[];
15
15
  type TApiOrUrl<TApi> = TApi | TUrl;
@@ -61,17 +61,17 @@ declare abstract class PolkadotApi<TApi, TRes, TSigner, TCustomChain extends str
61
61
  getAssets(chain: TChain): TAssetInfo[];
62
62
  getNativeAssets(chain: TChain): TAssetInfo[];
63
63
  getOtherAssets(chain: TChain): TAssetInfo[];
64
- findAssetInfo(chain: TChain, currency: TCurrencyInput, destination?: TChain | null): TAssetInfo | null;
65
- findAssetInfoOrThrow(chain: TChain, currency: TCurrencyInput, destination?: TChain | null): TAssetInfo;
66
- findAssetInfoOnDest(origin: TChain, destination: TChain, currency: TCurrencyInput, originAsset?: TAssetInfo | null): TAssetInfo | null;
64
+ findAssetInfo(chain: TChain | TCustomChain, currency: TCurrencyInput, destination?: TChain | null): TAssetInfo | null;
65
+ findAssetInfoOrThrow(chain: TChain | TCustomChain, currency: TCurrencyInput, destination?: TChain | null): TAssetInfo;
66
+ findAssetInfoOnDest(origin: TChain | TCustomChain, destination: TChain, currency: TCurrencyInput, originAsset?: TAssetInfo | null): TAssetInfo | null;
67
67
  findAssetOnDestOrThrow(origin: TChain, destination: TChain, currency: TCurrencyInput): TAssetInfo;
68
- findNativeAssetInfo(chain: TChain): TAssetInfo | null;
69
- findNativeAssetInfoOrThrow(chain: TChain): TAssetInfo;
70
- isChainEvm(chain: TChain): boolean;
71
- getNativeAssetSymbol(chain: TChain): string;
72
- getRelayChainSymbol(chain: TChain): string;
73
- hasDryRunSupport(chain: TChain): boolean;
74
- hasXcmPaymentApiSupport(chain: TChain): boolean;
68
+ findNativeAssetInfo(chain: TChain | TCustomChain): TAssetInfo | null;
69
+ findNativeAssetInfoOrThrow(chain: TChain | TCustomChain): TAssetInfo;
70
+ isChainEvm(chain: TChain | TCustomChain): boolean;
71
+ getNativeAssetSymbol(chain: TChain | TCustomChain): string;
72
+ getRelayChainSymbol(chain: TChain | TCustomChain): string;
73
+ hasDryRunSupport(chain: TChain | TCustomChain): boolean;
74
+ hasXcmPaymentApiSupport(chain: TChain | TCustomChain): boolean;
75
75
  init(chain: TChain | TCustomChain, clientTtlMs?: number, destination?: TDestination): Promise<void>;
76
76
  setCustomCtx(ctx: TFullCustomCtx): void;
77
77
  private hydrateCustomChain;
@@ -106,8 +106,8 @@ declare abstract class PolkadotApi<TApi, TRes, TSigner, TCustomChain extends str
106
106
  abstract blake2AsHex(data: Uint8Array): string;
107
107
  abstract clone(): PolkadotApi<TApi, TRes, TSigner, TCustomChain>;
108
108
  abstract createApiForChain(chain: TSubstrateChain): Promise<PolkadotApi<TApi, TRes, TSigner, TCustomChain>>;
109
- abstract getDryRunCall(options: TDryRunCallBaseOptions<TRes>): Promise<TDryRunChainResult>;
110
- abstract getDryRunXcm(options: TDryRunXcmBaseOptions<TRes>): Promise<TDryRunChainResult>;
109
+ abstract getDryRunCall(options: TDryRunCallBaseOptions<TRes, TCustomChain>): Promise<TDryRunChainResult>;
110
+ abstract getDryRunXcm(options: TDryRunXcmBaseOptions<TRes, TCustomChain>): Promise<TDryRunChainResult>;
111
111
  abstract getBridgeStatus(): Promise<TBridgeStatus>;
112
112
  abstract disconnect(force?: boolean): Promise<void>;
113
113
  abstract validateSubstrateAddress(address: string): boolean;
@@ -129,25 +129,25 @@ declare abstract class Chain<TApi, TRes, TSigner, TCustomChain extends string =
129
129
  constructor(chain: TSubstrateChain | TCustomChain, info: string, ecosystem: TRelaychain, version: Version);
130
130
  get info(): string;
131
131
  get ecosystem(): TRelaychain;
132
- get chain(): TSubstrateChain;
132
+ get chain(): TSubstrateChain | TCustomChain;
133
133
  get version(): Version;
134
- transfer(transferOptions: TTransferInternalOptions<TApi, TRes, TSigner>): Promise<TRes>;
134
+ transfer(transferOptions: TTransferInternalOptions<TApi, TRes, TSigner, TCustomChain>): Promise<TRes>;
135
135
  isRelayToParaEnabled(): boolean;
136
136
  throwIfCantReceive(destChain: TChain | undefined): void;
137
- throwIfTempDisabled(options: TTransferInternalOptions<TApi, TRes, TSigner>, destChain?: TChain): void;
138
- isSendingTempDisabled(_options: TTransferInternalOptions<TApi, TRes, TSigner>): boolean;
137
+ throwIfTempDisabled(options: TTransferInternalOptions<TApi, TRes, TSigner, TCustomChain>, destChain?: TChain): void;
138
+ isSendingTempDisabled(_options: TTransferInternalOptions<TApi, TRes, TSigner, TCustomChain>): boolean;
139
139
  isReceivingTempDisabled(_scenario: TScenario): boolean;
140
- canReceiveFrom(_origin: TChain | TCustomChain): boolean;
141
- shouldUseNativeAssetTeleport({ api, assetInfo: asset, to }: TTransferInternalOptions<TApi, TRes, TSigner>): boolean;
142
- createAsset(api: PolkadotApi<TApi, TRes, TSigner>, asset: WithAmount<TAssetInfo>, version: Version): TAsset;
143
- getNativeAssetSymbol(api: PolkadotApi<TApi, TRes, TSigner>): string;
144
- transferLocal(options: TTransferInternalOptions<TApi, TRes, TSigner>): Promise<TRes>;
145
- transferLocalNativeAsset(options: TTransferLocalOptions<TApi, TRes, TSigner>): Promise<TRes>;
146
- transferLocalNonNativeAsset(options: TTransferLocalOptions<TApi, TRes, TSigner>): TRes;
147
- getBalanceNative(api: PolkadotApi<TApi, TRes, TSigner>, address: string, asset: TAssetInfo): Promise<bigint>;
148
- getCustomCurrencyId(_api: PolkadotApi<TApi, TRes, TSigner>, _asset: TAssetInfo): unknown;
149
- getBalanceForeign(api: PolkadotApi<TApi, TRes, TSigner>, address: string, asset: TAssetInfo): Promise<bigint>;
150
- getBalance(api: PolkadotApi<TApi, TRes, TSigner>, address: string, asset: TAssetInfo): Promise<bigint>;
140
+ canReceiveFrom<TCustomChain extends string = never>(_origin: TChain | TCustomChain): boolean;
141
+ shouldUseNativeAssetTeleport({ api, assetInfo: asset, to }: TTransferInternalOptions<TApi, TRes, TSigner, TCustomChain>): boolean;
142
+ createAsset(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, asset: WithAmount<TAssetInfo>, version: Version): TAsset;
143
+ getNativeAssetSymbol<TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>): string;
144
+ transferLocal(options: TTransferInternalOptions<TApi, TRes, TSigner, TCustomChain>): Promise<TRes>;
145
+ transferLocalNativeAsset(options: TTransferLocalOptions<TApi, TRes, TSigner, TCustomChain>): Promise<TRes>;
146
+ transferLocalNonNativeAsset(options: TTransferLocalOptions<TApi, TRes, TSigner, TCustomChain>): TRes;
147
+ getBalanceNative(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, address: string, asset: TAssetInfo): Promise<bigint>;
148
+ getCustomCurrencyId(_api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, _asset: TAssetInfo): unknown;
149
+ getBalanceForeign(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, address: string, asset: TAssetInfo): Promise<bigint>;
150
+ getBalance(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, address: string, asset: TAssetInfo): Promise<bigint>;
151
151
  }
152
152
 
153
153
  declare class Acala<TApi, TRes, TSigner> extends Chain<TApi, TRes, TSigner> implements IPolkadotXCMTransfer<TApi, TRes, TSigner> {
@@ -156,7 +156,7 @@ declare class Acala<TApi, TRes, TSigner> extends Chain<TApi, TRes, TSigner> impl
156
156
  isRelayToParaEnabled(): boolean;
157
157
  transferLocalNativeAsset(options: TTransferLocalOptions<TApi, TRes, TSigner>): Promise<TRes>;
158
158
  transferLocalNonNativeAsset(options: TTransferLocalOptions<TApi, TRes, TSigner>): TRes;
159
- getCustomCurrencyId(_api: PolkadotApi<TApi, TRes, TSigner>, asset: TAssetInfo): TForeignOrTokenAsset;
159
+ getCustomCurrencyId<TCustomChain extends string = never>(_api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, asset: TAssetInfo): TForeignOrTokenAsset;
160
160
  getBalance(api: PolkadotApi<TApi, TRes, TSigner>, address: string, asset: TAssetInfo): Promise<bigint>;
161
161
  }
162
162
 
@@ -215,7 +215,7 @@ declare class Basilisk<TApi, TRes, TSigner> extends Hydration<TApi, TRes, TSigne
215
215
 
216
216
  declare class BifrostPolkadot<TApi, TRes, TSigner> extends Chain<TApi, TRes, TSigner> implements IPolkadotXCMTransfer<TApi, TRes, TSigner> {
217
217
  constructor(chain?: TParachain, info?: string, ecosystem?: TRelaychain, version?: Version);
218
- getCustomCurrencyId(api: PolkadotApi<TApi, TRes, TSigner>, asset: TAssetInfo): {
218
+ getCustomCurrencyId<TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, asset: TAssetInfo): {
219
219
  Native: string;
220
220
  VToken?: undefined;
221
221
  Token?: undefined;
@@ -290,7 +290,7 @@ declare class BridgeHubWestend<TApi, TRes, TSigner> extends BridgeHubPolkadot<TA
290
290
 
291
291
  declare class Centrifuge<TApi, TRes, TSigner> extends Chain<TApi, TRes, TSigner> implements IXTokensTransfer<TApi, TRes, TSigner> {
292
292
  constructor();
293
- getCustomCurrencyId(api: PolkadotApi<TApi, TRes, TSigner>, asset: TAssetInfo): "Native" | {
293
+ getCustomCurrencyId<TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, asset: TAssetInfo): "Native" | {
294
294
  ForeignAsset: number;
295
295
  };
296
296
  transferXTokens(input: TXTokensTransferOptions<TApi, TRes, TSigner>): TRes;
@@ -314,7 +314,7 @@ declare class CoretimeKusama<TApi, TRes, TSigner> extends Chain<TApi, TRes, TSig
314
314
  declare class CoretimePolkadot<TApi, TRes, TSigner> extends Chain<TApi, TRes, TSigner> implements IPolkadotXCMTransfer<TApi, TRes, TSigner> {
315
315
  constructor(chain?: TParachain, info?: string, ecosystem?: TRelaychain, version?: Version);
316
316
  transferPolkadotXCM(input: TPolkadotXCMTransferOptions<TApi, TRes, TSigner>): Promise<TRes>;
317
- canReceiveFrom(origin: TChain): boolean;
317
+ canReceiveFrom<TCustomChain extends string = never>(origin: TChain | TCustomChain): boolean;
318
318
  }
319
319
 
320
320
  declare class CoretimePaseo<TApi, TRes, TSigner> extends CoretimePolkadot<TApi, TRes, TSigner> {
@@ -383,7 +383,7 @@ declare class HydrationPaseo<TApi, TRes, TSigner> extends Hydration<TApi, TRes,
383
383
 
384
384
  declare class Interlay<TApi, TRes, TSigner> extends Chain<TApi, TRes, TSigner> implements IXTokensTransfer<TApi, TRes, TSigner> {
385
385
  constructor();
386
- getCustomCurrencyId(_api: PolkadotApi<TApi, TRes, TSigner>, asset: TAssetInfo): TForeignOrTokenAsset;
386
+ getCustomCurrencyId<TCustomChain extends string = never>(_api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, asset: TAssetInfo): TForeignOrTokenAsset;
387
387
  transferXTokens(input: TXTokensTransferOptions<TApi, TRes, TSigner>): TRes;
388
388
  transferLocalNativeAsset(options: TTransferLocalOptions<TApi, TRes, TSigner>): Promise<TRes>;
389
389
  transferLocalNonNativeAsset(options: TTransferLocalOptions<TApi, TRes, TSigner>): TRes;
@@ -392,7 +392,7 @@ declare class Interlay<TApi, TRes, TSigner> extends Chain<TApi, TRes, TSigner> i
392
392
 
393
393
  declare class Jamton<TApi, TRes, TSigner> extends Chain<TApi, TRes, TSigner> implements IPolkadotXCMTransfer<TApi, TRes, TSigner> {
394
394
  constructor();
395
- getCustomCurrencyId(_api: PolkadotApi<TApi, TRes, TSigner>, asset: TAssetInfo): {
395
+ getCustomCurrencyId<TCustomChain extends string = never>(_api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, asset: TAssetInfo): {
396
396
  Native: number;
397
397
  ForeignAsset?: undefined;
398
398
  } | {
@@ -408,7 +408,7 @@ declare class Karura<TApi, TRes, TSigner> extends Acala<TApi, TRes, TSigner> {
408
408
 
409
409
  declare class Kintsugi<TApi, TRes, TSigner> extends Chain<TApi, TRes, TSigner> implements IXTokensTransfer<TApi, TRes, TSigner> {
410
410
  constructor();
411
- getCustomCurrencyId(_api: PolkadotApi<TApi, TRes, TSigner>, asset: TAssetInfo): TForeignOrTokenAsset;
411
+ getCustomCurrencyId<TCustomChain extends string = never>(_api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, asset: TAssetInfo): TForeignOrTokenAsset;
412
412
  transferXTokens(input: TXTokensTransferOptions<TApi, TRes, TSigner>): TRes;
413
413
  transferLocalNativeAsset(options: TTransferLocalOptions<TApi, TRes, TSigner>): Promise<TRes>;
414
414
  transferLocalNonNativeAsset(options: TTransferLocalOptions<TApi, TRes, TSigner>): TRes;
@@ -467,7 +467,7 @@ declare class Peaq<TApi, TRes, TSigner> extends Chain<TApi, TRes, TSigner> imple
467
467
 
468
468
  declare class Pendulum<TApi, TRes, TSigner> extends Chain<TApi, TRes, TSigner> implements IXTokensTransfer<TApi, TRes, TSigner> {
469
469
  constructor();
470
- getCustomCurrencyId(api: PolkadotApi<TApi, TRes, TSigner>, asset: TAssetInfo): TXcmAsset;
470
+ getCustomCurrencyId<TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, asset: TAssetInfo): TXcmAsset;
471
471
  transferXTokens(input: TXTokensTransferOptions<TApi, TRes, TSigner>): TRes;
472
472
  transferLocalNonNativeAsset(options: TTransferLocalOptions<TApi, TRes, TSigner>): TRes;
473
473
  }
@@ -525,14 +525,14 @@ declare class Westend<TApi, TRes, TSigner> extends Polkadot<TApi, TRes, TSigner>
525
525
  declare class Xode<TApi, TRes, TSigner> extends Chain<TApi, TRes, TSigner> implements IPolkadotXCMTransfer<TApi, TRes, TSigner> {
526
526
  constructor();
527
527
  transferPolkadotXCM(options: TPolkadotXCMTransferOptions<TApi, TRes, TSigner>): Promise<TRes>;
528
- canReceiveFrom(origin: TChain): boolean;
528
+ canReceiveFrom<TCustomChain extends string = never>(origin: TChain | TCustomChain): boolean;
529
529
  }
530
530
 
531
531
  declare class Zeitgeist<TApi, TRes, TSigner> extends Chain<TApi, TRes, TSigner> implements IPolkadotXCMTransfer<TApi, TRes, TSigner> {
532
532
  constructor(chain?: TParachain, info?: string, ecosystem?: TRelaychain, version?: Version);
533
- getCustomCurrencyId(_api: PolkadotApi<TApi, TRes, TSigner>, asset: TAssetInfo): TZeitgeistAsset | TXcmForeignAsset;
533
+ getCustomCurrencyId<TCustomChain extends string = never>(_api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, asset: TAssetInfo): TZeitgeistAsset | TXcmForeignAsset;
534
534
  transferPolkadotXCM(input: TPolkadotXCMTransferOptions<TApi, TRes, TSigner>): Promise<TRes>;
535
- canReceiveFrom(origin: TChain): boolean;
535
+ canReceiveFrom<TCustomChain extends string = never>(origin: TChain | TCustomChain): boolean;
536
536
  transferLocalNonNativeAsset(options: TTransferLocalOptions<TApi, TRes, TSigner>): TRes;
537
537
  }
538
538
 
@@ -623,10 +623,10 @@ declare const EXCHANGE_CHAINS: readonly ["AssetHubPolkadot", "AssetHubKusama", "
623
623
  *
624
624
  * @deprecated Asset claim functionality is deprecated and will be removed in v14.
625
625
  */
626
- declare class AssetClaimBuilder<TApi, TRes, TSigner, T extends Partial<TAssetClaimOptionsBase & TBuilderInternalOptions<TSigner>> = object> {
627
- readonly api: PolkadotApi<TApi, TRes, TSigner>;
626
+ declare class AssetClaimBuilder<TApi, TRes, TSigner, T extends Partial<TAssetClaimOptionsBase & TBuilderInternalOptions<TSigner>> = object, TCustomChain extends string = never> {
627
+ readonly api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>;
628
628
  readonly _options: T;
629
- constructor(api: PolkadotApi<TApi, TRes, TSigner>, options?: T);
629
+ constructor(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, options?: T);
630
630
  /**
631
631
  * Specifies the assets to be claimed.
632
632
  *
@@ -635,7 +635,7 @@ declare class AssetClaimBuilder<TApi, TRes, TSigner, T extends Partial<TAssetCla
635
635
  */
636
636
  currency(currency: TAssetClaimOptionsBase['currency']): AssetClaimBuilder<TApi, TRes, TSigner, T & {
637
637
  currency: TAssetClaimOptionsBase['currency'];
638
- }>;
638
+ }, TCustomChain>;
639
639
  /**
640
640
  * Sets the sender address.
641
641
  *
@@ -644,7 +644,7 @@ declare class AssetClaimBuilder<TApi, TRes, TSigner, T extends Partial<TAssetCla
644
644
  */
645
645
  sender(sender: TSender<TSigner>): AssetClaimBuilder<TApi, TRes, TSigner, T & {
646
646
  sender: string;
647
- }>;
647
+ }, TCustomChain>;
648
648
  /**
649
649
  * Specifies the account address on which the assets will be claimed.
650
650
  *
@@ -653,7 +653,7 @@ declare class AssetClaimBuilder<TApi, TRes, TSigner, T extends Partial<TAssetCla
653
653
  */
654
654
  address(address: TAddress): AssetClaimBuilder<TApi, TRes, TSigner, T & {
655
655
  address: TAddress;
656
- }>;
656
+ }, TCustomChain>;
657
657
  /**
658
658
  * Sets the XCM version to be used for the asset claim.
659
659
  *
@@ -662,7 +662,7 @@ declare class AssetClaimBuilder<TApi, TRes, TSigner, T extends Partial<TAssetCla
662
662
  */
663
663
  xcmVersion(version: Version): AssetClaimBuilder<TApi, TRes, TSigner, T & {
664
664
  version: Version;
665
- }>;
665
+ }, TCustomChain>;
666
666
  /**
667
667
  * Builds and returns the asset claim extrinsic.
668
668
  *
@@ -684,21 +684,21 @@ declare class AssetClaimBuilder<TApi, TRes, TSigner, T extends Partial<TAssetCla
684
684
  disconnect(): Promise<void>;
685
685
  }
686
686
 
687
- declare class BatchTransactionManager<TApi, TRes, TSigner> {
688
- transactionOptions: TBatchedTransferOptions<TApi, TRes, TSigner>[];
689
- addTransaction(options: TBatchedTransferOptions<TApi, TRes, TSigner>): void;
687
+ declare class BatchTransactionManager<TApi, TRes, TSigner, TCustomChain extends string = never> {
688
+ transactionOptions: TBatchedTransferOptions<TApi, TRes, TSigner, TCustomChain>[];
689
+ addTransaction(options: TBatchedTransferOptions<TApi, TRes, TSigner, TCustomChain>): void;
690
690
  isEmpty(): boolean;
691
- buildBatch(api: PolkadotApi<TApi, TRes, TSigner>, from: TSubstrateChain, options?: TBatchOptions): Promise<TRes>;
691
+ buildBatch(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, from: TSubstrateChain, options?: TBatchOptions): Promise<TRes>;
692
692
  }
693
693
 
694
694
  /**
695
695
  * A builder class for constructing Para-to-Para, Para-to-Relay, Relay-to-Para transactions and asset claims.
696
696
  */
697
697
  declare class GeneralBuilder<TApi, TRes, TSigner, T extends Partial<TTransferBaseOptions<TApi, TRes, TSigner> & TBuilderInternalOptions<TSigner>> = object, TCustomChain extends string = never> {
698
- readonly batchManager: BatchTransactionManager<TApi, TRes, TSigner>;
699
- readonly api: PolkadotApi<TApi, TRes, TSigner>;
698
+ readonly batchManager: BatchTransactionManager<TApi, TRes, TSigner, TCustomChain>;
699
+ readonly api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>;
700
700
  readonly _options: T;
701
- constructor(api: PolkadotApi<TApi, TRes, TSigner>, batchManager: BatchTransactionManager<TApi, TRes, TSigner>, options?: T);
701
+ constructor(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, batchManager: BatchTransactionManager<TApi, TRes, TSigner, TCustomChain>, options?: T);
702
702
  /**
703
703
  * Specifies the origin chain for the transaction.
704
704
  *
@@ -727,7 +727,7 @@ declare class GeneralBuilder<TApi, TRes, TSigner, T extends Partial<TTransferBas
727
727
  */
728
728
  claimFrom(chain: TSubstrateChain): AssetClaimBuilder<TApi, TRes, TSigner, {
729
729
  chain: TSubstrateChain;
730
- }>;
730
+ }, TCustomChain>;
731
731
  /**
732
732
  * Specifies the currency to be used in the transaction. Symbol, ID, location or multi-asset.
733
733
  *
@@ -763,7 +763,7 @@ declare class GeneralBuilder<TApi, TRes, TSigner, T extends Partial<TTransferBas
763
763
  */
764
764
  ahAddress(address: string | undefined): GeneralBuilder<TApi, TRes, TSigner, T & {
765
765
  ahAddress: string | undefined;
766
- }, never>;
766
+ }, TCustomChain>;
767
767
  /**
768
768
  * Sets the XCM version to be used for the transfer.
769
769
  *
@@ -772,7 +772,7 @@ declare class GeneralBuilder<TApi, TRes, TSigner, T extends Partial<TTransferBas
772
772
  */
773
773
  xcmVersion(version: Version): GeneralBuilder<TApi, TRes, TSigner, T & {
774
774
  version: Version;
775
- }, never>;
775
+ }, TCustomChain>;
776
776
  /**
777
777
  * Whether to keep the account alive after the transfer.
778
778
  *
@@ -781,7 +781,7 @@ declare class GeneralBuilder<TApi, TRes, TSigner, T extends Partial<TTransferBas
781
781
  */
782
782
  keepAlive(keepAlive: boolean): GeneralBuilder<TApi, TRes, TSigner, T & {
783
783
  keepAlive: boolean;
784
- }, never>;
784
+ }, TCustomChain>;
785
785
  /**
786
786
  * Sets a custom pallet for the transaction.
787
787
  *
@@ -792,7 +792,7 @@ declare class GeneralBuilder<TApi, TRes, TSigner, T extends Partial<TTransferBas
792
792
  customPallet(pallet: string | undefined, method: string | undefined): GeneralBuilder<TApi, TRes, TSigner, T & {
793
793
  pallet: string | undefined;
794
794
  method: string | undefined;
795
- }, never>;
795
+ }, TCustomChain>;
796
796
  /**
797
797
  * Optional fee asset for the transaction.
798
798
  *
@@ -801,7 +801,7 @@ declare class GeneralBuilder<TApi, TRes, TSigner, T extends Partial<TTransferBas
801
801
  */
802
802
  feeAsset(currency: TCurrencyInput | undefined): GeneralBuilder<TApi, TRes, TSigner, T & {
803
803
  feeAsset: TCurrencyInput | undefined;
804
- }, never>;
804
+ }, TCustomChain>;
805
805
  /**
806
806
  * Sets the hex of the encoded transaction call to apply on the destination chain
807
807
  *
@@ -816,7 +816,7 @@ declare class GeneralBuilder<TApi, TRes, TSigner, T extends Partial<TTransferBas
816
816
  originKind: "Native" | "SovereignAccount" | "Superuser" | "Xcm" | undefined;
817
817
  maxWeight: TWeight | undefined;
818
818
  };
819
- }, never>;
819
+ }, TCustomChain>;
820
820
  /**
821
821
  * Performs a token swap as part of the transfer, using the specified exchange and destination currency.
822
822
  *
@@ -841,7 +841,7 @@ declare class GeneralBuilder<TApi, TRes, TSigner, T extends Partial<TTransferBas
841
841
  * @returns A Extrinsic representing the batched transactions.
842
842
  */
843
843
  buildBatch(this: GeneralBuilder<TApi, TRes, TSigner, TTransferBaseOptions<TApi, TRes, TSigner> & TBuilderInternalOptions<TSigner>, TCustomChain>, options?: TBatchOptions): Promise<TRes>;
844
- protected buildInternal<TOptions extends TTransferBaseOptions<TApi, TRes, TSigner>>(this: GeneralBuilder<TApi, TRes, TSigner, TOptions, TCustomChain>): Promise<TBuildInternalRes<TApi, TRes, TSigner, TOptions>>;
844
+ protected buildInternal<TOptions extends TTransferBaseOptions<TApi, TRes, TSigner>>(this: GeneralBuilder<TApi, TRes, TSigner, TOptions, TCustomChain>): Promise<TBuildInternalRes<TApi, TRes, TSigner, TOptions, TCustomChain>>;
845
845
  private prepareNormalizedOptions;
846
846
  /**
847
847
  * Builds and returns the transfer extrinsic.
@@ -941,7 +941,7 @@ declare class GeneralBuilder<TApi, TRes, TSigner, T extends Partial<TTransferBas
941
941
  * @param api - The API instance to use for building transactions. If not provided, a new instance will be created.
942
942
  * @returns A new Builder instance.
943
943
  */
944
- declare const Builder: <TApi, TRes, TSigner, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner>) => GeneralBuilder<TApi, TRes, TSigner, object, TCustomChain>;
944
+ declare const Builder: <TApi, TRes, TSigner, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>) => GeneralBuilder<TApi, TRes, TSigner, object, TCustomChain>;
945
945
 
946
946
  type TProviderEntry = {
947
947
  name: string;
@@ -1004,12 +1004,12 @@ type TEvmTransferOptionsBase = {
1004
1004
  recipient: string;
1005
1005
  ahAddress?: string;
1006
1006
  };
1007
- type TEvmTransferOptions<TApi, TRes, TSigner> = WithApi<TEvmTransferOptionsBase & {
1007
+ type TEvmTransferOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = WithApi<TEvmTransferOptionsBase & {
1008
1008
  signer: WalletClient;
1009
- }, TApi, TRes, TSigner>;
1010
- type TBuildEvmTransferOptions<TApi, TRes, TSigner> = WithApi<TEvmTransferOptionsBase & {
1009
+ }, TApi, TRes, TSigner, TCustomChain>;
1010
+ type TBuildEvmTransferOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = WithApi<TEvmTransferOptionsBase & {
1011
1011
  sender: string;
1012
- }, TApi, TRes, TSigner>;
1012
+ }, TApi, TRes, TSigner, TCustomChain>;
1013
1013
  /**
1014
1014
  * The options for the batch builder.
1015
1015
  */
@@ -1049,17 +1049,17 @@ type TBuilderConfig<TApi> = Partial<{
1049
1049
  type TCustomChainFrom<TOpts> = TOpts extends {
1050
1050
  customChains: infer C;
1051
1051
  } ? Extract<keyof C, string> : never;
1052
- type TCreateTxsOptions<TApi, TRes, TSigner> = Pick<TTransferOptions<TApi, TRes, TSigner>, 'api' | 'from' | 'to' | 'currency'>;
1053
- type TBatchedTransferOptions<TApi, TRes, TSigner> = Omit<TSubstrateTransferOptions<TApi, TRes, TSigner>, 'isAmountAll'> & {
1054
- builder: GeneralBuilder<TApi, TRes, TSigner, TTransferBaseOptions<TApi, TRes, TSigner> & TBuilderInternalOptions<TSigner>>;
1052
+ type TCreateTxsOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = Pick<TTransferOptions<TApi, TRes, TSigner, TCustomChain>, 'api' | 'from' | 'to' | 'currency'>;
1053
+ type TBatchedTransferOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = Omit<TSubstrateTransferOptions<TApi, TRes, TSigner, TCustomChain>, 'isAmountAll'> & {
1054
+ builder: GeneralBuilder<TApi, TRes, TSigner, TTransferBaseOptions<TApi, TRes, TSigner> & TBuilderInternalOptions<TSigner>, TCustomChain>;
1055
1055
  };
1056
- type TBuildInternalResBase<TApi, TRes, TSigner, TOptions extends TTransferBaseOptions<TApi, TRes, TSigner> = TTransferBaseOptions<TApi, TRes, TSigner>> = {
1057
- options: TTransferOptions<TApi, TRes, TSigner> & TOptions;
1056
+ type TBuildInternalResBase<TApi, TRes, TSigner, TOptions extends TTransferBaseOptions<TApi, TRes, TSigner> = TTransferBaseOptions<TApi, TRes, TSigner>, TCustomChain extends string = never> = {
1057
+ options: TTransferOptions<TApi, TRes, TSigner, TCustomChain> & TOptions;
1058
1058
  };
1059
- type TBuildInternalRes<TApi, TRes, TSigner, TOptions extends TTransferBaseOptions<TApi, TRes, TSigner> = TTransferBaseOptions<TApi, TRes, TSigner>> = TBuildInternalResBase<TApi, TRes, TSigner, TOptions> & {
1059
+ type TBuildInternalRes<TApi, TRes, TSigner, TOptions extends TTransferBaseOptions<TApi, TRes, TSigner> = TTransferBaseOptions<TApi, TRes, TSigner>, TCustomChain extends string = never> = TBuildInternalResBase<TApi, TRes, TSigner, TOptions, TCustomChain> & {
1060
1060
  tx: TRes;
1061
1061
  };
1062
- type TBuildAllInternalRes<TApi, TRes, TSigner, TOptions extends TTransferBaseOptions<TApi, TRes, TSigner> = TTransferBaseOptions<TApi, TRes, TSigner>> = TBuildInternalResBase<TApi, TRes, TSigner, TOptions> & {
1062
+ type TBuildAllInternalRes<TApi, TRes, TSigner, TOptions extends TTransferBaseOptions<TApi, TRes, TSigner> = TTransferBaseOptions<TApi, TRes, TSigner>, TCustomChain extends string = never> = TBuildInternalResBase<TApi, TRes, TSigner, TOptions, TCustomChain> & {
1063
1063
  txContexts: TTransactionContext<TApi, TRes>[];
1064
1064
  };
1065
1065
  type TSender<TSigner> = string | TSigner;
@@ -1071,9 +1071,9 @@ type TSwapConfig = {
1071
1071
  currencyTo: TCurrencyCore;
1072
1072
  exchangeChain: TParachain;
1073
1073
  };
1074
- type TDryRunBaseOptions<TRes> = {
1074
+ type TDryRunBaseOptions<TRes, TCustomChain extends string = never> = {
1075
1075
  tx: TRes;
1076
- origin: TSubstrateChain;
1076
+ origin: TSubstrateChain | TCustomChain;
1077
1077
  destination: TChain;
1078
1078
  sender: string;
1079
1079
  currency: TCurrencyInputWithAmount;
@@ -1083,8 +1083,8 @@ type TDryRunBaseOptions<TRes> = {
1083
1083
  useRootOrigin?: boolean;
1084
1084
  bypassOptions?: TBypassOptions;
1085
1085
  };
1086
- type TDryRunOptions<TApi, TRes, TSigner> = WithApi<TDryRunBaseOptions<TRes>, TApi, TRes, TSigner>;
1087
- type TDryRunCallBaseOptions<TRes> = {
1086
+ type TDryRunOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = WithApi<TDryRunBaseOptions<TRes, TCustomChain>, TApi, TRes, TSigner, TCustomChain>;
1087
+ type TDryRunCallBaseOptions<TRes, TCustomChain extends string = never> = {
1088
1088
  /**
1089
1089
  * The transaction to dry-run
1090
1090
  */
@@ -1092,7 +1092,7 @@ type TDryRunCallBaseOptions<TRes> = {
1092
1092
  /**
1093
1093
  * The chain to dry-run on
1094
1094
  */
1095
- chain: TSubstrateChain;
1095
+ chain: TSubstrateChain | TCustomChain;
1096
1096
  /**
1097
1097
  * The destination chain
1098
1098
  */
@@ -1113,9 +1113,9 @@ type TDryRunCallBaseOptions<TRes> = {
1113
1113
  bypassOptions?: TBypassOptions;
1114
1114
  feeAsset?: TAssetInfo;
1115
1115
  };
1116
- type TDryRunBypassOptions<TApi, TRes, TSigner> = WithApi<Omit<TDryRunCallBaseOptions<TRes>, 'useRootOrigin' | 'destination'>, TApi, TRes, TSigner>;
1117
- type TDryRunCallOptions<TApi, TRes, TSigner> = WithApi<TDryRunCallBaseOptions<TRes>, TApi, TRes, TSigner>;
1118
- type TDryRunXcmBaseOptions<TRes> = {
1116
+ type TDryRunBypassOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = WithApi<Omit<TDryRunCallBaseOptions<TRes, TCustomChain>, 'useRootOrigin' | 'destination'>, TApi, TRes, TSigner, TCustomChain>;
1117
+ type TDryRunCallOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = WithApi<TDryRunCallBaseOptions<TRes, TCustomChain>, TApi, TRes, TSigner, TCustomChain>;
1118
+ type TDryRunXcmBaseOptions<TRes, TCustomChain extends string = never> = {
1119
1119
  originLocation: any;
1120
1120
  /**
1121
1121
  * The XCM instructions
@@ -1130,14 +1130,14 @@ type TDryRunXcmBaseOptions<TRes> = {
1130
1130
  /**
1131
1131
  * The origin chain
1132
1132
  */
1133
- origin: TSubstrateChain;
1133
+ origin: TSubstrateChain | TCustomChain;
1134
1134
  asset: TAssetInfo;
1135
1135
  version: Version;
1136
1136
  feeAsset?: TAssetInfo;
1137
1137
  amount: bigint;
1138
1138
  originFee: bigint;
1139
1139
  };
1140
- type TDryRunXcmOptions<TApi, TRes, TSigner> = WithApi<TDryRunXcmBaseOptions<TRes>, TApi, TRes, TSigner>;
1140
+ type TDryRunXcmOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = WithApi<TDryRunXcmBaseOptions<TRes, TCustomChain>, TApi, TRes, TSigner, TCustomChain>;
1141
1141
  type TDryRunResBase = {
1142
1142
  asset: TAssetInfo;
1143
1143
  isExchange?: boolean;
@@ -1168,10 +1168,10 @@ type TDryRunResult = {
1168
1168
  destination?: TDryRunChainResult;
1169
1169
  hops: THopInfo[];
1170
1170
  };
1171
- type TResolveHopParams<TApi, TRes, TSigner> = {
1172
- api: PolkadotApi<TApi, TRes, TSigner>;
1171
+ type TResolveHopParams<TApi, TRes, TSigner, TCustomChain extends string = never> = {
1172
+ api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>;
1173
1173
  tx: TRes;
1174
- originChain: TSubstrateChain;
1174
+ originChain: TSubstrateChain | TCustomChain;
1175
1175
  currentChain: TSubstrateChain;
1176
1176
  destination: TDestination;
1177
1177
  asset: TAssetInfo;
@@ -1179,37 +1179,37 @@ type TResolveHopParams<TApi, TRes, TSigner> = {
1179
1179
  swapConfig?: TSwapConfig;
1180
1180
  hasPassedExchange: boolean;
1181
1181
  };
1182
- type HopProcessParams<TApi, TRes, TSigner> = {
1183
- api: PolkadotApi<TApi, TRes, TSigner>;
1182
+ type HopProcessParams<TApi, TRes, TSigner, TCustomChain extends string = never> = {
1183
+ api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>;
1184
1184
  currentChain: TSubstrateChain;
1185
- currentOrigin: TSubstrateChain;
1185
+ currentOrigin: TSubstrateChain | TCustomChain;
1186
1186
  currentAsset: TAssetInfo;
1187
1187
  forwardedXcms: any;
1188
1188
  hasPassedExchange: boolean;
1189
1189
  isDestination: boolean;
1190
1190
  };
1191
- type HopTraversalConfig<TApi, TRes, TSigner, THopResult> = {
1192
- api: PolkadotApi<TApi, TRes, TSigner>;
1193
- origin: TSubstrateChain;
1191
+ type HopTraversalConfig<TApi, TRes, TSigner, THopResult, TCustomChain extends string = never> = {
1192
+ api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>;
1193
+ origin: TSubstrateChain | TCustomChain;
1194
1194
  destination: TChain;
1195
1195
  currency: TCurrencyCore;
1196
1196
  initialForwardedXcms: any;
1197
1197
  initialDestParaId: number | undefined;
1198
1198
  swapConfig?: TSwapConfig;
1199
- processHop: (params: HopProcessParams<TApi, TRes, TSigner>) => Promise<THopResult>;
1199
+ processHop: (params: HopProcessParams<TApi, TRes, TSigner, TCustomChain>) => Promise<THopResult>;
1200
1200
  shouldContinue: (hopResult: THopResult) => boolean;
1201
1201
  extractNextHopData: (hopResult: THopResult) => {
1202
1202
  forwardedXcms: any;
1203
1203
  destParaId: number | undefined;
1204
1204
  };
1205
1205
  };
1206
- type HopTraversalResult<THopResult> = {
1206
+ type HopTraversalResult<THopResult, TCustomChain extends string = never> = {
1207
1207
  hops: Array<{
1208
1208
  chain: TSubstrateChain;
1209
1209
  result: THopResult;
1210
1210
  }>;
1211
1211
  destination?: THopResult;
1212
- lastProcessedChain?: TSubstrateChain;
1212
+ lastProcessedChain?: TSubstrateChain | TCustomChain;
1213
1213
  };
1214
1214
  type TBypassOptions = {
1215
1215
  mintFeeAssets?: boolean;
@@ -1547,7 +1547,7 @@ type TXcmFeeSwapConfig = TSwapConfig & {
1547
1547
  amountOut: bigint;
1548
1548
  };
1549
1549
  type TTxFactory<TRes> = (amount?: string, relative?: boolean) => Promise<TRes>;
1550
- type TGetXcmFeeBaseOptions<TRes, TDisableFallback extends boolean = boolean> = {
1550
+ type TGetXcmFeeBaseOptions<TRes, TDisableFallback extends boolean = boolean, TCustomChain extends string = never> = {
1551
1551
  /**
1552
1552
  * The transaction factory
1553
1553
  */
@@ -1555,7 +1555,7 @@ type TGetXcmFeeBaseOptions<TRes, TDisableFallback extends boolean = boolean> = {
1555
1555
  /**
1556
1556
  * The origin chain
1557
1557
  */
1558
- origin: TSubstrateChain;
1558
+ origin: TSubstrateChain | TCustomChain;
1559
1559
  /**
1560
1560
  * The destination chain
1561
1561
  */
@@ -1572,17 +1572,17 @@ type TGetXcmFeeBaseOptions<TRes, TDisableFallback extends boolean = boolean> = {
1572
1572
  swapConfig?: TXcmFeeSwapConfig;
1573
1573
  skipReverseFeeCalculation?: boolean;
1574
1574
  };
1575
- type TGetXcmFeeOptions<TApi, TRes, TSigner, TDisableFallback extends boolean = boolean> = WithApi<TGetXcmFeeBaseOptions<TRes, TDisableFallback>, TApi, TRes, TSigner>;
1576
- type TGetXcmFeeInternalOptions<TApi, TRes, TSigner, TDisableFallback extends boolean = boolean> = Omit<TGetXcmFeeOptions<TApi, TRes, TSigner, TDisableFallback>, 'buildTx'> & {
1575
+ type TGetXcmFeeOptions<TApi, TRes, TSigner, TDisableFallback extends boolean = boolean, TCustomChain extends string = never> = WithApi<TGetXcmFeeBaseOptions<TRes, TDisableFallback, TCustomChain>, TApi, TRes, TSigner, TCustomChain>;
1576
+ type TGetXcmFeeInternalOptions<TApi, TRes, TSigner, TDisableFallback extends boolean = boolean, TCustomChain extends string = never> = Omit<TGetXcmFeeOptions<TApi, TRes, TSigner, TDisableFallback, TCustomChain>, 'buildTx'> & {
1577
1577
  tx: TRes;
1578
1578
  useRootOrigin: boolean;
1579
1579
  };
1580
1580
  type TGetXcmFeeBuilderOptions = {
1581
1581
  disableFallback: boolean;
1582
1582
  };
1583
- type TGetOriginXcmFeeBaseOptions<TRes, TDisableFallback extends boolean = boolean> = {
1583
+ type TGetOriginXcmFeeBaseOptions<TRes, TDisableFallback extends boolean = boolean, TCustomChain extends string = never> = {
1584
1584
  buildTx: TTxFactory<TRes>;
1585
- origin: TSubstrateChain;
1585
+ origin: TSubstrateChain | TCustomChain;
1586
1586
  destination: TChain;
1587
1587
  sender: string;
1588
1588
  currency: WithAmount<TCurrencyCore>;
@@ -1591,13 +1591,13 @@ type TGetOriginXcmFeeBaseOptions<TRes, TDisableFallback extends boolean = boolea
1591
1591
  disableFallback: TDisableFallback;
1592
1592
  useRootOrigin?: boolean;
1593
1593
  };
1594
- type TGetOriginXcmFeeOptions<TApi, TRes, TSigner, TDisableFallback extends boolean = boolean> = WithApi<TGetOriginXcmFeeBaseOptions<TRes, TDisableFallback>, TApi, TRes, TSigner>;
1595
- type TGetOriginXcmFeeInternalOptions<TApi, TRes, TSigner> = Omit<TGetOriginXcmFeeOptions<TApi, TRes, TSigner>, 'buildTx'> & {
1594
+ type TGetOriginXcmFeeOptions<TApi, TRes, TSigner, TDisableFallback extends boolean = boolean, TCustomChain extends string = never> = WithApi<TGetOriginXcmFeeBaseOptions<TRes, TDisableFallback, TCustomChain>, TApi, TRes, TSigner, TCustomChain>;
1595
+ type TGetOriginXcmFeeInternalOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = Omit<TGetOriginXcmFeeOptions<TApi, TRes, TSigner, boolean, TCustomChain>, 'buildTx'> & {
1596
1596
  tx: TRes;
1597
1597
  };
1598
- type TGetFeeForDestChainBaseOptions<TRes> = {
1599
- prevChain: TSubstrateChain;
1600
- origin: TSubstrateChain;
1598
+ type TGetFeeForDestChainBaseOptions<TRes, TCustomChain extends string = never> = {
1599
+ prevChain: TSubstrateChain | TCustomChain;
1600
+ origin: TSubstrateChain | TCustomChain;
1601
1601
  destination: TChain;
1602
1602
  sender: string;
1603
1603
  recipient: string;
@@ -1613,8 +1613,8 @@ type TGetFeeForDestChainBaseOptions<TRes> = {
1613
1613
  swapConfig?: TXcmFeeSwapConfig;
1614
1614
  skipReverseFeeCalculation?: boolean;
1615
1615
  };
1616
- type TGetFeeForDestChainOptions<TApi, TRes, TSigner> = WithApi<TGetFeeForDestChainBaseOptions<TRes>, TApi, TRes, TSigner>;
1617
- type TGetReverseTxFeeOptions<TApi, TRes, TSigner> = Omit<TGetFeeForDestChainOptions<TApi, TRes, TSigner>, 'destination' | 'disableFallback' | 'forwardedXcms' | 'asset' | 'originFee' | 'prevChain' | 'version'> & {
1616
+ type TGetFeeForDestChainOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = WithApi<TGetFeeForDestChainBaseOptions<TRes, TCustomChain>, TApi, TRes, TSigner, TCustomChain>;
1617
+ type TGetReverseTxFeeOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = Omit<TGetFeeForDestChainOptions<TApi, TRes, TSigner, TCustomChain>, 'destination' | 'disableFallback' | 'forwardedXcms' | 'asset' | 'originFee' | 'prevChain' | 'version'> & {
1618
1618
  destination: TSubstrateChain;
1619
1619
  };
1620
1620
  type TFeeType = 'dryRun' | 'paymentInfo' | 'noFeeRequired';
@@ -1720,8 +1720,8 @@ type TTransferInfo = {
1720
1720
  isExchange?: boolean;
1721
1721
  };
1722
1722
  };
1723
- type TBuildOriginInfoOptions<TApi, TRes, TSigner> = {
1724
- api: PolkadotApi<TApi, TRes, TSigner>;
1723
+ type TBuildOriginInfoOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = {
1724
+ api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>;
1725
1725
  origin: TSubstrateChain;
1726
1726
  sender: string;
1727
1727
  currency: TCurrencyCore;
@@ -1731,8 +1731,8 @@ type TBuildOriginInfoOptions<TApi, TRes, TSigner> = {
1731
1731
  originFeeAsset: TAssetInfo;
1732
1732
  isFeeAssetAh: boolean;
1733
1733
  };
1734
- type BuildHopInfoOptions<TApi, TRes, TSigner> = {
1735
- api: PolkadotApi<TApi, TRes, TSigner>;
1734
+ type BuildHopInfoOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = {
1735
+ api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>;
1736
1736
  chain: TChain;
1737
1737
  fee: bigint;
1738
1738
  originChain: TSubstrateChain;
@@ -1741,8 +1741,8 @@ type BuildHopInfoOptions<TApi, TRes, TSigner> = {
1741
1741
  sender: string;
1742
1742
  ahAddress?: string;
1743
1743
  };
1744
- type TBuildDestInfoOptions<TApi, TRes, TSigner> = {
1745
- api: PolkadotApi<TApi, TRes, TSigner>;
1744
+ type TBuildDestInfoOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = {
1745
+ api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>;
1746
1746
  origin: TSubstrateChain;
1747
1747
  destination: TChain;
1748
1748
  recipient: string;
@@ -1768,7 +1768,7 @@ type TGetTransferInfoOptionsBase<TRes> = {
1768
1768
  version: Version | undefined;
1769
1769
  feeAsset?: TCurrencyCore;
1770
1770
  };
1771
- type TGetTransferInfoOptions<TApi, TRes, TSigner> = WithApi<TGetTransferInfoOptionsBase<TRes>, TApi, TRes, TSigner>;
1771
+ type TGetTransferInfoOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = WithApi<TGetTransferInfoOptionsBase<TRes>, TApi, TRes, TSigner, TCustomChain>;
1772
1772
 
1773
1773
  type TExchangeChain = (typeof EXCHANGE_CHAINS)[number];
1774
1774
  type TExchangeInput = TExchangeChain | TExchangeChain[] | undefined;
@@ -1847,11 +1847,11 @@ interface TSwapBuilder<TApi, TRes, TSigner> {
1847
1847
  build(): Promise<TTransactionContext<TApi, TRes>[]>;
1848
1848
  signAndSubmit(): Promise<string[]>;
1849
1849
  }
1850
- type TSwapBuilderFactory = <TApi, TRes, TSigner>(api: PolkadotApi<TApi, TRes, TSigner>) => TSwapBuilder<TApi, TRes, TSigner>;
1850
+ type TSwapBuilderFactory = <TApi, TRes, TSigner, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>) => TSwapBuilder<TApi, TRes, TSigner>;
1851
1851
 
1852
- type TPolkadotXCMTransferOptions<TApi, TRes, TSigner> = {
1853
- api: PolkadotApi<TApi, TRes, TSigner>;
1854
- chain: TSubstrateChain;
1852
+ type TPolkadotXCMTransferOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = {
1853
+ api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>;
1854
+ chain: TSubstrateChain | TCustomChain;
1855
1855
  beneficiaryLocation: TLocation;
1856
1856
  recipient: TAddress;
1857
1857
  asset: TAsset;
@@ -1871,12 +1871,12 @@ type TPolkadotXCMTransferOptions<TApi, TRes, TSigner> = {
1871
1871
  method?: string;
1872
1872
  transactOptions?: TTransactOptions<TRes>;
1873
1873
  };
1874
- type TXTokensTransferOptions<TApi, TRes, TSigner> = {
1875
- api: PolkadotApi<TApi, TRes, TSigner>;
1874
+ type TXTokensTransferOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = {
1875
+ api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>;
1876
1876
  asset: WithAmount<TAssetInfo>;
1877
1877
  recipient: TAddress;
1878
1878
  scenario: TScenario;
1879
- origin: TSubstrateChain;
1879
+ origin: TSubstrateChain | TCustomChain;
1880
1880
  destination: TDestination;
1881
1881
  paraIdTo?: number;
1882
1882
  version: Version;
@@ -1885,11 +1885,11 @@ type TXTokensTransferOptions<TApi, TRes, TSigner> = {
1885
1885
  method?: string;
1886
1886
  useMultiAssetTransfer?: boolean;
1887
1887
  };
1888
- interface IPolkadotXCMTransfer<TApi, TRes, TSigner> {
1889
- transferPolkadotXCM: (input: TPolkadotXCMTransferOptions<TApi, TRes, TSigner>) => Promise<TRes>;
1888
+ interface IPolkadotXCMTransfer<TApi, TRes, TSigner, TCustomChain extends string = never> {
1889
+ transferPolkadotXCM: (input: TPolkadotXCMTransferOptions<TApi, TRes, TSigner, TCustomChain>) => Promise<TRes>;
1890
1890
  }
1891
- interface IXTokensTransfer<TApi, TRes, TSigner> {
1892
- transferXTokens: (input: TXTokensTransferOptions<TApi, TRes, TSigner>) => TRes;
1891
+ interface IXTokensTransfer<TApi, TRes, TSigner, TCustomChain extends string = never> {
1892
+ transferXTokens: (input: TXTokensTransferOptions<TApi, TRes, TSigner, TCustomChain>) => TRes;
1893
1893
  }
1894
1894
  type TScenario = 'ParaToRelay' | 'ParaToPara' | 'RelayToPara';
1895
1895
  type TAddress = string | TLocation;
@@ -1955,13 +1955,13 @@ type TTransferBaseOptions<TApi, TRes, TSigner> = {
1955
1955
  /**
1956
1956
  * Options for transferring from a parachain to another parachain or relay chain
1957
1957
  */
1958
- type TTransferOptions<TApi, TRes, TSigner> = WithApi<TTransferBaseOptions<TApi, TRes, TSigner>, TApi, TRes, TSigner> & {
1958
+ type TTransferOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = WithApi<TTransferBaseOptions<TApi, TRes, TSigner>, TApi, TRes, TSigner, TCustomChain> & {
1959
1959
  isAmountAll: boolean;
1960
1960
  };
1961
1961
  type TSubstrateTransferBaseOptions<TApi, TRes, TSigner> = Omit<TTransferBaseOptions<TApi, TRes, TSigner>, 'from'> & {
1962
1962
  from: TSubstrateChain;
1963
1963
  };
1964
- type TSubstrateTransferOptions<TApi, TRes, TSigner> = Omit<TTransferOptions<TApi, TRes, TSigner>, 'from'> & {
1964
+ type TSubstrateTransferOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = Omit<TTransferOptions<TApi, TRes, TSigner, TCustomChain>, 'from'> & {
1965
1965
  from: TSubstrateChain;
1966
1966
  };
1967
1967
  type WithRequiredSender<TBase> = Omit<TBase, 'sender'> & {
@@ -1973,12 +1973,12 @@ type WithRequiredSender<TBase> = Omit<TBase, 'sender'> & {
1973
1973
  type WithRequiredSwapOptions<TBase, TApi, TRes, TSigner> = Omit<TBase, 'swapOptions'> & {
1974
1974
  swapOptions: TSwapOptions<TApi, TRes, TSigner>;
1975
1975
  };
1976
- type TTransferOptionsWithSwap<TApi, TRes, TSigner> = WithRequiredSwapOptions<Omit<TSubstrateTransferOptions<TApi, TRes, TSigner>, 'isAmountAll'>, TApi, TRes, TSigner>;
1976
+ type TTransferOptionsWithSwap<TApi, TRes, TSigner, TCustomChain extends string = never> = WithRequiredSwapOptions<Omit<TSubstrateTransferOptions<TApi, TRes, TSigner, TCustomChain>, 'isAmountAll'>, TApi, TRes, TSigner>;
1977
1977
  type TTransferBaseOptionsWithSwap<TApi, TRes, TSigner> = WithRequiredSwapOptions<TTransferBaseOptions<TApi, TRes, TSigner>, TApi, TRes, TSigner>;
1978
1978
  type TTransferBaseOptionsWithSender<TApi, TRes, TSigner> = WithRequiredSender<TTransferBaseOptions<TApi, TRes, TSigner>>;
1979
1979
  type TSubstrateTransferBaseOptionsWithSender<TApi, TRes, TSigner> = WithRequiredSender<TSubstrateTransferBaseOptions<TApi, TRes, TSigner>>;
1980
- type TTransferInternalOptions<TApi, TRes, TSigner> = Omit<TTransferBaseOptions<TApi, TRes, TSigner>, 'from' | 'feeAsset' | 'version'> & {
1981
- api: PolkadotApi<TApi, TRes, TSigner>;
1980
+ type TTransferInternalOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = Omit<TTransferBaseOptions<TApi, TRes, TSigner>, 'from' | 'feeAsset' | 'version'> & {
1981
+ api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>;
1982
1982
  assetInfo: WithAmount<TAssetInfo>;
1983
1983
  feeAsset?: TAssetInfo;
1984
1984
  feeCurrency?: TCurrencyInput;
@@ -2018,21 +2018,21 @@ type TWeight<TWeightType = bigint> = {
2018
2018
  refTime: TWeightType;
2019
2019
  proofSize: TWeightType;
2020
2020
  };
2021
- type TCreateBeneficiaryOptions<TApi, TRes, TSigner> = {
2022
- api: PolkadotApi<TApi, TRes, TSigner>;
2021
+ type TCreateBeneficiaryOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = {
2022
+ api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>;
2023
2023
  address: TAddress;
2024
2024
  version: Version;
2025
2025
  };
2026
- type TCreateBeneficiaryXTokensOptions<TApi, TRes, TSigner> = {
2027
- api: PolkadotApi<TApi, TRes, TSigner>;
2028
- origin: TSubstrateChain;
2026
+ type TCreateBeneficiaryXTokensOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = {
2027
+ api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>;
2028
+ origin: TSubstrateChain | TCustomChain;
2029
2029
  destination: TDestination;
2030
2030
  recipient: TAddress;
2031
2031
  version: Version;
2032
2032
  paraId?: number;
2033
2033
  };
2034
2034
  type TBridgeStatus = 'Normal' | 'Halted';
2035
- type TTransferLocalOptions<TApi, TRes, TSigner> = Omit<TTransferInternalOptions<TApi, TRes, TSigner>, 'recipient'> & {
2035
+ type TTransferLocalOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = Omit<TTransferInternalOptions<TApi, TRes, TSigner, TCustomChain>, 'recipient'> & {
2036
2036
  recipient: string;
2037
2037
  balance: bigint;
2038
2038
  };
@@ -2040,8 +2040,8 @@ type TTransferFeeEstimates = {
2040
2040
  originFee: bigint;
2041
2041
  reserveFee: bigint;
2042
2042
  };
2043
- type TCreateBaseTransferXcmOptions<TRes> = {
2044
- chain: TSubstrateChain;
2043
+ type TCreateBaseTransferXcmOptions<TRes, TCustomChain extends string = never> = {
2044
+ chain: TSubstrateChain | TCustomChain;
2045
2045
  destChain: TChain;
2046
2046
  assetInfo: WithAmount<TAssetInfo>;
2047
2047
  feeAssetInfo?: TAssetInfo;
@@ -2055,7 +2055,7 @@ type TCreateBaseTransferXcmOptions<TRes> = {
2055
2055
  paraIdTo?: number;
2056
2056
  transactOptions?: TTransactOptions<TRes>;
2057
2057
  };
2058
- type TCreateTransferXcmOptions<TApi, TRes, TSigner> = WithApi<TCreateBaseTransferXcmOptions<TRes>, TApi, TRes, TSigner>;
2058
+ type TCreateTransferXcmOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = WithApi<TCreateBaseTransferXcmOptions<TRes, TCustomChain>, TApi, TRes, TSigner, TCustomChain>;
2059
2059
  type TCreateBaseSwapXcmOptions = {
2060
2060
  chain?: TSubstrateChain;
2061
2061
  exchangeChain: TExchangeChain;
@@ -2068,20 +2068,20 @@ type TCreateBaseSwapXcmOptions = {
2068
2068
  recipient: string;
2069
2069
  calculateMinAmountOut: (amountIn: bigint, assetTo?: TAssetInfo) => Promise<bigint>;
2070
2070
  };
2071
- type TCreateSwapXcmOptions<TApi, TRes, TSigner> = WithApi<TCreateBaseSwapXcmOptions, TApi, TRes, TSigner>;
2071
+ type TCreateSwapXcmOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = WithApi<TCreateBaseSwapXcmOptions, TApi, TRes, TSigner, TCustomChain>;
2072
2072
  type TSwapFeeEstimates = {
2073
2073
  originFee: bigint;
2074
2074
  originReserveFee: bigint;
2075
2075
  exchangeFee: bigint;
2076
2076
  destReserveFee: bigint;
2077
2077
  };
2078
- type TCreateSwapXcmInternalOptions<TApi, TRes, TSigner> = WithApi<TCreateBaseSwapXcmOptions, TApi, TRes, TSigner> & {
2078
+ type TCreateSwapXcmInternalOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = WithApi<TCreateBaseSwapXcmOptions, TApi, TRes, TSigner, TCustomChain> & {
2079
2079
  version: Version;
2080
2080
  fees: TSwapFeeEstimates;
2081
2081
  paraIdTo?: number;
2082
2082
  };
2083
- type TCreateEthBridgeInstructionsOptions<TApi, TRes, TSigner> = {
2084
- api: PolkadotApi<TApi, TRes, TSigner>;
2083
+ type TCreateEthBridgeInstructionsOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = {
2084
+ api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>;
2085
2085
  recipient: TAddress;
2086
2086
  assetInfo: TAssetInfo;
2087
2087
  sender: string;
@@ -2109,11 +2109,11 @@ type TSetBalanceRes = {
2109
2109
  declare abstract class BaseAssetsPallet {
2110
2110
  protected palletName: TAssetsPallet;
2111
2111
  constructor(palletName: TAssetsPallet);
2112
- abstract mint<TApi, TRes, TSigner>(api: PolkadotApi<TApi, TRes, TSigner>, address: string, assetInfo: WithAmount<TAssetInfo>, balance: bigint, chain: TSubstrateChain): Promise<TSetBalanceRes>;
2113
- abstract getBalance<TApi, TRes, TSigner>(api: PolkadotApi<TApi, TRes, TSigner>, address: string, asset: TAssetInfo, customCurrencyId?: unknown): Promise<bigint>;
2112
+ 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>;
2113
+ abstract getBalance<TApi, TRes, TSigner, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, address: string, asset: TAssetInfo, customCurrencyId?: unknown): Promise<bigint>;
2114
2114
  }
2115
2115
 
2116
- type TGetBalanceCommonOptions = {
2116
+ type TGetBalanceCommonOptions<TCustomChain extends string = never> = {
2117
2117
  /**
2118
2118
  * The address of the account.
2119
2119
  */
@@ -2121,12 +2121,12 @@ type TGetBalanceCommonOptions = {
2121
2121
  /**
2122
2122
  * The chain on which to query the balance.
2123
2123
  */
2124
- chain: TChain;
2124
+ chain: TChain | TCustomChain;
2125
2125
  };
2126
2126
  /**
2127
2127
  * Retrieves the asset balance for a given account on a specified chain.
2128
2128
  */
2129
- type TGetAssetBalanceOptionsBase = TGetBalanceCommonOptions & {
2129
+ type TGetAssetBalanceOptionsBase<TCustomChain extends string = never> = TGetBalanceCommonOptions<TCustomChain> & {
2130
2130
  /**
2131
2131
  * The resolved asset to query balance for.
2132
2132
  */
@@ -2135,14 +2135,14 @@ type TGetAssetBalanceOptionsBase = TGetBalanceCommonOptions & {
2135
2135
  /**
2136
2136
  * Retrieves the currency balance for a given account on a specified chain.
2137
2137
  */
2138
- type TGetBalanceOptionsBase = TGetBalanceCommonOptions & {
2138
+ type TGetBalanceOptionsBase<TCustomChain extends string = never> = TGetBalanceCommonOptions<TCustomChain> & {
2139
2139
  /**
2140
2140
  * The currency to query.
2141
2141
  */
2142
2142
  currency?: TCurrencyCore;
2143
2143
  };
2144
- type TGetBalanceOptions<TApi, TRes, TSigner> = WithApi<TGetBalanceOptionsBase, TApi, TRes, TSigner>;
2145
- type TGetAssetBalanceOptions<TApi, TRes, TSigner> = WithApi<TGetAssetBalanceOptionsBase, TApi, TRes, TSigner>;
2144
+ type TGetBalanceOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = WithApi<TGetBalanceOptionsBase<TCustomChain>, TApi, TRes, TSigner, TCustomChain>;
2145
+ type TGetAssetBalanceOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = WithApi<TGetAssetBalanceOptionsBase<TCustomChain>, TApi, TRes, TSigner, TCustomChain>;
2146
2146
  type TGetTransferableAmountOptionsBase<TRes> = {
2147
2147
  /**
2148
2148
  * The sender address of the account.
@@ -2164,11 +2164,11 @@ type TGetTransferableAmountOptionsBase<TRes> = {
2164
2164
  buildTx: TTxFactory<TRes>;
2165
2165
  feeAsset?: TCurrencyInput;
2166
2166
  };
2167
- type TGetTransferableAmountOptions<TApi, TRes, TSigner> = WithApi<TGetTransferableAmountOptionsBase<TRes>, TApi, TRes, TSigner>;
2168
- type TGetMinTransferableAmountOptions<TApi, TRes, TSigner> = WithApi<TGetTransferableAmountOptionsBase<TRes> & {
2167
+ type TGetTransferableAmountOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = WithApi<TGetTransferableAmountOptionsBase<TRes>, TApi, TRes, TSigner, TCustomChain>;
2168
+ type TGetMinTransferableAmountOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = WithApi<TGetTransferableAmountOptionsBase<TRes> & {
2169
2169
  recipient: string;
2170
- builder: GeneralBuilder<TApi, TRes, TSigner, TTransferBaseOptionsWithSender<TApi, TRes, TSigner>>;
2171
- }, TApi, TRes, TSigner>;
2170
+ builder: GeneralBuilder<TApi, TRes, TSigner, TTransferBaseOptionsWithSender<TApi, TRes, TSigner>, TCustomChain>;
2171
+ }, TApi, TRes, TSigner, TCustomChain>;
2172
2172
  type TVerifyEdOnDestinationOptionsBase<TRes> = {
2173
2173
  /**
2174
2174
  * The origin chain.
@@ -2194,7 +2194,7 @@ type TVerifyEdOnDestinationOptionsBase<TRes> = {
2194
2194
  buildTx: TTxFactory<TRes>;
2195
2195
  feeAsset?: TCurrencyInput;
2196
2196
  };
2197
- type TVerifyEdOnDestinationOptions<TApi, TRes, TSigner> = WithApi<TVerifyEdOnDestinationOptionsBase<TRes>, TApi, TRes, TSigner>;
2197
+ type TVerifyEdOnDestinationOptions<TApi, TRes, TSigner, TCustomChain extends string = never> = WithApi<TVerifyEdOnDestinationOptionsBase<TRes>, TApi, TRes, TSigner, TCustomChain>;
2198
2198
 
2199
2199
  type OneKey<K extends string, V = unknown> = {
2200
2200
  [P in K]: Record<P, V> & Partial<Record<Exclude<K, P>, never>> extends infer O ? {
@@ -2239,21 +2239,21 @@ type TBifrostToken = {
2239
2239
  };
2240
2240
  type TXTokensCurrencySelection = TXcmVersioned<TLocation | TAsset | TAsset[]> | TXcmForeignAsset | TForeignAssetId | TForeignOrTokenAsset | TXcmAsset | TOtherReserveAsset | TBifrostToken | string | bigint | number | undefined;
2241
2241
 
2242
- type TChainWithApi<TApi, TRes, TSigner, T = TSubstrateChain> = {
2243
- api: PolkadotApi<TApi, TRes, TSigner>;
2242
+ type TChainWithApi<TApi, TRes, TSigner, T = TSubstrateChain, TCustomChain extends string = never> = {
2243
+ api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>;
2244
2244
  chain: T;
2245
2245
  };
2246
- type TTypeAndThenCallContext<TApi, TRes, TSigner> = {
2247
- origin: TChainWithApi<TApi, TRes, TSigner>;
2248
- dest: TChainWithApi<TApi, TRes, TSigner, TChain>;
2249
- reserve: TChainWithApi<TApi, TRes, TSigner, TChain>;
2246
+ type TTypeAndThenCallContext<TApi, TRes, TSigner, TCustomChain extends string = never> = {
2247
+ origin: TChainWithApi<TApi, TRes, TSigner, TSubstrateChain | TCustomChain, TCustomChain>;
2248
+ dest: TChainWithApi<TApi, TRes, TSigner, TChain, TCustomChain>;
2249
+ reserve: TChainWithApi<TApi, TRes, TSigner, TChain | TCustomChain, TCustomChain>;
2250
2250
  isSubBridge: boolean;
2251
2251
  isSnowbridge: boolean;
2252
2252
  isRelayAsset: boolean;
2253
2253
  assetInfo: WithAmount<TAssetInfo>;
2254
2254
  systemAsset: TAssetInfo;
2255
2255
  bridgeHopChain?: TSubstrateChain;
2256
- options: TPolkadotXCMTransferOptions<TApi, TRes, TSigner>;
2256
+ options: TPolkadotXCMTransferOptions<TApi, TRes, TSigner, TCustomChain>;
2257
2257
  };
2258
2258
  type TTypeAndThenFees = {
2259
2259
  hopFees: bigint;
@@ -2278,9 +2278,9 @@ declare const deriveAccountId: (raw: Uint8Array) => Uint8Array;
2278
2278
  declare const encodeSs58: (payload: Uint8Array, network: number) => string;
2279
2279
  declare const convertSs58: <TApi, TRes, TSigner>(api: PolkadotApi<TApi, TRes, TSigner>, address: string, chain: TSubstrateChain) => string;
2280
2280
 
2281
- declare const getAssetBalanceInternal: <TApi, TRes, TSigner>({ api, address, chain, asset }: TGetAssetBalanceOptions<TApi, TRes, TSigner>) => Promise<bigint>;
2282
- declare const getBalanceInternal: <TApi, TRes, TSigner>(options: TGetBalanceOptions<TApi, TRes, TSigner>) => Promise<bigint>;
2283
- declare const getBalance: <TApi, TRes, TSigner>(options: TGetBalanceOptions<TApi, TRes, TSigner>) => Promise<bigint>;
2281
+ declare const getAssetBalanceInternal: <TApi, TRes, TSigner, TCustomChain extends string = never>({ api, address, chain, asset }: TGetAssetBalanceOptions<TApi, TRes, TSigner, TCustomChain>) => Promise<bigint>;
2282
+ declare const getBalanceInternal: <TApi, TRes, TSigner, TCustomChain extends string = never>(options: TGetBalanceOptions<TApi, TRes, TSigner, TCustomChain>) => Promise<bigint>;
2283
+ declare const getBalance: <TApi, TRes, TSigner, TCustomChain extends string = never>(options: TGetBalanceOptions<TApi, TRes, TSigner, TCustomChain>) => Promise<bigint>;
2284
2284
 
2285
2285
  declare const getEthErc20Balance: (chain: TExternalChain, asset: TAssetInfo, address: string) => Promise<bigint>;
2286
2286
 
@@ -2314,15 +2314,15 @@ declare const buildCustomChainAssetsInfo: (entry: TCustomChainEntryHydrated) =>
2314
2314
  declare const getTChain: (paraId: number, ecosystem: TRelaychain | TExternalChain) => TChain | null;
2315
2315
 
2316
2316
  interface TEvmExtension {
2317
- executeTransfer: <TApi, TRes, TSigner>(options: TEvmTransferOptions<TApi, TRes, TSigner>) => Promise<string>;
2318
- buildTransfer: <TApi, TRes, TSigner>(options: TBuildEvmTransferOptions<TApi, TRes, TSigner>) => Promise<TransactionSerializableEIP1559>;
2317
+ executeTransfer: <TApi, TRes, TSigner, TCustomChain extends string = never>(options: TEvmTransferOptions<TApi, TRes, TSigner, TCustomChain>) => Promise<string>;
2318
+ buildTransfer: <TApi, TRes, TSigner, TCustomChain extends string = never>(options: TBuildEvmTransferOptions<TApi, TRes, TSigner, TCustomChain>) => Promise<TransactionSerializableEIP1559>;
2319
2319
  }
2320
2320
  declare const registerEvmExtension: (extension: TEvmExtension | undefined) => void;
2321
2321
  declare const getEvmExtensionOrThrow: () => TEvmExtension;
2322
2322
 
2323
2323
  interface TEvmSnowbridgeExtension {
2324
- executeTransfer: <TApi, TRes, TSigner>(options: TEvmTransferOptions<TApi, TRes, TSigner>) => Promise<string>;
2325
- buildTransfer: <TApi, TRes, TSigner>(options: TBuildEvmTransferOptions<TApi, TRes, TSigner>) => Promise<TransactionSerializableEIP1559>;
2324
+ executeTransfer: <TApi, TRes, TSigner, TCustomChain extends string = never>(options: TEvmTransferOptions<TApi, TRes, TSigner, TCustomChain>) => Promise<string>;
2325
+ buildTransfer: <TApi, TRes, TSigner, TCustomChain extends string = never>(options: TBuildEvmTransferOptions<TApi, TRes, TSigner, TCustomChain>) => Promise<TransactionSerializableEIP1559>;
2326
2326
  }
2327
2327
  declare const registerEvmSnowbridgeExtension: (extension: TEvmSnowbridgeExtension | undefined) => void;
2328
2328
  declare const getEvmSnowbridgeExtensionOrThrow: () => TEvmSnowbridgeExtension;
@@ -2338,7 +2338,7 @@ declare const getSwapExtensionOrThrow: () => TSwapExtension;
2338
2338
  */
2339
2339
  declare const claimAssets: <TApi, TRes, TSigner>(options: TAssetClaimOptions<TApi, TRes, TSigner>) => Promise<TRes>;
2340
2340
 
2341
- declare const resolveTransferParams: <TApi, TRes, TSigner>(options: TSubstrateTransferOptions<TApi, TRes, TSigner>) => {
2341
+ declare const resolveTransferParams: <TApi, TRes, TSigner, TCustomChain extends string = never>(options: TSubstrateTransferOptions<TApi, TRes, TSigner, TCustomChain>) => {
2342
2342
  resolvedFeeAsset: TAssetInfo | undefined;
2343
2343
  resolvedVersion: _paraspell_sdk_common.Version;
2344
2344
  overriddenAsset: _paraspell_sdk_common.TLocation | _paraspell_assets.TAssetWithFee[] | undefined;
@@ -2354,50 +2354,50 @@ declare const resolveTransferParams: <TApi, TRes, TSigner>(options: TSubstrateTr
2354
2354
  alias?: string;
2355
2355
  };
2356
2356
  };
2357
- declare const createTransfer: <TApi, TRes, TSigner>(options: TSubstrateTransferOptions<TApi, TRes, TSigner>) => Promise<TRes>;
2357
+ declare const createTransfer: <TApi, TRes, TSigner, TCustomChain extends string = never>(options: TSubstrateTransferOptions<TApi, TRes, TSigner, TCustomChain>) => Promise<TRes>;
2358
2358
 
2359
- declare const dryRun: <TApi, TRes, TSigner>(options: TDryRunOptions<TApi, TRes, TSigner>) => Promise<TDryRunResult>;
2359
+ declare const dryRun: <TApi, TRes, TSigner, TCustomChain extends string = never>(options: TDryRunOptions<TApi, TRes, TSigner, TCustomChain>) => Promise<TDryRunResult>;
2360
2360
 
2361
- declare const dryRunInternal: <TApi, TRes, TSigner>(options: TDryRunOptions<TApi, TRes, TSigner>) => Promise<TDryRunResult>;
2361
+ declare const dryRunInternal: <TApi, TRes, TSigner, TCustomChain extends string = never>(options: TDryRunOptions<TApi, TRes, TSigner, TCustomChain>) => Promise<TDryRunResult>;
2362
2362
 
2363
2363
  declare const dryRunOrigin: <TApi, TRes, TSigner>(options: TDryRunCallOptions<TApi, TRes, TSigner>) => Promise<TDryRunChainResult>;
2364
2364
 
2365
2365
  declare const getFailureInfo: (result: TDryRunResult) => Pick<TDryRunResult, "failureReason" | "failureSubReason" | "failureChain">;
2366
2366
 
2367
- declare const traverseXcmHops: <TApi, TRes, TSigner, THopResult>(config: HopTraversalConfig<TApi, TRes, TSigner, THopResult>) => Promise<HopTraversalResult<THopResult>>;
2367
+ declare const traverseXcmHops: <TApi, TRes, TSigner, THopResult, TCustomChain extends string = never>(config: HopTraversalConfig<TApi, TRes, TSigner, THopResult, TCustomChain>) => Promise<HopTraversalResult<THopResult, TCustomChain>>;
2368
2368
  declare const addEthereumBridgeFees: <TApi, TRes, TSigner, TResult extends {
2369
2369
  fee?: bigint;
2370
- }>(api: PolkadotApi<TApi, TRes, TSigner>, bridgeHubResult: TResult | undefined, destination: TChain, assetHubChain: TSubstrateChain) => Promise<TResult | undefined>;
2370
+ }, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, bridgeHubResult: TResult | undefined, destination: TChain, assetHubChain: TSubstrateChain) => Promise<TResult | undefined>;
2371
2371
 
2372
2372
  declare const calcPreviewMintAmount: (balance: bigint, desired: bigint) => bigint | null;
2373
- declare const wrapTxBypass: <TApi, TRes, TSigner>(dryRunOptions: TDryRunBypassOptions<TApi, TRes, TSigner>, options?: TBypassOptions) => Promise<TRes>;
2373
+ declare const wrapTxBypass: <TApi, TRes, TSigner, TCustomChain extends string = never>(dryRunOptions: TDryRunBypassOptions<TApi, TRes, TSigner, TCustomChain>, options?: TBypassOptions) => Promise<TRes>;
2374
2374
 
2375
- declare const getParaEthTransferFees: <TApi, TRes, TSigner>(ahApi: PolkadotApi<TApi, TRes, TSigner>, shouldDisconnect?: boolean) => Promise<[bigint, bigint]>;
2375
+ declare const getParaEthTransferFees: <TApi, TRes, TSigner, TCustomChain extends string = never>(ahApi: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, shouldDisconnect?: boolean) => Promise<[bigint, bigint]>;
2376
2376
 
2377
2377
  declare const transferMoonbeamEvm: <TApi, TRes, TSigner>(options: TEvmTransferOptions<TApi, TRes, TSigner>) => Promise<string>;
2378
2378
 
2379
2379
  declare const transferMoonbeamToEth: <TApi, TRes, TSigner>(from: TSubstrateChain, { api, to, signer, recipient, ahAddress, currency }: TEvmTransferOptions<TApi, TRes, TSigner>) => Promise<`0x${string}`>;
2380
2380
 
2381
- declare const getOriginXcmFee: <TApi, TRes, TSigner, TDisableFallback extends boolean = boolean>(options: TGetOriginXcmFeeOptions<TApi, TRes, TSigner, TDisableFallback>) => Promise<TXcmFeeDetailWithForwardedXcm<TDisableFallback>>;
2381
+ declare const getOriginXcmFee: <TApi, TRes, TSigner, TDisableFallback extends boolean = boolean, TCustomChain extends string = never>(options: TGetOriginXcmFeeOptions<TApi, TRes, TSigner, TDisableFallback, TCustomChain>) => Promise<TXcmFeeDetailWithForwardedXcm<TDisableFallback>>;
2382
2382
 
2383
- declare const getOriginXcmFeeInternal: <TApi, TRes, TSigner>({ api, tx, origin, destination, sender, disableFallback, feeAsset, currency, version, useRootOrigin }: TGetOriginXcmFeeInternalOptions<TApi, TRes, TSigner>) => Promise<TXcmFeeDetail & {
2383
+ declare const getOriginXcmFeeInternal: <TApi, TRes, TSigner, TCustomChain extends string = never>({ api, tx, origin, destination, sender, disableFallback, feeAsset, currency, version, useRootOrigin }: TGetOriginXcmFeeInternalOptions<TApi, TRes, TSigner, TCustomChain>) => Promise<TXcmFeeDetail & {
2384
2384
  forwardedXcms?: any;
2385
2385
  destParaId?: number;
2386
2386
  }>;
2387
2387
 
2388
- declare const getXcmFeeInternal: <TApi, TRes, TSigner, TDisableFallback extends boolean>(options: TGetXcmFeeOptions<TApi, TRes, TSigner, TDisableFallback>) => Promise<TGetXcmFeeResult<TDisableFallback>>;
2389
- declare const getXcmFee: <TApi, TRes, TSigner, TDisableFallback extends boolean>(options: TGetXcmFeeOptions<TApi, TRes, TSigner, TDisableFallback>) => Promise<TGetXcmFeeResult<TDisableFallback>>;
2388
+ declare const getXcmFeeInternal: <TApi, TRes, TSigner, TDisableFallback extends boolean, TCustomChain extends string = never>(options: TGetXcmFeeOptions<TApi, TRes, TSigner, TDisableFallback, TCustomChain>) => Promise<TGetXcmFeeResult<TDisableFallback>>;
2389
+ declare const getXcmFee: <TApi, TRes, TSigner, TDisableFallback extends boolean, TCustomChain extends string = never>(options: TGetXcmFeeOptions<TApi, TRes, TSigner, TDisableFallback, TCustomChain>) => Promise<TGetXcmFeeResult<TDisableFallback>>;
2390
2390
 
2391
- declare const getXcmFeeOnce: <TApi, TRes, TSigner, TDisableFallback extends boolean>({ api, tx, origin, destination, sender, recipient, currency, feeAsset, version, disableFallback, swapConfig, useRootOrigin, skipReverseFeeCalculation }: TGetXcmFeeInternalOptions<TApi, TRes, TSigner, TDisableFallback>) => Promise<TGetXcmFeeResult<TDisableFallback>>;
2391
+ declare const getXcmFeeOnce: <TApi, TRes, TSigner, TDisableFallback extends boolean, TCustomChain extends string = never>({ api, tx, origin, destination, sender, recipient, currency, feeAsset, version, disableFallback, swapConfig, useRootOrigin, skipReverseFeeCalculation }: TGetXcmFeeInternalOptions<TApi, TRes, TSigner, TDisableFallback, TCustomChain>) => Promise<TGetXcmFeeResult<TDisableFallback>>;
2392
2392
 
2393
- declare const getBridgeStatus: <TApi, TRes, TSigner>(api: PolkadotApi<TApi, TRes, TSigner>) => Promise<TBridgeStatus>;
2393
+ declare const getBridgeStatus: <TApi, TRes, TSigner, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>) => Promise<TBridgeStatus>;
2394
2394
 
2395
2395
  declare const aggregateHopFees: (hops: TXcmFeeHopInfo[], matchAsset: TAssetInfo) => {
2396
2396
  totalHopFee: bigint;
2397
2397
  bridgeFee?: bigint;
2398
2398
  };
2399
2399
 
2400
- declare const buildDestInfo: <TApi, TRes, TSigner>({ api, origin, destination, recipient, currency, originFee, isFeeAssetAh, destFeeDetail, totalHopFee, bridgeFee }: TBuildDestInfoOptions<TApi, TRes, TSigner>) => Promise<{
2400
+ declare const buildDestInfo: <TApi, TRes, TSigner, TCustomChain extends string = never>({ api, origin, destination, recipient, currency, originFee, isFeeAssetAh, destFeeDetail, totalHopFee, bridgeFee }: TBuildDestInfoOptions<TApi, TRes, TSigner, TCustomChain>) => Promise<{
2401
2401
  receivedCurrency: {
2402
2402
  sufficient: boolean | UnableToComputeError;
2403
2403
  receivedAmount: bigint | UnableToComputeError;
@@ -2413,7 +2413,7 @@ declare const buildDestInfo: <TApi, TRes, TSigner>({ api, origin, destination, r
2413
2413
  };
2414
2414
  }>;
2415
2415
 
2416
- declare const buildHopInfo: <TApi, TRes, TSigner>({ api, chain, fee, originChain, asset, currency }: BuildHopInfoOptions<TApi, TRes, TSigner>) => Promise<{
2416
+ declare const buildHopInfo: <TApi, TRes, TSigner, TCustomChain extends string = never>({ api, chain, fee, originChain, asset, currency }: BuildHopInfoOptions<TApi, TRes, TSigner, TCustomChain>) => Promise<{
2417
2417
  asset: _paraspell_assets.TAssetInfo;
2418
2418
  xcmFee: {
2419
2419
  fee: bigint;
@@ -2421,22 +2421,22 @@ declare const buildHopInfo: <TApi, TRes, TSigner>({ api, chain, fee, originChain
2421
2421
  };
2422
2422
  }>;
2423
2423
 
2424
- declare const buildOriginInfo: <TApi, TRes, TSigner>({ api, origin, sender, currency, originAsset, amount, originFee, originFeeAsset, isFeeAssetAh }: TBuildOriginInfoOptions<TApi, TRes, TSigner>) => Promise<TTransferInfo["origin"]>;
2424
+ declare const buildOriginInfo: <TApi, TRes, TSigner, TCustomChain extends string = never>({ api, origin, sender, currency, originAsset, amount, originFee, originFeeAsset, isFeeAssetAh }: TBuildOriginInfoOptions<TApi, TRes, TSigner, TCustomChain>) => Promise<TTransferInfo["origin"]>;
2425
2425
 
2426
- declare const getTransferInfo: <TApi, TRes, TSigner>({ api, buildTx, origin, destination, sender, ahAddress, recipient, currency, feeAsset, version }: TGetTransferInfoOptions<TApi, TRes, TSigner>) => Promise<TTransferInfo>;
2426
+ declare const getTransferInfo: <TApi, TRes, TSigner, TCustomChain extends string = never>({ api, buildTx, origin, destination, sender, ahAddress, recipient, currency, feeAsset, version }: TGetTransferInfoOptions<TApi, TRes, TSigner, TCustomChain>) => Promise<TTransferInfo>;
2427
2427
 
2428
- declare const getMinTransferableAmountInternal: <TApi, TRes, TSigner>({ api, origin, sender, recipient, origin: chain, destination, currency, feeAsset, buildTx, builder, version }: TGetMinTransferableAmountOptions<TApi, TRes, TSigner>) => Promise<bigint>;
2429
- declare const getMinTransferableAmount: <TApi, TRes, TSigner>(options: TGetMinTransferableAmountOptions<TApi, TRes, TSigner>) => Promise<bigint>;
2428
+ declare const getMinTransferableAmountInternal: <TApi, TRes, TSigner, TCustomChain extends string = never>({ api, origin, sender, recipient, origin: chain, destination, currency, feeAsset, buildTx, builder, version }: TGetMinTransferableAmountOptions<TApi, TRes, TSigner, TCustomChain>) => Promise<bigint>;
2429
+ declare const getMinTransferableAmount: <TApi, TRes, TSigner, TCustomChain extends string = never>(options: TGetMinTransferableAmountOptions<TApi, TRes, TSigner, TCustomChain>) => Promise<bigint>;
2430
2430
 
2431
- declare const getTransferableAmountInternal: <TApi, TRes, TSigner>({ api, sender, origin: chain, destination, currency, buildTx, feeAsset, version }: TGetTransferableAmountOptions<TApi, TRes, TSigner>) => Promise<bigint>;
2432
- declare const getTransferableAmount: <TApi, TRes, TSigner>(options: TGetTransferableAmountOptions<TApi, TRes, TSigner>) => Promise<bigint>;
2431
+ declare const getTransferableAmountInternal: <TApi, TRes, TSigner, TCustomChain extends string = never>({ api, sender, origin: chain, destination, currency, buildTx, feeAsset, version }: TGetTransferableAmountOptions<TApi, TRes, TSigner, TCustomChain>) => Promise<bigint>;
2432
+ declare const getTransferableAmount: <TApi, TRes, TSigner, TCustomChain extends string = never>(options: TGetTransferableAmountOptions<TApi, TRes, TSigner, TCustomChain>) => Promise<bigint>;
2433
2433
 
2434
2434
  declare const resolveAssetCount: <TApi, TRes, TSigner>(overriddenAsset: TPolkadotXCMTransferOptions<TApi, TRes, TSigner>["overriddenAsset"], isRelayAsset: boolean) => number;
2435
- declare const constructTypeAndThenCall: <TApi, TRes, TSigner>(context: TTypeAndThenCallContext<TApi, TRes, TSigner>, fees?: TTypeAndThenFees | null) => Promise<TSerializedExtrinsics>;
2435
+ declare const constructTypeAndThenCall: <TApi, TRes, TSigner, TCustomChain extends string = never>(context: TTypeAndThenCallContext<TApi, TRes, TSigner, TCustomChain>, fees?: TTypeAndThenFees | null) => Promise<TSerializedExtrinsics>;
2436
2436
  /**
2437
2437
  * Creates a type and then call for transferring assets using XCM. Works only for DOT and snowbridge assets so far.
2438
2438
  */
2439
- declare const createTypeAndThenCall: <TApi, TRes, TSigner>(options: TPolkadotXCMTransferOptions<TApi, TRes, TSigner>, overrides?: TTypeAndThenOverrides) => Promise<TSerializedExtrinsics>;
2439
+ declare const createTypeAndThenCall: <TApi, TRes, TSigner, TCustomChain extends string = never>(options: TPolkadotXCMTransferOptions<TApi, TRes, TSigner, TCustomChain>, overrides?: TTypeAndThenOverrides) => Promise<TSerializedExtrinsics>;
2440
2440
 
2441
2441
  /**
2442
2442
  * Creates a type-and-then call but auto-selects the asset reserve between AssetHub and the Relay chain
@@ -2446,17 +2446,17 @@ declare const createTypeAndThenCall: <TApi, TRes, TSigner>(options: TPolkadotXCM
2446
2446
  declare const createTypeThenAutoReserve: <TApi, TRes, TSigner>(chain: TSubstrateChain, options: TPolkadotXCMTransferOptions<TApi, TRes, TSigner>) => Promise<TSerializedExtrinsics>;
2447
2447
 
2448
2448
  declare const validateCurrency: (currency: TCurrencyInput, feeAsset?: TCurrencyInput) => void;
2449
- declare const validateDestination: <TApi, TRes, TSigner>(origin: TSubstrateChain, destination: TDestination, api: PolkadotApi<TApi, TRes, TSigner>) => void;
2449
+ declare const validateDestination: <TApi, TRes, TSigner, TCustomChain extends string = never>(origin: TSubstrateChain, destination: TDestination, api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>) => void;
2450
2450
  declare const validateAssetSpecifiers: (assetCheckEnabled: boolean, currency: TCurrencyInput) => void;
2451
- declare const validateTransact: <TApi, TRes, TSigner>({ api, from, to, sender, recipient: address, transactOptions }: TSubstrateTransferOptions<TApi, TRes, TSigner>) => ValidationError | undefined;
2451
+ declare const validateTransact: <TApi, TRes, TSigner, TCustomChain extends string = never>({ api, from, to, sender, recipient: address, transactOptions }: TSubstrateTransferOptions<TApi, TRes, TSigner, TCustomChain>) => ValidationError | undefined;
2452
2452
 
2453
- declare const verifyEdOnDestination: <TApi, TRes, TSigner>(options: TVerifyEdOnDestinationOptions<TApi, TRes, TSigner>) => Promise<boolean>;
2453
+ declare const verifyEdOnDestination: <TApi, TRes, TSigner, TCustomChain extends string = never>(options: TVerifyEdOnDestinationOptions<TApi, TRes, TSigner, TCustomChain>) => Promise<boolean>;
2454
2454
 
2455
- declare const compareAddresses: <TApi, TRes, TSigner>(api: PolkadotApi<TApi, TRes, TSigner>, addr1: string, addr2: string) => boolean;
2455
+ declare const compareAddresses: <TApi, TRes, TSigner, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, addr1: string, addr2: string) => boolean;
2456
2456
 
2457
- declare const validateAddress: <TApi, TRes, TSigner>(api: PolkadotApi<TApi, TRes, TSigner>, address: TAddress, chain: TChain, isDestination?: boolean) => void;
2457
+ declare const validateAddress: <TApi, TRes, TSigner, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, address: TAddress, chain: TChain | TCustomChain, isDestination?: boolean) => void;
2458
2458
 
2459
- declare const validateDestinationAddress: <TApi, TRes, TSigner>(address: TAddress, destination: TDestination, api: PolkadotApi<TApi, TRes, TSigner>) => void;
2459
+ declare const validateDestinationAddress: <TApi, TRes, TSigner, TCustomChain extends string = never>(address: TAddress, destination: TDestination, api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>) => void;
2460
2460
 
2461
2461
  declare const assertToIsString: (to: TDestination, overrideMsg?: string) => asserts to is Exclude<TDestination, TLocation>;
2462
2462
  declare const assertAddressIsString: (address: TAddress) => asserts address is Exclude<TAddress, TLocation>;
@@ -2484,16 +2484,16 @@ declare const maybeOverrideAsset: (version: Version, amount: bigint, asset: TAss
2484
2484
 
2485
2485
  declare const sortAssets: (assets: TAsset[]) => TAsset[];
2486
2486
 
2487
- declare const computeOverridenAmount: <TApi, TRes, TSigner>(options: TCreateTxsOptions<TApi, TRes, TSigner>, increaseAmount: string, relative?: boolean) => number | bigint;
2488
- declare const overrideTxAmount: <TApi, TRes, TSigner>(options: TCreateTxsOptions<TApi, TRes, TSigner>, builder: GeneralBuilder<TApi, TRes, TSigner, TTransferBaseOptions<TApi, TRes, TSigner>>, amount: string, relative?: boolean) => Promise<TRes>;
2489
- declare const createTxOverrideAmount: <TApi, TRes, TSigner>(options: TCreateTxsOptions<TApi, TRes, TSigner>, builder: GeneralBuilder<TApi, TRes, TSigner, TTransferBaseOptions<TApi, TRes, TSigner>>, amount?: string, relative?: boolean) => Promise<TRes>;
2490
- declare const createTransferOrSwapAll: <TApi, TRes, TSigner>(options: TSubstrateTransferOptions<TApi, TRes, TSigner>) => Promise<TTransactionContext<TApi, TRes>[]>;
2491
- declare const createTransferOrSwap: <TApi, TRes, TSigner>(options: TSubstrateTransferOptions<TApi, TRes, TSigner>) => Promise<TRes>;
2487
+ declare const computeOverridenAmount: <TApi, TRes, TSigner, TCustomChain extends string = never>(options: TCreateTxsOptions<TApi, TRes, TSigner, TCustomChain>, increaseAmount: string, relative?: boolean) => number | bigint;
2488
+ declare const overrideTxAmount: <TApi, TRes, TSigner, TCustomChain extends string = never>(options: TCreateTxsOptions<TApi, TRes, TSigner, TCustomChain>, builder: GeneralBuilder<TApi, TRes, TSigner, TTransferBaseOptions<TApi, TRes, TSigner>, TCustomChain>, amount: string, relative?: boolean) => Promise<TRes>;
2489
+ declare const createTxOverrideAmount: <TApi, TRes, TSigner, TCustomChain extends string = never>(options: TCreateTxsOptions<TApi, TRes, TSigner, TCustomChain>, builder: GeneralBuilder<TApi, TRes, TSigner, TTransferBaseOptions<TApi, TRes, TSigner>, TCustomChain>, amount?: string, relative?: boolean) => Promise<TRes>;
2490
+ declare const createTransferOrSwapAll: <TApi, TRes, TSigner, TCustomChain extends string = never>(options: TSubstrateTransferOptions<TApi, TRes, TSigner, TCustomChain>) => Promise<TTransactionContext<TApi, TRes>[]>;
2491
+ declare const createTransferOrSwap: <TApi, TRes, TSigner, TCustomChain extends string = never>(options: TSubstrateTransferOptions<TApi, TRes, TSigner, TCustomChain>) => Promise<TRes>;
2492
2492
 
2493
2493
  declare const getAssetReserveChain: (chain: TSubstrateChain, assetLocation: TLocation, resolveExternalReserve?: boolean) => TChain;
2494
- declare const getAssetReserveChainImpl: <TApi, TRes, TSigner, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner>, chain: TSubstrateChain | TCustomChain, assetLocation: TLocation, resolveExternalReserve?: boolean) => TChain | TCustomChain;
2494
+ declare const getAssetReserveChainImpl: <TApi, TRes, TSigner, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, chain: TSubstrateChain | TCustomChain, assetLocation: TLocation, resolveExternalReserve?: boolean) => TChain | TCustomChain;
2495
2495
 
2496
- declare const getChainVersion: <TApi, TRes, TSigner>(api: PolkadotApi<TApi, TRes, TSigner>, chain: TChain) => Version;
2496
+ declare const getChainVersion: <TApi, TRes, TSigner, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, chain: TChain | TCustomChain) => Version;
2497
2497
 
2498
2498
  /**
2499
2499
  * Gets the relay chain (Polkadot, Kusama, Westend, or Paseo) of a given chain.
@@ -2502,7 +2502,7 @@ declare const getChainVersion: <TApi, TRes, TSigner>(api: PolkadotApi<TApi, TRes
2502
2502
  * @returns The corresponding relay chain.
2503
2503
  */
2504
2504
  declare const getRelayChainOf: (chain: TSubstrateChain) => TRelaychain;
2505
- declare const getRelayChainOfImpl: <TApi, TRes, TSigner, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner>, chain: TSubstrateChain | TCustomChain) => TRelaychain;
2505
+ declare const getRelayChainOfImpl: <TApi, TRes, TSigner, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, chain: TSubstrateChain | TCustomChain) => TRelaychain;
2506
2506
 
2507
2507
  /**
2508
2508
  * Gets the native asset symbol of the relay chain that the given chain belongs to.
@@ -2512,18 +2512,18 @@ declare const getRelayChainOfImpl: <TApi, TRes, TSigner, TCustomChain extends st
2512
2512
  */
2513
2513
  declare const getRelayChainSymbolOf: (chain: TSubstrateChain) => string;
2514
2514
 
2515
- declare const createChainClient: <TApi, TRes, TSigner>(api: PolkadotApi<TApi, TRes, TSigner>, chain: TSubstrateChain) => Promise<TApi>;
2515
+ declare const createChainClient: <TApi, TRes, TSigner, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, chain: TSubstrateChain) => Promise<TApi>;
2516
2516
 
2517
2517
  declare const resolveModuleError: (chain: TSubstrateChain, error: TModuleError) => TDryRunError;
2518
2518
 
2519
- declare const createEthereumBridgeInstructions: <TApi, TRes, TSigner>({ api, sender, recipient, assetInfo, ahAddress, version }: TCreateEthBridgeInstructionsOptions<TApi, TRes, TSigner>, origin: TSubstrateChain, messageId: string, ethAsset: TAssetInfo) => unknown[];
2520
- declare const createCustomXcmOnDest: <TApi, TRes, TSigner>(options: TPolkadotXCMTransferOptions<TApi, TRes, TSigner>, origin: TSubstrateChain, messageId: string, ethAsset: TAssetInfo) => {
2519
+ declare const createEthereumBridgeInstructions: <TApi, TRes, TSigner, TCustomChain extends string = never>({ api, sender, recipient, assetInfo, ahAddress, version }: TCreateEthBridgeInstructionsOptions<TApi, TRes, TSigner, TCustomChain>, origin: TSubstrateChain, messageId: string, ethAsset: TAssetInfo) => unknown[];
2520
+ declare const createCustomXcmOnDest: <TApi, TRes, TSigner, TCustomChain extends string = never>(options: TPolkadotXCMTransferOptions<TApi, TRes, TSigner, TCustomChain>, origin: TSubstrateChain, messageId: string, ethAsset: TAssetInfo) => {
2521
2521
  [x: string]: unknown[];
2522
2522
  };
2523
2523
 
2524
- declare const generateMessageId: <TApi, TRes, TSigner>(api: PolkadotApi<TApi, TRes, TSigner>, senderAddress: string, sourceParaId: number, tokenAddress: string, recipient: string, amount: TAmount) => Promise<string>;
2524
+ declare const generateMessageId: <TApi, TRes, TSigner, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, senderAddress: string, sourceParaId: number, tokenAddress: string, recipient: string, amount: TAmount) => Promise<string>;
2525
2525
 
2526
- declare const padFee: (raw: bigint, origin: TSubstrateChain, dest: TChain, side: "origin" | "destination") => bigint;
2526
+ declare const padFee: <TCustomChain extends string = never>(raw: bigint, origin: TSubstrateChain | TCustomChain, dest: TChain, side: "origin" | "destination") => bigint;
2527
2527
  declare const padValueBy: (amount: bigint, percent: number) => bigint;
2528
2528
 
2529
2529
  /**
@@ -2540,33 +2540,33 @@ declare const isConfig: <TApi>(value: any) => value is TBuilderConfig<TApi>;
2540
2540
 
2541
2541
  declare const isViemSigner: (value: unknown) => value is WalletClient;
2542
2542
 
2543
- declare const createBeneficiaryLocXTokens: <TApi, TRes, TSigner>({ api, recipient, origin, destination, version, paraId }: TCreateBeneficiaryXTokensOptions<TApi, TRes, TSigner>) => TLocation;
2544
- declare const createBeneficiaryLocation: <TApi, TRes, TSigner>({ api, address, version }: TCreateBeneficiaryOptions<TApi, TRes, TSigner>) => TLocation;
2543
+ declare const createBeneficiaryLocXTokens: <TApi, TRes, TSigner, TCustomChain extends string = never>({ api, recipient, origin, destination, version, paraId }: TCreateBeneficiaryXTokensOptions<TApi, TRes, TSigner, TCustomChain>) => TLocation;
2544
+ declare const createBeneficiaryLocation: <TApi, TRes, TSigner, TCustomChain extends string = never>({ api, address, version }: TCreateBeneficiaryOptions<TApi, TRes, TSigner, TCustomChain>) => TLocation;
2545
2545
 
2546
- declare const createDestination: <TApi, TRes, TSigner, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner>, version: Version, origin: TChain | TCustomChain, destination: TDestination, chainId?: number, junction?: TJunction, parents?: Parents) => TLocation;
2546
+ declare const createDestination: <TApi, TRes, TSigner, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, version: Version, origin: TChain | TCustomChain, destination: TDestination | TCustomChain, chainId?: number, junction?: TJunction, parents?: Parents) => TLocation;
2547
2547
  declare const createVersionedDestination: <TApi, TRes, TSigner>(api: PolkadotApi<TApi, TRes, TSigner>, version: Version, origin: TSubstrateChain, destination: TDestination, chainId?: number, junction?: TJunction, parents?: Parents) => TXcmVersioned<TLocation>;
2548
2548
 
2549
2549
  declare const createX1Payload: (version: Version, junction: TJunction) => TJunctions;
2550
2550
 
2551
- declare const getChainLocation: (chain: TChain, destChain: TChain) => TLocation;
2551
+ declare const getChainLocation: <TCustomChain extends string = never>(chain: TChain | TCustomChain, destChain: TChain | TCustomChain, customCtx?: TFullCustomCtx) => TLocation;
2552
2552
 
2553
2553
  declare const localizeLocation: (chain: TChain, location: TLocation, origin?: TChain) => TLocation;
2554
- declare const localizeLocationImpl: <TApi, TRes, TSigner, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner>, chain: TChain | TCustomChain, location: TLocation, origin?: TChain | TCustomChain) => TLocation;
2554
+ declare const localizeLocationImpl: <TApi, TRes, TSigner, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, chain: TChain | TCustomChain, location: TLocation, origin?: TChain | TCustomChain) => TLocation;
2555
2555
 
2556
2556
  declare const reverseTransformLocation: (location: TLocation) => TLocation;
2557
2557
 
2558
2558
  declare const normalizeAmount: (amount: bigint) => bigint;
2559
2559
 
2560
- declare const resolveDestChain: <TApi, TRes, TSigner, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner>, originChain: TSubstrateChain | TCustomChain, paraId: number | undefined) => "AssetHubPolkadot" | "Acala" | "Ajuna" | "Astar" | "BifrostPolkadot" | "BridgeHubPolkadot" | "Centrifuge" | "Darwinia" | "EnergyWebX" | "Hydration" | "Interlay" | "Heima" | "Jamton" | "Moonbeam" | "CoretimePolkadot" | "Collectives" | "Crust" | "NeuroWeb" | "Pendulum" | "Mythos" | "Peaq" | "PeoplePolkadot" | "Unique" | "Xode" | "AssetHubKusama" | "BridgeHubKusama" | "Karura" | "Kintsugi" | "Moonriver" | "CoretimeKusama" | "Encointer" | "Basilisk" | "BifrostKusama" | "CrustShadow" | "Crab" | "Quartz" | "RobonomicsPolkadot" | "PeopleKusama" | "Shiden" | "Zeitgeist" | "AssetHubWestend" | "BridgeHubWestend" | "CollectivesWestend" | "CoretimeWestend" | "Penpal" | "PeopleWestend" | "AjunaPaseo" | "AssetHubPaseo" | "BifrostPaseo" | "BridgeHubPaseo" | "CoretimePaseo" | "EnergyWebXPaseo" | "HeimaPaseo" | "HydrationPaseo" | "NeuroWebPaseo" | "PeoplePaseo" | "ZeitgeistPaseo" | undefined;
2560
+ declare const resolveDestChain: <TApi, TRes, TSigner, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, originChain: TSubstrateChain | TCustomChain, paraId: number | undefined) => "AssetHubPolkadot" | "Acala" | "Ajuna" | "Astar" | "BifrostPolkadot" | "BridgeHubPolkadot" | "Centrifuge" | "Darwinia" | "EnergyWebX" | "Hydration" | "Interlay" | "Heima" | "Jamton" | "Moonbeam" | "CoretimePolkadot" | "Collectives" | "Crust" | "NeuroWeb" | "Pendulum" | "Mythos" | "Peaq" | "PeoplePolkadot" | "Unique" | "Xode" | "AssetHubKusama" | "BridgeHubKusama" | "Karura" | "Kintsugi" | "Moonriver" | "CoretimeKusama" | "Encointer" | "Basilisk" | "BifrostKusama" | "CrustShadow" | "Crab" | "Quartz" | "RobonomicsPolkadot" | "PeopleKusama" | "Shiden" | "Zeitgeist" | "AssetHubWestend" | "BridgeHubWestend" | "CollectivesWestend" | "CoretimeWestend" | "Penpal" | "PeopleWestend" | "AjunaPaseo" | "AssetHubPaseo" | "BifrostPaseo" | "BridgeHubPaseo" | "CoretimePaseo" | "EnergyWebXPaseo" | "HeimaPaseo" | "HydrationPaseo" | "NeuroWebPaseo" | "PeoplePaseo" | "ZeitgeistPaseo" | undefined;
2561
2561
 
2562
- declare const resolveParaId: <TApi, TRes, TSigner>(paraId: number | undefined, destination: TDestination, api: PolkadotApi<TApi, TRes, TSigner>) => number | undefined;
2562
+ declare const resolveParaId: <TApi, TRes, TSigner, TCustomChain extends string = never>(paraId: number | undefined, destination: TDestination, api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>) => number | undefined;
2563
2563
 
2564
2564
  declare const convertBuilderConfig: <TApi>(config: TBuilderOptions<TApiOrUrl<TApi>> | undefined) => TBuilderConfig<TUrl> | undefined;
2565
- declare const createSwapBuilder: <TApi, TRes, TSigner>(options: TTransferOptionsWithSwap<TApi, TRes, TSigner>) => TSwapBuilder<TApi, TRes, TSigner>;
2566
- declare const executeWithSwap: <TApi, TRes, TSigner, T>(options: TTransferOptionsWithSwap<TApi, TRes, TSigner>, executor: (builder: TSwapBuilder<TApi, TRes, TSigner>) => Promise<T>) => Promise<T>;
2565
+ declare const createSwapBuilder: <TApi, TRes, TSigner, TCustomChain extends string = never>(options: TTransferOptionsWithSwap<TApi, TRes, TSigner, TCustomChain>) => TSwapBuilder<TApi, TRes, TSigner>;
2566
+ 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>;
2567
2567
  declare const normalizeExchange: (exchange: TExchangeInput) => TExchangeInput;
2568
2568
 
2569
- declare const abstractDecimals: <TApi, TRes, TSigner>(amount: TAmount, decimals: number | undefined, api: PolkadotApi<TApi, TRes, TSigner>) => bigint;
2569
+ declare const abstractDecimals: <TApi, TRes, TSigner, TCustomChain extends string = never>(amount: TAmount, decimals: number | undefined, api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>) => bigint;
2570
2570
  declare const applyDecimalAbstraction: (amount: TAmount, decimals: number | undefined, shouldAbstract: boolean) => bigint;
2571
2571
 
2572
2572
  declare const createAssetsFilter: (asset: TAsset, version: Version) => {
@@ -2580,19 +2580,19 @@ declare const createAssetsFilter: (asset: TAsset, version: Version) => {
2580
2580
  };
2581
2581
  };
2582
2582
 
2583
- declare const createBaseExecuteXcm: <TApi, TRes, TSigner>(options: TCreateTransferXcmOptions<TApi, TRes, TSigner> & {
2583
+ declare const createBaseExecuteXcm: <TApi, TRes, TSigner, TCustomChain extends string = never>(options: TCreateTransferXcmOptions<TApi, TRes, TSigner, TCustomChain> & {
2584
2584
  suffixXcm?: unknown[];
2585
2585
  }) => unknown[];
2586
2586
 
2587
- declare const createExecuteCall: (chain: TSubstrateChain, xcm: TXcmVersioned<any>, maxWeight: TWeight) => TSerializedExtrinsics;
2587
+ declare const createExecuteCall: <TCustomChain extends string = never>(chain: TSubstrateChain | TCustomChain, xcm: TXcmVersioned<any>, maxWeight: TWeight) => TSerializedExtrinsics;
2588
2588
 
2589
2589
  declare const createExecuteExchangeXcm: <TApi, TRes, TSigner>(input: TPolkadotXCMTransferOptions<TApi, TRes, TSigner>, origin: TSubstrateChain, weight: TWeight, originExecutionFee: bigint, destExecutionFee: bigint) => TRes;
2590
2590
 
2591
- declare const createDirectExecuteXcm: <TApi, TRes, TSigner>(options: TCreateTransferXcmOptions<TApi, TRes, TSigner>) => Promise<OneKey<_paraspell_sdk_common.Version, unknown[]>>;
2591
+ declare const createDirectExecuteXcm: <TApi, TRes, TSigner, TCustomChain extends string = never>(options: TCreateTransferXcmOptions<TApi, TRes, TSigner, TCustomChain>) => Promise<OneKey<_paraspell_sdk_common.Version, unknown[]>>;
2592
2592
 
2593
- declare const handleExecuteTransfer: <TApi, TRes, TSigner>(options: TPolkadotXCMTransferOptions<TApi, TRes, TSigner>) => Promise<TSerializedExtrinsics>;
2593
+ declare const handleExecuteTransfer: <TApi, TRes, TSigner, TCustomChain extends string = never>(options: TPolkadotXCMTransferOptions<TApi, TRes, TSigner, TCustomChain>) => Promise<TSerializedExtrinsics>;
2594
2594
 
2595
- declare const handleSwapExecuteTransfer: <TApi, TRes, TSigner>(options: TCreateSwapXcmOptions<TApi, TRes, TSigner>) => Promise<TRes>;
2595
+ declare const handleSwapExecuteTransfer: <TApi, TRes, TSigner, TCustomChain extends string = never>(options: TCreateSwapXcmOptions<TApi, TRes, TSigner, TCustomChain>) => Promise<TRes>;
2596
2596
 
2597
2597
  declare const getLocalTransferAmount: <TApi, TRes, TSigner>({ assetInfo, balance, isAmountAll, keepAlive }: TTransferLocalOptions<TApi, TRes, TSigner>, fee?: bigint) => bigint;
2598
2598
 
@@ -2607,8 +2607,8 @@ declare const formatUnits: typeof formatUnits$1;
2607
2607
 
2608
2608
  declare const addXcmVersionHeader: <T, V extends Version>(obj: T, version: V) => OneKey<V, T>;
2609
2609
  declare const selectXcmVersion: (forcedVersion: Version | undefined, originVersion: Version, destMaxVersion?: Version) => Version;
2610
- declare const pickCompatibleXcmVersion: <TApi, TRes, TSigner>(api: PolkadotApi<TApi, TRes, TSigner>, origin: TSubstrateChain, destination: TDestination, override?: Version) => Version;
2611
- declare const pickRouterCompatibleXcmVersion: <TApi, TRes, TSigner>(api: PolkadotApi<TApi, TRes, TSigner>, origin: TSubstrateChain | undefined, exchangeChain: TSubstrateChain, destination: TChain | undefined) => Version;
2610
+ declare const pickCompatibleXcmVersion: <TApi, TRes, TSigner, TCustomChain extends string = never>(api: PolkadotApi<TApi, TRes, TSigner, TCustomChain>, origin: TSubstrateChain | TCustomChain, destination: TDestination, override?: Version) => Version;
2611
+ 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;
2612
2612
 
2613
2613
  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, 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 };
2614
2614
  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, TOtherReserveAsset, TPaymentInfo, TPolkadotXCMTransferOptions, TPolkadotXcmMethod, TProviderEntry, TReserveAsset, TResolveHopParams, TRuntimeApi, TScenario, 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 };