@aztec/prover-node 2.0.0-nightly.20250821 → 2.0.0-nightly.20250823
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.
|
@@ -6,7 +6,7 @@ import type { ProverNodeJobMetrics } from '../metrics.js';
|
|
|
6
6
|
import type { ProverNodePublisher } from '../prover-node-publisher.js';
|
|
7
7
|
import { type EpochProvingJobData } from './epoch-proving-job-data.js';
|
|
8
8
|
/**
|
|
9
|
-
* Job that grabs a range of blocks from the
|
|
9
|
+
* Job that grabs a range of blocks from the unfinalized chain from L1, gets their txs given their hashes,
|
|
10
10
|
* re-executes their public calls, generates a rollup proof, and submits it to L1. This job will update the
|
|
11
11
|
* world state as part of public call execution via the public processor.
|
|
12
12
|
*/
|
|
@@ -14,7 +14,7 @@ import { Attributes, trackSpan } from '@aztec/telemetry-client';
|
|
|
14
14
|
import * as crypto from 'node:crypto';
|
|
15
15
|
import { validateEpochProvingJobData } from './epoch-proving-job-data.js';
|
|
16
16
|
/**
|
|
17
|
-
* Job that grabs a range of blocks from the
|
|
17
|
+
* Job that grabs a range of blocks from the unfinalized chain from L1, gets their txs given their hashes,
|
|
18
18
|
* re-executes their public calls, generates a rollup proof, and submits it to L1. This job will update the
|
|
19
19
|
* world state as part of public call execution via the public processor.
|
|
20
20
|
*/ export class EpochProvingJob {
|
|
@@ -143,8 +143,8 @@ import { validateEpochProvingJobData } from './epoch-proving-job-data.js';
|
|
|
143
143
|
});
|
|
144
144
|
const executionTime = timer.ms();
|
|
145
145
|
this.progressState('awaiting-prover');
|
|
146
|
-
const { publicInputs, proof, batchedBlobInputs } = await this.prover.
|
|
147
|
-
this.log.info(`
|
|
146
|
+
const { publicInputs, proof, batchedBlobInputs } = await this.prover.finalizeEpoch();
|
|
147
|
+
this.log.info(`Finalized proof for epoch ${epochNumber}`, {
|
|
148
148
|
epochNumber,
|
|
149
149
|
uuid: this.uuid,
|
|
150
150
|
duration: timer.ms()
|
package/dest/prover-node.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ import type { ProverNodePublisher } from './prover-node-publisher.js';
|
|
|
17
17
|
type ProverNodeOptions = SpecificProverNodeConfig & Partial<DataStoreOptions>;
|
|
18
18
|
type DataStoreOptions = Pick<DataStoreConfig, 'dataDirectory'> & Pick<ChainConfig, 'l1ChainId' | 'rollupVersion'>;
|
|
19
19
|
/**
|
|
20
|
-
* An Aztec Prover Node is a standalone process that monitors the
|
|
20
|
+
* An Aztec Prover Node is a standalone process that monitors the unfinalized chain on L1 for unproven epochs,
|
|
21
21
|
* fetches their txs from the p2p network or external nodes, re-executes their public functions, creates a rollup
|
|
22
22
|
* proof for the epoch, and submits it to L1.
|
|
23
23
|
*/
|
|
@@ -49,7 +49,7 @@ export declare class ProverNode implements EpochMonitorHandler, ProverNodeApi, T
|
|
|
49
49
|
*/
|
|
50
50
|
handleEpochReadyToProve(epochNumber: bigint): Promise<boolean>;
|
|
51
51
|
/**
|
|
52
|
-
* Starts the prover node so it periodically checks for unproven epochs in the
|
|
52
|
+
* Starts the prover node so it periodically checks for unproven epochs in the unfinalized chain from L1 and
|
|
53
53
|
* starts proving jobs for them.
|
|
54
54
|
*/
|
|
55
55
|
start(): Promise<void>;
|
package/dest/prover-node.js
CHANGED
|
@@ -17,7 +17,7 @@ import { uploadEpochProofFailure } from './actions/upload-epoch-proof-failure.js
|
|
|
17
17
|
import { EpochProvingJob } from './job/epoch-proving-job.js';
|
|
18
18
|
import { ProverNodeJobMetrics, ProverNodeRewardsMetrics } from './metrics.js';
|
|
19
19
|
/**
|
|
20
|
-
* An Aztec Prover Node is a standalone process that monitors the
|
|
20
|
+
* An Aztec Prover Node is a standalone process that monitors the unfinalized chain on L1 for unproven epochs,
|
|
21
21
|
* fetches their txs from the p2p network or external nodes, re-executes their public functions, creates a rollup
|
|
22
22
|
* proof for the epoch, and submits it to L1.
|
|
23
23
|
*/ export class ProverNode {
|
|
@@ -105,7 +105,7 @@ import { ProverNodeJobMetrics, ProverNodeRewardsMetrics } from './metrics.js';
|
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
107
|
/**
|
|
108
|
-
* Starts the prover node so it periodically checks for unproven epochs in the
|
|
108
|
+
* Starts the prover node so it periodically checks for unproven epochs in the unfinalized chain from L1 and
|
|
109
109
|
* starts proving jobs for them.
|
|
110
110
|
*/ async start() {
|
|
111
111
|
this.epochsMonitor.start(this);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/prover-node",
|
|
3
|
-
"version": "2.0.0-nightly.
|
|
3
|
+
"version": "2.0.0-nightly.20250823",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -56,26 +56,26 @@
|
|
|
56
56
|
]
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@aztec/archiver": "2.0.0-nightly.
|
|
60
|
-
"@aztec/bb-prover": "2.0.0-nightly.
|
|
61
|
-
"@aztec/blob-lib": "2.0.0-nightly.
|
|
62
|
-
"@aztec/blob-sink": "2.0.0-nightly.
|
|
63
|
-
"@aztec/constants": "2.0.0-nightly.
|
|
64
|
-
"@aztec/epoch-cache": "2.0.0-nightly.
|
|
65
|
-
"@aztec/ethereum": "2.0.0-nightly.
|
|
66
|
-
"@aztec/foundation": "2.0.0-nightly.
|
|
67
|
-
"@aztec/kv-store": "2.0.0-nightly.
|
|
68
|
-
"@aztec/l1-artifacts": "2.0.0-nightly.
|
|
69
|
-
"@aztec/node-lib": "2.0.0-nightly.
|
|
70
|
-
"@aztec/noir-protocol-circuits-types": "2.0.0-nightly.
|
|
71
|
-
"@aztec/p2p": "2.0.0-nightly.
|
|
72
|
-
"@aztec/protocol-contracts": "2.0.0-nightly.
|
|
73
|
-
"@aztec/prover-client": "2.0.0-nightly.
|
|
74
|
-
"@aztec/sequencer-client": "2.0.0-nightly.
|
|
75
|
-
"@aztec/simulator": "2.0.0-nightly.
|
|
76
|
-
"@aztec/stdlib": "2.0.0-nightly.
|
|
77
|
-
"@aztec/telemetry-client": "2.0.0-nightly.
|
|
78
|
-
"@aztec/world-state": "2.0.0-nightly.
|
|
59
|
+
"@aztec/archiver": "2.0.0-nightly.20250823",
|
|
60
|
+
"@aztec/bb-prover": "2.0.0-nightly.20250823",
|
|
61
|
+
"@aztec/blob-lib": "2.0.0-nightly.20250823",
|
|
62
|
+
"@aztec/blob-sink": "2.0.0-nightly.20250823",
|
|
63
|
+
"@aztec/constants": "2.0.0-nightly.20250823",
|
|
64
|
+
"@aztec/epoch-cache": "2.0.0-nightly.20250823",
|
|
65
|
+
"@aztec/ethereum": "2.0.0-nightly.20250823",
|
|
66
|
+
"@aztec/foundation": "2.0.0-nightly.20250823",
|
|
67
|
+
"@aztec/kv-store": "2.0.0-nightly.20250823",
|
|
68
|
+
"@aztec/l1-artifacts": "2.0.0-nightly.20250823",
|
|
69
|
+
"@aztec/node-lib": "2.0.0-nightly.20250823",
|
|
70
|
+
"@aztec/noir-protocol-circuits-types": "2.0.0-nightly.20250823",
|
|
71
|
+
"@aztec/p2p": "2.0.0-nightly.20250823",
|
|
72
|
+
"@aztec/protocol-contracts": "2.0.0-nightly.20250823",
|
|
73
|
+
"@aztec/prover-client": "2.0.0-nightly.20250823",
|
|
74
|
+
"@aztec/sequencer-client": "2.0.0-nightly.20250823",
|
|
75
|
+
"@aztec/simulator": "2.0.0-nightly.20250823",
|
|
76
|
+
"@aztec/stdlib": "2.0.0-nightly.20250823",
|
|
77
|
+
"@aztec/telemetry-client": "2.0.0-nightly.20250823",
|
|
78
|
+
"@aztec/world-state": "2.0.0-nightly.20250823",
|
|
79
79
|
"source-map-support": "^0.5.21",
|
|
80
80
|
"tslib": "^2.4.0",
|
|
81
81
|
"viem": "2.23.7"
|
|
@@ -21,7 +21,7 @@ import type { ProverNodePublisher } from '../prover-node-publisher.js';
|
|
|
21
21
|
import { type EpochProvingJobData, validateEpochProvingJobData } from './epoch-proving-job-data.js';
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
|
-
* Job that grabs a range of blocks from the
|
|
24
|
+
* Job that grabs a range of blocks from the unfinalized chain from L1, gets their txs given their hashes,
|
|
25
25
|
* re-executes their public calls, generates a rollup proof, and submits it to L1. This job will update the
|
|
26
26
|
* world state as part of public call execution via the public processor.
|
|
27
27
|
*/
|
|
@@ -169,8 +169,8 @@ export class EpochProvingJob implements Traceable {
|
|
|
169
169
|
const executionTime = timer.ms();
|
|
170
170
|
|
|
171
171
|
this.progressState('awaiting-prover');
|
|
172
|
-
const { publicInputs, proof, batchedBlobInputs } = await this.prover.
|
|
173
|
-
this.log.info(`
|
|
172
|
+
const { publicInputs, proof, batchedBlobInputs } = await this.prover.finalizeEpoch();
|
|
173
|
+
this.log.info(`Finalized proof for epoch ${epochNumber}`, { epochNumber, uuid: this.uuid, duration: timer.ms() });
|
|
174
174
|
|
|
175
175
|
this.progressState('publishing-proof');
|
|
176
176
|
|
package/src/prover-node.ts
CHANGED
|
@@ -47,7 +47,7 @@ type ProverNodeOptions = SpecificProverNodeConfig & Partial<DataStoreOptions>;
|
|
|
47
47
|
type DataStoreOptions = Pick<DataStoreConfig, 'dataDirectory'> & Pick<ChainConfig, 'l1ChainId' | 'rollupVersion'>;
|
|
48
48
|
|
|
49
49
|
/**
|
|
50
|
-
* An Aztec Prover Node is a standalone process that monitors the
|
|
50
|
+
* An Aztec Prover Node is a standalone process that monitors the unfinalized chain on L1 for unproven epochs,
|
|
51
51
|
* fetches their txs from the p2p network or external nodes, re-executes their public functions, creates a rollup
|
|
52
52
|
* proof for the epoch, and submits it to L1.
|
|
53
53
|
*/
|
|
@@ -145,7 +145,7 @@ export class ProverNode implements EpochMonitorHandler, ProverNodeApi, Traceable
|
|
|
145
145
|
}
|
|
146
146
|
|
|
147
147
|
/**
|
|
148
|
-
* Starts the prover node so it periodically checks for unproven epochs in the
|
|
148
|
+
* Starts the prover node so it periodically checks for unproven epochs in the unfinalized chain from L1 and
|
|
149
149
|
* starts proving jobs for them.
|
|
150
150
|
*/
|
|
151
151
|
async start() {
|