@aztec/prover-node 0.0.1-commit.b655e406 → 0.0.1-commit.fce3e4f
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/actions/download-epoch-proving-job.d.ts +4 -4
- package/dest/actions/index.d.ts +1 -1
- package/dest/actions/rerun-epoch-proving-job.d.ts +2 -2
- package/dest/actions/upload-epoch-proof-failure.d.ts +1 -1
- package/dest/bin/run-failed-epoch.d.ts +1 -1
- package/dest/config.d.ts +1 -1
- package/dest/factory.d.ts +1 -1
- package/dest/factory.d.ts.map +1 -1
- package/dest/factory.js +1 -1
- package/dest/index.d.ts +1 -1
- package/dest/job/epoch-proving-job-data.d.ts +3 -2
- package/dest/job/epoch-proving-job-data.d.ts.map +1 -1
- package/dest/job/epoch-proving-job-data.js +3 -2
- package/dest/job/epoch-proving-job.d.ts +3 -10
- package/dest/job/epoch-proving-job.d.ts.map +1 -1
- package/dest/job/epoch-proving-job.js +13 -8
- package/dest/metrics.d.ts +1 -1
- package/dest/metrics.d.ts.map +1 -1
- package/dest/metrics.js +1 -1
- package/dest/monitors/epoch-monitor.d.ts +3 -2
- package/dest/monitors/epoch-monitor.d.ts.map +1 -1
- package/dest/monitors/index.d.ts +1 -1
- package/dest/prover-node-publisher.d.ts +4 -3
- package/dest/prover-node-publisher.d.ts.map +1 -1
- package/dest/prover-node-publisher.js +5 -4
- package/dest/prover-node.d.ts +6 -5
- package/dest/prover-node.d.ts.map +1 -1
- package/dest/prover-node.js +5 -6
- package/dest/prover-publisher-factory.d.ts +1 -1
- package/dest/prover-publisher-factory.d.ts.map +1 -1
- package/dest/test/index.d.ts +1 -1
- package/dest/test/index.d.ts.map +1 -1
- package/package.json +26 -25
- package/src/factory.ts +3 -1
- package/src/job/epoch-proving-job-data.ts +4 -3
- package/src/job/epoch-proving-job.ts +13 -8
- package/src/metrics.ts +1 -1
- package/src/monitors/epoch-monitor.ts +3 -2
- package/src/prover-node-publisher.ts +7 -6
- package/src/prover-node.ts +16 -16
|
@@ -8,11 +8,11 @@ export declare function downloadEpochProvingJob(location: string, log: Logger, c
|
|
|
8
8
|
dataDirectory: string;
|
|
9
9
|
jobDataDownloadPath: string;
|
|
10
10
|
}): Promise<{
|
|
11
|
-
rollupVersion: number;
|
|
12
11
|
l2BlockNumber: number;
|
|
13
12
|
l2BlockHash: string;
|
|
14
|
-
rollupAddress: import("@aztec/foundation/schemas").EthAddress;
|
|
15
|
-
l1ChainId: number;
|
|
16
13
|
l1BlockNumber: number;
|
|
14
|
+
l1ChainId: number;
|
|
15
|
+
rollupVersion: number;
|
|
16
|
+
rollupAddress: import("../../../foundation/dest/eth-address/index.js").EthAddress;
|
|
17
17
|
}>;
|
|
18
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQtZXBvY2gtcHJvdmluZy1qb2IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hY3Rpb25zL2Rvd25sb2FkLWVwb2NoLXByb3Zpbmctam9iLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBVXBEOzs7O0dBSUc7QUFDSCx3QkFBc0IsdUJBQXVCLENBQzNDLFFBQVEsRUFBRSxNQUFNLEVBQ2hCLEdBQUcsRUFBRSxNQUFNLEVBQ1gsTUFBTSxFQUFFO0lBQ04sYUFBYSxFQUFFLE1BQU0sQ0FBQztJQUN0QixtQkFBbUIsRUFBRSxNQUFNLENBQUM7Q0FDN0I7Ozs7Ozs7R0FxQkYifQ==
|
package/dest/actions/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export * from './download-epoch-proving-job.js';
|
|
2
2
|
export * from './rerun-epoch-proving-job.js';
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hY3Rpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw4QkFBOEIsQ0FBQyJ9
|
|
@@ -7,5 +7,5 @@ import { ProverBrokerConfig } from '@aztec/prover-client/broker';
|
|
|
7
7
|
* using the state snapshots, and creates a new epoch proving job to prove the downloaded proving job.
|
|
8
8
|
* Proving is done with a local proving broker and agents as specified by the config.
|
|
9
9
|
*/
|
|
10
|
-
export declare function rerunEpochProvingJob(localPath: string, log: Logger, config: DataStoreConfig & ProverBrokerConfig & ProverClientConfig): Promise<"
|
|
11
|
-
//# sourceMappingURL=
|
|
10
|
+
export declare function rerunEpochProvingJob(localPath: string, log: Logger, config: DataStoreConfig & ProverBrokerConfig & ProverClientConfig): Promise<"awaiting-prover" | "completed" | "failed" | "initialized" | "processing" | "publishing-proof" | "reorg" | "stopped" | "timed-out">;
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVydW4tZXBvY2gtcHJvdmluZy1qb2IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hY3Rpb25zL3JlcnVuLWVwb2NoLXByb3Zpbmctam9iLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUFzQixNQUFNLHNCQUFzQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxrQkFBa0IsRUFBK0IsTUFBTSw2QkFBNkIsQ0FBQztBQVc5Rjs7OztHQUlHO0FBQ0gsd0JBQXNCLG9CQUFvQixDQUN4QyxTQUFTLEVBQUUsTUFBTSxFQUNqQixHQUFHLEVBQUUsTUFBTSxFQUNYLE1BQU0sRUFBRSxlQUFlLEdBQUcsa0JBQWtCLEdBQUcsa0JBQWtCLCtJQXFDbEUifQ==
|
|
@@ -12,4 +12,4 @@ type UploadEpochProofConfig = Pick<ChainConfig, 'l1ChainId' | 'rollupVersion'> &
|
|
|
12
12
|
*/
|
|
13
13
|
export declare function uploadEpochProofFailure(location: string, jobId: string, jobData: EpochProvingJobData, archiver: Archiver, worldState: WorldStateSynchronizer, config: UploadEpochProofConfig, log: Logger): Promise<string>;
|
|
14
14
|
export {};
|
|
15
|
-
//# sourceMappingURL=
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWVwb2NoLXByb29mLWZhaWx1cmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hY3Rpb25zL3VwbG9hZC1lcG9jaC1wcm9vZi1mYWlsdXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsS0FBSyxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUdyRSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU5RCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RCxPQUFPLEtBQUssRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBUTlFLE9BQU8sRUFBRSxLQUFLLG1CQUFtQixFQUFnQyxNQUFNLGtDQUFrQyxDQUFDO0FBRTFHLEtBQUssc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxXQUFXLEdBQUcsZUFBZSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxlQUFlLENBQUMsQ0FBQztBQUt4SDs7OztHQUlHO0FBQ0gsd0JBQXNCLHVCQUF1QixDQUMzQyxRQUFRLEVBQUUsTUFBTSxFQUNoQixLQUFLLEVBQUUsTUFBTSxFQUNiLE9BQU8sRUFBRSxtQkFBbUIsRUFDNUIsUUFBUSxFQUFFLFFBQVEsRUFDbEIsVUFBVSxFQUFFLHNCQUFzQixFQUNsQyxNQUFNLEVBQUUsc0JBQXNCLEVBQzlCLEdBQUcsRUFBRSxNQUFNLG1CQXVDWiJ9
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLWZhaWxlZC1lcG9jaC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Jpbi9ydW4tZmFpbGVkLWVwb2NoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
package/dest/config.d.ts
CHANGED
|
@@ -28,4 +28,4 @@ export declare function getProverNodeConfigFromEnv(): ProverNodeConfig;
|
|
|
28
28
|
export declare function getProverNodeBrokerConfigFromEnv(): ProverBrokerConfig;
|
|
29
29
|
export declare function getProverNodeAgentConfigFromEnv(): ProverAgentConfig & BBConfig & ACVMConfig;
|
|
30
30
|
export declare function createKeyStoreForProver(config: ProverNodeConfig): KeyStore | undefined;
|
|
31
|
-
//# sourceMappingURL=
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLGNBQWMsRUFBMEIsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRixPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLEtBQUssa0JBQWtCLEVBQThCLE1BQU0saUJBQWlCLENBQUM7QUFDdEYsT0FBTyxFQUNMLEtBQUssa0JBQWtCLEVBSXhCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFzQixNQUFNLHdCQUF3QixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxLQUFLLFFBQVEsRUFBRSxLQUFLLGNBQWMsRUFBK0MsTUFBTSxzQkFBc0IsQ0FBQztBQUN2SCxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBNEIsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsS0FBSyxTQUFTLEVBQXFCLE1BQU0sbUJBQW1CLENBQUM7QUFDdEUsT0FBTyxFQUNMLEtBQUssaUJBQWlCLEVBQ3RCLEtBQUssa0JBQWtCLEVBR3hCLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLEtBQUssc0JBQXNCLEVBQWdELE1BQU0sNkJBQTZCLENBQUM7QUFDeEgsT0FBTyxFQUNMLEtBQUssZUFBZSxFQUNwQixLQUFLLGNBQWMsRUFHcEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBNEIsTUFBTSwyQkFBMkIsQ0FBQztBQUU1RixNQUFNLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxHQUMzQyxzQkFBc0IsR0FDdEIsU0FBUyxHQUNULGdCQUFnQixHQUNoQixlQUFlLEdBQ2YsY0FBYyxHQUNkLGVBQWUsR0FDZixjQUFjLEdBQ2QsZ0JBQWdCLEdBQ2hCLHdCQUF3QixHQUN4QixrQkFBa0IsQ0FBQztBQUVyQixNQUFNLE1BQU0sd0JBQXdCLEdBQUc7SUFDckMsd0JBQXdCLEVBQUUsTUFBTSxDQUFDO0lBQ2pDLDJCQUEyQixFQUFFLE1BQU0sQ0FBQztJQUNwQyxtQ0FBbUMsRUFBRSxNQUFNLENBQUM7SUFDNUMsMEJBQTBCLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUMvQyw2QkFBNkIsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0lBQ2xELDZCQUE2QixDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQ3hDLG9CQUFvQixFQUFFLE1BQU0sQ0FBQztJQUM3QixxQkFBcUIsRUFBRSxNQUFNLENBQUM7SUFDOUIsb0JBQW9CLEVBQUUsTUFBTSxDQUFDO0lBQzdCLHFDQUFxQyxFQUFFLE1BQU0sQ0FBQztDQUMvQyxDQUFDO0FBc0RGLGVBQU8sTUFBTSx3QkFBd0IsRUFBRSxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FZekUsQ0FBQztBQUVGLHdCQUFnQiwwQkFBMEIsSUFBSSxnQkFBZ0IsQ0FFN0Q7QUFFRCx3QkFBZ0IsZ0NBQWdDLElBQUksa0JBQWtCLENBSXJFO0FBRUQsd0JBQWdCLCtCQUErQixJQUFJLGlCQUFpQixHQUFHLFFBQVEsR0FBRyxVQUFVLENBSzNGO0FBMERELHdCQUFnQix1QkFBdUIsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLEdBQUcsUUFBUSxHQUFHLFNBQVMsQ0FNdEYifQ==
|
package/dest/factory.d.ts
CHANGED
|
@@ -26,4 +26,4 @@ export type ProverNodeDeps = {
|
|
|
26
26
|
export declare function createProverNode(userConfig: ProverNodeConfig & DataStoreConfig & KeyStoreConfig, deps?: ProverNodeDeps, options?: {
|
|
27
27
|
prefilledPublicData?: PublicDataTreeLeaf[];
|
|
28
28
|
}): Promise<ProverNode>;
|
|
29
|
-
//# sourceMappingURL=
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssUUFBUSxFQUFrQixNQUFNLGlCQUFpQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxLQUFLLHVCQUF1QixFQUF3QixNQUFNLHlCQUF5QixDQUFDO0FBRTdGLE9BQU8sRUFBRSxTQUFTLEVBQXlELE1BQU0saUJBQWlCLENBQUM7QUFFbkcsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsS0FBSyxjQUFjLEVBQWtELE1BQU0sc0JBQXNCLENBQUM7QUFNM0csT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFbkYsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU5RCxPQUFPLEVBQWEsS0FBSyxlQUFlLEVBQXNCLE1BQU0seUJBQXlCLENBQUM7QUFLOUYsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQTJCLE1BQU0sYUFBYSxDQUFDO0FBRTdFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV2RSxNQUFNLE1BQU0sY0FBYyxHQUFHO0lBQzNCLFNBQVMsQ0FBQyxFQUFFLGVBQWUsQ0FBQztJQUM1QixHQUFHLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDYixtQkFBbUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDdEQsUUFBUSxDQUFDLEVBQUUsUUFBUSxDQUFDO0lBQ3BCLGdCQUFnQixDQUFDLEVBQUUsc0JBQXNCLENBQUM7SUFDMUMsY0FBYyxDQUFDLEVBQUUsdUJBQXVCLENBQUM7SUFDekMsTUFBTSxDQUFDLEVBQUUsZ0JBQWdCLENBQUM7SUFDMUIsU0FBUyxDQUFDLEVBQUUsU0FBUyxDQUFDO0lBQ3RCLFlBQVksQ0FBQyxFQUFFLFlBQVksQ0FBQztDQUM3QixDQUFDO0FBRUYsZ0RBQWdEO0FBQ2hELHdCQUFzQixnQkFBZ0IsQ0FDcEMsVUFBVSxFQUFFLGdCQUFnQixHQUFHLGVBQWUsR0FBRyxjQUFjLEVBQy9ELElBQUksR0FBRSxjQUFtQixFQUN6QixPQUFPLEdBQUU7SUFDUCxtQkFBbUIsQ0FBQyxFQUFFLGtCQUFrQixFQUFFLENBQUM7Q0FDdkMsdUJBMktQIn0=
|
package/dest/factory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAkB,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAE,KAAK,uBAAuB,EAAwB,MAAM,yBAAyB,CAAC;AAE7F,OAAO,EAAE,SAAS,EAAyD,MAAM,iBAAiB,CAAC;AAEnG,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,KAAK,cAAc,EAAkD,MAAM,sBAAsB,CAAC;AAM3G,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EAAa,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAK9F,OAAO,EAAE,KAAK,gBAAgB,EAA2B,MAAM,aAAa,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mBAAmB,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACtD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,gDAAgD;AAChD,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,gBAAgB,GAAG,eAAe,GAAG,cAAc,EAC/D,IAAI,GAAE,cAAmB,EACzB,OAAO,GAAE;IACP,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACvC,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAkB,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAE,KAAK,uBAAuB,EAAwB,MAAM,yBAAyB,CAAC;AAE7F,OAAO,EAAE,SAAS,EAAyD,MAAM,iBAAiB,CAAC;AAEnG,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,KAAK,cAAc,EAAkD,MAAM,sBAAsB,CAAC;AAM3G,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EAAa,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAK9F,OAAO,EAAE,KAAK,gBAAgB,EAA2B,MAAM,aAAa,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mBAAmB,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IACtD,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,gDAAgD;AAChD,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,gBAAgB,GAAG,eAAe,GAAG,cAAc,EAC/D,IAAI,GAAE,cAAmB,EACzB,OAAO,GAAE;IACP,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACvC,uBA2KP"}
|
package/dest/factory.js
CHANGED
|
@@ -105,7 +105,7 @@ import { ProverPublisherFactory } from './prover-publisher-factory.js';
|
|
|
105
105
|
publisherManager: new PublisherManager(l1TxUtils, config),
|
|
106
106
|
telemetry
|
|
107
107
|
});
|
|
108
|
-
const proofVerifier = new QueuedIVCVerifier(config, config.realProofs ? await BBCircuitVerifier.new(config) : new TestCircuitVerifier());
|
|
108
|
+
const proofVerifier = new QueuedIVCVerifier(config, config.realProofs ? await BBCircuitVerifier.new(config) : new TestCircuitVerifier(config.proverTestVerificationDelayMs));
|
|
109
109
|
const p2pClient = await createP2PClient(P2PClientType.Prover, config, archiver, proofVerifier, worldStateSynchronizer, epochCache, getPackageVersion() ?? '', dateProvider, telemetry, {
|
|
110
110
|
txCollectionNodeSources: deps.aztecNodeTxProvider ? [
|
|
111
111
|
new NodeRpcTxSource(deps.aztecNodeTxProvider, 'TestNode')
|
package/dest/index.d.ts
CHANGED
|
@@ -3,4 +3,4 @@ export * from './config.js';
|
|
|
3
3
|
export * from './factory.js';
|
|
4
4
|
export * from './prover-node-publisher.js';
|
|
5
5
|
export * from './prover-node.js';
|
|
6
|
-
//# sourceMappingURL=
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxrQkFBa0IsQ0FBQyJ9
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
2
3
|
import { CommitteeAttestation, L2Block } from '@aztec/stdlib/block';
|
|
3
4
|
import { BlockHeader, Tx } from '@aztec/stdlib/tx';
|
|
4
5
|
/** All data from an epoch used in proving. */
|
|
5
6
|
export type EpochProvingJobData = {
|
|
6
|
-
epochNumber:
|
|
7
|
+
epochNumber: EpochNumber;
|
|
7
8
|
blocks: L2Block[];
|
|
8
9
|
txs: Map<string, Tx>;
|
|
9
10
|
l1ToL2Messages: Record<number, Fr[]>;
|
|
@@ -13,4 +14,4 @@ export type EpochProvingJobData = {
|
|
|
13
14
|
export declare function validateEpochProvingJobData(data: EpochProvingJobData): void;
|
|
14
15
|
export declare function serializeEpochProvingJobData(data: EpochProvingJobData): Buffer;
|
|
15
16
|
export declare function deserializeEpochProvingJobData(buf: Buffer): EpochProvingJobData;
|
|
16
|
-
//# sourceMappingURL=
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBvY2gtcHJvdmluZy1qb2ItZGF0YS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2pvYi9lcG9jaC1wcm92aW5nLWpvYi1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFOUMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkQsOENBQThDO0FBQzlDLE1BQU0sTUFBTSxtQkFBbUIsR0FBRztJQUNoQyxXQUFXLEVBQUUsV0FBVyxDQUFDO0lBQ3pCLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNsQixHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNyQixjQUFjLEVBQUUsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLG1CQUFtQixFQUFFLFdBQVcsQ0FBQztJQUNqQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQztDQUN0QyxDQUFDO0FBRUYsd0JBQWdCLDJCQUEyQixDQUFDLElBQUksRUFBRSxtQkFBbUIsUUFjcEU7QUFFRCx3QkFBZ0IsNEJBQTRCLENBQUMsSUFBSSxFQUFFLG1CQUFtQixHQUFHLE1BQU0sQ0FzQjlFO0FBRUQsd0JBQWdCLDhCQUE4QixDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsbUJBQW1CLENBb0IvRSJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"epoch-proving-job-data.d.ts","sourceRoot":"","sources":["../../src/job/epoch-proving-job-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEnD,8CAA8C;AAC9C,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"epoch-proving-job-data.d.ts","sourceRoot":"","sources":["../../src/job/epoch-proving-job-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEnD,8CAA8C;AAC9C,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,mBAAmB,EAAE,WAAW,CAAC;IACjC,YAAY,EAAE,oBAAoB,EAAE,CAAC;CACtC,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,mBAAmB,QAcpE;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAsB9E;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAoB/E"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
2
3
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
3
4
|
import { CommitteeAttestation, L2Block } from '@aztec/stdlib/block';
|
|
@@ -21,11 +22,11 @@ export function serializeEpochProvingJobData(data) {
|
|
|
21
22
|
...messages
|
|
22
23
|
]);
|
|
23
24
|
const attestations = data.attestations.map((attestation)=>attestation.toBuffer());
|
|
24
|
-
return serializeToBuffer(
|
|
25
|
+
return serializeToBuffer(data.epochNumber, data.previousBlockHeader, blocks.length, ...blocks, txs.length, ...txs, l1ToL2Messages.length, ...l1ToL2Messages, attestations.length, ...attestations);
|
|
25
26
|
}
|
|
26
27
|
export function deserializeEpochProvingJobData(buf) {
|
|
27
28
|
const reader = BufferReader.asReader(buf);
|
|
28
|
-
const epochNumber =
|
|
29
|
+
const epochNumber = EpochNumber(reader.readNumber());
|
|
29
30
|
const previousBlockHeader = reader.readObject(BlockHeader);
|
|
30
31
|
const blocks = reader.readVector(L2Block);
|
|
31
32
|
const txArray = reader.readVector(Tx);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import type { PublicProcessorFactory } from '@aztec/simulator/server';
|
|
2
3
|
import type { L2BlockSource } from '@aztec/stdlib/block';
|
|
3
4
|
import { type EpochProver, type EpochProvingJobState, EpochProvingJobTerminalState, type ForkMerkleTreeOperations } from '@aztec/stdlib/interfaces/server';
|
|
@@ -35,7 +36,7 @@ export declare class EpochProvingJob implements Traceable {
|
|
|
35
36
|
constructor(data: EpochProvingJobData, dbProvider: Pick<ForkMerkleTreeOperations, 'fork'>, prover: EpochProver, publicProcessorFactory: PublicProcessorFactory, publisher: Pick<ProverNodePublisher, 'submitEpochProof'>, l2BlockSource: L2BlockSource | undefined, metrics: ProverNodeJobMetrics, deadline: Date | undefined, config: EpochProvingJobOptions);
|
|
36
37
|
getId(): string;
|
|
37
38
|
getState(): EpochProvingJobState;
|
|
38
|
-
getEpochNumber():
|
|
39
|
+
getEpochNumber(): EpochNumber;
|
|
39
40
|
getDeadline(): Date | undefined;
|
|
40
41
|
getProvingData(): EpochProvingJobData;
|
|
41
42
|
private get epochNumber();
|
|
@@ -46,19 +47,11 @@ export declare class EpochProvingJob implements Traceable {
|
|
|
46
47
|
* Proves the given epoch and submits the proof to L1.
|
|
47
48
|
*/
|
|
48
49
|
run(): Promise<void>;
|
|
49
|
-
/**
|
|
50
|
-
* Create a new db fork for tx processing, inserting all L1 to L2.
|
|
51
|
-
* REFACTOR: The prover already spawns a db fork of its own for each block, so we may be able to do away with just one fork.
|
|
52
|
-
*/
|
|
53
50
|
private createFork;
|
|
54
51
|
private progressState;
|
|
55
52
|
private checkState;
|
|
56
53
|
stop(state?: EpochProvingJobTerminalState): Promise<void>;
|
|
57
54
|
private scheduleDeadlineStop;
|
|
58
|
-
/**
|
|
59
|
-
* Kicks off a running promise that queries the archiver for the set of L2 blocks of the current epoch.
|
|
60
|
-
* If those change, stops the proving job with a `rerun` state, so the node re-enqueues it.
|
|
61
|
-
*/
|
|
62
55
|
private scheduleEpochCheck;
|
|
63
56
|
private getBlockHeader;
|
|
64
57
|
private getTxs;
|
|
@@ -66,4 +59,4 @@ export declare class EpochProvingJob implements Traceable {
|
|
|
66
59
|
private processTxs;
|
|
67
60
|
}
|
|
68
61
|
export { type EpochProvingJobState };
|
|
69
|
-
//# sourceMappingURL=
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBvY2gtcHJvdmluZy1qb2IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9qb2IvZXBvY2gtcHJvdmluZy1qb2IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBUzlELE9BQU8sS0FBSyxFQUFtQixzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXZGLE9BQU8sS0FBSyxFQUFXLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xFLE9BQU8sRUFDTCxLQUFLLFdBQVcsRUFDaEIsS0FBSyxvQkFBb0IsRUFDekIsNEJBQTRCLEVBQzVCLEtBQUssd0JBQXdCLEVBQzlCLE1BQU0saUNBQWlDLENBQUM7QUFJekMsT0FBTyxFQUFjLEtBQUssU0FBUyxFQUFFLEtBQUssTUFBTSxFQUFhLE1BQU0seUJBQXlCLENBQUM7QUFJN0YsT0FBTyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsS0FBSyxtQkFBbUIsRUFBK0IsTUFBTSw2QkFBNkIsQ0FBQztBQUVwRyxNQUFNLE1BQU0sc0JBQXNCLEdBQUc7SUFDbkMsa0JBQWtCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDNUIsY0FBYyxDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQ3pCLGVBQWUsQ0FBQyxFQUFFLE9BQU8sQ0FBQztDQUMzQixDQUFDO0FBRUY7Ozs7R0FJRztBQUNILHFCQUFhLGVBQWdCLFlBQVcsU0FBUztJQVk3QyxPQUFPLENBQUMsSUFBSTtJQUNaLE9BQU8sQ0FBQyxVQUFVO0lBQ2xCLE9BQU8sQ0FBQyxNQUFNO0lBQ2QsT0FBTyxDQUFDLHNCQUFzQjtJQUM5QixPQUFPLENBQUMsU0FBUztJQUNqQixPQUFPLENBQUMsYUFBYTtJQUNyQixPQUFPLENBQUMsT0FBTztJQUNmLE9BQU8sQ0FBQyxRQUFRO0lBQ2hCLE9BQU8sQ0FBQyxNQUFNO0lBbkJoQixPQUFPLENBQUMsS0FBSyxDQUF1QztJQUNwRCxPQUFPLENBQUMsR0FBRyxDQUFpRDtJQUM1RCxPQUFPLENBQUMsSUFBSSxDQUFTO0lBRXJCLE9BQU8sQ0FBQyxVQUFVLENBQTRCO0lBQzlDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBNkI7SUFDdEQsT0FBTyxDQUFDLHNCQUFzQixDQUE2QjtJQUUzRCxTQUFnQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBRS9CLFlBQ1UsSUFBSSxFQUFFLG1CQUFtQixFQUN6QixVQUFVLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxFQUNsRCxNQUFNLEVBQUUsV0FBVyxFQUNuQixzQkFBc0IsRUFBRSxzQkFBc0IsRUFDOUMsU0FBUyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxrQkFBa0IsQ0FBQyxFQUN4RCxhQUFhLEVBQUUsYUFBYSxHQUFHLFNBQVMsRUFDeEMsT0FBTyxFQUFFLG9CQUFvQixFQUM3QixRQUFRLEVBQUUsSUFBSSxHQUFHLFNBQVMsRUFDMUIsTUFBTSxFQUFFLHNCQUFzQixFQUt2QztJQUVNLEtBQUssSUFBSSxNQUFNLENBRXJCO0lBRU0sUUFBUSxJQUFJLG9CQUFvQixDQUV0QztJQUVNLGNBQWMsSUFBSSxXQUFXLENBRW5DO0lBRU0sV0FBVyxJQUFJLElBQUksR0FBRyxTQUFTLENBRXJDO0lBRU0sY0FBYyxJQUFJLG1CQUFtQixDQUUzQztJQUVELE9BQU8sS0FBSyxXQUFXLEdBRXRCO0lBRUQsT0FBTyxLQUFLLE1BQU0sR0FFakI7SUFFRCxPQUFPLEtBQUssR0FBRyxHQUVkO0lBRUQsT0FBTyxLQUFLLFlBQVksR0FFdkI7SUFFRDs7T0FFRztJQUlVLEdBQUcsa0JBa0tmO1lBTWEsVUFBVTtJQWdCeEIsT0FBTyxDQUFDLGFBQWE7SUFLckIsT0FBTyxDQUFDLFVBQVU7SUFNTCxJQUFJLENBQUMsS0FBSyxHQUFFLDRCQUF3QyxpQkFNaEU7SUFFRCxPQUFPLENBQUMsb0JBQW9CO1lBd0JkLGtCQUFrQjtJQWlDaEMsT0FBTyxDQUFDLGNBQWM7SUFpQnRCLE9BQU8sQ0FBQyxNQUFNO0lBSWQsT0FBTyxDQUFDLGlCQUFpQjtZQUlYLFVBQVU7Q0FtQnpCO0FBU0QsT0FBTyxFQUFFLEtBQUssb0JBQW9CLEVBQUUsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"epoch-proving-job.d.ts","sourceRoot":"","sources":["../../src/job/epoch-proving-job.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"epoch-proving-job.d.ts","sourceRoot":"","sources":["../../src/job/epoch-proving-job.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAS9D,OAAO,KAAK,EAAmB,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEvF,OAAO,KAAK,EAAW,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,4BAA4B,EAC5B,KAAK,wBAAwB,EAC9B,MAAM,iCAAiC,CAAC;AAIzC,OAAO,EAAc,KAAK,SAAS,EAAE,KAAK,MAAM,EAAa,MAAM,yBAAyB,CAAC;AAI7F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,KAAK,mBAAmB,EAA+B,MAAM,6BAA6B,CAAC;AAEpG,MAAM,MAAM,sBAAsB,GAAG;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF;;;;GAIG;AACH,qBAAa,eAAgB,YAAW,SAAS;IAY7C,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,sBAAsB;IAC9B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;IAnBhB,OAAO,CAAC,KAAK,CAAuC;IACpD,OAAO,CAAC,GAAG,CAAiD;IAC5D,OAAO,CAAC,IAAI,CAAS;IAErB,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,sBAAsB,CAA6B;IAE3D,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,YACU,IAAI,EAAE,mBAAmB,EACzB,UAAU,EAAE,IAAI,CAAC,wBAAwB,EAAE,MAAM,CAAC,EAClD,MAAM,EAAE,WAAW,EACnB,sBAAsB,EAAE,sBAAsB,EAC9C,SAAS,EAAE,IAAI,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,EACxD,aAAa,EAAE,aAAa,GAAG,SAAS,EACxC,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,EAAE,IAAI,GAAG,SAAS,EAC1B,MAAM,EAAE,sBAAsB,EAKvC;IAEM,KAAK,IAAI,MAAM,CAErB;IAEM,QAAQ,IAAI,oBAAoB,CAEtC;IAEM,cAAc,IAAI,WAAW,CAEnC;IAEM,WAAW,IAAI,IAAI,GAAG,SAAS,CAErC;IAEM,cAAc,IAAI,mBAAmB,CAE3C;IAED,OAAO,KAAK,WAAW,GAEtB;IAED,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,KAAK,GAAG,GAEd;IAED,OAAO,KAAK,YAAY,GAEvB;IAED;;OAEG;IAIU,GAAG,kBAkKf;YAMa,UAAU;IAgBxB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,UAAU;IAML,IAAI,CAAC,KAAK,GAAE,4BAAwC,iBAMhE;IAED,OAAO,CAAC,oBAAoB;YAwBd,kBAAkB;IAiChC,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,iBAAiB;YAIX,UAAU;CAmBzB;AASD,OAAO,EAAE,KAAK,oBAAoB,EAAE,CAAC"}
|
|
@@ -14,6 +14,7 @@ import { Timer } from '@aztec/foundation/timer';
|
|
|
14
14
|
import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
15
15
|
import { protocolContractsHash } from '@aztec/protocol-contracts';
|
|
16
16
|
import { buildFinalBlobChallenges } from '@aztec/prover-client/helpers';
|
|
17
|
+
import { PublicSimulatorConfig } from '@aztec/stdlib/avm';
|
|
17
18
|
import { EpochProvingJobTerminalState } from '@aztec/stdlib/interfaces/server';
|
|
18
19
|
import { CheckpointConstantData } from '@aztec/stdlib/rollup';
|
|
19
20
|
import { MerkleTreeId } from '@aztec/stdlib/trees';
|
|
@@ -92,7 +93,7 @@ import { validateEpochProvingJobData } from './epoch-proving-job-data.js';
|
|
|
92
93
|
await this.scheduleEpochCheck();
|
|
93
94
|
}
|
|
94
95
|
const attestations = this.attestations.map((attestation)=>attestation.toViem());
|
|
95
|
-
const epochNumber =
|
|
96
|
+
const epochNumber = this.epochNumber;
|
|
96
97
|
const epochSizeBlocks = this.blocks.length;
|
|
97
98
|
const epochSizeTxs = this.blocks.reduce((total, current)=>total + current.body.txEffects.length, 0);
|
|
98
99
|
const [fromBlock, toBlock] = [
|
|
@@ -150,16 +151,20 @@ import { validateEpochProvingJobData } from './epoch-proving-job-data.js';
|
|
|
150
151
|
// Each checkpoint has only one block.
|
|
151
152
|
const totalNumBlocks = 1;
|
|
152
153
|
const checkpointIndex = block.number - fromBlock;
|
|
153
|
-
await this.prover.startNewCheckpoint(checkpointIndex, checkpointConstants, l1ToL2Messages, totalNumBlocks,
|
|
154
|
+
await this.prover.startNewCheckpoint(checkpointIndex, checkpointConstants, l1ToL2Messages, totalNumBlocks, previousHeader);
|
|
154
155
|
// Start block proving
|
|
155
156
|
await this.prover.startNewBlock(block.number, globalVariables.timestamp, txs.length);
|
|
156
157
|
// Process public fns
|
|
157
158
|
const db = await this.createFork(block.number - 1, l1ToL2Messages);
|
|
158
|
-
const
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
159
|
+
const config = PublicSimulatorConfig.from({
|
|
160
|
+
proverId: this.prover.getProverId().toField(),
|
|
161
|
+
skipFeeEnforcement: false,
|
|
162
|
+
collectDebugLogs: false,
|
|
163
|
+
collectHints: true,
|
|
164
|
+
maxDebugLogMemoryReads: 0,
|
|
165
|
+
collectStatistics: false
|
|
162
166
|
});
|
|
167
|
+
const publicProcessor = this.publicProcessorFactory.create(db, globalVariables, config);
|
|
163
168
|
const processed = await this.processTxs(publicProcessor, txs);
|
|
164
169
|
await this.prover.addTxs(processed);
|
|
165
170
|
await db.close();
|
|
@@ -236,7 +241,7 @@ import { validateEpochProvingJobData } from './epoch-proving-job-data.js';
|
|
|
236
241
|
const l1ToL2MessagesPadded = padArrayEnd(l1ToL2Messages, Fr.ZERO, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, 'Too many L1 to L2 messages');
|
|
237
242
|
this.log.verbose(`Creating fork at ${blockNumber} with ${l1ToL2Messages.length} L1 to L2 messages`, {
|
|
238
243
|
blockNumber,
|
|
239
|
-
l1ToL2Messages:
|
|
244
|
+
l1ToL2Messages: l1ToL2Messages.map((m)=>m.toString())
|
|
240
245
|
});
|
|
241
246
|
await db.appendLeaves(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, l1ToL2MessagesPadded);
|
|
242
247
|
return db;
|
|
@@ -341,7 +346,7 @@ import { validateEpochProvingJobData } from './epoch-proving-job-data.js';
|
|
|
341
346
|
_ts_decorate([
|
|
342
347
|
trackSpan('EpochProvingJob.run', function() {
|
|
343
348
|
return {
|
|
344
|
-
[Attributes.EPOCH_NUMBER]:
|
|
349
|
+
[Attributes.EPOCH_NUMBER]: this.data.epochNumber
|
|
345
350
|
};
|
|
346
351
|
})
|
|
347
352
|
], EpochProvingJob.prototype, "run", null);
|
package/dest/metrics.d.ts
CHANGED
|
@@ -47,4 +47,4 @@ export declare class ProverNodePublisherMetrics {
|
|
|
47
47
|
recordSenderBalance(wei: bigint, senderAddress: string): void;
|
|
48
48
|
private recordTx;
|
|
49
49
|
}
|
|
50
|
-
//# sourceMappingURL=
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL21ldHJpY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdEQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQWtCLE1BQU0scUJBQXFCLENBQUM7QUFDL0UsT0FBTyxFQUdMLEtBQUssS0FBSyxFQUNWLEtBQUssU0FBUyxFQUNkLEtBQUssS0FBSyxFQUdWLEtBQUssZUFBZSxFQUNwQixLQUFLLE1BQU0sRUFDWCxLQUFLLGFBQWEsRUFFbkIsTUFBTSx5QkFBeUIsQ0FBQztBQUlqQyxxQkFBYSxvQkFBb0I7SUFPN0IsT0FBTyxDQUFDLEtBQUs7YUFDRyxNQUFNLEVBQUUsTUFBTTtJQUM5QixPQUFPLENBQUMsTUFBTTtJQVJoQiw0QkFBNEIsRUFBRSxTQUFTLENBQUM7SUFDeEMsa0JBQWtCLEVBQUUsU0FBUyxDQUFDO0lBQzlCLGdCQUFnQixFQUFFLEtBQUssQ0FBQztJQUN4QixzQkFBc0IsRUFBRSxLQUFLLENBQUM7SUFFOUIsWUFDVSxLQUFLLEVBQUUsS0FBSyxFQUNKLE1BQU0sRUFBRSxNQUFNLEVBQ3RCLE1BQU0seUNBQWdELEVBb0IvRDtJQUVNLGdCQUFnQixDQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBS3RHO0NBQ0Y7QUFFRCxxQkFBYSx3QkFBd0I7SUFPakMsT0FBTyxDQUFDLEtBQUs7SUFDYixPQUFPLENBQUMsUUFBUTtJQUNoQixPQUFPLENBQUMsTUFBTTtJQUNkLE9BQU8sQ0FBQyxNQUFNO0lBVGhCLE9BQU8sQ0FBQyxPQUFPLENBQWtCO0lBQ2pDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBZ0I7SUFDMUMsT0FBTyxDQUFDLFNBQVMsQ0FBTztJQUN4QixPQUFPLENBQUMscUJBQXFCLENBQUs7SUFFbEMsWUFDVSxLQUFLLEVBQUUsS0FBSyxFQUNaLFFBQVEsRUFBRSxVQUFVLEVBQ3BCLE1BQU0sRUFBRSxjQUFjLEVBQ3RCLE1BQU0seUNBQWdELEVBVy9EO0lBRVksS0FBSyxrQkFJakI7SUFFTSxJQUFJLFNBRVY7SUFFRCxPQUFPLENBQUMsT0FBTyxDQXdCYjtDQUNIO0FBRUQscUJBQWEsMEJBQTBCO2FBZW5CLE1BQU0sRUFBRSxlQUFlO0lBRXZDLE9BQU8sQ0FBQyxNQUFNO0lBaEJoQixRQUFRLEVBQUUsU0FBUyxDQUFDO0lBQ3BCLE9BQU8sRUFBRSxhQUFhLENBQUM7SUFDdkIsVUFBVSxFQUFFLFNBQVMsQ0FBQztJQUN0QixLQUFLLEVBQUUsU0FBUyxDQUFDO0lBQ2pCLGNBQWMsRUFBRSxTQUFTLENBQUM7SUFDMUIsYUFBYSxFQUFFLFNBQVMsQ0FBQztJQUN6QixpQkFBaUIsRUFBRSxTQUFTLENBQUM7SUFDN0IsaUJBQWlCLEVBQUUsU0FBUyxDQUFDO0lBQzdCLFVBQVUsRUFBRSxTQUFTLENBQUM7SUFFdEIsT0FBTyxDQUFDLGFBQWEsQ0FBUTtJQUM3QixPQUFPLENBQUMsS0FBSyxDQUFRO0lBRXJCLFlBQ2tCLE1BQU0sRUFBRSxlQUFlLEVBQ3ZDLElBQUksU0FBZSxFQUNYLE1BQU0seUNBQWdELEVBa0UvRDtJQUVELGNBQWMsU0FLYjtJQUVELGlCQUFpQixDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixRQUUvRDtJQUVNLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLE1BQU0sUUFLNUQ7SUFFRCxPQUFPLENBQUMsUUFBUTtDQXVDakIifQ==
|
package/dest/metrics.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,KAAK,EAAE,mBAAmB,EAAkB,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAGL,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,KAAK,EAGV,KAAK,eAAe,EACpB,KAAK,MAAM,EACX,KAAK,aAAa,EAEnB,MAAM,yBAAyB,CAAC;AAIjC,qBAAa,oBAAoB;IAO7B,OAAO,CAAC,KAAK;aACG,MAAM,EAAE,MAAM;IAC9B,OAAO,CAAC,MAAM;IARhB,4BAA4B,EAAE,SAAS,CAAC;IACxC,kBAAkB,EAAE,SAAS,CAAC;IAC9B,gBAAgB,EAAE,KAAK,CAAC;IACxB,sBAAsB,EAAE,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,KAAK,EAAE,mBAAmB,EAAkB,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAGL,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,KAAK,EAGV,KAAK,eAAe,EACpB,KAAK,MAAM,EACX,KAAK,aAAa,EAEnB,MAAM,yBAAyB,CAAC;AAIjC,qBAAa,oBAAoB;IAO7B,OAAO,CAAC,KAAK;aACG,MAAM,EAAE,MAAM;IAC9B,OAAO,CAAC,MAAM;IARhB,4BAA4B,EAAE,SAAS,CAAC;IACxC,kBAAkB,EAAE,SAAS,CAAC;IAC9B,gBAAgB,EAAE,KAAK,CAAC;IACxB,sBAAsB,EAAE,KAAK,CAAC;IAE9B,YACU,KAAK,EAAE,KAAK,EACJ,MAAM,EAAE,MAAM,EACtB,MAAM,yCAAgD,EAoB/D;IAEM,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAKtG;CACF;AAED,qBAAa,wBAAwB;IAOjC,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IAThB,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,kBAAkB,CAAgB;IAC1C,OAAO,CAAC,SAAS,CAAO;IACxB,OAAO,CAAC,qBAAqB,CAAK;IAElC,YACU,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,cAAc,EACtB,MAAM,yCAAgD,EAW/D;IAEY,KAAK,kBAIjB;IAEM,IAAI,SAEV;IAED,OAAO,CAAC,OAAO,CAwBb;CACH;AAED,qBAAa,0BAA0B;aAenB,MAAM,EAAE,eAAe;IAEvC,OAAO,CAAC,MAAM;IAhBhB,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,SAAS,CAAC;IACtB,KAAK,EAAE,SAAS,CAAC;IACjB,cAAc,EAAE,SAAS,CAAC;IAC1B,aAAa,EAAE,SAAS,CAAC;IACzB,iBAAiB,EAAE,SAAS,CAAC;IAC7B,iBAAiB,EAAE,SAAS,CAAC;IAC7B,UAAU,EAAE,SAAS,CAAC;IAEtB,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,KAAK,CAAQ;IAErB,YACkB,MAAM,EAAE,eAAe,EACvC,IAAI,SAAe,EACX,MAAM,yCAAgD,EAkE/D;IAED,cAAc,SAKb;IAED,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,QAE/D;IAEM,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,QAK5D;IAED,OAAO,CAAC,QAAQ;CAuCjB"}
|
package/dest/metrics.js
CHANGED
|
@@ -61,7 +61,7 @@ export class ProverNodeRewardsMetrics {
|
|
|
61
61
|
// look at the prev epoch so that we get an accurate value, after proof submission window has closed
|
|
62
62
|
// For example, if proof submission window is 1 epoch, and we are in epoch 2, we should be looking at epoch 0.
|
|
63
63
|
// Similarly, if the proof submission window is 0, and we are in epoch 1, we should be looking at epoch 0.
|
|
64
|
-
const closedEpoch = epoch - BigInt(this.proofSubmissionEpochs) - 1n;
|
|
64
|
+
const closedEpoch = BigInt(epoch) - BigInt(this.proofSubmissionEpochs) - 1n;
|
|
65
65
|
const rewards = await this.rollup.getSpecificProverRewardsForEpoch(closedEpoch, this.coinbase);
|
|
66
66
|
const fmt = parseFloat(formatUnits(rewards, 18));
|
|
67
67
|
observer.observe(this.rewards, fmt, {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import type { L2BlockSource } from '@aztec/stdlib/block';
|
|
2
3
|
import { type L1RollupConstants } from '@aztec/stdlib/epoch-helpers';
|
|
3
4
|
import { type TelemetryClient, type Traceable, type Tracer } from '@aztec/telemetry-client';
|
|
4
5
|
export interface EpochMonitorHandler {
|
|
5
|
-
handleEpochReadyToProve(epochNumber:
|
|
6
|
+
handleEpochReadyToProve(epochNumber: EpochNumber): Promise<boolean>;
|
|
6
7
|
}
|
|
7
8
|
/**
|
|
8
9
|
* Fires an event when a new epoch ready to prove is detected.
|
|
@@ -39,4 +40,4 @@ export declare class EpochMonitor implements Traceable {
|
|
|
39
40
|
work(): Promise<void>;
|
|
40
41
|
private getEpochNumberToProve;
|
|
41
42
|
}
|
|
42
|
-
//# sourceMappingURL=
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBvY2gtbW9uaXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vbml0b3JzL2Vwb2NoLW1vbml0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBSTlELE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxLQUFLLGlCQUFpQixFQUFrQixNQUFNLDZCQUE2QixDQUFDO0FBQ3JGLE9BQU8sRUFDTCxLQUFLLGVBQWUsRUFDcEIsS0FBSyxTQUFTLEVBQ2QsS0FBSyxNQUFNLEVBR1osTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxNQUFNLFdBQVcsbUJBQW1CO0lBQ2xDLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0NBQ3JFO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILHFCQUFhLFlBQWEsWUFBVyxTQUFTO0lBUzFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsYUFBYTtJQUM5QixPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVc7SUFDNUIsT0FBTyxDQUFDLE9BQU87SUFWakIsT0FBTyxDQUFDLGNBQWMsQ0FBaUI7SUFDdkMsT0FBTyxDQUFDLEdBQUcsQ0FBNkM7SUFDeEQsU0FBZ0IsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUUvQixPQUFPLENBQUMsT0FBTyxDQUFrQztJQUNqRCxPQUFPLENBQUMsaUJBQWlCLENBQTBCO0lBRW5ELFlBQ21CLGFBQWEsRUFBRSxhQUFhLEVBQzVCLFdBQVcsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxDQUFDLEVBQzlELE9BQU8sRUFBRTtRQUFFLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztRQUFDLGNBQWMsQ0FBQyxFQUFFLE1BQU0sQ0FBQTtLQUFFLEVBQ3ZFLFNBQVMsR0FBRSxlQUFzQyxFQU9sRDtJQUVELE9BQW9CLE1BQU0sQ0FDeEIsYUFBYSxFQUFFLGFBQWEsRUFDNUIsT0FBTyxFQUFFO1FBQUUsaUJBQWlCLEVBQUUsTUFBTSxDQUFDO1FBQUMsY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFBO0tBQUUsRUFDL0QsU0FBUyxHQUFFLGVBQXNDLEdBQ2hELE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FHdkI7SUFFTSxLQUFLLENBQUMsT0FBTyxFQUFFLG1CQUFtQixRQUl4QztJQUVELDBCQUEwQjtJQUNuQixVQUFVLENBQUMsT0FBTyxFQUFFLG1CQUFtQixRQUU3QztJQUVZLElBQUksa0JBR2hCO0lBR1ksSUFBSSxrQkEyQmhCO1lBRWEscUJBQXFCO0NBWXBDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"epoch-monitor.d.ts","sourceRoot":"","sources":["../../src/monitors/epoch-monitor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"epoch-monitor.d.ts","sourceRoot":"","sources":["../../src/monitors/epoch-monitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAI9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,KAAK,iBAAiB,EAAkB,MAAM,6BAA6B,CAAC;AACrF,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,mBAAmB;IAClC,uBAAuB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACrE;AAED;;;;;;;;;;GAUG;AACH,qBAAa,YAAa,YAAW,SAAS;IAS1C,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,OAAO;IAVjB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,GAAG,CAA6C;IACxD,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,iBAAiB,CAA0B;IAEnD,YACmB,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,CAAC,EAC9D,OAAO,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,EACvE,SAAS,GAAE,eAAsC,EAOlD;IAED,OAAoB,MAAM,CACxB,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,EAC/D,SAAS,GAAE,eAAsC,GAChD,OAAO,CAAC,YAAY,CAAC,CAGvB;IAEM,KAAK,CAAC,OAAO,EAAE,mBAAmB,QAIxC;IAED,0BAA0B;IACnB,UAAU,CAAC,OAAO,EAAE,mBAAmB,QAE7C;IAEY,IAAI,kBAGhB;IAGY,IAAI,kBA2BhB;YAEa,qBAAqB;CAYpC"}
|
package/dest/monitors/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export * from './epoch-monitor.js';
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb25pdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDIn0=
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { BatchedBlob } from '@aztec/blob-lib';
|
|
2
2
|
import { AZTEC_MAX_EPOCH_DURATION } from '@aztec/constants';
|
|
3
3
|
import type { L1TxUtils, RollupContract, ViemCommitteeAttestation } from '@aztec/ethereum';
|
|
4
|
+
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
4
5
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
6
|
import { Fr } from '@aztec/foundation/fields';
|
|
6
7
|
import type { Tuple } from '@aztec/foundation/serialize';
|
|
@@ -42,7 +43,7 @@ export declare class ProverNodePublisher {
|
|
|
42
43
|
restart(): void;
|
|
43
44
|
getSenderAddress(): EthAddress;
|
|
44
45
|
submitEpochProof(args: {
|
|
45
|
-
epochNumber:
|
|
46
|
+
epochNumber: EpochNumber;
|
|
46
47
|
fromBlock: number;
|
|
47
48
|
toBlock: number;
|
|
48
49
|
publicInputs: RootRollupPublicInputs;
|
|
@@ -55,4 +56,4 @@ export declare class ProverNodePublisher {
|
|
|
55
56
|
private getEpochProofPublicInputsArgs;
|
|
56
57
|
private getSubmitEpochProofArgs;
|
|
57
58
|
}
|
|
58
|
-
//# sourceMappingURL=
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVyLW5vZGUtcHVibGlzaGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcHJvdmVyLW5vZGUtcHVibGlzaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQThCLE1BQU0saUJBQWlCLENBQUM7QUFDMUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTNGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTlDLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBR3pELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUvRSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVqRixPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXNCLE1BQU0seUJBQXlCLENBQUM7QUFPbkYsc0VBQXNFO0FBQ3RFLE1BQU0sTUFBTSxzQkFBc0IsR0FBRztJQUNuQyxTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLGVBQWUsRUFBRSxFQUFFLENBQUM7SUFDcEIsVUFBVSxFQUFFLEVBQUUsQ0FBQztJQUNmLFlBQVksRUFBRSxFQUFFLENBQUM7SUFDakIsT0FBTyxFQUFFLEVBQUUsQ0FBQztJQUNaLFFBQVEsRUFBRSxFQUFFLENBQUM7SUFDYixJQUFJLEVBQUUsS0FBSyxDQUFDLFlBQVksRUFBRSxPQUFPLHdCQUF3QixDQUFDLENBQUM7SUFDM0QsS0FBSyxFQUFFLEtBQUssQ0FBQztDQUNkLENBQUM7QUFFRixxQkFBYSxtQkFBbUI7SUFDOUIsT0FBTyxDQUFDLFdBQVcsQ0FBUztJQUM1QixPQUFPLENBQUMsT0FBTyxDQUE2QjtJQUU1QyxTQUFTLENBQUMsR0FBRyx5Q0FBK0M7SUFFNUQsU0FBUyxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUM7SUFFekMsU0FBZ0IsU0FBUyxFQUFFLFNBQVMsQ0FBQztJQUVyQyxZQUNFLE1BQU0sRUFBRSxjQUFjLEdBQUcsZUFBZSxFQUN4QyxJQUFJLEVBQUU7UUFDSixjQUFjLEVBQUUsY0FBYyxDQUFDO1FBQy9CLFNBQVMsRUFBRSxTQUFTLENBQUM7UUFDckIsU0FBUyxDQUFDLEVBQUUsZUFBZSxDQUFDO0tBQzdCLEVBUUY7SUFFTSxpQkFBaUIsbUJBRXZCO0lBRUQ7Ozs7O09BS0c7SUFDSSxTQUFTLFNBR2Y7SUFFRCx3REFBd0Q7SUFDakQsT0FBTyxTQUdiO0lBRU0sZ0JBQWdCLGVBRXRCO0lBRVksZ0JBQWdCLENBQUMsSUFBSSxFQUFFO1FBQ2xDLFdBQVcsRUFBRSxXQUFXLENBQUM7UUFDekIsU0FBUyxFQUFFLE1BQU0sQ0FBQztRQUNsQixPQUFPLEVBQUUsTUFBTSxDQUFDO1FBQ2hCLFlBQVksRUFBRSxzQkFBc0IsQ0FBQztRQUNyQyxLQUFLLEVBQUUsS0FBSyxDQUFDO1FBQ2IsaUJBQWlCLEVBQUUsV0FBVyxDQUFDO1FBQy9CLFlBQVksRUFBRSx3QkFBd0IsRUFBRSxDQUFDO0tBQzFDLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQWdEbkI7WUFFYSw0QkFBNEI7WUEyRDVCLHNCQUFzQjtJQXlDcEMsT0FBTyxDQUFDLDZCQUE2QjtJQXlCckMsT0FBTyxDQUFDLHVCQUF1QjtDQXVCaEMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prover-node-publisher.d.ts","sourceRoot":"","sources":["../src/prover-node-publisher.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"prover-node-publisher.d.ts","sourceRoot":"","sources":["../src/prover-node-publisher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA8B,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAE3F,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAGzD,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEjF,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAOnF,sEAAsE;AACtE,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,EAAE,CAAC;IACpB,UAAU,EAAE,EAAE,CAAC;IACf,YAAY,EAAE,EAAE,CAAC;IACjB,OAAO,EAAE,EAAE,CAAC;IACZ,QAAQ,EAAE,EAAE,CAAC;IACb,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,wBAAwB,CAAC,CAAC;IAC3D,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAA6B;IAE5C,SAAS,CAAC,GAAG,yCAA+C;IAE5D,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;IAEzC,SAAgB,SAAS,EAAE,SAAS,CAAC;IAErC,YACE,MAAM,EAAE,cAAc,GAAG,eAAe,EACxC,IAAI,EAAE;QACJ,cAAc,EAAE,cAAc,CAAC;QAC/B,SAAS,EAAE,SAAS,CAAC;QACrB,SAAS,CAAC,EAAE,eAAe,CAAC;KAC7B,EAQF;IAEM,iBAAiB,mBAEvB;IAED;;;;;OAKG;IACI,SAAS,SAGf;IAED,wDAAwD;IACjD,OAAO,SAGb;IAEM,gBAAgB,eAEtB;IAEY,gBAAgB,CAAC,IAAI,EAAE;QAClC,WAAW,EAAE,WAAW,CAAC;QACzB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,sBAAsB,CAAC;QACrC,KAAK,EAAE,KAAK,CAAC;QACb,iBAAiB,EAAE,WAAW,CAAC;QAC/B,YAAY,EAAE,wBAAwB,EAAE,CAAC;KAC1C,GAAG,OAAO,CAAC,OAAO,CAAC,CAgDnB;YAEa,4BAA4B;YA2D5B,sBAAsB;IAyCpC,OAAO,CAAC,6BAA6B;IAyBrC,OAAO,CAAC,uBAAuB;CAuBhC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { getEthBlobEvaluationInputs } from '@aztec/blob-lib';
|
|
1
2
|
import { AZTEC_MAX_EPOCH_DURATION } from '@aztec/constants';
|
|
2
3
|
import { makeTuple } from '@aztec/foundation/array';
|
|
3
4
|
import { areArraysEqual } from '@aztec/foundation/collection';
|
|
@@ -92,7 +93,7 @@ export class ProverNodePublisher {
|
|
|
92
93
|
async validateEpochProofSubmission(args) {
|
|
93
94
|
const { fromBlock, toBlock, publicInputs, batchedBlobInputs } = args;
|
|
94
95
|
// Check that the block numbers match the expected epoch to be proven
|
|
95
|
-
const {
|
|
96
|
+
const { pending, proven } = await this.rollupContract.getTips();
|
|
96
97
|
// Don't publish if proven is beyond our toBlock, pointless to do so
|
|
97
98
|
if (proven > BigInt(toBlock)) {
|
|
98
99
|
throw new Error(`Cannot submit epoch proof for ${fromBlock}-${toBlock} as proven block is ${proven}`);
|
|
@@ -102,12 +103,12 @@ export class ProverNodePublisher {
|
|
|
102
103
|
throw new Error(`Cannot submit epoch proof for ${fromBlock}-${toBlock} as pending block is ${pending}`);
|
|
103
104
|
}
|
|
104
105
|
// Check the archive for the immediate block before the epoch
|
|
105
|
-
const blockLog = await this.rollupContract.
|
|
106
|
+
const blockLog = await this.rollupContract.getCheckpoint(BigInt(fromBlock - 1));
|
|
106
107
|
if (publicInputs.previousArchiveRoot.toString() !== blockLog.archive) {
|
|
107
108
|
throw new Error(`Previous archive root mismatch: ${publicInputs.previousArchiveRoot.toString()} !== ${blockLog.archive}`);
|
|
108
109
|
}
|
|
109
110
|
// Check the archive for the last block in the epoch
|
|
110
|
-
const endBlockLog = await this.rollupContract.
|
|
111
|
+
const endBlockLog = await this.rollupContract.getCheckpoint(BigInt(toBlock));
|
|
111
112
|
if (publicInputs.endArchiveRoot.toString() !== endBlockLog.archive) {
|
|
112
113
|
throw new Error(`End archive root mismatch: ${publicInputs.endArchiveRoot.toString()} !== ${endBlockLog.archive}`);
|
|
113
114
|
}
|
|
@@ -171,7 +172,7 @@ export class ProverNodePublisher {
|
|
|
171
172
|
proverId: EthAddress.fromField(args.publicInputs.constants.proverId).toString()
|
|
172
173
|
} /*_args*/ ,
|
|
173
174
|
makeTuple(AZTEC_MAX_EPOCH_DURATION * 2, (i)=>i % 2 === 0 ? args.publicInputs.fees[i / 2].recipient.toField().toString() : args.publicInputs.fees[(i - 1) / 2].value.toString()),
|
|
174
|
-
args.batchedBlobInputs
|
|
175
|
+
getEthBlobEvaluationInputs(args.batchedBlobInputs)
|
|
175
176
|
];
|
|
176
177
|
}
|
|
177
178
|
getSubmitEpochProofArgs(args) {
|
package/dest/prover-node.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { RollupContract } from '@aztec/ethereum';
|
|
2
|
+
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
2
3
|
import type { DataStoreConfig } from '@aztec/kv-store/config';
|
|
3
4
|
import type { P2PClient } from '@aztec/p2p';
|
|
4
5
|
import { PublicProcessorFactory } from '@aztec/simulator/server';
|
|
@@ -50,7 +51,7 @@ export declare class ProverNode implements EpochMonitorHandler, ProverNodeApi, T
|
|
|
50
51
|
* @param epochNumber - The epoch number that was just completed.
|
|
51
52
|
* @returns false if there is an error, true otherwise
|
|
52
53
|
*/
|
|
53
|
-
handleEpochReadyToProve(epochNumber:
|
|
54
|
+
handleEpochReadyToProve(epochNumber: EpochNumber): Promise<boolean>;
|
|
54
55
|
/**
|
|
55
56
|
* Starts the prover node so it periodically checks for unproven epochs in the unfinalized chain from L1 and
|
|
56
57
|
* starts proving jobs for them.
|
|
@@ -67,7 +68,7 @@ export declare class ProverNode implements EpochMonitorHandler, ProverNodeApi, T
|
|
|
67
68
|
/**
|
|
68
69
|
* Starts a proving process and returns immediately.
|
|
69
70
|
*/
|
|
70
|
-
startProof(epochNumber:
|
|
71
|
+
startProof(epochNumber: EpochNumber): Promise<void>;
|
|
71
72
|
private runJob;
|
|
72
73
|
protected tryUploadEpochFailure(job: EpochProvingJob): Promise<string | undefined>;
|
|
73
74
|
/**
|
|
@@ -80,9 +81,9 @@ export declare class ProverNode implements EpochMonitorHandler, ProverNodeApi, T
|
|
|
80
81
|
getJobs(): Promise<{
|
|
81
82
|
uuid: string;
|
|
82
83
|
status: EpochProvingJobState;
|
|
83
|
-
epochNumber:
|
|
84
|
+
epochNumber: EpochNumber;
|
|
84
85
|
}[]>;
|
|
85
|
-
protected getActiveJobsForEpoch(
|
|
86
|
+
protected getActiveJobsForEpoch(epochNumber: EpochNumber): Promise<{
|
|
86
87
|
uuid: string;
|
|
87
88
|
status: EpochProvingJobState;
|
|
88
89
|
}[]>;
|
|
@@ -103,4 +104,4 @@ export declare class ProverNode implements EpochMonitorHandler, ProverNodeApi, T
|
|
|
103
104
|
private validateConfig;
|
|
104
105
|
}
|
|
105
106
|
export {};
|
|
106
|
-
//# sourceMappingURL=
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVyLW5vZGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wcm92ZXItbm9kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFNOUQsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFXLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xFLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFakUsT0FBTyxFQUNMLEtBQUssa0JBQWtCLEVBRXZCLEtBQUssYUFBYSxFQUNsQixLQUFLLE9BQU8sRUFDWixLQUFLLG9CQUFvQixFQUN6QixLQUFLLHNCQUFzQixFQUU1QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkUsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFdkQsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLGVBQWUsRUFDcEIsS0FBSyxTQUFTLEVBQ2QsS0FBSyxNQUFNLEVBR1osTUFBTSx5QkFBeUIsQ0FBQztBQUdqQyxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1RCxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNFLE9B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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prover-node.d.ts","sourceRoot":"","sources":["../src/prover-node.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"prover-node.d.ts","sourceRoot":"","sources":["../src/prover-node.ts"],"names":[],"mappings":"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"}
|
package/dest/prover-node.js
CHANGED
|
@@ -143,7 +143,7 @@ import { ProverNodeJobMetrics, ProverNodeRewardsMetrics } from './metrics.js';
|
|
|
143
143
|
/**
|
|
144
144
|
* Starts a proving process and returns immediately.
|
|
145
145
|
*/ async startProof(epochNumber) {
|
|
146
|
-
const job = await this.createProvingJob(
|
|
146
|
+
const job = await this.createProvingJob(epochNumber, {
|
|
147
147
|
skipEpochCheck: true
|
|
148
148
|
});
|
|
149
149
|
void this.runJob(job);
|
|
@@ -190,12 +190,11 @@ import { ProverNodeJobMetrics, ProverNodeRewardsMetrics } from './metrics.js';
|
|
|
190
190
|
return Promise.resolve(Array.from(this.jobs.entries()).map(([uuid, job])=>({
|
|
191
191
|
uuid,
|
|
192
192
|
status: job.getState(),
|
|
193
|
-
epochNumber:
|
|
193
|
+
epochNumber: job.getEpochNumber()
|
|
194
194
|
})));
|
|
195
195
|
}
|
|
196
|
-
async getActiveJobsForEpoch(
|
|
196
|
+
async getActiveJobsForEpoch(epochNumber) {
|
|
197
197
|
const jobs = await this.getJobs();
|
|
198
|
-
const epochNumber = Number(epochBigInt);
|
|
199
198
|
return jobs.filter((job)=>job.epochNumber === epochNumber && !EpochProvingJobTerminalState.includes(job.status));
|
|
200
199
|
}
|
|
201
200
|
checkMaximumPendingJobs() {
|
|
@@ -310,7 +309,7 @@ import { ProverNodeJobMetrics, ProverNodeRewardsMetrics } from './metrics.js';
|
|
|
310
309
|
}
|
|
311
310
|
_ts_decorate([
|
|
312
311
|
trackSpan('ProverNode.createProvingJob', (epochNumber)=>({
|
|
313
|
-
[Attributes.EPOCH_NUMBER]:
|
|
312
|
+
[Attributes.EPOCH_NUMBER]: epochNumber
|
|
314
313
|
}))
|
|
315
314
|
], ProverNode.prototype, "createProvingJob", null);
|
|
316
315
|
_ts_decorate([
|
|
@@ -318,7 +317,7 @@ _ts_decorate([
|
|
|
318
317
|
], ProverNode.prototype, "getL1Constants", null);
|
|
319
318
|
_ts_decorate([
|
|
320
319
|
trackSpan('ProverNode.gatherEpochData', (epochNumber)=>({
|
|
321
|
-
[Attributes.EPOCH_NUMBER]:
|
|
320
|
+
[Attributes.EPOCH_NUMBER]: epochNumber
|
|
322
321
|
}))
|
|
323
322
|
], ProverNode.prototype, "gatherEpochData", null);
|
|
324
323
|
class EmptyEpochError extends Error {
|
|
@@ -18,4 +18,4 @@ export declare class ProverPublisherFactory {
|
|
|
18
18
|
*/
|
|
19
19
|
create(): Promise<ProverNodePublisher>;
|
|
20
20
|
}
|
|
21
|
-
//# sourceMappingURL=
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVyLXB1Ymxpc2hlci1mYWN0b3J5LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcHJvdmVyLXB1Ymxpc2hlci1mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRixPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0UsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFakUscUJBQWEsc0JBQXNCO0lBRS9CLE9BQU8sQ0FBQyxNQUFNO0lBQ2QsT0FBTyxDQUFDLElBQUk7SUFGZCxZQUNVLE1BQU0sRUFBRSxjQUFjLEdBQUcsZUFBZSxFQUN4QyxJQUFJLEVBQUU7UUFDWixjQUFjLEVBQUUsY0FBYyxDQUFDO1FBQy9CLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLFNBQVMsQ0FBQyxFQUFFLGVBQWUsQ0FBQztLQUM3QixFQUNDO0lBRVMsS0FBSyxrQkFFakI7SUFFTSxJQUFJLFNBRVY7SUFFRDs7O09BR0c7SUFDVSxNQUFNLElBQUksT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBT2xEO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prover-publisher-factory.d.ts","sourceRoot":"","sources":["../src/prover-publisher-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"prover-publisher-factory.d.ts","sourceRoot":"","sources":["../src/prover-publisher-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,IAAI;IAFd,YACU,MAAM,EAAE,cAAc,GAAG,eAAe,EACxC,IAAI,EAAE;QACZ,cAAc,EAAE,cAAc,CAAC;QAC/B,gBAAgB,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC9C,SAAS,CAAC,EAAE,eAAe,CAAC;KAC7B,EACC;IAES,KAAK,kBAEjB;IAEM,IAAI,SAEV;IAED;;;OAGG;IACU,MAAM,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAOlD;CACF"}
|
package/dest/test/index.d.ts
CHANGED
|
@@ -9,4 +9,4 @@ declare abstract class TestProverNodeClass extends ProverNode {
|
|
|
9
9
|
}
|
|
10
10
|
export type TestProverNode = TestProverNodeClass;
|
|
11
11
|
export {};
|
|
12
|
-
//# sourceMappingURL=
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFMUUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbkUsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFL0MsdUJBQWUsbUJBQW9CLFNBQVEsVUFBVTtJQUNwQyxNQUFNLEVBQUUsa0JBQWtCLENBQUM7SUFDM0IsU0FBUyxFQUFFLG1CQUFtQixDQUFDO0lBRTlDLFNBQXlCLHFCQUFxQixDQUFDLEdBQUcsRUFBRSxlQUFlLEdBQUcsT0FBTyxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQztDQUNuRztBQUVELE1BQU0sTUFBTSxjQUFjLEdBQUcsbUJBQW1CLENBQUMifQ==
|
package/dest/test/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,uBAAe,mBAAoB,SAAQ,UAAU;IACpC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,uBAAe,mBAAoB,SAAQ,UAAU;IACpC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,mBAAmB,CAAC;IAE9C,SAAyB,qBAAqB,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACnG;AAED,MAAM,MAAM,cAAc,GAAG,mBAAmB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/prover-node",
|
|
3
|
-
"version": "0.0.1-commit.
|
|
3
|
+
"version": "0.0.1-commit.fce3e4f",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
"../package.common.json"
|
|
12
12
|
],
|
|
13
13
|
"scripts": {
|
|
14
|
-
"build": "yarn clean &&
|
|
15
|
-
"build:dev": "
|
|
14
|
+
"build": "yarn clean && tsgo -b",
|
|
15
|
+
"build:dev": "tsgo -b --watch",
|
|
16
16
|
"clean": "rm -rf ./dest .tsbuildinfo",
|
|
17
17
|
"bb": "node --no-warnings ./dest/bb/index.js",
|
|
18
18
|
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}",
|
|
@@ -56,36 +56,37 @@
|
|
|
56
56
|
]
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@aztec/archiver": "0.0.1-commit.
|
|
60
|
-
"@aztec/bb-prover": "0.0.1-commit.
|
|
61
|
-
"@aztec/blob-lib": "0.0.1-commit.
|
|
62
|
-
"@aztec/blob-sink": "0.0.1-commit.
|
|
63
|
-
"@aztec/constants": "0.0.1-commit.
|
|
64
|
-
"@aztec/epoch-cache": "0.0.1-commit.
|
|
65
|
-
"@aztec/ethereum": "0.0.1-commit.
|
|
66
|
-
"@aztec/foundation": "0.0.1-commit.
|
|
67
|
-
"@aztec/kv-store": "0.0.1-commit.
|
|
68
|
-
"@aztec/l1-artifacts": "0.0.1-commit.
|
|
69
|
-
"@aztec/node-keystore": "0.0.1-commit.
|
|
70
|
-
"@aztec/node-lib": "0.0.1-commit.
|
|
71
|
-
"@aztec/noir-protocol-circuits-types": "0.0.1-commit.
|
|
72
|
-
"@aztec/p2p": "0.0.1-commit.
|
|
73
|
-
"@aztec/protocol-contracts": "0.0.1-commit.
|
|
74
|
-
"@aztec/prover-client": "0.0.1-commit.
|
|
75
|
-
"@aztec/sequencer-client": "0.0.1-commit.
|
|
76
|
-
"@aztec/simulator": "0.0.1-commit.
|
|
77
|
-
"@aztec/stdlib": "0.0.1-commit.
|
|
78
|
-
"@aztec/telemetry-client": "0.0.1-commit.
|
|
79
|
-
"@aztec/world-state": "0.0.1-commit.
|
|
59
|
+
"@aztec/archiver": "0.0.1-commit.fce3e4f",
|
|
60
|
+
"@aztec/bb-prover": "0.0.1-commit.fce3e4f",
|
|
61
|
+
"@aztec/blob-lib": "0.0.1-commit.fce3e4f",
|
|
62
|
+
"@aztec/blob-sink": "0.0.1-commit.fce3e4f",
|
|
63
|
+
"@aztec/constants": "0.0.1-commit.fce3e4f",
|
|
64
|
+
"@aztec/epoch-cache": "0.0.1-commit.fce3e4f",
|
|
65
|
+
"@aztec/ethereum": "0.0.1-commit.fce3e4f",
|
|
66
|
+
"@aztec/foundation": "0.0.1-commit.fce3e4f",
|
|
67
|
+
"@aztec/kv-store": "0.0.1-commit.fce3e4f",
|
|
68
|
+
"@aztec/l1-artifacts": "0.0.1-commit.fce3e4f",
|
|
69
|
+
"@aztec/node-keystore": "0.0.1-commit.fce3e4f",
|
|
70
|
+
"@aztec/node-lib": "0.0.1-commit.fce3e4f",
|
|
71
|
+
"@aztec/noir-protocol-circuits-types": "0.0.1-commit.fce3e4f",
|
|
72
|
+
"@aztec/p2p": "0.0.1-commit.fce3e4f",
|
|
73
|
+
"@aztec/protocol-contracts": "0.0.1-commit.fce3e4f",
|
|
74
|
+
"@aztec/prover-client": "0.0.1-commit.fce3e4f",
|
|
75
|
+
"@aztec/sequencer-client": "0.0.1-commit.fce3e4f",
|
|
76
|
+
"@aztec/simulator": "0.0.1-commit.fce3e4f",
|
|
77
|
+
"@aztec/stdlib": "0.0.1-commit.fce3e4f",
|
|
78
|
+
"@aztec/telemetry-client": "0.0.1-commit.fce3e4f",
|
|
79
|
+
"@aztec/world-state": "0.0.1-commit.fce3e4f",
|
|
80
80
|
"source-map-support": "^0.5.21",
|
|
81
81
|
"tslib": "^2.4.0",
|
|
82
|
-
"viem": "npm:@
|
|
82
|
+
"viem": "npm:@aztec/viem@2.38.2"
|
|
83
83
|
},
|
|
84
84
|
"devDependencies": {
|
|
85
85
|
"@jest/globals": "^30.0.0",
|
|
86
86
|
"@types/jest": "^30.0.0",
|
|
87
87
|
"@types/node": "^22.15.17",
|
|
88
88
|
"@types/source-map-support": "^0.5.10",
|
|
89
|
+
"@typescript/native-preview": "7.0.0-dev.20251126.1",
|
|
89
90
|
"jest": "^30.0.0",
|
|
90
91
|
"jest-mock-extended": "^4.0.0",
|
|
91
92
|
"ts-node": "^10.9.1",
|
package/src/factory.ts
CHANGED
|
@@ -148,7 +148,9 @@ export async function createProverNode(
|
|
|
148
148
|
|
|
149
149
|
const proofVerifier = new QueuedIVCVerifier(
|
|
150
150
|
config,
|
|
151
|
-
config.realProofs
|
|
151
|
+
config.realProofs
|
|
152
|
+
? await BBCircuitVerifier.new(config)
|
|
153
|
+
: new TestCircuitVerifier(config.proverTestVerificationDelayMs),
|
|
152
154
|
);
|
|
153
155
|
|
|
154
156
|
const p2pClient = await createP2PClient(
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
2
3
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
3
4
|
import { CommitteeAttestation, L2Block } from '@aztec/stdlib/block';
|
|
@@ -5,7 +6,7 @@ import { BlockHeader, Tx } from '@aztec/stdlib/tx';
|
|
|
5
6
|
|
|
6
7
|
/** All data from an epoch used in proving. */
|
|
7
8
|
export type EpochProvingJobData = {
|
|
8
|
-
epochNumber:
|
|
9
|
+
epochNumber: EpochNumber;
|
|
9
10
|
blocks: L2Block[];
|
|
10
11
|
txs: Map<string, Tx>;
|
|
11
12
|
l1ToL2Messages: Record<number, Fr[]>;
|
|
@@ -40,7 +41,7 @@ export function serializeEpochProvingJobData(data: EpochProvingJobData): Buffer
|
|
|
40
41
|
const attestations = data.attestations.map(attestation => attestation.toBuffer());
|
|
41
42
|
|
|
42
43
|
return serializeToBuffer(
|
|
43
|
-
|
|
44
|
+
data.epochNumber,
|
|
44
45
|
data.previousBlockHeader,
|
|
45
46
|
blocks.length,
|
|
46
47
|
...blocks,
|
|
@@ -55,7 +56,7 @@ export function serializeEpochProvingJobData(data: EpochProvingJobData): Buffer
|
|
|
55
56
|
|
|
56
57
|
export function deserializeEpochProvingJobData(buf: Buffer): EpochProvingJobData {
|
|
57
58
|
const reader = BufferReader.asReader(buf);
|
|
58
|
-
const epochNumber =
|
|
59
|
+
const epochNumber = EpochNumber(reader.readNumber());
|
|
59
60
|
const previousBlockHeader = reader.readObject(BlockHeader);
|
|
60
61
|
const blocks = reader.readVector(L2Block);
|
|
61
62
|
const txArray = reader.readVector(Tx);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP } from '@aztec/constants';
|
|
2
2
|
import { asyncPool } from '@aztec/foundation/async-pool';
|
|
3
|
+
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
3
4
|
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
4
5
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
6
|
import { createLogger } from '@aztec/foundation/log';
|
|
@@ -9,6 +10,7 @@ import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vk-tree';
|
|
|
9
10
|
import { protocolContractsHash } from '@aztec/protocol-contracts';
|
|
10
11
|
import { buildFinalBlobChallenges } from '@aztec/prover-client/helpers';
|
|
11
12
|
import type { PublicProcessor, PublicProcessorFactory } from '@aztec/simulator/server';
|
|
13
|
+
import { PublicSimulatorConfig } from '@aztec/stdlib/avm';
|
|
12
14
|
import type { L2Block, L2BlockSource } from '@aztec/stdlib/block';
|
|
13
15
|
import {
|
|
14
16
|
type EpochProver,
|
|
@@ -73,7 +75,7 @@ export class EpochProvingJob implements Traceable {
|
|
|
73
75
|
return this.state;
|
|
74
76
|
}
|
|
75
77
|
|
|
76
|
-
public getEpochNumber():
|
|
78
|
+
public getEpochNumber(): EpochNumber {
|
|
77
79
|
return this.data.epochNumber;
|
|
78
80
|
}
|
|
79
81
|
|
|
@@ -105,7 +107,7 @@ export class EpochProvingJob implements Traceable {
|
|
|
105
107
|
* Proves the given epoch and submits the proof to L1.
|
|
106
108
|
*/
|
|
107
109
|
@trackSpan('EpochProvingJob.run', function () {
|
|
108
|
-
return { [Attributes.EPOCH_NUMBER]:
|
|
110
|
+
return { [Attributes.EPOCH_NUMBER]: this.data.epochNumber };
|
|
109
111
|
})
|
|
110
112
|
public async run() {
|
|
111
113
|
this.scheduleDeadlineStop();
|
|
@@ -114,7 +116,7 @@ export class EpochProvingJob implements Traceable {
|
|
|
114
116
|
}
|
|
115
117
|
|
|
116
118
|
const attestations = this.attestations.map(attestation => attestation.toViem());
|
|
117
|
-
const epochNumber =
|
|
119
|
+
const epochNumber = this.epochNumber;
|
|
118
120
|
const epochSizeBlocks = this.blocks.length;
|
|
119
121
|
const epochSizeTxs = this.blocks.reduce((total, current) => total + current.body.txEffects.length, 0);
|
|
120
122
|
const [fromBlock, toBlock] = [this.blocks[0].number, this.blocks.at(-1)!.number];
|
|
@@ -183,7 +185,6 @@ export class EpochProvingJob implements Traceable {
|
|
|
183
185
|
checkpointConstants,
|
|
184
186
|
l1ToL2Messages,
|
|
185
187
|
totalNumBlocks,
|
|
186
|
-
blobFieldsPerCheckpoint[checkpointIndex].length,
|
|
187
188
|
previousHeader,
|
|
188
189
|
);
|
|
189
190
|
|
|
@@ -192,11 +193,15 @@ export class EpochProvingJob implements Traceable {
|
|
|
192
193
|
|
|
193
194
|
// Process public fns
|
|
194
195
|
const db = await this.createFork(block.number - 1, l1ToL2Messages);
|
|
195
|
-
const
|
|
196
|
-
skipFeeEnforcement: true,
|
|
197
|
-
clientInitiatedSimulation: false,
|
|
196
|
+
const config = PublicSimulatorConfig.from({
|
|
198
197
|
proverId: this.prover.getProverId().toField(),
|
|
198
|
+
skipFeeEnforcement: false,
|
|
199
|
+
collectDebugLogs: false,
|
|
200
|
+
collectHints: true,
|
|
201
|
+
maxDebugLogMemoryReads: 0,
|
|
202
|
+
collectStatistics: false,
|
|
199
203
|
});
|
|
204
|
+
const publicProcessor = this.publicProcessorFactory.create(db, globalVariables, config);
|
|
200
205
|
const processed = await this.processTxs(publicProcessor, txs);
|
|
201
206
|
await this.prover.addTxs(processed);
|
|
202
207
|
await db.close();
|
|
@@ -282,7 +287,7 @@ export class EpochProvingJob implements Traceable {
|
|
|
282
287
|
);
|
|
283
288
|
this.log.verbose(`Creating fork at ${blockNumber} with ${l1ToL2Messages.length} L1 to L2 messages`, {
|
|
284
289
|
blockNumber,
|
|
285
|
-
l1ToL2Messages:
|
|
290
|
+
l1ToL2Messages: l1ToL2Messages.map(m => m.toString()),
|
|
286
291
|
});
|
|
287
292
|
await db.appendLeaves(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, l1ToL2MessagesPadded);
|
|
288
293
|
return db;
|
package/src/metrics.ts
CHANGED
|
@@ -97,7 +97,7 @@ export class ProverNodeRewardsMetrics {
|
|
|
97
97
|
// look at the prev epoch so that we get an accurate value, after proof submission window has closed
|
|
98
98
|
// For example, if proof submission window is 1 epoch, and we are in epoch 2, we should be looking at epoch 0.
|
|
99
99
|
// Similarly, if the proof submission window is 0, and we are in epoch 1, we should be looking at epoch 0.
|
|
100
|
-
const closedEpoch = epoch - BigInt(this.proofSubmissionEpochs) - 1n;
|
|
100
|
+
const closedEpoch = BigInt(epoch) - BigInt(this.proofSubmissionEpochs) - 1n;
|
|
101
101
|
const rewards = await this.rollup.getSpecificProverRewardsForEpoch(closedEpoch, this.coinbase);
|
|
102
102
|
|
|
103
103
|
const fmt = parseFloat(formatUnits(rewards, 18));
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { createLogger } from '@aztec/foundation/log';
|
|
2
3
|
import { RunningPromise } from '@aztec/foundation/running-promise';
|
|
3
4
|
import { sleep } from '@aztec/foundation/sleep';
|
|
@@ -12,7 +13,7 @@ import {
|
|
|
12
13
|
} from '@aztec/telemetry-client';
|
|
13
14
|
|
|
14
15
|
export interface EpochMonitorHandler {
|
|
15
|
-
handleEpochReadyToProve(epochNumber:
|
|
16
|
+
handleEpochReadyToProve(epochNumber: EpochNumber): Promise<boolean>;
|
|
16
17
|
}
|
|
17
18
|
|
|
18
19
|
/**
|
|
@@ -32,7 +33,7 @@ export class EpochMonitor implements Traceable {
|
|
|
32
33
|
public readonly tracer: Tracer;
|
|
33
34
|
|
|
34
35
|
private handler: EpochMonitorHandler | undefined;
|
|
35
|
-
private latestEpochNumber:
|
|
36
|
+
private latestEpochNumber: EpochNumber | undefined;
|
|
36
37
|
|
|
37
38
|
constructor(
|
|
38
39
|
private readonly l2BlockSource: L2BlockSource,
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { BatchedBlob, getEthBlobEvaluationInputs } from '@aztec/blob-lib';
|
|
2
2
|
import { AZTEC_MAX_EPOCH_DURATION } from '@aztec/constants';
|
|
3
3
|
import type { L1TxUtils, RollupContract, ViemCommitteeAttestation } from '@aztec/ethereum';
|
|
4
4
|
import { makeTuple } from '@aztec/foundation/array';
|
|
5
|
+
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
5
6
|
import { areArraysEqual } from '@aztec/foundation/collection';
|
|
6
7
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
7
8
|
import { Fr } from '@aztec/foundation/fields';
|
|
@@ -85,7 +86,7 @@ export class ProverNodePublisher {
|
|
|
85
86
|
}
|
|
86
87
|
|
|
87
88
|
public async submitEpochProof(args: {
|
|
88
|
-
epochNumber:
|
|
89
|
+
epochNumber: EpochNumber;
|
|
89
90
|
fromBlock: number;
|
|
90
91
|
toBlock: number;
|
|
91
92
|
publicInputs: RootRollupPublicInputs;
|
|
@@ -153,7 +154,7 @@ export class ProverNodePublisher {
|
|
|
153
154
|
const { fromBlock, toBlock, publicInputs, batchedBlobInputs } = args;
|
|
154
155
|
|
|
155
156
|
// Check that the block numbers match the expected epoch to be proven
|
|
156
|
-
const {
|
|
157
|
+
const { pending, proven } = await this.rollupContract.getTips();
|
|
157
158
|
// Don't publish if proven is beyond our toBlock, pointless to do so
|
|
158
159
|
if (proven > BigInt(toBlock)) {
|
|
159
160
|
throw new Error(`Cannot submit epoch proof for ${fromBlock}-${toBlock} as proven block is ${proven}`);
|
|
@@ -164,7 +165,7 @@ export class ProverNodePublisher {
|
|
|
164
165
|
}
|
|
165
166
|
|
|
166
167
|
// Check the archive for the immediate block before the epoch
|
|
167
|
-
const blockLog = await this.rollupContract.
|
|
168
|
+
const blockLog = await this.rollupContract.getCheckpoint(BigInt(fromBlock - 1));
|
|
168
169
|
if (publicInputs.previousArchiveRoot.toString() !== blockLog.archive) {
|
|
169
170
|
throw new Error(
|
|
170
171
|
`Previous archive root mismatch: ${publicInputs.previousArchiveRoot.toString()} !== ${blockLog.archive}`,
|
|
@@ -172,7 +173,7 @@ export class ProverNodePublisher {
|
|
|
172
173
|
}
|
|
173
174
|
|
|
174
175
|
// Check the archive for the last block in the epoch
|
|
175
|
-
const endBlockLog = await this.rollupContract.
|
|
176
|
+
const endBlockLog = await this.rollupContract.getCheckpoint(BigInt(toBlock));
|
|
176
177
|
if (publicInputs.endArchiveRoot.toString() !== endBlockLog.archive) {
|
|
177
178
|
throw new Error(
|
|
178
179
|
`End archive root mismatch: ${publicInputs.endArchiveRoot.toString()} !== ${endBlockLog.archive}`,
|
|
@@ -263,7 +264,7 @@ export class ProverNodePublisher {
|
|
|
263
264
|
? args.publicInputs.fees[i / 2].recipient.toField().toString()
|
|
264
265
|
: args.publicInputs.fees[(i - 1) / 2].value.toString(),
|
|
265
266
|
) /*_fees*/,
|
|
266
|
-
args.batchedBlobInputs
|
|
267
|
+
getEthBlobEvaluationInputs(args.batchedBlobInputs) /*_blobPublicInputs*/,
|
|
267
268
|
] as const;
|
|
268
269
|
}
|
|
269
270
|
|
package/src/prover-node.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Archiver } from '@aztec/archiver';
|
|
2
2
|
import type { RollupContract } from '@aztec/ethereum';
|
|
3
|
+
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
3
4
|
import { assertRequired, compact, pick, sum } from '@aztec/foundation/collection';
|
|
4
5
|
import { memoize } from '@aztec/foundation/decorators';
|
|
5
6
|
import type { Fr } from '@aztec/foundation/fields';
|
|
@@ -114,7 +115,7 @@ export class ProverNode implements EpochMonitorHandler, ProverNodeApi, Traceable
|
|
|
114
115
|
* @param epochNumber - The epoch number that was just completed.
|
|
115
116
|
* @returns false if there is an error, true otherwise
|
|
116
117
|
*/
|
|
117
|
-
async handleEpochReadyToProve(epochNumber:
|
|
118
|
+
async handleEpochReadyToProve(epochNumber: EpochNumber): Promise<boolean> {
|
|
118
119
|
try {
|
|
119
120
|
this.log.debug(`Running jobs as ${epochNumber} is ready to prove`, {
|
|
120
121
|
jobs: Array.from(this.jobs.values()).map(job => `${job.getEpochNumber()}:${job.getId()}`),
|
|
@@ -184,8 +185,8 @@ export class ProverNode implements EpochMonitorHandler, ProverNodeApi, Traceable
|
|
|
184
185
|
/**
|
|
185
186
|
* Starts a proving process and returns immediately.
|
|
186
187
|
*/
|
|
187
|
-
public async startProof(epochNumber:
|
|
188
|
-
const job = await this.createProvingJob(
|
|
188
|
+
public async startProof(epochNumber: EpochNumber) {
|
|
189
|
+
const job = await this.createProvingJob(epochNumber, { skipEpochCheck: true });
|
|
189
190
|
void this.runJob(job);
|
|
190
191
|
}
|
|
191
192
|
|
|
@@ -238,21 +239,20 @@ export class ProverNode implements EpochMonitorHandler, ProverNodeApi, Traceable
|
|
|
238
239
|
/**
|
|
239
240
|
* Returns an array of jobs being processed.
|
|
240
241
|
*/
|
|
241
|
-
public getJobs(): Promise<{ uuid: string; status: EpochProvingJobState; epochNumber:
|
|
242
|
+
public getJobs(): Promise<{ uuid: string; status: EpochProvingJobState; epochNumber: EpochNumber }[]> {
|
|
242
243
|
return Promise.resolve(
|
|
243
244
|
Array.from(this.jobs.entries()).map(([uuid, job]) => ({
|
|
244
245
|
uuid,
|
|
245
246
|
status: job.getState(),
|
|
246
|
-
epochNumber:
|
|
247
|
+
epochNumber: job.getEpochNumber(),
|
|
247
248
|
})),
|
|
248
249
|
);
|
|
249
250
|
}
|
|
250
251
|
|
|
251
252
|
protected async getActiveJobsForEpoch(
|
|
252
|
-
|
|
253
|
+
epochNumber: EpochNumber,
|
|
253
254
|
): Promise<{ uuid: string; status: EpochProvingJobState }[]> {
|
|
254
255
|
const jobs = await this.getJobs();
|
|
255
|
-
const epochNumber = Number(epochBigInt);
|
|
256
256
|
return jobs.filter(job => job.epochNumber === epochNumber && !EpochProvingJobTerminalState.includes(job.status));
|
|
257
257
|
}
|
|
258
258
|
|
|
@@ -263,8 +263,8 @@ export class ProverNode implements EpochMonitorHandler, ProverNodeApi, Traceable
|
|
|
263
263
|
}
|
|
264
264
|
}
|
|
265
265
|
|
|
266
|
-
@trackSpan('ProverNode.createProvingJob', epochNumber => ({ [Attributes.EPOCH_NUMBER]:
|
|
267
|
-
private async createProvingJob(epochNumber:
|
|
266
|
+
@trackSpan('ProverNode.createProvingJob', epochNumber => ({ [Attributes.EPOCH_NUMBER]: epochNumber }))
|
|
267
|
+
private async createProvingJob(epochNumber: EpochNumber, opts: { skipEpochCheck?: boolean } = {}) {
|
|
268
268
|
this.checkMaximumPendingJobs();
|
|
269
269
|
|
|
270
270
|
this.publisher = await this.publisherFactory.create();
|
|
@@ -300,8 +300,8 @@ export class ProverNode implements EpochMonitorHandler, ProverNodeApi, Traceable
|
|
|
300
300
|
return this.l2BlockSource.getL1Constants();
|
|
301
301
|
}
|
|
302
302
|
|
|
303
|
-
@trackSpan('ProverNode.gatherEpochData', epochNumber => ({ [Attributes.EPOCH_NUMBER]:
|
|
304
|
-
private async gatherEpochData(epochNumber:
|
|
303
|
+
@trackSpan('ProverNode.gatherEpochData', epochNumber => ({ [Attributes.EPOCH_NUMBER]: epochNumber }))
|
|
304
|
+
private async gatherEpochData(epochNumber: EpochNumber): Promise<EpochProvingJobData> {
|
|
305
305
|
const blocks = await this.gatherBlocks(epochNumber);
|
|
306
306
|
const txArray = await this.gatherTxs(epochNumber, blocks);
|
|
307
307
|
const txs = new Map<string, Tx>(txArray.map(tx => [tx.getTxHash().toString(), tx]));
|
|
@@ -313,7 +313,7 @@ export class ProverNode implements EpochMonitorHandler, ProverNodeApi, Traceable
|
|
|
313
313
|
return { blocks, txs, l1ToL2Messages, epochNumber, previousBlockHeader, attestations };
|
|
314
314
|
}
|
|
315
315
|
|
|
316
|
-
private async gatherBlocks(epochNumber:
|
|
316
|
+
private async gatherBlocks(epochNumber: EpochNumber) {
|
|
317
317
|
const blocks = await this.l2BlockSource.getBlocksForEpoch(epochNumber);
|
|
318
318
|
if (blocks.length === 0) {
|
|
319
319
|
throw new EmptyEpochError(epochNumber);
|
|
@@ -321,7 +321,7 @@ export class ProverNode implements EpochMonitorHandler, ProverNodeApi, Traceable
|
|
|
321
321
|
return blocks;
|
|
322
322
|
}
|
|
323
323
|
|
|
324
|
-
private async gatherTxs(epochNumber:
|
|
324
|
+
private async gatherTxs(epochNumber: EpochNumber, blocks: L2Block[]) {
|
|
325
325
|
const deadline = new Date(this.dateProvider.now() + this.config.txGatheringTimeoutMs);
|
|
326
326
|
const txProvider = this.p2pClient.getTxProvider();
|
|
327
327
|
const txsByBlock = await Promise.all(blocks.map(block => txProvider.getTxsForBlock(block, { deadline })));
|
|
@@ -336,7 +336,7 @@ export class ProverNode implements EpochMonitorHandler, ProverNodeApi, Traceable
|
|
|
336
336
|
throw new Error(`Txs not found for epoch ${epochNumber}: ${missingTxs.map(hash => hash.toString()).join(', ')}`);
|
|
337
337
|
}
|
|
338
338
|
|
|
339
|
-
private async gatherMessages(epochNumber:
|
|
339
|
+
private async gatherMessages(epochNumber: EpochNumber, blocks: L2Block[]) {
|
|
340
340
|
const messages = await Promise.all(blocks.map(b => this.l1ToL2MessageSource.getL1ToL2Messages(b.number)));
|
|
341
341
|
const messageCount = sum(messages.map(m => m.length));
|
|
342
342
|
this.log.verbose(`Gathered all ${messageCount} messages for epoch ${epochNumber}`, { epochNumber });
|
|
@@ -347,7 +347,7 @@ export class ProverNode implements EpochMonitorHandler, ProverNodeApi, Traceable
|
|
|
347
347
|
return messagesByBlock;
|
|
348
348
|
}
|
|
349
349
|
|
|
350
|
-
private async gatherPreviousBlockHeader(epochNumber:
|
|
350
|
+
private async gatherPreviousBlockHeader(epochNumber: EpochNumber, initialBlock: L2Block) {
|
|
351
351
|
const previousBlockNumber = initialBlock.number - 1;
|
|
352
352
|
const header = await (previousBlockNumber === 0
|
|
353
353
|
? this.worldState.getCommitted().getInitialHeader()
|
|
@@ -405,7 +405,7 @@ export class ProverNode implements EpochMonitorHandler, ProverNodeApi, Traceable
|
|
|
405
405
|
}
|
|
406
406
|
|
|
407
407
|
class EmptyEpochError extends Error {
|
|
408
|
-
constructor(epochNumber:
|
|
408
|
+
constructor(epochNumber: EpochNumber) {
|
|
409
409
|
super(`No blocks found for epoch ${epochNumber}`);
|
|
410
410
|
this.name = 'EmptyEpochError';
|
|
411
411
|
}
|