@aztec/prover-node 3.0.0-nightly.20251128 → 3.0.0-nightly.20251202
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.
|
@@ -56,4 +56,4 @@ export declare class ProverNodePublisher {
|
|
|
56
56
|
private getEpochProofPublicInputsArgs;
|
|
57
57
|
private getSubmitEpochProofArgs;
|
|
58
58
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmVyLW5vZGUtcHVibGlzaGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcHJvdmVyLW5vZGUtcHVibGlzaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQThCLE1BQU0saUJBQWlCLENBQUM7QUFDMUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTNGLE9BQU8sRUFBb0IsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFaEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU5QyxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUd6RCxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFL0UsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakYsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFzQixNQUFNLHlCQUF5QixDQUFDO0FBT25GLHNFQUFzRTtBQUN0RSxNQUFNLE1BQU0sc0JBQXNCLEdBQUc7SUFDbkMsU0FBUyxFQUFFLE1BQU0sQ0FBQztJQUNsQixlQUFlLEVBQUUsRUFBRSxDQUFDO0lBQ3BCLFVBQVUsRUFBRSxFQUFFLENBQUM7SUFDZixZQUFZLEVBQUUsRUFBRSxDQUFDO0lBQ2pCLE9BQU8sRUFBRSxFQUFFLENBQUM7SUFDWixRQUFRLEVBQUUsRUFBRSxDQUFDO0lBQ2IsSUFBSSxFQUFFLEtBQUssQ0FBQyxZQUFZLEVBQUUsT0FBTyx3QkFBd0IsQ0FBQyxDQUFDO0lBQzNELEtBQUssRUFBRSxLQUFLLENBQUM7Q0FDZCxDQUFDO0FBRUYscUJBQWEsbUJBQW1CO0lBQzlCLE9BQU8sQ0FBQyxXQUFXLENBQVM7SUFDNUIsT0FBTyxDQUFDLE9BQU8sQ0FBNkI7SUFFNUMsU0FBUyxDQUFDLEdBQUcseUNBQStDO0lBRTVELFNBQVMsQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDO0lBRXpDLFNBQWdCLFNBQVMsRUFBRSxTQUFTLENBQUM7SUFFckMsWUFDRSxNQUFNLEVBQUUsY0FBYyxHQUFHLGVBQWUsRUFDeEMsSUFBSSxFQUFFO1FBQ0osY0FBYyxFQUFFLGNBQWMsQ0FBQztRQUMvQixTQUFTLEVBQUUsU0FBUyxDQUFDO1FBQ3JCLFNBQVMsQ0FBQyxFQUFFLGVBQWUsQ0FBQztLQUM3QixFQVFGO0lBRU0saUJBQWlCLG1CQUV2QjtJQUVEOzs7OztPQUtHO0lBQ0ksU0FBUyxTQUdmO0lBRUQsd0RBQXdEO0lBQ2pELE9BQU8sU0FHYjtJQUVNLGdCQUFnQixlQUV0QjtJQUVZLGdCQUFnQixDQUFDLElBQUksRUFBRTtRQUNsQyxXQUFXLEVBQUUsV0FBVyxDQUFDO1FBQ3pCLFNBQVMsRUFBRSxNQUFNLENBQUM7UUFDbEIsT0FBTyxFQUFFLE1BQU0sQ0FBQztRQUNoQixZQUFZLEVBQUUsc0JBQXNCLENBQUM7UUFDckMsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUNiLGlCQUFpQixFQUFFLFdBQVcsQ0FBQztRQUMvQixZQUFZLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQztLQUMxQyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FnRG5CO1lBRWEsNEJBQTRCO1lBNEQ1QixzQkFBc0I7SUF5Q3BDLE9BQU8sQ0FBQyw2QkFBNkI7SUF5QnJDLE9BQU8sQ0FBQyx1QkFBdUI7Q0F1QmhDIn0=
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,EAAoB,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEhF,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;YA4D5B,sBAAsB;IAyCpC,OAAO,CAAC,6BAA6B;IAyBrC,OAAO,CAAC,uBAAuB;CAuBhC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { getEthBlobEvaluationInputs } from '@aztec/blob-lib';
|
|
2
2
|
import { AZTEC_MAX_EPOCH_DURATION } from '@aztec/constants';
|
|
3
3
|
import { makeTuple } from '@aztec/foundation/array';
|
|
4
|
+
import { CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
4
5
|
import { areArraysEqual } from '@aztec/foundation/collection';
|
|
5
6
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
6
7
|
import { Fr } from '@aztec/foundation/fields';
|
|
@@ -93,6 +94,7 @@ export class ProverNodePublisher {
|
|
|
93
94
|
async validateEpochProofSubmission(args) {
|
|
94
95
|
const { fromBlock, toBlock, publicInputs, batchedBlobInputs } = args;
|
|
95
96
|
// Check that the block numbers match the expected epoch to be proven
|
|
97
|
+
// TODO: These are checkpoint numbers, not block numbers. Fix when we decouple them properly.
|
|
96
98
|
const { pending, proven } = await this.rollupContract.getTips();
|
|
97
99
|
// Don't publish if proven is beyond our toBlock, pointless to do so
|
|
98
100
|
if (proven > BigInt(toBlock)) {
|
|
@@ -103,12 +105,12 @@ export class ProverNodePublisher {
|
|
|
103
105
|
throw new Error(`Cannot submit epoch proof for ${fromBlock}-${toBlock} as pending block is ${pending}`);
|
|
104
106
|
}
|
|
105
107
|
// Check the archive for the immediate block before the epoch
|
|
106
|
-
const blockLog = await this.rollupContract.getCheckpoint(
|
|
108
|
+
const blockLog = await this.rollupContract.getCheckpoint(CheckpointNumber.fromBlockNumber(fromBlock - 1));
|
|
107
109
|
if (publicInputs.previousArchiveRoot.toString() !== blockLog.archive) {
|
|
108
110
|
throw new Error(`Previous archive root mismatch: ${publicInputs.previousArchiveRoot.toString()} !== ${blockLog.archive}`);
|
|
109
111
|
}
|
|
110
112
|
// Check the archive for the last block in the epoch
|
|
111
|
-
const endBlockLog = await this.rollupContract.getCheckpoint(
|
|
113
|
+
const endBlockLog = await this.rollupContract.getCheckpoint(CheckpointNumber.fromBlockNumber(toBlock));
|
|
112
114
|
if (publicInputs.endArchiveRoot.toString() !== endBlockLog.archive) {
|
|
113
115
|
throw new Error(`End archive root mismatch: ${publicInputs.endArchiveRoot.toString()} !== ${endBlockLog.archive}`);
|
|
114
116
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/prover-node",
|
|
3
|
-
"version": "3.0.0-nightly.
|
|
3
|
+
"version": "3.0.0-nightly.20251202",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -56,27 +56,27 @@
|
|
|
56
56
|
]
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@aztec/archiver": "3.0.0-nightly.
|
|
60
|
-
"@aztec/bb-prover": "3.0.0-nightly.
|
|
61
|
-
"@aztec/blob-lib": "3.0.0-nightly.
|
|
62
|
-
"@aztec/blob-sink": "3.0.0-nightly.
|
|
63
|
-
"@aztec/constants": "3.0.0-nightly.
|
|
64
|
-
"@aztec/epoch-cache": "3.0.0-nightly.
|
|
65
|
-
"@aztec/ethereum": "3.0.0-nightly.
|
|
66
|
-
"@aztec/foundation": "3.0.0-nightly.
|
|
67
|
-
"@aztec/kv-store": "3.0.0-nightly.
|
|
68
|
-
"@aztec/l1-artifacts": "3.0.0-nightly.
|
|
69
|
-
"@aztec/node-keystore": "3.0.0-nightly.
|
|
70
|
-
"@aztec/node-lib": "3.0.0-nightly.
|
|
71
|
-
"@aztec/noir-protocol-circuits-types": "3.0.0-nightly.
|
|
72
|
-
"@aztec/p2p": "3.0.0-nightly.
|
|
73
|
-
"@aztec/protocol-contracts": "3.0.0-nightly.
|
|
74
|
-
"@aztec/prover-client": "3.0.0-nightly.
|
|
75
|
-
"@aztec/sequencer-client": "3.0.0-nightly.
|
|
76
|
-
"@aztec/simulator": "3.0.0-nightly.
|
|
77
|
-
"@aztec/stdlib": "3.0.0-nightly.
|
|
78
|
-
"@aztec/telemetry-client": "3.0.0-nightly.
|
|
79
|
-
"@aztec/world-state": "3.0.0-nightly.
|
|
59
|
+
"@aztec/archiver": "3.0.0-nightly.20251202",
|
|
60
|
+
"@aztec/bb-prover": "3.0.0-nightly.20251202",
|
|
61
|
+
"@aztec/blob-lib": "3.0.0-nightly.20251202",
|
|
62
|
+
"@aztec/blob-sink": "3.0.0-nightly.20251202",
|
|
63
|
+
"@aztec/constants": "3.0.0-nightly.20251202",
|
|
64
|
+
"@aztec/epoch-cache": "3.0.0-nightly.20251202",
|
|
65
|
+
"@aztec/ethereum": "3.0.0-nightly.20251202",
|
|
66
|
+
"@aztec/foundation": "3.0.0-nightly.20251202",
|
|
67
|
+
"@aztec/kv-store": "3.0.0-nightly.20251202",
|
|
68
|
+
"@aztec/l1-artifacts": "3.0.0-nightly.20251202",
|
|
69
|
+
"@aztec/node-keystore": "3.0.0-nightly.20251202",
|
|
70
|
+
"@aztec/node-lib": "3.0.0-nightly.20251202",
|
|
71
|
+
"@aztec/noir-protocol-circuits-types": "3.0.0-nightly.20251202",
|
|
72
|
+
"@aztec/p2p": "3.0.0-nightly.20251202",
|
|
73
|
+
"@aztec/protocol-contracts": "3.0.0-nightly.20251202",
|
|
74
|
+
"@aztec/prover-client": "3.0.0-nightly.20251202",
|
|
75
|
+
"@aztec/sequencer-client": "3.0.0-nightly.20251202",
|
|
76
|
+
"@aztec/simulator": "3.0.0-nightly.20251202",
|
|
77
|
+
"@aztec/stdlib": "3.0.0-nightly.20251202",
|
|
78
|
+
"@aztec/telemetry-client": "3.0.0-nightly.20251202",
|
|
79
|
+
"@aztec/world-state": "3.0.0-nightly.20251202",
|
|
80
80
|
"source-map-support": "^0.5.21",
|
|
81
81
|
"tslib": "^2.4.0",
|
|
82
82
|
"viem": "npm:@aztec/viem@2.38.2"
|
|
@@ -2,7 +2,7 @@ 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
|
+
import { CheckpointNumber, EpochNumber } from '@aztec/foundation/branded-types';
|
|
6
6
|
import { areArraysEqual } from '@aztec/foundation/collection';
|
|
7
7
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
8
8
|
import { Fr } from '@aztec/foundation/fields';
|
|
@@ -154,6 +154,7 @@ export class ProverNodePublisher {
|
|
|
154
154
|
const { fromBlock, toBlock, publicInputs, batchedBlobInputs } = args;
|
|
155
155
|
|
|
156
156
|
// Check that the block numbers match the expected epoch to be proven
|
|
157
|
+
// TODO: These are checkpoint numbers, not block numbers. Fix when we decouple them properly.
|
|
157
158
|
const { pending, proven } = await this.rollupContract.getTips();
|
|
158
159
|
// Don't publish if proven is beyond our toBlock, pointless to do so
|
|
159
160
|
if (proven > BigInt(toBlock)) {
|
|
@@ -165,7 +166,7 @@ export class ProverNodePublisher {
|
|
|
165
166
|
}
|
|
166
167
|
|
|
167
168
|
// Check the archive for the immediate block before the epoch
|
|
168
|
-
const blockLog = await this.rollupContract.getCheckpoint(
|
|
169
|
+
const blockLog = await this.rollupContract.getCheckpoint(CheckpointNumber.fromBlockNumber(fromBlock - 1));
|
|
169
170
|
if (publicInputs.previousArchiveRoot.toString() !== blockLog.archive) {
|
|
170
171
|
throw new Error(
|
|
171
172
|
`Previous archive root mismatch: ${publicInputs.previousArchiveRoot.toString()} !== ${blockLog.archive}`,
|
|
@@ -173,7 +174,7 @@ export class ProverNodePublisher {
|
|
|
173
174
|
}
|
|
174
175
|
|
|
175
176
|
// Check the archive for the last block in the epoch
|
|
176
|
-
const endBlockLog = await this.rollupContract.getCheckpoint(
|
|
177
|
+
const endBlockLog = await this.rollupContract.getCheckpoint(CheckpointNumber.fromBlockNumber(toBlock));
|
|
177
178
|
if (publicInputs.endArchiveRoot.toString() !== endBlockLog.archive) {
|
|
178
179
|
throw new Error(
|
|
179
180
|
`End archive root mismatch: ${publicInputs.endArchiveRoot.toString()} !== ${endBlockLog.archive}`,
|