@aztec/prover-client 0.71.0 → 0.73.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.js +3 -3
- package/dest/config.js +2 -2
- package/dest/mocks/test_context.d.ts +4 -3
- package/dest/mocks/test_context.d.ts.map +1 -1
- package/dest/mocks/test_context.js +11 -8
- package/dest/orchestrator/block-building-helpers.d.ts +3 -3
- package/dest/orchestrator/block-building-helpers.d.ts.map +1 -1
- package/dest/orchestrator/block-building-helpers.js +14 -13
- package/dest/orchestrator/block-proving-state.d.ts +14 -15
- package/dest/orchestrator/block-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/block-proving-state.js +84 -64
- package/dest/orchestrator/epoch-proving-state.d.ts +7 -7
- package/dest/orchestrator/epoch-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/epoch-proving-state.js +18 -36
- package/dest/orchestrator/orchestrator.d.ts +4 -3
- package/dest/orchestrator/orchestrator.d.ts.map +1 -1
- package/dest/orchestrator/orchestrator.js +77 -90
- package/dest/orchestrator/tx-proving-state.d.ts +2 -2
- package/dest/orchestrator/tx-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/tx-proving-state.js +14 -14
- package/dest/prover-agent/rpc.d.ts +1 -1
- package/dest/prover-agent/rpc.d.ts.map +1 -1
- package/dest/prover-agent/rpc.js +6 -6
- package/dest/prover-client/server-epoch-prover.d.ts +2 -2
- package/dest/prover-client/server-epoch-prover.d.ts.map +1 -1
- package/dest/prover-client/server-epoch-prover.js +4 -4
- package/dest/proving_broker/broker_prover_facade.js +3 -3
- package/dest/proving_broker/proving_broker.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker.js +3 -4
- package/dest/proving_broker/proving_broker_database/memory.d.ts +1 -1
- package/dest/proving_broker/proving_broker_database/memory.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker_database/memory.js +3 -3
- package/dest/proving_broker/proving_broker_database/persisted.d.ts +1 -1
- package/dest/proving_broker/proving_broker_database/persisted.d.ts.map +1 -1
- package/dest/proving_broker/proving_broker_database/persisted.js +12 -12
- package/dest/proving_broker/proving_broker_database.d.ts +1 -1
- package/dest/proving_broker/proving_broker_database.d.ts.map +1 -1
- package/dest/proving_broker/rpc.d.ts +3 -3
- package/dest/proving_broker/rpc.d.ts.map +1 -1
- package/dest/proving_broker/rpc.js +7 -7
- package/dest/test/mock_prover.d.ts +1 -1
- package/package.json +11 -11
- package/src/bin/get-proof-inputs.ts +2 -2
- package/src/config.ts +1 -1
- package/src/mocks/test_context.ts +14 -9
- package/src/orchestrator/block-building-helpers.ts +13 -14
- package/src/orchestrator/block-proving-state.ts +95 -69
- package/src/orchestrator/epoch-proving-state.ts +26 -52
- package/src/orchestrator/orchestrator.ts +101 -122
- package/src/orchestrator/tx-proving-state.ts +14 -14
- package/src/prover-agent/rpc.ts +5 -5
- package/src/prover-client/server-epoch-prover.ts +8 -4
- package/src/proving_broker/broker_prover_facade.ts +3 -3
- package/src/proving_broker/proof_store/inline_proof_store.ts +1 -1
- package/src/proving_broker/proving_broker.ts +2 -4
- package/src/proving_broker/proving_broker_database/memory.ts +2 -2
- package/src/proving_broker/proving_broker_database/persisted.ts +15 -15
- package/src/proving_broker/proving_broker_database.ts +1 -1
- package/src/proving_broker/rpc.ts +13 -6
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ProvingJob, ProvingJobSettledResult, getEpochFromProvingJobId, } from '@aztec/circuit-types';
|
|
2
2
|
import { jsonParseWithSchema, jsonStringify } from '@aztec/foundation/json-rpc';
|
|
3
3
|
import { createLogger } from '@aztec/foundation/log';
|
|
4
|
-
import {
|
|
4
|
+
import { AztecLMDBStoreV2 } from '@aztec/kv-store/lmdb-v2';
|
|
5
5
|
import { Attributes, LmdbMetrics, getTelemetryClient } from '@aztec/telemetry-client';
|
|
6
6
|
import { mkdir, readdir } from 'fs/promises';
|
|
7
7
|
import { join } from 'path';
|
|
@@ -17,11 +17,11 @@ class SingleEpochDatabase {
|
|
|
17
17
|
async addProvingJob(job) {
|
|
18
18
|
await this.jobs.set(job.id, jsonStringify(job));
|
|
19
19
|
}
|
|
20
|
-
*allProvingJobs() {
|
|
21
|
-
for (const jobStr of this.jobs.
|
|
22
|
-
const job = jsonParseWithSchema(jobStr, ProvingJob);
|
|
23
|
-
const resultStr = this.jobResults.
|
|
24
|
-
const result = resultStr ? jsonParseWithSchema(resultStr, ProvingJobSettledResult) : undefined;
|
|
20
|
+
async *allProvingJobs() {
|
|
21
|
+
for await (const jobStr of this.jobs.valuesAsync()) {
|
|
22
|
+
const job = await jsonParseWithSchema(jobStr, ProvingJob);
|
|
23
|
+
const resultStr = await this.jobResults.getAsync(job.id);
|
|
24
|
+
const result = resultStr ? await jsonParseWithSchema(resultStr, ProvingJobSettledResult) : undefined;
|
|
25
25
|
yield [job, result];
|
|
26
26
|
}
|
|
27
27
|
}
|
|
@@ -49,8 +49,8 @@ export class KVBrokerDatabase {
|
|
|
49
49
|
[Attributes.DB_DATA_TYPE]: 'prover-broker',
|
|
50
50
|
}, () => this.estimateSize());
|
|
51
51
|
}
|
|
52
|
-
estimateSize() {
|
|
53
|
-
const sizes = Array.from(this.epochs.values()).map(x => x.estimateSize());
|
|
52
|
+
async estimateSize() {
|
|
53
|
+
const sizes = await Promise.all(Array.from(this.epochs.values()).map(x => x.estimateSize()));
|
|
54
54
|
return {
|
|
55
55
|
mappingSize: this.config.dataStoreMapSizeKB,
|
|
56
56
|
numItems: sizes.reduce((prev, curr) => prev + curr.numItems, 0),
|
|
@@ -72,7 +72,7 @@ export class KVBrokerDatabase {
|
|
|
72
72
|
continue;
|
|
73
73
|
}
|
|
74
74
|
logger.info(`Loading broker database for epoch ${epochNumber} from ${fullDirectory} with map size ${config.dataStoreMapSizeKB}KB`);
|
|
75
|
-
const db =
|
|
75
|
+
const db = await AztecLMDBStoreV2.new(fullDirectory, config.dataStoreMapSizeKB);
|
|
76
76
|
const epochDb = new SingleEpochDatabase(db);
|
|
77
77
|
epochs.set(epochNumber, epochDb);
|
|
78
78
|
}
|
|
@@ -101,13 +101,13 @@ export class KVBrokerDatabase {
|
|
|
101
101
|
const newEpochDirectory = join(this.config.dataDirectory, job.epochNumber.toString());
|
|
102
102
|
await mkdir(newEpochDirectory, { recursive: true });
|
|
103
103
|
this.logger.info(`Creating broker database for epoch ${job.epochNumber} at ${newEpochDirectory} with map size ${this.config.dataStoreMapSizeKB}`);
|
|
104
|
-
const db =
|
|
104
|
+
const db = await AztecLMDBStoreV2.new(newEpochDirectory, this.config.dataStoreMapSizeKB);
|
|
105
105
|
epochDb = new SingleEpochDatabase(db);
|
|
106
106
|
this.epochs.set(job.epochNumber, epochDb);
|
|
107
107
|
}
|
|
108
108
|
await epochDb.addProvingJob(job);
|
|
109
109
|
}
|
|
110
|
-
*allProvingJobs() {
|
|
110
|
+
async *allProvingJobs() {
|
|
111
111
|
const iterators = Array.from(this.epochs.values()).map(x => x.allProvingJobs());
|
|
112
112
|
for (const it of iterators) {
|
|
113
113
|
yield* it;
|
|
@@ -128,4 +128,4 @@ export class KVBrokerDatabase {
|
|
|
128
128
|
await epochDb.setProvingJobResult(id, value);
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc2lzdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb3ZpbmdfYnJva2VyL3Byb3ZpbmdfYnJva2VyX2RhdGFiYXNlL3BlcnNpc3RlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsVUFBVSxFQUVWLHVCQUF1QixFQUN2Qix3QkFBd0IsR0FDekIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEYsT0FBTyxFQUFlLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWxFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUF3QixrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTVHLE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLNUIsTUFBTSxtQkFBbUI7SUFJdkIsWUFBNEIsS0FBd0I7UUFBeEIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFDbEQsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLEdBQWU7UUFDakMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FB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
|
|
@@ -16,7 +16,7 @@ export interface ProvingBrokerDatabase {
|
|
|
16
16
|
/**
|
|
17
17
|
* Returns an iterator over all saved proving jobs
|
|
18
18
|
*/
|
|
19
|
-
allProvingJobs():
|
|
19
|
+
allProvingJobs(): AsyncIterableIterator<[ProvingJob, ProvingJobSettledResult | undefined]>;
|
|
20
20
|
/**
|
|
21
21
|
* Saves the result of a proof request
|
|
22
22
|
* @param id - The ID of the proof request to save the result for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proving_broker_database.d.ts","sourceRoot":"","sources":["../../src/proving_broker/proving_broker_database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEvH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElD;;;OAGG;IACH,kCAAkC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvE;;OAEG;IACH,cAAc,IAAI,
|
|
1
|
+
{"version":3,"file":"proving_broker_database.d.ts","sourceRoot":"","sources":["../../src/proving_broker/proving_broker_database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEvH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElD;;;OAGG;IACH,kCAAkC,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvE;;OAEG;IACH,cAAc,IAAI,qBAAqB,CAAC,CAAC,UAAU,EAAE,uBAAuB,GAAG,SAAS,CAAC,CAAC,CAAC;IAE3F;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtE;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjE;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB"}
|
|
@@ -5,7 +5,7 @@ export declare const ProvingJobProducerSchema: ApiSchemaFor<ProvingJobProducer>;
|
|
|
5
5
|
export declare const ProvingJobConsumerSchema: ApiSchemaFor<ProvingJobConsumer>;
|
|
6
6
|
export declare const ProvingJobBrokerSchema: ApiSchemaFor<ProvingJobBroker>;
|
|
7
7
|
export declare function createProvingBrokerServer(broker: ProvingJobBroker): SafeJsonRpcServer;
|
|
8
|
-
export declare function createProvingJobBrokerClient(url: string, fetch?: (host: string, rpcMethod: string, body: any, useApiEndpoints: boolean, noRetry?: boolean | undefined) => Promise<any>): ProvingJobBroker;
|
|
9
|
-
export declare function createProvingJobProducerClient(url: string, fetch?: (host: string, rpcMethod: string, body: any, useApiEndpoints: boolean, noRetry?: boolean | undefined) => Promise<any>): ProvingJobProducer;
|
|
10
|
-
export declare function createProvingJobConsumerClient(url: string, fetch?: (host: string, rpcMethod: string, body: any, useApiEndpoints: boolean, noRetry?: boolean | undefined) => Promise<any>): ProvingJobConsumer;
|
|
8
|
+
export declare function createProvingJobBrokerClient(url: string, fetch?: (host: string, rpcMethod: string, body: any, useApiEndpoints: boolean, extraHeaders?: Record<string, string> | undefined, noRetry?: boolean | undefined) => Promise<any>): ProvingJobBroker;
|
|
9
|
+
export declare function createProvingJobProducerClient(url: string, fetch?: (host: string, rpcMethod: string, body: any, useApiEndpoints: boolean, extraHeaders?: Record<string, string> | undefined, noRetry?: boolean | undefined) => Promise<any>): ProvingJobProducer;
|
|
10
|
+
export declare function createProvingJobConsumerClient(url: string, fetch?: (host: string, rpcMethod: string, body: any, useApiEndpoints: boolean, extraHeaders?: Record<string, string> | undefined, noRetry?: boolean | undefined) => Promise<any>): ProvingJobConsumer;
|
|
11
11
|
//# sourceMappingURL=rpc.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/proving_broker/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EAEvB,KAAK,kBAAkB,EAGxB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,iBAAiB,
|
|
1
|
+
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../src/proving_broker/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EAEvB,KAAK,kBAAkB,EAGxB,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,CAQrE,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,YAAY,CAAC,gBAAgB,CAGjE,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,gBAAgB,GAAG,iBAAiB,CAErF;AAED,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,2KAAoC,GAAG,gBAAgB,CAErH;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,MAAM,EACX,KAAK,2KAAoC,GACxC,kBAAkB,CAEpB;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,MAAM,EACX,KAAK,2KAAoC,GACxC,kBAAkB,CAEpB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ProofUri, ProvingJob, ProvingJobId, ProvingJobStatus, ProvingRequestType, } from '@aztec/circuit-types';
|
|
2
|
-
import { createSafeJsonRpcClient
|
|
3
|
-
import { createSafeJsonRpcServer } from '@aztec/foundation/json-rpc/server';
|
|
2
|
+
import { createSafeJsonRpcClient } from '@aztec/foundation/json-rpc/client';
|
|
4
3
|
import { optional } from '@aztec/foundation/schemas';
|
|
4
|
+
import { createTracedJsonRpcServer, makeTracedFetch } from '@aztec/telemetry-client';
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
const ProvingJobFilterSchema = z.object({
|
|
7
7
|
allowList: z.array(z.nativeEnum(ProvingRequestType)),
|
|
@@ -30,15 +30,15 @@ export const ProvingJobBrokerSchema = {
|
|
|
30
30
|
...ProvingJobProducerSchema,
|
|
31
31
|
};
|
|
32
32
|
export function createProvingBrokerServer(broker) {
|
|
33
|
-
return
|
|
33
|
+
return createTracedJsonRpcServer(broker, ProvingJobBrokerSchema);
|
|
34
34
|
}
|
|
35
|
-
export function createProvingJobBrokerClient(url, fetch =
|
|
35
|
+
export function createProvingJobBrokerClient(url, fetch = makeTracedFetch([1, 2, 3], false)) {
|
|
36
36
|
return createSafeJsonRpcClient(url, ProvingJobBrokerSchema, false, 'proverBroker', fetch);
|
|
37
37
|
}
|
|
38
|
-
export function createProvingJobProducerClient(url, fetch =
|
|
38
|
+
export function createProvingJobProducerClient(url, fetch = makeTracedFetch([1, 2, 3], false)) {
|
|
39
39
|
return createSafeJsonRpcClient(url, ProvingJobProducerSchema, false, 'provingJobProducer', fetch);
|
|
40
40
|
}
|
|
41
|
-
export function createProvingJobConsumerClient(url, fetch =
|
|
41
|
+
export function createProvingJobConsumerClient(url, fetch = makeTracedFetch([1, 2, 3], false)) {
|
|
42
42
|
return createSafeJsonRpcClient(url, ProvingJobConsumerSchema, false, 'provingJobConsumer', fetch);
|
|
43
43
|
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpbmdfYnJva2VyL3JwYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsUUFBUSxFQUNSLFVBQVUsRUFHVixZQUFZLEVBRVosZ0JBQWdCLEVBQ2hCLGtCQUFrQixHQUNuQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTVFLE9BQU8sRUFBcUIsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXJGLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3RDLFNBQVMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQztDQUNyRCxDQUFDLENBQUM7QUFFSCxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDckMsR0FBRyxFQUFFLFVBQVU7SUFDZixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtDQUNqQixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBcUM7SUFDeEUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7SUFDMUUsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7SUFDOUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxZ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
|
|
@@ -23,7 +23,7 @@ export declare class MockProver implements ServerCircuitProver {
|
|
|
23
23
|
getPrivateBaseRollupProof(_baseRollupInput: PrivateBaseRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
24
24
|
getPublicBaseRollupProof(_inputs: PublicBaseRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
25
25
|
getMergeRollupProof(_input: MergeRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BaseOrMergeRollupPublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
26
|
-
getBlockMergeRollupProof(_input: BlockMergeRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs,
|
|
26
|
+
getBlockMergeRollupProof(_input: BlockMergeRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, 538>>;
|
|
27
27
|
getEmptyBlockRootRollupProof(_input: EmptyBlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
28
28
|
getBlockRootRollupProof(_input: BlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
|
29
29
|
getSingleTxBlockRootRollupProof(_input: SingleTxBlockRootRollupInputs, _signal?: AbortSignal, _epochNumber?: number): Promise<PublicInputsAndRecursiveProof<BlockRootOrBlockMergePublicInputs, typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/prover-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.73.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -67,16 +67,16 @@
|
|
|
67
67
|
]
|
|
68
68
|
},
|
|
69
69
|
"dependencies": {
|
|
70
|
-
"@aztec/bb-prover": "0.
|
|
71
|
-
"@aztec/circuit-types": "0.
|
|
72
|
-
"@aztec/circuits.js": "0.
|
|
73
|
-
"@aztec/foundation": "0.
|
|
74
|
-
"@aztec/kv-store": "0.
|
|
75
|
-
"@aztec/noir-protocol-circuits-types": "0.
|
|
76
|
-
"@aztec/protocol-contracts": "0.
|
|
77
|
-
"@aztec/simulator": "0.
|
|
78
|
-
"@aztec/telemetry-client": "0.
|
|
79
|
-
"@aztec/world-state": "0.
|
|
70
|
+
"@aztec/bb-prover": "0.73.0",
|
|
71
|
+
"@aztec/circuit-types": "0.73.0",
|
|
72
|
+
"@aztec/circuits.js": "0.73.0",
|
|
73
|
+
"@aztec/foundation": "0.73.0",
|
|
74
|
+
"@aztec/kv-store": "0.73.0",
|
|
75
|
+
"@aztec/noir-protocol-circuits-types": "0.73.0",
|
|
76
|
+
"@aztec/protocol-contracts": "0.73.0",
|
|
77
|
+
"@aztec/simulator": "0.73.0",
|
|
78
|
+
"@aztec/telemetry-client": "0.73.0",
|
|
79
|
+
"@aztec/world-state": "0.73.0",
|
|
80
80
|
"@google-cloud/storage": "^7.15.0",
|
|
81
81
|
"@noir-lang/types": "portal:../../noir/packages/types",
|
|
82
82
|
"commander": "^12.1.0",
|
|
@@ -35,14 +35,14 @@ async function main() {
|
|
|
35
35
|
logger.info(`Found inputs for ${ProvingRequestType[input.type]}`);
|
|
36
36
|
writeProofInputs(input, outDir);
|
|
37
37
|
|
|
38
|
-
console.log(jsonParseWithSchema(jsonStringify(input), ProvingJobInputs).inputs);
|
|
38
|
+
console.log((await jsonParseWithSchema(jsonStringify(input), ProvingJobInputs)).inputs);
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
// This mimics the behavior of bb-prover/src/bb/execute.ts
|
|
42
42
|
function writeProofInputs(input: ProvingJobInputs, outDir: string) {
|
|
43
43
|
switch (input.type) {
|
|
44
44
|
case ProvingRequestType.PUBLIC_VM: {
|
|
45
|
-
writeFileSync(`${outDir}/${AVM_PUBLIC_INPUTS_FILENAME}`, input.inputs.
|
|
45
|
+
writeFileSync(`${outDir}/${AVM_PUBLIC_INPUTS_FILENAME}`, input.inputs.publicInputs.toBuffer());
|
|
46
46
|
logger.info(`Wrote AVM public inputs to ${AVM_PUBLIC_INPUTS_FILENAME}`);
|
|
47
47
|
writeFileSync(`${outDir}/${AVM_HINTS_FILENAME}`, input.inputs.avmHints.toBuffer());
|
|
48
48
|
logger.info(`Wrote AVM hints to ${AVM_HINTS_FILENAME}`);
|
package/src/config.ts
CHANGED
|
@@ -25,7 +25,7 @@ export const bbConfigMappings: ConfigMappingsType<BBConfig & ACVMConfig> = {
|
|
|
25
25
|
},
|
|
26
26
|
bbWorkingDirectory: {
|
|
27
27
|
env: 'BB_WORKING_DIRECTORY',
|
|
28
|
-
description: 'The working directory to for proving',
|
|
28
|
+
description: 'The working directory to use for proving',
|
|
29
29
|
},
|
|
30
30
|
bbBinaryPath: {
|
|
31
31
|
env: 'BB_BINARY_PATH',
|
|
@@ -9,12 +9,12 @@ import {
|
|
|
9
9
|
import { makeBloatedProcessedTx } from '@aztec/circuit-types/test';
|
|
10
10
|
import {
|
|
11
11
|
type AppendOnlyTreeSnapshot,
|
|
12
|
-
BlockHeader,
|
|
12
|
+
type BlockHeader,
|
|
13
13
|
type Gas,
|
|
14
14
|
type GlobalVariables,
|
|
15
15
|
TreeSnapshots,
|
|
16
16
|
} from '@aztec/circuits.js';
|
|
17
|
-
import { times } from '@aztec/foundation/collection';
|
|
17
|
+
import { times, timesParallel } from '@aztec/foundation/collection';
|
|
18
18
|
import { Fr } from '@aztec/foundation/fields';
|
|
19
19
|
import { type Logger } from '@aztec/foundation/log';
|
|
20
20
|
import { TestDateProvider } from '@aztec/foundation/timer';
|
|
@@ -87,7 +87,6 @@ export class TestContext {
|
|
|
87
87
|
const processor = new PublicProcessor(
|
|
88
88
|
publicDb,
|
|
89
89
|
globalVariables,
|
|
90
|
-
BlockHeader.empty(),
|
|
91
90
|
worldStateDB,
|
|
92
91
|
publicTxSimulator,
|
|
93
92
|
new TestDateProvider(),
|
|
@@ -148,6 +147,10 @@ export class TestContext {
|
|
|
148
147
|
return blockNumber === 0 ? this.worldState.getCommitted().getInitialHeader() : this.headers.get(blockNumber);
|
|
149
148
|
}
|
|
150
149
|
|
|
150
|
+
public getPreviousBlockHeader(currentBlockNumber = this.blockNumber): BlockHeader {
|
|
151
|
+
return this.getBlockHeader(currentBlockNumber - 1)!;
|
|
152
|
+
}
|
|
153
|
+
|
|
151
154
|
async cleanup() {
|
|
152
155
|
await this.proverAgent.stop();
|
|
153
156
|
for (const dir of this.directoriesToCleanup.filter(x => x !== '')) {
|
|
@@ -155,15 +158,17 @@ export class TestContext {
|
|
|
155
158
|
}
|
|
156
159
|
}
|
|
157
160
|
|
|
158
|
-
public makeProcessedTx(opts?: Parameters<typeof makeBloatedProcessedTx>[0]): ProcessedTx
|
|
159
|
-
public makeProcessedTx(seed?: number): ProcessedTx
|
|
160
|
-
public makeProcessedTx(
|
|
161
|
+
public makeProcessedTx(opts?: Parameters<typeof makeBloatedProcessedTx>[0]): Promise<ProcessedTx>;
|
|
162
|
+
public makeProcessedTx(seed?: number): Promise<ProcessedTx>;
|
|
163
|
+
public async makeProcessedTx(
|
|
164
|
+
seedOrOpts?: Parameters<typeof makeBloatedProcessedTx>[0] | number,
|
|
165
|
+
): Promise<ProcessedTx> {
|
|
161
166
|
const opts = typeof seedOrOpts === 'number' ? { seed: seedOrOpts } : seedOrOpts;
|
|
162
167
|
const blockNum = (opts?.globalVariables ?? this.globalVariables).blockNumber.toNumber();
|
|
163
168
|
const header = this.getBlockHeader(blockNum - 1);
|
|
164
169
|
return makeBloatedProcessedTx({
|
|
165
170
|
header,
|
|
166
|
-
vkTreeRoot: getVKTreeRoot(),
|
|
171
|
+
vkTreeRoot: await getVKTreeRoot(),
|
|
167
172
|
protocolContractTreeRoot,
|
|
168
173
|
globalVariables: this.globalVariables,
|
|
169
174
|
...opts,
|
|
@@ -181,7 +186,7 @@ export class TestContext {
|
|
|
181
186
|
const blockNum = globalVariables.blockNumber.toNumber();
|
|
182
187
|
const db = await this.worldState.fork();
|
|
183
188
|
const msgs = times(numMsgs, i => new Fr(blockNum * 100 + i));
|
|
184
|
-
const txs =
|
|
189
|
+
const txs = await timesParallel(numTxs, i =>
|
|
185
190
|
this.makeProcessedTx({ seed: i + blockNum * 1000, globalVariables, ...makeProcessedTxOpts(i) }),
|
|
186
191
|
);
|
|
187
192
|
await this.setEndTreeRoots(txs);
|
|
@@ -227,7 +232,7 @@ export class TestContext {
|
|
|
227
232
|
await updateExpectedTreesFromTxs(db, [tx]);
|
|
228
233
|
const stateReference = await db.getStateReference();
|
|
229
234
|
if (tx.avmProvingRequest) {
|
|
230
|
-
tx.avmProvingRequest.inputs.
|
|
235
|
+
tx.avmProvingRequest.inputs.publicInputs.endTreeSnapshots = new TreeSnapshots(
|
|
231
236
|
stateReference.l1ToL2MessageTree,
|
|
232
237
|
stateReference.partial.noteHashTree,
|
|
233
238
|
stateReference.partial.nullifierTree,
|
|
@@ -136,7 +136,7 @@ export const buildBaseRollupHints = runInSpan(
|
|
|
136
136
|
|
|
137
137
|
// Append new data to startSpongeBlob
|
|
138
138
|
const inputSpongeBlob = startSpongeBlob.clone();
|
|
139
|
-
startSpongeBlob.absorb(tx.txEffect.toBlobFields());
|
|
139
|
+
await startSpongeBlob.absorb(tx.txEffect.toBlobFields());
|
|
140
140
|
|
|
141
141
|
if (tx.avmProvingRequest) {
|
|
142
142
|
// Build public base rollup hints
|
|
@@ -172,7 +172,7 @@ export const buildBaseRollupHints = runInSpan(
|
|
|
172
172
|
),
|
|
173
173
|
});
|
|
174
174
|
|
|
175
|
-
const blockHash = tx.constants.historicalHeader.hash();
|
|
175
|
+
const blockHash = await tx.constants.historicalHeader.hash();
|
|
176
176
|
const archiveRootMembershipWitness = await getMembershipWitnessFor(
|
|
177
177
|
blockHash,
|
|
178
178
|
MerkleTreeId.ARCHIVE,
|
|
@@ -198,7 +198,7 @@ export const buildBaseRollupHints = runInSpan(
|
|
|
198
198
|
|
|
199
199
|
// Create data hint for reading fee payer initial balance in Fee Juice
|
|
200
200
|
// If no fee payer is set, read hint should be empty
|
|
201
|
-
const leafSlot = computeFeePayerBalanceLeafSlot(tx.data.feePayer);
|
|
201
|
+
const leafSlot = await computeFeePayerBalanceLeafSlot(tx.data.feePayer);
|
|
202
202
|
const feePayerFeeJuiceBalanceReadHint = tx.data.feePayer.isZero()
|
|
203
203
|
? PublicDataHint.empty()
|
|
204
204
|
: await getPublicDataHint(db, leafSlot.toBigInt());
|
|
@@ -232,7 +232,7 @@ export const buildBaseRollupHints = runInSpan(
|
|
|
232
232
|
feeWriteSiblingPath,
|
|
233
233
|
});
|
|
234
234
|
|
|
235
|
-
const blockHash = tx.constants.historicalHeader.hash();
|
|
235
|
+
const blockHash = await tx.constants.historicalHeader.hash();
|
|
236
236
|
const archiveRootMembershipWitness = await getMembershipWitnessFor(
|
|
237
237
|
blockHash,
|
|
238
238
|
MerkleTreeId.ARCHIVE,
|
|
@@ -275,9 +275,9 @@ export async function getPublicDataHint(db: MerkleTreeWriteOperations, leafSlot:
|
|
|
275
275
|
export const buildBlobHints = runInSpan(
|
|
276
276
|
'BlockBuilderHelpers',
|
|
277
277
|
'buildBlobHints',
|
|
278
|
-
(_span: Span, txEffects: TxEffect[]) => {
|
|
278
|
+
async (_span: Span, txEffects: TxEffect[]) => {
|
|
279
279
|
const blobFields = txEffects.flatMap(tx => tx.toBlobFields());
|
|
280
|
-
const blobs = Blob.getBlobs(blobFields);
|
|
280
|
+
const blobs = await Blob.getBlobs(blobFields);
|
|
281
281
|
const blobCommitments = blobs.map(b => b.commitmentToFields());
|
|
282
282
|
const blobsHash = new Fr(getBlobsHashFromBlobs(blobs));
|
|
283
283
|
return { blobFields, blobCommitments, blobs, blobsHash };
|
|
@@ -287,7 +287,7 @@ export const buildBlobHints = runInSpan(
|
|
|
287
287
|
export const buildHeaderFromCircuitOutputs = runInSpan(
|
|
288
288
|
'BlockBuilderHelpers',
|
|
289
289
|
'buildHeaderFromCircuitOutputs',
|
|
290
|
-
(
|
|
290
|
+
async (
|
|
291
291
|
_span,
|
|
292
292
|
previousRollupData: BaseOrMergeRollupPublicInputs[],
|
|
293
293
|
parityPublicInputs: ParityPublicInputs,
|
|
@@ -326,7 +326,7 @@ export const buildHeaderFromCircuitOutputs = runInSpan(
|
|
|
326
326
|
accumulatedFees,
|
|
327
327
|
accumulatedManaUsed,
|
|
328
328
|
);
|
|
329
|
-
if (!header.hash().equals(rootRollupOutputs.endBlockHash)) {
|
|
329
|
+
if (!(await header.hash()).equals(rootRollupOutputs.endBlockHash)) {
|
|
330
330
|
logger?.error(
|
|
331
331
|
`Block header mismatch when building header from circuit outputs.` +
|
|
332
332
|
`\n\nHeader: ${inspect(header)}` +
|
|
@@ -375,12 +375,11 @@ export const buildHeaderAndBodyFromTxs = runInSpan(
|
|
|
375
375
|
);
|
|
376
376
|
|
|
377
377
|
l1ToL2Messages = padArrayEnd(l1ToL2Messages, Fr.ZERO, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP);
|
|
378
|
-
const hasher = (left: Buffer, right: Buffer) => sha256Trunc(Buffer.concat([left, right]));
|
|
378
|
+
const hasher = (left: Buffer, right: Buffer) => Promise.resolve(sha256Trunc(Buffer.concat([left, right])));
|
|
379
379
|
const parityHeight = Math.ceil(Math.log2(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP));
|
|
380
|
-
const
|
|
381
|
-
|
|
382
|
-
);
|
|
383
|
-
const blobsHash = getBlobsHashFromBlobs(Blob.getBlobs(body.toBlobFields()));
|
|
380
|
+
const parityCalculator = await MerkleTreeCalculator.create(parityHeight, Fr.ZERO.toBuffer(), hasher);
|
|
381
|
+
const parityShaRoot = await parityCalculator.computeTreeRoot(l1ToL2Messages.map(msg => msg.toBuffer()));
|
|
382
|
+
const blobsHash = getBlobsHashFromBlobs(await Blob.getBlobs(body.toBlobFields()));
|
|
384
383
|
|
|
385
384
|
const contentCommitment = new ContentCommitment(new Fr(numTxs), blobsHash, parityShaRoot, outHash);
|
|
386
385
|
|
|
@@ -442,7 +441,7 @@ export const getConstantRollupData = runInSpan(
|
|
|
442
441
|
'getConstantRollupData',
|
|
443
442
|
async (_span, globalVariables: GlobalVariables, db: MerkleTreeReadOperations): Promise<ConstantRollupData> => {
|
|
444
443
|
return ConstantRollupData.from({
|
|
445
|
-
vkTreeRoot: getVKTreeRoot(),
|
|
444
|
+
vkTreeRoot: await getVKTreeRoot(),
|
|
446
445
|
protocolContractTreeRoot,
|
|
447
446
|
lastArchive: await getTreeSnapshot(MerkleTreeId.ARCHIVE, db),
|
|
448
447
|
globalVariables,
|