@aztec/prover-node 5.0.0-nightly.20260623 → 5.0.0-nightly.20260624
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -8
- package/dest/actions/rerun-epoch-proving-job.d.ts +2 -2
- package/dest/actions/rerun-epoch-proving-job.d.ts.map +1 -1
- package/dest/job/epoch-session.d.ts +2 -2
- package/dest/job/epoch-session.d.ts.map +1 -1
- package/dest/job/epoch-session.js +17 -7
- package/package.json +23 -23
- package/src/job/epoch-session.ts +19 -8
package/README.md
CHANGED
|
@@ -151,12 +151,18 @@ derived from the canonical content for that slot range.
|
|
|
151
151
|
stateDiagram-v2
|
|
152
152
|
[*] --> initialized
|
|
153
153
|
initialized --> awaiting_checkpoints: start()
|
|
154
|
-
awaiting_checkpoints -->
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
154
|
+
awaiting_checkpoints --> awaiting_root: sub-tree proofs ready, top-tree prove begins
|
|
155
|
+
awaiting_root --> publishing_proof: epoch proof ready, submit to L1
|
|
156
|
+
publishing_proof --> completed: publish succeeds
|
|
157
|
+
publishing_proof --> superseded: longer same-epoch candidate wins
|
|
158
|
+
publishing_proof --> failed: L1 submission errored
|
|
159
|
+
awaiting_checkpoints --> failed: top-tree prove errored
|
|
160
|
+
awaiting_root --> failed: top-tree prove errored
|
|
158
161
|
initialized --> timed_out: deadline
|
|
159
162
|
awaiting_checkpoints --> timed_out: deadline (EpochSession or candidate)
|
|
163
|
+
awaiting_root --> timed_out: deadline (EpochSession or candidate)
|
|
164
|
+
awaiting_checkpoints --> cancelled: cancel()
|
|
165
|
+
awaiting_root --> cancelled: cancel()
|
|
160
166
|
completed --> [*]
|
|
161
167
|
superseded --> [*]
|
|
162
168
|
cancelled --> [*]
|
|
@@ -164,10 +170,16 @@ stateDiagram-v2
|
|
|
164
170
|
failed --> [*]
|
|
165
171
|
```
|
|
166
172
|
|
|
167
|
-
The
|
|
168
|
-
|
|
169
|
-
awaiting each checkpoint's sub-tree result
|
|
170
|
-
|
|
173
|
+
The non-terminal states track the window between `start()` and the L1 submission:
|
|
174
|
+
|
|
175
|
+
- `awaiting-checkpoints` — a `TopTreeJob` is awaiting each checkpoint's sub-tree result
|
|
176
|
+
(`CheckpointProver.whenBlockProofsReady`) before the top-tree prove can begin.
|
|
177
|
+
- `awaiting-root` — the sub-tree proofs are ready and the top-tree (root) prove is running,
|
|
178
|
+
assembling the epoch proof (set via the `TopTreeJob` `beforeProve` hook).
|
|
179
|
+
- `publishing-proof` — the epoch proof is being submitted to L1 via `ProofPublishingService`.
|
|
180
|
+
|
|
181
|
+
`cancel()` and the deadline can fire during any of these pre-submit phases; a terminal state
|
|
182
|
+
set that way wins over the phase transitions (which are guarded by `isTerminal()`).
|
|
171
183
|
|
|
172
184
|
The `EpochSession` does three sequential things: (1) run a `TopTreeJob` over the frozen
|
|
173
185
|
checkpoint subset, (2) hand the resulting proof to `ProofPublishingService` as a
|
|
@@ -9,5 +9,5 @@ import type { GenesisData } from '@aztec/stdlib/world-state';
|
|
|
9
9
|
* using the state snapshots, and creates a new epoch proving session to prove the downloaded proving job.
|
|
10
10
|
* Proving is done with a local proving broker and agents as specified by the config.
|
|
11
11
|
*/
|
|
12
|
-
export declare function rerunEpochProvingJob(localPath: string, log: Logger, config: DataStoreConfig & ProverBrokerConfig & ProverClientConfig & Pick<L1ContractsConfig, 'aztecEpochDuration'>, genesis?: GenesisData): Promise<"awaiting-checkpoints" | "awaiting-predecessor" | "cancelled" | "completed" | "failed" | "initialized" | "publishing-proof" | "stopped" | "superseded" | "timed-out">;
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
export declare function rerunEpochProvingJob(localPath: string, log: Logger, config: DataStoreConfig & ProverBrokerConfig & ProverClientConfig & Pick<L1ContractsConfig, 'aztecEpochDuration'>, genesis?: GenesisData): Promise<"awaiting-checkpoints" | "awaiting-predecessor" | "awaiting-root" | "cancelled" | "completed" | "failed" | "initialized" | "publishing-proof" | "stopped" | "superseded" | "timed-out">;
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVydW4tZXBvY2gtcHJvdmluZy1qb2IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hY3Rpb25zL3JlcnVuLWVwb2NoLXByb3Zpbmctam9iLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFaEUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsT0FBTyxFQUFFLEtBQUssa0JBQWtCLEVBQXNCLE1BQU0sc0JBQXNCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGtCQUFrQixFQUErQixNQUFNLDZCQUE2QixDQUFDO0FBTzlGLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRzlELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBVzdEOzs7O0dBSUc7QUFDSCx3QkFBc0Isb0JBQW9CLENBQ3hDLFNBQVMsRUFBRSxNQUFNLEVBQ2pCLEdBQUcsRUFBRSxNQUFNLEVBQ1gsTUFBTSxFQUFFLGVBQWUsR0FBRyxrQkFBa0IsR0FBRyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsb0JBQW9CLENBQUMsRUFDakgsT0FBTyxDQUFDLEVBQUUsV0FBVyxtTUF5RnRCIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rerun-epoch-proving-job.d.ts","sourceRoot":"","sources":["../../src/actions/rerun-epoch-proving-job.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,KAAK,kBAAkB,EAAsB,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAA+B,MAAM,6BAA6B,CAAC;AAO9F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAW7D;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,eAAe,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,EACjH,OAAO,CAAC,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"rerun-epoch-proving-job.d.ts","sourceRoot":"","sources":["../../src/actions/rerun-epoch-proving-job.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,KAAK,kBAAkB,EAAsB,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAA+B,MAAM,6BAA6B,CAAC;AAO9F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAW7D;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,eAAe,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,EACjH,OAAO,CAAC,EAAE,WAAW,mMAyFtB"}
|
|
@@ -77,7 +77,7 @@ export type EpochSessionDeps = {
|
|
|
77
77
|
*
|
|
78
78
|
* Lifecycle (happy path):
|
|
79
79
|
*
|
|
80
|
-
* initialized → awaiting-checkpoints → completed
|
|
80
|
+
* initialized → awaiting-checkpoints → awaiting-root → publishing-proof → completed
|
|
81
81
|
*
|
|
82
82
|
* Terminal states map the publishing outcome: `published` → `completed`, `superseded` →
|
|
83
83
|
* `superseded`, `failed` → `failed`, `expired` → `timed-out`, `withdrawn` → `cancelled`.
|
|
@@ -143,4 +143,4 @@ export declare class EpochSession implements Traceable {
|
|
|
143
143
|
protected handleDeadline(): Promise<void>;
|
|
144
144
|
private toTopTreeHooks;
|
|
145
145
|
}
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBvY2gtc2Vzc2lvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2pvYi9lcG9jaC1zZXNzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQXlCLEtBQUssV0FBVyxFQUFFLEtBQUssVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEgsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFlLEtBQUssY0FBYyxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRXZGLE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBUyxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFL0QsT0FBTyxFQUFFLEtBQUssb0JBQW9CLEVBQWdDLE1BQU0saUNBQWlDLENBQUM7QUFDMUcsT0FBTyxFQUFjLEtBQUssU0FBUyxFQUFFLEtBQUssTUFBTSxFQUFhLE1BQU0seUJBQXlCLENBQUM7QUFJN0YsT0FBTyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQW9DLEtBQUssWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFeEYsWUFBWSxFQUFFLG9CQUFvQixFQUFFLENBQUM7QUFFckMsd0ZBQXNGO0FBQ3RGLE1BQU0sTUFBTSxXQUFXLEdBQUcsTUFBTSxHQUFHLFNBQVMsQ0FBQztBQUU3Qzs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxXQUFXLFdBQVc7SUFDMUIsSUFBSSxFQUFFLFdBQVcsQ0FBQztJQUNsQixXQUFXLEVBQUUsV0FBVyxDQUFDO0lBQ3pCLFFBQVEsRUFBRSxV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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"epoch-session.d.ts","sourceRoot":"","sources":["../../src/job/epoch-session.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"epoch-session.d.ts","sourceRoot":"","sources":["../../src/job/epoch-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAyB,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACxH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EAAE,KAAK,YAAY,EAAS,MAAM,yBAAyB,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,OAAO,EAAE,KAAK,oBAAoB,EAAgC,MAAM,iCAAiC,CAAC;AAC1G,OAAO,EAAc,KAAK,SAAS,EAAE,KAAK,MAAM,EAAa,MAAM,yBAAyB,CAAC;AAI7F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAoC,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAExF,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAErC,wFAAsF;AACtF,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;AAE7C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,UAAU,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,yCAAyC;AACzC,wBAAgB,OAAO,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAEjD;AAED,sFAAsF;AACtF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAChD,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC/C,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;CAC7F,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,4DAA4D;AAC5D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,EAAE,kBAAkB,CAAC;IAClC,QAAQ,EAAE,UAAU,CAAC;IACrB,iBAAiB,EAAE,IAAI,CAAC,sBAAsB,EAAE,QAAQ,GAAG,UAAU,CAAC,CAAC;IACvE,OAAO,EAAE,oBAAoB,CAAC;IAC9B,YAAY,EAAE,YAAY,CAAC;IAC3B,6EAA6E;IAC7E,QAAQ,EAAE,IAAI,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,KAAK,CAAC,EAAE,iBAAiB,CAAC;CAC3B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,YAAa,YAAW,SAAS;IAkB1C,OAAO,CAAC,QAAQ,CAAC,IAAI;IAErB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAnBvB,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,KAAK,CAAuC;IACpD,OAAO,CAAC,sBAAsB,CAA6B;IAE3D,OAAO,CAAC,UAAU,CAAyB;IAC3C,0FAA0F;IAC1F,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAoB;IAE3D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAgC;IAClE,OAAO,CAAC,iBAAiB,CAAyC;IAElE,0DAA0D;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8B;IAE1D,YACmB,IAAI,EAAE,WAAW,EAClC,WAAW,EAAE,SAAS,gBAAgB,EAAE,EACvB,IAAI,EAAE,gBAAgB,EAsBxC;IAEM,KAAK,IAAI,MAAM,CAErB;IAEM,OAAO,IAAI,WAAW,CAE5B;IAEM,QAAQ,IAAI,oBAAoB,CAEtC;IAEM,cAAc,IAAI,WAAW,CAEnC;IAEM,OAAO,IAAI,WAAW,CAE5B;IAEM,WAAW,IAAI,IAAI,GAAG,SAAS,CAErC;IAEM,cAAc,IAAI,SAAS,gBAAgB,EAAE,CAEnD;IAED,0DAA0D;IACnD,QAAQ,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAE/C;IAED,kDAAkD;IAC3C,UAAU,IAAI,OAAO,CAE3B;IAED,uCAAuC;IAChC,mBAAmB,IAAI,WAAW,CAExC;IAED,sCAAsC;IAC/B,iBAAiB,IAAI,WAAW,CAGtC;IAED;;;OAGG;IAIU,KAAK,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAiBlD;IAED;;;OAGG;IACU,MAAM,CAAC,MAAM,SAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBvD;YAEa,GAAG;YAiDH,WAAW;YAyEX,uBAAuB;IAarC,OAAO,CAAC,oBAAoB;IAW5B;;;;OAIG;IACH,UAAgB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAU9C;IAED,OAAO,CAAC,cAAc;CAgBvB"}
|
|
@@ -407,7 +407,7 @@ _dec = trackSpan('EpochSession.start', function() {
|
|
|
407
407
|
*
|
|
408
408
|
* Lifecycle (happy path):
|
|
409
409
|
*
|
|
410
|
-
* initialized → awaiting-checkpoints → completed
|
|
410
|
+
* initialized → awaiting-checkpoints → awaiting-root → publishing-proof → completed
|
|
411
411
|
*
|
|
412
412
|
* Terminal states map the publishing outcome: `published` → `completed`, `superseded` →
|
|
413
413
|
* `superseded`, `failed` → `failed`, `expired` → `timed-out`, `withdrawn` → `cancelled`.
|
|
@@ -606,6 +606,11 @@ _dec = trackSpan('EpochSession.start', function() {
|
|
|
606
606
|
const attestations = lastCheckpoint.attestations.map((a)=>a.toViem());
|
|
607
607
|
const epochSizeBlocks = this.checkpoints.reduce((acc, c)=>acc + c.checkpoint.blocks.length, 0);
|
|
608
608
|
const epochSizeTxs = this.checkpoints.reduce((acc, c)=>acc + c.checkpoint.blocks.reduce((bAcc, block)=>bAcc + block.body.txEffects.length, 0), 0);
|
|
609
|
+
// Reflect the publish phase. Guard against a terminal state set concurrently by cancel() — the
|
|
610
|
+
// post-submit isTerminal() check below relies on cancel still winning.
|
|
611
|
+
if (!this.isTerminal()) {
|
|
612
|
+
this.state = 'publishing-proof';
|
|
613
|
+
}
|
|
609
614
|
const outcome = await this.deps.publishingService.submit({
|
|
610
615
|
id: this.uuid,
|
|
611
616
|
epoch: this.spec.epochNumber,
|
|
@@ -698,13 +703,18 @@ _dec = trackSpan('EpochSession.start', function() {
|
|
|
698
703
|
}
|
|
699
704
|
toTopTreeHooks() {
|
|
700
705
|
const hooks = this.deps.hooks;
|
|
701
|
-
if (!hooks?.beforeTopTreeProve && !hooks?.afterTopTreeProve && !hooks?.topTreeProveOverride) {
|
|
702
|
-
return undefined;
|
|
703
|
-
}
|
|
704
706
|
return {
|
|
705
|
-
beforeProve
|
|
706
|
-
|
|
707
|
-
|
|
707
|
+
// `beforeProve` fires once the sub-tree (checkpoint block) proofs are ready and the root prove is
|
|
708
|
+
// about to start — the boundary between `awaiting-checkpoints` and proving the top tree. Don't
|
|
709
|
+
// clobber a terminal state set concurrently by cancel().
|
|
710
|
+
beforeProve: async ()=>{
|
|
711
|
+
if (!this.isTerminal()) {
|
|
712
|
+
this.state = 'awaiting-root';
|
|
713
|
+
}
|
|
714
|
+
await hooks?.beforeTopTreeProve?.();
|
|
715
|
+
},
|
|
716
|
+
afterProve: hooks?.afterTopTreeProve,
|
|
717
|
+
proveOverride: hooks?.topTreeProveOverride
|
|
708
718
|
};
|
|
709
719
|
}
|
|
710
720
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/prover-node",
|
|
3
|
-
"version": "5.0.0-nightly.
|
|
3
|
+
"version": "5.0.0-nightly.20260624",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -56,28 +56,28 @@
|
|
|
56
56
|
]
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@aztec/archiver": "5.0.0-nightly.
|
|
60
|
-
"@aztec/bb-prover": "5.0.0-nightly.
|
|
61
|
-
"@aztec/blob-client": "5.0.0-nightly.
|
|
62
|
-
"@aztec/blob-lib": "5.0.0-nightly.
|
|
63
|
-
"@aztec/constants": "5.0.0-nightly.
|
|
64
|
-
"@aztec/epoch-cache": "5.0.0-nightly.
|
|
65
|
-
"@aztec/ethereum": "5.0.0-nightly.
|
|
66
|
-
"@aztec/foundation": "5.0.0-nightly.
|
|
67
|
-
"@aztec/kv-store": "5.0.0-nightly.
|
|
68
|
-
"@aztec/l1-artifacts": "5.0.0-nightly.
|
|
69
|
-
"@aztec/native": "5.0.0-nightly.
|
|
70
|
-
"@aztec/node-keystore": "5.0.0-nightly.
|
|
71
|
-
"@aztec/node-lib": "5.0.0-nightly.
|
|
72
|
-
"@aztec/noir-protocol-circuits-types": "5.0.0-nightly.
|
|
73
|
-
"@aztec/p2p": "5.0.0-nightly.
|
|
74
|
-
"@aztec/protocol-contracts": "5.0.0-nightly.
|
|
75
|
-
"@aztec/prover-client": "5.0.0-nightly.
|
|
76
|
-
"@aztec/sequencer-client": "5.0.0-nightly.
|
|
77
|
-
"@aztec/simulator": "5.0.0-nightly.
|
|
78
|
-
"@aztec/stdlib": "5.0.0-nightly.
|
|
79
|
-
"@aztec/telemetry-client": "5.0.0-nightly.
|
|
80
|
-
"@aztec/world-state": "5.0.0-nightly.
|
|
59
|
+
"@aztec/archiver": "5.0.0-nightly.20260624",
|
|
60
|
+
"@aztec/bb-prover": "5.0.0-nightly.20260624",
|
|
61
|
+
"@aztec/blob-client": "5.0.0-nightly.20260624",
|
|
62
|
+
"@aztec/blob-lib": "5.0.0-nightly.20260624",
|
|
63
|
+
"@aztec/constants": "5.0.0-nightly.20260624",
|
|
64
|
+
"@aztec/epoch-cache": "5.0.0-nightly.20260624",
|
|
65
|
+
"@aztec/ethereum": "5.0.0-nightly.20260624",
|
|
66
|
+
"@aztec/foundation": "5.0.0-nightly.20260624",
|
|
67
|
+
"@aztec/kv-store": "5.0.0-nightly.20260624",
|
|
68
|
+
"@aztec/l1-artifacts": "5.0.0-nightly.20260624",
|
|
69
|
+
"@aztec/native": "5.0.0-nightly.20260624",
|
|
70
|
+
"@aztec/node-keystore": "5.0.0-nightly.20260624",
|
|
71
|
+
"@aztec/node-lib": "5.0.0-nightly.20260624",
|
|
72
|
+
"@aztec/noir-protocol-circuits-types": "5.0.0-nightly.20260624",
|
|
73
|
+
"@aztec/p2p": "5.0.0-nightly.20260624",
|
|
74
|
+
"@aztec/protocol-contracts": "5.0.0-nightly.20260624",
|
|
75
|
+
"@aztec/prover-client": "5.0.0-nightly.20260624",
|
|
76
|
+
"@aztec/sequencer-client": "5.0.0-nightly.20260624",
|
|
77
|
+
"@aztec/simulator": "5.0.0-nightly.20260624",
|
|
78
|
+
"@aztec/stdlib": "5.0.0-nightly.20260624",
|
|
79
|
+
"@aztec/telemetry-client": "5.0.0-nightly.20260624",
|
|
80
|
+
"@aztec/world-state": "5.0.0-nightly.20260624",
|
|
81
81
|
"source-map-support": "^0.5.21",
|
|
82
82
|
"tslib": "^2.4.0",
|
|
83
83
|
"viem": "npm:@aztec/viem@2.38.2"
|
package/src/job/epoch-session.ts
CHANGED
|
@@ -92,7 +92,7 @@ export type EpochSessionDeps = {
|
|
|
92
92
|
*
|
|
93
93
|
* Lifecycle (happy path):
|
|
94
94
|
*
|
|
95
|
-
* initialized → awaiting-checkpoints → completed
|
|
95
|
+
* initialized → awaiting-checkpoints → awaiting-root → publishing-proof → completed
|
|
96
96
|
*
|
|
97
97
|
* Terminal states map the publishing outcome: `published` → `completed`, `superseded` →
|
|
98
98
|
* `superseded`, `failed` → `failed`, `expired` → `timed-out`, `withdrawn` → `cancelled`.
|
|
@@ -320,6 +320,12 @@ export class EpochSession implements Traceable {
|
|
|
320
320
|
0,
|
|
321
321
|
);
|
|
322
322
|
|
|
323
|
+
// Reflect the publish phase. Guard against a terminal state set concurrently by cancel() — the
|
|
324
|
+
// post-submit isTerminal() check below relies on cancel still winning.
|
|
325
|
+
if (!this.isTerminal()) {
|
|
326
|
+
this.state = 'publishing-proof';
|
|
327
|
+
}
|
|
328
|
+
|
|
323
329
|
const outcome = await this.deps.publishingService.submit({
|
|
324
330
|
id: this.uuid,
|
|
325
331
|
epoch: this.spec.epochNumber,
|
|
@@ -411,15 +417,20 @@ export class EpochSession implements Traceable {
|
|
|
411
417
|
}
|
|
412
418
|
}
|
|
413
419
|
|
|
414
|
-
private toTopTreeHooks(): TopTreeJobHooks
|
|
420
|
+
private toTopTreeHooks(): TopTreeJobHooks {
|
|
415
421
|
const hooks = this.deps.hooks;
|
|
416
|
-
if (!hooks?.beforeTopTreeProve && !hooks?.afterTopTreeProve && !hooks?.topTreeProveOverride) {
|
|
417
|
-
return undefined;
|
|
418
|
-
}
|
|
419
422
|
return {
|
|
420
|
-
beforeProve
|
|
421
|
-
|
|
422
|
-
|
|
423
|
+
// `beforeProve` fires once the sub-tree (checkpoint block) proofs are ready and the root prove is
|
|
424
|
+
// about to start — the boundary between `awaiting-checkpoints` and proving the top tree. Don't
|
|
425
|
+
// clobber a terminal state set concurrently by cancel().
|
|
426
|
+
beforeProve: async () => {
|
|
427
|
+
if (!this.isTerminal()) {
|
|
428
|
+
this.state = 'awaiting-root';
|
|
429
|
+
}
|
|
430
|
+
await hooks?.beforeTopTreeProve?.();
|
|
431
|
+
},
|
|
432
|
+
afterProve: hooks?.afterTopTreeProve,
|
|
433
|
+
proveOverride: hooks?.topTreeProveOverride,
|
|
423
434
|
};
|
|
424
435
|
}
|
|
425
436
|
}
|