@aztec/prover-client 0.0.1-commit.7d4e6cd → 0.0.1-commit.9372f48

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 (62) hide show
  1. package/dest/light/lightweight_checkpoint_builder.d.ts +11 -7
  2. package/dest/light/lightweight_checkpoint_builder.d.ts.map +1 -1
  3. package/dest/light/lightweight_checkpoint_builder.js +28 -11
  4. package/dest/mocks/fixtures.d.ts +1 -1
  5. package/dest/mocks/fixtures.d.ts.map +1 -1
  6. package/dest/mocks/fixtures.js +2 -1
  7. package/dest/mocks/test_context.d.ts +3 -2
  8. package/dest/mocks/test_context.d.ts.map +1 -1
  9. package/dest/mocks/test_context.js +6 -1
  10. package/dest/orchestrator/block-building-helpers.d.ts +1 -1
  11. package/dest/orchestrator/block-building-helpers.js +1 -1
  12. package/dest/orchestrator/checkpoint-proving-state.d.ts +15 -2
  13. package/dest/orchestrator/checkpoint-proving-state.d.ts.map +1 -1
  14. package/dest/orchestrator/checkpoint-proving-state.js +34 -1
  15. package/dest/orchestrator/epoch-proving-state.d.ts +5 -4
  16. package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -1
  17. package/dest/orchestrator/epoch-proving-state.js +35 -1
  18. package/dest/orchestrator/orchestrator.d.ts +18 -3
  19. package/dest/orchestrator/orchestrator.d.ts.map +1 -1
  20. package/dest/orchestrator/orchestrator.js +120 -78
  21. package/dest/prover-client/prover-client.d.ts +1 -1
  22. package/dest/prover-client/prover-client.d.ts.map +1 -1
  23. package/dest/prover-client/prover-client.js +7 -4
  24. package/dest/proving_broker/broker_prover_facade.d.ts +4 -3
  25. package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -1
  26. package/dest/proving_broker/broker_prover_facade.js +3 -3
  27. package/dest/proving_broker/config.d.ts +5 -1
  28. package/dest/proving_broker/config.d.ts.map +1 -1
  29. package/dest/proving_broker/config.js +7 -1
  30. package/dest/proving_broker/proving_agent.d.ts +4 -3
  31. package/dest/proving_broker/proving_agent.d.ts.map +1 -1
  32. package/dest/proving_broker/proving_agent.js +4 -4
  33. package/dest/proving_broker/proving_broker_instrumentation.d.ts +1 -1
  34. package/dest/proving_broker/proving_broker_instrumentation.d.ts.map +1 -1
  35. package/dest/proving_broker/proving_broker_instrumentation.js +11 -7
  36. package/dest/proving_broker/proving_job_controller.d.ts +4 -3
  37. package/dest/proving_broker/proving_job_controller.d.ts.map +1 -1
  38. package/dest/proving_broker/proving_job_controller.js +6 -3
  39. package/dest/test/mock_proof_store.d.ts +3 -3
  40. package/dest/test/mock_proof_store.d.ts.map +1 -1
  41. package/package.json +16 -17
  42. package/src/light/lightweight_checkpoint_builder.ts +52 -12
  43. package/src/mocks/fixtures.ts +2 -1
  44. package/src/mocks/test_context.ts +5 -0
  45. package/src/orchestrator/block-building-helpers.ts +1 -1
  46. package/src/orchestrator/checkpoint-proving-state.ts +47 -1
  47. package/src/orchestrator/epoch-proving-state.ts +56 -8
  48. package/src/orchestrator/orchestrator.ts +124 -83
  49. package/src/prover-client/prover-client.ts +23 -6
  50. package/src/proving_broker/broker_prover_facade.ts +6 -3
  51. package/src/proving_broker/config.ts +9 -0
  52. package/src/proving_broker/proving_agent.ts +5 -2
  53. package/src/proving_broker/proving_broker_instrumentation.ts +10 -6
  54. package/src/proving_broker/proving_job_controller.ts +9 -3
  55. package/dest/block-factory/index.d.ts +0 -2
  56. package/dest/block-factory/index.d.ts.map +0 -1
  57. package/dest/block-factory/index.js +0 -1
  58. package/dest/block-factory/light.d.ts +0 -38
  59. package/dest/block-factory/light.d.ts.map +0 -1
  60. package/dest/block-factory/light.js +0 -106
  61. package/src/block-factory/index.ts +0 -1
  62. package/src/block-factory/light.ts +0 -136
@@ -1,6 +1,7 @@
1
- import type { CheckpointNumber } from '@aztec/foundation/branded-types';
1
+ import { type CheckpointNumber } from '@aztec/foundation/branded-types';
2
2
  import { Fr } from '@aztec/foundation/curves/bn254';
3
- import { L2BlockNew } from '@aztec/stdlib/block';
3
+ import { type LoggerBindings } from '@aztec/foundation/log';
4
+ import { L2Block } from '@aztec/stdlib/block';
4
5
  import { Checkpoint } from '@aztec/stdlib/checkpoint';
5
6
  import type { MerkleTreeWriteOperations } from '@aztec/stdlib/interfaces/server';
6
7
  import { type CheckpointGlobalVariables, type GlobalVariables, type ProcessedTx, StateReference } from '@aztec/stdlib/tx';
@@ -14,21 +15,24 @@ export declare class LightweightCheckpointBuilder {
14
15
  readonly checkpointNumber: CheckpointNumber;
15
16
  readonly constants: CheckpointGlobalVariables;
16
17
  readonly l1ToL2Messages: Fr[];
18
+ private readonly previousCheckpointOutHashes;
17
19
  readonly db: MerkleTreeWriteOperations;
18
20
  private readonly logger;
19
21
  private lastArchives;
20
22
  private spongeBlob;
21
23
  private blocks;
22
24
  private blobFields;
23
- constructor(checkpointNumber: CheckpointNumber, constants: CheckpointGlobalVariables, l1ToL2Messages: Fr[], db: MerkleTreeWriteOperations);
24
- static startNewCheckpoint(checkpointNumber: CheckpointNumber, constants: CheckpointGlobalVariables, l1ToL2Messages: Fr[], db: MerkleTreeWriteOperations): Promise<LightweightCheckpointBuilder>;
25
+ constructor(checkpointNumber: CheckpointNumber, constants: CheckpointGlobalVariables, l1ToL2Messages: Fr[], previousCheckpointOutHashes: Fr[], db: MerkleTreeWriteOperations, bindings?: LoggerBindings);
26
+ static startNewCheckpoint(checkpointNumber: CheckpointNumber, constants: CheckpointGlobalVariables, l1ToL2Messages: Fr[], previousCheckpointOutHashes: Fr[], db: MerkleTreeWriteOperations, bindings?: LoggerBindings): Promise<LightweightCheckpointBuilder>;
25
27
  /**
26
28
  * Resumes building a checkpoint from existing blocks. This is used for validator re-execution
27
29
  * where blocks have already been built and their effects are already in the database.
28
30
  * Unlike startNewCheckpoint, this does NOT append l1ToL2Messages to the tree since they
29
31
  * were already added when the blocks were originally built.
30
32
  */
31
- static resumeCheckpoint(checkpointNumber: CheckpointNumber, constants: CheckpointGlobalVariables, l1ToL2Messages: Fr[], db: MerkleTreeWriteOperations, existingBlocks: L2BlockNew[]): Promise<LightweightCheckpointBuilder>;
33
+ static resumeCheckpoint(checkpointNumber: CheckpointNumber, constants: CheckpointGlobalVariables, l1ToL2Messages: Fr[], previousCheckpointOutHashes: Fr[], db: MerkleTreeWriteOperations, existingBlocks: L2Block[], bindings?: LoggerBindings): Promise<LightweightCheckpointBuilder>;
34
+ /** Returns how many blocks have been added to this checkpoint so far */
35
+ getBlockCount(): number;
32
36
  /**
33
37
  * Adds a new block to the checkpoint. The tx effects must have already been inserted into the db if
34
38
  * this is called after tx processing, if that's not the case, then set `insertTxsEffects` to true.
@@ -36,8 +40,8 @@ export declare class LightweightCheckpointBuilder {
36
40
  addBlock(globalVariables: GlobalVariables, txs: ProcessedTx[], opts?: {
37
41
  insertTxsEffects?: boolean;
38
42
  expectedEndState?: StateReference;
39
- }): Promise<L2BlockNew>;
43
+ }): Promise<L2Block>;
40
44
  completeCheckpoint(): Promise<Checkpoint>;
41
45
  clone(): LightweightCheckpointBuilder;
42
46
  }
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHR3ZWlnaHRfY2hlY2twb2ludF9idWlsZGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGlnaHQvbGlnaHR3ZWlnaHRfY2hlY2twb2ludF9idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFeEUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEQsT0FBTyxLQUFLLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUlqRixPQUFPLEVBQ0wsS0FBSyx5QkFBeUIsRUFDOUIsS0FBSyxlQUFlLEVBQ3BCLEtBQUssV0FBVyxFQUNoQixjQUFjLEVBQ2YsTUFBTSxrQkFBa0IsQ0FBQztBQVExQjs7Ozs7R0FLRztBQUNILHFCQUFhLDRCQUE0QjthQVNyQixnQkFBZ0IsRUFBRSxnQkFBZ0I7YUFDbEMsU0FBUyxFQUFFLHlCQUF5QjthQUNwQyxjQUFjLEVBQUUsRUFBRSxFQUFFO2FBQ3BCLEVBQUUsRUFBRSx5QkFBeUI7SUFYL0MsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQWtEO0lBRXpFLE9BQU8sQ0FBQyxZQUFZLENBQWdDO0lBQ3BELE9BQU8sQ0FBQyxVQUFVLENBQWE7SUFDL0IsT0FBTyxDQUFDLE1BQU0sQ0FBb0I7SUFDbEMsT0FBTyxDQUFDLFVBQVUsQ0FBWTtJQUU5QixZQUNrQixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFDbEMsU0FBUyxFQUFFLHlCQUF5QixFQUNwQyxjQUFjLEVBQUUsRUFBRSxFQUFFLEVBQ3BCLEVBQUUsRUFBRSx5QkFBeUIsRUFJOUM7SUFFRCxPQUFhLGtCQUFrQixDQUM3QixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFDbEMsU0FBUyxFQUFFLHlCQUF5QixFQUNwQyxjQUFjLEVBQUUsRUFBRSxFQUFFLEVBQ3BCLEVBQUUsRUFBRSx5QkFBeUIsR0FDNUIsT0FBTyxDQUFDLDRCQUE0QixDQUFDLENBUXZDO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFhLGdCQUFnQixDQUMzQixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFDbEMsU0FBUyxFQUFFLHlCQUF5QixFQUNwQyxjQUFjLEVBQUUsRUFBRSxFQUFFLEVBQ3BCLEVBQUUsRUFBRSx5QkFBeUIsRUFDN0IsY0FBYyxFQUFFLFVBQVUsRUFBRSxHQUMzQixPQUFPLENBQUMsNEJBQTRCLENBQUMsQ0F1Q3ZDO0lBRUQ7OztPQUdHO0lBQ1UsUUFBUSxDQUNuQixlQUFlLEVBQUUsZUFBZSxFQUNoQyxHQUFHLEVBQUUsV0FBVyxFQUFFLEVBQ2xCLElBQUksR0FBRTtRQUFFLGdCQUFnQixDQUFDLEVBQUUsT0FBTyxDQUFDO1FBQUMsZ0JBQWdCLENBQUMsRUFBRSxjQUFjLENBQUE7S0FBTyxHQUMzRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBaUVyQjtJQUVLLGtCQUFrQixJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0F5QzlDO0lBRUQsS0FBSyxpQ0FZSjtDQUNGIn0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHR3ZWlnaHRfY2hlY2twb2ludF9idWlsZGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGlnaHQvbGlnaHR3ZWlnaHRfY2hlY2twb2ludF9idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUF5QixNQUFNLGlDQUFpQyxDQUFDO0FBRS9GLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQWUsS0FBSyxjQUFjLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFDdkYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEtBQUssRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBUWpGLE9BQU8sRUFDTCxLQUFLLHlCQUF5QixFQUM5QixLQUFLLGVBQWUsRUFDcEIsS0FBSyxXQUFXLEVBQ2hCLGNBQWMsRUFDZixNQUFNLGtCQUFrQixDQUFDO0FBUTFCOzs7OztHQUtHO0FBQ0gscUJBQWEsNEJBQTRCO2FBU3JCLGdCQUFnQixFQUFFLGdCQUFnQjthQUNsQyxTQUFTLEVBQUUseUJBQXlCO2FBQ3BDLGNBQWMsRUFBRSxFQUFFLEVBQUU7SUFDcEMsT0FBTyxDQUFDLFFBQVEsQ0FBQywyQkFBMkI7YUFDNUIsRUFBRSxFQUFFLHlCQUF5QjtJQVovQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBUztJQUVoQyxPQUFPLENBQUMsWUFBWSxDQUFnQztJQUNwRCxPQUFPLENBQUMsVUFBVSxDQUFhO0lBQy9CLE9BQU8sQ0FBQyxNQUFNLENBQWlCO0lBQy9CLE9BQU8sQ0FBQyxVQUFVLENBQVk7SUFFOUIsWUFDa0IsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLFNBQVMsRUFBRSx5QkFBeUIsRUFDcEMsY0FBYyxFQUFFLEVBQUUsRUFBRSxFQUNuQiwyQkFBMkIsRUFBRSxFQUFFLEVBQUUsRUFDbEMsRUFBRSxFQUFFLHlCQUF5QixFQUM3QyxRQUFRLENBQUMsRUFBRSxjQUFjLEVBUTFCO0lBRUQsT0FBYSxrQkFBa0IsQ0FDN0IsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLFNBQVMsRUFBRSx5QkFBeUIsRUFDcEMsY0FBYyxFQUFFLEVBQUUsRUFBRSxFQUNwQiwyQkFBMkIsRUFBRSxFQUFFLEVBQUUsRUFDakMsRUFBRSxFQUFFLHlCQUF5QixFQUM3QixRQUFRLENBQUMsRUFBRSxjQUFjLEdBQ3hCLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxDQWV2QztJQUVEOzs7OztPQUtHO0lBQ0gsT0FBYSxnQkFBZ0IsQ0FDM0IsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLFNBQVMsRUFBRSx5QkFBeUIsRUFDcEMsY0FBYyxFQUFFLEVBQUUsRUFBRSxFQUNwQiwyQkFBMkIsRUFBRSxFQUFFLEVBQUUsRUFDakMsRUFBRSxFQUFFLHlCQUF5QixFQUM3QixjQUFjLEVBQUUsT0FBTyxFQUFFLEVBQ3pCLFFBQVEsQ0FBQyxFQUFFLGNBQWMsR0FDeEIsT0FBTyxDQUFDLDRCQUE0QixDQUFDLENBOEN2QztJQUVELHdFQUF3RTtJQUNqRSxhQUFhLFdBRW5CO0lBRUQ7OztPQUdHO0lBQ1UsUUFBUSxDQUNuQixlQUFlLEVBQUUsZUFBZSxFQUNoQyxHQUFHLEVBQUUsV0FBVyxFQUFFLEVBQ2xCLElBQUksR0FBRTtRQUFFLGdCQUFnQixDQUFDLEVBQUUsT0FBTyxDQUFDO1FBQUMsZ0JBQWdCLENBQUMsRUFBRSxjQUFjLENBQUE7S0FBTyxHQUMzRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBaUVsQjtJQUVLLGtCQUFrQixJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0E4QzlDO0lBRUQsS0FBSyxpQ0FjSjtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"lightweight_checkpoint_builder.d.ts","sourceRoot":"","sources":["../../src/light/lightweight_checkpoint_builder.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAIjF,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;aACpC,cAAc,EAAE,EAAE,EAAE;aACpB,EAAE,EAAE,yBAAyB;IAX/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkD;IAEzE,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,UAAU,CAAY;IAE9B,YACkB,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,yBAAyB,EACpC,cAAc,EAAE,EAAE,EAAE,EACpB,EAAE,EAAE,yBAAyB,EAI9C;IAED,OAAa,kBAAkB,CAC7B,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,yBAAyB,EACpC,cAAc,EAAE,EAAE,EAAE,EACpB,EAAE,EAAE,yBAAyB,GAC5B,OAAO,CAAC,4BAA4B,CAAC,CAQvC;IAED;;;;;OAKG;IACH,OAAa,gBAAgB,CAC3B,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,yBAAyB,EACpC,cAAc,EAAE,EAAE,EAAE,EACpB,EAAE,EAAE,yBAAyB,EAC7B,cAAc,EAAE,UAAU,EAAE,GAC3B,OAAO,CAAC,4BAA4B,CAAC,CAuCvC;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,UAAU,CAAC,CAiErB;IAEK,kBAAkB,IAAI,OAAO,CAAC,UAAU,CAAC,CAyC9C;IAED,KAAK,iCAYJ;CACF"}
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;aACpC,cAAc,EAAE,EAAE,EAAE;IACpC,OAAO,CAAC,QAAQ,CAAC,2BAA2B;aAC5B,EAAE,EAAE,yBAAyB;IAZ/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,EACpC,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,GACxB,OAAO,CAAC,4BAA4B,CAAC,CAevC;IAED;;;;;OAKG;IACH,OAAa,gBAAgB,CAC3B,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,yBAAyB,EACpC,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,CA8CvC;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,CA8C9C;IAED,KAAK,iCAcJ;CACF"}
@@ -1,11 +1,12 @@
1
1
  import { SpongeBlob, computeBlobsHashFromBlobs, encodeCheckpointEndMarker, getBlobsPerL1Block } from '@aztec/blob-lib';
2
2
  import { NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP } from '@aztec/constants';
3
+ import { IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
3
4
  import { padArrayEnd } from '@aztec/foundation/collection';
4
5
  import { Fr } from '@aztec/foundation/curves/bn254';
5
6
  import { createLogger } from '@aztec/foundation/log';
6
- import { L2BlockNew } from '@aztec/stdlib/block';
7
+ import { L2Block } from '@aztec/stdlib/block';
7
8
  import { Checkpoint } from '@aztec/stdlib/checkpoint';
8
- import { computeInHashFromL1ToL2Messages } from '@aztec/stdlib/messaging';
9
+ import { accumulateCheckpointOutHashes, computeCheckpointOutHash, computeInHashFromL1ToL2Messages } from '@aztec/stdlib/messaging';
9
10
  import { CheckpointHeader, computeBlockHeadersHash } from '@aztec/stdlib/rollup';
10
11
  import { MerkleTreeId } from '@aztec/stdlib/trees';
11
12
  import { buildHeaderAndBodyFromTxs, getTreeSnapshot, insertSideEffects } from '../orchestrator/block-building-helpers.js';
@@ -18,39 +19,44 @@ import { buildHeaderAndBodyFromTxs, getTreeSnapshot, insertSideEffects } from '.
18
19
  checkpointNumber;
19
20
  constants;
20
21
  l1ToL2Messages;
22
+ previousCheckpointOutHashes;
21
23
  db;
22
24
  logger;
23
25
  lastArchives;
24
26
  spongeBlob;
25
27
  blocks;
26
28
  blobFields;
27
- constructor(checkpointNumber, constants, l1ToL2Messages, db){
29
+ constructor(checkpointNumber, constants, l1ToL2Messages, previousCheckpointOutHashes, db, bindings){
28
30
  this.checkpointNumber = checkpointNumber;
29
31
  this.constants = constants;
30
32
  this.l1ToL2Messages = l1ToL2Messages;
33
+ this.previousCheckpointOutHashes = previousCheckpointOutHashes;
31
34
  this.db = db;
32
- this.logger = createLogger('lightweight-checkpoint-builder');
33
35
  this.lastArchives = [];
34
36
  this.blocks = [];
35
37
  this.blobFields = [];
38
+ this.logger = createLogger('checkpoint-builder', {
39
+ ...bindings,
40
+ instanceId: `checkpoint-${checkpointNumber}`
41
+ });
36
42
  this.spongeBlob = SpongeBlob.init();
37
43
  this.logger.debug('Starting new checkpoint', {
38
44
  constants,
39
45
  l1ToL2Messages
40
46
  });
41
47
  }
42
- static async startNewCheckpoint(checkpointNumber, constants, l1ToL2Messages, db) {
48
+ static async startNewCheckpoint(checkpointNumber, constants, l1ToL2Messages, previousCheckpointOutHashes, db, bindings) {
43
49
  // Insert l1-to-l2 messages into the tree.
44
50
  await db.appendLeaves(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, padArrayEnd(l1ToL2Messages, Fr.ZERO, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP));
45
- return new LightweightCheckpointBuilder(checkpointNumber, constants, l1ToL2Messages, db);
51
+ return new LightweightCheckpointBuilder(checkpointNumber, constants, l1ToL2Messages, previousCheckpointOutHashes, db, bindings);
46
52
  }
47
53
  /**
48
54
  * Resumes building a checkpoint from existing blocks. This is used for validator re-execution
49
55
  * where blocks have already been built and their effects are already in the database.
50
56
  * Unlike startNewCheckpoint, this does NOT append l1ToL2Messages to the tree since they
51
57
  * were already added when the blocks were originally built.
52
- */ static async resumeCheckpoint(checkpointNumber, constants, l1ToL2Messages, db, existingBlocks) {
53
- const builder = new LightweightCheckpointBuilder(checkpointNumber, constants, l1ToL2Messages, db);
58
+ */ static async resumeCheckpoint(checkpointNumber, constants, l1ToL2Messages, previousCheckpointOutHashes, db, existingBlocks, bindings) {
59
+ const builder = new LightweightCheckpointBuilder(checkpointNumber, constants, l1ToL2Messages, previousCheckpointOutHashes, db, bindings);
54
60
  builder.logger.debug('Resuming checkpoint from existing blocks', {
55
61
  checkpointNumber,
56
62
  numExistingBlocks: existingBlocks.length,
@@ -81,6 +87,9 @@ import { buildHeaderAndBodyFromTxs, getTreeSnapshot, insertSideEffects } from '.
81
87
  }
82
88
  return builder;
83
89
  }
90
+ /** Returns how many blocks have been added to this checkpoint so far */ getBlockCount() {
91
+ return this.blocks.length;
92
+ }
84
93
  /**
85
94
  * Adds a new block to the checkpoint. The tx effects must have already been inserted into the db if
86
95
  * this is called after tx processing, if that's not the case, then set `insertTxsEffects` to true.
@@ -116,8 +125,8 @@ import { buildHeaderAndBodyFromTxs, getTreeSnapshot, insertSideEffects } from '.
116
125
  await this.db.updateArchive(header);
117
126
  const newArchive = await getTreeSnapshot(MerkleTreeId.ARCHIVE, this.db);
118
127
  this.lastArchives.push(newArchive);
119
- const indexWithinCheckpoint = this.blocks.length;
120
- const block = new L2BlockNew(newArchive, header, body, this.checkpointNumber, indexWithinCheckpoint);
128
+ const indexWithinCheckpoint = IndexWithinCheckpoint(this.blocks.length);
129
+ const block = new L2Block(newArchive, header, body, this.checkpointNumber, indexWithinCheckpoint);
121
130
  this.blocks.push(block);
122
131
  await this.spongeBlob.absorb(blockBlobFields);
123
132
  this.blobFields.push(...blockBlobFields);
@@ -146,6 +155,11 @@ import { buildHeaderAndBodyFromTxs, getTreeSnapshot, insertSideEffects } from '.
146
155
  const blobsHash = computeBlobsHashFromBlobs(blobs);
147
156
  const inHash = computeInHashFromL1ToL2Messages(this.l1ToL2Messages);
148
157
  const { slotNumber, coinbase, feeRecipient, gasFees } = this.constants;
158
+ const checkpointOutHash = computeCheckpointOutHash(blocks.map((block)=>block.body.txEffects.map((tx)=>tx.l2ToL1Msgs)));
159
+ const epochOutHash = accumulateCheckpointOutHashes([
160
+ ...this.previousCheckpointOutHashes,
161
+ checkpointOutHash
162
+ ]);
149
163
  // TODO(palla/mbps): Should we source this from the constants instead?
150
164
  // timestamp of a checkpoint is the timestamp of the last block in the checkpoint.
151
165
  const timestamp = blocks[blocks.length - 1].timestamp;
@@ -154,6 +168,7 @@ import { buildHeaderAndBodyFromTxs, getTreeSnapshot, insertSideEffects } from '.
154
168
  lastArchiveRoot: this.lastArchives[0].root,
155
169
  blobsHash,
156
170
  inHash,
171
+ epochOutHash,
157
172
  blockHeadersHash,
158
173
  slotNumber,
159
174
  timestamp,
@@ -167,7 +182,9 @@ import { buildHeaderAndBodyFromTxs, getTreeSnapshot, insertSideEffects } from '.
167
182
  clone() {
168
183
  const clone = new LightweightCheckpointBuilder(this.checkpointNumber, this.constants, [
169
184
  ...this.l1ToL2Messages
170
- ], this.db);
185
+ ], [
186
+ ...this.previousCheckpointOutHashes
187
+ ], this.db, this.logger.getBindings());
171
188
  clone.lastArchives = [
172
189
  ...this.lastArchives
173
190
  ];
@@ -17,4 +17,4 @@ export declare function getSimulator(config: {
17
17
  }, logger?: Logger): Promise<CircuitSimulator>;
18
18
  export declare const makeGlobals: (blockNumber: number, slotNumber?: number, overrides?: Partial<FieldsOf<GlobalVariables> & FieldsOf<CheckpointConstantData>>) => GlobalVariables;
19
19
  export declare const makeCheckpointConstants: (slotNumber: number, overrides?: Partial<FieldsOf<CheckpointConstantData>>) => CheckpointConstantData;
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2Nrcy9maXh0dXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUl4RCxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBK0MsTUFBTSx5QkFBeUIsQ0FBQztBQUc3RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFpQm5ELGVBQU8sTUFBTSxvQkFBb0I7Ozs7Ozs7Y0FrQ2hDLENBQUM7QUFFRix3QkFBc0IsWUFBWSxDQUNoQyxNQUFNLEVBQUU7SUFBRSxvQkFBb0IsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQUMsY0FBYyxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUE7Q0FBRSxFQUN4RixNQUFNLENBQUMsRUFBRSxNQUFNLEdBQ2QsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBZTNCO0FBRUQsZUFBTyxNQUFNLFdBQVcsa0pBaUJ2QixDQUFDO0FBRUYsZUFBTyxNQUFNLHVCQUF1Qix1R0FnQm5DLENBQUMifQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2Nrcy9maXh0dXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUl4RCxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBK0MsTUFBTSx5QkFBeUIsQ0FBQztBQUc3RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFpQm5ELGVBQU8sTUFBTSxvQkFBb0I7Ozs7Ozs7Y0FrQ2hDLENBQUM7QUFFRix3QkFBc0IsWUFBWSxDQUNoQyxNQUFNLEVBQUU7SUFBRSxvQkFBb0IsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQUMsY0FBYyxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUE7Q0FBRSxFQUN4RixNQUFNLENBQUMsRUFBRSxNQUFNLEdBQ2QsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBZ0IzQjtBQUVELGVBQU8sTUFBTSxXQUFXLGtKQWlCdkIsQ0FBQztBQUVGLGVBQU8sTUFBTSx1QkFBdUIsdUdBZ0JuQyxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/mocks/fixtures.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAIxD,OAAO,EAAE,KAAK,gBAAgB,EAA+C,MAAM,yBAAyB,CAAC;AAG7G,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAiBnD,eAAO,MAAM,oBAAoB;;;;;;;cAkChC,CAAC;AAEF,wBAAsB,YAAY,CAChC,MAAM,EAAE;IAAE,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EACxF,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,gBAAgB,CAAC,CAe3B;AAED,eAAO,MAAM,WAAW,kJAiBvB,CAAC;AAEF,eAAO,MAAM,uBAAuB,uGAgBnC,CAAC"}
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/mocks/fixtures.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAIxD,OAAO,EAAE,KAAK,gBAAgB,EAA+C,MAAM,yBAAyB,CAAC;AAG7G,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAiBnD,eAAO,MAAM,oBAAoB;;;;;;;cAkChC,CAAC;AAEF,wBAAsB,YAAY,CAChC,MAAM,EAAE;IAAE,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EACxF,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,gBAAgB,CAAC,CAgB3B;AAED,eAAO,MAAM,WAAW,kJAiBvB,CAAC;AAEF,eAAO,MAAM,uBAAuB,uGAgBnC,CAAC"}
@@ -57,7 +57,8 @@ export async function getSimulator(config, logger) {
57
57
  recursive: true
58
58
  });
59
59
  logger?.info(`Using native ACVM at ${config.acvmBinaryPath} and working directory ${config.acvmWorkingDirectory}`);
60
- return new NativeACVMSimulator(config.acvmWorkingDirectory, config.acvmBinaryPath);
60
+ const acvmLogger = logger?.createChild('acvm-native');
61
+ return new NativeACVMSimulator(config.acvmWorkingDirectory, config.acvmBinaryPath, undefined, acvmLogger);
61
62
  } catch {
62
63
  logger?.warn(`Failed to access ACVM at ${config.acvmBinaryPath}, falling back to WASM`);
63
64
  }
@@ -23,6 +23,7 @@ export declare class TestContext {
23
23
  private logger;
24
24
  private headers;
25
25
  private checkpoints;
26
+ private checkpointOutHashes;
26
27
  private nextCheckpointIndex;
27
28
  private nextCheckpointNumber;
28
29
  private nextBlockNumber;
@@ -38,7 +39,7 @@ export declare class TestContext {
38
39
  cleanup(): Promise<void>;
39
40
  startNewEpoch(): void;
40
41
  getBlobFields(): Fr[][];
41
- getFinalBlobChallenges(): Promise<import("../../../blob-lib/dest/types.js").FinalBlobBatchingChallenges>;
42
+ getFinalBlobChallenges(): Promise<import("@aztec/blob-lib").FinalBlobBatchingChallenges>;
42
43
  makeCheckpoint(numBlocks: number, { numTxsPerBlock, numL1ToL2Messages, makeProcessedTxOpts, ...constantOpts }?: {
43
44
  numTxsPerBlock?: number | number[];
44
45
  numL1ToL2Messages?: number;
@@ -62,4 +63,4 @@ declare class TestProvingOrchestrator extends ProvingOrchestrator {
62
63
  protected verifyBuiltBlockAgainstSyncedState(provingState: BlockProvingState): Promise<void>;
63
64
  }
64
65
  export {};
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF9jb250ZXh0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9ja3MvdGVzdF9jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBS3ZELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUt4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHM0QsT0FBTyxLQUFLLEVBQUUseUJBQXlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RyxPQUFPLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RCxPQUFPLEVBQ0wsS0FBSyxXQUFXLEVBQ2hCLEtBQUssZUFBZSxFQUNwQixLQUFLLFdBQVcsRUFHakIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBV2xFLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR3BELHFCQUFhLFdBQVc7SUFVYixVQUFVLEVBQUUsdUJBQXVCO0lBQ25DLE1BQU0sRUFBRSxtQkFBbUI7SUFDM0IsTUFBTSxFQUFFLFVBQVU7SUFDbEIsa0JBQWtCLEVBQUUseUJBQXlCO0lBQzdDLFlBQVksRUFBRSx1QkFBdUI7SUFDNUMsT0FBTyxDQUFDLFFBQVE7SUFFaEIsT0FBTyxDQUFDLG9CQUFvQjtJQUM1QixPQUFPLENBQUMsTUFBTTtJQWpCaEIsT0FBTyxDQUFDLE9BQU8sQ0FBdUM7SUFDdEQsT0FBTyxDQUFDLFdBQVcsQ0FBb0I7SUFDdkMsT0FBTyxDQUFDLG1CQUFtQixDQUFLO0lBQ2hDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBdUI7SUFDbkQsT0FBTyxDQUFDLGVBQWUsQ0FBSztJQUM1QixPQUFPLENBQUMsV0FBVyxDQUFLO0lBQ3hCLE9BQU8sQ0FBQyxlQUFlLENBQUs7SUFFNUIsWUFDUyxVQUFVLEVBQUUsdUJBQXVCLEVBQ25DLE1BQU0sRUFBRSxtQkFBbUIsRUFDM0IsTUFBTSxFQUFFLFVBQVUsRUFDbEIsa0JBQWtCLEVBQUUseUJBQXlCLEVBQzdDLFlBQVksRUFBRSx1QkFBdUIsRUFDcEMsUUFBUSxFQUFFLFlBQVksRUFDOUIsc0JBQXNCLEVBQUUsRUFBRSxFQUNsQixvQkFBb0IsRUFBRSxNQUFNLEVBQUUsRUFDOUIsTUFBTSxFQUFFLE1BQU0sRUFHdkI7SUFFRCxJQUFXLFdBQVcsNEJBRXJCO0lBRUQsT0FBYSxHQUFHLENBQ2QsTUFBTSxFQUFFLE1BQU0sRUFDZCxFQUNFLFdBQWUsRUFDZixZQUE4RyxFQUMvRyxHQUFFO1FBQ0QsV0FBVyxDQUFDLEVBQUUsTUFBTSxDQUFDO1FBQ3JCLFlBQVksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLGNBQWMsS0FBSyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztLQUN0RSx3QkF1RFA7SUFFTSxPQUFPLHVDQUViO0lBRUssT0FBTyxrQkFVWjtJQUVNLGFBQWEsU0FJbkI7SUFHTSxhQUFhLFdBRW5CO0lBRVksc0JBQXNCLG1GQUdsQztJQUVZLGNBQWMsQ0FDekIsU0FBUyxFQUFFLE1BQU0sRUFDakIsRUFDRSxjQUFrQixFQUNsQixpQkFBcUIsRUFDckIsbUJBQWdDLEVBQ2hDLEdBQUcsWUFBWSxFQUNoQixHQUFFO1FBQ0QsY0FBYyxDQUFDLEVBQUUsTUFBTSxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBQ25DLGlCQUFpQixDQUFDLEVBQUUsTUFBTSxDQUFDO1FBQzNCLG1CQUFtQixDQUFDLEVBQUUsQ0FDcEIsb0JBQW9CLEVBQUUsZUFBZSxFQUNyQyxPQUFPLEVBQUUsTUFBTSxLQUNaLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3JELEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFNOzs7Ozs7Ozs7T0F1R25EO1lBRWEsZUFBZTtJQW9CN0IsT0FBTyxDQUFDLGNBQWM7WUFTUixXQUFXO0NBOEIxQjtBQUVELGNBQU0sdUJBQXdCLFNBQVEsbUJBQW1CO0lBQ2hELDJDQUEyQyxVQUFTO0lBSTNELFVBQW1CLGtDQUFrQyxDQUFDLFlBQVksRUFBRSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBS3BHO0NBQ0YifQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF9jb250ZXh0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9ja3MvdGVzdF9jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBS3ZELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUt4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHM0QsT0FBTyxLQUFLLEVBQUUseUJBQXlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RyxPQUFPLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RCxPQUFPLEVBQ0wsS0FBSyxXQUFXLEVBQ2hCLEtBQUssZUFBZSxFQUNwQixLQUFLLFdBQVcsRUFHakIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBV2xFLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR3BELHFCQUFhLFdBQVc7SUFXYixVQUFVLEVBQUUsdUJBQXVCO0lBQ25DLE1BQU0sRUFBRSxtQkFBbUI7SUFDM0IsTUFBTSxFQUFFLFVBQVU7SUFDbEIsa0JBQWtCLEVBQUUseUJBQXlCO0lBQzdDLFlBQVksRUFBRSx1QkFBdUI7SUFDNUMsT0FBTyxDQUFDLFFBQVE7SUFFaEIsT0FBTyxDQUFDLG9CQUFvQjtJQUM1QixPQUFPLENBQUMsTUFBTTtJQWxCaEIsT0FBTyxDQUFDLE9BQU8sQ0FBdUM7SUFDdEQsT0FBTyxDQUFDLFdBQVcsQ0FBb0I7SUFDdkMsT0FBTyxDQUFDLG1CQUFtQixDQUFZO0lBQ3ZDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBSztJQUNoQyxPQUFPLENBQUMsb0JBQW9CLENBQXVCO0lBQ25ELE9BQU8sQ0FBQyxlQUFlLENBQUs7SUFDNUIsT0FBTyxDQUFDLFdBQVcsQ0FBSztJQUN4QixPQUFPLENBQUMsZUFBZSxDQUFLO0lBRTVCLFlBQ1MsVUFBVSxFQUFFLHVCQUF1QixFQUNuQyxNQUFNLEVBQUUsbUJBQW1CLEVBQzNCLE1BQU0sRUFBRSxVQUFVLEVBQ2xCLGtCQUFrQixFQUFFLHlCQUF5QixFQUM3QyxZQUFZLEVBQUUsdUJBQXVCLEVBQ3BDLFFBQVEsRUFBRSxZQUFZLEVBQzlCLHNCQUFzQixFQUFFLEVBQUUsRUFDbEIsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEVBQzlCLE1BQU0sRUFBRSxNQUFNLEVBR3ZCO0lBRUQsSUFBVyxXQUFXLDRCQUVyQjtJQUVELE9BQWEsR0FBRyxDQUNkLE1BQU0sRUFBRSxNQUFNLEVBQ2QsRUFDRSxXQUFlLEVBQ2YsWUFBOEcsRUFDL0csR0FBRTtRQUNELFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUNyQixZQUFZLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxjQUFjLEtBQUssT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7S0FDdEUsd0JBdURQO0lBRU0sT0FBTyx1Q0FFYjtJQUVLLE9BQU8sa0JBVVo7SUFFTSxhQUFhLFNBS25CO0lBR00sYUFBYSxXQUVuQjtJQUVZLHNCQUFzQixtRUFHbEM7SUFFWSxjQUFjLENBQ3pCLFNBQVMsRUFBRSxNQUFNLEVBQ2pCLEVBQ0UsY0FBa0IsRUFDbEIsaUJBQXFCLEVBQ3JCLG1CQUFnQyxFQUNoQyxHQUFHLFlBQVksRUFDaEIsR0FBRTtRQUNELGNBQWMsQ0FBQyxFQUFFLE1BQU0sR0FBRyxNQUFNLEVBQUUsQ0FBQztRQUNuQyxpQkFBaUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUMzQixtQkFBbUIsQ0FBQyxFQUFFLENBQ3BCLG9CQUFvQixFQUFFLGVBQWUsRUFDckMsT0FBTyxFQUFFLE1BQU0sS0FDWixPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNyRCxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsQ0FBTTs7Ozs7Ozs7O09BMEduRDtZQUVhLGVBQWU7SUFvQjdCLE9BQU8sQ0FBQyxjQUFjO1lBU1IsV0FBVztDQThCMUI7QUFFRCxjQUFNLHVCQUF3QixTQUFRLG1CQUFtQjtJQUNoRCwyQ0FBMkMsVUFBUztJQUkzRCxVQUFtQixrQ0FBa0MsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUtwRztDQUNGIn0=
@@ -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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"}
@@ -31,6 +31,7 @@ export class TestContext {
31
31
  logger;
32
32
  headers;
33
33
  checkpoints;
34
+ checkpointOutHashes;
34
35
  nextCheckpointIndex;
35
36
  nextCheckpointNumber;
36
37
  nextBlockNumber;
@@ -47,6 +48,7 @@ export class TestContext {
47
48
  this.logger = logger;
48
49
  this.headers = new Map();
49
50
  this.checkpoints = [];
51
+ this.checkpointOutHashes = [];
50
52
  this.nextCheckpointIndex = 0;
51
53
  this.nextCheckpointNumber = CheckpointNumber(1);
52
54
  this.nextBlockNumber = 1;
@@ -112,6 +114,7 @@ export class TestContext {
112
114
  }
113
115
  startNewEpoch() {
114
116
  this.checkpoints = [];
117
+ this.checkpointOutHashes = [];
115
118
  this.nextCheckpointIndex = 0;
116
119
  this.epochNumber++;
117
120
  }
@@ -169,7 +172,8 @@ export class TestContext {
169
172
  return txs;
170
173
  });
171
174
  const cleanFork = await this.worldState.fork();
172
- const builder = await LightweightCheckpointBuilder.startNewCheckpoint(checkpointNumber, constants, l1ToL2Messages, cleanFork);
175
+ const previousCheckpointOutHashes = this.checkpointOutHashes;
176
+ const builder = await LightweightCheckpointBuilder.startNewCheckpoint(checkpointNumber, constants, l1ToL2Messages, previousCheckpointOutHashes, cleanFork);
173
177
  // Add tx effects to db and build block headers.
174
178
  const blocks = [];
175
179
  for(let i = 0; i < numBlocks; i++){
@@ -190,6 +194,7 @@ export class TestContext {
190
194
  }
191
195
  const checkpoint = await builder.completeCheckpoint();
192
196
  this.checkpoints.push(checkpoint);
197
+ this.checkpointOutHashes.push(checkpoint.getCheckpointOutHash());
193
198
  return {
194
199
  constants,
195
200
  header: checkpoint.header,
@@ -25,7 +25,7 @@ export declare const insertSideEffects: (tx: ProcessedTx, db: MerkleTreeWriteOpe
25
25
  export declare function getChonkProofFromTx(tx: Tx | ProcessedTx): RecursiveProof<1963>;
26
26
  export declare function getPublicChonkVerifierPrivateInputsFromTx(tx: Tx | ProcessedTx, proverId: Fr): PublicChonkVerifierPrivateInputs;
27
27
  export declare const buildBlobHints: (blobFields: Fr[]) => {
28
- blobCommitments: import("../../../foundation/dest/curves/bls12/point.js").BLS12Point[];
28
+ blobCommitments: import("@aztec/foundation/curves/bls12").BLS12Point[];
29
29
  blobs: import("@aztec/blob-lib").Blob[];
30
30
  blobsHash: Fr;
31
31
  };
@@ -26,7 +26,7 @@ export const insertSideEffectsAndBuildBaseRollupHints = runInSpan('BlockBuilderH
26
26
  const noteHashSubtreeRootSiblingPath = assertLength(await getSubtreeSiblingPath(MerkleTreeId.NOTE_HASH_TREE, NOTE_HASH_SUBTREE_HEIGHT, db), NOTE_HASH_SUBTREE_ROOT_SIBLING_PATH_LENGTH);
27
27
  const { nullifierInsertionResult, publicDataInsertionResult } = await insertSideEffects(tx, db);
28
28
  const blockHash = await tx.data.constants.anchorBlockHeader.hash();
29
- const anchorBlockArchiveSiblingPath = (await getMembershipWitnessFor(blockHash, MerkleTreeId.ARCHIVE, ARCHIVE_HEIGHT, db)).siblingPath;
29
+ const anchorBlockArchiveSiblingPath = (await getMembershipWitnessFor(blockHash.toFr(), MerkleTreeId.ARCHIVE, ARCHIVE_HEIGHT, db)).siblingPath;
30
30
  const contractClassLogsFields = makeTuple(MAX_CONTRACT_CLASS_LOGS_PER_TX, (i)=>tx.txEffect.contractClassLogs[i]?.fields || ContractClassLogFields.empty());
31
31
  if (tx.avmProvingRequest) {
32
32
  return PublicBaseRollupHints.from({
@@ -1,5 +1,5 @@
1
1
  import { BatchedBlobAccumulator, type FinalBlobBatchingChallenges } from '@aztec/blob-lib';
2
- import { type ARCHIVE_HEIGHT, type L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH, type NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
2
+ import { type ARCHIVE_HEIGHT, type L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH, type NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, OUT_HASH_TREE_HEIGHT } from '@aztec/constants';
3
3
  import { BlockNumber } from '@aztec/foundation/branded-types';
4
4
  import { Fr } from '@aztec/foundation/curves/bn254';
5
5
  import type { Tuple } from '@aztec/foundation/serialize';
@@ -13,6 +13,10 @@ import type { BlockHeader } from '@aztec/stdlib/tx';
13
13
  import type { UInt64 } from '@aztec/stdlib/types';
14
14
  import { BlockProvingState } from './block-proving-state.js';
15
15
  import type { EpochProvingState } from './epoch-proving-state.js';
16
+ type OutHashHint = {
17
+ treeSnapshot: AppendOnlyTreeSnapshot;
18
+ siblingPath: Tuple<Fr, typeof OUT_HASH_TREE_HEIGHT>;
19
+ };
16
20
  export declare class CheckpointProvingState {
17
21
  #private;
18
22
  readonly index: number;
@@ -31,6 +35,9 @@ export declare class CheckpointProvingState {
31
35
  private blockProofs;
32
36
  private checkpointRootProof;
33
37
  private blocks;
38
+ private previousOutHashHint;
39
+ private outHash;
40
+ private newOutHashHint;
34
41
  private startBlobAccumulator;
35
42
  private endBlobAccumulator;
36
43
  private blobFields;
@@ -46,6 +53,11 @@ export declare class CheckpointProvingState {
46
53
  tryStartProvingCheckpointRoot(): boolean;
47
54
  setCheckpointRootRollupProof(provingOutput: PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>): TreeNodeLocation;
48
55
  getBaseParityInputs(baseParityIndex: number): ParityBasePrivateInputs;
56
+ setOutHashHint(hint: OutHashHint): void;
57
+ getOutHashHint(): OutHashHint | undefined;
58
+ accumulateBlockOutHashes(): Fr | undefined;
59
+ setOutHashHintForNextCheckpoint(hint: OutHashHint): void;
60
+ getOutHashHintForNextCheckpoint(): OutHashHint | undefined;
49
61
  accumulateBlobs(startBlobAccumulator: BatchedBlobAccumulator): Promise<BatchedBlobAccumulator | undefined>;
50
62
  getEndBlobAccumulator(): BatchedBlobAccumulator | undefined;
51
63
  getParentLocation(location: TreeNodeLocation): TreeNodeLocation;
@@ -60,4 +72,5 @@ export declare class CheckpointProvingState {
60
72
  cancel(): void;
61
73
  reject(reason: string): void;
62
74
  }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludC1wcm92aW5nLXN0YXRlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3JjaGVzdHJhdG9yL2NoZWNrcG9pbnQtcHJvdmluZy1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLEtBQUssMkJBQTJCLEVBR2pDLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUNMLEtBQUssY0FBYyxFQUduQixLQUFLLDZDQUE2QyxFQUNsRCxLQUFLLHlDQUF5QyxFQUUvQyxNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUc5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQXVCLE1BQU0seUJBQXlCLENBQUM7QUFDckYsT0FBTyxLQUFLLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLHVCQUF1QixFQUN2QixzQkFBc0IsRUFDdEIsNEJBQTRCLEVBRTVCLGlDQUFpQyxFQUNqQyw0Q0FBNEMsRUFDN0MsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xFLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR2xELE9BQU8s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
75
+ export {};
76
+ //# 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,IAAI,EAI3E;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;IAEM,6BAA6B,qFAmCnC;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;CAQF"}
@@ -5,6 +5,7 @@ import { padArrayEnd } from '@aztec/foundation/collection';
5
5
  import { BLS12Point } from '@aztec/foundation/curves/bls12';
6
6
  import { Fr } from '@aztec/foundation/curves/bn254';
7
7
  import { UnbalancedTreeStore } from '@aztec/foundation/trees';
8
+ import { computeCheckpointOutHash } from '@aztec/stdlib/messaging';
8
9
  import { ParityBasePrivateInputs } from '@aztec/stdlib/parity';
9
10
  import { BlockMergeRollupPrivateInputs, CheckpointRootRollupHints, CheckpointRootRollupPrivateInputs, CheckpointRootSingleBlockRollupPrivateInputs } from '@aztec/stdlib/rollup';
10
11
  import { accumulateBlobs, buildBlobHints, toProofData } from './block-building-helpers.js';
@@ -26,6 +27,11 @@ export class CheckpointProvingState {
26
27
  blockProofs;
27
28
  checkpointRootProof;
28
29
  blocks;
30
+ previousOutHashHint;
31
+ outHash;
32
+ // The snapshot and sibling path after the checkpoint's out hash is inserted.
33
+ // Stored here to be retrieved for the next checkpoint when it's added.
34
+ newOutHashHint;
29
35
  startBlobAccumulator;
30
36
  endBlobAccumulator;
31
37
  blobFields;
@@ -116,6 +122,28 @@ export class CheckpointProvingState {
116
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);
117
123
  return new ParityBasePrivateInputs(messages, this.constants.vkTreeRoot);
118
124
  }
125
+ setOutHashHint(hint) {
126
+ this.previousOutHashHint = hint;
127
+ }
128
+ getOutHashHint() {
129
+ return this.previousOutHashHint;
130
+ }
131
+ accumulateBlockOutHashes() {
132
+ if (this.isAcceptingBlocks() || this.blocks.some((b)=>!b?.hasEndState())) {
133
+ return;
134
+ }
135
+ if (!this.outHash) {
136
+ const messagesPerBlock = this.blocks.map((b)=>b.getTxEffects().map((tx)=>tx.l2ToL1Msgs));
137
+ this.outHash = computeCheckpointOutHash(messagesPerBlock);
138
+ }
139
+ return this.outHash;
140
+ }
141
+ setOutHashHintForNextCheckpoint(hint) {
142
+ this.newOutHashHint = hint;
143
+ }
144
+ getOutHashHintForNextCheckpoint() {
145
+ return this.newOutHashHint;
146
+ }
119
147
  async accumulateBlobs(startBlobAccumulator) {
120
148
  if (this.isAcceptingBlocks() || this.blocks.some((b)=>!b?.hasEndState())) {
121
149
  return;
@@ -151,6 +179,9 @@ export class CheckpointProvingState {
151
179
  if (proofs.length !== nonEmptyProofs.length) {
152
180
  throw new Error('At least one child is not ready for the checkpoint root rollup.');
153
181
  }
182
+ if (!this.previousOutHashHint) {
183
+ throw new Error('Out hash hint is not set.');
184
+ }
154
185
  if (!this.startBlobAccumulator) {
155
186
  throw new Error('Start blob accumulator is not set.');
156
187
  }
@@ -160,6 +191,8 @@ export class CheckpointProvingState {
160
191
  const hints = CheckpointRootRollupHints.from({
161
192
  previousBlockHeader: this.headerOfLastBlockInPreviousCheckpoint,
162
193
  previousArchiveSiblingPath: this.lastArchiveSiblingPath,
194
+ previousOutHash: this.previousOutHashHint.treeSnapshot,
195
+ newOutHashSiblingPath: this.previousOutHashHint.siblingPath,
163
196
  startBlobAccumulator: this.startBlobAccumulator.toBlobAccumulator(),
164
197
  finalBlobChallenges: this.finalBlobBatchingChallenges,
165
198
  blobFields: padArrayEnd(blobFields, Fr.ZERO, FIELDS_PER_BLOB * BLOBS_PER_CHECKPOINT),
@@ -181,7 +214,7 @@ export class CheckpointProvingState {
181
214
  }
182
215
  isReadyForCheckpointRoot() {
183
216
  const allChildProofsReady = this.#getChildProofsForRoot().every((p)=>!!p);
184
- return allChildProofsReady && !!this.startBlobAccumulator;
217
+ return allChildProofsReady && !!this.previousOutHashHint && !!this.startBlobAccumulator;
185
218
  }
186
219
  verifyState() {
187
220
  return this.parentEpoch.verifyState();
@@ -1,13 +1,13 @@
1
1
  import { BatchedBlob, type FinalBlobBatchingChallenges } from '@aztec/blob-lib';
2
- import type { ARCHIVE_HEIGHT, L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
2
+ import { type ARCHIVE_HEIGHT, type L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH, type NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
3
3
  import { BlockNumber, EpochNumber } from '@aztec/foundation/branded-types';
4
- import type { Fr } from '@aztec/foundation/curves/bn254';
4
+ import { Fr } from '@aztec/foundation/curves/bn254';
5
5
  import type { Tuple } from '@aztec/foundation/serialize';
6
6
  import { type TreeNodeLocation } from '@aztec/foundation/trees';
7
7
  import type { PublicInputsAndRecursiveProof } from '@aztec/stdlib/interfaces/server';
8
8
  import type { Proof } from '@aztec/stdlib/proofs';
9
9
  import { CheckpointConstantData, CheckpointMergeRollupPrivateInputs, CheckpointPaddingRollupPrivateInputs, CheckpointRollupPublicInputs, PublicChonkVerifierPublicInputs, RootRollupPrivateInputs, type RootRollupPublicInputs } from '@aztec/stdlib/rollup';
10
- import type { AppendOnlyTreeSnapshot, MerkleTreeId } from '@aztec/stdlib/trees';
10
+ import { AppendOnlyTreeSnapshot, type MerkleTreeId } from '@aztec/stdlib/trees';
11
11
  import type { BlockHeader } from '@aztec/stdlib/tx';
12
12
  import { CheckpointProvingState } from './checkpoint-proving-state.js';
13
13
  export type TreeSnapshots = Map<MerkleTreeId, AppendOnlyTreeSnapshot>;
@@ -54,6 +54,7 @@ export declare class EpochProvingState {
54
54
  setRootRollupProof(provingOutput: PublicInputsAndRecursiveProof<RootRollupPublicInputs>): void;
55
55
  tryStartProvingPaddingCheckpoint(): boolean;
56
56
  setCheckpointPaddingProof(provingOutput: PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>): void;
57
+ accumulateCheckpointOutHashes(): Promise<void>;
57
58
  setBlobAccumulators(): Promise<void>;
58
59
  finalizeBatchedBlob(): Promise<void>;
59
60
  getParentLocation(location: TreeNodeLocation): TreeNodeLocation;
@@ -71,4 +72,4 @@ export declare class EpochProvingState {
71
72
  reject(reason: string): void;
72
73
  resolve(result: ProvingResult): void;
73
74
  }
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBvY2gtcHJvdmluZy1zdGF0ZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL29yY2hlc3RyYXRvci9lcG9jaC1wcm92aW5nLXN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQTBCLEtBQUssMkJBQTJCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RyxPQUFPLEtBQUssRUFDVixjQUFjLEVBQ2QsNkNBQTZDLEVBRTdDLHlDQUF5QyxFQUMxQyxNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0UsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQXVCLE1BQU0seUJBQXlCLENBQUM7QUFDckYsT0FBTyxLQUFLLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRixPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLGtDQUFrQyxFQUNsQyxvQ0FBb0MsRUFDcEMsNEJBQTRCLEVBQzVCLCtCQUErQixFQUMvQix1QkFBdUIsRUFDdkIsS0FBSyxzQkFBc0IsRUFDNUIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUlwRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV2RSxNQUFNLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxZQUFZ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
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBvY2gtcHJvdmluZy1zdGF0ZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL29yY2hlc3RyYXRvci9lcG9jaC1wcm92aW5nLXN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQTBCLEtBQUssMkJBQTJCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RyxPQUFPLEVBQ0wsS0FBSyxjQUFjLEVBQ25CLEtBQUssNkNBQTZDLEVBRWxELEtBQUsseUNBQXlDLEVBRS9DLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUVMLEtBQUssZ0JBQWdCLEVBR3RCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxLQUFLLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRixPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLGtDQUFrQyxFQUNsQyxvQ0FBb0MsRUFDcEMsNEJBQTRCLEVBQzVCLCtCQUErQixFQUMvQix1QkFBdUIsRUFDdkIsS0FBSyxzQkFBc0IsRUFDNUIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsS0FBSyxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUlwRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV2RSxNQUFNLE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FB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
@@ -1 +1 @@
1
- {"version":3,"file":"epoch-proving-state.d.ts","sourceRoot":"","sources":["../../src/orchestrator/epoch-proving-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"epoch-proving-state.d.ts","sourceRoot":"","sources":["../../src/orchestrator/epoch-proving-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA0B,KAAK,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AACxG,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,6CAA6C,EAElD,KAAK,yCAAyC,EAE/C,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAEL,KAAK,gBAAgB,EAGtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EACL,sBAAsB,EACtB,kCAAkC,EAClC,oCAAoC,EACpC,4BAA4B,EAC5B,+BAA+B,EAC/B,uBAAuB,EACvB,KAAK,sBAAsB,EAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC;AAStE,MAAM,MAAM,aAAa,GAAG;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1F;;;;;GAKG;AACH,qBAAa,iBAAiB;;aAuBV,WAAW,EAAE,WAAW;aACxB,mBAAmB,EAAE,MAAM;IAC3C,OAAO,CAAC,QAAQ,CAAC,2BAA2B;IAC5C,OAAO,CAAC,8BAA8B;IACtC,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,iBAAiB;IA3B3B,OAAO,CAAC,gBAAgB,CAEtB;IACF,OAAO,CAAC,sBAAsB,CAEhB;IACd,OAAO,CAAC,eAAe,CAAuF;IAC9G,OAAO,CAAC,WAAW,CAA8C;IACjE,OAAO,CAAC,oBAAoB,CAAyB;IACrD,OAAO,CAAC,kBAAkB,CAAqC;IAC/D,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,qBAAqB,CAAiD;IAG9E,SAAgB,yBAAyB,4FAKrC;IAEJ,YACkB,WAAW,EAAE,WAAW,EACxB,mBAAmB,EAAE,MAAM,EAC1B,2BAA2B,EAAE,2BAA2B,EACjE,8BAA8B,EAAE,CAAC,UAAU,EAAE,sBAAsB,KAAK,IAAI,EAC5E,kBAAkB,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,EACnD,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,EAIpD;IAIM,kBAAkB,CACvB,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,sBAAsB,EACjC,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,WAAW,EAChC,sBAAsB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,cAAc,CAAC,EACxD,cAAc,EAAE,EAAE,EAAE,EACpB,6BAA6B,EAAE,sBAAsB,EACrD,uCAAuC,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,6CAA6C,CAAC,EACxG,4BAA4B,EAAE,sBAAsB,EACpD,sCAAsC,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,6CAA6C,CAAC,GACtG,sBAAsB,CA6BxB;IAEM,yBAAyB,CAAC,KAAK,EAAE,MAAM,sCAE7C;IAEM,sCAAsC,CAAC,WAAW,EAAE,WAAW,sCAOrE;IAEM,iCAAiC,CAAC,WAAW,EAAE,WAAW,oEAEhE;IAGM,WAAW,YAKjB;IAGM,sBAAsB,YAE5B;IAEM,4BAA4B,CACjC,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,6BAA6B,CAC1C,4BAA4B,EAC5B,OAAO,yCAAyC,CACjD,GACA,gBAAgB,CAElB;IAEM,8BAA8B,CAAC,QAAQ,EAAE,gBAAgB,WAO/D;IAEM,6BAA6B,CAClC,QAAQ,EAAE,gBAAgB,EAC1B,aAAa,EAAE,6BAA6B,CAC1C,4BAA4B,EAC5B,OAAO,yCAAyC,CACjD,QAGF;IAEM,yBAAyB,YAO/B;IAEM,kBAAkB,CAAC,aAAa,EAAE,6BAA6B,CAAC,sBAAsB,CAAC,QAE7F;IAEM,gCAAgC,YAOtC;IAEM,yBAAyB,CAC9B,aAAa,EAAE,6BAA6B,CAC1C,4BAA4B,EAC5B,OAAO,yCAAyC,CACjD,QAGF;IAEY,6BAA6B,kBAwCzC;IAEY,mBAAmB,kBAsB/B;IAEY,mBAAmB,kBAK/B;IAEM,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,oBAElD;IAEM,8BAA8B,CAAC,aAAa,EAAE,gBAAgB,sCAOpE;IAEM,mBAAmB,4BASzB;IAEM,0BAA0B,yCAEhC;IAEM,mBAAmB,IAAI;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,YAAY,EAAE,sBAAsB,CAAC;QAAC,iBAAiB,EAAE,WAAW,CAAA;KAAE,CAYnH;IAEM,yBAAyB,CAAC,QAAQ,EAAE,gBAAgB,WAE1D;IAGM,oBAAoB,YAG1B;IAGM,MAAM,SAEZ;IAIM,MAAM,CAAC,MAAM,EAAE,MAAM,QAM3B;IAIM,OAAO,CAAC,MAAM,EAAE,aAAa,QAMnC;CASF"}
@@ -1,6 +1,9 @@
1
1
  import { BatchedBlobAccumulator } from '@aztec/blob-lib';
2
- import { UnbalancedTreeStore } from '@aztec/foundation/trees';
2
+ import { OUT_HASH_TREE_HEIGHT } from '@aztec/constants';
3
+ import { Fr } from '@aztec/foundation/curves/bn254';
4
+ import { MerkleTreeCalculator, UnbalancedTreeStore, shaMerkleHash } from '@aztec/foundation/trees';
3
5
  import { CheckpointMergeRollupPrivateInputs, CheckpointPaddingRollupPrivateInputs, RootRollupPrivateInputs } from '@aztec/stdlib/rollup';
6
+ import { AppendOnlyTreeSnapshot } from '@aztec/stdlib/trees';
4
7
  import { toProofData } from './block-building-helpers.js';
5
8
  import { CheckpointProvingState } from './checkpoint-proving-state.js';
6
9
  var PROVING_STATE_LIFECYCLE = /*#__PURE__*/ function(PROVING_STATE_LIFECYCLE) {
@@ -125,6 +128,37 @@ var PROVING_STATE_LIFECYCLE = /*#__PURE__*/ function(PROVING_STATE_LIFECYCLE) {
125
128
  provingOutput
126
129
  };
127
130
  }
131
+ async accumulateCheckpointOutHashes() {
132
+ const treeCalculator = await MerkleTreeCalculator.create(OUT_HASH_TREE_HEIGHT, undefined, (left, right)=>Promise.resolve(shaMerkleHash(left, right)));
133
+ const computeOutHashHint = async (leaves)=>{
134
+ const tree = await treeCalculator.computeTree(leaves.map((l)=>l.toBuffer()));
135
+ const nextAvailableLeafIndex = leaves.length;
136
+ return {
137
+ treeSnapshot: new AppendOnlyTreeSnapshot(Fr.fromBuffer(tree.root), nextAvailableLeafIndex),
138
+ siblingPath: tree.getSiblingPath(nextAvailableLeafIndex).map(Fr.fromBuffer)
139
+ };
140
+ };
141
+ let hint = this.checkpoints[0]?.getOutHashHint();
142
+ const outHashes = [];
143
+ for(let i = 0; i < this.totalNumCheckpoints; i++){
144
+ const checkpoint = this.checkpoints[i];
145
+ if (!checkpoint) {
146
+ break;
147
+ }
148
+ // If hints are not set yet, it must be the first checkpoint. Compute the hints with an empty tree.
149
+ hint ??= await computeOutHashHint([]);
150
+ checkpoint.setOutHashHint(hint);
151
+ // Get the out hash for this checkpoint.
152
+ const outHash = checkpoint.accumulateBlockOutHashes();
153
+ if (!outHash) {
154
+ break;
155
+ }
156
+ outHashes.push(outHash);
157
+ // Get or create hints for the next checkpoint.
158
+ hint = checkpoint.getOutHashHintForNextCheckpoint() ?? await computeOutHashHint(outHashes);
159
+ checkpoint.setOutHashHintForNextCheckpoint(hint);
160
+ }
161
+ }
128
162
  async setBlobAccumulators() {
129
163
  let previousAccumulator = this.startBlobAccumulator;
130
164
  // Accumulate blobs as far as we can for this epoch.