@lodestar/db 1.34.0-dev.ece38879ec → 1.34.0-dev.f0e804ef10

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.
@@ -0,0 +1,83 @@
1
+ import { Type } from "@chainsafe/ssz";
2
+ import { ChainForkConfig } from "@lodestar/config";
3
+ import { KeyValue } from "./controller/index.js";
4
+ import { Db, FilterOptions } from "./controller/interface.js";
5
+ type Id = Uint8Array | string | number | bigint;
6
+ /**
7
+ * Repository is a high level kv storage
8
+ * This abstract repository is designed in a way to store items with different prefixed
9
+ * Specially when those prefixed data is not available in the object to be stored
10
+ *
11
+ * By default, SSZ-encoded values,
12
+ */
13
+ export declare abstract class PrefixedRepository<P, I extends Id, T> {
14
+ protected config: ChainForkConfig;
15
+ protected db: Db;
16
+ protected bucket: number;
17
+ protected type: Type<T>;
18
+ private readonly bucketId;
19
+ private readonly dbReqOpts;
20
+ protected constructor(config: ChainForkConfig, db: Db, bucket: number, type: Type<T>, bucketId: string);
21
+ abstract encodeKeyRaw(prefix: P, id: I): Uint8Array;
22
+ abstract decodeKeyRaw(raw: Uint8Array): {
23
+ prefix: P;
24
+ id: I;
25
+ };
26
+ /**
27
+ * Max key is inclusive
28
+ * */
29
+ abstract getMaxKeyRaw(prefix: P): Uint8Array;
30
+ /**
31
+ * Min key is inclusive
32
+ * */
33
+ abstract getMinKeyRaw(prefix: P): Uint8Array;
34
+ protected encodeValue(value: T): Uint8Array;
35
+ protected decodeValue(data: Uint8Array): T;
36
+ protected wrapKey(raw: Uint8Array): Uint8Array;
37
+ protected unwrapKey(key: Uint8Array): Uint8Array;
38
+ getId(value: T): I;
39
+ get(prefix: P, id: I): Promise<T | null>;
40
+ getMany(prefix: P, ids: I[]): Promise<(T | undefined)[]>;
41
+ getManyBinary(prefix: P, ids: I[]): Promise<(Uint8Array | undefined)[]>;
42
+ getBinary(prefix: P, id: I): Promise<Uint8Array | null>;
43
+ put(prefix: P, item: T): Promise<void>;
44
+ putMany(prefix: P, items: T[]): Promise<void>;
45
+ putBinary(prefix: P, id: I, bytes: Uint8Array): Promise<void>;
46
+ putManyBinary(prefix: P, items: KeyValue<I, Uint8Array>[]): Promise<void>;
47
+ delete(prefix: P, id: I): Promise<void>;
48
+ deleteMany(prefix: P | P[]): Promise<void>;
49
+ valuesStream(prefix: P | P[]): AsyncIterable<T>;
50
+ /**
51
+ * Non iterative version of `valuesStream`.
52
+ */
53
+ values(prefix: P | P[]): Promise<T[]>;
54
+ valuesStreamBinary(prefix: P | P[]): AsyncIterable<{
55
+ prefix: P;
56
+ id: I;
57
+ value: Uint8Array;
58
+ }>;
59
+ /**
60
+ * Non iterative version of `valuesStreamBinary`.
61
+ */
62
+ valuesBinary(prefix: P | P[]): Promise<{
63
+ prefix: P;
64
+ id: I;
65
+ value: Uint8Array;
66
+ }[]>;
67
+ entriesStream(prefix: P | P[]): AsyncIterable<{
68
+ prefix: P;
69
+ id: I;
70
+ value: T;
71
+ }>;
72
+ entriesStreamBinary(prefix: P | P[]): AsyncIterable<{
73
+ prefix: P;
74
+ id: I;
75
+ value: Uint8Array;
76
+ }>;
77
+ keys(opts?: FilterOptions<Uint8Array>): Promise<{
78
+ prefix: P;
79
+ id: I;
80
+ }[]>;
81
+ }
82
+ export {};
83
+ //# sourceMappingURL=abstractPrefixedRepository.d.ts.map
@@ -0,0 +1,202 @@
1
+ import { BUCKET_LENGTH } from "./const.js";
2
+ import { encodeKey } from "./util.js";
3
+ /**
4
+ * Repository is a high level kv storage
5
+ * This abstract repository is designed in a way to store items with different prefixed
6
+ * Specially when those prefixed data is not available in the object to be stored
7
+ *
8
+ * By default, SSZ-encoded values,
9
+ */
10
+ export class PrefixedRepository {
11
+ constructor(config, db, bucket, type, bucketId) {
12
+ this.config = config;
13
+ this.db = db;
14
+ this.bucket = bucket;
15
+ this.type = type;
16
+ this.bucketId = bucketId;
17
+ this.dbReqOpts = { bucketId: this.bucketId };
18
+ }
19
+ encodeValue(value) {
20
+ return this.type.serialize(value);
21
+ }
22
+ decodeValue(data) {
23
+ return this.type.deserialize(data);
24
+ }
25
+ wrapKey(raw) {
26
+ return encodeKey(this.bucket, raw);
27
+ }
28
+ unwrapKey(key) {
29
+ return key.slice(BUCKET_LENGTH);
30
+ }
31
+ // The Id can be inferred from the value
32
+ getId(value) {
33
+ return this.type.hashTreeRoot(value);
34
+ }
35
+ async get(prefix, id) {
36
+ const key = this.wrapKey(this.encodeKeyRaw(prefix, id));
37
+ const v = await this.db.get(key, this.dbReqOpts);
38
+ return v ? this.decodeValue(v) : null;
39
+ }
40
+ async getMany(prefix, ids) {
41
+ const keys = [];
42
+ for (const id of ids) {
43
+ keys.push(this.wrapKey(this.encodeKeyRaw(prefix, id)));
44
+ }
45
+ const values = await this.db.getMany(keys, this.dbReqOpts);
46
+ const result = [];
47
+ for (const value of values) {
48
+ result.push(value ? this.decodeValue(value) : undefined);
49
+ }
50
+ return result;
51
+ }
52
+ async getManyBinary(prefix, ids) {
53
+ const keys = [];
54
+ for (const id of ids) {
55
+ keys.push(this.wrapKey(this.encodeKeyRaw(prefix, id)));
56
+ }
57
+ return await this.db.getMany(keys, this.dbReqOpts);
58
+ }
59
+ async getBinary(prefix, id) {
60
+ const key = this.wrapKey(this.encodeKeyRaw(prefix, id));
61
+ return await this.db.get(key, this.dbReqOpts);
62
+ }
63
+ async put(prefix, item) {
64
+ const id = this.getId(item);
65
+ const key = this.wrapKey(this.encodeKeyRaw(prefix, id));
66
+ await this.db.put(key, this.encodeValue(item), this.dbReqOpts);
67
+ }
68
+ async putMany(prefix, items) {
69
+ const batch = [];
70
+ for (const item of items) {
71
+ const id = this.getId(item);
72
+ const key = this.wrapKey(this.encodeKeyRaw(prefix, id));
73
+ batch.push({ key, value: this.encodeValue(item) });
74
+ }
75
+ await this.db.batchPut(batch, this.dbReqOpts);
76
+ }
77
+ async putBinary(prefix, id, bytes) {
78
+ const key = this.wrapKey(this.encodeKeyRaw(prefix, id));
79
+ await this.db.put(key, bytes, this.dbReqOpts);
80
+ }
81
+ async putManyBinary(prefix, items) {
82
+ const batch = [];
83
+ for (const { key, value } of items) {
84
+ batch.push({ key: this.wrapKey(this.encodeKeyRaw(prefix, key)), value: value });
85
+ }
86
+ await this.db.batchPut(batch, this.dbReqOpts);
87
+ }
88
+ async delete(prefix, id) {
89
+ const key = this.wrapKey(this.encodeKeyRaw(prefix, id));
90
+ await this.db.delete(key, this.dbReqOpts);
91
+ }
92
+ async deleteMany(prefix) {
93
+ const keys = [];
94
+ for (const p of Array.isArray(prefix) ? prefix : [prefix]) {
95
+ const prefixedKeys = await this.db.keys({
96
+ gte: this.wrapKey(this.getMinKeyRaw(p)),
97
+ lte: this.wrapKey(this.getMaxKeyRaw(p)),
98
+ });
99
+ keys.push(prefixedKeys);
100
+ }
101
+ await this.db.batchDelete(keys.flat(), this.dbReqOpts);
102
+ }
103
+ async *valuesStream(prefix) {
104
+ for (const p of Array.isArray(prefix) ? prefix : [prefix]) {
105
+ for await (const vb of this.db.valuesStream({
106
+ gte: this.wrapKey(this.getMinKeyRaw(p)),
107
+ lte: this.wrapKey(this.getMaxKeyRaw(p)),
108
+ })) {
109
+ yield this.decodeValue(vb);
110
+ }
111
+ }
112
+ }
113
+ /**
114
+ * Non iterative version of `valuesStream`.
115
+ */
116
+ async values(prefix) {
117
+ const result = [];
118
+ for await (const value of this.valuesStream(prefix)) {
119
+ result.push(value);
120
+ }
121
+ return result;
122
+ }
123
+ async *valuesStreamBinary(prefix) {
124
+ for (const p of Array.isArray(prefix) ? prefix : [prefix]) {
125
+ for await (const { key, value } of this.db.entriesStream({
126
+ gte: this.wrapKey(this.getMinKeyRaw(p)),
127
+ lte: this.wrapKey(this.getMaxKeyRaw(p)),
128
+ })) {
129
+ yield {
130
+ ...this.decodeKeyRaw(key),
131
+ value,
132
+ };
133
+ }
134
+ }
135
+ }
136
+ /**
137
+ * Non iterative version of `valuesStreamBinary`.
138
+ */
139
+ async valuesBinary(prefix) {
140
+ const result = [];
141
+ for await (const value of this.valuesStreamBinary(prefix)) {
142
+ result.push(value);
143
+ }
144
+ return result;
145
+ }
146
+ async *entriesStream(prefix) {
147
+ for (const v of Array.isArray(prefix) ? prefix : [prefix]) {
148
+ for await (const { key, value } of this.db.entriesStream({
149
+ gte: this.wrapKey(this.getMinKeyRaw(v)),
150
+ lte: this.wrapKey(this.getMaxKeyRaw(v)),
151
+ })) {
152
+ const { prefix, id } = this.decodeKeyRaw(this.unwrapKey(key));
153
+ yield {
154
+ prefix,
155
+ id,
156
+ value: this.decodeValue(value),
157
+ };
158
+ }
159
+ }
160
+ }
161
+ async *entriesStreamBinary(prefix) {
162
+ for (const v of Array.isArray(prefix) ? prefix : [prefix]) {
163
+ for await (const { key, value } of this.db.entriesStream({
164
+ gte: this.wrapKey(this.getMinKeyRaw(v)),
165
+ lt: this.wrapKey(this.getMaxKeyRaw(v)),
166
+ })) {
167
+ const { prefix, id } = this.decodeKeyRaw(this.unwrapKey(key));
168
+ yield {
169
+ prefix,
170
+ id: id,
171
+ value,
172
+ };
173
+ }
174
+ }
175
+ }
176
+ async keys(opts) {
177
+ const optsBuff = {
178
+ bucketId: this.bucketId,
179
+ };
180
+ // Set at least one min key
181
+ if (opts?.lt !== undefined) {
182
+ optsBuff.lt = this.wrapKey(opts.lt);
183
+ }
184
+ else if (opts?.lte !== undefined) {
185
+ optsBuff.lte = this.wrapKey(opts.lte);
186
+ }
187
+ // Set at least on max key
188
+ if (opts?.gt !== undefined) {
189
+ optsBuff.gt = this.wrapKey(opts.gt);
190
+ }
191
+ else if (opts?.gte !== undefined) {
192
+ optsBuff.gte = this.wrapKey(opts.gte);
193
+ }
194
+ if (opts?.reverse !== undefined)
195
+ optsBuff.reverse = opts.reverse;
196
+ if (opts?.limit !== undefined)
197
+ optsBuff.limit = opts.limit;
198
+ const data = await this.db.keys(optsBuff);
199
+ return (data ?? []).map((data) => this.decodeKeyRaw(data));
200
+ }
201
+ }
202
+ //# sourceMappingURL=abstractPrefixedRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstractPrefixedRepository.js","sourceRoot":"","sources":["../src/abstractPrefixedRepository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAGzC,OAAO,EAAC,SAAS,EAAC,MAAM,WAAW,CAAC;AAIpC;;;;;;GAMG;AACH,MAAM,OAAgB,kBAAkB;IAGtC,YACY,MAAuB,EACvB,EAAM,EACN,MAAc,EACd,IAAa,EACN,QAAgB;QAJvB,WAAM,GAAN,MAAM,CAAiB;QACvB,OAAE,GAAF,EAAE,CAAI;QACN,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAS;QACN,aAAQ,GAAR,QAAQ,CAAQ;QAEjC,IAAI,CAAC,SAAS,GAAG,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAC,CAAC;IAC7C,CAAC;IAaS,WAAW,CAAC,KAAQ;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAES,WAAW,CAAC,IAAgB;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAES,OAAO,CAAC,GAAe;QAC/B,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;IAES,SAAS,CAAC,GAAe;QACjC,OAAO,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;IAED,wCAAwC;IACxC,KAAK,CAAC,KAAQ;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAM,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAS,EAAE,EAAK;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACjD,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAS,EAAE,GAAQ;QAC/B,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3D,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAS,EAAE,GAAQ;QACrC,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAS,EAAE,EAAK;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QACxD,OAAO,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAS,EAAE,IAAO;QAC1B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAS,EAAE,KAAU;QACjC,MAAM,KAAK,GAAuC,EAAE,CAAC;QACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAS,EAAE,EAAK,EAAE,KAAiB;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAS,EAAE,KAAgC;QAC7D,MAAM,KAAK,GAAuC,EAAE,CAAC;QACrD,KAAK,MAAM,EAAC,GAAG,EAAE,KAAK,EAAC,IAAI,KAAK,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAS,EAAE,EAAK;QAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAe;QAC9B,MAAM,IAAI,GAAmB,EAAE,CAAC;QAEhC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;gBACtC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACvC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;aACxC,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,CAAC;QAED,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,CAAC,YAAY,CAAC,MAAe;QACjC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1D,IAAI,KAAK,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC;gBAC1C,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACvC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;aACxC,CAAC,EAAE,CAAC;gBACH,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,MAAe;QAC1B,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;YACpD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,CAAC,kBAAkB,CAAC,MAAe;QACvC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1D,IAAI,KAAK,EAAE,MAAM,EAAC,GAAG,EAAE,KAAK,EAAC,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;gBACrD,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACvC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;aACxC,CAAC,EAAE,CAAC;gBACH,MAAM;oBACJ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;oBACzB,KAAK;iBACN,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,MAAe;QAChC,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,CAAC,aAAa,CAAC,MAAe;QAClC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1D,IAAI,KAAK,EAAE,MAAM,EAAC,GAAG,EAAE,KAAK,EAAC,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;gBACrD,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACvC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;aACxC,CAAC,EAAE,CAAC;gBACH,MAAM,EAAC,MAAM,EAAE,EAAE,EAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBAE5D,MAAM;oBACJ,MAAM;oBACN,EAAE;oBACF,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;iBAC/B,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,CAAC,mBAAmB,CAAC,MAAe;QACxC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1D,IAAI,KAAK,EAAE,MAAM,EAAC,GAAG,EAAE,KAAK,EAAC,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC;gBACrD,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACvC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;aACvC,CAAC,EAAE,CAAC;gBACH,MAAM,EAAC,MAAM,EAAE,EAAE,EAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBAE5D,MAAM;oBACJ,MAAM;oBACN,EAAE,EAAE,EAAE;oBACN,KAAK;iBACN,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAgC;QACzC,MAAM,QAAQ,GAA8B;YAC1C,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;QAEF,2BAA2B;QAC3B,IAAI,IAAI,EAAE,EAAE,KAAK,SAAS,EAAE,CAAC;YAC3B,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC;aAAM,IAAI,IAAI,EAAE,GAAG,KAAK,SAAS,EAAE,CAAC;YACnC,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;QAED,0BAA0B;QAC1B,IAAI,IAAI,EAAE,EAAE,KAAK,SAAS,EAAE,CAAC;YAC3B,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC;aAAM,IAAI,IAAI,EAAE,GAAG,KAAK,SAAS,EAAE,CAAC;YACnC,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,IAAI,EAAE,OAAO,KAAK,SAAS;YAAE,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACjE,IAAI,IAAI,EAAE,KAAK,KAAK,SAAS;YAAE,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAE3D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;CACF"}
@@ -27,6 +27,7 @@ export interface DatabaseController<K, V> {
27
27
  /** To inject metrics after CLI initialization */
28
28
  setMetrics(metrics: LevelDbControllerMetrics): void;
29
29
  get(key: K, opts?: DbReqOpts): Promise<V | null>;
30
+ getMany(key: K[], opts?: DbReqOpts): Promise<(V | undefined)[]>;
30
31
  put(key: K, value: V, opts?: DbReqOpts): Promise<void>;
31
32
  delete(key: K, opts?: DbReqOpts): Promise<void>;
32
33
  batchPut(items: KeyValue<K, V>[], opts?: DbReqOpts): Promise<void>;
@@ -25,6 +25,13 @@ export declare class LevelDbController implements DatabaseController<Uint8Array,
25
25
  setMetrics(metrics: LevelDbControllerMetrics): void;
26
26
  clear(): Promise<void>;
27
27
  get(key: Uint8Array, opts?: DbReqOpts): Promise<Uint8Array | null>;
28
+ /**
29
+ * Return the multiple items in the order of the given keys
30
+ * Will return `null` for the keys which does not exists
31
+ *
32
+ * https://github.com/Level/abstract-level?tab=readme-ov-file#dbgetmanykeys-options
33
+ */
34
+ getMany(keys: Uint8Array[], opts?: DbReqOpts): Promise<(Uint8Array | undefined)[]>;
28
35
  put(key: Uint8Array, value: Uint8Array, opts?: DbReqOpts): Promise<void>;
29
36
  delete(key: Uint8Array, opts?: DbReqOpts): Promise<void>;
30
37
  batchPut(items: KeyValue<Uint8Array, Uint8Array>[], opts?: DbReqOpts): Promise<void>;
@@ -74,6 +74,17 @@ export class LevelDbController {
74
74
  throw e;
75
75
  }
76
76
  }
77
+ /**
78
+ * Return the multiple items in the order of the given keys
79
+ * Will return `null` for the keys which does not exists
80
+ *
81
+ * https://github.com/Level/abstract-level?tab=readme-ov-file#dbgetmanykeys-options
82
+ */
83
+ async getMany(keys, opts) {
84
+ this.metrics?.dbReadReq.inc({ bucket: opts?.bucketId ?? BUCKET_ID_UNKNOWN }, 1);
85
+ this.metrics?.dbReadItems.inc({ bucket: opts?.bucketId ?? BUCKET_ID_UNKNOWN }, keys.length);
86
+ return await this.db.getMany(keys);
87
+ }
77
88
  put(key, value, opts) {
78
89
  this.metrics?.dbWriteReq.inc({ bucket: opts?.bucketId ?? BUCKET_ID_UNKNOWN }, 1);
79
90
  this.metrics?.dbWriteItems.inc({ bucket: opts?.bucketId ?? BUCKET_ID_UNKNOWN }, 1);
@@ -1 +1 @@
1
- {"version":3,"file":"level.js","sourceRoot":"","sources":["../../src/controller/level.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"level.js","sourceRoot":"","sources":["../../src/controller/level.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from "./abstractRepository.js";
2
+ export * from "./abstractPrefixedRepository.js";
2
3
  export * from "./controller/index.js";
3
4
  export * from "./const.js";
4
5
  export * from "./util.js";
package/lib/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from "./abstractRepository.js";
2
+ export * from "./abstractPrefixedRepository.js";
2
3
  export * from "./controller/index.js";
3
4
  export * from "./const.js";
4
5
  export * from "./util.js";
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lodestar/db",
3
- "version": "1.34.0-dev.ece38879ec",
3
+ "version": "1.34.0-dev.f0e804ef10",
4
4
  "description": "DB modules of Lodestar",
5
5
  "author": "ChainSafe Systems",
6
6
  "homepage": "https://github.com/ChainSafe/lodestar#readme",
@@ -36,13 +36,13 @@
36
36
  },
37
37
  "dependencies": {
38
38
  "@chainsafe/ssz": "^1.2.1",
39
- "@lodestar/config": "1.34.0-dev.ece38879ec",
40
- "@lodestar/utils": "1.34.0-dev.ece38879ec",
39
+ "@lodestar/config": "1.34.0-dev.f0e804ef10",
40
+ "@lodestar/utils": "1.34.0-dev.f0e804ef10",
41
41
  "classic-level": "^1.4.1",
42
42
  "it-all": "^3.0.4"
43
43
  },
44
44
  "devDependencies": {
45
- "@lodestar/logger": "1.34.0-dev.ece38879ec"
45
+ "@lodestar/logger": "1.34.0-dev.f0e804ef10"
46
46
  },
47
- "gitHead": "fea83bcc49086069bfb33e7e67703aa91247997a"
47
+ "gitHead": "797e3bac71da33853facee9ae6f38c4e67b76802"
48
48
  }