@aztec/prover-client 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2 → 0.76.0
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.d.ts +2 -0
- package/dest/bin/get-proof-inputs.d.ts.map +1 -0
- package/dest/bin/get-proof-inputs.js +16 -18
- package/dest/block_builder/index.d.ts +6 -0
- package/dest/block_builder/index.d.ts.map +1 -0
- package/dest/block_builder/index.js +1 -0
- package/dest/block_builder/light.d.ts +31 -0
- package/dest/block_builder/light.d.ts.map +1 -0
- package/dest/block_builder/light.js +13 -23
- package/dest/config.d.ts +17 -0
- package/dest/config.d.ts.map +1 -0
- package/dest/config.js +11 -9
- package/dest/index.d.ts +4 -0
- package/dest/index.d.ts.map +1 -0
- package/dest/index.js +1 -0
- package/dest/mocks/fixtures.d.ts +19 -0
- package/dest/mocks/fixtures.d.ts.map +1 -0
- package/dest/mocks/fixtures.js +26 -28
- package/dest/mocks/test_context.d.ts +49 -0
- package/dest/mocks/test_context.d.ts.map +1 -0
- package/dest/mocks/test_context.js +46 -72
- package/dest/orchestrator/block-building-helpers.d.ts +50 -0
- package/dest/orchestrator/block-building-helpers.d.ts.map +1 -0
- package/dest/orchestrator/block-building-helpers.js +81 -99
- package/dest/orchestrator/block-proving-state.d.ts +71 -0
- package/dest/orchestrator/block-proving-state.d.ts.map +1 -0
- package/dest/orchestrator/block-proving-state.js +74 -99
- package/dest/orchestrator/epoch-proving-state.d.ts +56 -0
- package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -0
- package/dest/orchestrator/epoch-proving-state.js +41 -57
- package/dest/orchestrator/index.d.ts +2 -0
- package/dest/orchestrator/index.d.ts.map +1 -0
- package/dest/orchestrator/index.js +1 -0
- package/dest/orchestrator/orchestrator.d.ts +108 -0
- package/dest/orchestrator/orchestrator.d.ts.map +1 -0
- package/dest/orchestrator/orchestrator.js +654 -650
- package/dest/orchestrator/orchestrator_metrics.d.ts +8 -0
- package/dest/orchestrator/orchestrator_metrics.d.ts.map +1 -0
- package/dest/orchestrator/orchestrator_metrics.js +3 -4
- package/dest/orchestrator/tx-proving-state.d.ts +31 -0
- package/dest/orchestrator/tx-proving-state.d.ts.map +1 -0
- package/dest/orchestrator/tx-proving-state.js +52 -53
- package/dest/prover-client/factory.d.ts +6 -0
- package/dest/prover-client/factory.d.ts.map +1 -0
- package/dest/prover-client/factory.js +1 -0
- package/dest/prover-client/index.d.ts +3 -0
- package/dest/prover-client/index.d.ts.map +1 -0
- package/dest/prover-client/index.js +1 -0
- package/dest/prover-client/prover-client.d.ts +42 -0
- package/dest/prover-client/prover-client.d.ts.map +1 -0
- package/dest/prover-client/prover-client.js +25 -30
- package/dest/prover-client/server-epoch-prover.d.ts +25 -0
- package/dest/prover-client/server-epoch-prover.d.ts.map +1 -0
- package/dest/prover-client/server-epoch-prover.js +4 -4
- package/dest/proving_broker/broker_prover_facade.d.ts +39 -0
- package/dest/proving_broker/broker_prover_facade.d.ts.map +1 -0
- package/dest/proving_broker/broker_prover_facade.js +59 -70
- package/dest/proving_broker/config.d.ts +61 -0
- package/dest/proving_broker/config.d.ts.map +1 -0
- package/dest/proving_broker/config.js +37 -22
- package/dest/proving_broker/factory.d.ts +5 -0
- package/dest/proving_broker/factory.d.ts.map +1 -0
- package/dest/proving_broker/factory.js +2 -1
- package/dest/proving_broker/fixtures.d.ts +5 -0
- package/dest/proving_broker/fixtures.d.ts.map +1 -0
- package/dest/proving_broker/fixtures.js +1 -0
- package/dest/proving_broker/index.d.ts +10 -0
- package/dest/proving_broker/index.d.ts.map +1 -0
- package/dest/proving_broker/index.js +1 -0
- package/dest/proving_broker/proof_store/factory.d.ts +6 -0
- package/dest/proving_broker/proof_store/factory.d.ts.map +1 -0
- package/dest/proving_broker/proof_store/factory.js +12 -9
- package/dest/proving_broker/proof_store/gcs_proof_store.d.ts +13 -0
- package/dest/proving_broker/proof_store/gcs_proof_store.d.ts.map +1 -0
- package/dest/proving_broker/proof_store/gcs_proof_store.js +7 -11
- package/dest/proving_broker/proof_store/index.d.ts +4 -0
- package/dest/proving_broker/proof_store/index.d.ts.map +1 -0
- package/dest/proving_broker/proof_store/index.js +1 -0
- package/dest/proving_broker/proof_store/inline_proof_store.d.ts +14 -0
- package/dest/proving_broker/proof_store/inline_proof_store.d.ts.map +1 -0
- package/dest/proving_broker/proof_store/inline_proof_store.js +7 -11
- package/dest/proving_broker/proof_store/proof_store.d.ts +35 -0
- package/dest/proving_broker/proof_store/proof_store.d.ts.map +1 -0
- package/dest/proving_broker/proof_store/proof_store.js +2 -3
- package/dest/proving_broker/proving_agent.d.ts +45 -0
- package/dest/proving_broker/proving_agent.d.ts.map +1 -0
- package/dest/proving_broker/proving_agent.js +124 -120
- package/dest/proving_broker/proving_agent_instrumentation.d.ts +8 -0
- package/dest/proving_broker/proving_agent_instrumentation.d.ts.map +1 -0
- package/dest/proving_broker/proving_agent_instrumentation.js +3 -3
- package/dest/proving_broker/proving_broker.d.ts +72 -0
- package/dest/proving_broker/proving_broker.d.ts.map +1 -0
- package/dest/proving_broker/proving_broker.js +449 -491
- package/dest/proving_broker/proving_broker_database/memory.d.ts +16 -0
- package/dest/proving_broker/proving_broker_database/memory.d.ts.map +1 -0
- package/dest/proving_broker/proving_broker_database/memory.js +13 -19
- package/dest/proving_broker/proving_broker_database/persisted.d.ts +21 -0
- package/dest/proving_broker/proving_broker_database/persisted.d.ts.map +1 -0
- package/dest/proving_broker/proving_broker_database/persisted.js +21 -41
- package/dest/proving_broker/proving_broker_database.d.ts +39 -0
- package/dest/proving_broker/proving_broker_database.d.ts.map +1 -0
- package/dest/proving_broker/proving_broker_database.js +2 -3
- package/dest/proving_broker/proving_broker_instrumentation.d.ts +25 -0
- package/dest/proving_broker/proving_broker_instrumentation.d.ts.map +1 -0
- package/dest/proving_broker/proving_broker_instrumentation.js +21 -28
- package/dest/proving_broker/proving_job_controller.d.ts +31 -0
- package/dest/proving_broker/proving_job_controller.d.ts.map +1 -0
- package/dest/proving_broker/proving_job_controller.js +62 -81
- package/dest/proving_broker/rpc.d.ts +26 -0
- package/dest/proving_broker/rpc.d.ts.map +1 -0
- package/dest/proving_broker/rpc.js +36 -26
- package/dest/test/mock_prover.d.ts +35 -0
- package/dest/test/mock_prover.d.ts.map +1 -0
- package/dest/test/mock_prover.js +13 -11
- package/package.json +12 -13
- package/src/index.ts +1 -1
- package/src/mocks/test_context.ts +23 -22
- package/src/orchestrator/block-building-helpers.ts +1 -38
- package/src/orchestrator/block-proving-state.ts +15 -15
- package/src/orchestrator/epoch-proving-state.ts +7 -10
- package/src/orchestrator/orchestrator.ts +36 -39
- package/src/orchestrator/tx-proving-state.ts +13 -13
- package/src/proving_broker/rpc.ts +24 -4
- package/src/test/mock_prover.ts +7 -1
- package/dest/prover-agent/index.js +0 -3
- package/dest/prover-agent/memory-proving-queue.js +0 -249
- package/dest/prover-agent/prover-agent.js +0 -201
- package/dest/prover-agent/proving-error.js +0 -8
- package/dest/prover-agent/queue_metrics.js +0 -24
- package/dest/prover-agent/rpc.js +0 -20
- package/src/prover-agent/index.ts +0 -3
- package/src/prover-agent/memory-proving-queue.ts +0 -416
- package/src/prover-agent/prover-agent.ts +0 -248
- package/src/prover-agent/proving-error.ts +0 -9
- package/src/prover-agent/queue_metrics.ts +0 -29
- package/src/prover-agent/rpc.ts +0 -22
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type ProofUri, type ProvingJob, type ProvingJobId, type ProvingJobSettledResult } from '@aztec/circuit-types';
|
|
2
|
+
import { type ProvingBrokerDatabase } from '../proving_broker_database.js';
|
|
3
|
+
export declare class InMemoryBrokerDatabase implements ProvingBrokerDatabase {
|
|
4
|
+
private jobs;
|
|
5
|
+
private results;
|
|
6
|
+
getProvingJob(id: ProvingJobId): ProvingJob | undefined;
|
|
7
|
+
getProvingJobResult(id: ProvingJobId): ProvingJobSettledResult | undefined;
|
|
8
|
+
addProvingJob(request: ProvingJob): Promise<void>;
|
|
9
|
+
setProvingJobResult(id: ProvingJobId, value: ProofUri): Promise<void>;
|
|
10
|
+
setProvingJobError(id: ProvingJobId, reason: string): Promise<void>;
|
|
11
|
+
deleteProvingJobs(ids: ProvingJobId[]): Promise<void>;
|
|
12
|
+
deleteAllProvingJobsOlderThanEpoch(epochNumber: number): Promise<void>;
|
|
13
|
+
allProvingJobs(): AsyncIterableIterator<[ProvingJob, ProvingJobSettledResult | undefined]>;
|
|
14
|
+
close(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=memory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/proving_broker/proving_broker_database/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAE7B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAE3E,qBAAa,sBAAuB,YAAW,qBAAqB;IAClE,OAAO,CAAC,IAAI,CAAuC;IACnD,OAAO,CAAC,OAAO,CAAoD;IAEnE,aAAa,CAAC,EAAE,EAAE,YAAY,GAAG,UAAU,GAAG,SAAS;IAIvD,mBAAmB,CAAC,EAAE,EAAE,YAAY,GAAG,uBAAuB,GAAG,SAAS;IAI1E,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjD,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrE,kBAAkB,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnE,iBAAiB,CAAC,GAAG,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrD,kCAAkC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/D,cAAc,IAAI,qBAAqB,CAAC,CAAC,UAAU,EAAE,uBAAuB,GAAG,SAAS,CAAC,CAAC;IAMjG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAGvB"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { getEpochFromProvingJobId } from '@aztec/circuit-types';
|
|
1
|
+
import { getEpochFromProvingJobId, } from '@aztec/circuit-types';
|
|
2
2
|
export class InMemoryBrokerDatabase {
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
constructor() {
|
|
4
|
+
this.jobs = new Map();
|
|
5
|
+
this.results = new Map();
|
|
6
|
+
}
|
|
5
7
|
getProvingJob(id) {
|
|
6
8
|
return this.jobs.get(id);
|
|
7
9
|
}
|
|
@@ -13,21 +15,15 @@ export class InMemoryBrokerDatabase {
|
|
|
13
15
|
return Promise.resolve();
|
|
14
16
|
}
|
|
15
17
|
setProvingJobResult(id, value) {
|
|
16
|
-
this.results.set(id, {
|
|
17
|
-
status: 'fulfilled',
|
|
18
|
-
value
|
|
19
|
-
});
|
|
18
|
+
this.results.set(id, { status: 'fulfilled', value });
|
|
20
19
|
return Promise.resolve();
|
|
21
20
|
}
|
|
22
21
|
setProvingJobError(id, reason) {
|
|
23
|
-
this.results.set(id, {
|
|
24
|
-
status: 'rejected',
|
|
25
|
-
reason
|
|
26
|
-
});
|
|
22
|
+
this.results.set(id, { status: 'rejected', reason });
|
|
27
23
|
return Promise.resolve();
|
|
28
24
|
}
|
|
29
25
|
deleteProvingJobs(ids) {
|
|
30
|
-
for (const id of ids){
|
|
26
|
+
for (const id of ids) {
|
|
31
27
|
this.jobs.delete(id);
|
|
32
28
|
this.results.delete(id);
|
|
33
29
|
}
|
|
@@ -35,20 +31,18 @@ export class InMemoryBrokerDatabase {
|
|
|
35
31
|
}
|
|
36
32
|
deleteAllProvingJobsOlderThanEpoch(epochNumber) {
|
|
37
33
|
const toDelete = [
|
|
38
|
-
...Array.from(this.jobs.keys()).filter(
|
|
39
|
-
...Array.from(this.results.keys()).filter(
|
|
34
|
+
...Array.from(this.jobs.keys()).filter(x => getEpochFromProvingJobId(x) < epochNumber),
|
|
35
|
+
...Array.from(this.results.keys()).filter(x => getEpochFromProvingJobId(x) < epochNumber),
|
|
40
36
|
];
|
|
41
37
|
return this.deleteProvingJobs(toDelete);
|
|
42
38
|
}
|
|
43
39
|
async *allProvingJobs() {
|
|
44
|
-
for await (const item of this.jobs.values()){
|
|
45
|
-
yield [
|
|
46
|
-
item,
|
|
47
|
-
this.results.get(item.id)
|
|
48
|
-
];
|
|
40
|
+
for await (const item of this.jobs.values()) {
|
|
41
|
+
yield [item, this.results.get(item.id)];
|
|
49
42
|
}
|
|
50
43
|
}
|
|
51
44
|
close() {
|
|
52
45
|
return Promise.resolve();
|
|
53
46
|
}
|
|
54
47
|
}
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb3ZpbmdfYnJva2VyL3Byb3ZpbmdfYnJva2VyX2RhdGFiYXNlL21lbW9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBS0wsd0JBQXdCLEdBQ3pCLE1BQU0sc0JBQXNCLENBQUM7QUFJOUIsTUFBTSxPQUFPLHNCQUFzQjtJQUFuQztRQUNVLFNBQUksR0FBRyxJQUFJLEdBQUcsRUFBNEIsQ0FBQztRQUMzQyxZQUFPLEdBQUcsSUFBSSxHQUFHLEVBQXlDLENBQUM7SUFrRHJFLENBQUM7SUFoREMsYUFBYSxDQUFDLEVBQWdCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELG1CQUFtQixDQUFDLEVBQWdCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUFtQjtRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxFQUFnQixFQUFFLEtBQWU7UUFDbkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxFQUFnQixFQUFFLE1BQWM7UUFDakQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxHQUFtQjtRQUNuQyxLQUFLLE1BQU0sRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsa0NBQWtDLENBQUMsV0FBbUI7UUFDcEQsTUFBTSxRQUFRLEdBQUc7WUFDZixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQztZQUN0RixHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQztTQUMxRixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELEtBQUssQ0FBQyxDQUFDLGNBQWM7UUFDbkIsSUFBSSxLQUFLLEVBQUUsTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQzVDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFVLENBQUM7UUFDbkQsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0IsQ0FBQztDQUNGIn0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type ProofUri, ProvingJob, type ProvingJobId, ProvingJobSettledResult } from '@aztec/circuit-types';
|
|
2
|
+
import { type Logger } from '@aztec/foundation/log';
|
|
3
|
+
import { type TelemetryClient } from '@aztec/telemetry-client';
|
|
4
|
+
import { type ProverBrokerConfig } from '../config.js';
|
|
5
|
+
import { type ProvingBrokerDatabase } from '../proving_broker_database.js';
|
|
6
|
+
export declare class KVBrokerDatabase implements ProvingBrokerDatabase {
|
|
7
|
+
private epochs;
|
|
8
|
+
private config;
|
|
9
|
+
private logger;
|
|
10
|
+
private metrics;
|
|
11
|
+
private constructor();
|
|
12
|
+
private estimateSize;
|
|
13
|
+
static new(config: ProverBrokerConfig, client?: TelemetryClient, logger?: Logger): Promise<KVBrokerDatabase>;
|
|
14
|
+
close(): Promise<void>;
|
|
15
|
+
deleteAllProvingJobsOlderThanEpoch(epochNumber: number): Promise<void>;
|
|
16
|
+
addProvingJob(job: ProvingJob): Promise<void>;
|
|
17
|
+
allProvingJobs(): AsyncIterableIterator<[ProvingJob, ProvingJobSettledResult | undefined]>;
|
|
18
|
+
setProvingJobError(id: ProvingJobId, reason: string): Promise<void>;
|
|
19
|
+
setProvingJobResult(id: ProvingJobId, value: ProofUri): Promise<void>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=persisted.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persisted.d.ts","sourceRoot":"","sources":["../../../src/proving_broker/proving_broker_database/persisted.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EACb,UAAU,EACV,KAAK,YAAY,EACjB,uBAAuB,EAExB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAGlE,OAAO,EAA2B,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAK5G,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AA+C3E,qBAAa,gBAAiB,YAAW,qBAAqB;IAI1D,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IAEd,OAAO,CAAC,MAAM;IANhB,OAAO,CAAC,OAAO,CAAc;IAE7B,OAAO;YAeO,YAAY;WASN,GAAG,CACrB,MAAM,EAAE,kBAAkB,EAC1B,MAAM,GAAE,eAAsC,EAC9C,MAAM,SAAwD;IAyB1D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtB,kCAAkC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAatE,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAe5C,cAAc,IAAI,qBAAqB,CAAC,CAAC,UAAU,EAAE,uBAAuB,GAAG,SAAS,CAAC,CAAC;IAO3F,kBAAkB,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnE,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAO5E"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ProvingJob, ProvingJobSettledResult, getEpochFromProvingJobId } from '@aztec/circuit-types';
|
|
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,10 +6,7 @@ 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
|
-
store
|
|
10
|
-
jobs;
|
|
11
|
-
jobResults;
|
|
12
|
-
constructor(store){
|
|
9
|
+
constructor(store) {
|
|
13
10
|
this.store = store;
|
|
14
11
|
this.jobs = store.openMap('proving_jobs');
|
|
15
12
|
this.jobResults = store.openMap('proving_job_results');
|
|
@@ -21,28 +18,19 @@ class SingleEpochDatabase {
|
|
|
21
18
|
await this.jobs.set(job.id, jsonStringify(job));
|
|
22
19
|
}
|
|
23
20
|
async *allProvingJobs() {
|
|
24
|
-
for await (const jobStr of this.jobs.valuesAsync()){
|
|
21
|
+
for await (const jobStr of this.jobs.valuesAsync()) {
|
|
25
22
|
const job = await jsonParseWithSchema(jobStr, ProvingJob);
|
|
26
23
|
const resultStr = await this.jobResults.getAsync(job.id);
|
|
27
24
|
const result = resultStr ? await jsonParseWithSchema(resultStr, ProvingJobSettledResult) : undefined;
|
|
28
|
-
yield [
|
|
29
|
-
job,
|
|
30
|
-
result
|
|
31
|
-
];
|
|
25
|
+
yield [job, result];
|
|
32
26
|
}
|
|
33
27
|
}
|
|
34
28
|
async setProvingJobError(id, reason) {
|
|
35
|
-
const result = {
|
|
36
|
-
status: 'rejected',
|
|
37
|
-
reason
|
|
38
|
-
};
|
|
29
|
+
const result = { status: 'rejected', reason };
|
|
39
30
|
await this.jobResults.set(id, jsonStringify(result));
|
|
40
31
|
}
|
|
41
32
|
async setProvingJobResult(id, value) {
|
|
42
|
-
const result = {
|
|
43
|
-
status: 'fulfilled',
|
|
44
|
-
value
|
|
45
|
-
};
|
|
33
|
+
const result = { status: 'fulfilled', value };
|
|
46
34
|
await this.jobResults.set(id, jsonStringify(result));
|
|
47
35
|
}
|
|
48
36
|
delete() {
|
|
@@ -53,33 +41,26 @@ class SingleEpochDatabase {
|
|
|
53
41
|
}
|
|
54
42
|
}
|
|
55
43
|
export class KVBrokerDatabase {
|
|
56
|
-
epochs
|
|
57
|
-
config;
|
|
58
|
-
logger;
|
|
59
|
-
metrics;
|
|
60
|
-
constructor(epochs, config, client = getTelemetryClient(), logger){
|
|
44
|
+
constructor(epochs, config, client = getTelemetryClient(), logger) {
|
|
61
45
|
this.epochs = epochs;
|
|
62
46
|
this.config = config;
|
|
63
47
|
this.logger = logger;
|
|
64
48
|
this.metrics = new LmdbMetrics(client.getMeter('KVBrokerDatabase'), {
|
|
65
|
-
[Attributes.DB_DATA_TYPE]: 'prover-broker'
|
|
66
|
-
}, ()=>this.estimateSize());
|
|
49
|
+
[Attributes.DB_DATA_TYPE]: 'prover-broker',
|
|
50
|
+
}, () => this.estimateSize());
|
|
67
51
|
}
|
|
68
52
|
async estimateSize() {
|
|
69
|
-
const sizes = await Promise.all(Array.from(this.epochs.values()).map(
|
|
53
|
+
const sizes = await Promise.all(Array.from(this.epochs.values()).map(x => x.estimateSize()));
|
|
70
54
|
return {
|
|
71
55
|
mappingSize: this.config.dataStoreMapSizeKB,
|
|
72
|
-
numItems: sizes.reduce((prev, curr)=>prev + curr.numItems, 0),
|
|
73
|
-
actualSize: sizes.reduce((prev, curr)=>prev + curr.actualSize, 0)
|
|
56
|
+
numItems: sizes.reduce((prev, curr) => prev + curr.numItems, 0),
|
|
57
|
+
actualSize: sizes.reduce((prev, curr) => prev + curr.actualSize, 0),
|
|
74
58
|
};
|
|
75
59
|
}
|
|
76
60
|
static async new(config, client = getTelemetryClient(), logger = createLogger('prover-client:proving-broker-database')) {
|
|
77
61
|
const epochs = new Map();
|
|
78
|
-
const files = await readdir(config.dataDirectory, {
|
|
79
|
-
|
|
80
|
-
withFileTypes: true
|
|
81
|
-
});
|
|
82
|
-
for (const file of files){
|
|
62
|
+
const files = await readdir(config.dataDirectory, { recursive: false, withFileTypes: true });
|
|
63
|
+
for (const file of files) {
|
|
83
64
|
if (!file.isDirectory()) {
|
|
84
65
|
continue;
|
|
85
66
|
}
|
|
@@ -98,13 +79,13 @@ export class KVBrokerDatabase {
|
|
|
98
79
|
return new KVBrokerDatabase(epochs, config, client, logger);
|
|
99
80
|
}
|
|
100
81
|
async close() {
|
|
101
|
-
for (const [_, v] of this.epochs){
|
|
82
|
+
for (const [_, v] of this.epochs) {
|
|
102
83
|
await v.close();
|
|
103
84
|
}
|
|
104
85
|
}
|
|
105
86
|
async deleteAllProvingJobsOlderThanEpoch(epochNumber) {
|
|
106
|
-
const oldEpochs = Array.from(this.epochs.keys()).filter(
|
|
107
|
-
for (const old of oldEpochs){
|
|
87
|
+
const oldEpochs = Array.from(this.epochs.keys()).filter(e => e < epochNumber);
|
|
88
|
+
for (const old of oldEpochs) {
|
|
108
89
|
const db = this.epochs.get(old);
|
|
109
90
|
if (!db) {
|
|
110
91
|
continue;
|
|
@@ -118,9 +99,7 @@ export class KVBrokerDatabase {
|
|
|
118
99
|
let epochDb = this.epochs.get(job.epochNumber);
|
|
119
100
|
if (!epochDb) {
|
|
120
101
|
const newEpochDirectory = join(this.config.dataDirectory, job.epochNumber.toString());
|
|
121
|
-
await mkdir(newEpochDirectory, {
|
|
122
|
-
recursive: true
|
|
123
|
-
});
|
|
102
|
+
await mkdir(newEpochDirectory, { recursive: true });
|
|
124
103
|
this.logger.info(`Creating broker database for epoch ${job.epochNumber} at ${newEpochDirectory} with map size ${this.config.dataStoreMapSizeKB}`);
|
|
125
104
|
const db = await AztecLMDBStoreV2.new(newEpochDirectory, this.config.dataStoreMapSizeKB);
|
|
126
105
|
epochDb = new SingleEpochDatabase(db);
|
|
@@ -129,8 +108,8 @@ export class KVBrokerDatabase {
|
|
|
129
108
|
await epochDb.addProvingJob(job);
|
|
130
109
|
}
|
|
131
110
|
async *allProvingJobs() {
|
|
132
|
-
const iterators = Array.from(this.epochs.values()).map(
|
|
133
|
-
for (const it of iterators){
|
|
111
|
+
const iterators = Array.from(this.epochs.values()).map(x => x.allProvingJobs());
|
|
112
|
+
for (const it of iterators) {
|
|
134
113
|
yield* it;
|
|
135
114
|
}
|
|
136
115
|
}
|
|
@@ -149,3 +128,4 @@ export class KVBrokerDatabase {
|
|
|
149
128
|
await epochDb.setProvingJobResult(id, value);
|
|
150
129
|
}
|
|
151
130
|
}
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc2lzdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb3ZpbmdfYnJva2VyL3Byb3ZpbmdfYnJva2VyX2RhdGFiYXNlL3BlcnNpc3RlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsVUFBVSxFQUVWLHVCQUF1QixFQUN2Qix3QkFBd0IsR0FDekIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEYsT0FBTyxFQUFlLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWxFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUF3QixrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTVHLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLNUIsTUFBTSxtQkFBbUI7SUFJdkIsWUFBNEIsS0FBd0I7UUFBeEIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDbEQsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLEdBQWU7UUFDakMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FB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
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { type ProofUri, type ProvingJob, type ProvingJobId, type ProvingJobSettledResult } from '@aztec/circuit-types';
|
|
2
|
+
/**
|
|
3
|
+
* A database for storing proof requests and their results
|
|
4
|
+
*/
|
|
5
|
+
export interface ProvingBrokerDatabase {
|
|
6
|
+
/**
|
|
7
|
+
* Saves a proof request so it can be retrieved later
|
|
8
|
+
* @param request - The proof request to save
|
|
9
|
+
*/
|
|
10
|
+
addProvingJob(request: ProvingJob): Promise<void>;
|
|
11
|
+
/**
|
|
12
|
+
* Deletes all proving jobs belonging to epochs older than the given epoch
|
|
13
|
+
* @param epochNumber - The epoch number beyond which jobs should be deleted
|
|
14
|
+
*/
|
|
15
|
+
deleteAllProvingJobsOlderThanEpoch(epochNumber: number): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Returns an iterator over all saved proving jobs
|
|
18
|
+
*/
|
|
19
|
+
allProvingJobs(): AsyncIterableIterator<[ProvingJob, ProvingJobSettledResult | undefined]>;
|
|
20
|
+
/**
|
|
21
|
+
* Saves the result of a proof request
|
|
22
|
+
* @param id - The ID of the proof request to save the result for
|
|
23
|
+
* @param ProvingRequestType - The type of proof that was requested
|
|
24
|
+
* @param value - The result of the proof request
|
|
25
|
+
*/
|
|
26
|
+
setProvingJobResult(id: ProvingJobId, value: ProofUri): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Saves an error that occurred while processing a proof request
|
|
29
|
+
* @param id - The ID of the proof request to save the error for
|
|
30
|
+
* @param ProvingRequestType - The type of proof that was requested
|
|
31
|
+
* @param err - The error that occurred while processing the proof request
|
|
32
|
+
*/
|
|
33
|
+
setProvingJobError(id: ProvingJobId, err: string): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Closes the database
|
|
36
|
+
*/
|
|
37
|
+
close(): Promise<void>;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=proving_broker_database.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proving_broker_database.d.ts","sourceRoot":"","sources":["../../src/proving_broker/proving_broker_database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEvH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElD;;;OAGG;IACH,kCAAkC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvE;;OAEG;IACH,cAAc,IAAI,qBAAqB,CAAC,CAAC,UAAU,EAAE,uBAAuB,GAAG,SAAS,CAAC,CAAC,CAAC;IAE3F;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtE;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjE;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB"}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*/ export { };
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmluZ19icm9rZXJfZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmluZ19icm9rZXIvcHJvdmluZ19icm9rZXJfZGF0YWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ProvingRequestType } from '@aztec/circuit-types';
|
|
2
|
+
import { type Timer } from '@aztec/foundation/timer';
|
|
3
|
+
import { type TelemetryClient } from '@aztec/telemetry-client';
|
|
4
|
+
export type MonitorCallback = (proofType: ProvingRequestType) => number;
|
|
5
|
+
export declare class ProvingBrokerInstrumentation {
|
|
6
|
+
private queueSize;
|
|
7
|
+
private activeJobs;
|
|
8
|
+
private resolvedJobs;
|
|
9
|
+
private rejectedJobs;
|
|
10
|
+
private timedOutJobs;
|
|
11
|
+
private jobWait;
|
|
12
|
+
private jobDuration;
|
|
13
|
+
private retriedJobs;
|
|
14
|
+
constructor(client: TelemetryClient, name?: string);
|
|
15
|
+
monitorQueueDepth(fn: MonitorCallback): void;
|
|
16
|
+
monitorActiveJobs(fn: MonitorCallback): void;
|
|
17
|
+
incResolvedJobs(proofType: ProvingRequestType): void;
|
|
18
|
+
incRejectedJobs(proofType: ProvingRequestType): void;
|
|
19
|
+
incRetriedJobs(proofType: ProvingRequestType): void;
|
|
20
|
+
incTimedOutJobs(proofType: ProvingRequestType): void;
|
|
21
|
+
recordJobWait(proofType: ProvingRequestType, msOrTimer: Timer | number): void;
|
|
22
|
+
recordJobDuration(proofType: ProvingRequestType, msOrTimer: Timer | number): void;
|
|
23
|
+
private observe;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=proving_broker_instrumentation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proving_broker_instrumentation.d.ts","sourceRoot":"","sources":["../../src/proving_broker/proving_broker_instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAML,KAAK,eAAe,EAGrB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,eAAe,GAAG,CAAC,SAAS,EAAE,kBAAkB,KAAK,MAAM,CAAC;AAExE,qBAAa,4BAA4B;IACvC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,WAAW,CAAY;IAC/B,OAAO,CAAC,WAAW,CAAgB;gBAEvB,MAAM,EAAE,eAAe,EAAE,IAAI,SAAkB;IAwC3D,iBAAiB,CAAC,EAAE,EAAE,eAAe;IAIrC,iBAAiB,CAAC,EAAE,EAAE,eAAe;IAIrC,eAAe,CAAC,SAAS,EAAE,kBAAkB;IAM7C,eAAe,CAAC,SAAS,EAAE,kBAAkB;IAM7C,cAAc,CAAC,SAAS,EAAE,kBAAkB;IAM5C,eAAe,CAAC,SAAS,EAAE,kBAAkB;IAM7C,aAAa,CAAC,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,KAAK,GAAG,MAAM;IAOtE,iBAAiB,CAAC,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,KAAK,GAAG,MAAM;IAO1E,OAAO,CAAC,OAAO;CAWhB"}
|
|
@@ -1,92 +1,85 @@
|
|
|
1
1
|
import { ProvingRequestType } from '@aztec/circuit-types';
|
|
2
|
-
import { Attributes, Metrics, ValueType } from '@aztec/telemetry-client';
|
|
2
|
+
import { Attributes, Metrics, ValueType, } from '@aztec/telemetry-client';
|
|
3
3
|
export class ProvingBrokerInstrumentation {
|
|
4
|
-
|
|
5
|
-
activeJobs;
|
|
6
|
-
resolvedJobs;
|
|
7
|
-
rejectedJobs;
|
|
8
|
-
timedOutJobs;
|
|
9
|
-
jobWait;
|
|
10
|
-
jobDuration;
|
|
11
|
-
retriedJobs;
|
|
12
|
-
constructor(client, name = 'ProvingBroker'){
|
|
4
|
+
constructor(client, name = 'ProvingBroker') {
|
|
13
5
|
const meter = client.getMeter(name);
|
|
14
6
|
this.queueSize = meter.createObservableGauge(Metrics.PROVING_QUEUE_SIZE, {
|
|
15
|
-
valueType: ValueType.INT
|
|
7
|
+
valueType: ValueType.INT,
|
|
16
8
|
});
|
|
17
9
|
this.activeJobs = meter.createObservableGauge(Metrics.PROVING_QUEUE_ACTIVE_JOBS, {
|
|
18
|
-
valueType: ValueType.INT
|
|
10
|
+
valueType: ValueType.INT,
|
|
19
11
|
});
|
|
20
12
|
this.resolvedJobs = meter.createUpDownCounter(Metrics.PROVING_QUEUE_RESOLVED_JOBS, {
|
|
21
|
-
valueType: ValueType.INT
|
|
13
|
+
valueType: ValueType.INT,
|
|
22
14
|
});
|
|
23
15
|
this.rejectedJobs = meter.createUpDownCounter(Metrics.PROVING_QUEUE_REJECTED_JOBS, {
|
|
24
|
-
valueType: ValueType.INT
|
|
16
|
+
valueType: ValueType.INT,
|
|
25
17
|
});
|
|
26
18
|
this.retriedJobs = meter.createUpDownCounter(Metrics.PROVING_QUEUE_RETRIED_JOBS, {
|
|
27
|
-
valueType: ValueType.INT
|
|
19
|
+
valueType: ValueType.INT,
|
|
28
20
|
});
|
|
29
21
|
this.timedOutJobs = meter.createUpDownCounter(Metrics.PROVING_QUEUE_TIMED_OUT_JOBS, {
|
|
30
|
-
valueType: ValueType.INT
|
|
22
|
+
valueType: ValueType.INT,
|
|
31
23
|
});
|
|
32
24
|
this.jobWait = meter.createHistogram(Metrics.PROVING_QUEUE_JOB_WAIT, {
|
|
33
25
|
description: 'Records how long a job sits in the queue',
|
|
34
26
|
unit: 'ms',
|
|
35
|
-
valueType: ValueType.INT
|
|
27
|
+
valueType: ValueType.INT,
|
|
36
28
|
});
|
|
37
29
|
this.jobDuration = meter.createHistogram(Metrics.PROVING_QUEUE_JOB_DURATION, {
|
|
38
30
|
description: 'Records how long a job takes to complete',
|
|
39
31
|
unit: 'ms',
|
|
40
|
-
valueType: ValueType.INT
|
|
32
|
+
valueType: ValueType.INT,
|
|
41
33
|
});
|
|
42
34
|
}
|
|
43
35
|
monitorQueueDepth(fn) {
|
|
44
|
-
this.queueSize.addCallback(
|
|
36
|
+
this.queueSize.addCallback(obs => this.observe(obs, fn));
|
|
45
37
|
}
|
|
46
38
|
monitorActiveJobs(fn) {
|
|
47
|
-
this.activeJobs.addCallback(
|
|
39
|
+
this.activeJobs.addCallback(obs => this.observe(obs, fn));
|
|
48
40
|
}
|
|
49
41
|
incResolvedJobs(proofType) {
|
|
50
42
|
this.resolvedJobs.add(1, {
|
|
51
|
-
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType]
|
|
43
|
+
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType],
|
|
52
44
|
});
|
|
53
45
|
}
|
|
54
46
|
incRejectedJobs(proofType) {
|
|
55
47
|
this.rejectedJobs.add(1, {
|
|
56
|
-
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType]
|
|
48
|
+
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType],
|
|
57
49
|
});
|
|
58
50
|
}
|
|
59
51
|
incRetriedJobs(proofType) {
|
|
60
52
|
this.retriedJobs.add(1, {
|
|
61
|
-
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType]
|
|
53
|
+
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType],
|
|
62
54
|
});
|
|
63
55
|
}
|
|
64
56
|
incTimedOutJobs(proofType) {
|
|
65
57
|
this.timedOutJobs.add(1, {
|
|
66
|
-
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType]
|
|
58
|
+
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType],
|
|
67
59
|
});
|
|
68
60
|
}
|
|
69
61
|
recordJobWait(proofType, msOrTimer) {
|
|
70
62
|
const duration = typeof msOrTimer === 'number' ? msOrTimer : Math.floor(msOrTimer.ms());
|
|
71
63
|
this.jobWait.record(duration, {
|
|
72
|
-
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType]
|
|
64
|
+
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType],
|
|
73
65
|
});
|
|
74
66
|
}
|
|
75
67
|
recordJobDuration(proofType, msOrTimer) {
|
|
76
68
|
const duration = typeof msOrTimer === 'number' ? msOrTimer : Math.floor(msOrTimer.ms());
|
|
77
69
|
this.jobDuration.record(duration, {
|
|
78
|
-
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType]
|
|
70
|
+
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType],
|
|
79
71
|
});
|
|
80
72
|
}
|
|
81
73
|
observe(obs, fn) {
|
|
82
|
-
for (const proofType of Object.values(ProvingRequestType)){
|
|
74
|
+
for (const proofType of Object.values(ProvingRequestType)) {
|
|
83
75
|
// a type predicate for TypeScript to recognize that we're only iterating over enum values
|
|
84
76
|
if (typeof proofType !== 'number') {
|
|
85
77
|
continue;
|
|
86
78
|
}
|
|
87
79
|
obs.observe(fn(proofType), {
|
|
88
|
-
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType]
|
|
80
|
+
[Attributes.PROVING_JOB_TYPE]: ProvingRequestType[proofType],
|
|
89
81
|
});
|
|
90
82
|
}
|
|
91
83
|
}
|
|
92
84
|
}
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmluZ19icm9rZXJfaW5zdHJ1bWVudGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpbmdfYnJva2VyL3Byb3ZpbmdfYnJva2VyX2luc3RydW1lbnRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUxRCxPQUFPLEVBQ0wsVUFBVSxFQUVWLE9BQU8sRUFLUCxTQUFTLEdBQ1YsTUFBTSx5QkFBeUIsQ0FBQztBQUlqQyxNQUFNLE9BQU8sNEJBQTRCO0lBVXZDLFlBQVksTUFBdUIsRUFBRSxJQUFJLEdBQUcsZUFBZTtRQUN6RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTtZQUN2RSxTQUFTLEVBQUUsU0FBUyxDQUFDLEdBQUc7U0FDekIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLHlCQUF5QixFQUFFO1lBQy9FLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FBRztTQUN6QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsMkJBQTJCLEVBQUU7WUFDakYsU0FBUyxFQUFFLFNBQVMsQ0FBQyxHQUFHO1NBQ3pCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQywyQkFBMkIsRUFBRTtZQUNqRixTQUFTLEVBQUUsU0FBUyxDQUFDLEdBQUc7U0FDekIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsbUJBQW1CLENB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
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type ProvingJobId, type ProvingJobInputs, type ProvingJobResultsMap, ProvingRequestType, type ServerCircuitProver } from '@aztec/circuit-types';
|
|
2
|
+
export declare enum ProvingJobControllerStatus {
|
|
3
|
+
IDLE = "idle",
|
|
4
|
+
PROVING = "proving",
|
|
5
|
+
DONE = "done",
|
|
6
|
+
ABORTED = "aborted"
|
|
7
|
+
}
|
|
8
|
+
interface ProvingJobCompletionCallback<T extends ProvingRequestType = ProvingRequestType> {
|
|
9
|
+
(jobId: ProvingJobId, type: T, error: Error | undefined, result: ProvingJobResultsMap[T] | undefined): void | Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
export declare class ProvingJobController {
|
|
12
|
+
private jobId;
|
|
13
|
+
private inputs;
|
|
14
|
+
private epochNumber;
|
|
15
|
+
private startedAt;
|
|
16
|
+
private circuitProver;
|
|
17
|
+
private onComplete;
|
|
18
|
+
private status;
|
|
19
|
+
private promise?;
|
|
20
|
+
private abortController;
|
|
21
|
+
constructor(jobId: ProvingJobId, inputs: ProvingJobInputs, epochNumber: number, startedAt: number, circuitProver: ServerCircuitProver, onComplete: ProvingJobCompletionCallback);
|
|
22
|
+
start(): void;
|
|
23
|
+
getStatus(): ProvingJobControllerStatus;
|
|
24
|
+
abort(): void;
|
|
25
|
+
getJobId(): ProvingJobId;
|
|
26
|
+
getStartedAt(): number;
|
|
27
|
+
getProofTypeName(): string;
|
|
28
|
+
private generateProof;
|
|
29
|
+
}
|
|
30
|
+
export {};
|
|
31
|
+
//# sourceMappingURL=proving_job_controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proving_job_controller.d.ts","sourceRoot":"","sources":["../../src/proving_broker/proving_job_controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,kBAAkB,EAClB,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AAE9B,oBAAY,0BAA0B;IACpC,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED,UAAU,4BAA4B,CAAC,CAAC,SAAS,kBAAkB,GAAG,kBAAkB;IACtF,CACE,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,SAAS,GAC1C,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAED,qBAAa,oBAAoB;IAM7B,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,UAAU;IAVpB,OAAO,CAAC,MAAM,CAA+D;IAC7E,OAAO,CAAC,OAAO,CAAC,CAAgB;IAChC,OAAO,CAAC,eAAe,CAAyB;gBAGtC,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,gBAAgB,EACxB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,mBAAmB,EAClC,UAAU,EAAE,4BAA4B;IAG3C,KAAK,IAAI,IAAI;IAmCb,SAAS,IAAI,0BAA0B;IAIvC,KAAK,IAAI,IAAI;IASb,QAAQ,IAAI,YAAY;IAIxB,YAAY,IAAI,MAAM;IAItB,gBAAgB,IAAI,MAAM;YAInB,aAAa;CA0D5B"}
|