@aztec/aztec-node 1.0.0-nightly.20250611 → 1.0.0-nightly.20250613

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.
@@ -1,10 +1,10 @@
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
3
  import { type L1ContractAddresses } from '@aztec/ethereum';
4
4
  import { Fr } from '@aztec/foundation/fields';
5
5
  import { type Logger } from '@aztec/foundation/log';
6
6
  import { DateProvider } from '@aztec/foundation/timer';
7
- import { SiblingPath } from '@aztec/foundation/trees';
7
+ import { MembershipWitness, SiblingPath } from '@aztec/foundation/trees';
8
8
  import { type P2P } from '@aztec/p2p';
9
9
  import { SequencerClient, type SequencerPublisher } from '@aztec/sequencer-client';
10
10
  import { EpochPruneWatcher, SlasherClient } from '@aztec/slasher';
@@ -58,7 +58,7 @@ export declare class AztecNodeService implements AztecNode, AztecNodeAdmin, Trac
58
58
  * @param config - The configuration to be used by the aztec node.
59
59
  * @returns - A fully synced Aztec Node for use in development/testing.
60
60
  */
61
- static createAndSync(config: AztecNodeConfig, deps?: {
61
+ static createAndSync(inputConfig: AztecNodeConfig, deps?: {
62
62
  telemetry?: TelemetryClient;
63
63
  logger?: Logger;
64
64
  publisher?: SequencerPublisher;
@@ -139,10 +139,11 @@ export declare class AztecNodeService implements AztecNode, AztecNodeAdmin, Trac
139
139
  /**
140
140
  * Gets all logs that match any of the received tags (i.e. logs with their first field equal to a tag).
141
141
  * @param tags - The tags to filter the logs by.
142
+ * @param logsPerTag - The maximum number of logs to return for each tag. By default no limit is set
142
143
  * @returns For each received tag, an array of matching logs is returned. An empty array implies no logs match
143
144
  * that tag.
144
145
  */
145
- getLogsByTags(tags: Fr[]): Promise<TxScopedL2Log[][]>;
146
+ getLogsByTags(tags: Fr[], logsPerTag?: number): Promise<TxScopedL2Log[][]>;
146
147
  /**
147
148
  * Gets public logs based on the provided filter.
148
149
  * @param filter - The filter to apply to the logs.
@@ -168,9 +169,11 @@ export declare class AztecNodeService implements AztecNode, AztecNodeAdmin, Trac
168
169
  stop(): Promise<void>;
169
170
  /**
170
171
  * Method to retrieve pending txs.
172
+ * @param limit - The number of items to returns
173
+ * @param after - The last known pending tx. Used for pagination
171
174
  * @returns - The pending txs.
172
175
  */
173
- getPendingTxs(): Promise<Tx[]>;
176
+ getPendingTxs(limit?: number, after?: TxHash): Promise<Tx[]>;
174
177
  getPendingTxCount(): Promise<number>;
175
178
  /**
176
179
  * Method to retrieve a single tx from the mempool or unfinalised chain.
@@ -207,6 +210,8 @@ export declare class AztecNodeService implements AztecNode, AztecNodeAdmin, Trac
207
210
  * @returns The sibling path for the leaf index.
208
211
  */
209
212
  getNoteHashSiblingPath(blockNumber: L2BlockNumber, leafIndex: bigint): Promise<SiblingPath<typeof NOTE_HASH_TREE_HEIGHT>>;
213
+ getArchiveMembershipWitness(blockNumber: L2BlockNumber, archive: Fr): Promise<MembershipWitness<typeof ARCHIVE_HEIGHT> | undefined>;
214
+ getNoteHashMembershipWitness(blockNumber: L2BlockNumber, noteHash: Fr): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT> | undefined>;
210
215
  /**
211
216
  * Returns the index and a sibling path for a leaf in the committed l1 to l2 data tree.
212
217
  * @param blockNumber - The block number at which to get the data.
@@ -291,7 +296,7 @@ export declare class AztecNodeService implements AztecNode, AztecNodeAdmin, Trac
291
296
  }): Promise<TxValidationResult>;
292
297
  setConfig(config: Partial<SequencerConfig & ProverConfig>): Promise<void>;
293
298
  getProtocolContractAddresses(): Promise<ProtocolContractAddresses>;
294
- registerContractFunctionSignatures(_address: AztecAddress, signatures: string[]): Promise<void>;
299
+ registerContractFunctionSignatures(signatures: string[]): Promise<void>;
295
300
  flushTxs(): Promise<void>;
296
301
  getValidatorsStats(): Promise<ValidatorsStats>;
297
302
  startSnapshotUpload(location: string): Promise<void>;
@@ -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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"}
@@ -19,6 +19,7 @@ import { createLogger } from '@aztec/foundation/log';
19
19
  import { SerialQueue } from '@aztec/foundation/queue';
20
20
  import { count } from '@aztec/foundation/string';
21
21
  import { DateProvider, Timer } from '@aztec/foundation/timer';
22
+ import { MembershipWitness } from '@aztec/foundation/trees';
22
23
  import { trySnapshotSync, uploadSnapshot } from '@aztec/node-lib/actions';
23
24
  import { TxCollector, createP2PClient, getDefaultAllowedSetupFunctions } from '@aztec/p2p';
24
25
  import { ProtocolContractAddress } from '@aztec/protocol-contracts';
@@ -103,7 +104,10 @@ import { NodeMetrics } from './node_metrics.js';
103
104
  * initializes the Aztec Node, wait for component to sync.
104
105
  * @param config - The configuration to be used by the aztec node.
105
106
  * @returns - A fully synced Aztec Node for use in development/testing.
106
- */ static async createAndSync(config, deps = {}, options = {}) {
107
+ */ static async createAndSync(inputConfig, deps = {}, options = {}) {
108
+ const config = {
109
+ ...inputConfig
110
+ }; // Copy the config so we dont mutate the input object
107
111
  const log = deps.logger ?? createLogger('node');
108
112
  const packageVersion = getPackageVersion() ?? '';
109
113
  const telemetry = deps.telemetry ?? getTelemetryClient();
@@ -344,10 +348,11 @@ import { NodeMetrics } from './node_metrics.js';
344
348
  /**
345
349
  * Gets all logs that match any of the received tags (i.e. logs with their first field equal to a tag).
346
350
  * @param tags - The tags to filter the logs by.
351
+ * @param logsPerTag - The maximum number of logs to return for each tag. By default no limit is set
347
352
  * @returns For each received tag, an array of matching logs is returned. An empty array implies no logs match
348
353
  * that tag.
349
- */ getLogsByTags(tags) {
350
- return this.logsSource.getLogsByTags(tags);
354
+ */ getLogsByTags(tags, logsPerTag) {
355
+ return this.logsSource.getLogsByTags(tags, logsPerTag);
351
356
  }
352
357
  /**
353
358
  * Gets public logs based on the provided filter.
@@ -422,9 +427,11 @@ import { NodeMetrics } from './node_metrics.js';
422
427
  }
423
428
  /**
424
429
  * Method to retrieve pending txs.
430
+ * @param limit - The number of items to returns
431
+ * @param after - The last known pending tx. Used for pagination
425
432
  * @returns - The pending txs.
426
- */ getPendingTxs() {
427
- return this.p2pClient.getPendingTxs();
433
+ */ getPendingTxs(limit, after) {
434
+ return this.p2pClient.getPendingTxs(limit, after);
428
435
  }
429
436
  getPendingTxCount() {
430
437
  return this.p2pClient.getPendingTxCount();
@@ -517,6 +524,26 @@ import { NodeMetrics } from './node_metrics.js';
517
524
  const committedDb = await this.#getWorldState(blockNumber);
518
525
  return committedDb.getSiblingPath(MerkleTreeId.NOTE_HASH_TREE, leafIndex);
519
526
  }
527
+ async getArchiveMembershipWitness(blockNumber, archive) {
528
+ const committedDb = await this.#getWorldState(blockNumber);
529
+ const [index] = await committedDb.findLeafIndices(MerkleTreeId.ARCHIVE, [
530
+ archive
531
+ ]);
532
+ if (index === undefined) {
533
+ return undefined;
534
+ }
535
+ return MembershipWitness.fromSiblingPath(index, await committedDb.getSiblingPath(MerkleTreeId.ARCHIVE, index));
536
+ }
537
+ async getNoteHashMembershipWitness(blockNumber, noteHash) {
538
+ const committedDb = await this.#getWorldState(blockNumber);
539
+ const [index] = await committedDb.findLeafIndices(MerkleTreeId.NOTE_HASH_TREE, [
540
+ noteHash
541
+ ]);
542
+ if (index === undefined) {
543
+ return undefined;
544
+ }
545
+ return MembershipWitness.fromSiblingPath(index, await committedDb.getSiblingPath(MerkleTreeId.NOTE_HASH_TREE, index));
546
+ }
520
547
  /**
521
548
  * Returns the index and a sibling path for a leaf in the committed l1 to l2 data tree.
522
549
  * @param blockNumber - The block number at which to get the data.
@@ -671,7 +698,7 @@ import { NodeMetrics } from './node_metrics.js';
671
698
  // If sequencer is not initialized, we just set these values to zero for simulation.
672
699
  const coinbase = this.sequencer?.coinbase || EthAddress.ZERO;
673
700
  const feeRecipient = this.sequencer?.feeRecipient || AztecAddress.ZERO;
674
- const newGlobalVariables = await this.globalVariableBuilder.buildGlobalVariables(new Fr(blockNumber), coinbase, feeRecipient);
701
+ const newGlobalVariables = await this.globalVariableBuilder.buildGlobalVariables(blockNumber, coinbase, feeRecipient);
675
702
  const publicProcessorFactory = new PublicProcessorFactory(this.contractDataSource, new DateProvider(), this.telemetry);
676
703
  this.log.verbose(`Simulating public calls for tx ${txHash}`, {
677
704
  globalVariables: newGlobalVariables.toInspect(),
@@ -733,8 +760,8 @@ import { NodeMetrics } from './node_metrics.js';
733
760
  multiCallEntrypoint: ProtocolContractAddress.MultiCallEntrypoint
734
761
  });
735
762
  }
736
- registerContractFunctionSignatures(_address, signatures) {
737
- return this.contractDataSource.registerContractFunctionSignatures(_address, signatures);
763
+ registerContractFunctionSignatures(signatures) {
764
+ return this.contractDataSource.registerContractFunctionSignatures(signatures);
738
765
  }
739
766
  flushTxs() {
740
767
  if (!this.sequencer) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/aztec-node",
3
- "version": "1.0.0-nightly.20250611",
3
+ "version": "1.0.0-nightly.20250613",
4
4
  "main": "dest/index.js",
5
5
  "type": "module",
6
6
  "exports": {
@@ -62,28 +62,28 @@
62
62
  "testEnvironment": "../../foundation/src/jest/env.mjs"
63
63
  },
64
64
  "dependencies": {
65
- "@aztec/archiver": "1.0.0-nightly.20250611",
66
- "@aztec/bb-prover": "1.0.0-nightly.20250611",
67
- "@aztec/blob-sink": "1.0.0-nightly.20250611",
68
- "@aztec/constants": "1.0.0-nightly.20250611",
69
- "@aztec/epoch-cache": "1.0.0-nightly.20250611",
70
- "@aztec/ethereum": "1.0.0-nightly.20250611",
71
- "@aztec/foundation": "1.0.0-nightly.20250611",
72
- "@aztec/kv-store": "1.0.0-nightly.20250611",
73
- "@aztec/l1-artifacts": "1.0.0-nightly.20250611",
74
- "@aztec/merkle-tree": "1.0.0-nightly.20250611",
75
- "@aztec/node-lib": "1.0.0-nightly.20250611",
76
- "@aztec/noir-protocol-circuits-types": "1.0.0-nightly.20250611",
77
- "@aztec/p2p": "1.0.0-nightly.20250611",
78
- "@aztec/protocol-contracts": "1.0.0-nightly.20250611",
79
- "@aztec/prover-client": "1.0.0-nightly.20250611",
80
- "@aztec/sequencer-client": "1.0.0-nightly.20250611",
81
- "@aztec/simulator": "1.0.0-nightly.20250611",
82
- "@aztec/slasher": "1.0.0-nightly.20250611",
83
- "@aztec/stdlib": "1.0.0-nightly.20250611",
84
- "@aztec/telemetry-client": "1.0.0-nightly.20250611",
85
- "@aztec/validator-client": "1.0.0-nightly.20250611",
86
- "@aztec/world-state": "1.0.0-nightly.20250611",
65
+ "@aztec/archiver": "1.0.0-nightly.20250613",
66
+ "@aztec/bb-prover": "1.0.0-nightly.20250613",
67
+ "@aztec/blob-sink": "1.0.0-nightly.20250613",
68
+ "@aztec/constants": "1.0.0-nightly.20250613",
69
+ "@aztec/epoch-cache": "1.0.0-nightly.20250613",
70
+ "@aztec/ethereum": "1.0.0-nightly.20250613",
71
+ "@aztec/foundation": "1.0.0-nightly.20250613",
72
+ "@aztec/kv-store": "1.0.0-nightly.20250613",
73
+ "@aztec/l1-artifacts": "1.0.0-nightly.20250613",
74
+ "@aztec/merkle-tree": "1.0.0-nightly.20250613",
75
+ "@aztec/node-lib": "1.0.0-nightly.20250613",
76
+ "@aztec/noir-protocol-circuits-types": "1.0.0-nightly.20250613",
77
+ "@aztec/p2p": "1.0.0-nightly.20250613",
78
+ "@aztec/protocol-contracts": "1.0.0-nightly.20250613",
79
+ "@aztec/prover-client": "1.0.0-nightly.20250613",
80
+ "@aztec/sequencer-client": "1.0.0-nightly.20250613",
81
+ "@aztec/simulator": "1.0.0-nightly.20250613",
82
+ "@aztec/slasher": "1.0.0-nightly.20250613",
83
+ "@aztec/stdlib": "1.0.0-nightly.20250613",
84
+ "@aztec/telemetry-client": "1.0.0-nightly.20250613",
85
+ "@aztec/validator-client": "1.0.0-nightly.20250613",
86
+ "@aztec/world-state": "1.0.0-nightly.20250613",
87
87
  "koa": "^2.16.1",
88
88
  "koa-router": "^12.0.0",
89
89
  "tslib": "^2.4.0",
@@ -2,7 +2,7 @@ import { Archiver, createArchiver } from '@aztec/archiver';
2
2
  import { BBCircuitVerifier, QueuedIVCVerifier, TestCircuitVerifier } from '@aztec/bb-prover';
3
3
  import { type BlobSinkClientInterface, createBlobSinkClient } from '@aztec/blob-sink/client';
4
4
  import {
5
- type ARCHIVE_HEIGHT,
5
+ ARCHIVE_HEIGHT,
6
6
  INITIAL_L2_BLOCK_NUM,
7
7
  type L1_TO_L2_MSG_TREE_HEIGHT,
8
8
  type NOTE_HASH_TREE_HEIGHT,
@@ -27,7 +27,7 @@ import { type Logger, createLogger } from '@aztec/foundation/log';
27
27
  import { SerialQueue } from '@aztec/foundation/queue';
28
28
  import { count } from '@aztec/foundation/string';
29
29
  import { DateProvider, Timer } from '@aztec/foundation/timer';
30
- import { SiblingPath } from '@aztec/foundation/trees';
30
+ import { MembershipWitness, SiblingPath } from '@aztec/foundation/trees';
31
31
  import { trySnapshotSync, uploadSnapshot } from '@aztec/node-lib/actions';
32
32
  import { type P2P, TxCollector, createP2PClient, getDefaultAllowedSetupFunctions } from '@aztec/p2p';
33
33
  import { ProtocolContractAddress } from '@aztec/protocol-contracts';
@@ -160,7 +160,7 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
160
160
  * @returns - A fully synced Aztec Node for use in development/testing.
161
161
  */
162
162
  public static async createAndSync(
163
- config: AztecNodeConfig,
163
+ inputConfig: AztecNodeConfig,
164
164
  deps: {
165
165
  telemetry?: TelemetryClient;
166
166
  logger?: Logger;
@@ -172,6 +172,7 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
172
172
  prefilledPublicData?: PublicDataTreeLeaf[];
173
173
  } = {},
174
174
  ): Promise<AztecNodeService> {
175
+ const config = { ...inputConfig }; // Copy the config so we dont mutate the input object
175
176
  const log = deps.logger ?? createLogger('node');
176
177
  const packageVersion = getPackageVersion() ?? '';
177
178
  const telemetry = deps.telemetry ?? getTelemetryClient();
@@ -519,11 +520,12 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
519
520
  /**
520
521
  * Gets all logs that match any of the received tags (i.e. logs with their first field equal to a tag).
521
522
  * @param tags - The tags to filter the logs by.
523
+ * @param logsPerTag - The maximum number of logs to return for each tag. By default no limit is set
522
524
  * @returns For each received tag, an array of matching logs is returned. An empty array implies no logs match
523
525
  * that tag.
524
526
  */
525
- public getLogsByTags(tags: Fr[]): Promise<TxScopedL2Log[][]> {
526
- return this.logsSource.getLogsByTags(tags);
527
+ public getLogsByTags(tags: Fr[], logsPerTag?: number): Promise<TxScopedL2Log[][]> {
528
+ return this.logsSource.getLogsByTags(tags, logsPerTag);
527
529
  }
528
530
 
529
531
  /**
@@ -611,13 +613,15 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
611
613
 
612
614
  /**
613
615
  * Method to retrieve pending txs.
616
+ * @param limit - The number of items to returns
617
+ * @param after - The last known pending tx. Used for pagination
614
618
  * @returns - The pending txs.
615
619
  */
616
- public getPendingTxs() {
617
- return this.p2pClient!.getPendingTxs();
620
+ public getPendingTxs(limit?: number, after?: TxHash): Promise<Tx[]> {
621
+ return this.p2pClient!.getPendingTxs(limit, after);
618
622
  }
619
623
 
620
- public getPendingTxCount() {
624
+ public getPendingTxCount(): Promise<number> {
621
625
  return this.p2pClient!.getPendingTxCount();
622
626
  }
623
627
 
@@ -626,7 +630,7 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
626
630
  * @param txHash - The transaction hash to return.
627
631
  * @returns - The tx if it exists.
628
632
  */
629
- public getTxByHash(txHash: TxHash) {
633
+ public getTxByHash(txHash: TxHash): Promise<Tx | undefined> {
630
634
  return Promise.resolve(this.p2pClient!.getTxByHashFromPool(txHash));
631
635
  }
632
636
 
@@ -635,7 +639,7 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
635
639
  * @param txHash - The transaction hash to return.
636
640
  * @returns - The txs if it exists.
637
641
  */
638
- public async getTxsByHash(txHashes: TxHash[]) {
642
+ public async getTxsByHash(txHashes: TxHash[]): Promise<Tx[]> {
639
643
  return compactArray(await Promise.all(txHashes.map(txHash => this.getTxByHash(txHash))));
640
644
  }
641
645
 
@@ -738,6 +742,33 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
738
742
  return committedDb.getSiblingPath(MerkleTreeId.NOTE_HASH_TREE, leafIndex);
739
743
  }
740
744
 
745
+ public async getArchiveMembershipWitness(
746
+ blockNumber: L2BlockNumber,
747
+ archive: Fr,
748
+ ): Promise<MembershipWitness<typeof ARCHIVE_HEIGHT> | undefined> {
749
+ const committedDb = await this.#getWorldState(blockNumber);
750
+ const [index] = await committedDb.findLeafIndices(MerkleTreeId.ARCHIVE, [archive]);
751
+ if (index === undefined) {
752
+ return undefined;
753
+ }
754
+ return MembershipWitness.fromSiblingPath(index, await committedDb.getSiblingPath(MerkleTreeId.ARCHIVE, index));
755
+ }
756
+
757
+ public async getNoteHashMembershipWitness(
758
+ blockNumber: L2BlockNumber,
759
+ noteHash: Fr,
760
+ ): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT> | undefined> {
761
+ const committedDb = await this.#getWorldState(blockNumber);
762
+ const [index] = await committedDb.findLeafIndices(MerkleTreeId.NOTE_HASH_TREE, [noteHash]);
763
+ if (index === undefined) {
764
+ return undefined;
765
+ }
766
+ return MembershipWitness.fromSiblingPath(
767
+ index,
768
+ await committedDb.getSiblingPath(MerkleTreeId.NOTE_HASH_TREE, index),
769
+ );
770
+ }
771
+
741
772
  /**
742
773
  * Returns the index and a sibling path for a leaf in the committed l1 to l2 data tree.
743
774
  * @param blockNumber - The block number at which to get the data.
@@ -958,7 +989,7 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
958
989
  const feeRecipient = this.sequencer?.feeRecipient || AztecAddress.ZERO;
959
990
 
960
991
  const newGlobalVariables = await this.globalVariableBuilder.buildGlobalVariables(
961
- new Fr(blockNumber),
992
+ blockNumber,
962
993
  coinbase,
963
994
  feeRecipient,
964
995
  );
@@ -1045,8 +1076,8 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
1045
1076
  });
1046
1077
  }
1047
1078
 
1048
- public registerContractFunctionSignatures(_address: AztecAddress, signatures: string[]): Promise<void> {
1049
- return this.contractDataSource.registerContractFunctionSignatures(_address, signatures);
1079
+ public registerContractFunctionSignatures(signatures: string[]): Promise<void> {
1080
+ return this.contractDataSource.registerContractFunctionSignatures(signatures);
1050
1081
  }
1051
1082
 
1052
1083
  public flushTxs(): Promise<void> {