@aztec/prover-client 3.0.0-nightly.20251024 → 3.0.0-nightly.20251025
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/proving_broker/config.d.ts +8 -8
- package/dest/proving_broker/config.js +4 -4
- package/dest/proving_broker/factory.js +1 -1
- package/dest/proving_broker/proving_broker_database/persisted.js +5 -5
- package/package.json +15 -15
- package/src/proving_broker/config.ts +6 -6
- package/src/proving_broker/factory.ts +1 -1
- package/src/proving_broker/proving_broker_database/persisted.ts +5 -5
|
@@ -14,9 +14,9 @@ export declare const ProverBrokerConfig: z.ZodObject<{
|
|
|
14
14
|
/** If starting a prover broker locally, the directory to store broker data */
|
|
15
15
|
dataDirectory: z.ZodOptional<z.ZodString>;
|
|
16
16
|
/** The size of the data store map */
|
|
17
|
-
|
|
18
|
-
/** The size of the prover broker's database. Will override the
|
|
19
|
-
|
|
17
|
+
dataStoreMapSizeKb: z.ZodNumber;
|
|
18
|
+
/** The size of the prover broker's database. Will override the dataStoreMapSizeKb if set. */
|
|
19
|
+
proverBrokerStoreMapSizeKb: z.ZodOptional<z.ZodNumber>;
|
|
20
20
|
/** The prover broker may batch jobs together before writing to the database */
|
|
21
21
|
proverBrokerBatchSize: z.ZodNumber;
|
|
22
22
|
/** How often the job batches get flushed */
|
|
@@ -27,24 +27,24 @@ export declare const ProverBrokerConfig: z.ZodObject<{
|
|
|
27
27
|
proverBrokerJobMaxRetries: number;
|
|
28
28
|
proverBrokerJobTimeoutMs: number;
|
|
29
29
|
proverBrokerPollIntervalMs: number;
|
|
30
|
-
|
|
30
|
+
dataStoreMapSizeKb: number;
|
|
31
31
|
proverBrokerBatchSize: number;
|
|
32
32
|
proverBrokerBatchIntervalMs: number;
|
|
33
33
|
proverBrokerMaxEpochsToKeepResultsFor: number;
|
|
34
34
|
dataDirectory?: string | undefined;
|
|
35
|
-
|
|
35
|
+
proverBrokerStoreMapSizeKb?: number | undefined;
|
|
36
36
|
}, {
|
|
37
37
|
proverBrokerJobMaxRetries: number;
|
|
38
38
|
proverBrokerJobTimeoutMs: number;
|
|
39
39
|
proverBrokerPollIntervalMs: number;
|
|
40
|
-
|
|
40
|
+
dataStoreMapSizeKb: number;
|
|
41
41
|
proverBrokerBatchSize: number;
|
|
42
42
|
proverBrokerBatchIntervalMs: number;
|
|
43
43
|
proverBrokerMaxEpochsToKeepResultsFor: number;
|
|
44
44
|
dataDirectory?: string | undefined;
|
|
45
|
-
|
|
45
|
+
proverBrokerStoreMapSizeKb?: number | undefined;
|
|
46
46
|
}>;
|
|
47
|
-
export type ProverBrokerConfig = z.infer<typeof ProverBrokerConfig> & Pick<DataStoreConfig, '
|
|
47
|
+
export type ProverBrokerConfig = z.infer<typeof ProverBrokerConfig> & Pick<DataStoreConfig, 'dataStoreMapSizeKb' | 'dataDirectory'> & L1ReaderConfig & Pick<ChainConfig, 'rollupVersion'>;
|
|
48
48
|
export declare const proverBrokerConfigMappings: ConfigMappingsType<ProverBrokerConfig>;
|
|
49
49
|
export declare const defaultProverBrokerConfig: ProverBrokerConfig;
|
|
50
50
|
export declare const ProverAgentConfig: z.ZodObject<{
|
|
@@ -10,8 +10,8 @@ export const ProverBrokerConfig = z.object({
|
|
|
10
10
|
/** If starting a prover broker locally, the time after which a job times out and gets assigned to a different agent */ proverBrokerJobTimeoutMs: z.number().int().nonnegative(),
|
|
11
11
|
/** If starting a prover broker locally, the interval the broker checks for timed out jobs */ proverBrokerPollIntervalMs: z.number().int().nonnegative(),
|
|
12
12
|
/** If starting a prover broker locally, the directory to store broker data */ dataDirectory: z.string().optional(),
|
|
13
|
-
/** The size of the data store map */
|
|
14
|
-
/** The size of the prover broker's database. Will override the
|
|
13
|
+
/** The size of the data store map */ dataStoreMapSizeKb: z.number().int().nonnegative(),
|
|
14
|
+
/** The size of the prover broker's database. Will override the dataStoreMapSizeKb if set. */ proverBrokerStoreMapSizeKb: z.number().int().nonnegative().optional(),
|
|
15
15
|
/** The prover broker may batch jobs together before writing to the database */ proverBrokerBatchSize: z.number().int().nonnegative(),
|
|
16
16
|
/** How often the job batches get flushed */ proverBrokerBatchIntervalMs: z.number().int().nonnegative(),
|
|
17
17
|
/** The maximum number of epochs to keep results for */ proverBrokerMaxEpochsToKeepResultsFor: z.number().int().nonnegative()
|
|
@@ -47,10 +47,10 @@ export const proverBrokerConfigMappings = {
|
|
|
47
47
|
description: 'The maximum number of epochs to keep results for',
|
|
48
48
|
...numberConfigHelper(1)
|
|
49
49
|
},
|
|
50
|
-
|
|
50
|
+
proverBrokerStoreMapSizeKb: {
|
|
51
51
|
env: 'PROVER_BROKER_STORE_MAP_SIZE_KB',
|
|
52
52
|
parseEnv: (val)=>val ? +val : undefined,
|
|
53
|
-
description: "The size of the prover broker's database. Will override the
|
|
53
|
+
description: "The size of the prover broker's database. Will override the dataStoreMapSizeKb if set."
|
|
54
54
|
},
|
|
55
55
|
...dataConfigMappings,
|
|
56
56
|
...l1ReaderConfigMappings,
|
|
@@ -4,7 +4,7 @@ import { KVBrokerDatabase } from './proving_broker_database/persisted.js';
|
|
|
4
4
|
export async function createAndStartProvingBroker(_config, client) {
|
|
5
5
|
const config = {
|
|
6
6
|
..._config,
|
|
7
|
-
|
|
7
|
+
dataStoreMapSizeKb: _config.proverBrokerStoreMapSizeKb ?? _config.dataStoreMapSizeKb
|
|
8
8
|
};
|
|
9
9
|
const database = config.dataDirectory ? await KVBrokerDatabase.new(config, client) : new InMemoryBrokerDatabase();
|
|
10
10
|
const broker = new ProvingBroker(database, config, client);
|
|
@@ -86,7 +86,7 @@ export class KVBrokerDatabase {
|
|
|
86
86
|
async estimateSize() {
|
|
87
87
|
const sizes = await Promise.all(Array.from(this.epochs.values()).map((x)=>x.estimateSize()));
|
|
88
88
|
return {
|
|
89
|
-
mappingSize: this.config.
|
|
89
|
+
mappingSize: this.config.dataStoreMapSizeKb,
|
|
90
90
|
physicalFileSize: sizes.reduce((prev, curr)=>prev + curr.physicalFileSize, 0),
|
|
91
91
|
numItems: sizes.reduce((prev, curr)=>prev + curr.numItems, 0),
|
|
92
92
|
actualSize: sizes.reduce((prev, curr)=>prev + curr.actualSize, 0)
|
|
@@ -109,8 +109,8 @@ export class KVBrokerDatabase {
|
|
|
109
109
|
logger.warn(`Found invalid epoch directory ${fullDirectory} when loading epoch databases, ignoring`);
|
|
110
110
|
continue;
|
|
111
111
|
}
|
|
112
|
-
logger.info(`Loading broker database for epoch ${epochNumber} from ${fullDirectory} with map size ${config.
|
|
113
|
-
const db = await openVersionedStoreAt(fullDirectory, SingleEpochDatabase.SCHEMA_VERSION, config.l1Contracts.rollupAddress, config.
|
|
112
|
+
logger.info(`Loading broker database for epoch ${epochNumber} from ${fullDirectory} with map size ${config.dataStoreMapSizeKb}KB`);
|
|
113
|
+
const db = await openVersionedStoreAt(fullDirectory, SingleEpochDatabase.SCHEMA_VERSION, config.l1Contracts.rollupAddress, config.dataStoreMapSizeKb);
|
|
114
114
|
const epochDb = new SingleEpochDatabase(db);
|
|
115
115
|
epochs.set(epochNumber, epochDb);
|
|
116
116
|
}
|
|
@@ -173,8 +173,8 @@ export class KVBrokerDatabase {
|
|
|
173
173
|
await mkdir(newEpochDirectory, {
|
|
174
174
|
recursive: true
|
|
175
175
|
});
|
|
176
|
-
this.logger.info(`Creating broker database for epoch ${epochNumber} at ${newEpochDirectory} with map size ${this.config.
|
|
177
|
-
const db = await openVersionedStoreAt(newEpochDirectory, SingleEpochDatabase.SCHEMA_VERSION, this.config.l1Contracts.rollupAddress, this.config.
|
|
176
|
+
this.logger.info(`Creating broker database for epoch ${epochNumber} at ${newEpochDirectory} with map size ${this.config.dataStoreMapSizeKb}`);
|
|
177
|
+
const db = await openVersionedStoreAt(newEpochDirectory, SingleEpochDatabase.SCHEMA_VERSION, this.config.l1Contracts.rollupAddress, this.config.dataStoreMapSizeKb);
|
|
178
178
|
epochDb = new SingleEpochDatabase(db);
|
|
179
179
|
this.epochs.set(epochNumber, epochDb);
|
|
180
180
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/prover-client",
|
|
3
|
-
"version": "3.0.0-nightly.
|
|
3
|
+
"version": "3.0.0-nightly.20251025",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -67,19 +67,19 @@
|
|
|
67
67
|
]
|
|
68
68
|
},
|
|
69
69
|
"dependencies": {
|
|
70
|
-
"@aztec/bb-prover": "3.0.0-nightly.
|
|
71
|
-
"@aztec/blob-lib": "3.0.0-nightly.
|
|
72
|
-
"@aztec/constants": "3.0.0-nightly.
|
|
73
|
-
"@aztec/ethereum": "3.0.0-nightly.
|
|
74
|
-
"@aztec/foundation": "3.0.0-nightly.
|
|
75
|
-
"@aztec/kv-store": "3.0.0-nightly.
|
|
76
|
-
"@aztec/noir-protocol-circuits-types": "3.0.0-nightly.
|
|
77
|
-
"@aztec/noir-types": "3.0.0-nightly.
|
|
78
|
-
"@aztec/protocol-contracts": "3.0.0-nightly.
|
|
79
|
-
"@aztec/simulator": "3.0.0-nightly.
|
|
80
|
-
"@aztec/stdlib": "3.0.0-nightly.
|
|
81
|
-
"@aztec/telemetry-client": "3.0.0-nightly.
|
|
82
|
-
"@aztec/world-state": "3.0.0-nightly.
|
|
70
|
+
"@aztec/bb-prover": "3.0.0-nightly.20251025",
|
|
71
|
+
"@aztec/blob-lib": "3.0.0-nightly.20251025",
|
|
72
|
+
"@aztec/constants": "3.0.0-nightly.20251025",
|
|
73
|
+
"@aztec/ethereum": "3.0.0-nightly.20251025",
|
|
74
|
+
"@aztec/foundation": "3.0.0-nightly.20251025",
|
|
75
|
+
"@aztec/kv-store": "3.0.0-nightly.20251025",
|
|
76
|
+
"@aztec/noir-protocol-circuits-types": "3.0.0-nightly.20251025",
|
|
77
|
+
"@aztec/noir-types": "3.0.0-nightly.20251025",
|
|
78
|
+
"@aztec/protocol-contracts": "3.0.0-nightly.20251025",
|
|
79
|
+
"@aztec/simulator": "3.0.0-nightly.20251025",
|
|
80
|
+
"@aztec/stdlib": "3.0.0-nightly.20251025",
|
|
81
|
+
"@aztec/telemetry-client": "3.0.0-nightly.20251025",
|
|
82
|
+
"@aztec/world-state": "3.0.0-nightly.20251025",
|
|
83
83
|
"@google-cloud/storage": "^7.15.0",
|
|
84
84
|
"@iarna/toml": "^2.2.5",
|
|
85
85
|
"commander": "^12.1.0",
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
"zod": "^3.23.8"
|
|
90
90
|
},
|
|
91
91
|
"devDependencies": {
|
|
92
|
-
"@aztec/noir-contracts.js": "3.0.0-nightly.
|
|
92
|
+
"@aztec/noir-contracts.js": "3.0.0-nightly.20251025",
|
|
93
93
|
"@jest/globals": "^30.0.0",
|
|
94
94
|
"@types/jest": "^30.0.0",
|
|
95
95
|
"@types/node": "^22.15.17",
|
|
@@ -22,9 +22,9 @@ export const ProverBrokerConfig = z.object({
|
|
|
22
22
|
/** If starting a prover broker locally, the directory to store broker data */
|
|
23
23
|
dataDirectory: z.string().optional(),
|
|
24
24
|
/** The size of the data store map */
|
|
25
|
-
|
|
26
|
-
/** The size of the prover broker's database. Will override the
|
|
27
|
-
|
|
25
|
+
dataStoreMapSizeKb: z.number().int().nonnegative(),
|
|
26
|
+
/** The size of the prover broker's database. Will override the dataStoreMapSizeKb if set. */
|
|
27
|
+
proverBrokerStoreMapSizeKb: z.number().int().nonnegative().optional(),
|
|
28
28
|
/** The prover broker may batch jobs together before writing to the database */
|
|
29
29
|
proverBrokerBatchSize: z.number().int().nonnegative(),
|
|
30
30
|
/** How often the job batches get flushed */
|
|
@@ -34,7 +34,7 @@ export const ProverBrokerConfig = z.object({
|
|
|
34
34
|
});
|
|
35
35
|
|
|
36
36
|
export type ProverBrokerConfig = z.infer<typeof ProverBrokerConfig> &
|
|
37
|
-
Pick<DataStoreConfig, '
|
|
37
|
+
Pick<DataStoreConfig, 'dataStoreMapSizeKb' | 'dataDirectory'> &
|
|
38
38
|
L1ReaderConfig &
|
|
39
39
|
Pick<ChainConfig, 'rollupVersion'>;
|
|
40
40
|
|
|
@@ -69,10 +69,10 @@ export const proverBrokerConfigMappings: ConfigMappingsType<ProverBrokerConfig>
|
|
|
69
69
|
description: 'The maximum number of epochs to keep results for',
|
|
70
70
|
...numberConfigHelper(1),
|
|
71
71
|
},
|
|
72
|
-
|
|
72
|
+
proverBrokerStoreMapSizeKb: {
|
|
73
73
|
env: 'PROVER_BROKER_STORE_MAP_SIZE_KB',
|
|
74
74
|
parseEnv: (val: string | undefined) => (val ? +val : undefined),
|
|
75
|
-
description: "The size of the prover broker's database. Will override the
|
|
75
|
+
description: "The size of the prover broker's database. Will override the dataStoreMapSizeKb if set.",
|
|
76
76
|
},
|
|
77
77
|
...dataConfigMappings,
|
|
78
78
|
...l1ReaderConfigMappings,
|
|
@@ -9,7 +9,7 @@ export async function createAndStartProvingBroker(
|
|
|
9
9
|
_config: ProverBrokerConfig,
|
|
10
10
|
client: TelemetryClient,
|
|
11
11
|
): Promise<ProvingBroker> {
|
|
12
|
-
const config = { ..._config,
|
|
12
|
+
const config = { ..._config, dataStoreMapSizeKb: _config.proverBrokerStoreMapSizeKb ?? _config.dataStoreMapSizeKb };
|
|
13
13
|
const database = config.dataDirectory ? await KVBrokerDatabase.new(config, client) : new InMemoryBrokerDatabase();
|
|
14
14
|
|
|
15
15
|
const broker = new ProvingBroker(database, config, client);
|
|
@@ -111,7 +111,7 @@ export class KVBrokerDatabase implements ProvingBrokerDatabase {
|
|
|
111
111
|
private async estimateSize() {
|
|
112
112
|
const sizes = await Promise.all(Array.from(this.epochs.values()).map(x => x.estimateSize()));
|
|
113
113
|
return {
|
|
114
|
-
mappingSize: this.config.
|
|
114
|
+
mappingSize: this.config.dataStoreMapSizeKb,
|
|
115
115
|
physicalFileSize: sizes.reduce((prev, curr) => prev + curr.physicalFileSize, 0),
|
|
116
116
|
numItems: sizes.reduce((prev, curr) => prev + curr.numItems, 0),
|
|
117
117
|
actualSize: sizes.reduce((prev, curr) => prev + curr.actualSize, 0),
|
|
@@ -137,13 +137,13 @@ export class KVBrokerDatabase implements ProvingBrokerDatabase {
|
|
|
137
137
|
continue;
|
|
138
138
|
}
|
|
139
139
|
logger.info(
|
|
140
|
-
`Loading broker database for epoch ${epochNumber} from ${fullDirectory} with map size ${config.
|
|
140
|
+
`Loading broker database for epoch ${epochNumber} from ${fullDirectory} with map size ${config.dataStoreMapSizeKb}KB`,
|
|
141
141
|
);
|
|
142
142
|
const db = await openVersionedStoreAt(
|
|
143
143
|
fullDirectory,
|
|
144
144
|
SingleEpochDatabase.SCHEMA_VERSION,
|
|
145
145
|
config.l1Contracts.rollupAddress,
|
|
146
|
-
config.
|
|
146
|
+
config.dataStoreMapSizeKb,
|
|
147
147
|
);
|
|
148
148
|
const epochDb = new SingleEpochDatabase(db);
|
|
149
149
|
epochs.set(epochNumber, epochDb);
|
|
@@ -202,13 +202,13 @@ export class KVBrokerDatabase implements ProvingBrokerDatabase {
|
|
|
202
202
|
const newEpochDirectory = join(this.config.dataDirectory!, epochNumber.toString());
|
|
203
203
|
await mkdir(newEpochDirectory, { recursive: true });
|
|
204
204
|
this.logger.info(
|
|
205
|
-
`Creating broker database for epoch ${epochNumber} at ${newEpochDirectory} with map size ${this.config.
|
|
205
|
+
`Creating broker database for epoch ${epochNumber} at ${newEpochDirectory} with map size ${this.config.dataStoreMapSizeKb}`,
|
|
206
206
|
);
|
|
207
207
|
const db = await openVersionedStoreAt(
|
|
208
208
|
newEpochDirectory,
|
|
209
209
|
SingleEpochDatabase.SCHEMA_VERSION,
|
|
210
210
|
this.config.l1Contracts.rollupAddress,
|
|
211
|
-
this.config.
|
|
211
|
+
this.config.dataStoreMapSizeKb,
|
|
212
212
|
);
|
|
213
213
|
epochDb = new SingleEpochDatabase(db);
|
|
214
214
|
this.epochs.set(epochNumber, epochDb);
|