@aztec/aztec-node 5.0.0-nightly.20260611 → 5.0.0-nightly.20260613

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.
@@ -32,6 +32,13 @@ export type AztecNodeConfig = ArchiverConfig & SequencerClientConfig & Validator
32
32
  * See `AUTOMINE_E2E_OPTS` in `end-to-end/src/fixtures/fixtures.ts`.
33
33
  */
34
34
  useAutomineSequencer?: boolean;
35
+ /**
36
+ * Test-only: have the AutomineSequencer automatically prove epochs (write epoch out hashes into
37
+ * the L1 Outbox and advance the proven tip) as checkpoints land, replacing the standalone
38
+ * `EpochTestSettler`. Set by the local network/sandbox; the e2e `AUTOMINE_E2E_OPTS` fixture leaves
39
+ * it off so tests drive proving manually via `prove` / `cheatCodes.rollup.markAsProven`.
40
+ */
41
+ automineEnableProveEpoch?: boolean;
35
42
  };
36
43
  export declare const aztecNodeConfigMappings: ConfigMappingsType<AztecNodeConfig>;
37
44
  /**
@@ -40,4 +47,4 @@ export declare const aztecNodeConfigMappings: ConfigMappingsType<AztecNodeConfig
40
47
  */
41
48
  export declare function getConfigEnvVars(): AztecNodeConfig;
42
49
  export declare function createKeyStoreForValidator(config: SequencerTxSenderConfig & SequencerClientConfig & SharedNodeConfig): KeyStore | undefined;
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp0ZWMtbm9kZS9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssY0FBYyxFQUEwQixNQUFNLHdCQUF3QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUE4QixNQUFNLHdCQUF3QixDQUFDO0FBQzdGLE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUE4QyxNQUFNLDBCQUEwQixDQUFDO0FBRS9HLE9BQU8sRUFDTCxLQUFLLFFBQVEsRUFJZCxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUE0QixNQUFNLHdCQUF3QixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBcUIsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsS0FBSyxzQkFBc0IsRUFBOEIsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RyxPQUFPLEVBQ0wsS0FBSyxnQkFBZ0IsRUFHdEIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQ0wsS0FBSyxxQkFBcUIsRUFDMUIsS0FBSyx1QkFBdUIsRUFDNUIsNkJBQTZCLEVBQzlCLE1BQU0sZ0NBQWdDLENBQUM7QUFHeEMsT0FBTyxFQUFFLEtBQUssYUFBYSxFQUF5QixNQUFNLHNCQUFzQixDQUFDO0FBQ2pGLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBc0IsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsS0FBSyxxQkFBcUIsRUFBaUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRyxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBNEIsTUFBTSwyQkFBMkIsQ0FBQztBQUk1RixPQUFPLEVBQUUsS0FBSyxjQUFjLEVBQTBCLE1BQU0sdUJBQXVCLENBQUM7QUFFcEYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLEtBQUsscUJBQXFCLEVBQUUsQ0FBQztBQUVyRTs7R0FFRztBQUNILE1BQU0sTUFBTSxlQUFlLEdBQUcsY0FBYyxHQUMxQyxxQkFBcUIsR0FDckIscUJBQXFCLEdBQ3JCLHNCQUFzQixHQUN0QixnQkFBZ0IsR0FDaEIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLGNBQWMsR0FBRyxvQkFBb0IsR0FBRyxZQUFZLENBQUMsR0FDbEYsU0FBUyxHQUNULGVBQWUsR0FDZixjQUFjLEdBQ2QsZ0JBQWdCLEdBQ2hCLGtCQUFrQixHQUNsQixhQUFhLEdBQ2IsYUFBYSxHQUNiLGdCQUFnQixHQUFHO0lBQ2pCLHNEQUFzRDtJQUN0RCxnQkFBZ0IsRUFBRSxPQUFPLENBQUM7SUFDMUIsaUdBQWlHO0lBQ2pHLHVCQUF1QixFQUFFLE9BQU8sQ0FBQztJQUNqQyw2RUFBNkU7SUFDN0UsNkJBQTZCLEVBQUUsT0FBTyxDQUFDO0lBQ3ZDLHdEQUF3RDtJQUN4RCxnQkFBZ0IsRUFBRSxPQUFPLENBQUM7SUFDMUI7Ozs7T0FJRztJQUNILG9CQUFvQixDQUFDLEVBQUUsT0FBTyxDQUFDO0NBQ2hDLENBQUM7QUFFSixlQUFPLE1BQU0sdUJBQXVCLEVBQUUsa0JBQWtCLENBQUMsZUFBZSxDQXlDdkUsQ0FBQztBQUVGOzs7R0FHRztBQUNILHdCQUFnQixnQkFBZ0IsSUFBSSxlQUFlLENBRWxEO0FBc0VELHdCQUFnQiwwQkFBMEIsQ0FDeEMsTUFBTSxFQUFFLHVCQUF1QixHQUFHLHFCQUFxQixHQUFHLGdCQUFnQixHQUN6RSxRQUFRLEdBQUcsU0FBUyxDQU10QiJ9
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp0ZWMtbm9kZS9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssY0FBYyxFQUEwQixNQUFNLHdCQUF3QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUE4QixNQUFNLHdCQUF3QixDQUFDO0FBQzdGLE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUE4QyxNQUFNLDBCQUEwQixDQUFDO0FBRS9HLE9BQU8sRUFDTCxLQUFLLFFBQVEsRUFJZCxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUE0QixNQUFNLHdCQUF3QixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBcUIsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsS0FBSyxzQkFBc0IsRUFBOEIsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RyxPQUFPLEVBQ0wsS0FBSyxnQkFBZ0IsRUFHdEIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQ0wsS0FBSyxxQkFBcUIsRUFDMUIsS0FBSyx1QkFBdUIsRUFDNUIsNkJBQTZCLEVBQzlCLE1BQU0sZ0NBQWdDLENBQUM7QUFHeEMsT0FBTyxFQUFFLEtBQUssYUFBYSxFQUF5QixNQUFNLHNCQUFzQixDQUFDO0FBQ2pGLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBc0IsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsS0FBSyxxQkFBcUIsRUFBaUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRyxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBNEIsTUFBTSwyQkFBMkIsQ0FBQztBQUk1RixPQUFPLEVBQUUsS0FBSyxjQUFjLEVBQTBCLE1BQU0sdUJBQXVCLENBQUM7QUFFcEYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLEtBQUsscUJBQXFCLEVBQUUsQ0FBQztBQUVyRTs7R0FFRztBQUNILE1BQU0sTUFBTSxlQUFlLEdBQUcsY0FBYyxHQUMxQyxxQkFBcUIsR0FDckIscUJBQXFCLEdBQ3JCLHNCQUFzQixHQUN0QixnQkFBZ0IsR0FDaEIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLGNBQWMsR0FBRyxvQkFBb0IsR0FBRyxZQUFZLENBQUMsR0FDbEYsU0FBUyxHQUNULGVBQWUsR0FDZixjQUFjLEdBQ2QsZ0JBQWdCLEdBQ2hCLGtCQUFrQixHQUNsQixhQUFhLEdBQ2IsYUFBYSxHQUNiLGdCQUFnQixHQUFHO0lBQ2pCLHNEQUFzRDtJQUN0RCxnQkFBZ0IsRUFBRSxPQUFPLENBQUM7SUFDMUIsaUdBQWlHO0lBQ2pHLHVCQUF1QixFQUFFLE9BQU8sQ0FBQztJQUNqQyw2RUFBNkU7SUFDN0UsNkJBQTZCLEVBQUUsT0FBTyxDQUFDO0lBQ3ZDLHdEQUF3RDtJQUN4RCxnQkFBZ0IsRUFBRSxPQUFPLENBQUM7SUFDMUI7Ozs7T0FJRztJQUNILG9CQUFvQixDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQy9COzs7OztPQUtHO0lBQ0gsd0JBQXdCLENBQUMsRUFBRSxPQUFPLENBQUM7Q0FDcEMsQ0FBQztBQUVKLGVBQU8sTUFBTSx1QkFBdUIsRUFBRSxrQkFBa0IsQ0FBQyxlQUFlLENBOEN2RSxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsd0JBQWdCLGdCQUFnQixJQUFJLGVBQWUsQ0FFbEQ7QUFzRUQsd0JBQWdCLDBCQUEwQixDQUN4QyxNQUFNLEVBQUUsdUJBQXVCLEdBQUcscUJBQXFCLEdBQUcsZ0JBQWdCLEdBQ3pFLFFBQVEsR0FBRyxTQUFTLENBTXRCIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/aztec-node/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,KAAK,kBAAkB,EAA8B,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,KAAK,kBAAkB,EAA8C,MAAM,0BAA0B,CAAC;AAE/G,OAAO,EACL,KAAK,QAAQ,EAId,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,KAAK,sBAAsB,EAA8B,MAAM,6BAA6B,CAAC;AACtG,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,6BAA6B,EAC9B,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,KAAK,aAAa,EAAyB,MAAM,sBAAsB,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,KAAK,qBAAqB,EAAiC,MAAM,gCAAgC,CAAC;AAC3G,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,2BAA2B,CAAC;AAI5F,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,uBAAuB,CAAC;AAEpF,OAAO,EAAE,6BAA6B,EAAE,KAAK,qBAAqB,EAAE,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,cAAc,GAC1C,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,gBAAgB,GAChB,IAAI,CAAC,sBAAsB,EAAE,cAAc,GAAG,oBAAoB,GAAG,YAAY,CAAC,GAClF,SAAS,GACT,eAAe,GACf,cAAc,GACd,gBAAgB,GAChB,kBAAkB,GAClB,aAAa,GACb,aAAa,GACb,gBAAgB,GAAG;IACjB,sDAAsD;IACtD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iGAAiG;IACjG,uBAAuB,EAAE,OAAO,CAAC;IACjC,6EAA6E;IAC7E,6BAA6B,EAAE,OAAO,CAAC;IACvC,wDAAwD;IACxD,gBAAgB,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEJ,eAAO,MAAM,uBAAuB,EAAE,kBAAkB,CAAC,eAAe,CAyCvE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,eAAe,CAElD;AAsED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,uBAAuB,GAAG,qBAAqB,GAAG,gBAAgB,GACzE,QAAQ,GAAG,SAAS,CAMtB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/aztec-node/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,KAAK,kBAAkB,EAA8B,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,KAAK,kBAAkB,EAA8C,MAAM,0BAA0B,CAAC;AAE/G,OAAO,EACL,KAAK,QAAQ,EAId,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,KAAK,sBAAsB,EAA8B,MAAM,6BAA6B,CAAC;AACtG,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,6BAA6B,EAC9B,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,KAAK,aAAa,EAAyB,MAAM,sBAAsB,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,KAAK,qBAAqB,EAAiC,MAAM,gCAAgC,CAAC;AAC3G,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,2BAA2B,CAAC;AAI5F,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,uBAAuB,CAAC;AAEpF,OAAO,EAAE,6BAA6B,EAAE,KAAK,qBAAqB,EAAE,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,cAAc,GAC1C,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,gBAAgB,GAChB,IAAI,CAAC,sBAAsB,EAAE,cAAc,GAAG,oBAAoB,GAAG,YAAY,CAAC,GAClF,SAAS,GACT,eAAe,GACf,cAAc,GACd,gBAAgB,GAChB,kBAAkB,GAClB,aAAa,GACb,aAAa,GACb,gBAAgB,GAAG;IACjB,sDAAsD;IACtD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iGAAiG;IACjG,uBAAuB,EAAE,OAAO,CAAC;IACjC,6EAA6E;IAC7E,6BAA6B,EAAE,OAAO,CAAC;IACvC,wDAAwD;IACxD,gBAAgB,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,CAAC;AAEJ,eAAO,MAAM,uBAAuB,EAAE,kBAAkB,CAAC,eAAe,CA8CvE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,eAAe,CAElD;AAsED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,uBAAuB,GAAG,qBAAqB,GAAG,gBAAgB,GACzE,QAAQ,GAAG,SAAS,CAMtB"}
@@ -57,6 +57,11 @@ export const aztecNodeConfigMappings = {
57
57
  env: 'USE_AUTOMINE_SEQUENCER',
58
58
  description: 'Test-only: use AutomineSequencer instead of the production Sequencer.',
59
59
  ...booleanConfigHelper(false)
60
+ },
61
+ automineEnableProveEpoch: {
62
+ env: 'AUTOMINE_ENABLE_PROVE_EPOCH',
63
+ description: 'Test-only: have the AutomineSequencer automatically prove epochs as checkpoints land.',
64
+ ...booleanConfigHelper(false)
60
65
  }
61
66
  };
62
67
  /**
@@ -0,0 +1,10 @@
1
+ import type { NamespacedApiHandlers } from '@aztec/foundation/json-rpc/server';
2
+ import type { AztecNodeService } from './server.js';
3
+ /**
4
+ * Registers the Aztec node RPC handlers (`aztec_*`, `aztecAdmin_*`, and optionally `aztecDebug_*`), along with the
5
+ * legacy pre-v5 namespaces (`node_*`, `nodeAdmin_*`, `nodeDebug_*`, `p2p_*`) for backwards compatibility.
6
+ */
7
+ export declare function registerAztecNodeRpcHandlers(node: AztecNodeService, services: NamespacedApiHandlers, adminServices?: NamespacedApiHandlers, options?: {
8
+ debug?: boolean;
9
+ }): void;
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXJfbm9kZV9ycGNfaGFuZGxlcnMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9henRlYy1ub2RlL3JlZ2lzdGVyX25vZGVfcnBjX2hhbmRsZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFJL0UsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFcEQ7OztHQUdHO0FBRUgsd0JBQWdCLDRCQUE0QixDQUMxQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQ3RCLFFBQVEsRUFBRSxxQkFBcUIsRUFDL0IsYUFBYSxDQUFDLEVBQUUscUJBQXFCLEVBQ3JDLE9BQU8sR0FBRTtJQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sQ0FBQTtDQUFPLEdBQ2hDLElBQUksQ0FZTiJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register_node_rpc_handlers.d.ts","sourceRoot":"","sources":["../../src/aztec-node/register_node_rpc_handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAI/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD;;;GAGG;AAEH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,gBAAgB,EACtB,QAAQ,EAAE,qBAAqB,EAC/B,aAAa,CAAC,EAAE,qBAAqB,EACrC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAChC,IAAI,CAYN"}
@@ -0,0 +1,31 @@
1
+ import { AztecNodeAdminApiSchema, AztecNodeApiSchema, AztecNodeDebugApiSchema } from '@aztec/stdlib/interfaces/client';
2
+ import { P2PApiSchema } from '@aztec/stdlib/interfaces/server';
3
+ /**
4
+ * Registers the Aztec node RPC handlers (`aztec_*`, `aztecAdmin_*`, and optionally `aztecDebug_*`), along with the
5
+ * legacy pre-v5 namespaces (`node_*`, `nodeAdmin_*`, `nodeDebug_*`, `p2p_*`) for backwards compatibility.
6
+ */ // TODO: Legacy support for node, nodeAdmin, nodeDebug, p2p namespaces. New namespaces introduced in v5. Remove on future release. A-1169
7
+ export function registerAztecNodeRpcHandlers(node, services, adminServices, options = {}) {
8
+ services.aztec = [
9
+ node,
10
+ AztecNodeApiSchema
11
+ ];
12
+ services.node = services.aztec;
13
+ services.p2p = [
14
+ node.getP2P(),
15
+ P2PApiSchema
16
+ ];
17
+ if (adminServices) {
18
+ adminServices.aztecAdmin = [
19
+ node,
20
+ AztecNodeAdminApiSchema
21
+ ];
22
+ adminServices.nodeAdmin = adminServices.aztecAdmin;
23
+ }
24
+ if (options.debug) {
25
+ services.aztecDebug = [
26
+ node,
27
+ AztecNodeDebugApiSchema
28
+ ];
29
+ services.nodeDebug = services.aztecDebug;
30
+ }
31
+ }
@@ -2,7 +2,7 @@ import { type BlobClientInterface } from '@aztec/blob-client/client';
2
2
  import { ARCHIVE_HEIGHT, type L1_TO_L2_MSG_TREE_HEIGHT, type NOTE_HASH_TREE_HEIGHT } from '@aztec/constants';
3
3
  import { type EpochCacheInterface } from '@aztec/epoch-cache';
4
4
  import { type L1ContractAddresses } from '@aztec/ethereum/l1-contract-addresses';
5
- import { BlockNumber, CheckpointNumber, EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
5
+ import { BlockNumber, CheckpointNumber, type CheckpointProposalHash, EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
6
6
  import { Fr } from '@aztec/foundation/curves/bn254';
7
7
  import { EthAddress } from '@aztec/foundation/eth-address';
8
8
  import { type Logger } from '@aztec/foundation/log';
@@ -11,17 +11,19 @@ import { MembershipWitness, SiblingPath } from '@aztec/foundation/trees';
11
11
  import { KeystoreManager } from '@aztec/node-keystore';
12
12
  import { type P2P, type P2PClientDeps } from '@aztec/p2p';
13
13
  import { type ProverNode, type ProverNodeDeps } from '@aztec/prover-node';
14
- import { AutomineSequencer, SequencerClient, type SequencerPublisher } from '@aztec/sequencer-client';
14
+ import { SequencerClient, type SequencerPublisher } from '@aztec/sequencer-client';
15
+ import { AutomineSequencer } from '@aztec/sequencer-client/automine';
15
16
  import { type SlasherClientInterface } from '@aztec/slasher';
16
17
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
17
18
  import { type BlockData, BlockHash, type BlockParameter, type CheckpointsQuery, type DataInBlock, type L2BlockSource } from '@aztec/stdlib/block';
18
19
  import { type CheckpointData } from '@aztec/stdlib/checkpoint';
19
20
  import type { ContractClassPublic, ContractDataSource, ContractInstanceWithAddress, NodeInfo, ProtocolContractAddresses } from '@aztec/stdlib/contract';
20
21
  import { GasFees, type ManaUsageEstimate } from '@aztec/stdlib/gas';
21
- import type { AztecNode, AztecNodeAdmin, AztecNodeAdminConfig, AztecNodeDebug, BlockIncludeOptions, BlockResponse, BlocksIncludeOptions, ChainTip, ChainTips, CheckpointIncludeOptions, CheckpointParameter, CheckpointResponse, GetTxByHashOptions } from '@aztec/stdlib/interfaces/client';
22
+ import type { AztecNode, AztecNodeAdmin, AztecNodeAdminConfig, AztecNodeDebug, BlockIncludeOptions, BlockResponse, BlocksIncludeOptions, ChainTip, ChainTips, CheckpointIncludeOptions, CheckpointParameter, CheckpointResponse, GetTxByHashOptions, PeerInfo, ProposalsForSlot } from '@aztec/stdlib/interfaces/client';
22
23
  import { type AllowedElement, type ClientProtocolCircuitVerifier, type L2LogsSource, type Service, type WorldStateSyncStatus, type WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
23
24
  import type { DebugLogStore, LogResult, PrivateLogsQuery, PublicLogsQuery } from '@aztec/stdlib/logs';
24
25
  import { type L1ToL2MessageSource, type L2ToL1MembershipWitness } from '@aztec/stdlib/messaging';
26
+ import type { CheckpointAttestation } from '@aztec/stdlib/p2p';
25
27
  import type { Offense } from '@aztec/stdlib/slashing';
26
28
  import { MerkleTreeId, NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees';
27
29
  import { type FeeProvider, type GetTxReceiptOptions, type GlobalVariableBuilder as GlobalVariableBuilderInterface, type IndexedTxEffect, PublicSimulationOutput, type SimulationOverrides, Tx, type TxHash, type TxReceipt, type TxValidationResult } from '@aztec/stdlib/tx';
@@ -73,6 +75,10 @@ export declare class AztecNodeService implements AztecNode, AztecNodeAdmin, Azte
73
75
  getProofVerifier(): ClientProtocolCircuitVerifier;
74
76
  getWorldStateSyncStatus(): Promise<WorldStateSyncStatus>;
75
77
  getChainTips(): Promise<ChainTips>;
78
+ getL1Constants(): Promise<import("@aztec/stdlib/epoch-helpers").L1RollupConstants>;
79
+ getSyncedL2SlotNumber(): Promise<SlotNumber | undefined>;
80
+ getSyncedL2EpochNumber(): Promise<EpochNumber | undefined>;
81
+ getSyncedL1Timestamp(): Promise<bigint | undefined>;
76
82
  getCheckpointsData(query: CheckpointsQuery): Promise<CheckpointData[]>;
77
83
  getBlockNumber(tip?: ChainTip): Promise<BlockNumber>;
78
84
  getCheckpointNumber(tip?: ChainTip): Promise<CheckpointNumber>;
@@ -108,6 +114,13 @@ export declare class AztecNodeService implements AztecNode, AztecNodeAdmin, Azte
108
114
  dontStartSequencer?: boolean;
109
115
  dontStartProverNode?: boolean;
110
116
  }): Promise<AztecNodeService>;
117
+ /**
118
+ * Verifies the node's configured L1 timing matches the rollup contract it is pointed at, for the fields the
119
+ * node's own config carries. Each comparison is guarded against an undefined config value, so a config that
120
+ * does not carry a field is not checked. Throws a single error listing every mismatch. Runs in the shared
121
+ * startup path for every node role.
122
+ */
123
+ private static checkConfigMatchesRollup;
111
124
  /**
112
125
  * Returns the sequencer client instance.
113
126
  * @returns The sequencer client instance.
@@ -180,6 +193,9 @@ export declare class AztecNodeService implements AztecNode, AztecNodeAdmin, Azte
180
193
  */
181
194
  getPendingTxs(limit?: number, after?: TxHash, options?: GetTxByHashOptions): Promise<Tx[]>;
182
195
  getPendingTxCount(): Promise<number>;
196
+ getPeers(includePending?: boolean): Promise<PeerInfo[]>;
197
+ getCheckpointAttestationsForSlot(slot: SlotNumber, proposalPayloadHash?: CheckpointProposalHash): Promise<CheckpointAttestation[]>;
198
+ getProposalsForSlot(slot: SlotNumber): Promise<ProposalsForSlot>;
183
199
  /**
184
200
  * Method to retrieve a single tx from the mempool or unfinalized chain. The tx's proof is only loaded and returned
185
201
  * when `includeProof` is set.
@@ -245,6 +261,7 @@ export declare class AztecNodeService implements AztecNode, AztecNodeAdmin, Azte
245
261
  getSlashOffenses(round: bigint | 'all' | 'current'): Promise<Offense[]>;
246
262
  reloadKeystore(): Promise<void>;
247
263
  mineBlock(): Promise<void>;
264
+ prove(upToCheckpoint?: CheckpointNumber): Promise<CheckpointNumber>;
248
265
  /**
249
266
  * Returns an instance of MerkleTreeOperations having first ensured the world state is fully synched
250
267
  * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
@@ -254,4 +271,4 @@ export declare class AztecNodeService implements AztecNode, AztecNodeAdmin, Azte
254
271
  /** Resolves any {@link BlockParameter} variant to a concrete block number. */
255
272
  protected resolveBlockNumber(block: BlockParameter): Promise<BlockNumber>;
256
273
  }
257
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp0ZWMtbm9kZS9zZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLEtBQUssbUJBQW1CLEVBQWtDLE1BQU0sMkJBQTJCLENBQUM7QUFFckcsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLHdCQUF3QixFQUFFLEtBQUsscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RyxPQUFPLEVBQWMsS0FBSyxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSTFFLE9BQU8sRUFBRSxLQUFLLG1CQUFtQixFQUEyQixNQUFNLHVDQUF1QyxDQUFDO0FBRTFHLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXpHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0QsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBR2xFLE9BQU8sRUFBRSxZQUFZLEVBQVMsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekUsT0FBTyxFQUFpQixlQUFlLEVBQWlDLE1BQU0sc0JBQXNCLENBQUM7QUFHckcsT0FBTyxFQUNMLEtBQUssR0FBRyxFQUNSLEtBQUssYUFBYSxFQUluQixNQUFNLFlBQVksQ0FBQztBQUVwQixPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQUUsS0FBSyxjQUFjLEVBQW9CLE1BQU0sb0JBQW9CLENBQUM7QUFFNUYsT0FBTyxFQUNMLGlCQUFpQixFQUdqQixlQUFlLEVBQ2YsS0FBSyxrQkFBa0IsRUFFeEIsTUFBTSx5QkFBeUIsQ0FBQztB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
274
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp0ZWMtbm9kZS9zZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLEtBQUssbUJBQW1CLEVBQWtDLE1BQU0sMkJBQTJCLENBQUM7QUFFckcsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLHdCQUF3QixFQUFFLEtBQUsscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RyxPQUFPLEVBQWMsS0FBSyxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSTFFLE9BQU8sRUFBRSxLQUFLLG1CQUFtQixFQUEyQixNQUFNLHVDQUF1QyxDQUFDO0FBRTFHLE9BQU8sRUFDTCxXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLEtBQUssc0JBQXNCLEVBQzNCLFdBQVcsRUFDWCxVQUFVLEVBQ1gsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTNELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUdsRSxPQUFPLEVBQUUsWUFBWSxFQUFTLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpFLE9BQU8sRUFBaUIsZUFBZSxFQUFpQyxNQUFNLHNCQUFzQixDQUFDO0FBR3JHLE9BQU8sRUFDTCxLQUFLLEdBQUcsRUFDUixLQUFLLGFBQWEsRUFJbkIsTUFBTSxZQUFZLENBQUM7QUFFcEIsT0FBTyxFQUFFLEtBQUssVUFBVSxFQUFFLEtBQUssY0FBYyxFQUFvQixNQUFNLG9CQUFvQixDQUFDO0FBRTVGLE9BQU8sRUFHTCxlQUFlLEVBQ2YsS0FBSyxrQkFBa0IsRUFDeEIsTUFBTSx5QkFBeUIs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
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/aztec-node/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/aztec-node/server.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,mBAAmB,EAAkC,MAAM,2BAA2B,CAAC;AAErG,OAAO,EAAE,cAAc,EAAE,KAAK,wBAAwB,EAAE,KAAK,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC7G,OAAO,EAAc,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAI1E,OAAO,EAAE,KAAK,mBAAmB,EAA2B,MAAM,uCAAuC,CAAC;AAE1G,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,KAAK,sBAAsB,EAC3B,WAAW,EACX,UAAU,EACX,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAGlE,OAAO,EAAE,YAAY,EAAS,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEzE,OAAO,EAAiB,eAAe,EAAiC,MAAM,sBAAsB,CAAC;AAGrG,OAAO,EACL,KAAK,GAAG,EACR,KAAK,aAAa,EAInB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAoB,MAAM,oBAAoB,CAAC;AAE5F,OAAO,EAGL,eAAe,EACf,KAAK,kBAAkB,EACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAA2B,MAAM,kCAAkC,CAAC;AAE9F,OAAO,EAML,KAAK,sBAAsB,EAG5B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EACL,KAAK,SAAS,EACd,SAAS,EACT,KAAK,cAAc,EAEnB,KAAK,gBAAgB,EAErB,KAAK,WAAW,EAChB,KAAK,aAAa,EAInB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,cAAc,EAIpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAClB,2BAA2B,EAC3B,QAAQ,EACR,yBAAyB,EAC1B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,OAAO,EAAE,KAAK,iBAAiB,EAAyB,MAAM,mBAAmB,CAAC;AAE3F,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,oBAAoB,EACpB,QAAQ,EACR,SAAS,EACT,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,QAAQ,EACR,gBAAgB,EACjB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,6BAA6B,EAClC,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAE5B,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEtG,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAE7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAClG,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,IAAI,8BAA8B,EAE5D,KAAK,eAAe,EAIpB,sBAAsB,EACtB,KAAK,mBAAmB,EACxB,EAAE,EACF,KAAK,MAAM,EACX,KAAK,SAAS,EAEd,KAAK,kBAAkB,EACxB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAIL,eAAe,EAGhB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAMnF,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAQnD,OAAO,EAAE,KAAK,eAAe,EAA8B,MAAM,aAAa,CAAC;AAI/E;;GAEG;AACH,qBAAa,gBAAiB,YAAW,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS;;IAUzF,SAAS,CAAC,MAAM,EAAE,eAAe;IACjC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG;IACjC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAChE,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,YAAY;IAC3C,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB;IACzD,SAAS,CAAC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB;IAC3D,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB;IACjE,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,eAAe,GAAG,SAAS;IACzD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS;IACrD,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,sBAAsB,GAAG,SAAS;IACpE,SAAS,CAAC,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,GAAG,SAAS;IAC3D,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM;IACpC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM;IAClC,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,8BAA8B;IACxE,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW;IAC3C,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,mBAAmB;IAClD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM;IACzC,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,UAAU,CAAC;IACnB,OAAO,CAAC,eAAe,CAAC;IACxB,OAAO,CAAC,eAAe,CAAC;IACxB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAnCrC,OAAO,CAAC,OAAO,CAAc;IAE7B,OAAO,CAAC,mBAAmB,CAAS;IAEpC,OAAO,CAAC,6BAA6B,CAAqB;IAE1D,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,YACY,MAAM,EAAE,eAAe,EACd,SAAS,EAAE,GAAG,EACd,WAAW,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,EAC7C,UAAU,EAAE,YAAY,EACxB,kBAAkB,EAAE,kBAAkB,EACtC,mBAAmB,EAAE,mBAAmB,EACxC,sBAAsB,EAAE,sBAAsB,EAC9C,SAAS,EAAE,eAAe,GAAG,SAAS,EACtC,UAAU,EAAE,UAAU,GAAG,SAAS,EAClC,aAAa,EAAE,sBAAsB,GAAG,SAAS,EACjD,kBAAkB,EAAE,QAAQ,GAAG,SAAS,EAC1C,mBAAmB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EACtC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,qBAAqB,EAAE,8BAA8B,EACrD,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,mBAAmB,EAC/B,cAAc,EAAE,MAAM,EACjC,iBAAiB,EAAE,6BAA6B,EAChD,gBAAgB,EAAE,6BAA6B,EAC/C,SAAS,GAAE,eAAsC,EACjD,GAAG,SAAuB,EAC1B,UAAU,CAAC,iCAAqB,EAChC,eAAe,CAAC,6BAAiB,EACjC,eAAe,CAAC,6BAAiB,EACjC,aAAa,GAAE,aAAuC,EAC7C,iBAAiB,CAAC,+BAAmB,EAcvD;IAED,wEAAsE;IAC/D,gBAAgB,IAAI,6BAA6B,CAEvD;IAEY,uBAAuB,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAGpE;IAEY,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC,CAG9C;IAEM,cAAc,qEAEpB;IAEM,qBAAqB,oCAE3B;IAEM,sBAAsB,qCAE5B;IAEM,oBAAoB,gCAE1B;IAEM,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,6BAEhD;IAEY,cAAc,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAKhE;IAEY,mBAAmB,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAa1E;IAED,OAAO,CAAC,UAAU;IAIlB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAiC/B,OAAO,CAAC,UAAU;YAYJ,0BAA0B;IAyC3B,QAAQ,CAAC,IAAI,SAAS,mBAAmB,GAAG,EAAE,EACzD,KAAK,EAAE,cAAc,EACrB,OAAO,GAAE,IAAiB,GACzB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAmB1C;IAEM,YAAY,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAGzE;IAEY,SAAS,CAAC,IAAI,SAAS,oBAAoB,GAAG,EAAE,EAC3D,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,IAAiB,GACzB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAgBhC;IAWY,aAAa,CAAC,IAAI,SAAS,wBAAwB,GAAG,EAAE,EACnE,KAAK,EAAE,mBAAmB,EAC1B,OAAO,GAAE,IAAiB,GACzB,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CA4B/C;IAEY,cAAc,CAAC,IAAI,SAAS,wBAAwB,GAAG,EAAE,EACpE,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,IAAiB,GACzB,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CASrC;IAED;;;;OAIG;IACH,OAAoB,aAAa,CAC/B,WAAW,EAAE,eAAe,EAC5B,IAAI,GAAE;QACJ,SAAS,CAAC,EAAE,eAAe,CAAC;QAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,kBAAkB,CAAC;QAC/B,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QACzC,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;KAC9C,EACN,OAAO,GAAE;QACP,OAAO,CAAC,EAAE,WAAW,CAAC;QACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC1B,GACL,OAAO,CAAC,gBAAgB,CAAC,CAkhB3B;IAED;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAoBvC;;;OAGG;IACI,YAAY,IAAI,eAAe,GAAG,SAAS,CAEjD;IAED,sFAAsF;IAC/E,oBAAoB,IAAI,iBAAiB,GAAG,SAAS,CAE3D;IAED,qDAAqD;IAC9C,aAAa,IAAI,UAAU,GAAG,SAAS,CAE7C;IAEM,cAAc,IAAI,aAAa,CAErC;IAEM,qBAAqB,IAAI,kBAAkB,CAEjD;IAEM,MAAM,IAAI,GAAG,CAEnB;IAED;;;OAGG;IACI,sBAAsB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAE5D;IAEM,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAElD;IAEY,qBAAqB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAE9D;IAED;;;OAGG;IACI,OAAO,qBAEb;IAEY,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC,CA8B5C;IAEY,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAEjD;IAED,wEAAwE;IAC3D,mBAAmB,CAAC,SAAS,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAElF;IAEY,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAMlD;IAED;;;OAGG;IACI,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAEvC;IAED;;;OAGG;IACI,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAEnC;IAED;;;OAGG;IACI,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAEnC;IAEM,gBAAgB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAExE;IAEM,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAE1F;IAEM,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAE3E;IAEM,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAEzE;IAED;;;OAGG;IACU,MAAM,CAAC,EAAE,EAAE,EAAE,iBAEzB;IA0BY,YAAY,CAAC,oBAAoB,SAAS,mBAAmB,GAAG,EAAE,EAC7E,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,CA+B1C;IAwCM,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAEvE;IAED;;OAEG;IACU,IAAI,kBAchB;IAED;;;OAGG;IACI,aAAa,IAAI,mBAAmB,GAAG,SAAS,CAEtD;IAED;;;;;OAKG;IACI,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAEhG;IAEM,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAE1C;IAEM,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAE7D;IAEM,gCAAgC,CACrC,IAAI,EAAE,UAAU,EAChB,mBAAmB,CAAC,EAAE,sBAAsB,GAC3C,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAElC;IAEM,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAEtE;IAED;;;;;;OAMG;IACI,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAExF;IAED;;;;;;OAMG;IACU,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAGzF;IAEY,iBAAiB,CAC5B,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,EAAE,EAAE,GACf,OAAO,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,CA+D9C;IAEY,6BAA6B,CACxC,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,iBAAiB,CAAC,OAAO,cAAc,CAAC,GAAG,SAAS,CAAC,CAc/D;IAEY,4BAA4B,CACvC,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,EAAE,GACX,OAAO,CAAC,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,GAAG,SAAS,CAAC,CAStE;IAEY,iCAAiC,CAC5C,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,EAAE,GAChB,OAAO,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAC,GAAG,SAAS,CAAC,CAS7E;IAEY,0BAA0B,CAAC,aAAa,EAAE,EAAE,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAGhG;IAED;;;;;;;OAOG;IACU,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAMtE;IAED;;;OAGG;IACI,0BAA0B,CAC/B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,EAAE,EACX,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CAE9C;IAEY,6BAA6B,CACxC,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,EAAE,GACZ,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAcjD;IAEY,gCAAgC,CAC3C,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,EAAE,GACZ,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAgBjD;IAEK,oBAAoB,CAAC,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAa/G;IAEY,kBAAkB,CAAC,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAa7G;IAED;;;;;QAKI;IAIS,mBAAmB,CAC9B,EAAE,EAAE,EAAE,EACN,kBAAkB,UAAQ,EAC1B,SAAS,CAAC,EAAE,mBAAmB,GAC9B,OAAO,CAAC,sBAAsB,CAAC,CA2IjC;IAEY,SAAS,CACpB,EAAE,EAAE,EAAE,EACN,EAAE,YAAY,EAAE,kBAAkB,EAAE,GAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAO,GAClG,OAAO,CAAC,kBAAkB,CAAC,CAmC7B;IAEM,SAAS,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAIhD;IAEY,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC3E;IAEM,4BAA4B,IAAI,OAAO,CAAC,yBAAyB,CAAC,CAOxE;IAEM,kCAAkC,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7E;IAEM,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC,CAEpD;IAEM,iBAAiB,CACtB,gBAAgB,EAAE,UAAU,EAC5B,QAAQ,CAAC,EAAE,UAAU,EACrB,MAAM,CAAC,EAAE,UAAU,GAClB,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAE3C;IAEY,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0ChE;IAEY,UAAU,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,UAAU,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAsCnG;IAEY,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAItC;IAEM,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAKjC;IAEM,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAgBrC;IAEM,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAetC;IAEM,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAS7E;IAEY,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAsF3C;IAEY,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAoCtC;IAEY,KAAK,CAAC,cAAc,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAK/E;IAED;;;;OAIG;IACH,UAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,kEAoDlD;IAED,8EAA8E;IAC9E,UAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAe9E;CAaF"}
@@ -446,7 +446,7 @@ import { createEthereumChain } from '@aztec/ethereum/chain';
446
446
  import { getPublicClient, makeL1HttpTransport } from '@aztec/ethereum/client';
447
447
  import { RegistryContract, RollupContract } from '@aztec/ethereum/contracts';
448
448
  import { pickL1ContractAddresses } from '@aztec/ethereum/l1-contract-addresses';
449
- import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
449
+ import { BlockNumber, CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
450
450
  import { chunkBy, compactArray, pick, unique } from '@aztec/foundation/collection';
451
451
  import { Fr } from '@aztec/foundation/curves/bn254';
452
452
  import { EthAddress } from '@aztec/foundation/eth-address';
@@ -464,7 +464,8 @@ import { createP2PClient, createTxValidatorForAcceptingTxsOverRPC, getDefaultAll
464
464
  import { ProtocolContractAddress } from '@aztec/protocol-contracts';
465
465
  import { createProverNode } from '@aztec/prover-node';
466
466
  import { createKeyStoreForProver } from '@aztec/prover-node/config';
467
- import { FeeProviderImpl, GlobalVariableBuilder, SequencerClient, createAutomineSequencer } from '@aztec/sequencer-client';
467
+ import { FeeProviderImpl, GlobalVariableBuilder, SequencerClient } from '@aztec/sequencer-client';
468
+ import { createAutomineSequencer } from '@aztec/sequencer-client/automine';
468
469
  import { PublicContractsDB, PublicProcessorFactory } from '@aztec/simulator/server';
469
470
  import { AttestationsBlockWatcher, AttestedInvalidProposalWatcher, BroadcastedInvalidCheckpointProposalWatcher, CheckpointEquivocationWatcher, DataWithholdingWatcher, createSlasher } from '@aztec/slasher';
470
471
  import { STANDARD_MULTI_CALL_ENTRYPOINT_ADDRESS } from '@aztec/standard-contracts/multi-call-entrypoint';
@@ -473,15 +474,14 @@ import { AztecAddress } from '@aztec/stdlib/aztec-address';
473
474
  import { BlockHash, BlockTag, inspectBlockParameter } from '@aztec/stdlib/block';
474
475
  import { CheckpointReexecutionTracker } from '@aztec/stdlib/checkpoint';
475
476
  import { getEpochAtSlot } from '@aztec/stdlib/epoch-helpers';
476
- import { GasFees } from '@aztec/stdlib/gas';
477
+ import { GasFees, getNetworkTxGasLimits } from '@aztec/stdlib/gas';
477
478
  import { computePublicDataTreeLeafSlot } from '@aztec/stdlib/hash';
478
479
  import { AztecNodeAdminConfigSchema } from '@aztec/stdlib/interfaces/client';
479
480
  import { tryStop } from '@aztec/stdlib/interfaces/server';
480
481
  import { InMemoryDebugLogStore, NullDebugLogStore } from '@aztec/stdlib/logs';
481
482
  import { InboxLeaf, appendL1ToL2MessagesToTree } from '@aztec/stdlib/messaging';
482
- import { DEFAULT_MIN_BLOCK_DURATION } from '@aztec/stdlib/timetable';
483
483
  import { MerkleTreeId, NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees';
484
- import { DroppedTxReceipt, MinedTxReceipt, PendingTxReceipt, PublicSimulationOutput, TxStatus } from '@aztec/stdlib/tx';
484
+ import { DroppedTxReceipt, GlobalVariables, MinedTxReceipt, PendingTxReceipt, PublicSimulationOutput, TxStatus } from '@aztec/stdlib/tx';
485
485
  import { getPackageVersion } from '@aztec/stdlib/update-checker';
486
486
  import { Attributes, getTelemetryClient, trackSpan } from '@aztec/telemetry-client';
487
487
  import { FullNodeCheckpointsBuilder as CheckpointsBuilder, FullNodeCheckpointsBuilder, NodeKeystoreAdapter, ValidatorClient, createProposalHandler, createValidatorClient } from '@aztec/validator-client';
@@ -596,6 +596,18 @@ _dec = trackSpan('AztecNodeService.simulatePublicCalls', (tx)=>({
596
596
  finalized
597
597
  };
598
598
  }
599
+ getL1Constants() {
600
+ return this.blockSource.getL1Constants();
601
+ }
602
+ getSyncedL2SlotNumber() {
603
+ return this.blockSource.getSyncedL2SlotNumber();
604
+ }
605
+ getSyncedL2EpochNumber() {
606
+ return this.blockSource.getSyncedL2EpochNumber();
607
+ }
608
+ getSyncedL1Timestamp() {
609
+ return this.blockSource.getL1Timestamp();
610
+ }
599
611
  getCheckpointsData(query) {
600
612
  return this.blockSource.getCheckpointsData(query);
601
613
  }
@@ -885,9 +897,10 @@ _dec = trackSpan('AztecNodeService.simulatePublicCalls', (tx)=>({
885
897
  const l1ContractsAddresses = await RegistryContract.collectAddresses(publicClient, config.registryAddress, config.rollupVersion ?? 'canonical');
886
898
  Object.assign(config, l1ContractsAddresses);
887
899
  const rollupContract = new RollupContract(publicClient, config.rollupAddress.toString());
888
- const [l1GenesisTime, slotDuration, rollupVersionFromRollup, rollupManaLimit] = await Promise.all([
900
+ const [l1GenesisTime, slotDuration, epochDuration, rollupVersionFromRollup, rollupManaLimit] = await Promise.all([
889
901
  rollupContract.getL1GenesisTime(),
890
902
  rollupContract.getSlotDuration(),
903
+ rollupContract.getEpochDuration(),
891
904
  rollupContract.getVersion(),
892
905
  rollupContract.getManaLimit().then(Number)
893
906
  ]);
@@ -904,10 +917,11 @@ _dec = trackSpan('AztecNodeService.simulatePublicCalls', (tx)=>({
904
917
  // Track started resources so we can clean up on partial failure during node creation.
905
918
  const started = [];
906
919
  try {
907
- // Default the consensus materialization grace from the block build duration when unset, so the archiver
908
- // gives received checkpoint proposals roughly two build slots to validate and enter proposed state.
909
- config.checkpointProposalSyncGraceSeconds ??= config.blockDurationMs !== undefined ? 2 * Math.ceil(config.blockDurationMs / 1000) : 2 * DEFAULT_MIN_BLOCK_DURATION;
910
920
  config.skipOrphanProposedBlockPruning ||= !!config.useAutomineSequencer;
921
+ AztecNodeService.checkConfigMatchesRollup(config, {
922
+ slotDuration: Number(slotDuration),
923
+ epochDuration: Number(epochDuration)
924
+ });
911
925
  // Create world-state first so we can retrieve the initial header before constructing the archiver.
912
926
  const nativeWs = await createWorldState(config, options.genesis);
913
927
  const initialHeader = nativeWs.getInitialHeader();
@@ -1159,6 +1173,7 @@ _dec = trackSpan('AztecNodeService.simulatePublicCalls', (tx)=>({
1159
1173
  ethereumSlotDuration: config.ethereumSlotDuration,
1160
1174
  rollupManaLimit
1161
1175
  },
1176
+ autoSettle: config.automineEnableProveEpoch,
1162
1177
  log
1163
1178
  });
1164
1179
  } else {
@@ -1231,6 +1246,23 @@ _dec = trackSpan('AztecNodeService.simulatePublicCalls', (tx)=>({
1231
1246
  }
1232
1247
  }
1233
1248
  /**
1249
+ * Verifies the node's configured L1 timing matches the rollup contract it is pointed at, for the fields the
1250
+ * node's own config carries. Each comparison is guarded against an undefined config value, so a config that
1251
+ * does not carry a field is not checked. Throws a single error listing every mismatch. Runs in the shared
1252
+ * startup path for every node role.
1253
+ */ static checkConfigMatchesRollup(config, rollup) {
1254
+ const mismatches = [];
1255
+ if (config.aztecSlotDuration !== undefined && config.aztecSlotDuration !== rollup.slotDuration) {
1256
+ mismatches.push(`aztecSlotDuration is ${config.aztecSlotDuration} but the rollup reports ${rollup.slotDuration}`);
1257
+ }
1258
+ if (config.aztecEpochDuration !== undefined && config.aztecEpochDuration !== rollup.epochDuration) {
1259
+ mismatches.push(`aztecEpochDuration is ${config.aztecEpochDuration} but the rollup reports ${rollup.epochDuration}`);
1260
+ }
1261
+ if (mismatches.length > 0) {
1262
+ throw new Error(`The node's configured L1 timing does not match the rollup contract it is pointed at: ${mismatches.join('; ')}`);
1263
+ }
1264
+ }
1265
+ /**
1234
1266
  * Returns the sequencer client instance.
1235
1267
  * @returns The sequencer client instance.
1236
1268
  */ getSequencer() {
@@ -1273,14 +1305,20 @@ _dec = trackSpan('AztecNodeService.simulatePublicCalls', (tx)=>({
1273
1305
  return Promise.resolve(this.p2pClient.isReady() ?? false);
1274
1306
  }
1275
1307
  async getNodeInfo() {
1276
- const [nodeVersion, rollupVersion, chainId, enr, contractAddresses, protocolContractAddresses] = await Promise.all([
1308
+ const [nodeVersion, rollupVersion, chainId, enr, contractAddresses, protocolContractAddresses, l1Constants] = await Promise.all([
1277
1309
  this.getNodeVersion(),
1278
1310
  this.getVersion(),
1279
1311
  this.getChainId(),
1280
1312
  this.getEncodedEnr(),
1281
1313
  this.getL1ContractAddresses(),
1282
- this.getProtocolContractAddresses()
1314
+ this.getProtocolContractAddresses(),
1315
+ this.blockSource.getL1Constants()
1283
1316
  ]);
1317
+ // Gas limits a single tx may declare on this network, derived from network-wide constants only (the
1318
+ // timetable's blocks-per-checkpoint and the network-minimum per-block multipliers) — never this node's
1319
+ // local caps or configured multipliers, which can make the node stricter at block-building time but
1320
+ // cannot define what the network accepts for relay. Clients read txsLimits to set fallback gas limits.
1321
+ const maxTxGas = getNetworkTxGasLimits(this.config, l1Constants);
1284
1322
  const nodeInfo = {
1285
1323
  nodeVersion,
1286
1324
  l1ChainId: chainId,
@@ -1288,7 +1326,13 @@ _dec = trackSpan('AztecNodeService.simulatePublicCalls', (tx)=>({
1288
1326
  enr,
1289
1327
  l1ContractAddresses: contractAddresses,
1290
1328
  protocolContractAddresses: protocolContractAddresses,
1291
- realProofs: !!this.config.realProofs
1329
+ realProofs: !!this.config.realProofs,
1330
+ txsLimits: {
1331
+ gas: {
1332
+ daGas: maxTxGas.daGas,
1333
+ l2Gas: maxTxGas.l2Gas
1334
+ }
1335
+ }
1292
1336
  };
1293
1337
  return nodeInfo;
1294
1338
  }
@@ -1466,6 +1510,15 @@ _dec = trackSpan('AztecNodeService.simulatePublicCalls', (tx)=>({
1466
1510
  getPendingTxCount() {
1467
1511
  return this.p2pClient.getPendingTxCount();
1468
1512
  }
1513
+ getPeers(includePending) {
1514
+ return this.p2pClient.getPeers(includePending);
1515
+ }
1516
+ getCheckpointAttestationsForSlot(slot, proposalPayloadHash) {
1517
+ return this.p2pClient.getCheckpointAttestationsForSlot(slot, proposalPayloadHash);
1518
+ }
1519
+ getProposalsForSlot(slot) {
1520
+ return this.p2pClient.getProposalsForSlot(slot);
1521
+ }
1469
1522
  /**
1470
1523
  * Method to retrieve a single tx from the mempool or unfinalized chain. The tx's proof is only loaded and returned
1471
1524
  * when `includeProof` is set.
@@ -1679,7 +1732,33 @@ _dec = trackSpan('AztecNodeService.simulatePublicCalls', (tx)=>({
1679
1732
  // If sequencer is not initialized, we just set these values to zero for simulation.
1680
1733
  const coinbase = EthAddress.ZERO;
1681
1734
  const feeRecipient = AztecAddress.ZERO;
1682
- const newGlobalVariables = await this.globalVariableBuilder.buildGlobalVariables(blockNumber, coinbase, feeRecipient);
1735
+ // Define the slot for simulation as the max of the next L1 timestamp slot, the slot after the proposed
1736
+ // checkpoint, and the latest proposed block's slot.
1737
+ const proposedCheckpointBlockData = await this.blockSource.getBlockData({
1738
+ number: l2Tips.proposedCheckpoint.block.number
1739
+ });
1740
+ const proposedCheckpointSlot = proposedCheckpointBlockData?.header.getSlot();
1741
+ let slotAfterProposedCheckpoint;
1742
+ if (proposedCheckpointSlot !== undefined) {
1743
+ slotAfterProposedCheckpoint = SlotNumber.fromBigInt(BigInt(proposedCheckpointSlot) + 1n);
1744
+ }
1745
+ let latestProposedBlockSlot;
1746
+ if (l2Tips.proposed.number > l2Tips.proposedCheckpoint.block.number) {
1747
+ latestProposedBlockSlot = (await this.blockSource.getBlockData({
1748
+ number: l2Tips.proposed.number
1749
+ }))?.header.getSlot();
1750
+ }
1751
+ const slotFromNextL1Timestamp = this.epochCache.getEpochAndSlotInNextL1Slot().slot;
1752
+ const targetSlot = SlotNumber(Math.max(...compactArray([
1753
+ slotFromNextL1Timestamp,
1754
+ slotAfterProposedCheckpoint,
1755
+ latestProposedBlockSlot
1756
+ ])));
1757
+ const checkpointGlobalVariables = await this.globalVariableBuilder.buildCheckpointGlobalVariables(coinbase, feeRecipient, targetSlot);
1758
+ const newGlobalVariables = GlobalVariables.from({
1759
+ blockNumber,
1760
+ ...checkpointGlobalVariables
1761
+ });
1683
1762
  const publicProcessorFactory = new PublicProcessorFactory(this.contractDataSource, new DateProvider(), this.telemetry, this.log.getBindings());
1684
1763
  this.log.verbose(`Simulating public calls for tx ${txHash}`, {
1685
1764
  globalVariables: newGlobalVariables.toInspect(),
@@ -1752,6 +1831,9 @@ _dec = trackSpan('AztecNodeService.simulatePublicCalls', (tx)=>({
1752
1831
  const { ts: nextSlotTimestamp } = this.epochCache.getEpochAndSlotInNextL1Slot();
1753
1832
  const blockNumber = BlockNumber(await this.blockSource.getBlockNumber() + 1);
1754
1833
  const l1Constants = await this.blockSource.getL1Constants();
1834
+ // Enforce the same network admission limit the node advertises in getNodeInfo (network-wide, not this
1835
+ // node's local caps), so a tx the wallet sized against txsLimits is not rejected here.
1836
+ const networkTxGasLimits = getNetworkTxGasLimits(this.config, l1Constants);
1755
1837
  const validator = createTxValidatorForAcceptingTxsOverRPC(db, this.contractDataSource, verifier, {
1756
1838
  timestamp: nextSlotTimestamp,
1757
1839
  blockNumber,
@@ -1763,10 +1845,10 @@ _dec = trackSpan('AztecNodeService.simulatePublicCalls', (tx)=>({
1763
1845
  ],
1764
1846
  gasFees: await this.getCurrentMinFees(),
1765
1847
  skipFeeEnforcement,
1848
+ isSimulation,
1766
1849
  txsPermitted: !this.config.disableTransactions,
1767
- rollupManaLimit: l1Constants.rollupManaLimit,
1768
- maxBlockL2Gas: this.config.validateMaxL2BlockGas,
1769
- maxBlockDAGas: this.config.validateMaxDABlockGas
1850
+ maxTxL2Gas: networkTxGasLimits.l2Gas,
1851
+ maxTxDAGas: networkTxGasLimits.daGas
1770
1852
  }, this.log.getBindings());
1771
1853
  return await validator.validateTx(tx);
1772
1854
  }
@@ -2068,6 +2150,12 @@ _dec = trackSpan('AztecNodeService.simulatePublicCalls', (tx)=>({
2068
2150
  });
2069
2151
  }
2070
2152
  }
2153
+ async prove(upToCheckpoint) {
2154
+ if (!this.automineSequencer) {
2155
+ throw new BadRequestError('Cannot prove checkpoint: no automine sequencer is running');
2156
+ }
2157
+ return await this.automineSequencer.prove(upToCheckpoint);
2158
+ }
2071
2159
  /**
2072
2160
  * Returns an instance of MerkleTreeOperations having first ensured the world state is fully synched
2073
2161
  * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
package/dest/bin/index.js CHANGED
@@ -1,9 +1,8 @@
1
1
  #!/usr/bin/env -S node --no-warnings
2
+ import { createNamespacedSafeJsonRpcServer, startHttpRpcServer } from '@aztec/foundation/json-rpc/server';
2
3
  import { createLogger } from '@aztec/foundation/log';
3
- import { AztecNodeApiSchema } from '@aztec/stdlib/interfaces/client';
4
- import { createTracedJsonRpcServer } from '@aztec/telemetry-client';
5
- import http from 'http';
6
- import { AztecNodeService, getConfigEnvVars } from '../index.js';
4
+ import { getOtelJsonRpcPropagationMiddleware } from '@aztec/telemetry-client';
5
+ import { AztecNodeService, getConfigEnvVars, registerAztecNodeRpcHandlers } from '../index.js';
7
6
  const { AZTEC_NODE_PORT = 8081, API_PREFIX = '' } = process.env;
8
7
  const logger = createLogger('node');
9
8
  /**
@@ -28,11 +27,17 @@ const logger = createLogger('node');
28
27
  process.once('SIGINT', shutdown);
29
28
  // eslint-disable-next-line @typescript-eslint/no-misused-promises
30
29
  process.once('SIGTERM', shutdown);
31
- const rpcServer = createTracedJsonRpcServer(aztecNode, AztecNodeApiSchema);
32
- const app = rpcServer.getApp(API_PREFIX);
33
- // eslint-disable-next-line @typescript-eslint/no-misused-promises
34
- const httpServer = http.createServer(app.callback());
35
- httpServer.listen(+AZTEC_NODE_PORT);
30
+ const services = {};
31
+ registerAztecNodeRpcHandlers(aztecNode, services);
32
+ const rpcServer = createNamespacedSafeJsonRpcServer(services, {
33
+ middlewares: [
34
+ getOtelJsonRpcPropagationMiddleware()
35
+ ]
36
+ });
37
+ await startHttpRpcServer(rpcServer, {
38
+ port: +AZTEC_NODE_PORT,
39
+ apiPrefix: API_PREFIX
40
+ });
36
41
  logger.info(`Aztec Node JSON-RPC Server listening on port ${AZTEC_NODE_PORT}`);
37
42
  }
38
43
  main().catch((err)=>{
package/dest/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from './aztec-node/config.js';
2
+ export * from './aztec-node/register_node_rpc_handlers.js';
2
3
  export * from './aztec-node/server.js';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsd0JBQXdCLENBQUMifQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyx3QkFBd0IsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,4CAA4C,CAAC;AAC3D,cAAc,wBAAwB,CAAC"}
package/dest/index.js CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './aztec-node/config.js';
2
+ export * from './aztec-node/register_node_rpc_handlers.js';
2
3
  export * from './aztec-node/server.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/aztec-node",
3
- "version": "5.0.0-nightly.20260611",
3
+ "version": "5.0.0-nightly.20260613",
4
4
  "main": "dest/index.js",
5
5
  "type": "module",
6
6
  "exports": {
@@ -65,32 +65,32 @@
65
65
  ]
66
66
  },
67
67
  "dependencies": {
68
- "@aztec/archiver": "5.0.0-nightly.20260611",
69
- "@aztec/bb-prover": "5.0.0-nightly.20260611",
70
- "@aztec/blob-client": "5.0.0-nightly.20260611",
71
- "@aztec/blob-lib": "5.0.0-nightly.20260611",
72
- "@aztec/constants": "5.0.0-nightly.20260611",
73
- "@aztec/epoch-cache": "5.0.0-nightly.20260611",
74
- "@aztec/ethereum": "5.0.0-nightly.20260611",
75
- "@aztec/foundation": "5.0.0-nightly.20260611",
76
- "@aztec/kv-store": "5.0.0-nightly.20260611",
77
- "@aztec/l1-artifacts": "5.0.0-nightly.20260611",
78
- "@aztec/node-keystore": "5.0.0-nightly.20260611",
79
- "@aztec/node-lib": "5.0.0-nightly.20260611",
80
- "@aztec/noir-protocol-circuits-types": "5.0.0-nightly.20260611",
81
- "@aztec/p2p": "5.0.0-nightly.20260611",
82
- "@aztec/protocol-contracts": "5.0.0-nightly.20260611",
83
- "@aztec/prover-client": "5.0.0-nightly.20260611",
84
- "@aztec/prover-node": "5.0.0-nightly.20260611",
85
- "@aztec/sequencer-client": "5.0.0-nightly.20260611",
86
- "@aztec/simulator": "5.0.0-nightly.20260611",
87
- "@aztec/slasher": "5.0.0-nightly.20260611",
88
- "@aztec/standard-contracts": "5.0.0-nightly.20260611",
89
- "@aztec/stdlib": "5.0.0-nightly.20260611",
90
- "@aztec/telemetry-client": "5.0.0-nightly.20260611",
91
- "@aztec/validator-client": "5.0.0-nightly.20260611",
92
- "@aztec/validator-ha-signer": "5.0.0-nightly.20260611",
93
- "@aztec/world-state": "5.0.0-nightly.20260611",
68
+ "@aztec/archiver": "5.0.0-nightly.20260613",
69
+ "@aztec/bb-prover": "5.0.0-nightly.20260613",
70
+ "@aztec/blob-client": "5.0.0-nightly.20260613",
71
+ "@aztec/blob-lib": "5.0.0-nightly.20260613",
72
+ "@aztec/constants": "5.0.0-nightly.20260613",
73
+ "@aztec/epoch-cache": "5.0.0-nightly.20260613",
74
+ "@aztec/ethereum": "5.0.0-nightly.20260613",
75
+ "@aztec/foundation": "5.0.0-nightly.20260613",
76
+ "@aztec/kv-store": "5.0.0-nightly.20260613",
77
+ "@aztec/l1-artifacts": "5.0.0-nightly.20260613",
78
+ "@aztec/node-keystore": "5.0.0-nightly.20260613",
79
+ "@aztec/node-lib": "5.0.0-nightly.20260613",
80
+ "@aztec/noir-protocol-circuits-types": "5.0.0-nightly.20260613",
81
+ "@aztec/p2p": "5.0.0-nightly.20260613",
82
+ "@aztec/protocol-contracts": "5.0.0-nightly.20260613",
83
+ "@aztec/prover-client": "5.0.0-nightly.20260613",
84
+ "@aztec/prover-node": "5.0.0-nightly.20260613",
85
+ "@aztec/sequencer-client": "5.0.0-nightly.20260613",
86
+ "@aztec/simulator": "5.0.0-nightly.20260613",
87
+ "@aztec/slasher": "5.0.0-nightly.20260613",
88
+ "@aztec/standard-contracts": "5.0.0-nightly.20260613",
89
+ "@aztec/stdlib": "5.0.0-nightly.20260613",
90
+ "@aztec/telemetry-client": "5.0.0-nightly.20260613",
91
+ "@aztec/validator-client": "5.0.0-nightly.20260613",
92
+ "@aztec/validator-ha-signer": "5.0.0-nightly.20260613",
93
+ "@aztec/world-state": "5.0.0-nightly.20260613",
94
94
  "koa": "^2.16.1",
95
95
  "koa-router": "^13.1.1",
96
96
  "tslib": "^2.4.0",
@@ -66,6 +66,13 @@ export type AztecNodeConfig = ArchiverConfig &
66
66
  * See `AUTOMINE_E2E_OPTS` in `end-to-end/src/fixtures/fixtures.ts`.
67
67
  */
68
68
  useAutomineSequencer?: boolean;
69
+ /**
70
+ * Test-only: have the AutomineSequencer automatically prove epochs (write epoch out hashes into
71
+ * the L1 Outbox and advance the proven tip) as checkpoints land, replacing the standalone
72
+ * `EpochTestSettler`. Set by the local network/sandbox; the e2e `AUTOMINE_E2E_OPTS` fixture leaves
73
+ * it off so tests drive proving manually via `prove` / `cheatCodes.rollup.markAsProven`.
74
+ */
75
+ automineEnableProveEpoch?: boolean;
69
76
  };
70
77
 
71
78
  export const aztecNodeConfigMappings: ConfigMappingsType<AztecNodeConfig> = {
@@ -109,6 +116,11 @@ export const aztecNodeConfigMappings: ConfigMappingsType<AztecNodeConfig> = {
109
116
  description: 'Test-only: use AutomineSequencer instead of the production Sequencer.',
110
117
  ...booleanConfigHelper(false),
111
118
  },
119
+ automineEnableProveEpoch: {
120
+ env: 'AUTOMINE_ENABLE_PROVE_EPOCH',
121
+ description: 'Test-only: have the AutomineSequencer automatically prove epochs as checkpoints land.',
122
+ ...booleanConfigHelper(false),
123
+ },
112
124
  };
113
125
 
114
126
  /**
@@ -0,0 +1,29 @@
1
+ import type { NamespacedApiHandlers } from '@aztec/foundation/json-rpc/server';
2
+ import { AztecNodeAdminApiSchema, AztecNodeApiSchema, AztecNodeDebugApiSchema } from '@aztec/stdlib/interfaces/client';
3
+ import { P2PApiSchema } from '@aztec/stdlib/interfaces/server';
4
+
5
+ import type { AztecNodeService } from './server.js';
6
+
7
+ /**
8
+ * Registers the Aztec node RPC handlers (`aztec_*`, `aztecAdmin_*`, and optionally `aztecDebug_*`), along with the
9
+ * legacy pre-v5 namespaces (`node_*`, `nodeAdmin_*`, `nodeDebug_*`, `p2p_*`) for backwards compatibility.
10
+ */
11
+ // TODO: Legacy support for node, nodeAdmin, nodeDebug, p2p namespaces. New namespaces introduced in v5. Remove on future release. A-1169
12
+ export function registerAztecNodeRpcHandlers(
13
+ node: AztecNodeService,
14
+ services: NamespacedApiHandlers,
15
+ adminServices?: NamespacedApiHandlers,
16
+ options: { debug?: boolean } = {},
17
+ ): void {
18
+ services.aztec = [node, AztecNodeApiSchema];
19
+ services.node = services.aztec;
20
+ services.p2p = [node.getP2P(), P2PApiSchema];
21
+ if (adminServices) {
22
+ adminServices.aztecAdmin = [node, AztecNodeAdminApiSchema];
23
+ adminServices.nodeAdmin = adminServices.aztecAdmin;
24
+ }
25
+ if (options.debug) {
26
+ services.aztecDebug = [node, AztecNodeDebugApiSchema];
27
+ services.nodeDebug = services.aztecDebug;
28
+ }
29
+ }
@@ -10,7 +10,13 @@ import { getPublicClient, makeL1HttpTransport } from '@aztec/ethereum/client';
10
10
  import { RegistryContract, RollupContract } from '@aztec/ethereum/contracts';
11
11
  import { type L1ContractAddresses, pickL1ContractAddresses } from '@aztec/ethereum/l1-contract-addresses';
12
12
  import type { L1TxUtils } from '@aztec/ethereum/l1-tx-utils';
13
- import { BlockNumber, CheckpointNumber, EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
13
+ import {
14
+ BlockNumber,
15
+ CheckpointNumber,
16
+ type CheckpointProposalHash,
17
+ EpochNumber,
18
+ SlotNumber,
19
+ } from '@aztec/foundation/branded-types';
14
20
  import { chunkBy, compactArray, pick, unique } from '@aztec/foundation/collection';
15
21
  import { Fr } from '@aztec/foundation/curves/bn254';
16
22
  import { EthAddress } from '@aztec/foundation/eth-address';
@@ -35,13 +41,12 @@ import { ProtocolContractAddress } from '@aztec/protocol-contracts';
35
41
  import { type ProverNode, type ProverNodeDeps, createProverNode } from '@aztec/prover-node';
36
42
  import { createKeyStoreForProver } from '@aztec/prover-node/config';
37
43
  import {
38
- AutomineSequencer,
39
44
  FeeProviderImpl,
40
45
  GlobalVariableBuilder,
41
46
  SequencerClient,
42
47
  type SequencerPublisher,
43
- createAutomineSequencer,
44
48
  } from '@aztec/sequencer-client';
49
+ import { AutomineSequencer, createAutomineSequencer } from '@aztec/sequencer-client/automine';
45
50
  import { PublicContractsDB, PublicProcessorFactory } from '@aztec/simulator/server';
46
51
  import {
47
52
  AttestationsBlockWatcher,
@@ -83,7 +88,7 @@ import type {
83
88
  ProtocolContractAddresses,
84
89
  } from '@aztec/stdlib/contract';
85
90
  import { getEpochAtSlot } from '@aztec/stdlib/epoch-helpers';
86
- import { GasFees, type ManaUsageEstimate } from '@aztec/stdlib/gas';
91
+ import { GasFees, type ManaUsageEstimate, getNetworkTxGasLimits } from '@aztec/stdlib/gas';
87
92
  import { computePublicDataTreeLeafSlot } from '@aztec/stdlib/hash';
88
93
  import type {
89
94
  AztecNode,
@@ -99,6 +104,8 @@ import type {
99
104
  CheckpointParameter,
100
105
  CheckpointResponse,
101
106
  GetTxByHashOptions,
107
+ PeerInfo,
108
+ ProposalsForSlot,
102
109
  } from '@aztec/stdlib/interfaces/client';
103
110
  import { AztecNodeAdminConfigSchema } from '@aztec/stdlib/interfaces/client';
104
111
  import {
@@ -118,8 +125,8 @@ import {
118
125
  type L2ToL1MembershipWitness,
119
126
  appendL1ToL2MessagesToTree,
120
127
  } from '@aztec/stdlib/messaging';
128
+ import type { CheckpointAttestation } from '@aztec/stdlib/p2p';
121
129
  import type { Offense } from '@aztec/stdlib/slashing';
122
- import { DEFAULT_MIN_BLOCK_DURATION } from '@aztec/stdlib/timetable';
123
130
  import type { NullifierLeafPreimage, PublicDataTreeLeafPreimage } from '@aztec/stdlib/trees';
124
131
  import { MerkleTreeId, NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees';
125
132
  import {
@@ -127,6 +134,7 @@ import {
127
134
  type FeeProvider,
128
135
  type GetTxReceiptOptions,
129
136
  type GlobalVariableBuilder as GlobalVariableBuilderInterface,
137
+ GlobalVariables,
130
138
  type IndexedTxEffect,
131
139
  MinedTxReceipt,
132
140
  type MinedTxStatus,
@@ -246,6 +254,22 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, AztecNodeDeb
246
254
  return { proposed, checkpointed, proven, finalized };
247
255
  }
248
256
 
257
+ public getL1Constants() {
258
+ return this.blockSource.getL1Constants();
259
+ }
260
+
261
+ public getSyncedL2SlotNumber() {
262
+ return this.blockSource.getSyncedL2SlotNumber();
263
+ }
264
+
265
+ public getSyncedL2EpochNumber() {
266
+ return this.blockSource.getSyncedL2EpochNumber();
267
+ }
268
+
269
+ public getSyncedL1Timestamp() {
270
+ return this.blockSource.getL1Timestamp();
271
+ }
272
+
249
273
  public getCheckpointsData(query: CheckpointsQuery) {
250
274
  return this.blockSource.getCheckpointsData(query);
251
275
  }
@@ -565,9 +589,10 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, AztecNodeDeb
565
589
  Object.assign(config, l1ContractsAddresses);
566
590
 
567
591
  const rollupContract = new RollupContract(publicClient, config.rollupAddress.toString());
568
- const [l1GenesisTime, slotDuration, rollupVersionFromRollup, rollupManaLimit] = await Promise.all([
592
+ const [l1GenesisTime, slotDuration, epochDuration, rollupVersionFromRollup, rollupManaLimit] = await Promise.all([
569
593
  rollupContract.getL1GenesisTime(),
570
594
  rollupContract.getSlotDuration(),
595
+ rollupContract.getEpochDuration(),
571
596
  rollupContract.getVersion(),
572
597
  rollupContract.getManaLimit().then(Number),
573
598
  ] as const);
@@ -590,14 +615,13 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, AztecNodeDeb
590
615
  // Track started resources so we can clean up on partial failure during node creation.
591
616
  const started: { stop?(): Promise<void> | void }[] = [];
592
617
  try {
593
- // Default the consensus materialization grace from the block build duration when unset, so the archiver
594
- // gives received checkpoint proposals roughly two build slots to validate and enter proposed state.
595
- config.checkpointProposalSyncGraceSeconds ??=
596
- config.blockDurationMs !== undefined
597
- ? 2 * Math.ceil(config.blockDurationMs / 1000)
598
- : 2 * DEFAULT_MIN_BLOCK_DURATION;
599
618
  config.skipOrphanProposedBlockPruning ||= !!config.useAutomineSequencer;
600
619
 
620
+ AztecNodeService.checkConfigMatchesRollup(config, {
621
+ slotDuration: Number(slotDuration),
622
+ epochDuration: Number(epochDuration),
623
+ });
624
+
601
625
  // Create world-state first so we can retrieve the initial header before constructing the archiver.
602
626
  const nativeWs = await createWorldState(config, options.genesis);
603
627
  const initialHeader = nativeWs.getInitialHeader();
@@ -923,6 +947,7 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, AztecNodeDeb
923
947
  ethereumSlotDuration: config.ethereumSlotDuration,
924
948
  rollupManaLimit,
925
949
  },
950
+ autoSettle: config.automineEnableProveEpoch,
926
951
  log,
927
952
  });
928
953
  } else {
@@ -1027,6 +1052,32 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, AztecNodeDeb
1027
1052
  }
1028
1053
  }
1029
1054
 
1055
+ /**
1056
+ * Verifies the node's configured L1 timing matches the rollup contract it is pointed at, for the fields the
1057
+ * node's own config carries. Each comparison is guarded against an undefined config value, so a config that
1058
+ * does not carry a field is not checked. Throws a single error listing every mismatch. Runs in the shared
1059
+ * startup path for every node role.
1060
+ */
1061
+ private static checkConfigMatchesRollup(
1062
+ config: AztecNodeConfig,
1063
+ rollup: { slotDuration: number; epochDuration: number },
1064
+ ): void {
1065
+ const mismatches: string[] = [];
1066
+ if (config.aztecSlotDuration !== undefined && config.aztecSlotDuration !== rollup.slotDuration) {
1067
+ mismatches.push(`aztecSlotDuration is ${config.aztecSlotDuration} but the rollup reports ${rollup.slotDuration}`);
1068
+ }
1069
+ if (config.aztecEpochDuration !== undefined && config.aztecEpochDuration !== rollup.epochDuration) {
1070
+ mismatches.push(
1071
+ `aztecEpochDuration is ${config.aztecEpochDuration} but the rollup reports ${rollup.epochDuration}`,
1072
+ );
1073
+ }
1074
+ if (mismatches.length > 0) {
1075
+ throw new Error(
1076
+ `The node's configured L1 timing does not match the rollup contract it is pointed at: ${mismatches.join('; ')}`,
1077
+ );
1078
+ }
1079
+ }
1080
+
1030
1081
  /**
1031
1082
  * Returns the sequencer client instance.
1032
1083
  * @returns The sequencer client instance.
@@ -1082,14 +1133,22 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, AztecNodeDeb
1082
1133
  }
1083
1134
 
1084
1135
  public async getNodeInfo(): Promise<NodeInfo> {
1085
- const [nodeVersion, rollupVersion, chainId, enr, contractAddresses, protocolContractAddresses] = await Promise.all([
1086
- this.getNodeVersion(),
1087
- this.getVersion(),
1088
- this.getChainId(),
1089
- this.getEncodedEnr(),
1090
- this.getL1ContractAddresses(),
1091
- this.getProtocolContractAddresses(),
1092
- ]);
1136
+ const [nodeVersion, rollupVersion, chainId, enr, contractAddresses, protocolContractAddresses, l1Constants] =
1137
+ await Promise.all([
1138
+ this.getNodeVersion(),
1139
+ this.getVersion(),
1140
+ this.getChainId(),
1141
+ this.getEncodedEnr(),
1142
+ this.getL1ContractAddresses(),
1143
+ this.getProtocolContractAddresses(),
1144
+ this.blockSource.getL1Constants(),
1145
+ ]);
1146
+
1147
+ // Gas limits a single tx may declare on this network, derived from network-wide constants only (the
1148
+ // timetable's blocks-per-checkpoint and the network-minimum per-block multipliers) — never this node's
1149
+ // local caps or configured multipliers, which can make the node stricter at block-building time but
1150
+ // cannot define what the network accepts for relay. Clients read txsLimits to set fallback gas limits.
1151
+ const maxTxGas = getNetworkTxGasLimits(this.config, l1Constants);
1093
1152
 
1094
1153
  const nodeInfo: NodeInfo = {
1095
1154
  nodeVersion,
@@ -1099,6 +1158,7 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, AztecNodeDeb
1099
1158
  l1ContractAddresses: contractAddresses,
1100
1159
  protocolContractAddresses: protocolContractAddresses,
1101
1160
  realProofs: !!this.config.realProofs,
1161
+ txsLimits: { gas: { daGas: maxTxGas.daGas, l2Gas: maxTxGas.l2Gas } },
1102
1162
  };
1103
1163
 
1104
1164
  return nodeInfo;
@@ -1312,6 +1372,21 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, AztecNodeDeb
1312
1372
  return this.p2pClient!.getPendingTxCount();
1313
1373
  }
1314
1374
 
1375
+ public getPeers(includePending?: boolean): Promise<PeerInfo[]> {
1376
+ return this.p2pClient!.getPeers(includePending);
1377
+ }
1378
+
1379
+ public getCheckpointAttestationsForSlot(
1380
+ slot: SlotNumber,
1381
+ proposalPayloadHash?: CheckpointProposalHash,
1382
+ ): Promise<CheckpointAttestation[]> {
1383
+ return this.p2pClient!.getCheckpointAttestationsForSlot(slot, proposalPayloadHash);
1384
+ }
1385
+
1386
+ public getProposalsForSlot(slot: SlotNumber): Promise<ProposalsForSlot> {
1387
+ return this.p2pClient!.getProposalsForSlot(slot);
1388
+ }
1389
+
1315
1390
  /**
1316
1391
  * Method to retrieve a single tx from the mempool or unfinalized chain. The tx's proof is only loaded and returned
1317
1392
  * when `includeProof` is set.
@@ -1591,11 +1666,34 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, AztecNodeDeb
1591
1666
  const coinbase = EthAddress.ZERO;
1592
1667
  const feeRecipient = AztecAddress.ZERO;
1593
1668
 
1594
- const newGlobalVariables = await this.globalVariableBuilder.buildGlobalVariables(
1595
- blockNumber,
1669
+ // Define the slot for simulation as the max of the next L1 timestamp slot, the slot after the proposed
1670
+ // checkpoint, and the latest proposed block's slot.
1671
+ const proposedCheckpointBlockData = await this.blockSource.getBlockData({
1672
+ number: l2Tips.proposedCheckpoint.block.number,
1673
+ });
1674
+ const proposedCheckpointSlot = proposedCheckpointBlockData?.header.getSlot();
1675
+ let slotAfterProposedCheckpoint: SlotNumber | undefined;
1676
+ if (proposedCheckpointSlot !== undefined) {
1677
+ slotAfterProposedCheckpoint = SlotNumber.fromBigInt(BigInt(proposedCheckpointSlot) + 1n);
1678
+ }
1679
+
1680
+ let latestProposedBlockSlot: SlotNumber | undefined;
1681
+ if (l2Tips.proposed.number > l2Tips.proposedCheckpoint.block.number) {
1682
+ latestProposedBlockSlot = (
1683
+ await this.blockSource.getBlockData({ number: l2Tips.proposed.number })
1684
+ )?.header.getSlot();
1685
+ }
1686
+ const slotFromNextL1Timestamp = this.epochCache.getEpochAndSlotInNextL1Slot().slot;
1687
+ const targetSlot = SlotNumber(
1688
+ Math.max(...compactArray([slotFromNextL1Timestamp, slotAfterProposedCheckpoint, latestProposedBlockSlot])),
1689
+ );
1690
+
1691
+ const checkpointGlobalVariables = await this.globalVariableBuilder.buildCheckpointGlobalVariables(
1596
1692
  coinbase,
1597
1693
  feeRecipient,
1694
+ targetSlot,
1598
1695
  );
1696
+ const newGlobalVariables = GlobalVariables.from({ blockNumber, ...checkpointGlobalVariables });
1599
1697
 
1600
1698
  const publicProcessorFactory = new PublicProcessorFactory(
1601
1699
  this.contractDataSource,
@@ -1696,6 +1794,9 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, AztecNodeDeb
1696
1794
  const { ts: nextSlotTimestamp } = this.epochCache.getEpochAndSlotInNextL1Slot();
1697
1795
  const blockNumber = BlockNumber((await this.blockSource.getBlockNumber()) + 1);
1698
1796
  const l1Constants = await this.blockSource.getL1Constants();
1797
+ // Enforce the same network admission limit the node advertises in getNodeInfo (network-wide, not this
1798
+ // node's local caps), so a tx the wallet sized against txsLimits is not rejected here.
1799
+ const networkTxGasLimits = getNetworkTxGasLimits(this.config, l1Constants);
1699
1800
  const validator = createTxValidatorForAcceptingTxsOverRPC(
1700
1801
  db,
1701
1802
  this.contractDataSource,
@@ -1711,10 +1812,10 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, AztecNodeDeb
1711
1812
  ],
1712
1813
  gasFees: await this.getCurrentMinFees(),
1713
1814
  skipFeeEnforcement,
1815
+ isSimulation,
1714
1816
  txsPermitted: !this.config.disableTransactions,
1715
- rollupManaLimit: l1Constants.rollupManaLimit,
1716
- maxBlockL2Gas: this.config.validateMaxL2BlockGas,
1717
- maxBlockDAGas: this.config.validateMaxDABlockGas,
1817
+ maxTxL2Gas: networkTxGasLimits.l2Gas,
1818
+ maxTxDAGas: networkTxGasLimits.daGas,
1718
1819
  },
1719
1820
  this.log.getBindings(),
1720
1821
  );
@@ -2058,6 +2159,13 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, AztecNodeDeb
2058
2159
  }
2059
2160
  }
2060
2161
 
2162
+ public async prove(upToCheckpoint?: CheckpointNumber): Promise<CheckpointNumber> {
2163
+ if (!this.automineSequencer) {
2164
+ throw new BadRequestError('Cannot prove checkpoint: no automine sequencer is running');
2165
+ }
2166
+ return await this.automineSequencer.prove(upToCheckpoint);
2167
+ }
2168
+
2061
2169
  /**
2062
2170
  * Returns an instance of MerkleTreeOperations having first ensured the world state is fully synched
2063
2171
  * @param block - The block parameter (block number, block hash, or 'latest') at which to get the data.
package/src/bin/index.ts CHANGED
@@ -1,11 +1,13 @@
1
1
  #!/usr/bin/env -S node --no-warnings
2
+ import {
3
+ type NamespacedApiHandlers,
4
+ createNamespacedSafeJsonRpcServer,
5
+ startHttpRpcServer,
6
+ } from '@aztec/foundation/json-rpc/server';
2
7
  import { createLogger } from '@aztec/foundation/log';
3
- import { AztecNodeApiSchema } from '@aztec/stdlib/interfaces/client';
4
- import { createTracedJsonRpcServer } from '@aztec/telemetry-client';
8
+ import { getOtelJsonRpcPropagationMiddleware } from '@aztec/telemetry-client';
5
9
 
6
- import http from 'http';
7
-
8
- import { type AztecNodeConfig, AztecNodeService, getConfigEnvVars } from '../index.js';
10
+ import { type AztecNodeConfig, AztecNodeService, getConfigEnvVars, registerAztecNodeRpcHandlers } from '../index.js';
9
11
 
10
12
  const { AZTEC_NODE_PORT = 8081, API_PREFIX = '' } = process.env;
11
13
 
@@ -39,12 +41,12 @@ async function main() {
39
41
  // eslint-disable-next-line @typescript-eslint/no-misused-promises
40
42
  process.once('SIGTERM', shutdown);
41
43
 
42
- const rpcServer = createTracedJsonRpcServer(aztecNode, AztecNodeApiSchema);
43
- const app = rpcServer.getApp(API_PREFIX);
44
-
45
- // eslint-disable-next-line @typescript-eslint/no-misused-promises
46
- const httpServer = http.createServer(app.callback());
47
- httpServer.listen(+AZTEC_NODE_PORT);
44
+ const services: NamespacedApiHandlers = {};
45
+ registerAztecNodeRpcHandlers(aztecNode, services);
46
+ const rpcServer = createNamespacedSafeJsonRpcServer(services, {
47
+ middlewares: [getOtelJsonRpcPropagationMiddleware()],
48
+ });
49
+ await startHttpRpcServer(rpcServer, { port: +AZTEC_NODE_PORT, apiPrefix: API_PREFIX });
48
50
  logger.info(`Aztec Node JSON-RPC Server listening on port ${AZTEC_NODE_PORT}`);
49
51
  }
50
52
 
package/src/index.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './aztec-node/config.js';
2
+ export * from './aztec-node/register_node_rpc_handlers.js';
2
3
  export * from './aztec-node/server.js';