@aztec/archiver 0.53.0 → 0.55.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 +3 -3
- package/dest/archiver/archiver.d.ts.map +1 -1
- package/dest/archiver/archiver.js +30 -62
- package/dest/archiver/archiver_store.d.ts +4 -4
- package/dest/archiver/archiver_store.d.ts.map +1 -1
- package/dest/archiver/archiver_store_test_suite.js +18 -18
- package/dest/archiver/config.d.ts +4 -0
- package/dest/archiver/config.d.ts.map +1 -1
- package/dest/archiver/config.js +6 -1
- package/dest/archiver/data_retrieval.d.ts +6 -16
- package/dest/archiver/data_retrieval.d.ts.map +1 -1
- package/dest/archiver/data_retrieval.js +10 -35
- package/dest/archiver/eth_log_handlers.d.ts +6 -16
- package/dest/archiver/eth_log_handlers.d.ts.map +1 -1
- package/dest/archiver/eth_log_handlers.js +15 -84
- package/dest/archiver/kv_archiver_store/block_body_store.d.ts +1 -1
- package/dest/archiver/kv_archiver_store/block_body_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/block_body_store.js +2 -2
- package/dest/archiver/kv_archiver_store/block_store.d.ts +1 -1
- package/dest/archiver/kv_archiver_store/block_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/block_store.js +2 -2
- package/dest/archiver/kv_archiver_store/message_store.d.ts +1 -1
- package/dest/archiver/kv_archiver_store/message_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/message_store.js +2 -2
- package/dest/archiver/kv_archiver_store/proven_store.d.ts +1 -1
- package/dest/archiver/kv_archiver_store/proven_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/proven_store.js +2 -2
- package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts.map +1 -1
- package/dest/archiver/memory_archiver_store/memory_archiver_store.js +7 -6
- package/dest/index.d.ts +1 -1
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +3 -3
- package/package.json +10 -10
- package/src/archiver/archiver.ts +47 -91
- package/src/archiver/archiver_store.ts +4 -4
- package/src/archiver/archiver_store_test_suite.ts +17 -17
- package/src/archiver/config.ts +10 -0
- package/src/archiver/data_retrieval.ts +12 -58
- package/src/archiver/eth_log_handlers.ts +17 -117
- package/src/archiver/kv_archiver_store/block_body_store.ts +2 -2
- package/src/archiver/kv_archiver_store/block_store.ts +2 -2
- package/src/archiver/kv_archiver_store/message_store.ts +2 -2
- package/src/archiver/kv_archiver_store/proven_store.ts +2 -2
- package/src/archiver/memory_archiver_store/memory_archiver_store.ts +8 -5
- package/src/index.ts +1 -2
|
@@ -45,10 +45,10 @@ export class MemoryArchiverStore {
|
|
|
45
45
|
this.privateFunctions = new Map();
|
|
46
46
|
this.unconstrainedFunctions = new Map();
|
|
47
47
|
this.contractInstances = new Map();
|
|
48
|
-
this.lastL1BlockNewBlocks =
|
|
49
|
-
this.lastL1BlockNewBlockBodies =
|
|
50
|
-
this.lastL1BlockNewMessages =
|
|
51
|
-
this.lastL1BlockNewProvenLogs =
|
|
48
|
+
this.lastL1BlockNewBlocks = undefined;
|
|
49
|
+
this.lastL1BlockNewBlockBodies = undefined;
|
|
50
|
+
this.lastL1BlockNewMessages = undefined;
|
|
51
|
+
this.lastL1BlockNewProvenLogs = undefined;
|
|
52
52
|
this.lastProvenL2BlockNumber = 0;
|
|
53
53
|
}
|
|
54
54
|
getContractClass(id) {
|
|
@@ -152,7 +152,8 @@ export class MemoryArchiverStore {
|
|
|
152
152
|
* @returns True if the operation is successful.
|
|
153
153
|
*/
|
|
154
154
|
addL1ToL2Messages(messages) {
|
|
155
|
-
if (
|
|
155
|
+
if (typeof this.lastL1BlockNewMessages === 'bigint' &&
|
|
156
|
+
messages.lastProcessedL1BlockNumber <= this.lastL1BlockNewMessages) {
|
|
156
157
|
return Promise.resolve(false);
|
|
157
158
|
}
|
|
158
159
|
this.lastL1BlockNewMessages = messages.lastProcessedL1BlockNumber;
|
|
@@ -354,4 +355,4 @@ export class MemoryArchiverStore {
|
|
|
354
355
|
return Promise.resolve(this.contractArtifacts.get(address.toString()));
|
|
355
356
|
}
|
|
356
357
|
}
|
|
357
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5X2FyY2hpdmVyX3N0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FyY2hpdmVyL21lbW9yeV9hcmNoaXZlcl9zdG9yZS9tZW1vcnlfYXJjaGl2ZXJfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlMLHdCQUF3QixFQU94QixLQUFLLEVBQ0wsT0FBTyxFQUdQLFNBQVMsR0FFVixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQWE5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVqRTs7R0FFRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUF3RDlCO0lBQ0Usa0ZBQWtGO0lBQ2xFLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBekRqQzs7V0FFRztRQUNLLGFBQVEsR0FBMkIsRUFBRSxDQUFDO1FBRTlDOztXQUVHO1FBQ0ssa0JBQWEsR0FBc0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVyRDs7V0FFRztRQUNLLGNBQVMsR0FBZSxFQUFFLENBQUM7UUFFbkM7OztXQUdHO1FBQ0ssOEJBQXlCLEdBQWlDLEVBQUUsQ0FBQztRQUVyRTs7O1dBR0c7UUFDSywwQkFBcUIsR0FBNkIsRUFBRSxDQUFDO1FBRTdEOzs7V0FHRztRQUNLLDRCQUF1QixHQUErQixFQUFFLENBQUM7UUFFakU7O1dBRUc7UUFDSyxtQkFBYyxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUUxQyxzQkFBaUIsR0FBa0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUU3RCxvQkFBZSxHQUFxQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRTlELHFCQUFnQixHQUFnRSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRTFGLDJCQUFzQixHQUE0RCxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRTVGLHNCQUFpQixH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
|
|
358
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5X2FyY2hpdmVyX3N0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FyY2hpdmVyL21lbW9yeV9hcmNoaXZlcl9zdG9yZS9tZW1vcnlfYXJjaGl2ZXJfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlMLHdCQUF3QixFQU94QixLQUFLLEVBQ0wsT0FBTyxFQUdQLFNBQVMsR0FFVixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQWE5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVqRTs7R0FFRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUF3RDlCO0lBQ0Usa0ZBQWtGO0lBQ2xFLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBekRqQzs7V0FFRztRQUNLLGFBQVEsR0FBMkIsRUFBRSxDQUFDO1FBRTlDOztXQUVHO1FBQ0ssa0JBQWEsR0FBc0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVyRDs7V0FFRztRQUNLLGNBQVMsR0FBZSxFQUFFLENBQUM7UUFFbkM7OztXQUdHO1FBQ0ssOEJBQXlCLEdBQWlDLEVBQUUsQ0FBQztRQUVyRTs7O1dBR0c7UUFDSywwQkFBcUIsR0FBNkIsRUFBRSxDQUFDO1FBRTdEOzs7V0FHRztRQUNLLDRCQUF1QixHQUErQixFQUFFLENBQUM7UUFFakU7O1dBRUc7UUFDSyxtQkFBYyxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUUxQyxzQkFBaUIsR0FBa0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUU3RCxvQkFBZSxHQUFxQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRTlELHFCQUFnQixHQUFnRSxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRTFGLDJCQUFzQixHQUE0RCxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRTVGLHNCQUFpQixH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
|
package/dest/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export * from './archiver/index.js';
|
|
2
2
|
export * from './rpc/index.js';
|
|
3
3
|
export * from './factory.js';
|
|
4
|
-
export { retrieveL2ProofVerifiedEvents,
|
|
4
|
+
export { retrieveL2ProofVerifiedEvents, retrieveBlockFromRollup } from './archiver/data_retrieval.js';
|
|
5
5
|
export { getL2BlockProposedLogs } from './archiver/eth_log_handlers.js';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dest/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAE,6BAA6B,EAAE
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAE7B,OAAO,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEtG,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC"}
|
package/dest/index.js
CHANGED
|
@@ -9,7 +9,7 @@ import { MemoryArchiverStore } from './archiver/memory_archiver_store/memory_arc
|
|
|
9
9
|
export * from './archiver/index.js';
|
|
10
10
|
export * from './rpc/index.js';
|
|
11
11
|
export * from './factory.js';
|
|
12
|
-
export { retrieveL2ProofVerifiedEvents,
|
|
12
|
+
export { retrieveL2ProofVerifiedEvents, retrieveBlockFromRollup } from './archiver/data_retrieval.js';
|
|
13
13
|
export { getL2BlockProposedLogs } from './archiver/eth_log_handlers.js';
|
|
14
14
|
const log = createDebugLogger('aztec:archiver');
|
|
15
15
|
/**
|
|
@@ -24,7 +24,7 @@ async function main() {
|
|
|
24
24
|
transport: http(rpcUrl),
|
|
25
25
|
});
|
|
26
26
|
const archiverStore = new MemoryArchiverStore(1000);
|
|
27
|
-
const archiver = new Archiver(publicClient, l1Contracts.rollupAddress, l1Contracts.
|
|
27
|
+
const archiver = new Archiver(publicClient, l1Contracts.rollupAddress, l1Contracts.inboxAddress, l1Contracts.registryAddress, archiverStore, 1000, new ArchiverInstrumentation(new NoopTelemetryClient()));
|
|
28
28
|
const shutdown = async () => {
|
|
29
29
|
await archiver.stop();
|
|
30
30
|
process.exit(0);
|
|
@@ -40,4 +40,4 @@ if (process.argv[1] === fileURLToPath(import.meta.url).replace(/\/index\.js$/, '
|
|
|
40
40
|
process.exit(1);
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV4QyxPQUFPLEVBQUUsUUFBUSxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFFaEcsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXRHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXhFLE1BQU0sR0FBRyxHQUFHLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFFaEQ7O0dBRUc7QUFDSCx5Q0FBeUM7QUFDekMsS0FBSyxVQUFVLElBQUk7SUFDakIsTUFBTSxNQUFNLEdBQUcsd0JBQXdCLEVBQUUsQ0FBQztJQUMxQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFakQsTUFBTSxZQUFZLEdBQUcsa0JBQWtCLENBQUM7UUFDdEMsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUM7S0FDeEIsQ0FBQyxDQUFDO0lBRUgsTUFBTSxhQUFhLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVwRCxNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsQ0FDM0IsWUFBWSxFQUNaLFdBQVcsQ0FBQyxhQUFhLEVBQ3pCLFdBQVcsQ0FBQyxZQUFZLEVBQ3hCLFdBQVcsQ0FBQyxlQUFlLEVBQzNCLGFBQWEsRUFDYixJQUFJLEVBQ0osSUFBSSx1QkFBdUIsQ0FBQyxJQUFJLG1CQUFtQixFQUFFLENBQUMsQ0FDdkQsQ0FBQztJQUVGLE1BQU0sUUFBUSxHQUFHLEtBQUssSUFBSSxFQUFFO1FBQzFCLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQyxDQUFDO0lBQ0YsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDakMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDcEMsQ0FBQztBQUVELGlFQUFpRTtBQUNqRSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ25GLG1FQUFtRTtJQUNuRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDakIsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/archiver",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.55.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -61,15 +61,15 @@
|
|
|
61
61
|
]
|
|
62
62
|
},
|
|
63
63
|
"dependencies": {
|
|
64
|
-
"@aztec/circuit-types": "0.
|
|
65
|
-
"@aztec/circuits.js": "0.
|
|
66
|
-
"@aztec/ethereum": "0.
|
|
67
|
-
"@aztec/foundation": "0.
|
|
68
|
-
"@aztec/kv-store": "0.
|
|
69
|
-
"@aztec/l1-artifacts": "0.
|
|
70
|
-
"@aztec/protocol-contracts": "0.
|
|
71
|
-
"@aztec/telemetry-client": "0.
|
|
72
|
-
"@aztec/types": "0.
|
|
64
|
+
"@aztec/circuit-types": "0.55.0",
|
|
65
|
+
"@aztec/circuits.js": "0.55.0",
|
|
66
|
+
"@aztec/ethereum": "0.55.0",
|
|
67
|
+
"@aztec/foundation": "0.55.0",
|
|
68
|
+
"@aztec/kv-store": "0.55.0",
|
|
69
|
+
"@aztec/l1-artifacts": "0.55.0",
|
|
70
|
+
"@aztec/protocol-contracts": "0.55.0",
|
|
71
|
+
"@aztec/telemetry-client": "0.55.0",
|
|
72
|
+
"@aztec/types": "0.55.0",
|
|
73
73
|
"debug": "^4.3.4",
|
|
74
74
|
"lodash.groupby": "^4.6.0",
|
|
75
75
|
"lodash.omit": "^4.5.0",
|
package/src/archiver/archiver.ts
CHANGED
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
type FromLogType,
|
|
3
3
|
type GetUnencryptedLogsResponse,
|
|
4
4
|
type L1ToL2MessageSource,
|
|
5
|
-
L2Block,
|
|
5
|
+
type L2Block,
|
|
6
6
|
type L2BlockL2Logs,
|
|
7
7
|
type L2BlockSource,
|
|
8
8
|
type L2LogsSource,
|
|
@@ -46,16 +46,10 @@ import { type Chain, type HttpTransport, type PublicClient, createPublicClient,
|
|
|
46
46
|
|
|
47
47
|
import { type ArchiverDataStore } from './archiver_store.js';
|
|
48
48
|
import { type ArchiverConfig } from './config.js';
|
|
49
|
-
import {
|
|
50
|
-
retrieveBlockBodiesFromAvailabilityOracle,
|
|
51
|
-
retrieveBlockMetadataFromRollup,
|
|
52
|
-
retrieveL1ToL2Messages,
|
|
53
|
-
retrieveL2ProofVerifiedEvents,
|
|
54
|
-
} from './data_retrieval.js';
|
|
49
|
+
import { retrieveBlockFromRollup, retrieveL1ToL2Messages, retrieveL2ProofVerifiedEvents } from './data_retrieval.js';
|
|
55
50
|
import { getL1BlockTime } from './eth_log_handlers.js';
|
|
56
51
|
import { ArchiverInstrumentation } from './instrumentation.js';
|
|
57
52
|
import { type SingletonDataRetrieval } from './structs/data_retrieval.js';
|
|
58
|
-
import { type L1Published } from './structs/published.js';
|
|
59
53
|
|
|
60
54
|
/**
|
|
61
55
|
* Helper interface to combine all sources this archiver implementation provides.
|
|
@@ -86,12 +80,12 @@ export class Archiver implements ArchiveSource {
|
|
|
86
80
|
constructor(
|
|
87
81
|
private readonly publicClient: PublicClient<HttpTransport, Chain>,
|
|
88
82
|
private readonly rollupAddress: EthAddress,
|
|
89
|
-
private readonly availabilityOracleAddress: EthAddress,
|
|
90
83
|
private readonly inboxAddress: EthAddress,
|
|
91
84
|
private readonly registryAddress: EthAddress,
|
|
92
85
|
private readonly store: ArchiverDataStore,
|
|
93
86
|
private readonly pollingIntervalMs = 10_000,
|
|
94
87
|
private readonly instrumentation: ArchiverInstrumentation,
|
|
88
|
+
private readonly l1StartBlock: bigint = 0n,
|
|
95
89
|
private readonly log: DebugLogger = createDebugLogger('aztec:archiver'),
|
|
96
90
|
) {}
|
|
97
91
|
|
|
@@ -118,12 +112,12 @@ export class Archiver implements ArchiveSource {
|
|
|
118
112
|
const archiver = new Archiver(
|
|
119
113
|
publicClient,
|
|
120
114
|
config.l1Contracts.rollupAddress,
|
|
121
|
-
config.l1Contracts.availabilityOracleAddress,
|
|
122
115
|
config.l1Contracts.inboxAddress,
|
|
123
116
|
config.l1Contracts.registryAddress,
|
|
124
117
|
archiverStore,
|
|
125
118
|
config.archiverPollingIntervalMS,
|
|
126
119
|
new ArchiverInstrumentation(telemetry),
|
|
120
|
+
BigInt(config.archiverL1StartBlock),
|
|
127
121
|
);
|
|
128
122
|
await archiver.start(blockUntilSynced);
|
|
129
123
|
return archiver;
|
|
@@ -175,8 +169,12 @@ export class Archiver implements ArchiveSource {
|
|
|
175
169
|
*
|
|
176
170
|
* This code does not handle reorgs.
|
|
177
171
|
*/
|
|
178
|
-
const {
|
|
179
|
-
|
|
172
|
+
const {
|
|
173
|
+
blockBodiesSynchedTo = this.l1StartBlock,
|
|
174
|
+
blocksSynchedTo = this.l1StartBlock,
|
|
175
|
+
messagesSynchedTo = this.l1StartBlock,
|
|
176
|
+
provenLogsSynchedTo = this.l1StartBlock,
|
|
177
|
+
} = await this.store.getSynchPoint();
|
|
180
178
|
const currentL1BlockNumber = await this.publicClient.getBlockNumber();
|
|
181
179
|
|
|
182
180
|
if (
|
|
@@ -241,72 +239,26 @@ export class Archiver implements ArchiveSource {
|
|
|
241
239
|
// Read all data from chain and then write to our stores at the end
|
|
242
240
|
const nextExpectedL2BlockNum = BigInt((await this.store.getSynchedL2BlockNumber()) + 1);
|
|
243
241
|
|
|
244
|
-
this.log.debug(`Retrieving
|
|
245
|
-
const
|
|
242
|
+
this.log.debug(`Retrieving blocks from ${blocksSynchedTo + 1n} to ${currentL1BlockNumber}`);
|
|
243
|
+
const retrievedBlocks = await retrieveBlockFromRollup(
|
|
246
244
|
this.publicClient,
|
|
247
|
-
this.
|
|
245
|
+
this.rollupAddress,
|
|
248
246
|
blockUntilSynced,
|
|
249
|
-
|
|
247
|
+
blocksSynchedTo + 1n,
|
|
250
248
|
currentL1BlockNumber,
|
|
249
|
+
nextExpectedL2BlockNum,
|
|
251
250
|
);
|
|
252
251
|
|
|
253
|
-
|
|
254
|
-
`Retrieved ${retrievedBlockBodies.retrievedData.length} block bodies up to L1 block ${retrievedBlockBodies.lastProcessedL1BlockNumber}`,
|
|
255
|
-
);
|
|
256
|
-
await this.store.addBlockBodies(retrievedBlockBodies);
|
|
257
|
-
|
|
258
|
-
// Now that we have block bodies we will retrieve block metadata and build L2 blocks from the bodies and the metadata
|
|
259
|
-
let retrievedBlocks: L1Published<L2Block>[];
|
|
260
|
-
let lastProcessedL1BlockNumber: bigint;
|
|
261
|
-
{
|
|
262
|
-
// @todo @LHerskind Investigate how necessary that nextExpectedL2BlockNum really is.
|
|
263
|
-
// Also, I would expect it to break horribly if we have a reorg.
|
|
264
|
-
this.log.debug(`Retrieving block metadata from ${blocksSynchedTo + 1n} to ${currentL1BlockNumber}`);
|
|
265
|
-
const retrievedBlockMetadata = await retrieveBlockMetadataFromRollup(
|
|
266
|
-
this.publicClient,
|
|
267
|
-
this.rollupAddress,
|
|
268
|
-
blockUntilSynced,
|
|
269
|
-
blocksSynchedTo + 1n,
|
|
270
|
-
currentL1BlockNumber,
|
|
271
|
-
nextExpectedL2BlockNum,
|
|
272
|
-
);
|
|
273
|
-
|
|
274
|
-
const retrievedBodyHashes = retrievedBlockMetadata.map(([header]) => header.contentCommitment.txsEffectsHash);
|
|
275
|
-
|
|
276
|
-
// @note @LHerskind We will occasionally be hitting this point BEFORE, we have actually retrieved the bodies.
|
|
277
|
-
// The main reason this have not been an issue earlier is because:
|
|
278
|
-
// i) the design previously published the body in one tx and the header in another,
|
|
279
|
-
// which in an anvil auto mine world mean that they are separate blocks.
|
|
280
|
-
// ii) We have been lucky that latency have been small enough to not matter.
|
|
281
|
-
const blockBodiesFromStore = await this.store.getBlockBodies(retrievedBodyHashes);
|
|
252
|
+
// Add the body
|
|
282
253
|
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
for (let i = 0; i < retrievedBlockMetadata.length; i++) {
|
|
289
|
-
const [header, archive, l1] = retrievedBlockMetadata[i];
|
|
290
|
-
const blockBody = blockBodiesFromStore[i];
|
|
291
|
-
if (blockBody) {
|
|
292
|
-
blocks.push({ data: new L2Block(archive, header, blockBody), l1 });
|
|
293
|
-
} else {
|
|
294
|
-
this.log.warn(`Block body not found for block ${header.globalVariables.blockNumber.toBigInt()}.`);
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
(blocks.length ? this.log.verbose : this.log.debug)(
|
|
299
|
-
`Retrieved ${blocks.length || 'no'} new L2 blocks between L1 blocks ${
|
|
300
|
-
blocksSynchedTo + 1n
|
|
301
|
-
} and ${currentL1BlockNumber}.`,
|
|
302
|
-
);
|
|
254
|
+
(retrievedBlocks.length ? this.log.verbose : this.log.debug)(
|
|
255
|
+
`Retrieved ${retrievedBlocks.length || 'no'} new L2 blocks between L1 blocks ${
|
|
256
|
+
blocksSynchedTo + 1n
|
|
257
|
+
} and ${currentL1BlockNumber}.`,
|
|
258
|
+
);
|
|
303
259
|
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
retrievedBlockMetadata.length > 0
|
|
307
|
-
? retrievedBlockMetadata[retrievedBlockMetadata.length - 1][2].blockNumber
|
|
308
|
-
: blocksSynchedTo;
|
|
309
|
-
}
|
|
260
|
+
const lastProcessedL1BlockNumber =
|
|
261
|
+
retrievedBlocks.length > 0 ? retrievedBlocks[retrievedBlocks.length - 1].l1.blockNumber : blocksSynchedTo;
|
|
310
262
|
|
|
311
263
|
this.log.debug(
|
|
312
264
|
`Processing retrieved blocks ${retrievedBlocks
|
|
@@ -314,29 +266,33 @@ export class Archiver implements ArchiveSource {
|
|
|
314
266
|
.join(',')} with last processed L1 block ${lastProcessedL1BlockNumber}`,
|
|
315
267
|
);
|
|
316
268
|
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
269
|
+
if (retrievedBlocks.length > 0) {
|
|
270
|
+
await Promise.all(
|
|
271
|
+
retrievedBlocks.map(block => {
|
|
272
|
+
const noteEncryptedLogs = block.data.body.noteEncryptedLogs;
|
|
273
|
+
const encryptedLogs = block.data.body.encryptedLogs;
|
|
274
|
+
const unencryptedLogs = block.data.body.unencryptedLogs;
|
|
275
|
+
return this.store.addLogs(noteEncryptedLogs, encryptedLogs, unencryptedLogs, block.data.number);
|
|
276
|
+
}),
|
|
277
|
+
);
|
|
325
278
|
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
279
|
+
// Unroll all logs emitted during the retrieved blocks and extract any contract classes and instances from them
|
|
280
|
+
await Promise.all(
|
|
281
|
+
retrievedBlocks.map(async block => {
|
|
282
|
+
const blockLogs = block.data.body.txEffects
|
|
283
|
+
.flatMap(txEffect => (txEffect ? [txEffect.unencryptedLogs] : []))
|
|
284
|
+
.flatMap(txLog => txLog.unrollLogs());
|
|
285
|
+
await this.storeRegisteredContractClasses(blockLogs, block.data.number);
|
|
286
|
+
await this.storeDeployedContractInstances(blockLogs, block.data.number);
|
|
287
|
+
await this.storeBroadcastedIndividualFunctions(blockLogs, block.data.number);
|
|
288
|
+
}),
|
|
289
|
+
);
|
|
337
290
|
|
|
338
|
-
if (retrievedBlocks.length > 0) {
|
|
339
291
|
const timer = new Timer();
|
|
292
|
+
await this.store.addBlockBodies({
|
|
293
|
+
lastProcessedL1BlockNumber: lastProcessedL1BlockNumber,
|
|
294
|
+
retrievedData: retrievedBlocks.map(b => b.data.body),
|
|
295
|
+
});
|
|
340
296
|
await this.store.addBlocks(retrievedBlocks);
|
|
341
297
|
this.instrumentation.processNewBlocks(
|
|
342
298
|
timer.ms() / retrievedBlocks.length,
|
|
@@ -32,13 +32,13 @@ import { type L1Published } from './structs/published.js';
|
|
|
32
32
|
*/
|
|
33
33
|
export type ArchiverL1SynchPoint = {
|
|
34
34
|
/** Number of the last L1 block that added a new L2 block metadata. */
|
|
35
|
-
blocksSynchedTo
|
|
35
|
+
blocksSynchedTo?: bigint;
|
|
36
36
|
/** Number of the last L1 block that added a new L2 block body. */
|
|
37
|
-
blockBodiesSynchedTo
|
|
37
|
+
blockBodiesSynchedTo?: bigint;
|
|
38
38
|
/** Number of the last L1 block that added L1 -> L2 messages from the Inbox. */
|
|
39
|
-
messagesSynchedTo
|
|
39
|
+
messagesSynchedTo?: bigint;
|
|
40
40
|
/** Number of the last L1 block that added a new proven block. */
|
|
41
|
-
provenLogsSynchedTo
|
|
41
|
+
provenLogsSynchedTo?: bigint;
|
|
42
42
|
};
|
|
43
43
|
|
|
44
44
|
/**
|
|
@@ -97,12 +97,12 @@ export function describeArchiverDataStore(testName: string, getStore: () => Arch
|
|
|
97
97
|
});
|
|
98
98
|
|
|
99
99
|
describe('getSynchPoint', () => {
|
|
100
|
-
it('returns
|
|
100
|
+
it('returns undefined if no blocks have been added', async () => {
|
|
101
101
|
await expect(store.getSynchPoint()).resolves.toEqual({
|
|
102
|
-
blocksSynchedTo:
|
|
103
|
-
messagesSynchedTo:
|
|
104
|
-
blockBodiesSynchedTo:
|
|
105
|
-
provenLogsSynchedTo:
|
|
102
|
+
blocksSynchedTo: undefined,
|
|
103
|
+
messagesSynchedTo: undefined,
|
|
104
|
+
blockBodiesSynchedTo: undefined,
|
|
105
|
+
provenLogsSynchedTo: undefined,
|
|
106
106
|
} satisfies ArchiverL1SynchPoint);
|
|
107
107
|
});
|
|
108
108
|
|
|
@@ -110,19 +110,19 @@ export function describeArchiverDataStore(testName: string, getStore: () => Arch
|
|
|
110
110
|
await store.addBlocks(blocks);
|
|
111
111
|
await expect(store.getSynchPoint()).resolves.toEqual({
|
|
112
112
|
blocksSynchedTo: 19n,
|
|
113
|
-
messagesSynchedTo:
|
|
114
|
-
blockBodiesSynchedTo:
|
|
115
|
-
provenLogsSynchedTo:
|
|
113
|
+
messagesSynchedTo: undefined,
|
|
114
|
+
blockBodiesSynchedTo: undefined,
|
|
115
|
+
provenLogsSynchedTo: undefined,
|
|
116
116
|
} satisfies ArchiverL1SynchPoint);
|
|
117
117
|
});
|
|
118
118
|
|
|
119
119
|
it('returns the L1 block number in which the most recent L2 block body was published', async () => {
|
|
120
120
|
await store.addBlockBodies(blockBodies);
|
|
121
121
|
await expect(store.getSynchPoint()).resolves.toEqual({
|
|
122
|
-
blocksSynchedTo:
|
|
123
|
-
messagesSynchedTo:
|
|
122
|
+
blocksSynchedTo: undefined,
|
|
123
|
+
messagesSynchedTo: undefined,
|
|
124
124
|
blockBodiesSynchedTo: blockBodies.lastProcessedL1BlockNumber,
|
|
125
|
-
provenLogsSynchedTo:
|
|
125
|
+
provenLogsSynchedTo: undefined,
|
|
126
126
|
} satisfies ArchiverL1SynchPoint);
|
|
127
127
|
});
|
|
128
128
|
|
|
@@ -132,19 +132,19 @@ export function describeArchiverDataStore(testName: string, getStore: () => Arch
|
|
|
132
132
|
retrievedData: [new InboxLeaf(0n, 0n, Fr.ZERO)],
|
|
133
133
|
});
|
|
134
134
|
await expect(store.getSynchPoint()).resolves.toEqual({
|
|
135
|
-
blocksSynchedTo:
|
|
135
|
+
blocksSynchedTo: undefined,
|
|
136
136
|
messagesSynchedTo: 1n,
|
|
137
|
-
blockBodiesSynchedTo:
|
|
138
|
-
provenLogsSynchedTo:
|
|
137
|
+
blockBodiesSynchedTo: undefined,
|
|
138
|
+
provenLogsSynchedTo: undefined,
|
|
139
139
|
} satisfies ArchiverL1SynchPoint);
|
|
140
140
|
});
|
|
141
141
|
|
|
142
142
|
it('returns the L1 block number that most recently logged a proven block', async () => {
|
|
143
143
|
await store.setProvenL2BlockNumber({ lastProcessedL1BlockNumber: 3n, retrievedData: 5 });
|
|
144
144
|
await expect(store.getSynchPoint()).resolves.toEqual({
|
|
145
|
-
blocksSynchedTo:
|
|
146
|
-
messagesSynchedTo:
|
|
147
|
-
blockBodiesSynchedTo:
|
|
145
|
+
blocksSynchedTo: undefined,
|
|
146
|
+
messagesSynchedTo: undefined,
|
|
147
|
+
blockBodiesSynchedTo: undefined,
|
|
148
148
|
provenLogsSynchedTo: 3n,
|
|
149
149
|
} satisfies ArchiverL1SynchPoint);
|
|
150
150
|
});
|
package/src/archiver/config.ts
CHANGED
|
@@ -22,6 +22,11 @@ export type ArchiverConfig = {
|
|
|
22
22
|
*/
|
|
23
23
|
archiverPollingIntervalMS?: number;
|
|
24
24
|
|
|
25
|
+
/**
|
|
26
|
+
* The L1 block to start reading from
|
|
27
|
+
*/
|
|
28
|
+
archiverL1StartBlock: number;
|
|
29
|
+
|
|
25
30
|
/**
|
|
26
31
|
* The polling interval viem uses in ms
|
|
27
32
|
*/
|
|
@@ -52,6 +57,11 @@ export const archiverConfigMappings: ConfigMappingsType<ArchiverConfig> = {
|
|
|
52
57
|
description: 'The polling interval in ms for retrieving new L2 blocks and encrypted logs.',
|
|
53
58
|
...numberConfigHelper(1000),
|
|
54
59
|
},
|
|
60
|
+
archiverL1StartBlock: {
|
|
61
|
+
env: 'ARCHIVER_L1_START_BLOCK',
|
|
62
|
+
description: 'The L1 block the archiver should start reading logs from',
|
|
63
|
+
...numberConfigHelper(0),
|
|
64
|
+
},
|
|
55
65
|
viemPollingIntervalMS: {
|
|
56
66
|
env: 'ARCHIVER_VIEM_POLLING_INTERVAL_MS',
|
|
57
67
|
description: 'The polling interval viem uses in ms',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import {
|
|
1
|
+
import { type InboxLeaf, type L2Block } from '@aztec/circuit-types';
|
|
2
|
+
import { Fr, type Proof } from '@aztec/circuits.js';
|
|
3
3
|
import { type EthAddress } from '@aztec/foundation/eth-address';
|
|
4
4
|
import { type DebugLogger, createDebugLogger } from '@aztec/foundation/log';
|
|
5
5
|
import { RollupAbi } from '@aztec/l1-artifacts';
|
|
@@ -10,25 +10,23 @@ import {
|
|
|
10
10
|
getBlockProofFromSubmitProofTx,
|
|
11
11
|
getL2BlockProposedLogs,
|
|
12
12
|
getMessageSentLogs,
|
|
13
|
-
getTxsPublishedLogs,
|
|
14
13
|
processL2BlockProposedLogs,
|
|
15
14
|
processMessageSentLogs,
|
|
16
|
-
processTxsPublishedLogs,
|
|
17
15
|
} from './eth_log_handlers.js';
|
|
18
16
|
import { type DataRetrieval } from './structs/data_retrieval.js';
|
|
19
|
-
import { type
|
|
17
|
+
import { type L1Published } from './structs/published.js';
|
|
20
18
|
|
|
21
19
|
/**
|
|
22
|
-
* Fetches new L2
|
|
20
|
+
* Fetches new L2 blocks.
|
|
23
21
|
* @param publicClient - The viem public client to use for transaction retrieval.
|
|
24
22
|
* @param rollupAddress - The address of the rollup contract.
|
|
25
23
|
* @param blockUntilSynced - If true, blocks until the archiver has fully synced.
|
|
26
24
|
* @param searchStartBlock - The block number to use for starting the search.
|
|
27
25
|
* @param searchEndBlock - The highest block number that we should search up to.
|
|
28
26
|
* @param expectedNextL2BlockNum - The next L2 block number that we expect to find.
|
|
29
|
-
* @returns An array of
|
|
27
|
+
* @returns An array of block; as well as the next eth block to search from.
|
|
30
28
|
*/
|
|
31
|
-
export async function
|
|
29
|
+
export async function retrieveBlockFromRollup(
|
|
32
30
|
publicClient: PublicClient,
|
|
33
31
|
rollupAddress: EthAddress,
|
|
34
32
|
blockUntilSynced: boolean,
|
|
@@ -36,8 +34,8 @@ export async function retrieveBlockMetadataFromRollup(
|
|
|
36
34
|
searchEndBlock: bigint,
|
|
37
35
|
expectedNextL2BlockNum: bigint,
|
|
38
36
|
logger: DebugLogger = createDebugLogger('aztec:archiver'),
|
|
39
|
-
): Promise<[
|
|
40
|
-
const
|
|
37
|
+
): Promise<L1Published<L2Block>[]> {
|
|
38
|
+
const retrievedBlocks: L1Published<L2Block>[] = [];
|
|
41
39
|
do {
|
|
42
40
|
if (searchStartBlock > searchEndBlock) {
|
|
43
41
|
break;
|
|
@@ -57,56 +55,12 @@ export async function retrieveBlockMetadataFromRollup(
|
|
|
57
55
|
`Got L2 block processed logs for ${L2BlockProposedLogs[0].blockNumber}-${lastLog.blockNumber} between ${searchStartBlock}-${searchEndBlock} L1 blocks`,
|
|
58
56
|
);
|
|
59
57
|
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
expectedNextL2BlockNum,
|
|
63
|
-
L2BlockProposedLogs,
|
|
64
|
-
);
|
|
65
|
-
retrievedBlockMetadata.push(...newBlockMetadata);
|
|
58
|
+
const newBlocks = await processL2BlockProposedLogs(publicClient, expectedNextL2BlockNum, L2BlockProposedLogs);
|
|
59
|
+
retrievedBlocks.push(...newBlocks);
|
|
66
60
|
searchStartBlock = lastLog.blockNumber! + 1n;
|
|
67
|
-
expectedNextL2BlockNum += BigInt(
|
|
68
|
-
} while (blockUntilSynced && searchStartBlock <= searchEndBlock);
|
|
69
|
-
return retrievedBlockMetadata;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Fetches new L2 block bodies and their hashes.
|
|
74
|
-
* @param publicClient - The viem public client to use for transaction retrieval.
|
|
75
|
-
* @param availabilityOracleAddress - The address of the availability oracle contract.
|
|
76
|
-
* @param blockUntilSynced - If true, blocks until the archiver has fully synced.
|
|
77
|
-
* @param searchStartBlock - The block number to use for starting the search.
|
|
78
|
-
* @param searchEndBlock - The highest block number that we should search up to.
|
|
79
|
-
* @returns A array of L2 block bodies as well as the next eth block to search from
|
|
80
|
-
*/
|
|
81
|
-
export async function retrieveBlockBodiesFromAvailabilityOracle(
|
|
82
|
-
publicClient: PublicClient,
|
|
83
|
-
availabilityOracleAddress: EthAddress,
|
|
84
|
-
blockUntilSynced: boolean,
|
|
85
|
-
searchStartBlock: bigint,
|
|
86
|
-
searchEndBlock: bigint,
|
|
87
|
-
): Promise<DataRetrieval<Body>> {
|
|
88
|
-
const retrievedBlockBodies: Body[] = [];
|
|
89
|
-
|
|
90
|
-
do {
|
|
91
|
-
if (searchStartBlock > searchEndBlock) {
|
|
92
|
-
break;
|
|
93
|
-
}
|
|
94
|
-
const l2TxsPublishedLogs = await getTxsPublishedLogs(
|
|
95
|
-
publicClient,
|
|
96
|
-
availabilityOracleAddress,
|
|
97
|
-
searchStartBlock,
|
|
98
|
-
searchEndBlock,
|
|
99
|
-
);
|
|
100
|
-
if (l2TxsPublishedLogs.length === 0) {
|
|
101
|
-
break;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
const newBlockBodies = await processTxsPublishedLogs(publicClient, l2TxsPublishedLogs);
|
|
105
|
-
retrievedBlockBodies.push(...newBlockBodies.map(([body]) => body));
|
|
106
|
-
searchStartBlock = l2TxsPublishedLogs[l2TxsPublishedLogs.length - 1].blockNumber + 1n;
|
|
61
|
+
expectedNextL2BlockNum += BigInt(newBlocks.length);
|
|
107
62
|
} while (blockUntilSynced && searchStartBlock <= searchEndBlock);
|
|
108
|
-
|
|
109
|
-
return { lastProcessedL1BlockNumber: searchStartBlock - 1n, retrievedData: retrievedBlockBodies };
|
|
63
|
+
return retrievedBlocks;
|
|
110
64
|
}
|
|
111
65
|
|
|
112
66
|
/**
|