@aztec/aztec-node 0.0.1-commit.5daedc8 → 0.0.1-commit.6201a7b05

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.
@@ -0,0 +1,21 @@
1
+ import { BlockNumber } from '@aztec/foundation/branded-types';
2
+ import { type BlockData, type BlockDataWithCheckpointContext, type CheckpointedL2Block, type CommitteeAttestation, L2Block } from '@aztec/stdlib/block';
3
+ import type { CheckpointData, PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
4
+ import { type BlockIncludeOptions, type BlockResponse, type CheckpointIncludeOptions, type CheckpointResponse } from '@aztec/stdlib/interfaces/client';
5
+ /** Projects a full {@link L2Block} into a {@link BlockResponse}, attaching L1 / attestation context when provided. */
6
+ export declare function blockResponseFromL2Block(block: L2Block, options: BlockIncludeOptions, context?: {
7
+ l1?: BlockDataWithCheckpointContext['l1'];
8
+ attestations?: CommitteeAttestation[];
9
+ }): Promise<BlockResponse>;
10
+ /** Projects metadata-only {@link BlockData} into a {@link BlockResponse}. */
11
+ export declare function blockResponseFromBlockData(data: BlockData, blockNumber: BlockNumber, options: BlockIncludeOptions, context?: {
12
+ l1?: BlockDataWithCheckpointContext['l1'];
13
+ attestations?: CommitteeAttestation[];
14
+ }): BlockResponse;
15
+ /** Projects a {@link CheckpointedL2Block} into a {@link BlockResponse}. */
16
+ export declare function blockResponseFromCheckpointedL2Block(cp: CheckpointedL2Block, options: BlockIncludeOptions): Promise<BlockResponse>;
17
+ /** Projects a {@link PublishedCheckpoint} into a {@link CheckpointResponse}. */
18
+ export declare function checkpointResponseFromPublishedCheckpoint(pc: PublishedCheckpoint, options: CheckpointIncludeOptions): Promise<CheckpointResponse>;
19
+ /** Projects metadata-only {@link CheckpointData} into a {@link CheckpointResponse}. `includeBlocks` is ignored (no blocks loaded). */
20
+ export declare function checkpointResponseFromCheckpointData(cd: CheckpointData, options: CheckpointIncludeOptions): CheckpointResponse;
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfcmVzcG9uc2VfaGVscGVycy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F6dGVjLW5vZGUvYmxvY2tfcmVzcG9uc2VfaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUNMLEtBQUssU0FBUyxFQUNkLEtBQUssOEJBQThCLEVBQ25DLEtBQUssbUJBQW1CLEVBQ3hCLEtBQUssb0JBQW9CLEVBQ3pCLE9BQU8sRUFDUixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BGLE9BQU8sRUFDTCxLQUFLLG1CQUFtQixFQUN4QixLQUFLLGFBQWEsRUFDbEIsS0FBSyx3QkFBd0IsRUFDN0IsS0FBSyxrQkFBa0IsRUFFeEIsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6QyxzSEFBc0g7QUFDdEgsd0JBQXNCLHdCQUF3QixDQUM1QyxLQUFLLEVBQUUsT0FBTyxFQUNkLE9BQU8sRUFBRSxtQkFBbUIsRUFDNUIsT0FBTyxDQUFDLEVBQUU7SUFBRSxFQUFFLENBQUMsRUFBRSw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUFDLFlBQVksQ0FBQyxFQUFFLG9CQUFvQixFQUFFLENBQUE7Q0FBRSxHQUM3RixPQUFPLENBQUMsYUFBYSxDQUFDLENBbUJ4QjtBQUVELDZFQUE2RTtBQUM3RSx3QkFBZ0IsMEJBQTBCLENBQ3hDLElBQUksRUFBRSxTQUFTLEVBQ2YsV0FBVyxFQUFFLFdBQVcsRUFDeEIsT0FBTyxFQUFFLG1CQUFtQixFQUM1QixPQUFPLENBQUMsRUFBRTtJQUFFLEVBQUUsQ0FBQyxFQUFFLDhCQUE4QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQUMsWUFBWSxDQUFDLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQTtDQUFFLEdBQzdGLGFBQWEsQ0FnQmY7QUFFRCwyRUFBMkU7QUFDM0Usd0JBQWdCLG9DQUFvQyxDQUNsRCxFQUFFLEVBQUUsbUJBQW1CLEVBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsR0FDM0IsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUV4QjtBQUVELGdGQUFnRjtBQUNoRix3QkFBc0IseUNBQXlDLENBQzdELEVBQUUsRUFBRSxtQkFBbUIsRUFDdkIsT0FBTyxFQUFFLHdCQUF3QixHQUNoQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0E0QjdCO0FBRUQsc0lBQXNJO0FBQ3RJLHdCQUFnQixvQ0FBb0MsQ0FDbEQsRUFBRSxFQUFFLGNBQWMsRUFDbEIsT0FBTyxFQUFFLHdCQUF3QixHQUNoQyxrQkFBa0IsQ0FpQnBCIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block_response_helpers.d.ts","sourceRoot":"","sources":["../../src/aztec-node/block_response_helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EACL,KAAK,SAAS,EACd,KAAK,8BAA8B,EACnC,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,OAAO,EACR,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpF,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EAExB,MAAM,iCAAiC,CAAC;AAEzC,sHAAsH;AACtH,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE;IAAE,EAAE,CAAC,EAAE,8BAA8B,CAAC,IAAI,CAAC,CAAC;IAAC,YAAY,CAAC,EAAE,oBAAoB,EAAE,CAAA;CAAE,GAC7F,OAAO,CAAC,aAAa,CAAC,CAmBxB;AAED,6EAA6E;AAC7E,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE;IAAE,EAAE,CAAC,EAAE,8BAA8B,CAAC,IAAI,CAAC,CAAC;IAAC,YAAY,CAAC,EAAE,oBAAoB,EAAE,CAAA;CAAE,GAC7F,aAAa,CAgBf;AAED,2EAA2E;AAC3E,wBAAgB,oCAAoC,CAClD,EAAE,EAAE,mBAAmB,EACvB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,aAAa,CAAC,CAExB;AAED,gFAAgF;AAChF,wBAAsB,yCAAyC,CAC7D,EAAE,EAAE,mBAAmB,EACvB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,kBAAkB,CAAC,CA4B7B;AAED,sIAAsI;AACtI,wBAAgB,oCAAoC,CAClD,EAAE,EAAE,cAAc,EAClB,OAAO,EAAE,wBAAwB,GAChC,kBAAkB,CAiBpB"}
@@ -0,0 +1,88 @@
1
+ import { BlockNumber } from '@aztec/foundation/branded-types';
2
+ import { l1PublishInfoFromL1PublishedData } from '@aztec/stdlib/interfaces/client';
3
+ /** Projects a full {@link L2Block} into a {@link BlockResponse}, attaching L1 / attestation context when provided. */ export async function blockResponseFromL2Block(block, options, context) {
4
+ const response = {
5
+ header: block.header,
6
+ archive: block.archive,
7
+ hash: await block.hash(),
8
+ checkpointNumber: block.checkpointNumber,
9
+ indexWithinCheckpoint: block.indexWithinCheckpoint,
10
+ number: block.number
11
+ };
12
+ if (options.includeTransactions) {
13
+ response.body = block.body;
14
+ }
15
+ if (options.includeL1PublishInfo) {
16
+ response.l1 = l1PublishInfoFromL1PublishedData(context?.l1);
17
+ }
18
+ if (options.includeAttestations) {
19
+ response.attestations = context?.attestations ?? [];
20
+ }
21
+ return response;
22
+ }
23
+ /** Projects metadata-only {@link BlockData} into a {@link BlockResponse}. */ export function blockResponseFromBlockData(data, blockNumber, options, context) {
24
+ const response = {
25
+ header: data.header,
26
+ archive: data.archive,
27
+ hash: data.blockHash,
28
+ checkpointNumber: data.checkpointNumber,
29
+ indexWithinCheckpoint: data.indexWithinCheckpoint,
30
+ number: blockNumber
31
+ };
32
+ if (options.includeL1PublishInfo) {
33
+ response.l1 = l1PublishInfoFromL1PublishedData(context?.l1);
34
+ }
35
+ if (options.includeAttestations) {
36
+ response.attestations = context?.attestations ?? [];
37
+ }
38
+ return response;
39
+ }
40
+ /** Projects a {@link CheckpointedL2Block} into a {@link BlockResponse}. */ export function blockResponseFromCheckpointedL2Block(cp, options) {
41
+ return blockResponseFromL2Block(cp.block, options, {
42
+ l1: cp.l1,
43
+ attestations: cp.attestations
44
+ });
45
+ }
46
+ /** Projects a {@link PublishedCheckpoint} into a {@link CheckpointResponse}. */ export async function checkpointResponseFromPublishedCheckpoint(pc, options) {
47
+ const response = {
48
+ number: pc.checkpoint.number,
49
+ header: pc.checkpoint.header,
50
+ archive: pc.checkpoint.archive,
51
+ checkpointOutHash: pc.checkpoint.getCheckpointOutHash(),
52
+ startBlock: pc.checkpoint.blocks[0]?.number ?? BlockNumber.ZERO,
53
+ blockCount: pc.checkpoint.blocks.length,
54
+ feeAssetPriceModifier: pc.checkpoint.feeAssetPriceModifier
55
+ };
56
+ if (options.includeBlocks) {
57
+ response.blocks = await Promise.all(pc.checkpoint.blocks.map((block)=>blockResponseFromL2Block(block, {
58
+ includeTransactions: options.includeTransactions,
59
+ includeL1PublishInfo: false,
60
+ includeAttestations: false
61
+ })));
62
+ }
63
+ if (options.includeL1PublishInfo) {
64
+ response.l1 = l1PublishInfoFromL1PublishedData(pc.l1);
65
+ }
66
+ if (options.includeAttestations) {
67
+ response.attestations = pc.attestations;
68
+ }
69
+ return response;
70
+ }
71
+ /** Projects metadata-only {@link CheckpointData} into a {@link CheckpointResponse}. `includeBlocks` is ignored (no blocks loaded). */ export function checkpointResponseFromCheckpointData(cd, options) {
72
+ const response = {
73
+ number: cd.checkpointNumber,
74
+ header: cd.header,
75
+ archive: cd.archive,
76
+ checkpointOutHash: cd.checkpointOutHash,
77
+ startBlock: cd.startBlock,
78
+ blockCount: cd.blockCount,
79
+ feeAssetPriceModifier: cd.feeAssetPriceModifier
80
+ };
81
+ if (options.includeL1PublishInfo) {
82
+ response.l1 = l1PublishInfoFromL1PublishedData(cd.l1);
83
+ }
84
+ if (options.includeAttestations) {
85
+ response.attestations = cd.attestations;
86
+ }
87
+ return response;
88
+ }
@@ -1,14 +1,16 @@
1
1
  import { type ArchiverConfig } from '@aztec/archiver/config';
2
- import { type GenesisStateConfig, type L1ContractAddresses } from '@aztec/ethereum';
2
+ import { type GenesisStateConfig } from '@aztec/ethereum/config';
3
+ import { type L1ContractAddresses } from '@aztec/ethereum/l1-contract-addresses';
3
4
  import { type ConfigMappingsType } from '@aztec/foundation/config';
4
- import { type DataStoreConfig } from '@aztec/kv-store/config';
5
5
  import { type KeyStore } from '@aztec/node-keystore';
6
6
  import { type SharedNodeConfig } from '@aztec/node-lib/config';
7
7
  import { type P2PConfig } from '@aztec/p2p/config';
8
8
  import { type ProverClientUserConfig } from '@aztec/prover-client/config';
9
- import { type SequencerClientConfig, type TxSenderConfig, sequencerClientConfigMappings } from '@aztec/sequencer-client/config';
9
+ import { type ProverNodeConfig } from '@aztec/prover-node/config';
10
+ import { type SequencerClientConfig, type SequencerTxSenderConfig, sequencerClientConfigMappings } from '@aztec/sequencer-client/config';
10
11
  import { type NodeRPCConfig } from '@aztec/stdlib/config';
11
12
  import type { SlasherConfig } from '@aztec/stdlib/interfaces/server';
13
+ import { type DataStoreConfig } from '@aztec/stdlib/kv-store';
12
14
  import { type ValidatorClientConfig } from '@aztec/validator-client/config';
13
15
  import { type WorldStateConfig } from '@aztec/world-state/config';
14
16
  import { type SentinelConfig } from '../sentinel/config.js';
@@ -16,13 +18,17 @@ export { sequencerClientConfigMappings, type SequencerClientConfig };
16
18
  /**
17
19
  * The configuration the aztec node.
18
20
  */
19
- export type AztecNodeConfig = ArchiverConfig & SequencerClientConfig & ValidatorClientConfig & ProverClientUserConfig & WorldStateConfig & Pick<ProverClientUserConfig, 'bbBinaryPath' | 'bbWorkingDirectory' | 'realProofs'> & P2PConfig & DataStoreConfig & SentinelConfig & SharedNodeConfig & GenesisStateConfig & NodeRPCConfig & SlasherConfig & {
21
+ export type AztecNodeConfig = ArchiverConfig & SequencerClientConfig & ValidatorClientConfig & ProverClientUserConfig & WorldStateConfig & Pick<ProverClientUserConfig, 'bbBinaryPath' | 'bbWorkingDirectory' | 'realProofs'> & P2PConfig & DataStoreConfig & SentinelConfig & SharedNodeConfig & GenesisStateConfig & NodeRPCConfig & SlasherConfig & ProverNodeConfig & {
20
22
  /** L1 contracts addresses */
21
23
  l1Contracts: L1ContractAddresses;
22
24
  /** Whether the validator is disabled for this node */
23
25
  disableValidator: boolean;
24
26
  /** Whether to skip waiting for the archiver to be fully synced before starting other services */
25
27
  skipArchiverInitialSync: boolean;
28
+ /** A flag to force verification of tx Chonk proofs. Only used for testnet */
29
+ debugForceTxProofVerification: boolean;
30
+ /** Whether to enable the prover node as a subsystem. */
31
+ enableProverNode: boolean;
26
32
  };
27
33
  export declare const aztecNodeConfigMappings: ConfigMappingsType<AztecNodeConfig>;
28
34
  /**
@@ -30,5 +36,5 @@ export declare const aztecNodeConfigMappings: ConfigMappingsType<AztecNodeConfig
30
36
  * @returns A valid aztec node config.
31
37
  */
32
38
  export declare function getConfigEnvVars(): AztecNodeConfig;
33
- export declare function createKeyStoreForValidator(config: TxSenderConfig & SequencerClientConfig & SharedNodeConfig): KeyStore | undefined;
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp0ZWMtbm9kZS9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssY0FBYyxFQUEwQixNQUFNLHdCQUF3QixDQUFDO0FBQ3JGLE9BQU8sRUFDTCxLQUFLLGtCQUFrQixFQUN2QixLQUFLLG1CQUFtQixFQUd6QixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUE4QyxNQUFNLDBCQUEwQixDQUFDO0FBRS9HLE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBc0IsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRixPQUFPLEVBQ0wsS0FBSyxRQUFRLEVBSWQsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBNEIsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RixPQUFPLEVBQUUsS0FBSyxTQUFTLEVBQXFCLE1BQU0sbUJBQW1CLENBQUM7QUFDdEUsT0FBTyxFQUFFLEtBQUssc0JBQXNCLEVBQThCLE1BQU0sNkJBQTZCLENBQUM7QUFDdEcsT0FBTyxFQUNMLEtBQUsscUJBQXFCLEVBQzFCLEtBQUssY0FBYyxFQUNuQiw2QkFBNkIsRUFDOUIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUd4QyxPQUFPLEVBQUUsS0FBSyxhQUFhLEVBQXlCLE1BQU0sc0JBQXNCLENBQUM7QUFDakYsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLEtBQUsscUJBQXFCLEVBQWlDLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0csT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQTRCLE1BQU0sMkJBQTJCLENBQUM7QUFJNUYsT0FBTyxFQUFFLEtBQUssY0FBYyxFQUEwQixNQUFNLHVCQUF1QixDQUFDO0FBRXBGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxLQUFLLHFCQUFxQixFQUFFLENBQUM7QUFFckU7O0dBRUc7QUFDSCxNQUFNLE1BQU0sZUFBZSxHQUFHLGNBQWMsR0FDMUMscUJBQXFCLEdBQ3JCLHFCQUFxQixHQUNyQixzQkFBc0IsR0FDdEIsZ0JBQWdCLEdBQ2hCLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxjQUFjLEdBQUcsb0JBQW9CLEdBQUcsWUFBWSxDQUFDLEdBQ2xGLFNBQVMsR0FDVCxlQUFlLEdBQ2YsY0FBYyxHQUNkLGdCQUFnQixHQUNoQixrQkFBa0IsR0FDbEIsYUFBYSxHQUNiLGFBQWEsR0FBRztJQUNkLDZCQUE2QjtJQUM3QixXQUFXLEVBQUUsbUJBQW1CLENBQUM7SUFDakMsc0RBQXNEO0lBQ3RELGdCQUFnQixFQUFFLE9BQU8sQ0FBQztJQUMxQixpR0FBaUc7SUFDakcsdUJBQXVCLEVBQUUsT0FBTyxDQUFDO0NBQ2xDLENBQUM7QUFFSixlQUFPLE1BQU0sdUJBQXVCLEVBQUUsa0JBQWtCLENBQUMsZUFBZSxDQTRCdkUsQ0FBQztBQUVGOzs7R0FHRztBQUNILHdCQUFnQixnQkFBZ0IsSUFBSSxlQUFlLENBRWxEO0FBb0VELHdCQUFnQiwwQkFBMEIsQ0FDeEMsTUFBTSxFQUFFLGNBQWMsR0FBRyxxQkFBcUIsR0FBRyxnQkFBZ0IsR0FDaEUsUUFBUSxHQUFHLFNBQVMsQ0FNdEIifQ==
39
+ export declare function createKeyStoreForValidator(config: SequencerTxSenderConfig & SequencerClientConfig & SharedNodeConfig): KeyStore | undefined;
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp0ZWMtbm9kZS9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssY0FBYyxFQUEwQixNQUFNLHdCQUF3QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUE4QixNQUFNLHdCQUF3QixDQUFDO0FBQzdGLE9BQU8sRUFBRSxLQUFLLG1CQUFtQixFQUE4QixNQUFNLHVDQUF1QyxDQUFDO0FBQzdHLE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUE4QyxNQUFNLDBCQUEwQixDQUFDO0FBRS9HLE9BQU8sRUFDTCxLQUFLLFFBQVEsRUFJZCxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUE0QixNQUFNLHdCQUF3QixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBcUIsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsS0FBSyxzQkFBc0IsRUFBOEIsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RyxPQUFPLEVBQ0wsS0FBSyxnQkFBZ0IsRUFHdEIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQ0wsS0FBSyxxQkFBcUIsRUFDMUIsS0FBSyx1QkFBdUIsRUFDNUIsNkJBQTZCLEVBQzlCLE1BQU0sZ0NBQWdDLENBQUM7QUFHeEMsT0FBTyxFQUFFLEtBQUssYUFBYSxFQUF5QixNQUFNLHNCQUFzQixDQUFDO0FBQ2pGLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBc0IsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsS0FBSyxxQkFBcUIsRUFBaUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRyxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBNEIsTUFBTSwyQkFBMkIsQ0FBQztBQUk1RixPQUFPLEVBQUUsS0FBSyxjQUFjLEVBQTBCLE1BQU0sdUJBQXVCLENBQUM7QUFFcEYsT0FBTyxFQUFFLDZCQUE2QixFQUFFLEtBQUsscUJBQXFCLEVBQUUsQ0FBQztBQUVyRTs7R0FFRztBQUNILE1BQU0sTUFBTSxlQUFlLEdBQUcsY0FBYyxHQUMxQyxxQkFBcUIsR0FDckIscUJBQXFCLEdBQ3JCLHNCQUFzQixHQUN0QixnQkFBZ0IsR0FDaEIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLGNBQWMsR0FBRyxvQkFBb0IsR0FBRyxZQUFZLENBQUMsR0FDbEYsU0FBUyxHQUNULGVBQWUsR0FDZixjQUFjLEdBQ2QsZ0JBQWdCLEdBQ2hCLGtCQUFrQixHQUNsQixhQUFhLEdBQ2IsYUFBYSxHQUNiLGdCQUFnQixHQUFHO0lBQ2pCLDZCQUE2QjtJQUM3QixXQUFXLEVBQUUsbUJBQW1CLENBQUM7SUFDakMsc0RBQXNEO0lBQ3RELGdCQUFnQixFQUFFLE9BQU8sQ0FBQztJQUMxQixpR0FBaUc7SUFDakcsdUJBQXVCLEVBQUUsT0FBTyxDQUFDO0lBQ2pDLDZFQUE2RTtJQUM3RSw2QkFBNkIsRUFBRSxPQUFPLENBQUM7SUFDdkMsd0RBQXdEO0lBQ3hELGdCQUFnQixFQUFFLE9BQU8sQ0FBQztDQUMzQixDQUFDO0FBRUosZUFBTyxNQUFNLHVCQUF1QixFQUFFLGtCQUFrQixDQUFDLGVBQWUsQ0F3Q3ZFLENBQUM7QUFFRjs7O0dBR0c7QUFDSCx3QkFBZ0IsZ0JBQWdCLElBQUksZUFBZSxDQUVsRDtBQXNFRCx3QkFBZ0IsMEJBQTBCLENBQ3hDLE1BQU0sRUFBRSx1QkFBdUIsR0FBRyxxQkFBcUIsR0FBRyxnQkFBZ0IsR0FDekUsUUFBUSxHQUFHLFNBQVMsQ0FNdEIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/aztec-node/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,wBAAwB,CAAC;AACrF,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EAGzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,kBAAkB,EAA8C,MAAM,0BAA0B,CAAC;AAE/G,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAClF,OAAO,EACL,KAAK,QAAQ,EAId,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,KAAK,sBAAsB,EAA8B,MAAM,6BAA6B,CAAC;AACtG,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,6BAA6B,EAC9B,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,KAAK,aAAa,EAAyB,MAAM,sBAAsB,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,KAAK,qBAAqB,EAAiC,MAAM,gCAAgC,CAAC;AAC3G,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,2BAA2B,CAAC;AAI5F,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,uBAAuB,CAAC;AAEpF,OAAO,EAAE,6BAA6B,EAAE,KAAK,qBAAqB,EAAE,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,cAAc,GAC1C,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,gBAAgB,GAChB,IAAI,CAAC,sBAAsB,EAAE,cAAc,GAAG,oBAAoB,GAAG,YAAY,CAAC,GAClF,SAAS,GACT,eAAe,GACf,cAAc,GACd,gBAAgB,GAChB,kBAAkB,GAClB,aAAa,GACb,aAAa,GAAG;IACd,6BAA6B;IAC7B,WAAW,EAAE,mBAAmB,CAAC;IACjC,sDAAsD;IACtD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iGAAiG;IACjG,uBAAuB,EAAE,OAAO,CAAC;CAClC,CAAC;AAEJ,eAAO,MAAM,uBAAuB,EAAE,kBAAkB,CAAC,eAAe,CA4BvE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,eAAe,CAElD;AAoED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,cAAc,GAAG,qBAAqB,GAAG,gBAAgB,GAChE,QAAQ,GAAG,SAAS,CAMtB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/aztec-node/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,KAAK,kBAAkB,EAA8B,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,KAAK,mBAAmB,EAA8B,MAAM,uCAAuC,CAAC;AAC7G,OAAO,EAAE,KAAK,kBAAkB,EAA8C,MAAM,0BAA0B,CAAC;AAE/G,OAAO,EACL,KAAK,QAAQ,EAId,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,KAAK,sBAAsB,EAA8B,MAAM,6BAA6B,CAAC;AACtG,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,6BAA6B,EAC9B,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,KAAK,aAAa,EAAyB,MAAM,sBAAsB,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,KAAK,qBAAqB,EAAiC,MAAM,gCAAgC,CAAC;AAC3G,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,2BAA2B,CAAC;AAI5F,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,uBAAuB,CAAC;AAEpF,OAAO,EAAE,6BAA6B,EAAE,KAAK,qBAAqB,EAAE,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,cAAc,GAC1C,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,gBAAgB,GAChB,IAAI,CAAC,sBAAsB,EAAE,cAAc,GAAG,oBAAoB,GAAG,YAAY,CAAC,GAClF,SAAS,GACT,eAAe,GACf,cAAc,GACd,gBAAgB,GAChB,kBAAkB,GAClB,aAAa,GACb,aAAa,GACb,gBAAgB,GAAG;IACjB,6BAA6B;IAC7B,WAAW,EAAE,mBAAmB,CAAC;IACjC,sDAAsD;IACtD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iGAAiG;IACjG,uBAAuB,EAAE,OAAO,CAAC;IACjC,6EAA6E;IAC7E,6BAA6B,EAAE,OAAO,CAAC;IACvC,wDAAwD;IACxD,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEJ,eAAO,MAAM,uBAAuB,EAAE,kBAAkB,CAAC,eAAe,CAwCvE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,eAAe,CAElD;AAsED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,uBAAuB,GAAG,qBAAqB,GAAG,gBAAgB,GACzE,QAAQ,GAAG,SAAS,CAMtB"}
@@ -1,16 +1,18 @@
1
1
  import { archiverConfigMappings } from '@aztec/archiver/config';
2
- import { genesisStateConfigMappings, l1ContractAddressesMapping } from '@aztec/ethereum';
2
+ import { genesisStateConfigMappings } from '@aztec/ethereum/config';
3
+ import { l1ContractAddressesMapping } from '@aztec/ethereum/l1-contract-addresses';
3
4
  import { booleanConfigHelper, getConfigFromMappings } from '@aztec/foundation/config';
4
5
  import { EthAddress } from '@aztec/foundation/eth-address';
5
- import { dataConfigMappings } from '@aztec/kv-store/config';
6
6
  import { ethPrivateKeySchema, keyStoreConfigMappings } from '@aztec/node-keystore';
7
7
  import { sharedNodeConfigMappings } from '@aztec/node-lib/config';
8
8
  import { p2pConfigMappings } from '@aztec/p2p/config';
9
9
  import { proverClientConfigMappings } from '@aztec/prover-client/config';
10
+ import { proverNodeConfigMappings, specificProverNodeConfigMappings } from '@aztec/prover-node/config';
10
11
  import { sequencerClientConfigMappings } from '@aztec/sequencer-client/config';
11
12
  import { slasherConfigMappings } from '@aztec/slasher';
12
13
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
13
14
  import { nodeRpcConfigMappings } from '@aztec/stdlib/config';
15
+ import { dataConfigMappings } from '@aztec/stdlib/kv-store';
14
16
  import { validatorClientConfigMappings } from '@aztec/validator-client/config';
15
17
  import { worldStateConfigMappings } from '@aztec/world-state/config';
16
18
  import { privateKeyToAddress } from 'viem/accounts';
@@ -21,6 +23,7 @@ export const aztecNodeConfigMappings = {
21
23
  ...keyStoreConfigMappings,
22
24
  ...archiverConfigMappings,
23
25
  ...sequencerClientConfigMappings,
26
+ ...proverNodeConfigMappings,
24
27
  ...validatorClientConfigMappings,
25
28
  ...proverClientConfigMappings,
26
29
  ...worldStateConfigMappings,
@@ -30,6 +33,7 @@ export const aztecNodeConfigMappings = {
30
33
  ...genesisStateConfigMappings,
31
34
  ...nodeRpcConfigMappings,
32
35
  ...slasherConfigMappings,
36
+ ...specificProverNodeConfigMappings,
33
37
  l1Contracts: {
34
38
  description: 'The deployed L1 contract addresses',
35
39
  nested: l1ContractAddressesMapping
@@ -43,6 +47,16 @@ export const aztecNodeConfigMappings = {
43
47
  env: 'SKIP_ARCHIVER_INITIAL_SYNC',
44
48
  description: 'Whether to skip waiting for the archiver to be fully synced before starting other services.',
45
49
  ...booleanConfigHelper(false)
50
+ },
51
+ debugForceTxProofVerification: {
52
+ env: 'DEBUG_FORCE_TX_PROOF_VERIFICATION',
53
+ description: 'Whether to skip waiting for the archiver to be fully synced before starting other services.',
54
+ ...booleanConfigHelper(false)
55
+ },
56
+ enableProverNode: {
57
+ env: 'ENABLE_PROVER_NODE',
58
+ description: 'Whether to enable the prover node as a subsystem.',
59
+ ...booleanConfigHelper(false)
46
60
  }
47
61
  };
48
62
  /**
@@ -61,7 +75,7 @@ function createKeyStoreFromWeb3Signer(config) {
61
75
  feeRecipient: config.feeRecipient ?? AztecAddress.ZERO,
62
76
  coinbase: config.coinbase ?? config.validatorAddresses[0],
63
77
  remoteSigner: config.web3SignerUrl,
64
- publisher: config.publisherAddresses ?? []
78
+ publisher: config.sequencerPublisherAddresses ?? []
65
79
  });
66
80
  const keyStore = {
67
81
  schemaVersion: 1,
@@ -80,7 +94,7 @@ function createKeyStoreFromPrivateKeys(config) {
80
94
  }
81
95
  const coinbase = config.coinbase ?? EthAddress.fromString(privateKeyToAddress(ethPrivateKeys[0]));
82
96
  const feeRecipient = config.feeRecipient ?? AztecAddress.ZERO;
83
- const publisherKeys = config.publisherPrivateKeys ? config.publisherPrivateKeys.map((k)=>ethPrivateKeySchema.parse(k.getValue())) : [];
97
+ const publisherKeys = config.sequencerPublisherPrivateKeys ? config.sequencerPublisherPrivateKeys.map((k)=>ethPrivateKeySchema.parse(k.getValue())) : [];
84
98
  validatorKeyStores.push({
85
99
  attester: ethPrivateKeys,
86
100
  feeRecipient: feeRecipient,
@@ -9,4 +9,4 @@ export declare class NodeMetrics {
9
9
  recordSnapshot(durationMs: number): void;
10
10
  recordSnapshotError(): void;
11
11
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZV9tZXRyaWNzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp0ZWMtbm9kZS9ub2RlX21ldHJpY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlMLEtBQUssZUFBZSxFQUdyQixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLHFCQUFhLFdBQVc7SUFDdEIsT0FBTyxDQUFDLGNBQWMsQ0FBZ0I7SUFDdEMsT0FBTyxDQUFDLGlCQUFpQixDQUFZO0lBRXJDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBZ0I7SUFDMUMsT0FBTyxDQUFDLGdCQUFnQixDQUFZO0lBRXBDLFlBQVksTUFBTSxFQUFFLGVBQWUsRUFBRSxJQUFJLFNBQWMsRUFxQnREO0lBRUQsVUFBVSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sUUFPakQ7SUFFRCxjQUFjLENBQUMsVUFBVSxFQUFFLE1BQU0sUUFNaEM7SUFFRCxtQkFBbUIsU0FFbEI7Q0FDRiJ9
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZV9tZXRyaWNzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp0ZWMtbm9kZS9ub2RlX21ldHJpY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlMLEtBQUssZUFBZSxFQUdyQixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLHFCQUFhLFdBQVc7SUFDdEIsT0FBTyxDQUFDLGNBQWMsQ0FBZ0I7SUFDdEMsT0FBTyxDQUFDLGlCQUFpQixDQUFZO0lBRXJDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBZ0I7SUFDMUMsT0FBTyxDQUFDLGdCQUFnQixDQUFZO0lBRXBDLFlBQVksTUFBTSxFQUFFLGVBQWUsRUFBRSxJQUFJLFNBQWMsRUFVdEQ7SUFFRCxVQUFVLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsT0FBTyxRQU9qRDtJQUVELGNBQWMsQ0FBQyxVQUFVLEVBQUUsTUFBTSxRQU1oQztJQUVELG1CQUFtQixTQUVsQjtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"node_metrics.d.ts","sourceRoot":"","sources":["../../src/aztec-node/node_metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,eAAe,EAGrB,MAAM,yBAAyB,CAAC;AAEjC,qBAAa,WAAW;IACtB,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,iBAAiB,CAAY;IAErC,OAAO,CAAC,kBAAkB,CAAgB;IAC1C,OAAO,CAAC,gBAAgB,CAAY;IAEpC,YAAY,MAAM,EAAE,eAAe,EAAE,IAAI,SAAc,EAqBtD;IAED,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,QAOjD;IAED,cAAc,CAAC,UAAU,EAAE,MAAM,QAMhC;IAED,mBAAmB,SAElB;CACF"}
1
+ {"version":3,"file":"node_metrics.d.ts","sourceRoot":"","sources":["../../src/aztec-node/node_metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,eAAe,EAGrB,MAAM,yBAAyB,CAAC;AAEjC,qBAAa,WAAW;IACtB,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,iBAAiB,CAAY;IAErC,OAAO,CAAC,kBAAkB,CAAgB;IAC1C,OAAO,CAAC,gBAAgB,CAAY;IAEpC,YAAY,MAAM,EAAE,eAAe,EAAE,IAAI,SAAc,EAUtD;IAED,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,QAOjD;IAED,cAAc,CAAC,UAAU,EAAE,MAAM,QAMhC;IAED,mBAAmB,SAElB;CACF"}
@@ -1,4 +1,4 @@
1
- import { Attributes, Metrics, ValueType } from '@aztec/telemetry-client';
1
+ import { Attributes, Metrics, createUpDownCounterWithDefault } from '@aztec/telemetry-client';
2
2
  export class NodeMetrics {
3
3
  receiveTxCount;
4
4
  receiveTxDuration;
@@ -6,22 +6,15 @@ export class NodeMetrics {
6
6
  snapshotDuration;
7
7
  constructor(client, name = 'AztecNode'){
8
8
  const meter = client.getMeter(name);
9
- this.receiveTxCount = meter.createUpDownCounter(Metrics.NODE_RECEIVE_TX_COUNT, {});
10
- this.receiveTxDuration = meter.createHistogram(Metrics.NODE_RECEIVE_TX_DURATION, {
11
- description: 'The duration of the receiveTx method',
12
- unit: 'ms',
13
- valueType: ValueType.INT
9
+ this.receiveTxCount = createUpDownCounterWithDefault(meter, Metrics.NODE_RECEIVE_TX_COUNT, {
10
+ [Attributes.OK]: [
11
+ true,
12
+ false
13
+ ]
14
14
  });
15
- this.snapshotDuration = meter.createHistogram(Metrics.NODE_SNAPSHOT_DURATION, {
16
- description: 'How long taking a snapshot takes',
17
- unit: 'ms',
18
- valueType: ValueType.INT
19
- });
20
- this.snapshotErrorCount = meter.createUpDownCounter(Metrics.NODE_SNAPSHOT_ERROR_COUNT, {
21
- description: 'How many snapshot errors have happened',
22
- valueType: ValueType.INT
23
- });
24
- this.snapshotErrorCount.add(0);
15
+ this.receiveTxDuration = meter.createHistogram(Metrics.NODE_RECEIVE_TX_DURATION);
16
+ this.snapshotDuration = meter.createHistogram(Metrics.NODE_SNAPSHOT_DURATION);
17
+ this.snapshotErrorCount = createUpDownCounterWithDefault(meter, Metrics.NODE_SNAPSHOT_ERROR_COUNT);
25
18
  }
26
19
  receivedTx(durationMs, isAccepted) {
27
20
  this.receiveTxDuration.record(Math.ceil(durationMs), {