@aztec/prover-client 0.65.2 → 0.66.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/block_builder/index.d.ts +6 -0
- package/dest/block_builder/index.d.ts.map +1 -0
- package/dest/block_builder/index.js +2 -0
- package/dest/block_builder/light.d.ts +32 -0
- package/dest/block_builder/light.d.ts.map +1 -0
- package/dest/block_builder/light.js +71 -0
- package/dest/index.d.ts +1 -2
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +2 -3
- package/dest/mocks/fixtures.d.ts +1 -2
- package/dest/mocks/fixtures.d.ts.map +1 -1
- package/dest/mocks/fixtures.js +3 -7
- package/dest/mocks/test_context.d.ts +28 -10
- package/dest/mocks/test_context.d.ts.map +1 -1
- package/dest/mocks/test_context.js +58 -21
- package/dest/orchestrator/epoch-proving-state.d.ts +5 -6
- package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/epoch-proving-state.js +10 -12
- package/dest/orchestrator/orchestrator.d.ts +8 -6
- package/dest/orchestrator/orchestrator.d.ts.map +1 -1
- package/dest/orchestrator/orchestrator.js +83 -72
- package/dest/orchestrator/tx-proving-state.d.ts +0 -1
- package/dest/orchestrator/tx-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/tx-proving-state.js +2 -34
- 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 +6 -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 +3 -0
- package/dest/{tx-prover/tx-prover.d.ts → prover-client/prover-client.d.ts} +8 -11
- package/dest/prover-client/prover-client.d.ts.map +1 -0
- package/dest/prover-client/prover-client.js +107 -0
- package/dest/proving_broker/factory.d.ts +2 -1
- package/dest/proving_broker/factory.d.ts.map +1 -1
- package/dest/proving_broker/factory.js +4 -4
- package/dest/proving_broker/proving_agent.d.ts +5 -0
- package/dest/proving_broker/proving_agent.d.ts.map +1 -1
- package/dest/proving_broker/proving_agent.js +13 -2
- 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 +16 -0
- package/dest/proving_broker/proving_broker.d.ts +6 -1
- package/dest/proving_broker/proving_broker.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker.js +37 -4
- package/dest/proving_broker/proving_broker_database/persisted.d.ts +3 -1
- package/dest/proving_broker/proving_broker_database/persisted.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker_database/persisted.js +10 -2
- 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 +91 -0
- package/dest/test/mock_prover.d.ts +1 -1
- package/dest/test/mock_prover.d.ts.map +1 -1
- package/dest/test/mock_prover.js +4 -3
- package/package.json +14 -13
- package/src/block_builder/index.ts +6 -0
- package/src/block_builder/light.ts +117 -0
- package/src/index.ts +1 -2
- package/src/mocks/fixtures.ts +2 -14
- package/src/mocks/test_context.ts +80 -24
- package/src/orchestrator/epoch-proving-state.ts +10 -13
- package/src/orchestrator/orchestrator.ts +97 -77
- package/src/orchestrator/tx-proving-state.ts +1 -56
- package/src/{tx-prover → prover-client}/factory.ts +4 -3
- package/src/prover-client/index.ts +2 -0
- package/src/{tx-prover/tx-prover.ts → prover-client/prover-client.ts} +23 -13
- package/src/proving_broker/factory.ts +7 -3
- package/src/proving_broker/proving_agent.ts +16 -1
- package/src/proving_broker/proving_agent_instrumentation.ts +21 -0
- package/src/proving_broker/proving_broker.ts +46 -3
- package/src/proving_broker/proving_broker_database/persisted.ts +17 -2
- package/src/proving_broker/proving_broker_instrumentation.ts +130 -0
- package/src/test/mock_prover.ts +3 -2
- package/dest/tx-prover/factory.d.ts +0 -6
- package/dest/tx-prover/factory.d.ts.map +0 -1
- package/dest/tx-prover/factory.js +0 -6
- package/dest/tx-prover/tx-prover.d.ts.map +0 -1
- package/dest/tx-prover/tx-prover.js +0 -110
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { BBNativeRollupProver, TestCircuitProver } from '@aztec/bb-prover';
|
|
2
|
-
import { Fr } from '@aztec/circuits.js';
|
|
3
|
-
import { times } from '@aztec/foundation/collection';
|
|
4
|
-
import { createDebugLogger } from '@aztec/foundation/log';
|
|
5
|
-
import { NativeACVMSimulator } from '@aztec/simulator';
|
|
6
|
-
import { join } from 'path';
|
|
7
|
-
import { ProvingOrchestrator } from '../orchestrator/orchestrator.js';
|
|
8
|
-
import { CachingBrokerFacade } from '../proving_broker/caching_broker_facade.js';
|
|
9
|
-
import { InlineProofStore } from '../proving_broker/proof_store.js';
|
|
10
|
-
import { InMemoryProverCache } from '../proving_broker/prover_cache/memory.js';
|
|
11
|
-
import { ProvingAgent } from '../proving_broker/proving_agent.js';
|
|
12
|
-
/**
|
|
13
|
-
* A prover factory.
|
|
14
|
-
* TODO(palla/prover-node): Rename this class
|
|
15
|
-
*/
|
|
16
|
-
export class TxProver {
|
|
17
|
-
constructor(config, telemetry, orchestratorClient, agentClient, log = createDebugLogger('aztec:prover-client:tx-prover')) {
|
|
18
|
-
this.config = config;
|
|
19
|
-
this.telemetry = telemetry;
|
|
20
|
-
this.orchestratorClient = orchestratorClient;
|
|
21
|
-
this.agentClient = agentClient;
|
|
22
|
-
this.log = log;
|
|
23
|
-
this.running = false;
|
|
24
|
-
this.agents = [];
|
|
25
|
-
// TODO(palla/prover-node): Cache the paddingTx here, and not in each proving orchestrator,
|
|
26
|
-
// so it can be reused across multiple ones and not recomputed every time.
|
|
27
|
-
this.cacheDir = this.config.cacheDir ? join(this.config.cacheDir, `tx_prover_${this.config.proverId}`) : undefined;
|
|
28
|
-
}
|
|
29
|
-
createEpochProver(db, cache = new InMemoryProverCache()) {
|
|
30
|
-
return new ProvingOrchestrator(db, new CachingBrokerFacade(this.orchestratorClient, cache), this.telemetry, this.config.proverId);
|
|
31
|
-
}
|
|
32
|
-
getProverId() {
|
|
33
|
-
return this.config.proverId ?? Fr.ZERO;
|
|
34
|
-
}
|
|
35
|
-
async updateProverConfig(config) {
|
|
36
|
-
const newConfig = { ...this.config, ...config };
|
|
37
|
-
if (newConfig.realProofs !== this.config.realProofs ||
|
|
38
|
-
newConfig.proverAgentCount !== this.config.proverAgentCount) {
|
|
39
|
-
await this.stopAgents();
|
|
40
|
-
await this.createAndStartAgents();
|
|
41
|
-
}
|
|
42
|
-
if (!this.config.realProofs && newConfig.realProofs) {
|
|
43
|
-
// TODO(palla/prover-node): Reset padding tx here once we cache it at this class
|
|
44
|
-
}
|
|
45
|
-
this.config = newConfig;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Starts the prover instance
|
|
49
|
-
*/
|
|
50
|
-
async start() {
|
|
51
|
-
if (this.running) {
|
|
52
|
-
return Promise.resolve();
|
|
53
|
-
}
|
|
54
|
-
this.running = true;
|
|
55
|
-
await this.createAndStartAgents();
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Stops the prover instance
|
|
59
|
-
*/
|
|
60
|
-
async stop() {
|
|
61
|
-
if (!this.running) {
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
this.running = false;
|
|
65
|
-
await this.stopAgents();
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Creates a new prover client and starts it
|
|
69
|
-
* @param config - The prover configuration.
|
|
70
|
-
* @param vks - The verification keys for the prover
|
|
71
|
-
* @param worldStateSynchronizer - An instance of the world state
|
|
72
|
-
* @returns An instance of the prover, constructed and started.
|
|
73
|
-
*/
|
|
74
|
-
static async new(config, broker, telemetry) {
|
|
75
|
-
const prover = new TxProver(config, telemetry, broker, broker);
|
|
76
|
-
await prover.start();
|
|
77
|
-
return prover;
|
|
78
|
-
}
|
|
79
|
-
getProvingJobSource() {
|
|
80
|
-
if (!this.agentClient) {
|
|
81
|
-
throw new Error('Agent client not provided');
|
|
82
|
-
}
|
|
83
|
-
return this.agentClient;
|
|
84
|
-
}
|
|
85
|
-
async createAndStartAgents() {
|
|
86
|
-
if (this.agents.length > 0) {
|
|
87
|
-
throw new Error('Agents already started');
|
|
88
|
-
}
|
|
89
|
-
if (!this.agentClient) {
|
|
90
|
-
throw new Error('Agent client not provided');
|
|
91
|
-
}
|
|
92
|
-
const proofStore = new InlineProofStore();
|
|
93
|
-
const prover = await buildServerCircuitProver(this.config, this.telemetry);
|
|
94
|
-
this.agents = times(this.config.proverAgentCount, () => new ProvingAgent(this.agentClient, proofStore, prover, [], this.config.proverAgentPollIntervalMs));
|
|
95
|
-
await Promise.all(this.agents.map(agent => agent.start()));
|
|
96
|
-
}
|
|
97
|
-
async stopAgents() {
|
|
98
|
-
await Promise.all(this.agents.map(agent => agent.stop()));
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
export function buildServerCircuitProver(config, telemetry) {
|
|
102
|
-
if (config.realProofs) {
|
|
103
|
-
return BBNativeRollupProver.new(config, telemetry);
|
|
104
|
-
}
|
|
105
|
-
const simulationProvider = config.acvmBinaryPath
|
|
106
|
-
? new NativeACVMSimulator(config.acvmWorkingDirectory, config.acvmBinaryPath)
|
|
107
|
-
: undefined;
|
|
108
|
-
return Promise.resolve(new TestCircuitProver(telemetry, simulationProvider, config));
|
|
109
|
-
}
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHgtcHJvdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R4LXByb3Zlci90eC1wcm92ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQyxvQkFBb0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBWTNHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHdkQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUc1QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFbEU7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLFFBQVE7SUFNbkIsWUFDVSxNQUEwQixFQUMxQixTQUEwQixFQUMxQixrQkFBc0MsRUFDdEMsV0FBZ0MsRUFDaEMsTUFBTSxpQkFBaUIsQ0FBQywrQkFBK0IsQ0FBQztRQUp4RCxXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQUMxQixjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQUMxQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGdCQUFXLEdBQVgsV0FBVyxDQUFxQjtRQUNoQyxRQUFHLEdBQUgsR0FBRyxDQUFxRDtRQVYxRCxZQUFPLEdBQUcsS0FB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
|