@aztec/prover-client 0.0.1-commit.7b97ef96e → 0.0.1-commit.7cbc774

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 (82) hide show
  1. package/dest/config.d.ts +1 -1
  2. package/dest/config.d.ts.map +1 -1
  3. package/dest/config.js +16 -2
  4. package/dest/light/lightweight_checkpoint_builder.d.ts +6 -2
  5. package/dest/light/lightweight_checkpoint_builder.d.ts.map +1 -1
  6. package/dest/light/lightweight_checkpoint_builder.js +40 -11
  7. package/dest/mocks/test_context.d.ts +3 -1
  8. package/dest/mocks/test_context.d.ts.map +1 -1
  9. package/dest/mocks/test_context.js +14 -8
  10. package/dest/orchestrator/block-building-helpers.d.ts +1 -1
  11. package/dest/orchestrator/checkpoint-proving-state.d.ts +8 -1
  12. package/dest/orchestrator/checkpoint-proving-state.d.ts.map +1 -1
  13. package/dest/orchestrator/checkpoint-proving-state.js +10 -1
  14. package/dest/orchestrator/checkpoint-sub-tree-orchestrator.d.ts +107 -0
  15. package/dest/orchestrator/checkpoint-sub-tree-orchestrator.d.ts.map +1 -0
  16. package/dest/orchestrator/checkpoint-sub-tree-orchestrator.js +151 -0
  17. package/dest/orchestrator/epoch-proving-context.d.ts +51 -0
  18. package/dest/orchestrator/epoch-proving-context.d.ts.map +1 -0
  19. package/dest/orchestrator/epoch-proving-context.js +81 -0
  20. package/dest/orchestrator/epoch-proving-state.d.ts +1 -1
  21. package/dest/orchestrator/index.d.ts +4 -1
  22. package/dest/orchestrator/index.d.ts.map +1 -1
  23. package/dest/orchestrator/index.js +3 -0
  24. package/dest/orchestrator/orchestrator.d.ts +15 -25
  25. package/dest/orchestrator/orchestrator.d.ts.map +1 -1
  26. package/dest/orchestrator/orchestrator.js +33 -154
  27. package/dest/orchestrator/proving-scheduler.d.ts +72 -0
  28. package/dest/orchestrator/proving-scheduler.d.ts.map +1 -0
  29. package/dest/orchestrator/proving-scheduler.js +117 -0
  30. package/dest/orchestrator/top-tree-orchestrator.d.ts +83 -0
  31. package/dest/orchestrator/top-tree-orchestrator.d.ts.map +1 -0
  32. package/dest/orchestrator/top-tree-orchestrator.js +182 -0
  33. package/dest/orchestrator/top-tree-proving-scheduler.d.ts +62 -0
  34. package/dest/orchestrator/top-tree-proving-scheduler.d.ts.map +1 -0
  35. package/dest/orchestrator/top-tree-proving-scheduler.js +73 -0
  36. package/dest/orchestrator/top-tree-proving-state.d.ts +61 -0
  37. package/dest/orchestrator/top-tree-proving-state.d.ts.map +1 -0
  38. package/dest/orchestrator/top-tree-proving-state.js +185 -0
  39. package/dest/prover-client/prover-client.d.ts +62 -3
  40. package/dest/prover-client/prover-client.d.ts.map +1 -1
  41. package/dest/prover-client/prover-client.js +50 -2
  42. package/dest/proving_broker/broker_prover_facade.d.ts +1 -1
  43. package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -1
  44. package/dest/proving_broker/broker_prover_facade.js +13 -19
  45. package/dest/proving_broker/config.d.ts +9 -73
  46. package/dest/proving_broker/config.d.ts.map +1 -1
  47. package/dest/proving_broker/config.js +3 -3
  48. package/dest/proving_broker/index.d.ts +2 -1
  49. package/dest/proving_broker/index.d.ts.map +1 -1
  50. package/dest/proving_broker/index.js +1 -0
  51. package/dest/proving_broker/proving_broker.d.ts +2 -2
  52. package/dest/proving_broker/proving_broker.d.ts.map +1 -1
  53. package/dest/proving_broker/proving_broker.js +39 -10
  54. package/dest/proving_broker/proving_broker_database/persisted.js +2 -2
  55. package/dest/proving_broker/proving_broker_instrumentation.d.ts +3 -1
  56. package/dest/proving_broker/proving_broker_instrumentation.d.ts.map +1 -1
  57. package/dest/proving_broker/proving_broker_instrumentation.js +7 -0
  58. package/dest/proving_broker/rpc.d.ts +3 -1
  59. package/dest/proving_broker/rpc.d.ts.map +1 -1
  60. package/dest/proving_broker/rpc.js +80 -24
  61. package/dest/test/mock_prover.d.ts +3 -3
  62. package/package.json +18 -19
  63. package/src/config.ts +18 -2
  64. package/src/light/lightweight_checkpoint_builder.ts +46 -20
  65. package/src/mocks/test_context.ts +12 -9
  66. package/src/orchestrator/checkpoint-proving-state.ts +14 -1
  67. package/src/orchestrator/checkpoint-sub-tree-orchestrator.ts +271 -0
  68. package/src/orchestrator/epoch-proving-context.ts +101 -0
  69. package/src/orchestrator/index.ts +8 -0
  70. package/src/orchestrator/orchestrator.ts +46 -210
  71. package/src/orchestrator/proving-scheduler.ts +156 -0
  72. package/src/orchestrator/top-tree-orchestrator.ts +314 -0
  73. package/src/orchestrator/top-tree-proving-scheduler.ts +154 -0
  74. package/src/orchestrator/top-tree-proving-state.ts +220 -0
  75. package/src/prover-client/prover-client.ts +127 -2
  76. package/src/proving_broker/broker_prover_facade.ts +17 -20
  77. package/src/proving_broker/config.ts +3 -2
  78. package/src/proving_broker/index.ts +1 -0
  79. package/src/proving_broker/proving_broker.ts +34 -7
  80. package/src/proving_broker/proving_broker_database/persisted.ts +2 -2
  81. package/src/proving_broker/proving_broker_instrumentation.ts +9 -0
  82. package/src/proving_broker/rpc.ts +36 -24
package/dest/config.d.ts CHANGED
@@ -14,4 +14,4 @@ export declare const proverClientConfigMappings: ConfigMappingsType<ProverClient
14
14
  * @returns The prover configuration.
15
15
  */
16
16
  export declare function getProverEnvVars(): ProverClientUserConfig;
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RCxPQUFPLEVBQ0wsS0FBSyxrQkFBa0IsRUFJeEIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsS0FBSyxZQUFZLEVBQXdCLE1BQU0sd0NBQXdDLENBQUM7QUFFakcsT0FBTyxFQUNMLEtBQUssaUJBQWlCLEVBQ3RCLEtBQUssa0JBQWtCLEVBR3hCLE1BQU0sNEJBQTRCLENBQUM7QUFFcEMsdURBQXVEO0FBQ3ZELE1BQU0sTUFBTSxzQkFBc0IsR0FBRyxZQUFZLEdBQUcsaUJBQWlCLEdBQUcsa0JBQWtCLEdBQUcsUUFBUSxHQUFHLFVBQVUsQ0FBQztBQUVuSCxpRUFBaUU7QUFDakUsTUFBTSxNQUFNLGtCQUFrQixHQUFHLHNCQUFzQixHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUU3RyxlQUFPLE1BQU0sZ0JBQWdCLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FnQ3RFLENBQUM7QUFFRixlQUFPLE1BQU0sMEJBQTBCLEVBQUUsa0JBQWtCLENBQUMsc0JBQXNCLENBS2pGLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsd0JBQWdCLGdCQUFnQixJQUFJLHNCQUFzQixDQUV6RCJ9
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM3RCxPQUFPLEVBQ0wsS0FBSyxrQkFBa0IsRUFJeEIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsS0FBSyxZQUFZLEVBQXdCLE1BQU0sd0NBQXdDLENBQUM7QUFFakcsT0FBTyxFQUNMLEtBQUssaUJBQWlCLEVBQ3RCLEtBQUssa0JBQWtCLEVBR3hCLE1BQU0sNEJBQTRCLENBQUM7QUFFcEMsdURBQXVEO0FBQ3ZELE1BQU0sTUFBTSxzQkFBc0IsR0FBRyxZQUFZLEdBQUcsaUJBQWlCLEdBQUcsa0JBQWtCLEdBQUcsUUFBUSxHQUFHLFVBQVUsQ0FBQztBQUVuSCxpRUFBaUU7QUFDakUsTUFBTSxNQUFNLGtCQUFrQixHQUFHLHNCQUFzQixHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUU3RyxlQUFPLE1BQU0sZ0JBQWdCLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FnRHRFLENBQUM7QUFFRixlQUFPLE1BQU0sMEJBQTBCLEVBQUUsa0JBQWtCLENBQUMsc0JBQXNCLENBS2pGLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsd0JBQWdCLGdCQUFnQixJQUFJLHNCQUFzQixDQUV6RCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,YAAY,EAAwB,MAAM,wCAAwC,CAAC;AAEjG,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EAGxB,MAAM,4BAA4B,CAAC;AAEpC,uDAAuD;AACvD,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEnH,iEAAiE;AACjE,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC,CAAC;AAE7G,eAAO,MAAM,gBAAgB,EAAE,kBAAkB,CAAC,QAAQ,GAAG,UAAU,CAgCtE,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CAAC,sBAAsB,CAKjF,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,sBAAsB,CAEzD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,YAAY,EAAwB,MAAM,wCAAwC,CAAC;AAEjG,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EAGxB,MAAM,4BAA4B,CAAC;AAEpC,uDAAuD;AACvD,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEnH,iEAAiE;AACjE,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC,CAAC;AAE7G,eAAO,MAAM,gBAAgB,EAAE,kBAAkB,CAAC,QAAQ,GAAG,UAAU,CAgDtE,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CAAC,sBAAsB,CAKjF,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,sBAAsB,CAEzD"}
package/dest/config.js CHANGED
@@ -25,13 +25,27 @@ export const bbConfigMappings = {
25
25
  },
26
26
  numConcurrentIVCVerifiers: {
27
27
  env: 'BB_NUM_IVC_VERIFIERS',
28
- description: 'Max number of chonk verifiers to run concurrently',
28
+ description: 'Max concurrent verifications for the RPC verifier (QueuedIVCVerifier).',
29
29
  ...numberConfigHelper(8)
30
30
  },
31
31
  bbIVCConcurrency: {
32
32
  env: 'BB_IVC_CONCURRENCY',
33
- description: 'Number of threads to use for IVC verification',
33
+ description: 'Thread count for the RPC IVC verifier.',
34
34
  ...numberConfigHelper(1)
35
+ },
36
+ bbChonkVerifyMaxBatch: {
37
+ env: 'BB_CHONK_VERIFY_MAX_BATCH',
38
+ description: 'Upper bound on proofs per batch for the peer chonk batch verifier. Proofs are verified immediately as they arrive; this only caps how many can accumulate while a batch is already being processed.',
39
+ ...numberConfigHelper(16)
40
+ },
41
+ bbChonkVerifyConcurrency: {
42
+ env: 'BB_CHONK_VERIFY_BATCH_CONCURRENCY',
43
+ description: 'Thread count for the peer batch verifier parallel reduce. 0 = auto.',
44
+ ...numberConfigHelper(6)
45
+ },
46
+ bbDebugOutputDir: {
47
+ env: 'BB_DEBUG_OUTPUT_DIR',
48
+ description: 'When set, bb.js operations write input/output files and log equivalent CLI commands to this directory'
35
49
  }
36
50
  };
37
51
  export const proverClientConfigMappings = {
@@ -34,6 +34,7 @@ export declare class LightweightCheckpointBuilder {
34
34
  static resumeCheckpoint(checkpointNumber: CheckpointNumber, constants: CheckpointGlobalVariables, feeAssetPriceModifier: bigint, l1ToL2Messages: Fr[], previousCheckpointOutHashes: Fr[], db: MerkleTreeWriteOperations, existingBlocks: L2Block[], bindings?: LoggerBindings): Promise<LightweightCheckpointBuilder>;
35
35
  /** Returns how many blocks have been added to this checkpoint so far */
36
36
  getBlockCount(): number;
37
+ getBlocks(): L2Block[];
37
38
  /**
38
39
  * Adds a new block to the checkpoint. The tx effects must have already been inserted into the db if
39
40
  * this is called after tx processing, if that's not the case, then set `insertTxsEffects` to true.
@@ -41,8 +42,11 @@ export declare class LightweightCheckpointBuilder {
41
42
  addBlock(globalVariables: GlobalVariables, txs: ProcessedTx[], opts?: {
42
43
  insertTxsEffects?: boolean;
43
44
  expectedEndState?: StateReference;
44
- }): Promise<L2Block>;
45
+ }): Promise<{
46
+ block: L2Block;
47
+ timings: Record<string, number>;
48
+ }>;
45
49
  completeCheckpoint(): Promise<Checkpoint>;
46
50
  clone(): LightweightCheckpointBuilder;
47
51
  }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHR3ZWlnaHRfY2hlY2twb2ludF9idWlsZGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGlnaHQvbGlnaHR3ZWlnaHRfY2hlY2twb2ludF9idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUF5QixNQUFNLGlDQUFpQyxDQUFDO0FBRS9GLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQWUsS0FBSyxjQUFjLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFDdkYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEtBQUssRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBUWpGLE9BQU8sRUFDTCxLQUFLLHlCQUF5QixFQUM5QixLQUFLLGVBQWUsRUFDcEIsS0FBSyxXQUFXLEVBQ2hCLGNBQWMsRUFDZixNQUFNLGtCQUFrQixDQUFDO0FBUTFCOzs7OztHQUtHO0FBQ0gscUJBQWEsNEJBQTRCO2FBU3JCLGdCQUFnQixFQUFFLGdCQUFnQjthQUNsQyxTQUFTLEVBQUUseUJBQXlCO0lBQzdDLHFCQUFxQixFQUFFLE1BQU07YUFDcEIsY0FBYyxFQUFFLEVBQUUsRUFBRTtJQUNwQyxPQUFPLENBQUMsUUFBUSxDQUFDLDJCQUEyQjthQUM1QixFQUFFLEVBQUUseUJBQXlCO0lBYi9DLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFTO0lBRWhDLE9BQU8sQ0FBQyxZQUFZLENBQWdDO0lBQ3BELE9BQU8sQ0FBQyxVQUFVLENBQWE7SUFDL0IsT0FBTyxDQUFDLE1BQU0sQ0FBaUI7SUFDL0IsT0FBTyxDQUFDLFVBQVUsQ0FBWTtJQUU5QixZQUNrQixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFDbEMsU0FBUyxFQUFFLHlCQUF5QixFQUM3QyxxQkFBcUIsRUFBRSxNQUFNLEVBQ3BCLGNBQWMsRUFBRSxFQUFFLEVBQUUsRUFDbkIsMkJBQTJCLEVBQUUsRUFBRSxFQUFFLEVBQ2xDLEVBQUUsRUFBRSx5QkFBeUIsRUFDN0MsUUFBUSxDQUFDLEVBQUUsY0FBYyxFQVExQjtJQUVELE9BQWEsa0JBQWtCLENBQzdCLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxTQUFTLEVBQUUseUJBQXlCLEVBQ3BDLGNBQWMsRUFBRSxFQUFFLEVBQUUsRUFDcEIsMkJBQTJCLEVBQUUsRUFBRSxFQUFFLEVBQ2pDLEVBQUUsRUFBRSx5QkFBeUIsRUFDN0IsUUFBUSxDQUFDLEVBQUUsY0FBYyxFQUN6QixxQkFBcUIsR0FBRSxNQUFXLEdBQ2pDLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxDQWdCdkM7SUFFRDs7Ozs7T0FLRztJQUNILE9BQWEsZ0JBQWdCLENBQzNCLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxTQUFTLEVBQUUseUJBQXlCLEVBQ3BDLHFCQUFxQixFQUFFLE1BQU0sRUFDN0IsY0FBYyxFQUFFLEVBQUUsRUFBRSxFQUNwQiwyQkFBMkIsRUFBRSxFQUFFLEVBQUUsRUFDakMsRUFBRSxFQUFFLHlCQUF5QixFQUM3QixjQUFjLEVBQUUsT0FBTyxFQUFFLEVBQ3pCLFFBQVEsQ0FBQyxFQUFFLGNBQWMsR0FDeEIsT0FBTyxDQUFDLDRCQUE0QixDQUFDLENBK0N2QztJQUVELHdFQUF3RTtJQUNqRSxhQUFhLFdBRW5CO0lBRUQ7OztPQUdHO0lBQ1UsUUFBUSxDQUNuQixlQUFlLEVBQUUsZUFBZSxFQUNoQyxHQUFHLEVBQUUsV0FBVyxFQUFFLEVBQ2xCLElBQUksR0FBRTtRQUFFLGdCQUFnQixDQUFDLEVBQUUsT0FBTyxDQUFDO1FBQUMsZ0JBQWdCLENBQUMsRUFBRSxjQUFjLENBQUE7S0FBTyxHQUMzRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBaUVsQjtJQUVLLGtCQUFrQixJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0E2QzlDO0lBRUQsS0FBSyxpQ0FlSjtDQUNGIn0=
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHR3ZWlnaHRfY2hlY2twb2ludF9idWlsZGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGlnaHQvbGlnaHR3ZWlnaHRfY2hlY2twb2ludF9idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUF5QixNQUFNLGlDQUFpQyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQWUsS0FBSyxjQUFjLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFFdkYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEtBQUssRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBU2pGLE9BQU8sRUFDTCxLQUFLLHlCQUF5QixFQUM5QixLQUFLLGVBQWUsRUFDcEIsS0FBSyxXQUFXLEVBQ2hCLGNBQWMsRUFDZixNQUFNLGtCQUFrQixDQUFDO0FBUTFCOzs7OztHQUtHO0FBQ0gscUJBQWEsNEJBQTRCO2FBU3JCLGdCQUFnQixFQUFFLGdCQUFnQjthQUNsQyxTQUFTLEVBQUUseUJBQXlCO0lBQzdDLHFCQUFxQixFQUFFLE1BQU07YUFDcEIsY0FBYyxFQUFFLEVBQUUsRUFBRTtJQUNwQyxPQUFPLENBQUMsUUFBUSxDQUFDLDJCQUEyQjthQUM1QixFQUFFLEVBQUUseUJBQXlCO0lBYi9DLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFTO0lBRWhDLE9BQU8sQ0FBQyxZQUFZLENBQWdDO0lBQ3BELE9BQU8sQ0FBQyxVQUFVLENBQWE7SUFDL0IsT0FBTyxDQUFDLE1BQU0sQ0FBaUI7SUFDL0IsT0FBTyxDQUFDLFVBQVUsQ0FBWTtJQUU5QixZQUNrQixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFDbEMsU0FBUyxFQUFFLHlCQUF5QixFQUM3QyxxQkFBcUIsRUFBRSxNQUFNLEVBQ3BCLGNBQWMsRUFBRSxFQUFFLEVBQUUsRUFDbkIsMkJBQTJCLEVBQUUsRUFBRSxFQUFFLEVBQ2xDLEVBQUUsRUFBRSx5QkFBeUIsRUFDN0MsUUFBUSxDQUFDLEVBQUUsY0FBYyxFQVExQjtJQUVELE9BQWEsa0JBQWtCLENBQzdCLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxTQUFTLEVBQUUseUJBQXlCLEVBQ3BDLGNBQWMsRUFBRSxFQUFFLEVBQUUsRUFDcEIsMkJBQTJCLEVBQUUsRUFBRSxFQUFFLEVBQ2pDLEVBQUUsRUFBRSx5QkFBeUIsRUFDN0IsUUFBUSxDQUFDLEVBQUUsY0FBYyxFQUN6QixxQkFBcUIsR0FBRSxNQUFXLEdBQ2pDLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxDQWF2QztJQUVEOzs7OztPQUtHO0lBQ0gsT0FBYSxnQkFBZ0IsQ0FDM0IsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLFNBQVMsRUFBRSx5QkFBeUIsRUFDcEMscUJBQXFCLEVBQUUsTUFBTSxFQUM3QixjQUFjLEVBQUUsRUFBRSxFQUFFLEVBQ3BCLDJCQUEyQixFQUFFLEVBQUUsRUFBRSxFQUNqQyxFQUFFLEVBQUUseUJBQXlCLEVBQzdCLGNBQWMsRUFBRSxPQUFPLEVBQUUsRUFDekIsUUFBUSxDQUFDLEVBQUUsY0FBYyxHQUN4QixPQUFPLENBQUMsNEJBQTRCLENBQUMsQ0FtRHZDO0lBRUQsd0VBQXdFO0lBQ2pFLGFBQWEsV0FFbkI7SUFFTSxTQUFTLGNBRWY7SUFFRDs7O09BR0c7SUFDVSxRQUFRLENBQ25CLGVBQWUsRUFBRSxlQUFlLEVBQ2hDLEdBQUcsRUFBRSxXQUFXLEVBQUUsRUFDbEIsSUFBSSxHQUFFO1FBQUUsZ0JBQWdCLENBQUMsRUFBRSxPQUFPLENBQUM7UUFBQyxnQkFBZ0IsQ0FBQyxFQUFFLGNBQWMsQ0FBQTtLQUFPLEdBQzNFLE9BQU8sQ0FBQztRQUFFLEtBQUssRUFBRSxPQUFPLENBQUM7UUFBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQTtLQUFFLENBQUMsQ0E4RTlEO0lBRUssa0JBQWtCLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQXFEOUM7SUFFRCxLQUFLLGlDQWVKO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"lightweight_checkpoint_builder.d.ts","sourceRoot":"","sources":["../../src/light/lightweight_checkpoint_builder.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,gBAAgB,EAAyB,MAAM,iCAAiC,CAAC;AAE/F,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAQjF,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,cAAc,EACf,MAAM,kBAAkB,CAAC;AAQ1B;;;;;GAKG;AACH,qBAAa,4BAA4B;aASrB,gBAAgB,EAAE,gBAAgB;aAClC,SAAS,EAAE,yBAAyB;IAC7C,qBAAqB,EAAE,MAAM;aACpB,cAAc,EAAE,EAAE,EAAE;IACpC,OAAO,CAAC,QAAQ,CAAC,2BAA2B;aAC5B,EAAE,EAAE,yBAAyB;IAb/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,UAAU,CAAY;IAE9B,YACkB,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,yBAAyB,EAC7C,qBAAqB,EAAE,MAAM,EACpB,cAAc,EAAE,EAAE,EAAE,EACnB,2BAA2B,EAAE,EAAE,EAAE,EAClC,EAAE,EAAE,yBAAyB,EAC7C,QAAQ,CAAC,EAAE,cAAc,EAQ1B;IAED,OAAa,kBAAkB,CAC7B,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,yBAAyB,EACpC,cAAc,EAAE,EAAE,EAAE,EACpB,2BAA2B,EAAE,EAAE,EAAE,EACjC,EAAE,EAAE,yBAAyB,EAC7B,QAAQ,CAAC,EAAE,cAAc,EACzB,qBAAqB,GAAE,MAAW,GACjC,OAAO,CAAC,4BAA4B,CAAC,CAgBvC;IAED;;;;;OAKG;IACH,OAAa,gBAAgB,CAC3B,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,yBAAyB,EACpC,qBAAqB,EAAE,MAAM,EAC7B,cAAc,EAAE,EAAE,EAAE,EACpB,2BAA2B,EAAE,EAAE,EAAE,EACjC,EAAE,EAAE,yBAAyB,EAC7B,cAAc,EAAE,OAAO,EAAE,EACzB,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,4BAA4B,CAAC,CA+CvC;IAED,wEAAwE;IACjE,aAAa,WAEnB;IAED;;;OAGG;IACU,QAAQ,CACnB,eAAe,EAAE,eAAe,EAChC,GAAG,EAAE,WAAW,EAAE,EAClB,IAAI,GAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAAC,gBAAgB,CAAC,EAAE,cAAc,CAAA;KAAO,GAC3E,OAAO,CAAC,OAAO,CAAC,CAiElB;IAEK,kBAAkB,IAAI,OAAO,CAAC,UAAU,CAAC,CA6C9C;IAED,KAAK,iCAeJ;CACF"}
1
+ {"version":3,"file":"lightweight_checkpoint_builder.d.ts","sourceRoot":"","sources":["../../src/light/lightweight_checkpoint_builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,gBAAgB,EAAyB,MAAM,iCAAiC,CAAC;AAC/F,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AASjF,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,cAAc,EACf,MAAM,kBAAkB,CAAC;AAQ1B;;;;;GAKG;AACH,qBAAa,4BAA4B;aASrB,gBAAgB,EAAE,gBAAgB;aAClC,SAAS,EAAE,yBAAyB;IAC7C,qBAAqB,EAAE,MAAM;aACpB,cAAc,EAAE,EAAE,EAAE;IACpC,OAAO,CAAC,QAAQ,CAAC,2BAA2B;aAC5B,EAAE,EAAE,yBAAyB;IAb/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,UAAU,CAAY;IAE9B,YACkB,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,yBAAyB,EAC7C,qBAAqB,EAAE,MAAM,EACpB,cAAc,EAAE,EAAE,EAAE,EACnB,2BAA2B,EAAE,EAAE,EAAE,EAClC,EAAE,EAAE,yBAAyB,EAC7C,QAAQ,CAAC,EAAE,cAAc,EAQ1B;IAED,OAAa,kBAAkB,CAC7B,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,yBAAyB,EACpC,cAAc,EAAE,EAAE,EAAE,EACpB,2BAA2B,EAAE,EAAE,EAAE,EACjC,EAAE,EAAE,yBAAyB,EAC7B,QAAQ,CAAC,EAAE,cAAc,EACzB,qBAAqB,GAAE,MAAW,GACjC,OAAO,CAAC,4BAA4B,CAAC,CAavC;IAED;;;;;OAKG;IACH,OAAa,gBAAgB,CAC3B,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,yBAAyB,EACpC,qBAAqB,EAAE,MAAM,EAC7B,cAAc,EAAE,EAAE,EAAE,EACpB,2BAA2B,EAAE,EAAE,EAAE,EACjC,EAAE,EAAE,yBAAyB,EAC7B,cAAc,EAAE,OAAO,EAAE,EACzB,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,4BAA4B,CAAC,CAmDvC;IAED,wEAAwE;IACjE,aAAa,WAEnB;IAEM,SAAS,cAEf;IAED;;;OAGG;IACU,QAAQ,CACnB,eAAe,EAAE,eAAe,EAChC,GAAG,EAAE,WAAW,EAAE,EAClB,IAAI,GAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAAC,gBAAgB,CAAC,EAAE,cAAc,CAAA;KAAO,GAC3E,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC,CA8E9D;IAEK,kBAAkB,IAAI,OAAO,CAAC,UAAU,CAAC,CAqD9C;IAED,KAAK,iCAeJ;CACF"}
@@ -1,12 +1,11 @@
1
1
  import { SpongeBlob, computeBlobsHashFromBlobs, encodeCheckpointEndMarker, getBlobsPerL1Block } from '@aztec/blob-lib';
2
- import { NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP } from '@aztec/constants';
3
2
  import { IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
4
- import { padArrayEnd } from '@aztec/foundation/collection';
5
3
  import { Fr } from '@aztec/foundation/curves/bn254';
6
4
  import { createLogger } from '@aztec/foundation/log';
5
+ import { elapsed } from '@aztec/foundation/timer';
7
6
  import { L2Block } from '@aztec/stdlib/block';
8
7
  import { Checkpoint } from '@aztec/stdlib/checkpoint';
9
- import { accumulateCheckpointOutHashes, computeCheckpointOutHash, computeInHashFromL1ToL2Messages } from '@aztec/stdlib/messaging';
8
+ import { accumulateCheckpointOutHashes, appendL1ToL2MessagesToTree, computeCheckpointOutHash, computeInHashFromL1ToL2Messages } from '@aztec/stdlib/messaging';
10
9
  import { CheckpointHeader, computeBlockHeadersHash } from '@aztec/stdlib/rollup';
11
10
  import { MerkleTreeId } from '@aztec/stdlib/trees';
12
11
  import { buildHeaderAndBodyFromTxs, getTreeSnapshot, insertSideEffects } from '../orchestrator/block-building-helpers.js';
@@ -50,7 +49,7 @@ import { buildHeaderAndBodyFromTxs, getTreeSnapshot, insertSideEffects } from '.
50
49
  }
51
50
  static async startNewCheckpoint(checkpointNumber, constants, l1ToL2Messages, previousCheckpointOutHashes, db, bindings, feeAssetPriceModifier = 0n) {
52
51
  // Insert l1-to-l2 messages into the tree.
53
- await db.appendLeaves(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, padArrayEnd(l1ToL2Messages, Fr.ZERO, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP));
52
+ await appendL1ToL2MessagesToTree(db, l1ToL2Messages);
54
53
  return new LightweightCheckpointBuilder(checkpointNumber, constants, feeAssetPriceModifier, l1ToL2Messages, previousCheckpointOutHashes, db, bindings);
55
54
  }
56
55
  /**
@@ -65,6 +64,9 @@ import { buildHeaderAndBodyFromTxs, getTreeSnapshot, insertSideEffects } from '.
65
64
  numExistingBlocks: existingBlocks.length,
66
65
  blockNumbers: existingBlocks.map((b)=>b.header.getBlockNumber())
67
66
  });
67
+ if (existingBlocks.length === 0) {
68
+ throw new Error(`Cannot resume checkpoint ${checkpointNumber} with no existing blocks`);
69
+ }
68
70
  // Validate block order and consistency
69
71
  for(let i = 1; i < existingBlocks.length; i++){
70
72
  const prev = existingBlocks[i - 1];
@@ -93,28 +95,38 @@ import { buildHeaderAndBodyFromTxs, getTreeSnapshot, insertSideEffects } from '.
93
95
  /** Returns how many blocks have been added to this checkpoint so far */ getBlockCount() {
94
96
  return this.blocks.length;
95
97
  }
98
+ getBlocks() {
99
+ return this.blocks;
100
+ }
96
101
  /**
97
102
  * Adds a new block to the checkpoint. The tx effects must have already been inserted into the db if
98
103
  * this is called after tx processing, if that's not the case, then set `insertTxsEffects` to true.
99
104
  */ async addBlock(globalVariables, txs, opts = {}) {
105
+ const timings = {};
100
106
  const isFirstBlock = this.blocks.length === 0;
101
107
  // Empty blocks are only allowed as the first block in a checkpoint
102
108
  if (!isFirstBlock && txs.length === 0) {
103
109
  throw new Error('Cannot add empty block that is not the first block in the checkpoint.');
104
110
  }
105
111
  if (isFirstBlock) {
106
- this.lastArchives.push(await getTreeSnapshot(MerkleTreeId.ARCHIVE, this.db));
112
+ const [msGetInitialArchive, initialArchive] = await elapsed(()=>getTreeSnapshot(MerkleTreeId.ARCHIVE, this.db));
113
+ this.lastArchives.push(initialArchive);
114
+ timings.getInitialArchive = msGetInitialArchive;
107
115
  }
108
116
  const lastArchive = this.lastArchives.at(-1);
109
117
  if (opts.insertTxsEffects) {
110
118
  this.logger.debug(`Inserting side effects for ${txs.length} txs for block ${globalVariables.blockNumber} into db`, {
111
119
  txs: txs.map((tx)=>tx.hash.toString())
112
120
  });
121
+ let msInsertSideEffects = 0;
113
122
  for (const tx of txs){
114
- await insertSideEffects(tx, this.db);
123
+ const [ms] = await elapsed(()=>insertSideEffects(tx, this.db));
124
+ msInsertSideEffects += ms;
115
125
  }
126
+ timings.insertSideEffects = msInsertSideEffects;
116
127
  }
117
- const endState = await this.db.getStateReference();
128
+ const [msGetEndState, endState] = await elapsed(()=>this.db.getStateReference());
129
+ timings.getEndState = msGetEndState;
118
130
  if (opts.expectedEndState && !endState.equals(opts.expectedEndState)) {
119
131
  this.logger.error('End state after processing txs does not match expected end state', {
120
132
  globalVariables: globalVariables.toInspect(),
@@ -123,15 +135,22 @@ import { buildHeaderAndBodyFromTxs, getTreeSnapshot, insertSideEffects } from '.
123
135
  });
124
136
  throw new Error(`End state does not match expected end state when building block ${globalVariables.blockNumber}`);
125
137
  }
126
- const { header, body, blockBlobFields } = await buildHeaderAndBodyFromTxs(txs, lastArchive, endState, globalVariables, this.spongeBlob, isFirstBlock);
138
+ const [msBuildHeaderAndBody, { header, body, blockBlobFields }] = await elapsed(()=>buildHeaderAndBodyFromTxs(txs, lastArchive, endState, globalVariables, this.spongeBlob, isFirstBlock));
139
+ timings.buildHeaderAndBody = msBuildHeaderAndBody;
127
140
  header.state.validate();
128
141
  await this.db.updateArchive(header);
129
- const newArchive = await getTreeSnapshot(MerkleTreeId.ARCHIVE, this.db);
142
+ const [msUpdateArchive, newArchive] = await elapsed(()=>getTreeSnapshot(MerkleTreeId.ARCHIVE, this.db));
143
+ timings.updateArchive = msUpdateArchive;
130
144
  this.lastArchives.push(newArchive);
145
+ const expectedNextLeafIndex = Number(globalVariables.blockNumber) + 1;
146
+ if (newArchive.nextAvailableLeafIndex !== expectedNextLeafIndex) {
147
+ throw new Error(`Archive tree next leaf index mismatch after building block ${globalVariables.blockNumber} (expected ${expectedNextLeafIndex} but got ${newArchive.nextAvailableLeafIndex})`);
148
+ }
131
149
  const indexWithinCheckpoint = IndexWithinCheckpoint(this.blocks.length);
132
150
  const block = new L2Block(newArchive, header, body, this.checkpointNumber, indexWithinCheckpoint);
133
151
  this.blocks.push(block);
134
- await this.spongeBlob.absorb(blockBlobFields);
152
+ const [msSpongeAbsorb] = await elapsed(()=>this.spongeBlob.absorb(blockBlobFields));
153
+ timings.spongeAbsorb = msSpongeAbsorb;
135
154
  this.blobFields.push(...blockBlobFields);
136
155
  this.logger.debug(`Built block ${header.getBlockNumber()}`, {
137
156
  globalVariables: globalVariables.toInspect(),
@@ -140,7 +159,10 @@ import { buildHeaderAndBodyFromTxs, getTreeSnapshot, insertSideEffects } from '.
140
159
  blockHash: (await block.hash()).toString(),
141
160
  txs: block.body.txEffects.map((tx)=>tx.txHash.toString())
142
161
  });
143
- return block;
162
+ return {
163
+ block,
164
+ timings
165
+ };
144
166
  }
145
167
  async completeCheckpoint() {
146
168
  if (!this.blocks.length) {
@@ -179,6 +201,13 @@ import { buildHeaderAndBodyFromTxs, getTreeSnapshot, insertSideEffects } from '.
179
201
  gasFees,
180
202
  totalManaUsed
181
203
  });
204
+ this.logger.debug(`Completed checkpoint ${this.checkpointNumber}`, {
205
+ checkpointNumber: this.checkpointNumber,
206
+ headerHash: header.hash().toString(),
207
+ checkpointOutHash: checkpointOutHash.toString(),
208
+ numPreviousCheckpointOutHashes: this.previousCheckpointOutHashes.length,
209
+ ...header.toInspect()
210
+ });
182
211
  return new Checkpoint(newArchive, header, blocks, this.checkpointNumber, this.feeAssetPriceModifier);
183
212
  }
184
213
  clone() {
@@ -3,6 +3,7 @@ import { Fr } from '@aztec/foundation/curves/bn254';
3
3
  import type { Logger } from '@aztec/foundation/log';
4
4
  import type { FieldsOf } from '@aztec/foundation/types';
5
5
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
6
+ import type { Checkpoint } from '@aztec/stdlib/checkpoint';
6
7
  import type { MerkleTreeWriteOperations, ServerCircuitProver } from '@aztec/stdlib/interfaces/server';
7
8
  import type { CheckpointConstantData } from '@aztec/stdlib/rollup';
8
9
  import { mockProcessedTx } from '@aztec/stdlib/testing';
@@ -46,6 +47,7 @@ export declare class TestContext {
46
47
  makeProcessedTxOpts?: (blockGlobalVariables: GlobalVariables, txIndex: number) => Partial<Parameters<typeof mockProcessedTx>[0]>;
47
48
  } & Partial<FieldsOf<CheckpointConstantData>>): Promise<{
48
49
  constants: CheckpointConstantData;
50
+ checkpoint: Checkpoint;
49
51
  header: import("@aztec/stdlib/rollup").CheckpointHeader;
50
52
  blocks: {
51
53
  header: BlockHeader;
@@ -63,4 +65,4 @@ declare class TestProvingOrchestrator extends ProvingOrchestrator {
63
65
  protected verifyBuiltBlockAgainstSyncedState(provingState: BlockProvingState): Promise<void>;
64
66
  }
65
67
  export {};
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF9jb250ZXh0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9ja3MvdGVzdF9jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBS3ZELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUt4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHM0QsT0FBTyxLQUFLLEVBQUUseUJBQXlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RyxPQUFPLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RCxPQUFPLEVBQ0wsS0FBSyxXQUFXLEVBQ2hCLEtBQUssZUFBZSxFQUNwQixLQUFLLFdBQVcsRUFHakIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBV2xFLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR3BELHFCQUFhLFdBQVc7SUFXYixVQUFVLEVBQUUsdUJBQXVCO0lBQ25DLE1BQU0sRUFBRSxtQkFBbUI7SUFDM0IsTUFBTSxFQUFFLFVBQVU7SUFDbEIsa0JBQWtCLEVBQUUseUJBQXlCO0lBQzdDLFlBQVksRUFBRSx1QkFBdUI7SUFDNUMsT0FBTyxDQUFDLFFBQVE7SUFFaEIsT0FBTyxDQUFDLG9CQUFvQjtJQUM1QixPQUFPLENBQUMsTUFBTTtJQWxCaEIsT0FBTyxDQUFDLE9BQU8sQ0FBdUM7SUFDdEQsT0FBTyxDQUFDLFdBQVcsQ0FBb0I7SUFDdkMsT0FBTyxDQUFDLG1CQUFtQixDQUFZO0lBQ3ZDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBSztJQUNoQyxPQUFPLENBQUMsb0JBQW9CLENBQXVCO0lBQ25ELE9BQU8sQ0FBQyxlQUFlLENBQUs7SUFDNUIsT0FBTyxDQUFDLFdBQVcsQ0FBSztJQUN4QixPQUFPLENBQUMsZUFBZSxDQUFLO0lBRTVCLFlBQ1MsVUFBVSxFQUFFLHVCQUF1QixFQUNuQyxNQUFNLEVBQUUsbUJBQW1CLEVBQzNCLE1BQU0sRUFBRSxVQUFVLEVBQ2xCLGtCQUFrQixFQUFFLHlCQUF5QixFQUM3QyxZQUFZLEVBQUUsdUJBQXVCLEVBQ3BDLFFBQVEsRUFBRSxZQUFZLEVBQzlCLHNCQUFzQixFQUFFLEVBQUUsRUFDbEIsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEVBQzlCLE1BQU0sRUFBRSxNQUFNLEVBR3ZCO0lBRUQsSUFBVyxXQUFXLDRCQUVyQjtJQUVELE9BQWEsR0FBRyxDQUNkLE1BQU0sRUFBRSxNQUFNLEVBQ2QsRUFDRSxXQUFlLEVBQ2YsWUFBOEcsRUFDL0csR0FBRTtRQUNELFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUNyQixZQUFZLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxjQUFjLEtBQUssT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7S0FDdEUsd0JBdURQO0lBRU0sT0FBTyx1Q0FFYjtJQUVLLE9BQU8sa0JBVVo7SUFFTSxhQUFhLFNBS25CO0lBR00sYUFBYSxXQUVuQjtJQUVZLHNCQUFzQixtRUFHbEM7SUFFWSxjQUFjLENBQ3pCLFNBQVMsRUFBRSxNQUFNLEVBQ2pCLEVBQ0UsY0FBa0IsRUFDbEIsaUJBQXFCLEVBQ3JCLG1CQUFnQyxFQUNoQyxHQUFHLFlBQVksRUFDaEIsR0FBRTtRQUNELGNBQWMsQ0FBQyxFQUFFLE1BQU0sR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUNuQyxpQkFBaUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUMzQixtQkFBbUIsQ0FBQyxFQUFFLENBQ3BCLG9CQUFvQixFQUFFLGVBQWUsRUFDckMsT0FBTyxFQUFFLE1BQU0sS0FDWixPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNyRCxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsQ0FBTTs7Ozs7Ozs7O09BMEduRDtZQUVhLGVBQWU7SUFvQjdCLE9BQU8sQ0FBQyxjQUFjO1lBU1IsV0FBVztDQThCMUI7QUFFRCxjQUFNLHVCQUF3QixTQUFRLG1CQUFtQjtJQUNoRCwyQ0FBMkMsVUFBUztJQUkzRCxVQUFtQixrQ0FBa0MsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUtwRztDQUNGIn0=
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF9jb250ZXh0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9ja3MvdGVzdF9jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBS3ZELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUt4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxLQUFLLEVBQUUseUJBQXlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RyxPQUFPLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RCxPQUFPLEVBQ0wsS0FBSyxXQUFXLEVBQ2hCLEtBQUssZUFBZSxFQUNwQixLQUFLLFdBQVcsRUFHakIsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQixPQUFPLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBV2xFLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR3BELHFCQUFhLFdBQVc7SUFXYixVQUFVLEVBQUUsdUJBQXVCO0lBQ25DLE1BQU0sRUFBRSxtQkFBbUI7SUFDM0IsTUFBTSxFQUFFLFVBQVU7SUFDbEIsa0JBQWtCLEVBQUUseUJBQXlCO0lBQzdDLFlBQVksRUFBRSx1QkFBdUI7SUFDNUMsT0FBTyxDQUFDLFFBQVE7SUFFaEIsT0FBTyxDQUFDLG9CQUFvQjtJQUM1QixPQUFPLENBQUMsTUFBTTtJQWxCaEIsT0FBTyxDQUFDLE9BQU8sQ0FBdUM7SUFDdEQsT0FBTyxDQUFDLFdBQVcsQ0FBb0I7SUFDdkMsT0FBTyxDQUFDLG1CQUFtQixDQUFZO0lBQ3ZDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBSztJQUNoQyxPQUFPLENBQUMsb0JBQW9CLENBQXVCO0lBQ25ELE9BQU8sQ0FBQyxlQUFlLENBQUs7SUFDNUIsT0FBTyxDQUFDLFdBQVcsQ0FBSztJQUN4QixPQUFPLENBQUMsZUFBZSxDQUFLO0lBRTVCLFlBQ1MsVUFBVSxFQUFFLHVCQUF1QixFQUNuQyxNQUFNLEVBQUUsbUJBQW1CLEVBQzNCLE1BQU0sRUFBRSxVQUFVLEVBQ2xCLGtCQUFrQixFQUFFLHlCQUF5QixFQUM3QyxZQUFZLEVBQUUsdUJBQXVCLEVBQ3BDLFFBQVEsRUFBRSxZQUFZLEVBQzlCLHNCQUFzQixFQUFFLEVBQUUsRUFDbEIsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEVBQzlCLE1BQU0sRUFBRSxNQUFNLEVBR3ZCO0lBRUQsSUFBVyxXQUFXLDRCQUVyQjtJQUVELE9BQWEsR0FBRyxDQUNkLE1BQU0sRUFBRSxNQUFNLEVBQ2QsRUFDRSxXQUFlLEVBQ2YsWUFBOEcsRUFDL0csR0FBRTtRQUNELFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUNyQixZQUFZLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxjQUFjLEtBQUssT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7S0FDdEUsd0JBd0RQO0lBRU0sT0FBTyx1Q0FFYjtJQUVLLE9BQU8sa0JBVVo7SUFFTSxhQUFhLFNBS25CO0lBR00sYUFBYSxXQUVuQjtJQUVZLHNCQUFzQixtRUFHbEM7SUFFWSxjQUFjLENBQ3pCLFNBQVMsRUFBRSxNQUFNLEVBQ2pCLEVBQ0UsY0FBa0IsRUFDbEIsaUJBQXFCLEVBQ3JCLG1CQUFnQyxFQUNoQyxHQUFHLFlBQVksRUFDaEIsR0FBRTtRQUNELGNBQWMsQ0FBQyxFQUFFLE1BQU0sR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUNuQyxpQkFBaUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUMzQixtQkFBbUIsQ0FBQyxFQUFFLENBQ3BCLG9CQUFvQixFQUFFLGVBQWUsRUFDckMsT0FBTyxFQUFFLE1BQU0sS0FDWixPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNyRCxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsQ0FBTTs7Ozs7Ozs7OztPQTJHbkQ7WUFFYSxlQUFlO0lBb0I3QixPQUFPLENBQUMsY0FBYztZQVNSLFdBQVc7Q0E4QjFCO0FBRUQsY0FBTSx1QkFBd0IsU0FBUSxtQkFBbUI7SUFDaEQsMkNBQTJDLFVBQVM7SUFJM0QsVUFBbUIsa0NBQWtDLENBQUMsWUFBWSxFQUFFLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FLcEc7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"test_context.d.ts","sourceRoot":"","sources":["../../src/mocks/test_context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test_context.d.ts","sourceRoot":"","sources":["../../src/mocks/test_context.ts"],"names":[],"mappings":"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"}
@@ -63,11 +63,14 @@ export class TestContext {
63
63
  const feePayer = AztecAddress.fromNumber(42222);
64
64
  const initialFeePayerBalance = new Fr(10n ** 20n);
65
65
  const feePayerSlot = await computeFeePayerBalanceLeafSlot(feePayer);
66
- const prefilledPublicData = [
67
- new PublicDataTreeLeaf(feePayerSlot, initialFeePayerBalance)
68
- ];
66
+ const genesis = {
67
+ prefilledPublicData: [
68
+ new PublicDataTreeLeaf(feePayerSlot, initialFeePayerBalance)
69
+ ],
70
+ genesisTimestamp: 0n
71
+ };
69
72
  // Separated dbs for public processor and prover - see public_processor for context
70
- const ws = await NativeWorldStateService.tmp(/*rollupAddress=*/ undefined, /*cleanupTmpDir=*/ true, prefilledPublicData);
73
+ const ws = await NativeWorldStateService.tmp(/*rollupAddress=*/ undefined, /*cleanupTmpDir=*/ true, genesis);
71
74
  let localProver;
72
75
  const config = await getEnvironmentConfig(logger);
73
76
  if (!config) {
@@ -79,8 +82,10 @@ export class TestContext {
79
82
  bbBinaryPath: config.expectedBBPath,
80
83
  bbWorkingDirectory: config.bbWorkingDirectory,
81
84
  bbSkipCleanup: config.bbSkipCleanup,
82
- numConcurrentIVCVerifiers: 2,
83
- bbIVCConcurrency: 1
85
+ numConcurrentIVCVerifiers: 8,
86
+ bbIVCConcurrency: 1,
87
+ bbChonkVerifyMaxBatch: 16,
88
+ bbChonkVerifyConcurrency: 6
84
89
  };
85
90
  localProver = await createProver(bbConfig);
86
91
  }
@@ -89,7 +94,7 @@ export class TestContext {
89
94
  }
90
95
  const broker = new TestBroker(proverCount, localProver);
91
96
  const facade = new BrokerCircuitProverFacade(broker);
92
- const orchestrator = new TestProvingOrchestrator(ws, facade, EthAddress.ZERO);
97
+ const orchestrator = new TestProvingOrchestrator(ws, facade, EthAddress.ZERO, false, 10);
93
98
  await broker.start();
94
99
  facade.start();
95
100
  return new this(ws, localProver, broker, facade, orchestrator, feePayer, initialFeePayerBalance, directoriesToCleanup, logger);
@@ -182,7 +187,7 @@ export class TestContext {
182
187
  for(let i = 0; i < numBlocks; i++){
183
188
  const txs = blockTxs[i];
184
189
  const state = blockEndStates[i];
185
- const block = await builder.addBlock(blockGlobalVariables[i], txs, {
190
+ const { block } = await builder.addBlock(blockGlobalVariables[i], txs, {
186
191
  expectedEndState: state,
187
192
  insertTxsEffects: true
188
193
  });
@@ -200,6 +205,7 @@ export class TestContext {
200
205
  this.checkpointOutHashes.push(checkpoint.getCheckpointOutHash());
201
206
  return {
202
207
  constants,
208
+ checkpoint,
203
209
  header: checkpoint.header,
204
210
  blocks,
205
211
  l1ToL2Messages,
@@ -22,7 +22,7 @@ export declare const insertSideEffects: (tx: ProcessedTx, db: MerkleTreeWriteOpe
22
22
  nullifierInsertionResult: import("@aztec/stdlib/trees").BatchInsertionResult<number, number>;
23
23
  publicDataInsertionResult: import("@aztec/stdlib/trees").SequentialInsertionResult<number>;
24
24
  }>;
25
- export declare function getChonkProofFromTx(tx: Tx | ProcessedTx): RecursiveProof<1632>;
25
+ export declare function getChonkProofFromTx(tx: Tx | ProcessedTx): RecursiveProof<1349>;
26
26
  export declare function getPublicChonkVerifierPrivateInputsFromTx(tx: Tx | ProcessedTx, proverId: Fr): PublicChonkVerifierPrivateInputs;
27
27
  export declare const buildBlobHints: (blobFields: Fr[]) => Promise<{
28
28
  blobCommitments: import("@aztec/foundation/curves/bls12").BLS12Point[];
@@ -71,6 +71,13 @@ export declare class CheckpointProvingState {
71
71
  getError(): string | undefined;
72
72
  cancel(): void;
73
73
  reject(reason: string): void;
74
+ /**
75
+ * Returns the block-level proof outputs that feed into the checkpoint root rollup.
76
+ * Used by `CheckpointSubTreeOrchestrator` to surface its sub-tree result.
77
+ */
78
+ getSubTreeOutputProofs(): (PublicInputsAndRecursiveProof<BlockRollupPublicInputs, 480> | undefined)[];
79
+ /** Sibling path of the archive tree captured before any block in this checkpoint landed. */
80
+ getLastArchiveSiblingPath(): [Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr];
74
81
  }
75
82
  export {};
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludC1wcm92aW5nLXN0YXRlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3JjaGVzdHJhdG9yL2NoZWNrcG9pbnQtcHJvdmluZy1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLEtBQUssMkJBQTJCLEVBR2pDLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUNMLEtBQUssY0FBYyxFQUduQixLQUFLLDZDQUE2QyxFQUNsRCxLQUFLLHlDQUF5QyxFQUU5QyxvQkFBb0IsRUFDckIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHOUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUF1QixNQUFNLHlCQUF5QixDQUFDO0FBQ3JGLE9BQU8sS0FBSyxFQUFFLDZCQUE2QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFckYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUNMLDZCQUE2QixFQUM3Qix1QkFBdUIsRUFDdkIsc0JBQXNCLEVBQ3RCLDRCQUE0QixFQUU1QixpQ0FBaUMsRUFDakMsNENBQTRDLEVBQzdDLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FB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
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludC1wcm92aW5nLXN0YXRlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3JjaGVzdHJhdG9yL2NoZWNrcG9pbnQtcHJvdmluZy1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLEtBQUssMkJBQTJCLEVBR2pDLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUNMLEtBQUssY0FBYyxFQUduQixLQUFLLDZDQUE2QyxFQUNsRCxLQUFLLHlDQUF5QyxFQUU5QyxvQkFBb0IsRUFDckIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHOUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUF1QixNQUFNLHlCQUF5QixDQUFDO0FBQ3JGLE9BQU8sS0FBSyxFQUFFLDZCQUE2QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFckYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0QsT0FBTyxFQUNMLDZCQUE2QixFQUM3Qix1QkFBdUIsRUFDdkIsc0JBQXNCLEVBQ3RCLDRCQUE0QixFQUU1QixpQ0FBaUMsRUFDakMsNENBQTRDLEVBQzdDLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FB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
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint-proving-state.d.ts","sourceRoot":"","sources":["../../src/orchestrator/checkpoint-proving-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkpoint-proving-state.d.ts","sourceRoot":"","sources":["../../src/orchestrator/checkpoint-proving-state.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,KAAK,2BAA2B,EAGjC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,KAAK,cAAc,EAGnB,KAAK,6CAA6C,EAClD,KAAK,yCAAyC,EAE9C,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAG9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,KAAK,gBAAgB,EAAuB,MAAM,yBAAyB,CAAC;AACrF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAErF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,sBAAsB,EACtB,4BAA4B,EAE5B,iCAAiC,EACjC,4CAA4C,EAC7C,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAE,iBAAiB,EAAmB,MAAM,0BAA0B,CAAC;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,sBAAsB,CAAC;IACrC,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,oBAAoB,CAAC,CAAC;CACrD,CAAC;AAEF,qBAAa,sBAAsB;;aAoBf,KAAK,EAAE,MAAM;aACb,SAAS,EAAE,sBAAsB;aACjC,cAAc,EAAE,MAAM;IACtC,OAAO,CAAC,QAAQ,CAAC,2BAA2B;IAC5C,OAAO,CAAC,QAAQ,CAAC,qCAAqC;IACtD,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,QAAQ,CAAC,6BAA6B;IAC9C,OAAO,CAAC,QAAQ,CAAC,uCAAuC;IAKxD,OAAO,CAAC,QAAQ,CAAC,4BAA4B;IAC7C,OAAO,CAAC,QAAQ,CAAC,sCAAsC;IAIhD,WAAW,EAAE,iBAAiB;IACrC,OAAO,CAAC,oBAAoB;IAvC9B,OAAO,CAAC,WAAW,CAEjB;IACF,OAAO,CAAC,mBAAmB,CAEb;IACd,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,mBAAmB,CAA0B;IACrD,OAAO,CAAC,OAAO,CAAiB;IAGhC,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,oBAAoB,CAAqC;IACjE,OAAO,CAAC,kBAAkB,CAAqC;IAC/D,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,KAAK,CAAqB;IAClC,SAAgB,gBAAgB,EAAE,WAAW,CAAC;IAE9C,YACkB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,sBAAsB,EACjC,cAAc,EAAE,MAAM,EACrB,2BAA2B,EAAE,2BAA2B,EACxD,qCAAqC,EAAE,WAAW,EAClD,sBAAsB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,cAAc,CAAC,EACxD,cAAc,EAAE,EAAE,EAAE,EAEpB,6BAA6B,EAAE,sBAAsB,EACrD,uCAAuC,EAAE,KAAK,CAC7D,EAAE,EACF,OAAO,6CAA6C,CACrD,EAEgB,4BAA4B,EAAE,sBAAsB,EACpD,sCAAsC,EAAE,KAAK,CAC5D,EAAE,EACF,OAAO,6CAA6C,CACrD,EACM,WAAW,EAAE,iBAAiB,EAC7B,oBAAoB,EAAE,CAAC,UAAU,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,CAAC,EAIpF;IAED,IAAW,WAAW,IAAI,MAAM,CAE/B;IAEM,aAAa,CAClB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,uBAAuB,EAAE,sBAAsB,EAC/C,sBAAsB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,cAAc,CAAC,GACvD,iBAAiB,CAuCnB;IAGM,iBAAiB,YAEvB;IAEM,uBAAuB,CAC5B,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,6BAA6B,CAC1C,uBAAuB,EACvB,OAAO,yCAAyC,CACjD,GACA,gBAAgB,CAElB;IAEM,yBAAyB,CAAC,QAAQ,EAAE,gBAAgB,WAO1D;IAEM,wBAAwB,CAC7B,QAAQ,EAAE,gBAAgB,EAC1B,aAAa,EAAE,6BAA6B,CAC1C,uBAAuB,EACvB,OAAO,yCAAyC,CACjD,QAGF;IAEM,6BAA6B,YAOnC;IAEM,4BAA4B,CACjC,aAAa,EAAE,6BAA6B,CAC1C,4BAA4B,EAC5B,OAAO,yCAAyC,CACjD,GACA,gBAAgB,CAGlB;IAEM,mBAAmB,CAAC,eAAe,EAAE,MAAM,2BAUjD;IAEM,cAAc,CAAC,IAAI,EAAE,WAAW,QAEtC;IAEM,cAAc,4BAEpB;IAEM,wBAAwB,mBAW9B;IAEM,+BAA+B,CAAC,IAAI,EAAE,WAAW,QAEvD;IAEM,+BAA+B,4BAErC;IAEY,eAAe,CAAC,oBAAoB,EAAE,sBAAsB,+CAYxE;IAEM,qBAAqB,uCAE3B;IAEM,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,oBAElD;IAEM,yBAAyB,CAAC,aAAa,EAAE,gBAAgB,iCAO/D;IAEM,2BAA2B,IAAI,WAAW,CAEhD;IAEY,6BAA6B,8FAmCzC;IAEM,iCAAiC,CAAC,WAAW,EAAE,WAAW,iCAGhE;IAEM,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,WAErD;IAEM,wBAAwB,YAG9B;IAEM,WAAW,YAEjB;IAEM,QAAQ,uBAEd;IAGM,MAAM,SAEZ;IAEM,MAAM,CAAC,MAAM,EAAE,MAAM,QAG3B;IASD;;;OAGG;IACI,sBAAsB,gFAE5B;IAED,4FAA4F;IACrF,yBAAyB,6HAE/B;CACF"}
@@ -120,7 +120,7 @@ export class CheckpointProvingState {
120
120
  }
121
121
  getBaseParityInputs(baseParityIndex) {
122
122
  const messages = padArrayEnd(this.l1ToL2Messages.slice(baseParityIndex * NUM_MSGS_PER_BASE_PARITY, (baseParityIndex + 1) * NUM_MSGS_PER_BASE_PARITY), Fr.ZERO, NUM_MSGS_PER_BASE_PARITY);
123
- return new ParityBasePrivateInputs(messages, this.constants.vkTreeRoot);
123
+ return new ParityBasePrivateInputs(messages, this.constants.vkTreeRoot, this.constants.proverId);
124
124
  }
125
125
  setOutHashHint(hint) {
126
126
  this.previousOutHashHint = hint;
@@ -240,4 +240,13 @@ export class CheckpointProvingState {
240
240
  ] // If there's only 1 block, its proof will be stored at the root.
241
241
  : this.blockProofs.getChildren(rootLocation).map((c)=>c?.provingOutput);
242
242
  }
243
+ /**
244
+ * Returns the block-level proof outputs that feed into the checkpoint root rollup.
245
+ * Used by `CheckpointSubTreeOrchestrator` to surface its sub-tree result.
246
+ */ getSubTreeOutputProofs() {
247
+ return this.#getChildProofsForRoot();
248
+ }
249
+ /** Sibling path of the archive tree captured before any block in this checkpoint landed. */ getLastArchiveSiblingPath() {
250
+ return this.lastArchiveSiblingPath;
251
+ }
243
252
  }
@@ -0,0 +1,107 @@
1
+ import { FinalBlobBatchingChallenges } from '@aztec/blob-lib';
2
+ import type { ARCHIVE_HEIGHT, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
3
+ import type { EpochNumber } from '@aztec/foundation/branded-types';
4
+ import { Fr } from '@aztec/foundation/curves/bn254';
5
+ import type { LoggerBindings } from '@aztec/foundation/log';
6
+ import type { Tuple } from '@aztec/foundation/serialize';
7
+ import type { EthAddress } from '@aztec/stdlib/block';
8
+ import type { ForkMerkleTreeOperations, PublicInputsAndRecursiveProof, ReadonlyWorldStateAccess, ServerCircuitProver } from '@aztec/stdlib/interfaces/server';
9
+ import type { BlockRollupPublicInputs, CheckpointConstantData } from '@aztec/stdlib/rollup';
10
+ import type { BlockHeader, Tx } from '@aztec/stdlib/tx';
11
+ import { type TelemetryClient } from '@aztec/telemetry-client';
12
+ import type { BlockProvingState } from './block-proving-state.js';
13
+ import type { CheckpointProvingState } from './checkpoint-proving-state.js';
14
+ import type { EpochProvingContext } from './epoch-proving-context.js';
15
+ import { ProvingOrchestrator } from './orchestrator.js';
16
+ /**
17
+ * Result of proving a single checkpoint's block-level sub-tree.
18
+ *
19
+ * Contains the final block-rollup proof outputs that feed the checkpoint root rollup,
20
+ * plus the archive sibling path captured before any block in the checkpoint landed
21
+ * (the top-tree needs this to assemble the checkpoint root rollup hints).
22
+ */
23
+ export type SubTreeResult = {
24
+ blockProofOutputs: PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>[];
25
+ previousArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>;
26
+ };
27
+ /**
28
+ * Orchestrates block-level proving for a single checkpoint, stopping at the boundary
29
+ * where checkpoint root rollup would otherwise begin.
30
+ *
31
+ * Reuses every circuit driver in `ProvingOrchestrator` (chonk verifier, base, merge,
32
+ * block-root, parity, block-merge) but overrides the gating method that escalates to
33
+ * checkpoint root rollup. Instead of escalating, the orchestrator resolves
34
+ * `getSubTreeResult()` once every block-level proof in the checkpoint's tree is ready.
35
+ *
36
+ * Wiring: a single-checkpoint epoch is created in the constructor (epoch number sourced
37
+ * from the supplied `EpochProvingContext`). The canonical way to obtain a fully-started
38
+ * sub-tree is the `start` static factory, which also drives the single internal
39
+ * `startNewCheckpoint(0, ...)` call. The sub-tree never calls `finalizeEpochStructure`;
40
+ * the override of `checkAndEnqueueCheckpointRootRollup` resolves `getSubTreeResult` once
41
+ * block-level proving completes.
42
+ */
43
+ export declare class CheckpointSubTreeOrchestrator extends ProvingOrchestrator {
44
+ /**
45
+ * Per-epoch shared chonk-verifier proof cache. Every chonk-verifier proof started
46
+ * by this sub-tree lives on the context and survives the sub-tree's cancellation,
47
+ * so a tx whose original checkpoint is reorged out and re-appears in a replacement
48
+ * checkpoint reuses the cached proof. The context's `epochNumber` is the epoch
49
+ * this sub-tree proves into.
50
+ */
51
+ private readonly epochContext;
52
+ private readonly subTreeResult;
53
+ constructor(dbProvider: ReadonlyWorldStateAccess & ForkMerkleTreeOperations, prover: ServerCircuitProver, proverId: EthAddress,
54
+ /**
55
+ * Per-epoch shared chonk-verifier proof cache. Every chonk-verifier proof started
56
+ * by this sub-tree lives on the context and survives the sub-tree's cancellation,
57
+ * so a tx whose original checkpoint is reorged out and re-appears in a replacement
58
+ * checkpoint reuses the cached proof. The context's `epochNumber` is the epoch
59
+ * this sub-tree proves into.
60
+ */
61
+ epochContext: EpochProvingContext, cancelJobsOnStop: boolean | undefined, enqueueConcurrency: number, telemetryClient?: TelemetryClient, bindings?: LoggerBindings);
62
+ /**
63
+ * Constructs and starts a sub-tree for a single checkpoint. The returned sub-tree
64
+ * has had its single internal `startNewCheckpoint(0, ...)` driven; callers proceed
65
+ * directly to per-block `startNewBlock` / `addTxs` / `setBlockCompleted`.
66
+ *
67
+ * If the internal `startNewCheckpoint` rejects, the partially-constructed sub-tree
68
+ * is stopped before the error propagates, so no broker resources leak.
69
+ */
70
+ static start(dbProvider: ReadonlyWorldStateAccess & ForkMerkleTreeOperations, prover: ServerCircuitProver, proverId: EthAddress, epochContext: EpochProvingContext, cancelJobsOnStop: boolean, enqueueConcurrency: number, checkpointConstants: CheckpointConstantData, l1ToL2Messages: Fr[], totalNumBlocks: number, headerOfLastBlockInPreviousCheckpoint: BlockHeader, telemetryClient?: TelemetryClient, bindings?: LoggerBindings): Promise<CheckpointSubTreeOrchestrator>;
71
+ /** Returns a promise that resolves when block-level proving completes for the checkpoint. */
72
+ getSubTreeResult(): Promise<SubTreeResult>;
73
+ /**
74
+ * The epoch is started in the constructor.
75
+ */
76
+ startNewEpoch(_epochNumber: EpochNumber, _totalNumCheckpoints: number, _finalBlobBatchingChallenges: FinalBlobBatchingChallenges): void;
77
+ /**
78
+ * The single internal checkpoint is started by the `start` factory
79
+ */
80
+ startNewCheckpoint(_checkpointIndex: number, _constants: CheckpointConstantData, _l1ToL2Messages: Fr[], _totalNumBlocks: number, _headerOfLastBlockInPreviousCheckpoint: BlockHeader): Promise<void>;
81
+ /**
82
+ * Returns the archive sibling path captured at the internal `startNewCheckpoint`.
83
+ * Available synchronously once `start` has resolved, before block-level proving
84
+ * completes. The top-tree consumer uses this to assemble checkpoint root rollup hints
85
+ * up-front so checkpoint root proofs can pipeline against in-flight sub-tree proving.
86
+ */
87
+ getPreviousArchiveSiblingPath(): Tuple<Fr, typeof ARCHIVE_HEIGHT>;
88
+ /**
89
+ * Override the checkpoint-root boundary: instead of escalating to checkpoint root,
90
+ * resolve the sub-tree promise with the block-level proof outputs once they're all ready.
91
+ */
92
+ protected checkAndEnqueueCheckpointRootRollup(provingState: CheckpointProvingState): Promise<void>;
93
+ /**
94
+ * Kickstart chonk-verifier circuits via the shared `EpochProvingContext`. The context
95
+ * owns the broker job lifecycle, so the proof survives this sub-tree's `cancel()` —
96
+ * a tx that ends up in a replacement checkpoint after a reorg can pick the cached
97
+ * promise up and skip re-proving.
98
+ */
99
+ startChonkVerifierCircuits(txs: Tx[]): Promise<void>;
100
+ /**
101
+ * Route the tx's chonk-verifier dependency through the per-epoch context: read the
102
+ * cached promise (or enqueue if missing), then `.then(handleResult)` to progress to
103
+ * the base rollup once the proof lands.
104
+ */
105
+ protected getOrEnqueueChonkVerifier(provingState: BlockProvingState, txIndex: number): void;
106
+ }
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludC1zdWItdHJlZS1vcmNoZXN0cmF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcmNoZXN0cmF0b3IvY2hlY2twb2ludC1zdWItdHJlZS1vcmNoZXN0cmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEcsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTVELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxFQUNWLHdCQUF3QixFQUN4Qiw2QkFBNkIsRUFDN0Isd0JBQXdCLEVBQ3hCLG1CQUFtQixFQUNwQixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxFQUNWLHVCQUF1QixFQUN2QixzQkFBc0IsRUFFdkIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFzQixNQUFNLHlCQUF5QixDQUFDO0FBR25GLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RSxPQUFPLEtBQUssRUFBRSxtQkFBbUIs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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkpoint-sub-tree-orchestrator.d.ts","sourceRoot":"","sources":["../../src/orchestrator/checkpoint-sub-tree-orchestrator.ts"],"names":[],"mappings":"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"}