@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 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 & ProverClientConfig & P2PConfig & WorldStateConfig & PublisherConfig & TxSenderConfig & DataStoreConfig & ProverCoordinationConfig & SharedNodeConfig & SpecificProverNodeConfig;
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
@@ -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;AAC9G,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,EAAE,KAAK,kBAAkB,EAAgD,MAAM,6BAA6B,CAAC;AACpH,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,kBAAkB,GAClB,SAAS,GACT,gBAAgB,GAChB,eAAe,GACf,cAAc,GACd,eAAe,GACf,wBAAwB,GACxB,gBAAgB,GAChB,wBAAwB,CAAC;AAE3B,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,CAWzE,CAAC;AAEF,wBAAgB,0BAA0B,IAAI,gBAAgB,CAE7D;AAED,wBAAgB,gCAAgC,IAAI,kBAAkB,CAIrE;AAED,wBAAgB,+BAA+B,IAAI,iBAAiB,GAAG,QAAQ,GAAG,UAAU,CAK3F"}
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 { ProverNodeConfig } from './config.js';
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(config: ProverNodeConfig & DataStoreConfig, deps?: {
13
+ export declare function createProverNode(userConfig: ProverNodeConfig & DataStoreConfig, deps?: {
14
14
  telemetry?: TelemetryClient;
15
15
  log?: Logger;
16
16
  aztecNodeTxProvider?: ProverCoordination;
@@ -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,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,UAAU,EAA0B,MAAM,kBAAkB,CAAC;AAEtE,gDAAgD;AAChD,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,gBAAgB,GAAG,eAAe,EAC1C,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,uBAmEP"}
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(config, deps = {}, options = {}) {
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;YAgDN,4BAA4B;YA2D5B,sBAAsB;IAoDpC,OAAO,CAAC,uBAAuB;cA+Bf,kBAAkB;CAGnC"}
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"}
@@ -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('Started ProverNode', this.options);
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.82.3",
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.82.3",
57
- "@aztec/bb-prover": "0.82.3",
58
- "@aztec/blob-sink": "0.82.3",
59
- "@aztec/constants": "0.82.3",
60
- "@aztec/epoch-cache": "0.82.3",
61
- "@aztec/ethereum": "0.82.3",
62
- "@aztec/foundation": "0.82.3",
63
- "@aztec/kv-store": "0.82.3",
64
- "@aztec/l1-artifacts": "0.82.3",
65
- "@aztec/node-lib": "0.82.3",
66
- "@aztec/noir-protocol-circuits-types": "0.82.3",
67
- "@aztec/p2p": "0.82.3",
68
- "@aztec/protocol-contracts": "0.82.3",
69
- "@aztec/prover-client": "0.82.3",
70
- "@aztec/sequencer-client": "0.82.3",
71
- "@aztec/simulator": "0.82.3",
72
- "@aztec/stdlib": "0.82.3",
73
- "@aztec/telemetry-client": "0.82.3",
74
- "@aztec/world-state": "0.82.3",
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 { type ProverClientConfig, bbConfigMappings, proverClientConfigMappings } from '@aztec/prover-client/config';
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
- ProverClientConfig &
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 { ProverNodeConfig } from './config.js';
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
- config: ProverNodeConfig & DataStoreConfig,
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
 
@@ -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('Started ProverNode', this.options);
146
+ this.log.info(`Started Prover Node with prover id ${this.prover.getProverId().toString()}`, this.options);
147
147
  }
148
148
 
149
149
  /**