@aztec/archiver 0.32.0 → 0.33.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 +9 -9
- package/dest/archiver/archiver.d.ts.map +1 -1
- package/dest/archiver/archiver.js +1 -1
- package/dest/archiver/archiver_store.d.ts +5 -5
- 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 +9 -9
- package/dest/archiver/config.d.ts +1 -1
- package/dest/archiver/config.d.ts.map +1 -1
- package/dest/archiver/config.js +2 -2
- package/dest/archiver/data_retrieval.d.ts +4 -4
- package/dest/archiver/data_retrieval.d.ts.map +1 -1
- package/dest/archiver/eth_log_handlers.d.ts +2 -2
- package/dest/archiver/eth_log_handlers.d.ts.map +1 -1
- package/dest/archiver/eth_log_handlers.js +1 -1
- 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_store.d.ts +5 -5
- package/dest/archiver/kv_archiver_store/block_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/block_store.js +4 -4
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts +3 -3
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts +4 -4
- package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/contract_instance_store.js +1 -1
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts +7 -7
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/log_store.d.ts +3 -3
- package/dest/archiver/kv_archiver_store/log_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/message_store.d.ts +3 -3
- package/dest/archiver/kv_archiver_store/message_store.d.ts.map +1 -1
- package/dest/archiver/memory_archiver_store/l1_to_l2_message_store.d.ts +2 -2
- package/dest/archiver/memory_archiver_store/l1_to_l2_message_store.d.ts.map +1 -1
- package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts +6 -6
- package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts.map +1 -1
- package/dest/archiver/memory_archiver_store/memory_archiver_store.js +16 -15
- package/dest/rpc/archiver_client.d.ts +1 -1
- package/dest/rpc/archiver_client.d.ts.map +1 -1
- package/dest/rpc/archiver_server.d.ts +1 -1
- package/dest/rpc/archiver_server.d.ts.map +1 -1
- package/package.json +19 -13
- package/src/archiver/archiver.ts +26 -26
- package/src/archiver/archiver_store.ts +20 -20
- package/src/archiver/archiver_store_test_suite.ts +14 -10
- package/src/archiver/config.ts +2 -2
- package/src/archiver/data_retrieval.ts +4 -4
- package/src/archiver/eth_log_handlers.ts +2 -2
- package/src/archiver/kv_archiver_store/block_body_store.ts +1 -1
- package/src/archiver/kv_archiver_store/block_store.ts +8 -8
- package/src/archiver/kv_archiver_store/contract_class_store.ts +5 -5
- package/src/archiver/kv_archiver_store/contract_instance_store.ts +4 -4
- package/src/archiver/kv_archiver_store/kv_archiver_store.ts +22 -22
- package/src/archiver/kv_archiver_store/log_store.ts +7 -7
- package/src/archiver/kv_archiver_store/message_store.ts +3 -3
- package/src/archiver/memory_archiver_store/l1_to_l2_message_store.ts +2 -2
- package/src/archiver/memory_archiver_store/memory_archiver_store.ts +32 -36
- package/src/rpc/archiver_client.ts +1 -1
- package/src/rpc/archiver_server.ts +1 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { AztecAddress } from '@aztec/circuits.js';
|
|
2
|
-
import { AztecKVStore } from '@aztec/kv-store';
|
|
3
|
-
import { ContractInstanceWithAddress } from '@aztec/types/contracts';
|
|
1
|
+
import { type AztecAddress } from '@aztec/circuits.js';
|
|
2
|
+
import { type AztecKVStore } from '@aztec/kv-store';
|
|
3
|
+
import { type ContractInstanceWithAddress } from '@aztec/types/contracts';
|
|
4
4
|
/**
|
|
5
5
|
* LMDB implementation of the ArchiverDataStore interface.
|
|
6
6
|
*/
|
|
7
7
|
export declare class ContractInstanceStore {
|
|
8
8
|
#private;
|
|
9
9
|
constructor(db: AztecKVStore);
|
|
10
|
-
addContractInstance(contractInstance: ContractInstanceWithAddress): Promise<
|
|
10
|
+
addContractInstance(contractInstance: ContractInstanceWithAddress): Promise<void>;
|
|
11
11
|
getContractInstance(address: AztecAddress): ContractInstanceWithAddress | undefined;
|
|
12
12
|
}
|
|
13
13
|
//# sourceMappingURL=contract_instance_store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract_instance_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/contract_instance_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"contract_instance_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/contract_instance_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,KAAK,2BAA2B,EAAgC,MAAM,wBAAwB,CAAC;AAExG;;GAEG;AACH,qBAAa,qBAAqB;;gBAGpB,EAAE,EAAE,YAAY;IAI5B,mBAAmB,CAAC,gBAAgB,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjF,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,2BAA2B,GAAG,SAAS;CAIpF"}
|
|
@@ -18,4 +18,4 @@ export class ContractInstanceStore {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
_ContractInstanceStore_contractInstances = new WeakMap();
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfaW5zdGFuY2Vfc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXJjaGl2ZXIva3ZfYXJjaGl2ZXJfc3RvcmUvY29udHJhY3RfaW5zdGFuY2Vfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxPQUFPLEVBQW9DLDRCQUE0QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFeEc7O0dBRUc7QUFDSCxNQUFNLE9BQU8scUJBQXFCO0lBR2hDLFlBQVksRUFBZ0I7UUFGNUIsMkRBQTZDO1FBRzNDLHVCQUFBLElBQUksNENBQXNCLEVBQUUsQ0FBQyxPQUFPLENBQUMsNkJBQTZCLENBQUMsTUFBQSxDQUFDO0lBQ3RFLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxnQkFBNkM7UUFDL0QsT0FBTyx1QkFBQSxJQUFJLGdEQUFtQixDQUFDLEdBQUcsQ0FDaEMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUNuQyxJQUFJLDRCQUE0QixDQUFDLGdCQUFnQixDQUFDLENBQUMsUUFBUSxFQUFFLENBQzlELENBQUM7SUFDSixDQUFDO0lBRUQsbUJBQW1CLENBQUMsT0FBcUI7UUFDdkMsTUFBTSxnQkFBZ0IsR0FBRyx1QkFBQSxJQUFJLGdEQUFtQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN6RSxPQUFPLGdCQUFnQixJQUFJLDRCQUE0QixDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1RyxDQUFDO0NBQ0YifQ==
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
import { Body, EncryptedL2BlockL2Logs, FromLogType, GetUnencryptedLogsResponse, InboxLeaf, L2Block, L2BlockL2Logs, LogFilter, LogType, TxEffect, TxHash, TxReceipt, UnencryptedL2BlockL2Logs } from '@aztec/circuit-types';
|
|
3
|
-
import { Fr } from '@aztec/circuits.js';
|
|
4
|
-
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
5
|
-
import { AztecKVStore } from '@aztec/kv-store';
|
|
6
|
-
import { ContractClassPublic, ContractInstanceWithAddress, ExecutablePrivateFunctionWithMembershipProof, UnconstrainedFunctionWithMembershipProof } from '@aztec/types/contracts';
|
|
7
|
-
import { ArchiverDataStore, ArchiverL1SynchPoint } from '../archiver_store.js';
|
|
8
|
-
import { DataRetrieval } from '../data_retrieval.js';
|
|
2
|
+
import { type Body, type EncryptedL2BlockL2Logs, type FromLogType, type GetUnencryptedLogsResponse, type InboxLeaf, type L2Block, type L2BlockL2Logs, type LogFilter, type LogType, type TxEffect, type TxHash, type TxReceipt, type UnencryptedL2BlockL2Logs } from '@aztec/circuit-types';
|
|
3
|
+
import { type Fr } from '@aztec/circuits.js';
|
|
4
|
+
import { type AztecAddress } from '@aztec/foundation/aztec-address';
|
|
5
|
+
import { type AztecKVStore } from '@aztec/kv-store';
|
|
6
|
+
import { type ContractClassPublic, type ContractInstanceWithAddress, type ExecutablePrivateFunctionWithMembershipProof, type UnconstrainedFunctionWithMembershipProof } from '@aztec/types/contracts';
|
|
7
|
+
import { type ArchiverDataStore, type ArchiverL1SynchPoint } from '../archiver_store.js';
|
|
8
|
+
import { type DataRetrieval } from '../data_retrieval.js';
|
|
9
9
|
/**
|
|
10
10
|
* LMDB implementation of the ArchiverDataStore interface.
|
|
11
11
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kv_archiver_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/kv_archiver_store.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,IAAI,
|
|
1
|
+
{"version":3,"file":"kv_archiver_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/kv_archiver_store.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,KAAK,IAAI,EACT,KAAK,sBAAsB,EAC3B,KAAK,WAAW,EAChB,KAAK,0BAA0B,EAC/B,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,SAAS,EACd,KAAK,wBAAwB,EAC9B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAChC,KAAK,4CAA4C,EACjD,KAAK,wCAAwC,EAC9C,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAQ1D;;GAEG;AACH,qBAAa,mBAAoB,YAAW,iBAAiB;;gBAU/C,EAAE,EAAE,YAAY,EAAE,eAAe,GAAE,MAAa;IAS5D,gBAAgB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAIlE,mBAAmB,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;IAIpC,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC;IAItF,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7F,YAAY,CACV,eAAe,EAAE,EAAE,EACnB,gBAAgB,EAAE,4CAA4C,EAAE,EAChE,sBAAsB,EAAE,wCAAwC,EAAE,GACjE,OAAO,CAAC,OAAO,CAAC;IAIb,oBAAoB,CAAC,IAAI,EAAE,2BAA2B,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvG;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAIrD;;;;;OAKG;IACH,cAAc,CAAC,gBAAgB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAI3D;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAI3D;;;;;;OAMG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAS3D;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAI1D;;;;OAIG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAInE;;;;;;OAMG;IACH,OAAO,CACL,aAAa,EAAE,sBAAsB,GAAG,SAAS,EACjD,eAAe,EAAE,wBAAwB,GAAG,SAAS,EACrD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC;IAInB;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvE;;;;;OAKG;IACH,qBAAqB,CAAC,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIzF;;;;OAIG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;IAQrD;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,SAAS,OAAO,EAC9B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;IAQlD;;;;OAIG;IACH,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAQ1E;;;OAGG;IACH,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI1C;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC,oBAAoB,CAAC;CAM/C"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { EncryptedL2BlockL2Logs, FromLogType, GetUnencryptedLogsResponse, L2BlockL2Logs, LogFilter, LogType, UnencryptedL2BlockL2Logs } from '@aztec/circuit-types';
|
|
2
|
-
import { AztecKVStore } from '@aztec/kv-store';
|
|
3
|
-
import { BlockStore } from './block_store.js';
|
|
1
|
+
import { EncryptedL2BlockL2Logs, type FromLogType, type GetUnencryptedLogsResponse, type L2BlockL2Logs, type LogFilter, LogType, UnencryptedL2BlockL2Logs } from '@aztec/circuit-types';
|
|
2
|
+
import { type AztecKVStore } from '@aztec/kv-store';
|
|
3
|
+
import { type BlockStore } from './block_store.js';
|
|
4
4
|
/**
|
|
5
5
|
* A store for logs
|
|
6
6
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/log_store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EAEtB,WAAW,
|
|
1
|
+
{"version":3,"file":"log_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/log_store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EAEtB,KAAK,WAAW,EAChB,KAAK,0BAA0B,EAC/B,KAAK,aAAa,EAClB,KAAK,SAAS,EAEd,OAAO,EACP,wBAAwB,EAEzB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,KAAK,YAAY,EAAiB,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;GAEG;AACH,qBAAa,QAAQ;;IAMP,OAAO,CAAC,EAAE;IAAgB,OAAO,CAAC,UAAU;gBAApC,EAAE,EAAE,YAAY,EAAU,UAAU,EAAE,UAAU,EAAE,eAAe,GAAE,MAAa;IAOpG;;;;;;OAMG;IACH,OAAO,CACL,aAAa,EAAE,sBAAsB,GAAG,SAAS,EACjD,eAAe,EAAE,wBAAwB,GAAG,SAAS,EACrD,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC;IAcnB;;;;;;OAMG;IACF,OAAO,CAAC,QAAQ,SAAS,OAAO,EAC/B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,QAAQ,GAChB,gBAAgB,CAAC,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAQzD;;;;OAIG;IACH,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,0BAA0B;CAuGlE"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { InboxLeaf } from '@aztec/circuit-types';
|
|
1
|
+
import { type InboxLeaf } from '@aztec/circuit-types';
|
|
2
2
|
import { Fr } from '@aztec/circuits.js';
|
|
3
|
-
import { AztecKVStore } from '@aztec/kv-store';
|
|
4
|
-
import { DataRetrieval } from '../data_retrieval.js';
|
|
3
|
+
import { type AztecKVStore } from '@aztec/kv-store';
|
|
4
|
+
import { type DataRetrieval } from '../data_retrieval.js';
|
|
5
5
|
/**
|
|
6
6
|
* LMDB implementation of the ArchiverDataStore interface.
|
|
7
7
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/message_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"message_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/message_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,EAAE,EAIH,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,YAAY,EAAsC,MAAM,iBAAiB,CAAC;AAExF,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D;;GAEG;AACH,qBAAa,YAAY;;IASX,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,YAAY;IAMpC;;;OAGG;IACH,uBAAuB,IAAI,MAAM;IAIjC;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IA6BvE;;;;;OAKG;IACH,qBAAqB,CAAC,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAMzF,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,EAAE,EAAE;CAoB7C"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { InboxLeaf } from '@aztec/circuit-types';
|
|
2
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
1
|
+
import { type InboxLeaf } from '@aztec/circuit-types';
|
|
2
|
+
import { type Fr } from '@aztec/foundation/fields';
|
|
3
3
|
/**
|
|
4
4
|
* A simple in-memory implementation of an L1 to L2 message store.
|
|
5
5
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l1_to_l2_message_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/memory_archiver_store/l1_to_l2_message_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"l1_to_l2_message_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/memory_archiver_store/l1_to_l2_message_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAMtD,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD;;GAEG;AACH,qBAAa,kBAAkB;;IAC7B;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAa;;IAM7C,UAAU,CAAC,OAAO,EAAE,SAAS;IAQ7B,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,EAAE,EAAE;IAqBtC;;;;;OAKG;IACH,eAAe,CAAC,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAe3E"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
import { Body, EncryptedL2BlockL2Logs, FromLogType, GetUnencryptedLogsResponse, InboxLeaf, L2Block, L2BlockL2Logs, LogFilter, LogType, TxEffect, TxHash, TxReceipt, UnencryptedL2BlockL2Logs } from '@aztec/circuit-types';
|
|
2
|
+
import { type Body, type EncryptedL2BlockL2Logs, type FromLogType, type GetUnencryptedLogsResponse, type InboxLeaf, type L2Block, type L2BlockL2Logs, type LogFilter, LogType, type TxEffect, type TxHash, TxReceipt, type UnencryptedL2BlockL2Logs } from '@aztec/circuit-types';
|
|
3
3
|
import { Fr } from '@aztec/circuits.js';
|
|
4
|
-
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
5
|
-
import { ContractClassPublic, ContractInstanceWithAddress, ExecutablePrivateFunctionWithMembershipProof, UnconstrainedFunctionWithMembershipProof } from '@aztec/types/contracts';
|
|
6
|
-
import { ArchiverDataStore, ArchiverL1SynchPoint } from '../archiver_store.js';
|
|
7
|
-
import { DataRetrieval } from '../data_retrieval.js';
|
|
4
|
+
import { type AztecAddress } from '@aztec/foundation/aztec-address';
|
|
5
|
+
import { type ContractClassPublic, type ContractInstanceWithAddress, type ExecutablePrivateFunctionWithMembershipProof, type UnconstrainedFunctionWithMembershipProof } from '@aztec/types/contracts';
|
|
6
|
+
import { type ArchiverDataStore, type ArchiverL1SynchPoint } from '../archiver_store.js';
|
|
7
|
+
import { type DataRetrieval } from '../data_retrieval.js';
|
|
8
8
|
/**
|
|
9
9
|
* Simple, in-memory implementation of an archiver data store.
|
|
10
10
|
*/
|
|
@@ -14,7 +14,7 @@ export declare class MemoryArchiverStore implements ArchiverDataStore {
|
|
|
14
14
|
/**
|
|
15
15
|
* An array containing all the L2 blocks that have been fetched so far.
|
|
16
16
|
*/
|
|
17
|
-
private
|
|
17
|
+
private l2Blocks;
|
|
18
18
|
/**
|
|
19
19
|
* A mapping of body hash to body
|
|
20
20
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory_archiver_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/memory_archiver_store/memory_archiver_store.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,IAAI,
|
|
1
|
+
{"version":3,"file":"memory_archiver_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/memory_archiver_store/memory_archiver_store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExtendedUnencryptedL2Log,
|
|
1
|
+
import { ExtendedUnencryptedL2Log, LogId, LogType, TxReceipt, TxStatus, } from '@aztec/circuit-types';
|
|
2
2
|
import { Fr, INITIAL_L2_BLOCK_NUM } from '@aztec/circuits.js';
|
|
3
3
|
import { L1ToL2MessageStore } from './l1_to_l2_message_store.js';
|
|
4
4
|
/**
|
|
@@ -12,7 +12,7 @@ export class MemoryArchiverStore {
|
|
|
12
12
|
/**
|
|
13
13
|
* An array containing all the L2 blocks that have been fetched so far.
|
|
14
14
|
*/
|
|
15
|
-
this.
|
|
15
|
+
this.l2Blocks = [];
|
|
16
16
|
/**
|
|
17
17
|
* A mapping of body hash to body
|
|
18
18
|
*/
|
|
@@ -90,8 +90,8 @@ export class MemoryArchiverStore {
|
|
|
90
90
|
*/
|
|
91
91
|
addBlocks(blocks) {
|
|
92
92
|
this.lastL1BlockNewBlocks = blocks.lastProcessedL1BlockNumber;
|
|
93
|
-
this.
|
|
94
|
-
this.txEffects.push(...blocks.retrievedData.flatMap(b => b.
|
|
93
|
+
this.l2Blocks.push(...blocks.retrievedData);
|
|
94
|
+
this.txEffects.push(...blocks.retrievedData.flatMap(b => b.body.txEffects));
|
|
95
95
|
return Promise.resolve(true);
|
|
96
96
|
}
|
|
97
97
|
/**
|
|
@@ -171,11 +171,11 @@ export class MemoryArchiverStore {
|
|
|
171
171
|
return Promise.reject(new Error(`Invalid limit: ${limit}`));
|
|
172
172
|
}
|
|
173
173
|
const fromIndex = Math.max(from - INITIAL_L2_BLOCK_NUM, 0);
|
|
174
|
-
if (fromIndex >= this.
|
|
174
|
+
if (fromIndex >= this.l2Blocks.length) {
|
|
175
175
|
return Promise.resolve([]);
|
|
176
176
|
}
|
|
177
177
|
const toIndex = fromIndex + limit;
|
|
178
|
-
return Promise.resolve(this.
|
|
178
|
+
return Promise.resolve(this.l2Blocks.slice(fromIndex, toIndex));
|
|
179
179
|
}
|
|
180
180
|
/**
|
|
181
181
|
* Gets a tx effect.
|
|
@@ -192,10 +192,11 @@ export class MemoryArchiverStore {
|
|
|
192
192
|
* @returns The requested tx receipt (or undefined if not found).
|
|
193
193
|
*/
|
|
194
194
|
getSettledTxReceipt(txHash) {
|
|
195
|
-
for (const
|
|
196
|
-
|
|
195
|
+
for (const block of this.l2Blocks) {
|
|
196
|
+
const txHashes = block.body.txEffects.map(txEffect => txEffect.txHash);
|
|
197
|
+
for (const currentTxHash of txHashes) {
|
|
197
198
|
if (currentTxHash.equals(txHash)) {
|
|
198
|
-
return Promise.resolve(new TxReceipt(txHash, TxStatus.MINED, '',
|
|
199
|
+
return Promise.resolve(new TxReceipt(txHash, TxStatus.MINED, '', block.hash().toBuffer(), block.number));
|
|
199
200
|
}
|
|
200
201
|
}
|
|
201
202
|
}
|
|
@@ -273,16 +274,16 @@ export class MemoryArchiverStore {
|
|
|
273
274
|
const selector = filter.selector;
|
|
274
275
|
const logs = [];
|
|
275
276
|
for (; fromBlockIndex < toBlockIndex; fromBlockIndex++) {
|
|
276
|
-
const
|
|
277
|
+
const block = this.l2Blocks[fromBlockIndex];
|
|
277
278
|
const blockLogs = this.unencryptedLogsPerBlock[fromBlockIndex];
|
|
278
279
|
for (; txIndexInBlock < blockLogs.txLogs.length; txIndexInBlock++) {
|
|
279
280
|
const txLogs = blockLogs.txLogs[txIndexInBlock].unrollLogs();
|
|
280
281
|
for (; logIndexInTx < txLogs.length; logIndexInTx++) {
|
|
281
282
|
const log = txLogs[logIndexInTx];
|
|
282
|
-
if ((!txHash ||
|
|
283
|
+
if ((!txHash || block.body.txEffects[txIndexInBlock].txHash.equals(txHash)) &&
|
|
283
284
|
(!contractAddress || log.contractAddress.equals(contractAddress)) &&
|
|
284
285
|
(!selector || log.selector.equals(selector))) {
|
|
285
|
-
logs.push(new ExtendedUnencryptedL2Log(new LogId(
|
|
286
|
+
logs.push(new ExtendedUnencryptedL2Log(new LogId(block.number, txIndexInBlock, logIndexInTx), log));
|
|
286
287
|
if (logs.length === this.maxLogs) {
|
|
287
288
|
return Promise.resolve({
|
|
288
289
|
logs,
|
|
@@ -305,10 +306,10 @@ export class MemoryArchiverStore {
|
|
|
305
306
|
* @returns The number of the latest L2 block processed.
|
|
306
307
|
*/
|
|
307
308
|
getSynchedL2BlockNumber() {
|
|
308
|
-
if (this.
|
|
309
|
+
if (this.l2Blocks.length === 0) {
|
|
309
310
|
return Promise.resolve(INITIAL_L2_BLOCK_NUM - 1);
|
|
310
311
|
}
|
|
311
|
-
return Promise.resolve(this.
|
|
312
|
+
return Promise.resolve(this.l2Blocks[this.l2Blocks.length - 1].number);
|
|
312
313
|
}
|
|
313
314
|
getSynchPoint() {
|
|
314
315
|
return Promise.resolve({
|
|
@@ -317,4 +318,4 @@ export class MemoryArchiverStore {
|
|
|
317
318
|
});
|
|
318
319
|
}
|
|
319
320
|
}
|
|
320
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5X2FyY2hpdmVyX3N0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FyY2hpdmVyL21lbW9yeV9hcmNoaXZlcl9zdG9yZS9tZW1vcnlfYXJjaGl2ZXJfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLHdCQUF3QixFQUt4QixjQUFjLEVBR2QsS0FBSyxFQUNMLE9BQU8sRUFHUCxTQUFTLEVBQ1QsUUFBUSxHQUVULE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBVzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWpFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQTRDOUI7SUFDRSxrRkFBa0Y7SUFDbEUsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7UUE3Q2pDOztXQUVHO1FBQ0ssb0JBQWUsR0FBcUIsRUFBRSxDQUFDO1FBRS9DOztXQUVHO1FBQ0ssa0JBQWEsR0FBc0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVyRDs7V0FFRztRQUNLLGNBQVMsR0FBZSxFQUFFLENBQUM7UUFFbkM7OztXQUdHO1FBQ0ssMEJBQXFCLEdBQTZCLEVBQUUsQ0FBQztRQUU3RDs7O1dBR0c7UUFDSyw0QkFBdUIsR0FBK0IsRUFBRSxDQUFDO1FBRWpFOztXQUVHO1FBQ0ssbUJBQWMsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFFMUMsb0JBQWUsR0FBcUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUU5RCxxQkFBZ0IsR0FBZ0UsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUUxRiwyQkFBc0IsR0FBNEQsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUU1RixzQkFBaUIsR0FBNkMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUV4RSx5QkFBb0IsR0FBVyxFQUFFLENBQUM7UUFDbEMs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
|
|
321
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5X2FyY2hpdmVyX3N0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FyY2hpdmVyL21lbW9yeV9hcmNoaXZlcl9zdG9yZS9tZW1vcnlfYXJjaGl2ZXJfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLHdCQUF3QixFQU94QixLQUFLLEVBQ0wsT0FBTyxFQUdQLFNBQVMsRUFDVCxRQUFRLEdBRVQsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsRUFBRSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFXOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFakU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUJBQW1CO0lBNEM5QjtJQUNFLGtGQUFrRjtJQUNsRSxPQUFlO1FBQWYsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQTdDakM7O1dBRUc7UUFDSyxhQUFRLEdBQWMsRUFBRSxDQUFDO1FBRWpDOztXQUVHO1FBQ0ssa0JBQWEsR0FBc0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVyRDs7V0FFRztRQUNLLGNBQVMsR0FBZSxFQUFFLENBQUM7UUFFbkM7OztXQUdHO1FBQ0ssMEJBQXFCLEdBQTZCLEVBQUUsQ0FBQztRQUU3RDs7O1dBR0c7UUFDSyw0QkFBdUIsR0FBK0IsRUFBRSxDQUFDO1FBRWpFOztXQUVHO1FBQ0ssbUJBQWMsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFFMUMsb0JBQWUsR0FBcUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUU5RCxxQkFBZ0IsR0FBZ0UsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUUxRiwyQkFBc0IsR0FBNEQsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUU1RixzQkFBaUIsR0FBNkMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUV4RSx5QkFBb0IsR0FBVyxFQUFFLENBQUM7UUFDbEMsMkJBQXNCLEdBQVcsRUFBRSxDQUFDO0lBS3pDLENBQUM7SUFFRyxnQkFBZ0IsQ0FBQyxFQUFNO1FBQzVCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzlELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FDcEIsYUFBYSxJQUFJO1lBQ2YsR0FBRyxhQUFhO1lBQ2hCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRTtZQUNoRSxzQkFBc0IsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUU7U0FDN0UsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLG1CQUFtQjtRQUN4QixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVNLG1CQUFtQixDQUFDLE9BQXFCO1FBQzlDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVNLFlBQVksQ0FDakIsZUFBbUIsRUFDbkIsbUJBQW1FLEVBQ25FLHlCQUFxRTtRQUVyRSxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JGLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakcsTUFBTSx1QkFBdUIsR0FBRztZQUM5QixHQUFHLGdCQUFnQjtZQUNuQixHQUFHLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDdkcsQ0FBQztRQUNGLE1BQU0sNkJBQTZCLEdBQUc7WUFDcEMsR0FBRyxzQkFBc0I7WUFDekIsR0FBRyx5QkFBeUIsQ0FBQyxNQUFNLENBQ2pDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDOUU7U0FDRixDQUFDO1FBQ0YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO1FBQzNGLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU0sa0JBQWtCLENBQUMsSUFBMkIsRUFBRSxZQUFvQjtRQUN6RSxLQUFLLE1BQU0sYUFBYSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU0sb0JBQW9CLENBQUMsSUFBbUMsRUFBRSxZQUFvQjtRQUNuRixLQUFLLE1BQU0sZ0JBQWdCLElBQUksSUFBSSxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUNwRixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksU0FBUyxDQUFDLE1BQThCO1FBQzdDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxNQUFNLENBQUMsMEJBQTBCLENBQUM7UUFDOUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUM1RSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxjQUFjLENBQUMsV0FBbUI7UUFDaEMsS0FBSyxNQUFNLElBQUksSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUMvQixLQUFLLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM5RSxDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGNBQWMsQ0FBQyxnQkFBMEI7UUFDdkMsTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbkgsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxLQUFLLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDN0QsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFFRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBcUIsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxPQUFPLENBQ0wsYUFBcUMsRUFDckMsZUFBeUMsRUFDekMsV0FBbUI7UUFFbkIsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxHQUFHLG9CQUFvQixDQUFDLEdBQUcsYUFBYSxDQUFDO1FBQ2pGLENBQUM7UUFFRCxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLEdBQUcsb0JBQW9CLENBQUMsR0FBRyxlQUFlLENBQUM7UUFDckYsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGlCQUFpQixDQUFDLFFBQWtDO1FBQ3pELElBQUksUUFBUSxDQUFDLDBCQUEwQixJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ3ZFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBRUQsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFFBQVEsQ0FBQywwQkFBMEIsQ0FBQztRQUNsRSxLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUM3QyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILHFCQUFxQixDQUFDLGFBQWlCLEVBQUUsVUFBa0I7UUFDekQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxTQUFTLENBQUMsSUFBWSxFQUFFLEtBQWE7UUFDMUMsbURBQW1EO1FBQ25ELElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2QsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLGtCQUFrQixLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNELElBQUksU0FBUyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdEMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdCLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFdBQVcsQ0FBQyxNQUFjO1FBQy9CLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNyRSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxtQkFBbUIsQ0FBQyxNQUFjO1FBQ3ZDLEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN2RSxLQUFLLE1BQU0sYUFBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNyQyxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztvQkFDakMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksU0FBUyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQzNHLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGlCQUFpQixDQUFDLFdBQW1CO1FBQ25DLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxPQUFPLENBQ0wsSUFBWSxFQUNaLEtBQWEsRUFDYixPQUFpQjtRQUVqQixJQUFJLElBQUksR0FBRyxvQkFBb0IsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDN0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBQ0QsTUFBTSxJQUFJLEdBQUcsQ0FDWCxPQUFPLEtBQUssT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQ2hELENBQUM7UUFDNUMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBQ0QsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLG9CQUFvQixDQUFDO1FBQy9DLE1BQU0sUUFBUSxHQUFHLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDcEMsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsa0JBQWtCLENBQUMsTUFBaUI7UUFDbEMsSUFBSSxNQUEwQixDQUFDO1FBQy9CLElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQztRQUN2QixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDO1FBQ3ZELElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQztRQUN2QixJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7UUFFckIsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEIsdURBQXVEO1lBQ3ZELElBQUksTUFBTSxDQUFDLFNBQVMsSUFBSSxTQUFTLElBQUksTUFBTSxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNyRixjQUFjLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEdBQUcsb0JBQW9CLENBQUM7Z0JBQ3BFLGNBQWMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztnQkFDekMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLHFDQUFxQztZQUNwRixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sY0FBYyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEdBQUcsb0JBQW9CLENBQUM7WUFDM0QsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFFdkIsSUFBSSxNQUFNLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUNuQyxjQUFjLEdBQUcsTUFBTSxDQUFDLFNBQVMsR0FBRyxvQkFBb0IsQ0FBQztZQUMzRCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksTUFBTSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNqQyxZQUFZLEdBQUcsTUFBTSxDQUFDLE9BQU8sR0FBRyxvQkFBb0IsQ0FBQztRQUN2RCxDQUFDO1FBRUQsbURBQW1EO1FBQ25ELGNBQWMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3QyxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTNFLElBQUksY0FBYyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLElBQUksWUFBWSxHQUFHLGNBQWMsSUFBSSxZQUFZLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDL0csT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDO2dCQUNyQixJQUFJLEVBQUUsRUFBRTtnQkFDUixVQUFVLEVBQUUsS0FBSzthQUNsQixDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQztRQUMvQyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBRWpDLE1BQU0sSUFBSSxHQUErQixFQUFFLENBQUM7UUFFNUMsT0FBTyxjQUFjLEdBQUcsWUFBWSxFQUFFLGNBQWMsRUFBRSxFQUFFLENBQUM7WUFDdkQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUM1QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDL0QsT0FBTyxjQUFjLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsY0FBYyxFQUFFLEVBQUUsQ0FBQztnQkFDbEUsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDN0QsT0FBTyxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUUsRUFBRSxDQUFDO29CQUNwRCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQ2pDLElBQ0UsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUN2RSxDQUFDLENBQUMsZUFBZSxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO3dCQUNqRSxDQUFDLENBQUMsUUFBUSxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQzVDLENBQUM7d0JBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLHdCQUF3QixDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsY0FBYyxFQUFFLFlBQVksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7d0JBQ3BHLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7NEJBQ2pDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQztnQ0FDckIsSUFBSTtnQ0FDSixVQUFVLEVBQUUsSUFBSTs2QkFDakIsQ0FBQyxDQUFDO3dCQUNMLENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO2dCQUNELFlBQVksR0FBRyxDQUFDLENBQUM7WUFDbkIsQ0FBQztZQUNELGNBQWMsR0FBRyxDQUFDLENBQUM7UUFDckIsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQztZQUNyQixJQUFJO1lBQ0osVUFBVSxFQUFFLEtBQUs7U0FDbEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNJLHVCQUF1QjtRQUM1QixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQy9CLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVNLGFBQWE7UUFDbEIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQ3JCLGVBQWUsRUFBRSxJQUFJLENBQUMsb0JBQW9CO1lBQzFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxzQkFBc0I7U0FDL0MsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIn0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { ArchiveSource } from '../archiver/archiver.js';
|
|
1
|
+
import { type ArchiveSource } from '../archiver/archiver.js';
|
|
2
2
|
export declare const createArchiverClient: (url: string, fetch?: (host: string, rpcMethod: string, body: any, useApiEndpoints: boolean) => Promise<any>) => ArchiveSource;
|
|
3
3
|
//# sourceMappingURL=archiver_client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archiver_client.d.ts","sourceRoot":"","sources":["../../src/rpc/archiver_client.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"archiver_client.d.ts","sourceRoot":"","sources":["../../src/rpc/archiver_client.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,eAAO,MAAM,oBAAoB,QAAS,MAAM,qGAAuC,aAenE,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { JsonRpcServer } from '@aztec/foundation/json-rpc/server';
|
|
2
|
-
import { Archiver } from '../archiver/archiver.js';
|
|
2
|
+
import { type Archiver } from '../archiver/archiver.js';
|
|
3
3
|
/**
|
|
4
4
|
* Wrap an Archiver instance with a JSON RPC HTTP server.
|
|
5
5
|
* @param archiverService - The Archiver instance
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archiver_server.d.ts","sourceRoot":"","sources":["../../src/rpc/archiver_server.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"archiver_server.d.ts","sourceRoot":"","sources":["../../src/rpc/archiver_server.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAElE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,eAAe,EAAE,QAAQ,GAAG,aAAa,CAehF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/archiver",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.33.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": "./dest/index.js",
|
|
6
6
|
"typedocOptions": {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"clean": "rm -rf ./dest .tsbuildinfo",
|
|
17
17
|
"formatting": "run -T prettier --check ./src && run -T eslint ./src",
|
|
18
18
|
"formatting:fix": "run -T eslint --fix ./src && run -T prettier -w ./src",
|
|
19
|
-
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules
|
|
19
|
+
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests",
|
|
20
20
|
"start": "node ./dest",
|
|
21
21
|
"start:dev": "tsc-watch -p tsconfig.json --onSuccess 'yarn start'",
|
|
22
22
|
"test:integration": "concurrently -k -s first -c reset,dim -n test,anvil \"yarn test:integration:run\" \"anvil\"",
|
|
@@ -26,23 +26,30 @@
|
|
|
26
26
|
"../package.common.json"
|
|
27
27
|
],
|
|
28
28
|
"jest": {
|
|
29
|
-
"preset": "ts-jest/presets/default-esm",
|
|
30
29
|
"moduleNameMapper": {
|
|
31
30
|
"^(\\.{1,2}/.*)\\.[cm]?js$": "$1"
|
|
32
31
|
},
|
|
33
32
|
"testRegex": "./src/.*\\.test\\.(js|mjs|ts)$",
|
|
34
33
|
"rootDir": "./src",
|
|
35
|
-
"workerThreads": true
|
|
34
|
+
"workerThreads": true,
|
|
35
|
+
"transform": {
|
|
36
|
+
"^.+\\.tsx?$": [
|
|
37
|
+
"@swc/jest"
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
"extensionsToTreatAsEsm": [
|
|
41
|
+
".ts"
|
|
42
|
+
]
|
|
36
43
|
},
|
|
37
44
|
"dependencies": {
|
|
38
|
-
"@aztec/circuit-types": "0.
|
|
39
|
-
"@aztec/circuits.js": "0.
|
|
40
|
-
"@aztec/ethereum": "0.
|
|
41
|
-
"@aztec/foundation": "0.
|
|
42
|
-
"@aztec/kv-store": "0.
|
|
43
|
-
"@aztec/l1-artifacts": "0.
|
|
44
|
-
"@aztec/protocol-contracts": "0.
|
|
45
|
-
"@aztec/types": "0.
|
|
45
|
+
"@aztec/circuit-types": "0.33.0",
|
|
46
|
+
"@aztec/circuits.js": "0.33.0",
|
|
47
|
+
"@aztec/ethereum": "0.33.0",
|
|
48
|
+
"@aztec/foundation": "0.33.0",
|
|
49
|
+
"@aztec/kv-store": "0.33.0",
|
|
50
|
+
"@aztec/l1-artifacts": "0.33.0",
|
|
51
|
+
"@aztec/protocol-contracts": "0.33.0",
|
|
52
|
+
"@aztec/types": "0.33.0",
|
|
46
53
|
"debug": "^4.3.4",
|
|
47
54
|
"lmdb": "^2.9.2",
|
|
48
55
|
"lodash.groupby": "^4.6.0",
|
|
@@ -63,7 +70,6 @@
|
|
|
63
70
|
"concurrently": "^8.0.1",
|
|
64
71
|
"jest": "^29.5.0",
|
|
65
72
|
"jest-mock-extended": "^3.0.4",
|
|
66
|
-
"ts-jest": "^29.1.0",
|
|
67
73
|
"ts-node": "^10.9.1",
|
|
68
74
|
"typescript": "^5.0.4"
|
|
69
75
|
},
|
package/src/archiver/archiver.ts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
|
-
FromLogType,
|
|
3
|
-
GetUnencryptedLogsResponse,
|
|
4
|
-
L1ToL2MessageSource,
|
|
2
|
+
type FromLogType,
|
|
3
|
+
type GetUnencryptedLogsResponse,
|
|
4
|
+
type L1ToL2MessageSource,
|
|
5
5
|
L2Block,
|
|
6
|
-
L2BlockL2Logs,
|
|
7
|
-
L2BlockSource,
|
|
8
|
-
L2LogsSource,
|
|
9
|
-
LogFilter,
|
|
10
|
-
LogType,
|
|
11
|
-
TxEffect,
|
|
12
|
-
TxHash,
|
|
13
|
-
TxReceipt,
|
|
14
|
-
UnencryptedL2Log,
|
|
6
|
+
type L2BlockL2Logs,
|
|
7
|
+
type L2BlockSource,
|
|
8
|
+
type L2LogsSource,
|
|
9
|
+
type LogFilter,
|
|
10
|
+
type LogType,
|
|
11
|
+
type TxEffect,
|
|
12
|
+
type TxHash,
|
|
13
|
+
type TxReceipt,
|
|
14
|
+
type UnencryptedL2Log,
|
|
15
15
|
} from '@aztec/circuit-types';
|
|
16
|
-
import { ContractClassRegisteredEvent, FunctionSelector } from '@aztec/circuits.js';
|
|
16
|
+
import { ContractClassRegisteredEvent, type FunctionSelector } from '@aztec/circuits.js';
|
|
17
17
|
import {
|
|
18
18
|
ContractInstanceDeployedEvent,
|
|
19
19
|
PrivateFunctionBroadcastedEvent,
|
|
@@ -22,28 +22,28 @@ import {
|
|
|
22
22
|
isValidUnconstrainedFunctionMembershipProof,
|
|
23
23
|
} from '@aztec/circuits.js/contract';
|
|
24
24
|
import { createEthereumChain } from '@aztec/ethereum';
|
|
25
|
-
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
26
|
-
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
25
|
+
import { type AztecAddress } from '@aztec/foundation/aztec-address';
|
|
26
|
+
import { type EthAddress } from '@aztec/foundation/eth-address';
|
|
27
27
|
import { Fr } from '@aztec/foundation/fields';
|
|
28
|
-
import { DebugLogger, createDebugLogger } from '@aztec/foundation/log';
|
|
28
|
+
import { type DebugLogger, createDebugLogger } from '@aztec/foundation/log';
|
|
29
29
|
import { RunningPromise } from '@aztec/foundation/running-promise';
|
|
30
30
|
import { getCanonicalClassRegistererAddress } from '@aztec/protocol-contracts/class-registerer';
|
|
31
31
|
import {
|
|
32
|
-
ContractClassPublic,
|
|
33
|
-
ContractDataSource,
|
|
34
|
-
ContractInstanceWithAddress,
|
|
35
|
-
ExecutablePrivateFunctionWithMembershipProof,
|
|
36
|
-
PublicFunction,
|
|
37
|
-
UnconstrainedFunctionWithMembershipProof,
|
|
32
|
+
type ContractClassPublic,
|
|
33
|
+
type ContractDataSource,
|
|
34
|
+
type ContractInstanceWithAddress,
|
|
35
|
+
type ExecutablePrivateFunctionWithMembershipProof,
|
|
36
|
+
type PublicFunction,
|
|
37
|
+
type UnconstrainedFunctionWithMembershipProof,
|
|
38
38
|
} from '@aztec/types/contracts';
|
|
39
39
|
|
|
40
40
|
import groupBy from 'lodash.groupby';
|
|
41
|
-
import { Chain, HttpTransport, PublicClient, createPublicClient, http } from 'viem';
|
|
41
|
+
import { type Chain, type HttpTransport, type PublicClient, createPublicClient, http } from 'viem';
|
|
42
42
|
|
|
43
|
-
import { ArchiverDataStore } from './archiver_store.js';
|
|
44
|
-
import { ArchiverConfig } from './config.js';
|
|
43
|
+
import { type ArchiverDataStore } from './archiver_store.js';
|
|
44
|
+
import { type ArchiverConfig } from './config.js';
|
|
45
45
|
import {
|
|
46
|
-
DataRetrieval,
|
|
46
|
+
type DataRetrieval,
|
|
47
47
|
retrieveBlockBodiesFromAvailabilityOracle,
|
|
48
48
|
retrieveBlockMetadataFromRollup,
|
|
49
49
|
retrieveL1ToL2Messages,
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import {
|
|
2
|
-
Body,
|
|
3
|
-
EncryptedL2BlockL2Logs,
|
|
4
|
-
FromLogType,
|
|
5
|
-
GetUnencryptedLogsResponse,
|
|
6
|
-
InboxLeaf,
|
|
7
|
-
L2Block,
|
|
8
|
-
L2BlockL2Logs,
|
|
9
|
-
LogFilter,
|
|
10
|
-
LogType,
|
|
11
|
-
TxEffect,
|
|
12
|
-
TxHash,
|
|
13
|
-
TxReceipt,
|
|
14
|
-
UnencryptedL2BlockL2Logs,
|
|
2
|
+
type Body,
|
|
3
|
+
type EncryptedL2BlockL2Logs,
|
|
4
|
+
type FromLogType,
|
|
5
|
+
type GetUnencryptedLogsResponse,
|
|
6
|
+
type InboxLeaf,
|
|
7
|
+
type L2Block,
|
|
8
|
+
type L2BlockL2Logs,
|
|
9
|
+
type LogFilter,
|
|
10
|
+
type LogType,
|
|
11
|
+
type TxEffect,
|
|
12
|
+
type TxHash,
|
|
13
|
+
type TxReceipt,
|
|
14
|
+
type UnencryptedL2BlockL2Logs,
|
|
15
15
|
} from '@aztec/circuit-types';
|
|
16
|
-
import { Fr } from '@aztec/circuits.js';
|
|
17
|
-
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
16
|
+
import { type Fr } from '@aztec/circuits.js';
|
|
17
|
+
import { type AztecAddress } from '@aztec/foundation/aztec-address';
|
|
18
18
|
import {
|
|
19
|
-
ContractClassPublic,
|
|
20
|
-
ContractInstanceWithAddress,
|
|
21
|
-
ExecutablePrivateFunctionWithMembershipProof,
|
|
22
|
-
UnconstrainedFunctionWithMembershipProof,
|
|
19
|
+
type ContractClassPublic,
|
|
20
|
+
type ContractInstanceWithAddress,
|
|
21
|
+
type ExecutablePrivateFunctionWithMembershipProof,
|
|
22
|
+
type UnconstrainedFunctionWithMembershipProof,
|
|
23
23
|
} from '@aztec/types/contracts';
|
|
24
24
|
|
|
25
|
-
import { DataRetrieval } from './data_retrieval.js';
|
|
25
|
+
import { type DataRetrieval } from './data_retrieval.js';
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* Represents the latest L1 block processed by the archiver for various objects in L2.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { InboxLeaf, L2Block,
|
|
1
|
+
import { InboxLeaf, L2Block, LogId, LogType, TxHash } from '@aztec/circuit-types';
|
|
2
2
|
import '@aztec/circuit-types/jest';
|
|
3
3
|
import { AztecAddress, Fr, INITIAL_L2_BLOCK_NUM, L1_TO_L2_MSG_SUBTREE_HEIGHT } from '@aztec/circuits.js';
|
|
4
4
|
import {
|
|
@@ -8,10 +8,14 @@ import {
|
|
|
8
8
|
} from '@aztec/circuits.js/testing';
|
|
9
9
|
import { times } from '@aztec/foundation/collection';
|
|
10
10
|
import { randomBytes, randomInt } from '@aztec/foundation/crypto';
|
|
11
|
-
import {
|
|
11
|
+
import {
|
|
12
|
+
type ContractClassPublic,
|
|
13
|
+
type ContractInstanceWithAddress,
|
|
14
|
+
SerializableContractInstance,
|
|
15
|
+
} from '@aztec/types/contracts';
|
|
12
16
|
|
|
13
|
-
import { ArchiverDataStore } from './archiver_store.js';
|
|
14
|
-
import { DataRetrieval } from './data_retrieval.js';
|
|
17
|
+
import { type ArchiverDataStore } from './archiver_store.js';
|
|
18
|
+
import { type DataRetrieval } from './data_retrieval.js';
|
|
15
19
|
|
|
16
20
|
/**
|
|
17
21
|
* @param testName - The name of the test suite.
|
|
@@ -159,11 +163,11 @@ export function describeArchiverDataStore(testName: string, getStore: () => Arch
|
|
|
159
163
|
});
|
|
160
164
|
|
|
161
165
|
it.each([
|
|
162
|
-
() => blocks.retrievedData[0].
|
|
163
|
-
() => blocks.retrievedData[9].
|
|
164
|
-
() => blocks.retrievedData[3].
|
|
165
|
-
() => blocks.retrievedData[5].
|
|
166
|
-
() => blocks.retrievedData[1].
|
|
166
|
+
() => blocks.retrievedData[0].body.txEffects[0],
|
|
167
|
+
() => blocks.retrievedData[9].body.txEffects[3],
|
|
168
|
+
() => blocks.retrievedData[3].body.txEffects[1],
|
|
169
|
+
() => blocks.retrievedData[5].body.txEffects[2],
|
|
170
|
+
() => blocks.retrievedData[1].body.txEffects[0],
|
|
167
171
|
])('retrieves a previously stored transaction', async getExpectedTx => {
|
|
168
172
|
const expectedTx = getExpectedTx();
|
|
169
173
|
const actualTx = await store.getTxEffect(expectedTx.txHash);
|
|
@@ -324,7 +328,7 @@ export function describeArchiverDataStore(testName: string, getStore: () => Arch
|
|
|
324
328
|
// get random tx
|
|
325
329
|
const targetBlockIndex = randomInt(numBlocks);
|
|
326
330
|
const targetTxIndex = randomInt(txsPerBlock);
|
|
327
|
-
const targetTxHash =
|
|
331
|
+
const targetTxHash = blocks.retrievedData[targetBlockIndex].body.txEffects[targetTxIndex].txHash;
|
|
328
332
|
|
|
329
333
|
const response = await store.getUnencryptedLogs({ txHash: targetTxHash });
|
|
330
334
|
const logs = response.logs;
|
package/src/archiver/config.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { L1ContractAddresses } from '@aztec/ethereum';
|
|
1
|
+
import { type L1ContractAddresses } from '@aztec/ethereum';
|
|
2
2
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -81,7 +81,7 @@ export function getConfigEnvVars(): ArchiverConfig {
|
|
|
81
81
|
: EthAddress.ZERO,
|
|
82
82
|
};
|
|
83
83
|
return {
|
|
84
|
-
rpcUrl: ETHEREUM_HOST || '
|
|
84
|
+
rpcUrl: ETHEREUM_HOST || '',
|
|
85
85
|
archiverPollingIntervalMS: ARCHIVER_POLLING_INTERVAL_MS ? +ARCHIVER_POLLING_INTERVAL_MS : 1_000,
|
|
86
86
|
viemPollingIntervalMS: ARCHIVER_VIEM_POLLING_INTERVAL_MS ? +ARCHIVER_VIEM_POLLING_INTERVAL_MS : 1_000,
|
|
87
87
|
apiKey: API_KEY,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Body, InboxLeaf } from '@aztec/circuit-types';
|
|
2
|
-
import { AppendOnlyTreeSnapshot, Header } from '@aztec/circuits.js';
|
|
3
|
-
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
1
|
+
import { type Body, type InboxLeaf } from '@aztec/circuit-types';
|
|
2
|
+
import { type AppendOnlyTreeSnapshot, type Header } from '@aztec/circuits.js';
|
|
3
|
+
import { type EthAddress } from '@aztec/foundation/eth-address';
|
|
4
4
|
|
|
5
|
-
import { PublicClient } from 'viem';
|
|
5
|
+
import { type PublicClient } from 'viem';
|
|
6
6
|
|
|
7
7
|
import {
|
|
8
8
|
getL2BlockProcessedLogs,
|