@aztec/prover-client 0.0.0-test.1 → 0.0.1-fake-ceab37513c

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 (107) hide show
  1. package/dest/bin/get-proof-inputs.js +1 -1
  2. package/dest/block-factory/index.d.ts +2 -0
  3. package/dest/block-factory/index.d.ts.map +1 -0
  4. package/dest/block-factory/light.d.ts +36 -0
  5. package/dest/block-factory/light.d.ts.map +1 -0
  6. package/dest/{block_builder → block-factory}/light.js +35 -30
  7. package/dest/config.d.ts +6 -6
  8. package/dest/config.d.ts.map +1 -1
  9. package/dest/config.js +11 -1
  10. package/dest/mocks/fixtures.d.ts +3 -3
  11. package/dest/mocks/fixtures.d.ts.map +1 -1
  12. package/dest/mocks/fixtures.js +2 -2
  13. package/dest/mocks/test_context.d.ts +18 -13
  14. package/dest/mocks/test_context.d.ts.map +1 -1
  15. package/dest/mocks/test_context.js +44 -38
  16. package/dest/orchestrator/block-building-helpers.d.ts +18 -11
  17. package/dest/orchestrator/block-building-helpers.d.ts.map +1 -1
  18. package/dest/orchestrator/block-building-helpers.js +80 -63
  19. package/dest/orchestrator/block-proving-state.d.ts +19 -10
  20. package/dest/orchestrator/block-proving-state.d.ts.map +1 -1
  21. package/dest/orchestrator/block-proving-state.js +63 -46
  22. package/dest/orchestrator/epoch-proving-state.d.ts +13 -6
  23. package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -1
  24. package/dest/orchestrator/epoch-proving-state.js +40 -14
  25. package/dest/orchestrator/orchestrator.d.ts +7 -5
  26. package/dest/orchestrator/orchestrator.d.ts.map +1 -1
  27. package/dest/orchestrator/orchestrator.js +78 -52
  28. package/dest/orchestrator/orchestrator_metrics.d.ts +2 -0
  29. package/dest/orchestrator/orchestrator_metrics.d.ts.map +1 -1
  30. package/dest/orchestrator/orchestrator_metrics.js +9 -0
  31. package/dest/orchestrator/tx-proving-state.d.ts +2 -2
  32. package/dest/orchestrator/tx-proving-state.d.ts.map +1 -1
  33. package/dest/orchestrator/tx-proving-state.js +9 -20
  34. package/dest/prover-client/prover-client.d.ts +3 -3
  35. package/dest/prover-client/prover-client.d.ts.map +1 -1
  36. package/dest/prover-client/prover-client.js +5 -4
  37. package/dest/prover-client/server-epoch-prover.d.ts +6 -4
  38. package/dest/prover-client/server-epoch-prover.d.ts.map +1 -1
  39. package/dest/prover-client/server-epoch-prover.js +4 -4
  40. package/dest/proving_broker/broker_prover_facade.d.ts +5 -3
  41. package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -1
  42. package/dest/proving_broker/broker_prover_facade.js +31 -21
  43. package/dest/proving_broker/config.d.ts +9 -4
  44. package/dest/proving_broker/config.d.ts.map +1 -1
  45. package/dest/proving_broker/config.js +15 -4
  46. package/dest/proving_broker/factory.d.ts +1 -1
  47. package/dest/proving_broker/factory.d.ts.map +1 -1
  48. package/dest/proving_broker/factory.js +5 -1
  49. package/dest/proving_broker/proof_store/factory.js +1 -1
  50. package/dest/proving_broker/proof_store/gcs_proof_store.d.ts.map +1 -1
  51. package/dest/proving_broker/proof_store/gcs_proof_store.js +1 -0
  52. package/dest/proving_broker/proving_agent.d.ts +3 -3
  53. package/dest/proving_broker/proving_agent.d.ts.map +1 -1
  54. package/dest/proving_broker/proving_agent.js +83 -47
  55. package/dest/proving_broker/proving_broker.d.ts +11 -2
  56. package/dest/proving_broker/proving_broker.d.ts.map +1 -1
  57. package/dest/proving_broker/proving_broker.js +6 -5
  58. package/dest/proving_broker/proving_broker_database/memory.js +1 -1
  59. package/dest/proving_broker/proving_broker_database/persisted.d.ts.map +1 -1
  60. package/dest/proving_broker/proving_broker_database/persisted.js +9 -8
  61. package/dest/proving_broker/proving_job_controller.d.ts +7 -8
  62. package/dest/proving_broker/proving_job_controller.d.ts.map +1 -1
  63. package/dest/proving_broker/proving_job_controller.js +53 -45
  64. package/dest/proving_broker/rpc.d.ts +3 -5
  65. package/dest/proving_broker/rpc.d.ts.map +1 -1
  66. package/dest/proving_broker/rpc.js +1 -4
  67. package/dest/test/mock_proof_store.d.ts +9 -0
  68. package/dest/test/mock_proof_store.d.ts.map +1 -0
  69. package/dest/test/mock_proof_store.js +10 -0
  70. package/dest/test/mock_prover.d.ts +7 -5
  71. package/dest/test/mock_prover.d.ts.map +1 -1
  72. package/dest/test/mock_prover.js +6 -3
  73. package/package.json +28 -27
  74. package/src/bin/get-proof-inputs.ts +1 -1
  75. package/src/block-factory/index.ts +1 -0
  76. package/src/{block_builder → block-factory}/light.ts +42 -29
  77. package/src/config.ts +24 -8
  78. package/src/mocks/fixtures.ts +5 -5
  79. package/src/mocks/test_context.ts +79 -59
  80. package/src/orchestrator/block-building-helpers.ts +96 -92
  81. package/src/orchestrator/block-proving-state.ts +78 -52
  82. package/src/orchestrator/epoch-proving-state.ts +51 -20
  83. package/src/orchestrator/orchestrator.ts +119 -60
  84. package/src/orchestrator/orchestrator_metrics.ts +20 -1
  85. package/src/orchestrator/tx-proving-state.ts +17 -24
  86. package/src/prover-client/prover-client.ts +16 -14
  87. package/src/prover-client/server-epoch-prover.ts +16 -7
  88. package/src/proving_broker/broker_prover_facade.ts +52 -36
  89. package/src/proving_broker/config.ts +17 -6
  90. package/src/proving_broker/factory.ts +2 -1
  91. package/src/proving_broker/proof_store/factory.ts +1 -1
  92. package/src/proving_broker/proof_store/gcs_proof_store.ts +5 -1
  93. package/src/proving_broker/proof_store/inline_proof_store.ts +1 -1
  94. package/src/proving_broker/proving_agent.ts +89 -47
  95. package/src/proving_broker/proving_broker.ts +16 -15
  96. package/src/proving_broker/proving_broker_database/memory.ts +1 -1
  97. package/src/proving_broker/proving_broker_database/persisted.ts +9 -8
  98. package/src/proving_broker/proving_job_controller.ts +56 -65
  99. package/src/proving_broker/rpc.ts +1 -6
  100. package/src/test/mock_proof_store.ts +14 -0
  101. package/src/test/mock_prover.ts +27 -5
  102. package/dest/block_builder/index.d.ts +0 -6
  103. package/dest/block_builder/index.d.ts.map +0 -1
  104. package/dest/block_builder/light.d.ts +0 -33
  105. package/dest/block_builder/light.d.ts.map +0 -1
  106. package/src/block_builder/index.ts +0 -6
  107. /package/dest/{block_builder → block-factory}/index.js +0 -0
@@ -46,9 +46,9 @@ class SingleEpochDatabase {
46
46
 
47
47
  async *allProvingJobs(): AsyncIterableIterator<[ProvingJob, ProvingJobSettledResult | undefined]> {
48
48
  for await (const jobStr of this.jobs.valuesAsync()) {
49
- const job = await jsonParseWithSchema(jobStr, ProvingJob);
49
+ const job = jsonParseWithSchema(jobStr, ProvingJob);
50
50
  const resultStr = await this.jobResults.getAsync(job.id);
51
- const result = resultStr ? await jsonParseWithSchema(resultStr, ProvingJobSettledResult) : undefined;
51
+ const result = resultStr ? jsonParseWithSchema(resultStr, ProvingJobSettledResult) : undefined;
52
52
  yield [job, result];
53
53
  }
54
54
  }
@@ -111,7 +111,8 @@ export class KVBrokerDatabase implements ProvingBrokerDatabase {
111
111
  private async estimateSize() {
112
112
  const sizes = await Promise.all(Array.from(this.epochs.values()).map(x => x.estimateSize()));
113
113
  return {
114
- mappingSize: this.config.dataStoreMapSizeKB,
114
+ mappingSize: this.config.dataStoreMapSizeKb,
115
+ physicalFileSize: sizes.reduce((prev, curr) => prev + curr.physicalFileSize, 0),
115
116
  numItems: sizes.reduce((prev, curr) => prev + curr.numItems, 0),
116
117
  actualSize: sizes.reduce((prev, curr) => prev + curr.actualSize, 0),
117
118
  };
@@ -136,13 +137,13 @@ export class KVBrokerDatabase implements ProvingBrokerDatabase {
136
137
  continue;
137
138
  }
138
139
  logger.info(
139
- `Loading broker database for epoch ${epochNumber} from ${fullDirectory} with map size ${config.dataStoreMapSizeKB}KB`,
140
+ `Loading broker database for epoch ${epochNumber} from ${fullDirectory} with map size ${config.dataStoreMapSizeKb}KB`,
140
141
  );
141
142
  const db = await openVersionedStoreAt(
142
143
  fullDirectory,
143
144
  SingleEpochDatabase.SCHEMA_VERSION,
144
145
  config.l1Contracts.rollupAddress,
145
- config.dataStoreMapSizeKB,
146
+ config.dataStoreMapSizeKb,
146
147
  );
147
148
  const epochDb = new SingleEpochDatabase(db);
148
149
  epochs.set(epochNumber, epochDb);
@@ -170,7 +171,7 @@ export class KVBrokerDatabase implements ProvingBrokerDatabase {
170
171
  if (!db) {
171
172
  continue;
172
173
  }
173
- this.logger.info(`Deleting broker database for epoch ${old}`);
174
+ this.logger.verbose(`Deleting broker database for epoch ${old}`);
174
175
  await db.delete();
175
176
  this.epochs.delete(old);
176
177
  }
@@ -201,13 +202,13 @@ export class KVBrokerDatabase implements ProvingBrokerDatabase {
201
202
  const newEpochDirectory = join(this.config.dataDirectory!, epochNumber.toString());
202
203
  await mkdir(newEpochDirectory, { recursive: true });
203
204
  this.logger.info(
204
- `Creating broker database for epoch ${epochNumber} at ${newEpochDirectory} with map size ${this.config.dataStoreMapSizeKB}`,
205
+ `Creating broker database for epoch ${epochNumber} at ${newEpochDirectory} with map size ${this.config.dataStoreMapSizeKb}`,
205
206
  );
206
207
  const db = await openVersionedStoreAt(
207
208
  newEpochDirectory,
208
209
  SingleEpochDatabase.SCHEMA_VERSION,
209
210
  this.config.l1Contracts.rollupAddress,
210
- this.config.dataStoreMapSizeKB,
211
+ this.config.dataStoreMapSizeKb,
211
212
  );
212
213
  epochDb = new SingleEpochDatabase(db);
213
214
  this.epochs.set(epochNumber, epochDb);
@@ -1,3 +1,5 @@
1
+ import { randomBytes } from '@aztec/foundation/crypto';
2
+ import { AbortError } from '@aztec/foundation/error';
1
3
  import { createLogger } from '@aztec/foundation/log';
2
4
  import type {
3
5
  ProvingJobId,
@@ -9,24 +11,15 @@ import { ProvingRequestType } from '@aztec/stdlib/proofs';
9
11
 
10
12
  export enum ProvingJobControllerStatus {
11
13
  IDLE = 'idle',
12
- PROVING = 'proving',
14
+ RUNNING = 'running',
13
15
  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
16
  }
25
17
 
26
18
  export class ProvingJobController {
27
19
  private status: ProvingJobControllerStatus = ProvingJobControllerStatus.IDLE;
28
20
  private promise?: Promise<void>;
29
21
  private abortController = new AbortController();
22
+ private result?: ProvingJobResultsMap[ProvingRequestType] | Error;
30
23
 
31
24
  constructor(
32
25
  private jobId: ProvingJobId,
@@ -34,13 +27,13 @@ export class ProvingJobController {
34
27
  private epochNumber: number,
35
28
  private startedAt: number,
36
29
  private circuitProver: ServerCircuitProver,
37
- private onComplete: ProvingJobCompletionCallback,
38
- private log = createLogger('prover-client:proving-agent:job-controller'),
30
+ private onComplete: () => void,
31
+ private log = createLogger('prover-client:proving-agent:job-controller-' + randomBytes(4).toString('hex')),
39
32
  ) {}
40
33
 
41
34
  public start(): void {
42
35
  if (this.status !== ProvingJobControllerStatus.IDLE) {
43
- this.log.verbose(
36
+ this.log.warn(
44
37
  `Job controller for jobId=${this.jobId} not starting because it is not idle currentStatus=${this.status}`,
45
38
  {
46
39
  currentStatus: this.status,
@@ -50,63 +43,23 @@ export class ProvingJobController {
50
43
  return;
51
44
  }
52
45
 
53
- this.status = ProvingJobControllerStatus.PROVING;
54
- this.log.verbose(`Job controller started jobId=${this.jobId}`, {
46
+ this.promise = this.run();
47
+
48
+ this.log.info(`Job controller started jobId=${this.jobId}`, {
55
49
  jobId: this.jobId,
56
50
  });
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
51
  }
103
52
 
104
53
  public getStatus(): ProvingJobControllerStatus {
105
54
  return this.status;
106
55
  }
107
56
 
57
+ public getResult(): ProvingJobResultsMap[ProvingRequestType] | Error | undefined {
58
+ return this.result;
59
+ }
60
+
108
61
  public abort(): void {
109
- if (this.status !== ProvingJobControllerStatus.PROVING) {
62
+ if (this.status !== ProvingJobControllerStatus.RUNNING) {
110
63
  this.log.warn(`Tried to abort job controller for jobId=${this.jobId} but it is not running`, {
111
64
  currentStatus: this.status,
112
65
  jobId: this.jobId,
@@ -114,9 +67,8 @@ export class ProvingJobController {
114
67
  return;
115
68
  }
116
69
 
117
- this.status = ProvingJobControllerStatus.ABORTED;
118
70
  this.abortController.abort();
119
- this.log.verbose(`Aborted job controller for jobId=${this.jobId}`, {
71
+ this.log.warn(`Aborted job controller for jobId=${this.jobId}`, {
120
72
  jobId: this.jobId,
121
73
  });
122
74
  }
@@ -125,6 +77,10 @@ export class ProvingJobController {
125
77
  return this.jobId;
126
78
  }
127
79
 
80
+ public getProofType(): ProvingRequestType {
81
+ return this.inputs.type;
82
+ }
83
+
128
84
  public getStartedAt(): number {
129
85
  return this.startedAt;
130
86
  }
@@ -133,12 +89,43 @@ export class ProvingJobController {
133
89
  return ProvingRequestType[this.inputs.type];
134
90
  }
135
91
 
92
+ private run = async () => {
93
+ this.status = ProvingJobControllerStatus.RUNNING;
94
+ let result: ProvingJobResultsMap[ProvingRequestType] | Error;
95
+ try {
96
+ result = await this.generateProof();
97
+ } catch (err) {
98
+ if (err && err instanceof Error) {
99
+ result = err;
100
+ } else {
101
+ result = new Error('Unknown proving error: ' + String(err), { cause: err });
102
+ }
103
+ }
104
+
105
+ if (this.abortController.signal.aborted) {
106
+ this.log.warn(`Job controller for jobId=${this.jobId} completed but job was aborted`, {
107
+ currentStatus: this.status,
108
+ jobId: this.jobId,
109
+ });
110
+ result = new AbortError('Proof was aborted');
111
+ }
112
+
113
+ this.result = result;
114
+ this.status = ProvingJobControllerStatus.DONE;
115
+ try {
116
+ this.onComplete();
117
+ } catch (err) {
118
+ this.log.warn(`On complete handler error: ${err}`, { jobId: this.jobId });
119
+ }
120
+ };
121
+
136
122
  private async generateProof(): Promise<ProvingJobResultsMap[ProvingRequestType]> {
137
123
  const { type, inputs } = this.inputs;
138
124
  const signal = this.abortController.signal;
139
125
  switch (type) {
140
126
  case ProvingRequestType.PUBLIC_VM: {
141
- return await this.circuitProver.getAvmProof(inputs, signal, this.epochNumber);
127
+ // TODO(#14234)[Unconditional PIs validation]: Remove argument "undefined".
128
+ return await this.circuitProver.getAvmProof(inputs, undefined, signal, this.epochNumber);
142
129
  }
143
130
 
144
131
  case ProvingRequestType.PRIVATE_BASE_ROLLUP: {
@@ -157,6 +144,10 @@ export class ProvingJobController {
157
144
  return await this.circuitProver.getEmptyBlockRootRollupProof(inputs, signal, this.epochNumber);
158
145
  }
159
146
 
147
+ case ProvingRequestType.PADDING_BLOCK_ROOT_ROLLUP: {
148
+ return await this.circuitProver.getPaddingBlockRootRollupProof(inputs, signal, this.epochNumber);
149
+ }
150
+
160
151
  case ProvingRequestType.BLOCK_ROOT_ROLLUP: {
161
152
  return await this.circuitProver.getBlockRootRollupProof(inputs, signal, this.epochNumber);
162
153
  }
@@ -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
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
- AVM_PROOF_LENGTH_IN_FIELDS,
3
- AVM_VERIFICATION_KEY_LENGTH_IN_FIELDS,
2
+ AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED,
3
+ AVM_V2_VERIFICATION_KEY_LENGTH_IN_FIELDS_PADDED,
4
4
  NESTED_RECURSIVE_PROOF_LENGTH,
5
5
  NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH,
6
6
  RECURSIVE_PROOF_LENGTH,
@@ -28,6 +28,7 @@ import type {
28
28
  BlockRootRollupInputs,
29
29
  EmptyBlockRootRollupInputs,
30
30
  MergeRollupInputs,
31
+ PaddingBlockRootRollupInputs,
31
32
  PrivateBaseRollupInputs,
32
33
  PublicBaseRollupInputs,
33
34
  RootRollupInputs,
@@ -96,11 +97,16 @@ export class TestBroker implements ProvingJobProducer {
96
97
  export class MockProver implements ServerCircuitProver {
97
98
  constructor() {}
98
99
 
99
- getAvmProof(_inputs: AvmCircuitInputs, _signal?: AbortSignal, _epochNumber?: number) {
100
+ getAvmProof(
101
+ _inputs: AvmCircuitInputs,
102
+ _skipPublicInputsValidation?: boolean, // TODO(#14234)[Unconditional PIs validation]: Remove.
103
+ _signal?: AbortSignal,
104
+ _epochNumber?: number,
105
+ ) {
100
106
  return Promise.resolve(
101
107
  makeProofAndVerificationKey(
102
- makeEmptyRecursiveProof(AVM_PROOF_LENGTH_IN_FIELDS),
103
- VerificationKeyData.makeFake(AVM_VERIFICATION_KEY_LENGTH_IN_FIELDS),
108
+ makeEmptyRecursiveProof(AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED),
109
+ VerificationKeyData.makeFake(AVM_V2_VERIFICATION_KEY_LENGTH_IN_FIELDS_PADDED),
104
110
  ),
105
111
  );
106
112
  }
@@ -199,6 +205,22 @@ export class MockProver implements ServerCircuitProver {
199
205
  );
200
206
  }
201
207
 
208
+ getPaddingBlockRootRollupProof(
209
+ _input: PaddingBlockRootRollupInputs,
210
+ _signal?: AbortSignal,
211
+ _epochNumber?: number,
212
+ ): Promise<
213
+ PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>
214
+ > {
215
+ return Promise.resolve(
216
+ makePublicInputsAndRecursiveProof(
217
+ makeBlockRootOrBlockMergeRollupPublicInputs(),
218
+ makeRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH),
219
+ VerificationKeyData.makeFakeRollupHonk(),
220
+ ),
221
+ );
222
+ }
223
+
202
224
  getBlockRootRollupProof(
203
225
  _input: BlockRootRollupInputs,
204
226
  _signal?: AbortSignal,
@@ -1,6 +0,0 @@
1
- import type { BlockBuilder, MerkleTreeReadOperations } from '@aztec/stdlib/interfaces/server';
2
- export * from './light.js';
3
- export interface BlockBuilderFactory {
4
- create(db: MerkleTreeReadOperations): BlockBuilder;
5
- }
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/block_builder/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAE9F,cAAc,YAAY,CAAC;AAC3B,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,EAAE,wBAAwB,GAAG,YAAY,CAAC;CACpD"}
@@ -1,33 +0,0 @@
1
- import { Fr } from '@aztec/foundation/fields';
2
- import { L2Block } from '@aztec/stdlib/block';
3
- import type { BlockBuilder, MerkleTreeWriteOperations } from '@aztec/stdlib/interfaces/server';
4
- import { type GlobalVariables, type ProcessedTx } from '@aztec/stdlib/tx';
5
- import { type TelemetryClient } from '@aztec/telemetry-client';
6
- /**
7
- * Builds a block and its header from a set of processed tx without running any circuits.
8
- */
9
- export declare class LightweightBlockBuilder implements BlockBuilder {
10
- private db;
11
- private telemetry;
12
- private spongeBlobState?;
13
- private globalVariables?;
14
- private l1ToL2Messages?;
15
- private txs;
16
- private readonly logger;
17
- constructor(db: MerkleTreeWriteOperations, telemetry?: TelemetryClient);
18
- startNewBlock(globalVariables: GlobalVariables, l1ToL2Messages: Fr[]): Promise<void>;
19
- addTxs(txs: ProcessedTx[]): Promise<void>;
20
- setBlockCompleted(): Promise<L2Block>;
21
- private buildBlock;
22
- }
23
- export declare class LightweightBlockBuilderFactory {
24
- private telemetry;
25
- constructor(telemetry?: TelemetryClient);
26
- create(db: MerkleTreeWriteOperations): BlockBuilder;
27
- }
28
- /**
29
- * Creates a block builder under the hood with the given txs and messages and creates a block.
30
- * @param db - A db fork to use for block building.
31
- */
32
- export declare function buildBlock(txs: ProcessedTx[], globalVariables: GlobalVariables, l1ToL2Messages: Fr[], db: MerkleTreeWriteOperations, telemetry?: TelemetryClient): Promise<L2Block>;
33
- //# sourceMappingURL=light.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"light.d.ts","sourceRoot":"","sources":["../../src/block_builder/light.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAE/F,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,WAAW,EAAmB,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAQnF;;GAEG;AACH,qBAAa,uBAAwB,YAAW,YAAY;IAS9C,OAAO,CAAC,EAAE;IAA6B,OAAO,CAAC,SAAS;IARpE,OAAO,CAAC,eAAe,CAAC,CAAa;IACrC,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,cAAc,CAAC,CAAO;IAE9B,OAAO,CAAC,GAAG,CAAqB;IAEhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+C;gBAElD,EAAE,EAAE,yBAAyB,EAAU,SAAS,GAAE,eAAsC;IAEtG,aAAa,CAAC,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAWpF,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAS/C,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;YAIvB,UAAU;CAoBzB;AAED,qBAAa,8BAA8B;IAC7B,OAAO,CAAC,SAAS;gBAAT,SAAS,GAAE,eAAsC;IAErE,MAAM,CAAC,EAAE,EAAE,yBAAyB,GAAG,YAAY;CAGpD;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,WAAW,EAAE,EAClB,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,EAAE,EAAE,EACpB,EAAE,EAAE,yBAAyB,EAC7B,SAAS,GAAE,eAAsC,oBAMlD"}
@@ -1,6 +0,0 @@
1
- import type { BlockBuilder, MerkleTreeReadOperations } from '@aztec/stdlib/interfaces/server';
2
-
3
- export * from './light.js';
4
- export interface BlockBuilderFactory {
5
- create(db: MerkleTreeReadOperations): BlockBuilder;
6
- }
File without changes