@aztec/archiver 0.0.0-test.1 → 0.0.1-commit.5476d83
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/README.md +27 -6
- package/dest/archiver/archiver.d.ts +147 -57
- package/dest/archiver/archiver.d.ts.map +1 -1
- package/dest/archiver/archiver.js +841 -333
- package/dest/archiver/archiver_store.d.ts +85 -50
- 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 +708 -213
- package/dest/archiver/config.d.ts +5 -21
- package/dest/archiver/config.d.ts.map +1 -1
- package/dest/archiver/config.js +21 -12
- package/dest/archiver/data_retrieval.d.ts +32 -27
- package/dest/archiver/data_retrieval.d.ts.map +1 -1
- package/dest/archiver/data_retrieval.js +197 -94
- package/dest/archiver/errors.d.ts +9 -1
- package/dest/archiver/errors.d.ts.map +1 -1
- package/dest/archiver/errors.js +12 -0
- package/dest/archiver/index.d.ts +3 -4
- package/dest/archiver/index.d.ts.map +1 -1
- package/dest/archiver/index.js +1 -2
- package/dest/archiver/instrumentation.d.ts +12 -6
- package/dest/archiver/instrumentation.d.ts.map +1 -1
- package/dest/archiver/instrumentation.js +58 -17
- package/dest/archiver/kv_archiver_store/block_store.d.ts +48 -11
- package/dest/archiver/kv_archiver_store/block_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/block_store.js +216 -63
- 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_class_store.js +12 -18
- package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts +11 -8
- package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/contract_instance_store.js +30 -16
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts +50 -35
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/kv_archiver_store.js +88 -46
- package/dest/archiver/kv_archiver_store/log_store.d.ts +2 -2
- package/dest/archiver/kv_archiver_store/log_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/log_store.js +18 -46
- package/dest/archiver/kv_archiver_store/message_store.d.ts +23 -17
- package/dest/archiver/kv_archiver_store/message_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/message_store.js +150 -48
- package/dest/archiver/structs/data_retrieval.d.ts +1 -1
- package/dest/archiver/structs/inbox_message.d.ts +15 -0
- package/dest/archiver/structs/inbox_message.d.ts.map +1 -0
- package/dest/archiver/structs/inbox_message.js +38 -0
- package/dest/archiver/structs/published.d.ts +3 -11
- package/dest/archiver/structs/published.d.ts.map +1 -1
- package/dest/archiver/structs/published.js +1 -1
- package/dest/archiver/validation.d.ts +17 -0
- package/dest/archiver/validation.d.ts.map +1 -0
- package/dest/archiver/validation.js +98 -0
- package/dest/factory.d.ts +8 -13
- package/dest/factory.d.ts.map +1 -1
- package/dest/factory.js +18 -49
- package/dest/index.d.ts +2 -2
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +1 -1
- package/dest/rpc/index.d.ts +2 -3
- package/dest/rpc/index.d.ts.map +1 -1
- package/dest/rpc/index.js +1 -4
- package/dest/test/index.d.ts +1 -1
- package/dest/test/mock_archiver.d.ts +2 -2
- package/dest/test/mock_archiver.d.ts.map +1 -1
- package/dest/test/mock_l1_to_l2_message_source.d.ts +5 -3
- package/dest/test/mock_l1_to_l2_message_source.d.ts.map +1 -1
- package/dest/test/mock_l1_to_l2_message_source.js +14 -1
- package/dest/test/mock_l2_block_source.d.ts +38 -10
- package/dest/test/mock_l2_block_source.d.ts.map +1 -1
- package/dest/test/mock_l2_block_source.js +119 -8
- package/dest/test/mock_structs.d.ts +9 -0
- package/dest/test/mock_structs.d.ts.map +1 -0
- package/dest/test/mock_structs.js +37 -0
- package/package.json +28 -30
- package/src/archiver/archiver.ts +1087 -410
- package/src/archiver/archiver_store.ts +97 -55
- package/src/archiver/archiver_store_test_suite.ts +664 -210
- package/src/archiver/config.ts +28 -41
- package/src/archiver/data_retrieval.ts +279 -125
- package/src/archiver/errors.ts +21 -0
- package/src/archiver/index.ts +2 -3
- package/src/archiver/instrumentation.ts +77 -22
- package/src/archiver/kv_archiver_store/block_store.ts +270 -72
- package/src/archiver/kv_archiver_store/contract_class_store.ts +13 -23
- package/src/archiver/kv_archiver_store/contract_instance_store.ts +35 -27
- package/src/archiver/kv_archiver_store/kv_archiver_store.ts +127 -63
- package/src/archiver/kv_archiver_store/log_store.ts +24 -62
- package/src/archiver/kv_archiver_store/message_store.ts +209 -53
- package/src/archiver/structs/inbox_message.ts +41 -0
- package/src/archiver/structs/published.ts +2 -11
- package/src/archiver/validation.ts +124 -0
- package/src/factory.ts +24 -66
- package/src/index.ts +1 -1
- package/src/rpc/index.ts +1 -5
- package/src/test/mock_archiver.ts +1 -1
- package/src/test/mock_l1_to_l2_message_source.ts +14 -3
- package/src/test/mock_l2_block_source.ts +158 -13
- package/src/test/mock_structs.ts +49 -0
- package/dest/archiver/kv_archiver_store/nullifier_store.d.ts +0 -12
- package/dest/archiver/kv_archiver_store/nullifier_store.d.ts.map +0 -1
- package/dest/archiver/kv_archiver_store/nullifier_store.js +0 -73
- package/dest/archiver/memory_archiver_store/l1_to_l2_message_store.d.ts +0 -23
- package/dest/archiver/memory_archiver_store/l1_to_l2_message_store.d.ts.map +0 -1
- package/dest/archiver/memory_archiver_store/l1_to_l2_message_store.js +0 -49
- package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts +0 -175
- package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts.map +0 -1
- package/dest/archiver/memory_archiver_store/memory_archiver_store.js +0 -636
- package/src/archiver/kv_archiver_store/nullifier_store.ts +0 -97
- package/src/archiver/memory_archiver_store/l1_to_l2_message_store.ts +0 -61
- package/src/archiver/memory_archiver_store/memory_archiver_store.ts +0 -801
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract_class_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/contract_class_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AAExE,OAAO,KAAK,EACV,mBAAmB,EAEnB,4CAA4C,EAC5C,
|
|
1
|
+
{"version":3,"file":"contract_class_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/contract_class_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AAExE,OAAO,KAAK,EACV,mBAAmB,EAEnB,4CAA4C,EAC5C,kCAAkC,EACnC,MAAM,wBAAwB,CAAC;AAGhC;;GAEG;AACH,qBAAa,kBAAkB;;IAIjB,OAAO,CAAC,EAAE;IAAtB,YAAoB,EAAE,EAAE,iBAAiB,EAGxC;IAEK,gBAAgB,CACpB,aAAa,EAAE,mBAAmB,EAClC,kBAAkB,EAAE,EAAE,EACtB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAMf;IAEK,qBAAqB,CAAC,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMlG;IAEK,gBAAgB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAGvE;IAEK,qBAAqB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAG3D;IAEK,mBAAmB,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC,CAEzC;IAEK,YAAY,CAChB,eAAe,EAAE,EAAE,EACnB,mBAAmB,EAAE,4CAA4C,EAAE,EACnE,mBAAmB,EAAE,kCAAkC,EAAE,GACxD,OAAO,CAAC,OAAO,CAAC,CAyBlB;CACF"}
|
|
@@ -42,23 +42,23 @@ import { Vector } from '@aztec/stdlib/types';
|
|
|
42
42
|
async getContractClassIds() {
|
|
43
43
|
return (await toArray(this.#contractClasses.keysAsync())).map((key)=>Fr.fromHexString(key));
|
|
44
44
|
}
|
|
45
|
-
async addFunctions(contractClassId, newPrivateFunctions,
|
|
45
|
+
async addFunctions(contractClassId, newPrivateFunctions, newUtilityFunctions) {
|
|
46
46
|
await this.db.transactionAsync(async ()=>{
|
|
47
47
|
const existingClassBuffer = await this.#contractClasses.getAsync(contractClassId.toString());
|
|
48
48
|
if (!existingClassBuffer) {
|
|
49
49
|
throw new Error(`Unknown contract class ${contractClassId} when adding private functions to store`);
|
|
50
50
|
}
|
|
51
51
|
const existingClass = deserializeContractClassPublic(existingClassBuffer);
|
|
52
|
-
const { privateFunctions: existingPrivateFns,
|
|
52
|
+
const { privateFunctions: existingPrivateFns, utilityFunctions: existingUtilityFns } = existingClass;
|
|
53
53
|
const updatedClass = {
|
|
54
54
|
...existingClass,
|
|
55
55
|
privateFunctions: [
|
|
56
56
|
...existingPrivateFns,
|
|
57
57
|
...newPrivateFunctions.filter((newFn)=>!existingPrivateFns.some((f)=>f.selector.equals(newFn.selector)))
|
|
58
58
|
],
|
|
59
|
-
|
|
60
|
-
...
|
|
61
|
-
...
|
|
59
|
+
utilityFunctions: [
|
|
60
|
+
...existingUtilityFns,
|
|
61
|
+
...newUtilityFunctions.filter((newFn)=>!existingUtilityFns.some((f)=>f.selector.equals(newFn.selector)))
|
|
62
62
|
]
|
|
63
63
|
};
|
|
64
64
|
await this.#contractClasses.set(contractClassId.toString(), serializeContractClassPublic(updatedClass));
|
|
@@ -67,12 +67,12 @@ import { Vector } from '@aztec/stdlib/types';
|
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
function serializeContractClassPublic(contractClass) {
|
|
70
|
-
return serializeToBuffer(contractClass.l2BlockNumber, numToUInt8(contractClass.version), contractClass.artifactHash, contractClass.
|
|
70
|
+
return serializeToBuffer(contractClass.l2BlockNumber, numToUInt8(contractClass.version), contractClass.artifactHash, contractClass.privateFunctions.length, contractClass.privateFunctions.map(serializePrivateFunction), contractClass.utilityFunctions.length, contractClass.utilityFunctions.map(serializeUtilityFunction), contractClass.packedBytecode.length, contractClass.packedBytecode, contractClass.privateFunctionsRoot);
|
|
71
71
|
}
|
|
72
72
|
function serializePrivateFunction(fn) {
|
|
73
|
-
return serializeToBuffer(fn.selector, fn.vkHash, fn.bytecode.length, fn.bytecode, fn.functionMetadataHash, fn.artifactMetadataHash, fn.
|
|
73
|
+
return serializeToBuffer(fn.selector, fn.vkHash, fn.bytecode.length, fn.bytecode, fn.functionMetadataHash, fn.artifactMetadataHash, fn.utilityFunctionsTreeRoot, new Vector(fn.privateFunctionTreeSiblingPath), fn.privateFunctionTreeLeafIndex, new Vector(fn.artifactTreeSiblingPath), fn.artifactTreeLeafIndex);
|
|
74
74
|
}
|
|
75
|
-
function
|
|
75
|
+
function serializeUtilityFunction(fn) {
|
|
76
76
|
return serializeToBuffer(fn.selector, fn.bytecode.length, fn.bytecode, fn.functionMetadataHash, fn.artifactMetadataHash, fn.privateFunctionsArtifactTreeRoot, new Vector(fn.artifactTreeSiblingPath), fn.artifactTreeLeafIndex);
|
|
77
77
|
}
|
|
78
78
|
function deserializeContractClassPublic(buffer) {
|
|
@@ -81,17 +81,11 @@ function deserializeContractClassPublic(buffer) {
|
|
|
81
81
|
l2BlockNumber: reader.readNumber(),
|
|
82
82
|
version: reader.readUInt8(),
|
|
83
83
|
artifactHash: reader.readObject(Fr),
|
|
84
|
-
publicFunctions: reader.readVector({
|
|
85
|
-
fromBuffer: (reader)=>({
|
|
86
|
-
selector: reader.readObject(FunctionSelector),
|
|
87
|
-
bytecode: reader.readBuffer()
|
|
88
|
-
})
|
|
89
|
-
}),
|
|
90
84
|
privateFunctions: reader.readVector({
|
|
91
85
|
fromBuffer: deserializePrivateFunction
|
|
92
86
|
}),
|
|
93
|
-
|
|
94
|
-
fromBuffer:
|
|
87
|
+
utilityFunctions: reader.readVector({
|
|
88
|
+
fromBuffer: deserializeUtilityFunction
|
|
95
89
|
}),
|
|
96
90
|
packedBytecode: reader.readBuffer(),
|
|
97
91
|
privateFunctionsRoot: reader.readObject(Fr)
|
|
@@ -105,14 +99,14 @@ function deserializePrivateFunction(buffer) {
|
|
|
105
99
|
bytecode: reader.readBuffer(),
|
|
106
100
|
functionMetadataHash: reader.readObject(Fr),
|
|
107
101
|
artifactMetadataHash: reader.readObject(Fr),
|
|
108
|
-
|
|
102
|
+
utilityFunctionsTreeRoot: reader.readObject(Fr),
|
|
109
103
|
privateFunctionTreeSiblingPath: reader.readVector(Fr),
|
|
110
104
|
privateFunctionTreeLeafIndex: reader.readNumber(),
|
|
111
105
|
artifactTreeSiblingPath: reader.readVector(Fr),
|
|
112
106
|
artifactTreeLeafIndex: reader.readNumber()
|
|
113
107
|
};
|
|
114
108
|
}
|
|
115
|
-
function
|
|
109
|
+
function deserializeUtilityFunction(buffer) {
|
|
116
110
|
const reader = BufferReader.asReader(buffer);
|
|
117
111
|
return {
|
|
118
112
|
selector: reader.readObject(FunctionSelector),
|
|
@@ -2,20 +2,23 @@ import type { Fr } from '@aztec/foundation/fields';
|
|
|
2
2
|
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
3
3
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
4
4
|
import { type ContractInstanceUpdateWithAddress, type ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
5
|
-
type
|
|
5
|
+
import type { UInt64 } from '@aztec/stdlib/types';
|
|
6
|
+
type ContractInstanceUpdateKey = [string, string] | [string, string, number];
|
|
6
7
|
/**
|
|
7
8
|
* LMDB implementation of the ArchiverDataStore interface.
|
|
8
9
|
*/
|
|
9
10
|
export declare class ContractInstanceStore {
|
|
10
11
|
#private;
|
|
12
|
+
private db;
|
|
11
13
|
constructor(db: AztecAsyncKVStore);
|
|
12
|
-
addContractInstance(contractInstance: ContractInstanceWithAddress): Promise<void>;
|
|
14
|
+
addContractInstance(contractInstance: ContractInstanceWithAddress, blockNumber: number): Promise<void>;
|
|
13
15
|
deleteContractInstance(contractInstance: ContractInstanceWithAddress): Promise<void>;
|
|
14
|
-
getUpdateKey(contractAddress: AztecAddress,
|
|
15
|
-
addContractInstanceUpdate(contractInstanceUpdate: ContractInstanceUpdateWithAddress,
|
|
16
|
-
deleteContractInstanceUpdate(contractInstanceUpdate: ContractInstanceUpdateWithAddress,
|
|
17
|
-
getCurrentContractInstanceClassId(address: AztecAddress,
|
|
18
|
-
getContractInstance(address: AztecAddress,
|
|
16
|
+
getUpdateKey(contractAddress: AztecAddress, timestamp: UInt64, logIndex?: number): ContractInstanceUpdateKey;
|
|
17
|
+
addContractInstanceUpdate(contractInstanceUpdate: ContractInstanceUpdateWithAddress, timestamp: UInt64, logIndex: number): Promise<void>;
|
|
18
|
+
deleteContractInstanceUpdate(contractInstanceUpdate: ContractInstanceUpdateWithAddress, timestamp: UInt64, logIndex: number): Promise<void>;
|
|
19
|
+
getCurrentContractInstanceClassId(address: AztecAddress, timestamp: UInt64, originalClassId: Fr): Promise<Fr>;
|
|
20
|
+
getContractInstance(address: AztecAddress, timestamp: UInt64): Promise<ContractInstanceWithAddress | undefined>;
|
|
21
|
+
getContractInstanceDeploymentBlockNumber(address: AztecAddress): Promise<number | undefined>;
|
|
19
22
|
}
|
|
20
23
|
export {};
|
|
21
|
-
//# sourceMappingURL=
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfaW5zdGFuY2Vfc3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcmNoaXZlci9rdl9hcmNoaXZlcl9zdG9yZS9jb250cmFjdF9pbnN0YW5jZV9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBaUIsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsS0FBSyxpQ0FBaUMsRUFDdEMsS0FBSywyQkFBMkIsRUFHakMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxLQUFLLHlCQUF5QixHQUFHLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUU3RTs7R0FFRztBQUNILHFCQUFhLHFCQUFxQjs7SUFLcEIsT0FBTyxDQUFDLEVBQUU7SUFBdEIsWUFBb0IsRUFBRSxFQUFFLGlCQUFpQixFQUl4QztJQUVELG1CQUFtQixDQUFDLGdCQUFnQixFQUFFLDJCQUEyQixFQUFFLFdBQVcsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQVFyRztJQUVELHNCQUFzQixDQUFDLGdCQUFnQixFQUFFLDJCQUEyQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FLbkY7SUFFRCxZQUFZLENBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLE1BQU0sR0FBRyx5QkFBeUIsQ0FNM0c7SUFFRCx5QkFBeUIsQ0FDdkIsc0JBQXNCLEVBQUUsaUNBQWlDLEVBQ3pELFNBQVMsRUFBRSxNQUFNLEVBQ2pCLFFBQVEsRUFBRSxNQUFNLEdBQ2YsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUtmO0lBRUQsNEJBQTRCLENBQzFCLHNCQUFzQixFQUFFLGlDQUFpQyxFQUN6RCxTQUFTLEVBQUUsTUFBTSxFQUNqQixRQUFRLEVBQUUsTUFBTSxHQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFZjtJQUVLLGlDQUFpQyxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FvQmxIO0lBRUssbUJBQW1CLENBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQ3JCLFNBQVMsRUFBRSxNQUFNLEdBQ2hCLE9BQU8sQ0FBQywyQkFBMkIsR0FBRyxTQUFTLENBQUMsQ0FhbEQ7SUFFRCx3Q0FBd0MsQ0FBQyxPQUFPLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBRTNGO0NBQ0YifQ==
|
|
@@ -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,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EACL,KAAK,iCAAiC,EACtC,KAAK,2BAA2B,EAGjC,MAAM,wBAAwB,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,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EACL,KAAK,iCAAiC,EACtC,KAAK,2BAA2B,EAGjC,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,KAAK,yBAAyB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE7E;;GAEG;AACH,qBAAa,qBAAqB;;IAKpB,OAAO,CAAC,EAAE;IAAtB,YAAoB,EAAE,EAAE,iBAAiB,EAIxC;IAED,mBAAmB,CAAC,gBAAgB,EAAE,2BAA2B,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQrG;IAED,sBAAsB,CAAC,gBAAgB,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAKnF;IAED,YAAY,CAAC,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,yBAAyB,CAM3G;IAED,yBAAyB,CACvB,sBAAsB,EAAE,iCAAiC,EACzD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAKf;IAED,4BAA4B,CAC1B,sBAAsB,EAAE,iCAAiC,EACzD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAEf;IAEK,iCAAiC,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAoBlH;IAEK,mBAAmB,CACvB,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAalD;IAED,wCAAwC,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE3F;CACF"}
|
|
@@ -2,43 +2,54 @@ import { SerializableContractInstance, SerializableContractInstanceUpdate } from
|
|
|
2
2
|
/**
|
|
3
3
|
* LMDB implementation of the ArchiverDataStore interface.
|
|
4
4
|
*/ export class ContractInstanceStore {
|
|
5
|
+
db;
|
|
5
6
|
#contractInstances;
|
|
7
|
+
#contractInstancePublishedAt;
|
|
6
8
|
#contractInstanceUpdates;
|
|
7
9
|
constructor(db){
|
|
10
|
+
this.db = db;
|
|
8
11
|
this.#contractInstances = db.openMap('archiver_contract_instances');
|
|
12
|
+
this.#contractInstancePublishedAt = db.openMap('archiver_contract_instances_publication_block_number');
|
|
9
13
|
this.#contractInstanceUpdates = db.openMap('archiver_contract_instance_updates');
|
|
10
14
|
}
|
|
11
|
-
addContractInstance(contractInstance) {
|
|
12
|
-
return this
|
|
15
|
+
addContractInstance(contractInstance, blockNumber) {
|
|
16
|
+
return this.db.transactionAsync(async ()=>{
|
|
17
|
+
await this.#contractInstances.set(contractInstance.address.toString(), new SerializableContractInstance(contractInstance).toBuffer());
|
|
18
|
+
await this.#contractInstancePublishedAt.set(contractInstance.address.toString(), blockNumber);
|
|
19
|
+
});
|
|
13
20
|
}
|
|
14
21
|
deleteContractInstance(contractInstance) {
|
|
15
|
-
return this
|
|
22
|
+
return this.db.transactionAsync(async ()=>{
|
|
23
|
+
await this.#contractInstances.delete(contractInstance.address.toString());
|
|
24
|
+
await this.#contractInstancePublishedAt.delete(contractInstance.address.toString());
|
|
25
|
+
});
|
|
16
26
|
}
|
|
17
|
-
getUpdateKey(contractAddress,
|
|
27
|
+
getUpdateKey(contractAddress, timestamp, logIndex) {
|
|
18
28
|
if (logIndex === undefined) {
|
|
19
29
|
return [
|
|
20
30
|
contractAddress.toString(),
|
|
21
|
-
|
|
31
|
+
timestamp.toString()
|
|
22
32
|
];
|
|
23
33
|
} else {
|
|
24
34
|
return [
|
|
25
35
|
contractAddress.toString(),
|
|
26
|
-
|
|
36
|
+
timestamp.toString(),
|
|
27
37
|
logIndex
|
|
28
38
|
];
|
|
29
39
|
}
|
|
30
40
|
}
|
|
31
|
-
addContractInstanceUpdate(contractInstanceUpdate,
|
|
32
|
-
return this.#contractInstanceUpdates.set(this.getUpdateKey(contractInstanceUpdate.address,
|
|
41
|
+
addContractInstanceUpdate(contractInstanceUpdate, timestamp, logIndex) {
|
|
42
|
+
return this.#contractInstanceUpdates.set(this.getUpdateKey(contractInstanceUpdate.address, timestamp, logIndex), new SerializableContractInstanceUpdate(contractInstanceUpdate).toBuffer());
|
|
33
43
|
}
|
|
34
|
-
deleteContractInstanceUpdate(contractInstanceUpdate,
|
|
35
|
-
return this.#contractInstanceUpdates.delete(this.getUpdateKey(contractInstanceUpdate.address,
|
|
44
|
+
deleteContractInstanceUpdate(contractInstanceUpdate, timestamp, logIndex) {
|
|
45
|
+
return this.#contractInstanceUpdates.delete(this.getUpdateKey(contractInstanceUpdate.address, timestamp, logIndex));
|
|
36
46
|
}
|
|
37
|
-
async getCurrentContractInstanceClassId(address,
|
|
38
|
-
// We need to find the last update before the given
|
|
47
|
+
async getCurrentContractInstanceClassId(address, timestamp, originalClassId) {
|
|
48
|
+
// We need to find the last update before the given timestamp
|
|
39
49
|
const queryResult = await this.#contractInstanceUpdates.valuesAsync({
|
|
40
50
|
reverse: true,
|
|
41
|
-
|
|
51
|
+
start: this.getUpdateKey(address, 0n),
|
|
52
|
+
end: this.getUpdateKey(address, timestamp + 1n),
|
|
42
53
|
limit: 1
|
|
43
54
|
}).next();
|
|
44
55
|
if (queryResult.done) {
|
|
@@ -46,18 +57,21 @@ import { SerializableContractInstance, SerializableContractInstanceUpdate } from
|
|
|
46
57
|
}
|
|
47
58
|
const serializedUpdate = queryResult.value;
|
|
48
59
|
const update = SerializableContractInstanceUpdate.fromBuffer(serializedUpdate);
|
|
49
|
-
if (
|
|
60
|
+
if (timestamp < update.timestampOfChange) {
|
|
50
61
|
return update.prevContractClassId.isZero() ? originalClassId : update.prevContractClassId;
|
|
51
62
|
}
|
|
52
63
|
return update.newContractClassId;
|
|
53
64
|
}
|
|
54
|
-
async getContractInstance(address,
|
|
65
|
+
async getContractInstance(address, timestamp) {
|
|
55
66
|
const contractInstance = await this.#contractInstances.getAsync(address.toString());
|
|
56
67
|
if (!contractInstance) {
|
|
57
68
|
return undefined;
|
|
58
69
|
}
|
|
59
70
|
const instance = SerializableContractInstance.fromBuffer(contractInstance).withAddress(address);
|
|
60
|
-
instance.currentContractClassId = await this.getCurrentContractInstanceClassId(address,
|
|
71
|
+
instance.currentContractClassId = await this.getCurrentContractInstanceClassId(address, timestamp, instance.originalContractClassId);
|
|
61
72
|
return instance;
|
|
62
73
|
}
|
|
74
|
+
getContractInstanceDeploymentBlockNumber(address) {
|
|
75
|
+
return this.#contractInstancePublishedAt.getAsync(address.toString());
|
|
76
|
+
}
|
|
63
77
|
}
|
|
@@ -1,44 +1,56 @@
|
|
|
1
|
+
import type { L1BlockId } from '@aztec/ethereum';
|
|
1
2
|
import type { Fr } from '@aztec/foundation/fields';
|
|
2
|
-
import type { AztecAsyncKVStore, StoreSize } from '@aztec/kv-store';
|
|
3
|
+
import type { AztecAsyncKVStore, CustomRange, StoreSize } from '@aztec/kv-store';
|
|
3
4
|
import { FunctionSelector } from '@aztec/stdlib/abi';
|
|
4
5
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
5
|
-
import
|
|
6
|
-
import type { ContractClassPublic, ContractInstanceUpdateWithAddress, ContractInstanceWithAddress, ExecutablePrivateFunctionWithMembershipProof,
|
|
6
|
+
import { type L2Block, type ValidateBlockResult } from '@aztec/stdlib/block';
|
|
7
|
+
import type { ContractClassPublic, ContractDataSource, ContractInstanceUpdateWithAddress, ContractInstanceWithAddress, ExecutablePrivateFunctionWithMembershipProof, UtilityFunctionWithMembershipProof } from '@aztec/stdlib/contract';
|
|
7
8
|
import type { GetContractClassLogsResponse, GetPublicLogsResponse } from '@aztec/stdlib/interfaces/client';
|
|
8
9
|
import { type LogFilter, PrivateLog, type TxScopedL2Log } from '@aztec/stdlib/logs';
|
|
9
|
-
import type { InboxLeaf } from '@aztec/stdlib/messaging';
|
|
10
10
|
import type { BlockHeader, TxHash, TxReceipt } from '@aztec/stdlib/tx';
|
|
11
|
+
import type { UInt64 } from '@aztec/stdlib/types';
|
|
11
12
|
import type { ArchiverDataStore, ArchiverL1SynchPoint } from '../archiver_store.js';
|
|
12
|
-
import type {
|
|
13
|
-
import type {
|
|
13
|
+
import type { InboxMessage } from '../structs/inbox_message.js';
|
|
14
|
+
import type { PublishedL2Block } from '../structs/published.js';
|
|
15
|
+
export declare const ARCHIVER_DB_VERSION = 3;
|
|
16
|
+
export declare const MAX_FUNCTION_SIGNATURES = 1000;
|
|
17
|
+
export declare const MAX_FUNCTION_NAME_LEN = 256;
|
|
14
18
|
/**
|
|
15
19
|
* LMDB implementation of the ArchiverDataStore interface.
|
|
16
20
|
*/
|
|
17
|
-
export declare class KVArchiverDataStore implements ArchiverDataStore {
|
|
21
|
+
export declare class KVArchiverDataStore implements ArchiverDataStore, ContractDataSource {
|
|
18
22
|
#private;
|
|
19
23
|
private db;
|
|
20
|
-
static readonly SCHEMA_VERSION
|
|
24
|
+
static readonly SCHEMA_VERSION: number;
|
|
21
25
|
private functionNames;
|
|
22
26
|
constructor(db: AztecAsyncKVStore, logsMaxPageSize?: number);
|
|
23
|
-
|
|
24
|
-
|
|
27
|
+
transactionAsync<T>(callback: () => Promise<T>): Promise<T>;
|
|
28
|
+
getBlockNumber(): Promise<number>;
|
|
29
|
+
getContract(address: AztecAddress, maybeTimestamp?: UInt64): Promise<ContractInstanceWithAddress | undefined>;
|
|
30
|
+
backupTo(path: string, compress?: boolean): Promise<string>;
|
|
31
|
+
close(): Promise<void>;
|
|
32
|
+
getDebugFunctionName(_address: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
|
|
33
|
+
registerContractFunctionSignatures(signatures: string[]): Promise<void>;
|
|
25
34
|
getContractClass(id: Fr): Promise<ContractClassPublic | undefined>;
|
|
26
35
|
getContractClassIds(): Promise<Fr[]>;
|
|
27
|
-
getContractInstance(address: AztecAddress): Promise<ContractInstanceWithAddress | undefined>;
|
|
36
|
+
getContractInstance(address: AztecAddress, timestamp: UInt64): Promise<ContractInstanceWithAddress | undefined>;
|
|
37
|
+
getContractInstanceDeploymentBlockNumber(address: AztecAddress): Promise<number | undefined>;
|
|
28
38
|
addContractClasses(data: ContractClassPublic[], bytecodeCommitments: Fr[], blockNumber: number): Promise<boolean>;
|
|
29
39
|
deleteContractClasses(data: ContractClassPublic[], blockNumber: number): Promise<boolean>;
|
|
30
40
|
getBytecodeCommitment(contractClassId: Fr): Promise<Fr | undefined>;
|
|
31
|
-
addFunctions(contractClassId: Fr, privateFunctions: ExecutablePrivateFunctionWithMembershipProof[],
|
|
32
|
-
addContractInstances(data: ContractInstanceWithAddress[],
|
|
41
|
+
addFunctions(contractClassId: Fr, privateFunctions: ExecutablePrivateFunctionWithMembershipProof[], utilityFunctions: UtilityFunctionWithMembershipProof[]): Promise<boolean>;
|
|
42
|
+
addContractInstances(data: ContractInstanceWithAddress[], blockNumber: number): Promise<boolean>;
|
|
33
43
|
deleteContractInstances(data: ContractInstanceWithAddress[], _blockNumber: number): Promise<boolean>;
|
|
34
|
-
addContractInstanceUpdates(data: ContractInstanceUpdateWithAddress[],
|
|
35
|
-
deleteContractInstanceUpdates(data: ContractInstanceUpdateWithAddress[],
|
|
44
|
+
addContractInstanceUpdates(data: ContractInstanceUpdateWithAddress[], timestamp: UInt64): Promise<boolean>;
|
|
45
|
+
deleteContractInstanceUpdates(data: ContractInstanceUpdateWithAddress[], timestamp: UInt64): Promise<boolean>;
|
|
36
46
|
/**
|
|
37
47
|
* Append new blocks to the store's list.
|
|
38
48
|
* @param blocks - The L2 blocks to be added to the store and the last processed L1 block.
|
|
39
49
|
* @returns True if the operation is successful.
|
|
40
50
|
*/
|
|
41
|
-
addBlocks(blocks:
|
|
51
|
+
addBlocks(blocks: PublishedL2Block[], opts?: {
|
|
52
|
+
force?: boolean;
|
|
53
|
+
}): Promise<boolean>;
|
|
42
54
|
/**
|
|
43
55
|
* Unwinds blocks from the database
|
|
44
56
|
* @param from - The tip of the chain, passed for verification purposes,
|
|
@@ -47,6 +59,9 @@ export declare class KVArchiverDataStore implements ArchiverDataStore {
|
|
|
47
59
|
* @returns True if the operation is successful
|
|
48
60
|
*/
|
|
49
61
|
unwindBlocks(from: number, blocksToUnwind: number): Promise<boolean>;
|
|
62
|
+
getPublishedBlock(number: number): Promise<PublishedL2Block | undefined>;
|
|
63
|
+
getPublishedBlockByHash(blockHash: Fr): Promise<PublishedL2Block | undefined>;
|
|
64
|
+
getPublishedBlockByArchive(archive: Fr): Promise<PublishedL2Block | undefined>;
|
|
50
65
|
/**
|
|
51
66
|
* Gets up to `limit` amount of L2 blocks starting from `from`.
|
|
52
67
|
*
|
|
@@ -54,7 +69,7 @@ export declare class KVArchiverDataStore implements ArchiverDataStore {
|
|
|
54
69
|
* @param limit - The number of blocks to return.
|
|
55
70
|
* @returns The requested L2 blocks
|
|
56
71
|
*/
|
|
57
|
-
|
|
72
|
+
getPublishedBlocks(start: number, limit: number): Promise<PublishedL2Block[]>;
|
|
58
73
|
/**
|
|
59
74
|
* Gets up to `limit` amount of L2 blocks headers starting from `from`.
|
|
60
75
|
*
|
|
@@ -63,12 +78,14 @@ export declare class KVArchiverDataStore implements ArchiverDataStore {
|
|
|
63
78
|
* @returns The requested L2 blocks
|
|
64
79
|
*/
|
|
65
80
|
getBlockHeaders(start: number, limit: number): Promise<BlockHeader[]>;
|
|
81
|
+
getBlockHeaderByHash(blockHash: Fr): Promise<BlockHeader | undefined>;
|
|
82
|
+
getBlockHeaderByArchive(archive: Fr): Promise<BlockHeader | undefined>;
|
|
66
83
|
/**
|
|
67
84
|
* Gets a tx effect.
|
|
68
|
-
* @param txHash - The
|
|
69
|
-
* @returns The requested tx effect (or undefined if not found).
|
|
85
|
+
* @param txHash - The hash of the tx corresponding to the tx effect.
|
|
86
|
+
* @returns The requested tx effect with block info (or undefined if not found).
|
|
70
87
|
*/
|
|
71
|
-
getTxEffect(txHash: TxHash): Promise<
|
|
88
|
+
getTxEffect(txHash: TxHash): Promise<import("@aztec/stdlib/tx").IndexedTxEffect | undefined>;
|
|
72
89
|
/**
|
|
73
90
|
* Gets a receipt of a settled tx.
|
|
74
91
|
* @param txHash - The hash of a tx we try to get the receipt for.
|
|
@@ -82,21 +99,13 @@ export declare class KVArchiverDataStore implements ArchiverDataStore {
|
|
|
82
99
|
*/
|
|
83
100
|
addLogs(blocks: L2Block[]): Promise<boolean>;
|
|
84
101
|
deleteLogs(blocks: L2Block[]): Promise<boolean>;
|
|
85
|
-
/**
|
|
86
|
-
* Append new nullifiers to the store's list.
|
|
87
|
-
* @param blocks - The blocks for which to add the nullifiers.
|
|
88
|
-
* @returns True if the operation is successful.
|
|
89
|
-
*/
|
|
90
|
-
addNullifiers(blocks: L2Block[]): Promise<boolean>;
|
|
91
|
-
deleteNullifiers(blocks: L2Block[]): Promise<boolean>;
|
|
92
|
-
findNullifiersIndexesWithBlock(blockNumber: number, nullifiers: Fr[]): Promise<(InBlock<bigint> | undefined)[]>;
|
|
93
102
|
getTotalL1ToL2MessageCount(): Promise<bigint>;
|
|
103
|
+
getLastL1ToL2Message(): Promise<InboxMessage | undefined>;
|
|
94
104
|
/**
|
|
95
105
|
* Append L1 to L2 messages to the store.
|
|
96
|
-
* @param messages - The L1 to L2 messages to be added to the store
|
|
97
|
-
* @returns True if the operation is successful.
|
|
106
|
+
* @param messages - The L1 to L2 messages to be added to the store.
|
|
98
107
|
*/
|
|
99
|
-
addL1ToL2Messages(messages:
|
|
108
|
+
addL1ToL2Messages(messages: InboxMessage[]): Promise<void>;
|
|
100
109
|
/**
|
|
101
110
|
* Gets the L1 to L2 message index in the L1 to L2 message tree.
|
|
102
111
|
* @param l1ToL2Message - The L1 to L2 message.
|
|
@@ -108,7 +117,7 @@ export declare class KVArchiverDataStore implements ArchiverDataStore {
|
|
|
108
117
|
* @param blockNumber - L2 block number to get messages for.
|
|
109
118
|
* @returns The L1 to L2 messages/leaves of the messages subtree (throws if not found).
|
|
110
119
|
*/
|
|
111
|
-
getL1ToL2Messages(blockNumber:
|
|
120
|
+
getL1ToL2Messages(blockNumber: number): Promise<Fr[]>;
|
|
112
121
|
/**
|
|
113
122
|
* Retrieves all private logs from up to `limit` blocks, starting from the block number `from`.
|
|
114
123
|
* @param from - The block number from which to begin retrieving logs.
|
|
@@ -119,10 +128,11 @@ export declare class KVArchiverDataStore implements ArchiverDataStore {
|
|
|
119
128
|
/**
|
|
120
129
|
* Gets all logs that match any of the received tags (i.e. logs with their first field equal to a tag).
|
|
121
130
|
* @param tags - The tags to filter the logs by.
|
|
131
|
+
* @param logsPerTag - How many logs to return per tag. Default returns everything
|
|
122
132
|
* @returns For each received tag, an array of matching logs is returned. An empty array implies no logs match
|
|
123
133
|
* that tag.
|
|
124
134
|
*/
|
|
125
|
-
getLogsByTags(tags: Fr[]): Promise<TxScopedL2Log[][]>;
|
|
135
|
+
getLogsByTags(tags: Fr[], logsPerTag?: number): Promise<TxScopedL2Log[][]>;
|
|
126
136
|
/**
|
|
127
137
|
* Gets public logs based on the provided filter.
|
|
128
138
|
* @param filter - The filter to apply to the logs.
|
|
@@ -143,11 +153,16 @@ export declare class KVArchiverDataStore implements ArchiverDataStore {
|
|
|
143
153
|
getProvenL2BlockNumber(): Promise<number>;
|
|
144
154
|
setProvenL2BlockNumber(blockNumber: number): Promise<void>;
|
|
145
155
|
setBlockSynchedL1BlockNumber(l1BlockNumber: bigint): Promise<void>;
|
|
146
|
-
|
|
156
|
+
setMessageSynchedL1Block(l1Block: L1BlockId): Promise<void>;
|
|
147
157
|
/**
|
|
148
158
|
* Gets the last L1 block number processed by the archiver
|
|
149
159
|
*/
|
|
150
160
|
getSynchPoint(): Promise<ArchiverL1SynchPoint>;
|
|
151
161
|
estimateSize(): Promise<StoreSize>;
|
|
162
|
+
rollbackL1ToL2MessagesToL2Block(targetBlockNumber: number): Promise<void>;
|
|
163
|
+
iterateL1ToL2Messages(range?: CustomRange<bigint>): AsyncIterableIterator<InboxMessage>;
|
|
164
|
+
removeL1ToL2Messages(startIndex: bigint): Promise<void>;
|
|
165
|
+
getPendingChainValidationStatus(): Promise<ValidateBlockResult | undefined>;
|
|
166
|
+
setPendingChainValidationStatus(status: ValidateBlockResult | undefined): Promise<void>;
|
|
152
167
|
}
|
|
153
|
-
//# sourceMappingURL=
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3ZfYXJjaGl2ZXJfc3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcmNoaXZlci9rdl9hcmNoaXZlcl9zdG9yZS9rdl9hcmNoaXZlcl9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUduRCxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLEtBQUssT0FBTyxFQUFlLEtBQUssbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRixPQUFPLEtBQUssRUFDVixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLGlDQUFpQyxFQUNqQywyQkFBMkIsRUFDM0IsNENBQTRDLEVBQzVDLGtDQUFrQyxFQUNuQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sS0FBSyxFQUFFLDRCQUE0QixFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0csT0FBTyxFQUFFLEtBQUssU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BGLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFJbEQsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxz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
|
|
@@ -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,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAGnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"kv_archiver_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/kv_archiver_store.ts"],"names":[],"mappings":"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"}
|