@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,8 @@
|
|
|
1
|
+
import { type TelemetryClient, type Tracer } from '@aztec/telemetry-client';
|
|
2
|
+
export declare class ProvingOrchestratorMetrics {
|
|
3
|
+
readonly tracer: Tracer;
|
|
4
|
+
private baseRollupInputsDuration;
|
|
5
|
+
constructor(client: TelemetryClient, name?: string);
|
|
6
|
+
recordBaseRollupInputs(durationMs: number): void;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=orchestrator_metrics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestrator_metrics.d.ts","sourceRoot":"","sources":["../../src/orchestrator/orchestrator_metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,eAAe,EAAE,KAAK,MAAM,EAAa,MAAM,yBAAyB,CAAC;AAEhH,qBAAa,0BAA0B;IACrC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,wBAAwB,CAAY;gBAEhC,MAAM,EAAE,eAAe,EAAE,IAAI,SAAwB;IAWjE,sBAAsB,CAAC,UAAU,EAAE,MAAM;CAG1C"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import { Metrics, ValueType } from '@aztec/telemetry-client';
|
|
2
2
|
export class ProvingOrchestratorMetrics {
|
|
3
|
-
|
|
4
|
-
baseRollupInputsDuration;
|
|
5
|
-
constructor(client, name = 'ProvingOrchestrator'){
|
|
3
|
+
constructor(client, name = 'ProvingOrchestrator') {
|
|
6
4
|
this.tracer = client.getTracer(name);
|
|
7
5
|
const meter = client.getMeter(name);
|
|
8
6
|
this.baseRollupInputsDuration = meter.createHistogram(Metrics.PROVING_ORCHESTRATOR_BASE_ROLLUP_INPUTS_DURATION, {
|
|
9
7
|
unit: 'ms',
|
|
10
8
|
description: 'Duration to build base rollup inputs',
|
|
11
|
-
valueType: ValueType.INT
|
|
9
|
+
valueType: ValueType.INT,
|
|
12
10
|
});
|
|
13
11
|
}
|
|
14
12
|
recordBaseRollupInputs(durationMs) {
|
|
15
13
|
this.baseRollupInputsDuration.record(Math.ceil(durationMs));
|
|
16
14
|
}
|
|
17
15
|
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JjaGVzdHJhdG9yX21ldHJpY3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3JjaGVzdHJhdG9yL29yY2hlc3RyYXRvcl9tZXRyaWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IsT0FBTyxFQUFxQyxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVoSCxNQUFNLE9BQU8sMEJBQTBCO0lBS3JDLFlBQVksTUFBdUIsRUFBRSxJQUFJLEdBQUcscUJBQXFCO1FBQy9ELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBDLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxnREFBZ0QsRUFBRTtZQUM5RyxJQUFJLEVBQUUsSUFBSTtZQUNWLFdBQVcsRUFBRSxzQ0FBc0M7WUFDbkQsU0FBUyxFQUFFLFNBQVMsQ0FBQyxHQUFHO1NBQ3pCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxVQUFrQjtRQUN2QyxJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUM5RCxDQUFDO0NBQ0YifQ==
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type MerkleTreeId, type ProcessedTx, type ProofAndVerificationKey } from '@aztec/circuit-types';
|
|
2
|
+
import { type AVM_PROOF_LENGTH_IN_FIELDS, type AppendOnlyTreeSnapshot, type TUBE_PROOF_LENGTH } from '@aztec/circuits.js';
|
|
3
|
+
import { type BaseRollupHints, PrivateBaseRollupInputs, PublicBaseRollupInputs, TubeInputs } from '@aztec/circuits.js/rollup';
|
|
4
|
+
/**
|
|
5
|
+
* Helper class to manage the proving cycle of a transaction
|
|
6
|
+
* This includes the public VMs and the public kernels
|
|
7
|
+
* Also stores the inputs to the base rollup for this transaction and the tree snapshots
|
|
8
|
+
*/
|
|
9
|
+
export declare class TxProvingState {
|
|
10
|
+
#private;
|
|
11
|
+
readonly processedTx: ProcessedTx;
|
|
12
|
+
private readonly baseRollupHints;
|
|
13
|
+
readonly treeSnapshots: Map<MerkleTreeId, AppendOnlyTreeSnapshot>;
|
|
14
|
+
private tube?;
|
|
15
|
+
private avm?;
|
|
16
|
+
constructor(processedTx: ProcessedTx, baseRollupHints: BaseRollupHints, treeSnapshots: Map<MerkleTreeId, AppendOnlyTreeSnapshot>);
|
|
17
|
+
get requireAvmProof(): boolean;
|
|
18
|
+
ready(): boolean;
|
|
19
|
+
getTubeInputs(): TubeInputs;
|
|
20
|
+
getAvmInputs(): import("@aztec/circuits.js").AvmCircuitInputs;
|
|
21
|
+
getBaseRollupTypeAndInputs(): {
|
|
22
|
+
rollupType: string;
|
|
23
|
+
inputs: PublicBaseRollupInputs;
|
|
24
|
+
} | {
|
|
25
|
+
rollupType: string;
|
|
26
|
+
inputs: PrivateBaseRollupInputs;
|
|
27
|
+
};
|
|
28
|
+
setTubeProof(tubeProofAndVk: ProofAndVerificationKey<typeof TUBE_PROOF_LENGTH>): void;
|
|
29
|
+
setAvmProof(avmProofAndVk: ProofAndVerificationKey<typeof AVM_PROOF_LENGTH_IN_FIELDS>): void;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=tx-proving-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tx-proving-state.d.ts","sourceRoot":"","sources":["../../src/orchestrator/tx-proving-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEzG,OAAO,EACL,KAAK,0BAA0B,EAE/B,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EAGvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,KAAK,eAAe,EAEpB,uBAAuB,EAGvB,sBAAsB,EAEtB,UAAU,EACX,MAAM,2BAA2B,CAAC;AAGnC;;;;GAIG;AACH,qBAAa,cAAc;;aAKP,WAAW,EAAE,WAAW;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe;aAChB,aAAa,EAAE,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAN1E,OAAO,CAAC,IAAI,CAAC,CAAoD;IACjE,OAAO,CAAC,GAAG,CAAC,CAA6D;gBAGvD,WAAW,EAAE,WAAW,EACvB,eAAe,EAAE,eAAe,EACjC,aAAa,EAAE,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAG1E,IAAI,eAAe,YAElB;IAEM,KAAK;IAIL,aAAa;IAIb,YAAY;IAIZ,0BAA0B;;;;;;;IAc1B,YAAY,CAAC,cAAc,EAAE,uBAAuB,CAAC,OAAO,iBAAiB,CAAC;IAI9E,WAAW,CAAC,aAAa,EAAE,uBAAuB,CAAC,OAAO,0BAA0B,CAAC;CAqE7F"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
1
|
+
var _TxProvingState_instances, _TxProvingState_getPrivateBaseInputs, _TxProvingState_getPublicBaseInputs, _TxProvingState_getTubeVkData, _TxProvingState_getAvmVkData;
|
|
2
|
+
import { __classPrivateFieldGet } from "tslib";
|
|
3
|
+
import { AVM_VK_INDEX, TUBE_VK_INDEX, VkWitnessData, } from '@aztec/circuits.js';
|
|
4
|
+
import { AvmProofData, PrivateBaseRollupHints, PrivateBaseRollupInputs, PrivateTubeData, PublicBaseRollupHints, PublicBaseRollupInputs, PublicTubeData, TubeInputs, } from '@aztec/circuits.js/rollup';
|
|
3
5
|
import { getVKIndex, getVKSiblingPath } from '@aztec/noir-protocol-circuits-types/vks';
|
|
4
6
|
/**
|
|
5
7
|
* Helper class to manage the proving cycle of a transaction
|
|
6
8
|
* This includes the public VMs and the public kernels
|
|
7
9
|
* Also stores the inputs to the base rollup for this transaction and the tree snapshots
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
baseRollupHints
|
|
11
|
-
|
|
12
|
-
tube;
|
|
13
|
-
avm;
|
|
14
|
-
constructor(processedTx, baseRollupHints, treeSnapshots){
|
|
10
|
+
*/
|
|
11
|
+
export class TxProvingState {
|
|
12
|
+
constructor(processedTx, baseRollupHints, treeSnapshots) {
|
|
13
|
+
_TxProvingState_instances.add(this);
|
|
15
14
|
this.processedTx = processedTx;
|
|
16
15
|
this.baseRollupHints = baseRollupHints;
|
|
17
16
|
this.treeSnapshots = treeSnapshots;
|
|
@@ -28,16 +27,17 @@ import { getVKIndex, getVKSiblingPath } from '@aztec/noir-protocol-circuits-type
|
|
|
28
27
|
getAvmInputs() {
|
|
29
28
|
return this.processedTx.avmProvingRequest.inputs;
|
|
30
29
|
}
|
|
31
|
-
|
|
30
|
+
getBaseRollupTypeAndInputs() {
|
|
32
31
|
if (this.requireAvmProof) {
|
|
33
32
|
return {
|
|
34
33
|
rollupType: 'public-base-rollup',
|
|
35
|
-
inputs:
|
|
34
|
+
inputs: __classPrivateFieldGet(this, _TxProvingState_instances, "m", _TxProvingState_getPublicBaseInputs).call(this),
|
|
36
35
|
};
|
|
37
|
-
}
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
38
|
return {
|
|
39
39
|
rollupType: 'private-base-rollup',
|
|
40
|
-
inputs:
|
|
40
|
+
inputs: __classPrivateFieldGet(this, _TxProvingState_instances, "m", _TxProvingState_getPrivateBaseInputs).call(this),
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
43
|
}
|
|
@@ -47,47 +47,46 @@ import { getVKIndex, getVKSiblingPath } from '@aztec/noir-protocol-circuits-type
|
|
|
47
47
|
setAvmProof(avmProofAndVk) {
|
|
48
48
|
this.avm = avmProofAndVk;
|
|
49
49
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
const vkData = await this.#getTubeVkData();
|
|
55
|
-
const tubeData = new PrivateTubeData(this.processedTx.data.toPrivateToRollupKernelCircuitPublicInputs(), this.tube.proof, vkData);
|
|
56
|
-
if (!(this.baseRollupHints instanceof PrivateBaseRollupHints)) {
|
|
57
|
-
throw new Error('Mismatched base rollup hints, expected private base rollup hints');
|
|
58
|
-
}
|
|
59
|
-
return new PrivateBaseRollupInputs(tubeData, this.baseRollupHints);
|
|
50
|
+
}
|
|
51
|
+
_TxProvingState_instances = new WeakSet(), _TxProvingState_getPrivateBaseInputs = function _TxProvingState_getPrivateBaseInputs() {
|
|
52
|
+
if (!this.tube) {
|
|
53
|
+
throw new Error('Tx not ready for proving base rollup.');
|
|
60
54
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
if (!this.tube) {
|
|
66
|
-
throw new Error('Tx not ready for proving base rollup: tube proof undefined');
|
|
67
|
-
}
|
|
68
|
-
if (!this.avm) {
|
|
69
|
-
throw new Error('Tx not ready for proving base rollup: avm proof undefined');
|
|
70
|
-
}
|
|
71
|
-
const tubeData = new PublicTubeData(this.processedTx.data.toPrivateToPublicKernelCircuitPublicInputs(), this.tube.proof, await this.#getTubeVkData());
|
|
72
|
-
const avmProofData = new AvmProofData(this.processedTx.avmProvingRequest.inputs.publicInputs, this.avm.proof, await this.#getAvmVkData());
|
|
73
|
-
if (!(this.baseRollupHints instanceof PublicBaseRollupHints)) {
|
|
74
|
-
throw new Error('Mismatched base rollup hints, expected public base rollup hints');
|
|
75
|
-
}
|
|
76
|
-
return new PublicBaseRollupInputs(tubeData, avmProofData, this.baseRollupHints);
|
|
55
|
+
const vkData = __classPrivateFieldGet(this, _TxProvingState_instances, "m", _TxProvingState_getTubeVkData).call(this);
|
|
56
|
+
const tubeData = new PrivateTubeData(this.processedTx.data.toPrivateToRollupKernelCircuitPublicInputs(), this.tube.proof, vkData);
|
|
57
|
+
if (!(this.baseRollupHints instanceof PrivateBaseRollupHints)) {
|
|
58
|
+
throw new Error('Mismatched base rollup hints, expected private base rollup hints');
|
|
77
59
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
} catch (_ignored) {
|
|
83
|
-
// TODO(#7410) The VK for the tube won't be in the tree for now, so we manually set it to the tube vk index
|
|
84
|
-
}
|
|
85
|
-
const vkPath = await getVKSiblingPath(vkIndex);
|
|
86
|
-
return new VkWitnessData(this.tube.verificationKey, vkIndex, vkPath);
|
|
60
|
+
return new PrivateBaseRollupInputs(tubeData, this.baseRollupHints);
|
|
61
|
+
}, _TxProvingState_getPublicBaseInputs = function _TxProvingState_getPublicBaseInputs() {
|
|
62
|
+
if (!this.processedTx.avmProvingRequest) {
|
|
63
|
+
throw new Error('Should create private base rollup for a tx not requiring avm proof.');
|
|
87
64
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
const vkPath = await getVKSiblingPath(vkIndex);
|
|
91
|
-
return new VkWitnessData(this.avm.verificationKey, AVM_VK_INDEX, vkPath);
|
|
65
|
+
if (!this.tube) {
|
|
66
|
+
throw new Error('Tx not ready for proving base rollup: tube proof undefined');
|
|
92
67
|
}
|
|
93
|
-
|
|
68
|
+
if (!this.avm) {
|
|
69
|
+
throw new Error('Tx not ready for proving base rollup: avm proof undefined');
|
|
70
|
+
}
|
|
71
|
+
const tubeData = new PublicTubeData(this.processedTx.data.toPrivateToPublicKernelCircuitPublicInputs(), this.tube.proof, __classPrivateFieldGet(this, _TxProvingState_instances, "m", _TxProvingState_getTubeVkData).call(this));
|
|
72
|
+
const avmProofData = new AvmProofData(this.processedTx.avmProvingRequest.inputs.publicInputs, this.avm.proof, __classPrivateFieldGet(this, _TxProvingState_instances, "m", _TxProvingState_getAvmVkData).call(this));
|
|
73
|
+
if (!(this.baseRollupHints instanceof PublicBaseRollupHints)) {
|
|
74
|
+
throw new Error('Mismatched base rollup hints, expected public base rollup hints');
|
|
75
|
+
}
|
|
76
|
+
return new PublicBaseRollupInputs(tubeData, avmProofData, this.baseRollupHints);
|
|
77
|
+
}, _TxProvingState_getTubeVkData = function _TxProvingState_getTubeVkData() {
|
|
78
|
+
let vkIndex = TUBE_VK_INDEX;
|
|
79
|
+
try {
|
|
80
|
+
vkIndex = getVKIndex(this.tube.verificationKey);
|
|
81
|
+
}
|
|
82
|
+
catch (_ignored) {
|
|
83
|
+
// TODO(#7410) The VK for the tube won't be in the tree for now, so we manually set it to the tube vk index
|
|
84
|
+
}
|
|
85
|
+
const vkPath = getVKSiblingPath(vkIndex);
|
|
86
|
+
return new VkWitnessData(this.tube.verificationKey, vkIndex, vkPath);
|
|
87
|
+
}, _TxProvingState_getAvmVkData = function _TxProvingState_getAvmVkData() {
|
|
88
|
+
const vkIndex = AVM_VK_INDEX;
|
|
89
|
+
const vkPath = getVKSiblingPath(vkIndex);
|
|
90
|
+
return new VkWitnessData(this.avm.verificationKey, AVM_VK_INDEX, vkPath);
|
|
91
|
+
};
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHgtcHJvdmluZy1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vcmNoZXN0cmF0b3IvdHgtcHJvdmluZy1zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLE9BQU8sRUFFTCxZQUFZLEVBR1osYUFBYSxFQUNiLGFBQWEsR0FDZCxNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFDTCxZQUFZLEVBRVosc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2QixlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QixjQUFjLEVBQ2QsVUFBVSxHQUNYLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRXZGOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sY0FBYztJQUl6QixZQUNrQixXQUF3QixFQUN2QixlQUFnQyxFQUNqQyxhQUF3RDs7UUFGeEQsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDdkIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2pDLGtCQUFhLEdBQWIsYUFBYSxDQUEyQztJQUN2RSxDQUFDO0lBRUosSUFBSSxlQUFlO1FBQ2pCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUM7SUFDOUMsQ0FBQztJQUVNLEtBQUs7UUFDVixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVNLGFBQWE7UUFDbEIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTSxZQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBa0IsQ0FBQyxNQUFNLENBQUM7SUFDcEQsQ0FBQztJQUVNLDBCQUEwQjtRQUMvQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixPQUFPO2dCQUNMLFVBQVUsRUFBRSxvQkFBMEM7Z0JBQ3RELE1BQU0sRUFBRSx1QkFBQSxJQUFJLHNFQUFxQixNQUF6QixJQUFJLENBQXVCO2FBQ3BDLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU87Z0JBQ0wsVUFBVSxFQUFFLHFCQUEyQztnQkFDdkQsTUFBTSxFQUFFLHVCQUFBLElBQUksdUVBQXNCLE1BQTFCLElBQUksQ0FBd0I7YUFDckMsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRU0sWUFBWSxDQUFDLGNBQWlFO1FBQ25GLElBQUksQ0FBQyxJQUFJLEdBQUcsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFTSxXQUFXLENBQUMsYUFBeUU7UUFDMUYsSUFBSSxDQUFDLEdBQUcsR0FBRyxhQUFhLENBQUM7SUFDM0IsQ0FBQztDQW1FRjs7SUFoRUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsdUJBQUEsSUFBSSxnRUFBZSxNQUFuQixJQUFJLENBQWlCLENBQUM7SUFDckMsTUFBTSxRQUFRLEdBQUcsSUFBSSxlQUFlLENBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLDBDQUEwQyxFQUFFLEVBQ2xFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUNmLE1BQU0sQ0FDUCxDQUFDO0lBRUYsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsWUFBWSxzQkFBc0IsQ0FBQyxFQUFFLENBQUM7UUFDOUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxrRUFBa0UsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFDRCxPQUFPLElBQUksdUJBQXVCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUNyRSxDQUFDO0lBR0MsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN4QyxNQUFNLElBQUksS0FBSyxDQUFDLHFFQUFxRSxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUNELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZixNQUFNLElBQUksS0FBSyxDQUFDLDREQUE0RCxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUNELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLElBQUksY0FBYyxDQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQywwQ0FBMEMsRUFBRSxFQUNsRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFDZix1QkFBQSxJQUFJLGdFQUFlLE1BQW5CLElBQUksQ0FBaUIsQ0FDdEIsQ0FBQztJQUVGLE1BQU0sWUFBWSxHQUFHLElBQUksWUFBWSxDQUNuQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQ3RELElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUNkLHVCQUFBLElBQUksK0RBQWMsTUFBbEIsSUFBSSxDQUFnQixDQUNyQixDQUFDO0lBRUYsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsWUFBWSxxQkFBcUIsQ0FBQyxFQUFFLENBQUM7UUFDN0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxpRUFBaUUsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRCxPQUFPLElBQUksc0JBQXNCLENBQUMsUUFBUSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDbEYsQ0FBQztJQUdDLElBQUksT0FBTyxHQUFHLGFBQWEsQ0FBQztJQUM1QixJQUFJLENBQUM7UUFDSCxPQUFPLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUFDLE9BQU8sUUFBUSxFQUFFLENBQUM7UUFDbEIsMkdBQTJHO0lBQzdHLENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUV6QyxPQUFPLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFLLENBQUMsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN4RSxDQUFDO0lBR0MsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDO0lBQzdCLE1BQU0sTUFBTSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pDLE9BQU8sSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUksQ0FBQyxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQzVFLENBQUMifQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type ForkMerkleTreeOperations, type ProvingJobBroker } from '@aztec/circuit-types';
|
|
2
|
+
import { type TelemetryClient } from '@aztec/telemetry-client';
|
|
3
|
+
import { type ProverClientConfig } from '../config.js';
|
|
4
|
+
import { ProverClient } from './prover-client.js';
|
|
5
|
+
export declare function createProverClient(config: ProverClientConfig, worldState: ForkMerkleTreeOperations, broker: ProvingJobBroker, telemetry?: TelemetryClient): Promise<ProverClient>;
|
|
6
|
+
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/prover-client/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,wBAAwB,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAEnF,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,kBAAkB,EAC1B,UAAU,EAAE,wBAAwB,EACpC,MAAM,EAAE,gBAAgB,EACxB,SAAS,GAAE,eAAsC,yBAGlD"}
|
|
@@ -3,3 +3,4 @@ import { ProverClient } from './prover-client.js';
|
|
|
3
3
|
export function createProverClient(config, worldState, broker, telemetry = getTelemetryClient()) {
|
|
4
4
|
return ProverClient.new(config, worldState, broker, telemetry);
|
|
5
5
|
}
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92ZXItY2xpZW50L2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUF3QixrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLE1BQTBCLEVBQzFCLFVBQW9DLEVBQ3BDLE1BQXdCLEVBQ3hCLFlBQTZCLGtCQUFrQixFQUFFO0lBRWpELE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztBQUNqRSxDQUFDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prover-client/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export * from './factory.js';
|
|
2
2
|
export * from './prover-client.js';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmVyLWNsaWVudC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLG9CQUFvQixDQUFDIn0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { type ACVMConfig, type BBConfig } from '@aztec/bb-prover';
|
|
2
|
+
import { type ActualProverConfig, type EpochProver, type EpochProverManager, type ForkMerkleTreeOperations, type ProvingJobBroker, type ProvingJobConsumer, type ServerCircuitProver } from '@aztec/circuit-types/interfaces';
|
|
3
|
+
import { Fr } from '@aztec/circuits.js';
|
|
4
|
+
import { type TelemetryClient } from '@aztec/telemetry-client';
|
|
5
|
+
import { type ProverClientConfig } from '../config.js';
|
|
6
|
+
/** Manages proving of epochs by orchestrating the proving of individual blocks relying on a pool of prover agents. */
|
|
7
|
+
export declare class ProverClient implements EpochProverManager {
|
|
8
|
+
private config;
|
|
9
|
+
private worldState;
|
|
10
|
+
private orchestratorClient;
|
|
11
|
+
private agentClient?;
|
|
12
|
+
private telemetry;
|
|
13
|
+
private log;
|
|
14
|
+
private running;
|
|
15
|
+
private agents;
|
|
16
|
+
private proofStore;
|
|
17
|
+
private failedProofStore;
|
|
18
|
+
private constructor();
|
|
19
|
+
createEpochProver(): EpochProver;
|
|
20
|
+
getProverId(): Fr;
|
|
21
|
+
updateProverConfig(config: Partial<ProverClientConfig>): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Starts the prover instance
|
|
24
|
+
*/
|
|
25
|
+
start(): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Stops the prover instance
|
|
28
|
+
*/
|
|
29
|
+
stop(): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Creates a new prover client and starts it
|
|
32
|
+
* @param config - The prover configuration.
|
|
33
|
+
* @param worldState - An instance of the world state
|
|
34
|
+
* @returns An instance of the prover, constructed and started.
|
|
35
|
+
*/
|
|
36
|
+
static new(config: ProverClientConfig, worldState: ForkMerkleTreeOperations, broker: ProvingJobBroker, telemetry?: TelemetryClient): Promise<ProverClient>;
|
|
37
|
+
getProvingJobSource(): ProvingJobConsumer;
|
|
38
|
+
private createAndStartAgents;
|
|
39
|
+
private stopAgents;
|
|
40
|
+
}
|
|
41
|
+
export declare function buildServerCircuitProver(config: ActualProverConfig & ACVMConfig & BBConfig, telemetry: TelemetryClient): Promise<ServerCircuitProver>;
|
|
42
|
+
//# sourceMappingURL=prover-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prover-client.d.ts","sourceRoot":"","sources":["../../src/prover-client/prover-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAA2C,MAAM,kBAAkB,CAAC;AAC3G,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EAEvB,KAAK,mBAAmB,EACzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAIxC,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAEnF,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAOvD,sHAAsH;AACtH,qBAAa,YAAa,YAAW,kBAAkB;IAQnD,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,GAAG;IAZb,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAsB;IAEpC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,gBAAgB,CAAyB;IAEjD,OAAO;IAYA,iBAAiB,IAAI,WAAW;IAMhC,WAAW,IAAI,EAAE;IAIlB,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAc5E;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IASnC;;OAEG;IACU,IAAI;IAQjB;;;;;OAKG;WACiB,GAAG,CACrB,MAAM,EAAE,kBAAkB,EAC1B,UAAU,EAAE,wBAAwB,EACpC,MAAM,EAAE,gBAAgB,EACxB,SAAS,GAAE,eAAsC;IAO5C,mBAAmB,IAAI,kBAAkB;YAQlC,oBAAoB;YA2BpB,UAAU;CAGzB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,kBAAkB,GAAG,UAAU,GAAG,QAAQ,EAClD,SAAS,EAAE,eAAe,GACzB,OAAO,CAAC,mBAAmB,CAAC,CAU9B"}
|
|
@@ -9,18 +9,9 @@ import { BrokerCircuitProverFacade } from '../proving_broker/broker_prover_facad
|
|
|
9
9
|
import { InlineProofStore, createProofStore } from '../proving_broker/proof_store/index.js';
|
|
10
10
|
import { ProvingAgent } from '../proving_broker/proving_agent.js';
|
|
11
11
|
import { ServerEpochProver } from './server-epoch-prover.js';
|
|
12
|
-
/** Manages proving of epochs by orchestrating the proving of individual blocks relying on a pool of prover agents. */
|
|
13
|
-
|
|
14
|
-
worldState
|
|
15
|
-
orchestratorClient;
|
|
16
|
-
agentClient;
|
|
17
|
-
telemetry;
|
|
18
|
-
log;
|
|
19
|
-
running;
|
|
20
|
-
agents;
|
|
21
|
-
proofStore;
|
|
22
|
-
failedProofStore;
|
|
23
|
-
constructor(config, worldState, orchestratorClient, agentClient, telemetry = getTelemetryClient(), log = createLogger('prover-client:tx-prover')){
|
|
12
|
+
/** Manages proving of epochs by orchestrating the proving of individual blocks relying on a pool of prover agents. */
|
|
13
|
+
export class ProverClient {
|
|
14
|
+
constructor(config, worldState, orchestratorClient, agentClient, telemetry = getTelemetryClient(), log = createLogger('prover-client:tx-prover')) {
|
|
24
15
|
this.config = config;
|
|
25
16
|
this.worldState = worldState;
|
|
26
17
|
this.orchestratorClient = orchestratorClient;
|
|
@@ -41,19 +32,18 @@ import { ServerEpochProver } from './server-epoch-prover.js';
|
|
|
41
32
|
return this.config.proverId ?? Fr.ZERO;
|
|
42
33
|
}
|
|
43
34
|
async updateProverConfig(config) {
|
|
44
|
-
const newConfig = {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
};
|
|
48
|
-
if (newConfig.realProofs !== this.config.realProofs || newConfig.proverAgentCount !== this.config.proverAgentCount) {
|
|
35
|
+
const newConfig = { ...this.config, ...config };
|
|
36
|
+
if (newConfig.realProofs !== this.config.realProofs ||
|
|
37
|
+
newConfig.proverAgentCount !== this.config.proverAgentCount) {
|
|
49
38
|
await this.stopAgents();
|
|
50
39
|
await this.createAndStartAgents();
|
|
51
40
|
}
|
|
52
41
|
this.config = newConfig;
|
|
53
42
|
}
|
|
54
43
|
/**
|
|
55
|
-
|
|
56
|
-
|
|
44
|
+
* Starts the prover instance
|
|
45
|
+
*/
|
|
46
|
+
async start() {
|
|
57
47
|
if (this.running) {
|
|
58
48
|
return Promise.resolve();
|
|
59
49
|
}
|
|
@@ -61,8 +51,9 @@ import { ServerEpochProver } from './server-epoch-prover.js';
|
|
|
61
51
|
await this.createAndStartAgents();
|
|
62
52
|
}
|
|
63
53
|
/**
|
|
64
|
-
|
|
65
|
-
|
|
54
|
+
* Stops the prover instance
|
|
55
|
+
*/
|
|
56
|
+
async stop() {
|
|
66
57
|
if (!this.running) {
|
|
67
58
|
return;
|
|
68
59
|
}
|
|
@@ -70,11 +61,12 @@ import { ServerEpochProver } from './server-epoch-prover.js';
|
|
|
70
61
|
await this.stopAgents();
|
|
71
62
|
}
|
|
72
63
|
/**
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
64
|
+
* Creates a new prover client and starts it
|
|
65
|
+
* @param config - The prover configuration.
|
|
66
|
+
* @param worldState - An instance of the world state
|
|
67
|
+
* @returns An instance of the prover, constructed and started.
|
|
68
|
+
*/
|
|
69
|
+
static async new(config, worldState, broker, telemetry = getTelemetryClient()) {
|
|
78
70
|
const prover = new ProverClient(config, worldState, broker, broker, telemetry);
|
|
79
71
|
await prover.start();
|
|
80
72
|
return prover;
|
|
@@ -94,17 +86,20 @@ import { ServerEpochProver } from './server-epoch-prover.js';
|
|
|
94
86
|
}
|
|
95
87
|
const proofStore = new InlineProofStore();
|
|
96
88
|
const prover = await buildServerCircuitProver(this.config, this.telemetry);
|
|
97
|
-
this.agents = times(this.config.proverAgentCount, ()=>new ProvingAgent(this.agentClient, proofStore, prover, [], this.config.proverAgentPollIntervalMs, this.telemetry));
|
|
98
|
-
await Promise.all(this.agents.map(
|
|
89
|
+
this.agents = times(this.config.proverAgentCount, () => new ProvingAgent(this.agentClient, proofStore, prover, [], this.config.proverAgentPollIntervalMs, this.telemetry));
|
|
90
|
+
await Promise.all(this.agents.map(agent => agent.start()));
|
|
99
91
|
}
|
|
100
92
|
async stopAgents() {
|
|
101
|
-
await Promise.all(this.agents.map(
|
|
93
|
+
await Promise.all(this.agents.map(agent => agent.stop()));
|
|
102
94
|
}
|
|
103
95
|
}
|
|
104
96
|
export function buildServerCircuitProver(config, telemetry) {
|
|
105
97
|
if (config.realProofs) {
|
|
106
98
|
return BBNativeRollupProver.new(config, telemetry);
|
|
107
99
|
}
|
|
108
|
-
const simulationProvider = config.acvmBinaryPath
|
|
100
|
+
const simulationProvider = config.acvmBinaryPath
|
|
101
|
+
? new NativeACVMSimulator(config.acvmWorkingDirectory, config.acvmBinaryPath)
|
|
102
|
+
: undefined;
|
|
109
103
|
return Promise.resolve(new TestCircuitProver(simulationProvider, config, telemetry));
|
|
110
104
|
}
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVyLWNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92ZXItY2xpZW50L3Byb3Zlci1jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQyxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBVzNHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBd0Isa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUduRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsZ0JBQWdCLEVBQW1CLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDN0csT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTdELHNIQUFzSDtBQUN0SCxNQUFNLE9BQU8sWUFBWTtJQU92QixZQUNVLE1BQTBCLEVBQzFCLFVBQW9DLEVBQ3BDLGtCQUFzQyxFQUN0QyxXQUFnQyxFQUNoQyxZQUE2QixrQkFBa0IsRUFBRSxFQUNqRCxNQUFNLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQztRQUw3QyxXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQUMxQixlQUFVLEdBQVYsVUFBVSxDQUEwQjtRQUNwQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGdCQUFXLEdBQVgsV0FBVyxD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
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type EpochProver, type L2Block, type ProcessedTx, type Tx } from '@aztec/circuit-types';
|
|
2
|
+
import { type BlockHeader, type Fr, type GlobalVariables, type Proof } from '@aztec/circuits.js';
|
|
3
|
+
import { type RootRollupPublicInputs } from '@aztec/circuits.js/rollup';
|
|
4
|
+
import { type ProvingOrchestrator } from '../orchestrator/orchestrator.js';
|
|
5
|
+
import { type BrokerCircuitProverFacade } from '../proving_broker/broker_prover_facade.js';
|
|
6
|
+
/** Encapsulates the proving orchestrator and the broker facade */
|
|
7
|
+
export declare class ServerEpochProver implements EpochProver {
|
|
8
|
+
private facade;
|
|
9
|
+
private orchestrator;
|
|
10
|
+
constructor(facade: BrokerCircuitProverFacade, orchestrator: ProvingOrchestrator);
|
|
11
|
+
startNewEpoch(epochNumber: number, firstBlockNumber: number, totalNumBlocks: number): void;
|
|
12
|
+
startTubeCircuits(txs: Tx[]): Promise<void>;
|
|
13
|
+
setBlockCompleted(blockNumber: number, expectedBlockHeader?: BlockHeader): Promise<L2Block>;
|
|
14
|
+
finaliseEpoch(): Promise<{
|
|
15
|
+
publicInputs: RootRollupPublicInputs;
|
|
16
|
+
proof: Proof;
|
|
17
|
+
}>;
|
|
18
|
+
cancel(): void;
|
|
19
|
+
getProverId(): Fr;
|
|
20
|
+
getBlock(index: number): L2Block;
|
|
21
|
+
stop(): Promise<void>;
|
|
22
|
+
startNewBlock(globalVariables: GlobalVariables, l1ToL2Messages: Fr[], previousBlockHeader: BlockHeader): Promise<void>;
|
|
23
|
+
addTxs(txs: ProcessedTx[]): Promise<void>;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=server-epoch-prover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-epoch-prover.d.ts","sourceRoot":"","sources":["../../src/prover-client/server-epoch-prover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,EAAE,EAAE,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,EAAE,EAAE,KAAK,eAAe,EAAE,KAAK,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAExE,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAE3F,kEAAkE;AAClE,qBAAa,iBAAkB,YAAW,WAAW;IACvC,OAAO,CAAC,MAAM;IAA6B,OAAO,CAAC,YAAY;gBAAvD,MAAM,EAAE,yBAAyB,EAAU,YAAY,EAAE,mBAAmB;IAEhG,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;IAI1F,iBAAiB,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAG3C,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAG3F,aAAa,IAAI,OAAO,CAAC;QAAE,YAAY,EAAE,sBAAsB,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC;IAGhF,MAAM,IAAI,IAAI;IAGd,WAAW,IAAI,EAAE;IAGjB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAG1B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,aAAa,CACX,eAAe,EAAE,eAAe,EAChC,cAAc,EAAE,EAAE,EAAE,EACpB,mBAAmB,EAAE,WAAW,GAC/B,OAAO,CAAC,IAAI,CAAC;IAGhB,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1C"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
/** Encapsulates the proving orchestrator and the broker facade */
|
|
2
|
-
|
|
3
|
-
orchestrator
|
|
4
|
-
constructor(facade, orchestrator){
|
|
1
|
+
/** Encapsulates the proving orchestrator and the broker facade */
|
|
2
|
+
export class ServerEpochProver {
|
|
3
|
+
constructor(facade, orchestrator) {
|
|
5
4
|
this.facade = facade;
|
|
6
5
|
this.orchestrator = orchestrator;
|
|
7
6
|
}
|
|
@@ -38,3 +37,4 @@
|
|
|
38
37
|
return this.orchestrator.addTxs(txs);
|
|
39
38
|
}
|
|
40
39
|
}
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLWVwb2NoLXByb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92ZXItY2xpZW50L3NlcnZlci1lcG9jaC1wcm92ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0Esa0VBQWtFO0FBQ2xFLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFBb0IsTUFBaUMsRUFBVSxZQUFpQztRQUE1RSxXQUFNLEdBQU4sTUFBTSxDQUEyQjtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtJQUFHLENBQUM7SUFFcEcsYUFBYSxDQUFDLFdBQW1CLEVBQUUsZ0JBQXdCLEVBQUUsY0FBc0I7UUFDakYsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUNELGlCQUFpQixDQUFDLEdBQVM7UUFDekIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxXQUFtQixFQUFFLG1CQUFpQztRQUN0RSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUNELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUNELE1BQU07UUFDSixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFDRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFDRCxRQUFRLENBQUMsS0FBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFDRCxLQUFLLENBQUMsSUFBSTtRQUNSLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUNELGFBQWEsQ0FDWCxlQUFnQyxFQUNoQyxjQUFvQixFQUNwQixtQkFBZ0M7UUFFaEMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxlQUFlLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUNELE1BQU0sQ0FBQyxHQUFrQjtRQUN2QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDRiJ9
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { type ProofAndVerificationKey, type ProvingJobProducer, type PublicInputsAndRecursiveProof, type ServerCircuitProver } from '@aztec/circuit-types';
|
|
2
|
+
import { type AVM_PROOF_LENGTH_IN_FIELDS, type AvmCircuitInputs, type BaseParityInputs, type NESTED_RECURSIVE_PROOF_LENGTH, type NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, type ParityPublicInputs, type RECURSIVE_PROOF_LENGTH, type RootParityInputs, type 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, type TubeInputs } from '@aztec/circuits.js/rollup';
|
|
4
|
+
import { type ProofStore } from './proof_store/index.js';
|
|
5
|
+
export declare class BrokerCircuitProverFacade implements ServerCircuitProver {
|
|
6
|
+
private broker;
|
|
7
|
+
private proofStore;
|
|
8
|
+
private failedProofStore?;
|
|
9
|
+
private pollIntervalMs;
|
|
10
|
+
private log;
|
|
11
|
+
private jobs;
|
|
12
|
+
private runningPromise?;
|
|
13
|
+
private timeOfLastSnapshotSync;
|
|
14
|
+
private queue;
|
|
15
|
+
private jobsToRetrieve;
|
|
16
|
+
constructor(broker: ProvingJobProducer, proofStore?: ProofStore, failedProofStore?: ProofStore | undefined, pollIntervalMs?: number, log?: import("@aztec/foundation/log").Logger);
|
|
17
|
+
private enqueueJob;
|
|
18
|
+
private _enqueueJob;
|
|
19
|
+
start(): void;
|
|
20
|
+
stop(): Promise<void>;
|
|
21
|
+
private updateCompletedJobs;
|
|
22
|
+
private retrieveJobsThatShouldBeReady;
|
|
23
|
+
private backupFailedProofInputs;
|
|
24
|
+
private monitorForCompletedJobs;
|
|
25
|
+
getAvmProof(inputs: AvmCircuitInputs, signal?: AbortSignal, epochNumber?: number): Promise<ProofAndVerificationKey<typeof AVM_PROOF_LENGTH_IN_FIELDS>>;
|
|
26
|
+
getBaseParityProof(inputs: BaseParityInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<ParityPublicInputs, typeof RECURSIVE_PROOF_LENGTH>>;
|
|
27
|
+
getBlockMergeRollupProof(input: BlockMergeRollupInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
28
|
+
getBlockRootRollupProof(input: BlockRootRollupInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
29
|
+
getSingleTxBlockRootRollupProof(input: SingleTxBlockRootRollupInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
30
|
+
getEmptyBlockRootRollupProof(input: EmptyBlockRootRollupInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
31
|
+
getMergeRollupProof(input: MergeRollupInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
32
|
+
getPrivateBaseRollupProof(baseRollupInput: PrivateBaseRollupInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
33
|
+
getPublicBaseRollupProof(inputs: PublicBaseRollupInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
34
|
+
getRootParityProof(inputs: RootParityInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<ParityPublicInputs, typeof NESTED_RECURSIVE_PROOF_LENGTH>>;
|
|
35
|
+
getRootRollupProof(input: RootRollupInputs, signal?: AbortSignal, epochNumber?: number): Promise<PublicInputsAndRecursiveProof<RootRollupPublicInputs, typeof RECURSIVE_PROOF_LENGTH>>;
|
|
36
|
+
getTubeProof(tubeInput: TubeInputs, signal?: AbortSignal, epochNumber?: number): Promise<ProofAndVerificationKey<typeof TUBE_PROOF_LENGTH>>;
|
|
37
|
+
private generateId;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=broker_prover_facade.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broker_prover_facade.d.ts","sourceRoot":"","sources":["../../src/proving_broker/broker_prover_facade.ts"],"names":[],"mappings":"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"}
|