@aztec/prover-client 0.73.0 → 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2
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/bin/get-proof-inputs.js +18 -16
- package/dest/block_builder/index.js +0 -1
- package/dest/block_builder/light.js +23 -13
- package/dest/config.js +9 -11
- package/dest/index.js +0 -1
- package/dest/mocks/fixtures.js +28 -26
- package/dest/mocks/test_context.js +55 -31
- package/dest/orchestrator/block-building-helpers.js +90 -90
- package/dest/orchestrator/block-proving-state.js +95 -70
- package/dest/orchestrator/epoch-proving-state.js +53 -40
- package/dest/orchestrator/index.js +0 -1
- package/dest/orchestrator/orchestrator.js +649 -653
- package/dest/orchestrator/orchestrator_metrics.js +4 -3
- package/dest/orchestrator/tx-proving-state.js +52 -51
- package/dest/prover-agent/index.js +0 -1
- package/dest/prover-agent/memory-proving-queue.js +237 -248
- package/dest/prover-agent/prover-agent.js +184 -187
- package/dest/prover-agent/proving-error.js +0 -1
- package/dest/prover-agent/queue_metrics.js +6 -5
- package/dest/prover-agent/rpc.js +6 -4
- package/dest/prover-client/factory.js +0 -1
- package/dest/prover-client/index.js +0 -1
- package/dest/prover-client/prover-client.js +30 -25
- package/dest/prover-client/server-epoch-prover.js +4 -4
- package/dest/proving_broker/broker_prover_facade.js +70 -59
- package/dest/proving_broker/config.js +22 -37
- package/dest/proving_broker/factory.js +1 -2
- package/dest/proving_broker/fixtures.js +0 -1
- package/dest/proving_broker/index.js +0 -1
- package/dest/proving_broker/proof_store/factory.js +9 -12
- package/dest/proving_broker/proof_store/gcs_proof_store.js +11 -7
- package/dest/proving_broker/proof_store/index.js +0 -1
- package/dest/proving_broker/proof_store/inline_proof_store.js +11 -7
- package/dest/proving_broker/proof_store/proof_store.js +3 -2
- package/dest/proving_broker/proving_agent.js +121 -110
- package/dest/proving_broker/proving_agent_instrumentation.js +3 -3
- package/dest/proving_broker/proving_broker.js +491 -451
- package/dest/proving_broker/proving_broker_database/memory.js +19 -13
- package/dest/proving_broker/proving_broker_database/persisted.js +41 -21
- package/dest/proving_broker/proving_broker_database.js +3 -2
- package/dest/proving_broker/proving_broker_instrumentation.js +28 -21
- package/dest/proving_broker/proving_job_controller.js +81 -62
- package/dest/proving_broker/rpc.js +23 -15
- package/dest/test/mock_prover.js +11 -9
- package/package.json +13 -11
- package/src/index.ts +1 -1
- package/src/orchestrator/block-building-helpers.ts +1 -1
- package/src/proving_broker/proving_agent.ts +30 -11
- package/src/proving_broker/proving_broker.ts +53 -27
- package/src/proving_broker/rpc.ts +8 -2
- package/dest/bin/get-proof-inputs.d.ts +0 -2
- package/dest/bin/get-proof-inputs.d.ts.map +0 -1
- package/dest/block_builder/index.d.ts +0 -6
- package/dest/block_builder/index.d.ts.map +0 -1
- package/dest/block_builder/light.d.ts +0 -31
- package/dest/block_builder/light.d.ts.map +0 -1
- package/dest/config.d.ts +0 -17
- package/dest/config.d.ts.map +0 -1
- package/dest/index.d.ts +0 -4
- package/dest/index.d.ts.map +0 -1
- package/dest/mocks/fixtures.d.ts +0 -19
- package/dest/mocks/fixtures.d.ts.map +0 -1
- package/dest/mocks/test_context.d.ts +0 -49
- package/dest/mocks/test_context.d.ts.map +0 -1
- package/dest/orchestrator/block-building-helpers.d.ts +0 -50
- package/dest/orchestrator/block-building-helpers.d.ts.map +0 -1
- package/dest/orchestrator/block-proving-state.d.ts +0 -71
- package/dest/orchestrator/block-proving-state.d.ts.map +0 -1
- package/dest/orchestrator/epoch-proving-state.d.ts +0 -56
- package/dest/orchestrator/epoch-proving-state.d.ts.map +0 -1
- package/dest/orchestrator/index.d.ts +0 -2
- package/dest/orchestrator/index.d.ts.map +0 -1
- package/dest/orchestrator/orchestrator.d.ts +0 -108
- package/dest/orchestrator/orchestrator.d.ts.map +0 -1
- package/dest/orchestrator/orchestrator_metrics.d.ts +0 -8
- package/dest/orchestrator/orchestrator_metrics.d.ts.map +0 -1
- package/dest/orchestrator/tx-proving-state.d.ts +0 -31
- package/dest/orchestrator/tx-proving-state.d.ts.map +0 -1
- package/dest/prover-agent/index.d.ts +0 -4
- package/dest/prover-agent/index.d.ts.map +0 -1
- package/dest/prover-agent/memory-proving-queue.d.ts +0 -82
- package/dest/prover-agent/memory-proving-queue.d.ts.map +0 -1
- package/dest/prover-agent/prover-agent.d.ts +0 -43
- package/dest/prover-agent/prover-agent.d.ts.map +0 -1
- package/dest/prover-agent/proving-error.d.ts +0 -5
- package/dest/prover-agent/proving-error.d.ts.map +0 -1
- package/dest/prover-agent/queue_metrics.d.ts +0 -10
- package/dest/prover-agent/queue_metrics.d.ts.map +0 -1
- package/dest/prover-agent/rpc.d.ts +0 -11
- package/dest/prover-agent/rpc.d.ts.map +0 -1
- package/dest/prover-client/factory.d.ts +0 -6
- package/dest/prover-client/factory.d.ts.map +0 -1
- package/dest/prover-client/index.d.ts +0 -3
- package/dest/prover-client/index.d.ts.map +0 -1
- package/dest/prover-client/prover-client.d.ts +0 -42
- package/dest/prover-client/prover-client.d.ts.map +0 -1
- package/dest/prover-client/server-epoch-prover.d.ts +0 -25
- package/dest/prover-client/server-epoch-prover.d.ts.map +0 -1
- package/dest/proving_broker/broker_prover_facade.d.ts +0 -39
- package/dest/proving_broker/broker_prover_facade.d.ts.map +0 -1
- package/dest/proving_broker/config.d.ts +0 -61
- package/dest/proving_broker/config.d.ts.map +0 -1
- package/dest/proving_broker/factory.d.ts +0 -5
- package/dest/proving_broker/factory.d.ts.map +0 -1
- package/dest/proving_broker/fixtures.d.ts +0 -5
- package/dest/proving_broker/fixtures.d.ts.map +0 -1
- package/dest/proving_broker/index.d.ts +0 -10
- package/dest/proving_broker/index.d.ts.map +0 -1
- package/dest/proving_broker/proof_store/factory.d.ts +0 -6
- package/dest/proving_broker/proof_store/factory.d.ts.map +0 -1
- package/dest/proving_broker/proof_store/gcs_proof_store.d.ts +0 -13
- package/dest/proving_broker/proof_store/gcs_proof_store.d.ts.map +0 -1
- package/dest/proving_broker/proof_store/index.d.ts +0 -4
- package/dest/proving_broker/proof_store/index.d.ts.map +0 -1
- package/dest/proving_broker/proof_store/inline_proof_store.d.ts +0 -14
- package/dest/proving_broker/proof_store/inline_proof_store.d.ts.map +0 -1
- package/dest/proving_broker/proof_store/proof_store.d.ts +0 -35
- package/dest/proving_broker/proof_store/proof_store.d.ts.map +0 -1
- package/dest/proving_broker/proving_agent.d.ts +0 -44
- package/dest/proving_broker/proving_agent.d.ts.map +0 -1
- 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_broker.d.ts +0 -75
- package/dest/proving_broker/proving_broker.d.ts.map +0 -1
- package/dest/proving_broker/proving_broker_database/memory.d.ts +0 -16
- package/dest/proving_broker/proving_broker_database/memory.d.ts.map +0 -1
- package/dest/proving_broker/proving_broker_database/persisted.d.ts +0 -21
- package/dest/proving_broker/proving_broker_database/persisted.d.ts.map +0 -1
- package/dest/proving_broker/proving_broker_database.d.ts +0 -39
- package/dest/proving_broker/proving_broker_database.d.ts.map +0 -1
- package/dest/proving_broker/proving_broker_instrumentation.d.ts +0 -25
- package/dest/proving_broker/proving_broker_instrumentation.d.ts.map +0 -1
- package/dest/proving_broker/proving_job_controller.d.ts +0 -31
- package/dest/proving_broker/proving_job_controller.d.ts.map +0 -1
- package/dest/proving_broker/rpc.d.ts +0 -11
- package/dest/proving_broker/rpc.d.ts.map +0 -1
- package/dest/test/mock_prover.d.ts +0 -33
- package/dest/test/mock_prover.d.ts.map +0 -1
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import { getEpochFromProvingJobId
|
|
1
|
+
import { getEpochFromProvingJobId } from '@aztec/circuit-types';
|
|
2
2
|
export class InMemoryBrokerDatabase {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
this.results = new Map();
|
|
6
|
-
}
|
|
3
|
+
jobs = new Map();
|
|
4
|
+
results = new Map();
|
|
7
5
|
getProvingJob(id) {
|
|
8
6
|
return this.jobs.get(id);
|
|
9
7
|
}
|
|
@@ -15,15 +13,21 @@ export class InMemoryBrokerDatabase {
|
|
|
15
13
|
return Promise.resolve();
|
|
16
14
|
}
|
|
17
15
|
setProvingJobResult(id, value) {
|
|
18
|
-
this.results.set(id, {
|
|
16
|
+
this.results.set(id, {
|
|
17
|
+
status: 'fulfilled',
|
|
18
|
+
value
|
|
19
|
+
});
|
|
19
20
|
return Promise.resolve();
|
|
20
21
|
}
|
|
21
22
|
setProvingJobError(id, reason) {
|
|
22
|
-
this.results.set(id, {
|
|
23
|
+
this.results.set(id, {
|
|
24
|
+
status: 'rejected',
|
|
25
|
+
reason
|
|
26
|
+
});
|
|
23
27
|
return Promise.resolve();
|
|
24
28
|
}
|
|
25
29
|
deleteProvingJobs(ids) {
|
|
26
|
-
for (const id of ids)
|
|
30
|
+
for (const id of ids){
|
|
27
31
|
this.jobs.delete(id);
|
|
28
32
|
this.results.delete(id);
|
|
29
33
|
}
|
|
@@ -31,18 +35,20 @@ export class InMemoryBrokerDatabase {
|
|
|
31
35
|
}
|
|
32
36
|
deleteAllProvingJobsOlderThanEpoch(epochNumber) {
|
|
33
37
|
const toDelete = [
|
|
34
|
-
...Array.from(this.jobs.keys()).filter(x
|
|
35
|
-
...Array.from(this.results.keys()).filter(x
|
|
38
|
+
...Array.from(this.jobs.keys()).filter((x)=>getEpochFromProvingJobId(x) < epochNumber),
|
|
39
|
+
...Array.from(this.results.keys()).filter((x)=>getEpochFromProvingJobId(x) < epochNumber)
|
|
36
40
|
];
|
|
37
41
|
return this.deleteProvingJobs(toDelete);
|
|
38
42
|
}
|
|
39
43
|
async *allProvingJobs() {
|
|
40
|
-
for await (const item of this.jobs.values())
|
|
41
|
-
yield [
|
|
44
|
+
for await (const item of this.jobs.values()){
|
|
45
|
+
yield [
|
|
46
|
+
item,
|
|
47
|
+
this.results.get(item.id)
|
|
48
|
+
];
|
|
42
49
|
}
|
|
43
50
|
}
|
|
44
51
|
close() {
|
|
45
52
|
return Promise.resolve();
|
|
46
53
|
}
|
|
47
54
|
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb3ZpbmdfYnJva2VyL3Byb3ZpbmdfYnJva2VyX2RhdGFiYXNlL21lbW9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBS0wsd0JBQXdCLEdBQ3pCLE1BQU0sc0JBQXNCLENBQUM7QUFJOUIsTUFBTSxPQUFPLHNCQUFzQjtJQUFuQztRQUNVLFNBQUksR0FBRyxJQUFJLEdBQUcsRUFBNEIsQ0FBQztRQUMzQyxZQUFPLEdBQUcsSUFBSSxHQUFHLEVBQXlDLENBQUM7SUFrRHJFLENBQUM7SUFoREMsYUFBYSxDQUFDLEVBQWdCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELG1CQUFtQixDQUFDLEVBQWdCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUFtQjtRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxFQUFnQixFQUFFLEtBQWU7UUFDbkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxFQUFnQixFQUFFLE1BQWM7UUFDakQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxHQUFtQjtRQUNuQyxLQUFLLE1BQU0sRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsa0NBQWtDLENBQUMsV0FBbUI7UUFDcEQsTUFBTSxRQUFRLEdBQUc7WUFDZixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQztZQUN0RixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQztTQUMxRixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELEtBQUssQ0FBQyxDQUFDLGNBQWM7UUFDbkIsSUFBSSxLQUFLLEVBQUUsTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQzVDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFVLENBQUM7UUFDbkQsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0IsQ0FBQztDQUNGIn0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ProvingJob, ProvingJobSettledResult, getEpochFromProvingJobId
|
|
1
|
+
import { ProvingJob, ProvingJobSettledResult, getEpochFromProvingJobId } from '@aztec/circuit-types';
|
|
2
2
|
import { jsonParseWithSchema, jsonStringify } from '@aztec/foundation/json-rpc';
|
|
3
3
|
import { createLogger } from '@aztec/foundation/log';
|
|
4
4
|
import { AztecLMDBStoreV2 } from '@aztec/kv-store/lmdb-v2';
|
|
@@ -6,7 +6,10 @@ import { Attributes, LmdbMetrics, getTelemetryClient } from '@aztec/telemetry-cl
|
|
|
6
6
|
import { mkdir, readdir } from 'fs/promises';
|
|
7
7
|
import { join } from 'path';
|
|
8
8
|
class SingleEpochDatabase {
|
|
9
|
-
|
|
9
|
+
store;
|
|
10
|
+
jobs;
|
|
11
|
+
jobResults;
|
|
12
|
+
constructor(store){
|
|
10
13
|
this.store = store;
|
|
11
14
|
this.jobs = store.openMap('proving_jobs');
|
|
12
15
|
this.jobResults = store.openMap('proving_job_results');
|
|
@@ -18,19 +21,28 @@ class SingleEpochDatabase {
|
|
|
18
21
|
await this.jobs.set(job.id, jsonStringify(job));
|
|
19
22
|
}
|
|
20
23
|
async *allProvingJobs() {
|
|
21
|
-
for await (const jobStr of this.jobs.valuesAsync())
|
|
24
|
+
for await (const jobStr of this.jobs.valuesAsync()){
|
|
22
25
|
const job = await jsonParseWithSchema(jobStr, ProvingJob);
|
|
23
26
|
const resultStr = await this.jobResults.getAsync(job.id);
|
|
24
27
|
const result = resultStr ? await jsonParseWithSchema(resultStr, ProvingJobSettledResult) : undefined;
|
|
25
|
-
yield [
|
|
28
|
+
yield [
|
|
29
|
+
job,
|
|
30
|
+
result
|
|
31
|
+
];
|
|
26
32
|
}
|
|
27
33
|
}
|
|
28
34
|
async setProvingJobError(id, reason) {
|
|
29
|
-
const result = {
|
|
35
|
+
const result = {
|
|
36
|
+
status: 'rejected',
|
|
37
|
+
reason
|
|
38
|
+
};
|
|
30
39
|
await this.jobResults.set(id, jsonStringify(result));
|
|
31
40
|
}
|
|
32
41
|
async setProvingJobResult(id, value) {
|
|
33
|
-
const result = {
|
|
42
|
+
const result = {
|
|
43
|
+
status: 'fulfilled',
|
|
44
|
+
value
|
|
45
|
+
};
|
|
34
46
|
await this.jobResults.set(id, jsonStringify(result));
|
|
35
47
|
}
|
|
36
48
|
delete() {
|
|
@@ -41,26 +53,33 @@ class SingleEpochDatabase {
|
|
|
41
53
|
}
|
|
42
54
|
}
|
|
43
55
|
export class KVBrokerDatabase {
|
|
44
|
-
|
|
56
|
+
epochs;
|
|
57
|
+
config;
|
|
58
|
+
logger;
|
|
59
|
+
metrics;
|
|
60
|
+
constructor(epochs, config, client = getTelemetryClient(), logger){
|
|
45
61
|
this.epochs = epochs;
|
|
46
62
|
this.config = config;
|
|
47
63
|
this.logger = logger;
|
|
48
64
|
this.metrics = new LmdbMetrics(client.getMeter('KVBrokerDatabase'), {
|
|
49
|
-
[Attributes.DB_DATA_TYPE]: 'prover-broker'
|
|
50
|
-
}, ()
|
|
65
|
+
[Attributes.DB_DATA_TYPE]: 'prover-broker'
|
|
66
|
+
}, ()=>this.estimateSize());
|
|
51
67
|
}
|
|
52
68
|
async estimateSize() {
|
|
53
|
-
const sizes = await Promise.all(Array.from(this.epochs.values()).map(x
|
|
69
|
+
const sizes = await Promise.all(Array.from(this.epochs.values()).map((x)=>x.estimateSize()));
|
|
54
70
|
return {
|
|
55
71
|
mappingSize: this.config.dataStoreMapSizeKB,
|
|
56
|
-
numItems: sizes.reduce((prev, curr)
|
|
57
|
-
actualSize: sizes.reduce((prev, curr)
|
|
72
|
+
numItems: sizes.reduce((prev, curr)=>prev + curr.numItems, 0),
|
|
73
|
+
actualSize: sizes.reduce((prev, curr)=>prev + curr.actualSize, 0)
|
|
58
74
|
};
|
|
59
75
|
}
|
|
60
76
|
static async new(config, client = getTelemetryClient(), logger = createLogger('prover-client:proving-broker-database')) {
|
|
61
77
|
const epochs = new Map();
|
|
62
|
-
const files = await readdir(config.dataDirectory, {
|
|
63
|
-
|
|
78
|
+
const files = await readdir(config.dataDirectory, {
|
|
79
|
+
recursive: false,
|
|
80
|
+
withFileTypes: true
|
|
81
|
+
});
|
|
82
|
+
for (const file of files){
|
|
64
83
|
if (!file.isDirectory()) {
|
|
65
84
|
continue;
|
|
66
85
|
}
|
|
@@ -79,13 +98,13 @@ export class KVBrokerDatabase {
|
|
|
79
98
|
return new KVBrokerDatabase(epochs, config, client, logger);
|
|
80
99
|
}
|
|
81
100
|
async close() {
|
|
82
|
-
for (const [_, v] of this.epochs)
|
|
101
|
+
for (const [_, v] of this.epochs){
|
|
83
102
|
await v.close();
|
|
84
103
|
}
|
|
85
104
|
}
|
|
86
105
|
async deleteAllProvingJobsOlderThanEpoch(epochNumber) {
|
|
87
|
-
const oldEpochs = Array.from(this.epochs.keys()).filter(e
|
|
88
|
-
for (const old of oldEpochs)
|
|
106
|
+
const oldEpochs = Array.from(this.epochs.keys()).filter((e)=>e < epochNumber);
|
|
107
|
+
for (const old of oldEpochs){
|
|
89
108
|
const db = this.epochs.get(old);
|
|
90
109
|
if (!db) {
|
|
91
110
|
continue;
|
|
@@ -99,7 +118,9 @@ export class KVBrokerDatabase {
|
|
|
99
118
|
let epochDb = this.epochs.get(job.epochNumber);
|
|
100
119
|
if (!epochDb) {
|
|
101
120
|
const newEpochDirectory = join(this.config.dataDirectory, job.epochNumber.toString());
|
|
102
|
-
await mkdir(newEpochDirectory, {
|
|
121
|
+
await mkdir(newEpochDirectory, {
|
|
122
|
+
recursive: true
|
|
123
|
+
});
|
|
103
124
|
this.logger.info(`Creating broker database for epoch ${job.epochNumber} at ${newEpochDirectory} with map size ${this.config.dataStoreMapSizeKB}`);
|
|
104
125
|
const db = await AztecLMDBStoreV2.new(newEpochDirectory, this.config.dataStoreMapSizeKB);
|
|
105
126
|
epochDb = new SingleEpochDatabase(db);
|
|
@@ -108,8 +129,8 @@ export class KVBrokerDatabase {
|
|
|
108
129
|
await epochDb.addProvingJob(job);
|
|
109
130
|
}
|
|
110
131
|
async *allProvingJobs() {
|
|
111
|
-
const iterators = Array.from(this.epochs.values()).map(x
|
|
112
|
-
for (const it of iterators)
|
|
132
|
+
const iterators = Array.from(this.epochs.values()).map((x)=>x.allProvingJobs());
|
|
133
|
+
for (const it of iterators){
|
|
113
134
|
yield* it;
|
|
114
135
|
}
|
|
115
136
|
}
|
|
@@ -128,4 +149,3 @@ export class KVBrokerDatabase {
|
|
|
128
149
|
await epochDb.setProvingJobResult(id, value);
|
|
129
150
|
}
|
|
130
151
|
}
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc2lzdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb3ZpbmdfYnJva2VyL3Byb3ZpbmdfYnJva2VyX2RhdGFiYXNlL3BlcnNpc3RlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsVUFBVSxFQUVWLHVCQUF1QixFQUN2Qix3QkFBd0IsR0FDekIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEYsT0FBTyxFQUFlLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWxFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUF3QixrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTVHLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLNUIsTUFBTSxtQkFBbUI7SUFJdkIsWUFBNEIsS0FBd0I7UUFBeEIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDbEQsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLEdBQWU7UUFDakMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FB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
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* A database for storing proof requests and their results
|
|
3
|
+
*/ export { };
|
|
@@ -1,85 +1,92 @@
|
|
|
1
1
|
import { ProvingRequestType } from '@aztec/circuit-types';
|
|
2
|
-
import { Attributes, Metrics, ValueType
|
|
2
|
+
import { Attributes, Metrics, ValueType } from '@aztec/telemetry-client';
|
|
3
3
|
export class ProvingBrokerInstrumentation {
|
|
4
|
-
|
|
4
|
+
queueSize;
|
|
5
|
+
activeJobs;
|
|
6
|
+
resolvedJobs;
|
|
7
|
+
rejectedJobs;
|
|
8
|
+
timedOutJobs;
|
|
9
|
+
jobWait;
|
|
10
|
+
jobDuration;
|
|
11
|
+
retriedJobs;
|
|
12
|
+
constructor(client, name = 'ProvingBroker'){
|
|
5
13
|
const meter = client.getMeter(name);
|
|
6
14
|
this.queueSize = meter.createObservableGauge(Metrics.PROVING_QUEUE_SIZE, {
|
|
7
|
-
valueType: ValueType.INT
|
|
15
|
+
valueType: ValueType.INT
|
|
8
16
|
});
|
|
9
17
|
this.activeJobs = meter.createObservableGauge(Metrics.PROVING_QUEUE_ACTIVE_JOBS, {
|
|
10
|
-
valueType: ValueType.INT
|
|
18
|
+
valueType: ValueType.INT
|
|
11
19
|
});
|
|
12
20
|
this.resolvedJobs = meter.createUpDownCounter(Metrics.PROVING_QUEUE_RESOLVED_JOBS, {
|
|
13
|
-
valueType: ValueType.INT
|
|
21
|
+
valueType: ValueType.INT
|
|
14
22
|
});
|
|
15
23
|
this.rejectedJobs = meter.createUpDownCounter(Metrics.PROVING_QUEUE_REJECTED_JOBS, {
|
|
16
|
-
valueType: ValueType.INT
|
|
24
|
+
valueType: ValueType.INT
|
|
17
25
|
});
|
|
18
26
|
this.retriedJobs = meter.createUpDownCounter(Metrics.PROVING_QUEUE_RETRIED_JOBS, {
|
|
19
|
-
valueType: ValueType.INT
|
|
27
|
+
valueType: ValueType.INT
|
|
20
28
|
});
|
|
21
29
|
this.timedOutJobs = meter.createUpDownCounter(Metrics.PROVING_QUEUE_TIMED_OUT_JOBS, {
|
|
22
|
-
valueType: ValueType.INT
|
|
30
|
+
valueType: ValueType.INT
|
|
23
31
|
});
|
|
24
32
|
this.jobWait = meter.createHistogram(Metrics.PROVING_QUEUE_JOB_WAIT, {
|
|
25
33
|
description: 'Records how long a job sits in the queue',
|
|
26
34
|
unit: 'ms',
|
|
27
|
-
valueType: ValueType.INT
|
|
35
|
+
valueType: ValueType.INT
|
|
28
36
|
});
|
|
29
37
|
this.jobDuration = meter.createHistogram(Metrics.PROVING_QUEUE_JOB_DURATION, {
|
|
30
38
|
description: 'Records how long a job takes to complete',
|
|
31
39
|
unit: 'ms',
|
|
32
|
-
valueType: ValueType.INT
|
|
40
|
+
valueType: ValueType.INT
|
|
33
41
|
});
|
|
34
42
|
}
|
|
35
43
|
monitorQueueDepth(fn) {
|
|
36
|
-
this.queueSize.addCallback(obs
|
|
44
|
+
this.queueSize.addCallback((obs)=>this.observe(obs, fn));
|
|
37
45
|
}
|
|
38
46
|
monitorActiveJobs(fn) {
|
|
39
|
-
this.activeJobs.addCallback(obs
|
|
47
|
+
this.activeJobs.addCallback((obs)=>this.observe(obs, fn));
|
|
40
48
|
}
|
|
41
49
|
incResolvedJobs(proofType) {
|
|
42
50
|
this.resolvedJobs.add(1, {
|
|
43
|
-
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType]
|
|
51
|
+
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType]
|
|
44
52
|
});
|
|
45
53
|
}
|
|
46
54
|
incRejectedJobs(proofType) {
|
|
47
55
|
this.rejectedJobs.add(1, {
|
|
48
|
-
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType]
|
|
56
|
+
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType]
|
|
49
57
|
});
|
|
50
58
|
}
|
|
51
59
|
incRetriedJobs(proofType) {
|
|
52
60
|
this.retriedJobs.add(1, {
|
|
53
|
-
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType]
|
|
61
|
+
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType]
|
|
54
62
|
});
|
|
55
63
|
}
|
|
56
64
|
incTimedOutJobs(proofType) {
|
|
57
65
|
this.timedOutJobs.add(1, {
|
|
58
|
-
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType]
|
|
66
|
+
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType]
|
|
59
67
|
});
|
|
60
68
|
}
|
|
61
69
|
recordJobWait(proofType, msOrTimer) {
|
|
62
70
|
const duration = typeof msOrTimer === 'number' ? msOrTimer : Math.floor(msOrTimer.ms());
|
|
63
71
|
this.jobWait.record(duration, {
|
|
64
|
-
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType]
|
|
72
|
+
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType]
|
|
65
73
|
});
|
|
66
74
|
}
|
|
67
75
|
recordJobDuration(proofType, msOrTimer) {
|
|
68
76
|
const duration = typeof msOrTimer === 'number' ? msOrTimer : Math.floor(msOrTimer.ms());
|
|
69
77
|
this.jobDuration.record(duration, {
|
|
70
|
-
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType]
|
|
78
|
+
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType]
|
|
71
79
|
});
|
|
72
80
|
}
|
|
73
81
|
observe(obs, fn) {
|
|
74
|
-
for (const proofType of Object.values(ProvingRequestType))
|
|
82
|
+
for (const proofType of Object.values(ProvingRequestType)){
|
|
75
83
|
// a type predicate for TypeScript to recognize that we're only iterating over enum values
|
|
76
84
|
if (typeof proofType !== 'number') {
|
|
77
85
|
continue;
|
|
78
86
|
}
|
|
79
87
|
obs.observe(fn(proofType), {
|
|
80
|
-
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType]
|
|
88
|
+
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType]
|
|
81
89
|
});
|
|
82
90
|
}
|
|
83
91
|
}
|
|
84
92
|
}
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmluZ19icm9rZXJfaW5zdHJ1bWVudGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpbmdfYnJva2VyL3Byb3ZpbmdfYnJva2VyX2luc3RydW1lbnRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRCxPQUFPLEVBQ0wsVUFBVSxFQUVWLE9BQU8sRUFLUCxTQUFTLEdBQ1YsTUFBTSx5QkFBeUIsQ0FBQztBQUlqQyxNQUFNLE9BQU8sNEJBQTRCO0lBVXZDLFlBQVksTUFBdUIsRUFBRSxJQUFJLEdBQUcsZUFBZTtRQUN6RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTtZQUN2RSxTQUFTLEVBQUUsU0FBUyxDQUFDLEdBQUc7U0FDekIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLHlCQUF5QixFQUFFO1lBQy9FLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FBRztTQUN6QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsMkJBQTJCLEVBQUU7WUFDakYsU0FBUyxFQUFFLFNBQVMsQ0FBQyxHQUFHO1NBQ3pCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQywyQkFBMkIsRUFBRTtZQUNqRixTQUFTLEVBQUUsU0FBUyxDQUFDLEdBQUc7U0FDekIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsbUJBQW1CLENB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
|
|
@@ -1,57 +1,64 @@
|
|
|
1
|
-
import { ProvingRequestType
|
|
2
|
-
export var ProvingJobControllerStatus
|
|
3
|
-
(function (ProvingJobControllerStatus) {
|
|
1
|
+
import { ProvingRequestType } from '@aztec/circuit-types';
|
|
2
|
+
export var ProvingJobControllerStatus = /*#__PURE__*/ function(ProvingJobControllerStatus) {
|
|
4
3
|
ProvingJobControllerStatus["IDLE"] = "idle";
|
|
5
4
|
ProvingJobControllerStatus["PROVING"] = "proving";
|
|
6
5
|
ProvingJobControllerStatus["DONE"] = "done";
|
|
7
6
|
ProvingJobControllerStatus["ABORTED"] = "aborted";
|
|
8
|
-
|
|
7
|
+
return ProvingJobControllerStatus;
|
|
8
|
+
}({});
|
|
9
9
|
export class ProvingJobController {
|
|
10
|
-
|
|
10
|
+
jobId;
|
|
11
|
+
inputs;
|
|
12
|
+
epochNumber;
|
|
13
|
+
startedAt;
|
|
14
|
+
circuitProver;
|
|
15
|
+
onComplete;
|
|
16
|
+
status;
|
|
17
|
+
promise;
|
|
18
|
+
abortController;
|
|
19
|
+
constructor(jobId, inputs, epochNumber, startedAt, circuitProver, onComplete){
|
|
11
20
|
this.jobId = jobId;
|
|
12
21
|
this.inputs = inputs;
|
|
13
22
|
this.epochNumber = epochNumber;
|
|
14
23
|
this.startedAt = startedAt;
|
|
15
24
|
this.circuitProver = circuitProver;
|
|
16
25
|
this.onComplete = onComplete;
|
|
17
|
-
this.status =
|
|
26
|
+
this.status = "idle";
|
|
18
27
|
this.abortController = new AbortController();
|
|
19
28
|
}
|
|
20
29
|
start() {
|
|
21
|
-
if (this.status !==
|
|
30
|
+
if (this.status !== "idle") {
|
|
22
31
|
return;
|
|
23
32
|
}
|
|
24
|
-
this.status =
|
|
25
|
-
this.promise = this.generateProof()
|
|
26
|
-
.
|
|
27
|
-
if (this.status === ProvingJobControllerStatus.ABORTED) {
|
|
33
|
+
this.status = "proving";
|
|
34
|
+
this.promise = this.generateProof().then((result)=>{
|
|
35
|
+
if (this.status === "aborted") {
|
|
28
36
|
return;
|
|
29
37
|
}
|
|
30
|
-
this.status =
|
|
38
|
+
this.status = "done";
|
|
31
39
|
return this.onComplete(this.jobId, this.inputs.type, undefined, result);
|
|
32
|
-
}, error
|
|
33
|
-
if (this.status ===
|
|
40
|
+
}, (error)=>{
|
|
41
|
+
if (this.status === "aborted") {
|
|
34
42
|
return;
|
|
35
43
|
}
|
|
36
44
|
if (error.name === 'AbortError') {
|
|
37
45
|
// Ignore abort errors
|
|
38
46
|
return;
|
|
39
47
|
}
|
|
40
|
-
this.status =
|
|
48
|
+
this.status = "done";
|
|
41
49
|
return this.onComplete(this.jobId, this.inputs.type, error, undefined);
|
|
42
|
-
})
|
|
43
|
-
|
|
44
|
-
// ignore completion errors
|
|
50
|
+
}).catch((_)=>{
|
|
51
|
+
// ignore completion errors
|
|
45
52
|
});
|
|
46
53
|
}
|
|
47
54
|
getStatus() {
|
|
48
55
|
return this.status;
|
|
49
56
|
}
|
|
50
57
|
abort() {
|
|
51
|
-
if (this.status !==
|
|
58
|
+
if (this.status !== "proving") {
|
|
52
59
|
return;
|
|
53
60
|
}
|
|
54
|
-
this.status =
|
|
61
|
+
this.status = "aborted";
|
|
55
62
|
this.abortController.abort();
|
|
56
63
|
}
|
|
57
64
|
getJobId() {
|
|
@@ -66,48 +73,60 @@ export class ProvingJobController {
|
|
|
66
73
|
async generateProof() {
|
|
67
74
|
const { type, inputs } = this.inputs;
|
|
68
75
|
const signal = this.abortController.signal;
|
|
69
|
-
switch
|
|
70
|
-
case ProvingRequestType.PUBLIC_VM:
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
case ProvingRequestType.
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
case ProvingRequestType.
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
76
|
+
switch(type){
|
|
77
|
+
case ProvingRequestType.PUBLIC_VM:
|
|
78
|
+
{
|
|
79
|
+
return await this.circuitProver.getAvmProof(inputs, signal, this.epochNumber);
|
|
80
|
+
}
|
|
81
|
+
case ProvingRequestType.PRIVATE_BASE_ROLLUP:
|
|
82
|
+
{
|
|
83
|
+
return await this.circuitProver.getPrivateBaseRollupProof(inputs, signal, this.epochNumber);
|
|
84
|
+
}
|
|
85
|
+
case ProvingRequestType.PUBLIC_BASE_ROLLUP:
|
|
86
|
+
{
|
|
87
|
+
return await this.circuitProver.getPublicBaseRollupProof(inputs, signal, this.epochNumber);
|
|
88
|
+
}
|
|
89
|
+
case ProvingRequestType.MERGE_ROLLUP:
|
|
90
|
+
{
|
|
91
|
+
return await this.circuitProver.getMergeRollupProof(inputs, signal, this.epochNumber);
|
|
92
|
+
}
|
|
93
|
+
case ProvingRequestType.EMPTY_BLOCK_ROOT_ROLLUP:
|
|
94
|
+
{
|
|
95
|
+
return await this.circuitProver.getEmptyBlockRootRollupProof(inputs, signal, this.epochNumber);
|
|
96
|
+
}
|
|
97
|
+
case ProvingRequestType.BLOCK_ROOT_ROLLUP:
|
|
98
|
+
{
|
|
99
|
+
return await this.circuitProver.getBlockRootRollupProof(inputs, signal, this.epochNumber);
|
|
100
|
+
}
|
|
101
|
+
case ProvingRequestType.SINGLE_TX_BLOCK_ROOT_ROLLUP:
|
|
102
|
+
{
|
|
103
|
+
return await this.circuitProver.getSingleTxBlockRootRollupProof(inputs, signal, this.epochNumber);
|
|
104
|
+
}
|
|
105
|
+
case ProvingRequestType.BLOCK_MERGE_ROLLUP:
|
|
106
|
+
{
|
|
107
|
+
return await this.circuitProver.getBlockMergeRollupProof(inputs, signal, this.epochNumber);
|
|
108
|
+
}
|
|
109
|
+
case ProvingRequestType.ROOT_ROLLUP:
|
|
110
|
+
{
|
|
111
|
+
return await this.circuitProver.getRootRollupProof(inputs, signal, this.epochNumber);
|
|
112
|
+
}
|
|
113
|
+
case ProvingRequestType.BASE_PARITY:
|
|
114
|
+
{
|
|
115
|
+
return await this.circuitProver.getBaseParityProof(inputs, signal, this.epochNumber);
|
|
116
|
+
}
|
|
117
|
+
case ProvingRequestType.ROOT_PARITY:
|
|
118
|
+
{
|
|
119
|
+
return await this.circuitProver.getRootParityProof(inputs, signal, this.epochNumber);
|
|
120
|
+
}
|
|
121
|
+
case ProvingRequestType.TUBE_PROOF:
|
|
122
|
+
{
|
|
123
|
+
return await this.circuitProver.getTubeProof(inputs, signal, this.epochNumber);
|
|
124
|
+
}
|
|
125
|
+
default:
|
|
126
|
+
{
|
|
127
|
+
const _exhaustive = type;
|
|
128
|
+
return Promise.reject(new Error(`Invalid proof request type: ${type}`));
|
|
129
|
+
}
|
|
110
130
|
}
|
|
111
131
|
}
|
|
112
132
|
}
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmluZ19qb2JfY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92aW5nX2Jyb2tlci9wcm92aW5nX2pvYl9jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJTCxrQkFBa0IsR0FFbkIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixNQUFNLENBQU4sSUFBWSwwQkFLWDtBQUxELFdBQVksMEJBQTBCO0lBQ3BDLDJDQUFhLENBQUE7SUFDYixpREFBbUIsQ0FBQTtJQUNuQiwyQ0FBYSxDQUFBO0lBQ2IsaURBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUxXLDBCQUEwQixLQUExQiwwQkFBMEIsUUFLckM7QUFXRCxNQUFNLE9BQU8sb0JBQW9CO0lBSy9CLFlBQ1UsS0FBbUIsRUFDbkIsTUFBd0IsRUFDeEIsV0FBbUIsRUFDbkIsU0FBaUIsRUFDakIsYUFBa0MsRUFDbEMsVUFBd0M7UUFMeEMsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUNuQixXQUFNLEdBQU4sTUFBTSxDQUFrQjtRQUN4QixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ2pCLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQUNsQyxlQUFVLEdBQVYsVUFBVSxDQUE4QjtRQVYxQyxXQUFNLEdBQStCLDBCQUEwQixDQUFDLElBQUksQ0FBQztRQUVyRSxvQkFBZSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7SUFTN0MsQ0FBQztJQUVHLEtBQUs7UUFDVixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssMEJBQTBCLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDcEQsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLDBCQUEwQixDQUFDLE9BQU8sQ0FBQztRQUVqRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUU7YUFDaEMsSUFBSSxDQUNILE1BQU0s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
|
|
@@ -1,44 +1,52 @@
|
|
|
1
|
-
import { ProofUri, ProvingJob, ProvingJobId, ProvingJobStatus, ProvingRequestType
|
|
1
|
+
import { ProofUri, ProvingJob, ProvingJobId, ProvingJobStatus, ProvingRequestType } from '@aztec/circuit-types';
|
|
2
2
|
import { createSafeJsonRpcClient } from '@aztec/foundation/json-rpc/client';
|
|
3
3
|
import { optional } from '@aztec/foundation/schemas';
|
|
4
4
|
import { createTracedJsonRpcServer, makeTracedFetch } from '@aztec/telemetry-client';
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
const ProvingJobFilterSchema = z.object({
|
|
7
|
-
allowList: z.array(z.nativeEnum(ProvingRequestType))
|
|
7
|
+
allowList: z.array(z.nativeEnum(ProvingRequestType))
|
|
8
8
|
});
|
|
9
9
|
const GetProvingJobResponse = z.object({
|
|
10
10
|
job: ProvingJob,
|
|
11
|
-
time: z.number()
|
|
11
|
+
time: z.number()
|
|
12
12
|
});
|
|
13
13
|
export const ProvingJobProducerSchema = {
|
|
14
14
|
enqueueProvingJob: z.function().args(ProvingJob).returns(ProvingJobStatus),
|
|
15
15
|
getProvingJobStatus: z.function().args(ProvingJobId).returns(ProvingJobStatus),
|
|
16
16
|
cancelProvingJob: z.function().args(ProvingJobId).returns(z.void()),
|
|
17
|
-
getCompletedJobs: z.function().args(z.array(ProvingJobId)).returns(z.array(ProvingJobId))
|
|
17
|
+
getCompletedJobs: z.function().args(z.array(ProvingJobId)).returns(z.array(ProvingJobId))
|
|
18
18
|
};
|
|
19
19
|
export const ProvingJobConsumerSchema = {
|
|
20
20
|
getProvingJob: z.function().args(optional(ProvingJobFilterSchema)).returns(GetProvingJobResponse.optional()),
|
|
21
|
-
reportProvingJobError: z.function().args(ProvingJobId, z.string(), optional(z.boolean())).returns(
|
|
22
|
-
reportProvingJobProgress: z
|
|
23
|
-
|
|
24
|
-
.args(ProvingJobId, z.number(), optional(ProvingJobFilterSchema))
|
|
25
|
-
.returns(GetProvingJobResponse.optional()),
|
|
26
|
-
reportProvingJobSuccess: z.function().args(ProvingJobId, ProofUri).returns(z.void()),
|
|
21
|
+
reportProvingJobError: z.function().args(ProvingJobId, z.string(), optional(z.boolean()), optional(ProvingJobFilterSchema)).returns(GetProvingJobResponse.optional()),
|
|
22
|
+
reportProvingJobProgress: z.function().args(ProvingJobId, z.number(), optional(ProvingJobFilterSchema)).returns(GetProvingJobResponse.optional()),
|
|
23
|
+
reportProvingJobSuccess: z.function().args(ProvingJobId, ProofUri, optional(ProvingJobFilterSchema)).returns(GetProvingJobResponse.optional())
|
|
27
24
|
};
|
|
28
25
|
export const ProvingJobBrokerSchema = {
|
|
29
26
|
...ProvingJobConsumerSchema,
|
|
30
|
-
...ProvingJobProducerSchema
|
|
27
|
+
...ProvingJobProducerSchema
|
|
31
28
|
};
|
|
32
29
|
export function createProvingBrokerServer(broker) {
|
|
33
30
|
return createTracedJsonRpcServer(broker, ProvingJobBrokerSchema);
|
|
34
31
|
}
|
|
35
|
-
export function createProvingJobBrokerClient(url, fetch = makeTracedFetch([
|
|
32
|
+
export function createProvingJobBrokerClient(url, fetch = makeTracedFetch([
|
|
33
|
+
1,
|
|
34
|
+
2,
|
|
35
|
+
3
|
|
36
|
+
], false)) {
|
|
36
37
|
return createSafeJsonRpcClient(url, ProvingJobBrokerSchema, false, 'proverBroker', fetch);
|
|
37
38
|
}
|
|
38
|
-
export function createProvingJobProducerClient(url, fetch = makeTracedFetch([
|
|
39
|
+
export function createProvingJobProducerClient(url, fetch = makeTracedFetch([
|
|
40
|
+
1,
|
|
41
|
+
2,
|
|
42
|
+
3
|
|
43
|
+
], false)) {
|
|
39
44
|
return createSafeJsonRpcClient(url, ProvingJobProducerSchema, false, 'provingJobProducer', fetch);
|
|
40
45
|
}
|
|
41
|
-
export function createProvingJobConsumerClient(url, fetch = makeTracedFetch([
|
|
46
|
+
export function createProvingJobConsumerClient(url, fetch = makeTracedFetch([
|
|
47
|
+
1,
|
|
48
|
+
2,
|
|
49
|
+
3
|
|
50
|
+
], false)) {
|
|
42
51
|
return createSafeJsonRpcClient(url, ProvingJobConsumerSchema, false, 'provingJobConsumer', fetch);
|
|
43
52
|
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpbmdfYnJva2VyL3JwYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsUUFBUSxFQUNSLFVBQVUsRUFHVixZQUFZLEVBRVosZ0JBQWdCLEVBQ2hCLGtCQUFrQixHQUNuQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTVFLE9BQU8sRUFBcUIsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXJGLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3RDLFNBQVMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQztDQUNyRCxDQUFDLENBQUM7QUFFSCxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDckMsR0FBRyxFQUFFLFVBQVU7SUFDZixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtDQUNqQixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBcUM7SUFDeEUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7SUFDMUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7SUFDOUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxZ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
|