@aztec/merkle-tree 0.0.0-test.1 → 0.0.1-commit.0208eb9
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/hasher_with_stats.d.ts +1 -2
- package/dest/hasher_with_stats.d.ts.map +1 -1
- package/dest/index.d.ts +1 -3
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +0 -2
- package/dest/interfaces/append_only_tree.d.ts +2 -4
- package/dest/interfaces/append_only_tree.d.ts.map +1 -1
- package/dest/interfaces/indexed_tree.d.ts +1 -3
- package/dest/interfaces/indexed_tree.d.ts.map +1 -1
- package/dest/interfaces/merkle_tree.d.ts +1 -3
- package/dest/interfaces/merkle_tree.d.ts.map +1 -1
- package/dest/interfaces/update_only_tree.d.ts +1 -3
- package/dest/interfaces/update_only_tree.d.ts.map +1 -1
- package/dest/load_tree.d.ts +1 -3
- package/dest/load_tree.d.ts.map +1 -1
- package/dest/new_tree.d.ts +1 -1
- package/dest/poseidon.d.ts +3 -5
- package/dest/poseidon.d.ts.map +1 -1
- package/dest/poseidon.js +1 -1
- package/dest/snapshots/append_only_snapshot.d.ts +4 -3
- package/dest/snapshots/append_only_snapshot.d.ts.map +1 -1
- package/dest/snapshots/base_full_snapshot.d.ts +6 -7
- package/dest/snapshots/base_full_snapshot.d.ts.map +1 -1
- package/dest/snapshots/full_snapshot.d.ts +1 -3
- package/dest/snapshots/full_snapshot.d.ts.map +1 -1
- package/dest/snapshots/indexed_tree_snapshot.d.ts +1 -3
- package/dest/snapshots/indexed_tree_snapshot.d.ts.map +1 -1
- package/dest/snapshots/snapshot_builder.d.ts +4 -5
- package/dest/snapshots/snapshot_builder.d.ts.map +1 -1
- package/dest/snapshots/snapshot_builder_test_suite.d.ts +1 -1
- package/dest/snapshots/snapshot_builder_test_suite.d.ts.map +1 -1
- package/dest/snapshots/snapshot_builder_test_suite.js +20 -19
- package/dest/sparse_tree/sparse_tree.d.ts +4 -3
- package/dest/sparse_tree/sparse_tree.d.ts.map +1 -1
- package/dest/standard_indexed_tree/standard_indexed_tree.d.ts +5 -6
- package/dest/standard_indexed_tree/standard_indexed_tree.d.ts.map +1 -1
- package/dest/standard_indexed_tree/standard_indexed_tree.js +3 -2
- package/dest/standard_indexed_tree/test/standard_indexed_tree_with_append.d.ts +2 -4
- package/dest/standard_indexed_tree/test/standard_indexed_tree_with_append.d.ts.map +1 -1
- package/dest/standard_indexed_tree/test/standard_indexed_tree_with_append.js +0 -1
- package/dest/standard_tree/standard_tree.d.ts +5 -6
- package/dest/standard_tree/standard_tree.d.ts.map +1 -1
- package/dest/standard_tree/standard_tree.js +0 -1
- package/dest/tree_base.d.ts +4 -6
- package/dest/tree_base.d.ts.map +1 -1
- package/dest/unbalanced_tree.d.ts +2 -4
- package/dest/unbalanced_tree.d.ts.map +1 -1
- package/package.json +17 -14
- package/src/index.ts +0 -2
- package/src/interfaces/append_only_tree.ts +1 -1
- package/src/poseidon.ts +8 -5
- package/src/snapshots/append_only_snapshot.ts +9 -8
- package/src/snapshots/base_full_snapshot.ts +9 -5
- package/src/snapshots/full_snapshot.ts +5 -1
- package/src/snapshots/indexed_tree_snapshot.ts +5 -1
- package/src/snapshots/snapshot_builder.ts +3 -2
- package/src/snapshots/snapshot_builder_test_suite.ts +20 -19
- package/src/sparse_tree/sparse_tree.ts +3 -2
- package/src/standard_indexed_tree/standard_indexed_tree.ts +7 -6
- package/src/standard_indexed_tree/test/standard_indexed_tree_with_append.ts +1 -3
- package/src/standard_tree/standard_tree.ts +4 -5
- package/src/tree_base.ts +2 -2
- package/dest/pedersen.d.ts +0 -13
- package/dest/pedersen.d.ts.map +0 -1
- package/dest/pedersen.js +0 -24
- package/dest/sha_256.d.ts +0 -22
- package/dest/sha_256.d.ts.map +0 -1
- package/dest/sha_256.js +0 -44
- package/src/pedersen.ts +0 -27
- package/src/sha_256.ts +0 -49
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
1
|
+
import type { BlockNumber } from '@aztec/foundation/branded-types';
|
|
3
2
|
import type { FromBuffer } from '@aztec/foundation/serialize';
|
|
4
3
|
import { SiblingPath } from '@aztec/foundation/trees';
|
|
5
4
|
import type { Hasher, IndexedTreeLeaf, IndexedTreeLeafPreimage } from '@aztec/foundation/trees';
|
|
@@ -45,7 +44,7 @@ export declare class StandardIndexedTree extends TreeBase<Buffer> implements Ind
|
|
|
45
44
|
* @returns Empty promise.
|
|
46
45
|
* @remarks Use batchInsert method instead.
|
|
47
46
|
*/
|
|
48
|
-
appendLeaves(_leaves: Buffer[]):
|
|
47
|
+
appendLeaves(_leaves: Buffer[]): void;
|
|
49
48
|
/**
|
|
50
49
|
* Commits the changes to the database.
|
|
51
50
|
* @returns Empty promise.
|
|
@@ -269,8 +268,8 @@ export declare class StandardIndexedTree extends TreeBase<Buffer> implements Ind
|
|
|
269
268
|
*/
|
|
270
269
|
batchInsert<TreeHeight extends number, SubtreeHeight extends number, SubtreeSiblingPathHeight extends number>(leaves: Buffer[], subtreeHeight: SubtreeHeight): Promise<BatchInsertionResult<TreeHeight, SubtreeSiblingPathHeight>>;
|
|
271
270
|
getSubtreeSiblingPath<SubtreeHeight extends number, SubtreeSiblingPathHeight extends number>(subtreeHeight: SubtreeHeight, includeUncommitted: boolean): Promise<SiblingPath<SubtreeSiblingPathHeight>>;
|
|
272
|
-
snapshot(blockNumber:
|
|
273
|
-
getSnapshot(blockNumber:
|
|
271
|
+
snapshot(blockNumber: BlockNumber): Promise<IndexedTreeSnapshot>;
|
|
272
|
+
getSnapshot(blockNumber: BlockNumber): Promise<IndexedTreeSnapshot>;
|
|
274
273
|
/**
|
|
275
274
|
* Encodes leaves and appends them to a tree.
|
|
276
275
|
* @param preimages - Leaves to encode.
|
|
@@ -288,4 +287,4 @@ export declare class StandardIndexedTree extends TreeBase<Buffer> implements Ind
|
|
|
288
287
|
*/
|
|
289
288
|
private encodeLeaf;
|
|
290
289
|
}
|
|
291
|
-
//# sourceMappingURL=
|
|
290
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmRfaW5kZXhlZF90cmVlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RhbmRhcmRfaW5kZXhlZF90cmVlL3N0YW5kYXJkX2luZGV4ZWRfdHJlZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hHLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU5RCxPQUFPLEtBQUssRUFBRSxvQkFBb0IsRUFBeUIsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFbEYsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0MsZUFBTyxNQUFNLHFCQUFxQixzRUFFakMsQ0FBQztBQUVGLGVBQU8sTUFBTSxzQkFBc0IsNkVBRWxDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sV0FBVyxXQUFXO0lBQzFCOzs7T0FHRztJQUNILFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLGVBQWUsQ0FBQztJQUN6Qzs7O09BR0c7SUFDSCxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxlQUFlLENBQUM7Q0FDN0M7QUFrQkQsZUFBTyxNQUFNLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxNQUFNLENBRS9DLENB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standard_indexed_tree.d.ts","sourceRoot":"","sources":["../../src/standard_indexed_tree/standard_indexed_tree.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"standard_indexed_tree.d.ts","sourceRoot":"","sources":["../../src/standard_indexed_tree/standard_indexed_tree.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,9 +33,10 @@ export const noopDeserializer = {
|
|
|
33
33
|
leaves;
|
|
34
34
|
leafIndex;
|
|
35
35
|
constructor(store, hasher, name, depth, size = 0n, leafPreimageFactory, leafFactory, root){
|
|
36
|
-
super(store, hasher, name, depth, size, noopDeserializer, root), this.leafPreimageFactory = leafPreimageFactory, this.leafFactory = leafFactory, this
|
|
36
|
+
super(store, hasher, name, depth, size, noopDeserializer, root), this.leafPreimageFactory = leafPreimageFactory, this.leafFactory = leafFactory, this.cachedLeafPreimages = {};
|
|
37
37
|
this.leaves = store.openMap(`tree_${name}_leaves`);
|
|
38
38
|
this.leafIndex = store.openMap(`tree_${name}_leaf_index`);
|
|
39
|
+
this.#snapshotBuilder = new IndexedTreeSnapshotBuilder(this.store, this, this.leafPreimageFactory);
|
|
39
40
|
}
|
|
40
41
|
/**
|
|
41
42
|
* Appends the given leaves to the tree.
|
|
@@ -215,7 +216,7 @@ export const noopDeserializer = {
|
|
|
215
216
|
this.cachedSize = index + 1n;
|
|
216
217
|
}
|
|
217
218
|
}
|
|
218
|
-
/*
|
|
219
|
+
/* The following doc block messes up with complete-sentence, so we just disable it */ /**
|
|
219
220
|
*
|
|
220
221
|
* Each base rollup needs to provide non membership / inclusion proofs for each of the nullifier.
|
|
221
222
|
* This method will return membership proofs and perform partial node updates that will
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
1
|
import { StandardIndexedTree } from '../standard_indexed_tree.js';
|
|
4
2
|
/**
|
|
5
3
|
* A testing utility which is here to store the original implementation of StandardIndexedTree.appendLeaves method
|
|
@@ -13,7 +11,7 @@ export declare class StandardIndexedTreeWithAppend extends StandardIndexedTree {
|
|
|
13
11
|
* @returns Empty promise.
|
|
14
12
|
* @remarks This method is inefficient and is here mostly for testing. Use batchInsert instead.
|
|
15
13
|
*/
|
|
16
|
-
appendLeaves(leaves: Buffer[]):
|
|
14
|
+
appendLeaves(leaves: Buffer[]): void;
|
|
17
15
|
private appendEmptyLeaf;
|
|
18
16
|
/**
|
|
19
17
|
* Appends the given leaf to the tree.
|
|
@@ -22,4 +20,4 @@ export declare class StandardIndexedTreeWithAppend extends StandardIndexedTree {
|
|
|
22
20
|
*/
|
|
23
21
|
private appendLeaf;
|
|
24
22
|
}
|
|
25
|
-
//# sourceMappingURL=
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmRfaW5kZXhlZF90cmVlX3dpdGhfYXBwZW5kLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RhbmRhcmRfaW5kZXhlZF90cmVlL3Rlc3Qvc3RhbmRhcmRfaW5kZXhlZF90cmVlX3dpdGhfYXBwZW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWxFOzs7O0dBSUc7QUFDSCxxQkFBYSw2QkFBOEIsU0FBUSxtQkFBbUI7SUFDcEU7Ozs7O09BS0c7SUFDYSxZQUFZLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUk1QztJQUVELE9BQU8sQ0FBQyxlQUFlO0lBUXZCOzs7O09BSUc7SUFDSCxPQUFPLENBQUMsVUFBVTtDQTZDbkIifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standard_indexed_tree_with_append.d.ts","sourceRoot":"","sources":["../../../src/standard_indexed_tree/test/standard_indexed_tree_with_append.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"standard_indexed_tree_with_append.d.ts","sourceRoot":"","sources":["../../../src/standard_indexed_tree/test/standard_indexed_tree_with_append.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE;;;;GAIG;AACH,qBAAa,6BAA8B,SAAQ,mBAAmB;IACpE;;;;;OAKG;IACa,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAI5C;IAED,OAAO,CAAC,eAAe;IAQvB;;;;OAIG;IACH,OAAO,CAAC,UAAU;CA6CnB"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
1
|
+
import type { BlockNumber } from '@aztec/foundation/branded-types';
|
|
3
2
|
import { type Bufferable } from '@aztec/foundation/serialize';
|
|
4
3
|
import type { AppendOnlyTree } from '../interfaces/append_only_tree.js';
|
|
5
4
|
import type { TreeSnapshot } from '../snapshots/snapshot_builder.js';
|
|
@@ -14,10 +13,10 @@ export declare class StandardTree<T extends Bufferable = Buffer> extends TreeBas
|
|
|
14
13
|
* @param leaves - The leaves to append.
|
|
15
14
|
* @returns Empty promise.
|
|
16
15
|
*/
|
|
17
|
-
appendLeaves(leaves: T[]):
|
|
18
|
-
snapshot(blockNumber:
|
|
19
|
-
getSnapshot(blockNumber:
|
|
16
|
+
appendLeaves(leaves: T[]): void;
|
|
17
|
+
snapshot(blockNumber: BlockNumber): Promise<TreeSnapshot<T>>;
|
|
18
|
+
getSnapshot(blockNumber: BlockNumber): Promise<TreeSnapshot<T>>;
|
|
20
19
|
findLeafIndex(value: T, includeUncommitted: boolean): bigint | undefined;
|
|
21
20
|
findLeafIndexAfter(value: T, startIndex: bigint, includeUncommitted: boolean): bigint | undefined;
|
|
22
21
|
}
|
|
23
|
-
//# sourceMappingURL=
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmRfdHJlZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0YW5kYXJkX3RyZWUvc3RhbmRhcmRfdHJlZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFJakYsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFeEUsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTNDOztHQUVHO0FBQ0gscUJBQWEsWUFBWSxDQUFDLENBQUMsU0FBUyxVQUFVLEdBQUcsTUFBTSxDQUFFLFNBQVEsUUFBUSxDQUFDLENBQUMsQ0FBRSxZQUFXLGNBQWMsQ0FBQyxDQUFDLENBQUM7O0lBR3ZHOzs7O09BSUc7SUFDYSxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxHQUFHLElBQUksQ0FhOUM7SUFFTSxRQUFRLENBQUMsV0FBVyxFQUFFLFdBQVcsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBRWxFO0lBRU0sV0FBVyxDQUFDLFdBQVcsRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUVyRTtJQUVNLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLGtCQUFrQixFQUFFLE9BQU8sR0FBRyxNQUFNLEdBQUcsU0FBUyxDQUU5RTtJQUVNLGtCQUFrQixDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEdBQUcsTUFBTSxHQUFHLFNBQVMsQ0FTdkc7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standard_tree.d.ts","sourceRoot":"","sources":["../../src/standard_tree/standard_tree.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"standard_tree.d.ts","sourceRoot":"","sources":["../../src/standard_tree/standard_tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,6BAA6B,CAAC;AAIjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAExE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C;;GAEG;AACH,qBAAa,YAAY,CAAC,CAAC,SAAS,UAAU,GAAG,MAAM,CAAE,SAAQ,QAAQ,CAAC,CAAC,CAAE,YAAW,cAAc,CAAC,CAAC,CAAC;;IAGvG;;;;OAIG;IACa,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI,CAa9C;IAEM,QAAQ,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAElE;IAEM,WAAW,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAErE;IAEM,aAAa,CAAC,KAAK,EAAE,CAAC,EAAE,kBAAkB,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAE9E;IAEM,kBAAkB,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CASvG;CACF"}
|
package/dest/tree_base.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
1
|
import { type Logger } from '@aztec/foundation/log';
|
|
4
2
|
import { type Bufferable, type FromBuffer } from '@aztec/foundation/serialize';
|
|
5
3
|
import { type Hasher, SiblingPath } from '@aztec/foundation/trees';
|
|
@@ -7,11 +5,11 @@ import type { AztecKVStore } from '@aztec/kv-store';
|
|
|
7
5
|
import { HasherWithStats } from './hasher_with_stats.js';
|
|
8
6
|
import type { MerkleTree } from './interfaces/merkle_tree.js';
|
|
9
7
|
export declare const getTreeMeta: (store: AztecKVStore, treeName: string) => {
|
|
10
|
-
root: Buffer
|
|
8
|
+
root: Buffer<ArrayBufferLike>;
|
|
11
9
|
depth: number;
|
|
12
10
|
size: bigint;
|
|
13
11
|
};
|
|
14
|
-
export declare const INITIAL_LEAF: Buffer
|
|
12
|
+
export declare const INITIAL_LEAF: Buffer<ArrayBuffer>;
|
|
15
13
|
/**
|
|
16
14
|
* A Merkle tree implementation that uses a LevelDB database to store the tree.
|
|
17
15
|
*/
|
|
@@ -30,7 +28,7 @@ export declare abstract class TreeBase<T extends Bufferable> implements MerkleTr
|
|
|
30
28
|
protected hasher: HasherWithStats;
|
|
31
29
|
private nodes;
|
|
32
30
|
private meta;
|
|
33
|
-
constructor(store: AztecKVStore, hasher: Hasher, name: string, depth: number, size: bigint, deserializer: FromBuffer<T>, root?: Buffer);
|
|
31
|
+
constructor(store: AztecKVStore, hasher: Hasher, name: string, depth: number, size: bigint | undefined, deserializer: FromBuffer<T>, root?: Buffer);
|
|
34
32
|
/**
|
|
35
33
|
* Returns the root of the tree.
|
|
36
34
|
* @param includeUncommitted - If true, root incorporating uncommitted changes is returned.
|
|
@@ -155,4 +153,4 @@ export declare abstract class TreeBase<T extends Bufferable> implements MerkleTr
|
|
|
155
153
|
*/
|
|
156
154
|
abstract findLeafIndexAfter(leaf: T, startIndex: bigint, includeUncommitted: boolean): bigint | undefined;
|
|
157
155
|
}
|
|
158
|
-
//# sourceMappingURL=
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZV9iYXNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHJlZV9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQUUsS0FBSyxVQUFVLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFDbEcsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBNEIsTUFBTSxpQkFBaUIsQ0FBQztBQUU5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUF5QjlELGVBQU8sTUFBTSxXQUFXOzs7O0NBT3ZCLENBQUM7QUFFRixlQUFPLE1BQU0sWUFBWSxxQkFBeUYsQ0FBQztBQUVuSDs7R0FFRztBQUNILDhCQUFzQixRQUFRLENBQUMsQ0FBQyxTQUFTLFVBQVUsQ0FBRSxZQUFXLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFhekUsU0FBUyxDQUFDLEtBQUssRUFBRSxZQUFZO0lBRTdCLE9BQU8sQ0FBQyxJQUFJO0lBQ1osT0FBTyxDQUFDLEtBQUs7SUFDYixTQUFTLENBQUMsSUFBSSxFQUFFLE1BQU07SUFDdEIsU0FBUyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBakJ2QyxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUM7SUFDcEMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUM5QixPQUFPLENBQUMsSUFBSSxDQUFVO0lBQ3RCLE9BQU8sQ0FBQyxVQUFVLENBQWdCO0lBQ2xDLE9BQU8sQ0FBQyxLQUFLLENBQWlDO0lBQzlDLFNBQVMsQ0FBQyxH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
|
package/dest/tree_base.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree_base.d.ts","sourceRoot":"","sources":["../src/tree_base.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tree_base.d.ts","sourceRoot":"","sources":["../src/tree_base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
1
|
import { type Bufferable, type FromBuffer } from '@aztec/foundation/serialize';
|
|
4
2
|
import { SiblingPath } from '@aztec/foundation/trees';
|
|
5
3
|
import type { Hasher } from '@aztec/foundation/trees';
|
|
@@ -20,7 +18,7 @@ export declare class UnbalancedTree<T extends Bufferable = Buffer> implements Me
|
|
|
20
18
|
protected readonly maxIndex: bigint;
|
|
21
19
|
protected hasher: HasherWithStats;
|
|
22
20
|
root: Buffer;
|
|
23
|
-
constructor(hasher: Hasher, name: string, maxDepth: number, deserializer: FromBuffer<T>);
|
|
21
|
+
constructor(hasher: Hasher, name: string, maxDepth: number | undefined, deserializer: FromBuffer<T>);
|
|
24
22
|
/**
|
|
25
23
|
* Returns the root of the tree.
|
|
26
24
|
* @returns The root of the tree.
|
|
@@ -106,4 +104,4 @@ export declare class UnbalancedTree<T extends Bufferable = Buffer> implements Me
|
|
|
106
104
|
*/
|
|
107
105
|
private storeNode;
|
|
108
106
|
}
|
|
109
|
-
//# sourceMappingURL=
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5iYWxhbmNlZF90cmVlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdW5iYWxhbmNlZF90cmVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLFVBQVUsRUFBRSxLQUFLLFVBQVUsRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBSTlEOzs7O0dBSUc7QUFDSCxxQkFBYSxjQUFjLENBQUMsQ0FBQyxTQUFTLFVBQVUsR0FBRyxNQUFNLENBQUUsWUFBVyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBYS9FLE9BQU8sQ0FBQyxJQUFJO0lBQ1osT0FBTyxDQUFDLFFBQVE7SUFDaEIsU0FBUyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBYnZDLE9BQU8sQ0FBQyxLQUFLLENBQWlDO0lBRTlDLE9BQU8sQ0FBQyxVQUFVLENBQWlDO0lBQ25ELFNBQVMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFNO0lBQzVCLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQztJQUVwQyxTQUFTLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQztJQUNsQyxJQUFJLEVBQUUsTUFBTSxDQUFvQjtJQUVoQyxZQUNFLE1BQU0sRUFBRSxNQUFNLEVBQ04sSUFBSSxFQUFFLE1BQU0sRUFDWixRQUFRLG9CQUFZLEVBQ2xCLFlBQVksRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBSXRDO0lBRUQ7OztPQUdHO0lBQ0ksT0FBTyxJQUFJLE1BQU0sQ0FFdkI7SUFFRDs7O09BR0c7SUFDSSxZQUFZLFdBRWxCO0lBRUQ7OztPQUdHO0lBQ0ksUUFBUSxJQUFJLE1BQU0sQ0FFeEI7SUFFRDs7O09BR0c7SUFDSSxNQUFNLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUc3QjtJQUVEOzs7T0FHRztJQUNJLFFBQVEsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBRy9CO0lBRUQ7O09BRUc7SUFDSCxPQUFPLENBQUMsVUFBVTtJQUtsQjs7Ozs7T0FLRztJQUNJLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FFN0M7SUFFRDs7Ozs7T0FLRztJQUNJLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLE1BQU0sR0FBRyxTQUFTLENBSWpEO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksa0JBQWtCLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxHQUFHLE1BQU0sR0FBRyxTQUFTLENBTTFFO0lBRUQ7Ozs7O09BS0c7SUFDSSxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLE1BQU0sR0FBRyxTQUFTLENBVS9EO0lBRUQ7Ozs7O09BS0c7SUFDSSxjQUFjLENBQUMsQ0FBQyxTQUFTLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FjOUU7SUFFRDs7OztPQUlHO0lBQ0ksWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBWTlDO0lBRUQ7Ozs7T0FJRztJQUNILE9BQU8sQ0FBQyxXQUFXO0lBeUNuQjs7Ozs7T0FLRztJQUNILE9BQU8sQ0FBQyxTQUFTO0NBS2xCIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unbalanced_tree.d.ts","sourceRoot":"","sources":["../src/unbalanced_tree.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"unbalanced_tree.d.ts","sourceRoot":"","sources":["../src/unbalanced_tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAqB,MAAM,6BAA6B,CAAC;AAClG,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAI9D;;;;GAIG;AACH,qBAAa,cAAc,CAAC,CAAC,SAAS,UAAU,GAAG,MAAM,CAAE,YAAW,UAAU,CAAC,CAAC,CAAC;IAa/E,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,QAAQ;IAChB,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;IAbvC,OAAO,CAAC,KAAK,CAAiC;IAE9C,OAAO,CAAC,UAAU,CAAiC;IACnD,SAAS,CAAC,IAAI,EAAE,MAAM,CAAM;IAC5B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAEpC,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC;IAClC,IAAI,EAAE,MAAM,CAAoB;IAEhC,YACE,MAAM,EAAE,MAAM,EACN,IAAI,EAAE,MAAM,EACZ,QAAQ,oBAAY,EAClB,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,EAItC;IAED;;;OAGG;IACI,OAAO,IAAI,MAAM,CAEvB;IAED;;;OAGG;IACI,YAAY,WAElB;IAED;;;OAGG;IACI,QAAQ,IAAI,MAAM,CAExB;IAED;;;OAGG;IACI,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAG7B;IAED;;;OAGG;IACI,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAG/B;IAED;;OAEG;IACH,OAAO,CAAC,UAAU;IAKlB;;;;;OAKG;IACI,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAE7C;IAED;;;;;OAKG;IACI,aAAa,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,GAAG,SAAS,CAIjD;IAED;;;;;;OAMG;IACI,kBAAkB,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAM1E;IAED;;;;;OAKG;IACI,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAU/D;IAED;;;;;OAKG;IACI,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAc9E;IAED;;;;OAIG;IACI,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAY9C;IAED;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAyCnB;;;;;OAKG;IACH,OAAO,CAAC,SAAS;CAKlB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/merkle-tree",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.1-commit.0208eb9",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": "./dest/index.js",
|
|
6
6
|
"typedocOptions": {
|
|
@@ -11,11 +11,9 @@
|
|
|
11
11
|
"tsconfig": "./tsconfig.json"
|
|
12
12
|
},
|
|
13
13
|
"scripts": {
|
|
14
|
-
"build": "yarn clean && tsc
|
|
15
|
-
"build:dev": "tsc
|
|
14
|
+
"build": "yarn clean && ../scripts/tsc.sh",
|
|
15
|
+
"build:dev": "../scripts/tsc.sh --watch",
|
|
16
16
|
"clean": "rm -rf ./dest .tsbuildinfo",
|
|
17
|
-
"formatting": "run -T prettier --check ./src && run -T eslint ./src",
|
|
18
|
-
"formatting:fix": "run -T eslint --fix ./src && run -T prettier -w ./src",
|
|
19
17
|
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
|
|
20
18
|
},
|
|
21
19
|
"inherits": [
|
|
@@ -53,23 +51,28 @@
|
|
|
53
51
|
"testTimeout": 120000,
|
|
54
52
|
"setupFiles": [
|
|
55
53
|
"../../foundation/src/jest/setup.mjs"
|
|
54
|
+
],
|
|
55
|
+
"testEnvironment": "../../foundation/src/jest/env.mjs",
|
|
56
|
+
"setupFilesAfterEnv": [
|
|
57
|
+
"../../foundation/src/jest/setupAfterEnv.mjs"
|
|
56
58
|
]
|
|
57
59
|
},
|
|
58
60
|
"dependencies": {
|
|
59
|
-
"@aztec/foundation": "0.0.
|
|
60
|
-
"@aztec/kv-store": "0.0.
|
|
61
|
-
"@aztec/stdlib": "0.0.
|
|
61
|
+
"@aztec/foundation": "0.0.1-commit.0208eb9",
|
|
62
|
+
"@aztec/kv-store": "0.0.1-commit.0208eb9",
|
|
63
|
+
"@aztec/stdlib": "0.0.1-commit.0208eb9",
|
|
62
64
|
"sha256": "^0.2.0",
|
|
63
65
|
"tslib": "^2.4.0"
|
|
64
66
|
},
|
|
65
67
|
"devDependencies": {
|
|
66
|
-
"@jest/globals": "^
|
|
67
|
-
"@types/jest": "^
|
|
68
|
-
"@types/node": "^
|
|
68
|
+
"@jest/globals": "^30.0.0",
|
|
69
|
+
"@types/jest": "^30.0.0",
|
|
70
|
+
"@types/node": "^22.15.17",
|
|
69
71
|
"@types/sha256": "^0.2.0",
|
|
70
|
-
"
|
|
72
|
+
"@typescript/native-preview": "7.0.0-dev.20260113.1",
|
|
73
|
+
"jest": "^30.0.0",
|
|
71
74
|
"ts-node": "^10.9.1",
|
|
72
|
-
"typescript": "^5.
|
|
75
|
+
"typescript": "^5.3.3"
|
|
73
76
|
},
|
|
74
77
|
"files": [
|
|
75
78
|
"dest",
|
|
@@ -80,6 +83,6 @@
|
|
|
80
83
|
],
|
|
81
84
|
"types": "./dest/index.d.ts",
|
|
82
85
|
"engines": {
|
|
83
|
-
"node": ">=
|
|
86
|
+
"node": ">=20.10"
|
|
84
87
|
}
|
|
85
88
|
}
|
package/src/index.ts
CHANGED
|
@@ -2,9 +2,7 @@ export * from './interfaces/append_only_tree.js';
|
|
|
2
2
|
export * from './interfaces/indexed_tree.js';
|
|
3
3
|
export * from './interfaces/merkle_tree.js';
|
|
4
4
|
export * from './interfaces/update_only_tree.js';
|
|
5
|
-
export * from './pedersen.js';
|
|
6
5
|
export * from './poseidon.js';
|
|
7
|
-
export * from './sha_256.js';
|
|
8
6
|
export * from './sparse_tree/sparse_tree.js';
|
|
9
7
|
export { StandardIndexedTree } from './standard_indexed_tree/standard_indexed_tree.js';
|
|
10
8
|
export { StandardIndexedTreeWithAppend } from './standard_indexed_tree/test/standard_indexed_tree_with_append.js';
|
package/src/poseidon.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { poseidon2Hash } from '@aztec/foundation/crypto/sync';
|
|
2
|
-
import { Fr } from '@aztec/foundation/
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
3
|
import type { Hasher } from '@aztec/foundation/trees';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -12,16 +12,19 @@ export class Poseidon implements Hasher {
|
|
|
12
12
|
* @deprecated Don't call poseidon2 directly in production code. Instead, create suitably-named functions for specific
|
|
13
13
|
* purposes.
|
|
14
14
|
*/
|
|
15
|
-
public hash(lhs: Uint8Array, rhs: Uint8Array)
|
|
16
|
-
return poseidon2Hash([
|
|
15
|
+
public hash(lhs: Uint8Array, rhs: Uint8Array) {
|
|
16
|
+
return poseidon2Hash([
|
|
17
|
+
Fr.fromBuffer(Buffer.from(lhs)),
|
|
18
|
+
Fr.fromBuffer(Buffer.from(rhs)),
|
|
19
|
+
]).toBuffer() as Buffer<ArrayBuffer>;
|
|
17
20
|
}
|
|
18
21
|
|
|
19
22
|
/*
|
|
20
23
|
* @deprecated Don't call poseidon2 directly in production code. Instead, create suitably-named functions for specific
|
|
21
24
|
* purposes.
|
|
22
25
|
*/
|
|
23
|
-
public hashInputs(inputs: Buffer[])
|
|
26
|
+
public hashInputs(inputs: Buffer[]) {
|
|
24
27
|
const inputFields = inputs.map(i => Fr.fromBuffer(i));
|
|
25
|
-
return poseidon2Hash(inputFields).toBuffer()
|
|
28
|
+
return poseidon2Hash(inputFields).toBuffer() as Buffer<ArrayBuffer>;
|
|
26
29
|
}
|
|
27
30
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { BlockNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { type Bufferable, type FromBuffer, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
2
3
|
import { SiblingPath } from '@aztec/foundation/trees';
|
|
3
4
|
import type { Hasher } from '@aztec/foundation/trees';
|
|
@@ -40,8 +41,8 @@ type SnapshotMetadata = {
|
|
|
40
41
|
*/
|
|
41
42
|
export class AppendOnlySnapshotBuilder<T extends Bufferable> implements TreeSnapshotBuilder<TreeSnapshot<T>> {
|
|
42
43
|
#nodeValue: AztecMap<ReturnType<typeof historicalNodeKey>, Buffer>;
|
|
43
|
-
#nodeLastModifiedByBlock: AztecMap<ReturnType<typeof nodeModifiedAtBlockKey>,
|
|
44
|
-
#snapshotMetadata: AztecMap<
|
|
44
|
+
#nodeLastModifiedByBlock: AztecMap<ReturnType<typeof nodeModifiedAtBlockKey>, BlockNumber>;
|
|
45
|
+
#snapshotMetadata: AztecMap<BlockNumber, SnapshotMetadata>;
|
|
45
46
|
|
|
46
47
|
constructor(
|
|
47
48
|
private db: AztecKVStore,
|
|
@@ -55,7 +56,7 @@ export class AppendOnlySnapshotBuilder<T extends Bufferable> implements TreeSnap
|
|
|
55
56
|
this.#snapshotMetadata = db.openMap(`append_only_snapshot:${treeName}:snapshot_metadata`);
|
|
56
57
|
}
|
|
57
58
|
|
|
58
|
-
getSnapshot(block:
|
|
59
|
+
getSnapshot(block: BlockNumber): Promise<TreeSnapshot<T>> {
|
|
59
60
|
const meta = this.#getSnapshotMeta(block);
|
|
60
61
|
|
|
61
62
|
if (typeof meta === 'undefined') {
|
|
@@ -76,7 +77,7 @@ export class AppendOnlySnapshotBuilder<T extends Bufferable> implements TreeSnap
|
|
|
76
77
|
);
|
|
77
78
|
}
|
|
78
79
|
|
|
79
|
-
snapshot(block:
|
|
80
|
+
snapshot(block: BlockNumber): Promise<TreeSnapshot<T>> {
|
|
80
81
|
return this.db.transaction(() => {
|
|
81
82
|
const meta = this.#getSnapshotMeta(block);
|
|
82
83
|
if (typeof meta !== 'undefined') {
|
|
@@ -149,7 +150,7 @@ export class AppendOnlySnapshotBuilder<T extends Bufferable> implements TreeSnap
|
|
|
149
150
|
});
|
|
150
151
|
}
|
|
151
152
|
|
|
152
|
-
#getSnapshotMeta(block:
|
|
153
|
+
#getSnapshotMeta(block: BlockNumber): SnapshotMetadata | undefined {
|
|
153
154
|
return this.#snapshotMetadata.get(block);
|
|
154
155
|
}
|
|
155
156
|
}
|
|
@@ -160,8 +161,8 @@ export class AppendOnlySnapshotBuilder<T extends Bufferable> implements TreeSnap
|
|
|
160
161
|
class AppendOnlySnapshot<T extends Bufferable> implements TreeSnapshot<T> {
|
|
161
162
|
constructor(
|
|
162
163
|
private nodes: AztecMap<string, Buffer>,
|
|
163
|
-
private nodeHistory: AztecMap<string,
|
|
164
|
-
private block:
|
|
164
|
+
private nodeHistory: AztecMap<string, BlockNumber>,
|
|
165
|
+
private block: BlockNumber,
|
|
165
166
|
private leafCount: bigint,
|
|
166
167
|
private historicalRoot: Buffer,
|
|
167
168
|
private tree: TreeBase<T> & AppendOnlyTree<T>,
|
|
@@ -256,7 +257,7 @@ class AppendOnlySnapshot<T extends Bufferable> implements TreeSnapshot<T> {
|
|
|
256
257
|
return this.hasher.hash(lhs, rhs);
|
|
257
258
|
}
|
|
258
259
|
|
|
259
|
-
#getBlockNumberThatModifiedNode(level: number, index: bigint):
|
|
260
|
+
#getBlockNumberThatModifiedNode(level: number, index: bigint): BlockNumber | undefined {
|
|
260
261
|
return this.nodeHistory.get(nodeModifiedAtBlockKey(level, index));
|
|
261
262
|
}
|
|
262
263
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { BlockNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { type Bufferable, type FromBuffer, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
2
3
|
import { SiblingPath } from '@aztec/foundation/trees';
|
|
3
4
|
import type { AztecKVStore, AztecMap } from '@aztec/kv-store';
|
|
@@ -35,14 +36,17 @@ export abstract class BaseFullTreeSnapshotBuilder<T extends TreeBase<Bufferable>
|
|
|
35
36
|
implements TreeSnapshotBuilder<S>
|
|
36
37
|
{
|
|
37
38
|
protected nodes: AztecMap<string, [Buffer, Buffer]>;
|
|
38
|
-
protected snapshotMetadata: AztecMap<
|
|
39
|
+
protected snapshotMetadata: AztecMap<BlockNumber, SnapshotMetadata>;
|
|
39
40
|
|
|
40
|
-
constructor(
|
|
41
|
+
constructor(
|
|
42
|
+
protected db: AztecKVStore,
|
|
43
|
+
protected tree: T,
|
|
44
|
+
) {
|
|
41
45
|
this.nodes = db.openMap(`full_snapshot:${tree.getName()}:node`);
|
|
42
46
|
this.snapshotMetadata = db.openMap(`full_snapshot:${tree.getName()}:metadata`);
|
|
43
47
|
}
|
|
44
48
|
|
|
45
|
-
snapshot(block:
|
|
49
|
+
snapshot(block: BlockNumber): Promise<S> {
|
|
46
50
|
return this.db.transaction(() => {
|
|
47
51
|
const snapshotMetadata = this.#getSnapshotMeta(block);
|
|
48
52
|
|
|
@@ -100,7 +104,7 @@ export abstract class BaseFullTreeSnapshotBuilder<T extends TreeBase<Bufferable>
|
|
|
100
104
|
|
|
101
105
|
protected handleLeaf(_index: bigint, _node: Buffer): void {}
|
|
102
106
|
|
|
103
|
-
getSnapshot(version:
|
|
107
|
+
getSnapshot(version: BlockNumber): Promise<S> {
|
|
104
108
|
const snapshotMetadata = this.#getSnapshotMeta(version);
|
|
105
109
|
|
|
106
110
|
if (!snapshotMetadata) {
|
|
@@ -112,7 +116,7 @@ export abstract class BaseFullTreeSnapshotBuilder<T extends TreeBase<Bufferable>
|
|
|
112
116
|
|
|
113
117
|
protected abstract openSnapshot(root: Buffer, numLeaves: bigint): S;
|
|
114
118
|
|
|
115
|
-
#getSnapshotMeta(block:
|
|
119
|
+
#getSnapshotMeta(block: BlockNumber): SnapshotMetadata | undefined {
|
|
116
120
|
return this.snapshotMetadata.get(block);
|
|
117
121
|
}
|
|
118
122
|
}
|
|
@@ -23,7 +23,11 @@ export class FullTreeSnapshotBuilder<T extends Bufferable>
|
|
|
23
23
|
extends BaseFullTreeSnapshotBuilder<TreeBase<T>, TreeSnapshot<T>>
|
|
24
24
|
implements TreeSnapshotBuilder<TreeSnapshot<T>>
|
|
25
25
|
{
|
|
26
|
-
constructor(
|
|
26
|
+
constructor(
|
|
27
|
+
db: AztecKVStore,
|
|
28
|
+
tree: TreeBase<T>,
|
|
29
|
+
private deserializer: FromBuffer<T>,
|
|
30
|
+
) {
|
|
27
31
|
super(db, tree);
|
|
28
32
|
}
|
|
29
33
|
|
|
@@ -14,7 +14,11 @@ export class IndexedTreeSnapshotBuilder
|
|
|
14
14
|
implements TreeSnapshotBuilder<IndexedTreeSnapshot>
|
|
15
15
|
{
|
|
16
16
|
leaves: AztecMap<string, Buffer>;
|
|
17
|
-
constructor(
|
|
17
|
+
constructor(
|
|
18
|
+
store: AztecKVStore,
|
|
19
|
+
tree: IndexedTree & TreeBase<Buffer>,
|
|
20
|
+
private leafPreimageBuilder: PreimageFactory,
|
|
21
|
+
) {
|
|
18
22
|
super(store, tree);
|
|
19
23
|
this.leaves = store.openMap('indexed_tree_snapshot:' + tree.getName());
|
|
20
24
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { BlockNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import type { Bufferable } from '@aztec/foundation/serialize';
|
|
2
3
|
import type { IndexedTreeLeafPreimage, SiblingPath } from '@aztec/foundation/trees';
|
|
3
4
|
|
|
@@ -9,13 +10,13 @@ export interface TreeSnapshotBuilder<S extends TreeSnapshot<Bufferable>> {
|
|
|
9
10
|
* Creates a snapshot of the tree at the given version.
|
|
10
11
|
* @param block - The version to snapshot the tree at.
|
|
11
12
|
*/
|
|
12
|
-
snapshot(block:
|
|
13
|
+
snapshot(block: BlockNumber): Promise<S>;
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
* Returns a snapshot of the tree at the given version.
|
|
16
17
|
* @param block - The version of the snapshot to return.
|
|
17
18
|
*/
|
|
18
|
-
getSnapshot(block:
|
|
19
|
+
getSnapshot(block: BlockNumber): Promise<S>;
|
|
19
20
|
}
|
|
20
21
|
|
|
21
22
|
/**
|