@aztec/prover-node 0.0.1-commit.a5db02d → 0.0.1-commit.aa0c64f

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 (42) hide show
  1. package/README.md +95 -34
  2. package/dest/actions/rerun-epoch-proving-job.d.ts +11 -2
  3. package/dest/actions/rerun-epoch-proving-job.d.ts.map +1 -1
  4. package/dest/actions/rerun-epoch-proving-job.js +195 -55
  5. package/dest/checkpoint-store.d.ts +9 -2
  6. package/dest/checkpoint-store.d.ts.map +1 -1
  7. package/dest/checkpoint-store.js +9 -0
  8. package/dest/config.d.ts +3 -1
  9. package/dest/config.d.ts.map +1 -1
  10. package/dest/config.js +7 -0
  11. package/dest/factory.d.ts +4 -1
  12. package/dest/factory.d.ts.map +1 -1
  13. package/dest/factory.js +2 -1
  14. package/dest/job/checkpoint-prover.d.ts +34 -4
  15. package/dest/job/checkpoint-prover.d.ts.map +1 -1
  16. package/dest/job/checkpoint-prover.js +41 -8
  17. package/dest/job/epoch-session.d.ts +14 -2
  18. package/dest/job/epoch-session.d.ts.map +1 -1
  19. package/dest/job/epoch-session.js +24 -2
  20. package/dest/prover-node-publisher.d.ts +4 -1
  21. package/dest/prover-node-publisher.d.ts.map +1 -1
  22. package/dest/prover-node-publisher.js +5 -3
  23. package/dest/prover-node.d.ts +37 -8
  24. package/dest/prover-node.d.ts.map +1 -1
  25. package/dest/prover-node.js +82 -19
  26. package/dest/prover-publisher-factory.d.ts +3 -1
  27. package/dest/prover-publisher-factory.d.ts.map +1 -1
  28. package/dest/prover-publisher-factory.js +1 -0
  29. package/dest/session-manager.d.ts +16 -16
  30. package/dest/session-manager.d.ts.map +1 -1
  31. package/dest/session-manager.js +62 -62
  32. package/package.json +24 -23
  33. package/src/actions/rerun-epoch-proving-job.ts +139 -66
  34. package/src/checkpoint-store.ts +20 -2
  35. package/src/config.ts +10 -0
  36. package/src/factory.ts +5 -0
  37. package/src/job/checkpoint-prover.ts +61 -7
  38. package/src/job/epoch-session.ts +26 -2
  39. package/src/prover-node-publisher.ts +7 -3
  40. package/src/prover-node.ts +97 -20
  41. package/src/prover-publisher-factory.ts +3 -0
  42. package/src/session-manager.ts +70 -66
@@ -4,7 +4,9 @@ import { BlockNumber, CheckpointNumber, EpochNumber } from '@aztec/foundation/br
4
4
  import { DateProvider } from '@aztec/foundation/timer';
5
5
  import type { EpochProverFactory } from '@aztec/prover-client';
6
6
  import { ChonkCache } from '@aztec/prover-client/orchestrator';
7
+ import { type AvmSimulator } from '@aztec/simulator/server';
7
8
  import { type L2BlockSource, type L2BlockStreamEvent, type L2BlockStreamEventHandler } from '@aztec/stdlib/block';
9
+ import type { Checkpoint } from '@aztec/stdlib/checkpoint';
8
10
  import type { ChainConfig } from '@aztec/stdlib/config';
9
11
  import type { ContractDataSource } from '@aztec/stdlib/contract';
10
12
  import { type L1RollupConstants } from '@aztec/stdlib/epoch-helpers';
@@ -14,7 +16,8 @@ import type { L1ToL2MessageSource } from '@aztec/stdlib/messaging';
14
16
  import { L1Metrics, type TelemetryClient, type Traceable, type Tracer } from '@aztec/telemetry-client';
15
17
  import { CheckpointStore } from './checkpoint-store.js';
16
18
  import type { SpecificProverNodeConfig } from './config.js';
17
- import type { EpochSession, EpochSessionHooks } from './job/epoch-session.js';
19
+ import type { CheckpointProver, CheckpointProverTestHooks } from './job/checkpoint-prover.js';
20
+ import type { EpochSessionHooks } from './job/epoch-session.js';
18
21
  import { ProofPublishingService } from './proof-publishing-service.js';
19
22
  import type { ProverPublisherFactory } from './prover-publisher-factory.js';
20
23
  import { SessionManager } from './session-manager.js';
@@ -42,6 +45,7 @@ export declare class ProverNode implements L2BlockStreamEventHandler, ProverNode
42
45
  } & Partial<Service>;
43
46
  protected readonly rollupContract: RollupContract;
44
47
  protected readonly l1Metrics: L1Metrics;
48
+ private readonly avmSimulator;
45
49
  protected readonly telemetryClient: TelemetryClient;
46
50
  private delayer?;
47
51
  private readonly dateProvider;
@@ -76,7 +80,7 @@ export declare class ProverNode implements L2BlockStreamEventHandler, ProverNode
76
80
  protected publishingService: ProofPublishingService | undefined;
77
81
  constructor(prover: EpochProverManager & EpochProverFactory, publisherFactory: ProverPublisherFactory, l2BlockSource: L2BlockSource & Partial<Service>, l1ToL2MessageSource: L1ToL2MessageSource, contractDataSource: ContractDataSource, worldState: WorldStateSynchronizer, p2pClient: {
78
82
  getTxProvider(): ITxProvider;
79
- } & Partial<Service>, rollupContract: RollupContract, l1Metrics: L1Metrics, config?: Partial<ProverNodeOptions>, telemetryClient?: TelemetryClient, delayer?: Delayer | undefined, dateProvider?: DateProvider);
83
+ } & Partial<Service>, rollupContract: RollupContract, l1Metrics: L1Metrics, avmSimulator: AvmSimulator, config?: Partial<ProverNodeOptions>, telemetryClient?: TelemetryClient, delayer?: Delayer | undefined, dateProvider?: DateProvider);
80
84
  getProverId(): import("@aztec/foundation/eth-address").EthAddress;
81
85
  getP2P(): {
82
86
  getTxProvider(): ITxProvider;
@@ -112,9 +116,10 @@ export declare class ProverNode implements L2BlockStreamEventHandler, ProverNode
112
116
  start(): Promise<void>;
113
117
  stop(): Promise<void>;
114
118
  /**
115
- * Constructs the session manager. Extracted so subclasses (test harness) can swap
116
- * the implementation. Wired to `tryUploadSessionFailure` so failed sessions get
117
- * their proving data uploaded.
119
+ * Constructs the session manager. Extracted so subclasses (test harness) can swap the
120
+ * implementation. Wired to upload a post-mortem when a full session ends in its own genuine failure
121
+ * (`EpochSession.hasFailed()` top-tree/submit failed with every prover healthy, so definitively not
122
+ * a prune). A `stopped` session (a prover under it failed) is not uploaded; it recovers on re-add.
118
123
  */
119
124
  protected createSessionManager(publishingService: ProofPublishingService): SessionManager;
120
125
  /**
@@ -123,8 +128,32 @@ export declare class ProverNode implements L2BlockStreamEventHandler, ProverNode
123
128
  * Applies to every session constructed after this call.
124
129
  */
125
130
  setSessionHooks(hooks: EpochSessionHooks): void;
126
- /** Uploads failure snapshots when sessions exit with `failed`. Exposed as a method so tests can spy on it. */
127
- tryUploadSessionFailure(session: EpochSession): Promise<string | undefined>;
131
+ /**
132
+ * Installs checkpoint-prover test hooks (e.g. forcing a sub-tree failure) applied to every
133
+ * CheckpointProver constructed after this call. For the e2e harness only.
134
+ */
135
+ setCheckpointHooks(hooks: CheckpointProverTestHooks): void;
136
+ /**
137
+ * Uploads a post-mortem snapshot for an epoch whose full session failed to prove, built from that
138
+ * session's checkpoint provers. Fired from the session manager's `onSessionFailed` callback (a
139
+ * genuine, race-free failure). Exposed as a method so tests can spy on it. No-ops if no failed-epoch
140
+ * store is configured or the checkpoint set is empty.
141
+ */
142
+ tryUploadEpochFailure(id: string, checkpoints: readonly CheckpointProver[]): Promise<string | undefined>;
143
+ /**
144
+ * Uploads a post-mortem for a single failed checkpoint prover, built from just that checkpoint's
145
+ * proving data. Fired (fire-and-forget) from the store's `onFailed` callback for any non-cancel
146
+ * block-proof failure — a genuine sub-tree fault or a prune-induced fork fault alike. No-ops if no
147
+ * failed-epoch store is configured, or if the checkpoint is no longer canonical (a prune left nothing
148
+ * to diagnose). Swallows its own errors so a fire-and-forget caller can't leak.
149
+ */
150
+ tryUploadCheckpointFailure(prover: CheckpointProver): Promise<string | undefined>;
151
+ /**
152
+ * True if the checkpoint still exists on the canonical chain: the archiver holds a block at its last
153
+ * block's height whose archive root matches. A prune (fork fault) leaves the block missing or replaced,
154
+ * so this returns false. Protected for direct unit-test access.
155
+ */
156
+ protected isCheckpointCanonical(checkpoint: Checkpoint): Promise<boolean>;
128
157
  private getL1Constants;
129
158
  /**
130
159
  * Returns true if every block in the given epoch is proven on L1. An epoch is only
@@ -152,4 +181,4 @@ export declare class ProverNode implements L2BlockStreamEventHandler, ProverNode
152
181
  private validateConfig;
153
182
  }
154
183
  export { EpochProvingJobTerminalState };
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVyLW5vZGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm92ZXItbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBSzdGLE9BQU8sRUFBRSxZQUFZLEVBQWtCLE1BQU0seUJBQXlCLENBQUM7QUFDdkUsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFL0QsT0FBTyxFQUdMLEtBQUssYUFBYSxFQUNsQixLQUFLLGtCQUFrQixFQUN2QixLQUFLLHlCQUF5QixFQUUvQixNQUFNLHFCQUFxQixDQUFDO0FBRTdCLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakUsT0FBTyxFQUFFLEtBQUssaUJBQWlCLEVBQW1ELE1BQU0sNkJBQTZCLENBQUM7QUFDdEgsT0FBTyxFQUNMLEtBQUssa0JBQWtCLEVBQ3ZCLEtBQUssb0JBQW9CLEVBQ3pCLDRCQUE0QixFQUM1QixLQUFLLFdBQVcsRUFDaEIsS0FBSyxhQUFhLEVBQ2xCLEtBQUssT0FBTyxFQUNaLEtBQUssc0JBQXNCLEVBRTVCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRSxPQUFP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
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVyLW5vZGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm92ZXItbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBSzdGLE9BQU8sRUFBRSxZQUFZLEVBQWtCLE1BQU0seUJBQXlCLENBQUM7QUFDdkUsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDL0QsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUEwQixNQUFNLHlCQUF5QixDQUFDO0FBQ3BGLE9BQU8sRUFHTCxLQUFLLGFBQWEsRUFDbEIsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyx5QkFBeUIsRUFFL0IsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEtBQUssRUFBRSxVQUFVLEVBQXVCLE1BQU0sMEJBQTBCLENBQUM7QUFDaEYsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsS0FBSyxpQkFBaUIsRUFBbUQsTUFBTSw2QkFBNkIsQ0FBQztBQUN0SCxPQUFPLEVBQ0wsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyxvQkFBb0IsRUFDekIsNEJBQTRCLEVBQzVCLEtBQUssV0FBVyxFQUNoQixLQUFLLGFBQWEsRUFDbEIsS0FBSyxPQUFPLEVBQ1osS0FBSyxzQkFBc0IsRUFFNUIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFP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
@@ -1 +1 @@
1
- {"version":3,"file":"prover-node.d.ts","sourceRoot":"","sources":["../src/prover-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prover-node.d.ts","sourceRoot":"","sources":["../src/prover-node.ts"],"names":[],"mappings":"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"}
@@ -414,6 +414,7 @@ import { SessionManager } from './session-manager.js';
414
414
  p2pClient;
415
415
  rollupContract;
416
416
  l1Metrics;
417
+ avmSimulator;
417
418
  telemetryClient;
418
419
  delayer;
419
420
  dateProvider;
@@ -450,7 +451,7 @@ import { SessionManager } from './session-manager.js';
450
451
  /** Periodic tick that runs the epoch-expiry sweep during idle periods when no block-stream events arrive. */ expiryTicker;
451
452
  tracer;
452
453
  publishingService;
453
- constructor(prover, publisherFactory, l2BlockSource, l1ToL2MessageSource, contractDataSource, worldState, p2pClient, rollupContract, l1Metrics, config = {}, telemetryClient = getTelemetryClient(), delayer, dateProvider = new DateProvider()){
454
+ constructor(prover, publisherFactory, l2BlockSource, l1ToL2MessageSource, contractDataSource, worldState, p2pClient, rollupContract, l1Metrics, avmSimulator, config = {}, telemetryClient = getTelemetryClient(), delayer, dateProvider = new DateProvider()){
454
455
  this.prover = prover;
455
456
  this.publisherFactory = publisherFactory;
456
457
  this.l2BlockSource = l2BlockSource;
@@ -460,6 +461,7 @@ import { SessionManager } from './session-manager.js';
460
461
  this.p2pClient = p2pClient;
461
462
  this.rollupContract = rollupContract;
462
463
  this.l1Metrics = l1Metrics;
464
+ this.avmSimulator = avmSimulator;
463
465
  this.telemetryClient = telemetryClient;
464
466
  this.delayer = delayer;
465
467
  this.dateProvider = dateProvider;
@@ -487,14 +489,17 @@ import { SessionManager } from './session-manager.js';
487
489
  this.checkpointStore = new CheckpointStore(this.l2BlockSource, {
488
490
  proverFactory: this.prover,
489
491
  chonkCache: this.chonkCache,
490
- publicProcessorFactory: new PublicProcessorFactory(this.contractDataSource, this.dateProvider, this.telemetryClient, this.log.getBindings()),
492
+ publicProcessorFactory: new PublicProcessorFactory(this.contractDataSource, this.avmSimulator, this.dateProvider, this.telemetryClient, this.log.getBindings()),
491
493
  dbProvider: this.worldState,
492
494
  txProvider: this.p2pClient.getTxProvider(),
493
495
  dateProvider: this.dateProvider,
494
496
  proverId: this.prover.getProverId(),
495
497
  metrics: this.jobMetrics,
496
498
  txGatheringTimeoutMs: this.config.txGatheringTimeoutMs,
497
- deadline: undefined
499
+ deadline: undefined,
500
+ // A checkpoint prover that fails (a sub-tree fault or a prune-induced fork fault) uploads a
501
+ // post-mortem for its own checkpoint, independently of any session. Fire-and-forget.
502
+ onFailed: (prover)=>void this.tryUploadCheckpointFailure(prover)
498
503
  }, this.log.getBindings());
499
504
  }
500
505
  getProverId() {
@@ -549,11 +554,9 @@ import { SessionManager } from './session-manager.js';
549
554
  break;
550
555
  }
551
556
  }
552
- // Expiry is driven by the archiver's latest synced L2 slot
553
- await this.checkEpochExpiry();
554
- // Advance the local tips store only after the proving-side handling has succeeded. Any
555
- // failure above propagates to the L2BlockStream (which logs and stops this poll pass) and
556
- // skips this update, so the event is re-emitted on the next poll rather than skipped (A-1041).
557
+ // Advance the local tips store only after the proving-side handling (registration / prune) has
558
+ // succeeded. Any failure above propagates to the L2BlockStream (which logs and stops this poll
559
+ // pass) and skips this update, so the event is re-emitted on the next poll rather than skipped
557
560
  await this.tipsStore.handleBlockStreamEvent(event);
558
561
  }
559
562
  /**
@@ -740,8 +743,8 @@ import { SessionManager } from './session-manager.js';
740
743
  this.lastExpiredEpoch = newlyExpiredUpTo;
741
744
  }
742
745
  /**
743
- * Releases chonk-cache entries for every block in the supplied epoch (best-effort) and
744
- * reaps every CheckpointProver in the store whose epoch number matches.
746
+ * Releases chonk-cache entries for every block in the supplied epoch (best-effort) and reaps every
747
+ * CheckpointProver in the store whose epoch is at or below it.
745
748
  */ async expireEpoch(epoch) {
746
749
  try {
747
750
  const blocks = await this.l2BlockSource.getBlocks({
@@ -793,8 +796,9 @@ import { SessionManager } from './session-manager.js';
793
796
  tipsOnly: true
794
797
  });
795
798
  this.blockStream.start();
796
- // With thin once-per-pass tip events, the expiry sweep no longer fires once per checkpoint; drive it
797
- // from a periodic tick so epochs still expire during idle/no-event periods.
799
+ // The periodic ticker is the sole driver of the expiry sweep: it fires every poll interval whether
800
+ // or not block-stream events arrive, and RunningPromise never overlaps its own runs, so the sweep's
801
+ // `lastExpiredEpoch` high-water mark advances — and each epoch's post-mortem uploads — exactly once.
798
802
  this.expiryTicker = new RunningPromise(()=>this.checkEpochExpiry(), this.log, this.config.proverNodePollingIntervalMs);
799
803
  this.expiryTicker.start();
800
804
  await this.rewardsMetrics.start();
@@ -826,9 +830,10 @@ import { SessionManager } from './session-manager.js';
826
830
  this.log.info('Stopped ProverNode');
827
831
  }
828
832
  /**
829
- * Constructs the session manager. Extracted so subclasses (test harness) can swap
830
- * the implementation. Wired to `tryUploadSessionFailure` so failed sessions get
831
- * their proving data uploaded.
833
+ * Constructs the session manager. Extracted so subclasses (test harness) can swap the
834
+ * implementation. Wired to upload a post-mortem when a full session ends in its own genuine failure
835
+ * (`EpochSession.hasFailed()` top-tree/submit failed with every prover healthy, so definitively not
836
+ * a prune). A `stopped` session (a prover under it failed) is not uploaded; it recovers on re-add.
832
837
  */ createSessionManager(publishingService) {
833
838
  return new SessionManager({
834
839
  checkpointStore: this.checkpointStore,
@@ -844,7 +849,7 @@ import { SessionManager } from './session-manager.js';
844
849
  finalizationDelayMs: this.config.proverNodeEpochProvingDelayMs
845
850
  },
846
851
  onSessionFailed: async (session)=>{
847
- await this.tryUploadSessionFailure(session);
852
+ await this.tryUploadEpochFailure(session.getId(), session.getCheckpoints());
848
853
  },
849
854
  bindings: this.log.getBindings()
850
855
  });
@@ -859,14 +864,72 @@ import { SessionManager } from './session-manager.js';
859
864
  }
860
865
  this.sessionManager.setSessionHooks(hooks);
861
866
  }
862
- /** Uploads failure snapshots when sessions exit with `failed`. Exposed as a method so tests can spy on it. */ async tryUploadSessionFailure(session) {
867
+ /**
868
+ * Installs checkpoint-prover test hooks (e.g. forcing a sub-tree failure) applied to every
869
+ * CheckpointProver constructed after this call. For the e2e harness only.
870
+ */ setCheckpointHooks(hooks) {
871
+ this.checkpointStore.setTestHooks(hooks);
872
+ }
873
+ /**
874
+ * Uploads a post-mortem snapshot for an epoch whose full session failed to prove, built from that
875
+ * session's checkpoint provers. Fired from the session manager's `onSessionFailed` callback (a
876
+ * genuine, race-free failure). Exposed as a method so tests can spy on it. No-ops if no failed-epoch
877
+ * store is configured or the checkpoint set is empty.
878
+ */ async tryUploadEpochFailure(id, checkpoints) {
879
+ if (!this.config.proverNodeFailedEpochStore || checkpoints.length === 0) {
880
+ return undefined;
881
+ }
882
+ const data = SessionManager.buildProvingData(checkpoints);
883
+ return await uploadEpochProofFailure(this.config.proverNodeFailedEpochStore, // The session's own id; `uploadEpochProofFailure` already prefixes the path with the epoch number.
884
+ id, data, this.l2BlockSource, this.worldState, assertRequired(pick(this.config, 'l1ChainId', 'rollupVersion', 'dataDirectory')), this.log);
885
+ }
886
+ /**
887
+ * Uploads a post-mortem for a single failed checkpoint prover, built from just that checkpoint's
888
+ * proving data. Fired (fire-and-forget) from the store's `onFailed` callback for any non-cancel
889
+ * block-proof failure — a genuine sub-tree fault or a prune-induced fork fault alike. No-ops if no
890
+ * failed-epoch store is configured, or if the checkpoint is no longer canonical (a prune left nothing
891
+ * to diagnose). Swallows its own errors so a fire-and-forget caller can't leak.
892
+ */ async tryUploadCheckpointFailure(prover) {
863
893
  if (!this.config.proverNodeFailedEpochStore) {
864
894
  return undefined;
865
895
  }
866
- const data = SessionManager.buildSessionProvingData(session);
867
- return await uploadEpochProofFailure(this.config.proverNodeFailedEpochStore, session.getId(), data, this.l2BlockSource, this.worldState, assertRequired(pick(this.config, 'l1ChainId', 'rollupVersion', 'dataDirectory')), this.log);
896
+ try {
897
+ // A prune-induced fork fault and a genuine sub-tree failure are indistinguishable at the moment the
898
+ // prover rejects (no control-plane cancel has landed yet). But the archiver is the authoritative
899
+ // committed chain: if this checkpoint was pruned out, its last block is no longer canonical there.
900
+ // Only upload for a checkpoint that still exists on-chain — a prune leaves nothing to diagnose, and
901
+ // the snapshot (full world-state + archiver) is expensive to produce and store.
902
+ if (!await this.isCheckpointCanonical(prover.checkpoint)) {
903
+ this.log.debug(`Skipping checkpoint-failure upload for ${prover.id}: no longer canonical (pruned)`, {
904
+ checkpointNumber: prover.checkpoint.number
905
+ });
906
+ return undefined;
907
+ }
908
+ const data = SessionManager.buildProvingData([
909
+ prover
910
+ ]);
911
+ return await uploadEpochProofFailure(this.config.proverNodeFailedEpochStore, // The prover's content-addressed id; the epoch number is already in the upload path.
912
+ prover.id, data, this.l2BlockSource, this.worldState, assertRequired(pick(this.config, 'l1ChainId', 'rollupVersion', 'dataDirectory')), this.log);
913
+ } catch (err) {
914
+ this.log.error(`Error uploading checkpoint failure for ${prover.id}`, err);
915
+ return undefined;
916
+ }
868
917
  }
869
918
  // ---------------- helpers ----------------
919
+ /**
920
+ * True if the checkpoint still exists on the canonical chain: the archiver holds a block at its last
921
+ * block's height whose archive root matches. A prune (fork fault) leaves the block missing or replaced,
922
+ * so this returns false. Protected for direct unit-test access.
923
+ */ async isCheckpointCanonical(checkpoint) {
924
+ const lastBlock = checkpoint.blocks.at(-1);
925
+ if (!lastBlock) {
926
+ return false;
927
+ }
928
+ const onChain = await this.l2BlockSource.getBlock({
929
+ number: lastBlock.number
930
+ });
931
+ return !!onChain && onChain.archive.root.equals(checkpoint.archive.root);
932
+ }
870
933
  getL1Constants() {
871
934
  return this.l2BlockSource.getL1Constants();
872
935
  }
@@ -1,6 +1,7 @@
1
1
  import type { RollupContract } from '@aztec/ethereum/contracts';
2
2
  import type { L1TxUtils } from '@aztec/ethereum/l1-tx-utils';
3
3
  import type { PublisherManager } from '@aztec/ethereum/publisher-manager';
4
+ import type { EthAddress } from '@aztec/foundation/eth-address';
4
5
  import type { LoggerBindings } from '@aztec/foundation/log';
5
6
  import type { ProverPublisherConfig, ProverTxSenderConfig } from '@aztec/sequencer-client';
6
7
  import type { TelemetryClient } from '@aztec/telemetry-client';
@@ -12,6 +13,7 @@ export declare class ProverPublisherFactory {
12
13
  constructor(config: ProverTxSenderConfig & ProverPublisherConfig, deps: {
13
14
  rollupContract: RollupContract;
14
15
  publisherManager: PublisherManager<L1TxUtils>;
16
+ proofSubmissionTarget?: EthAddress;
15
17
  telemetry?: TelemetryClient;
16
18
  }, bindings?: LoggerBindings | undefined);
17
19
  start(): Promise<void>;
@@ -22,4 +24,4 @@ export declare class ProverPublisherFactory {
22
24
  */
23
25
  create(): Promise<ProverNodePublisher>;
24
26
  }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVyLXB1Ymxpc2hlci1mYWN0b3J5LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcHJvdmVyLXB1Ymxpc2hlci1mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRixPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVqRSxxQkFBYSxzQkFBc0I7SUFFL0IsT0FBTyxDQUFDLE1BQU07SUFDZCxPQUFPLENBQUMsSUFBSTtJQUtaLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFQbkIsWUFDVSxNQUFNLEVBQUUsb0JBQW9CLEdBQUcscUJBQXFCLEVBQ3BELElBQUksRUFBRTtRQUNaLGNBQWMsRUFBRSxjQUFjLENBQUM7UUFDL0IsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUMsU0FBUyxDQUFDLEVBQUUsZUFBZSxDQUFDO0tBQzdCLEVBQ08sUUFBUSxDQUFDLDRCQUFnQixFQUMvQjtJQUVTLEtBQUssa0JBRWpCO0lBRVksSUFBSSxrQkFFaEI7SUFFRDs7O09BR0c7SUFDVSxNQUFNLElBQUksT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBV2xEO0NBQ0YifQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVyLXB1Ymxpc2hlci1mYWN0b3J5LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcHJvdmVyLXB1Ymxpc2hlci1mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRixPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVqRSxxQkFBYSxzQkFBc0I7SUFFL0IsT0FBTyxDQUFDLE1BQU07SUFDZCxPQUFPLENBQUMsSUFBSTtJQU1aLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFSbkIsWUFDVSxNQUFNLEVBQUUsb0JBQW9CLEdBQUcscUJBQXFCLEVBQ3BELElBQUksRUFBRTtRQUNaLGNBQWMsRUFBRSxjQUFjLENBQUM7UUFDL0IsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUMscUJBQXFCLENBQUMsRUFBRSxVQUFVLENBQUM7UUFDbkMsU0FBUyxDQUFDLEVBQUUsZUFBZSxDQUFDO0tBQzdCLEVBQ08sUUFBUSxDQUFDLDRCQUFnQixFQUMvQjtJQUVTLEtBQUssa0JBRWpCO0lBRVksSUFBSSxrQkFFaEI7SUFFRDs7O09BR0c7SUFDVSxNQUFNLElBQUksT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBWWxEO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"prover-publisher-factory.d.ts","sourceRoot":"","sources":["../src/prover-publisher-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,IAAI;IAKZ,OAAO,CAAC,QAAQ,CAAC;IAPnB,YACU,MAAM,EAAE,oBAAoB,GAAG,qBAAqB,EACpD,IAAI,EAAE;QACZ,cAAc,EAAE,cAAc,CAAC;QAC/B,gBAAgB,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC9C,SAAS,CAAC,EAAE,eAAe,CAAC;KAC7B,EACO,QAAQ,CAAC,4BAAgB,EAC/B;IAES,KAAK,kBAEjB;IAEY,IAAI,kBAEhB;IAED;;;OAGG;IACU,MAAM,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAWlD;CACF"}
1
+ {"version":3,"file":"prover-publisher-factory.d.ts","sourceRoot":"","sources":["../src/prover-publisher-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC3F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,QAAQ,CAAC;IARnB,YACU,MAAM,EAAE,oBAAoB,GAAG,qBAAqB,EACpD,IAAI,EAAE;QACZ,cAAc,EAAE,cAAc,CAAC;QAC/B,gBAAgB,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC9C,qBAAqB,CAAC,EAAE,UAAU,CAAC;QACnC,SAAS,CAAC,EAAE,eAAe,CAAC;KAC7B,EACO,QAAQ,CAAC,4BAAgB,EAC/B;IAES,KAAK,kBAEjB;IAEY,IAAI,kBAEhB;IAED;;;OAGG;IACU,MAAM,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAYlD;CACF"}
@@ -22,6 +22,7 @@ export class ProverPublisherFactory {
22
22
  return new ProverNodePublisher(this.config, {
23
23
  rollupContract: this.deps.rollupContract,
24
24
  l1TxUtils: l1Publisher,
25
+ proofSubmissionTarget: this.deps.proofSubmissionTarget,
25
26
  telemetry: this.deps.telemetry
26
27
  }, this.bindings);
27
28
  }
@@ -43,8 +43,9 @@ export type SessionManagerDeps = {
43
43
  dateProvider: DateProvider;
44
44
  config: SessionManagerConfig;
45
45
  /**
46
- * Optional callback fired when a session terminates with `failed`. The session manager
47
- * doesn't own the failure-upload action; it just notifies the owner.
46
+ * Fired once when a full session ends in its own genuine failure (`EpochSession.hasFailed()` top-tree
47
+ * or submit failed with every prover healthy). The owner uploads a post-mortem here. Not fired for a
48
+ * `stopped` session (a prover under it failed — possibly a prune), which is recovered on re-add instead.
48
49
  */
49
50
  onSessionFailed?: (session: EpochSession) => Promise<void>;
50
51
  bindings?: LoggerBindings;
@@ -71,15 +72,6 @@ export declare class SessionManager {
71
72
  private readonly reconcileQueue;
72
73
  /** Cached L1 constants, populated on first read. */
73
74
  private cachedL1Constants;
74
- /**
75
- * Highest epoch for which the periodic tick has successfully created a full session.
76
- * Monotonic high-water mark: once the tick observes a session for epoch X, it stops
77
- * trying to open one — even if that session subsequently fails (only a new checkpoint
78
- * event reopens it). Crucially, the mark only advances when a session actually exists
79
- * post-open, so transient blockers (atMaxSessionLimit, archiver still indexing) leave
80
- * the mark in place and the next tick retries.
81
- */
82
- private lastTickEpoch;
83
75
  /** Test-only hooks applied to every session this manager constructs. */
84
76
  private sessionHooks;
85
77
  /** Periodic tick that nudges reconcile to pick up newly-complete epochs. Started by `start()`. */
@@ -131,6 +123,8 @@ export declare class SessionManager {
131
123
  private scheduleReconcile;
132
124
  private reconcile;
133
125
  private recreateInvalidSessions;
126
+ /** A session may be built over a checkpoint set only when it is non-empty and contains no failed prover. */
127
+ private canBuildOver;
134
128
  private openFullSessionIfReady;
135
129
  private openPartialSession;
136
130
  protected constructSession(spec: SessionSpec, checkpoints: readonly CheckpointProver[]): EpochSession;
@@ -140,19 +134,25 @@ export declare class SessionManager {
140
134
  private computeDeadline;
141
135
  private runSession;
142
136
  /**
143
- * Builds the EpochProvingJobData snapshot for failure upload. Includes every checkpoint
144
- * referenced by the session, regardless of whether sub-tree proving completed —
145
- * partial state is still useful for post-mortem analysis.
137
+ * Builds the EpochProvingJobData snapshot for a post-mortem failure upload from a set of
138
+ * checkpoint provers. Includes every checkpoint regardless of whether sub-tree proving
139
+ * completed — partial state is still useful for post-mortem analysis.
146
140
  */
147
- static buildSessionProvingData(session: EpochSession): EpochProvingJobData;
141
+ static buildProvingData(checkpoints: readonly CheckpointProver[]): EpochProvingJobData;
148
142
  private atMaxSessionLimit;
149
143
  private epochsForTrigger;
150
144
  private nextUnprovenEpoch;
151
145
  private checkpointsForSpec;
146
+ /**
147
+ * True if any prover in the set has failed. The epoch cannot be proven over a failed prover (it can
148
+ * never produce its block proofs), so a session must not be built or rebuilt over it until a prune/re-add
149
+ * has replaced it with a fresh prover.
150
+ */
151
+ private hasFailedProver;
152
152
  private fireAndForgetCancel;
153
153
  private checkpointsMatch;
154
154
  private archiverFullyCovered;
155
155
  private isProvenChainEncompassing;
156
156
  private getL1Constants;
157
157
  }
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1tYW5hZ2VyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc2Vzc2lvbi1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxLQUFLLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWhGLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBZSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUd2RixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBUXpELE9BQU8sS0FBSyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFNUUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEVBQ0wsWUFBWSxFQUNaLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUssaUJBQWlCLEVBRXRCLEtBQUssV0FBVyxFQUVqQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sS0FBSyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFNUUsdUNBQXVDO0FBQ3ZDLE1BQU0sTUFBTSxnQkFBZ0IsR0FDeEI7SUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDO0lBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQTtDQUFFLEdBQzFD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
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1tYW5hZ2VyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc2Vzc2lvbi1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxLQUFLLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWhGLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBZSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUd2RixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBUXpELE9BQU8sS0FBSyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFNUUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEVBQ0wsWUFBWSxFQUNaLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUssaUJBQWlCLEVBRXRCLEtBQUssV0FBVyxFQUVqQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sS0FBSyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFNUUsdUNBQXVDO0FBQ3ZDLE1BQU0sTUFBTSxnQkFBZ0IsR0FDeEI7SUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDO0lBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQTtDQUFFLEdBQzFD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
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":"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"}