@aztec/ethereum 5.0.0-nightly.20260421 → 5.0.0-nightly.20260423

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/dest/client.d.ts CHANGED
@@ -16,6 +16,12 @@ export type { Config as EthereumClientConfig };
16
16
  export declare function makeL1HttpTransport(rpcUrls: string[], opts?: {
17
17
  timeout?: number;
18
18
  }): import("viem").FallbackTransport<import("viem").HttpTransport<undefined, false>[]>;
19
+ /**
20
+ * Returns the individual RPC URLs underlying a viem public client that was constructed with a
21
+ * fallback HTTP transport (see {@link makeL1HttpTransport}). Returns an empty array if the
22
+ * transport shape is not recognized (e.g. mock clients in tests, or non-fallback transports).
23
+ */
24
+ export declare function getRpcUrlsFromClient(client: ViemPublicClient): string[];
19
25
  /** Returns a viem public client given the L1 config. */
20
26
  export declare function getPublicClient(config: Config): ViemPublicClient;
21
27
  /** Returns a viem public client after waiting for the L1 RPC node to become available. */
@@ -23,4 +29,4 @@ export declare function waitForPublicClient(config: Config, logger?: Logger): Pr
23
29
  export declare function createExtendedL1Client(rpcUrls: string[], mnemonicOrPrivateKeyOrHdAccount: string | HDAccount | PrivateKeyAccount | LocalAccount, chain?: Chain, pollingIntervalMS?: number, addressIndex?: number, opts?: {
24
30
  httpTimeoutMS?: number;
25
31
  }): ExtendedViemWalletClient;
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3BELE9BQU8sRUFDTCxLQUFLLEtBQUssRUFDVixLQUFLLFNBQVMsRUFDZCxLQUFLLFlBQVksRUFDakIsS0FBSyxpQkFBaUIsRUFNdkIsTUFBTSxNQUFNLENBQUM7QUFLZCxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU3RSxLQUFLLE1BQU0sR0FBRztJQUNaLDBGQUEwRjtJQUMxRixTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDcEIseUNBQXlDO0lBQ3pDLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsMkNBQTJDO0lBQzNDLHFCQUFxQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQy9CLDBEQUEwRDtJQUMxRCxlQUFlLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDMUIsQ0FBQztBQUVGLFlBQVksRUFBRSxNQUFNLElBQUksb0JBQW9CLEVBQUUsQ0FBQztBQUUvQyx3RUFBd0U7QUFDeEUsd0JBQWdCLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtJQUFFLE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQTtDQUFFLHNGQUVqRjtBQUlELHdEQUF3RDtBQUN4RCx3QkFBZ0IsZUFBZSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsZ0JBQWdCLENBT2hFO0FBRUQsMEZBQTBGO0FBQzFGLHdCQUFzQixtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FJcEc7QUF5QkQsd0JBQWdCLHNCQUFzQixDQUNwQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQ2pCLCtCQUErQixFQUFFLE1BQU0sR0FBRyxTQUFTLEdBQUcsaUJBQWlCLEdBQUcsWUFBWSxFQUN0RixLQUFLLEdBQUUsS0FBZSxFQUN0QixpQkFBaUIsQ0FBQyxFQUFFLE1BQU0sRUFDMUIsWUFBWSxDQUFDLEVBQUUsTUFBTSxFQUNyQixJQUFJLENBQUMsRUFBRTtJQUFFLGFBQWEsQ0FBQyxFQUFFLE1BQU0sQ0FBQTtDQUFFLEdBQ2hDLHdCQUF3QixDQWdCMUIifQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3BELE9BQU8sRUFDTCxLQUFLLEtBQUssRUFDVixLQUFLLFNBQVMsRUFDZCxLQUFLLFlBQVksRUFDakIsS0FBSyxpQkFBaUIsRUFNdkIsTUFBTSxNQUFNLENBQUM7QUFLZCxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU3RSxLQUFLLE1BQU0sR0FBRztJQUNaLDBGQUEwRjtJQUMxRixTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDcEIseUNBQXlDO0lBQ3pDLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsMkNBQTJDO0lBQzNDLHFCQUFxQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQy9CLDBEQUEwRDtJQUMxRCxlQUFlLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDMUIsQ0FBQztBQUVGLFlBQVksRUFBRSxNQUFNLElBQUksb0JBQW9CLEVBQUUsQ0FBQztBQUUvQyx3RUFBd0U7QUFDeEUsd0JBQWdCLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtJQUFFLE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQTtDQUFFLHNGQUVqRjtBQUVEOzs7O0dBSUc7QUFDSCx3QkFBZ0Isb0JBQW9CLENBQUMsTUFBTSxFQUFFLGdCQUFnQixHQUFHLE1BQU0sRUFBRSxDQVd2RTtBQUlELHdEQUF3RDtBQUN4RCx3QkFBZ0IsZUFBZSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsZ0JBQWdCLENBT2hFO0FBRUQsMEZBQTBGO0FBQzFGLHdCQUFzQixtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FJcEc7QUF5QkQsd0JBQWdCLHNCQUFzQixDQUNwQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQ2pCLCtCQUErQixFQUFFLE1BQU0sR0FBRyxTQUFTLEdBQUcsaUJBQWlCLEdBQUcsWUFBWSxFQUN0RixLQUFLLEdBQUUsS0FBZSxFQUN0QixpQkFBaUIsQ0FBQyxFQUFFLE1BQU0sRUFDMUIsWUFBWSxDQUFDLEVBQUUsTUFBTSxFQUNyQixJQUFJLENBQUMsRUFBRTtJQUFFLGFBQWEsQ0FBQyxFQUFFLE1BQU0sQ0FBQTtDQUFFLEdBQ2hDLHdCQUF3QixDQWdCMUIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EACL,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,iBAAiB,EAMvB,MAAM,MAAM,CAAC;AAKd,OAAO,KAAK,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE7E,KAAK,MAAM,GAAG;IACZ,0FAA0F;IAC1F,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,0DAA0D;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,YAAY,EAAE,MAAM,IAAI,oBAAoB,EAAE,CAAC;AAE/C,wEAAwE;AACxE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,sFAEjF;AAID,wDAAwD;AACxD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAOhE;AAED,0FAA0F;AAC1F,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAIpG;AAyBD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EAAE,EACjB,+BAA+B,EAAE,MAAM,GAAG,SAAS,GAAG,iBAAiB,GAAG,YAAY,EACtF,KAAK,GAAE,KAAe,EACtB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,YAAY,CAAC,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GAChC,wBAAwB,CAgB1B"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EACL,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,iBAAiB,EAMvB,MAAM,MAAM,CAAC;AAKd,OAAO,KAAK,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE7E,KAAK,MAAM,GAAG;IACZ,0FAA0F;IAC1F,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,0DAA0D;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,YAAY,EAAE,MAAM,IAAI,oBAAoB,EAAE,CAAC;AAE/C,wEAAwE;AACxE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,sFAEjF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAWvE;AAID,wDAAwD;AACxD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAOhE;AAED,0FAA0F;AAC1F,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAIpG;AAyBD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EAAE,EACjB,+BAA+B,EAAE,MAAM,GAAG,SAAS,GAAG,iBAAiB,GAAG,YAAY,EACtF,KAAK,GAAE,KAAe,EACtB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,YAAY,CAAC,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GAChC,wBAAwB,CAgB1B"}
package/dest/client.js CHANGED
@@ -9,6 +9,20 @@ import { createEthereumChain } from './chain.js';
9
9
  timeout: opts?.timeout
10
10
  })));
11
11
  }
12
+ /**
13
+ * Returns the individual RPC URLs underlying a viem public client that was constructed with a
14
+ * fallback HTTP transport (see {@link makeL1HttpTransport}). Returns an empty array if the
15
+ * transport shape is not recognized (e.g. mock clients in tests, or non-fallback transports).
16
+ */ export function getRpcUrlsFromClient(client) {
17
+ const transport = client.transport;
18
+ if (Array.isArray(transport?.transports)) {
19
+ return transport.transports.map((t)=>t?.value?.url).filter((url)=>typeof url === 'string');
20
+ }
21
+ const singleUrl = transport?.value?.url ?? transport?.url;
22
+ return typeof singleUrl === 'string' ? [
23
+ singleUrl
24
+ ] : [];
25
+ }
12
26
  // TODO: Use these methods to abstract the creation of viem clients.
13
27
  /** Returns a viem public client given the L1 config. */ export function getPublicClient(config) {
14
28
  const chain = createEthereumChain(config.l1RpcUrls, config.l1ChainId);
@@ -35,8 +35,8 @@ export declare class InboxContract {
35
35
  }): Promise<InboxContractState>;
36
36
  /** Fetches MessageSent events within the given block range. */
37
37
  getMessageSentEvents(fromBlock: bigint, toBlock: bigint): Promise<MessageSentLog[]>;
38
- /** Fetches MessageSent events for a specific message hash at a specific block. */
39
- getMessageSentEventByHash(msgHash: Hex, l1BlockHash: Hex): Promise<MessageSentLog>;
38
+ /** Fetches MessageSent events for a specific message hash around a specific block. */
39
+ getMessageSentEventByHash(msgHash: Hex, aroundL1BlockNumber: bigint): Promise<MessageSentLog>;
40
40
  private mapMessageSentLog;
41
41
  }
42
42
  export type InboxContractState = {
@@ -44,4 +44,4 @@ export type InboxContractState = {
44
44
  messagesRollingHash: Buffer16;
45
45
  treeInProgress: bigint;
46
46
  };
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5ib3guZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdHMvaW5ib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFFBQVEsRUFBWSxNQUFNLDBCQUEwQixDQUFDO0FBQzlELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXhELE9BQU8sRUFBRSxLQUFLLFFBQVEsRUFBRSxLQUFLLHFCQUFxQixFQUFFLEtBQUssR0FBRyxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBR3hGLE9BQU8sS0FBSyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEYsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUczQywyQ0FBMkM7QUFDM0MsTUFBTSxNQUFNLGVBQWUsR0FBRztJQUM1QixLQUFLLEVBQUUsTUFBTSxDQUFDO0lBQ2QsSUFBSSxFQUFFLEVBQUUsQ0FBQztJQUNULGdCQUFnQixFQUFFLGdCQUFnQixDQUFDO0lBQ25DLFdBQVcsRUFBRSxRQUFRLENBQUM7Q0FDdkIsQ0FBQztBQUVGLHVDQUF1QztBQUN2QyxNQUFNLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUV6RCxxQkFBYSxhQUFhO2FBa0JOLE1BQU0sRUFBRSxVQUFVO0lBakJwQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBcUQ7SUFFM0UsTUFBTSxDQUFDLHdCQUF3QixDQUFDLHVCQUF1QixFQUFFLGdDQUFnQyxpQkFNeEY7SUFFRCxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxjQUFjLGlCQUkxQztJQUVELFlBQ2tCLE1BQU0sRUFBRSxVQUFVLEVBQ2xDLE9BQU8sRUFBRSxHQUFHLEdBQUcsVUFBVSxFQU0xQjtJQUVELElBQVcsT0FBTyxrQkFFakI7SUFFTSxXQUFXLElBQUkscUJBQXFCLENBQUMsT0FBTyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBRXZFO0lBRVksTUFBTSxDQUFDLElBQUksR0FBRTtRQUFFLFFBQVEsQ0FBQyxFQUFFLFFBQVEsQ0FBQztRQUFDLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQTtLQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUc3RjtJQUVZLFFBQVEsQ0FBQyxJQUFJLEdBQUU7UUFBRSxRQUFRLENBQUMsRUFBRSxRQUFRLENBQUM7UUFBQyxXQUFXLENBQUMsRUFBRSxNQUFNLENBQUE7S0FBTyxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQVEzRztJQUVELCtEQUErRDtJQUN6RCxvQkFBb0IsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBS3hGO0lBRUQsa0ZBQWtGO0lBQzVFLHlCQUF5QixDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLEdBQUcsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLENBR3ZGO0lBRUQsT0FBTyxDQUFDLGlCQUFpQjtDQWtCMUI7QUFFRCxNQUFNLE1BQU0sa0JBQWtCLEdBQUc7SUFDL0IscUJBQXFCLEVBQUUsTUFBTSxDQUFDO0lBQzlCLG1CQUFtQixFQUFFLFFBQVEsQ0FBQztJQUM5QixjQUFjLEVBQUUsTUFBTSxDQUFDO0NBQ3hCLENBQUMifQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5ib3guZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdHMvaW5ib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFFBQVEsRUFBWSxNQUFNLDBCQUEwQixDQUFDO0FBQzlELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXhELE9BQU8sRUFBRSxLQUFLLFFBQVEsRUFBRSxLQUFLLHFCQUFxQixFQUFFLEtBQUssR0FBRyxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBR3hGLE9BQU8sS0FBSyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEYsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUczQywyQ0FBMkM7QUFDM0MsTUFBTSxNQUFNLGVBQWUsR0FBRztJQUM1QixLQUFLLEVBQUUsTUFBTSxDQUFDO0lBQ2QsSUFBSSxFQUFFLEVBQUUsQ0FBQztJQUNULGdCQUFnQixFQUFFLGdCQUFnQixDQUFDO0lBQ25DLFdBQVcsRUFBRSxRQUFRLENBQUM7Q0FDdkIsQ0FBQztBQUVGLHVDQUF1QztBQUN2QyxNQUFNLE1BQU0sY0FBYyxHQUFHLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUV6RCxxQkFBYSxhQUFhO2FBa0JOLE1BQU0sRUFBRSxVQUFVO0lBakJwQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBcUQ7SUFFM0UsTUFBTSxDQUFDLHdCQUF3QixDQUFDLHVCQUF1QixFQUFFLGdDQUFnQyxpQkFNeEY7SUFFRCxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxjQUFjLGlCQUkxQztJQUVELFlBQ2tCLE1BQU0sRUFBRSxVQUFVLEVBQ2xDLE9BQU8sRUFBRSxHQUFHLEdBQUcsVUFBVSxFQU0xQjtJQUVELElBQVcsT0FBTyxrQkFFakI7SUFFTSxXQUFXLElBQUkscUJBQXFCLENBQUMsT0FBTyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBRXZFO0lBRVksTUFBTSxDQUFDLElBQUksR0FBRTtRQUFFLFFBQVEsQ0FBQyxFQUFFLFFBQVEsQ0FBQztRQUFDLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQTtLQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUc3RjtJQUVZLFFBQVEsQ0FBQyxJQUFJLEdBQUU7UUFBRSxRQUFRLENBQUMsRUFBRSxRQUFRLENBQUM7UUFBQyxXQUFXLENBQUMsRUFBRSxNQUFNLENBQUE7S0FBTyxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQVEzRztJQUVELCtEQUErRDtJQUN6RCxvQkFBb0IsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBS3hGO0lBRUQsc0ZBQXNGO0lBQ2hGLHlCQUF5QixDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FVbEc7SUFFRCxPQUFPLENBQUMsaUJBQWlCO0NBa0IxQjtBQUVELE1BQU0sTUFBTSxrQkFBa0IsR0FBRztJQUMvQixxQkFBcUIsRUFBRSxNQUFNLENBQUM7SUFDOUIsbUJBQW1CLEVBQUUsUUFBUSxDQUFDO0lBQzlCLGNBQWMsRUFBRSxNQUFNLENBQUM7Q0FDeEIsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"inbox.d.ts","sourceRoot":"","sources":["../../src/contracts/inbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAY,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,qBAAqB,EAAE,KAAK,GAAG,EAAe,MAAM,MAAM,CAAC;AAGxF,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAC;AACxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,2CAA2C;AAC3C,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,EAAE,CAAC;IACT,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,QAAQ,CAAC;CACvB,CAAC;AAEF,uCAAuC;AACvC,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;AAEzD,qBAAa,aAAa;aAkBN,MAAM,EAAE,UAAU;IAjBpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqD;IAE3E,MAAM,CAAC,wBAAwB,CAAC,uBAAuB,EAAE,gCAAgC,iBAMxF;IAED,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,iBAI1C;IAED,YACkB,MAAM,EAAE,UAAU,EAClC,OAAO,EAAE,GAAG,GAAG,UAAU,EAM1B;IAED,IAAW,OAAO,kBAEjB;IAEM,WAAW,IAAI,qBAAqB,CAAC,OAAO,QAAQ,EAAE,UAAU,CAAC,CAEvE;IAEY,MAAM,CAAC,IAAI,GAAE;QAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAG7F;IAEY,QAAQ,CAAC,IAAI,GAAE;QAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAQ3G;IAED,+DAA+D;IACzD,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAKxF;IAED,kFAAkF;IAC5E,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC,CAGvF;IAED,OAAO,CAAC,iBAAiB;CAkB1B;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,QAAQ,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC"}
1
+ {"version":3,"file":"inbox.d.ts","sourceRoot":"","sources":["../../src/contracts/inbox.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAY,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,qBAAqB,EAAE,KAAK,GAAG,EAAe,MAAM,MAAM,CAAC;AAGxF,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAC;AACxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,2CAA2C;AAC3C,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,EAAE,CAAC;IACT,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,QAAQ,CAAC;CACvB,CAAC;AAEF,uCAAuC;AACvC,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;AAEzD,qBAAa,aAAa;aAkBN,MAAM,EAAE,UAAU;IAjBpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqD;IAE3E,MAAM,CAAC,wBAAwB,CAAC,uBAAuB,EAAE,gCAAgC,iBAMxF;IAED,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc,iBAI1C;IAED,YACkB,MAAM,EAAE,UAAU,EAClC,OAAO,EAAE,GAAG,GAAG,UAAU,EAM1B;IAED,IAAW,OAAO,kBAEjB;IAEM,WAAW,IAAI,qBAAqB,CAAC,OAAO,QAAQ,EAAE,UAAU,CAAC,CAEvE;IAEY,MAAM,CAAC,IAAI,GAAE;QAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAG7F;IAEY,QAAQ,CAAC,IAAI,GAAE;QAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAQ3G;IAED,+DAA+D;IACzD,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAKxF;IAED,sFAAsF;IAChF,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAUlG;IAED,OAAO,CAAC,iBAAiB;CAkB1B;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,QAAQ,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { maxBigint } from '@aztec/foundation/bigint';
1
2
  import { CheckpointNumber } from '@aztec/foundation/branded-types';
2
3
  import { Buffer16, Buffer32 } from '@aztec/foundation/buffer';
3
4
  import { Fr } from '@aztec/foundation/curves/bn254';
@@ -55,11 +56,16 @@ export class InboxContract {
55
56
  });
56
57
  return logs.filter((log)=>log.blockNumber >= fromBlock && log.blockNumber <= toBlock).map((log)=>this.mapMessageSentLog(log));
57
58
  }
58
- /** Fetches MessageSent events for a specific message hash at a specific block. */ async getMessageSentEventByHash(msgHash, l1BlockHash) {
59
+ /** Fetches MessageSent events for a specific message hash around a specific block. */ async getMessageSentEventByHash(msgHash, aroundL1BlockNumber) {
60
+ // We don't use blockHash here because we don't want the query to throw if the L1 block number no longer exists on chain
61
+ // due to an L1 reorg. The use case for this method is usually checking if a message still exists on the Inbox after
62
+ // a reorg, so it's possible the message was moved one block up or down, and that the original L1 block where we
63
+ // saw it no longer exists, rendering the block-by-hash approach invalid.
59
64
  const [log] = await this.inbox.getEvents.MessageSent({
60
65
  hash: msgHash
61
66
  }, {
62
- blockHash: l1BlockHash
67
+ fromBlock: maxBigint(aroundL1BlockNumber - 5n, 1n),
68
+ toBlock: aroundL1BlockNumber + 5n
63
69
  });
64
70
  return log && this.mapMessageSentLog(log);
65
71
  }