@aztec/kv-store 0.0.0-test.1 → 0.0.1-commit.b655e406
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/config.d.ts +1 -1
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +5 -3
- package/dest/indexeddb/array.d.ts +2 -1
- package/dest/indexeddb/array.d.ts.map +1 -1
- package/dest/indexeddb/array.js +3 -0
- package/dest/indexeddb/index.js +1 -1
- package/dest/indexeddb/map.d.ts +11 -5
- package/dest/indexeddb/map.d.ts.map +1 -1
- package/dest/indexeddb/map.js +38 -60
- package/dest/indexeddb/multi_map.d.ts +12 -0
- package/dest/indexeddb/multi_map.d.ts.map +1 -0
- package/dest/indexeddb/multi_map.js +78 -0
- package/dest/indexeddb/singleton.d.ts +2 -1
- package/dest/indexeddb/singleton.d.ts.map +1 -1
- package/dest/indexeddb/singleton.js +3 -1
- package/dest/indexeddb/store.d.ts +12 -13
- package/dest/indexeddb/store.d.ts.map +1 -1
- package/dest/indexeddb/store.js +45 -42
- package/dest/interfaces/array.d.ts +4 -3
- package/dest/interfaces/array.d.ts.map +1 -1
- package/dest/interfaces/array.js +1 -3
- package/dest/interfaces/common.d.ts +10 -8
- package/dest/interfaces/common.d.ts.map +1 -1
- package/dest/interfaces/common.js +8 -3
- package/dest/interfaces/index.d.ts +3 -1
- package/dest/interfaces/index.d.ts.map +1 -1
- package/dest/interfaces/index.js +2 -0
- package/dest/interfaces/map.d.ts +20 -48
- package/dest/interfaces/map.d.ts.map +1 -1
- package/dest/interfaces/map.js +1 -1
- package/dest/interfaces/map_test_suite.d.ts.map +1 -1
- package/dest/interfaces/map_test_suite.js +135 -70
- package/dest/interfaces/multi_map.d.ts +35 -0
- package/dest/interfaces/multi_map.d.ts.map +1 -0
- package/dest/interfaces/multi_map.js +3 -0
- package/dest/interfaces/multi_map_test_suite.d.ts +3 -0
- package/dest/interfaces/multi_map_test_suite.d.ts.map +1 -0
- package/dest/interfaces/multi_map_test_suite.js +245 -0
- package/dest/interfaces/store.d.ts +17 -42
- package/dest/interfaces/store.d.ts.map +1 -1
- package/dest/interfaces/utils.d.ts +1 -0
- package/dest/interfaces/utils.d.ts.map +1 -1
- package/dest/interfaces/utils.js +2 -1
- package/dest/lmdb/array.d.ts +2 -1
- package/dest/lmdb/array.d.ts.map +1 -1
- package/dest/lmdb/index.js +2 -2
- package/dest/lmdb/map.d.ts +10 -22
- package/dest/lmdb/map.d.ts.map +1 -1
- package/dest/lmdb/map.js +15 -81
- package/dest/lmdb/multi_map.d.ts +12 -0
- package/dest/lmdb/multi_map.d.ts.map +1 -0
- package/dest/lmdb/multi_map.js +29 -0
- package/dest/lmdb/store.d.ts +7 -22
- package/dest/lmdb/store.d.ts.map +1 -1
- package/dest/lmdb/store.js +11 -31
- package/dest/lmdb-v2/array.d.ts +2 -1
- package/dest/lmdb-v2/array.d.ts.map +1 -1
- package/dest/lmdb-v2/array.js +1 -0
- package/dest/lmdb-v2/factory.d.ts +1 -1
- package/dest/lmdb-v2/factory.d.ts.map +1 -1
- package/dest/lmdb-v2/factory.js +16 -6
- package/dest/lmdb-v2/map.d.ts +10 -43
- package/dest/lmdb-v2/map.d.ts.map +1 -1
- package/dest/lmdb-v2/map.js +17 -103
- package/dest/lmdb-v2/message.d.ts +23 -4
- package/dest/lmdb-v2/message.d.ts.map +1 -1
- package/dest/lmdb-v2/message.js +6 -4
- package/dest/lmdb-v2/multi_map.d.ts +51 -0
- package/dest/lmdb-v2/multi_map.d.ts.map +1 -0
- package/dest/lmdb-v2/multi_map.js +113 -0
- package/dest/lmdb-v2/read_transaction.d.ts +2 -0
- package/dest/lmdb-v2/read_transaction.d.ts.map +1 -1
- package/dest/lmdb-v2/read_transaction.js +34 -0
- package/dest/lmdb-v2/set.d.ts +15 -0
- package/dest/lmdb-v2/set.d.ts.map +1 -0
- package/dest/lmdb-v2/set.js +23 -0
- package/dest/lmdb-v2/singleton.d.ts.map +1 -1
- package/dest/lmdb-v2/singleton.js +1 -0
- package/dest/lmdb-v2/store.d.ts +9 -8
- package/dest/lmdb-v2/store.d.ts.map +1 -1
- package/dest/lmdb-v2/store.js +19 -7
- package/dest/lmdb-v2/utils.d.ts +2 -4
- package/dest/lmdb-v2/utils.d.ts.map +1 -1
- package/dest/lmdb-v2/write_transaction.d.ts +2 -4
- package/dest/lmdb-v2/write_transaction.d.ts.map +1 -1
- package/dest/stores/index.d.ts +1 -0
- package/dest/stores/index.d.ts.map +1 -1
- package/dest/stores/index.js +1 -0
- package/dest/stores/l2_tips_store.d.ts +2 -1
- package/dest/stores/l2_tips_store.d.ts.map +1 -1
- package/dest/stores/l2_tips_store.js +18 -9
- package/package.json +18 -14
- package/src/config.ts +6 -4
- package/src/indexeddb/array.ts +5 -1
- package/src/indexeddb/index.ts +2 -2
- package/src/indexeddb/map.ts +35 -53
- package/src/indexeddb/multi_map.ts +79 -0
- package/src/indexeddb/singleton.ts +4 -1
- package/src/indexeddb/store.ts +66 -56
- package/src/interfaces/array.ts +5 -3
- package/src/interfaces/common.ts +20 -9
- package/src/interfaces/index.ts +3 -1
- package/src/interfaces/map.ts +19 -53
- package/src/interfaces/map_test_suite.ts +73 -44
- package/src/interfaces/multi_map.ts +38 -0
- package/src/interfaces/multi_map_test_suite.ts +242 -0
- package/src/interfaces/store.ts +18 -53
- package/src/interfaces/utils.ts +1 -0
- package/src/lmdb/array.ts +2 -1
- package/src/lmdb/index.ts +3 -3
- package/src/lmdb/map.ts +23 -94
- package/src/lmdb/multi_map.ts +35 -0
- package/src/lmdb/store.ts +23 -47
- package/src/lmdb-v2/array.ts +7 -2
- package/src/lmdb-v2/factory.ts +17 -10
- package/src/lmdb-v2/map.ts +29 -126
- package/src/lmdb-v2/message.ts +23 -0
- package/src/lmdb-v2/multi_map.ts +141 -0
- package/src/lmdb-v2/read_transaction.ts +40 -0
- package/src/lmdb-v2/set.ts +33 -0
- package/src/lmdb-v2/singleton.ts +5 -1
- package/src/lmdb-v2/store.ts +22 -14
- package/src/lmdb-v2/write_transaction.ts +2 -2
- package/src/stores/index.ts +2 -0
- package/src/stores/l2_tips_store.ts +18 -9
- package/dest/interfaces/store_test_suite.d.ts +0 -3
- package/dest/interfaces/store_test_suite.d.ts.map +0 -1
- package/dest/interfaces/store_test_suite.js +0 -37
- package/src/interfaces/store_test_suite.ts +0 -56
|
@@ -9,10 +9,12 @@ export declare enum LMDBMessageType {
|
|
|
9
9
|
HAS = 102,
|
|
10
10
|
START_CURSOR = 103,
|
|
11
11
|
ADVANCE_CURSOR = 104,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
ADVANCE_CURSOR_COUNT = 105,
|
|
13
|
+
CLOSE_CURSOR = 106,
|
|
14
|
+
BATCH = 107,
|
|
15
|
+
STATS = 108,
|
|
16
|
+
CLOSE = 109,
|
|
17
|
+
COPY_STORE = 110
|
|
16
18
|
}
|
|
17
19
|
type Key = Uint8Array;
|
|
18
20
|
type Value = Uint8Array;
|
|
@@ -45,9 +47,17 @@ interface AdvanceCursorRequest {
|
|
|
45
47
|
cursor: number;
|
|
46
48
|
count: number | null;
|
|
47
49
|
}
|
|
50
|
+
interface AdvanceCursorCountRequest {
|
|
51
|
+
cursor: number;
|
|
52
|
+
endKey: Key;
|
|
53
|
+
}
|
|
48
54
|
interface CloseCursorRequest {
|
|
49
55
|
cursor: number;
|
|
50
56
|
}
|
|
57
|
+
interface CopyStoreRequest {
|
|
58
|
+
dstPath: string;
|
|
59
|
+
compact: boolean;
|
|
60
|
+
}
|
|
51
61
|
export interface Batch {
|
|
52
62
|
addEntries: Array<KeyValues>;
|
|
53
63
|
removeEntries: Array<KeyOptionalValues>;
|
|
@@ -61,10 +71,12 @@ export type LMDBRequestBody = {
|
|
|
61
71
|
[LMDBMessageType.HAS]: HasRequest;
|
|
62
72
|
[LMDBMessageType.START_CURSOR]: StartCursorRequest;
|
|
63
73
|
[LMDBMessageType.ADVANCE_CURSOR]: AdvanceCursorRequest;
|
|
74
|
+
[LMDBMessageType.ADVANCE_CURSOR_COUNT]: AdvanceCursorCountRequest;
|
|
64
75
|
[LMDBMessageType.CLOSE_CURSOR]: CloseCursorRequest;
|
|
65
76
|
[LMDBMessageType.BATCH]: BatchRequest;
|
|
66
77
|
[LMDBMessageType.STATS]: void;
|
|
67
78
|
[LMDBMessageType.CLOSE]: void;
|
|
79
|
+
[LMDBMessageType.COPY_STORE]: CopyStoreRequest;
|
|
68
80
|
};
|
|
69
81
|
interface GetResponse {
|
|
70
82
|
values: OptionalValues;
|
|
@@ -80,6 +92,10 @@ interface AdvanceCursorResponse {
|
|
|
80
92
|
entries: Array<KeyValues>;
|
|
81
93
|
done: boolean;
|
|
82
94
|
}
|
|
95
|
+
interface AdvanceCursorCountResponse {
|
|
96
|
+
count: number;
|
|
97
|
+
done: boolean;
|
|
98
|
+
}
|
|
83
99
|
interface BatchResponse {
|
|
84
100
|
durationNs: number;
|
|
85
101
|
}
|
|
@@ -93,6 +109,7 @@ interface StatsResponse {
|
|
|
93
109
|
totalUsedSize: bigint | number;
|
|
94
110
|
}>;
|
|
95
111
|
dbMapSizeBytes: bigint | number;
|
|
112
|
+
dbPhysicalFileSizeBytes: bigint | number;
|
|
96
113
|
}
|
|
97
114
|
export type LMDBResponseBody = {
|
|
98
115
|
[LMDBMessageType.OPEN_DATABASE]: BoolResponse;
|
|
@@ -100,10 +117,12 @@ export type LMDBResponseBody = {
|
|
|
100
117
|
[LMDBMessageType.HAS]: HasResponse;
|
|
101
118
|
[LMDBMessageType.START_CURSOR]: StartCursorResponse;
|
|
102
119
|
[LMDBMessageType.ADVANCE_CURSOR]: AdvanceCursorResponse;
|
|
120
|
+
[LMDBMessageType.ADVANCE_CURSOR_COUNT]: AdvanceCursorCountResponse;
|
|
103
121
|
[LMDBMessageType.CLOSE_CURSOR]: BoolResponse;
|
|
104
122
|
[LMDBMessageType.BATCH]: BatchResponse;
|
|
105
123
|
[LMDBMessageType.STATS]: StatsResponse;
|
|
106
124
|
[LMDBMessageType.CLOSE]: BoolResponse;
|
|
125
|
+
[LMDBMessageType.COPY_STORE]: BoolResponse;
|
|
107
126
|
};
|
|
108
127
|
export interface LMDBMessageChannel {
|
|
109
128
|
sendMessage<T extends LMDBMessageType>(msgType: T, body: LMDBRequestBody[T]): Promise<LMDBResponseBody[T]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/lmdb-v2/message.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAClB,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAED,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,oBAAY,eAAe;IACzB,aAAa,MAAM;IACnB,GAAG,MAAA;IACH,GAAG,MAAA;IAEH,YAAY,MAAA;IACZ,cAAc,MAAA;IACd,YAAY,MAAA;IAEZ,KAAK,MAAA;IAEL,KAAK,MAAA;IAEL,KAAK,MAAA;
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/lmdb-v2/message.ts"],"names":[],"mappings":"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"}
|
package/dest/lmdb-v2/message.js
CHANGED
|
@@ -10,9 +10,11 @@ export var LMDBMessageType = /*#__PURE__*/ function(LMDBMessageType) {
|
|
|
10
10
|
LMDBMessageType[LMDBMessageType["HAS"] = 102] = "HAS";
|
|
11
11
|
LMDBMessageType[LMDBMessageType["START_CURSOR"] = 103] = "START_CURSOR";
|
|
12
12
|
LMDBMessageType[LMDBMessageType["ADVANCE_CURSOR"] = 104] = "ADVANCE_CURSOR";
|
|
13
|
-
LMDBMessageType[LMDBMessageType["
|
|
14
|
-
LMDBMessageType[LMDBMessageType["
|
|
15
|
-
LMDBMessageType[LMDBMessageType["
|
|
16
|
-
LMDBMessageType[LMDBMessageType["
|
|
13
|
+
LMDBMessageType[LMDBMessageType["ADVANCE_CURSOR_COUNT"] = 105] = "ADVANCE_CURSOR_COUNT";
|
|
14
|
+
LMDBMessageType[LMDBMessageType["CLOSE_CURSOR"] = 106] = "CLOSE_CURSOR";
|
|
15
|
+
LMDBMessageType[LMDBMessageType["BATCH"] = 107] = "BATCH";
|
|
16
|
+
LMDBMessageType[LMDBMessageType["STATS"] = 108] = "STATS";
|
|
17
|
+
LMDBMessageType[LMDBMessageType["CLOSE"] = 109] = "CLOSE";
|
|
18
|
+
LMDBMessageType[LMDBMessageType["COPY_STORE"] = 110] = "COPY_STORE";
|
|
17
19
|
return LMDBMessageType;
|
|
18
20
|
}({});
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { Key, Range, Value } from '../interfaces/common.js';
|
|
2
|
+
import type { AztecAsyncMultiMap } from '../interfaces/multi_map.js';
|
|
3
|
+
import { type AztecLMDBStoreV2 } from './store.js';
|
|
4
|
+
export declare class LMDBMultiMap<K extends Key, V extends Value> implements AztecAsyncMultiMap<K, V> {
|
|
5
|
+
private store;
|
|
6
|
+
private prefix;
|
|
7
|
+
private encoder;
|
|
8
|
+
constructor(store: AztecLMDBStoreV2, name: string);
|
|
9
|
+
/**
|
|
10
|
+
* Sets the value at the given key.
|
|
11
|
+
* @param key - The key to set the value at
|
|
12
|
+
* @param val - The value to set
|
|
13
|
+
*/
|
|
14
|
+
set(key: K, val: V): Promise<void>;
|
|
15
|
+
setMany(entries: {
|
|
16
|
+
key: K;
|
|
17
|
+
value: V;
|
|
18
|
+
}[]): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Sets the value at the given key if it does not already exist.
|
|
21
|
+
* @param key - The key to set the value at
|
|
22
|
+
* @param val - The value to set
|
|
23
|
+
*/
|
|
24
|
+
setIfNotExists(key: K, val: V): Promise<boolean>;
|
|
25
|
+
/**
|
|
26
|
+
* Deletes the value at the given key.
|
|
27
|
+
* @param key - The key to delete the value at
|
|
28
|
+
*/
|
|
29
|
+
delete(key: K): Promise<void>;
|
|
30
|
+
getAsync(key: K): Promise<V | undefined>;
|
|
31
|
+
hasAsync(key: K): Promise<boolean>;
|
|
32
|
+
sizeAsync(): Promise<number>;
|
|
33
|
+
/**
|
|
34
|
+
* Iterates over the map's key-value entries in the key's natural order
|
|
35
|
+
* @param range - The range of keys to iterate over
|
|
36
|
+
*/
|
|
37
|
+
entriesAsync(range?: Range<K>): AsyncIterableIterator<[K, V]>;
|
|
38
|
+
/**
|
|
39
|
+
* Iterates over the map's values in the key's natural order
|
|
40
|
+
* @param range - The range of keys to iterate over
|
|
41
|
+
*/
|
|
42
|
+
valuesAsync(range?: Range<K>): AsyncIterableIterator<V>;
|
|
43
|
+
/**
|
|
44
|
+
* Iterates over the map's keys in the key's natural order
|
|
45
|
+
* @param range - The range of keys to iterate over
|
|
46
|
+
*/
|
|
47
|
+
keysAsync(range?: Range<K>): AsyncIterableIterator<K>;
|
|
48
|
+
deleteValue(key: K, val: V | undefined): Promise<void>;
|
|
49
|
+
getValuesAsync(key: K): AsyncIterableIterator<V>;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=multi_map.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"multi_map.d.ts","sourceRoot":"","sources":["../../src/lmdb-v2/multi_map.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EAAE,KAAK,gBAAgB,EAA+B,MAAM,YAAY,CAAC;AAGhF,qBAAa,YAAY,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,KAAK,CAAE,YAAW,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC;IAIzF,OAAO,CAAC,KAAK;IAHf,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAiB;gBAEtB,KAAK,EAAE,gBAAgB,EAC/B,IAAI,EAAE,MAAM;IAKd;;;;OAIG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5B,OAAO,CAAC,OAAO,EAAE;QAAE,GAAG,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,CAAC,CAAA;KAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7D;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAWhD;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7B,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAOxC,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAI5B;;;OAGG;IACI,YAAY,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAgCpE;;;OAGG;IACI,WAAW,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC;IAM9D;;;OAGG;IACI,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC;IAM5D,WAAW,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,cAAc,CAAC,GAAG,EAAE,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC;CAMxD"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { Encoder } from 'msgpackr/pack';
|
|
2
|
+
import { execInReadTx, execInWriteTx } from './store.js';
|
|
3
|
+
import { deserializeKey, maxKey, minKey, serializeKey } from './utils.js';
|
|
4
|
+
export class LMDBMultiMap {
|
|
5
|
+
store;
|
|
6
|
+
prefix;
|
|
7
|
+
encoder;
|
|
8
|
+
constructor(store, name){
|
|
9
|
+
this.store = store;
|
|
10
|
+
this.encoder = new Encoder();
|
|
11
|
+
this.prefix = `multimap:${name}`;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Sets the value at the given key.
|
|
15
|
+
* @param key - The key to set the value at
|
|
16
|
+
* @param val - The value to set
|
|
17
|
+
*/ set(key, val) {
|
|
18
|
+
return execInWriteTx(this.store, (tx)=>tx.setIndex(serializeKey(this.prefix, key), this.encoder.pack(val)));
|
|
19
|
+
}
|
|
20
|
+
async setMany(entries) {
|
|
21
|
+
await execInWriteTx(this.store, async (tx)=>{
|
|
22
|
+
for (const { key, value } of entries){
|
|
23
|
+
await tx.setIndex(serializeKey(this.prefix, key), this.encoder.pack(value));
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Sets the value at the given key if it does not already exist.
|
|
29
|
+
* @param key - The key to set the value at
|
|
30
|
+
* @param val - The value to set
|
|
31
|
+
*/ setIfNotExists(key, val) {
|
|
32
|
+
return execInWriteTx(this.store, async (tx)=>{
|
|
33
|
+
const exists = !!await this.getAsync(key);
|
|
34
|
+
if (!exists) {
|
|
35
|
+
await tx.setIndex(serializeKey(this.prefix, key), this.encoder.pack(val));
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
return false;
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Deletes the value at the given key.
|
|
43
|
+
* @param key - The key to delete the value at
|
|
44
|
+
*/ delete(key) {
|
|
45
|
+
return execInWriteTx(this.store, (tx)=>tx.removeIndex(serializeKey(this.prefix, key)));
|
|
46
|
+
}
|
|
47
|
+
getAsync(key) {
|
|
48
|
+
return execInReadTx(this.store, async (tx)=>{
|
|
49
|
+
const val = await tx.getIndex(serializeKey(this.prefix, key));
|
|
50
|
+
return val.length > 0 ? this.encoder.unpack(val[0]) : undefined;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
hasAsync(key) {
|
|
54
|
+
return execInReadTx(this.store, async (tx)=>(await tx.getIndex(serializeKey(this.prefix, key))).length > 0);
|
|
55
|
+
}
|
|
56
|
+
sizeAsync() {
|
|
57
|
+
return execInReadTx(this.store, (tx)=>tx.countEntriesIndex(minKey(this.prefix), maxKey(this.prefix), false));
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Iterates over the map's key-value entries in the key's natural order
|
|
61
|
+
* @param range - The range of keys to iterate over
|
|
62
|
+
*/ async *entriesAsync(range) {
|
|
63
|
+
const reverse = range?.reverse ?? false;
|
|
64
|
+
const startKey = range?.start ? serializeKey(this.prefix, range.start) : minKey(this.prefix);
|
|
65
|
+
const endKey = range?.end ? serializeKey(this.prefix, range.end) : reverse ? maxKey(this.prefix) : undefined;
|
|
66
|
+
let tx = this.store.getCurrentWriteTx();
|
|
67
|
+
const shouldClose = !tx;
|
|
68
|
+
tx ??= this.store.getReadTx();
|
|
69
|
+
try {
|
|
70
|
+
for await (const [key, vals] of tx.iterateIndex(reverse ? endKey : startKey, reverse ? startKey : endKey, reverse, range?.limit)){
|
|
71
|
+
const deserializedKey = deserializeKey(this.prefix, key);
|
|
72
|
+
if (!deserializedKey) {
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
for (const val of vals){
|
|
76
|
+
yield [
|
|
77
|
+
deserializedKey,
|
|
78
|
+
this.encoder.unpack(val)
|
|
79
|
+
];
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
} finally{
|
|
83
|
+
if (shouldClose) {
|
|
84
|
+
tx.close();
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Iterates over the map's values in the key's natural order
|
|
90
|
+
* @param range - The range of keys to iterate over
|
|
91
|
+
*/ async *valuesAsync(range) {
|
|
92
|
+
for await (const [_, value] of this.entriesAsync(range)){
|
|
93
|
+
yield value;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Iterates over the map's keys in the key's natural order
|
|
98
|
+
* @param range - The range of keys to iterate over
|
|
99
|
+
*/ async *keysAsync(range) {
|
|
100
|
+
for await (const [key, _] of this.entriesAsync(range)){
|
|
101
|
+
yield key;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
deleteValue(key, val) {
|
|
105
|
+
return execInWriteTx(this.store, (tx)=>tx.removeIndex(serializeKey(this.prefix, key), this.encoder.pack(val)));
|
|
106
|
+
}
|
|
107
|
+
async *getValuesAsync(key) {
|
|
108
|
+
const values = await execInReadTx(this.store, (tx)=>tx.getIndex(serializeKey(this.prefix, key)));
|
|
109
|
+
for (const value of values){
|
|
110
|
+
yield this.encoder.unpack(value);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
@@ -10,5 +10,7 @@ export declare class ReadTransaction {
|
|
|
10
10
|
getIndex(key: Uint8Array): Promise<Uint8Array[]>;
|
|
11
11
|
iterate(startKey: Uint8Array, endKey?: Uint8Array, reverse?: boolean, limit?: number): AsyncIterable<[Uint8Array, Uint8Array]>;
|
|
12
12
|
iterateIndex(startKey: Uint8Array, endKey?: Uint8Array, reverse?: boolean, limit?: number): AsyncIterable<[Uint8Array, Uint8Array[]]>;
|
|
13
|
+
countEntries(startKey: Uint8Array, endKey: Uint8Array, reverse: boolean): Promise<number>;
|
|
14
|
+
countEntriesIndex(startKey: Uint8Array, endKey: Uint8Array, reverse: boolean): Promise<number>;
|
|
13
15
|
}
|
|
14
16
|
//# sourceMappingURL=read_transaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read_transaction.d.ts","sourceRoot":"","sources":["../../src/lmdb-v2/read_transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,kBAAkB,EAAmB,MAAM,cAAc,CAAC;AAEpG,qBAAa,eAAe;;IAGd,SAAS,CAAC,OAAO,EAAE,kBAAkB;IAFjD,SAAS,CAAC,IAAI,UAAQ;gBAEA,OAAO,EAAE,kBAAkB;IAE1C,KAAK,IAAI,IAAI;IAOpB,SAAS,CAAC,YAAY;IAMT,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAMrD,QAAQ,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAM/C,OAAO,CACnB,QAAQ,EAAE,UAAU,EACpB,MAAM,CAAC,EAAE,UAAU,EACnB,OAAO,UAAQ,EACf,KAAK,CAAC,EAAE,MAAM,GACb,aAAa,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAI5B,YAAY,CACxB,QAAQ,EAAE,UAAU,EACpB,MAAM,CAAC,EAAE,UAAU,EACnB,OAAO,UAAQ,EACf,KAAK,CAAC,EAAE,MAAM,GACb,aAAa,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"read_transaction.d.ts","sourceRoot":"","sources":["../../src/lmdb-v2/read_transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,kBAAkB,EAAmB,MAAM,cAAc,CAAC;AAEpG,qBAAa,eAAe;;IAGd,SAAS,CAAC,OAAO,EAAE,kBAAkB;IAFjD,SAAS,CAAC,IAAI,UAAQ;gBAEA,OAAO,EAAE,kBAAkB;IAE1C,KAAK,IAAI,IAAI;IAOpB,SAAS,CAAC,YAAY;IAMT,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAMrD,QAAQ,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAM/C,OAAO,CACnB,QAAQ,EAAE,UAAU,EACpB,MAAM,CAAC,EAAE,UAAU,EACnB,OAAO,UAAQ,EACf,KAAK,CAAC,EAAE,MAAM,GACb,aAAa,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAI5B,YAAY,CACxB,QAAQ,EAAE,UAAU,EACpB,MAAM,CAAC,EAAE,UAAU,EACnB,OAAO,UAAQ,EACf,KAAK,CAAC,EAAE,MAAM,GACb,aAAa,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;IAIrC,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAIzF,iBAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;CAqGtG"}
|
|
@@ -43,6 +43,12 @@ export class ReadTransaction {
|
|
|
43
43
|
async *iterateIndex(startKey, endKey, reverse = false, limit) {
|
|
44
44
|
yield* this.#iterate(Database.INDEX, startKey, endKey, reverse, limit, (vals)=>vals);
|
|
45
45
|
}
|
|
46
|
+
countEntries(startKey, endKey, reverse) {
|
|
47
|
+
return this.#countEntries(Database.DATA, startKey, endKey, reverse);
|
|
48
|
+
}
|
|
49
|
+
countEntriesIndex(startKey, endKey, reverse) {
|
|
50
|
+
return this.#countEntries(Database.INDEX, startKey, endKey, reverse);
|
|
51
|
+
}
|
|
46
52
|
async *#iterate(db, startKey, endKey, reverse, limit, map) {
|
|
47
53
|
this.assertIsOpen();
|
|
48
54
|
const response = await this.channel.sendMessage(LMDBMessageType.START_CURSOR, {
|
|
@@ -98,4 +104,32 @@ export class ReadTransaction {
|
|
|
98
104
|
}
|
|
99
105
|
}
|
|
100
106
|
}
|
|
107
|
+
async #countEntries(db, startKey, endKey, reverse) {
|
|
108
|
+
this.assertIsOpen();
|
|
109
|
+
const response = await this.channel.sendMessage(LMDBMessageType.START_CURSOR, {
|
|
110
|
+
key: startKey,
|
|
111
|
+
reverse,
|
|
112
|
+
count: 0,
|
|
113
|
+
onePage: false,
|
|
114
|
+
db
|
|
115
|
+
});
|
|
116
|
+
const cursor = response.cursor;
|
|
117
|
+
try {
|
|
118
|
+
if (!cursor) {
|
|
119
|
+
return 0;
|
|
120
|
+
}
|
|
121
|
+
const advanceResponse = await this.channel.sendMessage(LMDBMessageType.ADVANCE_CURSOR_COUNT, {
|
|
122
|
+
cursor,
|
|
123
|
+
endKey: endKey
|
|
124
|
+
});
|
|
125
|
+
return advanceResponse.count;
|
|
126
|
+
} finally{
|
|
127
|
+
// we might not have anything to close
|
|
128
|
+
if (typeof cursor === 'number') {
|
|
129
|
+
await this.channel.sendMessage(LMDBMessageType.CLOSE_CURSOR, {
|
|
130
|
+
cursor
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
101
135
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Key, Range } from '../interfaces/common.js';
|
|
2
|
+
import type { AztecAsyncSet } from '../interfaces/set.js';
|
|
3
|
+
import type { AztecLMDBStoreV2 } from './store.js';
|
|
4
|
+
/**
|
|
5
|
+
* A set backed by LMDB.
|
|
6
|
+
*/
|
|
7
|
+
export declare class LMDBSet<K extends Key> implements AztecAsyncSet<K> {
|
|
8
|
+
private map;
|
|
9
|
+
constructor(store: AztecLMDBStoreV2, mapName: string);
|
|
10
|
+
hasAsync(key: K): Promise<boolean>;
|
|
11
|
+
add(key: K): Promise<void>;
|
|
12
|
+
delete(key: K): Promise<void>;
|
|
13
|
+
entriesAsync(range?: Range<K>): AsyncIterableIterator<K>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=set.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set.d.ts","sourceRoot":"","sources":["../../src/lmdb-v2/set.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD;;GAEG;AACH,qBAAa,OAAO,CAAC,CAAC,SAAS,GAAG,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAsB;gBAErB,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM;IAIpD,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1B,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAItB,YAAY,CAAC,KAAK,GAAE,KAAK,CAAC,CAAC,CAAM,GAAG,qBAAqB,CAAC,CAAC,CAAC;CAKpE"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { LMDBMap } from './map.js';
|
|
2
|
+
/**
|
|
3
|
+
* A set backed by LMDB.
|
|
4
|
+
*/ export class LMDBSet {
|
|
5
|
+
map;
|
|
6
|
+
constructor(store, mapName){
|
|
7
|
+
this.map = new LMDBMap(store, mapName);
|
|
8
|
+
}
|
|
9
|
+
hasAsync(key) {
|
|
10
|
+
return this.map.hasAsync(key);
|
|
11
|
+
}
|
|
12
|
+
add(key) {
|
|
13
|
+
return this.map.set(key, true);
|
|
14
|
+
}
|
|
15
|
+
delete(key) {
|
|
16
|
+
return this.map.delete(key);
|
|
17
|
+
}
|
|
18
|
+
async *entriesAsync(range = {}) {
|
|
19
|
+
for await (const key of this.map.keysAsync(range)){
|
|
20
|
+
yield key;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"singleton.d.ts","sourceRoot":"","sources":["../../src/lmdb-v2/singleton.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"singleton.d.ts","sourceRoot":"","sources":["../../src/lmdb-v2/singleton.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EAAE,KAAK,gBAAgB,EAA+B,MAAM,YAAY,CAAC;AAGhF,qBAAa,eAAe,CAAC,CAAC,CAAE,YAAW,mBAAmB,CAAC,CAAC,CAAC;IAI7D,OAAO,CAAC,KAAK;IAHf,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,OAAO,CAAiB;gBAEtB,KAAK,EAAE,gBAAgB,EAC/B,IAAI,EAAE,MAAM;IAKd,QAAQ,IAAI,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAOlC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAO7B,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;CAM3B"}
|
package/dest/lmdb-v2/store.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { type Logger } from '@aztec/foundation/log';
|
|
2
2
|
import type { AztecAsyncArray } from '../interfaces/array.js';
|
|
3
|
-
import type { Key, StoreSize } from '../interfaces/common.js';
|
|
3
|
+
import type { Key, StoreSize, Value } from '../interfaces/common.js';
|
|
4
4
|
import type { AztecAsyncCounter } from '../interfaces/counter.js';
|
|
5
|
-
import type { AztecAsyncMap
|
|
5
|
+
import type { AztecAsyncMap } from '../interfaces/map.js';
|
|
6
|
+
import type { AztecAsyncMultiMap } from '../interfaces/multi_map.js';
|
|
6
7
|
import type { AztecAsyncSet } from '../interfaces/set.js';
|
|
7
8
|
import type { AztecAsyncSingleton } from '../interfaces/singleton.js';
|
|
8
9
|
import type { AztecAsyncKVStore } from '../interfaces/store.js';
|
|
@@ -22,17 +23,17 @@ export declare class AztecLMDBStoreV2 implements AztecAsyncKVStore, LMDBMessageC
|
|
|
22
23
|
get dataDirectory(): string;
|
|
23
24
|
private start;
|
|
24
25
|
static new(dataDir: string, dbMapSizeKb?: number, maxReaders?: number, cleanup?: () => Promise<void>, log?: Logger): Promise<AztecLMDBStoreV2>;
|
|
26
|
+
backupTo(dstPath: string, compact?: boolean): Promise<void>;
|
|
25
27
|
getReadTx(): ReadTransaction;
|
|
26
28
|
getCurrentWriteTx(): WriteTransaction | undefined;
|
|
27
|
-
openMap<K extends Key, V>(name: string): AztecAsyncMap<K, V>;
|
|
28
|
-
openMultiMap<K extends Key, V>(name: string): AztecAsyncMultiMap<K, V>;
|
|
29
|
-
openSingleton<T>(name: string): AztecAsyncSingleton<T>;
|
|
30
|
-
openArray<T>(name: string): AztecAsyncArray<T>;
|
|
31
|
-
openSet<K extends Key>(
|
|
29
|
+
openMap<K extends Key, V extends Value>(name: string): AztecAsyncMap<K, V>;
|
|
30
|
+
openMultiMap<K extends Key, V extends Value>(name: string): AztecAsyncMultiMap<K, V>;
|
|
31
|
+
openSingleton<T extends Value>(name: string): AztecAsyncSingleton<T>;
|
|
32
|
+
openArray<T extends Value>(name: string): AztecAsyncArray<T>;
|
|
33
|
+
openSet<K extends Key>(name: string): AztecAsyncSet<K>;
|
|
32
34
|
openCounter<K extends Key>(_name: string): AztecAsyncCounter<K>;
|
|
33
35
|
transactionAsync<T extends Exclude<any, Promise<any>>>(callback: (tx: WriteTransaction) => Promise<T>): Promise<T>;
|
|
34
36
|
clear(): Promise<void>;
|
|
35
|
-
fork(): Promise<AztecAsyncKVStore>;
|
|
36
37
|
delete(): Promise<void>;
|
|
37
38
|
close(): Promise<void>;
|
|
38
39
|
sendMessage<T extends LMDBMessageType>(msgType: T, body: LMDBRequestBody[T]): Promise<LMDBResponseBody[T]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/lmdb-v2/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAOlE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/lmdb-v2/store.ts"],"names":[],"mappings":"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"}
|
package/dest/lmdb-v2/store.js
CHANGED
|
@@ -2,11 +2,16 @@ import { createLogger } from '@aztec/foundation/log';
|
|
|
2
2
|
import { Semaphore, SerialQueue } from '@aztec/foundation/queue';
|
|
3
3
|
import { MsgpackChannel, NativeLMDBStore } from '@aztec/native';
|
|
4
4
|
import { AsyncLocalStorage } from 'async_hooks';
|
|
5
|
-
import { rm } from 'fs/promises';
|
|
5
|
+
import { mkdir, rm } from 'fs/promises';
|
|
6
|
+
// eslint-disable-next-line import/no-cycle
|
|
6
7
|
import { LMDBArray } from './array.js';
|
|
7
|
-
|
|
8
|
+
// eslint-disable-next-line import/no-cycle
|
|
9
|
+
import { LMDBMap } from './map.js';
|
|
8
10
|
import { Database, LMDBMessageType } from './message.js';
|
|
11
|
+
import { LMDBMultiMap } from './multi_map.js';
|
|
9
12
|
import { ReadTransaction } from './read_transaction.js';
|
|
13
|
+
import { LMDBSet } from './set.js';
|
|
14
|
+
// eslint-disable-next-line import/no-cycle
|
|
10
15
|
import { LMDBSingleValue } from './singleton.js';
|
|
11
16
|
import { WriteTransaction } from './write_transaction.js';
|
|
12
17
|
export class AztecLMDBStoreV2 {
|
|
@@ -50,6 +55,15 @@ export class AztecLMDBStoreV2 {
|
|
|
50
55
|
await db.start();
|
|
51
56
|
return db;
|
|
52
57
|
}
|
|
58
|
+
async backupTo(dstPath, compact = true) {
|
|
59
|
+
await mkdir(dstPath, {
|
|
60
|
+
recursive: true
|
|
61
|
+
});
|
|
62
|
+
await this.channel.sendMessage(LMDBMessageType.COPY_STORE, {
|
|
63
|
+
dstPath,
|
|
64
|
+
compact
|
|
65
|
+
});
|
|
66
|
+
}
|
|
53
67
|
getReadTx() {
|
|
54
68
|
if (!this.open) {
|
|
55
69
|
throw new Error('Store is closed');
|
|
@@ -75,8 +89,8 @@ export class AztecLMDBStoreV2 {
|
|
|
75
89
|
openArray(name) {
|
|
76
90
|
return new LMDBArray(this, name);
|
|
77
91
|
}
|
|
78
|
-
openSet(
|
|
79
|
-
|
|
92
|
+
openSet(name) {
|
|
93
|
+
return new LMDBSet(this, name);
|
|
80
94
|
}
|
|
81
95
|
openCounter(_name) {
|
|
82
96
|
throw new Error('Not implemented');
|
|
@@ -109,9 +123,6 @@ export class AztecLMDBStoreV2 {
|
|
|
109
123
|
clear() {
|
|
110
124
|
return Promise.resolve();
|
|
111
125
|
}
|
|
112
|
-
fork() {
|
|
113
|
-
throw new Error('Not implemented');
|
|
114
|
-
}
|
|
115
126
|
async delete() {
|
|
116
127
|
await this.close();
|
|
117
128
|
await rm(this.dataDir, {
|
|
@@ -153,6 +164,7 @@ export class AztecLMDBStoreV2 {
|
|
|
153
164
|
const resp = await this.sendMessage(LMDBMessageType.STATS, undefined);
|
|
154
165
|
return {
|
|
155
166
|
mappingSize: Number(resp.dbMapSizeBytes),
|
|
167
|
+
physicalFileSize: Number(resp.dbPhysicalFileSizeBytes),
|
|
156
168
|
actualSize: resp.stats.reduce((s, db)=>Number(db.totalUsedSize) + s, 0),
|
|
157
169
|
numItems: resp.stats.reduce((s, db)=>Number(db.numDataItems) + s, 0)
|
|
158
170
|
};
|
package/dest/lmdb-v2/utils.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 { Key } from '../interfaces/common.js';
|
|
4
2
|
type Cmp<T> = (a: T, b: T) => -1 | 0 | 1;
|
|
5
3
|
export declare function dedupeSortedArray<T>(arr: T[], cmp: Cmp<T>): void;
|
|
@@ -11,8 +9,8 @@ export declare function removeFromSortedArray<T, N>(arr: T[], val: N, cmp: (a: T
|
|
|
11
9
|
export declare function merge<T>(arr: T[], toInsert: T[], cmp: (a: T, b: T) => -1 | 0 | 1): void;
|
|
12
10
|
export declare function keyCmp(a: [Uint8Array, Uint8Array[] | null], b: [Uint8Array, Uint8Array[] | null]): -1 | 0 | 1;
|
|
13
11
|
export declare function singleKeyCmp(a: [Uint8Array, Uint8Array[] | null], b: Uint8Array): -1 | 0 | 1;
|
|
14
|
-
export declare function minKey(prefix: string): Buffer
|
|
15
|
-
export declare function maxKey(prefix: string): Buffer
|
|
12
|
+
export declare function minKey(prefix: string): Buffer<ArrayBufferLike>;
|
|
13
|
+
export declare function maxKey(prefix: string): Buffer<ArrayBufferLike>;
|
|
16
14
|
export declare function serializeKey(prefix: string, key: Key): Buffer;
|
|
17
15
|
export declare function deserializeKey<K extends Key>(prefix: string, key: Uint8Array): K | false;
|
|
18
16
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lmdb-v2/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lmdb-v2/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAEnD,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEzC,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAkBhE;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,GAAG,IAAI,CAgB7F;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,CAiBxG;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,GAAG,CAAC,GAAG,SAAS,CAG1G;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAsB5F;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,QAK5F;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAqBvF;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAE7G;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAE5F;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,2BAEpC;AAED,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,2BAEpC;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM,CAE7D;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,CAAC,GAAG,KAAK,CAOxF"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
1
|
import { type Batch } from './message.js';
|
|
4
2
|
import { ReadTransaction } from './read_transaction.js';
|
|
5
3
|
export declare class WriteTransaction extends ReadTransaction {
|
|
@@ -12,8 +10,8 @@ export declare class WriteTransaction extends ReadTransaction {
|
|
|
12
10
|
setIndex(key: Buffer, ...values: Buffer[]): Promise<void>;
|
|
13
11
|
removeIndex(key: Buffer, ...values: Buffer[]): Promise<void>;
|
|
14
12
|
getIndex(key: Buffer): Promise<Uint8Array[]>;
|
|
15
|
-
iterate(startKey: Uint8Array, endKey?: Uint8Array
|
|
16
|
-
iterateIndex(startKey: Uint8Array, endKey?: Uint8Array
|
|
13
|
+
iterate(startKey: Uint8Array, endKey?: Uint8Array, reverse?: boolean, limit?: number): AsyncIterable<[Uint8Array, Uint8Array]>;
|
|
14
|
+
iterateIndex(startKey: Uint8Array, endKey?: Uint8Array, reverse?: boolean, limit?: number): AsyncIterable<[Uint8Array, Uint8Array[]]>;
|
|
17
15
|
commit(): Promise<void>;
|
|
18
16
|
}
|
|
19
17
|
//# sourceMappingURL=write_transaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write_transaction.d.ts","sourceRoot":"","sources":["../../src/lmdb-v2/write_transaction.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"write_transaction.d.ts","sourceRoot":"","sources":["../../src/lmdb-v2/write_transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAA6B,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAaxD,qBAAa,gBAAiB,SAAQ,eAAe;;IAEnD,SAAgB,SAAS,EAAE,KAAK,CAG9B;IACF,SAAgB,UAAU,EAAE,KAAK,CAG/B;IAEF,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBtD,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAchB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAevE,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BzD,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAuCtC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAuB3C,OAAO,CAC5B,QAAQ,EAAE,UAAU,EACpB,MAAM,CAAC,EAAE,UAAU,EACnB,OAAO,CAAC,EAAE,OAAO,EACjB,KAAK,CAAC,EAAE,MAAM,GACb,aAAa,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAanB,YAAY,CACjC,QAAQ,EAAE,UAAU,EACpB,MAAM,CAAC,EAAE,UAAU,EACnB,OAAO,CAAC,EAAE,OAAO,EACjB,KAAK,CAAC,EAAE,MAAM,GACb,aAAa,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC;IAqH/B,MAAM;CAUpB"}
|
package/dest/stores/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stores/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stores/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dest/stores/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { L2BlockStreamEvent, L2BlockStreamEventHandler, L2BlockStreamLocalDataProvider, L2Tips } from '@aztec/stdlib/block';
|
|
2
2
|
import type { AztecAsyncKVStore } from '../interfaces/store.js';
|
|
3
3
|
/** Stores currently synced L2 tips and unfinalized block hashes. */
|
|
4
|
-
export declare class
|
|
4
|
+
export declare class L2TipsKVStore implements L2BlockStreamEventHandler, L2BlockStreamLocalDataProvider {
|
|
5
5
|
private readonly l2TipsStore;
|
|
6
6
|
private readonly l2BlockHashesStore;
|
|
7
7
|
constructor(store: AztecAsyncKVStore, namespace: string);
|
|
@@ -9,5 +9,6 @@ export declare class L2TipsStore implements L2BlockStreamEventHandler, L2BlockSt
|
|
|
9
9
|
getL2Tips(): Promise<L2Tips>;
|
|
10
10
|
private getL2Tip;
|
|
11
11
|
handleBlockStreamEvent(event: L2BlockStreamEvent): Promise<void>;
|
|
12
|
+
private saveTag;
|
|
12
13
|
}
|
|
13
14
|
//# sourceMappingURL=l2_tips_store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l2_tips_store.d.ts","sourceRoot":"","sources":["../../src/stores/l2_tips_store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kBAAkB,EAClB,yBAAyB,EACzB,8BAA8B,EAE9B,MAAM,EACP,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,oEAAoE;AACpE,qBAAa,
|
|
1
|
+
{"version":3,"file":"l2_tips_store.d.ts","sourceRoot":"","sources":["../../src/stores/l2_tips_store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kBAAkB,EAClB,yBAAyB,EACzB,8BAA8B,EAE9B,MAAM,EACP,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,oEAAoE;AACpE,qBAAa,aAAc,YAAW,yBAAyB,EAAE,8BAA8B;IAC7F,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoC;IAChE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAgC;gBAEvD,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM;IAKhD,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIrD,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;YAQ3B,QAAQ;IAaT,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;YAyB/D,OAAO;CAMtB"}
|