@moonbeam-network/xcm-config 1.0.0-dev.210 → 1.0.0-dev.211

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,5 +1,6 @@
1
1
  import { Asset, AnyChain, SetOptional, ChainAsset, AnyAsset, Ecosystem, Parachain, EvmParachain, EvmChain } from '@moonbeam-network/xcm-types';
2
2
  import { BalanceConfigBuilder, AssetMinConfigBuilder, FeeConfigBuilder, ContractConfigBuilder, ExtrinsicConfigBuilder, MrlConfigBuilder } from '@moonbeam-network/xcm-builder';
3
+ import { EventRecord, Event } from '@polkadot/types/interfaces';
3
4
 
4
5
  declare const aca: Asset;
5
6
  declare const agng: Asset;
@@ -88,11 +89,44 @@ declare const laos: Asset;
88
89
  declare const assetsList: Asset[];
89
90
  declare const assetsMap: Map<string, Asset>;
90
91
 
92
+ interface EventConfig {
93
+ section: string;
94
+ method: string;
95
+ }
96
+ interface SourceEventConfig {
97
+ event: EventConfig;
98
+ addressExtractor: (event: EventRecord) => string;
99
+ messageIdExtractor: (event: EventRecord, allEvents?: EventRecord[]) => string;
100
+ }
101
+ interface DestinationEventConfig {
102
+ event: EventConfig;
103
+ messageIdExtractor: (event: Event, allEvents?: EventRecord[]) => string;
104
+ successIndicator?: (event: EventRecord) => boolean;
105
+ }
106
+ interface MonitoringConfig {
107
+ source: SourceEventConfig;
108
+ destination: DestinationEventConfig;
109
+ }
110
+ type SourceChecker = (events: EventRecord[], sourceAddress: string) => {
111
+ matched: boolean;
112
+ messageId?: string;
113
+ event?: EventRecord;
114
+ };
115
+ type DestinationChecker = (events: EventRecord[], messageId?: string) => {
116
+ matched: boolean;
117
+ success: boolean;
118
+ event?: EventRecord;
119
+ };
120
+ interface MonitoringBuilderConfig {
121
+ checkSource: SourceChecker;
122
+ checkDestination: DestinationChecker;
123
+ }
91
124
  interface AssetRouteConstructorParams {
92
125
  source: SourceConfig;
93
126
  destination: DestinationConfig;
94
127
  contract?: ContractConfigBuilder;
95
128
  extrinsic?: ExtrinsicConfigBuilder;
129
+ monitoring?: MonitoringBuilderConfig;
96
130
  }
97
131
  interface SourceConfig {
98
132
  asset: Asset;
@@ -121,7 +155,8 @@ declare class AssetRoute {
121
155
  readonly destination: DestinationConfig;
122
156
  readonly contract?: ContractConfigBuilder;
123
157
  readonly extrinsic?: ExtrinsicConfigBuilder;
124
- constructor({ source, destination, contract, extrinsic, }: AssetRouteConstructorParams);
158
+ readonly monitoring?: MonitoringBuilderConfig;
159
+ constructor({ source, destination, contract, extrinsic, monitoring, }: AssetRouteConstructorParams);
125
160
  getDestinationFeeAssetOnSource(): ChainAsset;
126
161
  }
127
162
 
@@ -304,4 +339,4 @@ declare const mrlRoutesMap: Map<string, MrlChainRoutes>;
304
339
  declare const xcmRoutesList: ChainRoutes[];
305
340
  declare const xcmRoutesMap: Map<string, ChainRoutes>;
306
341
 
307
- export { AssetRoute, type AssetRouteConstructorParams, ChainRoutes, type ChainRoutesConstructorParams, ConfigService, type ConfigServiceOptions, type DestinationConfig, type DestinationFeeConfig, type FeeConfig, type MoonChainConfig, type MoonChainFeeConfig, MrlAssetRoute, type MrlAssetRouteConstructorParams, MrlChainRoutes, type MrlChainRoutesConstructorParams, type MrlConfig, type MrlSourceConfig, type SourceConfig, aca, acala, agng, alan, alphanetAssetHub, alphanetRelay, ampe, apillon, aseed, assetsList, assetsMap, astar, astr, auq, axlusdc, bifrostKusama, bifrostPolkadot, bnc, bncs, centrifuge, cfg, chainsList, chainsMap, crab, crossEcosystemsRoutesList, crossEcosystemsRoutesMap, crustShadow, csm, dai, darwinia, darwiniaCrab, ded, dev, devBeta, devStage, dot, eq, eqd, eth, ethereum, eurc, fantomTestnet, fil, ftm, ftmwh, getKey, getMoonChain, glmr, hdx, hydration, hydrationAlphanet, ibtc, integritee, interlay, intr, kar, karura, kbtc, kint, kintsugi, ksm, kusama, kusamaAssetHub, laos, laosAlphanet, laosMainnet, ldot, lit, mangataKusama, manta, mantaParachain, maos, mgx, moonbaseAlpha, moonbaseBeta, moonbaseStage, moonbeam, moonriver, movr, mrlRoutesList, mrlRoutesMap, neuro, neuroweb, nodl, originTrailAlphanet, otp, para, paring, peaq, peaqAlphanet, peaqChain, peaqEvm, peaqEvmAlphanet, pen, pendulum, pendulumAlphanet, pha, phala, pica, pink, polkadot, polkadotAssetHub, ring, rmrk, robonomics, sdn, shiden, soon, stink, sub, teer, tnkr, tt1, tur, turingAlphanet, uniqueAlpha, unit, usdc, usdcwh, usdt, usdtwh, vastr, vbnc, vdot, vfil, vglmr, vksm, vmanta, vmovr, wbtc, wbtce, weth, wethe, wftm, wifd, wstethe, xcmRoutesList, xcmRoutesMap, xrt, zeitgeist, ztg };
342
+ export { AssetRoute, type AssetRouteConstructorParams, ChainRoutes, type ChainRoutesConstructorParams, ConfigService, type ConfigServiceOptions, type DestinationChecker, type DestinationConfig, type DestinationEventConfig, type DestinationFeeConfig, type EventConfig, type FeeConfig, type MonitoringBuilderConfig, type MonitoringConfig, type MoonChainConfig, type MoonChainFeeConfig, MrlAssetRoute, type MrlAssetRouteConstructorParams, MrlChainRoutes, type MrlChainRoutesConstructorParams, type MrlConfig, type MrlSourceConfig, type SourceChecker, type SourceConfig, type SourceEventConfig, aca, acala, agng, alan, alphanetAssetHub, alphanetRelay, ampe, apillon, aseed, assetsList, assetsMap, astar, astr, auq, axlusdc, bifrostKusama, bifrostPolkadot, bnc, bncs, centrifuge, cfg, chainsList, chainsMap, crab, crossEcosystemsRoutesList, crossEcosystemsRoutesMap, crustShadow, csm, dai, darwinia, darwiniaCrab, ded, dev, devBeta, devStage, dot, eq, eqd, eth, ethereum, eurc, fantomTestnet, fil, ftm, ftmwh, getKey, getMoonChain, glmr, hdx, hydration, hydrationAlphanet, ibtc, integritee, interlay, intr, kar, karura, kbtc, kint, kintsugi, ksm, kusama, kusamaAssetHub, laos, laosAlphanet, laosMainnet, ldot, lit, mangataKusama, manta, mantaParachain, maos, mgx, moonbaseAlpha, moonbaseBeta, moonbaseStage, moonbeam, moonriver, movr, mrlRoutesList, mrlRoutesMap, neuro, neuroweb, nodl, originTrailAlphanet, otp, para, paring, peaq, peaqAlphanet, peaqChain, peaqEvm, peaqEvmAlphanet, pen, pendulum, pendulumAlphanet, pha, phala, pica, pink, polkadot, polkadotAssetHub, ring, rmrk, robonomics, sdn, shiden, soon, stink, sub, teer, tnkr, tt1, tur, turingAlphanet, uniqueAlpha, unit, usdc, usdcwh, usdt, usdtwh, vastr, vbnc, vdot, vfil, vglmr, vksm, vmanta, vmovr, wbtc, wbtce, weth, wethe, wftm, wifd, wstethe, xcmRoutesList, xcmRoutesMap, xrt, zeitgeist, ztg };
package/build/index.mjs CHANGED
@@ -499,7 +499,10 @@ var alphanetAssetHub = new Parachain({
499
499
  nativeAsset: unit,
500
500
  parachainId: 1001,
501
501
  ss58Format: 42,
502
- ws: ["wss://frag-moonbase-sm-rpc-ws.g.moonbase.moonbeam.network/"]
502
+ ws: [
503
+ "wss://statemint.api.moonbase.moonbeam.network",
504
+ "wss://frag-moonbase-sm-rpc-ws.g.moonbase.moonbeam.network"
505
+ ]
503
506
  });
504
507
  var alphanetRelay = new Parachain({
505
508
  assets: [
@@ -2672,16 +2675,19 @@ var AssetRoute = class {
2672
2675
  destination;
2673
2676
  contract;
2674
2677
  extrinsic;
2678
+ monitoring;
2675
2679
  constructor({
2676
2680
  source,
2677
2681
  destination,
2678
2682
  contract,
2679
- extrinsic
2683
+ extrinsic,
2684
+ monitoring
2680
2685
  }) {
2681
2686
  this.source = source;
2682
2687
  this.destination = destination;
2683
2688
  this.contract = contract;
2684
2689
  this.extrinsic = extrinsic;
2690
+ this.monitoring = monitoring;
2685
2691
  }
2686
2692
  getDestinationFeeAssetOnSource() {
2687
2693
  return this.source.chain.getChainAsset(
@@ -2697,13 +2703,14 @@ var ChainRoutes = class {
2697
2703
  constructor({ chain, routes }) {
2698
2704
  this.chain = chain;
2699
2705
  this.routes = new Map(
2700
- routes.map(({ source, destination, contract, extrinsic }) => [
2706
+ routes.map(({ source, destination, contract, extrinsic, monitoring }) => [
2701
2707
  `${source.asset.key}-${destination.chain.key}`,
2702
2708
  new AssetRoute({
2703
2709
  source: { ...source, chain },
2704
2710
  destination,
2705
2711
  contract,
2706
- extrinsic
2712
+ extrinsic,
2713
+ monitoring
2707
2714
  })
2708
2715
  ])
2709
2716
  );
@@ -4247,7 +4254,8 @@ import {
4247
4254
  AssetMinBuilder,
4248
4255
  BalanceBuilder as BalanceBuilder11,
4249
4256
  ExtrinsicBuilder as ExtrinsicBuilder3,
4250
- FeeBuilder
4257
+ FeeBuilder,
4258
+ MonitoringBuilder
4251
4259
  } from "@moonbeam-network/xcm-builder";
4252
4260
  var acalaRoutes = new ChainRoutes({
4253
4261
  chain: acala,
@@ -4321,7 +4329,8 @@ var acalaRoutes = new ChainRoutes({
4321
4329
  asset: glmr
4322
4330
  }
4323
4331
  },
4324
- extrinsic: ExtrinsicBuilder3().xTokens().transfer()
4332
+ extrinsic: ExtrinsicBuilder3().xTokens().transfer(),
4333
+ monitoring: MonitoringBuilder().xTokens().messageQueue()
4325
4334
  },
4326
4335
  {
4327
4336
  source: {
@@ -4355,7 +4364,8 @@ import {
4355
4364
  AssetMinBuilder as AssetMinBuilder2,
4356
4365
  BalanceBuilder as BalanceBuilder12,
4357
4366
  ExtrinsicBuilder as ExtrinsicBuilder4,
4358
- FeeBuilder as FeeBuilder2
4367
+ FeeBuilder as FeeBuilder2,
4368
+ MonitoringBuilder as MonitoringBuilder2
4359
4369
  } from "@moonbeam-network/xcm-builder";
4360
4370
  var alphanetAssetHubRoutes = new ChainRoutes({
4361
4371
  chain: alphanetAssetHub,
@@ -4382,7 +4392,8 @@ var alphanetAssetHubRoutes = new ChainRoutes({
4382
4392
  asset: tt1
4383
4393
  }
4384
4394
  },
4385
- extrinsic: ExtrinsicBuilder4().polkadotXcm().limitedReserveTransferAssets().X2()
4395
+ extrinsic: ExtrinsicBuilder4().polkadotXcm().limitedReserveTransferAssets().X2(),
4396
+ monitoring: MonitoringBuilder2().polkadotXcm().messageQueue()
4386
4397
  }
4387
4398
  ]
4388
4399
  });
@@ -4391,7 +4402,7 @@ var alphanetAssetHubRoutes = new ChainRoutes({
4391
4402
  import {
4392
4403
  BalanceBuilder as BalanceBuilder13,
4393
4404
  ExtrinsicBuilder as ExtrinsicBuilder5,
4394
- FeeBuilder as FeeBuilder3
4405
+ MonitoringBuilder as MonitoringBuilder3
4395
4406
  } from "@moonbeam-network/xcm-builder";
4396
4407
  var alphanetRelayRoutes = new ChainRoutes({
4397
4408
  chain: alphanetRelay,
@@ -4413,11 +4424,16 @@ var alphanetRelayRoutes = new ChainRoutes({
4413
4424
  chain: moonbaseAlpha,
4414
4425
  balance: BalanceBuilder13().evm().erc20(),
4415
4426
  fee: {
4416
- amount: FeeBuilder3().xcmPaymentApi().fromAssetIdQuery({ isAssetReserveChain: false }),
4427
+ // amount: FeeBuilder()
4428
+ // .xcmPaymentApi()
4429
+ // .fromAssetIdQuery({ isAssetReserveChain: false }),
4430
+ amount: 1e-3,
4431
+ // TODO remove this, force error in destination
4417
4432
  asset: unit
4418
4433
  }
4419
4434
  },
4420
- extrinsic: ExtrinsicBuilder5().xcmPallet().transferAssetsUsingTypeAndThen().here()
4435
+ extrinsic: ExtrinsicBuilder5().xcmPallet().transferAssetsUsingTypeAndThen().here(),
4436
+ monitoring: MonitoringBuilder3().xcmPallet().messageQueue()
4421
4437
  }
4422
4438
  ]
4423
4439
  });
@@ -5007,7 +5023,8 @@ var darwiniaCrabRoutes = new ChainRoutes({
5007
5023
  import {
5008
5024
  BalanceBuilder as BalanceBuilder21,
5009
5025
  ExtrinsicBuilder as ExtrinsicBuilder13,
5010
- FeeBuilder as FeeBuilder11
5026
+ FeeBuilder as FeeBuilder11,
5027
+ MonitoringBuilder as MonitoringBuilder4
5011
5028
  } from "@moonbeam-network/xcm-builder";
5012
5029
  var hydrationRoutes2 = new ChainRoutes({
5013
5030
  chain: hydration,
@@ -5033,7 +5050,7 @@ var hydrationRoutes2 = new ChainRoutes({
5033
5050
  asset: hdx
5034
5051
  }
5035
5052
  },
5036
- extrinsic: ExtrinsicBuilder13().xTokens().transfer()
5053
+ extrinsic: ExtrinsicBuilder13().polkadotXcm().transferAssets().X1()
5037
5054
  },
5038
5055
  {
5039
5056
  source: {
@@ -5056,7 +5073,7 @@ var hydrationRoutes2 = new ChainRoutes({
5056
5073
  asset: glmr
5057
5074
  }
5058
5075
  },
5059
- extrinsic: ExtrinsicBuilder13().xTokens().transfer()
5076
+ extrinsic: ExtrinsicBuilder13().polkadotXcm().transferAssets().X2()
5060
5077
  },
5061
5078
  {
5062
5079
  source: {
@@ -5079,7 +5096,7 @@ var hydrationRoutes2 = new ChainRoutes({
5079
5096
  asset: glmr
5080
5097
  }
5081
5098
  },
5082
- extrinsic: ExtrinsicBuilder13().xTokens().transferMultiCurrencies()
5099
+ extrinsic: ExtrinsicBuilder13().polkadotXcm().transferAssets().X3()
5083
5100
  },
5084
5101
  {
5085
5102
  source: {
@@ -5104,7 +5121,8 @@ var hydrationRoutes2 = new ChainRoutes({
5104
5121
  asset: glmr
5105
5122
  }
5106
5123
  },
5107
- extrinsic: ExtrinsicBuilder13().xTokens().transferMultiCurrencies()
5124
+ extrinsic: ExtrinsicBuilder13().polkadotXcm().transferAssets().X3(),
5125
+ monitoring: MonitoringBuilder4().polkadotXcm().messageQueue()
5108
5126
  },
5109
5127
  {
5110
5128
  source: {
@@ -5127,7 +5145,7 @@ var hydrationRoutes2 = new ChainRoutes({
5127
5145
  asset: glmr
5128
5146
  }
5129
5147
  },
5130
- extrinsic: ExtrinsicBuilder13().xTokens().transferMultiCurrencies()
5148
+ extrinsic: ExtrinsicBuilder13().polkadotXcm().transferAssets().X3()
5131
5149
  },
5132
5150
  {
5133
5151
  source: {
@@ -5150,7 +5168,7 @@ var hydrationRoutes2 = new ChainRoutes({
5150
5168
  asset: glmr
5151
5169
  }
5152
5170
  },
5153
- extrinsic: ExtrinsicBuilder13().xTokens().transferMultiCurrencies()
5171
+ extrinsic: ExtrinsicBuilder13().polkadotXcm().transferAssets().X3()
5154
5172
  },
5155
5173
  {
5156
5174
  source: {
@@ -5173,7 +5191,7 @@ var hydrationRoutes2 = new ChainRoutes({
5173
5191
  asset: glmr
5174
5192
  }
5175
5193
  },
5176
- extrinsic: ExtrinsicBuilder13().xTokens().transferMultiCurrencies()
5194
+ extrinsic: ExtrinsicBuilder13().polkadotXcm().transferAssets().X3()
5177
5195
  }
5178
5196
  ]
5179
5197
  });
@@ -5833,7 +5851,8 @@ import {
5833
5851
  AssetMinBuilder as AssetMinBuilder8,
5834
5852
  BalanceBuilder as BalanceBuilder33,
5835
5853
  ContractBuilder,
5836
- FeeBuilder as FeeBuilder23
5854
+ FeeBuilder as FeeBuilder23,
5855
+ MonitoringBuilder as MonitoringBuilder5
5837
5856
  } from "@moonbeam-network/xcm-builder";
5838
5857
  var moonbaseAlphaRoutes2 = new ChainRoutes({
5839
5858
  chain: moonbaseAlpha,
@@ -5993,12 +6012,14 @@ var moonbaseAlphaRoutes2 = new ChainRoutes({
5993
6012
  chain: alphanetAssetHub,
5994
6013
  balance: BalanceBuilder33().substrate().assets().account(),
5995
6014
  fee: {
5996
- amount: 5,
6015
+ amount: 8,
6016
+ // TODO mjm fee builder?
5997
6017
  asset: tt1
5998
6018
  },
5999
6019
  min: AssetMinBuilder8().assets().asset()
6000
6020
  },
6001
- contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32()
6021
+ contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),
6022
+ monitoring: MonitoringBuilder5().polkadotXcm().messageQueue()
6002
6023
  },
6003
6024
  {
6004
6025
  source: {
@@ -6047,7 +6068,8 @@ var moonbaseAlphaRoutes2 = new ChainRoutes({
6047
6068
  asset: unit
6048
6069
  }
6049
6070
  },
6050
- contract: ContractBuilder().XcmPrecompile().transferAssetsToRelay()
6071
+ contract: ContractBuilder().XcmPrecompile().transferAssetsToRelay(),
6072
+ monitoring: MonitoringBuilder5().polkadotXcm().messageQueue()
6051
6073
  },
6052
6074
  {
6053
6075
  source: {
@@ -6229,11 +6251,13 @@ var moonbaseAlphaRoutes2 = new ChainRoutes({
6229
6251
  chain: peaqAlphanet,
6230
6252
  balance: BalanceBuilder33().substrate().system().account(),
6231
6253
  fee: {
6232
- amount: 0.01,
6254
+ amount: 1e-10,
6255
+ // TODO mjm forcing error in destination, return to 0.01 after testing
6233
6256
  asset: agng
6234
6257
  }
6235
6258
  },
6236
- contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32()
6259
+ contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),
6260
+ monitoring: MonitoringBuilder5().polkadotXcm().xcmpQueue()
6237
6261
  },
6238
6262
  {
6239
6263
  source: {
@@ -8750,7 +8774,8 @@ import {
8750
8774
  AssetMinBuilder as AssetMinBuilder12,
8751
8775
  BalanceBuilder as BalanceBuilder40,
8752
8776
  ExtrinsicBuilder as ExtrinsicBuilder29,
8753
- FeeBuilder as FeeBuilder30
8777
+ FeeBuilder as FeeBuilder30,
8778
+ MonitoringBuilder as MonitoringBuilder6
8754
8779
  } from "@moonbeam-network/xcm-builder";
8755
8780
  var peaqAlphanetRoutes2 = new ChainRoutes({
8756
8781
  chain: peaqAlphanet,
@@ -8772,11 +8797,16 @@ var peaqAlphanetRoutes2 = new ChainRoutes({
8772
8797
  chain: moonbaseAlpha,
8773
8798
  balance: BalanceBuilder40().evm().erc20(),
8774
8799
  fee: {
8775
- amount: FeeBuilder30().xcmPaymentApi().fromAssetIdQuery({ isAssetReserveChain: false }),
8800
+ // amount: FeeBuilder()
8801
+ // .xcmPaymentApi()
8802
+ // .fromAssetIdQuery({ isAssetReserveChain: false }),
8803
+ amount: 1e-3,
8804
+ // TODO remove this, force error in destination
8776
8805
  asset: agng
8777
8806
  }
8778
8807
  },
8779
- extrinsic: ExtrinsicBuilder29().xTokens().transfer()
8808
+ extrinsic: ExtrinsicBuilder29().xTokens().transfer(),
8809
+ monitoring: MonitoringBuilder6().xTokens().messageQueue()
8780
8810
  },
8781
8811
  {
8782
8812
  source: {