@aztec/archiver 0.73.0 → 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2

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 (82) hide show
  1. package/dest/archiver/archiver.js +729 -711
  2. package/dest/archiver/archiver_store.js +4 -2
  3. package/dest/archiver/archiver_store_test_suite.js +385 -224
  4. package/dest/archiver/config.js +9 -11
  5. package/dest/archiver/data_retrieval.js +89 -65
  6. package/dest/archiver/errors.js +1 -2
  7. package/dest/archiver/index.js +0 -1
  8. package/dest/archiver/instrumentation.js +29 -17
  9. package/dest/archiver/kv_archiver_store/block_store.js +118 -127
  10. package/dest/archiver/kv_archiver_store/contract_class_store.js +43 -37
  11. package/dest/archiver/kv_archiver_store/contract_instance_store.js +7 -12
  12. package/dest/archiver/kv_archiver_store/kv_archiver_store.js +135 -158
  13. package/dest/archiver/kv_archiver_store/log_store.js +271 -256
  14. package/dest/archiver/kv_archiver_store/message_store.js +42 -48
  15. package/dest/archiver/kv_archiver_store/nullifier_store.js +35 -42
  16. package/dest/archiver/memory_archiver_store/l1_to_l2_message_store.js +15 -24
  17. package/dest/archiver/memory_archiver_store/memory_archiver_store.js +227 -231
  18. package/dest/archiver/structs/data_retrieval.js +5 -2
  19. package/dest/archiver/structs/published.js +1 -2
  20. package/dest/factory.js +30 -20
  21. package/dest/index.js +0 -1
  22. package/dest/rpc/index.js +5 -2
  23. package/dest/test/index.js +0 -1
  24. package/dest/test/mock_archiver.js +8 -13
  25. package/dest/test/mock_l1_to_l2_message_source.js +4 -4
  26. package/dest/test/mock_l2_block_source.js +68 -67
  27. package/package.json +14 -13
  28. package/src/archiver/archiver.ts +1 -1
  29. package/src/archiver/data_retrieval.ts +17 -3
  30. package/src/archiver/index.ts +1 -1
  31. package/dest/archiver/archiver.d.ts +0 -186
  32. package/dest/archiver/archiver.d.ts.map +0 -1
  33. package/dest/archiver/archiver_store.d.ts +0 -217
  34. package/dest/archiver/archiver_store.d.ts.map +0 -1
  35. package/dest/archiver/archiver_store_test_suite.d.ts +0 -8
  36. package/dest/archiver/archiver_store_test_suite.d.ts.map +0 -1
  37. package/dest/archiver/config.d.ts +0 -35
  38. package/dest/archiver/config.d.ts.map +0 -1
  39. package/dest/archiver/data_retrieval.d.ts +0 -71
  40. package/dest/archiver/data_retrieval.d.ts.map +0 -1
  41. package/dest/archiver/errors.d.ts +0 -4
  42. package/dest/archiver/errors.d.ts.map +0 -1
  43. package/dest/archiver/index.d.ts +0 -8
  44. package/dest/archiver/index.d.ts.map +0 -1
  45. package/dest/archiver/instrumentation.d.ts +0 -27
  46. package/dest/archiver/instrumentation.d.ts.map +0 -1
  47. package/dest/archiver/kv_archiver_store/block_store.d.ts +0 -87
  48. package/dest/archiver/kv_archiver_store/block_store.d.ts.map +0 -1
  49. package/dest/archiver/kv_archiver_store/contract_class_store.d.ts +0 -17
  50. package/dest/archiver/kv_archiver_store/contract_class_store.d.ts.map +0 -1
  51. package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts +0 -13
  52. package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts.map +0 -1
  53. package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts +0 -147
  54. package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +0 -1
  55. package/dest/archiver/kv_archiver_store/log_store.d.ts +0 -47
  56. package/dest/archiver/kv_archiver_store/log_store.d.ts.map +0 -1
  57. package/dest/archiver/kv_archiver_store/message_store.d.ts +0 -33
  58. package/dest/archiver/kv_archiver_store/message_store.d.ts.map +0 -1
  59. package/dest/archiver/kv_archiver_store/nullifier_store.d.ts +0 -12
  60. package/dest/archiver/kv_archiver_store/nullifier_store.d.ts.map +0 -1
  61. package/dest/archiver/memory_archiver_store/l1_to_l2_message_store.d.ts +0 -23
  62. package/dest/archiver/memory_archiver_store/l1_to_l2_message_store.d.ts.map +0 -1
  63. package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts +0 -168
  64. package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts.map +0 -1
  65. package/dest/archiver/structs/data_retrieval.d.ts +0 -27
  66. package/dest/archiver/structs/data_retrieval.d.ts.map +0 -1
  67. package/dest/archiver/structs/published.d.ts +0 -11
  68. package/dest/archiver/structs/published.d.ts.map +0 -1
  69. package/dest/factory.d.ts +0 -10
  70. package/dest/factory.d.ts.map +0 -1
  71. package/dest/index.d.ts +0 -5
  72. package/dest/index.d.ts.map +0 -1
  73. package/dest/rpc/index.d.ts +0 -4
  74. package/dest/rpc/index.d.ts.map +0 -1
  75. package/dest/test/index.d.ts +0 -4
  76. package/dest/test/index.d.ts.map +0 -1
  77. package/dest/test/mock_archiver.d.ts +0 -22
  78. package/dest/test/mock_archiver.d.ts.map +0 -1
  79. package/dest/test/mock_l1_to_l2_message_source.d.ts +0 -16
  80. package/dest/test/mock_l1_to_l2_message_source.d.ts.map +0 -1
  81. package/dest/test/mock_l2_block_source.d.ts +0 -80
  82. package/dest/test/mock_l2_block_source.d.ts.map +0 -1
@@ -1,125 +1,114 @@
1
- var _BlockStore_instances, _BlockStore_blocks, _BlockStore_blockBodies, _BlockStore_lastSynchedL1Block, _BlockStore_lastProvenL2Block, _BlockStore_lastProvenL2Epoch, _BlockStore_txIndex, _BlockStore_contractIndex, _BlockStore_log, _BlockStore_computeBlockRange;
2
- import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
1
  import { Body, L2Block, L2BlockHash, TxReceipt } from '@aztec/circuit-types';
4
2
  import { AppendOnlyTreeSnapshot, BlockHeader, INITIAL_L2_BLOCK_NUM } from '@aztec/circuits.js';
5
3
  import { toArray } from '@aztec/foundation/iterable';
6
4
  import { createLogger } from '@aztec/foundation/log';
7
5
  /**
8
6
  * LMDB implementation of the ArchiverDataStore interface.
9
- */
10
- export class BlockStore {
11
- constructor(db) {
12
- _BlockStore_instances.add(this);
7
+ */ export class BlockStore {
8
+ db;
9
+ /** Map block number to block data */ #blocks;
10
+ /** Map block hash to block body */ #blockBodies;
11
+ /** Stores L1 block number in which the last processed L2 block was included */ #lastSynchedL1Block;
12
+ /** Stores l2 block number of the last proven block */ #lastProvenL2Block;
13
+ /** Stores l2 epoch number of the last proven epoch */ #lastProvenL2Epoch;
14
+ /** Index mapping transaction hash (as a string) to its location in a block */ #txIndex;
15
+ /** Index mapping a contract's address (as a string) to its location in a block */ #contractIndex;
16
+ #log;
17
+ constructor(db){
13
18
  this.db = db;
14
- /** Map block number to block data */
15
- _BlockStore_blocks.set(this, void 0);
16
- /** Map block hash to block body */
17
- _BlockStore_blockBodies.set(this, void 0);
18
- /** Stores L1 block number in which the last processed L2 block was included */
19
- _BlockStore_lastSynchedL1Block.set(this, void 0);
20
- /** Stores l2 block number of the last proven block */
21
- _BlockStore_lastProvenL2Block.set(this, void 0);
22
- /** Stores l2 epoch number of the last proven epoch */
23
- _BlockStore_lastProvenL2Epoch.set(this, void 0);
24
- /** Index mapping transaction hash (as a string) to its location in a block */
25
- _BlockStore_txIndex.set(this, void 0);
26
- /** Index mapping a contract's address (as a string) to its location in a block */
27
- _BlockStore_contractIndex.set(this, void 0);
28
- _BlockStore_log.set(this, createLogger('archiver:block_store'));
29
- __classPrivateFieldSet(this, _BlockStore_blocks, db.openMap('archiver_blocks'), "f");
30
- __classPrivateFieldSet(this, _BlockStore_blockBodies, db.openMap('archiver_block_bodies'), "f");
31
- __classPrivateFieldSet(this, _BlockStore_txIndex, db.openMap('archiver_tx_index'), "f");
32
- __classPrivateFieldSet(this, _BlockStore_contractIndex, db.openMap('archiver_contract_index'), "f");
33
- __classPrivateFieldSet(this, _BlockStore_lastSynchedL1Block, db.openSingleton('archiver_last_synched_l1_block'), "f");
34
- __classPrivateFieldSet(this, _BlockStore_lastProvenL2Block, db.openSingleton('archiver_last_proven_l2_block'), "f");
35
- __classPrivateFieldSet(this, _BlockStore_lastProvenL2Epoch, db.openSingleton('archiver_last_proven_l2_epoch'), "f");
19
+ this.#log = createLogger('archiver:block_store');
20
+ this.#blocks = db.openMap('archiver_blocks');
21
+ this.#blockBodies = db.openMap('archiver_block_bodies');
22
+ this.#txIndex = db.openMap('archiver_tx_index');
23
+ this.#contractIndex = db.openMap('archiver_contract_index');
24
+ this.#lastSynchedL1Block = db.openSingleton('archiver_last_synched_l1_block');
25
+ this.#lastProvenL2Block = db.openSingleton('archiver_last_proven_l2_block');
26
+ this.#lastProvenL2Epoch = db.openSingleton('archiver_last_proven_l2_epoch');
36
27
  }
37
28
  /**
38
- * Append new blocks to the store's list.
39
- * @param blocks - The L2 blocks to be added to the store.
40
- * @returns True if the operation is successful.
41
- */
42
- async addBlocks(blocks) {
29
+ * Append new blocks to the store's list.
30
+ * @param blocks - The L2 blocks to be added to the store.
31
+ * @returns True if the operation is successful.
32
+ */ async addBlocks(blocks) {
43
33
  if (blocks.length === 0) {
44
34
  return true;
45
35
  }
46
- return await this.db.transactionAsync(async () => {
47
- for (const block of blocks) {
48
- await __classPrivateFieldGet(this, _BlockStore_blocks, "f").set(block.data.number, {
36
+ return await this.db.transactionAsync(async ()=>{
37
+ for (const block of blocks){
38
+ await this.#blocks.set(block.data.number, {
49
39
  header: block.data.header.toBuffer(),
50
40
  archive: block.data.archive.toBuffer(),
51
- l1: block.l1,
41
+ l1: block.l1
52
42
  });
53
- for (let i = 0; i < block.data.body.txEffects.length; i++) {
43
+ for(let i = 0; i < block.data.body.txEffects.length; i++){
54
44
  const txEffect = block.data.body.txEffects[i];
55
- await __classPrivateFieldGet(this, _BlockStore_txIndex, "f").set(txEffect.txHash.toString(), [block.data.number, i]);
45
+ await this.#txIndex.set(txEffect.txHash.toString(), [
46
+ block.data.number,
47
+ i
48
+ ]);
56
49
  }
57
- await __classPrivateFieldGet(this, _BlockStore_blockBodies, "f").set((await block.data.hash()).toString(), block.data.body.toBuffer());
50
+ await this.#blockBodies.set((await block.data.hash()).toString(), block.data.body.toBuffer());
58
51
  }
59
- await __classPrivateFieldGet(this, _BlockStore_lastSynchedL1Block, "f").set(blocks[blocks.length - 1].l1.blockNumber);
52
+ await this.#lastSynchedL1Block.set(blocks[blocks.length - 1].l1.blockNumber);
60
53
  return true;
61
54
  });
62
55
  }
63
56
  /**
64
- * Unwinds blocks from the database
65
- * @param from - The tip of the chain, passed for verification purposes,
66
- * ensuring that we don't end up deleting something we did not intend
67
- * @param blocksToUnwind - The number of blocks we are to unwind
68
- * @returns True if the operation is successful
69
- */
70
- async unwindBlocks(from, blocksToUnwind) {
71
- return await this.db.transactionAsync(async () => {
57
+ * Unwinds blocks from the database
58
+ * @param from - The tip of the chain, passed for verification purposes,
59
+ * ensuring that we don't end up deleting something we did not intend
60
+ * @param blocksToUnwind - The number of blocks we are to unwind
61
+ * @returns True if the operation is successful
62
+ */ async unwindBlocks(from, blocksToUnwind) {
63
+ return await this.db.transactionAsync(async ()=>{
72
64
  const last = await this.getSynchedL2BlockNumber();
73
65
  if (from !== last) {
74
66
  throw new Error(`Can only unwind blocks from the tip (requested ${from} but current tip is ${last})`);
75
67
  }
76
- for (let i = 0; i < blocksToUnwind; i++) {
68
+ for(let i = 0; i < blocksToUnwind; i++){
77
69
  const blockNumber = from - i;
78
70
  const block = await this.getBlock(blockNumber);
79
71
  if (block === undefined) {
80
72
  throw new Error(`Cannot remove block ${blockNumber} from the store, we don't have it`);
81
73
  }
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())));
74
+ await this.#blocks.delete(block.data.number);
75
+ await Promise.all(block.data.body.txEffects.map((tx)=>this.#txIndex.delete(tx.txHash.toString())));
84
76
  const blockHash = (await block.data.hash()).toString();
85
- await __classPrivateFieldGet(this, _BlockStore_blockBodies, "f").delete(blockHash);
86
- __classPrivateFieldGet(this, _BlockStore_log, "f").debug(`Unwound block ${blockNumber} ${blockHash}`);
77
+ await this.#blockBodies.delete(blockHash);
78
+ this.#log.debug(`Unwound block ${blockNumber} ${blockHash}`);
87
79
  }
88
80
  return true;
89
81
  });
90
82
  }
91
83
  /**
92
- * Gets up to `limit` amount of L2 blocks starting from `from`.
93
- * @param start - Number of the first block to return (inclusive).
94
- * @param limit - The number of blocks to return.
95
- * @returns The requested L2 blocks
96
- */
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))) {
84
+ * Gets up to `limit` amount of L2 blocks starting from `from`.
85
+ * @param start - Number of the first block to return (inclusive).
86
+ * @param limit - The number of blocks to return.
87
+ * @returns The requested L2 blocks
88
+ */ async *getBlocks(start, limit) {
89
+ for await (const blockStorage of this.#blocks.valuesAsync(this.#computeBlockRange(start, limit))){
99
90
  const block = await this.getBlockFromBlockStorage(blockStorage);
100
91
  yield block;
101
92
  }
102
93
  }
103
94
  /**
104
- * Gets an L2 block.
105
- * @param blockNumber - The number of the block to return.
106
- * @returns The requested L2 block.
107
- */
108
- async getBlock(blockNumber) {
109
- const blockStorage = await __classPrivateFieldGet(this, _BlockStore_blocks, "f").getAsync(blockNumber);
95
+ * Gets an L2 block.
96
+ * @param blockNumber - The number of the block to return.
97
+ * @returns The requested L2 block.
98
+ */ async getBlock(blockNumber) {
99
+ const blockStorage = await this.#blocks.getAsync(blockNumber);
110
100
  if (!blockStorage || !blockStorage.header) {
111
101
  return Promise.resolve(undefined);
112
102
  }
113
103
  return this.getBlockFromBlockStorage(blockStorage);
114
104
  }
115
105
  /**
116
- * Gets the headers for a sequence of L2 blocks.
117
- * @param start - Number of the first block to return (inclusive).
118
- * @param limit - The number of blocks to return.
119
- * @returns The requested L2 block headers
120
- */
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))) {
106
+ * Gets the headers for a sequence of L2 blocks.
107
+ * @param start - Number of the first block to return (inclusive).
108
+ * @param limit - The number of blocks to return.
109
+ * @returns The requested L2 block headers
110
+ */ async *getBlockHeaders(start, limit) {
111
+ for await (const blockStorage of this.#blocks.valuesAsync(this.#computeBlockRange(start, limit))){
123
112
  yield BlockHeader.fromBuffer(blockStorage.header);
124
113
  }
125
114
  }
@@ -127,21 +116,23 @@ export class BlockStore {
127
116
  const header = BlockHeader.fromBuffer(blockStorage.header);
128
117
  const archive = AppendOnlyTreeSnapshot.fromBuffer(blockStorage.archive);
129
118
  const blockHash = (await header.hash()).toString();
130
- const blockBodyBuffer = await __classPrivateFieldGet(this, _BlockStore_blockBodies, "f").getAsync(blockHash);
119
+ const blockBodyBuffer = await this.#blockBodies.getAsync(blockHash);
131
120
  if (blockBodyBuffer === undefined) {
132
121
  throw new Error(`Could not retrieve body for block ${header.globalVariables.blockNumber.toNumber()} ${blockHash}`);
133
122
  }
134
123
  const body = Body.fromBuffer(blockBodyBuffer);
135
124
  const l2Block = new L2Block(archive, header, body);
136
- return { data: l2Block, l1: blockStorage.l1 };
125
+ return {
126
+ data: l2Block,
127
+ l1: blockStorage.l1
128
+ };
137
129
  }
138
130
  /**
139
- * Gets a tx effect.
140
- * @param txHash - The txHash of the tx corresponding to the tx effect.
141
- * @returns The requested tx effect (or undefined if not found).
142
- */
143
- async getTxEffect(txHash) {
144
- const [blockNumber, txIndex] = (await this.getTxLocation(txHash)) ?? [];
131
+ * Gets a tx effect.
132
+ * @param txHash - The txHash of the tx corresponding to the tx effect.
133
+ * @returns The requested tx effect (or undefined if not found).
134
+ */ async getTxEffect(txHash) {
135
+ const [blockNumber, txIndex] = await this.getTxLocation(txHash) ?? [];
145
136
  if (typeof blockNumber !== 'number' || typeof txIndex !== 'number') {
146
137
  return undefined;
147
138
  }
@@ -152,77 +143,77 @@ export class BlockStore {
152
143
  return {
153
144
  data: block.data.body.txEffects[txIndex],
154
145
  l2BlockNumber: block.data.number,
155
- l2BlockHash: (await block.data.hash()).toString(),
146
+ l2BlockHash: (await block.data.hash()).toString()
156
147
  };
157
148
  }
158
149
  /**
159
- * Gets a receipt of a settled tx.
160
- * @param txHash - The hash of a tx we try to get the receipt for.
161
- * @returns The requested tx receipt (or undefined if not found).
162
- */
163
- async getSettledTxReceipt(txHash) {
164
- const [blockNumber, txIndex] = (await this.getTxLocation(txHash)) ?? [];
150
+ * Gets a receipt of a settled tx.
151
+ * @param txHash - The hash of a tx we try to get the receipt for.
152
+ * @returns The requested tx receipt (or undefined if not found).
153
+ */ async getSettledTxReceipt(txHash) {
154
+ const [blockNumber, txIndex] = await this.getTxLocation(txHash) ?? [];
165
155
  if (typeof blockNumber !== 'number' || typeof txIndex !== 'number') {
166
156
  return undefined;
167
157
  }
168
- const block = (await this.getBlock(blockNumber));
158
+ const block = await this.getBlock(blockNumber);
169
159
  const tx = block.data.body.txEffects[txIndex];
170
160
  return new TxReceipt(txHash, TxReceipt.statusFromRevertCode(tx.revertCode), '', tx.transactionFee.toBigInt(), L2BlockHash.fromField(await block.data.hash()), block.data.number);
171
161
  }
172
162
  /**
173
- * Looks up which block included the requested tx effect.
174
- * @param txHash - The txHash of the tx.
175
- * @returns The block number and index of the tx.
176
- */
177
- getTxLocation(txHash) {
178
- return __classPrivateFieldGet(this, _BlockStore_txIndex, "f").getAsync(txHash.toString());
163
+ * Looks up which block included the requested tx effect.
164
+ * @param txHash - The txHash of the tx.
165
+ * @returns The block number and index of the tx.
166
+ */ getTxLocation(txHash) {
167
+ return this.#txIndex.getAsync(txHash.toString());
179
168
  }
180
169
  /**
181
- * Looks up which block deployed a particular contract.
182
- * @param contractAddress - The address of the contract to look up.
183
- * @returns The block number and index of the contract.
184
- */
185
- getContractLocation(contractAddress) {
186
- return __classPrivateFieldGet(this, _BlockStore_contractIndex, "f").getAsync(contractAddress.toString());
170
+ * Looks up which block deployed a particular contract.
171
+ * @param contractAddress - The address of the contract to look up.
172
+ * @returns The block number and index of the contract.
173
+ */ getContractLocation(contractAddress) {
174
+ return this.#contractIndex.getAsync(contractAddress.toString());
187
175
  }
188
176
  /**
189
- * Gets the number of the latest L2 block processed.
190
- * @returns The number of the latest L2 block processed.
191
- */
192
- async getSynchedL2BlockNumber() {
193
- const [lastBlockNumber] = await toArray(__classPrivateFieldGet(this, _BlockStore_blocks, "f").keysAsync({ reverse: true, limit: 1 }));
177
+ * Gets the number of the latest L2 block processed.
178
+ * @returns The number of the latest L2 block processed.
179
+ */ async getSynchedL2BlockNumber() {
180
+ const [lastBlockNumber] = await toArray(this.#blocks.keysAsync({
181
+ reverse: true,
182
+ limit: 1
183
+ }));
194
184
  return typeof lastBlockNumber === 'number' ? lastBlockNumber : INITIAL_L2_BLOCK_NUM - 1;
195
185
  }
196
186
  /**
197
- * Gets the most recent L1 block processed.
198
- * @returns The L1 block that published the latest L2 block
199
- */
200
- getSynchedL1BlockNumber() {
201
- return __classPrivateFieldGet(this, _BlockStore_lastSynchedL1Block, "f").getAsync();
187
+ * Gets the most recent L1 block processed.
188
+ * @returns The L1 block that published the latest L2 block
189
+ */ getSynchedL1BlockNumber() {
190
+ return this.#lastSynchedL1Block.getAsync();
202
191
  }
203
192
  setSynchedL1BlockNumber(l1BlockNumber) {
204
- return __classPrivateFieldGet(this, _BlockStore_lastSynchedL1Block, "f").set(l1BlockNumber);
193
+ return this.#lastSynchedL1Block.set(l1BlockNumber);
205
194
  }
206
195
  async getProvenL2BlockNumber() {
207
- return (await __classPrivateFieldGet(this, _BlockStore_lastProvenL2Block, "f").getAsync()) ?? 0;
196
+ return await this.#lastProvenL2Block.getAsync() ?? 0;
208
197
  }
209
198
  setProvenL2BlockNumber(blockNumber) {
210
- return __classPrivateFieldGet(this, _BlockStore_lastProvenL2Block, "f").set(blockNumber);
199
+ return this.#lastProvenL2Block.set(blockNumber);
211
200
  }
212
201
  getProvenL2EpochNumber() {
213
- return __classPrivateFieldGet(this, _BlockStore_lastProvenL2Epoch, "f").getAsync();
202
+ return this.#lastProvenL2Epoch.getAsync();
214
203
  }
215
204
  setProvenL2EpochNumber(epochNumber) {
216
- return __classPrivateFieldGet(this, _BlockStore_lastProvenL2Epoch, "f").set(epochNumber);
217
- }
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) {
220
- if (limit < 1) {
221
- throw new Error(`Invalid limit: ${limit}`);
205
+ return this.#lastProvenL2Epoch.set(epochNumber);
222
206
  }
223
- if (start < INITIAL_L2_BLOCK_NUM) {
224
- throw new Error(`Invalid start: ${start}`);
207
+ #computeBlockRange(start, limit) {
208
+ if (limit < 1) {
209
+ throw new Error(`Invalid limit: ${limit}`);
210
+ }
211
+ if (start < INITIAL_L2_BLOCK_NUM) {
212
+ throw new Error(`Invalid start: ${start}`);
213
+ }
214
+ return {
215
+ start,
216
+ limit
217
+ };
225
218
  }
226
- return { start, limit };
227
- };
228
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXJjaGl2ZXIva3ZfYXJjaGl2ZXJfc3RvcmUvYmxvY2tfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFnQixPQUFPLEVBQUUsV0FBVyxFQUE4QixTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2SCxPQUFPLEVBQUUsc0JBQXNCLEVBQXFCLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFhckQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sVUFBVTtJQXdCckIsWUFBb0IsRUFBcUI7O1FBQXJCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBdkJ6QyxxQ0FBcUM7UUFDckMscUNBQTZDO1FBRTdDLG1DQUFtQztRQUNuQywwQ0FBNEM7UUFFNUMsK0VBQStFO1FBQy9FLGlEQUFpRDtRQUVqRCxzREFBc0Q7UUFDdEQsZ0RBQWdEO1FBRWhELHNEQUFzRDtRQUN0RCxnREFBZ0Q7UUFFaEQsOEVBQThFO1FBQzlFLHNDQUFpRDtRQUVqRCxrRkFBa0Y7UUFDbEYsNENBQXVEO1FBRXZELDBCQUFPLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFDO1FBRzFDLHVCQUFBLElBQUksc0JBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxNQUFBLENBQUM7UUFDN0MsdUJBQUEsSUFBSSwyQkFBZ0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxNQUFBLENBQUM7UUFDeEQsdUJBQUEsSUFBSSx1QkFBWSxFQUFFLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLE1BQUEsQ0FBQztRQUNoRCx1QkFBQSxJQUFJLDZCQUFrQixFQUFF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
219
+ }
@@ -1,44 +1,48 @@
1
- var _ContractClassStore_contractClasses, _ContractClassStore_bytecodeCommitments;
2
- import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
- import { Fr, FunctionSelector, Vector, } from '@aztec/circuits.js';
1
+ import { Fr, FunctionSelector, Vector } from '@aztec/circuits.js';
4
2
  import { toArray } from '@aztec/foundation/iterable';
5
3
  import { BufferReader, numToUInt8, serializeToBuffer } from '@aztec/foundation/serialize';
6
4
  /**
7
5
  * LMDB implementation of the ArchiverDataStore interface.
8
- */
9
- export class ContractClassStore {
10
- constructor(db) {
6
+ */ export class ContractClassStore {
7
+ db;
8
+ #contractClasses;
9
+ #bytecodeCommitments;
10
+ constructor(db){
11
11
  this.db = db;
12
- _ContractClassStore_contractClasses.set(this, void 0);
13
- _ContractClassStore_bytecodeCommitments.set(this, void 0);
14
- __classPrivateFieldSet(this, _ContractClassStore_contractClasses, db.openMap('archiver_contract_classes'), "f");
15
- __classPrivateFieldSet(this, _ContractClassStore_bytecodeCommitments, db.openMap('archiver_bytecode_commitments'), "f");
12
+ this.#contractClasses = db.openMap('archiver_contract_classes');
13
+ this.#bytecodeCommitments = db.openMap('archiver_bytecode_commitments');
16
14
  }
17
15
  async addContractClass(contractClass, bytecodeCommitment, blockNumber) {
18
- await __classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").setIfNotExists(contractClass.id.toString(), serializeContractClassPublic({ ...contractClass, l2BlockNumber: blockNumber }));
19
- await __classPrivateFieldGet(this, _ContractClassStore_bytecodeCommitments, "f").setIfNotExists(contractClass.id.toString(), bytecodeCommitment.toBuffer());
16
+ await this.#contractClasses.setIfNotExists(contractClass.id.toString(), serializeContractClassPublic({
17
+ ...contractClass,
18
+ l2BlockNumber: blockNumber
19
+ }));
20
+ await this.#bytecodeCommitments.setIfNotExists(contractClass.id.toString(), bytecodeCommitment.toBuffer());
20
21
  }
21
22
  async deleteContractClasses(contractClass, blockNumber) {
22
- const restoredContractClass = await __classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").getAsync(contractClass.id.toString());
23
+ const restoredContractClass = await this.#contractClasses.getAsync(contractClass.id.toString());
23
24
  if (restoredContractClass && deserializeContractClassPublic(restoredContractClass).l2BlockNumber >= blockNumber) {
24
- await __classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").delete(contractClass.id.toString());
25
- await __classPrivateFieldGet(this, _ContractClassStore_bytecodeCommitments, "f").delete(contractClass.id.toString());
25
+ await this.#contractClasses.delete(contractClass.id.toString());
26
+ await this.#bytecodeCommitments.delete(contractClass.id.toString());
26
27
  }
27
28
  }
28
29
  async getContractClass(id) {
29
- const contractClass = await __classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").getAsync(id.toString());
30
- return contractClass && { ...deserializeContractClassPublic(contractClass), id };
30
+ const contractClass = await this.#contractClasses.getAsync(id.toString());
31
+ return contractClass && {
32
+ ...deserializeContractClassPublic(contractClass),
33
+ id
34
+ };
31
35
  }
32
36
  async getBytecodeCommitment(id) {
33
- const value = await __classPrivateFieldGet(this, _ContractClassStore_bytecodeCommitments, "f").getAsync(id.toString());
37
+ const value = await this.#bytecodeCommitments.getAsync(id.toString());
34
38
  return value === undefined ? undefined : Fr.fromBuffer(value);
35
39
  }
36
40
  async getContractClassIds() {
37
- return (await toArray(__classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").keysAsync())).map(key => Fr.fromHexString(key));
41
+ return (await toArray(this.#contractClasses.keysAsync())).map((key)=>Fr.fromHexString(key));
38
42
  }
39
43
  async addFunctions(contractClassId, newPrivateFunctions, newUnconstrainedFunctions) {
40
- await this.db.transactionAsync(async () => {
41
- const existingClassBuffer = await __classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").getAsync(contractClassId.toString());
44
+ await this.db.transactionAsync(async ()=>{
45
+ const existingClassBuffer = await this.#contractClasses.getAsync(contractClassId.toString());
42
46
  if (!existingClassBuffer) {
43
47
  throw new Error(`Unknown contract class ${contractClassId} when adding private functions to store`);
44
48
  }
@@ -48,21 +52,20 @@ export class ContractClassStore {
48
52
  ...existingClass,
49
53
  privateFunctions: [
50
54
  ...existingPrivateFns,
51
- ...newPrivateFunctions.filter(newFn => !existingPrivateFns.some(f => f.selector.equals(newFn.selector))),
55
+ ...newPrivateFunctions.filter((newFn)=>!existingPrivateFns.some((f)=>f.selector.equals(newFn.selector)))
52
56
  ],
53
57
  unconstrainedFunctions: [
54
58
  ...existingUnconstrainedFns,
55
- ...newUnconstrainedFunctions.filter(newFn => !existingUnconstrainedFns.some(f => f.selector.equals(newFn.selector))),
56
- ],
59
+ ...newUnconstrainedFunctions.filter((newFn)=>!existingUnconstrainedFns.some((f)=>f.selector.equals(newFn.selector)))
60
+ ]
57
61
  };
58
- await __classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").set(contractClassId.toString(), serializeContractClassPublic(updatedClass));
62
+ await this.#contractClasses.set(contractClassId.toString(), serializeContractClassPublic(updatedClass));
59
63
  });
60
64
  return true;
61
65
  }
62
66
  }
63
- _ContractClassStore_contractClasses = new WeakMap(), _ContractClassStore_bytecodeCommitments = new WeakMap();
64
67
  function serializeContractClassPublic(contractClass) {
65
- return serializeToBuffer(contractClass.l2BlockNumber, numToUInt8(contractClass.version), contractClass.artifactHash, contractClass.publicFunctions.length, contractClass.publicFunctions?.map(f => serializeToBuffer(f.selector, f.bytecode.length, f.bytecode)) ?? [], contractClass.privateFunctions.length, contractClass.privateFunctions.map(serializePrivateFunction), contractClass.unconstrainedFunctions.length, contractClass.unconstrainedFunctions.map(serializeUnconstrainedFunction), contractClass.packedBytecode.length, contractClass.packedBytecode, contractClass.privateFunctionsRoot);
68
+ return serializeToBuffer(contractClass.l2BlockNumber, numToUInt8(contractClass.version), contractClass.artifactHash, contractClass.publicFunctions.length, contractClass.publicFunctions?.map((f)=>serializeToBuffer(f.selector, f.bytecode.length, f.bytecode)) ?? [], contractClass.privateFunctions.length, contractClass.privateFunctions.map(serializePrivateFunction), contractClass.unconstrainedFunctions.length, contractClass.unconstrainedFunctions.map(serializeUnconstrainedFunction), contractClass.packedBytecode.length, contractClass.packedBytecode, contractClass.privateFunctionsRoot);
66
69
  }
67
70
  function serializePrivateFunction(fn) {
68
71
  return serializeToBuffer(fn.selector, fn.vkHash, fn.bytecode.length, fn.bytecode, fn.functionMetadataHash, fn.artifactMetadataHash, fn.unconstrainedFunctionsArtifactTreeRoot, new Vector(fn.privateFunctionTreeSiblingPath), fn.privateFunctionTreeLeafIndex, new Vector(fn.artifactTreeSiblingPath), fn.artifactTreeLeafIndex);
@@ -77,15 +80,19 @@ function deserializeContractClassPublic(buffer) {
77
80
  version: reader.readUInt8(),
78
81
  artifactHash: reader.readObject(Fr),
79
82
  publicFunctions: reader.readVector({
80
- fromBuffer: reader => ({
81
- selector: reader.readObject(FunctionSelector),
82
- bytecode: reader.readBuffer(),
83
- }),
83
+ fromBuffer: (reader)=>({
84
+ selector: reader.readObject(FunctionSelector),
85
+ bytecode: reader.readBuffer()
86
+ })
87
+ }),
88
+ privateFunctions: reader.readVector({
89
+ fromBuffer: deserializePrivateFunction
90
+ }),
91
+ unconstrainedFunctions: reader.readVector({
92
+ fromBuffer: deserializeUnconstrainedFunction
84
93
  }),
85
- privateFunctions: reader.readVector({ fromBuffer: deserializePrivateFunction }),
86
- unconstrainedFunctions: reader.readVector({ fromBuffer: deserializeUnconstrainedFunction }),
87
94
  packedBytecode: reader.readBuffer(),
88
- privateFunctionsRoot: reader.readObject(Fr),
95
+ privateFunctionsRoot: reader.readObject(Fr)
89
96
  };
90
97
  }
91
98
  function deserializePrivateFunction(buffer) {
@@ -100,7 +107,7 @@ function deserializePrivateFunction(buffer) {
100
107
  privateFunctionTreeSiblingPath: reader.readVector(Fr),
101
108
  privateFunctionTreeLeafIndex: reader.readNumber(),
102
109
  artifactTreeSiblingPath: reader.readVector(Fr),
103
- artifactTreeLeafIndex: reader.readNumber(),
110
+ artifactTreeLeafIndex: reader.readNumber()
104
111
  };
105
112
  }
106
113
  function deserializeUnconstrainedFunction(buffer) {
@@ -112,7 +119,6 @@ function deserializeUnconstrainedFunction(buffer) {
112
119
  artifactMetadataHash: reader.readObject(Fr),
113
120
  privateFunctionsArtifactTreeRoot: reader.readObject(Fr),
114
121
  artifactTreeSiblingPath: reader.readVector(Fr),
115
- artifactTreeLeafIndex: reader.readNumber(),
122
+ artifactTreeLeafIndex: reader.readNumber()
116
123
  };
117
124
  }
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfY2xhc3Nfc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXJjaGl2ZXIva3ZfYXJjaGl2ZXJfc3RvcmUvY29udHJhY3RfY2xhc3Nfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBSUwsRUFBRSxFQUNGLGdCQUFnQixFQUVoQixNQUFNLEdBQ1AsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUcxRjs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFJN0IsWUFBb0IsRUFBcUI7UUFBckIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFIekMsc0RBQWdEO1FBQ2hELDBEQUFvRDtRQUdsRCx1QkFBQSxJQUFJLHVDQUFvQixFQUFFLENBQUMsT0FBTyxDQUFDLDJCQUEyQixDQUFDLE1BQUEsQ0FBQztRQUNoRSx1QkFBQSxJQUFJLDJDQUF3QixFQUFFLENBQUMsT0FBTyxDQUFDLCtCQUErQixDQUFDLE1BQUEsQ0FBQztJQUMxRSxDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQixDQUNwQixhQUFrQyxFQUNsQyxrQkFBc0IsRUFDdEIsV0FBbUI7UUFFbkIsTUFBTSx1QkFBQSxJQUFJLDJDQUFpQixDQUFDLGNBQWMsQ0FDeEMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFDM0IsNEJBQTRCLENBQUMsRUFBRSxHQUFHLGFBQWEsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FDL0UsQ0FBQztRQUNGLE1BQU0sdUJBQUEsSUFBSSwrQ0FBcUIsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxD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
@@ -1,24 +1,19 @@
1
- var _ContractInstanceStore_contractInstances;
2
- import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
1
  import { SerializableContractInstance } from '@aztec/circuits.js';
4
2
  /**
5
3
  * LMDB implementation of the ArchiverDataStore interface.
6
- */
7
- export class ContractInstanceStore {
8
- constructor(db) {
9
- _ContractInstanceStore_contractInstances.set(this, void 0);
10
- __classPrivateFieldSet(this, _ContractInstanceStore_contractInstances, db.openMap('archiver_contract_instances'), "f");
4
+ */ export class ContractInstanceStore {
5
+ #contractInstances;
6
+ constructor(db){
7
+ this.#contractInstances = db.openMap('archiver_contract_instances');
11
8
  }
12
9
  addContractInstance(contractInstance) {
13
- return __classPrivateFieldGet(this, _ContractInstanceStore_contractInstances, "f").set(contractInstance.address.toString(), new SerializableContractInstance(contractInstance).toBuffer());
10
+ return this.#contractInstances.set(contractInstance.address.toString(), new SerializableContractInstance(contractInstance).toBuffer());
14
11
  }
15
12
  deleteContractInstance(contractInstance) {
16
- return __classPrivateFieldGet(this, _ContractInstanceStore_contractInstances, "f").delete(contractInstance.address.toString());
13
+ return this.#contractInstances.delete(contractInstance.address.toString());
17
14
  }
18
15
  async getContractInstance(address) {
19
- const contractInstance = await __classPrivateFieldGet(this, _ContractInstanceStore_contractInstances, "f").getAsync(address.toString());
16
+ const contractInstance = await this.#contractInstances.getAsync(address.toString());
20
17
  return contractInstance && SerializableContractInstance.fromBuffer(contractInstance).withAddress(address);
21
18
  }
22
19
  }
23
- _ContractInstanceStore_contractInstances = new WeakMap();
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfaW5zdGFuY2Vfc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXJjaGl2ZXIva3ZfYXJjaGl2ZXJfc3RvcmUvY29udHJhY3RfaW5zdGFuY2Vfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQXVELDRCQUE0QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHdkg7O0dBRUc7QUFDSCxNQUFNLE9BQU8scUJBQXFCO0lBR2hDLFlBQVksRUFBcUI7UUFGakMsMkRBQWtEO1FBR2hELHVCQUFBLElBQUksNENBQXNCLEVBQUUsQ0FBQyxPQUFPLENBQUMsNkJBQTZCLENBQUMsTUFBQSxDQUFDO0lBQ3RFLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxnQkFBNkM7UUFDL0QsT0FBTyx1QkFBQSxJQUFJLGdEQUFtQixDQUFDLEdBQUcsQ0FDaEMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUNuQyxJQUFJLDRCQUE0QixDQUFDLGdCQUFnQixDQUFDLENBQUMsUUFBUSxFQUFFLENBQzlELENBQUM7SUFDSixDQUFDO0lBRUQsc0JBQXNCLENBQUMsZ0JBQTZDO1FBQ2xFLE9BQU8sdUJBQUEsSUFBSSxnREFBbUIsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxPQUFxQjtRQUM3QyxNQUFNLGdCQUFnQixHQUFHLE1BQU0sdUJBQUEsSUFBSSxnREFBbUIsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDcEYsT0FBTyxnQkFBZ0IsSUFBSSw0QkFBNEIsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUcsQ0FBQztDQUNGIn0=