@hyperlane-xyz/relayer 0.1.0 → 1.0.0

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.
Files changed (53) hide show
  1. package/dist/core/HyperlaneRelayer.d.ts.map +1 -1
  2. package/dist/core/HyperlaneRelayer.js +13 -5
  3. package/dist/core/HyperlaneRelayer.js.map +1 -1
  4. package/dist/metadata/aggregation.d.ts +2 -2
  5. package/dist/metadata/aggregation.d.ts.map +1 -1
  6. package/dist/metadata/aggregation.js +50 -20
  7. package/dist/metadata/aggregation.js.map +1 -1
  8. package/dist/metadata/arbL2ToL1.d.ts +2 -2
  9. package/dist/metadata/arbL2ToL1.d.ts.map +1 -1
  10. package/dist/metadata/arbL2ToL1.hardhat-test.js +31 -26
  11. package/dist/metadata/arbL2ToL1.hardhat-test.js.map +1 -1
  12. package/dist/metadata/arbL2ToL1.js +44 -4
  13. package/dist/metadata/arbL2ToL1.js.map +1 -1
  14. package/dist/metadata/builder.d.ts +2 -2
  15. package/dist/metadata/builder.d.ts.map +1 -1
  16. package/dist/metadata/builder.hardhat-test.js +11 -4
  17. package/dist/metadata/builder.hardhat-test.js.map +1 -1
  18. package/dist/metadata/builder.js.map +1 -1
  19. package/dist/metadata/ccipread.d.ts +2 -2
  20. package/dist/metadata/ccipread.d.ts.map +1 -1
  21. package/dist/metadata/ccipread.hardhat-test.js +8 -2
  22. package/dist/metadata/ccipread.hardhat-test.js.map +1 -1
  23. package/dist/metadata/ccipread.js +11 -2
  24. package/dist/metadata/ccipread.js.map +1 -1
  25. package/dist/metadata/multisig.d.ts +44 -4
  26. package/dist/metadata/multisig.d.ts.map +1 -1
  27. package/dist/metadata/multisig.js +151 -32
  28. package/dist/metadata/multisig.js.map +1 -1
  29. package/dist/metadata/null.d.ts +2 -2
  30. package/dist/metadata/null.d.ts.map +1 -1
  31. package/dist/metadata/null.js +5 -1
  32. package/dist/metadata/null.js.map +1 -1
  33. package/dist/metadata/routing.d.ts +3 -3
  34. package/dist/metadata/routing.d.ts.map +1 -1
  35. package/dist/metadata/routing.js +17 -2
  36. package/dist/metadata/routing.js.map +1 -1
  37. package/dist/metadata/types.d.ts +89 -2
  38. package/dist/metadata/types.d.ts.map +1 -1
  39. package/dist/metadata/types.js +25 -1
  40. package/dist/metadata/types.js.map +1 -1
  41. package/package.json +7 -7
  42. package/src/core/HyperlaneRelayer.ts +17 -5
  43. package/src/metadata/aggregation.ts +72 -29
  44. package/src/metadata/arbL2ToL1.hardhat-test.ts +36 -33
  45. package/src/metadata/arbL2ToL1.ts +53 -6
  46. package/src/metadata/builder.hardhat-test.ts +15 -5
  47. package/src/metadata/builder.ts +5 -1
  48. package/src/metadata/ccipread.hardhat-test.ts +9 -3
  49. package/src/metadata/ccipread.ts +18 -4
  50. package/src/metadata/multisig.ts +261 -59
  51. package/src/metadata/null.ts +12 -3
  52. package/src/metadata/routing.ts +28 -5
  53. package/src/metadata/types.ts +149 -1
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneRelayer.d.ts","sourceRoot":"","sources":["../../src/core/HyperlaneRelayer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperlaneRelayer.d.ts","sourceRoot":"","sources":["../../src/core/HyperlaneRelayer.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { EvmHookReader, EvmIsmReader, HyperlaneCore, } from '@hyperlane-xyz/sdk';
2
2
  import { assert, messageId, objMap, objMerge, parseMessage, promiseObjAll, sleep, } from '@hyperlane-xyz/utils';
3
3
  import { BaseMetadataBuilder } from '../metadata/builder.js';
4
+ import { isMetadataBuildable } from '../metadata/types.js';
4
5
  import { messageMatchesWhitelist } from './whitelist.js';
5
6
  export class HyperlaneRelayer {
6
7
  multiProvider;
@@ -51,9 +52,13 @@ export class HyperlaneRelayer {
51
52
  return config;
52
53
  }
53
54
  async getIsmConfig(chain, ism, messageContext) {
55
+ // When messageContext is provided, the derived config may be message-specific
56
+ // (e.g., a routed sub-ISM), so use a different cache key to avoid polluting
57
+ // the generic ISM cache with message-specific configs
58
+ const cacheKey = messageContext ? `${ism}:${messageContext.id}` : ism;
54
59
  let config;
55
- if (this.cache?.ism[chain]?.[ism]) {
56
- config = this.cache.ism[chain][ism];
60
+ if (this.cache?.ism[chain]?.[cacheKey]) {
61
+ config = this.cache.ism[chain][cacheKey];
57
62
  }
58
63
  else {
59
64
  const evmIsmReader = new EvmIsmReader(this.multiProvider, chain, undefined, messageContext);
@@ -64,7 +69,7 @@ export class HyperlaneRelayer {
64
69
  }
65
70
  if (this.cache) {
66
71
  this.cache.ism[chain] ??= {};
67
- this.cache.ism[chain][ism] = config;
72
+ this.cache.ism[chain][cacheKey] = config;
68
73
  }
69
74
  return config;
70
75
  }
@@ -148,14 +153,17 @@ export class HyperlaneRelayer {
148
153
  this.getSenderHookConfig(message),
149
154
  ]);
150
155
  this.logger.debug({ ism, hook }, `Retrieved ISM and hook configs`);
151
- const metadata = await this.metadataBuilder.build({
156
+ const metadataResult = await this.metadataBuilder.build({
152
157
  message,
153
158
  ism,
154
159
  hook,
155
160
  dispatchTx,
156
161
  });
162
+ if (!isMetadataBuildable(metadataResult)) {
163
+ throw new Error(`Unable to build metadata for message ${message.id}: ${JSON.stringify(metadataResult)}`);
164
+ }
157
165
  this.logger.info(`Relaying message ${message.id}`);
158
- const receipt = await this.core.deliver(message, metadata);
166
+ const receipt = await this.core.deliver(message, metadataResult.metadata);
159
167
  const durationMs = Date.now() - startTime;
160
168
  this.observer.onEvent?.({
161
169
  type: 'messageRelayed',
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneRelayer.js","sourceRoot":"","sources":["../../src/core/HyperlaneRelayer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperlaneRelayer.js","sourceRoot":"","sources":["../../src/core/HyperlaneRelayer.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { AggregationIsmConfig } from '@hyperlane-xyz/sdk';
2
2
  import { WithAddress } from '@hyperlane-xyz/utils';
3
3
  import type { BaseMetadataBuilder } from './builder.js';
4
- import { MetadataBuilder, MetadataContext, StructuredMetadata } from './types.js';
4
+ import { AggregationMetadataBuildResult, MetadataBuilder, MetadataContext, StructuredMetadata } from './types.js';
5
5
  export interface AggregationMetadata<T = string> {
6
6
  type: AggregationIsmConfig['type'];
7
7
  submoduleMetadata: Array<T | null>;
@@ -10,7 +10,7 @@ export declare class AggregationMetadataBuilder implements MetadataBuilder {
10
10
  protected readonly base: BaseMetadataBuilder;
11
11
  protected logger: import("pino").default.Logger<never>;
12
12
  constructor(base: BaseMetadataBuilder);
13
- build(context: MetadataContext<WithAddress<AggregationIsmConfig>>, maxDepth?: number, timeoutMs?: number): Promise<string>;
13
+ build(context: MetadataContext<WithAddress<AggregationIsmConfig>>, maxDepth?: number, timeoutMs?: number): Promise<AggregationMetadataBuildResult>;
14
14
  static rangeIndex(index: number): number;
15
15
  static encode(metadata: AggregationMetadata<string>): string;
16
16
  static metadataRange(metadata: string, index: number): {
@@ -1 +1 @@
1
- {"version":3,"file":"aggregation.d.ts","sourceRoot":"","sources":["../../src/metadata/aggregation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAGrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,WAAW,EAOZ,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,EACL,eAAe,EACf,eAAe,EACf,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,mBAAmB,CAAC,CAAC,GAAG,MAAM;IAC7C,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACnC,iBAAiB,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;CACpC;AAKD,qBAAa,0BAA2B,YAAW,eAAe;IAKpD,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,mBAAmB;IAJxD,SAAS,CAAC,MAAM,uCAEb;gBAE4B,IAAI,EAAE,mBAAmB;IAElD,KAAK,CACT,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,EAC3D,QAAQ,SAAK,EACb,SAAS,SAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC;IAsDlB,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIxC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,GAAG,MAAM;IAmB5D,MAAM,CAAC,aAAa,CAClB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAYlD,MAAM,CAAC,MAAM,CACX,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,CAAC,oBAAoB,CAAC,GAC7C,mBAAmB,CAAC,kBAAkB,GAAG,MAAM,CAAC;CAYpD"}
1
+ {"version":3,"file":"aggregation.d.ts","sourceRoot":"","sources":["../../src/metadata/aggregation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAGrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,WAAW,EAMZ,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,EACL,8BAA8B,EAE9B,eAAe,EACf,eAAe,EACf,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,mBAAmB,CAAC,CAAC,GAAG,MAAM;IAC7C,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACnC,iBAAiB,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;CACpC;AAKD,qBAAa,0BAA2B,YAAW,eAAe;IAKpD,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,mBAAmB;IAJxD,SAAS,CAAC,MAAM,uCAEb;gBAE4B,IAAI,EAAE,mBAAmB;IAElD,KAAK,CACT,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,EAC3D,QAAQ,SAAK,EACb,SAAS,SAAkB,GAC1B,OAAO,CAAC,8BAA8B,CAAC;IAgG1C,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIxC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,GAAG,MAAM;IAmB5D,MAAM,CAAC,aAAa,CAClB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAYlD,MAAM,CAAC,MAAM,CACX,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,CAAC,oBAAoB,CAAC,GAC7C,mBAAmB,CAAC,kBAAkB,GAAG,MAAM,CAAC;CAYpD"}
@@ -1,5 +1,5 @@
1
1
  import { IsmType, } from '@hyperlane-xyz/sdk';
2
- import { assert, fromHexString, mapAllSettled, rootLogger, timeout, toHexString, } from '@hyperlane-xyz/utils';
2
+ import { fromHexString, mapAllSettled, rootLogger, timeout, toHexString, } from '@hyperlane-xyz/utils';
3
3
  import { decodeIsmMetadata } from './decode.js';
4
4
  const RANGE_SIZE = 4;
5
5
  // adapted from rust/main/agents/relayer/src/msg/metadata/aggregation.rs
@@ -13,37 +13,67 @@ export class AggregationMetadataBuilder {
13
13
  }
14
14
  async build(context, maxDepth = 10, timeoutMs = maxDepth * 1000) {
15
15
  this.logger.debug({ context, maxDepth, timeoutMs }, 'Building aggregation metadata');
16
- assert(maxDepth > 0, 'Max depth reached');
16
+ if (maxDepth <= 0) {
17
+ return {
18
+ type: context.ism.type,
19
+ ismAddress: context.ism.address,
20
+ threshold: context.ism.threshold,
21
+ modules: [],
22
+ metadata: undefined,
23
+ };
24
+ }
25
+ // Build metadata for each submodule in parallel using mapAllSettled
17
26
  const { fulfilled, rejected } = await mapAllSettled(context.ism.modules, (module) => timeout(this.base.build({
18
27
  ...context,
19
28
  ism: module,
20
29
  }, maxDepth - 1), timeoutMs));
21
- // Build metadatas array preserving index order for threshold selection
22
- const metadatas = context.ism.modules.map((_, index) => {
30
+ // Convert results to MetadataBuildResult array
31
+ const moduleResults = context.ism.modules.map((module, index) => {
23
32
  if (rejected.has(index)) {
24
33
  this.logger.warn(`Failed to build for submodule ${index}: ${rejected.get(index)?.message}`);
25
- return null;
34
+ // Return a minimal result for failed modules
35
+ const ismModule = module;
36
+ return {
37
+ type: ismModule.type,
38
+ ismAddress: ismModule.address,
39
+ metadata: undefined,
40
+ };
26
41
  }
27
42
  else {
28
43
  this.logger.debug(`Built metadata for submodule ${index}`);
29
- return fulfilled.get(index) ?? null;
44
+ return fulfilled.get(index);
30
45
  }
31
46
  });
32
- const included = metadatas.filter((meta) => meta !== null).length;
33
- assert(included >= context.ism.threshold, `Only built ${included} of ${context.ism.threshold} required modules`);
34
- // only include the first threshold metadatas
35
- let count = 0;
36
- for (let i = 0; i < metadatas.length; i++) {
37
- if (metadatas[i] === null)
38
- continue;
39
- count += 1;
40
- if (count > context.ism.threshold)
41
- metadatas[i] = null;
47
+ // Count modules that have buildable metadata
48
+ const buildableModules = moduleResults.filter((r) => r.metadata !== undefined);
49
+ const buildableCount = buildableModules.length;
50
+ const quorumMet = buildableCount >= context.ism.threshold;
51
+ this.logger.debug({ buildableCount, threshold: context.ism.threshold, quorumMet }, `Aggregation submodule build status`);
52
+ // Build the result
53
+ const result = {
54
+ type: context.ism.type,
55
+ ismAddress: context.ism.address,
56
+ threshold: context.ism.threshold,
57
+ modules: moduleResults,
58
+ };
59
+ // Only encode metadata if quorum is met
60
+ if (quorumMet) {
61
+ // Only include the first threshold metadatas for encoding
62
+ const metadatas = moduleResults.map((r) => r.metadata !== undefined ? r.metadata : null);
63
+ let count = 0;
64
+ for (let i = 0; i < metadatas.length; i++) {
65
+ if (metadatas[i] === null)
66
+ continue;
67
+ count += 1;
68
+ if (count > context.ism.threshold)
69
+ metadatas[i] = null;
70
+ }
71
+ result.metadata = AggregationMetadataBuilder.encode({
72
+ ...context.ism,
73
+ submoduleMetadata: metadatas,
74
+ });
42
75
  }
43
- return AggregationMetadataBuilder.encode({
44
- ...context.ism,
45
- submoduleMetadata: metadatas,
46
- });
76
+ return result;
47
77
  }
48
78
  static rangeIndex(index) {
49
79
  return index * 2 * RANGE_SIZE;
@@ -1 +1 @@
1
- {"version":3,"file":"aggregation.js","sourceRoot":"","sources":["../../src/metadata/aggregation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aggregation.js","sourceRoot":"","sources":["../../src/metadata/aggregation.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { L2ToL1TxEvent } from '@arbitrum/sdk/dist/lib/abi/ArbSys.js';
3
3
  import { BigNumber, BytesLike } from 'ethers';
4
4
  import { ArbL2ToL1HookConfig, ArbL2ToL1IsmConfig, HyperlaneCore } from '@hyperlane-xyz/sdk';
5
5
  import { WithAddress } from '@hyperlane-xyz/utils';
6
- import type { MetadataBuilder, MetadataContext } from './types.js';
6
+ import type { ArbL2ToL1MetadataBuildResult, MetadataBuilder, MetadataContext } from './types.js';
7
7
  export type NitroChildToParentTransactionEvent = EventArgs<L2ToL1TxEvent>;
8
8
  export type ArbL2ToL1Metadata = Omit<NitroChildToParentTransactionEvent, 'hash'> & {
9
9
  proof: BytesLike[];
@@ -12,7 +12,7 @@ export declare class ArbL2ToL1MetadataBuilder implements MetadataBuilder {
12
12
  protected readonly core: HyperlaneCore;
13
13
  protected readonly logger: import("pino").default.Logger<never>;
14
14
  constructor(core: HyperlaneCore, logger?: import("pino").default.Logger<never>);
15
- build(context: MetadataContext<WithAddress<ArbL2ToL1IsmConfig>, WithAddress<ArbL2ToL1HookConfig>>): Promise<string>;
15
+ build(context: MetadataContext<WithAddress<ArbL2ToL1IsmConfig>, WithAddress<ArbL2ToL1HookConfig>>): Promise<ArbL2ToL1MetadataBuildResult>;
16
16
  buildArbitrumBridgeCalldata(context: MetadataContext<WithAddress<ArbL2ToL1IsmConfig>, WithAddress<ArbL2ToL1HookConfig>>): Promise<ArbL2ToL1Metadata>;
17
17
  getWaitingBlocksUntilReady(reader: ChildToParentMessageReader, provider: ArbitrumProvider): Promise<BigNumber>;
18
18
  getArbitrumBridgeStatus(reader: ChildToParentMessageReader, provider: ArbitrumProvider): Promise<ChildToParentMessageStatus>;
@@ -1 +1 @@
1
- {"version":3,"file":"arbL2ToL1.d.ts","sourceRoot":"","sources":["../../src/metadata/arbL2ToL1.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,0BAA0B,EAE1B,SAAS,EACV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAoB,MAAM,QAAQ,CAAC;AAOhE,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EAGd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAsB,MAAM,sBAAsB,CAAC;AAEvE,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEnE,MAAM,MAAM,kCAAkC,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;AAC1E,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,kCAAkC,EAClC,MAAM,CACP,GAAG;IACF,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB,CAAC;AAIF,qBAAa,wBAAyB,YAAW,eAAe;IAE5D,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa;IACtC,SAAS,CAAC,QAAQ,CAAC,MAAM;gBADN,IAAI,EAAE,aAAa,EACnB,MAAM,uCAEvB;IAGE,KAAK,CACT,OAAO,EAAE,eAAe,CACtB,WAAW,CAAC,kBAAkB,CAAC,EAC/B,WAAW,CAAC,mBAAmB,CAAC,CACjC,GACA,OAAO,CAAC,MAAM,CAAC;IAsBZ,2BAA2B,CAC/B,OAAO,EAAE,eAAe,CACtB,WAAW,CAAC,kBAAkB,CAAC,EAC/B,WAAW,CAAC,mBAAmB,CAAC,CACjC,GACA,OAAO,CAAC,iBAAiB,CAAC;IA4FvB,0BAA0B,CAC9B,MAAM,EAAE,0BAA0B,EAClC,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,SAAS,CAAC;IAcf,uBAAuB,CAC3B,MAAM,EAAE,0BAA0B,EAClC,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,0BAA0B,CAAC;IAIhC,sBAAsB,CAC1B,MAAM,EAAE,0BAA0B,EAClC,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,MAAM,EAAE,CAAC;IAQpB,MAAM,CAAC,MAAM,CACX,QAAQ,EAAE,MAAM,EAChB,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,GAClD,iBAAiB;IAiBpB,MAAM,CAAC,uBAAuB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM;CAsBpE"}
1
+ {"version":3,"file":"arbL2ToL1.d.ts","sourceRoot":"","sources":["../../src/metadata/arbL2ToL1.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,0BAA0B,EAE1B,SAAS,EACV,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAoB,MAAM,QAAQ,CAAC;AAOhE,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EAGd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAsB,MAAM,sBAAsB,CAAC;AAEvE,OAAO,KAAK,EACV,4BAA4B,EAC5B,eAAe,EACf,eAAe,EAChB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,kCAAkC,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;AAC1E,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,kCAAkC,EAClC,MAAM,CACP,GAAG;IACF,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB,CAAC;AAIF,qBAAa,wBAAyB,YAAW,eAAe;IAE5D,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,aAAa;IACtC,SAAS,CAAC,QAAQ,CAAC,MAAM;gBADN,IAAI,EAAE,aAAa,EACnB,MAAM,uCAEvB;IAGE,KAAK,CACT,OAAO,EAAE,eAAe,CACtB,WAAW,CAAC,kBAAkB,CAAC,EAC/B,WAAW,CAAC,mBAAmB,CAAC,CACjC,GACA,OAAO,CAAC,4BAA4B,CAAC;IAiElC,2BAA2B,CAC/B,OAAO,EAAE,eAAe,CACtB,WAAW,CAAC,kBAAkB,CAAC,EAC/B,WAAW,CAAC,mBAAmB,CAAC,CACjC,GACA,OAAO,CAAC,iBAAiB,CAAC;IA4FvB,0BAA0B,CAC9B,MAAM,EAAE,0BAA0B,EAClC,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,SAAS,CAAC;IAcf,uBAAuB,CAC3B,MAAM,EAAE,0BAA0B,EAClC,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,0BAA0B,CAAC;IAIhC,sBAAsB,CAC1B,MAAM,EAAE,0BAA0B,EAClC,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,MAAM,EAAE,CAAC;IAQpB,MAAM,CAAC,MAAM,CACX,QAAQ,EAAE,MAAM,EAChB,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,GAClD,iBAAiB;IAiBpB,MAAM,CAAC,uBAAuB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM;CAsBpE"}
@@ -8,6 +8,7 @@ import { ArbL2ToL1Hook__factory, ArbL2ToL1Ism__factory, MockArbBridge__factory,
8
8
  import { EvmHookModule, EvmIsmReader, HookType, HyperlaneIsmFactory, HyperlaneProxyFactoryDeployer, MultiProvider, TestCoreDeployer, TestRecipientDeployer, testChains, } from '@hyperlane-xyz/sdk';
9
9
  import { bytes32ToAddress, objMap, } from '@hyperlane-xyz/utils';
10
10
  import { ArbL2ToL1MetadataBuilder } from './arbL2ToL1.js';
11
+ import { isMetadataBuildable, } from './types.js';
11
12
  describe('ArbL2ToL1MetadataBuilder', () => {
12
13
  const origin = 'test4';
13
14
  const destination = 'test2';
@@ -85,7 +86,7 @@ describe('ArbL2ToL1MetadataBuilder', () => {
85
86
  metadataBuilder = new ArbL2ToL1MetadataBuilder(core);
86
87
  });
87
88
  describe('#build', () => {
88
- let metadata;
89
+ let result;
89
90
  beforeEach(async () => {
90
91
  const testRecipient = testRecipients[destination];
91
92
  arbL2ToL1Ism = ArbL2ToL1Ism__factory.connect(bytes32ToAddress(await arbL2ToL1Hook.ism()), relayer);
@@ -107,21 +108,20 @@ describe('ArbL2ToL1MetadataBuilder', () => {
107
108
  });
108
109
  it(`should build valid metadata using direct executeTransaction call`, async () => {
109
110
  setArbitrumBridgeStatus(ChildToParentMessageStatus.CONFIRMED);
110
- metadata = await metadataBuilder.build(context);
111
- await arbL2ToL1Ism.verify(metadata, context.message.message);
111
+ result = await metadataBuilder.build(context);
112
+ expect(result.bridgeStatus).to.equal('confirmed');
113
+ expect(isMetadataBuildable(result)).to.be.true;
114
+ if (isMetadataBuildable(result)) {
115
+ await arbL2ToL1Ism.verify(result.metadata, context.message.message);
116
+ }
112
117
  });
113
- it(`should throw an error if the message has already been relayed`, async () => {
118
+ it(`should return executed status if the message has already been relayed`, async () => {
114
119
  setArbitrumBridgeStatus(ChildToParentMessageStatus.EXECUTED);
115
- try {
116
- await metadataBuilder.build(context);
117
- expect.fail('Expected an error to be thrown');
118
- }
119
- catch (error) {
120
- expect(error.message).to.include('Arbitrum L2ToL1 message has already been executed');
121
- }
122
- await expect(arbL2ToL1Ism.verify(metadata, context.message.message)).to.be.revertedWith('ArbL2ToL1Ism: invalid message id');
120
+ result = await metadataBuilder.build(context);
121
+ expect(result.bridgeStatus).to.equal('executed');
122
+ expect(isMetadataBuildable(result)).to.be.false;
123
123
  });
124
- it(`should throw an error if the challenge period hasn't passed`, async () => {
124
+ it(`should return unconfirmed status if the challenge period hasn't passed`, async () => {
125
125
  setArbitrumBridgeStatus(ChildToParentMessageStatus.UNCONFIRMED);
126
126
  // stub waiting period to 10 blocks
127
127
  sinon
@@ -129,28 +129,33 @@ describe('ArbL2ToL1MetadataBuilder', () => {
129
129
  .callsFake(async () => {
130
130
  return BigNumber.from(10); // test waiting period
131
131
  });
132
- try {
133
- await metadataBuilder.build(context);
134
- expect.fail('Expected an error to be thrown');
135
- }
136
- catch (error) {
137
- expect(error.message).to.include("Arbitrum L2ToL1 message isn't ready for relay. Wait 10 blocks until the challenge period before relaying again");
138
- }
139
- await expect(arbL2ToL1Ism.verify(metadata, context.message.message)).to.be.revertedWith('ArbL2ToL1Ism: invalid message id');
132
+ result = await metadataBuilder.build(context);
133
+ expect(result.bridgeStatus).to.equal('unconfirmed');
134
+ expect(result.blocksRemaining).to.equal(10);
135
+ expect(isMetadataBuildable(result)).to.be.false;
140
136
  });
141
137
  it(`should build valid metadata if already preverified by 3rd party relayer`, async () => {
142
138
  setArbitrumBridgeStatus(ChildToParentMessageStatus.CONFIRMED);
143
139
  const calldata = await metadataBuilder.buildArbitrumBridgeCalldata(context);
144
- metadata = ArbL2ToL1MetadataBuilder.encodeArbL2ToL1Metadata(calldata);
140
+ const encodedMetadata = ArbL2ToL1MetadataBuilder.encodeArbL2ToL1Metadata(calldata);
141
+ // Simulate 3rd party executing the bridge transaction
142
+ void encodedMetadata; // we don't use this directly, just verify the encoding works
145
143
  await arbBridge.executeTransaction(calldata.proof, calldata.position, calldata.caller, calldata.destination, calldata.arbBlockNum, calldata.ethBlockNum, calldata.timestamp, BigNumber.from(0), // msg.value
146
144
  calldata.data);
147
- metadata = await metadataBuilder.build(context);
148
- await arbL2ToL1Ism.verify(metadata, context.message.message);
145
+ result = await metadataBuilder.build(context);
146
+ expect(result.bridgeStatus).to.equal('verified');
147
+ expect(isMetadataBuildable(result)).to.be.true;
148
+ if (isMetadataBuildable(result)) {
149
+ await arbL2ToL1Ism.verify(result.metadata, context.message.message);
150
+ }
149
151
  });
150
152
  it(`should decode metadata`, async () => {
151
153
  setArbitrumBridgeStatus(ChildToParentMessageStatus.CONFIRMED);
152
- metadata = await metadataBuilder.build(context);
153
- ArbL2ToL1MetadataBuilder.decode(metadata, context);
154
+ result = await metadataBuilder.build(context);
155
+ expect(isMetadataBuildable(result)).to.be.true;
156
+ if (isMetadataBuildable(result)) {
157
+ ArbL2ToL1MetadataBuilder.decode(result.metadata, context);
158
+ }
154
159
  });
155
160
  });
156
161
  afterEach(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"arbL2ToL1.hardhat-test.js","sourceRoot":"","sources":["../../src/metadata/arbL2ToL1.hardhat-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAE3D,OAAO,2BAA2B,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,GAAG,MAAM,SAAS,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAEL,sBAAsB,EAEtB,qBAAqB,EAErB,sBAAsB,EACtB,mBAAmB,GAEpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAKL,aAAa,EACb,YAAY,EACZ,QAAQ,EAIR,mBAAmB,EACnB,6BAA6B,EAC7B,aAAa,EAEb,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,GACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGL,gBAAgB,EAChB,MAAM,GACP,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,MAAM,MAAM,GAAc,OAAO,CAAC;IAClC,MAAM,WAAW,GAAc,OAAO,CAAC;IACvC,IAAI,IAAmB,CAAC;IACxB,IAAI,UAA+B,CAAC;IACpC,IAAI,UAAyC,CAAC;IAC9C,IAAI,aAA4B,CAAC;IACjC,IAAI,YAA0B,CAAC;IAC/B,IAAI,SAAwB,CAAC;IAC7B,IAAI,cAAgD,CAAC;IACrD,IAAI,qBAAgE,CAAC;IACrE,IAAI,gBAA2D,CAAC;IAChE,IAAI,OAA0B,CAAC;IAC/B,IAAI,eAAyC,CAAC;IAC9C,IAAI,OAGH,CAAC;IAEF,SAAS,uBAAuB,CAAC,MAAkC;QACjE,KAAK;aACF,IAAI,CAAC,eAAe,EAAE,yBAAyB,CAAC;aAChD,SAAS,CAAC,KAAK,IAAyC,EAAE;YACzD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,KAAK,IAAI,EAAE;QAChB,CAAC,OAAO,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1C,MAAM,aAAa,GAAG,aAAa,CAAC,uBAAuB,CAAC;YAC1D,MAAM,EAAE,OAAO;SAChB,CAAC,CAAC;QACH,MAAM,kBAAkB,GAAG,IAAI,6BAA6B,CAAC,aAAa,CAAC,CAAC;QAC5E,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAClD,aAAa,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CACzC,CAAC;QACF,UAAU,GAAG,IAAI,mBAAmB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,IAAI,gBAAgB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QACrE,MAAM,iBAAiB,GAAG,IAAI,qBAAqB,CAAC,aAAa,CAAC,CAAC;QACnE,cAAc,GAAG,MAAM,CACrB,MAAM,iBAAiB,CAAC,MAAM,CAC5B,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CACnD,EACD,CAAC,CAAC,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,aAAa,CACxC,CAAC;QACF,IAAI,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,CAAC;QAEtC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,YAAY,CACjD,MAAM,EACN,IAAI,mBAAmB,EAAE,EACzB,EAAE,CACH,CAAC;QACF,UAAU,GAAG;YACX,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ,CAAC,YAAY;gBAC3B,MAAM,EAAE,UAAU,CAAC,OAAO;gBAC1B,gBAAgB,EAAE,WAAW;gBAC7B,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ,CAAC,wBAAwB;oBACvC,WAAW,EAAE,OAAO,CAAC,OAAO;oBAC5B,KAAK,EAAE,OAAO,CAAC,OAAO;oBACtB,SAAS,EAAE,OAAO,CAAC,OAAO;oBAC1B,QAAQ,EAAE;wBACR,CAAC,WAAW,CAAC,EAAE,MAAM;qBACtB;oBACD,YAAY,EAAE;wBACZ,CAAC,WAAW,CAAC,EAAE;4BACb,QAAQ,EAAE,IAAI;4BACd,iBAAiB,EAAE,aAAa;yBACjC;qBACF;iBACF;aACF;SACF,CAAC;QAEF,gBAAgB,GAAG,YAAY,CAAC,KAAK,CAAC;QACtC,qBAAqB,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAC1D,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACX,GAAG,CAAC,GAAG,CAAC;gBACN,YAAY,CAAC,MAAM,CAAC,CAAC,GAAkC,CAAC,CAAC,OAAO,CAAC;YACnE,OAAO,GAAG,CAAC;QACb,CAAC,EACD,EAA6B,CACe,CAAC;QAC/C,SAAS,GAAG,MAAM,aAAa,CAAC,YAAY,CAC1C,MAAM,EACN,IAAI,sBAAsB,EAAE,EAC5B,EAAE,CACH,CAAC;QACF,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;QAE5C,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC;YAC5C,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,UAAU,CAAC,KAAK;YACxB,qBAAqB,EAAE,qBAAqB;YAC5C,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YACxC,aAAa;SACd,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,EAAE,CAAC,YAAY,CAAC;QAExD,aAAa,GAAG,sBAAsB,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAErE,eAAe,GAAG,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,IAAI,QAAgB,CAAC;QAErB,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,MAAM,aAAa,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;YAClD,YAAY,GAAG,qBAAqB,CAAC,OAAO,CAC1C,gBAAgB,CAAC,MAAM,aAAa,CAAC,GAAG,EAAE,CAAC,EAC3C,OAAO,CACR,CAAC;YACF,MAAM,aAAa,CAAC,2BAA2B,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAEtE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CACpD,MAAM,EACN,WAAW,EACX,aAAa,CAAC,OAAO,EACrB,YAAY,EACZ,aAAa,CAAC,OAAO,CACtB,CAAC;YAEF,MAAM,UAAU,GAAG,MAAM,IAAI,YAAY,CACvC,IAAI,CAAC,aAAa,EAClB,WAAW,CACZ,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAExC,OAAO,GAAG;gBACR,IAAI,EAAE,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE;gBAC/D,GAAG,EAAE,UAA6C;gBAClD,OAAO;gBACP,UAAU;aACX,CAAC;YAEF,KAAK;iBACF,IAAI,CAAC,eAAe,EAAE,wBAAwB,CAAC;iBAC/C,SAAS,CAAC,KAAK,IAAuB,EAAE;gBACvC,MAAM,SAAS,CAAC,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBACvD,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,uBAAuB,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;YAC9D,QAAQ,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAEhD,MAAM,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC7E,uBAAuB,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;YAE7D,IAAI,CAAC;gBACH,MAAM,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,CAC9B,mDAAmD,CACpD,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,CACV,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CACvD,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,kCAAkC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;YAC3E,uBAAuB,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;YAEhE,mCAAmC;YACnC,KAAK;iBACF,IAAI,CAAC,eAAe,EAAE,4BAA4B,CAAC;iBACnD,SAAS,CAAC,KAAK,IAAwB,EAAE;gBACxC,OAAO,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB;YACnD,CAAC,CAAC,CAAC;YAEL,IAAI,CAAC;gBACH,MAAM,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACrC,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAChD,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,OAAO,CAC9B,gHAAgH,CACjH,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,CACV,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CACvD,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,kCAAkC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;YACvF,uBAAuB,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;YAE9D,MAAM,QAAQ,GACZ,MAAM,eAAe,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;YAC7D,QAAQ,GAAG,wBAAwB,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YACtE,MAAM,SAAS,CAAC,kBAAkB,CAChC,QAAQ,CAAC,KAAK,EACd,QAAQ,CAAC,QAAQ,EACjB,QAAQ,CAAC,MAAM,EACf,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,WAAW,EACpB,QAAQ,CAAC,SAAS,EAClB,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY;YAC/B,QAAQ,CAAC,IAAI,CACd,CAAC;YACF,QAAQ,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAChD,MAAM,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;YACtC,uBAAuB,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;YAC9D,QAAQ,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAEhD,wBAAwB,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"arbL2ToL1.hardhat-test.js","sourceRoot":"","sources":["../../src/metadata/arbL2ToL1.hardhat-test.ts"],"names":[],"mappings":"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"}
@@ -16,16 +16,56 @@ export class ArbL2ToL1MetadataBuilder {
16
16
  async build(context) {
17
17
  assert(context.ism.type === IsmType.ARB_L2_TO_L1, 'Invalid ISM type');
18
18
  this.logger.debug({ context }, 'Building ArbL2ToL1 metadata');
19
+ const baseResult = {
20
+ type: IsmType.ARB_L2_TO_L1,
21
+ ismAddress: context.ism.address,
22
+ };
19
23
  // if the executeTransaction call is already successful, we can call with null metadata
20
24
  const ism = AbstractMessageIdAuthorizedIsm__factory.connect(context.ism.address, this.core.multiProvider.getSigner(context.message.parsed.destination));
21
- const verified = await ism.isVerified(context.message.id);
25
+ const verified = await ism.isVerified(context.message.message);
22
26
  if (verified) {
23
27
  this.logger.debug('Message is already verified, relaying without metadata...');
24
- return '0x';
28
+ return {
29
+ ...baseResult,
30
+ bridgeStatus: 'verified',
31
+ metadata: '0x',
32
+ };
25
33
  }
26
34
  // else build the metadata for outbox.executeTransaction call
27
- const metadata = await this.buildArbitrumBridgeCalldata(context);
28
- return ArbL2ToL1MetadataBuilder.encodeArbL2ToL1Metadata(metadata);
35
+ try {
36
+ const arbMetadata = await this.buildArbitrumBridgeCalldata(context);
37
+ return {
38
+ ...baseResult,
39
+ bridgeStatus: 'confirmed',
40
+ metadata: ArbL2ToL1MetadataBuilder.encodeArbL2ToL1Metadata(arbMetadata),
41
+ };
42
+ }
43
+ catch (error) {
44
+ // Parse the error to determine bridge status
45
+ const errorMessage = error?.message ?? String(error);
46
+ if (errorMessage.includes('Wait') && errorMessage.includes('blocks')) {
47
+ // Extract blocks remaining from error message
48
+ // Note: This parsing depends on error format from buildArbitrumBridgeCalldata
49
+ // e.g., "Wait 123 blocks until the challenge period..."
50
+ const blocksMatch = errorMessage.match(/Wait (\d+) blocks/);
51
+ const blocksRemaining = blocksMatch
52
+ ? parseInt(blocksMatch[1], 10)
53
+ : undefined;
54
+ return {
55
+ ...baseResult,
56
+ bridgeStatus: 'unconfirmed',
57
+ blocksRemaining,
58
+ };
59
+ }
60
+ if (errorMessage.includes('already been executed')) {
61
+ return {
62
+ ...baseResult,
63
+ bridgeStatus: 'executed',
64
+ };
65
+ }
66
+ // Re-throw unknown errors
67
+ throw error;
68
+ }
29
69
  }
30
70
  async buildArbitrumBridgeCalldata(context) {
31
71
  const matchingL2TxEvent = findMatchingLogEvents(context.dispatchTx.logs, ArbSys, 'L2ToL1Tx').find((log) => {
@@ -1 +1 @@
1
- {"version":3,"file":"arbL2ToL1.js","sourceRoot":"","sources":["../../src/metadata/arbL2ToL1.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arbL2ToL1.js","sourceRoot":"","sources":["../../src/metadata/arbL2ToL1.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { OffchainLookupMetadataBuilder } from './ccipread.js';
5
5
  import { MultisigMetadataBuilder } from './multisig.js';
6
6
  import { NullMetadataBuilder } from './null.js';
7
7
  import { DynamicRoutingMetadataBuilder } from './routing.js';
8
- import type { MetadataBuilder, MetadataContext, StructuredMetadata } from './types.js';
8
+ import type { MetadataBuildResult, MetadataBuilder, MetadataContext, StructuredMetadata } from './types.js';
9
9
  export declare class BaseMetadataBuilder implements MetadataBuilder {
10
10
  nullMetadataBuilder: NullMetadataBuilder;
11
11
  multisigMetadataBuilder: MultisigMetadataBuilder;
@@ -16,7 +16,7 @@ export declare class BaseMetadataBuilder implements MetadataBuilder {
16
16
  multiProvider: MultiProvider;
17
17
  protected logger: import("pino").default.Logger<never>;
18
18
  constructor(core: HyperlaneCore);
19
- build(context: MetadataContext, maxDepth?: number): Promise<string>;
19
+ build(context: MetadataContext, maxDepth?: number): Promise<MetadataBuildResult>;
20
20
  static decode(metadata: string, context: MetadataContext): StructuredMetadata;
21
21
  }
22
22
  //# sourceMappingURL=builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/metadata/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,aAAa,EAGb,aAAa,EACd,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAE9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,qBAAa,mBAAoB,YAAW,eAAe;IAClD,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,0BAA0B,EAAE,0BAA0B,CAAC;IACvD,sBAAsB,EAAE,6BAA6B,CAAC;IACtD,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,uBAAuB,EAAE,6BAA6B,CAAC;IAEvD,aAAa,EAAE,aAAa,CAAC;IACpC,SAAS,CAAC,MAAM,uCAAuD;gBAE3D,IAAI,EAAE,aAAa;IAWzB,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,SAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IA0ErE,MAAM,CAAC,MAAM,CACX,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,GACvB,kBAAkB;CAGtB"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/metadata/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,aAAa,EAGb,aAAa,EACd,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AAE9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,qBAAa,mBAAoB,YAAW,eAAe;IAClD,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,uBAAuB,EAAE,uBAAuB,CAAC;IACjD,0BAA0B,EAAE,0BAA0B,CAAC;IACvD,sBAAsB,EAAE,6BAA6B,CAAC;IACtD,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,uBAAuB,EAAE,6BAA6B,CAAC;IAEvD,aAAa,EAAE,aAAa,CAAC;IACpC,SAAS,CAAC,MAAM,uCAAuD;gBAE3D,IAAI,EAAE,aAAa;IAWzB,KAAK,CACT,OAAO,EAAE,eAAe,EACxB,QAAQ,SAAK,GACZ,OAAO,CAAC,mBAAmB,CAAC;IA0E/B,MAAM,CAAC,MAAM,CACX,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,GACvB,kBAAkB;CAGtB"}
@@ -6,6 +6,7 @@ import { EvmHookModule, EvmIsmReader, HookType, HyperlaneIsmFactory, HyperlanePr
6
6
  import { BaseValidator, addressToBytes32, eqAddress, objMap, randomElement, } from '@hyperlane-xyz/utils';
7
7
  import { BaseMetadataBuilder } from './builder.js';
8
8
  import { decodeIsmMetadata } from './decode.js';
9
+ import { isMetadataBuildable, } from './types.js';
9
10
  const MAX_ISM_DEPTH = 5;
10
11
  const MAX_NUM_VALIDATORS = 10;
11
12
  const NUM_RUNS = 16;
@@ -84,7 +85,7 @@ describe('BaseMetadataBuilder', () => {
84
85
  let origin;
85
86
  let destination;
86
87
  let context;
87
- let metadata;
88
+ let metadataResult;
88
89
  beforeEach(async () => {
89
90
  origin = randomElement(testChains);
90
91
  destination = randomElement(testChains.filter((c) => c !== origin));
@@ -111,17 +112,23 @@ describe('BaseMetadataBuilder', () => {
111
112
  message,
112
113
  dispatchTx,
113
114
  };
114
- metadata = await metadataBuilder.build(context, MAX_ISM_DEPTH);
115
+ metadataResult = await metadataBuilder.build(context, MAX_ISM_DEPTH);
115
116
  });
116
117
  for (let i = 0; i < NUM_RUNS; i++) {
117
118
  it(`should build valid metadata for random ism config (${i})`, async () => {
119
+ if (!isMetadataBuildable(metadataResult)) {
120
+ throw new Error('Metadata should be buildable');
121
+ }
118
122
  // must call process for trusted relayer to be able to verify
119
123
  await core
120
124
  .getContracts(destination)
121
- .mailbox.process(metadata, context.message.message);
125
+ .mailbox.process(metadataResult.metadata, context.message.message);
122
126
  });
123
127
  it(`should decode metadata for random ism config (${i})`, async () => {
124
- decodeIsmMetadata(metadata, context);
128
+ if (!isMetadataBuildable(metadataResult)) {
129
+ throw new Error('Metadata should be buildable');
130
+ }
131
+ decodeIsmMetadata(metadataResult.metadata, context);
125
132
  });
126
133
  }
127
134
  });