@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
|
@@ -1,64 +1,57 @@
|
|
|
1
|
-
import { ProvingRequestType } from '@aztec/circuit-types';
|
|
2
|
-
export var ProvingJobControllerStatus
|
|
1
|
+
import { ProvingRequestType, } from '@aztec/circuit-types';
|
|
2
|
+
export var ProvingJobControllerStatus;
|
|
3
|
+
(function (ProvingJobControllerStatus) {
|
|
3
4
|
ProvingJobControllerStatus["IDLE"] = "idle";
|
|
4
5
|
ProvingJobControllerStatus["PROVING"] = "proving";
|
|
5
6
|
ProvingJobControllerStatus["DONE"] = "done";
|
|
6
7
|
ProvingJobControllerStatus["ABORTED"] = "aborted";
|
|
7
|
-
|
|
8
|
-
}({});
|
|
8
|
+
})(ProvingJobControllerStatus || (ProvingJobControllerStatus = {}));
|
|
9
9
|
export class ProvingJobController {
|
|
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){
|
|
10
|
+
constructor(jobId, inputs, epochNumber, startedAt, circuitProver, onComplete) {
|
|
20
11
|
this.jobId = jobId;
|
|
21
12
|
this.inputs = inputs;
|
|
22
13
|
this.epochNumber = epochNumber;
|
|
23
14
|
this.startedAt = startedAt;
|
|
24
15
|
this.circuitProver = circuitProver;
|
|
25
16
|
this.onComplete = onComplete;
|
|
26
|
-
this.status =
|
|
17
|
+
this.status = ProvingJobControllerStatus.IDLE;
|
|
27
18
|
this.abortController = new AbortController();
|
|
28
19
|
}
|
|
29
20
|
start() {
|
|
30
|
-
if (this.status !==
|
|
21
|
+
if (this.status !== ProvingJobControllerStatus.IDLE) {
|
|
31
22
|
return;
|
|
32
23
|
}
|
|
33
|
-
this.status =
|
|
34
|
-
this.promise = this.generateProof()
|
|
35
|
-
|
|
24
|
+
this.status = ProvingJobControllerStatus.PROVING;
|
|
25
|
+
this.promise = this.generateProof()
|
|
26
|
+
.then(result => {
|
|
27
|
+
if (this.status === ProvingJobControllerStatus.ABORTED) {
|
|
36
28
|
return;
|
|
37
29
|
}
|
|
38
|
-
this.status =
|
|
30
|
+
this.status = ProvingJobControllerStatus.DONE;
|
|
39
31
|
return this.onComplete(this.jobId, this.inputs.type, undefined, result);
|
|
40
|
-
},
|
|
41
|
-
if (this.status ===
|
|
32
|
+
}, error => {
|
|
33
|
+
if (this.status === ProvingJobControllerStatus.ABORTED) {
|
|
42
34
|
return;
|
|
43
35
|
}
|
|
44
36
|
if (error.name === 'AbortError') {
|
|
45
37
|
// Ignore abort errors
|
|
46
38
|
return;
|
|
47
39
|
}
|
|
48
|
-
this.status =
|
|
40
|
+
this.status = ProvingJobControllerStatus.DONE;
|
|
49
41
|
return this.onComplete(this.jobId, this.inputs.type, error, undefined);
|
|
50
|
-
})
|
|
51
|
-
|
|
42
|
+
})
|
|
43
|
+
.catch(_ => {
|
|
44
|
+
// ignore completion errors
|
|
52
45
|
});
|
|
53
46
|
}
|
|
54
47
|
getStatus() {
|
|
55
48
|
return this.status;
|
|
56
49
|
}
|
|
57
50
|
abort() {
|
|
58
|
-
if (this.status !==
|
|
51
|
+
if (this.status !== ProvingJobControllerStatus.PROVING) {
|
|
59
52
|
return;
|
|
60
53
|
}
|
|
61
|
-
this.status =
|
|
54
|
+
this.status = ProvingJobControllerStatus.ABORTED;
|
|
62
55
|
this.abortController.abort();
|
|
63
56
|
}
|
|
64
57
|
getJobId() {
|
|
@@ -73,60 +66,48 @@ export class ProvingJobController {
|
|
|
73
66
|
async generateProof() {
|
|
74
67
|
const { type, inputs } = this.inputs;
|
|
75
68
|
const signal = this.abortController.signal;
|
|
76
|
-
switch(type){
|
|
77
|
-
case ProvingRequestType.PUBLIC_VM:
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
case ProvingRequestType.
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
case ProvingRequestType.
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
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
|
-
}
|
|
69
|
+
switch (type) {
|
|
70
|
+
case ProvingRequestType.PUBLIC_VM: {
|
|
71
|
+
return await this.circuitProver.getAvmProof(inputs, signal, this.epochNumber);
|
|
72
|
+
}
|
|
73
|
+
case ProvingRequestType.PRIVATE_BASE_ROLLUP: {
|
|
74
|
+
return await this.circuitProver.getPrivateBaseRollupProof(inputs, signal, this.epochNumber);
|
|
75
|
+
}
|
|
76
|
+
case ProvingRequestType.PUBLIC_BASE_ROLLUP: {
|
|
77
|
+
return await this.circuitProver.getPublicBaseRollupProof(inputs, signal, this.epochNumber);
|
|
78
|
+
}
|
|
79
|
+
case ProvingRequestType.MERGE_ROLLUP: {
|
|
80
|
+
return await this.circuitProver.getMergeRollupProof(inputs, signal, this.epochNumber);
|
|
81
|
+
}
|
|
82
|
+
case ProvingRequestType.EMPTY_BLOCK_ROOT_ROLLUP: {
|
|
83
|
+
return await this.circuitProver.getEmptyBlockRootRollupProof(inputs, signal, this.epochNumber);
|
|
84
|
+
}
|
|
85
|
+
case ProvingRequestType.BLOCK_ROOT_ROLLUP: {
|
|
86
|
+
return await this.circuitProver.getBlockRootRollupProof(inputs, signal, this.epochNumber);
|
|
87
|
+
}
|
|
88
|
+
case ProvingRequestType.SINGLE_TX_BLOCK_ROOT_ROLLUP: {
|
|
89
|
+
return await this.circuitProver.getSingleTxBlockRootRollupProof(inputs, signal, this.epochNumber);
|
|
90
|
+
}
|
|
91
|
+
case ProvingRequestType.BLOCK_MERGE_ROLLUP: {
|
|
92
|
+
return await this.circuitProver.getBlockMergeRollupProof(inputs, signal, this.epochNumber);
|
|
93
|
+
}
|
|
94
|
+
case ProvingRequestType.ROOT_ROLLUP: {
|
|
95
|
+
return await this.circuitProver.getRootRollupProof(inputs, signal, this.epochNumber);
|
|
96
|
+
}
|
|
97
|
+
case ProvingRequestType.BASE_PARITY: {
|
|
98
|
+
return await this.circuitProver.getBaseParityProof(inputs, signal, this.epochNumber);
|
|
99
|
+
}
|
|
100
|
+
case ProvingRequestType.ROOT_PARITY: {
|
|
101
|
+
return await this.circuitProver.getRootParityProof(inputs, signal, this.epochNumber);
|
|
102
|
+
}
|
|
103
|
+
case ProvingRequestType.TUBE_PROOF: {
|
|
104
|
+
return await this.circuitProver.getTubeProof(inputs, signal, this.epochNumber);
|
|
105
|
+
}
|
|
106
|
+
default: {
|
|
107
|
+
const _exhaustive = type;
|
|
108
|
+
return Promise.reject(new Error(`Invalid proof request type: ${type}`));
|
|
109
|
+
}
|
|
130
110
|
}
|
|
131
111
|
}
|
|
132
112
|
}
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmluZ19qb2JfY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92aW5nX2Jyb2tlci9wcm92aW5nX2pvYl9jb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJTCxrQkFBa0IsR0FFbkIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixNQUFNLENBQU4sSUFBWSwwQkFLWDtBQUxELFdBQVksMEJBQTBCO0lBQ3BDLDJDQUFhLENBQUE7SUFDYixpREFBbUIsQ0FBQTtJQUNuQiwyQ0FBYSxDQUFBO0lBQ2IsaURBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUxXLDBCQUEwQixLQUExQiwwQkFBMEIsUUFLckM7QUFXRCxNQUFNLE9BQU8sb0JBQW9CO0lBSy9CLFlBQ1UsS0FBbUIsRUFDbkIsTUFBd0IsRUFDeEIsV0FBbUIsRUFDbkIsU0FBaUIsRUFDakIsYUFBa0MsRUFDbEMsVUFBd0M7UUFMeEMsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUNuQixXQUFNLEdBQU4sTUFBTSxDQUFrQjtRQUN4QixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ2pCLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQUNsQyxlQUFVLEdBQVYsVUFBVSxDQUE4QjtRQVYxQyxXQUFNLEdBQStCLDBCQUEwQixDQUFDLElBQUksQ0FBQztRQUVyRSxvQkFBZSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7SUFTN0MsQ0FBQztJQUVHLEtBQUs7UUFDVixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssMEJBQTBCLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDcEQsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLDBCQUEwQixDQUFDLE9BQU8sQ0FBQztRQUVqRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUU7YUFDaEMsSUFBSSxDQUNILE1BQU0s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
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type ComponentsVersions, type ProvingJobBroker, type ProvingJobConsumer, type ProvingJobProducer } from '@aztec/circuit-types';
|
|
2
|
+
import { type SafeJsonRpcServer } from '@aztec/foundation/json-rpc/server';
|
|
3
|
+
import { type ApiSchemaFor } from '@aztec/foundation/schemas';
|
|
4
|
+
export declare const ProvingJobProducerSchema: ApiSchemaFor<ProvingJobProducer>;
|
|
5
|
+
export declare const ProvingJobConsumerSchema: ApiSchemaFor<ProvingJobConsumer>;
|
|
6
|
+
export declare const ProvingJobBrokerSchema: ApiSchemaFor<ProvingJobBroker>;
|
|
7
|
+
export declare function createProvingBrokerServer(broker: ProvingJobBroker): SafeJsonRpcServer;
|
|
8
|
+
export declare function createProvingJobBrokerClient(url: string, versions: Partial<ComponentsVersions>, fetch?: (host: string, rpcMethod: string, body: any, useApiEndpoints: boolean, extraHeaders?: Record<string, string> | undefined, noRetry?: boolean | undefined) => Promise<{
|
|
9
|
+
response: any;
|
|
10
|
+
headers: {
|
|
11
|
+
get: (header: string) => string | null | undefined;
|
|
12
|
+
};
|
|
13
|
+
}>): ProvingJobBroker;
|
|
14
|
+
export declare function createProvingJobProducerClient(url: string, versions: Partial<ComponentsVersions>, fetch?: (host: string, rpcMethod: string, body: any, useApiEndpoints: boolean, extraHeaders?: Record<string, string> | undefined, noRetry?: boolean | undefined) => Promise<{
|
|
15
|
+
response: any;
|
|
16
|
+
headers: {
|
|
17
|
+
get: (header: string) => string | null | undefined;
|
|
18
|
+
};
|
|
19
|
+
}>): ProvingJobProducer;
|
|
20
|
+
export declare function createProvingJobConsumerClient(url: string, versions: Partial<ComponentsVersions>, fetch?: (host: string, rpcMethod: string, body: any, useApiEndpoints: boolean, extraHeaders?: Record<string, string> | undefined, noRetry?: boolean | undefined) => Promise<{
|
|
21
|
+
response: any;
|
|
22
|
+
headers: {
|
|
23
|
+
get: (header: string) => string | null | undefined;
|
|
24
|
+
};
|
|
25
|
+
}>): ProvingJobConsumer;
|
|
26
|
+
//# sourceMappingURL=rpc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/proving_broker/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EAIvB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EAEvB,KAAK,kBAAkB,EAIxB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,KAAK,YAAY,EAAY,MAAM,2BAA2B,CAAC;AAcxE,eAAO,MAAM,wBAAwB,EAAE,YAAY,CAAC,kBAAkB,CAKrE,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,YAAY,CAAC,kBAAkB,CAcrE,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,YAAY,CAAC,gBAAgB,CAGjE,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,gBAAgB,GAAG,iBAAiB,CAErF;AAED,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACrC,KAAK;;;;;EAAoC,GACxC,gBAAgB,CAMlB;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACrC,KAAK;;;;;EAAoC,GACxC,kBAAkB,CAMpB;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACrC,KAAK;;;;;EAAoC,GACxC,kBAAkB,CAMpB"}
|
|
@@ -1,52 +1,62 @@
|
|
|
1
|
-
import { ProofUri, ProvingJob, ProvingJobId, ProvingJobStatus, ProvingRequestType } from '@aztec/circuit-types';
|
|
1
|
+
import { ProofUri, ProvingJob, ProvingJobId, ProvingJobStatus, ProvingRequestType, getVersioningResponseHandler, } 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
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
reportProvingJobError: z
|
|
22
|
+
.function()
|
|
23
|
+
.args(ProvingJobId, z.string(), optional(z.boolean()), optional(ProvingJobFilterSchema))
|
|
24
|
+
.returns(GetProvingJobResponse.optional()),
|
|
25
|
+
reportProvingJobProgress: z
|
|
26
|
+
.function()
|
|
27
|
+
.args(ProvingJobId, z.number(), optional(ProvingJobFilterSchema))
|
|
28
|
+
.returns(GetProvingJobResponse.optional()),
|
|
29
|
+
reportProvingJobSuccess: z
|
|
30
|
+
.function()
|
|
31
|
+
.args(ProvingJobId, ProofUri, optional(ProvingJobFilterSchema))
|
|
32
|
+
.returns(GetProvingJobResponse.optional()),
|
|
24
33
|
};
|
|
25
34
|
export const ProvingJobBrokerSchema = {
|
|
26
35
|
...ProvingJobConsumerSchema,
|
|
27
|
-
...ProvingJobProducerSchema
|
|
36
|
+
...ProvingJobProducerSchema,
|
|
28
37
|
};
|
|
29
38
|
export function createProvingBrokerServer(broker) {
|
|
30
39
|
return createTracedJsonRpcServer(broker, ProvingJobBrokerSchema);
|
|
31
40
|
}
|
|
32
|
-
export function createProvingJobBrokerClient(url, fetch = makeTracedFetch([
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
41
|
+
export function createProvingJobBrokerClient(url, versions, fetch = makeTracedFetch([1, 2, 3], false)) {
|
|
42
|
+
return createSafeJsonRpcClient(url, ProvingJobBrokerSchema, {
|
|
43
|
+
namespaceMethods: 'proverBroker',
|
|
44
|
+
fetch,
|
|
45
|
+
onResponse: getVersioningResponseHandler(versions),
|
|
46
|
+
});
|
|
38
47
|
}
|
|
39
|
-
export function createProvingJobProducerClient(url, fetch = makeTracedFetch([
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
48
|
+
export function createProvingJobProducerClient(url, versions, fetch = makeTracedFetch([1, 2, 3], false)) {
|
|
49
|
+
return createSafeJsonRpcClient(url, ProvingJobProducerSchema, {
|
|
50
|
+
namespaceMethods: 'provingJobProducer',
|
|
51
|
+
fetch,
|
|
52
|
+
onResponse: getVersioningResponseHandler(versions),
|
|
53
|
+
});
|
|
45
54
|
}
|
|
46
|
-
export function createProvingJobConsumerClient(url, fetch = makeTracedFetch([
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
55
|
+
export function createProvingJobConsumerClient(url, versions, fetch = makeTracedFetch([1, 2, 3], false)) {
|
|
56
|
+
return createSafeJsonRpcClient(url, ProvingJobConsumerSchema, {
|
|
57
|
+
namespaceMethods: 'provingJobConsumer',
|
|
58
|
+
fetch,
|
|
59
|
+
onResponse: getVersioningResponseHandler(versions),
|
|
60
|
+
});
|
|
52
61
|
}
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpbmdfYnJva2VyL3JwYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsUUFBUSxFQUNSLFVBQVUsRUFHVixZQUFZLEVBRVosZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQiw0QkFBNEIsR0FDN0IsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUU1RSxPQUFPLEVBQXFCLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVyRixPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN0QyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLENBQUM7Q0FDckQsQ0FBQyxDQUFDO0FBRUgsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3JDLEdBQUcsRUFBRSxVQUFVO0lBQ2YsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7Q0FDakIsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQXFDO0lBQ3hFLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDO0lBQzFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDO0lBQzlFLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FB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
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type ProofAndVerificationKey, type ProvingJob, type ProvingJobId, type ProvingJobProducer, type ProvingJobStatus, type PublicInputsAndRecursiveProof, type ServerCircuitProver } from '@aztec/circuit-types';
|
|
2
|
+
import { type AvmCircuitInputs, type BaseParityInputs, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, type RootParityInputs, TUBE_PROOF_LENGTH } from '@aztec/circuits.js';
|
|
3
|
+
import { type BaseOrMergeRollupPublicInputs, type BlockMergeRollupInputs, type BlockRootOrBlockMergePublicInputs, type BlockRootRollupInputs, type EmptyBlockRootRollupInputs, type MergeRollupInputs, type PrivateBaseRollupInputs, type PublicBaseRollupInputs, type RootRollupInputs, type RootRollupPublicInputs, type SingleTxBlockRootRollupInputs } from '@aztec/circuits.js/rollup';
|
|
4
|
+
import { BrokerCircuitProverFacade } from '../proving_broker/broker_prover_facade.js';
|
|
5
|
+
import { type ProofStore } from '../proving_broker/proof_store/index.js';
|
|
6
|
+
export declare class TestBroker implements ProvingJobProducer {
|
|
7
|
+
private proofStore;
|
|
8
|
+
private broker;
|
|
9
|
+
private agents;
|
|
10
|
+
facade: BrokerCircuitProverFacade;
|
|
11
|
+
constructor(agentCount: number, prover: ServerCircuitProver, proofStore?: ProofStore, agentPollInterval?: number);
|
|
12
|
+
start(): Promise<void>;
|
|
13
|
+
stop(): Promise<void>;
|
|
14
|
+
getProofStore(): ProofStore;
|
|
15
|
+
enqueueProvingJob(job: ProvingJob): Promise<ProvingJobStatus>;
|
|
16
|
+
getProvingJobStatus(id: ProvingJobId): Promise<ProvingJobStatus>;
|
|
17
|
+
cancelProvingJob(id: string): Promise<void>;
|
|
18
|
+
getCompletedJobs(ids: ProvingJobId[]): Promise<ProvingJobId[]>;
|
|
19
|
+
}
|
|
20
|
+
export declare class MockProver implements ServerCircuitProver {
|
|
21
|
+
constructor();
|
|
22
|
+
getAvmProof(_inputs: AvmCircuitInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<ProofAndVerificationKey<4154>>;
|
|
23
|
+
getBaseParityProof(_inputs: BaseParityInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<import("@aztec/circuits.js").ParityPublicInputs, 459>>;
|
|
24
|
+
getRootParityProof(_inputs: RootParityInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<import("@aztec/circuits.js").ParityPublicInputs, 459>>;
|
|
25
|
+
getPrivateBaseRollupProof(_baseRollupInput: PrivateBaseRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
26
|
+
getPublicBaseRollupProof(_inputs: PublicBaseRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
27
|
+
getMergeRollupProof(_input: MergeRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
28
|
+
getBlockMergeRollupProof(_input: BlockMergeRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, 538>>;
|
|
29
|
+
getEmptyBlockRootRollupProof(_input: EmptyBlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
30
|
+
getBlockRootRollupProof(_input: BlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
31
|
+
getSingleTxBlockRootRollupProof(_input: SingleTxBlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
32
|
+
getRootRollupProof(_input: RootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<RootRollupPublicInputs>>;
|
|
33
|
+
getTubeProof(): Promise<ProofAndVerificationKey<typeof TUBE_PROOF_LENGTH>>;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=mock_prover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock_prover.d.ts","sourceRoot":"","sources":["../../src/test/mock_prover.ts"],"names":[],"mappings":"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"}
|
package/dest/test/mock_prover.js
CHANGED
|
@@ -1,27 +1,28 @@
|
|
|
1
|
-
import { makeProofAndVerificationKey, makePublicInputsAndRecursiveProof } from '@aztec/circuit-types';
|
|
2
|
-
import { AVM_PROOF_LENGTH_IN_FIELDS, AVM_VERIFICATION_KEY_LENGTH_IN_FIELDS, NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, RECURSIVE_PROOF_LENGTH, TUBE_PROOF_LENGTH, VerificationKeyData, makeEmptyRecursiveProof, makeRecursiveProof } from '@aztec/circuits.js';
|
|
3
|
-
import { makeBaseOrMergeRollupPublicInputs, makeBlockRootOrBlockMergeRollupPublicInputs, makeParityPublicInputs, makeRootRollupPublicInputs } from '@aztec/circuits.js/testing';
|
|
1
|
+
import { makeProofAndVerificationKey, makePublicInputsAndRecursiveProof, } from '@aztec/circuit-types';
|
|
2
|
+
import { AVM_PROOF_LENGTH_IN_FIELDS, AVM_VERIFICATION_KEY_LENGTH_IN_FIELDS, NESTED_RECURSIVE_PROOF_LENGTH, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, RECURSIVE_PROOF_LENGTH, TUBE_PROOF_LENGTH, VerificationKeyData, makeEmptyRecursiveProof, makeRecursiveProof, } from '@aztec/circuits.js';
|
|
3
|
+
import { makeBaseOrMergeRollupPublicInputs, makeBlockRootOrBlockMergeRollupPublicInputs, makeParityPublicInputs, makeRootRollupPublicInputs, } from '@aztec/circuits.js/testing';
|
|
4
4
|
import { times } from '@aztec/foundation/collection';
|
|
5
|
+
import { BrokerCircuitProverFacade } from '../proving_broker/broker_prover_facade.js';
|
|
5
6
|
import { InlineProofStore } from '../proving_broker/proof_store/index.js';
|
|
6
7
|
import { ProvingAgent } from '../proving_broker/proving_agent.js';
|
|
7
8
|
import { ProvingBroker } from '../proving_broker/proving_broker.js';
|
|
8
9
|
import { InMemoryBrokerDatabase } from '../proving_broker/proving_broker_database/memory.js';
|
|
9
10
|
export class TestBroker {
|
|
10
|
-
proofStore
|
|
11
|
-
broker;
|
|
12
|
-
agents;
|
|
13
|
-
constructor(agentCount, prover, proofStore = new InlineProofStore(), agentPollInterval = 100){
|
|
11
|
+
constructor(agentCount, prover, proofStore = new InlineProofStore(), agentPollInterval = 100) {
|
|
14
12
|
this.proofStore = proofStore;
|
|
15
13
|
this.broker = new ProvingBroker(new InMemoryBrokerDatabase());
|
|
16
|
-
this.agents = times(agentCount, ()=>new ProvingAgent(this.broker, proofStore, prover, undefined, agentPollInterval));
|
|
14
|
+
this.agents = times(agentCount, () => new ProvingAgent(this.broker, proofStore, prover, undefined, agentPollInterval));
|
|
15
|
+
this.facade = new BrokerCircuitProverFacade(this.broker, proofStore);
|
|
17
16
|
}
|
|
18
17
|
async start() {
|
|
19
18
|
await this.broker.start();
|
|
20
|
-
this.agents.forEach(
|
|
19
|
+
this.agents.forEach(agent => agent.start());
|
|
20
|
+
this.facade.start();
|
|
21
21
|
}
|
|
22
22
|
async stop() {
|
|
23
|
-
await Promise.all(this.agents.map(
|
|
23
|
+
await Promise.all(this.agents.map(agent => agent.stop()));
|
|
24
24
|
await this.broker.stop();
|
|
25
|
+
await this.facade.stop();
|
|
25
26
|
}
|
|
26
27
|
getProofStore() {
|
|
27
28
|
return this.proofStore;
|
|
@@ -40,7 +41,7 @@ export class TestBroker {
|
|
|
40
41
|
}
|
|
41
42
|
}
|
|
42
43
|
export class MockProver {
|
|
43
|
-
constructor(){}
|
|
44
|
+
constructor() { }
|
|
44
45
|
getAvmProof(_inputs, _signal, _epochNumber) {
|
|
45
46
|
return Promise.resolve(makeProofAndVerificationKey(makeEmptyRecursiveProof(AVM_PROOF_LENGTH_IN_FIELDS), VerificationKeyData.makeFake(AVM_VERIFICATION_KEY_LENGTH_IN_FIELDS)));
|
|
46
47
|
}
|
|
@@ -78,3 +79,4 @@ export class MockProver {
|
|
|
78
79
|
return Promise.resolve(makeProofAndVerificationKey(makeRecursiveProof(TUBE_PROOF_LENGTH), VerificationKeyData.makeFakeRollupHonk()));
|
|
79
80
|
}
|
|
80
81
|
}
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19wcm92ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC9tb2NrX3Byb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBUUwsMkJBQTJCLEVBQzNCLGlDQUFpQyxHQUNsQyxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIscUNBQXFDLEVBR3JDLDZCQUE2QixFQUM3Qix5Q0FBeUMsRUFDekMsc0JBQXNCLEVBRXRCLGlCQUFpQixFQUNqQixtQkFBbUIsRUFDbkIsdUJBQXVCLEVBQ3ZCLGtCQUFrQixHQUNuQixNQUFNLG9CQUFvQixDQUFDO0FBYzVCLE9BQU8sRUFDTCxpQ0FBaUMsRUFDakMsMkNBQTJDLEVBQzNDLHNCQUFzQixFQUN0QiwwQkFBMEIsR0FDM0IsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFckQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFtQixNQUFNLHdDQUF3QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFN0YsTUFBTSxPQUFPLFVBQVU7SUFLckIsWUFDRSxVQUFrQixFQUNsQixNQUEyQixFQUNuQixhQUF5QixJQUFJLGdCQUFnQixFQUFFLEVBQ3ZELGlCQUFpQixHQUFHLEdBQUc7UUFEZixlQUFVLEdBQVYsVUFBVSxDQUFxQztRQUd2RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksYUFBYSxDQUFDLElBQUksc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxNQUFNLEdBQUcs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
|
package/package.json
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/prover-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.76.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
7
7
|
"./block-builder": "./dest/block_builder/index.js",
|
|
8
8
|
"./broker": "./dest/proving_broker/index.js",
|
|
9
|
-
"./prover-agent": "./dest/prover-agent/index.js",
|
|
10
9
|
"./orchestrator": "./dest/orchestrator/index.js",
|
|
11
10
|
"./helpers": "./dest/orchestrator/block-building-helpers.js",
|
|
12
11
|
"./config": "./dest/config.js"
|
|
@@ -67,17 +66,17 @@
|
|
|
67
66
|
]
|
|
68
67
|
},
|
|
69
68
|
"dependencies": {
|
|
70
|
-
"@aztec/bb-prover": "0.
|
|
71
|
-
"@aztec/blob-lib": "0.
|
|
72
|
-
"@aztec/circuit-types": "0.
|
|
73
|
-
"@aztec/circuits.js": "0.
|
|
74
|
-
"@aztec/foundation": "0.
|
|
75
|
-
"@aztec/kv-store": "0.
|
|
76
|
-
"@aztec/noir-protocol-circuits-types": "0.
|
|
77
|
-
"@aztec/protocol-contracts": "0.
|
|
78
|
-
"@aztec/simulator": "0.
|
|
79
|
-
"@aztec/telemetry-client": "0.
|
|
80
|
-
"@aztec/world-state": "0.
|
|
69
|
+
"@aztec/bb-prover": "0.76.0",
|
|
70
|
+
"@aztec/blob-lib": "0.76.0",
|
|
71
|
+
"@aztec/circuit-types": "0.76.0",
|
|
72
|
+
"@aztec/circuits.js": "0.76.0",
|
|
73
|
+
"@aztec/foundation": "0.76.0",
|
|
74
|
+
"@aztec/kv-store": "0.76.0",
|
|
75
|
+
"@aztec/noir-protocol-circuits-types": "0.76.0",
|
|
76
|
+
"@aztec/protocol-contracts": "0.76.0",
|
|
77
|
+
"@aztec/simulator": "0.76.0",
|
|
78
|
+
"@aztec/telemetry-client": "0.76.0",
|
|
79
|
+
"@aztec/world-state": "0.76.0",
|
|
81
80
|
"@google-cloud/storage": "^7.15.0",
|
|
82
81
|
"@iarna/toml": "^2.2.5",
|
|
83
82
|
"@noir-lang/types": "portal:../../noir/packages/types",
|
package/src/index.ts
CHANGED
|
@@ -27,7 +27,6 @@ import {
|
|
|
27
27
|
WASMSimulatorWithBlobs,
|
|
28
28
|
type WorldStateDB,
|
|
29
29
|
} from '@aztec/simulator/server';
|
|
30
|
-
import { getTelemetryClient } from '@aztec/telemetry-client';
|
|
31
30
|
import { type MerkleTreeAdminDatabase } from '@aztec/world-state';
|
|
32
31
|
import { NativeWorldStateService } from '@aztec/world-state/native';
|
|
33
32
|
|
|
@@ -40,8 +39,7 @@ import { AvmFinalizedCallResult } from '../../../simulator/src/avm/avm_contract_
|
|
|
40
39
|
import { type AvmPersistableStateManager } from '../../../simulator/src/avm/journal/journal.js';
|
|
41
40
|
import { buildBlock } from '../block_builder/light.js';
|
|
42
41
|
import { ProvingOrchestrator } from '../orchestrator/index.js';
|
|
43
|
-
import {
|
|
44
|
-
import { ProverAgent } from '../prover-agent/prover-agent.js';
|
|
42
|
+
import { TestBroker } from '../test/mock_prover.js';
|
|
45
43
|
import { getEnvironmentConfig, getSimulationProvider, makeGlobals, updateExpectedTreesFromTxs } from './fixtures.js';
|
|
46
44
|
|
|
47
45
|
export class TestContext {
|
|
@@ -54,7 +52,7 @@ export class TestContext {
|
|
|
54
52
|
public simulationProvider: SimulationProvider,
|
|
55
53
|
public globalVariables: GlobalVariables,
|
|
56
54
|
public prover: ServerCircuitProver,
|
|
57
|
-
public
|
|
55
|
+
public broker: TestBroker,
|
|
58
56
|
public orchestrator: TestProvingOrchestrator,
|
|
59
57
|
public blockNumber: number,
|
|
60
58
|
public directoriesToCleanup: string[],
|
|
@@ -115,12 +113,10 @@ export class TestContext {
|
|
|
115
113
|
directoriesToCleanup.push(config.directoryToCleanup);
|
|
116
114
|
}
|
|
117
115
|
|
|
118
|
-
const
|
|
119
|
-
const orchestrator = new TestProvingOrchestrator(ws,
|
|
120
|
-
const agent = new ProverAgent(localProver, proverCount, undefined);
|
|
116
|
+
const broker = new TestBroker(proverCount, localProver);
|
|
117
|
+
const orchestrator = new TestProvingOrchestrator(ws, broker.facade, Fr.ZERO);
|
|
121
118
|
|
|
122
|
-
|
|
123
|
-
agent.start(queue);
|
|
119
|
+
await broker.start();
|
|
124
120
|
|
|
125
121
|
return new this(
|
|
126
122
|
publicTxSimulator,
|
|
@@ -129,7 +125,7 @@ export class TestContext {
|
|
|
129
125
|
simulationProvider,
|
|
130
126
|
globalVariables,
|
|
131
127
|
localProver,
|
|
132
|
-
|
|
128
|
+
broker,
|
|
133
129
|
orchestrator,
|
|
134
130
|
blockNumber,
|
|
135
131
|
directoriesToCleanup,
|
|
@@ -152,7 +148,7 @@ export class TestContext {
|
|
|
152
148
|
}
|
|
153
149
|
|
|
154
150
|
async cleanup() {
|
|
155
|
-
await this.
|
|
151
|
+
await this.broker.stop();
|
|
156
152
|
for (const dir of this.directoriesToCleanup.filter(x => x !== '')) {
|
|
157
153
|
await fs.rm(dir, { recursive: true, force: true });
|
|
158
154
|
}
|
|
@@ -160,15 +156,13 @@ export class TestContext {
|
|
|
160
156
|
|
|
161
157
|
public makeProcessedTx(opts?: Parameters<typeof makeBloatedProcessedTx>[0]): Promise<ProcessedTx>;
|
|
162
158
|
public makeProcessedTx(seed?: number): Promise<ProcessedTx>;
|
|
163
|
-
public
|
|
164
|
-
seedOrOpts?: Parameters<typeof makeBloatedProcessedTx>[0] | number,
|
|
165
|
-
): Promise<ProcessedTx> {
|
|
159
|
+
public makeProcessedTx(seedOrOpts?: Parameters<typeof makeBloatedProcessedTx>[0] | number): Promise<ProcessedTx> {
|
|
166
160
|
const opts = typeof seedOrOpts === 'number' ? { seed: seedOrOpts } : seedOrOpts;
|
|
167
161
|
const blockNum = (opts?.globalVariables ?? this.globalVariables).blockNumber.toNumber();
|
|
168
162
|
const header = this.getBlockHeader(blockNum - 1);
|
|
169
163
|
return makeBloatedProcessedTx({
|
|
170
164
|
header,
|
|
171
|
-
vkTreeRoot:
|
|
165
|
+
vkTreeRoot: getVKTreeRoot(),
|
|
172
166
|
protocolContractTreeRoot,
|
|
173
167
|
globalVariables: this.globalVariables,
|
|
174
168
|
...opts,
|
|
@@ -189,7 +183,7 @@ export class TestContext {
|
|
|
189
183
|
const txs = await timesParallel(numTxs, i =>
|
|
190
184
|
this.makeProcessedTx({ seed: i + blockNum * 1000, globalVariables, ...makeProcessedTxOpts(i) }),
|
|
191
185
|
);
|
|
192
|
-
await this.
|
|
186
|
+
await this.setTreeRoots(txs);
|
|
193
187
|
|
|
194
188
|
const block = await buildBlock(txs, globalVariables, msgs, db);
|
|
195
189
|
this.headers.set(blockNum, block.header);
|
|
@@ -226,17 +220,24 @@ export class TestContext {
|
|
|
226
220
|
);
|
|
227
221
|
}
|
|
228
222
|
|
|
229
|
-
public async
|
|
223
|
+
public async setTreeRoots(txs: ProcessedTx[]) {
|
|
230
224
|
const db = await this.worldState.fork();
|
|
231
225
|
for (const tx of txs) {
|
|
226
|
+
const startStateReference = await db.getStateReference();
|
|
232
227
|
await updateExpectedTreesFromTxs(db, [tx]);
|
|
233
|
-
const
|
|
228
|
+
const endStateReference = await db.getStateReference();
|
|
234
229
|
if (tx.avmProvingRequest) {
|
|
230
|
+
tx.avmProvingRequest.inputs.publicInputs.startTreeSnapshots = new TreeSnapshots(
|
|
231
|
+
startStateReference.l1ToL2MessageTree,
|
|
232
|
+
startStateReference.partial.noteHashTree,
|
|
233
|
+
startStateReference.partial.nullifierTree,
|
|
234
|
+
startStateReference.partial.publicDataTree,
|
|
235
|
+
);
|
|
235
236
|
tx.avmProvingRequest.inputs.publicInputs.endTreeSnapshots = new TreeSnapshots(
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
237
|
+
endStateReference.l1ToL2MessageTree,
|
|
238
|
+
endStateReference.partial.noteHashTree,
|
|
239
|
+
endStateReference.partial.nullifierTree,
|
|
240
|
+
endStateReference.partial.publicDataTree,
|
|
240
241
|
);
|
|
241
242
|
}
|
|
242
243
|
}
|