@aztec/prover-node 0.0.1-commit.f2ce05ee → 0.0.1-commit.f8ca9b2f3
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/factory.d.ts +4 -1
- package/dest/factory.d.ts.map +1 -1
- package/dest/factory.js +7 -3
- package/dest/job/epoch-proving-job.d.ts +1 -1
- package/dest/job/epoch-proving-job.d.ts.map +1 -1
- package/dest/job/epoch-proving-job.js +19 -10
- package/package.json +22 -22
- package/src/factory.ts +7 -4
- package/src/job/epoch-proving-job.ts +28 -16
package/dest/factory.d.ts
CHANGED
|
@@ -4,7 +4,9 @@ import { type Logger } from '@aztec/foundation/log';
|
|
|
4
4
|
import { DateProvider } from '@aztec/foundation/timer';
|
|
5
5
|
import type { DataStoreConfig } from '@aztec/kv-store/config';
|
|
6
6
|
import { type KeyStoreConfig } from '@aztec/node-keystore';
|
|
7
|
+
import { type P2PClientDeps } from '@aztec/p2p';
|
|
7
8
|
import type { AztecNode, ProvingJobBroker } from '@aztec/stdlib/interfaces/server';
|
|
9
|
+
import { P2PClientType } from '@aztec/stdlib/p2p';
|
|
8
10
|
import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
|
|
9
11
|
import { type TelemetryClient } from '@aztec/telemetry-client';
|
|
10
12
|
import { type ProverNodeConfig } from './config.js';
|
|
@@ -19,9 +21,10 @@ export type ProverNodeDeps = {
|
|
|
19
21
|
broker?: ProvingJobBroker;
|
|
20
22
|
l1TxUtils?: L1TxUtils;
|
|
21
23
|
dateProvider?: DateProvider;
|
|
24
|
+
p2pClientDeps?: P2PClientDeps<P2PClientType.Prover>;
|
|
22
25
|
};
|
|
23
26
|
/** Creates a new prover node given a config. */
|
|
24
27
|
export declare function createProverNode(userConfig: ProverNodeConfig & DataStoreConfig & KeyStoreConfig, deps?: ProverNodeDeps, options?: {
|
|
25
28
|
prefilledPublicData?: PublicDataTreeLeaf[];
|
|
26
29
|
}): Promise<ProverNode>;
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssUUFBUSxFQUFrQixNQUFNLGlCQUFpQixDQUFDO0FBTWhFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUd4RCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSxLQUFLLGNBQWMsRUFBa0QsTUFBTSxzQkFBc0IsQ0FBQztBQU0zRyxPQUFPLEVBQW1CLEtBQUssYUFBYSxFQUFtQixNQUFNLFlBQVksQ0FBQztBQUdsRixPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU5RCxPQUFPLEVBQWEsS0FBSyxlQUFlLEVBQXNCLE1BQU0seUJBQXlCLENBQUM7QUFLOUYsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQTJCLE1BQU0sYUFBYSxDQUFDO0FBRTdFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV2RSxNQUFNLE1BQU0sY0FBYyxHQUFHO0lBQzNCLFNBQVMsQ0FBQyxFQUFFLGVBQWUsQ0FBQztJQUM1QixHQUFHLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDYixtQkFBbUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDdEQsUUFBUSxDQUFDLEVBQUUsUUFBUSxDQUFDO0lBQ3BCLGdCQUFnQixDQUFDLEVBQUUsc0JBQXNCLENBQUM7SUFDMUMsTUFBTSxDQUFDLEVBQUUsZ0JBQWdCLENBQUM7SUFDMUIsU0FBUyxDQUFDLEVBQUUsU0FBUyxDQUFDO0lBQ3RCLFlBQVksQ0FBQyxFQUFFLFlBQVksQ0FBQztJQUM1QixhQUFhLENBQUMsRUFBRSxhQUFhLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0NBQ3JELENBQUM7QUFFRixnREFBZ0Q7QUFDaEQsd0JBQXNCLGdCQUFnQixDQUNwQyxVQUFVLEVBQUUsZ0JBQWdCLEdBQUcsZUFBZSxHQUFHLGNBQWMsRUFDL0QsSUFBSSxHQUFFLGNBQW1CLEVBQ3pCLE9BQU8sR0FBRTtJQUNQLG1CQUFtQixDQUFDLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztDQUN2Qyx1QkFtTFAifQ==
|
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;AAMhE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAGxD,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;
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAkB,MAAM,iBAAiB,CAAC;AAMhE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAGxD,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,EAAmB,KAAK,aAAa,EAAmB,MAAM,YAAY,CAAC;AAGlF,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,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,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,aAAa,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;CACrD,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,uBAmLP"}
|
package/dest/factory.js
CHANGED
|
@@ -112,9 +112,13 @@ import { ProverPublisherFactory } from './prover-publisher-factory.js';
|
|
|
112
112
|
});
|
|
113
113
|
const proofVerifier = new QueuedIVCVerifier(config, config.realProofs || config.debugForceTxProofVerification ? await BBCircuitVerifier.new(config) : new TestCircuitVerifier(config.proverTestVerificationDelayMs));
|
|
114
114
|
const p2pClient = await createP2PClient(P2PClientType.Prover, config, archiver, proofVerifier, worldStateSynchronizer, epochCache, getPackageVersion() ?? '', dateProvider, telemetry, {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
115
|
+
...deps.p2pClientDeps,
|
|
116
|
+
txCollectionNodeSources: [
|
|
117
|
+
...deps.p2pClientDeps?.txCollectionNodeSources ?? [],
|
|
118
|
+
...deps.aztecNodeTxProvider ? [
|
|
119
|
+
new NodeRpcTxSource(deps.aztecNodeTxProvider, 'TestNode')
|
|
120
|
+
] : []
|
|
121
|
+
]
|
|
118
122
|
});
|
|
119
123
|
await p2pClient.start();
|
|
120
124
|
const proverNodeConfig = {
|
|
@@ -60,4 +60,4 @@ export declare class EpochProvingJob implements Traceable {
|
|
|
60
60
|
private processTxs;
|
|
61
61
|
}
|
|
62
62
|
export { type EpochProvingJobState };
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBvY2gtcHJvdmluZy1qb2IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9qb2IvZXBvY2gtcHJvdmluZy1qb2IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFlLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRzNFLE9BQU8sRUFBZSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQU12RixPQUFPLEtBQUssRUFBbUIsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RixPQUFPLEtBQUssRUFBVyxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRSxPQUFPLEVBQ0wsS0FBSyxXQUFXLEVBQ2hCLEtBQUssb0JBQW9CLEVBQ3pCLDRCQUE0QixFQUM1QixLQUFLLHdCQUF3QixFQUM5QixNQUFNLGlDQUFpQyxDQUFDO0FBSXpDLE9BQU8sRUFBYyxLQUFLLFNBQVMsRUFBRSxLQUFLLE1BQU0sRUFBYSxNQUFNLHlCQUF5QixDQUFDO0FBSTdGLE9BQU8sS0FBSyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkUsT0FBTyxFQUFFLEtBQUssbUJBQW1CLEVBQStCLE1BQU0sNkJBQTZCLENBQUM7QUFFcEcsTUFBTSxNQUFNLHNCQUFzQixHQUFHO0lBQ25DLGtCQUFrQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQzVCLGNBQWMsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUN6QixlQUFlLENBQUMsRUFBRSxPQUFPLENBQUM7Q0FDM0IsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxxQkFBYSxlQUFnQixZQUFXLFNBQVM7SUFZN0MsT0FBTyxDQUFDLElBQUk7SUFDWixPQUFPLENBQUMsVUFBVTtJQUNsQixPQUFPLENBQUMsTUFBTTtJQUNkLE9BQU8sQ0FBQyxzQkFBc0I7SUFDOUIsT0FBTyxDQUFDLFNBQVM7SUFDakIsT0FBTyxDQUFDLGFBQWE7SUFDckIsT0FBTyxDQUFDLE9BQU87SUFDZixPQUFPLENBQUMsUUFBUTtJQUNoQixPQUFPLENBQUMsTUFBTTtJQW5CaEIsT0FBTyxDQUFDLEtBQUssQ0FBdUM7SUFDcEQsT0FBTyxDQUFDLEdBQUcsQ0FBUztJQUNwQixPQUFPLENBQUMsSUFBSSxDQUFTO0lBRXJCLE9BQU8sQ0FBQyxVQUFVLENBQTRCO0lBQzlDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBNkI7SUFDdEQsT0FBTyxDQUFDLHNCQUFzQixDQUE2QjtJQUUzRCxTQUFnQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBRS9CLFlBQ1UsSUFBSSxFQUFFLG1CQUFtQixFQUN6QixVQUFVLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxFQUNsRCxNQUFNLEVBQUUsV0FBVyxFQUNuQixzQkFBc0IsRUFBRSxzQkFBc0IsRUFDOUMsU0FBUyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxrQkFBa0IsQ0FBQyxFQUN4RCxhQUFhLEVBQUUsYUFBYSxHQUFHLFNBQVMsRUFDeEMsT0FBTyxFQUFFLG9CQUFvQixFQUM3QixRQUFRLEVBQUUsSUFBSSxHQUFHLFNBQVMsRUFDMUIsTUFBTSxFQUFFLHNCQUFzQixFQUN0QyxRQUFRLENBQUMsRUFBRSxjQUFjLEVBUzFCO0lBRU0sS0FBSyxJQUFJLE1BQU0sQ0FFckI7SUFFTSxRQUFRLElBQUksb0JBQW9CLENBRXRDO0lBRU0sY0FBYyxJQUFJLFdBQVcsQ0FFbkM7SUFFTSxXQUFXLElBQUksSUFBSSxHQUFHLFNBQVMsQ0FFckM7SUFFTSxjQUFjLElBQUksbUJBQW1CLENBRTNDO0lBRUQsT0FBTyxLQUFLLFdBQVcsR0FFdEI7SUFFRCxPQUFPLEtBQUssV0FBVyxHQUV0QjtJQUVELE9BQU8sS0FBSyxHQUFHLEdBRWQ7SUFFRCxPQUFPLEtBQUssWUFBWSxHQUV2QjtJQUVEOztPQUVHO0lBSVUsR0FBRyxrQkFzTGY7WUFRYSxVQUFVO0lBcUJ4QixPQUFPLENBQUMsYUFBYTtJQUtyQixPQUFPLENBQUMsVUFBVTtJQU1MLElBQUksQ0FBQyxLQUFLLEdBQUUsNEJBQXdDLGlCQU1oRTtJQUVELE9BQU8sQ0FBQyxvQkFBb0I7WUF3QmQsa0JBQWtCO0lBa0NoQyxPQUFPLENBQUMsMEJBQTBCO0lBS2xDLE9BQU8sQ0FBQyxNQUFNO0lBSWQsT0FBTyxDQUFDLGlCQUFpQjtZQUlYLFVBQVU7Q0FtQnpCO0FBU0QsT0FBTyxFQUFFLEtBQUssb0JBQW9CLEVBQUUsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
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;AAG3E,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAMvF,OAAO,KAAK,EAAmB,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEvF,OAAO,KAAK,EAAW,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAElE,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,CAAS;IACpB,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,EACtC,QAAQ,CAAC,EAAE,cAAc,EAS1B;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,WAAW,GAEtB;IAED,OAAO,KAAK,GAAG,GAEd;IAED,OAAO,KAAK,YAAY,GAEvB;IAED;;OAEG;IAIU,GAAG,
|
|
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;AAG3E,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAMvF,OAAO,KAAK,EAAmB,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEvF,OAAO,KAAK,EAAW,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAElE,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,CAAS;IACpB,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,EACtC,QAAQ,CAAC,EAAE,cAAc,EAS1B;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,WAAW,GAEtB;IAED,OAAO,KAAK,GAAG,GAEd;IAED,OAAO,KAAK,YAAY,GAEvB;IAED;;OAEG;IAIU,GAAG,kBAsLf;YAQa,UAAU;IAqBxB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,UAAU;IAML,IAAI,CAAC,KAAK,GAAE,4BAAwC,iBAMhE;IAED,OAAO,CAAC,oBAAoB;YAwBd,kBAAkB;IAkChC,OAAO,CAAC,0BAA0B;IAKlC,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,iBAAiB;YAIX,UAAU;CAmBzB;AASD,OAAO,EAAE,KAAK,oBAAoB,EAAE,CAAC"}
|
|
@@ -529,7 +529,8 @@ _dec = trackSpan('EpochProvingJob.run', function() {
|
|
|
529
529
|
uuid: this.uuid
|
|
530
530
|
});
|
|
531
531
|
await this.prover.startNewCheckpoint(checkpointIndex, checkpointConstants, l1ToL2Messages, checkpoint.blocks.length, previousHeader);
|
|
532
|
-
for
|
|
532
|
+
for(let blockIndex = 0; blockIndex < checkpoint.blocks.length; blockIndex++){
|
|
533
|
+
const block = checkpoint.blocks[blockIndex];
|
|
533
534
|
const globalVariables = block.header.globalVariables;
|
|
534
535
|
const txs = this.getTxs(block);
|
|
535
536
|
this.log.verbose(`Starting processing block ${block.number}`, {
|
|
@@ -544,8 +545,9 @@ _dec = trackSpan('EpochProvingJob.run', function() {
|
|
|
544
545
|
});
|
|
545
546
|
// Start block proving
|
|
546
547
|
await this.prover.startNewBlock(block.number, globalVariables.timestamp, txs.length);
|
|
547
|
-
// Process public fns
|
|
548
|
-
|
|
548
|
+
// Process public fns. L1 to L2 messages are only inserted for the first block of a checkpoint,
|
|
549
|
+
// as the fork for subsequent blocks already includes them from the previous block's synced state.
|
|
550
|
+
const db = await this.createFork(BlockNumber(block.number - 1), blockIndex === 0 ? l1ToL2Messages : undefined);
|
|
549
551
|
const config = PublicSimulatorConfig.from({
|
|
550
552
|
proverId: this.prover.getProverId().toField(),
|
|
551
553
|
skipFeeEnforcement: false,
|
|
@@ -625,16 +627,23 @@ _dec = trackSpan('EpochProvingJob.run', function() {
|
|
|
625
627
|
}
|
|
626
628
|
}
|
|
627
629
|
/**
|
|
628
|
-
* Create a new db fork for tx processing, inserting
|
|
630
|
+
* Create a new db fork for tx processing, optionally inserting L1 to L2 messages.
|
|
631
|
+
* L1 to L2 messages should only be inserted for the first block in a checkpoint,
|
|
632
|
+
* as subsequent blocks' synced state already includes them.
|
|
629
633
|
* 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.
|
|
630
634
|
*/ async createFork(blockNumber, l1ToL2Messages) {
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
this.log.verbose(`Creating fork at ${blockNumber} with ${l1ToL2Messages.length} L1 to L2 messages`, {
|
|
634
|
-
blockNumber,
|
|
635
|
-
l1ToL2Messages: l1ToL2Messages.map((m)=>m.toString())
|
|
635
|
+
this.log.verbose(`Creating fork at ${blockNumber}`, {
|
|
636
|
+
blockNumber
|
|
636
637
|
});
|
|
637
|
-
await
|
|
638
|
+
const db = await this.dbProvider.fork(blockNumber);
|
|
639
|
+
if (l1ToL2Messages !== undefined) {
|
|
640
|
+
this.log.verbose(`Inserting ${l1ToL2Messages.length} L1 to L2 messages in fork`, {
|
|
641
|
+
blockNumber,
|
|
642
|
+
l1ToL2Messages: l1ToL2Messages.map((m)=>m.toString())
|
|
643
|
+
});
|
|
644
|
+
const l1ToL2MessagesPadded = padArrayEnd(l1ToL2Messages, Fr.ZERO, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, 'Too many L1 to L2 messages');
|
|
645
|
+
await db.appendLeaves(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, l1ToL2MessagesPadded);
|
|
646
|
+
}
|
|
638
647
|
return db;
|
|
639
648
|
}
|
|
640
649
|
progressState(state) {
|
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.f8ca9b2f3",
|
|
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": "0.0.1-commit.
|
|
60
|
-
"@aztec/bb-prover": "0.0.1-commit.
|
|
61
|
-
"@aztec/blob-client": "0.0.1-commit.
|
|
62
|
-
"@aztec/blob-lib": "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.f8ca9b2f3",
|
|
60
|
+
"@aztec/bb-prover": "0.0.1-commit.f8ca9b2f3",
|
|
61
|
+
"@aztec/blob-client": "0.0.1-commit.f8ca9b2f3",
|
|
62
|
+
"@aztec/blob-lib": "0.0.1-commit.f8ca9b2f3",
|
|
63
|
+
"@aztec/constants": "0.0.1-commit.f8ca9b2f3",
|
|
64
|
+
"@aztec/epoch-cache": "0.0.1-commit.f8ca9b2f3",
|
|
65
|
+
"@aztec/ethereum": "0.0.1-commit.f8ca9b2f3",
|
|
66
|
+
"@aztec/foundation": "0.0.1-commit.f8ca9b2f3",
|
|
67
|
+
"@aztec/kv-store": "0.0.1-commit.f8ca9b2f3",
|
|
68
|
+
"@aztec/l1-artifacts": "0.0.1-commit.f8ca9b2f3",
|
|
69
|
+
"@aztec/node-keystore": "0.0.1-commit.f8ca9b2f3",
|
|
70
|
+
"@aztec/node-lib": "0.0.1-commit.f8ca9b2f3",
|
|
71
|
+
"@aztec/noir-protocol-circuits-types": "0.0.1-commit.f8ca9b2f3",
|
|
72
|
+
"@aztec/p2p": "0.0.1-commit.f8ca9b2f3",
|
|
73
|
+
"@aztec/protocol-contracts": "0.0.1-commit.f8ca9b2f3",
|
|
74
|
+
"@aztec/prover-client": "0.0.1-commit.f8ca9b2f3",
|
|
75
|
+
"@aztec/sequencer-client": "0.0.1-commit.f8ca9b2f3",
|
|
76
|
+
"@aztec/simulator": "0.0.1-commit.f8ca9b2f3",
|
|
77
|
+
"@aztec/stdlib": "0.0.1-commit.f8ca9b2f3",
|
|
78
|
+
"@aztec/telemetry-client": "0.0.1-commit.f8ca9b2f3",
|
|
79
|
+
"@aztec/world-state": "0.0.1-commit.f8ca9b2f3",
|
|
80
80
|
"source-map-support": "^0.5.21",
|
|
81
81
|
"tslib": "^2.4.0",
|
|
82
82
|
"viem": "npm:@aztec/viem@2.38.2"
|
package/src/factory.ts
CHANGED
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
createForwarderL1TxUtilsFromEthSigner,
|
|
17
17
|
createL1TxUtilsFromEthSignerWithStore,
|
|
18
18
|
} from '@aztec/node-lib/factories';
|
|
19
|
-
import { NodeRpcTxSource, createP2PClient } from '@aztec/p2p';
|
|
19
|
+
import { NodeRpcTxSource, type P2PClientDeps, createP2PClient } from '@aztec/p2p';
|
|
20
20
|
import { type ProverClientConfig, createProverClient } from '@aztec/prover-client';
|
|
21
21
|
import { createAndStartProvingBroker } from '@aztec/prover-client/broker';
|
|
22
22
|
import type { AztecNode, ProvingJobBroker } from '@aztec/stdlib/interfaces/server';
|
|
@@ -42,6 +42,7 @@ export type ProverNodeDeps = {
|
|
|
42
42
|
broker?: ProvingJobBroker;
|
|
43
43
|
l1TxUtils?: L1TxUtils;
|
|
44
44
|
dateProvider?: DateProvider;
|
|
45
|
+
p2pClientDeps?: P2PClientDeps<P2PClientType.Prover>;
|
|
45
46
|
};
|
|
46
47
|
|
|
47
48
|
/** Creates a new prover node given a config. */
|
|
@@ -175,9 +176,11 @@ export async function createProverNode(
|
|
|
175
176
|
dateProvider,
|
|
176
177
|
telemetry,
|
|
177
178
|
{
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
179
|
+
...deps.p2pClientDeps,
|
|
180
|
+
txCollectionNodeSources: [
|
|
181
|
+
...(deps.p2pClientDeps?.txCollectionNodeSources ?? []),
|
|
182
|
+
...(deps.aztecNodeTxProvider ? [new NodeRpcTxSource(deps.aztecNodeTxProvider, 'TestNode')] : []),
|
|
183
|
+
],
|
|
181
184
|
},
|
|
182
185
|
);
|
|
183
186
|
|
|
@@ -193,7 +193,8 @@ export class EpochProvingJob implements Traceable {
|
|
|
193
193
|
previousHeader,
|
|
194
194
|
);
|
|
195
195
|
|
|
196
|
-
for (
|
|
196
|
+
for (let blockIndex = 0; blockIndex < checkpoint.blocks.length; blockIndex++) {
|
|
197
|
+
const block = checkpoint.blocks[blockIndex];
|
|
197
198
|
const globalVariables = block.header.globalVariables;
|
|
198
199
|
const txs = this.getTxs(block);
|
|
199
200
|
|
|
@@ -211,8 +212,12 @@ export class EpochProvingJob implements Traceable {
|
|
|
211
212
|
// Start block proving
|
|
212
213
|
await this.prover.startNewBlock(block.number, globalVariables.timestamp, txs.length);
|
|
213
214
|
|
|
214
|
-
// Process public fns
|
|
215
|
-
|
|
215
|
+
// Process public fns. L1 to L2 messages are only inserted for the first block of a checkpoint,
|
|
216
|
+
// as the fork for subsequent blocks already includes them from the previous block's synced state.
|
|
217
|
+
const db = await this.createFork(
|
|
218
|
+
BlockNumber(block.number - 1),
|
|
219
|
+
blockIndex === 0 ? l1ToL2Messages : undefined,
|
|
220
|
+
);
|
|
216
221
|
const config = PublicSimulatorConfig.from({
|
|
217
222
|
proverId: this.prover.getProverId().toField(),
|
|
218
223
|
skipFeeEnforcement: false,
|
|
@@ -295,22 +300,29 @@ export class EpochProvingJob implements Traceable {
|
|
|
295
300
|
}
|
|
296
301
|
|
|
297
302
|
/**
|
|
298
|
-
* Create a new db fork for tx processing, inserting
|
|
303
|
+
* Create a new db fork for tx processing, optionally inserting L1 to L2 messages.
|
|
304
|
+
* L1 to L2 messages should only be inserted for the first block in a checkpoint,
|
|
305
|
+
* as subsequent blocks' synced state already includes them.
|
|
299
306
|
* 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.
|
|
300
307
|
*/
|
|
301
|
-
private async createFork(blockNumber: BlockNumber, l1ToL2Messages: Fr[]) {
|
|
308
|
+
private async createFork(blockNumber: BlockNumber, l1ToL2Messages: Fr[] | undefined) {
|
|
309
|
+
this.log.verbose(`Creating fork at ${blockNumber}`, { blockNumber });
|
|
302
310
|
const db = await this.dbProvider.fork(blockNumber);
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
311
|
+
|
|
312
|
+
if (l1ToL2Messages !== undefined) {
|
|
313
|
+
this.log.verbose(`Inserting ${l1ToL2Messages.length} L1 to L2 messages in fork`, {
|
|
314
|
+
blockNumber,
|
|
315
|
+
l1ToL2Messages: l1ToL2Messages.map(m => m.toString()),
|
|
316
|
+
});
|
|
317
|
+
const l1ToL2MessagesPadded = padArrayEnd<Fr, number>(
|
|
318
|
+
l1ToL2Messages,
|
|
319
|
+
Fr.ZERO,
|
|
320
|
+
NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP,
|
|
321
|
+
'Too many L1 to L2 messages',
|
|
322
|
+
);
|
|
323
|
+
await db.appendLeaves(MerkleTreeId.L1_TO_L2_MESSAGE_TREE, l1ToL2MessagesPadded);
|
|
324
|
+
}
|
|
325
|
+
|
|
314
326
|
return db;
|
|
315
327
|
}
|
|
316
328
|
|