@aztec/archiver 0.80.0 → 0.82.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dest/archiver/archiver.d.ts +8 -20
  2. package/dest/archiver/archiver.d.ts.map +1 -1
  3. package/dest/archiver/archiver.js +72 -102
  4. package/dest/archiver/archiver_store.d.ts +5 -19
  5. package/dest/archiver/archiver_store.d.ts.map +1 -1
  6. package/dest/archiver/archiver_store_test_suite.d.ts.map +1 -1
  7. package/dest/archiver/archiver_store_test_suite.js +105 -142
  8. package/dest/archiver/config.d.ts +2 -0
  9. package/dest/archiver/config.d.ts.map +1 -1
  10. package/dest/archiver/config.js +5 -0
  11. package/dest/archiver/data_retrieval.d.ts +3 -4
  12. package/dest/archiver/data_retrieval.d.ts.map +1 -1
  13. package/dest/archiver/data_retrieval.js +8 -3
  14. package/dest/archiver/index.d.ts +1 -2
  15. package/dest/archiver/index.d.ts.map +1 -1
  16. package/dest/archiver/index.js +0 -1
  17. package/dest/archiver/kv_archiver_store/block_store.d.ts +6 -6
  18. package/dest/archiver/kv_archiver_store/block_store.d.ts.map +1 -1
  19. package/dest/archiver/kv_archiver_store/block_store.js +24 -21
  20. package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts +6 -14
  21. package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +1 -1
  22. package/dest/archiver/kv_archiver_store/kv_archiver_store.js +2 -19
  23. package/dest/archiver/kv_archiver_store/log_store.d.ts.map +1 -1
  24. package/dest/archiver/kv_archiver_store/log_store.js +11 -42
  25. package/dest/archiver/structs/published.d.ts +1 -10
  26. package/dest/archiver/structs/published.d.ts.map +1 -1
  27. package/dest/archiver/structs/published.js +1 -1
  28. package/dest/factory.d.ts +1 -1
  29. package/dest/factory.d.ts.map +1 -1
  30. package/dest/factory.js +6 -24
  31. package/dest/test/mock_l2_block_source.d.ts +10 -0
  32. package/dest/test/mock_l2_block_source.d.ts.map +1 -1
  33. package/dest/test/mock_l2_block_source.js +16 -0
  34. package/package.json +12 -13
  35. package/src/archiver/archiver.ts +86 -124
  36. package/src/archiver/archiver_store.ts +5 -21
  37. package/src/archiver/archiver_store_test_suite.ts +116 -147
  38. package/src/archiver/config.ts +8 -0
  39. package/src/archiver/data_retrieval.ts +12 -11
  40. package/src/archiver/index.ts +1 -2
  41. package/src/archiver/kv_archiver_store/block_store.ts +28 -27
  42. package/src/archiver/kv_archiver_store/kv_archiver_store.ts +6 -27
  43. package/src/archiver/kv_archiver_store/log_store.ts +12 -59
  44. package/src/archiver/structs/published.ts +1 -11
  45. package/src/factory.ts +3 -28
  46. package/src/test/mock_l2_block_source.ts +18 -0
  47. package/dest/archiver/kv_archiver_store/nullifier_store.d.ts +0 -12
  48. package/dest/archiver/kv_archiver_store/nullifier_store.d.ts.map +0 -1
  49. package/dest/archiver/kv_archiver_store/nullifier_store.js +0 -73
  50. package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts +0 -175
  51. package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts.map +0 -1
  52. package/dest/archiver/memory_archiver_store/memory_archiver_store.js +0 -636
  53. package/src/archiver/kv_archiver_store/nullifier_store.ts +0 -97
  54. package/src/archiver/memory_archiver_store/memory_archiver_store.ts +0 -801
@@ -6,8 +6,8 @@ import { Fr } from '@aztec/foundation/fields';
6
6
  import { type Logger } from '@aztec/foundation/log';
7
7
  import type { FunctionSelector } from '@aztec/stdlib/abi';
8
8
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
9
- import { type InBlock, type L2Block, type L2BlockSource, type L2Tips, type NullifierWithBlockSource } from '@aztec/stdlib/block';
10
- import { type ContractClassPublic, type ContractDataSource, type ContractInstanceWithAddress, type PublicFunction } from '@aztec/stdlib/contract';
9
+ import { type InBlock, type L2Block, type L2BlockSource, type L2Tips } from '@aztec/stdlib/block';
10
+ import { type ContractClassPublic, type ContractDataSource, type ContractInstanceWithAddress } from '@aztec/stdlib/contract';
11
11
  import { type L1RollupConstants } from '@aztec/stdlib/epoch-helpers';
12
12
  import type { GetContractClassLogsResponse, GetPublicLogsResponse } from '@aztec/stdlib/interfaces/client';
13
13
  import type { L2LogsSource } from '@aztec/stdlib/interfaces/server';
@@ -19,10 +19,11 @@ import { EventEmitter } from 'events';
19
19
  import type { ArchiverDataStore } from './archiver_store.js';
20
20
  import type { ArchiverConfig } from './config.js';
21
21
  import { ArchiverInstrumentation } from './instrumentation.js';
22
+ import type { PublishedL2Block } from './structs/published.js';
22
23
  /**
23
24
  * Helper interface to combine all sources this archiver implementation provides.
24
25
  */
25
- export type ArchiveSource = L2BlockSource & L2LogsSource & ContractDataSource & L1ToL2MessageSource & NullifierWithBlockSource;
26
+ export type ArchiveSource = L2BlockSource & L2LogsSource & ContractDataSource & L1ToL2MessageSource;
26
27
  /**
27
28
  * Pulls L2 blocks in a non-blocking manner and provides interface for their retrieval.
28
29
  * Responsible for handling robust L1 polling so that other components do not need to
@@ -106,6 +107,7 @@ export declare class Archiver extends EventEmitter implements ArchiveSource, Tra
106
107
  getL2SlotNumber(): Promise<bigint>;
107
108
  getL2EpochNumber(): Promise<bigint>;
108
109
  getBlocksForEpoch(epochNumber: bigint): Promise<L2Block[]>;
110
+ getBlockHeadersForEpoch(epochNumber: bigint): Promise<BlockHeader[]>;
109
111
  isEpochComplete(epochNumber: bigint): Promise<boolean>;
110
112
  /**
111
113
  * Gets up to `limit` amount of L2 blocks starting from `from`.
@@ -115,6 +117,8 @@ export declare class Archiver extends EventEmitter implements ArchiveSource, Tra
115
117
  * @returns The requested L2 blocks.
116
118
  */
117
119
  getBlocks(from: number, limit: number, proven?: boolean): Promise<L2Block[]>;
120
+ /** Equivalent to getBlocks but includes publish data. */
121
+ getPublishedBlocks(from: number, limit: number, proven?: boolean): Promise<PublishedL2Block[]>;
118
122
  /**
119
123
  * Gets an l2 block.
120
124
  * @param number - The block number to return.
@@ -124,13 +128,6 @@ export declare class Archiver extends EventEmitter implements ArchiveSource, Tra
124
128
  getBlockHeader(number: number | 'latest'): Promise<BlockHeader | undefined>;
125
129
  getTxEffect(txHash: TxHash): Promise<InBlock<TxEffect> | undefined>;
126
130
  getSettledTxReceipt(txHash: TxHash): Promise<TxReceipt | undefined>;
127
- /**
128
- * Gets the public function data for a contract.
129
- * @param address - The contract address containing the function to fetch.
130
- * @param selector - The function selector of the function to fetch.
131
- * @returns The public function data (if found).
132
- */
133
- getPublicFunction(address: AztecAddress, selector: FunctionSelector): Promise<PublicFunction | undefined>;
134
131
  /**
135
132
  * Retrieves all private logs from up to `limit` blocks, starting from the block number `from`.
136
133
  * @param from - The block number from which to begin retrieving logs.
@@ -145,14 +142,6 @@ export declare class Archiver extends EventEmitter implements ArchiveSource, Tra
145
142
  * that tag.
146
143
  */
147
144
  getLogsByTags(tags: Fr[]): Promise<TxScopedL2Log[][]>;
148
- /**
149
- * Returns the provided nullifier indexes scoped to the block
150
- * they were first included in, or undefined if they're not present in the tree
151
- * @param blockNumber Max block number to search for the nullifiers
152
- * @param nullifiers Nullifiers to get
153
- * @returns The block scoped indexes of the provided nullifiers, or undefined if the nullifier doesn't exist in the tree
154
- */
155
- findNullifiersIndexesWithBlock(blockNumber: number, nullifiers: Fr[]): Promise<(InBlock<bigint> | undefined)[]>;
156
145
  /**
157
146
  * Gets public logs based on the provided filter.
158
147
  * @param filter - The filter to apply to the logs.
@@ -175,7 +164,7 @@ export declare class Archiver extends EventEmitter implements ArchiveSource, Tra
175
164
  setProvenBlockNumber(blockNumber: number): Promise<void>;
176
165
  getContractClass(id: Fr): Promise<ContractClassPublic | undefined>;
177
166
  getBytecodeCommitment(id: Fr): Promise<Fr | undefined>;
178
- getContract(address: AztecAddress): Promise<ContractInstanceWithAddress | undefined>;
167
+ getContract(address: AztecAddress, blockNumber?: number): Promise<ContractInstanceWithAddress | undefined>;
179
168
  /**
180
169
  * Gets L1 to L2 message (to be) included in a given block.
181
170
  * @param blockNumber - L2 block number to get messages for.
@@ -189,7 +178,6 @@ export declare class Archiver extends EventEmitter implements ArchiveSource, Tra
189
178
  */
190
179
  getL1ToL2MessageIndex(l1ToL2Message: Fr): Promise<bigint | undefined>;
191
180
  getContractClassIds(): Promise<Fr[]>;
192
- addContractClass(contractClass: ContractClassPublic): Promise<void>;
193
181
  registerContractFunctionSignatures(address: AztecAddress, signatures: string[]): Promise<void>;
194
182
  getContractFunctionName(address: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
195
183
  getL2Tips(): Promise<L2Tips>;
@@ -1 +1 @@
1
- {"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/archiver/archiver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/archiver/archiver.ts"],"names":[],"mappings":"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"}
@@ -4,13 +4,13 @@ function _ts_decorate(decorators, target, key, desc) {
4
4
  else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  }
7
- import { createEthereumChain } from '@aztec/ethereum';
7
+ import { RollupContract, createEthereumChain } from '@aztec/ethereum';
8
8
  import { Fr } from '@aztec/foundation/fields';
9
9
  import { createLogger } from '@aztec/foundation/log';
10
10
  import { RunningPromise, makeLoggingErrorHandler } from '@aztec/foundation/running-promise';
11
11
  import { count } from '@aztec/foundation/string';
12
12
  import { elapsed } from '@aztec/foundation/timer';
13
- import { InboxAbi, RollupAbi } from '@aztec/l1-artifacts';
13
+ import { InboxAbi } from '@aztec/l1-artifacts';
14
14
  import { ContractClassRegisteredEvent, PrivateFunctionBroadcastedEvent, UnconstrainedFunctionBroadcastedEvent } from '@aztec/protocol-contracts/class-registerer';
15
15
  import { ContractInstanceDeployedEvent, ContractInstanceUpdatedEvent } from '@aztec/protocol-contracts/instance-deployer';
16
16
  import { L2BlockSourceEvents } from '@aztec/stdlib/block';
@@ -58,11 +58,7 @@ import { ArchiverInstrumentation } from './instrumentation.js';
58
58
  super(), this.publicClient = publicClient, this.l1Addresses = l1Addresses, this.dataStore = dataStore, this.config = config, this.blobSinkClient = blobSinkClient, this.instrumentation = instrumentation, this.l1constants = l1constants, this.log = log;
59
59
  this.tracer = instrumentation.tracer;
60
60
  this.store = new ArchiverStoreHelper(dataStore);
61
- this.rollup = getContract({
62
- address: l1Addresses.rollupAddress.toString(),
63
- abi: RollupAbi,
64
- client: publicClient
65
- });
61
+ this.rollup = new RollupContract(publicClient, l1Addresses.rollupAddress);
66
62
  this.inbox = getContract({
67
63
  address: l1Addresses.inboxAddress.toString(),
68
64
  abi: InboxAbi,
@@ -82,14 +78,10 @@ import { ArchiverInstrumentation } from './instrumentation.js';
82
78
  transport: fallback(config.l1RpcUrls.map((url)=>http(url))),
83
79
  pollingInterval: config.viemPollingIntervalMS
84
80
  });
85
- const rollup = getContract({
86
- address: config.l1Contracts.rollupAddress.toString(),
87
- abi: RollupAbi,
88
- client: publicClient
89
- });
81
+ const rollup = new RollupContract(publicClient, config.l1Contracts.rollupAddress);
90
82
  const [l1StartBlock, l1GenesisTime] = await Promise.all([
91
- rollup.read.L1_BLOCK_AT_GENESIS(),
92
- rollup.read.getGenesisTime()
83
+ rollup.getL1StartBlock(),
84
+ rollup.getL1GenesisTime()
93
85
  ]);
94
86
  const { aztecEpochDuration: epochDuration, aztecSlotDuration: slotDuration, ethereumSlotDuration } = config;
95
87
  const archiver = new Archiver(publicClient, config.l1Contracts, archiverStore, {
@@ -198,9 +190,7 @@ import { ArchiverInstrumentation } from './instrumentation.js';
198
190
  }
199
191
  /** Queries the rollup contract on whether a prune can be executed on the immediatenext L1 block. */ async canPrune(currentL1BlockNumber, currentL1Timestamp) {
200
192
  const time = (currentL1Timestamp ?? 0n) + BigInt(this.l1constants.ethereumSlotDuration);
201
- return await this.rollup.read.canPruneAtTime([
202
- time
203
- ], {
193
+ return await this.rollup.canPruneAtTime(time, {
204
194
  blockNumber: currentL1BlockNumber
205
195
  });
206
196
  }
@@ -273,9 +263,7 @@ import { ArchiverInstrumentation } from './instrumentation.js';
273
263
  }
274
264
  async handleL2blocks(blocksSynchedTo, currentL1BlockNumber) {
275
265
  const localPendingBlockNumber = BigInt(await this.getBlockNumber());
276
- const [provenBlockNumber, provenArchive, pendingBlockNumber, pendingArchive, archiveForLocalPendingBlockNumber] = await this.rollup.read.status([
277
- localPendingBlockNumber
278
- ], {
266
+ const [provenBlockNumber, provenArchive, pendingBlockNumber, pendingArchive, archiveForLocalPendingBlockNumber] = await this.rollup.status(localPendingBlockNumber, {
279
267
  blockNumber: currentL1BlockNumber
280
268
  });
281
269
  const updateProvenBlock = async ()=>{
@@ -302,7 +290,7 @@ import { ArchiverInstrumentation } from './instrumentation.js';
302
290
  const noBlocks = localPendingBlockNumber === 0n && pendingBlockNumber === 0n;
303
291
  if (noBlocks) {
304
292
  await this.store.setBlockSynchedL1BlockNumber(currentL1BlockNumber);
305
- this.log.debug(`No blocks to retrieve from ${blocksSynchedTo + 1n} to ${currentL1BlockNumber}`);
293
+ this.log.debug(`No blocks to retrieve from ${blocksSynchedTo + 1n} to ${currentL1BlockNumber}, no blocks on chain`);
306
294
  return {
307
295
  provenBlockNumber
308
296
  };
@@ -317,7 +305,14 @@ import { ArchiverInstrumentation } from './instrumentation.js';
317
305
  }
318
306
  const noBlockSinceLast = localPendingBlock && pendingArchive === localPendingBlock.archive.root.toString();
319
307
  if (noBlockSinceLast) {
320
- await this.store.setBlockSynchedL1BlockNumber(currentL1BlockNumber);
308
+ // We believe the following line causes a problem when we encounter L1 re-orgs.
309
+ // Basically, by setting the synched L1 block number here, we are saying that we have
310
+ // processed all blocks up to the current L1 block number and we will not attempt to retrieve logs from
311
+ // this block again (or any blocks before).
312
+ // However, in the re-org scenario, our L1 node is temporarily lying to us and we end up potentially missing blocks
313
+ // We must only set this block number based on actually retrieved logs.
314
+ // TODO(https://github.com/AztecProtocol/aztec-packages/issues/8621): Tackle this properly when we handle L1 Re-orgs.
315
+ //await this.store.setBlockSynchedL1BlockNumber(currentL1BlockNumber);
321
316
  this.log.debug(`No blocks to retrieve from ${blocksSynchedTo + 1n} to ${currentL1BlockNumber}`);
322
317
  return {
323
318
  provenBlockNumber
@@ -336,9 +331,7 @@ import { ArchiverInstrumentation } from './instrumentation.js';
336
331
  if (candidateBlock === undefined) {
337
332
  break;
338
333
  }
339
- const archiveAtContract = await this.rollup.read.archiveAt([
340
- BigInt(candidateBlock.number)
341
- ]);
334
+ const archiveAtContract = await this.rollup.archiveAt(BigInt(candidateBlock.number));
342
335
  if (archiveAtContract === candidateBlock.archive.root.toString()) {
343
336
  break;
344
337
  }
@@ -349,15 +342,15 @@ import { ArchiverInstrumentation } from './instrumentation.js';
349
342
  this.log.warn(`Unwound ${count(blocksToUnwind, 'block')} from L2 block ${localPendingBlockNumber} ` + `due to mismatched block hashes at L1 block ${currentL1BlockNumber}. ` + `Updated L2 latest block is ${await this.getBlockNumber()}.`);
350
343
  }
351
344
  }
352
- // Retrieve L2 blocks in batches. Each batch is estimated to acommodate up to L2 'blockBatchSize' blocks,
345
+ // Retrieve L2 blocks in batches. Each batch is estimated to accommodate up to L2 'blockBatchSize' blocks,
353
346
  // computed using the L2 block time vs the L1 block time.
354
347
  let searchStartBlock = blocksSynchedTo;
355
348
  let searchEndBlock = blocksSynchedTo;
356
349
  do {
357
350
  [searchStartBlock, searchEndBlock] = this.nextRange(searchEndBlock, currentL1BlockNumber);
358
351
  this.log.trace(`Retrieving L2 blocks from L1 block ${searchStartBlock} to ${searchEndBlock}`);
359
- // TODO(md): Retreive from blob sink then from consensus client, then from peers
360
- const retrievedBlocks = await retrieveBlocksFromRollup(this.rollup, this.publicClient, this.blobSinkClient, searchStartBlock, searchEndBlock, this.log);
352
+ // TODO(md): Retrieve from blob sink then from consensus client, then from peers
353
+ const retrievedBlocks = await retrieveBlocksFromRollup(this.rollup.getContract(), this.publicClient, this.blobSinkClient, searchStartBlock, searchEndBlock, this.log);
361
354
  if (retrievedBlocks.length === 0) {
362
355
  // We are not calling `setBlockSynchedL1BlockNumber` because it may cause sync issues if based off infura.
363
356
  // See further details in earlier comments.
@@ -367,21 +360,21 @@ import { ArchiverInstrumentation } from './instrumentation.js';
367
360
  const lastProcessedL1BlockNumber = retrievedBlocks[retrievedBlocks.length - 1].l1.blockNumber;
368
361
  this.log.debug(`Retrieved ${retrievedBlocks.length} new L2 blocks between L1 blocks ${searchStartBlock} and ${searchEndBlock} with last processed L1 block ${lastProcessedL1BlockNumber}.`);
369
362
  for (const block of retrievedBlocks){
370
- this.log.debug(`Ingesting new L2 block ${block.data.number} with ${block.data.body.txEffects.length} txs`, {
371
- blockHash: block.data.hash(),
363
+ this.log.debug(`Ingesting new L2 block ${block.block.number} with ${block.block.body.txEffects.length} txs`, {
364
+ blockHash: block.block.hash(),
372
365
  l1BlockNumber: block.l1.blockNumber,
373
- ...block.data.header.globalVariables.toInspect(),
374
- ...block.data.getStats()
366
+ ...block.block.header.globalVariables.toInspect(),
367
+ ...block.block.getStats()
375
368
  });
376
369
  }
377
370
  const [processDuration] = await elapsed(()=>this.store.addBlocks(retrievedBlocks));
378
- this.instrumentation.processNewBlocks(processDuration / retrievedBlocks.length, retrievedBlocks.map((b)=>b.data));
371
+ this.instrumentation.processNewBlocks(processDuration / retrievedBlocks.length, retrievedBlocks.map((b)=>b.block));
379
372
  for (const block of retrievedBlocks){
380
- this.log.info(`Downloaded L2 block ${block.data.number}`, {
381
- blockHash: block.data.hash(),
382
- blockNumber: block.data.number,
383
- txCount: block.data.body.txEffects.length,
384
- globalVariables: block.data.header.globalVariables.toInspect()
373
+ this.log.info(`Downloaded L2 block ${block.block.number}`, {
374
+ blockHash: block.block.hash(),
375
+ blockNumber: block.block.number,
376
+ txCount: block.block.body.txEffects.length,
377
+ globalVariables: block.block.header.globalVariables.toInspect()
385
378
  });
386
379
  }
387
380
  }while (searchEndBlock < currentL1BlockNumber)
@@ -444,6 +437,22 @@ import { ArchiverInstrumentation } from './instrumentation.js';
444
437
  }
445
438
  return blocks.reverse();
446
439
  }
440
+ async getBlockHeadersForEpoch(epochNumber) {
441
+ const [start, end] = getSlotRangeForEpoch(epochNumber, this.l1constants);
442
+ const blocks = [];
443
+ // Walk the list of blocks backwards and filter by slots matching the requested epoch.
444
+ // We'll typically ask for blocks for a very recent epoch, so we shouldn't need an index here.
445
+ let number = await this.store.getSynchedL2BlockNumber();
446
+ let header = await this.getBlockHeader(number);
447
+ const slot = (b)=>b.globalVariables.slotNumber.toBigInt();
448
+ while(header && slot(header) >= start){
449
+ if (slot(header) <= end) {
450
+ blocks.push(header);
451
+ }
452
+ header = await this.getBlockHeader(--number);
453
+ }
454
+ return blocks.reverse();
455
+ }
447
456
  async isEpochComplete(epochNumber) {
448
457
  // The epoch is complete if the current L2 block is the last one in the epoch (or later)
449
458
  const header = await this.getBlockHeader('latest');
@@ -474,9 +483,12 @@ import { ArchiverInstrumentation } from './instrumentation.js';
474
483
  * @param limit - The number of blocks to return.
475
484
  * @param proven - If true, only return blocks that have been proven.
476
485
  * @returns The requested L2 blocks.
477
- */ async getBlocks(from, limit, proven) {
486
+ */ getBlocks(from, limit, proven) {
487
+ return this.getPublishedBlocks(from, limit, proven).then((blocks)=>blocks.map((b)=>b.block));
488
+ }
489
+ /** Equivalent to getBlocks but includes publish data. */ async getPublishedBlocks(from, limit, proven) {
478
490
  const limitWithProven = proven ? Math.min(limit, Math.max(await this.store.getProvenL2BlockNumber() - from + 1, 0)) : limit;
479
- return limitWithProven === 0 ? [] : (await this.store.getBlocks(from, limitWithProven)).map((b)=>b.data);
491
+ return limitWithProven === 0 ? [] : await this.store.getBlocks(from, limitWithProven);
480
492
  }
481
493
  /**
482
494
  * Gets an l2 block.
@@ -491,7 +503,7 @@ import { ArchiverInstrumentation } from './instrumentation.js';
491
503
  return undefined;
492
504
  }
493
505
  const blocks = await this.store.getBlocks(number, 1);
494
- return blocks.length === 0 ? undefined : blocks[0].data;
506
+ return blocks.length === 0 ? undefined : blocks[0].block;
495
507
  }
496
508
  async getBlockHeader(number) {
497
509
  if (number === 'latest') {
@@ -510,22 +522,6 @@ import { ArchiverInstrumentation } from './instrumentation.js';
510
522
  return this.store.getSettledTxReceipt(txHash);
511
523
  }
512
524
  /**
513
- * Gets the public function data for a contract.
514
- * @param address - The contract address containing the function to fetch.
515
- * @param selector - The function selector of the function to fetch.
516
- * @returns The public function data (if found).
517
- */ async getPublicFunction(address, selector) {
518
- const instance = await this.getContract(address);
519
- if (!instance) {
520
- throw new Error(`Contract ${address.toString()} not found`);
521
- }
522
- const contractClass = await this.getContractClass(instance.currentContractClassId);
523
- if (!contractClass) {
524
- throw new Error(`Contract class ${instance.currentContractClassId.toString()} for ${address.toString()} not found`);
525
- }
526
- return contractClass.publicFunctions.find((f)=>f.selector.equals(selector));
527
- }
528
- /**
529
525
  * Retrieves all private logs from up to `limit` blocks, starting from the block number `from`.
530
526
  * @param from - The block number from which to begin retrieving logs.
531
527
  * @param limit - The maximum number of blocks to retrieve logs from.
@@ -542,15 +538,6 @@ import { ArchiverInstrumentation } from './instrumentation.js';
542
538
  return this.store.getLogsByTags(tags);
543
539
  }
544
540
  /**
545
- * Returns the provided nullifier indexes scoped to the block
546
- * they were first included in, or undefined if they're not present in the tree
547
- * @param blockNumber Max block number to search for the nullifiers
548
- * @param nullifiers Nullifiers to get
549
- * @returns The block scoped indexes of the provided nullifiers, or undefined if the nullifier doesn't exist in the tree
550
- */ findNullifiersIndexesWithBlock(blockNumber, nullifiers) {
551
- return this.store.findNullifiersIndexesWithBlock(blockNumber, nullifiers);
552
- }
553
- /**
554
541
  * Gets public logs based on the provided filter.
555
542
  * @param filter - The filter to apply to the logs.
556
543
  * @returns The requested logs.
@@ -582,8 +569,8 @@ import { ArchiverInstrumentation } from './instrumentation.js';
582
569
  getBytecodeCommitment(id) {
583
570
  return this.store.getBytecodeCommitment(id);
584
571
  }
585
- getContract(address) {
586
- return this.store.getContractInstance(address);
572
+ async getContract(address, blockNumber) {
573
+ return this.store.getContractInstance(address, blockNumber ?? await this.getBlockNumber());
587
574
  }
588
575
  /**
589
576
  * Gets L1 to L2 message (to be) included in a given block.
@@ -602,15 +589,6 @@ import { ArchiverInstrumentation } from './instrumentation.js';
602
589
  getContractClassIds() {
603
590
  return this.store.getContractClassIds();
604
591
  }
605
- // TODO(#10007): Remove this method
606
- async addContractClass(contractClass) {
607
- await this.store.addContractClasses([
608
- contractClass
609
- ], [
610
- await computePublicBytecodeCommitment(contractClass.packedBytecode)
611
- ], 0);
612
- return;
613
- }
614
592
  registerContractFunctionSignatures(address, signatures) {
615
593
  return this.store.registerContractFunctionSignatures(address, signatures);
616
594
  }
@@ -673,10 +651,6 @@ var Operation = /*#__PURE__*/ function(Operation) {
673
651
  this.store = store;
674
652
  this.#log = createLogger('archiver:block-helper');
675
653
  }
676
- // TODO(#10007): Remove this method
677
- addContractClasses(contractClasses, bytecodeCommitments, blockNum) {
678
- return this.store.addContractClasses(contractClasses, bytecodeCommitments, blockNum);
679
- }
680
654
  /**
681
655
  * Extracts and stores contract classes out of ContractClassRegistered events emitted by the class registerer contract.
682
656
  * @param allLogs - All logs emitted in a bunch of blocks.
@@ -777,21 +751,20 @@ var Operation = /*#__PURE__*/ function(Operation) {
777
751
  }
778
752
  async addBlocks(blocks) {
779
753
  const opResults = await Promise.all([
780
- this.store.addLogs(blocks.map((block)=>block.data)),
754
+ this.store.addLogs(blocks.map((block)=>block.block)),
781
755
  // Unroll all logs emitted during the retrieved blocks and extract any contract classes and instances from them
782
756
  ...blocks.map(async (block)=>{
783
- const contractClassLogs = block.data.body.txEffects.flatMap((txEffect)=>txEffect.contractClassLogs);
757
+ const contractClassLogs = block.block.body.txEffects.flatMap((txEffect)=>txEffect.contractClassLogs);
784
758
  // ContractInstanceDeployed event logs are broadcast in privateLogs.
785
- const privateLogs = block.data.body.txEffects.flatMap((txEffect)=>txEffect.privateLogs);
786
- const publicLogs = block.data.body.txEffects.flatMap((txEffect)=>txEffect.publicLogs);
759
+ const privateLogs = block.block.body.txEffects.flatMap((txEffect)=>txEffect.privateLogs);
760
+ const publicLogs = block.block.body.txEffects.flatMap((txEffect)=>txEffect.publicLogs);
787
761
  return (await Promise.all([
788
- this.#updateRegisteredContractClasses(contractClassLogs, block.data.number, 0),
789
- this.#updateDeployedContractInstances(privateLogs, block.data.number, 0),
790
- this.#updateUpdatedContractInstances(publicLogs, block.data.number, 0),
791
- this.#storeBroadcastedIndividualFunctions(contractClassLogs, block.data.number)
762
+ this.#updateRegisteredContractClasses(contractClassLogs, block.block.number, 0),
763
+ this.#updateDeployedContractInstances(privateLogs, block.block.number, 0),
764
+ this.#updateUpdatedContractInstances(publicLogs, block.block.number, 0),
765
+ this.#storeBroadcastedIndividualFunctions(contractClassLogs, block.block.number)
792
766
  ])).every(Boolean);
793
767
  }),
794
- this.store.addNullifiers(blocks.map((block)=>block.data)),
795
768
  this.store.addBlocks(blocks)
796
769
  ]);
797
770
  return opResults.every(Boolean);
@@ -806,17 +779,17 @@ var Operation = /*#__PURE__*/ function(Operation) {
806
779
  const opResults = await Promise.all([
807
780
  // Unroll all logs emitted during the retrieved blocks and extract any contract classes and instances from them
808
781
  ...blocks.map(async (block)=>{
809
- const contractClassLogs = block.data.body.txEffects.flatMap((txEffect)=>txEffect.contractClassLogs);
782
+ const contractClassLogs = block.block.body.txEffects.flatMap((txEffect)=>txEffect.contractClassLogs);
810
783
  // ContractInstanceDeployed event logs are broadcast in privateLogs.
811
- const privateLogs = block.data.body.txEffects.flatMap((txEffect)=>txEffect.privateLogs);
812
- const publicLogs = block.data.body.txEffects.flatMap((txEffect)=>txEffect.publicLogs);
784
+ const privateLogs = block.block.body.txEffects.flatMap((txEffect)=>txEffect.privateLogs);
785
+ const publicLogs = block.block.body.txEffects.flatMap((txEffect)=>txEffect.publicLogs);
813
786
  return (await Promise.all([
814
- this.#updateRegisteredContractClasses(contractClassLogs, block.data.number, 1),
815
- this.#updateDeployedContractInstances(privateLogs, block.data.number, 1),
816
- this.#updateUpdatedContractInstances(publicLogs, block.data.number, 1)
787
+ this.#updateRegisteredContractClasses(contractClassLogs, block.block.number, 1),
788
+ this.#updateDeployedContractInstances(privateLogs, block.block.number, 1),
789
+ this.#updateUpdatedContractInstances(publicLogs, block.block.number, 1)
817
790
  ])).every(Boolean);
818
791
  }),
819
- this.store.deleteLogs(blocks.map((b)=>b.data)),
792
+ this.store.deleteLogs(blocks.map((b)=>b.block)),
820
793
  this.store.unwindBlocks(from, blocksToUnwind)
821
794
  ]);
822
795
  return opResults.every(Boolean);
@@ -848,9 +821,6 @@ var Operation = /*#__PURE__*/ function(Operation) {
848
821
  getLogsByTags(tags) {
849
822
  return this.store.getLogsByTags(tags);
850
823
  }
851
- findNullifiersIndexesWithBlock(blockNumber, nullifiers) {
852
- return this.store.findNullifiersIndexesWithBlock(blockNumber, nullifiers);
853
- }
854
824
  getPublicLogs(filter) {
855
825
  return this.store.getPublicLogs(filter);
856
826
  }
@@ -881,8 +851,8 @@ var Operation = /*#__PURE__*/ function(Operation) {
881
851
  getBytecodeCommitment(contractClassId) {
882
852
  return this.store.getBytecodeCommitment(contractClassId);
883
853
  }
884
- getContractInstance(address) {
885
- return this.store.getContractInstance(address);
854
+ getContractInstance(address, blockNumber) {
855
+ return this.store.getContractInstance(address, blockNumber);
886
856
  }
887
857
  getContractClassIds() {
888
858
  return this.store.getContractClassIds();
@@ -8,7 +8,7 @@ import type { LogFilter, PrivateLog, TxScopedL2Log } from '@aztec/stdlib/logs';
8
8
  import type { InboxLeaf } from '@aztec/stdlib/messaging';
9
9
  import { BlockHeader, type TxEffect, type TxHash, type TxReceipt } from '@aztec/stdlib/tx';
10
10
  import type { DataRetrieval } from './structs/data_retrieval.js';
11
- import type { L1Published } from './structs/published.js';
11
+ import type { PublishedL2Block } from './structs/published.js';
12
12
  /**
13
13
  * Represents the latest L1 block processed by the archiver for various objects in L2.
14
14
  */
@@ -30,7 +30,7 @@ export interface ArchiverDataStore {
30
30
  * @param blocks - The L2 blocks to be added to the store and the last processed L1 block.
31
31
  * @returns True if the operation is successful.
32
32
  */
33
- addBlocks(blocks: L1Published<L2Block>[]): Promise<boolean>;
33
+ addBlocks(blocks: PublishedL2Block[]): Promise<boolean>;
34
34
  /**
35
35
  * Unwinds blocks from the database
36
36
  * @param from - The tip of the chain, passed for verification purposes,
@@ -45,7 +45,7 @@ export interface ArchiverDataStore {
45
45
  * @param limit - The number of blocks to return.
46
46
  * @returns The requested L2 blocks.
47
47
  */
48
- getBlocks(from: number, limit: number): Promise<L1Published<L2Block>[]>;
48
+ getBlocks(from: number, limit: number): Promise<PublishedL2Block[]>;
49
49
  /**
50
50
  * Gets up to `limit` amount of L2 block headers starting from `from`.
51
51
  * @param from - Number of the first block to return (inclusive).
@@ -72,21 +72,6 @@ export interface ArchiverDataStore {
72
72
  */
73
73
  addLogs(blocks: L2Block[]): Promise<boolean>;
74
74
  deleteLogs(blocks: L2Block[]): Promise<boolean>;
75
- /**
76
- * Append new nullifiers to the store's list.
77
- * @param blocks - The blocks for which to add the nullifiers.
78
- * @returns True if the operation is successful.
79
- */
80
- addNullifiers(blocks: L2Block[]): Promise<boolean>;
81
- deleteNullifiers(blocks: L2Block[]): Promise<boolean>;
82
- /**
83
- * Returns the provided nullifier indexes scoped to the block
84
- * they were first included in, or undefined if they're not present in the tree
85
- * @param blockNumber Max block number to search for the nullifiers
86
- * @param nullifiers Nullifiers to get
87
- * @returns The block scoped indexes of the provided nullifiers, or undefined if the nullifier doesn't exist in the tree
88
- */
89
- findNullifiersIndexesWithBlock(blockNumber: number, nullifiers: Fr[]): Promise<(InBlock<bigint> | undefined)[]>;
90
75
  /**
91
76
  * Append L1 to L2 messages to the store.
92
77
  * @param messages - The L1 to L2 messages to be added to the store and the last processed L1 block.
@@ -202,8 +187,9 @@ export interface ArchiverDataStore {
202
187
  /**
203
188
  * Returns a contract instance given its address and the given block number, or undefined if not exists.
204
189
  * @param address - Address of the contract.
190
+ * @param blockNumber - Block number to get the contract instance at. Contract updates might change the instance at a given block.
205
191
  */
206
- getContractInstance(address: AztecAddress): Promise<ContractInstanceWithAddress | undefined>;
192
+ getContractInstance(address: AztecAddress, blockNumber: number): Promise<ContractInstanceWithAddress | undefined>;
207
193
  /** Returns the list of all class ids known by the archiver. */
208
194
  getContractClassIds(): Promise<Fr[]>;
209
195
  registerContractFunctionSignatures(address: AztecAddress, signatures: string[]): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"archiver_store.d.ts","sourceRoot":"","sources":["../../src/archiver/archiver_store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"archiver_store.d.ts","sourceRoot":"","sources":["../../src/archiver/archiver_store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"archiver_store_test_suite.d.ts","sourceRoot":"","sources":["../../src/archiver/archiver_store_test_suite.ts"],"names":[],"mappings":"AAyBA,OAAO,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,iBAAiB,EAAwB,MAAM,qBAAqB,CAAC;AAGnF;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,QAowB/D"}
1
+ {"version":3,"file":"archiver_store_test_suite.d.ts","sourceRoot":"","sources":["../../src/archiver/archiver_store_test_suite.ts"],"names":[],"mappings":"AAyBA,OAAO,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,iBAAiB,EAAwB,MAAM,qBAAqB,CAAC;AAGnF;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,QAquB/D"}