@aztec/archiver 0.71.0 → 0.73.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 +6 -6
- package/dest/archiver/archiver.d.ts.map +1 -1
- package/dest/archiver/archiver.js +35 -20
- package/dest/archiver/archiver_store.d.ts +6 -6
- package/dest/archiver/archiver_store.d.ts.map +1 -1
- package/dest/archiver/archiver_store_test_suite.d.ts +1 -1
- package/dest/archiver/archiver_store_test_suite.d.ts.map +1 -1
- package/dest/archiver/archiver_store_test_suite.js +103 -65
- package/dest/archiver/config.d.ts +2 -2
- package/dest/archiver/config.d.ts.map +1 -1
- package/dest/archiver/config.js +5 -5
- package/dest/archiver/data_retrieval.d.ts +3 -2
- package/dest/archiver/data_retrieval.d.ts.map +1 -1
- package/dest/archiver/data_retrieval.js +69 -16
- package/dest/archiver/errors.d.ts +4 -0
- package/dest/archiver/errors.d.ts.map +1 -0
- package/dest/archiver/errors.js +6 -0
- package/dest/archiver/kv_archiver_store/block_store.d.ts +16 -16
- package/dest/archiver/kv_archiver_store/block_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/block_store.js +53 -53
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts +5 -5
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/contract_class_store.js +13 -12
- package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts +3 -3
- package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/contract_instance_store.js +3 -3
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts +7 -11
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/kv_archiver_store.js +41 -63
- package/dest/archiver/kv_archiver_store/log_store.d.ts +8 -8
- package/dest/archiver/kv_archiver_store/log_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/log_store.js +122 -89
- package/dest/archiver/kv_archiver_store/message_store.d.ts +6 -6
- package/dest/archiver/kv_archiver_store/message_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/message_store.js +16 -16
- package/dest/archiver/kv_archiver_store/nullifier_store.d.ts +2 -2
- package/dest/archiver/kv_archiver_store/nullifier_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/nullifier_store.js +31 -22
- package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts +9 -9
- package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts.map +1 -1
- package/dest/archiver/memory_archiver_store/memory_archiver_store.js +72 -71
- package/dest/factory.js +8 -8
- package/dest/rpc/index.d.ts +1 -1
- package/dest/rpc/index.d.ts.map +1 -1
- package/dest/rpc/index.js +5 -5
- package/dest/test/mock_archiver.d.ts +1 -1
- package/dest/test/mock_archiver.d.ts.map +1 -1
- package/dest/test/mock_archiver.js +2 -1
- package/dest/test/mock_l2_block_source.d.ts +3 -3
- package/dest/test/mock_l2_block_source.d.ts.map +1 -1
- package/dest/test/mock_l2_block_source.js +14 -11
- package/package.json +13 -13
- package/src/archiver/archiver.ts +46 -25
- package/src/archiver/archiver_store.ts +6 -5
- package/src/archiver/archiver_store_test_suite.ts +113 -77
- package/src/archiver/config.ts +6 -6
- package/src/archiver/data_retrieval.ts +94 -12
- package/src/archiver/errors.ts +5 -0
- package/src/archiver/kv_archiver_store/block_store.ts +66 -67
- package/src/archiver/kv_archiver_store/contract_class_store.ts +17 -15
- package/src/archiver/kv_archiver_store/contract_instance_store.ts +5 -5
- package/src/archiver/kv_archiver_store/kv_archiver_store.ts +48 -66
- package/src/archiver/kv_archiver_store/log_store.ts +167 -112
- package/src/archiver/kv_archiver_store/message_store.ts +22 -22
- package/src/archiver/kv_archiver_store/nullifier_store.ts +48 -30
- package/src/archiver/memory_archiver_store/memory_archiver_store.ts +100 -96
- package/src/factory.ts +11 -9
- package/src/rpc/index.ts +4 -4
- package/src/test/mock_archiver.ts +1 -0
- package/src/test/mock_l2_block_source.ts +20 -18
package/dest/factory.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { computePublicBytecodeCommitment, getContractClassFromArtifact, } from '@aztec/circuits.js';
|
|
2
2
|
import { FunctionType, decodeFunctionSignature } from '@aztec/foundation/abi';
|
|
3
3
|
import { createLogger } from '@aztec/foundation/log';
|
|
4
|
-
import { createStore } from '@aztec/kv-store/lmdb';
|
|
4
|
+
import { createStore } from '@aztec/kv-store/lmdb-v2';
|
|
5
5
|
import { TokenContractArtifact } from '@aztec/noir-contracts.js/Token';
|
|
6
6
|
import { TokenBridgeContractArtifact } from '@aztec/noir-contracts.js/TokenBridge';
|
|
7
7
|
import { protocolContractNames } from '@aztec/protocol-contracts';
|
|
@@ -25,7 +25,7 @@ export async function createArchiver(config, blobSinkClient, opts = { blockUntil
|
|
|
25
25
|
async function registerProtocolContracts(store) {
|
|
26
26
|
const blockNumber = 0;
|
|
27
27
|
for (const name of protocolContractNames) {
|
|
28
|
-
const contract = getCanonicalProtocolContract(name);
|
|
28
|
+
const contract = await getCanonicalProtocolContract(name);
|
|
29
29
|
const contractClassPublic = {
|
|
30
30
|
...contract.contractClass,
|
|
31
31
|
privateFunctions: [],
|
|
@@ -35,7 +35,7 @@ async function registerProtocolContracts(store) {
|
|
|
35
35
|
.filter(fn => fn.functionType === FunctionType.PUBLIC)
|
|
36
36
|
.map(fn => decodeFunctionSignature(fn.name, fn.parameters));
|
|
37
37
|
await store.registerContractFunctionSignatures(contract.address, publicFunctionSignatures);
|
|
38
|
-
const bytecodeCommitment = computePublicBytecodeCommitment(contractClassPublic.packedBytecode);
|
|
38
|
+
const bytecodeCommitment = await computePublicBytecodeCommitment(contractClassPublic.packedBytecode);
|
|
39
39
|
await store.addContractClasses([contractClassPublic], [bytecodeCommitment], blockNumber);
|
|
40
40
|
await store.addContractInstances([contract.instance], blockNumber);
|
|
41
41
|
}
|
|
@@ -48,12 +48,12 @@ async function registerProtocolContracts(store) {
|
|
|
48
48
|
async function registerCommonContracts(store) {
|
|
49
49
|
const blockNumber = 0;
|
|
50
50
|
const artifacts = [TokenBridgeContractArtifact, TokenContractArtifact];
|
|
51
|
-
const classes = artifacts.map(artifact => ({
|
|
52
|
-
...getContractClassFromArtifact(artifact),
|
|
51
|
+
const classes = await Promise.all(artifacts.map(async (artifact) => ({
|
|
52
|
+
...(await getContractClassFromArtifact(artifact)),
|
|
53
53
|
privateFunctions: [],
|
|
54
54
|
unconstrainedFunctions: [],
|
|
55
|
-
}));
|
|
56
|
-
const bytecodeCommitments = classes.map(x => computePublicBytecodeCommitment(x.packedBytecode));
|
|
55
|
+
})));
|
|
56
|
+
const bytecodeCommitments = await Promise.all(classes.map(x => computePublicBytecodeCommitment(x.packedBytecode)));
|
|
57
57
|
await store.addContractClasses(classes, bytecodeCommitments, blockNumber);
|
|
58
58
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFFTCwrQkFBK0IsRUFDL0IsNEJBQTRCLEdBQzdCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLFlBQVksRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEYsT0FBTyxFQUF3QixrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRW5GLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxNQUFNLENBQUMsS0FBSyxVQUFVLGNBQWMsQ0FDbEMsTUFBd0MsRUFDeEMsY0FBdUMsRUFDdkMsT0FBb0MsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLEVBQzVELFlBQTZCLGtCQUFrQixFQUFFO0lBRWpELElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDeEIsTUFBTSxLQUFLLEdBQUcsTUFBTSxXQUFXLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxZQUFZLENBQUMsZUFBZSxDQUFDLENBQUMs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
|
package/dest/rpc/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { type ArchiverApi } from '@aztec/circuit-types';
|
|
2
|
-
export declare function createArchiverClient(url: string, fetch?: (host: string, rpcMethod: string, body: any, useApiEndpoints: boolean, noRetry?: boolean | undefined) => Promise<any>): ArchiverApi;
|
|
2
|
+
export declare function createArchiverClient(url: string, fetch?: (host: string, rpcMethod: string, body: any, useApiEndpoints: boolean, extraHeaders?: Record<string, string> | undefined, noRetry?: boolean | undefined) => Promise<any>): ArchiverApi;
|
|
3
3
|
export declare function createArchiverRpcServer(handler: ArchiverApi): import("@aztec/foundation/json-rpc/server").SafeJsonRpcServer;
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dest/rpc/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rpc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,sBAAsB,CAAC;AAI3E,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rpc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,sBAAsB,CAAC;AAI3E,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,2KAAmC,GAAG,WAAW,CAEvG;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,WAAW,iEAE3D"}
|
package/dest/rpc/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { ArchiverApiSchema } from '@aztec/circuit-types';
|
|
2
|
-
import { createSafeJsonRpcClient
|
|
3
|
-
import {
|
|
4
|
-
export function createArchiverClient(url, fetch =
|
|
2
|
+
import { createSafeJsonRpcClient } from '@aztec/foundation/json-rpc/client';
|
|
3
|
+
import { createTracedJsonRpcServer, makeTracedFetch } from '@aztec/telemetry-client';
|
|
4
|
+
export function createArchiverClient(url, fetch = makeTracedFetch([1, 2, 3], true)) {
|
|
5
5
|
return createSafeJsonRpcClient(url, ArchiverApiSchema, false, 'archiver', fetch);
|
|
6
6
|
}
|
|
7
7
|
export function createArchiverRpcServer(handler) {
|
|
8
|
-
return
|
|
8
|
+
return createTracedJsonRpcServer(handler, ArchiverApiSchema);
|
|
9
9
|
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnBjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFckYsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEdBQVcsRUFBRSxLQUFLLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUM7SUFDeEYsT0FBTyx1QkFBdUIsQ0FBYyxHQUFHLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNoRyxDQUFDO0FBRUQsTUFBTSxVQUFVLHVCQUF1QixDQUFDLE9BQW9CO0lBQzFELE9BQU8seUJBQXlCLENBQUMsT0FBTyxFQUFFLGlCQUFpQixDQUFDLENBQUM7QUFDL0QsQ0FBQyJ9
|
|
@@ -17,6 +17,6 @@ export declare class MockPrefilledArchiver extends MockArchiver {
|
|
|
17
17
|
private precomputed;
|
|
18
18
|
constructor(precomputed: L2Block[], messages: Fr[][]);
|
|
19
19
|
setPrefilledBlocks(blocks: L2Block[], messages: Fr[][]): void;
|
|
20
|
-
createBlocks(numBlocks: number): void
|
|
20
|
+
createBlocks(numBlocks: number): Promise<void>;
|
|
21
21
|
}
|
|
22
22
|
//# sourceMappingURL=mock_archiver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock_archiver.d.ts","sourceRoot":"","sources":["../../src/test/mock_archiver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAG7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;GAEG;AACH,qBAAa,YAAa,SAAQ,iBAAkB,YAAW,aAAa,EAAE,mBAAmB;IAC/F,OAAO,CAAC,aAAa,CAAkC;IAEhD,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;IAIxD,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;IAIrD,qBAAqB,CAAC,cAAc,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAGvE;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,YAAY;IACrD,OAAO,CAAC,WAAW,CAAY;gBAEnB,WAAW,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE;IAM7C,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE;IAO7C,YAAY,CAAC,SAAS,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"mock_archiver.d.ts","sourceRoot":"","sources":["../../src/test/mock_archiver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAG7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;GAEG;AACH,qBAAa,YAAa,SAAQ,iBAAkB,YAAW,aAAa,EAAE,mBAAmB;IAC/F,OAAO,CAAC,aAAa,CAAkC;IAEhD,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;IAIxD,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;IAIrD,qBAAqB,CAAC,cAAc,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAGvE;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,YAAY;IACrD,OAAO,CAAC,WAAW,CAAY;gBAEnB,WAAW,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE;IAM7C,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE;IAO7C,YAAY,CAAC,SAAS,EAAE,MAAM;CAW/C"}
|
|
@@ -39,6 +39,7 @@ export class MockPrefilledArchiver extends MockArchiver {
|
|
|
39
39
|
}
|
|
40
40
|
const fromBlock = this.l2Blocks.length;
|
|
41
41
|
this.addBlocks(this.precomputed.slice(fromBlock, fromBlock + numBlocks));
|
|
42
|
+
return Promise.resolve();
|
|
42
43
|
}
|
|
43
44
|
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19hcmNoaXZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L21vY2tfYXJjaGl2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDNUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFOUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sWUFBYSxTQUFRLGlCQUFpQjtJQUFuRDs7UUFDVSxrQkFBYSxHQUFHLElBQUksdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFhekQsQ0FBQztJQVhRLGlCQUFpQixDQUFDLFdBQW1CLEVBQUUsSUFBVTtRQUN0RCxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsV0FBbUI7UUFDbkMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxjQUFrQjtRQUN0QyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEUsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsWUFBWTtJQUdyRCxZQUFZLFdBQXNCLEVBQUUsUUFBZ0I7UUFDbEQsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN2QyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRU0sa0JBQWtCLENBQUMsTUFBaUIsRUFBRSxRQUFnQjtRQUMzRCxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDN0MsQ0FBQztRQUNELFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFZSxZQUFZLENBQUMsU0FBaUI7UUFDNUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMvRCxNQUFNLElBQUksS0FBSyxDQUNiLDJDQUEyQyxTQUFTLDRCQUE0QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUN4RyxDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLFNBQVMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3pFLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7Q0FDRiJ9
|
|
@@ -8,7 +8,7 @@ export declare class MockL2BlockSource implements L2BlockSource {
|
|
|
8
8
|
private provenEpochNumber;
|
|
9
9
|
private provenBlockNumber;
|
|
10
10
|
private log;
|
|
11
|
-
createBlocks(numBlocks: number): void
|
|
11
|
+
createBlocks(numBlocks: number): Promise<void>;
|
|
12
12
|
addBlocks(blocks: L2Block[]): void;
|
|
13
13
|
removeBlocks(numBlocks: number): void;
|
|
14
14
|
setProvenBlockNumber(provenBlockNumber: number): void;
|
|
@@ -50,11 +50,11 @@ export declare class MockL2BlockSource implements L2BlockSource {
|
|
|
50
50
|
* @param txHash - The hash of a transaction which resulted in the returned tx effect.
|
|
51
51
|
* @returns The requested tx effect.
|
|
52
52
|
*/
|
|
53
|
-
getTxEffect(txHash: TxHash): Promise<
|
|
53
|
+
getTxEffect(txHash: TxHash): Promise<{
|
|
54
54
|
data: import("@aztec/circuit-types").TxEffect;
|
|
55
55
|
l2BlockNumber: number;
|
|
56
56
|
l2BlockHash: `0x${string}`;
|
|
57
|
-
}>;
|
|
57
|
+
} | undefined>;
|
|
58
58
|
/**
|
|
59
59
|
* Gets a receipt of a settled tx.
|
|
60
60
|
* @param txHash - The hash of a tx we try to get the receipt for.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock_l2_block_source.d.ts","sourceRoot":"","sources":["../../src/test/mock_l2_block_source.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EACtB,OAAO,EAEP,KAAK,aAAa,EAClB,KAAK,MAAM,EACX,KAAK,MAAM,EACX,SAAS,EAGV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIlE;;GAEG;AACH,qBAAa,iBAAkB,YAAW,aAAa;IACrD,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAM;IAEnC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,iBAAiB,CAAa;IAEtC,OAAO,CAAC,GAAG,CAAiD;
|
|
1
|
+
{"version":3,"file":"mock_l2_block_source.d.ts","sourceRoot":"","sources":["../../src/test/mock_l2_block_source.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EACtB,OAAO,EAEP,KAAK,aAAa,EAClB,KAAK,MAAM,EACX,KAAK,MAAM,EACX,SAAS,EAGV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIlE;;GAEG;AACH,qBAAa,iBAAkB,YAAW,aAAa;IACrD,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAM;IAEnC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,iBAAiB,CAAa;IAEtC,OAAO,CAAC,GAAG,CAAiD;IAE/C,YAAY,CAAC,SAAS,EAAE,MAAM;IAUpC,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE;IAK3B,YAAY,CAAC,SAAS,EAAE,MAAM;IAK9B,oBAAoB,CAAC,iBAAiB,EAAE,MAAM;IAI9C,oBAAoB,CAAC,iBAAiB,EAAE,MAAM;IAIrD;;;OAGG;IACH,gBAAgB,IAAI,OAAO,CAAC,UAAU,CAAC;IAIvC;;;OAGG;IACH,kBAAkB,IAAI,OAAO,CAAC,UAAU,CAAC;IAIzC;;;OAGG;IACI,cAAc;IAId,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIvC,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAI5D;;;;OAIG;IACI,QAAQ,CAAC,MAAM,EAAE,MAAM;IAI9B;;;;;OAKG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO;IAQ9D,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;IAI3E,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAU1D;;;;OAIG;IACU,WAAW,CAAC,MAAM,EAAE,MAAM;;;;;IAWvC;;;;OAIG;IACU,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAkB1E,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAkBlC,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAIlC,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvD,cAAc,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAI5C;;;OAGG;IACI,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7B;;;OAGG;IACI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
|
|
@@ -12,10 +12,10 @@ export class MockL2BlockSource {
|
|
|
12
12
|
this.provenBlockNumber = 0;
|
|
13
13
|
this.log = createLogger('archiver:mock_l2_block_source');
|
|
14
14
|
}
|
|
15
|
-
createBlocks(numBlocks) {
|
|
15
|
+
async createBlocks(numBlocks) {
|
|
16
16
|
for (let i = 0; i < numBlocks; i++) {
|
|
17
17
|
const blockNum = this.l2Blocks.length + 1;
|
|
18
|
-
const block = L2Block.random(blockNum);
|
|
18
|
+
const block = await L2Block.random(blockNum);
|
|
19
19
|
this.l2Blocks.push(block);
|
|
20
20
|
}
|
|
21
21
|
this.log.verbose(`Created ${numBlocks} blocks in the mock L2 block source`);
|
|
@@ -97,7 +97,7 @@ export class MockL2BlockSource {
|
|
|
97
97
|
* @param txHash - The hash of a transaction which resulted in the returned tx effect.
|
|
98
98
|
* @returns The requested tx effect.
|
|
99
99
|
*/
|
|
100
|
-
getTxEffect(txHash) {
|
|
100
|
+
async getTxEffect(txHash) {
|
|
101
101
|
const match = this.l2Blocks
|
|
102
102
|
.flatMap(b => b.body.txEffects.map(tx => [tx, b]))
|
|
103
103
|
.find(([tx]) => tx.txHash.equals(txHash));
|
|
@@ -105,22 +105,22 @@ export class MockL2BlockSource {
|
|
|
105
105
|
return Promise.resolve(undefined);
|
|
106
106
|
}
|
|
107
107
|
const [txEffect, block] = match;
|
|
108
|
-
return
|
|
108
|
+
return { data: txEffect, l2BlockNumber: block.number, l2BlockHash: (await block.hash()).toString() };
|
|
109
109
|
}
|
|
110
110
|
/**
|
|
111
111
|
* Gets a receipt of a settled tx.
|
|
112
112
|
* @param txHash - The hash of a tx we try to get the receipt for.
|
|
113
113
|
* @returns The requested tx receipt (or undefined if not found).
|
|
114
114
|
*/
|
|
115
|
-
getSettledTxReceipt(txHash) {
|
|
115
|
+
async getSettledTxReceipt(txHash) {
|
|
116
116
|
for (const block of this.l2Blocks) {
|
|
117
117
|
for (const txEffect of block.body.txEffects) {
|
|
118
118
|
if (txEffect.txHash.equals(txHash)) {
|
|
119
|
-
return
|
|
119
|
+
return new TxReceipt(txHash, TxStatus.SUCCESS, '', txEffect.transactionFee.toBigInt(), L2BlockHash.fromField(await block.hash()), block.number);
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
|
-
return
|
|
123
|
+
return undefined;
|
|
124
124
|
}
|
|
125
125
|
async getL2Tips() {
|
|
126
126
|
const [latest, proven, finalized] = [
|
|
@@ -128,10 +128,13 @@ export class MockL2BlockSource {
|
|
|
128
128
|
await this.getProvenBlockNumber(),
|
|
129
129
|
await this.getProvenBlockNumber(),
|
|
130
130
|
];
|
|
131
|
+
const latestBlock = this.l2Blocks[latest - 1];
|
|
132
|
+
const provenBlock = this.l2Blocks[proven - 1];
|
|
133
|
+
const finalizedBlock = this.l2Blocks[finalized - 1];
|
|
131
134
|
return {
|
|
132
|
-
latest: { number: latest, hash:
|
|
133
|
-
proven: { number: proven, hash:
|
|
134
|
-
finalized: { number: finalized, hash:
|
|
135
|
+
latest: { number: latest, hash: (await latestBlock?.hash())?.toString() },
|
|
136
|
+
proven: { number: proven, hash: (await provenBlock?.hash())?.toString() },
|
|
137
|
+
finalized: { number: finalized, hash: (await finalizedBlock?.hash())?.toString() },
|
|
135
138
|
};
|
|
136
139
|
}
|
|
137
140
|
getL2EpochNumber() {
|
|
@@ -161,4 +164,4 @@ export class MockL2BlockSource {
|
|
|
161
164
|
return Promise.resolve();
|
|
162
165
|
}
|
|
163
166
|
}
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19sMl9ibG9ja19zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC9tb2NrX2wyX2Jsb2NrX3NvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsT0FBTyxFQUNQLFdBQVcsRUFJWCxTQUFTLEVBQ1QsUUFBUSxFQUNSLG9CQUFvQixHQUNyQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBb0IsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUE5QjtRQUNZLGFBQVEsR0FBYyxFQUFFLENBQUM7UUFFM0Isc0JBQWlCLEdBQVcsQ0FBQyxDQUFDO1FBQzlCLHNCQUFpQixHQUFXLENBQUMsQ0FBQztRQUU5QixRQUFHLEdBQUcsWUFBWSxDQUFDLCtCQUErQixDQUFDLENBQUM7SUEyTDlELENBQUM7SUF6TFEsS0FBSyxDQUFDLFlBQVksQ0FBQyxTQUFpQjtRQUN6QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDbkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQzFDLE1BQU0sS0FBSyxHQUFHLE1BQU0sT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM3QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBRUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxTQUFTLHFDQUFxQyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVN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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/archiver",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.73.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -64,23 +64,23 @@
|
|
|
64
64
|
]
|
|
65
65
|
},
|
|
66
66
|
"dependencies": {
|
|
67
|
-
"@aztec/blob-sink": "0.
|
|
68
|
-
"@aztec/circuit-types": "0.
|
|
69
|
-
"@aztec/circuits.js": "0.
|
|
70
|
-
"@aztec/ethereum": "0.
|
|
71
|
-
"@aztec/foundation": "0.
|
|
72
|
-
"@aztec/kv-store": "0.
|
|
73
|
-
"@aztec/l1-artifacts": "0.
|
|
74
|
-
"@aztec/noir-contracts.js": "0.
|
|
75
|
-
"@aztec/protocol-contracts": "0.
|
|
76
|
-
"@aztec/telemetry-client": "0.
|
|
77
|
-
"@aztec/types": "0.
|
|
67
|
+
"@aztec/blob-sink": "0.73.0",
|
|
68
|
+
"@aztec/circuit-types": "0.73.0",
|
|
69
|
+
"@aztec/circuits.js": "0.73.0",
|
|
70
|
+
"@aztec/ethereum": "0.73.0",
|
|
71
|
+
"@aztec/foundation": "0.73.0",
|
|
72
|
+
"@aztec/kv-store": "0.73.0",
|
|
73
|
+
"@aztec/l1-artifacts": "0.73.0",
|
|
74
|
+
"@aztec/noir-contracts.js": "0.73.0",
|
|
75
|
+
"@aztec/protocol-contracts": "0.73.0",
|
|
76
|
+
"@aztec/telemetry-client": "0.73.0",
|
|
77
|
+
"@aztec/types": "0.73.0",
|
|
78
78
|
"debug": "^4.3.4",
|
|
79
79
|
"lodash.groupby": "^4.6.0",
|
|
80
80
|
"lodash.omit": "^4.5.0",
|
|
81
81
|
"tsc-watch": "^6.0.0",
|
|
82
82
|
"tslib": "^2.5.0",
|
|
83
|
-
"viem": "
|
|
83
|
+
"viem": "2.22.8",
|
|
84
84
|
"ws": "^8.13.0"
|
|
85
85
|
},
|
|
86
86
|
"devDependencies": {
|
package/src/archiver/archiver.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type BlobSinkClientInterface } from '@aztec/blob-sink/client';
|
|
2
2
|
import {
|
|
3
|
-
type
|
|
3
|
+
type GetContractClassLogsResponse,
|
|
4
|
+
type GetPublicLogsResponse,
|
|
4
5
|
type InBlock,
|
|
5
6
|
type InboxLeaf,
|
|
6
7
|
type L1RollupConstants,
|
|
@@ -67,6 +68,7 @@ import {
|
|
|
67
68
|
import { type ArchiverDataStore, type ArchiverL1SynchPoint } from './archiver_store.js';
|
|
68
69
|
import { type ArchiverConfig } from './config.js';
|
|
69
70
|
import { retrieveBlocksFromRollup, retrieveL1ToL2Messages } from './data_retrieval.js';
|
|
71
|
+
import { NoBlobBodiesFoundError } from './errors.js';
|
|
70
72
|
import { ArchiverInstrumentation } from './instrumentation.js';
|
|
71
73
|
import { type DataRetrieval } from './structs/data_retrieval.js';
|
|
72
74
|
import { type L1Published } from './structs/published.js';
|
|
@@ -116,7 +118,7 @@ export class Archiver implements ArchiveSource, Traceable {
|
|
|
116
118
|
private readonly l1Addresses: { rollupAddress: EthAddress; inboxAddress: EthAddress; registryAddress: EthAddress },
|
|
117
119
|
readonly dataStore: ArchiverDataStore,
|
|
118
120
|
private readonly config: { pollingIntervalMs: number; batchSize: number },
|
|
119
|
-
private readonly
|
|
121
|
+
private readonly blobSinkClient: BlobSinkClientInterface,
|
|
120
122
|
private readonly instrumentation: ArchiverInstrumentation,
|
|
121
123
|
private readonly l1constants: L1RollupConstants,
|
|
122
124
|
private readonly log: Logger = createLogger('archiver'),
|
|
@@ -199,7 +201,12 @@ export class Archiver implements ArchiveSource, Traceable {
|
|
|
199
201
|
await this.sync(blockUntilSynced);
|
|
200
202
|
}
|
|
201
203
|
|
|
202
|
-
this.runningPromise = new RunningPromise(() => this.sync(false), this.log, this.config.pollingIntervalMs
|
|
204
|
+
this.runningPromise = new RunningPromise(() => this.sync(false), this.log, this.config.pollingIntervalMs, [
|
|
205
|
+
// Ignored errors will not log to the console
|
|
206
|
+
// We ignore NoBlobBodiesFound as the message may not have been passed to the blob sink yet
|
|
207
|
+
NoBlobBodiesFoundError,
|
|
208
|
+
]);
|
|
209
|
+
|
|
203
210
|
this.runningPromise.start();
|
|
204
211
|
}
|
|
205
212
|
|
|
@@ -469,9 +476,12 @@ export class Archiver implements ArchiveSource, Traceable {
|
|
|
469
476
|
[searchStartBlock, searchEndBlock] = this.nextRange(searchEndBlock, currentL1BlockNumber);
|
|
470
477
|
|
|
471
478
|
this.log.trace(`Retrieving L2 blocks from L1 block ${searchStartBlock} to ${searchEndBlock}`);
|
|
479
|
+
|
|
480
|
+
// TODO(md): Retreive from blob sink then from consensus client, then from peers
|
|
472
481
|
const retrievedBlocks = await retrieveBlocksFromRollup(
|
|
473
482
|
this.rollup,
|
|
474
483
|
this.publicClient,
|
|
484
|
+
this.blobSinkClient,
|
|
475
485
|
searchStartBlock, // TODO(palla/reorg): If the L2 reorg was due to an L1 reorg, we need to start search earlier
|
|
476
486
|
searchEndBlock,
|
|
477
487
|
this.log,
|
|
@@ -717,12 +727,12 @@ export class Archiver implements ArchiveSource, Traceable {
|
|
|
717
727
|
}
|
|
718
728
|
|
|
719
729
|
/**
|
|
720
|
-
* Gets
|
|
730
|
+
* Gets public logs based on the provided filter.
|
|
721
731
|
* @param filter - The filter to apply to the logs.
|
|
722
732
|
* @returns The requested logs.
|
|
723
733
|
*/
|
|
724
|
-
|
|
725
|
-
return this.store.
|
|
734
|
+
getPublicLogs(filter: LogFilter): Promise<GetPublicLogsResponse> {
|
|
735
|
+
return this.store.getPublicLogs(filter);
|
|
726
736
|
}
|
|
727
737
|
|
|
728
738
|
/**
|
|
@@ -730,7 +740,7 @@ export class Archiver implements ArchiveSource, Traceable {
|
|
|
730
740
|
* @param filter - The filter to apply to the logs.
|
|
731
741
|
* @returns The requested logs.
|
|
732
742
|
*/
|
|
733
|
-
getContractClassLogs(filter: LogFilter): Promise<
|
|
743
|
+
getContractClassLogs(filter: LogFilter): Promise<GetContractClassLogsResponse> {
|
|
734
744
|
return this.store.getContractClassLogs(filter);
|
|
735
745
|
}
|
|
736
746
|
|
|
@@ -793,7 +803,7 @@ export class Archiver implements ArchiveSource, Traceable {
|
|
|
793
803
|
async addContractClass(contractClass: ContractClassPublic): Promise<void> {
|
|
794
804
|
await this.store.addContractClasses(
|
|
795
805
|
[contractClass],
|
|
796
|
-
[computePublicBytecodeCommitment(contractClass.packedBytecode)],
|
|
806
|
+
[await computePublicBytecodeCommitment(contractClass.packedBytecode)],
|
|
797
807
|
0,
|
|
798
808
|
);
|
|
799
809
|
return;
|
|
@@ -828,10 +838,13 @@ export class Archiver implements ArchiveSource, Traceable {
|
|
|
828
838
|
);
|
|
829
839
|
}
|
|
830
840
|
|
|
841
|
+
const latestBlockHeaderHash = await latestBlockHeader?.hash();
|
|
842
|
+
const provenBlockHeaderHash = await provenBlockHeader?.hash();
|
|
843
|
+
const finalizedBlockHeaderHash = await provenBlockHeader?.hash();
|
|
831
844
|
return {
|
|
832
|
-
latest: { number: latestBlockNumber, hash:
|
|
833
|
-
proven: { number: provenBlockNumber, hash:
|
|
834
|
-
finalized: { number: provenBlockNumber, hash:
|
|
845
|
+
latest: { number: latestBlockNumber, hash: latestBlockHeaderHash?.toString() } as L2BlockId,
|
|
846
|
+
proven: { number: provenBlockNumber, hash: provenBlockHeaderHash?.toString() } as L2BlockId,
|
|
847
|
+
finalized: { number: provenBlockNumber, hash: finalizedBlockHeaderHash?.toString() } as L2BlockId,
|
|
835
848
|
};
|
|
836
849
|
}
|
|
837
850
|
}
|
|
@@ -880,19 +893,19 @@ class ArchiverStoreHelper
|
|
|
880
893
|
* @param allLogs - All logs emitted in a bunch of blocks.
|
|
881
894
|
*/
|
|
882
895
|
async #updateRegisteredContractClasses(allLogs: UnencryptedL2Log[], blockNum: number, operation: Operation) {
|
|
883
|
-
const
|
|
896
|
+
const contractClassRegisteredEvents = allLogs
|
|
884
897
|
.filter(log => ContractClassRegisteredEvent.isContractClassRegisteredEvent(log.data))
|
|
885
|
-
.map(log => ContractClassRegisteredEvent.fromLog(log.data))
|
|
886
|
-
|
|
898
|
+
.map(log => ContractClassRegisteredEvent.fromLog(log.data));
|
|
899
|
+
|
|
900
|
+
const contractClasses = await Promise.all(contractClassRegisteredEvents.map(e => e.toContractClassPublic()));
|
|
887
901
|
if (contractClasses.length > 0) {
|
|
888
902
|
contractClasses.forEach(c => this.#log.verbose(`${Operation[operation]} contract class ${c.id.toString()}`));
|
|
889
903
|
if (operation == Operation.Store) {
|
|
890
904
|
// TODO: Will probably want to create some worker threads to compute these bytecode commitments as they are expensive
|
|
891
|
-
|
|
892
|
-
contractClasses,
|
|
893
|
-
contractClasses.map(x => computePublicBytecodeCommitment(x.packedBytecode)),
|
|
894
|
-
blockNum,
|
|
905
|
+
const commitments = await Promise.all(
|
|
906
|
+
contractClasses.map(c => computePublicBytecodeCommitment(c.packedBytecode)),
|
|
895
907
|
);
|
|
908
|
+
return await this.store.addContractClasses(contractClasses, commitments, blockNum);
|
|
896
909
|
} else if (operation == Operation.Delete) {
|
|
897
910
|
return await this.store.deleteContractClasses(contractClasses, blockNum);
|
|
898
911
|
}
|
|
@@ -960,10 +973,18 @@ class ArchiverStoreHelper
|
|
|
960
973
|
const unconstrainedFns = allFns.filter(
|
|
961
974
|
(fn): fn is UnconstrainedFunctionWithMembershipProof => 'privateFunctionsArtifactTreeRoot' in fn,
|
|
962
975
|
);
|
|
963
|
-
|
|
964
|
-
const
|
|
965
|
-
|
|
976
|
+
|
|
977
|
+
const privateFunctionsWithValidity = await Promise.all(
|
|
978
|
+
privateFns.map(async fn => ({ fn, valid: await isValidPrivateFunctionMembershipProof(fn, contractClass) })),
|
|
979
|
+
);
|
|
980
|
+
const validPrivateFns = privateFunctionsWithValidity.filter(({ valid }) => valid).map(({ fn }) => fn);
|
|
981
|
+
const unconstrainedFunctionsWithValidity = await Promise.all(
|
|
982
|
+
unconstrainedFns.map(async fn => ({
|
|
983
|
+
fn,
|
|
984
|
+
valid: await isValidUnconstrainedFunctionMembershipProof(fn, contractClass),
|
|
985
|
+
})),
|
|
966
986
|
);
|
|
987
|
+
const validUnconstrainedFns = unconstrainedFunctionsWithValidity.filter(({ valid }) => valid).map(({ fn }) => fn);
|
|
967
988
|
const validFnCount = validPrivateFns.length + validUnconstrainedFns.length;
|
|
968
989
|
if (validFnCount !== allFns.length) {
|
|
969
990
|
this.#log.warn(`Skipping ${allFns.length - validFnCount} invalid functions`);
|
|
@@ -1067,10 +1088,10 @@ class ArchiverStoreHelper
|
|
|
1067
1088
|
findNullifiersIndexesWithBlock(blockNumber: number, nullifiers: Fr[]): Promise<(InBlock<bigint> | undefined)[]> {
|
|
1068
1089
|
return this.store.findNullifiersIndexesWithBlock(blockNumber, nullifiers);
|
|
1069
1090
|
}
|
|
1070
|
-
|
|
1071
|
-
return this.store.
|
|
1091
|
+
getPublicLogs(filter: LogFilter): Promise<GetPublicLogsResponse> {
|
|
1092
|
+
return this.store.getPublicLogs(filter);
|
|
1072
1093
|
}
|
|
1073
|
-
getContractClassLogs(filter: LogFilter): Promise<
|
|
1094
|
+
getContractClassLogs(filter: LogFilter): Promise<GetContractClassLogsResponse> {
|
|
1074
1095
|
return this.store.getContractClassLogs(filter);
|
|
1075
1096
|
}
|
|
1076
1097
|
getSynchedL2BlockNumber(): Promise<number> {
|
|
@@ -1118,7 +1139,7 @@ class ArchiverStoreHelper
|
|
|
1118
1139
|
getTotalL1ToL2MessageCount(): Promise<bigint> {
|
|
1119
1140
|
return this.store.getTotalL1ToL2MessageCount();
|
|
1120
1141
|
}
|
|
1121
|
-
estimateSize(): { mappingSize: number; actualSize: number; numItems: number } {
|
|
1142
|
+
estimateSize(): Promise<{ mappingSize: number; actualSize: number; numItems: number }> {
|
|
1122
1143
|
return this.store.estimateSize();
|
|
1123
1144
|
}
|
|
1124
1145
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
|
-
type
|
|
2
|
+
type GetContractClassLogsResponse,
|
|
3
|
+
type GetPublicLogsResponse,
|
|
3
4
|
type InBlock,
|
|
4
5
|
type InboxLeaf,
|
|
5
6
|
type L2Block,
|
|
@@ -156,18 +157,18 @@ export interface ArchiverDataStore {
|
|
|
156
157
|
getLogsByTags(tags: Fr[]): Promise<TxScopedL2Log[][]>;
|
|
157
158
|
|
|
158
159
|
/**
|
|
159
|
-
* Gets
|
|
160
|
+
* Gets public logs based on the provided filter.
|
|
160
161
|
* @param filter - The filter to apply to the logs.
|
|
161
162
|
* @returns The requested logs.
|
|
162
163
|
*/
|
|
163
|
-
|
|
164
|
+
getPublicLogs(filter: LogFilter): Promise<GetPublicLogsResponse>;
|
|
164
165
|
|
|
165
166
|
/**
|
|
166
167
|
* Gets contract class logs based on the provided filter.
|
|
167
168
|
* @param filter - The filter to apply to the logs.
|
|
168
169
|
* @returns The requested logs.
|
|
169
170
|
*/
|
|
170
|
-
getContractClassLogs(filter: LogFilter): Promise<
|
|
171
|
+
getContractClassLogs(filter: LogFilter): Promise<GetContractClassLogsResponse>;
|
|
171
172
|
|
|
172
173
|
/**
|
|
173
174
|
* Gets the number of the latest L2 block processed.
|
|
@@ -270,5 +271,5 @@ export interface ArchiverDataStore {
|
|
|
270
271
|
/**
|
|
271
272
|
* Estimates the size of the store in bytes.
|
|
272
273
|
*/
|
|
273
|
-
estimateSize(): { mappingSize: number; actualSize: number; numItems: number }
|
|
274
|
+
estimateSize(): Promise<{ mappingSize: number; actualSize: number; numItems: number }>;
|
|
274
275
|
}
|