@aztec/archiver 0.30.1 → 0.32.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/dest/archiver/archiver.d.ts +7 -9
- package/dest/archiver/archiver.d.ts.map +1 -1
- package/dest/archiver/archiver.js +51 -22
- package/dest/archiver/archiver_store.d.ts +16 -11
- 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 +51 -15
- package/dest/archiver/data_retrieval.js +6 -6
- package/dest/archiver/eth_log_handlers.d.ts +7 -7
- package/dest/archiver/eth_log_handlers.d.ts.map +1 -1
- package/dest/archiver/eth_log_handlers.js +11 -11
- package/dest/archiver/kv_archiver_store/block_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/block_store.js +3 -2
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts +3 -4
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/contract_class_store.js +64 -13
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts +9 -7
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/kv_archiver_store.js +11 -9
- package/dest/archiver/kv_archiver_store/log_store.d.ts +3 -3
- package/dest/archiver/kv_archiver_store/log_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/log_store.js +7 -5
- package/dest/archiver/kv_archiver_store/message_store.d.ts +3 -2
- package/dest/archiver/kv_archiver_store/message_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/message_store.js +10 -6
- package/dest/archiver/memory_archiver_store/l1_to_l2_message_store.d.ts +4 -4
- 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 +11 -8
- package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts +11 -7
- package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts.map +1 -1
- package/dest/archiver/memory_archiver_store/memory_archiver_store.js +34 -11
- package/dest/rpc/archiver_client.d.ts.map +1 -1
- package/dest/rpc/archiver_client.js +4 -3
- package/dest/rpc/archiver_server.d.ts.map +1 -1
- package/dest/rpc/archiver_server.js +4 -3
- package/package.json +11 -9
- package/src/archiver/archiver.ts +80 -23
- package/src/archiver/archiver_store.ts +33 -11
- package/src/archiver/archiver_store_test_suite.ts +65 -18
- package/src/archiver/data_retrieval.ts +6 -6
- package/src/archiver/eth_log_handlers.ts +13 -13
- package/src/archiver/kv_archiver_store/block_store.ts +9 -1
- package/src/archiver/kv_archiver_store/contract_class_store.ts +106 -18
- package/src/archiver/kv_archiver_store/kv_archiver_store.ts +31 -12
- package/src/archiver/kv_archiver_store/log_store.ts +23 -10
- package/src/archiver/kv_archiver_store/message_store.ts +10 -5
- package/src/archiver/memory_archiver_store/l1_to_l2_message_store.ts +10 -7
- package/src/archiver/memory_archiver_store/memory_archiver_store.ts +66 -15
- package/src/rpc/archiver_client.ts +5 -3
- package/src/rpc/archiver_server.ts +4 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExtendedUnencryptedL2Log, L2BlockContext, LogId, LogType, TxReceipt, TxStatus,
|
|
1
|
+
import { ExtendedUnencryptedL2Log, L2BlockContext, LogId, LogType, TxReceipt, TxStatus, } from '@aztec/circuit-types';
|
|
2
2
|
import { Fr, INITIAL_L2_BLOCK_NUM } from '@aztec/circuits.js';
|
|
3
3
|
import { L1ToL2MessageStore } from './l1_to_l2_message_store.js';
|
|
4
4
|
/**
|
|
@@ -36,12 +36,19 @@ export class MemoryArchiverStore {
|
|
|
36
36
|
*/
|
|
37
37
|
this.l1ToL2Messages = new L1ToL2MessageStore();
|
|
38
38
|
this.contractClasses = new Map();
|
|
39
|
+
this.privateFunctions = new Map();
|
|
40
|
+
this.unconstrainedFunctions = new Map();
|
|
39
41
|
this.contractInstances = new Map();
|
|
40
42
|
this.lastL1BlockNewBlocks = 0n;
|
|
41
43
|
this.lastL1BlockNewMessages = 0n;
|
|
42
44
|
}
|
|
43
45
|
getContractClass(id) {
|
|
44
|
-
|
|
46
|
+
const contractClass = this.contractClasses.get(id.toString());
|
|
47
|
+
return Promise.resolve(contractClass && {
|
|
48
|
+
...contractClass,
|
|
49
|
+
privateFunctions: this.privateFunctions.get(id.toString()) ?? [],
|
|
50
|
+
unconstrainedFunctions: this.unconstrainedFunctions.get(id.toString()) ?? [],
|
|
51
|
+
});
|
|
45
52
|
}
|
|
46
53
|
getContractClassIds() {
|
|
47
54
|
return Promise.resolve(Array.from(this.contractClasses.keys()).map(key => Fr.fromString(key)));
|
|
@@ -49,6 +56,21 @@ export class MemoryArchiverStore {
|
|
|
49
56
|
getContractInstance(address) {
|
|
50
57
|
return Promise.resolve(this.contractInstances.get(address.toString()));
|
|
51
58
|
}
|
|
59
|
+
addFunctions(contractClassId, newPrivateFunctions, newUnconstrainedFunctions) {
|
|
60
|
+
const privateFunctions = this.privateFunctions.get(contractClassId.toString()) ?? [];
|
|
61
|
+
const unconstrainedFunctions = this.unconstrainedFunctions.get(contractClassId.toString()) ?? [];
|
|
62
|
+
const updatedPrivateFunctions = [
|
|
63
|
+
...privateFunctions,
|
|
64
|
+
...newPrivateFunctions.filter(newFn => !privateFunctions.find(f => f.selector.equals(newFn.selector))),
|
|
65
|
+
];
|
|
66
|
+
const updatedUnconstrainedFunctions = [
|
|
67
|
+
...unconstrainedFunctions,
|
|
68
|
+
...newUnconstrainedFunctions.filter(newFn => !unconstrainedFunctions.find(f => f.selector.equals(newFn.selector))),
|
|
69
|
+
];
|
|
70
|
+
this.privateFunctions.set(contractClassId.toString(), updatedPrivateFunctions);
|
|
71
|
+
this.unconstrainedFunctions.set(contractClassId.toString(), updatedUnconstrainedFunctions);
|
|
72
|
+
return Promise.resolve(true);
|
|
73
|
+
}
|
|
52
74
|
addContractClasses(data, _blockNumber) {
|
|
53
75
|
for (const contractClass of data) {
|
|
54
76
|
this.contractClasses.set(contractClass.id.toString(), contractClass);
|
|
@@ -128,12 +150,13 @@ export class MemoryArchiverStore {
|
|
|
128
150
|
return Promise.resolve(true);
|
|
129
151
|
}
|
|
130
152
|
/**
|
|
131
|
-
* Gets the L1 to L2 message index in the L1 to L2 message tree
|
|
153
|
+
* Gets the first L1 to L2 message index in the L1 to L2 message tree which is greater than or equal to `startIndex`.
|
|
132
154
|
* @param l1ToL2Message - The L1 to L2 message.
|
|
155
|
+
* @param startIndex - The index to start searching from.
|
|
133
156
|
* @returns The index of the L1 to L2 message in the L1 to L2 message tree (undefined if not found).
|
|
134
157
|
*/
|
|
135
|
-
getL1ToL2MessageIndex(l1ToL2Message) {
|
|
136
|
-
return Promise.resolve(this.l1ToL2Messages.getMessageIndex(l1ToL2Message));
|
|
158
|
+
getL1ToL2MessageIndex(l1ToL2Message, startIndex) {
|
|
159
|
+
return Promise.resolve(this.l1ToL2Messages.getMessageIndex(l1ToL2Message, startIndex));
|
|
137
160
|
}
|
|
138
161
|
/**
|
|
139
162
|
* Gets up to `limit` amount of L2 blocks starting from `from`.
|
|
@@ -197,7 +220,7 @@ export class MemoryArchiverStore {
|
|
|
197
220
|
if (from < INITIAL_L2_BLOCK_NUM || limit < 1) {
|
|
198
221
|
throw new Error(`Invalid limit: ${limit}`);
|
|
199
222
|
}
|
|
200
|
-
const logs = logType === LogType.ENCRYPTED ? this.encryptedLogsPerBlock : this.unencryptedLogsPerBlock;
|
|
223
|
+
const logs = (logType === LogType.ENCRYPTED ? this.encryptedLogsPerBlock : this.unencryptedLogsPerBlock);
|
|
201
224
|
if (from > logs.length) {
|
|
202
225
|
return Promise.resolve([]);
|
|
203
226
|
}
|
|
@@ -253,7 +276,7 @@ export class MemoryArchiverStore {
|
|
|
253
276
|
const blockContext = this.l2BlockContexts[fromBlockIndex];
|
|
254
277
|
const blockLogs = this.unencryptedLogsPerBlock[fromBlockIndex];
|
|
255
278
|
for (; txIndexInBlock < blockLogs.txLogs.length; txIndexInBlock++) {
|
|
256
|
-
const txLogs = blockLogs.txLogs[txIndexInBlock].unrollLogs()
|
|
279
|
+
const txLogs = blockLogs.txLogs[txIndexInBlock].unrollLogs();
|
|
257
280
|
for (; logIndexInTx < txLogs.length; logIndexInTx++) {
|
|
258
281
|
const log = txLogs[logIndexInTx];
|
|
259
282
|
if ((!txHash || blockContext.getTxHash(txIndexInBlock).equals(txHash)) &&
|
|
@@ -287,11 +310,11 @@ export class MemoryArchiverStore {
|
|
|
287
310
|
}
|
|
288
311
|
return Promise.resolve(this.l2BlockContexts[this.l2BlockContexts.length - 1].block.number);
|
|
289
312
|
}
|
|
290
|
-
|
|
313
|
+
getSynchPoint() {
|
|
291
314
|
return Promise.resolve({
|
|
292
|
-
|
|
293
|
-
|
|
315
|
+
blocksSynchedTo: this.lastL1BlockNewBlocks,
|
|
316
|
+
messagesSynchedTo: this.lastL1BlockNewMessages,
|
|
294
317
|
});
|
|
295
318
|
}
|
|
296
319
|
}
|
|
297
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5X2FyY2hpdmVyX3N0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FyY2hpdmVyL21lbW9yeV9hcmNoaXZlcl9zdG9yZS9tZW1vcnlfYXJjaGl2ZXJfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHdCQUF3QixFQUl4QixjQUFjLEVBR2QsS0FBSyxFQUNMLE9BQU8sRUFHUCxTQUFTLEVBQ1QsUUFBUSxFQUNSLGdCQUFnQixHQUNqQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQU05RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVqRTs7R0FFRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUF3QzlCO0lBQ0Usa0ZBQWtGO0lBQ2xFLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBekNqQzs7V0FFRztRQUNLLG9CQUFlLEdBQXFCLEVBQUUsQ0FBQztRQUUvQzs7V0FFRztRQUNLLGtCQUFhLEdBQXNCLElBQUksR0FBRyxFQUFFLENBQUM7UUFFckQ7O1dBRUc7UUFDSyxjQUFTLEdBQWUsRUFBRSxDQUFDO1FBRW5DOzs7V0FHRztRQUNLLDBCQUFxQixHQUFvQixFQUFFLENBQUM7UUFFcEQ7OztXQUdHO1FBQ0ssNEJBQXVCLEdBQW9CLEVBQUUsQ0FBQztRQUV0RDs7V0FFRztRQUNLLG1CQUFjLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBRTFDLG9CQUFlLEdBQXFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFFOUQsc0JBQWlCLEdBQTZDLElBQUksR0FBRyxFQUFFLENBQUM7UUFFeEUseUJBQW9CLEdBQVcsRUFBRSxDQUFDO1FBQ2xDLDJCQUFzQixHQUFXLEVBQUUsQ0FBQztJQUt6QyxDQUFDO0lBRUcsZ0JBQWdCLENBQUMsRUFBTTtRQUM1QixPQUFP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
|
|
320
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5X2FyY2hpdmVyX3N0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FyY2hpdmVyL21lbW9yeV9hcmNoaXZlcl9zdG9yZS9tZW1vcnlfYXJjaGl2ZXJfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLHdCQUF3QixFQUt4QixjQUFjLEVBR2QsS0FBSyxFQUNMLE9BQU8sRUFHUCxTQUFTLEVBQ1QsUUFBUSxHQUVULE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBVzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWpFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQTRDOUI7SUFDRSxrRkFBa0Y7SUFDbEUsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7UUE3Q2pDOztXQUVHO1FBQ0ssb0JBQWUsR0FBcUIsRUFBRSxDQUFDO1FBRS9DOztXQUVHO1FBQ0ssa0JBQWEsR0FBc0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVyRDs7V0FFRztRQUNLLGNBQVMsR0FBZSxFQUFFLENBQUM7UUFFbkM7OztXQUdHO1FBQ0ssMEJBQXFCLEdBQTZCLEVBQUUsQ0FBQztRQUU3RDs7O1dBR0c7UUFDSyw0QkFBdUIsR0FBK0IsRUFBRSxDQUFDO1FBRWpFOztXQUVHO1FBQ0ssbUJBQWMsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFFMUMsb0JBQWUsR0FBcUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUU5RCxxQkFBZ0IsR0FBZ0UsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUUxRiwyQkFBc0IsR0FBNEQsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUU1RixzQkFBaUIsR0FBNkMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUV4RSx5QkFBb0IsR0FBVyxFQUFFLENBQUM7UUFDbEMs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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archiver_client.d.ts","sourceRoot":"","sources":["../../src/rpc/archiver_client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"archiver_client.d.ts","sourceRoot":"","sources":["../../src/rpc/archiver_client.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,eAAO,MAAM,oBAAoB,QAAS,MAAM,qGAAuC,aAenE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExtendedUnencryptedL2Log, L2Block,
|
|
1
|
+
import { EncryptedL2BlockL2Logs, ExtendedUnencryptedL2Log, L2Block, NullifierMembershipWitness, TxReceipt, UnencryptedL2BlockL2Logs, } from '@aztec/circuit-types';
|
|
2
2
|
import { EthAddress, Fr } from '@aztec/circuits.js';
|
|
3
3
|
import { createJsonRpcClient, makeFetch } from '@aztec/foundation/json-rpc/client';
|
|
4
4
|
export const createArchiverClient = (url, fetch = makeFetch([1, 2, 3], true)) => createJsonRpcClient(url, {
|
|
@@ -6,6 +6,7 @@ export const createArchiverClient = (url, fetch = makeFetch([1, 2, 3], true)) =>
|
|
|
6
6
|
ExtendedUnencryptedL2Log,
|
|
7
7
|
Fr,
|
|
8
8
|
L2Block,
|
|
9
|
-
|
|
9
|
+
EncryptedL2BlockL2Logs,
|
|
10
|
+
UnencryptedL2BlockL2Logs,
|
|
10
11
|
}, { TxReceipt, NullifierMembershipWitness }, false, 'archiver', fetch);
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZXJfY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JwYy9hcmNoaXZlcl9jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHNCQUFzQixFQUN0Qix3QkFBd0IsRUFDeEIsT0FBTyxFQUNQLDBCQUEwQixFQUMxQixTQUFTLEVBQ1Qsd0JBQXdCLEdBQ3pCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFJbkYsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBSyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQWlCLEVBQUUsQ0FDckcsbUJBQW1CLENBQ2pCLEdBQUcsRUFDSDtJQUNFLFVBQVU7SUFDVix3QkFBd0I7SUFDeEIsRUFBRTtJQUNGLE9BQU87SUFDUCxzQkFBc0I7SUFDdEIsd0JBQXdCO0NBQ3pCLEVBQ0QsRUFBRSxTQUFTLEVBQUUsMEJBQTBCLEVBQUUsRUFDekMsS0FBSyxFQUNMLFVBQVUsRUFDVixLQUFLLENBQ1csQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archiver_server.d.ts","sourceRoot":"","sources":["../../src/rpc/archiver_server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"archiver_server.d.ts","sourceRoot":"","sources":["../../src/rpc/archiver_server.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,QAAQ,GAAG,aAAa,CAehF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExtendedUnencryptedL2Log, L2Block,
|
|
1
|
+
import { EncryptedL2BlockL2Logs, ExtendedUnencryptedL2Log, L2Block, NullifierMembershipWitness, TxEffect, TxReceipt, UnencryptedL2BlockL2Logs, } from '@aztec/circuit-types';
|
|
2
2
|
import { EthAddress, Fr } from '@aztec/circuits.js';
|
|
3
3
|
import { JsonRpcServer } from '@aztec/foundation/json-rpc/server';
|
|
4
4
|
/**
|
|
@@ -12,8 +12,9 @@ export function createArchiverRpcServer(archiverService) {
|
|
|
12
12
|
ExtendedUnencryptedL2Log,
|
|
13
13
|
Fr,
|
|
14
14
|
L2Block,
|
|
15
|
-
|
|
15
|
+
EncryptedL2BlockL2Logs,
|
|
16
|
+
UnencryptedL2BlockL2Logs,
|
|
16
17
|
TxEffect,
|
|
17
18
|
}, { TxReceipt, NullifierMembershipWitness }, ['start', 'stop']);
|
|
18
19
|
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZXJfc2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JwYy9hcmNoaXZlcl9zZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHNCQUFzQixFQUN0Qix3QkFBd0IsRUFDeEIsT0FBTyxFQUNQLDBCQUEwQixFQUMxQixRQUFRLEVBQ1IsU0FBUyxFQUNULHdCQUF3QixHQUN6QixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBSWxFOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsZUFBeUI7SUFDL0QsT0FBTyxJQUFJLGFBQWEsQ0FDdEIsZUFBZSxFQUNmO1FBQ0UsVUFBVTtRQUNWLHdCQUF3QjtRQUN4QixFQUFFO1FBQ0YsT0FBTztRQUNQLHNCQUFzQjtRQUN0Qix3QkFBd0I7UUFDeEIsUUFBUTtLQUNULEVBQ0QsRUFBRSxTQUFTLEVBQUUsMEJBQTBCLEVBQUUsRUFDekMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQ2xCLENBQUM7QUFDSixDQUFDIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/archiver",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.32.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": "./dest/index.js",
|
|
6
6
|
"typedocOptions": {
|
|
@@ -35,16 +35,17 @@
|
|
|
35
35
|
"workerThreads": true
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@aztec/circuit-types": "0.
|
|
39
|
-
"@aztec/circuits.js": "0.
|
|
40
|
-
"@aztec/ethereum": "0.
|
|
41
|
-
"@aztec/foundation": "0.
|
|
42
|
-
"@aztec/kv-store": "0.
|
|
43
|
-
"@aztec/l1-artifacts": "0.
|
|
44
|
-
"@aztec/protocol-contracts": "0.
|
|
45
|
-
"@aztec/types": "0.
|
|
38
|
+
"@aztec/circuit-types": "0.32.0",
|
|
39
|
+
"@aztec/circuits.js": "0.32.0",
|
|
40
|
+
"@aztec/ethereum": "0.32.0",
|
|
41
|
+
"@aztec/foundation": "0.32.0",
|
|
42
|
+
"@aztec/kv-store": "0.32.0",
|
|
43
|
+
"@aztec/l1-artifacts": "0.32.0",
|
|
44
|
+
"@aztec/protocol-contracts": "0.32.0",
|
|
45
|
+
"@aztec/types": "0.32.0",
|
|
46
46
|
"debug": "^4.3.4",
|
|
47
47
|
"lmdb": "^2.9.2",
|
|
48
|
+
"lodash.groupby": "^4.6.0",
|
|
48
49
|
"lodash.omit": "^4.5.0",
|
|
49
50
|
"tsc-watch": "^6.0.0",
|
|
50
51
|
"tslib": "^2.5.0",
|
|
@@ -55,6 +56,7 @@
|
|
|
55
56
|
"@jest/globals": "^29.5.0",
|
|
56
57
|
"@types/debug": "^4.1.7",
|
|
57
58
|
"@types/jest": "^29.5.0",
|
|
59
|
+
"@types/lodash.groupby": "^4.6.9",
|
|
58
60
|
"@types/lodash.omit": "^4.5.7",
|
|
59
61
|
"@types/node": "^18.15.11",
|
|
60
62
|
"@types/ws": "^8.5.4",
|
package/src/archiver/archiver.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
+
FromLogType,
|
|
2
3
|
GetUnencryptedLogsResponse,
|
|
3
4
|
L1ToL2MessageSource,
|
|
4
5
|
L2Block,
|
|
@@ -13,21 +14,30 @@ import {
|
|
|
13
14
|
UnencryptedL2Log,
|
|
14
15
|
} from '@aztec/circuit-types';
|
|
15
16
|
import { ContractClassRegisteredEvent, FunctionSelector } from '@aztec/circuits.js';
|
|
16
|
-
import {
|
|
17
|
+
import {
|
|
18
|
+
ContractInstanceDeployedEvent,
|
|
19
|
+
PrivateFunctionBroadcastedEvent,
|
|
20
|
+
UnconstrainedFunctionBroadcastedEvent,
|
|
21
|
+
isValidPrivateFunctionMembershipProof,
|
|
22
|
+
isValidUnconstrainedFunctionMembershipProof,
|
|
23
|
+
} from '@aztec/circuits.js/contract';
|
|
17
24
|
import { createEthereumChain } from '@aztec/ethereum';
|
|
18
25
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
19
26
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
20
27
|
import { Fr } from '@aztec/foundation/fields';
|
|
21
28
|
import { DebugLogger, createDebugLogger } from '@aztec/foundation/log';
|
|
22
29
|
import { RunningPromise } from '@aztec/foundation/running-promise';
|
|
23
|
-
import {
|
|
30
|
+
import { getCanonicalClassRegistererAddress } from '@aztec/protocol-contracts/class-registerer';
|
|
24
31
|
import {
|
|
25
32
|
ContractClassPublic,
|
|
26
33
|
ContractDataSource,
|
|
27
34
|
ContractInstanceWithAddress,
|
|
35
|
+
ExecutablePrivateFunctionWithMembershipProof,
|
|
28
36
|
PublicFunction,
|
|
37
|
+
UnconstrainedFunctionWithMembershipProof,
|
|
29
38
|
} from '@aztec/types/contracts';
|
|
30
39
|
|
|
40
|
+
import groupBy from 'lodash.groupby';
|
|
31
41
|
import { Chain, HttpTransport, PublicClient, createPublicClient, http } from 'viem';
|
|
32
42
|
|
|
33
43
|
import { ArchiverDataStore } from './archiver_store.js';
|
|
@@ -55,11 +65,6 @@ export class Archiver implements ArchiveSource {
|
|
|
55
65
|
*/
|
|
56
66
|
private runningPromise?: RunningPromise;
|
|
57
67
|
|
|
58
|
-
/**
|
|
59
|
-
* Use this to track logged block in order to avoid repeating the same message.
|
|
60
|
-
*/
|
|
61
|
-
private lastLoggedL1BlockNumber = 0n;
|
|
62
|
-
|
|
63
68
|
/**
|
|
64
69
|
* Creates a new instance of the Archiver.
|
|
65
70
|
* @param publicClient - A client for interacting with the Ethereum node.
|
|
@@ -132,7 +137,7 @@ export class Archiver implements ArchiveSource {
|
|
|
132
137
|
}
|
|
133
138
|
|
|
134
139
|
/**
|
|
135
|
-
* Fetches
|
|
140
|
+
* Fetches logs from L1 contracts and processes them.
|
|
136
141
|
* @param blockUntilSynced - If true, blocks until the archiver has fully synced.
|
|
137
142
|
*/
|
|
138
143
|
private async sync(blockUntilSynced: boolean) {
|
|
@@ -148,10 +153,13 @@ export class Archiver implements ArchiveSource {
|
|
|
148
153
|
*
|
|
149
154
|
* This code does not handle reorgs.
|
|
150
155
|
*/
|
|
151
|
-
const
|
|
156
|
+
const l1SynchPoint = await this.store.getSynchPoint();
|
|
152
157
|
const currentL1BlockNumber = await this.publicClient.getBlockNumber();
|
|
153
158
|
|
|
154
|
-
if (
|
|
159
|
+
if (
|
|
160
|
+
currentL1BlockNumber <= l1SynchPoint.blocksSynchedTo &&
|
|
161
|
+
currentL1BlockNumber <= l1SynchPoint.messagesSynchedTo
|
|
162
|
+
) {
|
|
155
163
|
// chain hasn't moved forward
|
|
156
164
|
// or it's been rolled back
|
|
157
165
|
return;
|
|
@@ -184,14 +192,14 @@ export class Archiver implements ArchiveSource {
|
|
|
184
192
|
this.publicClient,
|
|
185
193
|
this.inboxAddress,
|
|
186
194
|
blockUntilSynced,
|
|
187
|
-
|
|
195
|
+
l1SynchPoint.messagesSynchedTo + 1n,
|
|
188
196
|
currentL1BlockNumber,
|
|
189
197
|
);
|
|
190
198
|
|
|
191
199
|
if (retrievedL1ToL2Messages.retrievedData.length !== 0) {
|
|
192
200
|
this.log(
|
|
193
201
|
`Retrieved ${retrievedL1ToL2Messages.retrievedData.length} new L1 -> L2 messages between L1 blocks ${
|
|
194
|
-
|
|
202
|
+
l1SynchPoint.messagesSynchedTo + 1n
|
|
195
203
|
} and ${currentL1BlockNumber}.`,
|
|
196
204
|
);
|
|
197
205
|
}
|
|
@@ -205,7 +213,7 @@ export class Archiver implements ArchiveSource {
|
|
|
205
213
|
this.publicClient,
|
|
206
214
|
this.availabilityOracleAddress,
|
|
207
215
|
blockUntilSynced,
|
|
208
|
-
|
|
216
|
+
l1SynchPoint.blocksSynchedTo + 1n,
|
|
209
217
|
currentL1BlockNumber,
|
|
210
218
|
);
|
|
211
219
|
|
|
@@ -220,7 +228,7 @@ export class Archiver implements ArchiveSource {
|
|
|
220
228
|
this.publicClient,
|
|
221
229
|
this.rollupAddress,
|
|
222
230
|
blockUntilSynced,
|
|
223
|
-
|
|
231
|
+
l1SynchPoint.blocksSynchedTo + 1n,
|
|
224
232
|
currentL1BlockNumber,
|
|
225
233
|
nextExpectedL2BlockNum,
|
|
226
234
|
);
|
|
@@ -244,7 +252,7 @@ export class Archiver implements ArchiveSource {
|
|
|
244
252
|
} else {
|
|
245
253
|
this.log(
|
|
246
254
|
`Retrieved ${blocks.length} new L2 blocks between L1 blocks ${
|
|
247
|
-
|
|
255
|
+
l1SynchPoint.blocksSynchedTo + 1n
|
|
248
256
|
} and ${currentL1BlockNumber}.`,
|
|
249
257
|
);
|
|
250
258
|
}
|
|
@@ -269,10 +277,10 @@ export class Archiver implements ArchiveSource {
|
|
|
269
277
|
retrievedBlocks.retrievedData.map(async block => {
|
|
270
278
|
const blockLogs = block.body.txEffects
|
|
271
279
|
.flatMap(txEffect => (txEffect ? [txEffect.unencryptedLogs] : []))
|
|
272
|
-
.flatMap(txLog => txLog.unrollLogs())
|
|
273
|
-
.map(log => UnencryptedL2Log.fromBuffer(log));
|
|
280
|
+
.flatMap(txLog => txLog.unrollLogs());
|
|
274
281
|
await this.storeRegisteredContractClasses(blockLogs, block.number);
|
|
275
282
|
await this.storeDeployedContractInstances(blockLogs, block.number);
|
|
283
|
+
await this.storeBroadcastedIndividualFunctions(blockLogs, block.number);
|
|
276
284
|
}),
|
|
277
285
|
);
|
|
278
286
|
|
|
@@ -284,8 +292,8 @@ export class Archiver implements ArchiveSource {
|
|
|
284
292
|
* @param allLogs - All logs emitted in a bunch of blocks.
|
|
285
293
|
*/
|
|
286
294
|
private async storeRegisteredContractClasses(allLogs: UnencryptedL2Log[], blockNum: number) {
|
|
287
|
-
const contractClasses = ContractClassRegisteredEvent.fromLogs(allLogs,
|
|
288
|
-
e.toContractClassPublic(),
|
|
295
|
+
const contractClasses = ContractClassRegisteredEvent.fromLogs(allLogs, getCanonicalClassRegistererAddress()).map(
|
|
296
|
+
e => e.toContractClassPublic(),
|
|
289
297
|
);
|
|
290
298
|
if (contractClasses.length > 0) {
|
|
291
299
|
contractClasses.forEach(c => this.log(`Registering contract class ${c.id.toString()}`));
|
|
@@ -305,6 +313,50 @@ export class Archiver implements ArchiveSource {
|
|
|
305
313
|
}
|
|
306
314
|
}
|
|
307
315
|
|
|
316
|
+
private async storeBroadcastedIndividualFunctions(allLogs: UnencryptedL2Log[], _blockNum: number) {
|
|
317
|
+
// Filter out private and unconstrained function broadcast events
|
|
318
|
+
const privateFnEvents = PrivateFunctionBroadcastedEvent.fromLogs(allLogs, getCanonicalClassRegistererAddress());
|
|
319
|
+
const unconstrainedFnEvents = UnconstrainedFunctionBroadcastedEvent.fromLogs(
|
|
320
|
+
allLogs,
|
|
321
|
+
getCanonicalClassRegistererAddress(),
|
|
322
|
+
);
|
|
323
|
+
|
|
324
|
+
// Group all events by contract class id
|
|
325
|
+
for (const [classIdString, classEvents] of Object.entries(
|
|
326
|
+
groupBy([...privateFnEvents, ...unconstrainedFnEvents], e => e.contractClassId.toString()),
|
|
327
|
+
)) {
|
|
328
|
+
const contractClassId = Fr.fromString(classIdString);
|
|
329
|
+
const contractClass = await this.store.getContractClass(contractClassId);
|
|
330
|
+
if (!contractClass) {
|
|
331
|
+
this.log.warn(`Skipping broadcasted functions as contract class ${contractClassId.toString()} was not found`);
|
|
332
|
+
continue;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
// Split private and unconstrained functions, and filter out invalid ones
|
|
336
|
+
const allFns = classEvents.map(e => e.toFunctionWithMembershipProof());
|
|
337
|
+
const privateFns = allFns.filter(
|
|
338
|
+
(fn): fn is ExecutablePrivateFunctionWithMembershipProof => 'unconstrainedFunctionsArtifactTreeRoot' in fn,
|
|
339
|
+
);
|
|
340
|
+
const unconstrainedFns = allFns.filter(
|
|
341
|
+
(fn): fn is UnconstrainedFunctionWithMembershipProof => 'privateFunctionsArtifactTreeRoot' in fn,
|
|
342
|
+
);
|
|
343
|
+
const validPrivateFns = privateFns.filter(fn => isValidPrivateFunctionMembershipProof(fn, contractClass));
|
|
344
|
+
const validUnconstrainedFns = unconstrainedFns.filter(fn =>
|
|
345
|
+
isValidUnconstrainedFunctionMembershipProof(fn, contractClass),
|
|
346
|
+
);
|
|
347
|
+
const validFnCount = validPrivateFns.length + validUnconstrainedFns.length;
|
|
348
|
+
if (validFnCount !== allFns.length) {
|
|
349
|
+
this.log.warn(`Skipping ${allFns.length - validFnCount} invalid functions`);
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
// Store the functions in the contract class in a single operation
|
|
353
|
+
if (validFnCount > 0) {
|
|
354
|
+
this.log(`Storing ${validFnCount} functions for contract class ${contractClassId.toString()}`);
|
|
355
|
+
}
|
|
356
|
+
await this.store.addFunctions(contractClassId, validPrivateFns, validUnconstrainedFns);
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
|
|
308
360
|
/**
|
|
309
361
|
* Stops the archiver.
|
|
310
362
|
* @returns A promise signalling completion of the stop process.
|
|
@@ -385,7 +437,11 @@ export class Archiver implements ArchiveSource {
|
|
|
385
437
|
* @param logType - Specifies whether to return encrypted or unencrypted logs.
|
|
386
438
|
* @returns The requested logs.
|
|
387
439
|
*/
|
|
388
|
-
public getLogs
|
|
440
|
+
public getLogs<TLogType extends LogType>(
|
|
441
|
+
from: number,
|
|
442
|
+
limit: number,
|
|
443
|
+
logType: TLogType,
|
|
444
|
+
): Promise<L2BlockL2Logs<FromLogType<TLogType>>[]> {
|
|
389
445
|
return this.store.getLogs(from, limit, logType);
|
|
390
446
|
}
|
|
391
447
|
|
|
@@ -424,12 +480,13 @@ export class Archiver implements ArchiveSource {
|
|
|
424
480
|
}
|
|
425
481
|
|
|
426
482
|
/**
|
|
427
|
-
* Gets the L1 to L2 message index in the L1 to L2 message tree
|
|
483
|
+
* Gets the first L1 to L2 message index in the L1 to L2 message tree which is greater than or equal to `startIndex`.
|
|
428
484
|
* @param l1ToL2Message - The L1 to L2 message.
|
|
485
|
+
* @param startIndex - The index to start searching from.
|
|
429
486
|
* @returns The index of the L1 to L2 message in the L1 to L2 message tree (undefined if not found).
|
|
430
487
|
*/
|
|
431
|
-
getL1ToL2MessageIndex(l1ToL2Message: Fr): Promise<bigint | undefined> {
|
|
432
|
-
return this.store.getL1ToL2MessageIndex(l1ToL2Message);
|
|
488
|
+
getL1ToL2MessageIndex(l1ToL2Message: Fr, startIndex: bigint): Promise<bigint | undefined> {
|
|
489
|
+
return this.store.getL1ToL2MessageIndex(l1ToL2Message, startIndex);
|
|
433
490
|
}
|
|
434
491
|
|
|
435
492
|
getContractClassIds(): Promise<Fr[]> {
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Body,
|
|
3
|
+
EncryptedL2BlockL2Logs,
|
|
4
|
+
FromLogType,
|
|
3
5
|
GetUnencryptedLogsResponse,
|
|
4
6
|
InboxLeaf,
|
|
5
7
|
L2Block,
|
|
@@ -9,10 +11,16 @@ import {
|
|
|
9
11
|
TxEffect,
|
|
10
12
|
TxHash,
|
|
11
13
|
TxReceipt,
|
|
14
|
+
UnencryptedL2BlockL2Logs,
|
|
12
15
|
} from '@aztec/circuit-types';
|
|
13
16
|
import { Fr } from '@aztec/circuits.js';
|
|
14
17
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
15
|
-
import {
|
|
18
|
+
import {
|
|
19
|
+
ContractClassPublic,
|
|
20
|
+
ContractInstanceWithAddress,
|
|
21
|
+
ExecutablePrivateFunctionWithMembershipProof,
|
|
22
|
+
UnconstrainedFunctionWithMembershipProof,
|
|
23
|
+
} from '@aztec/types/contracts';
|
|
16
24
|
|
|
17
25
|
import { DataRetrieval } from './data_retrieval.js';
|
|
18
26
|
|
|
@@ -20,10 +28,10 @@ import { DataRetrieval } from './data_retrieval.js';
|
|
|
20
28
|
* Represents the latest L1 block processed by the archiver for various objects in L2.
|
|
21
29
|
*/
|
|
22
30
|
export type ArchiverL1SynchPoint = {
|
|
23
|
-
/**
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
|
|
31
|
+
/** Number of the last L1 block that added a new L2 block. */
|
|
32
|
+
blocksSynchedTo: bigint;
|
|
33
|
+
/** Number of the last L1 block that added L1 -> L2 messages from the Inbox. */
|
|
34
|
+
messagesSynchedTo: bigint;
|
|
27
35
|
};
|
|
28
36
|
|
|
29
37
|
/**
|
|
@@ -83,8 +91,8 @@ export interface ArchiverDataStore {
|
|
|
83
91
|
* @returns True if the operation is successful.
|
|
84
92
|
*/
|
|
85
93
|
addLogs(
|
|
86
|
-
encryptedLogs:
|
|
87
|
-
unencryptedLogs:
|
|
94
|
+
encryptedLogs: EncryptedL2BlockL2Logs | undefined,
|
|
95
|
+
unencryptedLogs: UnencryptedL2BlockL2Logs | undefined,
|
|
88
96
|
blockNumber: number,
|
|
89
97
|
): Promise<boolean>;
|
|
90
98
|
|
|
@@ -103,11 +111,12 @@ export interface ArchiverDataStore {
|
|
|
103
111
|
getL1ToL2Messages(blockNumber: bigint): Promise<Fr[]>;
|
|
104
112
|
|
|
105
113
|
/**
|
|
106
|
-
* Gets the L1 to L2 message index in the L1 to L2 message tree
|
|
114
|
+
* Gets the first L1 to L2 message index in the L1 to L2 message tree which is greater than or equal to `startIndex`.
|
|
107
115
|
* @param l1ToL2Message - The L1 to L2 message.
|
|
116
|
+
* @param startIndex - The index to start searching from.
|
|
108
117
|
* @returns The index of the L1 to L2 message in the L1 to L2 message tree (undefined if not found).
|
|
109
118
|
*/
|
|
110
|
-
getL1ToL2MessageIndex(l1ToL2Message: Fr): Promise<bigint | undefined>;
|
|
119
|
+
getL1ToL2MessageIndex(l1ToL2Message: Fr, startIndex: bigint): Promise<bigint | undefined>;
|
|
111
120
|
|
|
112
121
|
/**
|
|
113
122
|
* Gets up to `limit` amount of logs starting from `from`.
|
|
@@ -116,7 +125,11 @@ export interface ArchiverDataStore {
|
|
|
116
125
|
* @param logType - Specifies whether to return encrypted or unencrypted logs.
|
|
117
126
|
* @returns The requested logs.
|
|
118
127
|
*/
|
|
119
|
-
getLogs
|
|
128
|
+
getLogs<TLogType extends LogType>(
|
|
129
|
+
from: number,
|
|
130
|
+
limit: number,
|
|
131
|
+
logType: TLogType,
|
|
132
|
+
): Promise<L2BlockL2Logs<FromLogType<TLogType>>[]>;
|
|
120
133
|
|
|
121
134
|
/**
|
|
122
135
|
* Gets unencrypted logs based on the provided filter.
|
|
@@ -134,7 +147,7 @@ export interface ArchiverDataStore {
|
|
|
134
147
|
/**
|
|
135
148
|
* Gets the synch point of the archiver
|
|
136
149
|
*/
|
|
137
|
-
|
|
150
|
+
getSynchPoint(): Promise<ArchiverL1SynchPoint>;
|
|
138
151
|
|
|
139
152
|
/**
|
|
140
153
|
* Add new contract classes from an L2 block to the store's list.
|
|
@@ -158,6 +171,15 @@ export interface ArchiverDataStore {
|
|
|
158
171
|
*/
|
|
159
172
|
addContractInstances(data: ContractInstanceWithAddress[], blockNumber: number): Promise<boolean>;
|
|
160
173
|
|
|
174
|
+
/**
|
|
175
|
+
* Adds private functions to a contract class.
|
|
176
|
+
*/
|
|
177
|
+
addFunctions(
|
|
178
|
+
contractClassId: Fr,
|
|
179
|
+
privateFunctions: ExecutablePrivateFunctionWithMembershipProof[],
|
|
180
|
+
unconstrainedFunctions: UnconstrainedFunctionWithMembershipProof[],
|
|
181
|
+
): Promise<boolean>;
|
|
182
|
+
|
|
161
183
|
/**
|
|
162
184
|
* Returns a contract instance given its address, or undefined if not exists.
|
|
163
185
|
* @param address - Address of the contract.
|