@moonbeam-network/xcm-config 1.0.0-dev.3 → 1.0.0-dev.300

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/build/index.d.ts CHANGED
@@ -1,278 +1,317 @@
1
- import {
2
- Asset,
3
- AnyChain,
4
- Ecosystem,
5
- Parachain,
6
- EvmParachain,
7
- } from '@moonbeam-network/xcm-types';
8
- import {
9
- BalanceConfigBuilder,
10
- ContractConfigBuilder,
11
- ExtrinsicConfigBuilder,
12
- AssetMinConfigBuilder,
13
- FeeConfigBuilder,
14
- } from '@moonbeam-network/xcm-builder';
15
-
16
- interface AssetConfigConstructorParams {
17
- asset: Asset;
18
- balance: BalanceConfigBuilder;
19
- contract?: ContractConfigBuilder;
20
- destination: AnyChain;
21
- destinationFee: DestinationFeeConfig;
22
- extrinsic?: ExtrinsicConfigBuilder;
23
- fee?: FeeAssetConfig;
24
- min?: AssetMinConfigBuilder;
25
- }
26
- interface DestinationFeeConfig {
27
- asset: Asset;
28
- amount: number | FeeConfigBuilder;
29
- }
30
- interface FeeAssetConfig {
31
- asset: Asset;
32
- balance: BalanceConfigBuilder;
33
- }
34
- declare class AssetConfig {
35
- readonly asset: Asset;
36
- readonly balance: BalanceConfigBuilder;
37
- readonly contract?: ContractConfigBuilder;
38
- readonly destination: AnyChain;
39
- readonly destinationFee: DestinationFeeConfig;
40
- readonly extrinsic?: ExtrinsicConfigBuilder;
41
- readonly fee?: FeeAssetConfig;
42
- readonly min?: AssetMinConfigBuilder;
43
- constructor({
44
- asset,
45
- balance,
46
- contract,
47
- destination,
48
- destinationFee,
49
- extrinsic,
50
- fee,
51
- min,
52
- }: AssetConfigConstructorParams);
53
- }
54
-
55
- interface TransferConfig {
56
- asset: Asset;
57
- source: ChainTransferConfig;
58
- destination: ChainTransferConfig;
59
- }
60
- interface ChainTransferConfig {
61
- chain: AnyChain;
62
- config: AssetConfig;
63
- }
64
-
65
- declare function ConfigBuilder(): {
66
- assets: (ecosystem?: Ecosystem) => {
67
- assets: Asset[];
68
- asset: (keyOrAsset: string | Asset) => {
69
- sourceChains: AnyChain[];
70
- source: (keyOrChain: string | AnyChain) => {
71
- destinationChains: AnyChain[];
72
- destination: (keyOrChain: string | AnyChain) => {
73
- build: () => TransferConfig;
74
- };
75
- };
76
- };
77
- };
78
- };
1
+ import { Asset, AnyChain, SetOptional, ChainAsset, AnyAsset, AnyParachain, Ecosystem, Parachain, EvmParachain, EvmChain } from '@moonbeam-network/xcm-types';
2
+ import { BalanceConfigBuilder, AssetMinConfigBuilder, FeeConfigBuilder, ContractConfigBuilder, ExtrinsicConfigBuilder, EventMonitoringConfig, MrlConfigBuilder, ProtocolFeeConfigBuilder } from '@moonbeam-network/xcm-builder';
79
3
 
80
4
  declare const aca: Asset;
5
+ declare const agng: Asset;
81
6
  declare const alan: Asset;
7
+ declare const ampe: Asset;
8
+ declare const apillon: Asset;
9
+ declare const aseed: Asset;
82
10
  declare const astr: Asset;
83
11
  declare const auq: Asset;
84
- declare const ausd: Asset;
85
- declare const betaDEV: Asset;
12
+ declare const axlusdc: Asset;
86
13
  declare const bnc: Asset;
87
14
  declare const cfg: Asset;
88
- declare const crab: Asset;
89
15
  declare const csm: Asset;
16
+ declare const dai: Asset;
17
+ declare const ded: Asset;
90
18
  declare const dev: Asset;
19
+ declare const devBeta: Asset;
20
+ declare const devStage: Asset;
91
21
  declare const dot: Asset;
92
22
  declare const eq: Asset;
93
23
  declare const eqd: Asset;
24
+ declare const eth: Asset;
25
+ declare const eurc: Asset;
26
+ declare const fil: Asset;
27
+ declare const ftm: Asset;
28
+ declare const ftmwh: Asset;
94
29
  declare const glmr: Asset;
95
30
  declare const hdx: Asset;
96
- declare const hko: Asset;
97
31
  declare const ibtc: Asset;
98
32
  declare const intr: Asset;
99
33
  declare const kar: Asset;
100
34
  declare const kbtc: Asset;
101
35
  declare const kint: Asset;
102
- declare const kma: Asset;
103
36
  declare const ksm: Asset;
37
+ declare const lamaGLMR: Asset;
38
+ declare const laos: Asset;
39
+ declare const ldot: Asset;
104
40
  declare const lit: Asset;
105
- declare const mgx: Asset;
41
+ declare const manta: Asset;
42
+ declare const maos: Asset;
106
43
  declare const movr: Asset;
44
+ declare const samaMOVR: Asset;
45
+ declare const neuro: Asset;
107
46
  declare const nodl: Asset;
47
+ declare const otp: Asset;
108
48
  declare const para: Asset;
109
49
  declare const paring: Asset;
50
+ declare const peaq: Asset;
51
+ declare const pen: Asset;
110
52
  declare const pha: Asset;
53
+ declare const pica: Asset;
54
+ declare const pink: Asset;
55
+ declare const pizza: Asset;
56
+ declare const pizzaUSDC: Asset;
111
57
  declare const ring: Asset;
112
58
  declare const rmrk: Asset;
113
59
  declare const sdn: Asset;
114
60
  declare const soon: Asset;
61
+ declare const stink: Asset;
62
+ declare const sub: Asset;
115
63
  declare const teer: Asset;
64
+ declare const tnkr: Asset;
116
65
  declare const tt1: Asset;
117
66
  declare const tur: Asset;
118
67
  declare const unit: Asset;
68
+ declare const usdc: Asset;
69
+ declare const usdcwh: Asset;
119
70
  declare const usdt: Asset;
71
+ declare const usdtksm: Asset;
72
+ declare const usdtwh: Asset;
73
+ declare const vastr: Asset;
74
+ declare const vbnc: Asset;
75
+ declare const vdot: Asset;
76
+ declare const vfil: Asset;
77
+ declare const vglmr: Asset;
78
+ declare const vksm: Asset;
79
+ declare const vmanta: Asset;
80
+ declare const vmovr: Asset;
81
+ declare const wbtc: Asset;
82
+ declare const weth: Asset;
83
+ declare const wftm: Asset;
84
+ declare const wifd: Asset;
120
85
  declare const xrt: Asset;
86
+ declare const ztg: Asset;
87
+ declare const wbtce: Asset;
88
+ declare const wstethe: Asset;
89
+ declare const wethe: Asset;
121
90
  declare const assetsList: Asset[];
122
91
  declare const assetsMap: Map<string, Asset>;
123
92
 
93
+ interface AssetRouteConstructorParams {
94
+ source: SourceConfig;
95
+ destination: DestinationConfig;
96
+ contract?: ContractConfigBuilder;
97
+ extrinsic?: ExtrinsicConfigBuilder;
98
+ monitoring?: EventMonitoringConfig;
99
+ }
100
+ interface SourceConfig {
101
+ asset: Asset;
102
+ chain: AnyChain;
103
+ balance: BalanceConfigBuilder;
104
+ fee: FeeConfig;
105
+ destinationFee?: {
106
+ asset?: Asset;
107
+ balance: BalanceConfigBuilder;
108
+ };
109
+ min?: AssetMinConfigBuilder;
110
+ }
111
+ interface DestinationConfig extends Omit<SourceConfig, 'fee'> {
112
+ fee: FeeAmountConfig;
113
+ }
114
+ interface FeeConfig {
115
+ asset: Asset;
116
+ balance: BalanceConfigBuilder;
117
+ extra?: number;
118
+ }
119
+ interface FeeAmountConfig extends SetOptional<FeeConfig, 'balance'> {
120
+ amount: number | FeeConfigBuilder;
121
+ }
122
+ declare class AssetRoute {
123
+ readonly source: SourceConfig;
124
+ readonly destination: DestinationConfig;
125
+ readonly contract?: ContractConfigBuilder;
126
+ readonly extrinsic?: ExtrinsicConfigBuilder;
127
+ readonly monitoring?: EventMonitoringConfig;
128
+ constructor({ source, destination, contract, extrinsic, monitoring, }: AssetRouteConstructorParams);
129
+ getDestinationFeeAssetOnSource(): ChainAsset;
130
+ }
131
+
132
+ interface ChainRoutesConstructorParams {
133
+ chain: AnyChain;
134
+ routes: RoutesParam[];
135
+ }
136
+ interface RoutesParam extends Omit<AssetRouteConstructorParams, 'source'> {
137
+ source: Omit<SourceConfig, 'chain'>;
138
+ }
139
+ declare class ChainRoutes {
140
+ readonly chain: AnyChain;
141
+ protected routes: Map<string, AssetRoute>;
142
+ constructor({ chain, routes }: ChainRoutesConstructorParams);
143
+ getRoutes(): AssetRoute[];
144
+ getAssetRoutes(keyOrAsset: string | AnyAsset): AssetRoute[];
145
+ getAssetDestinations(keyOrAsset: string | AnyAsset): AnyChain[];
146
+ getDestinationAssets(keyOrChain: string | AnyChain): Asset[];
147
+ getAssetRoute(asset: string | AnyAsset, destination: string | AnyChain): AssetRoute;
148
+ }
149
+
150
+ interface MrlAssetRouteConstructorParams extends AssetRouteConstructorParams {
151
+ source: MrlSourceConfig;
152
+ mrl: MrlConfig;
153
+ }
154
+ interface MrlConfig {
155
+ isAutomaticPossible?: boolean;
156
+ transfer: MrlConfigBuilder;
157
+ bridgeChain: BridgeChainConfig;
158
+ }
159
+ interface ProtocolFeeConfig {
160
+ amount: number | ProtocolFeeConfigBuilder;
161
+ asset: Asset;
162
+ balance: BalanceConfigBuilder;
163
+ }
164
+ interface MrlSourceConfig extends SourceConfig {
165
+ /** Protocol bridge fee (e.g., Snowbridge fee) */
166
+ protocolFee?: ProtocolFeeConfig;
167
+ bridgeChainFee?: {
168
+ asset: Asset;
169
+ balance: BalanceConfigBuilder;
170
+ };
171
+ }
172
+ interface BridgeChainConfig {
173
+ asset: Asset;
174
+ balance: BalanceConfigBuilder;
175
+ chain: AnyParachain;
176
+ fee: BridgeChainFeeConfig;
177
+ }
178
+ interface BridgeChainFeeConfig extends FeeConfig {
179
+ amount: number | FeeConfigBuilder;
180
+ }
181
+ declare class MrlAssetRoute extends AssetRoute {
182
+ readonly mrl: MrlConfig & {
183
+ isAutomaticPossible: boolean;
184
+ };
185
+ readonly source: MrlSourceConfig;
186
+ constructor({ source, destination, contract, extrinsic, mrl, }: MrlAssetRouteConstructorParams & {
187
+ source: MrlSourceConfig;
188
+ });
189
+ }
190
+
191
+ interface MrlChainRoutesConstructorParams extends ChainRoutesConstructorParams {
192
+ routes: MrlRoutesParam[];
193
+ }
194
+ interface MrlRoutesParam extends Omit<MrlAssetRouteConstructorParams, 'source'> {
195
+ source: Omit<MrlSourceConfig, 'chain'>;
196
+ }
197
+ declare class MrlChainRoutes extends ChainRoutes {
198
+ protected routes: Map<string, MrlAssetRoute>;
199
+ constructor({ chain, routes }: MrlChainRoutesConstructorParams);
200
+ getRoutes(): MrlAssetRoute[];
201
+ getAssetRoute(asset: string | AnyAsset, destination: string | AnyChain): MrlAssetRoute;
202
+ }
203
+
204
+ /**
205
+ * Configuration options for initializing the ConfigService.
206
+ * This interface defines the structure for configuring assets, chains, routes, and endpoints.
207
+ */
208
+ interface ConfigServiceOptions {
209
+ /**
210
+ * Optional map of assets where the key is the asset identifier and the value is the Asset object.
211
+ * If not provided, defaults to the predefined assetsMap.
212
+ */
213
+ assets?: Map<string, Asset>;
214
+ /**
215
+ * Optional map of chains where the key is the chain identifier and the value is the Chain object.
216
+ * If not provided, defaults to the predefined chainsMap.
217
+ */
218
+ chains?: Map<string, AnyChain>;
219
+ /**
220
+ * Routes configuration.
221
+ */
222
+ routes: Map<string, ChainRoutes | MrlChainRoutes>;
223
+ }
224
+ declare class ConfigService {
225
+ protected assets: Map<string, Asset>;
226
+ protected chains: Map<string, AnyChain>;
227
+ protected routes: Map<string, ChainRoutes | MrlChainRoutes>;
228
+ constructor(options: ConfigServiceOptions);
229
+ getAsset(keyOrAsset: string | Asset): Asset;
230
+ getEcosystemAssets(ecosystem?: Ecosystem): Asset[];
231
+ getChain(keyOrChain: string | AnyChain): AnyChain;
232
+ getChainRoutes(keyOrChain: string | AnyChain): ChainRoutes | MrlChainRoutes;
233
+ getSourceChains({ asset, ecosystem, }: {
234
+ asset?: string | Asset;
235
+ ecosystem?: Ecosystem;
236
+ }): AnyChain[];
237
+ getDestinationChains({ asset, source, }: {
238
+ asset?: string | AnyAsset;
239
+ source: string | AnyChain;
240
+ }): AnyChain[];
241
+ getAssetRoute({ asset, source, destination, }: {
242
+ asset: string | AnyAsset;
243
+ source: string | AnyChain;
244
+ destination: string | AnyChain;
245
+ }): AssetRoute | MrlAssetRoute;
246
+ getRouteAssets({ source, destination, }: {
247
+ source: string | AnyChain;
248
+ destination: string | AnyChain;
249
+ }): Asset[];
250
+ updateAsset(asset: Asset): void;
251
+ updateChain(chain: AnyChain): void;
252
+ updateChainRoute(route: ChainRoutes): void;
253
+ updateEndpoints(endpoints: {
254
+ [key: string]: {
255
+ rpc: string;
256
+ ws: string[];
257
+ };
258
+ }): void;
259
+ }
260
+
124
261
  declare const acala: Parachain;
125
262
  declare const alphanetAssetHub: Parachain;
126
263
  declare const alphanetRelay: Parachain;
127
264
  declare const astar: Parachain;
128
265
  declare const bifrostKusama: Parachain;
129
266
  declare const bifrostPolkadot: Parachain;
130
- declare const calamari: Parachain;
131
267
  declare const centrifuge: Parachain;
132
268
  declare const crustShadow: Parachain;
133
269
  declare const darwinia: EvmParachain;
134
- declare const darwiniaCrab: EvmParachain;
135
- declare const darwiniaPangoro: EvmParachain;
136
- declare const equilibrium: Parachain;
137
- declare const equilibriumAlphanet: Parachain;
138
- declare const hydraDX: Parachain;
270
+ declare const ethereum: EvmChain;
271
+ declare const fantomTestnet: EvmChain;
272
+ declare const hydration: Parachain;
273
+ declare const hydrationAlphanet: Parachain;
139
274
  declare const interlay: Parachain;
140
- declare const integritee: Parachain;
141
275
  declare const karura: Parachain;
142
- declare const khala: Parachain;
143
276
  declare const kintsugi: Parachain;
144
277
  declare const kusama: Parachain;
145
278
  declare const kusamaAssetHub: Parachain;
146
- declare const litentryAlphanet: Parachain;
147
- declare const litmus: Parachain;
148
- declare const mangataKusama: Parachain;
279
+ declare const mantaParachain: Parachain;
280
+ declare const laosAlphanet: EvmParachain;
281
+ declare const laosMainnet: EvmParachain;
149
282
  declare const moonbaseAlpha: EvmParachain;
150
283
  declare const moonbaseBeta: EvmParachain;
284
+ declare const moonbaseStage: EvmParachain;
285
+ declare const moonlama: EvmParachain;
286
+ declare const moonsama: EvmParachain;
151
287
  declare const moonbeam: EvmParachain;
152
288
  declare const moonriver: EvmParachain;
153
- declare const nodleEden: Parachain;
154
- declare const parallel: Parachain;
155
- declare const parallelHeiko: Parachain;
156
- declare const phala: Parachain;
289
+ declare const neuroweb: Parachain;
290
+ declare const originTrailAlphanet: Parachain;
291
+ declare const peaqAlphanet: Parachain;
292
+ declare const peaqChain: Parachain;
293
+ declare const peaqEvm: EvmParachain;
294
+ declare const peaqEvmAlphanet: EvmParachain;
295
+ declare const pendulum: Parachain;
157
296
  declare const polkadot: Parachain;
158
297
  declare const polkadotAssetHub: Parachain;
159
298
  declare const robonomics: Parachain;
160
299
  declare const shiden: Parachain;
161
- declare const turing: Parachain;
162
300
  declare const turingAlphanet: Parachain;
163
- declare const subsocialAlphanet: Parachain;
164
301
  declare const uniqueAlpha: Parachain;
302
+ declare const zeitgeist: Parachain;
165
303
  declare const chainsList: AnyChain[];
166
304
  declare const chainsMap: Map<string, AnyChain>;
167
305
 
168
- interface ChainConfigConstructorParams {
169
- assets: AssetConfig[];
170
- chain: AnyChain;
171
- }
172
- declare class ChainConfig {
173
- #private;
174
- readonly chain: AnyChain;
175
- constructor({ assets, chain }: ChainConfigConstructorParams);
176
- getAssetsConfigs(): AssetConfig[];
177
- getAssetConfigs(asset: Asset): AssetConfig[];
178
- getAssetDestinations(asset: Asset): AnyChain[];
179
- getAssetDestinationConfig(asset: Asset, destination: AnyChain): AssetConfig;
180
- }
306
+ declare function getKey(keyOrModel: string | AnyAsset | AnyChain): string;
307
+
308
+ declare const crossEcosystemsRoutesList: ChainRoutes[];
309
+ declare const crossEcosystemsRoutesMap: Map<string, ChainRoutes>;
310
+
311
+ declare const mrlRoutesList: MrlChainRoutes[];
312
+ declare const mrlRoutesMap: Map<string, MrlChainRoutes>;
313
+
314
+ declare const xcmRoutesList: ChainRoutes[];
315
+ declare const xcmRoutesMap: Map<string, ChainRoutes>;
181
316
 
182
- export {
183
- AssetConfig,
184
- AssetConfigConstructorParams,
185
- ChainConfig,
186
- ChainConfigConstructorParams,
187
- ChainTransferConfig,
188
- ConfigBuilder,
189
- DestinationFeeConfig,
190
- FeeAssetConfig,
191
- TransferConfig,
192
- aca,
193
- acala,
194
- alan,
195
- alphanetAssetHub,
196
- alphanetRelay,
197
- assetsList,
198
- assetsMap,
199
- astar,
200
- astr,
201
- auq,
202
- ausd,
203
- betaDEV,
204
- bifrostKusama,
205
- bifrostPolkadot,
206
- bnc,
207
- calamari,
208
- centrifuge,
209
- cfg,
210
- chainsList,
211
- chainsMap,
212
- crab,
213
- crustShadow,
214
- csm,
215
- darwinia,
216
- darwiniaCrab,
217
- darwiniaPangoro,
218
- dev,
219
- dot,
220
- eq,
221
- eqd,
222
- equilibrium,
223
- equilibriumAlphanet,
224
- glmr,
225
- hdx,
226
- hko,
227
- hydraDX,
228
- ibtc,
229
- integritee,
230
- interlay,
231
- intr,
232
- kar,
233
- karura,
234
- kbtc,
235
- khala,
236
- kint,
237
- kintsugi,
238
- kma,
239
- ksm,
240
- kusama,
241
- kusamaAssetHub,
242
- lit,
243
- litentryAlphanet,
244
- litmus,
245
- mangataKusama,
246
- mgx,
247
- moonbaseAlpha,
248
- moonbaseBeta,
249
- moonbeam,
250
- moonriver,
251
- movr,
252
- nodl,
253
- nodleEden,
254
- para,
255
- parallel,
256
- parallelHeiko,
257
- paring,
258
- pha,
259
- phala,
260
- polkadot,
261
- polkadotAssetHub,
262
- ring,
263
- rmrk,
264
- robonomics,
265
- sdn,
266
- shiden,
267
- soon,
268
- subsocialAlphanet,
269
- teer,
270
- tt1,
271
- tur,
272
- turing,
273
- turingAlphanet,
274
- uniqueAlpha,
275
- unit,
276
- usdt,
277
- xrt,
278
- };
317
+ export { AssetRoute, type AssetRouteConstructorParams, type BridgeChainConfig, type BridgeChainFeeConfig, ChainRoutes, type ChainRoutesConstructorParams, ConfigService, type ConfigServiceOptions, type DestinationConfig, type FeeAmountConfig, type FeeConfig, MrlAssetRoute, type MrlAssetRouteConstructorParams, MrlChainRoutes, type MrlChainRoutesConstructorParams, type MrlConfig, type MrlSourceConfig, type ProtocolFeeConfig, type SourceConfig, aca, acala, agng, alan, alphanetAssetHub, alphanetRelay, ampe, apillon, aseed, assetsList, assetsMap, astar, astr, auq, axlusdc, bifrostKusama, bifrostPolkadot, bnc, centrifuge, cfg, chainsList, chainsMap, crossEcosystemsRoutesList, crossEcosystemsRoutesMap, crustShadow, csm, dai, darwinia, ded, dev, devBeta, devStage, dot, eq, eqd, eth, ethereum, eurc, fantomTestnet, fil, ftm, ftmwh, getKey, glmr, hdx, hydration, hydrationAlphanet, ibtc, interlay, intr, kar, karura, kbtc, kint, kintsugi, ksm, kusama, kusamaAssetHub, lamaGLMR, laos, laosAlphanet, laosMainnet, ldot, lit, manta, mantaParachain, maos, moonbaseAlpha, moonbaseBeta, moonbaseStage, moonbeam, moonlama, moonriver, moonsama, movr, mrlRoutesList, mrlRoutesMap, neuro, neuroweb, nodl, originTrailAlphanet, otp, para, paring, peaq, peaqAlphanet, peaqChain, peaqEvm, peaqEvmAlphanet, pen, pendulum, pha, pica, pink, pizza, pizzaUSDC, polkadot, polkadotAssetHub, ring, rmrk, robonomics, samaMOVR, sdn, shiden, soon, stink, sub, teer, tnkr, tt1, tur, turingAlphanet, uniqueAlpha, unit, usdc, usdcwh, usdt, usdtksm, usdtwh, vastr, vbnc, vdot, vfil, vglmr, vksm, vmanta, vmovr, wbtc, wbtce, weth, wethe, wftm, wifd, wstethe, xcmRoutesList, xcmRoutesMap, xrt, zeitgeist, ztg };