@aztec/aztec-node 0.0.0-test.1 → 0.0.1-commit.b655e406

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.
Files changed (47) hide show
  1. package/dest/aztec-node/config.d.ts +14 -9
  2. package/dest/aztec-node/config.d.ts.map +1 -1
  3. package/dest/aztec-node/config.js +75 -14
  4. package/dest/aztec-node/node_metrics.d.ts +4 -0
  5. package/dest/aztec-node/node_metrics.d.ts.map +1 -1
  6. package/dest/aztec-node/node_metrics.js +21 -0
  7. package/dest/aztec-node/server.d.ts +90 -50
  8. package/dest/aztec-node/server.d.ts.map +1 -1
  9. package/dest/aztec-node/server.js +526 -218
  10. package/dest/bin/index.js +4 -2
  11. package/dest/index.d.ts +0 -1
  12. package/dest/index.d.ts.map +1 -1
  13. package/dest/index.js +0 -1
  14. package/dest/sentinel/config.d.ts +8 -0
  15. package/dest/sentinel/config.d.ts.map +1 -0
  16. package/dest/sentinel/config.js +29 -0
  17. package/dest/sentinel/factory.d.ts +9 -0
  18. package/dest/sentinel/factory.d.ts.map +1 -0
  19. package/dest/sentinel/factory.js +17 -0
  20. package/dest/sentinel/index.d.ts +3 -0
  21. package/dest/sentinel/index.d.ts.map +1 -0
  22. package/dest/sentinel/index.js +1 -0
  23. package/dest/sentinel/sentinel.d.ts +91 -0
  24. package/dest/sentinel/sentinel.d.ts.map +1 -0
  25. package/dest/sentinel/sentinel.js +391 -0
  26. package/dest/sentinel/store.d.ts +34 -0
  27. package/dest/sentinel/store.d.ts.map +1 -0
  28. package/dest/sentinel/store.js +169 -0
  29. package/dest/test/index.d.ts +31 -0
  30. package/dest/test/index.d.ts.map +1 -0
  31. package/dest/test/index.js +1 -0
  32. package/package.json +42 -32
  33. package/src/aztec-node/config.ts +128 -25
  34. package/src/aztec-node/node_metrics.ts +28 -0
  35. package/src/aztec-node/server.ts +684 -278
  36. package/src/bin/index.ts +4 -2
  37. package/src/index.ts +0 -1
  38. package/src/sentinel/config.ts +37 -0
  39. package/src/sentinel/factory.ts +36 -0
  40. package/src/sentinel/index.ts +8 -0
  41. package/src/sentinel/sentinel.ts +489 -0
  42. package/src/sentinel/store.ts +184 -0
  43. package/src/test/index.ts +32 -0
  44. package/dest/aztec-node/http_rpc_server.d.ts +0 -8
  45. package/dest/aztec-node/http_rpc_server.d.ts.map +0 -1
  46. package/dest/aztec-node/http_rpc_server.js +0 -9
  47. package/src/aztec-node/http_rpc_server.ts +0 -11
@@ -1,20 +1,28 @@
1
1
  import { type ArchiverConfig } from '@aztec/archiver/config';
2
+ import { type GenesisStateConfig, type L1ContractAddresses } from '@aztec/ethereum';
2
3
  import { type ConfigMappingsType } from '@aztec/foundation/config';
3
4
  import { type DataStoreConfig } from '@aztec/kv-store/config';
5
+ import { type KeyStore } from '@aztec/node-keystore';
6
+ import { type SharedNodeConfig } from '@aztec/node-lib/config';
4
7
  import { type P2PConfig } from '@aztec/p2p/config';
5
- import { type ProverClientConfig } from '@aztec/prover-client/config';
6
- import { type SequencerClientConfig, sequencerClientConfigMappings } from '@aztec/sequencer-client/config';
8
+ import { type ProverClientUserConfig } from '@aztec/prover-client/config';
9
+ import { type SequencerClientConfig, type TxSenderConfig, sequencerClientConfigMappings } from '@aztec/sequencer-client/config';
10
+ import { type NodeRPCConfig } from '@aztec/stdlib/config';
11
+ import type { SlasherConfig } from '@aztec/stdlib/interfaces/server';
7
12
  import { type ValidatorClientConfig } from '@aztec/validator-client/config';
8
13
  import { type WorldStateConfig } from '@aztec/world-state/config';
14
+ import { type SentinelConfig } from '../sentinel/config.js';
9
15
  export { sequencerClientConfigMappings, type SequencerClientConfig };
10
16
  /**
11
17
  * The configuration the aztec node.
12
18
  */
13
- export type AztecNodeConfig = ArchiverConfig & SequencerClientConfig & ValidatorClientConfig & ProverClientConfig & WorldStateConfig & Pick<ProverClientConfig, 'bbBinaryPath' | 'bbWorkingDirectory' | 'realProofs'> & P2PConfig & DataStoreConfig & {
19
+ export type AztecNodeConfig = ArchiverConfig & SequencerClientConfig & ValidatorClientConfig & ProverClientUserConfig & WorldStateConfig & Pick<ProverClientUserConfig, 'bbBinaryPath' | 'bbWorkingDirectory' | 'realProofs'> & P2PConfig & DataStoreConfig & SentinelConfig & SharedNodeConfig & GenesisStateConfig & NodeRPCConfig & SlasherConfig & {
20
+ /** L1 contracts addresses */
21
+ l1Contracts: L1ContractAddresses;
14
22
  /** Whether the validator is disabled for this node */
15
23
  disableValidator: boolean;
16
- /** Whether to populate the genesis state with initial fee juice for the test accounts */
17
- testAccounts: boolean;
24
+ /** Whether to skip waiting for the archiver to be fully synced before starting other services */
25
+ skipArchiverInitialSync: boolean;
18
26
  };
19
27
  export declare const aztecNodeConfigMappings: ConfigMappingsType<AztecNodeConfig>;
20
28
  /**
@@ -22,8 +30,5 @@ export declare const aztecNodeConfigMappings: ConfigMappingsType<AztecNodeConfig
22
30
  * @returns A valid aztec node config.
23
31
  */
24
32
  export declare function getConfigEnvVars(): AztecNodeConfig;
25
- /**
26
- * Returns package version.
27
- */
28
- export declare function getPackageVersion(): any;
33
+ export declare function createKeyStoreForValidator(config: TxSenderConfig & SequencerClientConfig & SharedNodeConfig): KeyStore | undefined;
29
34
  //# sourceMappingURL=config.d.ts.map
@@ -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,EAAE,KAAK,kBAAkB,EAA8C,MAAM,0BAA0B,CAAC;AAC/G,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,KAAK,kBAAkB,EAA8B,MAAM,6BAA6B,CAAC;AAClG,OAAO,EAAE,KAAK,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC3G,OAAO,EAAE,KAAK,qBAAqB,EAAiC,MAAM,gCAAgC,CAAC;AAC3G,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,2BAA2B,CAAC;AAM5F,OAAO,EAAE,6BAA6B,EAAE,KAAK,qBAAqB,EAAE,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,cAAc,GAC1C,qBAAqB,GACrB,qBAAqB,GACrB,kBAAkB,GAClB,gBAAgB,GAChB,IAAI,CAAC,kBAAkB,EAAE,cAAc,GAAG,oBAAoB,GAAG,YAAY,CAAC,GAC9E,SAAS,GACT,eAAe,GAAG;IAChB,sDAAsD;IACtD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,yFAAyF;IACzF,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEJ,eAAO,MAAM,uBAAuB,EAAE,kBAAkB,CAAC,eAAe,CAkBvE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,eAAe,CAElD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,QAOhC"}
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,32 +1,48 @@
1
1
  import { archiverConfigMappings } from '@aztec/archiver/config';
2
+ import { genesisStateConfigMappings, l1ContractAddressesMapping } from '@aztec/ethereum';
2
3
  import { booleanConfigHelper, getConfigFromMappings } from '@aztec/foundation/config';
4
+ import { EthAddress } from '@aztec/foundation/eth-address';
3
5
  import { dataConfigMappings } from '@aztec/kv-store/config';
6
+ import { ethPrivateKeySchema, keyStoreConfigMappings } from '@aztec/node-keystore';
7
+ import { sharedNodeConfigMappings } from '@aztec/node-lib/config';
4
8
  import { p2pConfigMappings } from '@aztec/p2p/config';
5
9
  import { proverClientConfigMappings } from '@aztec/prover-client/config';
6
10
  import { sequencerClientConfigMappings } from '@aztec/sequencer-client/config';
11
+ import { slasherConfigMappings } from '@aztec/slasher';
12
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
13
+ import { nodeRpcConfigMappings } from '@aztec/stdlib/config';
7
14
  import { validatorClientConfigMappings } from '@aztec/validator-client/config';
8
15
  import { worldStateConfigMappings } from '@aztec/world-state/config';
9
- import { readFileSync } from 'fs';
10
- import { dirname, resolve } from 'path';
11
- import { fileURLToPath } from 'url';
16
+ import { privateKeyToAddress } from 'viem/accounts';
17
+ import { sentinelConfigMappings } from '../sentinel/config.js';
12
18
  export { sequencerClientConfigMappings };
13
19
  export const aztecNodeConfigMappings = {
20
+ ...dataConfigMappings,
21
+ ...keyStoreConfigMappings,
14
22
  ...archiverConfigMappings,
15
23
  ...sequencerClientConfigMappings,
16
24
  ...validatorClientConfigMappings,
17
25
  ...proverClientConfigMappings,
18
26
  ...worldStateConfigMappings,
19
27
  ...p2pConfigMappings,
20
- ...dataConfigMappings,
28
+ ...sentinelConfigMappings,
29
+ ...sharedNodeConfigMappings,
30
+ ...genesisStateConfigMappings,
31
+ ...nodeRpcConfigMappings,
32
+ ...slasherConfigMappings,
33
+ l1Contracts: {
34
+ description: 'The deployed L1 contract addresses',
35
+ nested: l1ContractAddressesMapping
36
+ },
21
37
  disableValidator: {
22
38
  env: 'VALIDATOR_DISABLED',
23
39
  description: 'Whether the validator is disabled for this node.',
24
40
  ...booleanConfigHelper()
25
41
  },
26
- testAccounts: {
27
- env: 'TEST_ACCOUNTS',
28
- description: 'Whether to populate the genesis state with initial fee juice for the test accounts.',
29
- ...booleanConfigHelper()
42
+ skipArchiverInitialSync: {
43
+ env: 'SKIP_ARCHIVER_INITIAL_SYNC',
44
+ description: 'Whether to skip waiting for the archiver to be fully synced before starting other services.',
45
+ ...booleanConfigHelper(false)
30
46
  }
31
47
  };
32
48
  /**
@@ -35,10 +51,55 @@ export const aztecNodeConfigMappings = {
35
51
  */ export function getConfigEnvVars() {
36
52
  return getConfigFromMappings(aztecNodeConfigMappings);
37
53
  }
38
- /**
39
- * Returns package version.
40
- */ export function getPackageVersion() {
41
- const releasePleaseManifestPath = resolve(dirname(fileURLToPath(import.meta.url)), '../../../../.release-please-manifest.json');
42
- const version = JSON.parse(readFileSync(releasePleaseManifestPath).toString());
43
- return version['.'];
54
+ function createKeyStoreFromWeb3Signer(config) {
55
+ const validatorKeyStores = [];
56
+ if (config.web3SignerUrl === undefined || config.web3SignerUrl.length === 0 || config.validatorAddresses === undefined || config.validatorAddresses.length === 0) {
57
+ return undefined;
58
+ }
59
+ validatorKeyStores.push({
60
+ attester: config.validatorAddresses,
61
+ feeRecipient: config.feeRecipient ?? AztecAddress.ZERO,
62
+ coinbase: config.coinbase ?? config.validatorAddresses[0],
63
+ remoteSigner: config.web3SignerUrl,
64
+ publisher: config.publisherAddresses ?? []
65
+ });
66
+ const keyStore = {
67
+ schemaVersion: 1,
68
+ slasher: undefined,
69
+ prover: undefined,
70
+ remoteSigner: undefined,
71
+ validators: validatorKeyStores
72
+ };
73
+ return keyStore;
74
+ }
75
+ function createKeyStoreFromPrivateKeys(config) {
76
+ const validatorKeyStores = [];
77
+ const ethPrivateKeys = config.validatorPrivateKeys ? config.validatorPrivateKeys.getValue().map((x)=>ethPrivateKeySchema.parse(x)) : [];
78
+ if (!ethPrivateKeys.length) {
79
+ return undefined;
80
+ }
81
+ const coinbase = config.coinbase ?? EthAddress.fromString(privateKeyToAddress(ethPrivateKeys[0]));
82
+ const feeRecipient = config.feeRecipient ?? AztecAddress.ZERO;
83
+ const publisherKeys = config.publisherPrivateKeys ? config.publisherPrivateKeys.map((k)=>ethPrivateKeySchema.parse(k.getValue())) : [];
84
+ validatorKeyStores.push({
85
+ attester: ethPrivateKeys,
86
+ feeRecipient: feeRecipient,
87
+ coinbase: coinbase,
88
+ remoteSigner: undefined,
89
+ publisher: publisherKeys
90
+ });
91
+ const keyStore = {
92
+ schemaVersion: 1,
93
+ slasher: undefined,
94
+ prover: undefined,
95
+ remoteSigner: undefined,
96
+ validators: validatorKeyStores
97
+ };
98
+ return keyStore;
99
+ }
100
+ export function createKeyStoreForValidator(config) {
101
+ if (config.web3SignerUrl !== undefined && config.web3SignerUrl.length > 0) {
102
+ return createKeyStoreFromWeb3Signer(config);
103
+ }
104
+ return createKeyStoreFromPrivateKeys(config);
44
105
  }
@@ -2,7 +2,11 @@ import { type TelemetryClient } from '@aztec/telemetry-client';
2
2
  export declare class NodeMetrics {
3
3
  private receiveTxCount;
4
4
  private receiveTxDuration;
5
+ private snapshotErrorCount;
6
+ private snapshotDuration;
5
7
  constructor(client: TelemetryClient, name?: string);
6
8
  receivedTx(durationMs: number, isAccepted: boolean): void;
9
+ recordSnapshot(durationMs: number): void;
10
+ recordSnapshotError(): void;
7
11
  }
8
12
  //# sourceMappingURL=node_metrics.d.ts.map
@@ -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;gBAEzB,MAAM,EAAE,eAAe,EAAE,IAAI,SAAc;IAUvD,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO;CAQnD"}
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;gBAExB,MAAM,EAAE,eAAe,EAAE,IAAI,SAAc;IAuBvD,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO;IASlD,cAAc,CAAC,UAAU,EAAE,MAAM;IAQjC,mBAAmB;CAGpB"}
@@ -2,6 +2,8 @@ import { Attributes, Metrics, ValueType } from '@aztec/telemetry-client';
2
2
  export class NodeMetrics {
3
3
  receiveTxCount;
4
4
  receiveTxDuration;
5
+ snapshotErrorCount;
6
+ snapshotDuration;
5
7
  constructor(client, name = 'AztecNode'){
6
8
  const meter = client.getMeter(name);
7
9
  this.receiveTxCount = meter.createUpDownCounter(Metrics.NODE_RECEIVE_TX_COUNT, {});
@@ -10,6 +12,16 @@ export class NodeMetrics {
10
12
  unit: 'ms',
11
13
  valueType: ValueType.INT
12
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);
13
25
  }
14
26
  receivedTx(durationMs, isAccepted) {
15
27
  this.receiveTxDuration.record(Math.ceil(durationMs), {
@@ -19,4 +31,13 @@ export class NodeMetrics {
19
31
  [Attributes.OK]: isAccepted
20
32
  });
21
33
  }
34
+ recordSnapshot(durationMs) {
35
+ if (isNaN(durationMs)) {
36
+ return;
37
+ }
38
+ this.snapshotDuration.record(Math.ceil(durationMs));
39
+ }
40
+ recordSnapshotError() {
41
+ this.snapshotErrorCount.add(1);
42
+ }
22
43
  }
@@ -1,29 +1,36 @@
1
1
  import { type BlobSinkClientInterface } from '@aztec/blob-sink/client';
2
- import { type ARCHIVE_HEIGHT, type L1_TO_L2_MSG_TREE_HEIGHT, type NOTE_HASH_TREE_HEIGHT, type NULLIFIER_TREE_HEIGHT, type PUBLIC_DATA_TREE_HEIGHT } from '@aztec/constants';
2
+ import { ARCHIVE_HEIGHT, type L1_TO_L2_MSG_TREE_HEIGHT, type NOTE_HASH_TREE_HEIGHT, type NULLIFIER_TREE_HEIGHT, type PUBLIC_DATA_TREE_HEIGHT } from '@aztec/constants';
3
+ import { type EpochCacheInterface } from '@aztec/epoch-cache';
3
4
  import { type L1ContractAddresses } from '@aztec/ethereum';
5
+ import { EthAddress } from '@aztec/foundation/eth-address';
4
6
  import { Fr } from '@aztec/foundation/fields';
5
7
  import { type Logger } from '@aztec/foundation/log';
6
8
  import { DateProvider } from '@aztec/foundation/timer';
7
- import { SiblingPath } from '@aztec/foundation/trees';
8
- import { type P2P } from '@aztec/p2p';
9
- import { GlobalVariableBuilder, SequencerClient, type SequencerPublisher } from '@aztec/sequencer-client';
9
+ import { MembershipWitness, SiblingPath } from '@aztec/foundation/trees';
10
+ import { type P2P, type P2PClientDeps } from '@aztec/p2p';
11
+ import { SequencerClient, type SequencerPublisher } from '@aztec/sequencer-client';
12
+ import { EpochPruneWatcher, type SlasherClientInterface } from '@aztec/slasher';
10
13
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
11
- import type { InBlock, L2Block, L2BlockNumber, L2BlockSource, NullifierWithBlockSource } from '@aztec/stdlib/block';
14
+ import { type InBlock, type L2Block, type L2BlockNumber, type L2BlockSource, type PublishedL2Block } from '@aztec/stdlib/block';
12
15
  import type { ContractClassPublic, ContractDataSource, ContractInstanceWithAddress, NodeInfo, ProtocolContractAddresses } from '@aztec/stdlib/contract';
13
16
  import type { GasFees } from '@aztec/stdlib/gas';
14
- import type { AztecNode, GetContractClassLogsResponse, GetPublicLogsResponse } from '@aztec/stdlib/interfaces/client';
15
- import { type ClientProtocolCircuitVerifier, type L2LogsSource, type ProverConfig, type SequencerConfig, type Service, type WorldStateSyncStatus, type WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
17
+ import { type AztecNode, type AztecNodeAdmin, type AztecNodeAdminConfig, type GetContractClassLogsResponse, type GetPublicLogsResponse } from '@aztec/stdlib/interfaces/client';
18
+ import { type AllowedElement, type ClientProtocolCircuitVerifier, type L2LogsSource, type Service, type WorldStateSyncStatus, type WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
16
19
  import type { LogFilter, PrivateLog, TxScopedL2Log } from '@aztec/stdlib/logs';
17
- import type { L1ToL2MessageSource } from '@aztec/stdlib/messaging';
18
- import { MerkleTreeId, NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees';
20
+ import { type L1ToL2MessageSource } from '@aztec/stdlib/messaging';
21
+ import { P2PClientType } from '@aztec/stdlib/p2p';
22
+ import type { Offense, SlashPayloadRound } from '@aztec/stdlib/slashing';
19
23
  import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
20
- import { type BlockHeader, PublicSimulationOutput, Tx, TxEffect, type TxHash, TxReceipt, type TxValidationResult } from '@aztec/stdlib/tx';
24
+ import { MerkleTreeId, NullifierMembershipWitness, PublicDataWitness } from '@aztec/stdlib/trees';
25
+ import { type BlockHeader, type GlobalVariableBuilder as GlobalVariableBuilderInterface, type IndexedTxEffect, PublicSimulationOutput, Tx, type TxHash, TxReceipt, type TxValidationResult } from '@aztec/stdlib/tx';
26
+ import type { SingleValidatorStats, ValidatorsStats } from '@aztec/stdlib/validators';
21
27
  import { type TelemetryClient, type Traceable, type Tracer } from '@aztec/telemetry-client';
28
+ import { Sentinel } from '../sentinel/sentinel.js';
22
29
  import { type AztecNodeConfig } from './config.js';
23
30
  /**
24
31
  * The aztec node.
25
32
  */
26
- export declare class AztecNodeService implements AztecNode, Traceable {
33
+ export declare class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
27
34
  #private;
28
35
  protected config: AztecNodeConfig;
29
36
  protected readonly p2pClient: P2P;
@@ -31,19 +38,24 @@ export declare class AztecNodeService implements AztecNode, Traceable {
31
38
  protected readonly logsSource: L2LogsSource;
32
39
  protected readonly contractDataSource: ContractDataSource;
33
40
  protected readonly l1ToL2MessageSource: L1ToL2MessageSource;
34
- protected readonly nullifierSource: NullifierWithBlockSource;
35
41
  protected readonly worldStateSynchronizer: WorldStateSynchronizer;
36
42
  protected readonly sequencer: SequencerClient | undefined;
43
+ protected readonly slasherClient: SlasherClientInterface | undefined;
44
+ protected readonly validatorsSentinel: Sentinel | undefined;
45
+ protected readonly epochPruneWatcher: EpochPruneWatcher | undefined;
37
46
  protected readonly l1ChainId: number;
38
47
  protected readonly version: number;
39
- protected readonly globalVariableBuilder: GlobalVariableBuilder;
48
+ protected readonly globalVariableBuilder: GlobalVariableBuilderInterface;
49
+ protected readonly epochCache: EpochCacheInterface;
50
+ protected readonly packageVersion: string;
40
51
  private proofVerifier;
41
52
  private telemetry;
42
53
  private log;
43
- private packageVersion;
44
54
  private metrics;
55
+ private isUploadingSnapshot;
56
+ private txQueue;
45
57
  readonly tracer: Tracer;
46
- constructor(config: AztecNodeConfig, p2pClient: P2P, blockSource: L2BlockSource & Partial<Service>, logsSource: L2LogsSource, contractDataSource: ContractDataSource, l1ToL2MessageSource: L1ToL2MessageSource, nullifierSource: NullifierWithBlockSource, worldStateSynchronizer: WorldStateSynchronizer, sequencer: SequencerClient | undefined, l1ChainId: number, version: number, globalVariableBuilder: GlobalVariableBuilder, proofVerifier: ClientProtocolCircuitVerifier, telemetry?: TelemetryClient, log?: Logger);
58
+ constructor(config: AztecNodeConfig, p2pClient: P2P, blockSource: L2BlockSource & Partial<Service>, logsSource: L2LogsSource, contractDataSource: ContractDataSource, l1ToL2MessageSource: L1ToL2MessageSource, worldStateSynchronizer: WorldStateSynchronizer, sequencer: SequencerClient | undefined, slasherClient: SlasherClientInterface | undefined, validatorsSentinel: Sentinel | undefined, epochPruneWatcher: EpochPruneWatcher | undefined, l1ChainId: number, version: number, globalVariableBuilder: GlobalVariableBuilderInterface, epochCache: EpochCacheInterface, packageVersion: string, proofVerifier: ClientProtocolCircuitVerifier, telemetry?: TelemetryClient, log?: Logger);
47
59
  getWorldStateSyncStatus(): Promise<WorldStateSyncStatus>;
48
60
  getL2Tips(): Promise<import("@aztec/stdlib/block").L2Tips>;
49
61
  /**
@@ -51,14 +63,16 @@ export declare class AztecNodeService implements AztecNode, Traceable {
51
63
  * @param config - The configuration to be used by the aztec node.
52
64
  * @returns - A fully synced Aztec Node for use in development/testing.
53
65
  */
54
- static createAndSync(config: AztecNodeConfig, deps?: {
66
+ static createAndSync(inputConfig: AztecNodeConfig, deps?: {
55
67
  telemetry?: TelemetryClient;
56
68
  logger?: Logger;
57
69
  publisher?: SequencerPublisher;
58
70
  dateProvider?: DateProvider;
59
71
  blobSinkClient?: BlobSinkClientInterface;
72
+ p2pClientDeps?: P2PClientDeps<P2PClientType.Full>;
60
73
  }, options?: {
61
74
  prefilledPublicData?: PublicDataTreeLeaf[];
75
+ dontStartSequencer?: boolean;
62
76
  }): Promise<AztecNodeService>;
63
77
  /**
64
78
  * Returns the sequencer client instance.
@@ -74,6 +88,7 @@ export declare class AztecNodeService implements AztecNode, Traceable {
74
88
  */
75
89
  getL1ContractAddresses(): Promise<L1ContractAddresses>;
76
90
  getEncodedEnr(): Promise<string | undefined>;
91
+ getAllowedPublicSetup(): Promise<AllowedElement[]>;
77
92
  /**
78
93
  * Method to determine if the node is ready to accept transactions.
79
94
  * @returns - Flag indicating the readiness for tx submission.
@@ -85,7 +100,19 @@ export declare class AztecNodeService implements AztecNode, Traceable {
85
100
  * @param number - The block number being requested.
86
101
  * @returns The requested block.
87
102
  */
88
- getBlock(number: number): Promise<L2Block | undefined>;
103
+ getBlock(number: L2BlockNumber): Promise<L2Block | undefined>;
104
+ /**
105
+ * Get a block specified by its hash.
106
+ * @param blockHash - The block hash being requested.
107
+ * @returns The requested block.
108
+ */
109
+ getBlockByHash(blockHash: Fr): Promise<L2Block | undefined>;
110
+ /**
111
+ * Get a block specified by its archive root.
112
+ * @param archive - The archive root being requested.
113
+ * @returns The requested block.
114
+ */
115
+ getBlockByArchive(archive: Fr): Promise<L2Block | undefined>;
89
116
  /**
90
117
  * Method to request blocks. Will attempt to return all requested blocks but will return only those available.
91
118
  * @param from - The start of the range of blocks to return.
@@ -93,13 +120,14 @@ export declare class AztecNodeService implements AztecNode, Traceable {
93
120
  * @returns The blocks requested.
94
121
  */
95
122
  getBlocks(from: number, limit: number): Promise<L2Block[]>;
123
+ getPublishedBlocks(from: number, limit: number): Promise<PublishedL2Block[]>;
96
124
  /**
97
125
  * Method to fetch the current base fees.
98
126
  * @returns The current base fees.
99
127
  */
100
128
  getCurrentBaseFees(): Promise<GasFees>;
101
129
  /**
102
- * Method to fetch the current block number.
130
+ * Method to fetch the latest block number synchronized by the node.
103
131
  * @returns The block number.
104
132
  */
105
133
  getBlockNumber(): Promise<number>;
@@ -131,10 +159,11 @@ export declare class AztecNodeService implements AztecNode, Traceable {
131
159
  /**
132
160
  * Gets all logs that match any of the received tags (i.e. logs with their first field equal to a tag).
133
161
  * @param tags - The tags to filter the logs by.
162
+ * @param logsPerTag - The maximum number of logs to return for each tag. By default no limit is set
134
163
  * @returns For each received tag, an array of matching logs is returned. An empty array implies no logs match
135
164
  * that tag.
136
165
  */
137
- getLogsByTags(tags: Fr[]): Promise<TxScopedL2Log[][]>;
166
+ getLogsByTags(tags: Fr[], logsPerTag?: number): Promise<TxScopedL2Log[][]>;
138
167
  /**
139
168
  * Gets public logs based on the provided filter.
140
169
  * @param filter - The filter to apply to the logs.
@@ -153,46 +182,40 @@ export declare class AztecNodeService implements AztecNode, Traceable {
153
182
  */
154
183
  sendTx(tx: Tx): Promise<void>;
155
184
  getTxReceipt(txHash: TxHash): Promise<TxReceipt>;
156
- getTxEffect(txHash: TxHash): Promise<InBlock<TxEffect> | undefined>;
185
+ getTxEffect(txHash: TxHash): Promise<IndexedTxEffect | undefined>;
157
186
  /**
158
187
  * Method to stop the aztec node.
159
188
  */
160
189
  stop(): Promise<void>;
161
190
  /**
162
191
  * Method to retrieve pending txs.
192
+ * @param limit - The number of items to returns
193
+ * @param after - The last known pending tx. Used for pagination
163
194
  * @returns - The pending txs.
164
195
  */
165
- getPendingTxs(): Promise<Tx[]>;
196
+ getPendingTxs(limit?: number, after?: TxHash): Promise<Tx[]>;
166
197
  getPendingTxCount(): Promise<number>;
167
198
  /**
168
- * Method to retrieve a single tx from the mempool or unfinalised chain.
199
+ * Method to retrieve a single tx from the mempool or unfinalized chain.
169
200
  * @param txHash - The transaction hash to return.
170
201
  * @returns - The tx if it exists.
171
202
  */
172
203
  getTxByHash(txHash: TxHash): Promise<Tx | undefined>;
173
204
  /**
174
- * Method to retrieve txs from the mempool or unfinalised chain.
205
+ * Method to retrieve txs from the mempool or unfinalized chain.
175
206
  * @param txHash - The transaction hash to return.
176
207
  * @returns - The txs if it exists.
177
208
  */
178
209
  getTxsByHash(txHashes: TxHash[]): Promise<Tx[]>;
179
210
  /**
180
- * Find the indexes of the given leaves in the given tree.
181
- * @param blockNumber - The block number at which to get the data or 'latest' for latest data
211
+ * Find the indexes of the given leaves in the given tree along with a block metadata pointing to the block in which
212
+ * the leaves were inserted.
213
+ * @param blockNumber - The block number at which to get the data or 'latest' for latest data.
182
214
  * @param treeId - The tree to search in.
183
- * @param leafValue - The values to search for
184
- * @returns The indexes of the given leaves in the given tree or undefined if not found.
215
+ * @param leafValues - The values to search for.
216
+ * @returns The indices of leaves and the block metadata of a block in which the leaves were inserted.
185
217
  */
186
- findLeavesIndexes(blockNumber: L2BlockNumber, treeId: MerkleTreeId, leafValues: Fr[]): Promise<(bigint | undefined)[]>;
187
- /**
188
- * Find the block numbers of the given leaf indices in the given tree.
189
- * @param blockNumber - The block number at which to get the data or 'latest' for latest data
190
- * @param treeId - The tree to search in.
191
- * @param leafIndices - The values to search for
192
- * @returns The indexes of the given leaves in the given tree or undefined if not found.
193
- */
194
- findBlockNumbersForIndexes(blockNumber: L2BlockNumber, treeId: MerkleTreeId, leafIndices: bigint[]): Promise<(bigint | undefined)[]>;
195
- findNullifiersIndexesWithBlock(blockNumber: L2BlockNumber, nullifiers: Fr[]): Promise<(InBlock<bigint> | undefined)[]>;
218
+ findLeavesIndexes(blockNumber: L2BlockNumber, treeId: MerkleTreeId, leafValues: Fr[]): Promise<(InBlock<bigint> | undefined)[]>;
196
219
  /**
197
220
  * Returns a sibling path for the given index in the nullifier tree.
198
221
  * @param blockNumber - The block number at which to get the data.
@@ -207,6 +230,8 @@ export declare class AztecNodeService implements AztecNode, Traceable {
207
230
  * @returns The sibling path for the leaf index.
208
231
  */
209
232
  getNoteHashSiblingPath(blockNumber: L2BlockNumber, leafIndex: bigint): Promise<SiblingPath<typeof NOTE_HASH_TREE_HEIGHT>>;
233
+ getArchiveMembershipWitness(blockNumber: L2BlockNumber, archive: Fr): Promise<MembershipWitness<typeof ARCHIVE_HEIGHT> | undefined>;
234
+ getNoteHashMembershipWitness(blockNumber: L2BlockNumber, noteHash: Fr): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT> | undefined>;
210
235
  /**
211
236
  * Returns the index and a sibling path for a leaf in the committed l1 to l2 data tree.
212
237
  * @param blockNumber - The block number at which to get the data.
@@ -214,6 +239,7 @@ export declare class AztecNodeService implements AztecNode, Traceable {
214
239
  * @returns A tuple of the index and the sibling path of the L1ToL2Message (undefined if not found).
215
240
  */
216
241
  getL1ToL2MessageMembershipWitness(blockNumber: L2BlockNumber, l1ToL2Message: Fr): Promise<[bigint, SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>] | undefined>;
242
+ getL1ToL2MessageBlock(l1ToL2Message: Fr): Promise<number | undefined>;
217
243
  /**
218
244
  * Returns whether an L1 to L2 message is synced by archiver and if it's ready to be included in a block.
219
245
  * @param l1ToL2Message - The L1 to L2 message to check.
@@ -221,16 +247,11 @@ export declare class AztecNodeService implements AztecNode, Traceable {
221
247
  */
222
248
  isL1ToL2MessageSynced(l1ToL2Message: Fr): Promise<boolean>;
223
249
  /**
224
- * Returns the index of a l2ToL1Message in a ephemeral l2 to l1 data tree as well as its sibling path.
225
- * @remarks This tree is considered ephemeral because it is created on-demand by: taking all the l2ToL1 messages
226
- * in a single block, and then using them to make a variable depth append-only tree with these messages as leaves.
227
- * The tree is discarded immediately after calculating what we need from it.
228
- * TODO: Handle the case where two messages in the same tx have the same hash.
250
+ * Returns all the L2 to L1 messages in a block.
229
251
  * @param blockNumber - The block number at which to get the data.
230
- * @param l2ToL1Message - The l2ToL1Message get the index / sibling path for.
231
- * @returns A tuple of the index and the sibling path of the L2ToL1Message.
252
+ * @returns The L2 to L1 messages (undefined if the block number is not found).
232
253
  */
233
- getL2ToL1MessageMembershipWitness(blockNumber: L2BlockNumber, l2ToL1Message: Fr): Promise<[bigint, SiblingPath<number>]>;
254
+ getL2ToL1Messages(blockNumber: L2BlockNumber): Promise<Fr[][] | undefined>;
234
255
  /**
235
256
  * Returns a sibling path for a leaf in the committed blocks tree.
236
257
  * @param blockNumber - The block number at which to get the data.
@@ -267,7 +288,7 @@ export declare class AztecNodeService implements AztecNode, Traceable {
267
288
  * TODO: This is a confusing behavior and we should eventually address that.
268
289
  */
269
290
  getLowNullifierMembershipWitness(blockNumber: L2BlockNumber, nullifier: Fr): Promise<NullifierMembershipWitness | undefined>;
270
- getPublicDataTreeWitness(blockNumber: L2BlockNumber, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
291
+ getPublicDataWitness(blockNumber: L2BlockNumber, leafSlot: Fr): Promise<PublicDataWitness | undefined>;
271
292
  /**
272
293
  * Gets the storage value at the given contract storage slot.
273
294
  *
@@ -285,6 +306,18 @@ export declare class AztecNodeService implements AztecNode, Traceable {
285
306
  * @returns The current committed block header.
286
307
  */
287
308
  getBlockHeader(blockNumber?: L2BlockNumber): Promise<BlockHeader | undefined>;
309
+ /**
310
+ * Get a block header specified by its hash.
311
+ * @param blockHash - The block hash being requested.
312
+ * @returns The requested block header.
313
+ */
314
+ getBlockHeaderByHash(blockHash: Fr): Promise<BlockHeader | undefined>;
315
+ /**
316
+ * Get a block header specified by its archive root.
317
+ * @param archive - The archive root being requested.
318
+ * @returns The requested block header.
319
+ */
320
+ getBlockHeaderByArchive(archive: Fr): Promise<BlockHeader | undefined>;
288
321
  /**
289
322
  * Simulates the public part of a transaction with the current state.
290
323
  * @param tx - The transaction to simulate.
@@ -294,10 +327,17 @@ export declare class AztecNodeService implements AztecNode, Traceable {
294
327
  isSimulation?: boolean;
295
328
  skipFeeEnforcement?: boolean;
296
329
  }): Promise<TxValidationResult>;
297
- setConfig(config: Partial<SequencerConfig & ProverConfig>): Promise<void>;
330
+ getConfig(): Promise<AztecNodeAdminConfig>;
331
+ setConfig(config: Partial<AztecNodeAdminConfig>): Promise<void>;
298
332
  getProtocolContractAddresses(): Promise<ProtocolContractAddresses>;
299
- addContractClass(contractClass: ContractClassPublic): Promise<void>;
300
- registerContractFunctionSignatures(_address: AztecAddress, signatures: string[]): Promise<void>;
301
- flushTxs(): Promise<void>;
333
+ registerContractFunctionSignatures(signatures: string[]): Promise<void>;
334
+ getValidatorsStats(): Promise<ValidatorsStats>;
335
+ getValidatorStats(validatorAddress: EthAddress, fromSlot?: bigint, toSlot?: bigint): Promise<SingleValidatorStats | undefined>;
336
+ startSnapshotUpload(location: string): Promise<void>;
337
+ rollbackTo(targetBlock: number, force?: boolean): Promise<void>;
338
+ pauseSync(): Promise<void>;
339
+ resumeSync(): Promise<void>;
340
+ getSlashPayloads(): Promise<SlashPayloadRound[]>;
341
+ getSlashOffenses(round: bigint | 'all' | 'current'): Promise<Offense[]>;
302
342
  }
303
343
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/aztec-node/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/aztec-node/server.ts"],"names":[],"mappings":"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"}