@aztec/archiver 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2 → 0.76.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 +186 -0
- package/dest/archiver/archiver.d.ts.map +1 -0
- package/dest/archiver/archiver.js +711 -729
- package/dest/archiver/archiver_store.d.ts +217 -0
- package/dest/archiver/archiver_store.d.ts.map +1 -0
- package/dest/archiver/archiver_store.js +2 -4
- package/dest/archiver/archiver_store_test_suite.d.ts +8 -0
- package/dest/archiver/archiver_store_test_suite.d.ts.map +1 -0
- package/dest/archiver/archiver_store_test_suite.js +224 -385
- package/dest/archiver/config.d.ts +37 -0
- package/dest/archiver/config.d.ts.map +1 -0
- package/dest/archiver/config.js +15 -9
- package/dest/archiver/data_retrieval.d.ts +71 -0
- package/dest/archiver/data_retrieval.d.ts.map +1 -0
- package/dest/archiver/data_retrieval.js +67 -77
- package/dest/archiver/errors.d.ts +4 -0
- package/dest/archiver/errors.d.ts.map +1 -0
- package/dest/archiver/errors.js +2 -1
- package/dest/archiver/index.d.ts +8 -0
- package/dest/archiver/index.d.ts.map +1 -0
- package/dest/archiver/index.js +1 -0
- package/dest/archiver/instrumentation.d.ts +27 -0
- package/dest/archiver/instrumentation.d.ts.map +1 -0
- package/dest/archiver/instrumentation.js +17 -29
- package/dest/archiver/kv_archiver_store/block_store.d.ts +87 -0
- package/dest/archiver/kv_archiver_store/block_store.d.ts.map +1 -0
- package/dest/archiver/kv_archiver_store/block_store.js +127 -118
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts +17 -0
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts.map +1 -0
- package/dest/archiver/kv_archiver_store/contract_class_store.js +37 -43
- package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts +13 -0
- package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts.map +1 -0
- package/dest/archiver/kv_archiver_store/contract_instance_store.js +12 -7
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts +147 -0
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +1 -0
- package/dest/archiver/kv_archiver_store/kv_archiver_store.js +158 -135
- package/dest/archiver/kv_archiver_store/log_store.d.ts +47 -0
- package/dest/archiver/kv_archiver_store/log_store.d.ts.map +1 -0
- package/dest/archiver/kv_archiver_store/log_store.js +256 -271
- package/dest/archiver/kv_archiver_store/message_store.d.ts +33 -0
- package/dest/archiver/kv_archiver_store/message_store.d.ts.map +1 -0
- package/dest/archiver/kv_archiver_store/message_store.js +48 -42
- package/dest/archiver/kv_archiver_store/nullifier_store.d.ts +12 -0
- package/dest/archiver/kv_archiver_store/nullifier_store.d.ts.map +1 -0
- package/dest/archiver/kv_archiver_store/nullifier_store.js +42 -35
- package/dest/archiver/memory_archiver_store/l1_to_l2_message_store.d.ts +23 -0
- package/dest/archiver/memory_archiver_store/l1_to_l2_message_store.d.ts.map +1 -0
- package/dest/archiver/memory_archiver_store/l1_to_l2_message_store.js +24 -15
- package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts +168 -0
- package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts.map +1 -0
- package/dest/archiver/memory_archiver_store/memory_archiver_store.js +231 -227
- package/dest/archiver/structs/data_retrieval.d.ts +27 -0
- package/dest/archiver/structs/data_retrieval.d.ts.map +1 -0
- package/dest/archiver/structs/data_retrieval.js +2 -5
- package/dest/archiver/structs/published.d.ts +11 -0
- package/dest/archiver/structs/published.d.ts.map +1 -0
- package/dest/archiver/structs/published.js +2 -1
- package/dest/factory.d.ts +10 -0
- package/dest/factory.d.ts.map +1 -0
- package/dest/factory.js +24 -32
- package/dest/index.d.ts +5 -0
- package/dest/index.d.ts.map +1 -0
- package/dest/index.js +1 -0
- package/dest/rpc/index.d.ts +9 -0
- package/dest/rpc/index.d.ts.map +1 -0
- package/dest/rpc/index.js +8 -7
- package/dest/test/index.d.ts +4 -0
- package/dest/test/index.d.ts.map +1 -0
- package/dest/test/index.js +1 -0
- package/dest/test/mock_archiver.d.ts +22 -0
- package/dest/test/mock_archiver.d.ts.map +1 -0
- package/dest/test/mock_archiver.js +13 -8
- package/dest/test/mock_l1_to_l2_message_source.d.ts +16 -0
- package/dest/test/mock_l1_to_l2_message_source.d.ts.map +1 -0
- package/dest/test/mock_l1_to_l2_message_source.js +4 -4
- package/dest/test/mock_l2_block_source.d.ts +80 -0
- package/dest/test/mock_l2_block_source.d.ts.map +1 -0
- package/dest/test/mock_l2_block_source.js +67 -68
- package/package.json +15 -14
- package/src/archiver/config.ts +7 -1
- package/src/archiver/index.ts +1 -1
- package/src/factory.ts +7 -3
- package/src/rpc/index.ts +16 -3
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Data retrieved from logs
|
|
3
|
+
*/
|
|
4
|
+
export type DataRetrieval<T> = {
|
|
5
|
+
/**
|
|
6
|
+
* Blocknumber of the last L1 block from which we obtained data.
|
|
7
|
+
*/
|
|
8
|
+
lastProcessedL1BlockNumber: bigint;
|
|
9
|
+
/**
|
|
10
|
+
* The data returned.
|
|
11
|
+
*/
|
|
12
|
+
retrievedData: T[];
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Data retrieved from logs
|
|
16
|
+
*/
|
|
17
|
+
export type SingletonDataRetrieval<T> = {
|
|
18
|
+
/**
|
|
19
|
+
* Blocknumber of the last L1 block from which we obtained data.
|
|
20
|
+
*/
|
|
21
|
+
lastProcessedL1BlockNumber: bigint;
|
|
22
|
+
/**
|
|
23
|
+
* The data returned.
|
|
24
|
+
*/
|
|
25
|
+
retrievedData: T;
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=data_retrieval.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data_retrieval.d.ts","sourceRoot":"","sources":["../../../src/archiver/structs/data_retrieval.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;IAC7B;;OAEG;IACH,0BAA0B,EAAE,MAAM,CAAC;IACnC;;OAEG;IACH,aAAa,EAAE,CAAC,EAAE,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAAI;IACtC;;OAEG;IACH,0BAA0B,EAAE,MAAM,CAAC;IACnC;;OAEG;IACH,aAAa,EAAE,CAAC,CAAC;CAClB,CAAC"}
|
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*/ /**
|
|
4
|
-
* Data retrieved from logs
|
|
5
|
-
*/ export { };
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV9yZXRyaWV2YWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXJjaGl2ZXIvc3RydWN0cy9kYXRhX3JldHJpZXZhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Extends a type with L1 published info (block number, hash, and timestamp) */
|
|
2
|
+
export type L1Published<T> = {
|
|
3
|
+
data: T;
|
|
4
|
+
l1: L1PublishedData;
|
|
5
|
+
};
|
|
6
|
+
export type L1PublishedData = {
|
|
7
|
+
blockNumber: bigint;
|
|
8
|
+
timestamp: bigint;
|
|
9
|
+
blockHash: string;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=published.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"published.d.ts","sourceRoot":"","sources":["../../../src/archiver/structs/published.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC3B,IAAI,EAAE,CAAC,CAAC;IACR,EAAE,EAAE,eAAe,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGlzaGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FyY2hpdmVyL3N0cnVjdHMvcHVibGlzaGVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type BlobSinkClientInterface } from '@aztec/blob-sink/client';
|
|
2
|
+
import { type ArchiverApi, type Service } from '@aztec/circuit-types';
|
|
3
|
+
import { type Maybe } from '@aztec/foundation/types';
|
|
4
|
+
import { type DataStoreConfig } from '@aztec/kv-store/config';
|
|
5
|
+
import { type TelemetryClient } from '@aztec/telemetry-client';
|
|
6
|
+
import { type ArchiverConfig } from './archiver/config.js';
|
|
7
|
+
export declare function createArchiver(config: ArchiverConfig & DataStoreConfig, blobSinkClient: BlobSinkClientInterface, opts?: {
|
|
8
|
+
blockUntilSync: boolean;
|
|
9
|
+
}, telemetry?: TelemetryClient): Promise<ArchiverApi & Maybe<Service>>;
|
|
10
|
+
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,OAAO,EAAmC,MAAM,sBAAsB,CAAC;AAQvG,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAO9D,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAGnF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI3D,wBAAsB,cAAc,CAClC,MAAM,EAAE,cAAc,GAAG,eAAe,EACxC,cAAc,EAAE,uBAAuB,EACvC,IAAI,GAAE;IAAE,cAAc,EAAE,OAAO,CAAA;CAA6B,EAC5D,SAAS,GAAE,eAAsC,GAChD,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAavC"}
|
package/dest/factory.js
CHANGED
|
@@ -1,51 +1,45 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { getComponentsVersionsFromConfig } from '@aztec/circuit-types';
|
|
2
|
+
import { computePublicBytecodeCommitment, getContractClassFromArtifact, } from '@aztec/circuits.js';
|
|
2
3
|
import { FunctionType, decodeFunctionSignature } from '@aztec/foundation/abi';
|
|
3
4
|
import { createLogger } from '@aztec/foundation/log';
|
|
4
5
|
import { createStore } from '@aztec/kv-store/lmdb-v2';
|
|
5
6
|
import { TokenContractArtifact } from '@aztec/noir-contracts.js/Token';
|
|
6
7
|
import { TokenBridgeContractArtifact } from '@aztec/noir-contracts.js/TokenBridge';
|
|
7
|
-
import {
|
|
8
|
+
import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types/vks';
|
|
9
|
+
import { protocolContractNames, protocolContractTreeRoot } from '@aztec/protocol-contracts';
|
|
8
10
|
import { getCanonicalProtocolContract } from '@aztec/protocol-contracts/bundle';
|
|
9
11
|
import { getTelemetryClient } from '@aztec/telemetry-client';
|
|
10
12
|
import { Archiver } from './archiver/archiver.js';
|
|
11
13
|
import { KVArchiverDataStore } from './archiver/index.js';
|
|
12
14
|
import { createArchiverClient } from './rpc/index.js';
|
|
13
|
-
export async function createArchiver(config, blobSinkClient, opts = {
|
|
14
|
-
blockUntilSync: true
|
|
15
|
-
}, telemetry = getTelemetryClient()) {
|
|
15
|
+
export async function createArchiver(config, blobSinkClient, opts = { blockUntilSync: true }, telemetry = getTelemetryClient()) {
|
|
16
16
|
if (!config.archiverUrl) {
|
|
17
17
|
const store = await createStore('archiver', config, createLogger('archiver:lmdb'));
|
|
18
18
|
const archiverStore = new KVArchiverDataStore(store, config.maxLogs);
|
|
19
19
|
await registerProtocolContracts(archiverStore);
|
|
20
20
|
await registerCommonContracts(archiverStore);
|
|
21
|
-
return Archiver.createAndSync(config, archiverStore, {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
} else {
|
|
26
|
-
return createArchiverClient(config.archiverUrl);
|
|
21
|
+
return Archiver.createAndSync(config, archiverStore, { telemetry, blobSinkClient }, opts.blockUntilSync);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
return createArchiverClient(config.archiverUrl, getComponentsVersionsFromConfig(config, protocolContractTreeRoot, getVKTreeRoot()));
|
|
27
25
|
}
|
|
28
26
|
}
|
|
29
27
|
async function registerProtocolContracts(store) {
|
|
30
28
|
const blockNumber = 0;
|
|
31
|
-
for (const name of protocolContractNames){
|
|
29
|
+
for (const name of protocolContractNames) {
|
|
32
30
|
const contract = await getCanonicalProtocolContract(name);
|
|
33
31
|
const contractClassPublic = {
|
|
34
32
|
...contract.contractClass,
|
|
35
33
|
privateFunctions: [],
|
|
36
|
-
unconstrainedFunctions: []
|
|
34
|
+
unconstrainedFunctions: [],
|
|
37
35
|
};
|
|
38
|
-
const publicFunctionSignatures = contract.artifact.functions
|
|
36
|
+
const publicFunctionSignatures = contract.artifact.functions
|
|
37
|
+
.filter(fn => fn.functionType === FunctionType.PUBLIC)
|
|
38
|
+
.map(fn => decodeFunctionSignature(fn.name, fn.parameters));
|
|
39
39
|
await store.registerContractFunctionSignatures(contract.address, publicFunctionSignatures);
|
|
40
40
|
const bytecodeCommitment = await computePublicBytecodeCommitment(contractClassPublic.packedBytecode);
|
|
41
|
-
await store.addContractClasses([
|
|
42
|
-
|
|
43
|
-
], [
|
|
44
|
-
bytecodeCommitment
|
|
45
|
-
], blockNumber);
|
|
46
|
-
await store.addContractInstances([
|
|
47
|
-
contract.instance
|
|
48
|
-
], blockNumber);
|
|
41
|
+
await store.addContractClasses([contractClassPublic], [bytecodeCommitment], blockNumber);
|
|
42
|
+
await store.addContractInstances([contract.instance], blockNumber);
|
|
49
43
|
}
|
|
50
44
|
}
|
|
51
45
|
// TODO(#10007): Remove this method. We are explicitly registering these contracts
|
|
@@ -55,15 +49,13 @@ async function registerProtocolContracts(store) {
|
|
|
55
49
|
// TODO(#10007): Remove the dependency on noir-contracts.js from this package once we remove this.
|
|
56
50
|
async function registerCommonContracts(store) {
|
|
57
51
|
const blockNumber = 0;
|
|
58
|
-
const artifacts = [
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
unconstrainedFunctions: []
|
|
66
|
-
})));
|
|
67
|
-
const bytecodeCommitments = await Promise.all(classes.map((x)=>computePublicBytecodeCommitment(x.packedBytecode)));
|
|
52
|
+
const artifacts = [TokenBridgeContractArtifact, TokenContractArtifact];
|
|
53
|
+
const classes = await Promise.all(artifacts.map(async (artifact) => ({
|
|
54
|
+
...(await getContractClassFromArtifact(artifact)),
|
|
55
|
+
privateFunctions: [],
|
|
56
|
+
unconstrainedFunctions: [],
|
|
57
|
+
})));
|
|
58
|
+
const bytecodeCommitments = await Promise.all(classes.map(x => computePublicBytecodeCommitment(x.packedBytecode)));
|
|
68
59
|
await store.addContractClasses(classes, bytecodeCommitments, blockNumber);
|
|
69
60
|
}
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBa0MsK0JBQStCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RyxPQUFPLEVBRUwsK0JBQStCLEVBQy9CLDRCQUE0QixHQUM3QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxZQUFZLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNoRixPQUFPLEVBQXdCLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbkYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWxELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE1BQU0sQ0FBQyxLQUFLLFVBQVUsY0FBYyxDQUNsQyxNQUF3QyxFQUN4QyxjQUF1QyxFQUN2QyxPQUFvQyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsRUFDNUQsWUFBNkIsa0JBQWtCLEVBQUU7SUFFakQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN4QixNQUFNLEtBQUssR0FBRyxNQUFNLFdBQVcsQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQ25GLE1BQU0sYUFBYSxHQUFHLElBQUksbUJBQW1CLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRSxNQUFNLHlCQUF5QixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sdUJBQXVCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDN0MsT0FBTyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzNHLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxvQkFBb0IsQ0FDekIsTUFBTSxDQUFDLFdBQVcsRUFDbEIsK0JBQStCLENBQUMsTUFBTSxFQUFFLHdCQUF3QixFQUFFLGFBQWEsRUFBRSxDQUFDLENBQ25GLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQztBQUVELEtBQUssVUFBVSx5QkFBeUIsQ0FBQyxLQUEwQjtJQUNqRSxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFDdEIsS0FBSyxNQUFNLElBQUksSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sUUFBUSxHQUFHLE1BQU0sNEJBQTRCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUQsTUFBTSxtQkFBbUIsR0FBd0I7WUFDL0MsR0FBRyxRQUFRLENBQUMsYUFBYTtZQUN6QixnQkFBZ0IsRUFBRSxFQUFFO1lBQ3BCLHNCQUFzQixFQUFFLEVBQUU7U0FDM0IsQ0FBQztRQUVGLE1BQU0sd0JBQXdCLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTO2FBQ3pELE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEtBQUssWUFBWSxDQUFDLE1BQU0sQ0FBQzthQUNyRCxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBRTlELE1BQU0sS0FBSyxDQUFDLGtDQUFrQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztRQUMzRixNQUFNLGtCQUFrQixHQUFHLE1BQU0sK0JBQStCLENBQUMsbUJBQW1CLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDckcsTUFBTSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN6RixNQUFNLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNyRSxDQUFDO0FBQ0gsQ0FBQztBQUVELGtGQUFrRjtBQUNsRixxRkFBcUY7QUFDckYsbUZBQW1GO0FBQ25GLDRGQUE0RjtBQUM1RixrR0FBa0c7QUFDbEcsS0FBSyxVQUFVLHVCQUF1QixDQUFDLEtBQTBCO0lBQy9ELE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQztJQUN0QixNQUFNLFNBQVMsR0FBRyxDQUFDLDJCQUEyQixFQUFFLHFCQUFxQixDQUFDLENBQUM7SUFDdkUsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUMvQixTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBQyxRQUFRLEVBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0IsR0FBRyxDQUFDLE1BQU0sNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakQsZ0JBQWdCLEVBQUUsRUFBRTtRQUNwQixzQkFBc0IsRUFBRSxFQUFFO0tBQzNCLENBQUMsQ0FBQyxDQUNKLENBQUM7SUFDRixNQUFNLG1CQUFtQixHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsK0JBQStCLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuSCxNQUFNLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDNUUsQ0FBQyJ9
|
package/dest/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAE/B,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC"}
|
package/dest/index.js
CHANGED
|
@@ -2,3 +2,4 @@ export * from './archiver/index.js';
|
|
|
2
2
|
export * from './factory.js';
|
|
3
3
|
export * from './rpc/index.js';
|
|
4
4
|
export { retrieveBlocksFromRollup, retrieveL2ProofVerifiedEvents } from './archiver/data_retrieval.js';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGdCQUFnQixDQUFDO0FBRS9CLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDIn0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type ArchiverApi, type ComponentsVersions } from '@aztec/circuit-types';
|
|
2
|
+
export declare function createArchiverClient(url: string, versions: Partial<ComponentsVersions>, fetch?: (host: string, rpcMethod: string, body: any, useApiEndpoints: boolean, extraHeaders?: Record<string, string> | undefined, noRetry?: boolean | undefined) => Promise<{
|
|
3
|
+
response: any;
|
|
4
|
+
headers: {
|
|
5
|
+
get: (header: string) => string | null | undefined;
|
|
6
|
+
};
|
|
7
|
+
}>): ArchiverApi;
|
|
8
|
+
export declare function createArchiverRpcServer(handler: ArchiverApi): import("@aztec/foundation/json-rpc/server").SafeJsonRpcServer;
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rpc/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,kBAAkB,EAExB,MAAM,sBAAsB,CAAC;AAI9B,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACrC,KAAK;;;;;EAAmC,GACvC,WAAW,CAMb;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,WAAW,iEAE3D"}
|
package/dest/rpc/index.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { ArchiverApiSchema } from '@aztec/circuit-types';
|
|
1
|
+
import { ArchiverApiSchema, getVersioningResponseHandler, } from '@aztec/circuit-types';
|
|
2
2
|
import { createSafeJsonRpcClient } from '@aztec/foundation/json-rpc/client';
|
|
3
3
|
import { createTracedJsonRpcServer, makeTracedFetch } from '@aztec/telemetry-client';
|
|
4
|
-
export function createArchiverClient(url, fetch = makeTracedFetch([
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
export function createArchiverClient(url, versions, fetch = makeTracedFetch([1, 2, 3], true)) {
|
|
5
|
+
return createSafeJsonRpcClient(url, ArchiverApiSchema, {
|
|
6
|
+
namespaceMethods: 'archiver',
|
|
7
|
+
fetch,
|
|
8
|
+
onResponse: getVersioningResponseHandler(versions),
|
|
9
|
+
});
|
|
10
10
|
}
|
|
11
11
|
export function createArchiverRpcServer(handler) {
|
|
12
12
|
return createTracedJsonRpcServer(handler, ArchiverApiSchema);
|
|
13
13
|
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcnBjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxpQkFBaUIsRUFFakIsNEJBQTRCLEdBQzdCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDNUUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXJGLE1BQU0sVUFBVSxvQkFBb0IsQ0FDbEMsR0FBVyxFQUNYLFFBQXFDLEVBQ3JDLEtBQUssR0FBRyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQztJQUV4QyxPQUFPLHVCQUF1QixDQUFjLEdBQUcsRUFBRSxpQkFBaUIsRUFBRTtRQUNsRSxnQkFBZ0IsRUFBRSxVQUFVO1FBQzVCLEtBQUs7UUFDTCxVQUFVLEVBQUUsNEJBQTRCLENBQUMsUUFBUSxDQUFDO0tBQ25ELENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsdUJBQXVCLENBQUMsT0FBb0I7SUFDMUQsT0FBTyx5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztBQUMvRCxDQUFDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,oBAAoB,CAAC"}
|
package/dest/test/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from './mock_l2_block_source.js';
|
|
2
2
|
export * from './mock_l1_to_l2_message_source.js';
|
|
3
3
|
export * from './mock_archiver.js';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxvQkFBb0IsQ0FBQyJ9
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type L1ToL2MessageSource, type L2Block, type L2BlockSource } from '@aztec/circuit-types';
|
|
2
|
+
import { type Fr } from '@aztec/circuits.js';
|
|
3
|
+
import { MockL2BlockSource } from './mock_l2_block_source.js';
|
|
4
|
+
/**
|
|
5
|
+
* A mocked implementation of the archiver that implements L2BlockSource and L1ToL2MessageSource.
|
|
6
|
+
*/
|
|
7
|
+
export declare class MockArchiver extends MockL2BlockSource implements L2BlockSource, L1ToL2MessageSource {
|
|
8
|
+
private messageSource;
|
|
9
|
+
setL1ToL2Messages(blockNumber: number, msgs: Fr[]): void;
|
|
10
|
+
getL1ToL2Messages(blockNumber: bigint): Promise<Fr[]>;
|
|
11
|
+
getL1ToL2MessageIndex(_l1ToL2Message: Fr): Promise<bigint | undefined>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* A mocked implementation of the archiver with a set of precomputed blocks and messages.
|
|
15
|
+
*/
|
|
16
|
+
export declare class MockPrefilledArchiver extends MockArchiver {
|
|
17
|
+
private precomputed;
|
|
18
|
+
constructor(precomputed: L2Block[], messages: Fr[][]);
|
|
19
|
+
setPrefilledBlocks(blocks: L2Block[], messages: Fr[][]): void;
|
|
20
|
+
createBlocks(numBlocks: number): Promise<void>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=mock_archiver.d.ts.map
|
|
@@ -0,0 +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;CAW/C"}
|
|
@@ -2,8 +2,12 @@ import { MockL1ToL2MessageSource } from './mock_l1_to_l2_message_source.js';
|
|
|
2
2
|
import { MockL2BlockSource } from './mock_l2_block_source.js';
|
|
3
3
|
/**
|
|
4
4
|
* A mocked implementation of the archiver that implements L2BlockSource and L1ToL2MessageSource.
|
|
5
|
-
*/
|
|
6
|
-
|
|
5
|
+
*/
|
|
6
|
+
export class MockArchiver extends MockL2BlockSource {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.messageSource = new MockL1ToL2MessageSource(0);
|
|
10
|
+
}
|
|
7
11
|
setL1ToL2Messages(blockNumber, msgs) {
|
|
8
12
|
this.messageSource.setL1ToL2Messages(blockNumber, msgs);
|
|
9
13
|
}
|
|
@@ -16,18 +20,18 @@ import { MockL2BlockSource } from './mock_l2_block_source.js';
|
|
|
16
20
|
}
|
|
17
21
|
/**
|
|
18
22
|
* A mocked implementation of the archiver with a set of precomputed blocks and messages.
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
constructor(precomputed, messages){
|
|
23
|
+
*/
|
|
24
|
+
export class MockPrefilledArchiver extends MockArchiver {
|
|
25
|
+
constructor(precomputed, messages) {
|
|
22
26
|
super();
|
|
23
27
|
this.precomputed = precomputed.slice();
|
|
24
|
-
messages.forEach((msgs, i)=>this.setL1ToL2Messages(i + 1, msgs));
|
|
28
|
+
messages.forEach((msgs, i) => this.setL1ToL2Messages(i + 1, msgs));
|
|
25
29
|
}
|
|
26
30
|
setPrefilledBlocks(blocks, messages) {
|
|
27
|
-
for (const block of blocks){
|
|
31
|
+
for (const block of blocks) {
|
|
28
32
|
this.precomputed[block.number - 1] = block;
|
|
29
33
|
}
|
|
30
|
-
messages.forEach((msgs, i)=>this.setL1ToL2Messages(blocks[i].number, msgs));
|
|
34
|
+
messages.forEach((msgs, i) => this.setL1ToL2Messages(blocks[i].number, msgs));
|
|
31
35
|
}
|
|
32
36
|
createBlocks(numBlocks) {
|
|
33
37
|
if (this.l2Blocks.length + numBlocks > this.precomputed.length) {
|
|
@@ -38,3 +42,4 @@ import { MockL2BlockSource } from './mock_l2_block_source.js';
|
|
|
38
42
|
return Promise.resolve();
|
|
39
43
|
}
|
|
40
44
|
}
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19hcmNoaXZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L21vY2tfYXJjaGl2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDNUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFOUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sWUFBYSxTQUFRLGlCQUFpQjtJQUFuRDs7UUFDVSxrQkFBYSxHQUFHLElBQUksdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFhekQsQ0FBQztJQVhRLGlCQUFpQixDQUFDLFdBQW1CLEVBQUUsSUFBVTtRQUN0RCxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsV0FBbUI7UUFDbkMsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxjQUFrQjtRQUN0QyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEUsQ0FBQztDQUNGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8scUJBQXNCLFNBQVEsWUFBWTtJQUdyRCxZQUFZLFdBQXNCLEVBQUUsUUFBZ0I7UUFDbEQsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN2QyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRU0sa0JBQWtCLENBQUMsTUFBaUIsRUFBRSxRQUFnQjtRQUMzRCxLQUFLLE1BQU0sS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDN0MsQ0FBQztRQUNELFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFZSxZQUFZLENBQUMsU0FBaUI7UUFDNUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMvRCxNQUFNLElBQUksS0FBSyxDQUNiLDJDQUEyQyxTQUFTLDRCQUE0QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUN4RyxDQUFDO1FBQ0osQ0FBQztRQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLFNBQVMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3pFLE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7Q0FDRiJ9
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type L1ToL2MessageSource } from '@aztec/circuit-types';
|
|
2
|
+
import { type Fr } from '@aztec/circuits.js';
|
|
3
|
+
/**
|
|
4
|
+
* A mocked implementation of L1ToL2MessageSource to be used in tests.
|
|
5
|
+
*/
|
|
6
|
+
export declare class MockL1ToL2MessageSource implements L1ToL2MessageSource {
|
|
7
|
+
private blockNumber;
|
|
8
|
+
private messagesPerBlock;
|
|
9
|
+
constructor(blockNumber: number);
|
|
10
|
+
setL1ToL2Messages(blockNumber: number, msgs: Fr[]): void;
|
|
11
|
+
setBlockNumber(blockNumber: number): void;
|
|
12
|
+
getL1ToL2Messages(blockNumber: bigint): Promise<Fr[]>;
|
|
13
|
+
getL1ToL2MessageIndex(_l1ToL2Message: Fr): Promise<bigint | undefined>;
|
|
14
|
+
getBlockNumber(): Promise<number>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=mock_l1_to_l2_message_source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mock_l1_to_l2_message_source.d.ts","sourceRoot":"","sources":["../../src/test/mock_l1_to_l2_message_source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAE7C;;GAEG;AACH,qBAAa,uBAAwB,YAAW,mBAAmB;IAGrD,OAAO,CAAC,WAAW;IAF/B,OAAO,CAAC,gBAAgB,CAA2B;gBAE/B,WAAW,EAAE,MAAM;IAEhC,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;IAIjD,cAAc,CAAC,WAAW,EAAE,MAAM;IAIzC,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;IAIrD,qBAAqB,CAAC,cAAc,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAItE,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;CAGlC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* A mocked implementation of L1ToL2MessageSource to be used in tests.
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
constructor(blockNumber){
|
|
3
|
+
*/
|
|
4
|
+
export class MockL1ToL2MessageSource {
|
|
5
|
+
constructor(blockNumber) {
|
|
7
6
|
this.blockNumber = blockNumber;
|
|
8
7
|
this.messagesPerBlock = new Map();
|
|
9
8
|
}
|
|
@@ -23,3 +22,4 @@
|
|
|
23
22
|
return Promise.resolve(this.blockNumber);
|
|
24
23
|
}
|
|
25
24
|
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19sMV90b19sMl9tZXNzYWdlX3NvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L21vY2tfbDFfdG9fbDJfbWVzc2FnZV9zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0E7O0dBRUc7QUFDSCxNQUFNLE9BQU8sdUJBQXVCO0lBR2xDLFlBQW9CLFdBQW1CO1FBQW5CLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBRi9CLHFCQUFnQixHQUFHLElBQUksR0FBRyxFQUFnQixDQUFDO0lBRVQsQ0FBQztJQUVwQyxpQkFBaUIsQ0FBQyxXQUFtQixFQUFFLElBQVU7UUFDdEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVNLGNBQWMsQ0FBQyxXQUFtQjtRQUN2QyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztJQUNqQyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsV0FBbUI7UUFDbkMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELHFCQUFxQixDQUFDLGNBQWtCO1FBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDM0MsQ0FBQztDQUNGIn0=
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { type L1RollupConstants, L2Block, type L2BlockSource, type L2Tips, type TxHash, TxReceipt } from '@aztec/circuit-types';
|
|
2
|
+
import { type BlockHeader, EthAddress } from '@aztec/circuits.js';
|
|
3
|
+
/**
|
|
4
|
+
* A mocked implementation of L2BlockSource to be used in tests.
|
|
5
|
+
*/
|
|
6
|
+
export declare class MockL2BlockSource implements L2BlockSource {
|
|
7
|
+
protected l2Blocks: L2Block[];
|
|
8
|
+
private provenEpochNumber;
|
|
9
|
+
private provenBlockNumber;
|
|
10
|
+
private log;
|
|
11
|
+
createBlocks(numBlocks: number): Promise<void>;
|
|
12
|
+
addBlocks(blocks: L2Block[]): void;
|
|
13
|
+
removeBlocks(numBlocks: number): void;
|
|
14
|
+
setProvenBlockNumber(provenBlockNumber: number): void;
|
|
15
|
+
setProvenEpochNumber(provenEpochNumber: number): void;
|
|
16
|
+
/**
|
|
17
|
+
* Method to fetch the rollup contract address at the base-layer.
|
|
18
|
+
* @returns The rollup address.
|
|
19
|
+
*/
|
|
20
|
+
getRollupAddress(): Promise<EthAddress>;
|
|
21
|
+
/**
|
|
22
|
+
* Method to fetch the registry contract address at the base-layer.
|
|
23
|
+
* @returns The registry address.
|
|
24
|
+
*/
|
|
25
|
+
getRegistryAddress(): Promise<EthAddress>;
|
|
26
|
+
/**
|
|
27
|
+
* Gets the number of the latest L2 block processed by the block source implementation.
|
|
28
|
+
* @returns In this mock instance, returns the number of L2 blocks that we've mocked.
|
|
29
|
+
*/
|
|
30
|
+
getBlockNumber(): Promise<number>;
|
|
31
|
+
getProvenBlockNumber(): Promise<number>;
|
|
32
|
+
getProvenL2EpochNumber(): Promise<number | undefined>;
|
|
33
|
+
/**
|
|
34
|
+
* Gets an l2 block.
|
|
35
|
+
* @param number - The block number to return (inclusive).
|
|
36
|
+
* @returns The requested L2 block.
|
|
37
|
+
*/
|
|
38
|
+
getBlock(number: number): Promise<L2Block>;
|
|
39
|
+
/**
|
|
40
|
+
* Gets up to `limit` amount of L2 blocks starting from `from`.
|
|
41
|
+
* @param from - Number of the first block to return (inclusive).
|
|
42
|
+
* @param limit - The maximum number of blocks to return.
|
|
43
|
+
* @returns The requested mocked L2 blocks.
|
|
44
|
+
*/
|
|
45
|
+
getBlocks(from: number, limit: number, proven?: boolean): Promise<L2Block[]>;
|
|
46
|
+
getBlockHeader(number: number | 'latest'): Promise<BlockHeader | undefined>;
|
|
47
|
+
getBlocksForEpoch(epochNumber: bigint): Promise<L2Block[]>;
|
|
48
|
+
/**
|
|
49
|
+
* Gets a tx effect.
|
|
50
|
+
* @param txHash - The hash of a transaction which resulted in the returned tx effect.
|
|
51
|
+
* @returns The requested tx effect.
|
|
52
|
+
*/
|
|
53
|
+
getTxEffect(txHash: TxHash): Promise<{
|
|
54
|
+
data: import("@aztec/circuit-types").TxEffect;
|
|
55
|
+
l2BlockNumber: number;
|
|
56
|
+
l2BlockHash: `0x${string}`;
|
|
57
|
+
} | undefined>;
|
|
58
|
+
/**
|
|
59
|
+
* Gets a receipt of a settled tx.
|
|
60
|
+
* @param txHash - The hash of a tx we try to get the receipt for.
|
|
61
|
+
* @returns The requested tx receipt (or undefined if not found).
|
|
62
|
+
*/
|
|
63
|
+
getSettledTxReceipt(txHash: TxHash): Promise<TxReceipt | undefined>;
|
|
64
|
+
getL2Tips(): Promise<L2Tips>;
|
|
65
|
+
getL2EpochNumber(): Promise<bigint>;
|
|
66
|
+
getL2SlotNumber(): Promise<bigint>;
|
|
67
|
+
isEpochComplete(_epochNumber: bigint): Promise<boolean>;
|
|
68
|
+
getL1Constants(): Promise<L1RollupConstants>;
|
|
69
|
+
/**
|
|
70
|
+
* Starts the block source. In this mock implementation, this is a noop.
|
|
71
|
+
* @returns A promise that signals the initialization of the l2 block source on completion.
|
|
72
|
+
*/
|
|
73
|
+
start(): Promise<void>;
|
|
74
|
+
/**
|
|
75
|
+
* Stops the block source. In this mock implementation, this is a noop.
|
|
76
|
+
* @returns A promise that signals the l2 block source is now stopped.
|
|
77
|
+
*/
|
|
78
|
+
stop(): Promise<void>;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=mock_l2_block_source.d.ts.map
|
|
@@ -0,0 +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;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"}
|