@aztec/prover-node 0.82.2 → 0.82.3-nightly.20250330

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
@@ -2,16 +2,14 @@ import { type ArchiverConfig } from '@aztec/archiver/config';
2
2
  import type { ACVMConfig, BBConfig } from '@aztec/bb-prover/config';
3
3
  import { type ConfigMappingsType } from '@aztec/foundation/config';
4
4
  import { type DataStoreConfig } from '@aztec/kv-store/config';
5
+ import { type SharedNodeConfig } from '@aztec/node-lib/config';
5
6
  import { type P2PConfig } from '@aztec/p2p/config';
6
7
  import { type ProverAgentConfig, type ProverBrokerConfig } from '@aztec/prover-client/broker';
7
8
  import { type ProverClientConfig } from '@aztec/prover-client/config';
8
9
  import { type PublisherConfig, type TxSenderConfig } from '@aztec/sequencer-client/config';
9
10
  import { type WorldStateConfig } from '@aztec/world-state/config';
10
11
  import { type ProverCoordinationConfig } from './prover-coordination/config.js';
11
- export type ProverNodeConfig = ArchiverConfig & ProverClientConfig & P2PConfig & WorldStateConfig & PublisherConfig & TxSenderConfig & DataStoreConfig & ProverCoordinationConfig & SpecificProverNodeConfig & {
12
- /** Whether to populate the genesis state with initial fee juice for the test accounts */
13
- testAccounts: boolean;
14
- };
12
+ export type ProverNodeConfig = ArchiverConfig & ProverClientConfig & P2PConfig & WorldStateConfig & PublisherConfig & TxSenderConfig & DataStoreConfig & ProverCoordinationConfig & SharedNodeConfig & SpecificProverNodeConfig;
15
13
  type SpecificProverNodeConfig = {
16
14
  proverNodeMaxPendingJobs: number;
17
15
  proverNodePollingIntervalMs: number;
@@ -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,EACL,KAAK,kBAAkB,EAIxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAClF,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,wBAAwB,GAAG;IACzB,yFAAyF;IACzF,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEJ,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,CAezE,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,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"}
package/dest/config.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { archiverConfigMappings } from '@aztec/archiver/config';
2
- import { booleanConfigHelper, getConfigFromMappings, numberConfigHelper } from '@aztec/foundation/config';
2
+ import { getConfigFromMappings, numberConfigHelper } from '@aztec/foundation/config';
3
3
  import { dataConfigMappings } from '@aztec/kv-store/config';
4
+ import { sharedNodeConfigMappings } from '@aztec/node-lib/config';
4
5
  import { p2pConfigMappings } from '@aztec/p2p/config';
5
6
  import { proverAgentConfigMappings, proverBrokerConfigMappings } from '@aztec/prover-client/broker';
6
7
  import { bbConfigMappings, proverClientConfigMappings } from '@aztec/prover-client/config';
@@ -49,11 +50,7 @@ export const proverNodeConfigMappings = {
49
50
  ...getTxSenderConfigMappings('PROVER'),
50
51
  ...proverCoordinationConfigMappings,
51
52
  ...specificProverNodeConfigMappings,
52
- testAccounts: {
53
- env: 'TEST_ACCOUNTS',
54
- description: 'Whether to populate the genesis state with initial fee juice for the test accounts.',
55
- ...booleanConfigHelper(false)
56
- }
53
+ ...sharedNodeConfigMappings
57
54
  };
58
55
  export function getProverNodeConfigFromEnv() {
59
56
  return getConfigFromMappings(proverNodeConfigMappings);
@@ -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;AAG9D,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,uBAgEP"}
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"}
package/dest/factory.js CHANGED
@@ -3,6 +3,7 @@ import { createBlobSinkClient } from '@aztec/blob-sink/client';
3
3
  import { EpochCache } from '@aztec/epoch-cache';
4
4
  import { L1TxUtils, RollupContract, createEthereumChain, createL1Clients } from '@aztec/ethereum';
5
5
  import { createLogger } from '@aztec/foundation/log';
6
+ import { trySnapshotSync } from '@aztec/node-lib/actions';
6
7
  import { createProverClient } from '@aztec/prover-client';
7
8
  import { createAndStartProvingBroker } from '@aztec/prover-client/broker';
8
9
  import { getTelemetryClient } from '@aztec/telemetry-client';
@@ -15,6 +16,7 @@ import { ProverNode } from './prover-node.js';
15
16
  const telemetry = deps.telemetry ?? getTelemetryClient();
16
17
  const blobSinkClient = deps.blobSinkClient ?? createBlobSinkClient(config);
17
18
  const log = deps.log ?? createLogger('prover-node');
19
+ await trySnapshotSync(config, log);
18
20
  const archiver = deps.archiver ?? await createArchiver(config, blobSinkClient, {
19
21
  blockUntilSync: true
20
22
  }, telemetry);
package/dest/metrics.d.ts CHANGED
@@ -15,6 +15,7 @@ export declare class ProverNodeMetrics {
15
15
  txCalldataGas: Histogram;
16
16
  txBlobDataGasUsed: Histogram;
17
17
  txBlobDataGasCost: Histogram;
18
+ txTotalFee: Histogram;
18
19
  private senderBalance;
19
20
  constructor(client: TelemetryClient, name?: string, logger?: import("@aztec/foundation/log").Logger);
20
21
  recordFailedTx(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAkB,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,SAAS,EAEd,KAAK,eAAe,EACpB,KAAK,aAAa,EAEnB,MAAM,yBAAyB,CAAC;AAIjC,qBAAa,iBAAiB;aAkBV,MAAM,EAAE,eAAe;IAEvC,OAAO,CAAC,MAAM;IAnBhB,4BAA4B,EAAE,SAAS,CAAC;IACxC,kBAAkB,EAAE,SAAS,CAAC;IAC9B,gBAAgB,EAAE,KAAK,CAAC;IACxB,sBAAsB,EAAE,KAAK,CAAC;IAE9B,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,SAAS,CAAC;IACtB,KAAK,EAAE,SAAS,CAAC;IACjB,cAAc,EAAE,SAAS,CAAC;IAC1B,aAAa,EAAE,SAAS,CAAC;IACzB,iBAAiB,EAAE,SAAS,CAAC;IAC7B,iBAAiB,EAAE,SAAS,CAAC;IAE7B,OAAO,CAAC,aAAa,CAAQ;gBAGX,MAAM,EAAE,eAAe,EACvC,IAAI,SAAe,EACX,MAAM,yCAAgD;IA2EhE,cAAc;IAOd,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB;IAIzD,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAOhG,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IAO7D,OAAO,CAAC,QAAQ;CA6BjB"}
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAkB,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,SAAS,EAEd,KAAK,eAAe,EACpB,KAAK,aAAa,EAEnB,MAAM,yBAAyB,CAAC;AAIjC,qBAAa,iBAAiB;aAmBV,MAAM,EAAE,eAAe;IAEvC,OAAO,CAAC,MAAM;IApBhB,4BAA4B,EAAE,SAAS,CAAC;IACxC,kBAAkB,EAAE,SAAS,CAAC;IAC9B,gBAAgB,EAAE,KAAK,CAAC;IACxB,sBAAsB,EAAE,KAAK,CAAC;IAE9B,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,SAAS,CAAC;IACtB,KAAK,EAAE,SAAS,CAAC;IACjB,cAAc,EAAE,SAAS,CAAC;IAC1B,aAAa,EAAE,SAAS,CAAC;IACzB,iBAAiB,EAAE,SAAS,CAAC;IAC7B,iBAAiB,EAAE,SAAS,CAAC;IAC7B,UAAU,EAAE,SAAS,CAAC;IAEtB,OAAO,CAAC,aAAa,CAAQ;gBAGX,MAAM,EAAE,eAAe,EACvC,IAAI,SAAe,EACX,MAAM,yCAAgD;IAsFhE,cAAc;IAOd,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB;IAIzD,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAOhG,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IAO7D,OAAO,CAAC,QAAQ;CAuCjB"}
package/dest/metrics.js CHANGED
@@ -16,6 +16,7 @@ export class ProverNodeMetrics {
16
16
  txCalldataGas;
17
17
  txBlobDataGasUsed;
18
18
  txBlobDataGasCost;
19
+ txTotalFee;
19
20
  senderBalance;
20
21
  constructor(client, name = 'ProverNode', logger = createLogger('prover-node:publisher:metrics')){
21
22
  this.client = client;
@@ -77,6 +78,32 @@ export class ProverNodeMetrics {
77
78
  unit: 'gwei',
78
79
  valueType: ValueType.INT
79
80
  });
81
+ this.txTotalFee = meter.createHistogram(Metrics.L1_PUBLISHER_TX_TOTAL_FEE, {
82
+ description: 'How much L1 tx costs',
83
+ unit: 'gwei',
84
+ valueType: ValueType.DOUBLE,
85
+ advice: {
86
+ explicitBucketBoundaries: [
87
+ 0.001,
88
+ 0.002,
89
+ 0.004,
90
+ 0.008,
91
+ 0.01,
92
+ 0.02,
93
+ 0.04,
94
+ 0.08,
95
+ 0.1,
96
+ 0.2,
97
+ 0.4,
98
+ 0.8,
99
+ 1,
100
+ 1.2,
101
+ 1.4,
102
+ 1.8,
103
+ 2
104
+ ]
105
+ }
106
+ });
80
107
  this.senderBalance = meter.createGauge(Metrics.L1_PUBLISHER_BALANCE, {
81
108
  unit: 'eth',
82
109
  description: 'The balance of the sender address',
@@ -125,5 +152,13 @@ export class ProverNodeMetrics {
125
152
  } catch (e) {
126
153
  // ignore
127
154
  }
155
+ const executionFee = stats.gasUsed * stats.gasPrice;
156
+ const blobFee = stats.blobGasUsed * stats.blobDataGas;
157
+ const totalFee = executionFee + blobFee;
158
+ try {
159
+ this.txTotalFee.record(parseFloat(formatEther(totalFee)));
160
+ } catch (e) {
161
+ // ignore
162
+ }
128
163
  }
129
164
  }
@@ -3,7 +3,7 @@ import type { P2P } from '@aztec/p2p';
3
3
  import { PublicProcessorFactory } from '@aztec/simulator/server';
4
4
  import type { L2Block, L2BlockSource } from '@aztec/stdlib/block';
5
5
  import type { ContractDataSource } from '@aztec/stdlib/contract';
6
- import { type EpochProverManager, type ProverCoordination, type ProverNodeApi, type Service, type WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
6
+ import { type EpochProverManager, type ProverCoordination, type ProverNodeApi, type Service, type WorldStateSyncStatus, type WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
7
7
  import type { L1ToL2MessageSource } from '@aztec/stdlib/messaging';
8
8
  import type { P2PClientType } from '@aztec/stdlib/p2p';
9
9
  import type { Tx } from '@aztec/stdlib/tx';
@@ -61,6 +61,10 @@ export declare class ProverNode implements EpochMonitorHandler, ProverNodeApi, T
61
61
  * Stops the prover node and all its dependencies.
62
62
  */
63
63
  stop(): Promise<void>;
64
+ /** Returns world state status. */
65
+ getWorldStateSyncStatus(): Promise<WorldStateSyncStatus>;
66
+ /** Returns archiver status. */
67
+ getL2Tips(): Promise<import("@aztec/stdlib/block").L2Tips>;
64
68
  /**
65
69
  * Starts a proving process and returns immediately.
66
70
  */
@@ -1 +1 @@
1
- {"version":3,"file":"prover-node.d.ts","sourceRoot":"","sources":["../src/prover-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prover-node.d.ts","sourceRoot":"","sources":["../src/prover-node.ts"],"names":[],"mappings":"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"}
@@ -127,6 +127,12 @@ import { ProverNodeMetrics } from './metrics.js';
127
127
  await this.telemetryClient.stop();
128
128
  this.log.info('Stopped ProverNode');
129
129
  }
130
+ /** Returns world state status. */ getWorldStateSyncStatus() {
131
+ return this.worldState.status().then((s)=>s.syncSummary);
132
+ }
133
+ /** Returns archiver status. */ getL2Tips() {
134
+ return this.l2BlockSource.getL2Tips();
135
+ }
130
136
  /**
131
137
  * Starts a proving process and returns immediately.
132
138
  */ async startProof(epochNumber) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,cAAM,eAAgB,SAAQ,UAAU;IACtB,MAAM,EAAG,kBAAkB,CAAC;IAC5B,SAAS,EAAG,mBAAmB,CAAC;CACjD;AAED,MAAM,MAAM,cAAc,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,cAAM,eAAgB,SAAQ,UAAU;IACvB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,mBAAmB,CAAC;CAC/C;AAED,MAAM,MAAM,cAAc,GAAG,eAAe,CAAC"}
@@ -1,5 +1,3 @@
1
1
  import { ProverNode } from '../prover-node.js';
2
2
  class TestProverNode_ extends ProverNode {
3
- prover;
4
- publisher;
5
3
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/prover-node",
3
- "version": "0.82.2",
3
+ "version": "0.82.3-nightly.20250330",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dest/index.js",
@@ -53,24 +53,25 @@
53
53
  ]
54
54
  },
55
55
  "dependencies": {
56
- "@aztec/archiver": "0.82.2",
57
- "@aztec/bb-prover": "0.82.2",
58
- "@aztec/blob-sink": "0.82.2",
59
- "@aztec/constants": "0.82.2",
60
- "@aztec/epoch-cache": "0.82.2",
61
- "@aztec/ethereum": "0.82.2",
62
- "@aztec/foundation": "0.82.2",
63
- "@aztec/kv-store": "0.82.2",
64
- "@aztec/l1-artifacts": "0.82.2",
65
- "@aztec/noir-protocol-circuits-types": "0.82.2",
66
- "@aztec/p2p": "0.82.2",
67
- "@aztec/protocol-contracts": "0.82.2",
68
- "@aztec/prover-client": "0.82.2",
69
- "@aztec/sequencer-client": "0.82.2",
70
- "@aztec/simulator": "0.82.2",
71
- "@aztec/stdlib": "0.82.2",
72
- "@aztec/telemetry-client": "0.82.2",
73
- "@aztec/world-state": "0.82.2",
56
+ "@aztec/archiver": "0.82.3-nightly.20250330",
57
+ "@aztec/bb-prover": "0.82.3-nightly.20250330",
58
+ "@aztec/blob-sink": "0.82.3-nightly.20250330",
59
+ "@aztec/constants": "0.82.3-nightly.20250330",
60
+ "@aztec/epoch-cache": "0.82.3-nightly.20250330",
61
+ "@aztec/ethereum": "0.82.3-nightly.20250330",
62
+ "@aztec/foundation": "0.82.3-nightly.20250330",
63
+ "@aztec/kv-store": "0.82.3-nightly.20250330",
64
+ "@aztec/l1-artifacts": "0.82.3-nightly.20250330",
65
+ "@aztec/node-lib": "0.82.3-nightly.20250330",
66
+ "@aztec/noir-protocol-circuits-types": "0.82.3-nightly.20250330",
67
+ "@aztec/p2p": "0.82.3-nightly.20250330",
68
+ "@aztec/protocol-contracts": "0.82.3-nightly.20250330",
69
+ "@aztec/prover-client": "0.82.3-nightly.20250330",
70
+ "@aztec/sequencer-client": "0.82.3-nightly.20250330",
71
+ "@aztec/simulator": "0.82.3-nightly.20250330",
72
+ "@aztec/stdlib": "0.82.3-nightly.20250330",
73
+ "@aztec/telemetry-client": "0.82.3-nightly.20250330",
74
+ "@aztec/world-state": "0.82.3-nightly.20250330",
74
75
  "source-map-support": "^0.5.21",
75
76
  "tslib": "^2.4.0",
76
77
  "viem": "2.23.7"
package/src/config.ts CHANGED
@@ -1,12 +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 {
4
- type ConfigMappingsType,
5
- booleanConfigHelper,
6
- getConfigFromMappings,
7
- numberConfigHelper,
8
- } from '@aztec/foundation/config';
3
+ import { type ConfigMappingsType, getConfigFromMappings, numberConfigHelper } from '@aztec/foundation/config';
9
4
  import { type DataStoreConfig, dataConfigMappings } from '@aztec/kv-store/config';
5
+ import { type SharedNodeConfig, sharedNodeConfigMappings } from '@aztec/node-lib/config';
10
6
  import { type P2PConfig, p2pConfigMappings } from '@aztec/p2p/config';
11
7
  import {
12
8
  type ProverAgentConfig,
@@ -33,10 +29,8 @@ export type ProverNodeConfig = ArchiverConfig &
33
29
  TxSenderConfig &
34
30
  DataStoreConfig &
35
31
  ProverCoordinationConfig &
36
- SpecificProverNodeConfig & {
37
- /** Whether to populate the genesis state with initial fee juice for the test accounts */
38
- testAccounts: boolean;
39
- };
32
+ SharedNodeConfig &
33
+ SpecificProverNodeConfig;
40
34
 
41
35
  type SpecificProverNodeConfig = {
42
36
  proverNodeMaxPendingJobs: number;
@@ -90,11 +84,7 @@ export const proverNodeConfigMappings: ConfigMappingsType<ProverNodeConfig> = {
90
84
  ...getTxSenderConfigMappings('PROVER'),
91
85
  ...proverCoordinationConfigMappings,
92
86
  ...specificProverNodeConfigMappings,
93
- testAccounts: {
94
- env: 'TEST_ACCOUNTS',
95
- description: 'Whether to populate the genesis state with initial fee juice for the test accounts.',
96
- ...booleanConfigHelper(false),
97
- },
87
+ ...sharedNodeConfigMappings,
98
88
  };
99
89
 
100
90
  export function getProverNodeConfigFromEnv(): ProverNodeConfig {
package/src/factory.ts CHANGED
@@ -4,6 +4,7 @@ import { EpochCache } from '@aztec/epoch-cache';
4
4
  import { L1TxUtils, RollupContract, createEthereumChain, createL1Clients } from '@aztec/ethereum';
5
5
  import { type Logger, createLogger } from '@aztec/foundation/log';
6
6
  import type { DataStoreConfig } from '@aztec/kv-store/config';
7
+ import { trySnapshotSync } from '@aztec/node-lib/actions';
7
8
  import { createProverClient } from '@aztec/prover-client';
8
9
  import { createAndStartProvingBroker } from '@aztec/prover-client/broker';
9
10
  import type { ProverCoordination, ProvingJobBroker } from '@aztec/stdlib/interfaces/server';
@@ -37,6 +38,9 @@ export async function createProverNode(
37
38
  const telemetry = deps.telemetry ?? getTelemetryClient();
38
39
  const blobSinkClient = deps.blobSinkClient ?? createBlobSinkClient(config);
39
40
  const log = deps.log ?? createLogger('prover-node');
41
+
42
+ await trySnapshotSync(config, log);
43
+
40
44
  const archiver = deps.archiver ?? (await createArchiver(config, blobSinkClient, { blockUntilSync: true }, telemetry));
41
45
  log.verbose(`Created archiver and synced to block ${await archiver.getBlockNumber()}`);
42
46
 
package/src/metrics.ts CHANGED
@@ -26,6 +26,7 @@ export class ProverNodeMetrics {
26
26
  txCalldataGas: Histogram;
27
27
  txBlobDataGasUsed: Histogram;
28
28
  txBlobDataGasCost: Histogram;
29
+ txTotalFee: Histogram;
29
30
 
30
31
  private senderBalance: Gauge;
31
32
 
@@ -100,6 +101,17 @@ export class ProverNodeMetrics {
100
101
  valueType: ValueType.INT,
101
102
  });
102
103
 
104
+ this.txTotalFee = meter.createHistogram(Metrics.L1_PUBLISHER_TX_TOTAL_FEE, {
105
+ description: 'How much L1 tx costs',
106
+ unit: 'gwei',
107
+ valueType: ValueType.DOUBLE,
108
+ advice: {
109
+ explicitBucketBoundaries: [
110
+ 0.001, 0.002, 0.004, 0.008, 0.01, 0.02, 0.04, 0.08, 0.1, 0.2, 0.4, 0.8, 1, 1.2, 1.4, 1.8, 2,
111
+ ],
112
+ },
113
+ });
114
+
103
115
  this.senderBalance = meter.createGauge(Metrics.L1_PUBLISHER_BALANCE, {
104
116
  unit: 'eth',
105
117
  description: 'The balance of the sender address',
@@ -160,5 +172,15 @@ export class ProverNodeMetrics {
160
172
  } catch (e) {
161
173
  // ignore
162
174
  }
175
+
176
+ const executionFee = stats.gasUsed * stats.gasPrice;
177
+ const blobFee = stats.blobGasUsed * stats.blobDataGas;
178
+ const totalFee = executionFee + blobFee;
179
+
180
+ try {
181
+ this.txTotalFee.record(parseFloat(formatEther(totalFee)));
182
+ } catch (e) {
183
+ // ignore
184
+ }
163
185
  }
164
186
  }
@@ -15,6 +15,7 @@ import {
15
15
  type ProverCoordination,
16
16
  type ProverNodeApi,
17
17
  type Service,
18
+ type WorldStateSyncStatus,
18
19
  type WorldStateSynchronizer,
19
20
  tryStop,
20
21
  } from '@aztec/stdlib/interfaces/server';
@@ -163,6 +164,16 @@ export class ProverNode implements EpochMonitorHandler, ProverNodeApi, Traceable
163
164
  this.log.info('Stopped ProverNode');
164
165
  }
165
166
 
167
+ /** Returns world state status. */
168
+ public getWorldStateSyncStatus(): Promise<WorldStateSyncStatus> {
169
+ return this.worldState.status().then(s => s.syncSummary);
170
+ }
171
+
172
+ /** Returns archiver status. */
173
+ public getL2Tips() {
174
+ return this.l2BlockSource.getL2Tips();
175
+ }
176
+
166
177
  /**
167
178
  * Starts a proving process and returns immediately.
168
179
  */
package/src/test/index.ts CHANGED
@@ -4,8 +4,8 @@ import type { ProverNodePublisher } from '../prover-node-publisher.js';
4
4
  import { ProverNode } from '../prover-node.js';
5
5
 
6
6
  class TestProverNode_ extends ProverNode {
7
- public override prover!: EpochProverManager;
8
- public override publisher!: ProverNodePublisher;
7
+ public declare prover: EpochProverManager;
8
+ public declare publisher: ProverNodePublisher;
9
9
  }
10
10
 
11
11
  export type TestProverNode = TestProverNode_;