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

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: {
@@ -4383,6 +4392,7 @@ var alphanetAssetHubRoutes = new ChainRoutes({
4383
4392
  }
4384
4393
  },
4385
4394
  extrinsic: ExtrinsicBuilder4().polkadotXcm().limitedReserveTransferAssets().X2()
4395
+ // monitoring: MonitoringBuilder().polkadotXcm().messageQueue(),
4386
4396
  }
4387
4397
  ]
4388
4398
  });
@@ -4391,7 +4401,7 @@ var alphanetAssetHubRoutes = new ChainRoutes({
4391
4401
  import {
4392
4402
  BalanceBuilder as BalanceBuilder13,
4393
4403
  ExtrinsicBuilder as ExtrinsicBuilder5,
4394
- FeeBuilder as FeeBuilder3
4404
+ MonitoringBuilder as MonitoringBuilder3
4395
4405
  } from "@moonbeam-network/xcm-builder";
4396
4406
  var alphanetRelayRoutes = new ChainRoutes({
4397
4407
  chain: alphanetRelay,
@@ -4413,11 +4423,16 @@ var alphanetRelayRoutes = new ChainRoutes({
4413
4423
  chain: moonbaseAlpha,
4414
4424
  balance: BalanceBuilder13().evm().erc20(),
4415
4425
  fee: {
4416
- amount: FeeBuilder3().xcmPaymentApi().fromAssetIdQuery({ isAssetReserveChain: false }),
4426
+ // amount: FeeBuilder()
4427
+ // .xcmPaymentApi()
4428
+ // .fromAssetIdQuery({ isAssetReserveChain: false }),
4429
+ amount: 1e-3,
4430
+ // TODO remove this, force error in destination
4417
4431
  asset: unit
4418
4432
  }
4419
4433
  },
4420
- extrinsic: ExtrinsicBuilder5().xcmPallet().transferAssetsUsingTypeAndThen().here()
4434
+ extrinsic: ExtrinsicBuilder5().xcmPallet().transferAssetsUsingTypeAndThen().here(),
4435
+ monitoring: MonitoringBuilder3().xcmPallet().messageQueue()
4421
4436
  }
4422
4437
  ]
4423
4438
  });
@@ -5007,7 +5022,8 @@ var darwiniaCrabRoutes = new ChainRoutes({
5007
5022
  import {
5008
5023
  BalanceBuilder as BalanceBuilder21,
5009
5024
  ExtrinsicBuilder as ExtrinsicBuilder13,
5010
- FeeBuilder as FeeBuilder11
5025
+ FeeBuilder as FeeBuilder11,
5026
+ MonitoringBuilder as MonitoringBuilder4
5011
5027
  } from "@moonbeam-network/xcm-builder";
5012
5028
  var hydrationRoutes2 = new ChainRoutes({
5013
5029
  chain: hydration,
@@ -5033,7 +5049,7 @@ var hydrationRoutes2 = new ChainRoutes({
5033
5049
  asset: hdx
5034
5050
  }
5035
5051
  },
5036
- extrinsic: ExtrinsicBuilder13().xTokens().transfer()
5052
+ extrinsic: ExtrinsicBuilder13().polkadotXcm().transferAssets().X1()
5037
5053
  },
5038
5054
  {
5039
5055
  source: {
@@ -5056,7 +5072,7 @@ var hydrationRoutes2 = new ChainRoutes({
5056
5072
  asset: glmr
5057
5073
  }
5058
5074
  },
5059
- extrinsic: ExtrinsicBuilder13().xTokens().transfer()
5075
+ extrinsic: ExtrinsicBuilder13().polkadotXcm().transferAssets().X2()
5060
5076
  },
5061
5077
  {
5062
5078
  source: {
@@ -5079,7 +5095,7 @@ var hydrationRoutes2 = new ChainRoutes({
5079
5095
  asset: glmr
5080
5096
  }
5081
5097
  },
5082
- extrinsic: ExtrinsicBuilder13().xTokens().transferMultiCurrencies()
5098
+ extrinsic: ExtrinsicBuilder13().polkadotXcm().transferAssets().X3()
5083
5099
  },
5084
5100
  {
5085
5101
  source: {
@@ -5104,7 +5120,8 @@ var hydrationRoutes2 = new ChainRoutes({
5104
5120
  asset: glmr
5105
5121
  }
5106
5122
  },
5107
- extrinsic: ExtrinsicBuilder13().xTokens().transferMultiCurrencies()
5123
+ extrinsic: ExtrinsicBuilder13().polkadotXcm().transferAssets().X3(),
5124
+ monitoring: MonitoringBuilder4().polkadotXcm().messageQueue()
5108
5125
  },
5109
5126
  {
5110
5127
  source: {
@@ -5127,7 +5144,7 @@ var hydrationRoutes2 = new ChainRoutes({
5127
5144
  asset: glmr
5128
5145
  }
5129
5146
  },
5130
- extrinsic: ExtrinsicBuilder13().xTokens().transferMultiCurrencies()
5147
+ extrinsic: ExtrinsicBuilder13().polkadotXcm().transferAssets().X3()
5131
5148
  },
5132
5149
  {
5133
5150
  source: {
@@ -5150,7 +5167,7 @@ var hydrationRoutes2 = new ChainRoutes({
5150
5167
  asset: glmr
5151
5168
  }
5152
5169
  },
5153
- extrinsic: ExtrinsicBuilder13().xTokens().transferMultiCurrencies()
5170
+ extrinsic: ExtrinsicBuilder13().polkadotXcm().transferAssets().X3()
5154
5171
  },
5155
5172
  {
5156
5173
  source: {
@@ -5173,7 +5190,7 @@ var hydrationRoutes2 = new ChainRoutes({
5173
5190
  asset: glmr
5174
5191
  }
5175
5192
  },
5176
- extrinsic: ExtrinsicBuilder13().xTokens().transferMultiCurrencies()
5193
+ extrinsic: ExtrinsicBuilder13().polkadotXcm().transferAssets().X3()
5177
5194
  }
5178
5195
  ]
5179
5196
  });
@@ -5833,7 +5850,8 @@ import {
5833
5850
  AssetMinBuilder as AssetMinBuilder8,
5834
5851
  BalanceBuilder as BalanceBuilder33,
5835
5852
  ContractBuilder,
5836
- FeeBuilder as FeeBuilder23
5853
+ FeeBuilder as FeeBuilder23,
5854
+ MonitoringBuilder as MonitoringBuilder5
5837
5855
  } from "@moonbeam-network/xcm-builder";
5838
5856
  var moonbaseAlphaRoutes2 = new ChainRoutes({
5839
5857
  chain: moonbaseAlpha,
@@ -5993,12 +6011,14 @@ var moonbaseAlphaRoutes2 = new ChainRoutes({
5993
6011
  chain: alphanetAssetHub,
5994
6012
  balance: BalanceBuilder33().substrate().assets().account(),
5995
6013
  fee: {
5996
- amount: 5,
6014
+ amount: 8,
6015
+ // TODO mjm fee builder?
5997
6016
  asset: tt1
5998
6017
  },
5999
6018
  min: AssetMinBuilder8().assets().asset()
6000
6019
  },
6001
- contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32()
6020
+ contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),
6021
+ monitoring: MonitoringBuilder5().polkadotXcm().messageQueue()
6002
6022
  },
6003
6023
  {
6004
6024
  source: {
@@ -6047,7 +6067,8 @@ var moonbaseAlphaRoutes2 = new ChainRoutes({
6047
6067
  asset: unit
6048
6068
  }
6049
6069
  },
6050
- contract: ContractBuilder().XcmPrecompile().transferAssetsToRelay()
6070
+ contract: ContractBuilder().XcmPrecompile().transferAssetsToRelay(),
6071
+ monitoring: MonitoringBuilder5().polkadotXcm().messageQueue()
6051
6072
  },
6052
6073
  {
6053
6074
  source: {
@@ -6229,11 +6250,13 @@ var moonbaseAlphaRoutes2 = new ChainRoutes({
6229
6250
  chain: peaqAlphanet,
6230
6251
  balance: BalanceBuilder33().substrate().system().account(),
6231
6252
  fee: {
6232
- amount: 0.01,
6253
+ amount: 1e-10,
6254
+ // TODO mjm forcing error in destination, return to 0.01 after testing
6233
6255
  asset: agng
6234
6256
  }
6235
6257
  },
6236
- contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32()
6258
+ contract: ContractBuilder().XcmPrecompile().transferAssetsToPara32(),
6259
+ monitoring: MonitoringBuilder5().polkadotXcm().xcmpQueue()
6237
6260
  },
6238
6261
  {
6239
6262
  source: {
@@ -8750,7 +8773,8 @@ import {
8750
8773
  AssetMinBuilder as AssetMinBuilder12,
8751
8774
  BalanceBuilder as BalanceBuilder40,
8752
8775
  ExtrinsicBuilder as ExtrinsicBuilder29,
8753
- FeeBuilder as FeeBuilder30
8776
+ FeeBuilder as FeeBuilder30,
8777
+ MonitoringBuilder as MonitoringBuilder6
8754
8778
  } from "@moonbeam-network/xcm-builder";
8755
8779
  var peaqAlphanetRoutes2 = new ChainRoutes({
8756
8780
  chain: peaqAlphanet,
@@ -8772,11 +8796,16 @@ var peaqAlphanetRoutes2 = new ChainRoutes({
8772
8796
  chain: moonbaseAlpha,
8773
8797
  balance: BalanceBuilder40().evm().erc20(),
8774
8798
  fee: {
8775
- amount: FeeBuilder30().xcmPaymentApi().fromAssetIdQuery({ isAssetReserveChain: false }),
8799
+ // amount: FeeBuilder()
8800
+ // .xcmPaymentApi()
8801
+ // .fromAssetIdQuery({ isAssetReserveChain: false }),
8802
+ amount: 1e-3,
8803
+ // TODO remove this, force error in destination
8776
8804
  asset: agng
8777
8805
  }
8778
8806
  },
8779
- extrinsic: ExtrinsicBuilder29().xTokens().transfer()
8807
+ extrinsic: ExtrinsicBuilder29().xTokens().transfer(),
8808
+ monitoring: MonitoringBuilder6().xTokens().messageQueue()
8780
8809
  },
8781
8810
  {
8782
8811
  source: {