@aztec/prover-client 0.0.0-test.1 → 0.0.1-commit.001888fc
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/dest/config.d.ts +8 -8
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +12 -2
- package/dest/index.d.ts +1 -1
- package/dest/light/index.d.ts +2 -0
- package/dest/light/index.d.ts.map +1 -0
- package/dest/light/index.js +1 -0
- package/dest/light/lightweight_checkpoint_builder.d.ts +52 -0
- package/dest/light/lightweight_checkpoint_builder.d.ts.map +1 -0
- package/dest/light/lightweight_checkpoint_builder.js +223 -0
- package/dest/mocks/fixtures.d.ts +8 -8
- package/dest/mocks/fixtures.d.ts.map +1 -1
- package/dest/mocks/fixtures.js +36 -17
- package/dest/mocks/test_context.d.ts +43 -32
- package/dest/mocks/test_context.d.ts.map +1 -1
- package/dest/mocks/test_context.js +152 -87
- package/dest/orchestrator/block-building-helpers.d.ts +36 -29
- package/dest/orchestrator/block-building-helpers.d.ts.map +1 -1
- package/dest/orchestrator/block-building-helpers.js +170 -189
- package/dest/orchestrator/block-proving-state.d.ts +73 -48
- package/dest/orchestrator/block-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/block-proving-state.js +289 -177
- package/dest/orchestrator/checkpoint-proving-state.d.ts +76 -0
- package/dest/orchestrator/checkpoint-proving-state.d.ts.map +1 -0
- package/dest/orchestrator/checkpoint-proving-state.js +243 -0
- package/dest/orchestrator/epoch-proving-state.d.ts +43 -28
- package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/epoch-proving-state.js +179 -73
- package/dest/orchestrator/index.d.ts +1 -1
- package/dest/orchestrator/orchestrator.d.ts +55 -35
- package/dest/orchestrator/orchestrator.d.ts.map +1 -1
- package/dest/orchestrator/orchestrator.js +874 -314
- package/dest/orchestrator/orchestrator_metrics.d.ts +1 -1
- package/dest/orchestrator/orchestrator_metrics.d.ts.map +1 -1
- package/dest/orchestrator/orchestrator_metrics.js +2 -6
- package/dest/orchestrator/tx-proving-state.d.ts +15 -12
- package/dest/orchestrator/tx-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/tx-proving-state.js +27 -44
- package/dest/prover-client/factory.d.ts +3 -3
- package/dest/prover-client/factory.d.ts.map +1 -1
- package/dest/prover-client/index.d.ts +1 -1
- package/dest/prover-client/prover-client.d.ts +8 -8
- package/dest/prover-client/prover-client.d.ts.map +1 -1
- package/dest/prover-client/prover-client.js +19 -13
- package/dest/prover-client/server-epoch-prover.d.ts +16 -12
- package/dest/prover-client/server-epoch-prover.d.ts.map +1 -1
- package/dest/prover-client/server-epoch-prover.js +11 -11
- package/dest/proving_broker/broker_prover_facade.d.ts +28 -19
- package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -1
- package/dest/proving_broker/broker_prover_facade.js +64 -45
- package/dest/proving_broker/config.d.ts +32 -11
- package/dest/proving_broker/config.d.ts.map +1 -1
- package/dest/proving_broker/config.js +42 -8
- package/dest/proving_broker/factory.d.ts +2 -2
- package/dest/proving_broker/factory.d.ts.map +1 -1
- package/dest/proving_broker/factory.js +5 -1
- package/dest/proving_broker/fixtures.d.ts +3 -2
- package/dest/proving_broker/fixtures.d.ts.map +1 -1
- package/dest/proving_broker/fixtures.js +3 -2
- package/dest/proving_broker/index.d.ts +1 -1
- package/dest/proving_broker/proof_store/factory.d.ts +2 -5
- package/dest/proving_broker/proof_store/factory.d.ts.map +1 -1
- package/dest/proving_broker/proof_store/factory.js +7 -30
- package/dest/proving_broker/proof_store/file_store_proof_store.d.ts +18 -0
- package/dest/proving_broker/proof_store/file_store_proof_store.d.ts.map +1 -0
- package/dest/proving_broker/proof_store/file_store_proof_store.js +60 -0
- package/dest/proving_broker/proof_store/index.d.ts +2 -1
- package/dest/proving_broker/proof_store/index.d.ts.map +1 -1
- package/dest/proving_broker/proof_store/index.js +1 -0
- package/dest/proving_broker/proof_store/inline_proof_store.d.ts +1 -1
- package/dest/proving_broker/proof_store/inline_proof_store.d.ts.map +1 -1
- package/dest/proving_broker/proof_store/proof_store.d.ts +1 -1
- package/dest/proving_broker/proving_agent.d.ts +8 -12
- package/dest/proving_broker/proving_agent.d.ts.map +1 -1
- package/dest/proving_broker/proving_agent.js +86 -65
- package/dest/proving_broker/proving_broker.d.ts +17 -5
- package/dest/proving_broker/proving_broker.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker.js +76 -37
- package/dest/proving_broker/proving_broker_database/memory.d.ts +3 -2
- package/dest/proving_broker/proving_broker_database/memory.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker_database/memory.js +1 -1
- package/dest/proving_broker/proving_broker_database/persisted.d.ts +5 -3
- package/dest/proving_broker/proving_broker_database/persisted.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker_database/persisted.js +401 -11
- package/dest/proving_broker/proving_broker_database.d.ts +3 -2
- package/dest/proving_broker/proving_broker_database.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker_instrumentation.d.ts +3 -1
- package/dest/proving_broker/proving_broker_instrumentation.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker_instrumentation.js +22 -35
- package/dest/proving_broker/proving_job_controller.d.ts +11 -10
- package/dest/proving_broker/proving_job_controller.d.ts.map +1 -1
- package/dest/proving_broker/proving_job_controller.js +92 -62
- package/dest/proving_broker/rpc.d.ts +7 -7
- package/dest/proving_broker/rpc.d.ts.map +1 -1
- package/dest/proving_broker/rpc.js +9 -4
- package/dest/test/mock_proof_store.d.ts +9 -0
- package/dest/test/mock_proof_store.d.ts.map +1 -0
- package/dest/test/mock_proof_store.js +10 -0
- package/dest/test/mock_prover.d.ts +23 -17
- package/dest/test/mock_prover.d.ts.map +1 -1
- package/dest/test/mock_prover.js +38 -20
- package/package.json +34 -33
- package/src/config.ts +25 -9
- package/src/light/index.ts +1 -0
- package/src/light/lightweight_checkpoint_builder.ts +312 -0
- package/src/mocks/fixtures.ts +46 -40
- package/src/mocks/test_context.ts +223 -116
- package/src/orchestrator/block-building-helpers.ts +258 -334
- package/src/orchestrator/block-proving-state.ts +334 -231
- package/src/orchestrator/checkpoint-proving-state.ts +349 -0
- package/src/orchestrator/epoch-proving-state.ts +239 -111
- package/src/orchestrator/orchestrator.ts +674 -355
- package/src/orchestrator/orchestrator_metrics.ts +2 -6
- package/src/orchestrator/tx-proving-state.ts +48 -66
- package/src/prover-client/factory.ts +6 -2
- package/src/prover-client/prover-client.ts +49 -38
- package/src/prover-client/server-epoch-prover.ts +40 -22
- package/src/proving_broker/broker_prover_facade.ts +219 -133
- package/src/proving_broker/config.ts +48 -8
- package/src/proving_broker/factory.ts +2 -1
- package/src/proving_broker/fixtures.ts +8 -3
- package/src/proving_broker/proof_store/factory.ts +10 -32
- package/src/proving_broker/proof_store/file_store_proof_store.ts +78 -0
- package/src/proving_broker/proof_store/index.ts +1 -0
- package/src/proving_broker/proof_store/inline_proof_store.ts +1 -1
- package/src/proving_broker/proving_agent.ts +95 -66
- package/src/proving_broker/proving_broker.ts +94 -44
- package/src/proving_broker/proving_broker_database/memory.ts +3 -2
- package/src/proving_broker/proving_broker_database/persisted.ts +29 -13
- package/src/proving_broker/proving_broker_database.ts +2 -1
- package/src/proving_broker/proving_broker_instrumentation.ts +23 -35
- package/src/proving_broker/proving_job_controller.ts +100 -83
- package/src/proving_broker/rpc.ts +14 -5
- package/src/test/mock_proof_store.ts +14 -0
- package/src/test/mock_prover.ts +156 -64
- package/dest/bin/get-proof-inputs.d.ts +0 -2
- package/dest/bin/get-proof-inputs.d.ts.map +0 -1
- package/dest/bin/get-proof-inputs.js +0 -51
- package/dest/block_builder/index.d.ts +0 -6
- package/dest/block_builder/index.d.ts.map +0 -1
- package/dest/block_builder/index.js +0 -1
- package/dest/block_builder/light.d.ts +0 -33
- package/dest/block_builder/light.d.ts.map +0 -1
- package/dest/block_builder/light.js +0 -82
- package/dest/proving_broker/proof_store/gcs_proof_store.d.ts +0 -14
- package/dest/proving_broker/proof_store/gcs_proof_store.d.ts.map +0 -1
- package/dest/proving_broker/proof_store/gcs_proof_store.js +0 -51
- package/dest/proving_broker/proving_agent_instrumentation.d.ts +0 -8
- package/dest/proving_broker/proving_agent_instrumentation.d.ts.map +0 -1
- package/dest/proving_broker/proving_agent_instrumentation.js +0 -16
- package/src/bin/get-proof-inputs.ts +0 -59
- package/src/block_builder/index.ts +0 -6
- package/src/block_builder/light.ts +0 -101
- package/src/proving_broker/proof_store/gcs_proof_store.ts +0 -72
- package/src/proving_broker/proving_agent_instrumentation.ts +0 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broker_prover_facade.d.ts","sourceRoot":"","sources":["../../src/proving_broker/broker_prover_facade.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"broker_prover_facade.d.ts","sourceRoot":"","sources":["../../src/proving_broker/broker_prover_facade.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
2
2
|
import { createLogger } from '@aztec/foundation/log';
|
|
3
3
|
import { RunningPromise, promiseWithResolvers } from '@aztec/foundation/promise';
|
|
4
4
|
import { truncate } from '@aztec/foundation/string';
|
|
5
5
|
import { makeProvingJobId } from '@aztec/stdlib/interfaces/server';
|
|
6
6
|
import { ProvingRequestType } from '@aztec/stdlib/proofs';
|
|
7
|
+
import { createHash } from 'node:crypto';
|
|
7
8
|
import { InlineProofStore } from './proof_store/index.js';
|
|
8
9
|
// Perform a snapshot sync every 30 seconds
|
|
9
10
|
const SNAPSHOT_SYNC_INTERVAL_MS = 30_000;
|
|
@@ -14,20 +15,20 @@ export class BrokerCircuitProverFacade {
|
|
|
14
15
|
proofStore;
|
|
15
16
|
failedProofStore;
|
|
16
17
|
pollIntervalMs;
|
|
17
|
-
log;
|
|
18
18
|
jobs;
|
|
19
19
|
runningPromise;
|
|
20
20
|
timeOfLastSnapshotSync;
|
|
21
21
|
jobsToRetrieve;
|
|
22
|
-
|
|
22
|
+
log;
|
|
23
|
+
constructor(broker, proofStore = new InlineProofStore(), failedProofStore, pollIntervalMs = 1000, bindings){
|
|
23
24
|
this.broker = broker;
|
|
24
25
|
this.proofStore = proofStore;
|
|
25
26
|
this.failedProofStore = failedProofStore;
|
|
26
27
|
this.pollIntervalMs = pollIntervalMs;
|
|
27
|
-
this.log = log;
|
|
28
28
|
this.jobs = new Map();
|
|
29
29
|
this.timeOfLastSnapshotSync = Date.now();
|
|
30
30
|
this.jobsToRetrieve = new Set();
|
|
31
|
+
this.log = createLogger('prover-client:broker-circuit-prover-facade', bindings);
|
|
31
32
|
}
|
|
32
33
|
/**
|
|
33
34
|
* This is a critical section. This function can not be async since it writes
|
|
@@ -49,7 +50,13 @@ export class BrokerCircuitProverFacade {
|
|
|
49
50
|
}
|
|
50
51
|
// Create a promise for this job id, regardless of whether it was enqueued at the broker
|
|
51
52
|
// The running promise will monitor for the job to be completed and resolve it either way
|
|
53
|
+
// We install an error handler to prevent unhandled rejections in the process before the
|
|
54
|
+
// job promise is awaited by the caller (see #13166)
|
|
52
55
|
const promise = promiseWithResolvers();
|
|
56
|
+
promise.promise.catch((err)=>this.log.error(`Job errored with '${err.message ?? err}' id=${id} type=${ProvingRequestType[type]}`, {
|
|
57
|
+
provingJobId: id,
|
|
58
|
+
provingJobType: ProvingRequestType[type]
|
|
59
|
+
}));
|
|
53
60
|
const abortFn = ()=>{
|
|
54
61
|
signal?.removeEventListener('abort', abortFn);
|
|
55
62
|
void this.broker.cancelProvingJob(id).catch((err)=>this.log.warn(`Error cancelling job id=${id}`, err));
|
|
@@ -67,7 +74,7 @@ export class BrokerCircuitProverFacade {
|
|
|
67
74
|
isEnqueued: false
|
|
68
75
|
};
|
|
69
76
|
}
|
|
70
|
-
async enqueueJob(id, type, inputs, epochNumber =
|
|
77
|
+
async enqueueJob(id, type, inputs, epochNumber = EpochNumber.ZERO, signal) {
|
|
71
78
|
const { job: job, isEnqueued } = this.getOrCreateProvingJob(id, type, signal);
|
|
72
79
|
if (isEnqueued) {
|
|
73
80
|
return job.deferred.promise;
|
|
@@ -75,23 +82,28 @@ export class BrokerCircuitProverFacade {
|
|
|
75
82
|
try {
|
|
76
83
|
const inputsUri = await this.proofStore.saveProofInput(id, type, inputs);
|
|
77
84
|
job.inputsUri = inputsUri;
|
|
85
|
+
// Send the job to the broker
|
|
78
86
|
const jobStatus = await this.broker.enqueueProvingJob({
|
|
79
87
|
id,
|
|
80
88
|
type,
|
|
81
89
|
inputsUri,
|
|
82
90
|
epochNumber
|
|
83
91
|
});
|
|
92
|
+
const jobLogText = `id=${id} type=${ProvingRequestType[type]} epochNumber=${epochNumber}`;
|
|
93
|
+
const jobLogData = {
|
|
94
|
+
provingJobId: id,
|
|
95
|
+
provingJobType: ProvingRequestType[type],
|
|
96
|
+
epochNumber,
|
|
97
|
+
inputsUri: truncate(inputsUri),
|
|
98
|
+
status: jobStatus.status,
|
|
99
|
+
numOutstandingJobs: this.jobs.size
|
|
100
|
+
};
|
|
84
101
|
// If we are here then the job was successfully accepted by the broker
|
|
85
102
|
// the returned status is for before any action was performed
|
|
86
103
|
if (jobStatus.status === 'fulfilled' || jobStatus.status === 'rejected') {
|
|
87
104
|
// Job was already completed by the broker
|
|
88
105
|
// No need to notify the broker on aborted job
|
|
89
|
-
this.log.verbose(`Job already completed when sent to broker
|
|
90
|
-
provingJobId: id,
|
|
91
|
-
provingJobType: ProvingRequestType[type],
|
|
92
|
-
epochNumber,
|
|
93
|
-
inputsUri: truncate(inputsUri)
|
|
94
|
-
});
|
|
106
|
+
this.log.verbose(`Job already completed when sent to broker ${jobLogText}`, jobLogData);
|
|
95
107
|
// Job was not enqueued. It must be completed already, add to our set of already completed jobs
|
|
96
108
|
this.jobsToRetrieve.add(id);
|
|
97
109
|
} else {
|
|
@@ -99,21 +111,10 @@ export class BrokerCircuitProverFacade {
|
|
|
99
111
|
signal?.addEventListener('abort', job.abortFn);
|
|
100
112
|
// Job added for the first time
|
|
101
113
|
if (jobStatus.status === 'not-found') {
|
|
102
|
-
this.log.verbose(`Job enqueued with broker
|
|
103
|
-
provingJobId: id,
|
|
104
|
-
provingJobType: ProvingRequestType[type],
|
|
105
|
-
epochNumber,
|
|
106
|
-
inputsUri: truncate(inputsUri),
|
|
107
|
-
numOutstandingJobs: this.jobs.size
|
|
108
|
-
});
|
|
114
|
+
this.log.verbose(`Job enqueued with broker ${jobLogText}`, jobLogData);
|
|
109
115
|
} else {
|
|
110
116
|
// Job was previously sent to the broker but is not completed
|
|
111
|
-
this.log.verbose(`Job already in queue or in progress when sent to broker
|
|
112
|
-
provingJobId: id,
|
|
113
|
-
provingJobType: ProvingRequestType[type],
|
|
114
|
-
epochNumber,
|
|
115
|
-
inputsUri: truncate(inputsUri)
|
|
116
|
-
});
|
|
117
|
+
this.log.verbose(`Job already in queue or in progress when sent to broker ${jobLogText}`, jobLogData);
|
|
117
118
|
}
|
|
118
119
|
}
|
|
119
120
|
} catch (err) {
|
|
@@ -305,40 +306,58 @@ export class BrokerCircuitProverFacade {
|
|
|
305
306
|
return this.enqueueJob(this.generateId(ProvingRequestType.PUBLIC_VM, inputs, epochNumber), ProvingRequestType.PUBLIC_VM, inputs, epochNumber, signal);
|
|
306
307
|
}
|
|
307
308
|
getBaseParityProof(inputs, signal, epochNumber) {
|
|
308
|
-
return this.enqueueJob(this.generateId(ProvingRequestType.
|
|
309
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.PARITY_BASE, inputs, epochNumber), ProvingRequestType.PARITY_BASE, inputs, epochNumber, signal);
|
|
309
310
|
}
|
|
310
|
-
|
|
311
|
-
return this.enqueueJob(this.generateId(ProvingRequestType.
|
|
311
|
+
getTxMergeRollupProof(input, signal, epochNumber) {
|
|
312
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.TX_MERGE_ROLLUP, input, epochNumber), ProvingRequestType.TX_MERGE_ROLLUP, input, epochNumber, signal);
|
|
313
|
+
}
|
|
314
|
+
getPublicChonkVerifierProof(inputs, signal, epochNumber) {
|
|
315
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.PUBLIC_CHONK_VERIFIER, inputs, epochNumber), ProvingRequestType.PUBLIC_CHONK_VERIFIER, inputs, epochNumber, signal);
|
|
316
|
+
}
|
|
317
|
+
getPrivateTxBaseRollupProof(baseRollupInput, signal, epochNumber) {
|
|
318
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.PRIVATE_TX_BASE_ROLLUP, baseRollupInput, epochNumber), ProvingRequestType.PRIVATE_TX_BASE_ROLLUP, baseRollupInput, epochNumber, signal);
|
|
319
|
+
}
|
|
320
|
+
getPublicTxBaseRollupProof(inputs, signal, epochNumber) {
|
|
321
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.PUBLIC_TX_BASE_ROLLUP, inputs, epochNumber), ProvingRequestType.PUBLIC_TX_BASE_ROLLUP, inputs, epochNumber, signal);
|
|
322
|
+
}
|
|
323
|
+
getRootParityProof(inputs, signal, epochNumber) {
|
|
324
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.PARITY_ROOT, inputs, epochNumber), ProvingRequestType.PARITY_ROOT, inputs, epochNumber, signal);
|
|
325
|
+
}
|
|
326
|
+
getBlockRootFirstRollupProof(input, signal, epochNumber) {
|
|
327
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP, input, epochNumber), ProvingRequestType.BLOCK_ROOT_FIRST_ROLLUP, input, epochNumber, signal);
|
|
328
|
+
}
|
|
329
|
+
getBlockRootSingleTxFirstRollupProof(input, signal, epochNumber) {
|
|
330
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP, input, epochNumber), ProvingRequestType.BLOCK_ROOT_SINGLE_TX_FIRST_ROLLUP, input, epochNumber, signal);
|
|
331
|
+
}
|
|
332
|
+
getBlockRootEmptyTxFirstRollupProof(input, signal, epochNumber) {
|
|
333
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP, input, epochNumber), ProvingRequestType.BLOCK_ROOT_EMPTY_TX_FIRST_ROLLUP, input, epochNumber, signal);
|
|
312
334
|
}
|
|
313
335
|
getBlockRootRollupProof(input, signal, epochNumber) {
|
|
314
336
|
return this.enqueueJob(this.generateId(ProvingRequestType.BLOCK_ROOT_ROLLUP, input, epochNumber), ProvingRequestType.BLOCK_ROOT_ROLLUP, input, epochNumber, signal);
|
|
315
337
|
}
|
|
316
|
-
|
|
317
|
-
return this.enqueueJob(this.generateId(ProvingRequestType.
|
|
338
|
+
getBlockRootSingleTxRollupProof(input, signal, epochNumber) {
|
|
339
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.BLOCK_ROOT_SINGLE_TX_ROLLUP, input, epochNumber), ProvingRequestType.BLOCK_ROOT_SINGLE_TX_ROLLUP, input, epochNumber, signal);
|
|
318
340
|
}
|
|
319
|
-
|
|
320
|
-
return this.enqueueJob(this.generateId(ProvingRequestType.
|
|
341
|
+
getBlockMergeRollupProof(input, signal, epochNumber) {
|
|
342
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.BLOCK_MERGE_ROLLUP, input, epochNumber), ProvingRequestType.BLOCK_MERGE_ROLLUP, input, epochNumber, signal);
|
|
321
343
|
}
|
|
322
|
-
|
|
323
|
-
return this.enqueueJob(this.generateId(ProvingRequestType.
|
|
344
|
+
getCheckpointRootRollupProof(input, signal, epochNumber) {
|
|
345
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.CHECKPOINT_ROOT_ROLLUP, input, epochNumber), ProvingRequestType.CHECKPOINT_ROOT_ROLLUP, input, epochNumber, signal);
|
|
324
346
|
}
|
|
325
|
-
|
|
326
|
-
return this.enqueueJob(this.generateId(ProvingRequestType.
|
|
347
|
+
getCheckpointRootSingleBlockRollupProof(input, signal, epochNumber) {
|
|
348
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP, input, epochNumber), ProvingRequestType.CHECKPOINT_ROOT_SINGLE_BLOCK_ROLLUP, input, epochNumber, signal);
|
|
327
349
|
}
|
|
328
|
-
|
|
329
|
-
return this.enqueueJob(this.generateId(ProvingRequestType.
|
|
350
|
+
getCheckpointPaddingRollupProof(input, signal, epochNumber) {
|
|
351
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.CHECKPOINT_PADDING_ROLLUP, input, epochNumber), ProvingRequestType.CHECKPOINT_PADDING_ROLLUP, input, epochNumber, signal);
|
|
330
352
|
}
|
|
331
|
-
|
|
332
|
-
return this.enqueueJob(this.generateId(ProvingRequestType.
|
|
353
|
+
getCheckpointMergeRollupProof(input, signal, epochNumber) {
|
|
354
|
+
return this.enqueueJob(this.generateId(ProvingRequestType.CHECKPOINT_MERGE_ROLLUP, input, epochNumber), ProvingRequestType.CHECKPOINT_MERGE_ROLLUP, input, epochNumber, signal);
|
|
333
355
|
}
|
|
334
356
|
getRootRollupProof(input, signal, epochNumber) {
|
|
335
357
|
return this.enqueueJob(this.generateId(ProvingRequestType.ROOT_ROLLUP, input, epochNumber), ProvingRequestType.ROOT_ROLLUP, input, epochNumber, signal);
|
|
336
358
|
}
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
generateId(type, inputs, epochNumber = 0) {
|
|
341
|
-
const inputsHash = sha256(inputs.toBuffer());
|
|
342
|
-
return makeProvingJobId(epochNumber, type, inputsHash.toString('hex'));
|
|
359
|
+
generateId(type, inputs, epochNumber = EpochNumber.ZERO) {
|
|
360
|
+
const inputsHash = createHash('sha256').update(inputs.toBuffer()).digest('hex');
|
|
361
|
+
return makeProvingJobId(epochNumber, type, inputsHash);
|
|
343
362
|
}
|
|
344
363
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { type L1ReaderConfig } from '@aztec/ethereum';
|
|
1
|
+
import { type L1ReaderConfig } from '@aztec/ethereum/l1-reader';
|
|
2
2
|
import { type ConfigMappingsType } from '@aztec/foundation/config';
|
|
3
|
-
import { type
|
|
3
|
+
import { type ChainConfig } from '@aztec/stdlib/config';
|
|
4
|
+
import { type DataStoreConfig } from '@aztec/stdlib/kv-store';
|
|
4
5
|
import { ProvingRequestType } from '@aztec/stdlib/proofs';
|
|
5
6
|
import { z } from 'zod';
|
|
6
7
|
export declare const ProverBrokerConfig: z.ZodObject<{
|
|
@@ -13,33 +14,41 @@ export declare const ProverBrokerConfig: z.ZodObject<{
|
|
|
13
14
|
/** If starting a prover broker locally, the directory to store broker data */
|
|
14
15
|
dataDirectory: z.ZodOptional<z.ZodString>;
|
|
15
16
|
/** The size of the data store map */
|
|
16
|
-
|
|
17
|
+
dataStoreMapSizeKb: z.ZodNumber;
|
|
18
|
+
/** The size of the prover broker's database. Will override the dataStoreMapSizeKb if set. */
|
|
19
|
+
proverBrokerStoreMapSizeKb: z.ZodOptional<z.ZodNumber>;
|
|
17
20
|
/** The prover broker may batch jobs together before writing to the database */
|
|
18
21
|
proverBrokerBatchSize: z.ZodNumber;
|
|
19
22
|
/** How often the job batches get flushed */
|
|
20
23
|
proverBrokerBatchIntervalMs: z.ZodNumber;
|
|
21
24
|
/** The maximum number of epochs to keep results for */
|
|
22
25
|
proverBrokerMaxEpochsToKeepResultsFor: z.ZodNumber;
|
|
26
|
+
/** Enable debug replay mode for replaying proving jobs from stored inputs */
|
|
27
|
+
proverBrokerDebugReplayEnabled: z.ZodBoolean;
|
|
23
28
|
}, "strip", z.ZodTypeAny, {
|
|
24
29
|
proverBrokerJobMaxRetries: number;
|
|
25
30
|
proverBrokerJobTimeoutMs: number;
|
|
26
31
|
proverBrokerPollIntervalMs: number;
|
|
27
|
-
|
|
32
|
+
dataDirectory?: string | undefined;
|
|
33
|
+
dataStoreMapSizeKb: number;
|
|
34
|
+
proverBrokerStoreMapSizeKb?: number | undefined;
|
|
28
35
|
proverBrokerBatchSize: number;
|
|
29
36
|
proverBrokerBatchIntervalMs: number;
|
|
30
37
|
proverBrokerMaxEpochsToKeepResultsFor: number;
|
|
31
|
-
|
|
38
|
+
proverBrokerDebugReplayEnabled: boolean;
|
|
32
39
|
}, {
|
|
33
40
|
proverBrokerJobMaxRetries: number;
|
|
34
41
|
proverBrokerJobTimeoutMs: number;
|
|
35
42
|
proverBrokerPollIntervalMs: number;
|
|
36
|
-
|
|
43
|
+
dataDirectory?: string | undefined;
|
|
44
|
+
dataStoreMapSizeKb: number;
|
|
45
|
+
proverBrokerStoreMapSizeKb?: number | undefined;
|
|
37
46
|
proverBrokerBatchSize: number;
|
|
38
47
|
proverBrokerBatchIntervalMs: number;
|
|
39
48
|
proverBrokerMaxEpochsToKeepResultsFor: number;
|
|
40
|
-
|
|
49
|
+
proverBrokerDebugReplayEnabled: boolean;
|
|
41
50
|
}>;
|
|
42
|
-
export type ProverBrokerConfig = z.infer<typeof ProverBrokerConfig> & Pick<DataStoreConfig, '
|
|
51
|
+
export type ProverBrokerConfig = z.infer<typeof ProverBrokerConfig> & Pick<DataStoreConfig, 'dataStoreMapSizeKb' | 'dataDirectory'> & L1ReaderConfig & Pick<ChainConfig, 'rollupVersion'>;
|
|
43
52
|
export declare const proverBrokerConfigMappings: ConfigMappingsType<ProverBrokerConfig>;
|
|
44
53
|
export declare const defaultProverBrokerConfig: ProverBrokerConfig;
|
|
45
54
|
export declare const ProverAgentConfig: z.ZodObject<{
|
|
@@ -59,25 +68,37 @@ export declare const ProverAgentConfig: z.ZodObject<{
|
|
|
59
68
|
proverTestDelayMs: z.ZodNumber;
|
|
60
69
|
/** If using realistic delays, what percentage of realistic times to apply. */
|
|
61
70
|
proverTestDelayFactor: z.ZodNumber;
|
|
71
|
+
/** The delay (ms) to inject during fake proof verification */
|
|
72
|
+
proverTestVerificationDelayMs: z.ZodOptional<z.ZodNumber>;
|
|
73
|
+
/** Whether to abort pending proving jobs when the orchestrator is cancelled */
|
|
74
|
+
cancelJobsOnStop: z.ZodBoolean;
|
|
75
|
+
/** Where to store proving results. Must be accessible to both prover node and agents. If not set will inline-encode the parameters */
|
|
76
|
+
proofStore: z.ZodOptional<z.ZodString>;
|
|
62
77
|
}, "strip", z.ZodTypeAny, {
|
|
63
78
|
proverAgentCount: number;
|
|
64
79
|
proverAgentProofTypes: ProvingRequestType[];
|
|
65
80
|
proverAgentPollIntervalMs: number;
|
|
81
|
+
proverBrokerUrl?: string | undefined;
|
|
66
82
|
realProofs: boolean;
|
|
67
83
|
proverTestDelayType: "fixed" | "realistic";
|
|
68
84
|
proverTestDelayMs: number;
|
|
69
85
|
proverTestDelayFactor: number;
|
|
70
|
-
|
|
86
|
+
proverTestVerificationDelayMs?: number | undefined;
|
|
87
|
+
cancelJobsOnStop: boolean;
|
|
88
|
+
proofStore?: string | undefined;
|
|
71
89
|
}, {
|
|
72
90
|
proverAgentCount: number;
|
|
73
91
|
proverAgentProofTypes: ProvingRequestType[];
|
|
74
92
|
proverAgentPollIntervalMs: number;
|
|
93
|
+
proverBrokerUrl?: string | undefined;
|
|
75
94
|
realProofs: boolean;
|
|
76
95
|
proverTestDelayType: "fixed" | "realistic";
|
|
77
96
|
proverTestDelayMs: number;
|
|
78
97
|
proverTestDelayFactor: number;
|
|
79
|
-
|
|
98
|
+
proverTestVerificationDelayMs?: number | undefined;
|
|
99
|
+
cancelJobsOnStop: boolean;
|
|
100
|
+
proofStore?: string | undefined;
|
|
80
101
|
}>;
|
|
81
102
|
export type ProverAgentConfig = z.infer<typeof ProverAgentConfig>;
|
|
82
103
|
export declare const proverAgentConfigMappings: ConfigMappingsType<ProverAgentConfig>;
|
|
83
|
-
//# sourceMappingURL=
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmluZ19icm9rZXIvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLGNBQWMsRUFBMEIsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RixPQUFPLEVBQ0wsS0FBSyxrQkFBa0IsRUFJeEIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLEVBQUUsS0FBSyxXQUFXLEVBQXVCLE1BQU0sc0JBQXNCLENBQUM7QUFDN0UsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFzQixNQUFNLHdCQUF3QixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTFELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsZUFBTyxNQUFNLGtCQUFrQjtJQUM3QixxRkFBcUY7O0lBRXJGLHVIQUF1SDs7SUFFdkgsNkZBQTZGOztJQUU3Riw4RUFBOEU7O0lBRTlFLHFDQUFxQzs7SUFFckMsNkZBQTZGOztJQUU3RiwrRUFBK0U7O0lBRS9FLDRDQUE0Qzs7SUFFNUMsdURBQXVEOztJQUV2RCw2RUFBNkU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUU3RSxDQUFDO0FBRUgsTUFBTSxNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxrQkFBa0IsQ0FBQyxHQUNqRSxJQUFJLENBQUMsZUFBZSxFQUFFLG9CQUFvQixHQUFHLGVBQWUsQ0FBQyxHQUM3RCxjQUFjLEdBQ2QsSUFBSSxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQztBQUVyQyxlQUFPLE1BQU0sMEJBQTBCLEVBQUUsa0JBQWtCLENBQUMsa0JBQWtCLENBNEM3RSxDQUFDO0FBRUYsZUFBTyxNQUFNLHlCQUF5QixFQUFFLGtCQUFpRSxDQUFDO0FBRTFHLGVBQU8sTUFBTSxpQkFBaUI7SUFDNUIsMkNBQTJDOztJQUUzQyx3REFBd0Q7O0lBRXhELGdEQUFnRDs7SUFFaEQsK0NBQStDOztJQUUvQyx1Q0FBdUM7O0lBRXZDLGdEQUFnRDs7SUFFaEQsMkRBQTJEOztJQUUzRCw4RUFBOEU7O0lBRTlFLDhEQUE4RDs7SUFFOUQsK0VBQStFOztJQUUvRSxzSUFBc0k7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBRXRJLENBQUM7QUFFSCxNQUFNLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLGlCQUFpQixDQUFDLENBQUM7QUFFbEUsZUFBTyxNQUFNLHlCQUF5QixFQUFFLGtCQUFrQixDQUFDLGlCQUFpQixDQTREM0UsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/proving_broker/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/proving_broker/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,2BAA2B,CAAC;AACxF,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,KAAK,WAAW,EAAuB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,kBAAkB;IAC7B,qFAAqF;;IAErF,uHAAuH;;IAEvH,6FAA6F;;IAE7F,8EAA8E;;IAE9E,qCAAqC;;IAErC,6FAA6F;;IAE7F,+EAA+E;;IAE/E,4CAA4C;;IAE5C,uDAAuD;;IAEvD,6EAA6E;;;;;;;;;;;;;;;;;;;;;;;;EAE7E,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,GACjE,IAAI,CAAC,eAAe,EAAE,oBAAoB,GAAG,eAAe,CAAC,GAC7D,cAAc,GACd,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AAErC,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CAAC,kBAAkB,CA4C7E,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,kBAAiE,CAAC;AAE1G,eAAO,MAAM,iBAAiB;IAC5B,2CAA2C;;IAE3C,wDAAwD;;IAExD,gDAAgD;;IAEhD,+CAA+C;;IAE/C,uCAAuC;;IAEvC,gDAAgD;;IAEhD,2DAA2D;;IAE3D,8EAA8E;;IAE9E,8DAA8D;;IAE9D,+EAA+E;;IAE/E,sIAAsI;;;;;;;;;;;;;;;;;;;;;;;;;;EAEtI,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,CAAC,iBAAiB,CA4D3E,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { l1ReaderConfigMappings } from '@aztec/ethereum';
|
|
1
|
+
import { l1ReaderConfigMappings } from '@aztec/ethereum/l1-reader';
|
|
2
2
|
import { booleanConfigHelper, getDefaultConfig, numberConfigHelper } from '@aztec/foundation/config';
|
|
3
|
-
import {
|
|
3
|
+
import { pickConfigMappings } from '@aztec/foundation/config';
|
|
4
|
+
import { chainConfigMappings } from '@aztec/stdlib/config';
|
|
5
|
+
import { dataConfigMappings } from '@aztec/stdlib/kv-store';
|
|
4
6
|
import { ProvingRequestType } from '@aztec/stdlib/proofs';
|
|
5
7
|
import { z } from 'zod';
|
|
6
8
|
export const ProverBrokerConfig = z.object({
|
|
@@ -8,10 +10,12 @@ export const ProverBrokerConfig = z.object({
|
|
|
8
10
|
/** If starting a prover broker locally, the time after which a job times out and gets assigned to a different agent */ proverBrokerJobTimeoutMs: z.number().int().nonnegative(),
|
|
9
11
|
/** If starting a prover broker locally, the interval the broker checks for timed out jobs */ proverBrokerPollIntervalMs: z.number().int().nonnegative(),
|
|
10
12
|
/** If starting a prover broker locally, the directory to store broker data */ dataDirectory: z.string().optional(),
|
|
11
|
-
/** The size of the data store map */
|
|
13
|
+
/** The size of the data store map */ dataStoreMapSizeKb: z.number().int().nonnegative(),
|
|
14
|
+
/** The size of the prover broker's database. Will override the dataStoreMapSizeKb if set. */ proverBrokerStoreMapSizeKb: z.number().int().nonnegative().optional(),
|
|
12
15
|
/** The prover broker may batch jobs together before writing to the database */ proverBrokerBatchSize: z.number().int().nonnegative(),
|
|
13
16
|
/** How often the job batches get flushed */ proverBrokerBatchIntervalMs: z.number().int().nonnegative(),
|
|
14
|
-
/** The maximum number of epochs to keep results for */ proverBrokerMaxEpochsToKeepResultsFor: z.number().int().nonnegative()
|
|
17
|
+
/** The maximum number of epochs to keep results for */ proverBrokerMaxEpochsToKeepResultsFor: z.number().int().nonnegative(),
|
|
18
|
+
/** Enable debug replay mode for replaying proving jobs from stored inputs */ proverBrokerDebugReplayEnabled: z.boolean()
|
|
15
19
|
});
|
|
16
20
|
export const proverBrokerConfigMappings = {
|
|
17
21
|
proverBrokerJobTimeoutMs: {
|
|
@@ -44,8 +48,21 @@ export const proverBrokerConfigMappings = {
|
|
|
44
48
|
description: 'The maximum number of epochs to keep results for',
|
|
45
49
|
...numberConfigHelper(1)
|
|
46
50
|
},
|
|
51
|
+
proverBrokerStoreMapSizeKb: {
|
|
52
|
+
env: 'PROVER_BROKER_STORE_MAP_SIZE_KB',
|
|
53
|
+
parseEnv: (val)=>val ? +val : undefined,
|
|
54
|
+
description: "The size of the prover broker's database. Will override the dataStoreMapSizeKb if set."
|
|
55
|
+
},
|
|
56
|
+
proverBrokerDebugReplayEnabled: {
|
|
57
|
+
env: 'PROVER_BROKER_DEBUG_REPLAY_ENABLED',
|
|
58
|
+
description: 'Enable debug replay mode for replaying proving jobs from stored inputs',
|
|
59
|
+
...booleanConfigHelper(false)
|
|
60
|
+
},
|
|
61
|
+
...dataConfigMappings,
|
|
47
62
|
...l1ReaderConfigMappings,
|
|
48
|
-
...
|
|
63
|
+
...pickConfigMappings(chainConfigMappings, [
|
|
64
|
+
'rollupVersion'
|
|
65
|
+
])
|
|
49
66
|
};
|
|
50
67
|
export const defaultProverBrokerConfig = getDefaultConfig(proverBrokerConfigMappings);
|
|
51
68
|
export const ProverAgentConfig = z.object({
|
|
@@ -59,7 +76,10 @@ export const ProverAgentConfig = z.object({
|
|
|
59
76
|
'realistic'
|
|
60
77
|
]),
|
|
61
78
|
/** If using fixed delay, the time each operation takes. */ proverTestDelayMs: z.number(),
|
|
62
|
-
/** If using realistic delays, what percentage of realistic times to apply. */ proverTestDelayFactor: z.number()
|
|
79
|
+
/** If using realistic delays, what percentage of realistic times to apply. */ proverTestDelayFactor: z.number(),
|
|
80
|
+
/** The delay (ms) to inject during fake proof verification */ proverTestVerificationDelayMs: z.number().optional(),
|
|
81
|
+
/** Whether to abort pending proving jobs when the orchestrator is cancelled */ cancelJobsOnStop: z.boolean(),
|
|
82
|
+
/** Where to store proving results. Must be accessible to both prover node and agents. If not set will inline-encode the parameters */ proofStore: z.string().optional()
|
|
63
83
|
});
|
|
64
84
|
export const proverAgentConfigMappings = {
|
|
65
85
|
proverAgentCount: {
|
|
@@ -70,7 +90,7 @@ export const proverAgentConfigMappings = {
|
|
|
70
90
|
proverAgentPollIntervalMs: {
|
|
71
91
|
env: 'PROVER_AGENT_POLL_INTERVAL_MS',
|
|
72
92
|
description: 'The interval agents poll for jobs at',
|
|
73
|
-
...numberConfigHelper(
|
|
93
|
+
...numberConfigHelper(1000)
|
|
74
94
|
},
|
|
75
95
|
proverAgentProofTypes: {
|
|
76
96
|
env: 'PROVER_AGENT_PROOF_TYPES',
|
|
@@ -84,7 +104,7 @@ export const proverAgentConfigMappings = {
|
|
|
84
104
|
realProofs: {
|
|
85
105
|
env: 'PROVER_REAL_PROOFS',
|
|
86
106
|
description: 'Whether to construct real proofs',
|
|
87
|
-
...booleanConfigHelper(
|
|
107
|
+
...booleanConfigHelper(true)
|
|
88
108
|
},
|
|
89
109
|
proverTestDelayType: {
|
|
90
110
|
env: 'PROVER_TEST_DELAY_TYPE',
|
|
@@ -100,5 +120,19 @@ export const proverAgentConfigMappings = {
|
|
|
100
120
|
env: 'PROVER_TEST_DELAY_FACTOR',
|
|
101
121
|
description: 'If using realistic delays, what percentage of realistic times to apply.',
|
|
102
122
|
...numberConfigHelper(1)
|
|
123
|
+
},
|
|
124
|
+
proverTestVerificationDelayMs: {
|
|
125
|
+
env: 'PROVER_TEST_VERIFICATION_DELAY_MS',
|
|
126
|
+
description: 'The delay (ms) to inject during fake proof verification',
|
|
127
|
+
...numberConfigHelper(10)
|
|
128
|
+
},
|
|
129
|
+
cancelJobsOnStop: {
|
|
130
|
+
env: 'PROVER_CANCEL_JOBS_ON_STOP',
|
|
131
|
+
description: 'Whether to abort pending proving jobs when the orchestrator is cancelled. ' + 'When false (default), jobs remain in the broker queue and can be reused on restart/reorg.',
|
|
132
|
+
...booleanConfigHelper(false)
|
|
133
|
+
},
|
|
134
|
+
proofStore: {
|
|
135
|
+
env: 'PROVER_PROOF_STORE',
|
|
136
|
+
description: 'Optional proof input store for the prover'
|
|
103
137
|
}
|
|
104
138
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { TelemetryClient } from '@aztec/telemetry-client';
|
|
2
2
|
import type { ProverBrokerConfig } from './config.js';
|
|
3
3
|
import { ProvingBroker } from './proving_broker.js';
|
|
4
|
-
export declare function createAndStartProvingBroker(
|
|
5
|
-
//# sourceMappingURL=
|
|
4
|
+
export declare function createAndStartProvingBroker(_config: ProverBrokerConfig, client: TelemetryClient): Promise<ProvingBroker>;
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpbmdfYnJva2VyL2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFL0QsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSXBELHdCQUFzQiwyQkFBMkIsQ0FDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUMzQixNQUFNLEVBQUUsZUFBZSxHQUN0QixPQUFPLENBQUMsYUFBYSxDQUFDLENBUXhCIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/proving_broker/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,wBAAsB,2BAA2B,CAC/C,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/proving_broker/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIpD,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,eAAe,GACtB,OAAO,CAAC,aAAa,CAAC,CAQxB"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { ProvingBroker } from './proving_broker.js';
|
|
2
2
|
import { InMemoryBrokerDatabase } from './proving_broker_database/memory.js';
|
|
3
3
|
import { KVBrokerDatabase } from './proving_broker_database/persisted.js';
|
|
4
|
-
export async function createAndStartProvingBroker(
|
|
4
|
+
export async function createAndStartProvingBroker(_config, client) {
|
|
5
|
+
const config = {
|
|
6
|
+
..._config,
|
|
7
|
+
dataStoreMapSizeKb: _config.proverBrokerStoreMapSizeKb ?? _config.dataStoreMapSizeKb
|
|
8
|
+
};
|
|
5
9
|
const database = config.dataDirectory ? await KVBrokerDatabase.new(config, client) : new InMemoryBrokerDatabase();
|
|
6
10
|
const broker = new ProvingBroker(database, config, client);
|
|
7
11
|
await broker.start();
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { type ProofUri, type ProvingJobId } from '@aztec/stdlib/interfaces/server';
|
|
2
|
-
export declare function makeRandomProvingJobId(epochNumber?:
|
|
3
|
+
export declare function makeRandomProvingJobId(epochNumber?: EpochNumber): ProvingJobId;
|
|
3
4
|
export declare function makeInputsUri(): ProofUri;
|
|
4
5
|
export declare function makeOutputsUri(): ProofUri;
|
|
5
|
-
//# sourceMappingURL=
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92aW5nX2Jyb2tlci9maXh0dXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFOUQsT0FBTyxFQUFFLEtBQUssUUFBUSxFQUFFLEtBQUssWUFBWSxFQUFvQixNQUFNLGlDQUFpQyxDQUFDO0FBR3JHLHdCQUFnQixzQkFBc0IsQ0FBQyxXQUFXLENBQUMsRUFBRSxXQUFXLEdBQUcsWUFBWSxDQU05RTtBQUVELHdCQUFnQixhQUFhLElBQUksUUFBUSxDQUV4QztBQUVELHdCQUFnQixjQUFjLElBQUksUUFBUSxDQUV6QyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/proving_broker/fixtures.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../src/proving_broker/fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAoB,MAAM,iCAAiC,CAAC;AAGrG,wBAAgB,sBAAsB,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,YAAY,CAM9E;AAED,wBAAgB,aAAa,IAAI,QAAQ,CAExC;AAED,wBAAgB,cAAc,IAAI,QAAQ,CAEzC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { randomBytes } from '@aztec/foundation/crypto/random';
|
|
2
3
|
import { makeProvingJobId } from '@aztec/stdlib/interfaces/server';
|
|
3
4
|
import { ProvingRequestType } from '@aztec/stdlib/proofs';
|
|
4
5
|
export function makeRandomProvingJobId(epochNumber) {
|
|
5
|
-
return makeProvingJobId(epochNumber ?? 1, ProvingRequestType.
|
|
6
|
+
return makeProvingJobId(epochNumber ?? EpochNumber(1), ProvingRequestType.PARITY_BASE, randomBytes(8).toString('hex'));
|
|
6
7
|
}
|
|
7
8
|
export function makeInputsUri() {
|
|
8
9
|
return randomBytes(8).toString('hex');
|
|
@@ -7,4 +7,4 @@ export * from './proving_broker_database/persisted.js';
|
|
|
7
7
|
export * from './proof_store/index.js';
|
|
8
8
|
export * from './factory.js';
|
|
9
9
|
export * from './config.js';
|
|
10
|
-
//# sourceMappingURL=
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92aW5nX2Jyb2tlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQyJ9
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import { GoogleCloudStorageProofStore } from './gcs_proof_store.js';
|
|
2
|
-
import { InlineProofStore } from './inline_proof_store.js';
|
|
3
1
|
import type { ProofStore } from './proof_store.js';
|
|
4
|
-
export declare function createProofStore(config: string | undefined, logger?: import("@aztec/foundation/log").Logger):
|
|
5
|
-
|
|
6
|
-
//# sourceMappingURL=factory.d.ts.map
|
|
2
|
+
export declare function createProofStore(config: string | undefined, logger?: import("@aztec/foundation/log").Logger): Promise<ProofStore>;
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb3ZpbmdfYnJva2VyL3Byb29mX3N0b3JlL2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkQsd0JBQXNCLGdCQUFnQixDQUNwQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDMUIsTUFBTSx5Q0FBNEMsR0FDakQsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQVNyQiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/proving_broker/proof_store/factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/proving_broker/proof_store/factory.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,MAAM,yCAA4C,GACjD,OAAO,CAAC,UAAU,CAAC,CASrB"}
|
|
@@ -1,36 +1,13 @@
|
|
|
1
1
|
import { createLogger } from '@aztec/foundation/log';
|
|
2
|
-
import {
|
|
2
|
+
import { createFileStore } from '@aztec/stdlib/file-store';
|
|
3
|
+
import { FileStoreProofStore } from './file_store_proof_store.js';
|
|
3
4
|
import { InlineProofStore } from './inline_proof_store.js';
|
|
4
|
-
export function createProofStore(config, logger = createLogger('prover-client:proof-store')) {
|
|
5
|
-
if (config
|
|
5
|
+
export async function createProofStore(config, logger = createLogger('prover-client:proof-store')) {
|
|
6
|
+
if (!config) {
|
|
6
7
|
logger.info('Creating inline proof store');
|
|
7
8
|
return new InlineProofStore();
|
|
8
|
-
} else if (config.startsWith('gs://')) {
|
|
9
|
-
try {
|
|
10
|
-
const url = new URL(config);
|
|
11
|
-
const bucket = url.host;
|
|
12
|
-
const path = url.pathname.replace(/^\/+/, '');
|
|
13
|
-
logger.info(`Creating google cloud proof store at ${bucket}`, {
|
|
14
|
-
bucket,
|
|
15
|
-
path
|
|
16
|
-
});
|
|
17
|
-
return new GoogleCloudStorageProofStore(bucket, path);
|
|
18
|
-
} catch (err) {
|
|
19
|
-
throw new Error(`Invalid google cloud proof store definition: '${config}'. Supported values are 'gs://bucket-name/path/to/store'.`);
|
|
20
|
-
}
|
|
21
|
-
} else {
|
|
22
|
-
throw new Error(`Unknown proof store config: '${config}'. Supported values are 'gs://bucket-name/path/to/store'.`);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
export function createProofStoreForUri(uri, logger = createLogger('prover-client:proof-store')) {
|
|
26
|
-
if (uri.startsWith('data://')) {
|
|
27
|
-
return createProofStore(undefined, logger);
|
|
28
|
-
} else if (uri.startsWith('gs://')) {
|
|
29
|
-
const url = new URL(uri);
|
|
30
|
-
const basePath = url.pathname.replace(/^\/+/, '').split('/').slice(0, -3);
|
|
31
|
-
url.pathname = basePath.join('/');
|
|
32
|
-
return createProofStore(uri, logger);
|
|
33
|
-
} else {
|
|
34
|
-
throw new Error(`Unknown proof store config: '${uri}'. Supported protocols are 'data://' and 'gs://'.`);
|
|
35
9
|
}
|
|
10
|
+
const fileStore = await createFileStore(config, logger);
|
|
11
|
+
logger.info(`Creating file store proof store at ${config}`);
|
|
12
|
+
return new FileStoreProofStore(fileStore);
|
|
36
13
|
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { FileStore } from '@aztec/stdlib/file-store';
|
|
2
|
+
import { type ProofUri, type ProvingJobId, type ProvingJobInputs, type ProvingJobInputsMap, ProvingJobResult, type ProvingJobResultsMap } from '@aztec/stdlib/interfaces/server';
|
|
3
|
+
import { ProvingRequestType } from '@aztec/stdlib/proofs';
|
|
4
|
+
import type { ProofStore } from './proof_store.js';
|
|
5
|
+
/**
|
|
6
|
+
* A proof store implementation backed by a generic FileStore.
|
|
7
|
+
* Supports any storage backend (GCS, S3, local filesystem) via the FileStore abstraction.
|
|
8
|
+
*/
|
|
9
|
+
export declare class FileStoreProofStore implements ProofStore {
|
|
10
|
+
private readonly fileStore;
|
|
11
|
+
constructor(fileStore: FileStore);
|
|
12
|
+
saveProofInput<T extends ProvingRequestType>(id: ProvingJobId, type: T, inputs: ProvingJobInputsMap[T]): Promise<ProofUri>;
|
|
13
|
+
saveProofOutput<T extends ProvingRequestType>(id: ProvingJobId, type: T, result: ProvingJobResultsMap[T]): Promise<ProofUri>;
|
|
14
|
+
getProofInput(uri: ProofUri): Promise<ProvingJobInputs>;
|
|
15
|
+
getProofOutput(uri: ProofUri): Promise<ProvingJobResult>;
|
|
16
|
+
private extractTypeFromUri;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZV9zdG9yZV9wcm9vZl9zdG9yZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb3ZpbmdfYnJva2VyL3Byb29mX3N0b3JlL2ZpbGVfc3RvcmVfcHJvb2Zfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUNMLEtBQUssUUFBUSxFQUNiLEtBQUssWUFBWSxFQUNqQixLQUFLLGdCQUFnQixFQUNyQixLQUFLLG1CQUFtQixFQUN4QixnQkFBZ0IsRUFDaEIsS0FBSyxvQkFBb0IsRUFFMUIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUtuRDs7O0dBR0c7QUFDSCxxQkFBYSxtQkFBb0IsWUFBVyxVQUFVO0lBQ3hDLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUztJQUF0QyxZQUE2QixTQUFTLEVBQUUsU0FBUyxFQUFJO0lBRS9DLGNBQWMsQ0FBQyxDQUFDLFNBQVMsa0JBQWtCLEVBQy9DLEVBQUUsRUFBRSxZQUFZLEVBQ2hCLElBQUksRUFBRSxDQUFDLEVBQ1AsTUFBTSxFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxHQUM3QixPQUFPLENBQUMsUUFBUSxDQUFDLENBSW5CO0lBRUssZUFBZSxDQUFDLENBQUMsU0FBUyxrQkFBa0IsRUFDaEQsRUFBRSxFQUFFLFlBQVksRUFDaEIsSUFBSSxFQUFFLENBQUMsRUFDUCxNQUFNLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEdBQzlCLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FNbkI7SUFFSyxhQUFhLENBQUMsR0FBRyxFQUFFLFFBQVEsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FTNUQ7SUFFSyxjQUFjLENBQUMsR0FBRyxFQUFFLFFBQVEsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FPN0Q7SUFFRCxPQUFPLENBQUMsa0JBQWtCO0NBVTNCIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file_store_proof_store.d.ts","sourceRoot":"","sources":["../../../src/proving_broker/proof_store/file_store_proof_store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,gBAAgB,EAChB,KAAK,oBAAoB,EAE1B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKnD;;;GAGG;AACH,qBAAa,mBAAoB,YAAW,UAAU;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAAtC,YAA6B,SAAS,EAAE,SAAS,EAAI;IAE/C,cAAc,CAAC,CAAC,SAAS,kBAAkB,EAC/C,EAAE,EAAE,YAAY,EAChB,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAC7B,OAAO,CAAC,QAAQ,CAAC,CAInB;IAEK,eAAe,CAAC,CAAC,SAAS,kBAAkB,EAChD,EAAE,EAAE,YAAY,EAChB,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC9B,OAAO,CAAC,QAAQ,CAAC,CAMnB;IAEK,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAS5D;IAEK,cAAc,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAO7D;IAED,OAAO,CAAC,kBAAkB;CAU3B"}
|