@aztec/prover-node 0.82.3 → 0.83.0
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/config.d.ts +4 -2
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +10 -0
- package/dest/factory.d.ts +2 -2
- package/dest/factory.d.ts.map +1 -1
- package/dest/factory.js +3 -1
- package/dest/prover-node-publisher.d.ts.map +1 -1
- package/dest/prover-node.js +1 -1
- package/package.json +20 -20
- package/src/config.ts +20 -3
- package/src/factory.ts +3 -2
- package/src/prover-node-publisher.ts +0 -1
- package/src/prover-node.ts +1 -1
package/dest/config.d.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { type ArchiverConfig } from '@aztec/archiver/config';
|
|
2
2
|
import type { ACVMConfig, BBConfig } from '@aztec/bb-prover/config';
|
|
3
|
+
import { type GenesisStateConfig } from '@aztec/ethereum';
|
|
3
4
|
import { type ConfigMappingsType } from '@aztec/foundation/config';
|
|
4
5
|
import { type DataStoreConfig } from '@aztec/kv-store/config';
|
|
5
6
|
import { type SharedNodeConfig } from '@aztec/node-lib/config';
|
|
6
7
|
import { type P2PConfig } from '@aztec/p2p/config';
|
|
7
8
|
import { type ProverAgentConfig, type ProverBrokerConfig } from '@aztec/prover-client/broker';
|
|
8
|
-
import { type ProverClientConfig } from '@aztec/prover-client/config';
|
|
9
|
+
import { type ProverClientConfig, type ProverClientUserConfig } from '@aztec/prover-client/config';
|
|
9
10
|
import { type PublisherConfig, type TxSenderConfig } from '@aztec/sequencer-client/config';
|
|
10
11
|
import { type WorldStateConfig } from '@aztec/world-state/config';
|
|
11
12
|
import { type ProverCoordinationConfig } from './prover-coordination/config.js';
|
|
12
|
-
export type ProverNodeConfig = ArchiverConfig &
|
|
13
|
+
export type ProverNodeConfig = ArchiverConfig & ProverClientUserConfig & P2PConfig & WorldStateConfig & PublisherConfig & TxSenderConfig & DataStoreConfig & ProverCoordinationConfig & SharedNodeConfig & SpecificProverNodeConfig & GenesisStateConfig;
|
|
13
14
|
type SpecificProverNodeConfig = {
|
|
14
15
|
proverNodeMaxPendingJobs: number;
|
|
15
16
|
proverNodePollingIntervalMs: number;
|
|
@@ -22,5 +23,6 @@ export declare const proverNodeConfigMappings: ConfigMappingsType<ProverNodeConf
|
|
|
22
23
|
export declare function getProverNodeConfigFromEnv(): ProverNodeConfig;
|
|
23
24
|
export declare function getProverNodeBrokerConfigFromEnv(): ProverBrokerConfig;
|
|
24
25
|
export declare function getProverNodeAgentConfigFromEnv(): ProverAgentConfig & BBConfig & ACVMConfig;
|
|
26
|
+
export declare function resolveConfig(userConfig: ProverNodeConfig): ProverNodeConfig & ProverClientConfig;
|
|
25
27
|
export {};
|
|
26
28
|
//# sourceMappingURL=config.d.ts.map
|
package/dest/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,wBAAwB,CAAC;AACrF,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,KAAK,kBAAkB,EAA6C,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,wBAAwB,CAAC;AACrF,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,KAAK,kBAAkB,EAAwD,MAAM,iBAAiB,CAAC;AAChH,OAAO,EAAE,KAAK,kBAAkB,EAA6C,MAAM,0BAA0B,CAAC;AAE9G,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,mBAAmB,CAAC;AACtE,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EAGxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAG5B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,cAAc,EAGpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,2BAA2B,CAAC;AAE5F,OAAO,EAAE,KAAK,wBAAwB,EAAoC,MAAM,iCAAiC,CAAC;AAElH,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAC3C,sBAAsB,GACtB,SAAS,GACT,gBAAgB,GAChB,eAAe,GACf,cAAc,GACd,eAAe,GACf,wBAAwB,GACxB,gBAAgB,GAChB,wBAAwB,GACxB,kBAAkB,CAAC;AAErB,KAAK,wBAAwB,GAAG;IAC9B,wBAAwB,EAAE,MAAM,CAAC;IACjC,2BAA2B,EAAE,MAAM,CAAC;IACpC,mCAAmC,EAAE,MAAM,CAAC;IAC5C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,8BAA8B,EAAE,MAAM,CAAC;CACxC,CAAC;AAmCF,eAAO,MAAM,wBAAwB,EAAE,kBAAkB,CAAC,gBAAgB,CAYzE,CAAC;AAEF,wBAAgB,0BAA0B,IAAI,gBAAgB,CAE7D;AAED,wBAAgB,gCAAgC,IAAI,kBAAkB,CAIrE;AAED,wBAAgB,+BAA+B,IAAI,iBAAiB,GAAG,QAAQ,GAAG,UAAU,CAK3F;AAED,wBAAgB,aAAa,CAAC,UAAU,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,kBAAkB,CAMjG"}
|
package/dest/config.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { archiverConfigMappings } from '@aztec/archiver/config';
|
|
2
|
+
import { genesisStateConfigMappings, getAddressFromPrivateKey } from '@aztec/ethereum';
|
|
2
3
|
import { getConfigFromMappings, numberConfigHelper } from '@aztec/foundation/config';
|
|
4
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
3
5
|
import { dataConfigMappings } from '@aztec/kv-store/config';
|
|
4
6
|
import { sharedNodeConfigMappings } from '@aztec/node-lib/config';
|
|
5
7
|
import { p2pConfigMappings } from '@aztec/p2p/config';
|
|
@@ -50,6 +52,7 @@ export const proverNodeConfigMappings = {
|
|
|
50
52
|
...getTxSenderConfigMappings('PROVER'),
|
|
51
53
|
...proverCoordinationConfigMappings,
|
|
52
54
|
...specificProverNodeConfigMappings,
|
|
55
|
+
...genesisStateConfigMappings,
|
|
53
56
|
...sharedNodeConfigMappings
|
|
54
57
|
};
|
|
55
58
|
export function getProverNodeConfigFromEnv() {
|
|
@@ -66,3 +69,10 @@ export function getProverNodeAgentConfigFromEnv() {
|
|
|
66
69
|
...getConfigFromMappings(bbConfigMappings)
|
|
67
70
|
};
|
|
68
71
|
}
|
|
72
|
+
export function resolveConfig(userConfig) {
|
|
73
|
+
const proverId = userConfig.proverId && !userConfig.proverId.isZero() ? userConfig.proverId : Fr.fromHexString(getAddressFromPrivateKey(userConfig.publisherPrivateKey));
|
|
74
|
+
return {
|
|
75
|
+
...userConfig,
|
|
76
|
+
proverId
|
|
77
|
+
};
|
|
78
|
+
}
|
package/dest/factory.d.ts
CHANGED
|
@@ -6,11 +6,11 @@ import type { DataStoreConfig } from '@aztec/kv-store/config';
|
|
|
6
6
|
import type { ProverCoordination, ProvingJobBroker } from '@aztec/stdlib/interfaces/server';
|
|
7
7
|
import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
|
|
8
8
|
import { type TelemetryClient } from '@aztec/telemetry-client';
|
|
9
|
-
import type
|
|
9
|
+
import { type ProverNodeConfig } from './config.js';
|
|
10
10
|
import { ProverNodePublisher } from './prover-node-publisher.js';
|
|
11
11
|
import { ProverNode } from './prover-node.js';
|
|
12
12
|
/** Creates a new prover node given a config. */
|
|
13
|
-
export declare function createProverNode(
|
|
13
|
+
export declare function createProverNode(userConfig: ProverNodeConfig & DataStoreConfig, deps?: {
|
|
14
14
|
telemetry?: TelemetryClient;
|
|
15
15
|
log?: Logger;
|
|
16
16
|
aztecNodeTxProvider?: ProverCoordination;
|
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;AAChE,OAAO,EAAE,KAAK,uBAAuB,EAAwB,MAAM,yBAAyB,CAAC;AAE7F,OAAO,EAAE,SAAS,EAAwD,MAAM,iBAAiB,CAAC;AAClG,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAC5F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAGnF,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAkB,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,KAAK,uBAAuB,EAAwB,MAAM,yBAAyB,CAAC;AAE7F,OAAO,EAAE,SAAS,EAAwD,MAAM,iBAAiB,CAAC;AAClG,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAC5F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAGnF,OAAO,EAAE,KAAK,gBAAgB,EAAiB,MAAM,aAAa,CAAC;AAGnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,UAAU,EAA0B,MAAM,kBAAkB,CAAC;AAEtE,gDAAgD;AAChD,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,gBAAgB,GAAG,eAAe,EAC9C,IAAI,GAAE;IACJ,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mBAAmB,CAAC,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;CAClB,EACN,OAAO,GAAE;IACP,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACvC,uBAoEP"}
|
package/dest/factory.js
CHANGED
|
@@ -8,11 +8,13 @@ import { createProverClient } from '@aztec/prover-client';
|
|
|
8
8
|
import { createAndStartProvingBroker } from '@aztec/prover-client/broker';
|
|
9
9
|
import { getTelemetryClient } from '@aztec/telemetry-client';
|
|
10
10
|
import { createWorldStateSynchronizer } from '@aztec/world-state';
|
|
11
|
+
import { resolveConfig } from './config.js';
|
|
11
12
|
import { EpochMonitor } from './monitors/epoch-monitor.js';
|
|
12
13
|
import { createProverCoordination } from './prover-coordination/factory.js';
|
|
13
14
|
import { ProverNodePublisher } from './prover-node-publisher.js';
|
|
14
15
|
import { ProverNode } from './prover-node.js';
|
|
15
|
-
/** Creates a new prover node given a config. */ export async function createProverNode(
|
|
16
|
+
/** Creates a new prover node given a config. */ export async function createProverNode(userConfig, deps = {}, options = {}) {
|
|
17
|
+
const config = resolveConfig(userConfig);
|
|
16
18
|
const telemetry = deps.telemetry ?? getTelemetryClient();
|
|
17
19
|
const blobSinkClient = deps.blobSinkClient ?? createBlobSinkClient(config);
|
|
18
20
|
const log = deps.log ?? createLogger('prover-node');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prover-node-publisher.d.ts","sourceRoot":"","sources":["../src/prover-node-publisher.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,KAAK,KAAK,EAAqB,MAAM,6BAA6B,CAAC;AAI5E,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC/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;AAMnF;;GAEG;AACH,sEAAsE;AACtE,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,EAAE,CAAC;IACpB,UAAU,EAAE,EAAE,CAAC;IACf,iBAAiB,EAAE,EAAE,CAAC;IACtB,YAAY,EAAE,EAAE,CAAC;IACjB,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,kBAAkB,CAA4B;IACtD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAoB;IAEnC,SAAS,CAAC,GAAG,yCAA+C;IAE5D,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;IAEzC,SAAgB,SAAS,EAAE,SAAS,CAAC;gBAGnC,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;IAYH;;;;;OAKG;IACI,SAAS;IAKhB,wDAAwD;IACjD,OAAO;IAIP,gBAAgB;IAIV,gBAAgB,CAAC,IAAI,EAAE;QAClC,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,sBAAsB,CAAC;QACrC,KAAK,EAAE,KAAK,CAAC;KACd,GAAG,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"prover-node-publisher.d.ts","sourceRoot":"","sources":["../src/prover-node-publisher.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,KAAK,KAAK,EAAqB,MAAM,6BAA6B,CAAC;AAI5E,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC/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;AAMnF;;GAEG;AACH,sEAAsE;AACtE,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,EAAE,CAAC;IACpB,UAAU,EAAE,EAAE,CAAC;IACf,iBAAiB,EAAE,EAAE,CAAC;IACtB,YAAY,EAAE,EAAE,CAAC;IACjB,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,kBAAkB,CAA4B;IACtD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAoB;IAEnC,SAAS,CAAC,GAAG,yCAA+C;IAE5D,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;IAEzC,SAAgB,SAAS,EAAE,SAAS,CAAC;gBAGnC,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;IAYH;;;;;OAKG;IACI,SAAS;IAKhB,wDAAwD;IACjD,OAAO;IAIP,gBAAgB;IAIV,gBAAgB,CAAC,IAAI,EAAE;QAClC,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,sBAAsB,CAAC;QACrC,KAAK,EAAE,KAAK,CAAC;KACd,GAAG,OAAO,CAAC,OAAO,CAAC;YA+CN,4BAA4B;YA2D5B,sBAAsB;IAoDpC,OAAO,CAAC,uBAAuB;cA+Bf,kBAAkB;CAGnC"}
|
package/dest/prover-node.js
CHANGED
|
@@ -109,7 +109,7 @@ import { ProverNodeMetrics } from './metrics.js';
|
|
|
109
109
|
this.txFetcher.start();
|
|
110
110
|
this.epochsMonitor.start(this);
|
|
111
111
|
this.l1Metrics.start();
|
|
112
|
-
this.log.info(
|
|
112
|
+
this.log.info(`Started Prover Node with prover id ${this.prover.getProverId().toString()}`, this.options);
|
|
113
113
|
}
|
|
114
114
|
/**
|
|
115
115
|
* Stops the prover node and all its dependencies.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/prover-node",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.83.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -53,25 +53,25 @@
|
|
|
53
53
|
]
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@aztec/archiver": "0.
|
|
57
|
-
"@aztec/bb-prover": "0.
|
|
58
|
-
"@aztec/blob-sink": "0.
|
|
59
|
-
"@aztec/constants": "0.
|
|
60
|
-
"@aztec/epoch-cache": "0.
|
|
61
|
-
"@aztec/ethereum": "0.
|
|
62
|
-
"@aztec/foundation": "0.
|
|
63
|
-
"@aztec/kv-store": "0.
|
|
64
|
-
"@aztec/l1-artifacts": "0.
|
|
65
|
-
"@aztec/node-lib": "0.
|
|
66
|
-
"@aztec/noir-protocol-circuits-types": "0.
|
|
67
|
-
"@aztec/p2p": "0.
|
|
68
|
-
"@aztec/protocol-contracts": "0.
|
|
69
|
-
"@aztec/prover-client": "0.
|
|
70
|
-
"@aztec/sequencer-client": "0.
|
|
71
|
-
"@aztec/simulator": "0.
|
|
72
|
-
"@aztec/stdlib": "0.
|
|
73
|
-
"@aztec/telemetry-client": "0.
|
|
74
|
-
"@aztec/world-state": "0.
|
|
56
|
+
"@aztec/archiver": "0.83.0",
|
|
57
|
+
"@aztec/bb-prover": "0.83.0",
|
|
58
|
+
"@aztec/blob-sink": "0.83.0",
|
|
59
|
+
"@aztec/constants": "0.83.0",
|
|
60
|
+
"@aztec/epoch-cache": "0.83.0",
|
|
61
|
+
"@aztec/ethereum": "0.83.0",
|
|
62
|
+
"@aztec/foundation": "0.83.0",
|
|
63
|
+
"@aztec/kv-store": "0.83.0",
|
|
64
|
+
"@aztec/l1-artifacts": "0.83.0",
|
|
65
|
+
"@aztec/node-lib": "0.83.0",
|
|
66
|
+
"@aztec/noir-protocol-circuits-types": "0.83.0",
|
|
67
|
+
"@aztec/p2p": "0.83.0",
|
|
68
|
+
"@aztec/protocol-contracts": "0.83.0",
|
|
69
|
+
"@aztec/prover-client": "0.83.0",
|
|
70
|
+
"@aztec/sequencer-client": "0.83.0",
|
|
71
|
+
"@aztec/simulator": "0.83.0",
|
|
72
|
+
"@aztec/stdlib": "0.83.0",
|
|
73
|
+
"@aztec/telemetry-client": "0.83.0",
|
|
74
|
+
"@aztec/world-state": "0.83.0",
|
|
75
75
|
"source-map-support": "^0.5.21",
|
|
76
76
|
"tslib": "^2.4.0",
|
|
77
77
|
"viem": "2.23.7"
|
package/src/config.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { type ArchiverConfig, archiverConfigMappings } from '@aztec/archiver/config';
|
|
2
2
|
import type { ACVMConfig, BBConfig } from '@aztec/bb-prover/config';
|
|
3
|
+
import { type GenesisStateConfig, genesisStateConfigMappings, getAddressFromPrivateKey } from '@aztec/ethereum';
|
|
3
4
|
import { type ConfigMappingsType, getConfigFromMappings, numberConfigHelper } from '@aztec/foundation/config';
|
|
5
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
4
6
|
import { type DataStoreConfig, dataConfigMappings } from '@aztec/kv-store/config';
|
|
5
7
|
import { type SharedNodeConfig, sharedNodeConfigMappings } from '@aztec/node-lib/config';
|
|
6
8
|
import { type P2PConfig, p2pConfigMappings } from '@aztec/p2p/config';
|
|
@@ -10,7 +12,12 @@ import {
|
|
|
10
12
|
proverAgentConfigMappings,
|
|
11
13
|
proverBrokerConfigMappings,
|
|
12
14
|
} from '@aztec/prover-client/broker';
|
|
13
|
-
import {
|
|
15
|
+
import {
|
|
16
|
+
type ProverClientConfig,
|
|
17
|
+
type ProverClientUserConfig,
|
|
18
|
+
bbConfigMappings,
|
|
19
|
+
proverClientConfigMappings,
|
|
20
|
+
} from '@aztec/prover-client/config';
|
|
14
21
|
import {
|
|
15
22
|
type PublisherConfig,
|
|
16
23
|
type TxSenderConfig,
|
|
@@ -22,7 +29,7 @@ import { type WorldStateConfig, worldStateConfigMappings } from '@aztec/world-st
|
|
|
22
29
|
import { type ProverCoordinationConfig, proverCoordinationConfigMappings } from './prover-coordination/config.js';
|
|
23
30
|
|
|
24
31
|
export type ProverNodeConfig = ArchiverConfig &
|
|
25
|
-
|
|
32
|
+
ProverClientUserConfig &
|
|
26
33
|
P2PConfig &
|
|
27
34
|
WorldStateConfig &
|
|
28
35
|
PublisherConfig &
|
|
@@ -30,7 +37,8 @@ export type ProverNodeConfig = ArchiverConfig &
|
|
|
30
37
|
DataStoreConfig &
|
|
31
38
|
ProverCoordinationConfig &
|
|
32
39
|
SharedNodeConfig &
|
|
33
|
-
SpecificProverNodeConfig
|
|
40
|
+
SpecificProverNodeConfig &
|
|
41
|
+
GenesisStateConfig;
|
|
34
42
|
|
|
35
43
|
type SpecificProverNodeConfig = {
|
|
36
44
|
proverNodeMaxPendingJobs: number;
|
|
@@ -84,6 +92,7 @@ export const proverNodeConfigMappings: ConfigMappingsType<ProverNodeConfig> = {
|
|
|
84
92
|
...getTxSenderConfigMappings('PROVER'),
|
|
85
93
|
...proverCoordinationConfigMappings,
|
|
86
94
|
...specificProverNodeConfigMappings,
|
|
95
|
+
...genesisStateConfigMappings,
|
|
87
96
|
...sharedNodeConfigMappings,
|
|
88
97
|
};
|
|
89
98
|
|
|
@@ -103,3 +112,11 @@ export function getProverNodeAgentConfigFromEnv(): ProverAgentConfig & BBConfig
|
|
|
103
112
|
...getConfigFromMappings(bbConfigMappings),
|
|
104
113
|
};
|
|
105
114
|
}
|
|
115
|
+
|
|
116
|
+
export function resolveConfig(userConfig: ProverNodeConfig): ProverNodeConfig & ProverClientConfig {
|
|
117
|
+
const proverId =
|
|
118
|
+
userConfig.proverId && !userConfig.proverId.isZero()
|
|
119
|
+
? userConfig.proverId
|
|
120
|
+
: Fr.fromHexString(getAddressFromPrivateKey(userConfig.publisherPrivateKey));
|
|
121
|
+
return { ...userConfig, proverId };
|
|
122
|
+
}
|
package/src/factory.ts
CHANGED
|
@@ -12,7 +12,7 @@ import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
|
|
|
12
12
|
import { type TelemetryClient, getTelemetryClient } from '@aztec/telemetry-client';
|
|
13
13
|
import { createWorldStateSynchronizer } from '@aztec/world-state';
|
|
14
14
|
|
|
15
|
-
import type
|
|
15
|
+
import { type ProverNodeConfig, resolveConfig } from './config.js';
|
|
16
16
|
import { EpochMonitor } from './monitors/epoch-monitor.js';
|
|
17
17
|
import { createProverCoordination } from './prover-coordination/factory.js';
|
|
18
18
|
import { ProverNodePublisher } from './prover-node-publisher.js';
|
|
@@ -20,7 +20,7 @@ import { ProverNode, type ProverNodeOptions } from './prover-node.js';
|
|
|
20
20
|
|
|
21
21
|
/** Creates a new prover node given a config. */
|
|
22
22
|
export async function createProverNode(
|
|
23
|
-
|
|
23
|
+
userConfig: ProverNodeConfig & DataStoreConfig,
|
|
24
24
|
deps: {
|
|
25
25
|
telemetry?: TelemetryClient;
|
|
26
26
|
log?: Logger;
|
|
@@ -35,6 +35,7 @@ export async function createProverNode(
|
|
|
35
35
|
prefilledPublicData?: PublicDataTreeLeaf[];
|
|
36
36
|
} = {},
|
|
37
37
|
) {
|
|
38
|
+
const config = resolveConfig(userConfig);
|
|
38
39
|
const telemetry = deps.telemetry ?? getTelemetryClient();
|
|
39
40
|
const blobSinkClient = deps.blobSinkClient ?? createBlobSinkClient(config);
|
|
40
41
|
const log = deps.log ?? createLogger('prover-node');
|
|
@@ -97,7 +97,6 @@ export class ProverNodePublisher {
|
|
|
97
97
|
const ctx = { epochNumber, fromBlock, toBlock };
|
|
98
98
|
if (!this.interrupted) {
|
|
99
99
|
const timer = new Timer();
|
|
100
|
-
|
|
101
100
|
// Validate epoch proof range and hashes are correct before submitting
|
|
102
101
|
await this.validateEpochProofSubmission(args);
|
|
103
102
|
|
package/src/prover-node.ts
CHANGED
|
@@ -143,7 +143,7 @@ export class ProverNode implements EpochMonitorHandler, ProverNodeApi, Traceable
|
|
|
143
143
|
this.txFetcher.start();
|
|
144
144
|
this.epochsMonitor.start(this);
|
|
145
145
|
this.l1Metrics.start();
|
|
146
|
-
this.log.info(
|
|
146
|
+
this.log.info(`Started Prover Node with prover id ${this.prover.getProverId().toString()}`, this.options);
|
|
147
147
|
}
|
|
148
148
|
|
|
149
149
|
/**
|