@aztec/archiver 0.72.1 → 0.74.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 (62) hide show
  1. package/dest/archiver/archiver.d.ts +2 -2
  2. package/dest/archiver/archiver.d.ts.map +1 -1
  3. package/dest/archiver/archiver.js +31 -16
  4. package/dest/archiver/archiver_store.d.ts +2 -2
  5. package/dest/archiver/archiver_store.d.ts.map +1 -1
  6. package/dest/archiver/archiver_store_test_suite.d.ts +1 -1
  7. package/dest/archiver/archiver_store_test_suite.d.ts.map +1 -1
  8. package/dest/archiver/archiver_store_test_suite.js +14 -14
  9. package/dest/archiver/config.d.ts +1 -1
  10. package/dest/archiver/config.d.ts.map +1 -1
  11. package/dest/archiver/config.js +4 -4
  12. package/dest/archiver/data_retrieval.d.ts +3 -2
  13. package/dest/archiver/data_retrieval.d.ts.map +1 -1
  14. package/dest/archiver/data_retrieval.js +83 -16
  15. package/dest/archiver/errors.d.ts +4 -0
  16. package/dest/archiver/errors.d.ts.map +1 -0
  17. package/dest/archiver/errors.js +6 -0
  18. package/dest/archiver/kv_archiver_store/block_store.d.ts +16 -16
  19. package/dest/archiver/kv_archiver_store/block_store.d.ts.map +1 -1
  20. package/dest/archiver/kv_archiver_store/block_store.js +53 -53
  21. package/dest/archiver/kv_archiver_store/contract_class_store.d.ts +5 -5
  22. package/dest/archiver/kv_archiver_store/contract_class_store.d.ts.map +1 -1
  23. package/dest/archiver/kv_archiver_store/contract_class_store.js +13 -12
  24. package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts +3 -3
  25. package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts.map +1 -1
  26. package/dest/archiver/kv_archiver_store/contract_instance_store.js +3 -3
  27. package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts +3 -7
  28. package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +1 -1
  29. package/dest/archiver/kv_archiver_store/kv_archiver_store.js +39 -61
  30. package/dest/archiver/kv_archiver_store/log_store.d.ts +5 -5
  31. package/dest/archiver/kv_archiver_store/log_store.d.ts.map +1 -1
  32. package/dest/archiver/kv_archiver_store/log_store.js +54 -53
  33. package/dest/archiver/kv_archiver_store/message_store.d.ts +6 -6
  34. package/dest/archiver/kv_archiver_store/message_store.d.ts.map +1 -1
  35. package/dest/archiver/kv_archiver_store/message_store.js +16 -16
  36. package/dest/archiver/kv_archiver_store/nullifier_store.d.ts +2 -2
  37. package/dest/archiver/kv_archiver_store/nullifier_store.d.ts.map +1 -1
  38. package/dest/archiver/kv_archiver_store/nullifier_store.js +31 -22
  39. package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts +2 -2
  40. package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts.map +1 -1
  41. package/dest/archiver/memory_archiver_store/memory_archiver_store.js +24 -22
  42. package/dest/factory.js +7 -7
  43. package/dest/test/mock_l2_block_source.d.ts +2 -2
  44. package/dest/test/mock_l2_block_source.d.ts.map +1 -1
  45. package/dest/test/mock_l2_block_source.js +12 -9
  46. package/package.json +12 -12
  47. package/src/archiver/archiver.ts +38 -18
  48. package/src/archiver/archiver_store.ts +1 -1
  49. package/src/archiver/archiver_store_test_suite.ts +17 -14
  50. package/src/archiver/config.ts +4 -4
  51. package/src/archiver/data_retrieval.ts +108 -12
  52. package/src/archiver/errors.ts +5 -0
  53. package/src/archiver/kv_archiver_store/block_store.ts +66 -67
  54. package/src/archiver/kv_archiver_store/contract_class_store.ts +17 -15
  55. package/src/archiver/kv_archiver_store/contract_instance_store.ts +5 -5
  56. package/src/archiver/kv_archiver_store/kv_archiver_store.ts +43 -62
  57. package/src/archiver/kv_archiver_store/log_store.ts +79 -71
  58. package/src/archiver/kv_archiver_store/message_store.ts +22 -22
  59. package/src/archiver/kv_archiver_store/nullifier_store.ts +48 -30
  60. package/src/archiver/memory_archiver_store/memory_archiver_store.ts +44 -43
  61. package/src/factory.ts +10 -8
  62. package/src/test/mock_l2_block_source.ts +18 -16
@@ -1,6 +1,6 @@
1
1
  import { type InBlock, L2Block, type TxEffect, type TxHash, TxReceipt } from '@aztec/circuit-types';
2
2
  import { type AztecAddress, BlockHeader } from '@aztec/circuits.js';
3
- import { type AztecKVStore } from '@aztec/kv-store';
3
+ import type { AztecAsyncKVStore } from '@aztec/kv-store';
4
4
  import { type L1Published } from '../structs/published.js';
5
5
  /**
6
6
  * LMDB implementation of the ArchiverDataStore interface.
@@ -8,7 +8,7 @@ import { type L1Published } from '../structs/published.js';
8
8
  export declare class BlockStore {
9
9
  #private;
10
10
  private db;
11
- constructor(db: AztecKVStore);
11
+ constructor(db: AztecAsyncKVStore);
12
12
  /**
13
13
  * Append new blocks to the store's list.
14
14
  * @param blocks - The L2 blocks to be added to the store.
@@ -29,59 +29,59 @@ export declare class BlockStore {
29
29
  * @param limit - The number of blocks to return.
30
30
  * @returns The requested L2 blocks
31
31
  */
32
- getBlocks(start: number, limit: number): IterableIterator<L1Published<L2Block>>;
32
+ getBlocks(start: number, limit: number): AsyncIterableIterator<L1Published<L2Block>>;
33
33
  /**
34
34
  * Gets an L2 block.
35
35
  * @param blockNumber - The number of the block to return.
36
36
  * @returns The requested L2 block.
37
37
  */
38
- getBlock(blockNumber: number): L1Published<L2Block> | undefined;
38
+ getBlock(blockNumber: number): Promise<L1Published<L2Block> | undefined>;
39
39
  /**
40
40
  * Gets the headers for a sequence of L2 blocks.
41
41
  * @param start - Number of the first block to return (inclusive).
42
42
  * @param limit - The number of blocks to return.
43
43
  * @returns The requested L2 block headers
44
44
  */
45
- getBlockHeaders(start: number, limit: number): IterableIterator<BlockHeader>;
45
+ getBlockHeaders(start: number, limit: number): AsyncIterableIterator<BlockHeader>;
46
46
  private getBlockFromBlockStorage;
47
47
  /**
48
48
  * Gets a tx effect.
49
49
  * @param txHash - The txHash of the tx corresponding to the tx effect.
50
50
  * @returns The requested tx effect (or undefined if not found).
51
51
  */
52
- getTxEffect(txHash: TxHash): InBlock<TxEffect> | undefined;
52
+ getTxEffect(txHash: TxHash): Promise<InBlock<TxEffect> | undefined>;
53
53
  /**
54
54
  * Gets a receipt of a settled tx.
55
55
  * @param txHash - The hash of a tx we try to get the receipt for.
56
56
  * @returns The requested tx receipt (or undefined if not found).
57
57
  */
58
- getSettledTxReceipt(txHash: TxHash): TxReceipt | undefined;
58
+ getSettledTxReceipt(txHash: TxHash): Promise<TxReceipt | undefined>;
59
59
  /**
60
60
  * Looks up which block included the requested tx effect.
61
61
  * @param txHash - The txHash of the tx.
62
62
  * @returns The block number and index of the tx.
63
63
  */
64
- getTxLocation(txHash: TxHash): [blockNumber: number, txIndex: number] | undefined;
64
+ getTxLocation(txHash: TxHash): Promise<[blockNumber: number, txIndex: number] | undefined>;
65
65
  /**
66
66
  * Looks up which block deployed a particular contract.
67
67
  * @param contractAddress - The address of the contract to look up.
68
68
  * @returns The block number and index of the contract.
69
69
  */
70
- getContractLocation(contractAddress: AztecAddress): [blockNumber: number, index: number] | undefined;
70
+ getContractLocation(contractAddress: AztecAddress): Promise<[blockNumber: number, index: number] | undefined>;
71
71
  /**
72
72
  * Gets the number of the latest L2 block processed.
73
73
  * @returns The number of the latest L2 block processed.
74
74
  */
75
- getSynchedL2BlockNumber(): number;
75
+ getSynchedL2BlockNumber(): Promise<number>;
76
76
  /**
77
77
  * Gets the most recent L1 block processed.
78
78
  * @returns The L1 block that published the latest L2 block
79
79
  */
80
- getSynchedL1BlockNumber(): bigint | undefined;
81
- setSynchedL1BlockNumber(l1BlockNumber: bigint): void;
82
- getProvenL2BlockNumber(): number;
83
- setProvenL2BlockNumber(blockNumber: number): void;
84
- getProvenL2EpochNumber(): number | undefined;
85
- setProvenL2EpochNumber(epochNumber: number): void;
80
+ getSynchedL1BlockNumber(): Promise<bigint | undefined>;
81
+ setSynchedL1BlockNumber(l1BlockNumber: bigint): Promise<boolean>;
82
+ getProvenL2BlockNumber(): Promise<number>;
83
+ setProvenL2BlockNumber(blockNumber: number): Promise<boolean>;
84
+ getProvenL2EpochNumber(): Promise<number | undefined>;
85
+ setProvenL2EpochNumber(epochNumber: number): Promise<boolean>;
86
86
  }
87
87
  //# sourceMappingURL=block_store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"block_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/block_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,OAAO,EAAE,OAAO,EAAe,KAAK,QAAQ,EAAE,KAAK,MAAM,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACvH,OAAO,EAA0B,KAAK,YAAY,EAAE,WAAW,EAAwB,MAAM,oBAAoB,CAAC;AAElH,OAAO,EAAE,KAAK,YAAY,EAAkD,MAAM,iBAAiB,CAAC;AAEpG,OAAO,EAAE,KAAK,WAAW,EAAwB,MAAM,yBAAyB,CAAC;AAUjF;;GAEG;AACH,qBAAa,UAAU;;IAwBT,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,YAAY;IAUpC;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IA0B3D;;;;;;OAMG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;IA2BjD;;;;;OAKG;IACF,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAMhF;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,SAAS;IAS/D;;;;;OAKG;IACF,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAAC,WAAW,CAAC;IAM7E,OAAO,CAAC,wBAAwB;IAgBhC;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS;IAkB1D;;;;OAIG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAmB1D;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,SAAS;IAIjF;;;;OAIG;IACH,mBAAmB,CAAC,eAAe,EAAE,YAAY,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,SAAS;IAIpG;;;OAGG;IACH,uBAAuB,IAAI,MAAM;IAKjC;;;OAGG;IACH,uBAAuB,IAAI,MAAM,GAAG,SAAS;IAI7C,uBAAuB,CAAC,aAAa,EAAE,MAAM;IAI7C,sBAAsB,IAAI,MAAM;IAIhC,sBAAsB,CAAC,WAAW,EAAE,MAAM;IAI1C,sBAAsB,IAAI,MAAM,GAAG,SAAS;IAI5C,sBAAsB,CAAC,WAAW,EAAE,MAAM;CAgB3C"}
1
+ {"version":3,"file":"block_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/block_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,OAAO,EAAE,OAAO,EAAe,KAAK,QAAQ,EAAE,KAAK,MAAM,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACvH,OAAO,EAA0B,KAAK,YAAY,EAAE,WAAW,EAAwB,MAAM,oBAAoB,CAAC;AAGlH,OAAO,KAAK,EAAE,iBAAiB,EAA6C,MAAM,iBAAiB,CAAC;AAEpG,OAAO,EAAE,KAAK,WAAW,EAAwB,MAAM,yBAAyB,CAAC;AAUjF;;GAEG;AACH,qBAAa,UAAU;;IAwBT,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,iBAAiB;IAUzC;;;;OAIG;IACG,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BjE;;;;;;OAMG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;IAyBvD;;;;;OAKG;IACI,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,qBAAqB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAO3F;;;;OAIG;IACG,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IAS9E;;;;;OAKG;IACI,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,qBAAqB,CAAC,WAAW,CAAC;YAM1E,wBAAwB;IAgBtC;;;;OAIG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;IAkBzE;;;;OAIG;IACG,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAmBzE;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAI1F;;;;OAIG;IACH,mBAAmB,CAAC,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IAI7G;;;OAGG;IACG,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC;IAKhD;;;OAGG;IACH,uBAAuB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAItD,uBAAuB,CAAC,aAAa,EAAE,MAAM;IAIvC,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI/C,sBAAsB,CAAC,WAAW,EAAE,MAAM;IAI1C,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIrD,sBAAsB,CAAC,WAAW,EAAE,MAAM;CAe3C"}
@@ -2,6 +2,7 @@ var _BlockStore_instances, _BlockStore_blocks, _BlockStore_blockBodies, _BlockSt
2
2
  import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
3
  import { Body, L2Block, L2BlockHash, TxReceipt } from '@aztec/circuit-types';
4
4
  import { AppendOnlyTreeSnapshot, BlockHeader, INITIAL_L2_BLOCK_NUM } from '@aztec/circuits.js';
5
+ import { toArray } from '@aztec/foundation/iterable';
5
6
  import { createLogger } from '@aztec/foundation/log';
6
7
  /**
7
8
  * LMDB implementation of the ArchiverDataStore interface.
@@ -38,23 +39,24 @@ export class BlockStore {
38
39
  * @param blocks - The L2 blocks to be added to the store.
39
40
  * @returns True if the operation is successful.
40
41
  */
41
- addBlocks(blocks) {
42
+ async addBlocks(blocks) {
42
43
  if (blocks.length === 0) {
43
- return Promise.resolve(true);
44
+ return true;
44
45
  }
45
- return this.db.transaction(() => {
46
+ return await this.db.transactionAsync(async () => {
46
47
  for (const block of blocks) {
47
- void __classPrivateFieldGet(this, _BlockStore_blocks, "f").set(block.data.number, {
48
+ await __classPrivateFieldGet(this, _BlockStore_blocks, "f").set(block.data.number, {
48
49
  header: block.data.header.toBuffer(),
49
50
  archive: block.data.archive.toBuffer(),
50
51
  l1: block.l1,
51
52
  });
52
- block.data.body.txEffects.forEach((tx, i) => {
53
- void __classPrivateFieldGet(this, _BlockStore_txIndex, "f").set(tx.txHash.toString(), [block.data.number, i]);
54
- });
55
- void __classPrivateFieldGet(this, _BlockStore_blockBodies, "f").set(block.data.hash().toString(), block.data.body.toBuffer());
53
+ for (let i = 0; i < block.data.body.txEffects.length; i++) {
54
+ const txEffect = block.data.body.txEffects[i];
55
+ await __classPrivateFieldGet(this, _BlockStore_txIndex, "f").set(txEffect.txHash.toString(), [block.data.number, i]);
56
+ }
57
+ await __classPrivateFieldGet(this, _BlockStore_blockBodies, "f").set((await block.data.hash()).toString(), block.data.body.toBuffer());
56
58
  }
57
- void __classPrivateFieldGet(this, _BlockStore_lastSynchedL1Block, "f").set(blocks[blocks.length - 1].l1.blockNumber);
59
+ await __classPrivateFieldGet(this, _BlockStore_lastSynchedL1Block, "f").set(blocks[blocks.length - 1].l1.blockNumber);
58
60
  return true;
59
61
  });
60
62
  }
@@ -65,24 +67,22 @@ export class BlockStore {
65
67
  * @param blocksToUnwind - The number of blocks we are to unwind
66
68
  * @returns True if the operation is successful
67
69
  */
68
- unwindBlocks(from, blocksToUnwind) {
69
- return this.db.transaction(() => {
70
- const last = this.getSynchedL2BlockNumber();
71
- if (from != last) {
70
+ async unwindBlocks(from, blocksToUnwind) {
71
+ return await this.db.transactionAsync(async () => {
72
+ const last = await this.getSynchedL2BlockNumber();
73
+ if (from !== last) {
72
74
  throw new Error(`Can only unwind blocks from the tip (requested ${from} but current tip is ${last})`);
73
75
  }
74
76
  for (let i = 0; i < blocksToUnwind; i++) {
75
77
  const blockNumber = from - i;
76
- const block = this.getBlock(blockNumber);
78
+ const block = await this.getBlock(blockNumber);
77
79
  if (block === undefined) {
78
80
  throw new Error(`Cannot remove block ${blockNumber} from the store, we don't have it`);
79
81
  }
80
- void __classPrivateFieldGet(this, _BlockStore_blocks, "f").delete(block.data.number);
81
- block.data.body.txEffects.forEach(tx => {
82
- void __classPrivateFieldGet(this, _BlockStore_txIndex, "f").delete(tx.txHash.toString());
83
- });
84
- const blockHash = block.data.hash().toString();
85
- void __classPrivateFieldGet(this, _BlockStore_blockBodies, "f").delete(blockHash);
82
+ await __classPrivateFieldGet(this, _BlockStore_blocks, "f").delete(block.data.number);
83
+ await Promise.all(block.data.body.txEffects.map(tx => __classPrivateFieldGet(this, _BlockStore_txIndex, "f").delete(tx.txHash.toString())));
84
+ const blockHash = (await block.data.hash()).toString();
85
+ await __classPrivateFieldGet(this, _BlockStore_blockBodies, "f").delete(blockHash);
86
86
  __classPrivateFieldGet(this, _BlockStore_log, "f").debug(`Unwound block ${blockNumber} ${blockHash}`);
87
87
  }
88
88
  return true;
@@ -94,9 +94,10 @@ export class BlockStore {
94
94
  * @param limit - The number of blocks to return.
95
95
  * @returns The requested L2 blocks
96
96
  */
97
- *getBlocks(start, limit) {
98
- for (const blockStorage of __classPrivateFieldGet(this, _BlockStore_blocks, "f").values(__classPrivateFieldGet(this, _BlockStore_instances, "m", _BlockStore_computeBlockRange).call(this, start, limit))) {
99
- yield this.getBlockFromBlockStorage(blockStorage);
97
+ async *getBlocks(start, limit) {
98
+ for await (const blockStorage of __classPrivateFieldGet(this, _BlockStore_blocks, "f").valuesAsync(__classPrivateFieldGet(this, _BlockStore_instances, "m", _BlockStore_computeBlockRange).call(this, start, limit))) {
99
+ const block = await this.getBlockFromBlockStorage(blockStorage);
100
+ yield block;
100
101
  }
101
102
  }
102
103
  /**
@@ -104,10 +105,10 @@ export class BlockStore {
104
105
  * @param blockNumber - The number of the block to return.
105
106
  * @returns The requested L2 block.
106
107
  */
107
- getBlock(blockNumber) {
108
- const blockStorage = __classPrivateFieldGet(this, _BlockStore_blocks, "f").get(blockNumber);
108
+ async getBlock(blockNumber) {
109
+ const blockStorage = await __classPrivateFieldGet(this, _BlockStore_blocks, "f").getAsync(blockNumber);
109
110
  if (!blockStorage || !blockStorage.header) {
110
- return undefined;
111
+ return Promise.resolve(undefined);
111
112
  }
112
113
  return this.getBlockFromBlockStorage(blockStorage);
113
114
  }
@@ -117,16 +118,16 @@ export class BlockStore {
117
118
  * @param limit - The number of blocks to return.
118
119
  * @returns The requested L2 block headers
119
120
  */
120
- *getBlockHeaders(start, limit) {
121
- for (const blockStorage of __classPrivateFieldGet(this, _BlockStore_blocks, "f").values(__classPrivateFieldGet(this, _BlockStore_instances, "m", _BlockStore_computeBlockRange).call(this, start, limit))) {
121
+ async *getBlockHeaders(start, limit) {
122
+ for await (const blockStorage of __classPrivateFieldGet(this, _BlockStore_blocks, "f").valuesAsync(__classPrivateFieldGet(this, _BlockStore_instances, "m", _BlockStore_computeBlockRange).call(this, start, limit))) {
122
123
  yield BlockHeader.fromBuffer(blockStorage.header);
123
124
  }
124
125
  }
125
- getBlockFromBlockStorage(blockStorage) {
126
+ async getBlockFromBlockStorage(blockStorage) {
126
127
  const header = BlockHeader.fromBuffer(blockStorage.header);
127
128
  const archive = AppendOnlyTreeSnapshot.fromBuffer(blockStorage.archive);
128
- const blockHash = header.hash().toString();
129
- const blockBodyBuffer = __classPrivateFieldGet(this, _BlockStore_blockBodies, "f").get(blockHash);
129
+ const blockHash = (await header.hash()).toString();
130
+ const blockBodyBuffer = await __classPrivateFieldGet(this, _BlockStore_blockBodies, "f").getAsync(blockHash);
130
131
  if (blockBodyBuffer === undefined) {
131
132
  throw new Error(`Could not retrieve body for block ${header.globalVariables.blockNumber.toNumber()} ${blockHash}`);
132
133
  }
@@ -139,19 +140,19 @@ export class BlockStore {
139
140
  * @param txHash - The txHash of the tx corresponding to the tx effect.
140
141
  * @returns The requested tx effect (or undefined if not found).
141
142
  */
142
- getTxEffect(txHash) {
143
- const [blockNumber, txIndex] = this.getTxLocation(txHash) ?? [];
143
+ async getTxEffect(txHash) {
144
+ const [blockNumber, txIndex] = (await this.getTxLocation(txHash)) ?? [];
144
145
  if (typeof blockNumber !== 'number' || typeof txIndex !== 'number') {
145
146
  return undefined;
146
147
  }
147
- const block = this.getBlock(blockNumber);
148
+ const block = await this.getBlock(blockNumber);
148
149
  if (!block) {
149
150
  return undefined;
150
151
  }
151
152
  return {
152
153
  data: block.data.body.txEffects[txIndex],
153
154
  l2BlockNumber: block.data.number,
154
- l2BlockHash: block.data.hash().toString(),
155
+ l2BlockHash: (await block.data.hash()).toString(),
155
156
  };
156
157
  }
157
158
  /**
@@ -159,14 +160,14 @@ export class BlockStore {
159
160
  * @param txHash - The hash of a tx we try to get the receipt for.
160
161
  * @returns The requested tx receipt (or undefined if not found).
161
162
  */
162
- getSettledTxReceipt(txHash) {
163
- const [blockNumber, txIndex] = this.getTxLocation(txHash) ?? [];
163
+ async getSettledTxReceipt(txHash) {
164
+ const [blockNumber, txIndex] = (await this.getTxLocation(txHash)) ?? [];
164
165
  if (typeof blockNumber !== 'number' || typeof txIndex !== 'number') {
165
166
  return undefined;
166
167
  }
167
- const block = this.getBlock(blockNumber);
168
+ const block = (await this.getBlock(blockNumber));
168
169
  const tx = block.data.body.txEffects[txIndex];
169
- return new TxReceipt(txHash, TxReceipt.statusFromRevertCode(tx.revertCode), '', tx.transactionFee.toBigInt(), L2BlockHash.fromField(block.data.hash()), block.data.number);
170
+ return new TxReceipt(txHash, TxReceipt.statusFromRevertCode(tx.revertCode), '', tx.transactionFee.toBigInt(), L2BlockHash.fromField(await block.data.hash()), block.data.number);
170
171
  }
171
172
  /**
172
173
  * Looks up which block included the requested tx effect.
@@ -174,7 +175,7 @@ export class BlockStore {
174
175
  * @returns The block number and index of the tx.
175
176
  */
176
177
  getTxLocation(txHash) {
177
- return __classPrivateFieldGet(this, _BlockStore_txIndex, "f").get(txHash.toString());
178
+ return __classPrivateFieldGet(this, _BlockStore_txIndex, "f").getAsync(txHash.toString());
178
179
  }
179
180
  /**
180
181
  * Looks up which block deployed a particular contract.
@@ -182,14 +183,14 @@ export class BlockStore {
182
183
  * @returns The block number and index of the contract.
183
184
  */
184
185
  getContractLocation(contractAddress) {
185
- return __classPrivateFieldGet(this, _BlockStore_contractIndex, "f").get(contractAddress.toString());
186
+ return __classPrivateFieldGet(this, _BlockStore_contractIndex, "f").getAsync(contractAddress.toString());
186
187
  }
187
188
  /**
188
189
  * Gets the number of the latest L2 block processed.
189
190
  * @returns The number of the latest L2 block processed.
190
191
  */
191
- getSynchedL2BlockNumber() {
192
- const [lastBlockNumber] = __classPrivateFieldGet(this, _BlockStore_blocks, "f").keys({ reverse: true, limit: 1 });
192
+ async getSynchedL2BlockNumber() {
193
+ const [lastBlockNumber] = await toArray(__classPrivateFieldGet(this, _BlockStore_blocks, "f").keysAsync({ reverse: true, limit: 1 }));
193
194
  return typeof lastBlockNumber === 'number' ? lastBlockNumber : INITIAL_L2_BLOCK_NUM - 1;
194
195
  }
195
196
  /**
@@ -197,22 +198,22 @@ export class BlockStore {
197
198
  * @returns The L1 block that published the latest L2 block
198
199
  */
199
200
  getSynchedL1BlockNumber() {
200
- return __classPrivateFieldGet(this, _BlockStore_lastSynchedL1Block, "f").get();
201
+ return __classPrivateFieldGet(this, _BlockStore_lastSynchedL1Block, "f").getAsync();
201
202
  }
202
203
  setSynchedL1BlockNumber(l1BlockNumber) {
203
- void __classPrivateFieldGet(this, _BlockStore_lastSynchedL1Block, "f").set(l1BlockNumber);
204
+ return __classPrivateFieldGet(this, _BlockStore_lastSynchedL1Block, "f").set(l1BlockNumber);
204
205
  }
205
- getProvenL2BlockNumber() {
206
- return __classPrivateFieldGet(this, _BlockStore_lastProvenL2Block, "f").get() ?? 0;
206
+ async getProvenL2BlockNumber() {
207
+ return (await __classPrivateFieldGet(this, _BlockStore_lastProvenL2Block, "f").getAsync()) ?? 0;
207
208
  }
208
209
  setProvenL2BlockNumber(blockNumber) {
209
- void __classPrivateFieldGet(this, _BlockStore_lastProvenL2Block, "f").set(blockNumber);
210
+ return __classPrivateFieldGet(this, _BlockStore_lastProvenL2Block, "f").set(blockNumber);
210
211
  }
211
212
  getProvenL2EpochNumber() {
212
- return __classPrivateFieldGet(this, _BlockStore_lastProvenL2Epoch, "f").get();
213
+ return __classPrivateFieldGet(this, _BlockStore_lastProvenL2Epoch, "f").getAsync();
213
214
  }
214
215
  setProvenL2EpochNumber(epochNumber) {
215
- void __classPrivateFieldGet(this, _BlockStore_lastProvenL2Epoch, "f").set(epochNumber);
216
+ return __classPrivateFieldGet(this, _BlockStore_lastProvenL2Epoch, "f").set(epochNumber);
216
217
  }
217
218
  }
218
219
  _BlockStore_blocks = new WeakMap(), _BlockStore_blockBodies = new WeakMap(), _BlockStore_lastSynchedL1Block = new WeakMap(), _BlockStore_lastProvenL2Block = new WeakMap(), _BlockStore_lastProvenL2Epoch = new WeakMap(), _BlockStore_txIndex = new WeakMap(), _BlockStore_contractIndex = new WeakMap(), _BlockStore_log = new WeakMap(), _BlockStore_instances = new WeakSet(), _BlockStore_computeBlockRange = function _BlockStore_computeBlockRange(start, limit) {
@@ -222,7 +223,6 @@ _BlockStore_blocks = new WeakMap(), _BlockStore_blockBodies = new WeakMap(), _Bl
222
223
  if (start < INITIAL_L2_BLOCK_NUM) {
223
224
  throw new Error(`Invalid start: ${start}`);
224
225
  }
225
- const end = start + limit;
226
- return { start, end };
226
+ return { start, limit };
227
227
  };
228
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXJjaGl2ZXIva3ZfYXJjaGl2ZXJfc3RvcmUvYmxvY2tfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFnQixPQUFPLEVBQUUsV0FBVyxFQUE4QixTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2SCxPQUFPLEVBQUUsc0JBQXNCLEVBQXFCLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQWFyRDs7R0FFRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBd0JyQixZQUFvQixFQUFnQjs7UUFBaEIsT0FBRSxHQUFGLEVBQUUsQ0FBYztRQXZCcEMscUNBQXFDO1FBQ3JDLHFDQUF3QztRQUV4QyxtQ0FBbUM7UUFDbkMsMENBQXVDO1FBRXZDLCtFQUErRTtRQUMvRSxpREFBNEM7UUFFNUMsc0RBQXNEO1FBQ3RELGdEQUEyQztRQUUzQyxzREFBc0Q7UUFDdEQsZ0RBQTJDO1FBRTNDLDhFQUE4RTtRQUM5RSxzQ0FBNEM7UUFFNUMsa0ZBQWtGO1FBQ2xGLDRDQUFrRDtRQUVsRCwwQkFBTyxZQUFZLENBQUMsc0JBQXNCLENBQUMsRUFBQztRQUcxQyx1QkFBQSxJQUFJLHNCQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsTUFBQSxDQUFDO1FBQzdDLHVCQUFBLElBQUksMkJBQWdCLEVBQUUsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsTUFBQSxDQUFDO1FBQ3hELHVCQUFBLElBQUksdUJBQVksRUFBRSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFBLENBQUM7UUFDaEQsdUJBQUEsSUFBSSw2QkFBa0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxNQUFBLENBQUM7UUFDNUQs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
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXJjaGl2ZXIva3ZfYXJjaGl2ZXJfc3RvcmUvYmxvY2tfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFnQixPQUFPLEVBQUUsV0FBVyxFQUE4QixTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2SCxPQUFPLEVBQUUsc0JBQXNCLEVBQXFCLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFhckQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sVUFBVTtJQXdCckIsWUFBb0IsRUFBcUI7O1FBQXJCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBdkJ6QyxxQ0FBcUM7UUFDckMscUNBQTZDO1FBRTdDLG1DQUFtQztRQUNuQywwQ0FBNEM7UUFFNUMsK0VBQStFO1FBQy9FLGlEQUFpRDtRQUVqRCxzREFBc0Q7UUFDdEQsZ0RBQWdEO1FBRWhELHNEQUFzRDtRQUN0RCxnREFBZ0Q7UUFFaEQsOEVBQThFO1FBQzlFLHNDQUFpRDtRQUVqRCxrRkFBa0Y7UUFDbEYsNENBQXVEO1FBRXZELDBCQUFPLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFDO1FBRzFDLHVCQUFBLElBQUksc0JBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxNQUFBLENBQUM7UUFDN0MsdUJBQUEsSUFBSSwyQkFBZ0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxNQUFBLENBQUM7UUFDeEQsdUJBQUEsSUFBSSx1QkFBWSxFQUFFLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLE1BQUEsQ0FBQztRQUNoRCx1QkFBQSxJQUFJLDZCQUFrQixFQUFF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
@@ -1,17 +1,17 @@
1
1
  import { type ContractClassPublic, type ExecutablePrivateFunctionWithMembershipProof, Fr, type UnconstrainedFunctionWithMembershipProof } from '@aztec/circuits.js';
2
- import { type AztecKVStore } from '@aztec/kv-store';
2
+ import type { AztecAsyncKVStore } from '@aztec/kv-store';
3
3
  /**
4
4
  * LMDB implementation of the ArchiverDataStore interface.
5
5
  */
6
6
  export declare class ContractClassStore {
7
7
  #private;
8
8
  private db;
9
- constructor(db: AztecKVStore);
9
+ constructor(db: AztecAsyncKVStore);
10
10
  addContractClass(contractClass: ContractClassPublic, bytecodeCommitment: Fr, blockNumber: number): Promise<void>;
11
11
  deleteContractClasses(contractClass: ContractClassPublic, blockNumber: number): Promise<void>;
12
- getContractClass(id: Fr): ContractClassPublic | undefined;
13
- getBytecodeCommitment(id: Fr): Fr | undefined;
14
- getContractClassIds(): Fr[];
12
+ getContractClass(id: Fr): Promise<ContractClassPublic | undefined>;
13
+ getBytecodeCommitment(id: Fr): Promise<Fr | undefined>;
14
+ getContractClassIds(): Promise<Fr[]>;
15
15
  addFunctions(contractClassId: Fr, newPrivateFunctions: ExecutablePrivateFunctionWithMembershipProof[], newUnconstrainedFunctions: UnconstrainedFunctionWithMembershipProof[]): Promise<boolean>;
16
16
  }
17
17
  //# sourceMappingURL=contract_class_store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract_class_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/contract_class_store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EAExB,KAAK,4CAA4C,EACjD,EAAE,EAEF,KAAK,wCAAwC,EAE9C,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,iBAAiB,CAAC;AAEnE;;GAEG;AACH,qBAAa,kBAAkB;;IAIjB,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,YAAY;IAK9B,gBAAgB,CACpB,aAAa,EAAE,mBAAmB,EAClC,kBAAkB,EAAE,EAAE,EACtB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAQV,qBAAqB,CAAC,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnG,gBAAgB,CAAC,EAAE,EAAE,EAAE,GAAG,mBAAmB,GAAG,SAAS;IAKzD,qBAAqB,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,SAAS;IAK7C,mBAAmB,IAAI,EAAE,EAAE;IAIrB,YAAY,CAChB,eAAe,EAAE,EAAE,EACnB,mBAAmB,EAAE,4CAA4C,EAAE,EACnE,yBAAyB,EAAE,wCAAwC,EAAE,GACpE,OAAO,CAAC,OAAO,CAAC;CA2BpB"}
1
+ {"version":3,"file":"contract_class_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/contract_class_store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EAExB,KAAK,4CAA4C,EACjD,EAAE,EAEF,KAAK,wCAAwC,EAE9C,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AAExE;;GAEG;AACH,qBAAa,kBAAkB;;IAIjB,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,iBAAiB;IAKnC,gBAAgB,CACpB,aAAa,EAAE,mBAAmB,EAClC,kBAAkB,EAAE,EAAE,EACtB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAQV,qBAAqB,CAAC,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7F,gBAAgB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAKlE,qBAAqB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAKtD,mBAAmB,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;IAIpC,YAAY,CAChB,eAAe,EAAE,EAAE,EACnB,mBAAmB,EAAE,4CAA4C,EAAE,EACnE,yBAAyB,EAAE,wCAAwC,EAAE,GACpE,OAAO,CAAC,OAAO,CAAC;CA4BpB"}
@@ -1,6 +1,7 @@
1
1
  var _ContractClassStore_contractClasses, _ContractClassStore_bytecodeCommitments;
2
2
  import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
3
  import { Fr, FunctionSelector, Vector, } from '@aztec/circuits.js';
4
+ import { toArray } from '@aztec/foundation/iterable';
4
5
  import { BufferReader, numToUInt8, serializeToBuffer } from '@aztec/foundation/serialize';
5
6
  /**
6
7
  * LMDB implementation of the ArchiverDataStore interface.
@@ -18,26 +19,26 @@ export class ContractClassStore {
18
19
  await __classPrivateFieldGet(this, _ContractClassStore_bytecodeCommitments, "f").setIfNotExists(contractClass.id.toString(), bytecodeCommitment.toBuffer());
19
20
  }
20
21
  async deleteContractClasses(contractClass, blockNumber) {
21
- const restoredContractClass = __classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").get(contractClass.id.toString());
22
+ const restoredContractClass = await __classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").getAsync(contractClass.id.toString());
22
23
  if (restoredContractClass && deserializeContractClassPublic(restoredContractClass).l2BlockNumber >= blockNumber) {
23
24
  await __classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").delete(contractClass.id.toString());
24
25
  await __classPrivateFieldGet(this, _ContractClassStore_bytecodeCommitments, "f").delete(contractClass.id.toString());
25
26
  }
26
27
  }
27
- getContractClass(id) {
28
- const contractClass = __classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").get(id.toString());
28
+ async getContractClass(id) {
29
+ const contractClass = await __classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").getAsync(id.toString());
29
30
  return contractClass && { ...deserializeContractClassPublic(contractClass), id };
30
31
  }
31
- getBytecodeCommitment(id) {
32
- const value = __classPrivateFieldGet(this, _ContractClassStore_bytecodeCommitments, "f").get(id.toString());
32
+ async getBytecodeCommitment(id) {
33
+ const value = await __classPrivateFieldGet(this, _ContractClassStore_bytecodeCommitments, "f").getAsync(id.toString());
33
34
  return value === undefined ? undefined : Fr.fromBuffer(value);
34
35
  }
35
- getContractClassIds() {
36
- return Array.from(__classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").keys()).map(key => Fr.fromHexString(key));
36
+ async getContractClassIds() {
37
+ return (await toArray(__classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").keysAsync())).map(key => Fr.fromHexString(key));
37
38
  }
38
39
  async addFunctions(contractClassId, newPrivateFunctions, newUnconstrainedFunctions) {
39
- await this.db.transaction(() => {
40
- const existingClassBuffer = __classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").get(contractClassId.toString());
40
+ await this.db.transactionAsync(async () => {
41
+ const existingClassBuffer = await __classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").getAsync(contractClassId.toString());
41
42
  if (!existingClassBuffer) {
42
43
  throw new Error(`Unknown contract class ${contractClassId} when adding private functions to store`);
43
44
  }
@@ -54,9 +55,9 @@ export class ContractClassStore {
54
55
  ...newUnconstrainedFunctions.filter(newFn => !existingUnconstrainedFns.some(f => f.selector.equals(newFn.selector))),
55
56
  ],
56
57
  };
57
- void __classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").set(contractClassId.toString(), serializeContractClassPublic(updatedClass));
58
+ await __classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").set(contractClassId.toString(), serializeContractClassPublic(updatedClass));
58
59
  });
59
- return Promise.resolve(true);
60
+ return true;
60
61
  }
61
62
  }
62
63
  _ContractClassStore_contractClasses = new WeakMap(), _ContractClassStore_bytecodeCommitments = new WeakMap();
@@ -114,4 +115,4 @@ function deserializeUnconstrainedFunction(buffer) {
114
115
  artifactTreeLeafIndex: reader.readNumber(),
115
116
  };
116
117
  }
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfY2xhc3Nfc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXJjaGl2ZXIva3ZfYXJjaGl2ZXJfc3RvcmUvY29udHJhY3RfY2xhc3Nfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBSUwsRUFBRSxFQUNGLGdCQUFnQixFQUVoQixNQUFNLEdBQ1AsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRzFGOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFrQjtJQUk3QixZQUFvQixFQUFnQjtRQUFoQixPQUFFLEdBQUYsRUFBRSxDQUFjO1FBSHBDLHNEQUEyQztRQUMzQywwREFBK0M7UUFHN0MsdUJBQUEsSUFBSSx1Q0FBb0IsRUFBRSxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxNQUFBLENBQUM7UUFDaEUsdUJBQUEsSUFBSSwyQ0FBd0IsRUFBRSxDQUFDLE9BQU8sQ0FBQywrQkFBK0IsQ0FBQyxNQUFBLENBQUM7SUFDMUUsQ0FBQztJQUVELEtBQUssQ0FBQyxnQkFBZ0IsQ0FDcEIsYUFBa0MsRUFDbEMsa0JBQXNCLEVBQ3RCLFdBQW1CO1FBRW5CLE1BQU0sdUJBQUEsSUFBSSwyQ0FBaUIsQ0FBQyxjQUFjLENBQ3hDLGFBQWEsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQzNCLDRCQUE0QixDQUFDLEVBQUUsR0FBRyxhQUFhLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQy9FLENBQUM7UUFDRixNQUFNLHVCQUFBLElBQUksK0NBQXFCLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUM3RyxDQUFDO0lBRUQsS0FBSyxDQUFDLHFCQUFxQixDQUFDLGFB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
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfY2xhc3Nfc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXJjaGl2ZXIva3ZfYXJjaGl2ZXJfc3RvcmUvY29udHJhY3RfY2xhc3Nfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBSUwsRUFBRSxFQUNGLGdCQUFnQixFQUVoQixNQUFNLEdBQ1AsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUcxRjs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFJN0IsWUFBb0IsRUFBcUI7UUFBckIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFIekMsc0RBQWdEO1FBQ2hELDBEQUFvRDtRQUdsRCx1QkFBQSxJQUFJLHVDQUFvQixFQUFFLENBQUMsT0FBTyxDQUFDLDJCQUEyQixDQUFDLE1BQUEsQ0FBQztRQUNoRSx1QkFBQSxJQUFJLDJDQUF3QixFQUFFLENBQUMsT0FBTyxDQUFDLCtCQUErQixDQUFDLE1BQUEsQ0FBQztJQUMxRSxDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQixDQUNwQixhQUFrQyxFQUNsQyxrQkFBc0IsRUFDdEIsV0FBbUI7UUFFbkIsTUFBTSx1QkFBQSxJQUFJLDJDQUFpQixDQUFDLGNBQWMsQ0FDeEMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFDM0IsNEJBQTRCLENBQUMsRUFBRSxHQUFHLGFBQWEsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FDL0UsQ0FBQztRQUNGLE1BQU0sdUJBQUEsSUFBSSwrQ0FBcUIsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzdHLENBQUM7SUFFRCxLQUFLLENBQUMscUJBQXFCLENBQUMsYUFBa0MsRUFBRSxXQUFtQjtRQUNqRixNQUFNLHFCQUFxQixHQUFHLE1BQU0sdUJBQUEsSUFBSSwyQ0FBaUIsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2hHLElBQUkscUJBQXFCLElBQUksOEJBQThCLENBQUMscUJBQXFCLENBQUMsQ0FBQyxhQUFhLElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEgsTUFBTSx1QkFBQSxJQUFJLDJDQUFpQixDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDaEUsTUFBTSx1QkFBQSxJQUFJLCtDQUFxQixDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDdEUsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsRUFBTTtRQUMzQixNQUFNLGFBQWEsR0FBRyxNQUFNLHVCQUFBLElBQUksMkNBQWlCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLE9BQU8sYUFBYSxJQUFJLEVBQUUsR0FBRyw4QkFBOEIsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUNuRixDQUFDO0lBRUQsS0FBSyxDQUFDLHFCQUFxQixDQUFDLEVBQU07UUFDaEMsTUFBTSxLQUFLLEdBQUcsTUFBTSx1QkFBQSxJQUFJLCtDQUFxQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN0RSxPQUFPLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsS0FBSyxDQUFDLG1CQUFtQjtRQUN2QixPQUFPLENBQUMsTUFBTSxPQUFPLENBQUMsdUJBQUEsSUFBSSwyQ0FBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFFRCxLQUFLLENBQUMsWUFBWSxDQUNoQixlQUFtQixFQUNuQixtQkFBbUUsRUFDbkUseUJBQXFFO1FBRXJFLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUN4QyxNQUFNLG1CQUFtQixHQUFHLE1BQU0sdUJBQUEsSUFBSSwyQ0FBaUIsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDN0YsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7Z0JBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLGVBQWUseUNBQXlDLENBQUMsQ0FBQztZQUN0RyxDQUFDO1lBRUQsTUFBTSxhQUFhLEdBQUcsOEJBQThCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUMxRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUUsd0JBQXdCLEVBQUUsR0FBRyxhQUFhLENBQUM7WUFFakgsTUFBTSxZQUFZLEdBQW1EO2dCQUNuRSxHQUFHLGFBQWE7Z0JBQ2hCLGdCQUFnQixFQUFFO29CQUNoQixHQUFHLGtCQUFrQjtvQkFDckIsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2lCQUN6RztnQkFDRCxzQkFBc0IsRUFBRTtvQkFDdEIsR0FBRyx3QkFBd0I7b0JBQzNCLEdBQUcseUJBQXlCLENBQUMsTUFBTSxDQUNqQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQ2hGO2lCQUNGO2FBQ0YsQ0FBQztZQUNGLE1BQU0sdUJBQUEsSUFBSSwyQ0FBaUIsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFFLDRCQUE0QixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDMUcsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjs7QUFFRCxTQUFTLDRCQUE0QixDQUFDLGFBQTZEO0lBQ2pHLE9BQU8saUJBQWlCLENBQ3RCLGFBQWEsQ0FBQyxhQUFhLEVBQzNCLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQ2pDLGFBQWEsQ0FBQyxZQUFZLEVBQzFCLGFBQWEsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUNwQyxhQUFhLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUMzRyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUNyQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLEVBQzVELGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLEVBQzNDLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsOEJBQThCLENBQUMsRUFDeEUsYUFBYSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQ25DLGFBQWEsQ0FBQyxjQUFjLEVBQzVCLGFBQWEsQ0FBQyxvQkFBb0IsQ0FDbkMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLHdCQUF3QixDQUFDLEVBQWdEO0lBQ2hGLE9BQU8saUJBQWlCLENBQ3RCLEVBQUUsQ0FBQyxRQUFRLEVBQ1gsRUFBRSxDQUFDLE1BQU0sRUFDVCxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFDbEIsRUFBRSxDQUFDLFFBQVEsRUFDWCxFQUFFLENBQUMsb0JBQW9CLEVBQ3ZCLEVBQUUsQ0FBQyxvQkFBb0IsRUFDdkIsRUFBRSxDQUFDLHNDQUFzQyxFQUN6QyxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsOEJBQThCLENBQUMsRUFDN0MsRUFBRSxDQUFDLDRCQUE0QixFQUMvQixJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsdUJBQXVCLENBQUMsRUFDdEMsRUFBRSxDQUFDLHFCQUFxQixDQUN6QixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsOEJBQThCLENBQUMsRUFBNEM7SUFDbEYsT0FBTyxpQkFBaUIsQ0FDdEIsRUFBRSxDQUFDLFFBQVEsRUFDWCxFQUFFLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFDbEIsRUFBRSxDQUFDLFFBQVEsRUFDWCxFQUFFLENBQUMsb0JBQW9CLEVBQ3ZCLEVBQUUsQ0FBQyxvQkFBb0IsRUFDdkIsRUFBRSxDQUFDLGdDQUFnQyxFQUNuQyxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsdUJBQXVCLENBQUMsRUFDdEMsRUFBRSxDQUFDLHFCQUFxQixDQUN6QixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsOEJBQThCLENBQUMsTUFBYztJQUNwRCxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdDLE9BQU87UUFDTCxhQUFhLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRTtRQUNsQyxPQUFPLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBTztRQUNoQyxZQUFZLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFDbkMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUM7WUFDakMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDckIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUM7Z0JBQzdDLFFBQVEsRUFBRSxNQUFNLENBQUMsVUFBVSxFQUFFO2FBQzlCLENBQUM7U0FDSCxDQUFDO1FBQ0YsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSwwQkFBMEIsRUFBRSxDQUFDO1FBQy9FLHNCQUFzQixFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxVQUFVLEVBQUUsZ0NBQWdDLEVBQUUsQ0FBQztRQUMzRixjQUFjLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRTtRQUNuQyxvQkFBb0IsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztLQUM1QyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsMEJBQTBCLENBQUMsTUFBNkI7SUFDL0QsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QyxPQUFPO1FBQ0wsUUFBUSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUM7UUFDN0MsTUFBTSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBQzdCLFFBQVEsRUFBRSxNQUFNLENBQUMsVUFBVSxFQUFFO1FBQzdCLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBQzNDLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBQzNDLHNDQUFzQyxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBQzdELDhCQUE4QixFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBQ3JELDRCQUE0QixFQUFFLE1BQU0sQ0FBQyxVQUFVLEVBQUU7UUFDakQsdUJBQXVCLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFDOUMscUJBQXFCLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRTtLQUMzQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsZ0NBQWdDLENBQUMsTUFBNkI7SUFDckUsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QyxPQUFPO1FBQ0wsUUFBUSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUM7UUFDN0MsUUFBUSxFQUFFLE1BQU0sQ0FBQyxVQUFVLEVBQUU7UUFDN0Isb0JBQW9CLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFDM0Msb0JBQW9CLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFDM0MsZ0NBQWdDLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFDdkQsdUJBQXVCLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFDOUMscUJBQXFCLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRTtLQUMzQyxDQUFDO0FBQ0osQ0FBQyJ9
@@ -1,13 +1,13 @@
1
1
  import { type AztecAddress, type ContractInstanceWithAddress } from '@aztec/circuits.js';
2
- import { type AztecKVStore } from '@aztec/kv-store';
2
+ import type { AztecAsyncKVStore } from '@aztec/kv-store';
3
3
  /**
4
4
  * LMDB implementation of the ArchiverDataStore interface.
5
5
  */
6
6
  export declare class ContractInstanceStore {
7
7
  #private;
8
- constructor(db: AztecKVStore);
8
+ constructor(db: AztecAsyncKVStore);
9
9
  addContractInstance(contractInstance: ContractInstanceWithAddress): Promise<void>;
10
10
  deleteContractInstance(contractInstance: ContractInstanceWithAddress): Promise<void>;
11
- getContractInstance(address: AztecAddress): ContractInstanceWithAddress | undefined;
11
+ getContractInstance(address: AztecAddress): Promise<ContractInstanceWithAddress | undefined>;
12
12
  }
13
13
  //# sourceMappingURL=contract_instance_store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract_instance_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/contract_instance_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,2BAA2B,EAAgC,MAAM,oBAAoB,CAAC;AACvH,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,iBAAiB,CAAC;AAEnE;;GAEG;AACH,qBAAa,qBAAqB;;gBAGpB,EAAE,EAAE,YAAY;IAI5B,mBAAmB,CAAC,gBAAgB,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjF,sBAAsB,CAAC,gBAAgB,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpF,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,2BAA2B,GAAG,SAAS;CAIpF"}
1
+ {"version":3,"file":"contract_instance_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/contract_instance_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,2BAA2B,EAAgC,MAAM,oBAAoB,CAAC;AACvH,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AAExE;;GAEG;AACH,qBAAa,qBAAqB;;gBAGpB,EAAE,EAAE,iBAAiB;IAIjC,mBAAmB,CAAC,gBAAgB,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjF,sBAAsB,CAAC,gBAAgB,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9E,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC;CAInG"}
@@ -15,10 +15,10 @@ export class ContractInstanceStore {
15
15
  deleteContractInstance(contractInstance) {
16
16
  return __classPrivateFieldGet(this, _ContractInstanceStore_contractInstances, "f").delete(contractInstance.address.toString());
17
17
  }
18
- getContractInstance(address) {
19
- const contractInstance = __classPrivateFieldGet(this, _ContractInstanceStore_contractInstances, "f").get(address.toString());
18
+ async getContractInstance(address) {
19
+ const contractInstance = await __classPrivateFieldGet(this, _ContractInstanceStore_contractInstances, "f").getAsync(address.toString());
20
20
  return contractInstance && SerializableContractInstance.fromBuffer(contractInstance).withAddress(address);
21
21
  }
22
22
  }
23
23
  _ContractInstanceStore_contractInstances = new WeakMap();
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfaW5zdGFuY2Vfc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXJjaGl2ZXIva3ZfYXJjaGl2ZXJfc3RvcmUvY29udHJhY3RfaW5zdGFuY2Vfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQXVELDRCQUE0QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHdkg7O0dBRUc7QUFDSCxNQUFNLE9BQU8scUJBQXFCO0lBR2hDLFlBQVksRUFBZ0I7UUFGNUIsMkRBQTZDO1FBRzNDLHVCQUFBLElBQUksNENBQXNCLEVBQUUsQ0FBQyxPQUFPLENBQUMsNkJBQTZCLENBQUMsTUFBQSxDQUFDO0lBQ3RFLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxnQkFBNkM7UUFDL0QsT0FBTyx1QkFBQSxJQUFJLGdEQUFtQixDQUFDLEdBQUcsQ0FDaEMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUNuQyxJQUFJLDRCQUE0QixDQUFDLGdCQUFnQixDQUFDLENBQUMsUUFBUSxFQUFFLENBQzlELENBQUM7SUFDSixDQUFDO0lBRUQsc0JBQXNCLENBQUMsZ0JBQTZDO1FBQ2xFLE9BQU8sdUJBQUEsSUFBSSxnREFBbUIsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELG1CQUFtQixDQUFDLE9BQXFCO1FBQ3ZDLE1BQU0sZ0JBQWdCLEdBQUcsdUJBQUEsSUFBSSxnREFBbUIsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDekUsT0FBTyxnQkFBZ0IsSUFBSSw0QkFBNEIsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUcsQ0FBQztDQUNGIn0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfaW5zdGFuY2Vfc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXJjaGl2ZXIva3ZfYXJjaGl2ZXJfc3RvcmUvY29udHJhY3RfaW5zdGFuY2Vfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQXVELDRCQUE0QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHdkg7O0dBRUc7QUFDSCxNQUFNLE9BQU8scUJBQXFCO0lBR2hDLFlBQVksRUFBcUI7UUFGakMsMkRBQWtEO1FBR2hELHVCQUFBLElBQUksNENBQXNCLEVBQUUsQ0FBQyxPQUFPLENBQUMsNkJBQTZCLENBQUMsTUFBQSxDQUFDO0lBQ3RFLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxnQkFBNkM7UUFDL0QsT0FBTyx1QkFBQSxJQUFJLGdEQUFtQixDQUFDLEdBQUcsQ0FDaEMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUNuQyxJQUFJLDRCQUE0QixDQUFDLGdCQUFnQixDQUFDLENBQUMsUUFBUSxFQUFFLENBQzlELENBQUM7SUFDSixDQUFDO0lBRUQsc0JBQXNCLENBQUMsZ0JBQTZDO1FBQ2xFLE9BQU8sdUJBQUEsSUFBSSxnREFBbUIsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxPQUFxQjtRQUM3QyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sdUJBQUEsSUFBSSxnREFBbUIsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDcEYsT0FBTyxnQkFBZ0IsSUFBSSw0QkFBNEIsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUcsQ0FBQztDQUNGIn0=
@@ -2,7 +2,7 @@ import { type GetContractClassLogsResponse, type GetPublicLogsResponse, type InB
2
2
  import { type BlockHeader, type ContractClassPublic, type ContractInstanceWithAddress, type ExecutablePrivateFunctionWithMembershipProof, type Fr, type PrivateLog, type UnconstrainedFunctionWithMembershipProof } from '@aztec/circuits.js';
3
3
  import { FunctionSelector } from '@aztec/foundation/abi';
4
4
  import { type AztecAddress } from '@aztec/foundation/aztec-address';
5
- import { type AztecKVStore } from '@aztec/kv-store';
5
+ import { type AztecAsyncKVStore, type StoreSize } from '@aztec/kv-store';
6
6
  import { type ArchiverDataStore, type ArchiverL1SynchPoint } from '../archiver_store.js';
7
7
  import { type DataRetrieval } from '../structs/data_retrieval.js';
8
8
  import { type L1Published } from '../structs/published.js';
@@ -13,7 +13,7 @@ export declare class KVArchiverDataStore implements ArchiverDataStore {
13
13
  #private;
14
14
  private db;
15
15
  private functionNames;
16
- constructor(db: AztecKVStore, logsMaxPageSize?: number);
16
+ constructor(db: AztecAsyncKVStore, logsMaxPageSize?: number);
17
17
  getContractFunctionName(_address: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
18
18
  registerContractFunctionSignatures(_address: AztecAddress, signatures: string[]): Promise<void>;
19
19
  getContractClass(id: Fr): Promise<ContractClassPublic | undefined>;
@@ -142,10 +142,6 @@ export declare class KVArchiverDataStore implements ArchiverDataStore {
142
142
  * Gets the last L1 block number processed by the archiver
143
143
  */
144
144
  getSynchPoint(): Promise<ArchiverL1SynchPoint>;
145
- estimateSize(): {
146
- mappingSize: number;
147
- actualSize: number;
148
- numItems: number;
149
- };
145
+ estimateSize(): Promise<StoreSize>;
150
146
  }
151
147
  //# sourceMappingURL=kv_archiver_store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"kv_archiver_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/kv_archiver_store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kv_archiver_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/kv_archiver_store.ts"],"names":[],"mappings":"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"}