@aztec/archiver 0.56.0 → 0.58.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.
- package/README.md +1 -1
- package/dest/archiver/archiver.d.ts +27 -22
- package/dest/archiver/archiver.d.ts.map +1 -1
- package/dest/archiver/archiver.js +421 -115
- package/dest/archiver/archiver_store.d.ts +39 -10
- package/dest/archiver/archiver_store.d.ts.map +1 -1
- package/dest/archiver/archiver_store_test_suite.d.ts.map +1 -1
- package/dest/archiver/archiver_store_test_suite.js +84 -31
- package/dest/archiver/config.js +6 -6
- package/dest/archiver/data_retrieval.d.ts +2 -3
- package/dest/archiver/data_retrieval.d.ts.map +1 -1
- package/dest/archiver/data_retrieval.js +23 -22
- package/dest/archiver/epoch_helpers.d.ts +15 -0
- package/dest/archiver/epoch_helpers.d.ts.map +1 -0
- package/dest/archiver/epoch_helpers.js +23 -0
- package/dest/archiver/kv_archiver_store/block_store.d.ts +20 -1
- package/dest/archiver/kv_archiver_store/block_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/block_store.js +62 -5
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts +3 -3
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/contract_class_store.js +12 -5
- package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts +2 -2
- package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/contract_instance_store.js +5 -2
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts +29 -10
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/kv_archiver_store.js +57 -17
- package/dest/archiver/kv_archiver_store/log_store.d.ts +4 -5
- package/dest/archiver/kv_archiver_store/log_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/log_store.js +18 -14
- package/dest/archiver/kv_archiver_store/message_store.d.ts +2 -1
- package/dest/archiver/kv_archiver_store/message_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/message_store.js +17 -13
- package/dest/archiver/memory_archiver_store/l1_to_l2_message_store.d.ts +3 -2
- package/dest/archiver/memory_archiver_store/l1_to_l2_message_store.d.ts.map +1 -1
- package/dest/archiver/memory_archiver_store/l1_to_l2_message_store.js +12 -14
- package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts +23 -23
- package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts.map +1 -1
- package/dest/archiver/memory_archiver_store/memory_archiver_store.js +130 -70
- package/dest/factory.d.ts.map +1 -1
- package/dest/factory.js +17 -1
- package/dest/index.js +2 -1
- package/dest/test/index.d.ts +4 -0
- package/dest/test/index.d.ts.map +1 -0
- package/dest/test/index.js +4 -0
- package/dest/test/mock_archiver.d.ts +22 -0
- package/dest/test/mock_archiver.d.ts.map +1 -0
- package/dest/test/mock_archiver.js +44 -0
- package/dest/test/mock_l1_to_l2_message_source.d.ts +16 -0
- package/dest/test/mock_l1_to_l2_message_source.d.ts.map +1 -0
- package/dest/test/mock_l1_to_l2_message_source.js +25 -0
- package/dest/test/mock_l2_block_source.d.ts +75 -0
- package/dest/test/mock_l2_block_source.d.ts.map +1 -0
- package/dest/test/mock_l2_block_source.js +154 -0
- package/package.json +15 -11
- package/src/archiver/archiver.ts +553 -170
- package/src/archiver/archiver_store.ts +48 -19
- package/src/archiver/archiver_store_test_suite.ts +111 -73
- package/src/archiver/config.ts +5 -5
- package/src/archiver/data_retrieval.ts +25 -26
- package/src/archiver/epoch_helpers.ts +26 -0
- package/src/archiver/kv_archiver_store/block_store.ts +70 -2
- package/src/archiver/kv_archiver_store/contract_class_store.ts +24 -9
- package/src/archiver/kv_archiver_store/contract_instance_store.ts +5 -2
- package/src/archiver/kv_archiver_store/kv_archiver_store.ts +71 -29
- package/src/archiver/kv_archiver_store/log_store.ts +18 -18
- package/src/archiver/kv_archiver_store/message_store.ts +16 -18
- package/src/archiver/memory_archiver_store/l1_to_l2_message_store.ts +13 -19
- package/src/archiver/memory_archiver_store/memory_archiver_store.ts +154 -83
- package/src/factory.ts +18 -0
- package/src/index.ts +1 -0
- package/src/test/index.ts +3 -0
- package/src/test/mock_archiver.ts +55 -0
- package/src/test/mock_l1_to_l2_message_source.ts +31 -0
- package/src/test/mock_l2_block_source.ts +190 -0
- package/dest/archiver/kv_archiver_store/proven_store.d.ts +0 -14
- package/dest/archiver/kv_archiver_store/proven_store.d.ts.map +0 -1
- package/dest/archiver/kv_archiver_store/proven_store.js +0 -30
- package/src/archiver/kv_archiver_store/proven_store.ts +0 -34
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kv_archiver_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/kv_archiver_store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,
|
|
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,4 +1,4 @@
|
|
|
1
|
-
var _KVArchiverDataStore_blockStore,
|
|
1
|
+
var _KVArchiverDataStore_blockStore, _KVArchiverDataStore_logStore, _KVArchiverDataStore_messageStore, _KVArchiverDataStore_contractClassStore, _KVArchiverDataStore_contractInstanceStore, _KVArchiverDataStore_contractArtifactStore, _KVArchiverDataStore_log;
|
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
3
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
4
4
|
import { BlockStore } from './block_store.js';
|
|
@@ -7,14 +7,12 @@ import { ContractClassStore } from './contract_class_store.js';
|
|
|
7
7
|
import { ContractInstanceStore } from './contract_instance_store.js';
|
|
8
8
|
import { LogStore } from './log_store.js';
|
|
9
9
|
import { MessageStore } from './message_store.js';
|
|
10
|
-
import { ProvenStore } from './proven_store.js';
|
|
11
10
|
/**
|
|
12
11
|
* LMDB implementation of the ArchiverDataStore interface.
|
|
13
12
|
*/
|
|
14
13
|
export class KVArchiverDataStore {
|
|
15
14
|
constructor(db, logsMaxPageSize = 1000) {
|
|
16
15
|
_KVArchiverDataStore_blockStore.set(this, void 0);
|
|
17
|
-
_KVArchiverDataStore_provenStore.set(this, void 0);
|
|
18
16
|
_KVArchiverDataStore_logStore.set(this, void 0);
|
|
19
17
|
_KVArchiverDataStore_messageStore.set(this, void 0);
|
|
20
18
|
_KVArchiverDataStore_contractClassStore.set(this, void 0);
|
|
@@ -22,7 +20,6 @@ export class KVArchiverDataStore {
|
|
|
22
20
|
_KVArchiverDataStore_contractArtifactStore.set(this, void 0);
|
|
23
21
|
_KVArchiverDataStore_log.set(this, createDebugLogger('aztec:archiver:data-store'));
|
|
24
22
|
__classPrivateFieldSet(this, _KVArchiverDataStore_blockStore, new BlockStore(db), "f");
|
|
25
|
-
__classPrivateFieldSet(this, _KVArchiverDataStore_provenStore, new ProvenStore(db), "f");
|
|
26
23
|
__classPrivateFieldSet(this, _KVArchiverDataStore_logStore, new LogStore(db, __classPrivateFieldGet(this, _KVArchiverDataStore_blockStore, "f"), logsMaxPageSize), "f");
|
|
27
24
|
__classPrivateFieldSet(this, _KVArchiverDataStore_messageStore, new MessageStore(db), "f");
|
|
28
25
|
__classPrivateFieldSet(this, _KVArchiverDataStore_contractClassStore, new ContractClassStore(db), "f");
|
|
@@ -44,8 +41,11 @@ export class KVArchiverDataStore {
|
|
|
44
41
|
getContractInstance(address) {
|
|
45
42
|
return Promise.resolve(__classPrivateFieldGet(this, _KVArchiverDataStore_contractInstanceStore, "f").getContractInstance(address));
|
|
46
43
|
}
|
|
47
|
-
async addContractClasses(data,
|
|
48
|
-
return (await Promise.all(data.map(c => __classPrivateFieldGet(this, _KVArchiverDataStore_contractClassStore, "f").addContractClass(c)))).every(Boolean);
|
|
44
|
+
async addContractClasses(data, blockNumber) {
|
|
45
|
+
return (await Promise.all(data.map(c => __classPrivateFieldGet(this, _KVArchiverDataStore_contractClassStore, "f").addContractClass(c, blockNumber)))).every(Boolean);
|
|
46
|
+
}
|
|
47
|
+
async deleteContractClasses(data, blockNumber) {
|
|
48
|
+
return (await Promise.all(data.map(c => __classPrivateFieldGet(this, _KVArchiverDataStore_contractClassStore, "f").deleteContractClasses(c, blockNumber)))).every(Boolean);
|
|
49
49
|
}
|
|
50
50
|
addFunctions(contractClassId, privateFunctions, unconstrainedFunctions) {
|
|
51
51
|
return __classPrivateFieldGet(this, _KVArchiverDataStore_contractClassStore, "f").addFunctions(contractClassId, privateFunctions, unconstrainedFunctions);
|
|
@@ -53,6 +53,9 @@ export class KVArchiverDataStore {
|
|
|
53
53
|
async addContractInstances(data, _blockNumber) {
|
|
54
54
|
return (await Promise.all(data.map(c => __classPrivateFieldGet(this, _KVArchiverDataStore_contractInstanceStore, "f").addContractInstance(c)))).every(Boolean);
|
|
55
55
|
}
|
|
56
|
+
async deleteContractInstances(data, _blockNumber) {
|
|
57
|
+
return (await Promise.all(data.map(c => __classPrivateFieldGet(this, _KVArchiverDataStore_contractInstanceStore, "f").deleteContractInstance(c)))).every(Boolean);
|
|
58
|
+
}
|
|
56
59
|
/**
|
|
57
60
|
* Append new blocks to the store's list.
|
|
58
61
|
* @param blocks - The L2 blocks to be added to the store and the last processed L1 block.
|
|
@@ -61,6 +64,16 @@ export class KVArchiverDataStore {
|
|
|
61
64
|
addBlocks(blocks) {
|
|
62
65
|
return __classPrivateFieldGet(this, _KVArchiverDataStore_blockStore, "f").addBlocks(blocks);
|
|
63
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* Unwinds blocks from the database
|
|
69
|
+
* @param from - The tip of the chain, passed for verification purposes,
|
|
70
|
+
* ensuring that we don't end up deleting something we did not intend
|
|
71
|
+
* @param blocksToUnwind - The number of blocks we are to unwind
|
|
72
|
+
* @returns True if the operation is successful
|
|
73
|
+
*/
|
|
74
|
+
unwindBlocks(from, blocksToUnwind) {
|
|
75
|
+
return __classPrivateFieldGet(this, _KVArchiverDataStore_blockStore, "f").unwindBlocks(from, blocksToUnwind);
|
|
76
|
+
}
|
|
64
77
|
/**
|
|
65
78
|
* Gets up to `limit` amount of L2 blocks starting from `from`.
|
|
66
79
|
*
|
|
@@ -77,6 +90,22 @@ export class KVArchiverDataStore {
|
|
|
77
90
|
return Promise.reject(err);
|
|
78
91
|
}
|
|
79
92
|
}
|
|
93
|
+
/**
|
|
94
|
+
* Gets up to `limit` amount of L2 blocks headers starting from `from`.
|
|
95
|
+
*
|
|
96
|
+
* @param start - Number of the first block to return (inclusive).
|
|
97
|
+
* @param limit - The number of blocks to return.
|
|
98
|
+
* @returns The requested L2 blocks
|
|
99
|
+
*/
|
|
100
|
+
getBlockHeaders(start, limit) {
|
|
101
|
+
try {
|
|
102
|
+
return Promise.resolve(Array.from(__classPrivateFieldGet(this, _KVArchiverDataStore_blockStore, "f").getBlockHeaders(start, limit)));
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
// this function is sync so if any errors are thrown we need to make sure they're passed on as rejected Promises
|
|
106
|
+
return Promise.reject(err);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
80
109
|
/**
|
|
81
110
|
* Gets a tx effect.
|
|
82
111
|
* @param txHash - The txHash of the tx corresponding to the tx effect.
|
|
@@ -95,13 +124,17 @@ export class KVArchiverDataStore {
|
|
|
95
124
|
}
|
|
96
125
|
/**
|
|
97
126
|
* Append new logs to the store's list.
|
|
98
|
-
* @param
|
|
99
|
-
* @param unencryptedLogs - The type of the logs to be added to the store.
|
|
100
|
-
* @param blockNumber - The block for which to add the logs.
|
|
127
|
+
* @param blocks - The blocks for which to add the logs.
|
|
101
128
|
* @returns True if the operation is successful.
|
|
102
129
|
*/
|
|
103
|
-
addLogs(
|
|
104
|
-
return __classPrivateFieldGet(this, _KVArchiverDataStore_logStore, "f").addLogs(
|
|
130
|
+
addLogs(blocks) {
|
|
131
|
+
return __classPrivateFieldGet(this, _KVArchiverDataStore_logStore, "f").addLogs(blocks);
|
|
132
|
+
}
|
|
133
|
+
deleteLogs(blocks) {
|
|
134
|
+
return __classPrivateFieldGet(this, _KVArchiverDataStore_logStore, "f").deleteLogs(blocks);
|
|
135
|
+
}
|
|
136
|
+
getTotalL1ToL2MessageCount() {
|
|
137
|
+
return Promise.resolve(__classPrivateFieldGet(this, _KVArchiverDataStore_messageStore, "f").getTotalL1ToL2MessageCount());
|
|
105
138
|
}
|
|
106
139
|
/**
|
|
107
140
|
* Append L1 to L2 messages to the store.
|
|
@@ -169,10 +202,18 @@ export class KVArchiverDataStore {
|
|
|
169
202
|
return Promise.resolve(__classPrivateFieldGet(this, _KVArchiverDataStore_blockStore, "f").getSynchedL2BlockNumber());
|
|
170
203
|
}
|
|
171
204
|
getProvenL2BlockNumber() {
|
|
172
|
-
return Promise.resolve(__classPrivateFieldGet(this,
|
|
205
|
+
return Promise.resolve(__classPrivateFieldGet(this, _KVArchiverDataStore_blockStore, "f").getProvenL2BlockNumber());
|
|
206
|
+
}
|
|
207
|
+
getProvenL2EpochNumber() {
|
|
208
|
+
return Promise.resolve(__classPrivateFieldGet(this, _KVArchiverDataStore_blockStore, "f").getProvenL2EpochNumber());
|
|
173
209
|
}
|
|
174
|
-
|
|
175
|
-
|
|
210
|
+
setProvenL2BlockNumber(blockNumber) {
|
|
211
|
+
__classPrivateFieldGet(this, _KVArchiverDataStore_blockStore, "f").setProvenL2BlockNumber(blockNumber);
|
|
212
|
+
return Promise.resolve();
|
|
213
|
+
}
|
|
214
|
+
setProvenL2EpochNumber(epochNumber) {
|
|
215
|
+
__classPrivateFieldGet(this, _KVArchiverDataStore_blockStore, "f").setProvenL2EpochNumber(epochNumber);
|
|
216
|
+
return Promise.resolve();
|
|
176
217
|
}
|
|
177
218
|
setBlockSynchedL1BlockNumber(l1BlockNumber) {
|
|
178
219
|
__classPrivateFieldGet(this, _KVArchiverDataStore_blockStore, "f").setSynchedL1BlockNumber(l1BlockNumber);
|
|
@@ -189,9 +230,8 @@ export class KVArchiverDataStore {
|
|
|
189
230
|
return Promise.resolve({
|
|
190
231
|
blocksSynchedTo: __classPrivateFieldGet(this, _KVArchiverDataStore_blockStore, "f").getSynchedL1BlockNumber(),
|
|
191
232
|
messagesSynchedTo: __classPrivateFieldGet(this, _KVArchiverDataStore_messageStore, "f").getSynchedL1BlockNumber(),
|
|
192
|
-
provenLogsSynchedTo: __classPrivateFieldGet(this, _KVArchiverDataStore_provenStore, "f").getSynchedL1BlockNumber(),
|
|
193
233
|
});
|
|
194
234
|
}
|
|
195
235
|
}
|
|
196
|
-
_KVArchiverDataStore_blockStore = new WeakMap(),
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
236
|
+
_KVArchiverDataStore_blockStore = new WeakMap(), _KVArchiverDataStore_logStore = new WeakMap(), _KVArchiverDataStore_messageStore = new WeakMap(), _KVArchiverDataStore_contractClassStore = new WeakMap(), _KVArchiverDataStore_contractInstanceStore = new WeakMap(), _KVArchiverDataStore_contractArtifactStore = new WeakMap(), _KVArchiverDataStore_log = new WeakMap();
|
|
237
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3ZfYXJjaGl2ZXJfc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXJjaGl2ZXIva3ZfYXJjaGl2ZXJfc3RvcmUva3ZfYXJjaGl2ZXJfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFzQkEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFNMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUJBQW1CO0lBVTlCLFlBQVksRUFBZ0IsRUFBRSxrQkFBMEIsSUFBSTtRQVQ1RCxrREFBd0I7UUFDeEIsZ0RBQW9CO1FBQ3BCLG9EQUE0QjtRQUM1QiwwREFBd0M7UUFDeEMsNkRBQThDO1FBQzlDLDZEQUErQztRQUUvQyxtQ0FBTyxpQkFBaUIsQ0FBQywyQkFBMkIsQ0FBQyxFQUFDO1FBR3BELHVCQUFBLElBQUksbUNBQWUsSUFBSSxVQUFVLENBQUMsRUFBRSxDQUFDLE1BQUEsQ0FBQztRQUN0Qyx1QkFBQSxJQUFJLGlDQUFhLElBQUksUUFBUSxDQUFDLEVBQUUsRUFBRSx1QkFBQSxJQUFJLHVDQUFZLEVBQUUsZUFBZSxDQUFDLE1BQUEsQ0FBQztRQUNyRSx1QkFBQSxJQUFJLHFDQUFpQixJQUFJLFlBQVksQ0FBQyxFQUFFLENBQUMsTUFBQSxDQUFDO1FBQzFDLHVCQUFBLElBQUksMkNBQXVCLElBQUksa0JBQWtCLENB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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type FromLogType, type GetUnencryptedLogsResponse, type L2Block, type L2BlockL2Logs, type LogFilter, LogType } from '@aztec/circuit-types';
|
|
2
2
|
import { type AztecKVStore } from '@aztec/kv-store';
|
|
3
3
|
import { type BlockStore } from './block_store.js';
|
|
4
4
|
/**
|
|
@@ -11,12 +11,11 @@ export declare class LogStore {
|
|
|
11
11
|
constructor(db: AztecKVStore, blockStore: BlockStore, logsMaxPageSize?: number);
|
|
12
12
|
/**
|
|
13
13
|
* Append new logs to the store's list.
|
|
14
|
-
* @param
|
|
15
|
-
* @param unencryptedLogs - The type of the logs to be added to the store.
|
|
16
|
-
* @param blockNumber - The block for which to add the logs.
|
|
14
|
+
* @param blocks - The blocks for which to add the logs.
|
|
17
15
|
* @returns True if the operation is successful.
|
|
18
16
|
*/
|
|
19
|
-
addLogs(
|
|
17
|
+
addLogs(blocks: L2Block[]): Promise<boolean>;
|
|
18
|
+
deleteLogs(blocks: L2Block[]): Promise<boolean>;
|
|
20
19
|
/**
|
|
21
20
|
* Gets up to `limit` amount of logs starting from `from`.
|
|
22
21
|
* @param start - Number of the L2 block to which corresponds the first logs to be returned.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/log_store.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"log_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/log_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,0BAA0B,EAC/B,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,SAAS,EAEd,OAAO,EAGR,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;GAEG;AACH,qBAAa,QAAQ;;IAOP,OAAO,CAAC,EAAE;IAAgB,OAAO,CAAC,UAAU;gBAApC,EAAE,EAAE,YAAY,EAAU,UAAU,EAAE,UAAU,EAAE,eAAe,GAAE,MAAa;IAQpG;;;;OAIG;IACH,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAY5C,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAY/C;;;;;;OAMG;IACF,OAAO,CAAC,QAAQ,SAAS,OAAO,EAC/B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,QAAQ,GAChB,gBAAgB,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IA6BzD;;;;OAIG;IACH,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,0BAA0B;CAqHlE"}
|
|
@@ -23,22 +23,26 @@ export class LogStore {
|
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
25
|
* Append new logs to the store's list.
|
|
26
|
-
* @param
|
|
27
|
-
* @param unencryptedLogs - The type of the logs to be added to the store.
|
|
28
|
-
* @param blockNumber - The block for which to add the logs.
|
|
26
|
+
* @param blocks - The blocks for which to add the logs.
|
|
29
27
|
* @returns True if the operation is successful.
|
|
30
28
|
*/
|
|
31
|
-
addLogs(
|
|
29
|
+
addLogs(blocks) {
|
|
32
30
|
return this.db.transaction(() => {
|
|
33
|
-
|
|
34
|
-
void __classPrivateFieldGet(this, _LogStore_noteEncryptedLogs, "f").set(
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
31
|
+
blocks.forEach(block => {
|
|
32
|
+
void __classPrivateFieldGet(this, _LogStore_noteEncryptedLogs, "f").set(block.number, block.body.noteEncryptedLogs.toBuffer());
|
|
33
|
+
void __classPrivateFieldGet(this, _LogStore_encryptedLogs, "f").set(block.number, block.body.encryptedLogs.toBuffer());
|
|
34
|
+
void __classPrivateFieldGet(this, _LogStore_unencryptedLogs, "f").set(block.number, block.body.unencryptedLogs.toBuffer());
|
|
35
|
+
});
|
|
36
|
+
return true;
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
deleteLogs(blocks) {
|
|
40
|
+
return this.db.transaction(() => {
|
|
41
|
+
blocks.forEach(block => {
|
|
42
|
+
void __classPrivateFieldGet(this, _LogStore_noteEncryptedLogs, "f").delete(block.number);
|
|
43
|
+
void __classPrivateFieldGet(this, _LogStore_encryptedLogs, "f").delete(block.number);
|
|
44
|
+
void __classPrivateFieldGet(this, _LogStore_unencryptedLogs, "f").delete(block.number);
|
|
45
|
+
});
|
|
42
46
|
return true;
|
|
43
47
|
});
|
|
44
48
|
}
|
|
@@ -174,4 +178,4 @@ _LogStore_noteEncryptedLogs = new WeakMap(), _LogStore_encryptedLogs = new WeakM
|
|
|
174
178
|
}
|
|
175
179
|
return L2BlockL2Logs.fromBuffer(buffer);
|
|
176
180
|
};
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nX3N0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FyY2hpdmVyL2t2X2FyY2hpdmVyX3N0b3JlL2xvZ19zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsMEJBQTBCLEVBQzFCLHdCQUF3QixFQU14QixLQUFLLEVBQ0wsT0FBTyxFQUNQLHdCQUF3QixHQUV6QixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSzFEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFFBQVE7SUFPbkIsWUFBb0IsRUFBZ0IsRUFBVSxVQUFzQixFQUFFLGtCQUEwQixJQUFJOztRQUFoRixPQUFFLEdBQUYsRUFBRSxDQUFjO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQU5wRSw4Q0FBNkM7UUFDN0MsMENBQXlDO1FBQ3pDLDRDQUEyQztRQUMzQyw0Q0FBeUI7UUFDekIsd0JBQU8saUJBQWlCLENBQUMsMEJBQTBCLENBQUMsRUFBQztRQUduRCx1QkFBQSxJQUFJLCtCQUFzQixFQUFFLENBQUMsT0FBTyxDQUFDLDhCQUE4QixDQUFDLE1BQUEsQ0FBQztRQUNyRSx1QkFBQSxJQUFJLDJCQUFrQixFQUFFLENBQUMsT0FBTyxDQUFDLHlCQUF5QixDQUFDLE1BQUEsQ0FBQztRQUM1RCx1QkFBQSxJQUFJLDZCQUFvQixFQUFFLENBQUMsT0FBTyxDQUFDLDJCQUEyQixDQUFDLE1BQUEsQ0FBQztRQUVoRSx1QkFBQSxJQUFJLDZCQUFvQixlQUFlLE1BQUEsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE9BQU8sQ0FBQyxNQUFpQjtRQUN2QixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUM5QixN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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { InboxLeaf } from '@aztec/circuit-types';
|
|
2
2
|
import { Fr } from '@aztec/circuits.js';
|
|
3
3
|
import { type AztecKVStore } from '@aztec/kv-store';
|
|
4
4
|
import { type DataRetrieval } from '../structs/data_retrieval.js';
|
|
@@ -9,6 +9,7 @@ export declare class MessageStore {
|
|
|
9
9
|
#private;
|
|
10
10
|
private db;
|
|
11
11
|
constructor(db: AztecKVStore);
|
|
12
|
+
getTotalL1ToL2MessageCount(): bigint;
|
|
12
13
|
/**
|
|
13
14
|
* Gets the last L1 block number that emitted new messages.
|
|
14
15
|
* @returns The last L1 block number processed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/message_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"message_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/message_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,EAAE,EAA+B,MAAM,oBAAoB,CAAC;AAErE,OAAO,EAAE,KAAK,YAAY,EAAsC,MAAM,iBAAiB,CAAC;AAExF,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE;;GAEG;AACH,qBAAa,YAAY;;IAUX,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,YAAY;IAOpC,0BAA0B,IAAI,MAAM;IAIpC;;;OAGG;IACH,uBAAuB,IAAI,MAAM,GAAG,SAAS;IAI7C,uBAAuB,CAAC,aAAa,EAAE,MAAM;IAI7C;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAyBvE;;;;;OAKG;IACH,qBAAqB,CAAC,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAMzF,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,EAAE,EAAE;CAqB7C"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
var _MessageStore_l1ToL2Messages, _MessageStore_l1ToL2MessageIndices, _MessageStore_lastSynchedL1Block, _MessageStore_log, _MessageStore_l1ToL2MessagesSubtreeSize;
|
|
1
|
+
var _MessageStore_l1ToL2Messages, _MessageStore_l1ToL2MessageIndices, _MessageStore_lastSynchedL1Block, _MessageStore_totalMessageCount, _MessageStore_log, _MessageStore_l1ToL2MessagesSubtreeSize;
|
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
-
import {
|
|
3
|
+
import { InboxLeaf } from '@aztec/circuit-types';
|
|
4
|
+
import { Fr, L1_TO_L2_MSG_SUBTREE_HEIGHT } from '@aztec/circuits.js';
|
|
4
5
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
5
6
|
/**
|
|
6
7
|
* LMDB implementation of the ArchiverDataStore interface.
|
|
@@ -11,11 +12,16 @@ export class MessageStore {
|
|
|
11
12
|
_MessageStore_l1ToL2Messages.set(this, void 0);
|
|
12
13
|
_MessageStore_l1ToL2MessageIndices.set(this, void 0); // We store array of bigints here because there can be duplicate messages
|
|
13
14
|
_MessageStore_lastSynchedL1Block.set(this, void 0);
|
|
15
|
+
_MessageStore_totalMessageCount.set(this, void 0);
|
|
14
16
|
_MessageStore_log.set(this, createDebugLogger('aztec:archiver:message_store'));
|
|
15
17
|
_MessageStore_l1ToL2MessagesSubtreeSize.set(this, 2 ** L1_TO_L2_MSG_SUBTREE_HEIGHT);
|
|
16
18
|
__classPrivateFieldSet(this, _MessageStore_l1ToL2Messages, db.openMap('archiver_l1_to_l2_messages'), "f");
|
|
17
19
|
__classPrivateFieldSet(this, _MessageStore_l1ToL2MessageIndices, db.openMap('archiver_l1_to_l2_message_indices'), "f");
|
|
18
20
|
__classPrivateFieldSet(this, _MessageStore_lastSynchedL1Block, db.openSingleton('archiver_last_l1_block_new_messages'), "f");
|
|
21
|
+
__classPrivateFieldSet(this, _MessageStore_totalMessageCount, db.openSingleton('archiver_l1_to_l2_message_count'), "f");
|
|
22
|
+
}
|
|
23
|
+
getTotalL1ToL2MessageCount() {
|
|
24
|
+
return __classPrivateFieldGet(this, _MessageStore_totalMessageCount, "f").get() ?? 0n;
|
|
19
25
|
}
|
|
20
26
|
/**
|
|
21
27
|
* Gets the last L1 block number that emitted new messages.
|
|
@@ -40,17 +46,14 @@ export class MessageStore {
|
|
|
40
46
|
}
|
|
41
47
|
void __classPrivateFieldGet(this, _MessageStore_lastSynchedL1Block, "f").set(messages.lastProcessedL1BlockNumber);
|
|
42
48
|
for (const message of messages.retrievedData) {
|
|
43
|
-
|
|
44
|
-
throw new Error(`Message index ${message.index} out of subtree range`);
|
|
45
|
-
}
|
|
46
|
-
const key = `${message.blockNumber}-${message.index}`;
|
|
49
|
+
const key = `${message.index}`;
|
|
47
50
|
void __classPrivateFieldGet(this, _MessageStore_l1ToL2Messages, "f").setIfNotExists(key, message.leaf.toBuffer());
|
|
48
|
-
const indexInTheWholeTree = (message.blockNumber - BigInt(INITIAL_L2_BLOCK_NUM)) * BigInt(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP) +
|
|
49
|
-
message.index;
|
|
50
51
|
const indices = __classPrivateFieldGet(this, _MessageStore_l1ToL2MessageIndices, "f").get(message.leaf.toString()) ?? [];
|
|
51
|
-
indices.push(
|
|
52
|
+
indices.push(message.index);
|
|
52
53
|
void __classPrivateFieldGet(this, _MessageStore_l1ToL2MessageIndices, "f").set(message.leaf.toString(), indices);
|
|
53
54
|
}
|
|
55
|
+
const lastTotalMessageCount = this.getTotalL1ToL2MessageCount();
|
|
56
|
+
void __classPrivateFieldGet(this, _MessageStore_totalMessageCount, "f").set(lastTotalMessageCount + BigInt(messages.retrievedData.length));
|
|
54
57
|
return true;
|
|
55
58
|
});
|
|
56
59
|
}
|
|
@@ -68,9 +71,10 @@ export class MessageStore {
|
|
|
68
71
|
getL1ToL2Messages(blockNumber) {
|
|
69
72
|
const messages = [];
|
|
70
73
|
let undefinedMessageFound = false;
|
|
71
|
-
|
|
74
|
+
const startIndex = Number(InboxLeaf.smallestIndexFromL2Block(blockNumber));
|
|
75
|
+
for (let i = startIndex; i < startIndex + __classPrivateFieldGet(this, _MessageStore_l1ToL2MessagesSubtreeSize, "f"); i++) {
|
|
72
76
|
// This is inefficient but probably fine for now.
|
|
73
|
-
const key = `${
|
|
77
|
+
const key = `${i}`;
|
|
74
78
|
const message = __classPrivateFieldGet(this, _MessageStore_l1ToL2Messages, "f").get(key);
|
|
75
79
|
if (message) {
|
|
76
80
|
if (undefinedMessageFound) {
|
|
@@ -87,5 +91,5 @@ export class MessageStore {
|
|
|
87
91
|
return messages;
|
|
88
92
|
}
|
|
89
93
|
}
|
|
90
|
-
_MessageStore_l1ToL2Messages = new WeakMap(), _MessageStore_l1ToL2MessageIndices = new WeakMap(), _MessageStore_lastSynchedL1Block = new WeakMap(), _MessageStore_log = new WeakMap(), _MessageStore_l1ToL2MessagesSubtreeSize = new WeakMap();
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
94
|
+
_MessageStore_l1ToL2Messages = new WeakMap(), _MessageStore_l1ToL2MessageIndices = new WeakMap(), _MessageStore_lastSynchedL1Block = new WeakMap(), _MessageStore_totalMessageCount = new WeakMap(), _MessageStore_log = new WeakMap(), _MessageStore_l1ToL2MessagesSubtreeSize = new WeakMap();
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZV9zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcmNoaXZlci9rdl9hcmNoaXZlcl9zdG9yZS9tZXNzYWdlX3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxFQUFFLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUsxRDs7R0FFRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBVXZCLFlBQW9CLEVBQWdCO1FBQWhCLE9BQUUsR0FBRixFQUFFLENBQWM7UUFUcEMsK0NBQTBDO1FBQzFDLHFEQUFrRCxDQUFDLHlFQUF5RTtRQUM1SCxtREFBNEM7UUFDNUMsa0RBQTJDO1FBRTNDLDRCQUFPLGlCQUFpQixDQUFDLDhCQUE4QixDQUFDLEVBQUM7UUFFekQsa0RBQTZCLENBQUMsSUFBSSwyQkFBMkIsRUFBQztRQUc1RCx1QkFBQSxJQUFJLGdDQUFtQixFQUFFLENBQUMsT0FBTyxDQUFDLDRCQUE0QixDQUFDLE1BQUEsQ0FBQztRQUNoRSx1QkFBQSxJQUFJLHNDQUF5QixFQUFFLENBQUMsT0FBTyxDQUFDLG1DQUFtQyxDQUFDLE1BQUEsQ0FBQztRQUM3RSx1QkFBQSxJQUFJLG9DQUF1QixFQUFFLENBQUMsYUFBYSxDQUFDLHFDQUFxQyxDQUFDLE1BQUEsQ0FBQztRQUNuRix1QkFBQSxJQUFJLG1DQUFzQixFQUFFLENBQUMsYUFBYSxDQUFDLGlDQUFpQyxDQUFDLE1BQUEsQ0FBQztJQUNoRixDQUFDO0lBRUQsMEJBQTBCO1FBQ3hCLE9BQU8sdUJBQUEsSUFBSSx1Q0FBbUIsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7T0FHRztJQUNILHVCQUF1QjtRQUNyQixPQUFP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
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { InboxLeaf } from '@aztec/circuit-types';
|
|
2
2
|
import { type Fr } from '@aztec/foundation/fields';
|
|
3
3
|
/**
|
|
4
4
|
* A simple in-memory implementation of an L1 to L2 message store.
|
|
@@ -6,10 +6,11 @@ import { type Fr } from '@aztec/foundation/fields';
|
|
|
6
6
|
export declare class L1ToL2MessageStore {
|
|
7
7
|
#private;
|
|
8
8
|
/**
|
|
9
|
-
* A map pointing from a key in a "
|
|
9
|
+
* A map pointing from a key in a "messageIndex" format to the corresponding L1 to L2 message hash.
|
|
10
10
|
*/
|
|
11
11
|
protected store: Map<string, Fr>;
|
|
12
12
|
constructor();
|
|
13
|
+
getTotalL1ToL2MessageCount(): bigint;
|
|
13
14
|
addMessage(message: InboxLeaf): void;
|
|
14
15
|
getMessages(blockNumber: bigint): Fr[];
|
|
15
16
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l1_to_l2_message_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/memory_archiver_store/l1_to_l2_message_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"l1_to_l2_message_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/memory_archiver_store/l1_to_l2_message_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD;;GAEG;AACH,qBAAa,kBAAkB;;IAC7B;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAa;;IAM7C,0BAA0B,IAAI,MAAM;IAIpC,UAAU,CAAC,OAAO,EAAE,SAAS;IAI7B,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,EAAE,EAAE;IAsBtC;;;;;OAKG;IACH,eAAe,CAAC,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAY3E"}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
var _L1ToL2MessageStore_l1ToL2MessagesSubtreeSize;
|
|
2
2
|
import { __classPrivateFieldGet } from "tslib";
|
|
3
|
-
import {
|
|
3
|
+
import { InboxLeaf } from '@aztec/circuit-types';
|
|
4
|
+
import { L1_TO_L2_MSG_SUBTREE_HEIGHT } from '@aztec/circuits.js/constants';
|
|
4
5
|
/**
|
|
5
6
|
* A simple in-memory implementation of an L1 to L2 message store.
|
|
6
7
|
*/
|
|
7
8
|
export class L1ToL2MessageStore {
|
|
8
9
|
constructor() {
|
|
9
10
|
/**
|
|
10
|
-
* A map pointing from a key in a "
|
|
11
|
+
* A map pointing from a key in a "messageIndex" format to the corresponding L1 to L2 message hash.
|
|
11
12
|
*/
|
|
12
13
|
this.store = new Map();
|
|
13
14
|
_L1ToL2MessageStore_l1ToL2MessagesSubtreeSize.set(this, 2 ** L1_TO_L2_MSG_SUBTREE_HEIGHT);
|
|
14
15
|
}
|
|
16
|
+
getTotalL1ToL2MessageCount() {
|
|
17
|
+
return BigInt(this.store.size);
|
|
18
|
+
}
|
|
15
19
|
addMessage(message) {
|
|
16
|
-
|
|
17
|
-
throw new Error(`Message index ${message.index} out of subtree range`);
|
|
18
|
-
}
|
|
19
|
-
const key = `${message.blockNumber}-${message.index}`;
|
|
20
|
-
this.store.set(key, message.leaf);
|
|
20
|
+
this.store.set(`${message.index}`, message.leaf);
|
|
21
21
|
}
|
|
22
22
|
getMessages(blockNumber) {
|
|
23
23
|
const messages = [];
|
|
24
24
|
let undefinedMessageFound = false;
|
|
25
|
-
|
|
25
|
+
const startIndex = Number(InboxLeaf.smallestIndexFromL2Block(blockNumber));
|
|
26
|
+
for (let i = startIndex; i < startIndex + __classPrivateFieldGet(this, _L1ToL2MessageStore_l1ToL2MessagesSubtreeSize, "f"); i++) {
|
|
26
27
|
// This is inefficient but probably fine for now.
|
|
27
|
-
const
|
|
28
|
-
const message = this.store.get(key);
|
|
28
|
+
const message = this.store.get(`${i}`);
|
|
29
29
|
if (message) {
|
|
30
30
|
if (undefinedMessageFound) {
|
|
31
31
|
throw new Error(`L1 to L2 message gap found in block ${blockNumber}`);
|
|
@@ -49,9 +49,7 @@ export class L1ToL2MessageStore {
|
|
|
49
49
|
getMessageIndex(l1ToL2Message, startIndex) {
|
|
50
50
|
for (const [key, message] of this.store.entries()) {
|
|
51
51
|
if (message.equals(l1ToL2Message)) {
|
|
52
|
-
const
|
|
53
|
-
const [blockNumber, messageIndex] = [BigInt(keyParts[0]), BigInt(keyParts[1])];
|
|
54
|
-
const indexInTheWholeTree = (blockNumber - BigInt(INITIAL_L2_BLOCK_NUM)) * BigInt(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP) + messageIndex;
|
|
52
|
+
const indexInTheWholeTree = BigInt(key);
|
|
55
53
|
if (indexInTheWholeTree < startIndex) {
|
|
56
54
|
continue;
|
|
57
55
|
}
|
|
@@ -62,4 +60,4 @@ export class L1ToL2MessageStore {
|
|
|
62
60
|
}
|
|
63
61
|
}
|
|
64
62
|
_L1ToL2MessageStore_l1ToL2MessagesSubtreeSize = new WeakMap();
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDFfdG9fbDJfbWVzc2FnZV9zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcmNoaXZlci9tZW1vcnlfYXJjaGl2ZXJfc3RvcmUvbDFfdG9fbDJfbWVzc2FnZV9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUczRTs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFRN0I7UUFQQTs7V0FFRztRQUNPLFVBQUssR0FBb0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUU3Qyx3REFBNkIsQ0FBQyxJQUFJLDJCQUEyQixFQUFDO0lBRS9DLENBQUM7SUFFaEIsMEJBQTBCO1FBQ3hCLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFrQjtRQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELFdBQVcsQ0FBQyxXQUFtQjtRQUM3QixNQUFNLFFBQVEsR0FBUyxFQUFFLENBQUM7UUFDMUIsSUFBSSxxQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFDbEMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyx3QkFBd0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBRTNFLEtBQUssSUFBSSxDQUFDLEdBQUcsVUFBVSxFQUFFLENBQUMsR0FBRyxVQUFVLEdBQUcsdUJBQUEsSUFBSSxxREFBMkIsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQy9FLGlEQUFpRDtZQUNqRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDdkMsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDWixJQUFJLHFCQUFxQixFQUFFLENBQUM7b0JBQzFCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLFdBQVcsRUFBRSxDQUFDLENBQUM7Z0JBQ3hFLENBQUM7Z0JBQ0QsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6QixDQUFDO2lCQUFNLENBQUM7Z0JBQ04scUJBQXFCLEdBQUcsSUFBSSxDQUFDO2dCQUM3Qiw4R0FBOEc7Z0JBQzlHLG1GQUFtRjtZQUNyRixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBQyxhQUFpQixFQUFFLFVBQWtCO1FBQ25ELEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDbEQsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7Z0JBQ2xDLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUN4QyxJQUFJLG1CQUFtQixHQUFHLFVBQVUsRUFBRSxDQUFDO29CQUNyQyxTQUFTO2dCQUNYLENBQUM7Z0JBQ0QsT0FBTyxtQkFBbUIsQ0FBQztZQUM3QixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FDRiJ9
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import { Fr } from '@aztec/circuits.js';
|
|
1
|
+
import { type FromLogType, type GetUnencryptedLogsResponse, type InboxLeaf, type L2Block, type L2BlockL2Logs, type LogFilter, LogType, type TxEffect, type TxHash, TxReceipt } from '@aztec/circuit-types';
|
|
2
|
+
import { type ContractClassPublic, type ContractInstanceWithAddress, type ExecutablePrivateFunctionWithMembershipProof, Fr, type Header, type UnconstrainedFunctionWithMembershipProof } from '@aztec/circuits.js';
|
|
3
3
|
import { type ContractArtifact } from '@aztec/foundation/abi';
|
|
4
4
|
import { type AztecAddress } from '@aztec/foundation/aztec-address';
|
|
5
|
-
import { type ContractClassPublic, type ContractInstanceWithAddress, type ExecutablePrivateFunctionWithMembershipProof, type UnconstrainedFunctionWithMembershipProof } from '@aztec/types/contracts';
|
|
6
5
|
import { type ArchiverDataStore, type ArchiverL1SynchPoint } from '../archiver_store.js';
|
|
7
|
-
import { type DataRetrieval
|
|
6
|
+
import { type DataRetrieval } from '../structs/data_retrieval.js';
|
|
8
7
|
import { type L1Published } from '../structs/published.js';
|
|
9
8
|
/**
|
|
10
9
|
* Simple, in-memory implementation of an archiver data store.
|
|
@@ -20,20 +19,8 @@ export declare class MemoryArchiverStore implements ArchiverDataStore {
|
|
|
20
19
|
* An array containing all the tx effects in the L2 blocks that have been fetched so far.
|
|
21
20
|
*/
|
|
22
21
|
private txEffects;
|
|
23
|
-
/**
|
|
24
|
-
* An array containing all the encrypted logs that have been fetched so far.
|
|
25
|
-
* Note: Index in the "outer" array equals to (corresponding L2 block's number - INITIAL_L2_BLOCK_NUM).
|
|
26
|
-
*/
|
|
27
22
|
private noteEncryptedLogsPerBlock;
|
|
28
|
-
/**
|
|
29
|
-
* An array containing all the encrypted logs that have been fetched so far.
|
|
30
|
-
* Note: Index in the "outer" array equals to (corresponding L2 block's number - INITIAL_L2_BLOCK_NUM).
|
|
31
|
-
*/
|
|
32
23
|
private encryptedLogsPerBlock;
|
|
33
|
-
/**
|
|
34
|
-
* An array containing all the unencrypted logs that have been fetched so far.
|
|
35
|
-
* Note: Index in the "outer" array equals to (corresponding L2 block's number - INITIAL_L2_BLOCK_NUM).
|
|
36
|
-
*/
|
|
37
24
|
private unencryptedLogsPerBlock;
|
|
38
25
|
/**
|
|
39
26
|
* Contains all L1 to L2 messages.
|
|
@@ -46,8 +33,8 @@ export declare class MemoryArchiverStore implements ArchiverDataStore {
|
|
|
46
33
|
private contractInstances;
|
|
47
34
|
private lastL1BlockNewBlocks;
|
|
48
35
|
private lastL1BlockNewMessages;
|
|
49
|
-
private lastL1BlockNewProvenLogs;
|
|
50
36
|
private lastProvenL2BlockNumber;
|
|
37
|
+
private lastProvenL2EpochNumber;
|
|
51
38
|
constructor(
|
|
52
39
|
/** The max number of logs that can be obtained in 1 "getUnencryptedLogs" call. */
|
|
53
40
|
maxLogs: number);
|
|
@@ -55,22 +42,32 @@ export declare class MemoryArchiverStore implements ArchiverDataStore {
|
|
|
55
42
|
getContractClassIds(): Promise<Fr[]>;
|
|
56
43
|
getContractInstance(address: AztecAddress): Promise<ContractInstanceWithAddress | undefined>;
|
|
57
44
|
addFunctions(contractClassId: Fr, newPrivateFunctions: ExecutablePrivateFunctionWithMembershipProof[], newUnconstrainedFunctions: UnconstrainedFunctionWithMembershipProof[]): Promise<boolean>;
|
|
58
|
-
addContractClasses(data: ContractClassPublic[],
|
|
45
|
+
addContractClasses(data: ContractClassPublic[], blockNumber: number): Promise<boolean>;
|
|
46
|
+
deleteContractClasses(data: ContractClassPublic[], blockNumber: number): Promise<boolean>;
|
|
59
47
|
addContractInstances(data: ContractInstanceWithAddress[], _blockNumber: number): Promise<boolean>;
|
|
48
|
+
deleteContractInstances(data: ContractInstanceWithAddress[], _blockNumber: number): Promise<boolean>;
|
|
60
49
|
/**
|
|
61
50
|
* Append new blocks to the store's list.
|
|
62
51
|
* @param blocks - The L2 blocks to be added to the store and the last processed L1 block.
|
|
63
52
|
* @returns True if the operation is successful.
|
|
64
53
|
*/
|
|
65
54
|
addBlocks(blocks: L1Published<L2Block>[]): Promise<boolean>;
|
|
55
|
+
/**
|
|
56
|
+
* Unwinds blocks from the database
|
|
57
|
+
* @param from - The tip of the chain, passed for verification purposes,
|
|
58
|
+
* ensuring that we don't end up deleting something we did not intend
|
|
59
|
+
* @param blocksToUnwind - The number of blocks we are to unwind
|
|
60
|
+
* @returns True if the operation is successful
|
|
61
|
+
*/
|
|
62
|
+
unwindBlocks(from: number, blocksToUnwind: number): Promise<boolean>;
|
|
66
63
|
/**
|
|
67
64
|
* Append new logs to the store's list.
|
|
68
|
-
* @param
|
|
69
|
-
* @param unencryptedLogs - The unencrypted logs to be added to the store.
|
|
70
|
-
* @param blockNumber - The block for which to add the logs.
|
|
65
|
+
* @param block - The block for which to add the logs.
|
|
71
66
|
* @returns True if the operation is successful.
|
|
72
67
|
*/
|
|
73
|
-
addLogs(
|
|
68
|
+
addLogs(blocks: L2Block[]): Promise<boolean>;
|
|
69
|
+
deleteLogs(blocks: L2Block[]): Promise<boolean>;
|
|
70
|
+
getTotalL1ToL2MessageCount(): Promise<bigint>;
|
|
74
71
|
/**
|
|
75
72
|
* Append L1 to L2 messages to the store.
|
|
76
73
|
* @param messages - The L1 to L2 messages to be added to the store and the last processed L1 block.
|
|
@@ -92,6 +89,7 @@ export declare class MemoryArchiverStore implements ArchiverDataStore {
|
|
|
92
89
|
* @remarks When "from" is smaller than genesis block number, blocks from the beginning are returned.
|
|
93
90
|
*/
|
|
94
91
|
getBlocks(from: number, limit: number): Promise<L1Published<L2Block>[]>;
|
|
92
|
+
getBlockHeaders(from: number, limit: number): Promise<Header[]>;
|
|
95
93
|
/**
|
|
96
94
|
* Gets a tx effect.
|
|
97
95
|
* @param txHash - The txHash of the tx effect.
|
|
@@ -131,7 +129,9 @@ export declare class MemoryArchiverStore implements ArchiverDataStore {
|
|
|
131
129
|
*/
|
|
132
130
|
getSynchedL2BlockNumber(): Promise<number>;
|
|
133
131
|
getProvenL2BlockNumber(): Promise<number>;
|
|
134
|
-
|
|
132
|
+
getProvenL2EpochNumber(): Promise<number | undefined>;
|
|
133
|
+
setProvenL2BlockNumber(l2BlockNumber: number): Promise<void>;
|
|
134
|
+
setProvenL2EpochNumber(l2EpochNumber: number): Promise<void>;
|
|
135
135
|
setBlockSynchedL1BlockNumber(l1BlockNumber: bigint): Promise<void>;
|
|
136
136
|
setMessageSynchedL1BlockNumber(l1BlockNumber: bigint): Promise<void>;
|
|
137
137
|
getSynchPoint(): Promise<ArchiverL1SynchPoint>;
|