@aztec/prover-client 0.0.1-commit.b655e406 → 0.0.1-commit.b8a057fa

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 (178) hide show
  1. package/dest/config.d.ts +2 -2
  2. package/dest/config.d.ts.map +1 -1
  3. package/dest/config.js +17 -3
  4. package/dest/index.d.ts +1 -1
  5. package/dest/light/index.d.ts +2 -0
  6. package/dest/light/index.d.ts.map +1 -0
  7. package/dest/light/index.js +1 -0
  8. package/dest/light/lightweight_checkpoint_builder.d.ts +52 -0
  9. package/dest/light/lightweight_checkpoint_builder.d.ts.map +1 -0
  10. package/dest/light/lightweight_checkpoint_builder.js +233 -0
  11. package/dest/mocks/fixtures.d.ts +1 -4
  12. package/dest/mocks/fixtures.d.ts.map +1 -1
  13. package/dest/mocks/fixtures.js +9 -18
  14. package/dest/mocks/test_context.d.ts +38 -55
  15. package/dest/mocks/test_context.d.ts.map +1 -1
  16. package/dest/mocks/test_context.js +143 -142
  17. package/dest/orchestrator/block-building-helpers.d.ts +18 -20
  18. package/dest/orchestrator/block-building-helpers.d.ts.map +1 -1
  19. package/dest/orchestrator/block-building-helpers.js +90 -115
  20. package/dest/orchestrator/block-proving-state.d.ts +20 -11
  21. package/dest/orchestrator/block-proving-state.d.ts.map +1 -1
  22. package/dest/orchestrator/block-proving-state.js +87 -19
  23. package/dest/orchestrator/checkpoint-proving-state.d.ts +24 -27
  24. package/dest/orchestrator/checkpoint-proving-state.d.ts.map +1 -1
  25. package/dest/orchestrator/checkpoint-proving-state.js +28 -94
  26. package/dest/orchestrator/checkpoint-sub-tree-orchestrator.d.ts +161 -0
  27. package/dest/orchestrator/checkpoint-sub-tree-orchestrator.d.ts.map +1 -0
  28. package/dest/orchestrator/checkpoint-sub-tree-orchestrator.js +1066 -0
  29. package/dest/orchestrator/chonk-cache.d.ts +39 -0
  30. package/dest/orchestrator/chonk-cache.d.ts.map +1 -0
  31. package/dest/orchestrator/chonk-cache.js +80 -0
  32. package/dest/orchestrator/index.d.ts +4 -2
  33. package/dest/orchestrator/index.d.ts.map +1 -1
  34. package/dest/orchestrator/index.js +3 -1
  35. package/dest/orchestrator/orchestrator_metrics.d.ts +1 -3
  36. package/dest/orchestrator/orchestrator_metrics.d.ts.map +1 -1
  37. package/dest/orchestrator/orchestrator_metrics.js +2 -15
  38. package/dest/orchestrator/proving-scheduler.d.ts +81 -0
  39. package/dest/orchestrator/proving-scheduler.d.ts.map +1 -0
  40. package/dest/orchestrator/proving-scheduler.js +120 -0
  41. package/dest/orchestrator/top-tree-orchestrator.d.ts +88 -0
  42. package/dest/orchestrator/top-tree-orchestrator.d.ts.map +1 -0
  43. package/dest/orchestrator/top-tree-orchestrator.js +232 -0
  44. package/dest/orchestrator/top-tree-proving-state.d.ts +61 -0
  45. package/dest/orchestrator/top-tree-proving-state.d.ts.map +1 -0
  46. package/dest/orchestrator/top-tree-proving-state.js +185 -0
  47. package/dest/orchestrator/tx-proving-state.d.ts +7 -6
  48. package/dest/orchestrator/tx-proving-state.d.ts.map +1 -1
  49. package/dest/orchestrator/tx-proving-state.js +7 -16
  50. package/dest/prover-client/factory.d.ts +3 -3
  51. package/dest/prover-client/factory.d.ts.map +1 -1
  52. package/dest/prover-client/index.d.ts +1 -1
  53. package/dest/prover-client/prover-client.d.ts +65 -8
  54. package/dest/prover-client/prover-client.d.ts.map +1 -1
  55. package/dest/prover-client/prover-client.js +66 -14
  56. package/dest/proving_broker/broker_prover_facade.d.ts +26 -24
  57. package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -1
  58. package/dest/proving_broker/broker_prover_facade.js +21 -33
  59. package/dest/proving_broker/config.d.ts +14 -62
  60. package/dest/proving_broker/config.d.ts.map +1 -1
  61. package/dest/proving_broker/config.js +29 -6
  62. package/dest/proving_broker/factory.d.ts +1 -1
  63. package/dest/proving_broker/fixtures.d.ts +3 -2
  64. package/dest/proving_broker/fixtures.d.ts.map +1 -1
  65. package/dest/proving_broker/fixtures.js +3 -2
  66. package/dest/proving_broker/index.d.ts +2 -1
  67. package/dest/proving_broker/index.d.ts.map +1 -1
  68. package/dest/proving_broker/index.js +1 -0
  69. package/dest/proving_broker/proof_store/factory.d.ts +2 -5
  70. package/dest/proving_broker/proof_store/factory.d.ts.map +1 -1
  71. package/dest/proving_broker/proof_store/factory.js +7 -30
  72. package/dest/proving_broker/proof_store/file_store_proof_store.d.ts +18 -0
  73. package/dest/proving_broker/proof_store/file_store_proof_store.d.ts.map +1 -0
  74. package/dest/proving_broker/proof_store/file_store_proof_store.js +60 -0
  75. package/dest/proving_broker/proof_store/index.d.ts +2 -2
  76. package/dest/proving_broker/proof_store/index.d.ts.map +1 -1
  77. package/dest/proving_broker/proof_store/index.js +1 -1
  78. package/dest/proving_broker/proof_store/inline_proof_store.d.ts +1 -1
  79. package/dest/proving_broker/proof_store/inline_proof_store.d.ts.map +1 -1
  80. package/dest/proving_broker/proof_store/proof_store.d.ts +1 -1
  81. package/dest/proving_broker/proving_agent.d.ts +5 -9
  82. package/dest/proving_broker/proving_agent.d.ts.map +1 -1
  83. package/dest/proving_broker/proving_agent.js +4 -19
  84. package/dest/proving_broker/proving_broker.d.ts +8 -5
  85. package/dest/proving_broker/proving_broker.d.ts.map +1 -1
  86. package/dest/proving_broker/proving_broker.js +74 -22
  87. package/dest/proving_broker/proving_broker_database/memory.d.ts +3 -2
  88. package/dest/proving_broker/proving_broker_database/memory.d.ts.map +1 -1
  89. package/dest/proving_broker/proving_broker_database/persisted.d.ts +5 -3
  90. package/dest/proving_broker/proving_broker_database/persisted.d.ts.map +1 -1
  91. package/dest/proving_broker/proving_broker_database/persisted.js +394 -5
  92. package/dest/proving_broker/proving_broker_database.d.ts +3 -2
  93. package/dest/proving_broker/proving_broker_database.d.ts.map +1 -1
  94. package/dest/proving_broker/proving_broker_instrumentation.d.ts +3 -1
  95. package/dest/proving_broker/proving_broker_instrumentation.d.ts.map +1 -1
  96. package/dest/proving_broker/proving_broker_instrumentation.js +22 -35
  97. package/dest/proving_broker/proving_job_controller.d.ts +5 -3
  98. package/dest/proving_broker/proving_job_controller.d.ts.map +1 -1
  99. package/dest/proving_broker/proving_job_controller.js +8 -6
  100. package/dest/proving_broker/rpc.d.ts +9 -5
  101. package/dest/proving_broker/rpc.d.ts.map +1 -1
  102. package/dest/proving_broker/rpc.js +87 -23
  103. package/dest/test/epoch_settlement.d.ts +36 -0
  104. package/dest/test/epoch_settlement.d.ts.map +1 -0
  105. package/dest/test/epoch_settlement.js +52 -0
  106. package/dest/test/index.d.ts +2 -0
  107. package/dest/test/index.d.ts.map +1 -0
  108. package/dest/test/index.js +1 -0
  109. package/dest/test/mock_proof_store.d.ts +1 -1
  110. package/dest/test/mock_proof_store.d.ts.map +1 -1
  111. package/dest/test/mock_prover.d.ts +5 -6
  112. package/dest/test/mock_prover.d.ts.map +1 -1
  113. package/dest/test/mock_prover.js +4 -4
  114. package/package.json +25 -23
  115. package/src/config.ts +19 -3
  116. package/src/light/index.ts +1 -0
  117. package/src/light/lightweight_checkpoint_builder.ts +322 -0
  118. package/src/mocks/fixtures.ts +9 -31
  119. package/src/mocks/test_context.ts +182 -217
  120. package/src/orchestrator/block-building-helpers.ts +129 -209
  121. package/src/orchestrator/block-proving-state.ts +109 -22
  122. package/src/orchestrator/checkpoint-proving-state.ts +32 -123
  123. package/src/orchestrator/checkpoint-sub-tree-orchestrator.ts +1044 -0
  124. package/src/orchestrator/chonk-cache.ts +99 -0
  125. package/src/orchestrator/index.ts +8 -1
  126. package/src/orchestrator/orchestrator_metrics.ts +2 -25
  127. package/src/orchestrator/proving-scheduler.ts +160 -0
  128. package/src/orchestrator/top-tree-orchestrator.ts +384 -0
  129. package/src/orchestrator/top-tree-proving-state.ts +219 -0
  130. package/src/orchestrator/tx-proving-state.ts +10 -27
  131. package/src/prover-client/factory.ts +6 -2
  132. package/src/prover-client/prover-client.ts +148 -29
  133. package/src/proving_broker/broker_prover_facade.ts +47 -56
  134. package/src/proving_broker/config.ts +33 -3
  135. package/src/proving_broker/fixtures.ts +8 -3
  136. package/src/proving_broker/index.ts +1 -0
  137. package/src/proving_broker/proof_store/factory.ts +10 -32
  138. package/src/proving_broker/proof_store/file_store_proof_store.ts +78 -0
  139. package/src/proving_broker/proof_store/index.ts +1 -1
  140. package/src/proving_broker/proving_agent.ts +6 -19
  141. package/src/proving_broker/proving_broker.ts +70 -17
  142. package/src/proving_broker/proving_broker_database/memory.ts +2 -1
  143. package/src/proving_broker/proving_broker_database/persisted.ts +22 -7
  144. package/src/proving_broker/proving_broker_database.ts +2 -1
  145. package/src/proving_broker/proving_broker_instrumentation.ts +23 -35
  146. package/src/proving_broker/proving_job_controller.ts +13 -7
  147. package/src/proving_broker/rpc.ts +46 -20
  148. package/src/test/epoch_settlement.ts +82 -0
  149. package/src/test/index.ts +1 -0
  150. package/src/test/mock_prover.ts +3 -15
  151. package/dest/block-factory/index.d.ts +0 -2
  152. package/dest/block-factory/index.d.ts.map +0 -1
  153. package/dest/block-factory/index.js +0 -1
  154. package/dest/block-factory/light.d.ts +0 -38
  155. package/dest/block-factory/light.d.ts.map +0 -1
  156. package/dest/block-factory/light.js +0 -94
  157. package/dest/orchestrator/epoch-proving-state.d.ts +0 -73
  158. package/dest/orchestrator/epoch-proving-state.d.ts.map +0 -1
  159. package/dest/orchestrator/epoch-proving-state.js +0 -233
  160. package/dest/orchestrator/orchestrator.d.ts +0 -113
  161. package/dest/orchestrator/orchestrator.d.ts.map +0 -1
  162. package/dest/orchestrator/orchestrator.js +0 -848
  163. package/dest/prover-client/server-epoch-prover.d.ts +0 -31
  164. package/dest/prover-client/server-epoch-prover.d.ts.map +0 -1
  165. package/dest/prover-client/server-epoch-prover.js +0 -40
  166. package/dest/proving_broker/proof_store/gcs_proof_store.d.ts +0 -14
  167. package/dest/proving_broker/proof_store/gcs_proof_store.d.ts.map +0 -1
  168. package/dest/proving_broker/proof_store/gcs_proof_store.js +0 -52
  169. package/dest/proving_broker/proving_agent_instrumentation.d.ts +0 -8
  170. package/dest/proving_broker/proving_agent_instrumentation.d.ts.map +0 -1
  171. package/dest/proving_broker/proving_agent_instrumentation.js +0 -16
  172. package/src/block-factory/index.ts +0 -1
  173. package/src/block-factory/light.ts +0 -140
  174. package/src/orchestrator/epoch-proving-state.ts +0 -328
  175. package/src/orchestrator/orchestrator.ts +0 -1272
  176. package/src/prover-client/server-epoch-prover.ts +0 -70
  177. package/src/proving_broker/proof_store/gcs_proof_store.ts +0 -76
  178. package/src/proving_broker/proving_agent_instrumentation.ts +0 -21
@@ -1,24 +1,19 @@
1
- import { BatchedBlobAccumulator, type FinalBlobBatchingChallenges } from '@aztec/blob-lib';
2
1
  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
- import { Fr } from '@aztec/foundation/fields';
2
+ import { BlockNumber } from '@aztec/foundation/branded-types';
3
+ import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import type { Tuple } from '@aztec/foundation/serialize';
5
5
  import { type TreeNodeLocation } from '@aztec/foundation/trees';
6
6
  import type { PublicInputsAndRecursiveProof } from '@aztec/stdlib/interfaces/server';
7
7
  import { ParityBasePrivateInputs } from '@aztec/stdlib/parity';
8
- import { BlockMergeRollupPrivateInputs, BlockRollupPublicInputs, CheckpointConstantData, CheckpointRollupPublicInputs, CheckpointRootRollupPrivateInputs, CheckpointRootSingleBlockRollupPrivateInputs } from '@aztec/stdlib/rollup';
9
- import type { CircuitName } from '@aztec/stdlib/stats';
8
+ import { BlockMergeRollupPrivateInputs, BlockRollupPublicInputs, CheckpointConstantData } from '@aztec/stdlib/rollup';
10
9
  import type { AppendOnlyTreeSnapshot } from '@aztec/stdlib/trees';
11
10
  import type { BlockHeader } from '@aztec/stdlib/tx';
12
11
  import type { UInt64 } from '@aztec/stdlib/types';
13
12
  import { BlockProvingState } from './block-proving-state.js';
14
- import type { EpochProvingState } from './epoch-proving-state.js';
15
13
  export declare class CheckpointProvingState {
16
- #private;
17
14
  readonly index: number;
18
15
  readonly constants: CheckpointConstantData;
19
16
  readonly totalNumBlocks: number;
20
- private readonly totalNumBlobFields;
21
- private readonly finalBlobBatchingChallenges;
22
17
  private readonly headerOfLastBlockInPreviousCheckpoint;
23
18
  private readonly lastArchiveSiblingPath;
24
19
  private readonly l1ToL2Messages;
@@ -26,38 +21,40 @@ export declare class CheckpointProvingState {
26
21
  private readonly lastL1ToL2MessageSubtreeRootSiblingPath;
27
22
  private readonly newL1ToL2MessageTreeSnapshot;
28
23
  private readonly newL1ToL2MessageSubtreeRootSiblingPath;
29
- parentEpoch: EpochProvingState;
30
- private onBlobAccumulatorSet;
24
+ readonly epochNumber: number;
25
+ /** Owner's liveness check. `verifyState()` returns false once this returns false. */
26
+ private readonly isAlive;
27
+ /** Owner's failure callback. Invoked from `reject` to surface the error upward. */
28
+ private readonly onReject;
31
29
  private blockProofs;
32
- private checkpointRootProof;
33
30
  private blocks;
34
- private startBlobAccumulator;
35
- private endBlobAccumulator;
36
- private blobFields;
37
31
  private error;
38
- readonly firstBlockNumber: number;
39
- constructor(index: number, constants: CheckpointConstantData, totalNumBlocks: number, totalNumBlobFields: number, finalBlobBatchingChallenges: FinalBlobBatchingChallenges, headerOfLastBlockInPreviousCheckpoint: BlockHeader, lastArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>, l1ToL2Messages: Fr[], lastL1ToL2MessageTreeSnapshot: AppendOnlyTreeSnapshot, lastL1ToL2MessageSubtreeRootSiblingPath: Tuple<Fr, typeof L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH>, newL1ToL2MessageTreeSnapshot: AppendOnlyTreeSnapshot, newL1ToL2MessageSubtreeRootSiblingPath: Tuple<Fr, typeof L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH>, parentEpoch: EpochProvingState, onBlobAccumulatorSet: (checkpoint: CheckpointProvingState) => void);
40
- get epochNumber(): number;
41
- startNewBlock(blockNumber: number, timestamp: UInt64, totalNumTxs: number, lastArchiveTreeSnapshot: AppendOnlyTreeSnapshot, lastArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>): Promise<BlockProvingState>;
32
+ readonly firstBlockNumber: BlockNumber;
33
+ constructor(index: number, constants: CheckpointConstantData, totalNumBlocks: number, headerOfLastBlockInPreviousCheckpoint: BlockHeader, lastArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>, l1ToL2Messages: Fr[], lastL1ToL2MessageTreeSnapshot: AppendOnlyTreeSnapshot, lastL1ToL2MessageSubtreeRootSiblingPath: Tuple<Fr, typeof L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH>, newL1ToL2MessageTreeSnapshot: AppendOnlyTreeSnapshot, newL1ToL2MessageSubtreeRootSiblingPath: Tuple<Fr, typeof L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH>, epochNumber: number,
34
+ /** Owner's liveness check. `verifyState()` returns false once this returns false. */
35
+ isAlive: () => boolean,
36
+ /** Owner's failure callback. Invoked from `reject` to surface the error upward. */
37
+ onReject: (reason: string) => void);
38
+ startNewBlock(blockNumber: BlockNumber, timestamp: UInt64, totalNumTxs: number, lastArchiveTreeSnapshot: AppendOnlyTreeSnapshot, lastArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>): BlockProvingState;
42
39
  isAcceptingBlocks(): boolean;
43
40
  setBlockRootRollupProof(blockIndex: number, provingOutput: PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>): TreeNodeLocation;
44
41
  tryStartProvingBlockMerge(location: TreeNodeLocation): boolean;
45
42
  setBlockMergeRollupProof(location: TreeNodeLocation, provingOutput: PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>): void;
46
- tryStartProvingCheckpointRoot(): boolean;
47
- setCheckpointRootRollupProof(provingOutput: PublicInputsAndRecursiveProof<CheckpointRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>): TreeNodeLocation;
48
43
  getBaseParityInputs(baseParityIndex: number): ParityBasePrivateInputs;
49
- accumulateBlobs(startBlobAccumulator: BatchedBlobAccumulator): Promise<BatchedBlobAccumulator | undefined>;
50
- getEndBlobAccumulator(): BatchedBlobAccumulator | undefined;
51
44
  getParentLocation(location: TreeNodeLocation): TreeNodeLocation;
52
45
  getBlockMergeRollupInputs(mergeLocation: TreeNodeLocation): BlockMergeRollupPrivateInputs;
53
- getCheckpointRootRollupType(): CircuitName;
54
- getCheckpointRootRollupInputs(): CheckpointRootSingleBlockRollupPrivateInputs | CheckpointRootRollupPrivateInputs;
55
- getBlockProvingStateByBlockNumber(blockNumber: number): BlockProvingState | undefined;
46
+ getBlockProvingStateByBlockNumber(blockNumber: BlockNumber): BlockProvingState | undefined;
56
47
  isReadyForBlockMerge(location: TreeNodeLocation): boolean;
57
- isReadyForCheckpointRoot(): boolean;
58
48
  verifyState(): boolean;
59
49
  getError(): string | undefined;
60
50
  cancel(): void;
61
51
  reject(reason: string): void;
52
+ /**
53
+ * Returns the block-level proof outputs that feed into the checkpoint root rollup.
54
+ * Used by `CheckpointSubTreeOrchestrator` to surface its sub-tree result.
55
+ */
56
+ getSubTreeOutputProofs(): (PublicInputsAndRecursiveProof<BlockRollupPublicInputs, 480> | undefined)[];
57
+ /** Sibling path of the archive tree captured before any block in this checkpoint landed. */
58
+ 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];
62
59
  }
63
- //# sourceMappingURL=checkpoint-proving-state.d.ts.map
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludC1wcm92aW5nLXN0YXRlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3JjaGVzdHJhdG9yL2NoZWNrcG9pbnQtcHJvdmluZy1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsS0FBSyxjQUFjLEVBQ25CLEtBQUssNkNBQTZDLEVBQ2xELEtBQUsseUNBQXlDLEVBRS9DLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTlELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBdUIsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRixPQUFPLEtBQUssRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSx1QkFBdUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RILE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFtQixNQUFNLDBCQUEwQixDQUFDO0FBRTlFLHFCQUFhLHNCQUFzQjthQVNmLEtBQUssRUFBRSxNQUFNO2FBQ2IsU0FBUyxFQUFFLHNCQUFzQjthQUNqQyxjQUFjLEVBQUUsTUFBTTtJQUN0QyxPQUFPLENBQUMsUUFBUSxDQUFDLHFDQUFxQztJQUN0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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":"AACA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,6CAA6C,EAClD,KAAK,yCAAyC,EAE/C,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,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;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACtH,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;AAE9E,qBAAa,sBAAsB;aASf,KAAK,EAAE,MAAM;aACb,SAAS,EAAE,sBAAsB;aACjC,cAAc,EAAE,MAAM;IACtC,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;aAIvC,WAAW,EAAE,MAAM;IACnC,qFAAqF;IACrF,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,mFAAmF;IACnF,OAAO,CAAC,QAAQ,CAAC,QAAQ;IA9B3B,OAAO,CAAC,WAAW,CAEjB;IACF,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,KAAK,CAAqB;IAClC,SAAgB,gBAAgB,EAAE,WAAW,CAAC;IAE9C,YACkB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,sBAAsB,EACjC,cAAc,EAAE,MAAM,EACrB,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,EACe,WAAW,EAAE,MAAM;IACnC,qFAAqF;IACpE,OAAO,EAAE,MAAM,OAAO;IACvC,mFAAmF;IAClE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,EAIpD;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,mBAAmB,CAAC,eAAe,EAAE,MAAM,2BAUjD;IAEM,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,oBAElD;IAEM,yBAAyB,CAAC,aAAa,EAAE,gBAAgB,iCAO/D;IAEM,iCAAiC,CAAC,WAAW,EAAE,WAAW,iCAGhE;IAEM,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,WAErD;IAEM,WAAW,YAEjB;IAEM,QAAQ,uBAEd;IAGM,MAAM,SAEZ;IAEM,MAAM,CAAC,MAAM,EAAE,MAAM,QAG3B;IAED;;;OAGG;IACI,sBAAsB,gFAK5B;IAED,4FAA4F;IACrF,yBAAyB,6HAE/B;CACF"}
@@ -1,19 +1,17 @@
1
1
  import { SpongeBlob } from '@aztec/blob-lib';
2
- import { BLOBS_PER_BLOCK, FIELDS_PER_BLOB, NUM_MSGS_PER_BASE_PARITY } from '@aztec/constants';
2
+ import { NUM_MSGS_PER_BASE_PARITY } from '@aztec/constants';
3
+ import { BlockNumber } from '@aztec/foundation/branded-types';
3
4
  import { padArrayEnd } from '@aztec/foundation/collection';
4
- import { BLS12Point, Fr } from '@aztec/foundation/fields';
5
+ import { Fr } from '@aztec/foundation/curves/bn254';
5
6
  import { UnbalancedTreeStore } from '@aztec/foundation/trees';
6
- import { getCheckpointBlobFields } from '@aztec/stdlib/checkpoint';
7
7
  import { ParityBasePrivateInputs } from '@aztec/stdlib/parity';
8
- import { BlockMergeRollupPrivateInputs, CheckpointRootRollupHints, CheckpointRootRollupPrivateInputs, CheckpointRootSingleBlockRollupPrivateInputs } from '@aztec/stdlib/rollup';
9
- import { accumulateBlobs, buildBlobHints, toProofData } from './block-building-helpers.js';
8
+ import { BlockMergeRollupPrivateInputs } from '@aztec/stdlib/rollup';
9
+ import { toProofData } from './block-building-helpers.js';
10
10
  import { BlockProvingState } from './block-proving-state.js';
11
11
  export class CheckpointProvingState {
12
12
  index;
13
13
  constants;
14
14
  totalNumBlocks;
15
- totalNumBlobFields;
16
- finalBlobBatchingChallenges;
17
15
  headerOfLastBlockInPreviousCheckpoint;
18
16
  lastArchiveSiblingPath;
19
17
  l1ToL2Messages;
@@ -21,24 +19,19 @@ export class CheckpointProvingState {
21
19
  lastL1ToL2MessageSubtreeRootSiblingPath;
22
20
  newL1ToL2MessageTreeSnapshot;
23
21
  newL1ToL2MessageSubtreeRootSiblingPath;
24
- parentEpoch;
25
- onBlobAccumulatorSet;
22
+ epochNumber;
23
+ isAlive;
24
+ onReject;
26
25
  blockProofs;
27
- checkpointRootProof;
28
26
  blocks;
29
- startBlobAccumulator;
30
- endBlobAccumulator;
31
- blobFields;
32
27
  error;
33
28
  firstBlockNumber;
34
- constructor(index, constants, totalNumBlocks, totalNumBlobFields, finalBlobBatchingChallenges, headerOfLastBlockInPreviousCheckpoint, lastArchiveSiblingPath, l1ToL2Messages, // The snapshot and sibling path before the new l1 to l2 message subtree is inserted.
29
+ constructor(index, constants, totalNumBlocks, headerOfLastBlockInPreviousCheckpoint, lastArchiveSiblingPath, l1ToL2Messages, // The snapshot and sibling path before the new l1 to l2 message subtree is inserted.
35
30
  lastL1ToL2MessageTreeSnapshot, lastL1ToL2MessageSubtreeRootSiblingPath, // The snapshot and sibling path after the new l1 to l2 message subtree is inserted.
36
- newL1ToL2MessageTreeSnapshot, newL1ToL2MessageSubtreeRootSiblingPath, parentEpoch, onBlobAccumulatorSet){
31
+ newL1ToL2MessageTreeSnapshot, newL1ToL2MessageSubtreeRootSiblingPath, epochNumber, /** Owner's liveness check. `verifyState()` returns false once this returns false. */ isAlive, /** Owner's failure callback. Invoked from `reject` to surface the error upward. */ onReject){
37
32
  this.index = index;
38
33
  this.constants = constants;
39
34
  this.totalNumBlocks = totalNumBlocks;
40
- this.totalNumBlobFields = totalNumBlobFields;
41
- this.finalBlobBatchingChallenges = finalBlobBatchingChallenges;
42
35
  this.headerOfLastBlockInPreviousCheckpoint = headerOfLastBlockInPreviousCheckpoint;
43
36
  this.lastArchiveSiblingPath = lastArchiveSiblingPath;
44
37
  this.l1ToL2Messages = l1ToL2Messages;
@@ -46,17 +39,15 @@ export class CheckpointProvingState {
46
39
  this.lastL1ToL2MessageSubtreeRootSiblingPath = lastL1ToL2MessageSubtreeRootSiblingPath;
47
40
  this.newL1ToL2MessageTreeSnapshot = newL1ToL2MessageTreeSnapshot;
48
41
  this.newL1ToL2MessageSubtreeRootSiblingPath = newL1ToL2MessageSubtreeRootSiblingPath;
49
- this.parentEpoch = parentEpoch;
50
- this.onBlobAccumulatorSet = onBlobAccumulatorSet;
42
+ this.epochNumber = epochNumber;
43
+ this.isAlive = isAlive;
44
+ this.onReject = onReject;
51
45
  this.blocks = [];
52
46
  this.blockProofs = new UnbalancedTreeStore(totalNumBlocks);
53
- this.firstBlockNumber = headerOfLastBlockInPreviousCheckpoint.globalVariables.blockNumber + 1;
47
+ this.firstBlockNumber = BlockNumber(headerOfLastBlockInPreviousCheckpoint.globalVariables.blockNumber + 1);
54
48
  }
55
- get epochNumber() {
56
- return this.parentEpoch.epochNumber;
57
- }
58
- async startNewBlock(blockNumber, timestamp, totalNumTxs, lastArchiveTreeSnapshot, lastArchiveSiblingPath) {
59
- const index = blockNumber - this.firstBlockNumber;
49
+ startNewBlock(blockNumber, timestamp, totalNumTxs, lastArchiveTreeSnapshot, lastArchiveSiblingPath) {
50
+ const index = Number(blockNumber) - Number(this.firstBlockNumber);
60
51
  if (index >= this.totalNumBlocks) {
61
52
  throw new Error(`Unable to start a new block at index ${index}. Expected at most ${this.totalNumBlocks} blocks.`);
62
53
  }
@@ -65,7 +56,7 @@ export class CheckpointProvingState {
65
56
  // happen in the first block.
66
57
  const lastL1ToL2MessageTreeSnapshot = index === 0 ? this.lastL1ToL2MessageTreeSnapshot : this.newL1ToL2MessageTreeSnapshot;
67
58
  const lastL1ToL2MessageSubtreeRootSiblingPath = index === 0 ? this.lastL1ToL2MessageSubtreeRootSiblingPath : this.newL1ToL2MessageSubtreeRootSiblingPath;
68
- const startSpongeBlob = index === 0 ? await SpongeBlob.init(this.totalNumBlobFields) : this.blocks[index - 1]?.getEndSpongeBlob();
59
+ const startSpongeBlob = index === 0 ? SpongeBlob.init() : this.blocks[index - 1]?.getEndSpongeBlob();
69
60
  if (!startSpongeBlob) {
70
61
  throw new Error('Cannot start a new block before the trees have progressed from the tx effects in the previous block.');
71
62
  }
@@ -97,38 +88,9 @@ export class CheckpointProvingState {
97
88
  provingOutput
98
89
  });
99
90
  }
100
- tryStartProvingCheckpointRoot() {
101
- if (this.checkpointRootProof?.isProving) {
102
- return false;
103
- } else {
104
- this.checkpointRootProof = {
105
- isProving: true
106
- };
107
- return true;
108
- }
109
- }
110
- setCheckpointRootRollupProof(provingOutput) {
111
- this.checkpointRootProof = {
112
- provingOutput
113
- };
114
- return this.parentEpoch.setCheckpointRootRollupProof(this.index, provingOutput);
115
- }
116
91
  getBaseParityInputs(baseParityIndex) {
117
92
  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);
118
- return new ParityBasePrivateInputs(messages, this.constants.vkTreeRoot);
119
- }
120
- async accumulateBlobs(startBlobAccumulator) {
121
- if (this.isAcceptingBlocks() || this.blocks.some((b)=>b.isAcceptingTxs())) {
122
- return;
123
- }
124
- this.blobFields = getCheckpointBlobFields(this.blocks.map((b)=>b.getTxEffects()));
125
- this.endBlobAccumulator = await accumulateBlobs(this.blobFields, startBlobAccumulator);
126
- this.startBlobAccumulator = startBlobAccumulator;
127
- this.onBlobAccumulatorSet(this);
128
- return this.endBlobAccumulator;
129
- }
130
- getEndBlobAccumulator() {
131
- return this.endBlobAccumulator;
93
+ return new ParityBasePrivateInputs(messages, this.constants.vkTreeRoot, this.constants.proverId);
132
94
  }
133
95
  getParentLocation(location) {
134
96
  return this.blockProofs.getParentLocation(location);
@@ -143,49 +105,15 @@ export class CheckpointProvingState {
143
105
  toProofData(right)
144
106
  ]);
145
107
  }
146
- getCheckpointRootRollupType() {
147
- return this.totalNumBlocks === 1 ? 'rollup-checkpoint-root-single-block' : 'rollup-checkpoint-root';
148
- }
149
- getCheckpointRootRollupInputs() {
150
- const proofs = this.#getChildProofsForRoot();
151
- const nonEmptyProofs = proofs.filter((p)=>!!p);
152
- if (proofs.length !== nonEmptyProofs.length) {
153
- throw new Error('At least one child is not ready for the checkpoint root rollup.');
154
- }
155
- if (!this.startBlobAccumulator) {
156
- throw new Error('Start blob accumulator is not set.');
157
- }
158
- // `blobFields` must've been set if `startBlobAccumulator` is set (in `accumulateBlobs`).
159
- const blobFields = this.blobFields;
160
- const { blobCommitments, blobsHash } = buildBlobHints(blobFields);
161
- const hints = CheckpointRootRollupHints.from({
162
- previousBlockHeader: this.headerOfLastBlockInPreviousCheckpoint,
163
- previousArchiveSiblingPath: this.lastArchiveSiblingPath,
164
- startBlobAccumulator: this.startBlobAccumulator.toBlobAccumulator(),
165
- finalBlobChallenges: this.finalBlobBatchingChallenges,
166
- blobFields: padArrayEnd(blobFields, Fr.ZERO, FIELDS_PER_BLOB * BLOBS_PER_BLOCK),
167
- blobCommitments: padArrayEnd(blobCommitments, BLS12Point.ZERO, BLOBS_PER_BLOCK),
168
- blobsHash
169
- });
170
- const [left, right] = nonEmptyProofs.map((p)=>toProofData(p));
171
- return !right ? new CheckpointRootSingleBlockRollupPrivateInputs(left, hints) : new CheckpointRootRollupPrivateInputs([
172
- left,
173
- right
174
- ], hints);
175
- }
176
108
  getBlockProvingStateByBlockNumber(blockNumber) {
177
- const index = blockNumber - this.firstBlockNumber;
109
+ const index = Number(blockNumber) - Number(this.firstBlockNumber);
178
110
  return this.blocks[index];
179
111
  }
180
112
  isReadyForBlockMerge(location) {
181
113
  return !!this.blockProofs.getSibling(location)?.provingOutput;
182
114
  }
183
- isReadyForCheckpointRoot() {
184
- const allChildProofsReady = this.#getChildProofsForRoot().every((p)=>!!p);
185
- return allChildProofsReady && !!this.startBlobAccumulator;
186
- }
187
115
  verifyState() {
188
- return this.parentEpoch.verifyState();
116
+ return this.isAlive();
189
117
  }
190
118
  getError() {
191
119
  return this.error;
@@ -196,9 +124,12 @@ export class CheckpointProvingState {
196
124
  }
197
125
  reject(reason) {
198
126
  this.error = reason;
199
- this.parentEpoch.reject(reason);
127
+ this.onReject(reason);
200
128
  }
201
- #getChildProofsForRoot() {
129
+ /**
130
+ * Returns the block-level proof outputs that feed into the checkpoint root rollup.
131
+ * Used by `CheckpointSubTreeOrchestrator` to surface its sub-tree result.
132
+ */ getSubTreeOutputProofs() {
202
133
  const rootLocation = {
203
134
  level: 0,
204
135
  index: 0
@@ -208,4 +139,7 @@ export class CheckpointProvingState {
208
139
  ] // If there's only 1 block, its proof will be stored at the root.
209
140
  : this.blockProofs.getChildren(rootLocation).map((c)=>c?.provingOutput);
210
141
  }
142
+ /** Sibling path of the archive tree captured before any block in this checkpoint landed. */ getLastArchiveSiblingPath() {
143
+ return this.lastArchiveSiblingPath;
144
+ }
211
145
  }
@@ -0,0 +1,161 @@
1
+ import { type ARCHIVE_HEIGHT, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
2
+ import { BlockNumber, type EpochNumber } from '@aztec/foundation/branded-types';
3
+ import { Fr } from '@aztec/foundation/curves/bn254';
4
+ import type { LoggerBindings } from '@aztec/foundation/log';
5
+ import type { SerialQueue } from '@aztec/foundation/queue';
6
+ import { type Tuple } from '@aztec/foundation/serialize';
7
+ import { 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, ProcessedTx, Tx } from '@aztec/stdlib/tx';
11
+ import type { UInt64 } from '@aztec/stdlib/types';
12
+ import { type TelemetryClient, type Tracer } from '@aztec/telemetry-client';
13
+ import type { BlockProvingState } from './block-proving-state.js';
14
+ import { CheckpointProvingState } from './checkpoint-proving-state.js';
15
+ import type { ChonkCache } from './chonk-cache.js';
16
+ import { ProvingScheduler } from './proving-scheduler.js';
17
+ /**
18
+ * Result of proving a single checkpoint's block-level sub-tree.
19
+ *
20
+ * Contains the final block-rollup proof outputs that feed the checkpoint root rollup,
21
+ * plus the archive sibling path captured before any block in the checkpoint landed
22
+ * (the top-tree needs this to assemble the checkpoint root rollup hints).
23
+ */
24
+ export type SubTreeResult = {
25
+ blockProofOutputs: PublicInputsAndRecursiveProof<BlockRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>[];
26
+ previousArchiveSiblingPath: Tuple<Fr, typeof ARCHIVE_HEIGHT>;
27
+ };
28
+ /**
29
+ * Orchestrates block-level proving for a single checkpoint, stopping at the boundary
30
+ * where checkpoint root rollup would otherwise begin. Used by the per-checkpoint
31
+ * `CheckpointProver` in production; the top-tree orchestrator then composes the
32
+ * sub-tree's block proofs into the epoch proof.
33
+ *
34
+ * Wiring: a single-checkpoint mini-proving session is owned by the constructor. The
35
+ * canonical way to obtain a fully-started sub-tree is the `start` static factory,
36
+ * which also drives the single internal `startCheckpoint` call. The sub-tree never
37
+ * escalates past the checkpoint root boundary; `getSubTreeResult()` resolves once
38
+ * every block-level proof in the checkpoint's tree is ready.
39
+ */
40
+ export declare class CheckpointSubTreeOrchestrator extends ProvingScheduler {
41
+ private readonly dbProvider;
42
+ protected readonly prover: ServerCircuitProver;
43
+ private readonly proverId;
44
+ /**
45
+ * Shared chonk-verifier proof cache. Every chonk-verifier proof started by this
46
+ * sub-tree lives on the cache and survives the sub-tree's cancellation, so a tx
47
+ * whose original checkpoint is reorged out and re-appears in a replacement
48
+ * checkpoint reuses the cached proof.
49
+ */
50
+ private readonly chonkCache;
51
+ /** The epoch this sub-tree proves into. */
52
+ private readonly epochNumber;
53
+ private readonly cancelJobsOnStop;
54
+ /** The single checkpoint proving state this sub-tree owns. Allocated in the `start` factory. */
55
+ protected provingState: CheckpointProvingState | undefined;
56
+ private readonly subTreeResult;
57
+ private readonly metrics;
58
+ private dbs;
59
+ constructor(dbProvider: ReadonlyWorldStateAccess & ForkMerkleTreeOperations, prover: ServerCircuitProver, proverId: EthAddress,
60
+ /**
61
+ * Shared chonk-verifier proof cache. Every chonk-verifier proof started by this
62
+ * sub-tree lives on the cache and survives the sub-tree's cancellation, so a tx
63
+ * whose original checkpoint is reorged out and re-appears in a replacement
64
+ * checkpoint reuses the cached proof.
65
+ */
66
+ chonkCache: ChonkCache,
67
+ /** The epoch this sub-tree proves into. */
68
+ epochNumber: EpochNumber, cancelJobsOnStop: boolean | undefined, deferredJobQueue: SerialQueue, telemetryClient?: TelemetryClient, bindings?: LoggerBindings);
69
+ /** Tracks whether `cancel()` has been called; flows into the checkpoint state's isAlive hook. */
70
+ private cancelled;
71
+ get tracer(): Tracer;
72
+ getProverId(): EthAddress;
73
+ getNumActiveForks(): number;
74
+ /** Returns a promise that resolves when block-level proving completes for the checkpoint. */
75
+ getSubTreeResult(): Promise<SubTreeResult>;
76
+ /**
77
+ * Returns the archive sibling path captured at the internal checkpoint start.
78
+ * Available synchronously once `start` has resolved, before block-level proving
79
+ * completes. The top-tree consumer uses this to assemble checkpoint root rollup hints
80
+ * up-front so checkpoint root proofs can pipeline against in-flight sub-tree proving.
81
+ */
82
+ getPreviousArchiveSiblingPath(): Tuple<Fr, typeof ARCHIVE_HEIGHT>;
83
+ /**
84
+ * Constructs and starts a sub-tree for a single checkpoint. The returned sub-tree
85
+ * has had its single internal checkpoint state allocated; callers proceed directly
86
+ * to per-block `startNewBlock` / `addTxs` / `setBlockCompleted`.
87
+ *
88
+ * If the internal start rejects, the partially-constructed sub-tree is stopped
89
+ * before the error propagates, so no broker resources leak.
90
+ */
91
+ static start(dbProvider: ReadonlyWorldStateAccess & ForkMerkleTreeOperations, prover: ServerCircuitProver, proverId: EthAddress, chonkCache: ChonkCache, epochNumber: EpochNumber, cancelJobsOnStop: boolean, deferredJobQueue: SerialQueue, checkpointConstants: CheckpointConstantData, l1ToL2Messages: Fr[], totalNumBlocks: number, headerOfLastBlockInPreviousCheckpoint: BlockHeader, telemetryClient?: TelemetryClient, bindings?: LoggerBindings): Promise<CheckpointSubTreeOrchestrator>;
92
+ /**
93
+ * Kickstart chonk-verifier circuits via the shared `ChonkCache`. The cache owns the
94
+ * broker job lifecycle, so the proof survives this sub-tree's `cancel()` — a tx that
95
+ * ends up in a replacement checkpoint after a reorg can pick the cached promise up
96
+ * and skip re-proving.
97
+ */
98
+ startChonkVerifierCircuits(txs: Tx[]): Promise<void>;
99
+ /**
100
+ * Starts off a new block.
101
+ * @param blockNumber - The block number
102
+ * @param timestamp - The timestamp of the block. Required for empty blocks to construct private inputs.
103
+ * @param totalNumTxs - The total number of txs in the block.
104
+ */
105
+ startNewBlock(blockNumber: BlockNumber, timestamp: UInt64, totalNumTxs: number): Promise<void>;
106
+ /**
107
+ * The interface to add simulated transactions to the scheduler. Called at most once per block.
108
+ * @param txs - The transactions to be proven
109
+ */
110
+ addTxs(txs: ProcessedTx[]): Promise<void>;
111
+ /**
112
+ * Marks the block as completed.
113
+ * Computes the block header and updates the archive tree.
114
+ */
115
+ setBlockCompleted(blockNumber: BlockNumber, expectedHeader?: BlockHeader): Promise<BlockHeader>;
116
+ /**
117
+ * Cancels any further proving. If `cancelJobsOnStop` was set, aborts all pending broker jobs
118
+ * (used on reorg). Otherwise jobs remain in the broker queue and can be reused on restart.
119
+ */
120
+ cancel(): void;
121
+ protected cancelInternal(): void;
122
+ private startCheckpoint;
123
+ private updateL1ToL2MessageTree;
124
+ private prepareBaseRollupInputs;
125
+ private enqueueBaseRollup;
126
+ /**
127
+ * Route the tx's chonk-verifier dependency through the per-epoch context: read the
128
+ * cached promise (or enqueue if missing), then `.then(handleResult)` to progress to
129
+ * the base rollup once the proof lands.
130
+ */
131
+ private getOrEnqueueChonkVerifier;
132
+ private enqueueMergeRollup;
133
+ private enqueueBlockRootRollup;
134
+ private enqueueBaseParityCircuit;
135
+ private checkAndEnqueueRootParityCircuit;
136
+ private enqueueRootParityCircuit;
137
+ private enqueueBlockMergeRollup;
138
+ private checkAndEnqueueNextMergeRollup;
139
+ private checkAndEnqueueBlockRootRollup;
140
+ private checkAndEnqueueNextBlockMergeRollup;
141
+ /**
142
+ * Sub-tree analogue of the orchestrator's `checkAndEnqueueCheckpointRootRollup`:
143
+ * resolves the sub-tree promise with the block-level proof outputs once they're all ready,
144
+ * instead of escalating to the checkpoint root rollup.
145
+ */
146
+ private checkAndEnqueueSubTreeResolution;
147
+ /**
148
+ * Executes the VM circuit for a public function. Enqueues the base rollup once the
149
+ * tx's chonk-verifier + VM proofs are both ready.
150
+ */
151
+ private enqueueVM;
152
+ private checkAndEnqueueBaseRollup;
153
+ protected verifyBuiltBlockAgainstSyncedState(provingState: BlockProvingState): Promise<void>;
154
+ private getDbForBlock;
155
+ /**
156
+ * Wraps a circuit call with a tracer span and circuit attributes. Replaces the
157
+ * `ProvingScheduler.wrapCircuitCall` indirection that used to live on the abstract base.
158
+ */
159
+ private wrapCircuitCall;
160
+ }
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludC1zdWItdHJlZS1vcmNoZXN0cmF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcmNoZXN0cmF0b3IvY2hlY2twb2ludC1zdWItdHJlZS1vcmNoZXN0cmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLEtBQUssY0FBYyxFQUduQix5Q0FBeUMsRUFFMUMsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTVELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxLQUFLLEtBQUssRUFBZ0IsTUFBTSw2QkFBNkIsQ0FBQztBQUV2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxLQUFLLEVBQ1Ysd0JBQXdCLEVBRXhCLDZCQUE2QixFQUM3Qix3QkFBd0IsRUFDeEIsbUJBQW1CLEVBQ3BCLE1BQU0saUNBQWlDLENBQUM7QUFFekMsT0FBTyxFQUVMLEtBQUssdUJBQXVCLEVBSzVCLHNCQUFzQixFQUd2QixNQUFNLHNCQUFzQixDQUFDO0FBRzlCLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUVMLEtBQUssZUFBZSxFQUNwQixLQUFLLE1BQU0sRUFJWixNQUFNLHlCQUF5QixDQUFDO0FBZWpDLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBC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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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"}