@paraspell/sdk 6.2.4 → 7.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -3,7 +3,24 @@ import { SubmittableExtrinsic } from '@polkadot/api/types';
3
3
  import { Signer, AbstractProvider } from 'ethers';
4
4
  import * as _polkadot_apps_config_endpoints_types from '@polkadot/apps-config/endpoints/types';
5
5
 
6
- declare abstract class ParachainNode<TApi extends TApiType = ApiPromise> {
6
+ interface IPolkadotApi<TApi, TRes> {
7
+ setApi(api?: TApi): void;
8
+ getApi(): TApi;
9
+ init(node: TNodeWithRelayChains): Promise<void>;
10
+ createApiInstance: (wsUrl: string) => Promise<TApi>;
11
+ createAccountId(address: string): HexString$1;
12
+ callTxMethod(serializedCall: TSerializedApiCallV2): TRes;
13
+ calculateTransactionFee(tx: TRes, address: string): Promise<bigint>;
14
+ getBalanceNative(address: string): Promise<bigint>;
15
+ getBalanceForeignPolkadotXcm(address: string, id?: string): Promise<bigint>;
16
+ getMythosForeignBalance(address: string): Promise<bigint>;
17
+ getAssetHubForeignBalance(address: string, multiLocation: TMultiLocation): Promise<bigint>;
18
+ getBalanceForeignXTokens(address: string, asset: TAsset): Promise<bigint>;
19
+ getBalanceForeignAssetsAccount(address: string, assetId: bigint | number): Promise<bigint>;
20
+ clone(): IPolkadotApi<TApi, TRes>;
21
+ }
22
+
23
+ declare abstract class ParachainNode<TApi, TRes> {
7
24
  private readonly _node;
8
25
  private readonly _name;
9
26
  private readonly _type;
@@ -15,225 +32,238 @@ declare abstract class ParachainNode<TApi extends TApiType = ApiPromise> {
15
32
  get node(): TNode;
16
33
  get version(): Version;
17
34
  get assetCheckEnabled(): boolean;
18
- protected canUseXTokens(_: TSendInternalOptions): boolean;
19
- transfer(options: TSendInternalOptions): TTransferReturn;
20
- transferRelayToPara(options: TRelayToParaInternalOptions): TSerializedApiCall;
35
+ protected canUseXTokens(_: TSendInternalOptions<TApi, TRes>): boolean;
36
+ transfer(options: TSendInternalOptions<TApi, TRes>): TTransferReturn<TRes>;
37
+ transferRelayToPara(options: TRelayToParaOptions<TApi, TRes>): TSerializedApiCallV2;
21
38
  getProvider(): string;
22
- createApiInstance(): Promise<TApi>;
39
+ createApiInstance(api: IPolkadotApi<TApi, TRes>): Promise<TApi>;
23
40
  createCurrencySpec(amount: string, scenario: TScenario, version: Version, _?: string, overridedMultiLocation?: TMultiLocation | TMultiAsset[]): TCurrencySelectionHeaderArr;
24
41
  createPolkadotXcmHeader(scenario: TScenario, version: Version, destination?: TDestination, paraId?: number): TMultiLocationHeader;
25
42
  getNativeAssetSymbol(): string;
26
43
  }
27
44
 
28
- declare class Acala extends ParachainNode implements IXTokensTransfer {
45
+ declare class Acala<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
29
46
  constructor();
30
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
47
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
31
48
  getProvider(): string;
32
49
  }
33
50
 
34
- declare class Unique extends ParachainNode implements IXTokensTransfer {
51
+ declare class Unique<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
35
52
  constructor();
36
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
53
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
37
54
  }
38
55
 
39
- declare class Crust extends ParachainNode implements IXTokensTransfer {
56
+ declare class Crust<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
40
57
  constructor();
41
- getCurrencySelection({ currency, currencyID }: XTokensTransferInput): TReserveAsset;
42
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
58
+ getCurrencySelection<TApi, TRes>({ currency, currencyID }: XTokensTransferInput<TApi, TRes>): TReserveAsset;
59
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
43
60
  }
44
61
 
45
- declare class BifrostPolkadot extends ParachainNode implements IXTokensTransfer {
62
+ declare class BifrostPolkadot<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer, IPolkadotXCMTransfer {
46
63
  constructor();
47
64
  private getCurrencySelection;
48
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
65
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
66
+ transferPolkadotXCM<TApi, TRes>(input: PolkadotXCMTransferInput<TApi, TRes>): TTransferReturn<TRes>;
67
+ protected canUseXTokens({ currencySymbol, destination }: TSendInternalOptions<TApi, TRes>): boolean;
49
68
  }
50
69
 
51
- declare class Bitgreen extends ParachainNode {
70
+ declare class Bitgreen<TApi, TRes> extends ParachainNode<TApi, TRes> {
52
71
  constructor();
53
72
  }
54
73
 
55
- declare class Centrifuge extends ParachainNode implements IXTokensTransfer {
74
+ declare class Centrifuge<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
56
75
  constructor();
57
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
76
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
58
77
  }
59
78
 
60
- declare class ComposableFinance extends ParachainNode implements IXTokensTransfer {
79
+ declare class ComposableFinance<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
61
80
  constructor();
62
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
81
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
63
82
  }
64
83
 
65
- declare class Hydration extends ParachainNode implements IXTokensTransfer {
84
+ declare class Hydration<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
66
85
  constructor();
67
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
86
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
68
87
  }
69
88
 
70
- declare class Interlay extends ParachainNode implements IXTokensTransfer {
89
+ declare class Interlay<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
71
90
  constructor();
72
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
91
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
73
92
  }
74
93
 
75
- declare class Litentry extends ParachainNode implements IXTokensTransfer {
94
+ declare class Litentry<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
76
95
  constructor();
77
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
96
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
78
97
  }
79
98
 
80
- declare class Moonbeam extends ParachainNode implements IXTokensTransfer {
99
+ declare class Moonbeam<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
81
100
  constructor();
82
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
83
- transferRelayToPara(options: TRelayToParaInternalOptions): TSerializedApiCall;
101
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
102
+ transferRelayToPara(options: TRelayToParaOptions<TApi, TRes>): TSerializedApiCallV2;
84
103
  getProvider(): string;
85
104
  }
86
105
 
87
- declare class Parallel extends ParachainNode implements IXTokensTransfer {
106
+ declare class Parallel<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
88
107
  constructor();
89
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
108
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
90
109
  }
91
110
 
92
- declare class Altair extends ParachainNode implements IXTokensTransfer {
111
+ declare class Altair<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
93
112
  constructor();
94
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
113
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
95
114
  }
96
115
 
97
- declare class Amplitude extends ParachainNode implements IXTokensTransfer {
116
+ declare class Amplitude<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
98
117
  constructor();
99
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
118
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
100
119
  }
101
120
 
102
- declare class Bajun extends ParachainNode implements IXTokensTransfer {
121
+ declare class Bajun<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
103
122
  constructor();
104
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
105
- transferRelayToPara(): TSerializedApiCall;
123
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
124
+ transferRelayToPara(): TSerializedApiCallV2;
106
125
  }
107
126
 
108
- declare class Basilisk extends ParachainNode implements IXTokensTransfer {
127
+ declare class Basilisk<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
109
128
  constructor();
110
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
129
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
111
130
  getProvider(): string;
112
131
  }
113
132
 
114
- declare class BifrostKusama extends ParachainNode implements IXTokensTransfer {
115
- constructor();
116
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
117
- }
118
-
119
- declare class Pioneer extends ParachainNode implements IXTokensTransfer {
133
+ declare class BifrostKusama<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
120
134
  constructor();
121
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
135
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
122
136
  }
123
137
 
124
- declare class Turing extends ParachainNode implements IXTokensTransfer {
138
+ declare class Pioneer<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
125
139
  constructor();
126
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
140
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
127
141
  }
128
142
 
129
- declare class Picasso extends ParachainNode implements IXTokensTransfer {
143
+ declare class Turing<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
130
144
  constructor();
131
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
145
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
132
146
  }
133
147
 
134
- declare class ParallelHeiko extends ParachainNode implements IXTokensTransfer {
148
+ declare class Picasso<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
135
149
  constructor();
136
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
150
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
137
151
  }
138
152
 
139
- declare class Moonriver extends ParachainNode implements IXTokensTransfer {
153
+ declare class ParallelHeiko<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
140
154
  constructor();
141
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
142
- transferRelayToPara(options: TRelayToParaInternalOptions): TSerializedApiCall;
155
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
143
156
  }
144
157
 
145
- declare class Litmus extends ParachainNode implements IXTokensTransfer {
158
+ declare class Moonriver<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
146
159
  constructor();
147
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
160
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
161
+ transferRelayToPara(options: TRelayToParaOptions<TApi, TRes>): TSerializedApiCallV2;
148
162
  getProvider(): string;
149
163
  }
150
164
 
151
- declare class Kintsugi extends ParachainNode implements IXTokensTransfer {
165
+ declare class Kintsugi<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
152
166
  constructor();
153
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
167
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
154
168
  }
155
169
 
156
- declare class Calamari extends ParachainNode implements IXTokensTransfer {
170
+ declare class Calamari<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
157
171
  constructor();
158
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
172
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
159
173
  }
160
174
 
161
- declare class CrustShadow extends ParachainNode implements IXTokensTransfer {
175
+ declare class CrustShadow<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
162
176
  constructor();
163
- getCurrencySelection({ currency, currencyID }: XTokensTransferInput): TReserveAsset;
164
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
177
+ getCurrencySelection<TApi, TRes>({ currency, currencyID }: XTokensTransferInput<TApi, TRes>): TReserveAsset;
178
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
165
179
  }
166
180
 
167
- declare class Imbue extends ParachainNode implements IXTokensTransfer {
181
+ declare class Imbue<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
168
182
  constructor();
169
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
183
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
170
184
  }
171
185
 
172
- declare class Integritee extends ParachainNode implements IXTokensTransfer {
186
+ declare class Integritee<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
173
187
  constructor();
174
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
175
- transferRelayToPara(): TSerializedApiCall;
188
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
189
+ transferRelayToPara(): TSerializedApiCallV2;
176
190
  }
177
191
 
178
- declare class InvArchTinker extends ParachainNode implements IXTokensTransfer {
192
+ declare class InvArchTinker<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
179
193
  constructor();
180
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
194
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
181
195
  }
182
196
 
183
- declare class Karura extends ParachainNode implements IXTokensTransfer {
197
+ declare class Karura<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
184
198
  constructor();
185
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
199
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
186
200
  getProvider(): string;
187
201
  }
188
202
 
189
- declare class AssetHubPolkadot extends ParachainNode implements IPolkadotXCMTransfer {
203
+ declare class AssetHubPolkadot<TApi, TRes> extends ParachainNode<TApi, TRes> implements IPolkadotXCMTransfer {
190
204
  constructor();
191
- handleBridgeTransfer(input: PolkadotXCMTransferInput, targetChain: 'Polkadot' | 'Kusama'): TTransferReturn;
192
- handleEthBridgeTransfer(input: PolkadotXCMTransferInput): TTransferReturn;
193
- handleMythosTransfer(input: PolkadotXCMTransferInput): TTransferReturn;
194
- transferPolkadotXCM(input: PolkadotXCMTransferInput): TTransferReturn;
195
- transferRelayToPara(options: TRelayToParaInternalOptions): TSerializedApiCall;
205
+ handleBridgeTransfer<TApi, TRes>(input: PolkadotXCMTransferInput<TApi, TRes>, targetChain: 'Polkadot' | 'Kusama'): TTransferReturn<TRes>;
206
+ handleEthBridgeTransfer<TApi, TRes>(input: PolkadotXCMTransferInput<TApi, TRes>): TTransferReturn<TRes>;
207
+ handleMythosTransfer<TApi, TRes>(input: PolkadotXCMTransferInput<TApi, TRes>): TTransferReturn<TRes>;
208
+ transferPolkadotXCM<TApi, TRes>(input: PolkadotXCMTransferInput<TApi, TRes>): TTransferReturn<TRes>;
209
+ transferRelayToPara(options: TRelayToParaOptions<TApi, TRes>): TSerializedApiCallV2;
196
210
  createCurrencySpec(amount: string, scenario: TScenario, version: Version, currencyId?: string, overridedMultiLocation?: TMultiLocation | TMultiAsset[]): TCurrencySelectionHeaderArr;
197
211
  }
198
212
 
199
- declare class AssetHubKusama extends ParachainNode implements IPolkadotXCMTransfer {
213
+ declare class AssetHubKusama<TApi, TRes> extends ParachainNode<TApi, TRes> implements IPolkadotXCMTransfer {
200
214
  constructor();
201
- transferPolkadotXCM(input: PolkadotXCMTransferInput): TTransferReturn;
202
- transferRelayToPara(options: TRelayToParaInternalOptions): TSerializedApiCall;
215
+ transferPolkadotXCM<TApi, TRes>(input: PolkadotXCMTransferInput<TApi, TRes>): TTransferReturn<TRes>;
216
+ transferRelayToPara(options: TRelayToParaOptions<TApi, TRes>): TSerializedApiCallV2;
203
217
  createCurrencySpec(amount: string, scenario: TScenario, version: Version, currencyId?: string, overridedMultiLocation?: TMultiLocation | TMultiAsset[]): TCurrencySelectionHeaderArr;
204
218
  }
205
219
 
206
- declare class CoretimeKusama extends ParachainNode implements IPolkadotXCMTransfer {
220
+ declare class CoretimeKusama<TApi, TRes> extends ParachainNode<TApi, TRes> implements IPolkadotXCMTransfer {
207
221
  constructor();
208
222
  _assetCheckEnabled: boolean;
209
- transferPolkadotXCM(input: PolkadotXCMTransferInput): TTransferReturn;
210
- transferRelayToPara(options: TRelayToParaInternalOptions): TSerializedApiCall;
223
+ transferPolkadotXCM<TApi, TRes>(input: PolkadotXCMTransferInput<TApi, TRes>): TTransferReturn<TRes>;
224
+ transferRelayToPara(options: TRelayToParaOptions<TApi, TRes>): TSerializedApiCallV2;
211
225
  }
212
226
 
213
- declare class CoretimePolkadot extends ParachainNode implements IPolkadotXCMTransfer {
227
+ declare class CoretimePolkadot<TApi, TRes> extends ParachainNode<TApi, TRes> implements IPolkadotXCMTransfer {
214
228
  constructor();
215
229
  _assetCheckEnabled: boolean;
216
- transferPolkadotXCM(input: PolkadotXCMTransferInput): TTransferReturn;
217
- transferRelayToPara(options: TRelayToParaInternalOptions): TSerializedApiCall;
218
- getProvider(): string;
230
+ transferPolkadotXCM<TApi, TRes>(input: PolkadotXCMTransferInput<TApi, TRes>): TTransferReturn<TRes>;
231
+ transferRelayToPara(options: TRelayToParaOptions<TApi, TRes>): TSerializedApiCallV2;
232
+ }
233
+
234
+ declare class Encointer<TApi, TRes> extends ParachainNode<TApi, TRes> implements IPolkadotXCMTransfer {
235
+ constructor();
236
+ transferPolkadotXCM<TApi, TRes>(input: PolkadotXCMTransferInput<TApi, TRes>): TTransferReturn<TRes>;
237
+ transferRelayToPara(options: TRelayToParaOptions<TApi, TRes>): TSerializedApiCallV2;
238
+ }
239
+
240
+ declare class RobonomicsKusama<TApi, TRes> extends ParachainNode<TApi, TRes> implements IPolkadotXCMTransfer {
241
+ constructor();
242
+ transferPolkadotXCM<TApi, TRes>(input: PolkadotXCMTransferInput<TApi, TRes>): TTransferReturn<TRes>;
219
243
  }
220
244
 
221
- declare class Encointer extends ParachainNode implements IPolkadotXCMTransfer {
245
+ declare class RobonomicsPolkadot<TApi, TRes> extends ParachainNode<TApi, TRes> implements IPolkadotXCMTransfer {
222
246
  constructor();
223
- transferPolkadotXCM(input: PolkadotXCMTransferInput): TTransferReturn;
224
- transferRelayToPara(options: TRelayToParaInternalOptions): TSerializedApiCall;
247
+ transferPolkadotXCM<TApi, TRes>(input: PolkadotXCMTransferInput<TApi, TRes>): TTransferReturn<TRes>;
225
248
  }
226
249
 
227
- declare class Robonomics extends ParachainNode implements IPolkadotXCMTransfer {
250
+ declare class PeoplePolkadot<TApi, TRes> extends ParachainNode<TApi, TRes> implements IPolkadotXCMTransfer {
228
251
  constructor();
229
- transferPolkadotXCM(input: PolkadotXCMTransferInput): TTransferReturn;
252
+ transferPolkadotXCM<TApi, TRes>(input: PolkadotXCMTransferInput<TApi, TRes>): TTransferReturn<TRes>;
253
+ transferRelayToPara(options: TRelayToParaOptions<TApi, TRes>): TSerializedApiCallV2;
230
254
  }
231
255
 
232
- declare class Astar extends ParachainNode implements IPolkadotXCMTransfer, IXTokensTransfer {
256
+ declare class PeopleKusama<TApi, TRes> extends ParachainNode<TApi, TRes> implements IPolkadotXCMTransfer {
233
257
  constructor();
234
- transferPolkadotXCM(input: PolkadotXCMTransferInput): TTransferReturn;
235
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
236
- protected canUseXTokens({ currencySymbol, currencyId }: TSendInternalOptions): boolean;
258
+ transferPolkadotXCM<TApi, TRes>(input: PolkadotXCMTransferInput<TApi, TRes>): TTransferReturn<TRes>;
259
+ transferRelayToPara(options: TRelayToParaOptions<TApi, TRes>): TSerializedApiCallV2;
260
+ }
261
+
262
+ declare class Astar<TApi, TRes> extends ParachainNode<TApi, TRes> implements IPolkadotXCMTransfer, IXTokensTransfer {
263
+ constructor();
264
+ transferPolkadotXCM<TApi, TRes>(input: PolkadotXCMTransferInput<TApi, TRes>): TTransferReturn<TRes>;
265
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
266
+ protected canUseXTokens({ currencySymbol, currencyId }: TSendInternalOptions<TApi, TRes>): boolean;
237
267
  }
238
268
 
239
269
  type TMultiAsset = TMultiAssetV3 | TMultiAssetV4;
@@ -285,7 +315,7 @@ type TCurrencySelectionHeaderArr = {
285
315
  [key in Version]?: [TCurrencySelection | TCurrencySelectionV4];
286
316
  };
287
317
  type TForeignAsset = {
288
- ForeignAsset: string | undefined;
318
+ ForeignAsset: string | number | bigint | undefined;
289
319
  };
290
320
  type TForeignAssetId = {
291
321
  ForeignAssetId: string | undefined;
@@ -298,7 +328,7 @@ type TXcmAsset = {
298
328
  XCM: string | undefined;
299
329
  };
300
330
  type TMantaAsset = {
301
- MantaCurrency: string | undefined;
331
+ MantaCurrency: bigint | undefined;
302
332
  };
303
333
  type TNativeTokenAsset = 'NativeToken';
304
334
  type TNodleAsset = 'NodleNative';
@@ -321,19 +351,21 @@ type TBifrostToken = {
321
351
  } | {
322
352
  Token2: number;
323
353
  };
324
- type TXTokensCurrencySelection = TCurrencySelectionHeader | TCurrencySelectionHeaderArr | TForeignAsset | TForeignAssetId | TForeignOrTokenAsset | TXcmAsset | TMantaAsset | TOtherReserveAsset | TBifrostToken | string | undefined;
354
+ type TXTokensCurrencySelection = TCurrencySelectionHeader | TCurrencySelectionHeaderArr | TForeignAsset | TForeignAssetId | TForeignOrTokenAsset | TXcmAsset | TMantaAsset | TOtherReserveAsset | TBifrostToken | string | bigint | undefined;
325
355
 
326
- interface IPolkadotApi<TApi extends TApiType, TRes extends TResType> {
327
- init(api: TApi): void;
328
- createAccountId(address: string): HexString$1;
329
- call(serializedCall: TSerializedApiCall): TRes;
356
+ type TPallet = (typeof SUPPORTED_PALLETS)[number];
357
+ interface TPalletMap {
358
+ defaultPallet: TPallet;
359
+ supportedPallets: TPallet[];
330
360
  }
361
+ type TPalletJsonMap = Record<TNodePolkadotKusama, TPalletMap>;
362
+
363
+ type WithApi<TBase, TApi, TRes> = TBase & {
364
+ api: IPolkadotApi<TApi, TRes>;
365
+ };
331
366
 
332
- type TApiType = ApiPromise;
333
- type TResType = Extrinsic;
334
367
  type HexString$1 = `0x${string}`;
335
- type Extrinsic = SubmittableExtrinsic<'promise'>;
336
- type PolkadotXCMTransferInput<TApi extends TApiType = ApiPromise, TRes extends TResType = Extrinsic> = {
368
+ type PolkadotXCMTransferInput<TApi, TRes> = {
337
369
  api: IPolkadotApi<TApi, TRes>;
338
370
  header: TMultiLocationHeader;
339
371
  addressSelection: TMultiLocationHeader;
@@ -349,7 +381,7 @@ type PolkadotXCMTransferInput<TApi extends TApiType = ApiPromise, TRes extends T
349
381
  overridedCurrency?: TMultiLocation | TMultiAsset[];
350
382
  serializedApiCallEnabled?: boolean;
351
383
  };
352
- type XTokensTransferInput<TApi extends TApiType = ApiPromise, TRes extends TResType = Extrinsic> = {
384
+ type XTokensTransferInput<TApi, TRes> = {
353
385
  api: IPolkadotApi<TApi, TRes>;
354
386
  currency: string | undefined;
355
387
  currencyID: string | undefined;
@@ -364,7 +396,7 @@ type XTokensTransferInput<TApi extends TApiType = ApiPromise, TRes extends TResT
364
396
  feeAsset?: TCurrency;
365
397
  serializedApiCallEnabled?: boolean;
366
398
  };
367
- type XTransferTransferInput<TApi extends TApiType = ApiPromise, TRes extends TResType = Extrinsic> = {
399
+ type XTransferTransferInput<TApi, TRes> = {
368
400
  api: IPolkadotApi<TApi, TRes>;
369
401
  currency: string | undefined;
370
402
  currencyID: string | undefined;
@@ -376,14 +408,14 @@ type XTransferTransferInput<TApi extends TApiType = ApiPromise, TRes extends TRe
376
408
  overridedCurrencyMultiLocation?: TMultiLocation | TMultiAsset[];
377
409
  serializedApiCallEnabled?: boolean;
378
410
  };
379
- type IPolkadotXCMTransfer<TApi extends TApiType = ApiPromise, TRes extends TResType = Extrinsic> = {
380
- transferPolkadotXCM: (input: PolkadotXCMTransferInput<TApi, TRes>) => TTransferReturn;
411
+ type IPolkadotXCMTransfer = {
412
+ transferPolkadotXCM: <TApi, TRes>(input: PolkadotXCMTransferInput<TApi, TRes>) => TTransferReturn<TRes>;
381
413
  };
382
- type IXTokensTransfer<TApi extends TApiType = ApiPromise, TRes extends TResType = Extrinsic> = {
383
- transferXTokens: (input: XTokensTransferInput<TApi, TRes>) => TTransferReturn;
414
+ type IXTokensTransfer = {
415
+ transferXTokens: <TApi, TRes>(input: XTokensTransferInput<TApi, TRes>) => TTransferReturn<TRes>;
384
416
  };
385
- type IXTransferTransfer<TApi extends TApiType = ApiPromise, TRes extends TResType = Extrinsic> = {
386
- transferXTransfer: (input: XTransferTransferInput<TApi, TRes>) => TTransferReturn;
417
+ type IXTransferTransfer = {
418
+ transferXTransfer: <TApi, TRes>(input: XTransferTransferInput<TApi, TRes>) => TTransferReturn<TRes>;
387
419
  };
388
420
  type TScenario = 'ParaToRelay' | 'ParaToPara' | 'RelayToPara';
389
421
  /**
@@ -407,7 +439,7 @@ declare enum Parents {
407
439
  type TAmount = string | number | bigint;
408
440
  type TAddress = string | TMultiLocation;
409
441
  type TDestination = TNode | TMultiLocation;
410
- type TSendBaseOptions<TApi> = {
442
+ type TSendBaseOptions<TApi, TRes> = {
411
443
  /**
412
444
  * The destination address. A SS58 or H160 format.
413
445
  */
@@ -427,7 +459,7 @@ type TSendBaseOptions<TApi> = {
427
459
  /**
428
460
  * The optional destination API instance required for keep-alive
429
461
  */
430
- destApiForKeepAlive?: TApi;
462
+ destApiForKeepAlive: IPolkadotApi<TApi, TRes>;
431
463
  /**
432
464
  * The optional overrided XCM version
433
465
  */
@@ -436,11 +468,7 @@ type TSendBaseOptions<TApi> = {
436
468
  /**
437
469
  * Options for transferring from a parachain to another parachain or relay chain
438
470
  */
439
- type TSendOptions<TApi extends TApiType = ApiPromise> = TSendBaseOptions<TApi> & {
440
- /**
441
- * The Polkadot API instance
442
- */
443
- api?: TApi;
471
+ type TSendOptions<TApi, TRes> = WithApi<TSendBaseOptions<TApi, TRes>, TApi, TRes> & {
444
472
  /**
445
473
  * The origin node
446
474
  */
@@ -454,10 +482,7 @@ type TSendOptions<TApi extends TApiType = ApiPromise> = TSendBaseOptions<TApi> &
454
482
  */
455
483
  amount: TAmount | null;
456
484
  };
457
- type TSendOptionsCommon<TApi extends TApiType = ApiPromise> = TSendOptions<TApi> & {
458
- serializedApiCallEnabled?: boolean;
459
- };
460
- type TSendInternalOptions<TApi extends TApiType = ApiPromise, TRes extends TResType = Extrinsic> = TSendBaseOptions<TApi> & {
485
+ type TSendInternalOptions<TApi, TRes> = TSendBaseOptions<TApi, TRes> & {
461
486
  api: IPolkadotApi<TApi, TRes>;
462
487
  currencySymbol: string | undefined;
463
488
  currencyId: string | undefined;
@@ -465,7 +490,7 @@ type TSendInternalOptions<TApi extends TApiType = ApiPromise, TRes extends TResT
465
490
  overridedCurrencyMultiLocation?: TMultiLocation | TMultiAsset[];
466
491
  serializedApiCallEnabled?: boolean;
467
492
  };
468
- type TRelayToParaBaseOptions<TApi> = {
493
+ type TRelayToParaBaseOptions<TApi, TRes> = {
469
494
  /**
470
495
  * The destination node or multi-location
471
496
  */
@@ -481,44 +506,37 @@ type TRelayToParaBaseOptions<TApi> = {
481
506
  /**
482
507
  * The optional destination API instance required for keep-alive
483
508
  */
484
- destApiForKeepAlive?: TApi;
509
+ destApiForKeepAlive: IPolkadotApi<TApi, TRes>;
485
510
  /**
486
511
  * The optional overrided XCM version
487
512
  */
488
513
  version?: Version;
489
- };
490
- /**
491
- * Options for transferring from a relay chain to a parachain
492
- */
493
- type TRelayToParaOptions<TApi> = TRelayToParaBaseOptions<TApi> & {
494
- /**
495
- * The Polkadot API instance
496
- */
497
- api?: TApi;
498
514
  /**
499
515
  * The amount to transfer
500
516
  */
501
517
  amount: TAmount;
502
518
  };
503
- type TRelayToParaInternalOptions<TApi extends TApiType = ApiPromise, TRes extends TResType = Extrinsic> = TRelayToParaBaseOptions<TApi> & {
504
- api: IPolkadotApi<TApi, TRes>;
505
- amount: string;
506
- };
507
- type TRelayToParaCommonOptions<TApi> = TRelayToParaOptions<TApi> & {
508
- serializedApiCallEnabled?: boolean;
509
- };
510
- type TTransferReturn = Extrinsic | TSerializedApiCall;
519
+ /**
520
+ * Options for transferring from a relay chain to a parachain
521
+ */
522
+ type TRelayToParaOptions<TApi, TRes> = WithApi<TRelayToParaBaseOptions<TApi, TRes>, TApi, TRes>;
523
+ type TTransferReturn<TRes> = TRes | TSerializedApiCall;
511
524
  type TSerializedApiCall = {
512
525
  module: string;
513
526
  section: string;
514
527
  parameters: unknown[];
515
528
  };
516
- type CheckKeepAliveOptions = {
517
- originApi: ApiPromise;
529
+ type TSerializedApiCallV2 = {
530
+ module: TPallet | 'Utility';
531
+ section: string;
532
+ parameters: Record<string, unknown>;
533
+ };
534
+ type CheckKeepAliveOptions<TApi, TRes> = {
535
+ originApi: IPolkadotApi<TApi, TRes>;
518
536
  address: string;
519
537
  amount: string;
520
538
  originNode?: TNodePolkadotKusama;
521
- destApi?: ApiPromise;
539
+ destApi: IPolkadotApi<TApi, TRes>;
522
540
  currencySymbol?: string;
523
541
  destNode?: TNodePolkadotKusama;
524
542
  };
@@ -526,12 +544,9 @@ type TDestWeight = {
526
544
  refTime: string;
527
545
  proofSize: string;
528
546
  };
529
- type XTransferModule = 'xTransfer';
530
547
  type XTransferSection = 'transfer';
531
- type XTokensModule = 'xTokens';
532
- type XTokensSection = 'transfer' | 'transferMultiasset' | 'transferMultiassets';
533
- type PolkadotXcmModule = 'polkadotXcm';
534
- type PolkadotXcmSection = 'limitedTeleportAssets' | 'limitedReserveTransferAssets' | 'reserveTransferAssets' | 'reserveWithdrawAssets' | 'transferAssets';
548
+ type XTokensSection = 'transfer' | 'transfer_multiasset' | 'transfer_multiassets';
549
+ type PolkadotXcmSection = 'limited_teleport_assets' | 'limited_reserve_transfer_assets' | 'reserve_transfer_assets' | 'reserve_withdraw_assets' | 'transfer_assets';
535
550
 
536
551
  type JunctionType = 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality' | 'GlobalConsensus';
537
552
  type NetworkId = string | null;
@@ -628,215 +643,218 @@ type TMultiLocationHeader = {
628
643
  [key in Version]?: TMultiLocation;
629
644
  };
630
645
 
631
- declare class Darwinia extends ParachainNode implements IXTokensTransfer {
646
+ declare class Darwinia<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
632
647
  constructor();
633
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
634
- transferRelayToPara(): TSerializedApiCall;
648
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
649
+ transferRelayToPara(): TSerializedApiCallV2;
635
650
  createCurrencySpec(amount: string, scenario: TScenario, version: Version, currencyId?: string, overridedMultiLocation?: TMultiLocation): TCurrencySelectionHeaderArr;
651
+ getProvider(): string;
636
652
  }
637
653
 
638
- declare class Crab extends ParachainNode implements IPolkadotXCMTransfer {
654
+ declare class Crab<TApi, TRes> extends ParachainNode<TApi, TRes> implements IPolkadotXCMTransfer {
639
655
  constructor();
640
- transferPolkadotXCM(input: PolkadotXCMTransferInput): TTransferReturn;
641
- transferRelayToPara(): TSerializedApiCall;
656
+ transferPolkadotXCM<TApi, TRes>(input: PolkadotXCMTransferInput<TApi, TRes>): TTransferReturn<TRes>;
657
+ transferRelayToPara(): TSerializedApiCallV2;
642
658
  createCurrencySpec(amount: string, scenario: TScenario, version: Version, currencyId?: string): TCurrencySelectionHeaderArr;
643
659
  }
644
660
 
645
- declare class Quartz extends ParachainNode implements IXTokensTransfer {
661
+ declare class Quartz<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
646
662
  constructor();
647
663
  _assetCheckEnabled: boolean;
648
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
664
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
649
665
  }
650
666
 
651
- declare class Shiden extends ParachainNode implements IPolkadotXCMTransfer, IXTokensTransfer {
667
+ declare class Shiden<TApi, TRes> extends ParachainNode<TApi, TRes> implements IPolkadotXCMTransfer, IXTokensTransfer {
652
668
  constructor();
653
- transferPolkadotXCM(input: PolkadotXCMTransferInput): TTransferReturn;
654
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
655
- protected canUseXTokens({ currencySymbol, currencyId }: TSendInternalOptions): boolean;
669
+ transferPolkadotXCM<TApi, TRes>(input: PolkadotXCMTransferInput<TApi, TRes>): TTransferReturn<TRes>;
670
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
671
+ protected canUseXTokens({ currencySymbol, currencyId }: TSendInternalOptions<TApi, TRes>): boolean;
656
672
  }
657
673
 
658
- declare class Manta extends ParachainNode implements IXTokensTransfer {
674
+ declare class Manta<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
659
675
  constructor();
660
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
676
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
661
677
  }
662
678
 
663
- declare class Nodle extends ParachainNode implements IXTokensTransfer {
679
+ declare class Nodle<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
664
680
  constructor();
665
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
666
- transferRelayToPara(): TSerializedApiCall;
681
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
682
+ transferRelayToPara(): TSerializedApiCallV2;
667
683
  }
668
684
 
669
- declare class NeuroWeb extends ParachainNode implements IPolkadotXCMTransfer {
685
+ declare class NeuroWeb<TApi, TRes> extends ParachainNode<TApi, TRes> implements IPolkadotXCMTransfer {
670
686
  constructor();
671
- transferPolkadotXCM(input: PolkadotXCMTransferInput): TTransferReturn;
687
+ transferPolkadotXCM<TApi, TRes>(input: PolkadotXCMTransferInput<TApi, TRes>): TTransferReturn<TRes>;
672
688
  }
673
689
 
674
- declare class Pendulum extends ParachainNode implements IXTokensTransfer {
690
+ declare class Pendulum<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
675
691
  constructor();
676
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
677
- transferRelayToPara(): TSerializedApiCall;
692
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
693
+ transferRelayToPara(): TSerializedApiCallV2;
678
694
  }
679
695
 
680
- declare class Polkadex extends ParachainNode implements IXTokensTransfer {
696
+ declare class Polkadex<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
681
697
  constructor();
682
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
698
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
683
699
  }
684
700
 
685
- declare class Zeitgeist extends ParachainNode implements IXTokensTransfer {
701
+ declare class Zeitgeist<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
686
702
  constructor();
687
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
703
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
688
704
  }
689
705
 
690
- declare class Collectives extends ParachainNode implements IPolkadotXCMTransfer {
706
+ declare class Collectives<TApi, TRes> extends ParachainNode<TApi, TRes> implements IPolkadotXCMTransfer {
691
707
  constructor();
692
- transferPolkadotXCM(input: PolkadotXCMTransferInput): TTransferReturn;
693
- transferRelayToPara(options: TRelayToParaInternalOptions): TSerializedApiCall;
708
+ transferPolkadotXCM<TApi, TRes>(input: PolkadotXCMTransferInput<TApi, TRes>): TTransferReturn<TRes>;
709
+ transferRelayToPara(options: TRelayToParaOptions<TApi, TRes>): TSerializedApiCallV2;
694
710
  createCurrencySpec(amount: string, scenario: TScenario, version: Version, currencyId?: string): TCurrencySelectionHeaderArr;
695
711
  }
696
712
 
697
- declare class Khala extends ParachainNode implements IXTransferTransfer {
713
+ declare class Khala<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTransferTransfer {
698
714
  constructor();
699
- transferXTransfer(input: XTransferTransferInput): TTransferReturn;
715
+ transferXTransfer<TApi, TRes>(input: XTransferTransferInput<TApi, TRes>): TTransferReturn<TRes>;
700
716
  }
701
717
 
702
- declare class Phala extends ParachainNode implements IXTransferTransfer {
718
+ declare class Phala<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTransferTransfer {
703
719
  constructor();
704
- transferXTransfer(input: XTransferTransferInput): TTransferReturn;
720
+ transferXTransfer<TApi, TRes>(input: XTransferTransferInput<TApi, TRes>): TTransferReturn<TRes>;
705
721
  }
706
722
 
707
- declare class Subsocial extends ParachainNode implements IPolkadotXCMTransfer {
723
+ declare class Subsocial<TApi, TRes> extends ParachainNode<TApi, TRes> implements IPolkadotXCMTransfer {
708
724
  constructor();
709
- transferPolkadotXCM(input: PolkadotXCMTransferInput): TTransferReturn;
725
+ transferPolkadotXCM<TApi, TRes>(input: PolkadotXCMTransferInput<TApi, TRes>): TTransferReturn<TRes>;
710
726
  }
711
727
 
712
- declare class KiltSpiritnet extends ParachainNode implements IPolkadotXCMTransfer {
728
+ declare class KiltSpiritnet<TApi, TRes> extends ParachainNode<TApi, TRes> implements IPolkadotXCMTransfer {
713
729
  constructor();
714
- transferPolkadotXCM(input: PolkadotXCMTransferInput): TTransferReturn;
715
- transferRelayToPara(): TSerializedApiCall;
730
+ transferPolkadotXCM<TApi, TRes>(input: PolkadotXCMTransferInput<TApi, TRes>): TTransferReturn<TRes>;
731
+ transferRelayToPara(): TSerializedApiCallV2;
732
+ getProvider(): string;
716
733
  }
717
734
 
718
- declare class Curio extends ParachainNode implements IXTokensTransfer {
735
+ declare class Curio<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
719
736
  constructor();
720
- private getCurrencySelection;
721
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
737
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
722
738
  }
723
739
 
724
- declare class BridgeHubPolkadot extends ParachainNode implements IPolkadotXCMTransfer {
740
+ declare class BridgeHubPolkadot<TApi, TRes> extends ParachainNode<TApi, TRes> implements IPolkadotXCMTransfer {
725
741
  constructor();
726
742
  _assetCheckEnabled: boolean;
727
- transferPolkadotXCM(input: PolkadotXCMTransferInput): TTransferReturn;
728
- transferRelayToPara(options: TRelayToParaInternalOptions): TSerializedApiCall;
743
+ transferPolkadotXCM<TApi, TRes>(input: PolkadotXCMTransferInput<TApi, TRes>): TTransferReturn<TRes>;
744
+ transferRelayToPara(options: TRelayToParaOptions<TApi, TRes>): TSerializedApiCallV2;
729
745
  }
730
746
 
731
- declare class BridgeHubKusama extends ParachainNode implements IPolkadotXCMTransfer {
747
+ declare class BridgeHubKusama<TApi, TRes> extends ParachainNode<TApi, TRes> implements IPolkadotXCMTransfer {
732
748
  constructor();
733
749
  _assetCheckEnabled: boolean;
734
- transferPolkadotXCM(input: PolkadotXCMTransferInput): TTransferReturn;
735
- transferRelayToPara(options: TRelayToParaInternalOptions): TSerializedApiCall;
750
+ transferPolkadotXCM<TApi, TRes>(input: PolkadotXCMTransferInput<TApi, TRes>): TTransferReturn<TRes>;
751
+ transferRelayToPara(options: TRelayToParaOptions<TApi, TRes>): TSerializedApiCallV2;
736
752
  }
737
753
 
738
- declare class Ethereum extends ParachainNode {
754
+ declare class Ethereum<TApi, TRes> extends ParachainNode<TApi, TRes> {
739
755
  constructor();
740
756
  }
741
757
 
742
- declare class Mythos extends ParachainNode implements IPolkadotXCMTransfer {
758
+ declare class Mythos<TApi, TRes> extends ParachainNode<TApi, TRes> implements IPolkadotXCMTransfer {
743
759
  constructor();
744
- transferPolkadotXCM(input: PolkadotXCMTransferInput): TTransferReturn;
745
- transferRelayToPara(): TSerializedApiCall;
760
+ transferPolkadotXCM<TApi, TRes>(input: PolkadotXCMTransferInput<TApi, TRes>): TTransferReturn<TRes>;
761
+ transferRelayToPara(): TSerializedApiCallV2;
746
762
  }
747
763
 
748
- declare class Peaq extends ParachainNode implements IXTokensTransfer {
764
+ declare class Peaq<TApi, TRes> extends ParachainNode<TApi, TRes> implements IXTokensTransfer {
749
765
  constructor();
750
- transferXTokens(input: XTokensTransferInput): TTransferReturn;
751
- transferRelayToPara(): TSerializedApiCall;
766
+ transferXTokens<TApi, TRes>(input: XTokensTransferInput<TApi, TRes>): TTransferReturn<TRes>;
767
+ transferRelayToPara(): TSerializedApiCallV2;
752
768
  getProvider(): string;
753
769
  }
754
770
 
755
- declare class Polimec extends ParachainNode {
771
+ declare class Polimec<TApi, TRes> extends ParachainNode<TApi, TRes> {
756
772
  constructor();
757
773
  }
758
774
 
759
775
  /**
760
776
  * Supported nodes excluding relay chains and Ethereum.
761
777
  */
762
- declare const NODE_NAMES_DOT_KSM: readonly ["AssetHubPolkadot", "Acala", "Astar", "BifrostPolkadot", "Bitgreen", "BridgeHubPolkadot", "BridgeHubKusama", "Centrifuge", "ComposableFinance", "Darwinia", "Hydration", "Interlay", "Litentry", "Moonbeam", "Parallel", "AssetHubKusama", "CoretimeKusama", "CoretimePolkadot", "Encointer", "Altair", "Amplitude", "Bajun", "Basilisk", "BifrostKusama", "Pioneer", "Calamari", "CrustShadow", "Crab", "Imbue", "Integritee", "InvArchTinker", "Karura", "Kintsugi", "Litmus", "Moonriver", "ParallelHeiko", "Picasso", "Quartz", "Robonomics", "Shiden", "Turing", "Unique", "Crust", "Manta", "Nodle", "NeuroWeb", "Pendulum", "Polkadex", "Zeitgeist", "Collectives", "Khala", "Phala", "Subsocial", "KiltSpiritnet", "Curio", "Mythos", "Peaq", "Polimec"];
778
+ declare const NODE_NAMES_DOT_KSM: readonly ["AssetHubPolkadot", "Acala", "Astar", "BifrostPolkadot", "Bitgreen", "BridgeHubPolkadot", "BridgeHubKusama", "Centrifuge", "ComposableFinance", "Darwinia", "Hydration", "Interlay", "Litentry", "Moonbeam", "Parallel", "AssetHubKusama", "CoretimeKusama", "CoretimePolkadot", "Encointer", "Altair", "Amplitude", "Bajun", "Basilisk", "BifrostKusama", "Pioneer", "Calamari", "CrustShadow", "Crab", "Imbue", "Integritee", "InvArchTinker", "Karura", "Kintsugi", "Moonriver", "ParallelHeiko", "Picasso", "Quartz", "RobonomicsKusama", "RobonomicsPolkadot", "PeoplePolkadot", "PeopleKusama", "Shiden", "Turing", "Unique", "Crust", "Manta", "Nodle", "NeuroWeb", "Pendulum", "Polkadex", "Zeitgeist", "Collectives", "Khala", "Phala", "Subsocial", "KiltSpiritnet", "Curio", "Mythos", "Peaq", "Polimec"];
763
779
  /**
764
780
  * Supported nodes including Ethereum.
765
781
  */
766
- declare const NODE_NAMES: readonly ["AssetHubPolkadot", "Acala", "Astar", "BifrostPolkadot", "Bitgreen", "BridgeHubPolkadot", "BridgeHubKusama", "Centrifuge", "ComposableFinance", "Darwinia", "Hydration", "Interlay", "Litentry", "Moonbeam", "Parallel", "AssetHubKusama", "CoretimeKusama", "CoretimePolkadot", "Encointer", "Altair", "Amplitude", "Bajun", "Basilisk", "BifrostKusama", "Pioneer", "Calamari", "CrustShadow", "Crab", "Imbue", "Integritee", "InvArchTinker", "Karura", "Kintsugi", "Litmus", "Moonriver", "ParallelHeiko", "Picasso", "Quartz", "Robonomics", "Shiden", "Turing", "Unique", "Crust", "Manta", "Nodle", "NeuroWeb", "Pendulum", "Polkadex", "Zeitgeist", "Collectives", "Khala", "Phala", "Subsocial", "KiltSpiritnet", "Curio", "Mythos", "Peaq", "Polimec", "Ethereum"];
782
+ declare const NODE_NAMES: readonly ["AssetHubPolkadot", "Acala", "Astar", "BifrostPolkadot", "Bitgreen", "BridgeHubPolkadot", "BridgeHubKusama", "Centrifuge", "ComposableFinance", "Darwinia", "Hydration", "Interlay", "Litentry", "Moonbeam", "Parallel", "AssetHubKusama", "CoretimeKusama", "CoretimePolkadot", "Encointer", "Altair", "Amplitude", "Bajun", "Basilisk", "BifrostKusama", "Pioneer", "Calamari", "CrustShadow", "Crab", "Imbue", "Integritee", "InvArchTinker", "Karura", "Kintsugi", "Moonriver", "ParallelHeiko", "Picasso", "Quartz", "RobonomicsKusama", "RobonomicsPolkadot", "PeoplePolkadot", "PeopleKusama", "Shiden", "Turing", "Unique", "Crust", "Manta", "Nodle", "NeuroWeb", "Pendulum", "Polkadex", "Zeitgeist", "Collectives", "Khala", "Phala", "Subsocial", "KiltSpiritnet", "Curio", "Mythos", "Peaq", "Polimec", "Ethereum"];
767
783
  /**
768
784
  * Supported nodes including relay chains and Ethereum.
769
785
  */
770
- declare const NODES_WITH_RELAY_CHAINS: readonly ["AssetHubPolkadot", "Acala", "Astar", "BifrostPolkadot", "Bitgreen", "BridgeHubPolkadot", "BridgeHubKusama", "Centrifuge", "ComposableFinance", "Darwinia", "Hydration", "Interlay", "Litentry", "Moonbeam", "Parallel", "AssetHubKusama", "CoretimeKusama", "CoretimePolkadot", "Encointer", "Altair", "Amplitude", "Bajun", "Basilisk", "BifrostKusama", "Pioneer", "Calamari", "CrustShadow", "Crab", "Imbue", "Integritee", "InvArchTinker", "Karura", "Kintsugi", "Litmus", "Moonriver", "ParallelHeiko", "Picasso", "Quartz", "Robonomics", "Shiden", "Turing", "Unique", "Crust", "Manta", "Nodle", "NeuroWeb", "Pendulum", "Polkadex", "Zeitgeist", "Collectives", "Khala", "Phala", "Subsocial", "KiltSpiritnet", "Curio", "Mythos", "Peaq", "Polimec", "Ethereum", "Polkadot", "Kusama"];
786
+ declare const NODES_WITH_RELAY_CHAINS: readonly ["AssetHubPolkadot", "Acala", "Astar", "BifrostPolkadot", "Bitgreen", "BridgeHubPolkadot", "BridgeHubKusama", "Centrifuge", "ComposableFinance", "Darwinia", "Hydration", "Interlay", "Litentry", "Moonbeam", "Parallel", "AssetHubKusama", "CoretimeKusama", "CoretimePolkadot", "Encointer", "Altair", "Amplitude", "Bajun", "Basilisk", "BifrostKusama", "Pioneer", "Calamari", "CrustShadow", "Crab", "Imbue", "Integritee", "InvArchTinker", "Karura", "Kintsugi", "Moonriver", "ParallelHeiko", "Picasso", "Quartz", "RobonomicsKusama", "RobonomicsPolkadot", "PeoplePolkadot", "PeopleKusama", "Shiden", "Turing", "Unique", "Crust", "Manta", "Nodle", "NeuroWeb", "Pendulum", "Polkadex", "Zeitgeist", "Collectives", "Khala", "Phala", "Subsocial", "KiltSpiritnet", "Curio", "Mythos", "Peaq", "Polimec", "Ethereum", "Polkadot", "Kusama"];
771
787
  /**
772
788
  * Supported nodes including relay chains and excluding Ethereum.
773
789
  */
774
- declare const NODES_WITH_RELAY_CHAINS_DOT_KSM: readonly ["AssetHubPolkadot", "Acala", "Astar", "BifrostPolkadot", "Bitgreen", "BridgeHubPolkadot", "BridgeHubKusama", "Centrifuge", "ComposableFinance", "Darwinia", "Hydration", "Interlay", "Litentry", "Moonbeam", "Parallel", "AssetHubKusama", "CoretimeKusama", "CoretimePolkadot", "Encointer", "Altair", "Amplitude", "Bajun", "Basilisk", "BifrostKusama", "Pioneer", "Calamari", "CrustShadow", "Crab", "Imbue", "Integritee", "InvArchTinker", "Karura", "Kintsugi", "Litmus", "Moonriver", "ParallelHeiko", "Picasso", "Quartz", "Robonomics", "Shiden", "Turing", "Unique", "Crust", "Manta", "Nodle", "NeuroWeb", "Pendulum", "Polkadex", "Zeitgeist", "Collectives", "Khala", "Phala", "Subsocial", "KiltSpiritnet", "Curio", "Mythos", "Peaq", "Polimec", "Polkadot", "Kusama"];
775
- declare const nodes: {
776
- AssetHubPolkadot: AssetHubPolkadot;
777
- Acala: Acala;
778
- Astar: Astar;
779
- Unique: Unique;
780
- Crust: Crust;
781
- BifrostPolkadot: BifrostPolkadot;
782
- BridgeHubPolkadot: BridgeHubPolkadot;
783
- BridgeHubKusama: BridgeHubKusama;
784
- Bitgreen: Bitgreen;
785
- Centrifuge: Centrifuge;
786
- ComposableFinance: ComposableFinance;
787
- Darwinia: Darwinia;
788
- Hydration: Hydration;
789
- Interlay: Interlay;
790
- Litentry: Litentry;
791
- Moonbeam: Moonbeam;
792
- Parallel: Parallel;
793
- AssetHubKusama: AssetHubKusama;
794
- CoretimeKusama: CoretimeKusama;
795
- CoretimePolkadot: CoretimePolkadot;
796
- Encointer: Encointer;
797
- Altair: Altair;
798
- Amplitude: Amplitude;
799
- Bajun: Bajun;
800
- Basilisk: Basilisk;
801
- BifrostKusama: BifrostKusama;
802
- Pioneer: Pioneer;
803
- Calamari: Calamari;
804
- CrustShadow: CrustShadow;
805
- Crab: Crab;
806
- Imbue: Imbue;
807
- Integritee: Integritee;
808
- InvArchTinker: InvArchTinker;
809
- Karura: Karura;
810
- Kintsugi: Kintsugi;
811
- Litmus: Litmus;
812
- Moonriver: Moonriver;
813
- ParallelHeiko: ParallelHeiko;
814
- Picasso: Picasso;
815
- Quartz: Quartz;
816
- Robonomics: Robonomics;
817
- Shiden: Shiden;
818
- Turing: Turing;
819
- Manta: Manta;
820
- Nodle: Nodle;
821
- NeuroWeb: NeuroWeb;
822
- Pendulum: Pendulum;
823
- Polkadex: Polkadex;
824
- Zeitgeist: Zeitgeist;
825
- Collectives: Collectives;
826
- Khala: Khala;
827
- Phala: Phala;
828
- Subsocial: Subsocial;
829
- KiltSpiritnet: KiltSpiritnet;
830
- Curio: Curio;
831
- Ethereum: Ethereum;
832
- Mythos: Mythos;
833
- Peaq: Peaq;
834
- Polimec: Polimec;
790
+ declare const NODES_WITH_RELAY_CHAINS_DOT_KSM: readonly ["AssetHubPolkadot", "Acala", "Astar", "BifrostPolkadot", "Bitgreen", "BridgeHubPolkadot", "BridgeHubKusama", "Centrifuge", "ComposableFinance", "Darwinia", "Hydration", "Interlay", "Litentry", "Moonbeam", "Parallel", "AssetHubKusama", "CoretimeKusama", "CoretimePolkadot", "Encointer", "Altair", "Amplitude", "Bajun", "Basilisk", "BifrostKusama", "Pioneer", "Calamari", "CrustShadow", "Crab", "Imbue", "Integritee", "InvArchTinker", "Karura", "Kintsugi", "Moonriver", "ParallelHeiko", "Picasso", "Quartz", "RobonomicsKusama", "RobonomicsPolkadot", "PeoplePolkadot", "PeopleKusama", "Shiden", "Turing", "Unique", "Crust", "Manta", "Nodle", "NeuroWeb", "Pendulum", "Polkadex", "Zeitgeist", "Collectives", "Khala", "Phala", "Subsocial", "KiltSpiritnet", "Curio", "Mythos", "Peaq", "Polimec", "Polkadot", "Kusama"];
791
+ declare const nodes: <TApi, TRes>() => {
792
+ AssetHubPolkadot: AssetHubPolkadot<TApi, TRes>;
793
+ Acala: Acala<TApi, TRes>;
794
+ Astar: Astar<TApi, TRes>;
795
+ Unique: Unique<TApi, TRes>;
796
+ Crust: Crust<TApi, TRes>;
797
+ BifrostPolkadot: BifrostPolkadot<TApi, TRes>;
798
+ BridgeHubPolkadot: BridgeHubPolkadot<TApi, TRes>;
799
+ BridgeHubKusama: BridgeHubKusama<TApi, TRes>;
800
+ Bitgreen: Bitgreen<TApi, TRes>;
801
+ Centrifuge: Centrifuge<TApi, TRes>;
802
+ ComposableFinance: ComposableFinance<TApi, TRes>;
803
+ Darwinia: Darwinia<TApi, TRes>;
804
+ Hydration: Hydration<TApi, TRes>;
805
+ Interlay: Interlay<TApi, TRes>;
806
+ Litentry: Litentry<TApi, TRes>;
807
+ Moonbeam: Moonbeam<TApi, TRes>;
808
+ Parallel: Parallel<TApi, TRes>;
809
+ AssetHubKusama: AssetHubKusama<TApi, TRes>;
810
+ CoretimeKusama: CoretimeKusama<TApi, TRes>;
811
+ CoretimePolkadot: CoretimePolkadot<TApi, TRes>;
812
+ Encointer: Encointer<TApi, TRes>;
813
+ Altair: Altair<TApi, TRes>;
814
+ Amplitude: Amplitude<TApi, TRes>;
815
+ Bajun: Bajun<TApi, TRes>;
816
+ Basilisk: Basilisk<TApi, TRes>;
817
+ BifrostKusama: BifrostKusama<TApi, TRes>;
818
+ Pioneer: Pioneer<TApi, TRes>;
819
+ Calamari: Calamari<TApi, TRes>;
820
+ CrustShadow: CrustShadow<TApi, TRes>;
821
+ Crab: Crab<TApi, TRes>;
822
+ Imbue: Imbue<TApi, TRes>;
823
+ Integritee: Integritee<TApi, TRes>;
824
+ InvArchTinker: InvArchTinker<TApi, TRes>;
825
+ Karura: Karura<TApi, TRes>;
826
+ Kintsugi: Kintsugi<TApi, TRes>;
827
+ Moonriver: Moonriver<TApi, TRes>;
828
+ ParallelHeiko: ParallelHeiko<TApi, TRes>;
829
+ Picasso: Picasso<TApi, TRes>;
830
+ Quartz: Quartz<TApi, TRes>;
831
+ RobonomicsKusama: RobonomicsKusama<TApi, TRes>;
832
+ RobonomicsPolkadot: RobonomicsPolkadot<TApi, TRes>;
833
+ PeoplePolkadot: PeoplePolkadot<TApi, TRes>;
834
+ PeopleKusama: PeopleKusama<TApi, TRes>;
835
+ Shiden: Shiden<TApi, TRes>;
836
+ Turing: Turing<TApi, TRes>;
837
+ Manta: Manta<TApi, TRes>;
838
+ Nodle: Nodle<TApi, TRes>;
839
+ NeuroWeb: NeuroWeb<TApi, TRes>;
840
+ Pendulum: Pendulum<TApi, TRes>;
841
+ Polkadex: Polkadex<TApi, TRes>;
842
+ Zeitgeist: Zeitgeist<TApi, TRes>;
843
+ Collectives: Collectives<TApi, TRes>;
844
+ Khala: Khala<TApi, TRes>;
845
+ Phala: Phala<TApi, TRes>;
846
+ Subsocial: Subsocial<TApi, TRes>;
847
+ KiltSpiritnet: KiltSpiritnet<TApi, TRes>;
848
+ Curio: Curio<TApi, TRes>;
849
+ Ethereum: Ethereum<TApi, TRes>;
850
+ Mythos: Mythos<TApi, TRes>;
851
+ Peaq: Peaq<TApi, TRes>;
852
+ Polimec: Polimec<TApi, TRes>;
835
853
  };
836
854
  /**
837
855
  * Supported XCM pallets.
838
856
  */
839
- declare const SUPPORTED_PALLETS: readonly ["XTokens", "OrmlXTokens", "PolkadotXcm", "RelayerXcm", "XTransfer"];
857
+ declare const SUPPORTED_PALLETS: readonly ["XTokens", "OrmlXTokens", "PolkadotXcm", "RelayerXcm", "XTransfer", "XcmPallet"];
840
858
 
841
859
  type TNode = (typeof NODE_NAMES)[number];
842
860
  type TNodePolkadotKusama = Exclude<TNode, 'Ethereum'>;
@@ -867,13 +885,6 @@ type TNodeAssets = {
867
885
  };
868
886
  type TAssetJsonMap = Record<TNodeWithRelayChains, TNodeAssets>;
869
887
 
870
- type TPallet = (typeof SUPPORTED_PALLETS)[number];
871
- interface TPalletMap {
872
- defaultPallet: TPallet;
873
- supportedPallets: TPallet[];
874
- }
875
- type TPalletJsonMap = Record<TNodePolkadotKusama, TPalletMap>;
876
-
877
888
  type TEdJsonMap = Record<TNodeDotKsmWithRelayChains, string | null>;
878
889
 
879
890
  /**
@@ -940,7 +951,7 @@ type TBatchOptions = {
940
951
  mode: BatchMode;
941
952
  };
942
953
 
943
- interface TTransferInfo {
954
+ type TTransferInfo = {
944
955
  chain: {
945
956
  origin: TNodeWithRelayChains;
946
957
  destination: TNodeWithRelayChains;
@@ -967,41 +978,141 @@ interface TTransferInfo {
967
978
  currency: string;
968
979
  existentialDeposit: bigint;
969
980
  };
970
- }
981
+ };
971
982
  type TOriginFeeDetails = {
972
983
  sufficientForXCM: boolean;
973
984
  xcmFee: bigint;
974
985
  };
986
+ type TGetTransferInfoOptionsBase = {
987
+ origin: TNodeDotKsmWithRelayChains;
988
+ destination: TNodeDotKsmWithRelayChains;
989
+ accountOrigin: string;
990
+ accountDestination: string;
991
+ currency: TCurrencyCore;
992
+ amount: string;
993
+ };
994
+ type TGetTransferInfoOptions<TApi, TRes> = WithApi<TGetTransferInfoOptionsBase, TApi, TRes>;
995
+
996
+ type Extrinsic = SubmittableExtrinsic<'promise'>;
997
+
998
+ declare const buildEthTransferOptions: ({ currency, to, address, destAddress, amount }: TSerializeEthTransferOptions) => Promise<TSerializedEthTransfer>;
975
999
 
976
- declare const sendSerializedApiCall: <TApi extends TApiType = ApiPromise>(options: TSendOptions<TApi>) => Promise<TSerializedApiCall>;
977
1000
  /**
978
- * Transfers assets from parachain to another parachain or relay chain.
1001
+ * Transfers assets from relay chain to parachain.
1002
+ *
979
1003
  * @param options - The transfer options.
1004
+ *
980
1005
  * @returns An extrinsic to be signed and sent.
981
1006
  */
982
- declare const send: <TApi extends TApiType = ApiPromise, TRes extends TResType = Extrinsic>(options: TSendOptions<TApi>) => Promise<TRes>;
983
- declare const transferRelayToParaCommon: <TApi extends TApiType>(options: TRelayToParaCommonOptions<TApi>) => Promise<TTransferReturn>;
1007
+ declare const transferRelayToPara: (options: Omit<TRelayToParaOptions<ApiPromise, Extrinsic>, "api" | "destApiForKeepAlive"> & {
1008
+ api: ApiPromise;
1009
+ destApiForKeepAlive: ApiPromise;
1010
+ }) => Promise<Extrinsic>;
1011
+ declare const transferRelayToParaSerializedApiCall: (options: Omit<TRelayToParaOptions<ApiPromise, Extrinsic>, "api" | "destApiForKeepAlive"> & {
1012
+ api: ApiPromise;
1013
+ destApiForKeepAlive: ApiPromise;
1014
+ }) => Promise<TSerializedApiCall>;
984
1015
  /**
985
- * Transfers assets from relay chain to parachain.
986
- *
1016
+ * Transfers assets from parachain to another parachain or relay chain.
987
1017
  * @param options - The transfer options.
988
- *
989
1018
  * @returns An extrinsic to be signed and sent.
990
1019
  */
991
- declare const transferRelayToPara: <TApi extends TApiType = ApiPromise, TRes extends TResType = Extrinsic>(options: TRelayToParaOptions<TApi>) => Promise<TRes>;
992
- declare const transferRelayToParaSerializedApiCall: <TApi extends TApiType = ApiPromise>(options: TRelayToParaOptions<TApi>) => Promise<TSerializedApiCall>;
993
-
994
- declare const buildEthTransferOptions: ({ currency, to, address, destAddress, amount }: TSerializeEthTransferOptions) => Promise<TSerializedEthTransfer>;
1020
+ declare const send: (options: Omit<TSendOptions<ApiPromise, Extrinsic>, "api" | "destApiForKeepAlive"> & {
1021
+ api: ApiPromise;
1022
+ destApiForKeepAlive: ApiPromise;
1023
+ }) => Promise<Extrinsic>;
1024
+ declare const sendSerializedApiCall: (options: Omit<TSendOptions<ApiPromise, Extrinsic>, "api" | "destApiForKeepAlive"> & {
1025
+ api: ApiPromise;
1026
+ destApiForKeepAlive: ApiPromise;
1027
+ }) => Promise<TSerializedApiCall>;
1028
+
1029
+ declare const transfer_buildEthTransferOptions: typeof buildEthTransferOptions;
1030
+ declare const transfer_send: typeof send;
1031
+ declare const transfer_sendSerializedApiCall: typeof sendSerializedApiCall;
1032
+ declare const transfer_transferRelayToPara: typeof transferRelayToPara;
1033
+ declare const transfer_transferRelayToParaSerializedApiCall: typeof transferRelayToParaSerializedApiCall;
1034
+ declare namespace transfer {
1035
+ export { transfer_buildEthTransferOptions as buildEthTransferOptions, transfer_send as send, transfer_sendSerializedApiCall as sendSerializedApiCall, transfer_transferRelayToPara as transferRelayToPara, transfer_transferRelayToParaSerializedApiCall as transferRelayToParaSerializedApiCall };
1036
+ }
1037
+
1038
+ type TAssetClaimOptionsBase = {
1039
+ node: TNodeWithRelayChains;
1040
+ multiAssets: TMultiAsset[];
1041
+ address: TAddress;
1042
+ version?: TVersionClaimAssets;
1043
+ serializedApiCallEnabled?: boolean;
1044
+ };
995
1045
 
996
- declare const index$1_buildEthTransferOptions: typeof buildEthTransferOptions;
997
- declare const index$1_send: typeof send;
998
- declare const index$1_sendSerializedApiCall: typeof sendSerializedApiCall;
999
- declare const index$1_transferRelayToPara: typeof transferRelayToPara;
1000
- declare const index$1_transferRelayToParaCommon: typeof transferRelayToParaCommon;
1001
- declare const index$1_transferRelayToParaSerializedApiCall: typeof transferRelayToParaSerializedApiCall;
1002
- declare namespace index$1 {
1003
- export { index$1_buildEthTransferOptions as buildEthTransferOptions, index$1_send as send, index$1_sendSerializedApiCall as sendSerializedApiCall, index$1_transferRelayToPara as transferRelayToPara, index$1_transferRelayToParaCommon as transferRelayToParaCommon, index$1_transferRelayToParaSerializedApiCall as transferRelayToParaSerializedApiCall };
1004
- }
1046
+ /**
1047
+ * Retrieves the native asset balance for a given account on a specified node.
1048
+ */
1049
+ type TGetBalanceNativeOptionsBase = {
1050
+ /**
1051
+ * The address of the account.
1052
+ */
1053
+ address: string;
1054
+ /**
1055
+ * The node on which to query the balance.
1056
+ */
1057
+ node: TNodeDotKsmWithRelayChains;
1058
+ };
1059
+ /**
1060
+ * Retrieves the balance of a foreign asset for a given account on a specified node.
1061
+ */
1062
+ type TGetBalanceForeignOptionsBase = {
1063
+ address: string;
1064
+ /**
1065
+ * The node on which to query the balance.
1066
+ */
1067
+ node: TNodePolkadotKusama;
1068
+ /**
1069
+ * The currency to query.
1070
+ */
1071
+ currency: TCurrencyCore;
1072
+ };
1073
+ /**
1074
+ * Retrieves the asset balance for a given account on a specified node.
1075
+ */
1076
+ type TGetAssetBalanceOptionsBase = {
1077
+ /**
1078
+ * The address of the account.
1079
+ */
1080
+ address: string;
1081
+ /**
1082
+ * The node on which to query the balance.
1083
+ */
1084
+ node: TNodeDotKsmWithRelayChains;
1085
+ /**
1086
+ * The currency to query.
1087
+ */
1088
+ currency: TCurrencyCore;
1089
+ };
1090
+ type TGetOriginFeeDetailsOptionsBase = {
1091
+ /**
1092
+ * The origin node.
1093
+ */
1094
+ origin: TNodeDotKsmWithRelayChains;
1095
+ /**
1096
+ * The destination node.
1097
+ */
1098
+ destination: TNodeDotKsmWithRelayChains;
1099
+ /**
1100
+ * The currency to transfer.
1101
+ */
1102
+ currency: TCurrencyCore;
1103
+ /**
1104
+ * The amount to transfer.
1105
+ */
1106
+ amount: string;
1107
+ /**
1108
+ * The account to transfer from.
1109
+ */
1110
+ account: string;
1111
+ /**
1112
+ * The fee margin percentage.
1113
+ */
1114
+ feeMarginPercentage?: number;
1115
+ };
1005
1116
 
1006
1117
  /**
1007
1118
  * Retrieves the assets object for a given node containing the native and foreign assets.
@@ -1082,7 +1193,7 @@ declare const getAssetDecimals: (node: TNodeWithRelayChains, symbol: string) =>
1082
1193
  * @param node - The node for which to get the paraId.
1083
1194
  * @returns The parachain ID of the node.
1084
1195
  */
1085
- declare const getParaId: (node: TNodeWithRelayChains) => number;
1196
+ declare const getParaId: (node: TNodeDotKsmWithRelayChains) => number;
1086
1197
  /**
1087
1198
  * Retrieves the node name corresponding to a specified parachain ID.
1088
1199
  *
@@ -1099,75 +1210,81 @@ declare const getTNode: (paraId: number, ecosystem: TRelayChainType) => TNodeDot
1099
1210
  */
1100
1211
  declare const getExistentialDeposit: (node: TNodeDotKsmWithRelayChains) => string | null;
1101
1212
 
1102
- declare const getAssetBalance: (account: string, node: TNodeDotKsmWithRelayChains, currency: TCurrencyCore) => Promise<bigint>;
1213
+ /**
1214
+ * Retrieves the list of assets that are supported for transfers between two specified nodes.
1215
+ *
1216
+ * @param origin - The origin node.
1217
+ * @param destination - The destination node.
1218
+ * @returns An array of assets supported between the origin and destination nodes.
1219
+ */
1220
+ declare const getSupportedAssets: (origin: TNodeWithRelayChains, destination: TNodeWithRelayChains) => TAsset[];
1103
1221
 
1104
1222
  /**
1105
1223
  * Retrieves the native balance for a given account on a specified node.
1106
1224
  *
1107
- * @param address - The address of the account.
1108
- * @param node - The node on which to query the balance.
1109
- * @param api - Optional API instance; if not provided, one will be created.
1110
1225
  * @returns The native balance as a bigint.
1111
1226
  */
1112
- declare const getBalanceNative: (address: string, node: TNodeWithRelayChains, api?: ApiPromise) => Promise<bigint>;
1113
-
1227
+ declare const getBalanceNative: (options: TGetBalanceNativeOptionsBase & {
1228
+ api?: ApiPromise;
1229
+ }) => Promise<bigint>;
1114
1230
  /**
1115
1231
  * Retrieves the balance of a foreign asset for a given account on a specified node.
1116
1232
  *
1117
- * @param address - The address of the account.
1118
- * @param node - The node on which to query the balance.
1119
- * @param symbolOrId - The symbol or ID of the currency to query.
1120
- * @param api - Optional API instance; if not provided, one will be created.
1121
1233
  * @returns The balance of the foreign asset as a bigint, or null if not found.
1122
- * @throws Error if the pallet is unsupported.
1123
1234
  */
1124
- declare const getBalanceForeign: (address: string, node: TNodePolkadotKusama, symbolOrId: TCurrencyCore, api?: ApiPromise) => Promise<bigint | null>;
1125
-
1126
- declare const getOriginFeeDetails: (origin: TNodeDotKsmWithRelayChains, destination: TNodeDotKsmWithRelayChains, currency: TCurrencyCore, amount: string, account: string, api?: ApiPromise, feeMarginPercentage?: number) => Promise<TOriginFeeDetails>;
1127
-
1235
+ declare const getBalanceForeign: (options: TGetBalanceForeignOptionsBase & {
1236
+ api?: ApiPromise;
1237
+ }) => Promise<bigint>;
1128
1238
  /**
1129
1239
  * Retrieves detailed transfer information for a cross-chain transfer.
1130
1240
  *
1131
- * @param origin - The origin node of the transfer.
1132
- * @param destination - The destination node of the transfer.
1133
- * @param accountOrigin - The account address on the origin node.
1134
- * @param accountDestination - The account address on the destination node.
1135
- * @param currency - The currency to be transferred.
1136
- * @param amount - The amount to be transferred.
1137
1241
  * @returns A Promise that resolves to the transfer information.
1138
1242
  */
1139
- declare const getTransferInfo: (origin: TNodeDotKsmWithRelayChains, destination: TNodeDotKsmWithRelayChains, accountOrigin: string, accountDestination: string, currency: TCurrencyCore, amount: string) => Promise<TTransferInfo>;
1140
-
1243
+ declare const getTransferInfo: (options: TGetTransferInfoOptionsBase & {
1244
+ api?: ApiPromise;
1245
+ }) => Promise<TTransferInfo>;
1141
1246
  /**
1142
- * Retrieves the list of assets that are supported for transfers between two specified nodes.
1247
+ * Retrieves the asset balance for a given account on a specified node.
1143
1248
  *
1144
- * @param origin - The origin node.
1145
- * @param destination - The destination node.
1146
- * @returns An array of assets supported between the origin and destination nodes.
1249
+ * @returns The asset balance as a bigint.
1147
1250
  */
1148
- declare const getSupportedAssets: (origin: TNodeWithRelayChains, destination: TNodeWithRelayChains) => TAsset[];
1149
-
1150
- declare const index_getAllAssetsSymbols: typeof getAllAssetsSymbols;
1151
- declare const index_getAssetBalance: typeof getAssetBalance;
1152
- declare const index_getAssetDecimals: typeof getAssetDecimals;
1153
- declare const index_getAssetId: typeof getAssetId;
1154
- declare const index_getAssets: typeof getAssets;
1155
- declare const index_getAssetsObject: typeof getAssetsObject;
1156
- declare const index_getBalanceForeign: typeof getBalanceForeign;
1157
- declare const index_getBalanceNative: typeof getBalanceNative;
1158
- declare const index_getExistentialDeposit: typeof getExistentialDeposit;
1159
- declare const index_getNativeAssetSymbol: typeof getNativeAssetSymbol;
1160
- declare const index_getNativeAssets: typeof getNativeAssets;
1161
- declare const index_getOriginFeeDetails: typeof getOriginFeeDetails;
1162
- declare const index_getOtherAssets: typeof getOtherAssets;
1163
- declare const index_getParaId: typeof getParaId;
1164
- declare const index_getRelayChainSymbol: typeof getRelayChainSymbol;
1165
- declare const index_getSupportedAssets: typeof getSupportedAssets;
1166
- declare const index_getTNode: typeof getTNode;
1167
- declare const index_getTransferInfo: typeof getTransferInfo;
1168
- declare const index_hasSupportForAsset: typeof hasSupportForAsset;
1169
- declare namespace index {
1170
- export { index_getAllAssetsSymbols as getAllAssetsSymbols, index_getAssetBalance as getAssetBalance, index_getAssetDecimals as getAssetDecimals, index_getAssetId as getAssetId, index_getAssets as getAssets, index_getAssetsObject as getAssetsObject, index_getBalanceForeign as getBalanceForeign, index_getBalanceNative as getBalanceNative, index_getExistentialDeposit as getExistentialDeposit, index_getNativeAssetSymbol as getNativeAssetSymbol, index_getNativeAssets as getNativeAssets, index_getOriginFeeDetails as getOriginFeeDetails, index_getOtherAssets as getOtherAssets, index_getParaId as getParaId, index_getRelayChainSymbol as getRelayChainSymbol, index_getSupportedAssets as getSupportedAssets, index_getTNode as getTNode, index_getTransferInfo as getTransferInfo, index_hasSupportForAsset as hasSupportForAsset };
1251
+ declare const getAssetBalance: (options: TGetAssetBalanceOptionsBase & {
1252
+ api?: ApiPromise;
1253
+ }) => Promise<bigint>;
1254
+ /**
1255
+ * Claims assets from a parachain.
1256
+ *
1257
+ * @returns An extrinsic representing the claim transaction.
1258
+ */
1259
+ declare const claimAssets: (options: TAssetClaimOptionsBase & {
1260
+ api?: ApiPromise;
1261
+ }) => Promise<Extrinsic | TSerializedApiCall>;
1262
+ declare const getOriginFeeDetails: (options: TGetOriginFeeDetailsOptionsBase & {
1263
+ api?: ApiPromise;
1264
+ }) => Promise<TOriginFeeDetails>;
1265
+
1266
+ declare const assets_claimAssets: typeof claimAssets;
1267
+ declare const assets_getAllAssetsSymbols: typeof getAllAssetsSymbols;
1268
+ declare const assets_getAssetBalance: typeof getAssetBalance;
1269
+ declare const assets_getAssetDecimals: typeof getAssetDecimals;
1270
+ declare const assets_getAssetId: typeof getAssetId;
1271
+ declare const assets_getAssets: typeof getAssets;
1272
+ declare const assets_getAssetsObject: typeof getAssetsObject;
1273
+ declare const assets_getBalanceForeign: typeof getBalanceForeign;
1274
+ declare const assets_getBalanceNative: typeof getBalanceNative;
1275
+ declare const assets_getExistentialDeposit: typeof getExistentialDeposit;
1276
+ declare const assets_getNativeAssetSymbol: typeof getNativeAssetSymbol;
1277
+ declare const assets_getNativeAssets: typeof getNativeAssets;
1278
+ declare const assets_getOriginFeeDetails: typeof getOriginFeeDetails;
1279
+ declare const assets_getOtherAssets: typeof getOtherAssets;
1280
+ declare const assets_getParaId: typeof getParaId;
1281
+ declare const assets_getRelayChainSymbol: typeof getRelayChainSymbol;
1282
+ declare const assets_getSupportedAssets: typeof getSupportedAssets;
1283
+ declare const assets_getTNode: typeof getTNode;
1284
+ declare const assets_getTransferInfo: typeof getTransferInfo;
1285
+ declare const assets_hasSupportForAsset: typeof hasSupportForAsset;
1286
+ declare namespace assets {
1287
+ export { assets_claimAssets as claimAssets, assets_getAllAssetsSymbols as getAllAssetsSymbols, assets_getAssetBalance as getAssetBalance, assets_getAssetDecimals as getAssetDecimals, assets_getAssetId as getAssetId, assets_getAssets as getAssets, assets_getAssetsObject as getAssetsObject, assets_getBalanceForeign as getBalanceForeign, assets_getBalanceNative as getBalanceNative, assets_getExistentialDeposit as getExistentialDeposit, assets_getNativeAssetSymbol as getNativeAssetSymbol, assets_getNativeAssets as getNativeAssets, assets_getOriginFeeDetails as getOriginFeeDetails, assets_getOtherAssets as getOtherAssets, assets_getParaId as getParaId, assets_getRelayChainSymbol as getRelayChainSymbol, assets_getSupportedAssets as getSupportedAssets, assets_getTNode as getTNode, assets_getTransferInfo as getTransferInfo, assets_hasSupportForAsset as hasSupportForAsset };
1171
1288
  }
1172
1289
 
1173
1290
  /**
@@ -1185,49 +1302,49 @@ declare const getDefaultPallet: (node: TNodePolkadotKusama) => TPallet;
1185
1302
  */
1186
1303
  declare const getSupportedPallets: (node: TNodePolkadotKusama) => TPallet[];
1187
1304
 
1188
- type TOptions<TApi extends TApiType> = TSendOptions<TApi> | TRelayToParaOptions<TApi>;
1189
- type TTransaction<TApi extends TApiType, TRes extends TResType> = {
1190
- func: (options: TOptions<TApi>) => Promise<TRes>;
1191
- options: TOptions<TApi>;
1305
+ type TOptions<TApi, TRes> = TSendOptions<TApi, TRes> | TRelayToParaOptions<TApi, TRes>;
1306
+ type TTransaction<TApi, TRes> = {
1307
+ func: (options: TOptions<TApi, TRes>) => Promise<TRes>;
1308
+ options: TOptions<TApi, TRes>;
1192
1309
  };
1193
- declare class BatchTransactionManager<TApi extends TApiType, TRes extends TResType> {
1310
+ declare class BatchTransactionManager<TApi, TRes> {
1194
1311
  private transactions;
1195
1312
  addTransaction(transaction: TTransaction<TApi, TRes>): void;
1196
1313
  isEmpty(): boolean;
1197
- buildBatch(api: TApi | undefined, from: TNode | undefined, to: TDestination | undefined, options?: TBatchOptions): Promise<TRes>;
1314
+ buildBatch(api: IPolkadotApi<TApi, TRes>, from: TNode | undefined, to: TDestination | undefined, options?: TBatchOptions): Promise<TRes>;
1198
1315
  }
1199
1316
 
1200
- interface IAddToBatchBuilder<TApi extends TApiType> {
1201
- addToBatch(): GeneralBuilder<TApi>;
1317
+ interface IAddToBatchBuilder<TApi, TRes> {
1318
+ addToBatch(): GeneralBuilder$1<TApi, TRes>;
1202
1319
  }
1203
1320
 
1204
1321
  /**
1205
1322
  * A builder class for constructing a Para-to-Para and Para-to-Relay transactions.
1206
1323
  */
1207
- declare class ToGeneralBuilder<TApi extends TApiType, TRes extends TResType> {
1324
+ declare class ToGeneralBuilder<TApi, TRes> {
1208
1325
  private batchManager;
1209
- private readonly api?;
1326
+ private readonly api;
1210
1327
  private readonly from;
1211
1328
  private readonly to;
1212
1329
  private readonly paraIdTo?;
1213
- constructor(api: TApi | undefined, from: TNode, to: TDestination, batchManager: BatchTransactionManager<TApi, TRes>, paraIdTo?: number);
1330
+ constructor(api: IPolkadotApi<TApi, TRes>, from: TNode, to: TDestination, batchManager: BatchTransactionManager<TApi, TRes>, paraIdTo?: number);
1214
1331
  /**
1215
1332
  * Specifies the currency to be used in the transaction. Symbol, ID, multi-location or multi-asset.
1216
1333
  *
1217
1334
  * @param currency - The currency to be transferred.
1218
1335
  * @returns An instance of Builder
1219
1336
  */
1220
- currency(currency: TCurrencyInput): AmountOrFeeAssetBuilder<TApi>;
1337
+ currency(currency: TCurrencyInput): AmountOrFeeAssetBuilder<TApi, TRes>;
1221
1338
  }
1222
1339
  /**
1223
1340
  * A builder class for constructing a Para-to-Para and Para-to-Relay transactions.
1224
1341
  */
1225
- declare class FromGeneralBuilder<TApi extends TApiType, TRes extends TResType> {
1342
+ declare class FromGeneralBuilder<TApi, TRes> {
1226
1343
  private batchManager;
1227
- private readonly api?;
1344
+ private readonly api;
1228
1345
  private readonly from;
1229
1346
  private _feeAsset?;
1230
- constructor(api: TApi | undefined, from: TNode, batchManager: BatchTransactionManager<TApi, TRes>);
1347
+ constructor(api: IPolkadotApi<TApi, TRes>, from: TNode, batchManager: BatchTransactionManager<TApi, TRes>);
1231
1348
  /**
1232
1349
  * Specifies the destination node for the transaction.
1233
1350
  *
@@ -1242,31 +1359,31 @@ declare class FromGeneralBuilder<TApi extends TApiType, TRes extends TResType> {
1242
1359
  * @param feeAsset - The currency to be used as the fee asset.
1243
1360
  * @returns An instance of Builder
1244
1361
  */
1245
- feeAsset(feeAsset: TCurrency): AmountBuilder<TApi>;
1362
+ feeAsset(feeAsset: TCurrency): AmountBuilder<TApi, TRes>;
1246
1363
  /**
1247
1364
  * Specifies the amount for the transaction.
1248
1365
  *
1249
1366
  * @param amount - The amount to be transferred.
1250
1367
  * @returns An instance of Builder
1251
1368
  */
1252
- amount(amount: TAmount | null): AddressBuilder<TApi>;
1369
+ amount(amount: TAmount | null): AddressBuilder<TApi, TRes>;
1253
1370
  }
1254
1371
  /**
1255
1372
  * A builder class for constructing Para-to-Para, Para-to-Relay, Relay-to-Para transactions and asset claims.
1256
1373
  */
1257
- declare class GeneralBuilder<TApi extends TApiType = ApiPromise, TRes extends TResType = Extrinsic> {
1374
+ declare class GeneralBuilder$1<TApi, TRes> {
1258
1375
  private readonly batchManager;
1259
- private readonly api?;
1376
+ private readonly api;
1260
1377
  private readonly _from?;
1261
1378
  private readonly _to?;
1262
- constructor(batchManager: BatchTransactionManager<TApi, TRes>, api?: TApi | undefined, _from?: TNode | undefined, _to?: TDestination | undefined);
1379
+ constructor(batchManager: BatchTransactionManager<TApi, TRes>, api: IPolkadotApi<TApi, TRes>, _from?: TNode | undefined, _to?: TDestination | undefined);
1263
1380
  /**
1264
1381
  * Specifies the origin node for the transaction.
1265
1382
  *
1266
1383
  * @param node - The node from which the transaction originates.
1267
1384
  * @returns An instance of Builder
1268
1385
  */
1269
- from(node: TNode): FromGeneralBuilder<TApi, TRes>;
1386
+ from(node: TNodePolkadotKusama): FromGeneralBuilder<TApi, TRes>;
1270
1387
  /**
1271
1388
  * Specifies the destination node for the transaction.
1272
1389
  *
@@ -1274,7 +1391,7 @@ declare class GeneralBuilder<TApi extends TApiType = ApiPromise, TRes extends TR
1274
1391
  * @param paraIdTo - (Optional) The parachain ID of the destination node.
1275
1392
  * @returns An instance of Builder
1276
1393
  */
1277
- to(node: TDestination, paraIdTo?: number): AmountBuilder<TApi>;
1394
+ to(node: TDestination, paraIdTo?: number): AmountBuilder<TApi, TRes>;
1278
1395
  /**
1279
1396
  * Initiates the process to claim assets from a specified node.
1280
1397
  *
@@ -1290,32 +1407,25 @@ declare class GeneralBuilder<TApi extends TApiType = ApiPromise, TRes extends TR
1290
1407
  */
1291
1408
  buildBatch(options?: TBatchOptions): Promise<TRes>;
1292
1409
  }
1293
- /**
1294
- * Creates a new Builder instance.
1295
- *
1296
- * @param api - The API instance to use for building transactions. If not provided, a new instance will be created.
1297
- * @returns A new Builder instance.
1298
- */
1299
- declare const Builder: <TApi extends TApiType, TRes extends TResType = Extrinsic>(api?: TApi) => GeneralBuilder<TApi, TRes>;
1300
1410
  interface FinalBuilder<TRes> {
1301
1411
  build: () => Promise<TRes>;
1302
1412
  buildSerializedApiCall: () => Promise<TSerializedApiCall>;
1303
1413
  }
1304
- interface UseKeepAliveFinalBuilder<TApi extends TApiType = ApiPromise, TRes extends TResType = Extrinsic> extends IAddToBatchBuilder<TApi> {
1414
+ interface UseKeepAliveFinalBuilder$1<TApi, TRes> extends IAddToBatchBuilder<TApi, TRes> {
1305
1415
  useKeepAlive: (destApi: TApi) => this;
1306
1416
  xcmVersion: (version: Version) => this;
1307
1417
  build: () => Promise<TRes>;
1308
1418
  buildSerializedApiCall: () => Promise<TSerializedApiCall>;
1309
1419
  }
1310
- interface AddressBuilder<TApi extends TApiType> {
1311
- address: (address: TAddress) => UseKeepAliveFinalBuilder<TApi>;
1420
+ interface AddressBuilder<TApi, TRes> {
1421
+ address: (address: TAddress) => UseKeepAliveFinalBuilder$1<TApi, TRes>;
1312
1422
  }
1313
- interface AmountBuilder<TApi extends TApiType> {
1314
- amount: (amount: TAmount | null) => AddressBuilder<TApi>;
1423
+ interface AmountBuilder<TApi, TRes> {
1424
+ amount: (amount: TAmount | null) => AddressBuilder<TApi, TRes>;
1315
1425
  }
1316
- interface AmountOrFeeAssetBuilder<TApi extends TApiType> {
1317
- amount: (amount: TAmount | null) => AddressBuilder<TApi>;
1318
- feeAsset: (feeAsset: TCurrency) => AmountBuilder<TApi>;
1426
+ interface AmountOrFeeAssetBuilder<TApi, TRes> {
1427
+ amount: (amount: TAmount | null) => AddressBuilder<TApi, TRes>;
1428
+ feeAsset: (feeAsset: TCurrency) => AmountBuilder<TApi, TRes>;
1319
1429
  }
1320
1430
  interface FungibleBuilder<TRes> {
1321
1431
  fungible: (multiAssets: TMultiAsset[]) => AccountBuilder<TRes>;
@@ -1384,6 +1494,25 @@ declare class EvmBuilderClass {
1384
1494
  */
1385
1495
  declare const EvmBuilder: (provider: AbstractProvider) => EvmBuilderClass;
1386
1496
 
1497
+ /**
1498
+ * Creates a new Builder instance.
1499
+ *
1500
+ * @param api - The API instance to use for building transactions. If not provided, a new instance will be created.
1501
+ * @returns A new Builder instance.
1502
+ */
1503
+ declare const Builder: (api?: ApiPromise) => GeneralBuilder$1<ApiPromise, Extrinsic>;
1504
+ type UseKeepAliveFinalBuilder = UseKeepAliveFinalBuilder$1<ApiPromise, Extrinsic>;
1505
+ declare const GeneralBuilder: {
1506
+ new (batchManager: BatchTransactionManager<ApiPromise, Extrinsic>, api: IPolkadotApi<ApiPromise, Extrinsic>, _from?: TNode | undefined, _to?: TDestination | undefined): GeneralBuilder$1<ApiPromise, Extrinsic>;
1507
+ };
1508
+
1509
+ declare const createApiInstanceForNode: (node: TNodeWithRelayChains) => Promise<ApiPromise>;
1510
+ declare const createPolkadotJsApiCall: <TArgs extends Record<string, unknown>, TResult>(apiCall: (options: TArgs & {
1511
+ api: IPolkadotApi<ApiPromise, Extrinsic>;
1512
+ }) => Promise<TResult>) => (options: TArgs & {
1513
+ api?: ApiPromise;
1514
+ }) => Promise<TResult>;
1515
+
1387
1516
  /**
1388
1517
  * Retrieves the WS provider URL for a specified node.
1389
1518
  *
@@ -1407,9 +1536,7 @@ declare const getAllNodeProviders: (node: TNodePolkadotKusama) => string[];
1407
1536
  * @param node - The node identifier.
1408
1537
  * @returns The node instance
1409
1538
  */
1410
- declare const getNode: <T extends TNode>(node: T) => (typeof nodes)[T];
1411
-
1412
- declare const createApiInstanceForNode: (node: TNodeWithRelayChains) => Promise<ApiPromise>;
1539
+ declare const getNode: <TApi, TRes, T extends keyof ReturnType<typeof nodes>>(node: T) => ReturnType<typeof nodes<TApi, TRes>>[T];
1413
1540
 
1414
1541
  /**
1415
1542
  * Retrieves the endpoint option for a given Polkadot or Kusama node.
@@ -1520,4 +1647,4 @@ declare class DuplicateAssetIdError extends Error {
1520
1647
  constructor(id: string);
1521
1648
  }
1522
1649
 
1523
- export { BatchMode, Builder, type CheckKeepAliveOptions, DuplicateAssetError, DuplicateAssetIdError, EvmBuilder, type Extrinsic, GeneralBuilder, type HexString$1 as HexString, type IPolkadotXCMTransfer, type IXTokensTransfer, type IXTransferTransfer, IncompatibleNodesError, InvalidCurrencyError, type JunctionParachain, type JunctionType, type Junctions, NODES_WITH_RELAY_CHAINS, NODES_WITH_RELAY_CHAINS_DOT_KSM, NODE_NAMES, NODE_NAMES_DOT_KSM, NoXCMSupportImplementedError, NodeNotSupportedError, Parents, type PolkadotXCMTransferInput, type PolkadotXcmModule, type PolkadotXcmSection, SUPPORTED_PALLETS, ScenarioNotSupportedError, type TAddress, type TAmount, type TApiType, type TAsset, type TAssetDetails, type TAssetJsonMap, type TBatchOptions, type TBifrostToken, type TCurrency, type TCurrencyCore, type TCurrencyInput, type TCurrencySelection, type TCurrencySelectionHeader, type TCurrencySelectionHeaderArr, type TCurrencySelectionV4, type TCurrencySymbol, type TDestWeight, type TDestination, type TEdJsonMap, type TEvmBuilderOptions, type TForeignAsset, type TForeignAssetId, type TForeignOrNativeAsset, type TForeignOrTokenAsset, type TJunction, type TMantaAsset, type TMultiAsset, type TMultiAssetV3, type TMultiAssetV4, type TMultiLocation, type TMultiLocationHeader, type TNativeAssetDetails, type TNativeTokenAsset, type TNode, type TNodeAssets, type TNodeDotKsmWithRelayChains, type TNodePolkadotKusama, type TNodeWithRelayChains, type TNodleAsset, type TOptionalEvmBuilderOptions, type TOriginFeeDetails, type TOtherReserveAsset, type TPallet, type TPalletJsonMap, type TPalletMap, type TRelayChainSymbol, type TRelayChainType, type TRelayToParaCommonOptions, type TRelayToParaInternalOptions, type TRelayToParaOptions, type TResType, type TReserveAsset, type TScenario, type TSelfReserveAsset, type TSendBaseOptions, type TSendInternalOptions, type TSendOptions, type TSendOptionsCommon, type TSerializeEthTransferOptions, type TSerializedApiCall, type TSerializedEthTransfer, type TTransferInfo, type TTransferReturn, type TVersionClaimAssets, type TXTokensCurrencySelection, type TXcmAsset, type TZeitgeistAsset, type UseKeepAliveFinalBuilder, Version, type XTokensModule, type XTokensSection, type XTokensTransferInput, type XTransferModule, type XTransferSection, type XTransferTransferInput, index as assets, buildEthTransferOptions, createApiInstanceForNode, determineRelayChain, getAllAssetsSymbols, getAllNodeProviders, getAssetBalance, getAssetDecimals, getAssetId, getAssets, getAssetsObject, getBalanceForeign, getBalanceNative, getDefaultPallet, getExistentialDeposit, getNativeAssetSymbol, getNativeAssets, getNode, getNodeEndpointOption, getNodeProvider, getOriginFeeDetails, getOtherAssets, getParaId, getRelayChainSymbol, getSupportedAssets, getSupportedPallets, getTNode, getTransferInfo, hasSupportForAsset, isRelayChain, send, sendSerializedApiCall, transferRelayToPara, transferRelayToParaCommon, transferRelayToParaSerializedApiCall, index$1 as xcmPallet };
1650
+ export { BatchMode, Builder, type CheckKeepAliveOptions, DuplicateAssetError, DuplicateAssetIdError, EvmBuilder, type Extrinsic, GeneralBuilder, type HexString$1 as HexString, type IPolkadotXCMTransfer, type IXTokensTransfer, type IXTransferTransfer, IncompatibleNodesError, InvalidCurrencyError, type JunctionParachain, type JunctionType, type Junctions, NODES_WITH_RELAY_CHAINS, NODES_WITH_RELAY_CHAINS_DOT_KSM, NODE_NAMES, NODE_NAMES_DOT_KSM, NoXCMSupportImplementedError, NodeNotSupportedError, Parents, type PolkadotXCMTransferInput, type PolkadotXcmSection, SUPPORTED_PALLETS, ScenarioNotSupportedError, type TAddress, type TAmount, type TAsset, type TAssetDetails, type TAssetJsonMap, type TBatchOptions, type TBifrostToken, type TCurrency, type TCurrencyCore, type TCurrencyInput, type TCurrencySelection, type TCurrencySelectionHeader, type TCurrencySelectionHeaderArr, type TCurrencySelectionV4, type TCurrencySymbol, type TDestWeight, type TDestination, type TEdJsonMap, type TEvmBuilderOptions, type TForeignAsset, type TForeignAssetId, type TForeignOrNativeAsset, type TForeignOrTokenAsset, type TGetTransferInfoOptions, type TGetTransferInfoOptionsBase, type TJunction, type TMantaAsset, type TMultiAsset, type TMultiAssetV3, type TMultiAssetV4, type TMultiLocation, type TMultiLocationHeader, type TNativeAssetDetails, type TNativeTokenAsset, type TNode, type TNodeAssets, type TNodeDotKsmWithRelayChains, type TNodePolkadotKusama, type TNodeWithRelayChains, type TNodleAsset, type TOptionalEvmBuilderOptions, type TOriginFeeDetails, type TOtherReserveAsset, type TPallet, type TPalletJsonMap, type TPalletMap, type TRelayChainSymbol, type TRelayChainType, type TRelayToParaOptions, type TReserveAsset, type TScenario, type TSelfReserveAsset, type TSendBaseOptions, type TSendInternalOptions, type TSendOptions, type TSerializeEthTransferOptions, type TSerializedApiCall, type TSerializedApiCallV2, type TSerializedEthTransfer, type TTransferInfo, type TTransferReturn, type TVersionClaimAssets, type TXTokensCurrencySelection, type TXcmAsset, type TZeitgeistAsset, type UseKeepAliveFinalBuilder, Version, type XTokensSection, type XTokensTransferInput, type XTransferSection, type XTransferTransferInput, assets, buildEthTransferOptions, claimAssets, createApiInstanceForNode, createPolkadotJsApiCall, determineRelayChain, getAllAssetsSymbols, getAllNodeProviders, getAssetBalance, getAssetDecimals, getAssetId, getAssets, getAssetsObject, getBalanceForeign, getBalanceNative, getDefaultPallet, getExistentialDeposit, getNativeAssetSymbol, getNativeAssets, getNode, getNodeEndpointOption, getNodeProvider, getOriginFeeDetails, getOtherAssets, getParaId, getRelayChainSymbol, getSupportedAssets, getSupportedPallets, getTNode, getTransferInfo, hasSupportForAsset, isRelayChain, send, sendSerializedApiCall, transferRelayToPara, transferRelayToParaSerializedApiCall, transfer as xcmPallet };