@aztec/prover-client 0.0.0-test.1 → 0.0.1-commit.023c3e5

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 (150) hide show
  1. package/dest/config.d.ts +8 -8
  2. package/dest/config.d.ts.map +1 -1
  3. package/dest/config.js +12 -2
  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 +47 -0
  9. package/dest/light/lightweight_checkpoint_builder.d.ts.map +1 -0
  10. package/dest/light/lightweight_checkpoint_builder.js +200 -0
  11. package/dest/mocks/fixtures.d.ts +8 -8
  12. package/dest/mocks/fixtures.d.ts.map +1 -1
  13. package/dest/mocks/fixtures.js +36 -17
  14. package/dest/mocks/test_context.d.ts +43 -32
  15. package/dest/mocks/test_context.d.ts.map +1 -1
  16. package/dest/mocks/test_context.js +149 -87
  17. package/dest/orchestrator/block-building-helpers.d.ts +37 -30
  18. package/dest/orchestrator/block-building-helpers.d.ts.map +1 -1
  19. package/dest/orchestrator/block-building-helpers.js +170 -189
  20. package/dest/orchestrator/block-proving-state.d.ts +70 -48
  21. package/dest/orchestrator/block-proving-state.d.ts.map +1 -1
  22. package/dest/orchestrator/block-proving-state.js +282 -177
  23. package/dest/orchestrator/checkpoint-proving-state.d.ts +76 -0
  24. package/dest/orchestrator/checkpoint-proving-state.d.ts.map +1 -0
  25. package/dest/orchestrator/checkpoint-proving-state.js +243 -0
  26. package/dest/orchestrator/epoch-proving-state.d.ts +43 -28
  27. package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -1
  28. package/dest/orchestrator/epoch-proving-state.js +177 -73
  29. package/dest/orchestrator/index.d.ts +1 -1
  30. package/dest/orchestrator/orchestrator.d.ts +53 -35
  31. package/dest/orchestrator/orchestrator.d.ts.map +1 -1
  32. package/dest/orchestrator/orchestrator.js +855 -302
  33. package/dest/orchestrator/orchestrator_metrics.d.ts +1 -1
  34. package/dest/orchestrator/orchestrator_metrics.d.ts.map +1 -1
  35. package/dest/orchestrator/orchestrator_metrics.js +2 -6
  36. package/dest/orchestrator/tx-proving-state.d.ts +15 -12
  37. package/dest/orchestrator/tx-proving-state.d.ts.map +1 -1
  38. package/dest/orchestrator/tx-proving-state.js +27 -44
  39. package/dest/prover-client/factory.d.ts +3 -3
  40. package/dest/prover-client/factory.d.ts.map +1 -1
  41. package/dest/prover-client/index.d.ts +1 -1
  42. package/dest/prover-client/prover-client.d.ts +5 -5
  43. package/dest/prover-client/prover-client.d.ts.map +1 -1
  44. package/dest/prover-client/prover-client.js +11 -7
  45. package/dest/prover-client/server-epoch-prover.d.ts +16 -12
  46. package/dest/prover-client/server-epoch-prover.d.ts.map +1 -1
  47. package/dest/prover-client/server-epoch-prover.js +11 -11
  48. package/dest/proving_broker/broker_prover_facade.d.ts +28 -19
  49. package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -1
  50. package/dest/proving_broker/broker_prover_facade.js +62 -43
  51. package/dest/proving_broker/config.d.ts +23 -10
  52. package/dest/proving_broker/config.d.ts.map +1 -1
  53. package/dest/proving_broker/config.js +29 -6
  54. package/dest/proving_broker/factory.d.ts +2 -2
  55. package/dest/proving_broker/factory.d.ts.map +1 -1
  56. package/dest/proving_broker/factory.js +5 -1
  57. package/dest/proving_broker/fixtures.d.ts +3 -2
  58. package/dest/proving_broker/fixtures.d.ts.map +1 -1
  59. package/dest/proving_broker/fixtures.js +3 -2
  60. package/dest/proving_broker/index.d.ts +1 -1
  61. package/dest/proving_broker/proof_store/factory.d.ts +2 -2
  62. package/dest/proving_broker/proof_store/factory.js +1 -1
  63. package/dest/proving_broker/proof_store/gcs_proof_store.d.ts +1 -1
  64. package/dest/proving_broker/proof_store/gcs_proof_store.d.ts.map +1 -1
  65. package/dest/proving_broker/proof_store/gcs_proof_store.js +1 -0
  66. package/dest/proving_broker/proof_store/index.d.ts +2 -1
  67. package/dest/proving_broker/proof_store/index.d.ts.map +1 -1
  68. package/dest/proving_broker/proof_store/index.js +1 -0
  69. package/dest/proving_broker/proof_store/inline_proof_store.d.ts +1 -1
  70. package/dest/proving_broker/proof_store/inline_proof_store.d.ts.map +1 -1
  71. package/dest/proving_broker/proof_store/proof_store.d.ts +1 -1
  72. package/dest/proving_broker/proving_agent.d.ts +8 -12
  73. package/dest/proving_broker/proving_agent.d.ts.map +1 -1
  74. package/dest/proving_broker/proving_agent.js +86 -65
  75. package/dest/proving_broker/proving_broker.d.ts +13 -4
  76. package/dest/proving_broker/proving_broker.d.ts.map +1 -1
  77. package/dest/proving_broker/proving_broker.js +40 -33
  78. package/dest/proving_broker/proving_broker_database/memory.d.ts +3 -2
  79. package/dest/proving_broker/proving_broker_database/memory.d.ts.map +1 -1
  80. package/dest/proving_broker/proving_broker_database/memory.js +1 -1
  81. package/dest/proving_broker/proving_broker_database/persisted.d.ts +5 -3
  82. package/dest/proving_broker/proving_broker_database/persisted.d.ts.map +1 -1
  83. package/dest/proving_broker/proving_broker_database/persisted.js +401 -11
  84. package/dest/proving_broker/proving_broker_database.d.ts +3 -2
  85. package/dest/proving_broker/proving_broker_database.d.ts.map +1 -1
  86. package/dest/proving_broker/proving_broker_instrumentation.d.ts +1 -1
  87. package/dest/proving_broker/proving_broker_instrumentation.d.ts.map +1 -1
  88. package/dest/proving_broker/proving_broker_instrumentation.js +15 -35
  89. package/dest/proving_broker/proving_job_controller.d.ts +11 -10
  90. package/dest/proving_broker/proving_job_controller.d.ts.map +1 -1
  91. package/dest/proving_broker/proving_job_controller.js +92 -62
  92. package/dest/proving_broker/rpc.d.ts +4 -6
  93. package/dest/proving_broker/rpc.d.ts.map +1 -1
  94. package/dest/proving_broker/rpc.js +1 -4
  95. package/dest/test/mock_proof_store.d.ts +9 -0
  96. package/dest/test/mock_proof_store.d.ts.map +1 -0
  97. package/dest/test/mock_proof_store.js +10 -0
  98. package/dest/test/mock_prover.d.ts +23 -17
  99. package/dest/test/mock_prover.d.ts.map +1 -1
  100. package/dest/test/mock_prover.js +38 -20
  101. package/package.json +33 -31
  102. package/src/config.ts +25 -9
  103. package/src/light/index.ts +1 -0
  104. package/src/light/lightweight_checkpoint_builder.ts +289 -0
  105. package/src/mocks/fixtures.ts +46 -40
  106. package/src/mocks/test_context.ts +223 -116
  107. package/src/orchestrator/block-building-helpers.ts +258 -334
  108. package/src/orchestrator/block-proving-state.ts +325 -231
  109. package/src/orchestrator/checkpoint-proving-state.ts +349 -0
  110. package/src/orchestrator/epoch-proving-state.ts +237 -111
  111. package/src/orchestrator/orchestrator.ts +653 -343
  112. package/src/orchestrator/orchestrator_metrics.ts +2 -6
  113. package/src/orchestrator/tx-proving-state.ts +48 -66
  114. package/src/prover-client/factory.ts +6 -2
  115. package/src/prover-client/prover-client.ts +41 -29
  116. package/src/prover-client/server-epoch-prover.ts +40 -22
  117. package/src/proving_broker/broker_prover_facade.ts +212 -131
  118. package/src/proving_broker/config.ts +34 -7
  119. package/src/proving_broker/factory.ts +2 -1
  120. package/src/proving_broker/fixtures.ts +8 -3
  121. package/src/proving_broker/proof_store/factory.ts +1 -1
  122. package/src/proving_broker/proof_store/gcs_proof_store.ts +5 -1
  123. package/src/proving_broker/proof_store/index.ts +1 -0
  124. package/src/proving_broker/proof_store/inline_proof_store.ts +1 -1
  125. package/src/proving_broker/proving_agent.ts +95 -66
  126. package/src/proving_broker/proving_broker.ts +57 -41
  127. package/src/proving_broker/proving_broker_database/memory.ts +3 -2
  128. package/src/proving_broker/proving_broker_database/persisted.ts +29 -13
  129. package/src/proving_broker/proving_broker_database.ts +2 -1
  130. package/src/proving_broker/proving_broker_instrumentation.ts +14 -35
  131. package/src/proving_broker/proving_job_controller.ts +100 -83
  132. package/src/proving_broker/rpc.ts +1 -6
  133. package/src/test/mock_proof_store.ts +14 -0
  134. package/src/test/mock_prover.ts +156 -64
  135. package/dest/bin/get-proof-inputs.d.ts +0 -2
  136. package/dest/bin/get-proof-inputs.d.ts.map +0 -1
  137. package/dest/bin/get-proof-inputs.js +0 -51
  138. package/dest/block_builder/index.d.ts +0 -6
  139. package/dest/block_builder/index.d.ts.map +0 -1
  140. package/dest/block_builder/index.js +0 -1
  141. package/dest/block_builder/light.d.ts +0 -33
  142. package/dest/block_builder/light.d.ts.map +0 -1
  143. package/dest/block_builder/light.js +0 -82
  144. package/dest/proving_broker/proving_agent_instrumentation.d.ts +0 -8
  145. package/dest/proving_broker/proving_agent_instrumentation.d.ts.map +0 -1
  146. package/dest/proving_broker/proving_agent_instrumentation.js +0 -16
  147. package/src/bin/get-proof-inputs.ts +0 -59
  148. package/src/block_builder/index.ts +0 -6
  149. package/src/block_builder/light.ts +0 -101
  150. package/src/proving_broker/proving_agent_instrumentation.ts +0 -21
@@ -8,7 +8,7 @@ import {
8
8
  type ObservableResult,
9
9
  type TelemetryClient,
10
10
  type UpDownCounter,
11
- ValueType,
11
+ createUpDownCounterWithDefault,
12
12
  } from '@aztec/telemetry-client';
13
13
 
14
14
  export type MonitorCallback = (proofType: ProvingRequestType) => number;
@@ -28,49 +28,28 @@ export class ProvingBrokerInstrumentation {
28
28
  constructor(client: TelemetryClient, name = 'ProvingBroker') {
29
29
  const meter = client.getMeter(name);
30
30
 
31
- this.queueSize = meter.createObservableGauge(Metrics.PROVING_QUEUE_SIZE, {
32
- valueType: ValueType.INT,
33
- });
31
+ this.queueSize = meter.createObservableGauge(Metrics.PROVING_QUEUE_SIZE);
34
32
 
35
- this.activeJobs = meter.createObservableGauge(Metrics.PROVING_QUEUE_ACTIVE_JOBS, {
36
- valueType: ValueType.INT,
37
- });
33
+ this.activeJobs = meter.createObservableGauge(Metrics.PROVING_QUEUE_ACTIVE_JOBS);
38
34
 
39
- this.resolvedJobs = meter.createUpDownCounter(Metrics.PROVING_QUEUE_RESOLVED_JOBS, {
40
- valueType: ValueType.INT,
41
- });
35
+ const provingJobTypes = Object.values(ProvingRequestType).filter(v => typeof v === 'string');
36
+ const provingJobAttrs = { [Attributes.PROVING_JOB_TYPE]: provingJobTypes };
42
37
 
43
- this.rejectedJobs = meter.createUpDownCounter(Metrics.PROVING_QUEUE_REJECTED_JOBS, {
44
- valueType: ValueType.INT,
45
- });
38
+ this.resolvedJobs = createUpDownCounterWithDefault(meter, Metrics.PROVING_QUEUE_RESOLVED_JOBS, provingJobAttrs);
46
39
 
47
- this.retriedJobs = meter.createUpDownCounter(Metrics.PROVING_QUEUE_RETRIED_JOBS, {
48
- valueType: ValueType.INT,
49
- });
40
+ this.rejectedJobs = createUpDownCounterWithDefault(meter, Metrics.PROVING_QUEUE_REJECTED_JOBS, provingJobAttrs);
50
41
 
51
- this.timedOutJobs = meter.createUpDownCounter(Metrics.PROVING_QUEUE_TIMED_OUT_JOBS, {
52
- valueType: ValueType.INT,
53
- });
42
+ this.retriedJobs = createUpDownCounterWithDefault(meter, Metrics.PROVING_QUEUE_RETRIED_JOBS, provingJobAttrs);
54
43
 
55
- this.cachedJobs = meter.createUpDownCounter(Metrics.PROVING_QUEUE_CACHED_JOBS, {
56
- valueType: ValueType.INT,
57
- });
44
+ this.timedOutJobs = createUpDownCounterWithDefault(meter, Metrics.PROVING_QUEUE_TIMED_OUT_JOBS, provingJobAttrs);
58
45
 
59
- this.totalJobs = meter.createUpDownCounter(Metrics.PROVING_QUEUE_TOTAL_JOBS, {
60
- valueType: ValueType.INT,
61
- });
46
+ this.cachedJobs = createUpDownCounterWithDefault(meter, Metrics.PROVING_QUEUE_CACHED_JOBS, provingJobAttrs);
62
47
 
63
- this.jobWait = meter.createHistogram(Metrics.PROVING_QUEUE_JOB_WAIT, {
64
- description: 'Records how long a job sits in the queue',
65
- unit: 'ms',
66
- valueType: ValueType.INT,
67
- });
48
+ this.totalJobs = createUpDownCounterWithDefault(meter, Metrics.PROVING_QUEUE_TOTAL_JOBS, provingJobAttrs);
68
49
 
69
- this.jobDuration = meter.createHistogram(Metrics.PROVING_QUEUE_JOB_DURATION, {
70
- description: 'Records how long a job takes to complete',
71
- unit: 'ms',
72
- valueType: ValueType.INT,
73
- });
50
+ this.jobWait = meter.createHistogram(Metrics.PROVING_QUEUE_JOB_WAIT);
51
+
52
+ this.jobDuration = meter.createHistogram(Metrics.PROVING_QUEUE_JOB_DURATION);
74
53
  }
75
54
 
76
55
  monitorQueueDepth(fn: MonitorCallback) {
@@ -1,4 +1,7 @@
1
- import { createLogger } from '@aztec/foundation/log';
1
+ import { EpochNumber } from '@aztec/foundation/branded-types';
2
+ import { randomBytes } from '@aztec/foundation/crypto/random';
3
+ import { AbortError } from '@aztec/foundation/error';
4
+ import { type Logger, type LoggerBindings, createLogger } from '@aztec/foundation/log';
2
5
  import type {
3
6
  ProvingJobId,
4
7
  ProvingJobInputs,
@@ -9,38 +12,35 @@ import { ProvingRequestType } from '@aztec/stdlib/proofs';
9
12
 
10
13
  export enum ProvingJobControllerStatus {
11
14
  IDLE = 'idle',
12
- PROVING = 'proving',
15
+ RUNNING = 'running',
13
16
  DONE = 'done',
14
- ABORTED = 'aborted',
15
- }
16
-
17
- interface ProvingJobCompletionCallback<T extends ProvingRequestType = ProvingRequestType> {
18
- (
19
- jobId: ProvingJobId,
20
- type: T,
21
- error: Error | undefined,
22
- result: ProvingJobResultsMap[T] | undefined,
23
- ): void | Promise<void>;
24
17
  }
25
18
 
26
19
  export class ProvingJobController {
27
20
  private status: ProvingJobControllerStatus = ProvingJobControllerStatus.IDLE;
28
21
  private promise?: Promise<void>;
29
22
  private abortController = new AbortController();
23
+ private result?: ProvingJobResultsMap[ProvingRequestType] | Error;
24
+ private log: Logger;
30
25
 
31
26
  constructor(
32
27
  private jobId: ProvingJobId,
33
28
  private inputs: ProvingJobInputs,
34
- private epochNumber: number,
29
+ private epochNumber: EpochNumber,
35
30
  private startedAt: number,
36
31
  private circuitProver: ServerCircuitProver,
37
- private onComplete: ProvingJobCompletionCallback,
38
- private log = createLogger('prover-client:proving-agent:job-controller'),
39
- ) {}
32
+ private onComplete: () => void,
33
+ bindings?: LoggerBindings,
34
+ ) {
35
+ this.log = createLogger('prover-client:proving-agent:job-controller', {
36
+ instanceId: randomBytes(4).toString('hex'),
37
+ ...bindings,
38
+ });
39
+ }
40
40
 
41
41
  public start(): void {
42
42
  if (this.status !== ProvingJobControllerStatus.IDLE) {
43
- this.log.verbose(
43
+ this.log.warn(
44
44
  `Job controller for jobId=${this.jobId} not starting because it is not idle currentStatus=${this.status}`,
45
45
  {
46
46
  currentStatus: this.status,
@@ -50,63 +50,23 @@ export class ProvingJobController {
50
50
  return;
51
51
  }
52
52
 
53
- this.status = ProvingJobControllerStatus.PROVING;
54
- this.log.verbose(`Job controller started jobId=${this.jobId}`, {
53
+ this.promise = this.run();
54
+
55
+ this.log.info(`Job controller started jobId=${this.jobId}`, {
55
56
  jobId: this.jobId,
56
57
  });
57
-
58
- this.promise = this.generateProof()
59
- .then(
60
- result => {
61
- if (this.status === ProvingJobControllerStatus.ABORTED) {
62
- this.log.warn(`Job controller for jobId=${this.jobId} completed successfully but job was aborted`, {
63
- currentStatus: this.status,
64
- jobId: this.jobId,
65
- });
66
- return;
67
- }
68
- this.status = ProvingJobControllerStatus.DONE;
69
- this.log.verbose(`Job controller for jobId=${this.jobId} completed successfully`, {
70
- jobId: this.jobId,
71
- });
72
- return this.onComplete(this.jobId, this.inputs.type, undefined, result);
73
- },
74
- error => {
75
- if (this.status === ProvingJobControllerStatus.ABORTED) {
76
- this.log.warn(`Job controller for jobId=${this.jobId} finished with an error but job was aborted`, {
77
- currentStatus: this.status,
78
- jobId: this.jobId,
79
- });
80
- return;
81
- }
82
-
83
- if (error.name === 'AbortError') {
84
- // Ignore abort errors
85
- return;
86
- }
87
-
88
- this.log.verbose(`Job controller for jobId=${this.jobId} finished with an error`, {
89
- jobId: this.jobId,
90
- err: error,
91
- });
92
-
93
- this.status = ProvingJobControllerStatus.DONE;
94
- return this.onComplete(this.jobId, this.inputs.type, error, undefined);
95
- },
96
- )
97
- .catch(err => {
98
- this.log.error(`Job constroller failed to send result for jobId=${this.jobId}: ${err}`, err, {
99
- jobId: this.jobId,
100
- });
101
- });
102
58
  }
103
59
 
104
60
  public getStatus(): ProvingJobControllerStatus {
105
61
  return this.status;
106
62
  }
107
63
 
64
+ public getResult(): ProvingJobResultsMap[ProvingRequestType] | Error | undefined {
65
+ return this.result;
66
+ }
67
+
108
68
  public abort(): void {
109
- if (this.status !== ProvingJobControllerStatus.PROVING) {
69
+ if (this.status !== ProvingJobControllerStatus.RUNNING) {
110
70
  this.log.warn(`Tried to abort job controller for jobId=${this.jobId} but it is not running`, {
111
71
  currentStatus: this.status,
112
72
  jobId: this.jobId,
@@ -114,9 +74,8 @@ export class ProvingJobController {
114
74
  return;
115
75
  }
116
76
 
117
- this.status = ProvingJobControllerStatus.ABORTED;
118
77
  this.abortController.abort();
119
- this.log.verbose(`Aborted job controller for jobId=${this.jobId}`, {
78
+ this.log.warn(`Aborted job controller for jobId=${this.jobId}`, {
120
79
  jobId: this.jobId,
121
80
  });
122
81
  }
@@ -125,6 +84,10 @@ export class ProvingJobController {
125
84
  return this.jobId;
126
85
  }
127
86
 
87
+ public getProofType(): ProvingRequestType {
88
+ return this.inputs.type;
89
+ }
90
+
128
91
  public getStartedAt(): number {
129
92
  return this.startedAt;
130
93
  }
@@ -133,6 +96,36 @@ export class ProvingJobController {
133
96
  return ProvingRequestType[this.inputs.type];
134
97
  }
135
98
 
99
+ private run = async () => {
100
+ this.status = ProvingJobControllerStatus.RUNNING;
101
+ let result: ProvingJobResultsMap[ProvingRequestType] | Error;
102
+ try {
103
+ result = await this.generateProof();
104
+ } catch (err) {
105
+ if (err && err instanceof Error) {
106
+ result = err;
107
+ } else {
108
+ result = new Error('Unknown proving error: ' + String(err), { cause: err });
109
+ }
110
+ }
111
+
112
+ if (this.abortController.signal.aborted) {
113
+ this.log.warn(`Job controller for jobId=${this.jobId} completed but job was aborted`, {
114
+ currentStatus: this.status,
115
+ jobId: this.jobId,
116
+ });
117
+ result = new AbortError('Proof was aborted');
118
+ }
119
+
120
+ this.result = result;
121
+ this.status = ProvingJobControllerStatus.DONE;
122
+ try {
123
+ this.onComplete();
124
+ } catch (err) {
125
+ this.log.warn(`On complete handler error: ${err}`, { jobId: this.jobId });
126
+ }
127
+ };
128
+
136
129
  private async generateProof(): Promise<ProvingJobResultsMap[ProvingRequestType]> {
137
130
  const { type, inputs } = this.inputs;
138
131
  const signal = this.abortController.signal;
@@ -141,50 +134,74 @@ export class ProvingJobController {
141
134
  return await this.circuitProver.getAvmProof(inputs, signal, this.epochNumber);
142
135
  }
143
136
 
144
- case ProvingRequestType.PRIVATE_BASE_ROLLUP: {
145
- return await this.circuitProver.getPrivateBaseRollupProof(inputs, signal, this.epochNumber);
137
+ case ProvingRequestType.PUBLIC_CHONK_VERIFIER: {
138
+ return await this.circuitProver.getPublicChonkVerifierProof(inputs, signal, this.epochNumber);
139
+ }
140
+
141
+ case ProvingRequestType.PRIVATE_TX_BASE_ROLLUP: {
142
+ return await this.circuitProver.getPrivateTxBaseRollupProof(inputs, signal, this.epochNumber);
143
+ }
144
+
145
+ case ProvingRequestType.PUBLIC_TX_BASE_ROLLUP: {
146
+ return await this.circuitProver.getPublicTxBaseRollupProof(inputs, signal, this.epochNumber);
147
+ }
148
+
149
+ case ProvingRequestType.TX_MERGE_ROLLUP: {
150
+ return await this.circuitProver.getTxMergeRollupProof(inputs, signal, this.epochNumber);
146
151
  }
147
152
 
148
- case ProvingRequestType.PUBLIC_BASE_ROLLUP: {
149
- return await this.circuitProver.getPublicBaseRollupProof(inputs, signal, this.epochNumber);
153
+ case ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP: {
154
+ return await this.circuitProver.getBlockRootFirstRollupProof(inputs, signal, this.epochNumber);
150
155
  }
151
156
 
152
- case ProvingRequestType.MERGE_ROLLUP: {
153
- return await this.circuitProver.getMergeRollupProof(inputs, signal, this.epochNumber);
157
+ case ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP: {
158
+ return await this.circuitProver.getBlockRootSingleTxFirstRollupProof(inputs, signal, this.epochNumber);
154
159
  }
155
160
 
156
- case ProvingRequestType.EMPTY_BLOCK_ROOT_ROLLUP: {
157
- return await this.circuitProver.getEmptyBlockRootRollupProof(inputs, signal, this.epochNumber);
161
+ case ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP: {
162
+ return await this.circuitProver.getBlockRootEmptyTxFirstRollupProof(inputs, signal, this.epochNumber);
158
163
  }
159
164
 
160
165
  case ProvingRequestType.BLOCK_ROOT_ROLLUP: {
161
166
  return await this.circuitProver.getBlockRootRollupProof(inputs, signal, this.epochNumber);
162
167
  }
163
168
 
164
- case ProvingRequestType.SINGLE_TX_BLOCK_ROOT_ROLLUP: {
165
- return await this.circuitProver.getSingleTxBlockRootRollupProof(inputs, signal, this.epochNumber);
169
+ case ProvingRequestType.BLOCK_ROOT_SINGLE_TX_ROLLUP: {
170
+ return await this.circuitProver.getBlockRootSingleTxRollupProof(inputs, signal, this.epochNumber);
166
171
  }
167
172
 
168
173
  case ProvingRequestType.BLOCK_MERGE_ROLLUP: {
169
174
  return await this.circuitProver.getBlockMergeRollupProof(inputs, signal, this.epochNumber);
170
175
  }
171
176
 
177
+ case ProvingRequestType.CHECKPOINT_ROOT_ROLLUP: {
178
+ return await this.circuitProver.getCheckpointRootRollupProof(inputs, signal, this.epochNumber);
179
+ }
180
+
181
+ case ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP: {
182
+ return await this.circuitProver.getCheckpointRootSingleBlockRollupProof(inputs, signal, this.epochNumber);
183
+ }
184
+
185
+ case ProvingRequestType.CHECKPOINT_PADDING_ROLLUP: {
186
+ return await this.circuitProver.getCheckpointPaddingRollupProof(inputs, signal, this.epochNumber);
187
+ }
188
+
189
+ case ProvingRequestType.CHECKPOINT_MERGE_ROLLUP: {
190
+ return await this.circuitProver.getCheckpointMergeRollupProof(inputs, signal, this.epochNumber);
191
+ }
192
+
172
193
  case ProvingRequestType.ROOT_ROLLUP: {
173
194
  return await this.circuitProver.getRootRollupProof(inputs, signal, this.epochNumber);
174
195
  }
175
196
 
176
- case ProvingRequestType.BASE_PARITY: {
197
+ case ProvingRequestType.PARITY_BASE: {
177
198
  return await this.circuitProver.getBaseParityProof(inputs, signal, this.epochNumber);
178
199
  }
179
200
 
180
- case ProvingRequestType.ROOT_PARITY: {
201
+ case ProvingRequestType.PARITY_ROOT: {
181
202
  return await this.circuitProver.getRootParityProof(inputs, signal, this.epochNumber);
182
203
  }
183
204
 
184
- case ProvingRequestType.TUBE_PROOF: {
185
- return await this.circuitProver.getTubeProof(inputs, signal, this.epochNumber);
186
- }
187
-
188
205
  default: {
189
206
  const _exhaustive: never = type;
190
207
  return Promise.reject(new Error(`Invalid proof request type: ${type}`));
@@ -1,5 +1,4 @@
1
1
  import { createSafeJsonRpcClient } from '@aztec/foundation/json-rpc/client';
2
- import type { SafeJsonRpcServer } from '@aztec/foundation/json-rpc/server';
3
2
  import {
4
3
  type GetProvingJobResponse,
5
4
  ProofUri,
@@ -13,7 +12,7 @@ import {
13
12
  import { ProvingRequestType } from '@aztec/stdlib/proofs';
14
13
  import { type ApiSchemaFor, optional } from '@aztec/stdlib/schemas';
15
14
  import { type ComponentsVersions, getVersioningResponseHandler } from '@aztec/stdlib/versioning';
16
- import { createTracedJsonRpcServer, makeTracedFetch } from '@aztec/telemetry-client';
15
+ import { makeTracedFetch } from '@aztec/telemetry-client';
17
16
 
18
17
  import { z } from 'zod';
19
18
 
@@ -54,10 +53,6 @@ export const ProvingJobBrokerSchema: ApiSchemaFor<ProvingJobBroker> = {
54
53
  ...ProvingJobProducerSchema,
55
54
  };
56
55
 
57
- export function createProvingBrokerServer(broker: ProvingJobBroker): SafeJsonRpcServer {
58
- return createTracedJsonRpcServer(broker, ProvingJobBrokerSchema);
59
- }
60
-
61
56
  export function createProvingJobBrokerClient(
62
57
  url: string,
63
58
  versions: Partial<ComponentsVersions>,
@@ -0,0 +1,14 @@
1
+ import type { ProvingJobId } from '@aztec/stdlib/interfaces/server';
2
+ import { ProvingRequestType } from '@aztec/stdlib/proofs';
3
+
4
+ // Mock ProofStore for faster benchmarks with realistic Cloud Storage URIs
5
+ export class MockProofStore {
6
+ private mockCounter = 0;
7
+ private readonly bucketName = 'aztec-proving-benchmarks';
8
+ private readonly basePath = 'proving-jobs';
9
+
10
+ saveProofInput(jobId: ProvingJobId, type: ProvingRequestType): Promise<string> {
11
+ const uri = `gs://${this.bucketName}/${this.basePath}/inputs/${type}/${jobId}`;
12
+ return Promise.resolve(uri as any);
13
+ }
14
+ }