@aztec/kv-store 0.66.0 → 0.67.1-devnet
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/indexeddb/array.d.ts +21 -0
- package/dest/indexeddb/array.d.ts.map +1 -0
- package/dest/indexeddb/array.js +96 -0
- package/dest/indexeddb/index.d.ts +7 -0
- package/dest/indexeddb/index.d.ts.map +1 -0
- package/dest/indexeddb/index.js +22 -0
- package/dest/indexeddb/map.d.ts +26 -0
- package/dest/indexeddb/map.d.ts.map +1 -0
- package/dest/indexeddb/map.js +104 -0
- package/dest/indexeddb/set.d.ts +17 -0
- package/dest/indexeddb/set.d.ts.map +1 -0
- package/dest/indexeddb/set.js +25 -0
- package/dest/indexeddb/singleton.d.ts +16 -0
- package/dest/indexeddb/singleton.d.ts.map +1 -0
- package/dest/indexeddb/singleton.js +42 -0
- package/dest/indexeddb/store.d.ts +100 -0
- package/dest/indexeddb/store.d.ts.map +1 -0
- package/dest/indexeddb/store.js +157 -0
- package/dest/interfaces/array.d.ts +43 -11
- package/dest/interfaces/array.d.ts.map +1 -1
- package/dest/interfaces/array_test_suite.d.ts +3 -0
- package/dest/interfaces/array_test_suite.d.ts.map +1 -0
- package/dest/interfaces/array_test_suite.js +100 -0
- package/dest/interfaces/counter.d.ts +21 -1
- package/dest/interfaces/counter.d.ts.map +1 -1
- package/dest/interfaces/map.d.ts +80 -12
- package/dest/interfaces/map.d.ts.map +1 -1
- package/dest/interfaces/map_test_suite.d.ts +3 -0
- package/dest/interfaces/map_test_suite.d.ts.map +1 -0
- package/dest/interfaces/map_test_suite.js +117 -0
- package/dest/interfaces/set.d.ts +23 -7
- package/dest/interfaces/set.d.ts.map +1 -1
- package/dest/interfaces/set_test_suite.d.ts +3 -0
- package/dest/interfaces/set_test_suite.d.ts.map +1 -0
- package/dest/interfaces/set_test_suite.js +59 -0
- package/dest/interfaces/singleton.d.ts +14 -5
- package/dest/interfaces/singleton.d.ts.map +1 -1
- package/dest/interfaces/singleton_test_suite.d.ts +3 -0
- package/dest/interfaces/singleton_test_suite.d.ts.map +1 -0
- package/dest/interfaces/singleton_test_suite.js +33 -0
- package/dest/interfaces/store.d.ts +83 -8
- package/dest/interfaces/store.d.ts.map +1 -1
- package/dest/interfaces/store_test_suite.d.ts +3 -0
- package/dest/interfaces/store_test_suite.d.ts.map +1 -0
- package/dest/interfaces/store_test_suite.js +40 -0
- package/dest/interfaces/utils.d.ts +16 -0
- package/dest/interfaces/utils.d.ts.map +1 -0
- package/dest/interfaces/utils.js +19 -0
- package/dest/lmdb/array.d.ts +7 -2
- package/dest/lmdb/array.d.ts.map +1 -1
- package/dest/lmdb/array.js +20 -1
- package/dest/lmdb/counter.d.ts +5 -2
- package/dest/lmdb/counter.d.ts.map +1 -1
- package/dest/lmdb/counter.js +10 -1
- package/dest/lmdb/index.d.ts +10 -0
- package/dest/lmdb/index.d.ts.map +1 -1
- package/dest/lmdb/index.js +28 -1
- package/dest/lmdb/map.d.ts +25 -3
- package/dest/lmdb/map.d.ts.map +1 -1
- package/dest/lmdb/map.js +112 -26
- package/dest/lmdb/set.d.ts +4 -2
- package/dest/lmdb/set.d.ts.map +1 -1
- package/dest/lmdb/set.js +9 -1
- package/dest/lmdb/singleton.d.ts +3 -2
- package/dest/lmdb/singleton.d.ts.map +1 -1
- package/dest/lmdb/singleton.js +4 -1
- package/dest/lmdb/store.d.ts +35 -15
- package/dest/lmdb/store.d.ts.map +1 -1
- package/dest/lmdb/store.js +47 -27
- package/dest/stores/l2_tips_store.d.ts +2 -2
- package/dest/stores/l2_tips_store.d.ts.map +1 -1
- package/dest/stores/l2_tips_store.js +13 -13
- package/dest/utils.d.ts +8 -7
- package/dest/utils.d.ts.map +1 -1
- package/dest/utils.js +6 -29
- package/package.json +54 -37
- package/src/indexeddb/array.ts +118 -0
- package/src/indexeddb/index.ts +29 -0
- package/src/indexeddb/map.ts +142 -0
- package/src/indexeddb/set.ts +37 -0
- package/src/indexeddb/singleton.ts +49 -0
- package/src/indexeddb/store.ts +193 -0
- package/src/interfaces/array.ts +48 -12
- package/src/interfaces/array_test_suite.ts +130 -0
- package/src/interfaces/counter.ts +23 -1
- package/src/interfaces/map.ts +90 -14
- package/src/interfaces/map_test_suite.ts +158 -0
- package/src/interfaces/set.ts +25 -8
- package/src/interfaces/set_test_suite.ts +81 -0
- package/src/interfaces/singleton.ts +14 -6
- package/src/interfaces/singleton_test_suite.ts +46 -0
- package/src/interfaces/store.ts +99 -8
- package/src/interfaces/store_test_suite.ts +56 -0
- package/src/interfaces/utils.ts +21 -0
- package/src/lmdb/array.ts +26 -2
- package/src/lmdb/counter.ts +14 -2
- package/src/lmdb/index.ts +36 -0
- package/src/lmdb/map.ts +130 -23
- package/src/lmdb/set.ts +12 -2
- package/src/lmdb/singleton.ts +6 -2
- package/src/lmdb/store.ts +73 -43
- package/src/stores/l2_tips_store.ts +17 -17
- package/src/utils.ts +8 -37
package/dest/lmdb/store.d.ts
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import { type RootDatabase } from 'lmdb';
|
|
2
|
-
import { type AztecArray } from '../interfaces/array.js';
|
|
3
|
-
import { type
|
|
4
|
-
import { type
|
|
5
|
-
import { type
|
|
6
|
-
import { type
|
|
7
|
-
import { type
|
|
2
|
+
import { type AztecArray, type AztecAsyncArray } from '../interfaces/array.js';
|
|
3
|
+
import { type Key } from '../interfaces/common.js';
|
|
4
|
+
import { type AztecAsyncCounter, type AztecCounter } from '../interfaces/counter.js';
|
|
5
|
+
import { type AztecAsyncMap, type AztecAsyncMultiMap, type AztecMap, type AztecMapWithSize, type AztecMultiMap, type AztecMultiMapWithSize } from '../interfaces/map.js';
|
|
6
|
+
import { type AztecAsyncSet, type AztecSet } from '../interfaces/set.js';
|
|
7
|
+
import { type AztecAsyncSingleton, type AztecSingleton } from '../interfaces/singleton.js';
|
|
8
|
+
import { type AztecAsyncKVStore, type AztecKVStore } from '../interfaces/store.js';
|
|
8
9
|
/**
|
|
9
10
|
* A key-value store backed by LMDB.
|
|
10
11
|
*/
|
|
11
|
-
export declare class AztecLmdbStore implements AztecKVStore {
|
|
12
|
+
export declare class AztecLmdbStore implements AztecKVStore, AztecAsyncKVStore {
|
|
12
13
|
#private;
|
|
13
14
|
readonly isEphemeral: boolean;
|
|
14
|
-
private path
|
|
15
|
-
|
|
15
|
+
private path;
|
|
16
|
+
syncGetters: true;
|
|
17
|
+
constructor(rootDb: RootDatabase, isEphemeral: boolean, path: string);
|
|
16
18
|
/**
|
|
17
19
|
* Creates a new AztecKVStore backed by LMDB. The path to the database is optional. If not provided,
|
|
18
20
|
* the database will be stored in a temporary location and be deleted when the process exists.
|
|
@@ -38,38 +40,56 @@ export declare class AztecLmdbStore implements AztecKVStore {
|
|
|
38
40
|
* @param name - Name of the map
|
|
39
41
|
* @returns A new AztecMap
|
|
40
42
|
*/
|
|
41
|
-
openMap<K extends
|
|
43
|
+
openMap<K extends Key, V>(name: string): AztecMap<K, V> & AztecAsyncMap<K, V>;
|
|
42
44
|
/**
|
|
43
45
|
* Creates a new AztecSet in the store.
|
|
44
46
|
* @param name - Name of the set
|
|
45
47
|
* @returns A new AztecSet
|
|
46
48
|
*/
|
|
47
|
-
openSet<K extends
|
|
49
|
+
openSet<K extends Key>(name: string): AztecSet<K> & AztecAsyncSet<K>;
|
|
48
50
|
/**
|
|
49
51
|
* Creates a new AztecMultiMap in the store. A multi-map stores multiple values for a single key automatically.
|
|
50
52
|
* @param name - Name of the map
|
|
51
53
|
* @returns A new AztecMultiMap
|
|
52
54
|
*/
|
|
53
|
-
openMultiMap<K extends
|
|
54
|
-
openCounter<K extends
|
|
55
|
+
openMultiMap<K extends Key, V>(name: string): AztecMultiMap<K, V> & AztecAsyncMultiMap<K, V>;
|
|
56
|
+
openCounter<K extends Key>(name: string): AztecCounter<K> & AztecAsyncCounter<K>;
|
|
57
|
+
/**
|
|
58
|
+
* Creates a new AztecMultiMapWithSize in the store. A multi-map with size stores multiple values for a single key automatically.
|
|
59
|
+
* @param name - Name of the map
|
|
60
|
+
* @returns A new AztecMultiMapWithSize
|
|
61
|
+
*/
|
|
62
|
+
openMultiMapWithSize<K extends Key, V>(name: string): AztecMultiMapWithSize<K, V>;
|
|
63
|
+
/**
|
|
64
|
+
* Creates a new AztecMapWithSize in the store.
|
|
65
|
+
* @param name - Name of the map
|
|
66
|
+
* @returns A new AztecMapWithSize
|
|
67
|
+
*/
|
|
68
|
+
openMapWithSize<K extends Key, V>(name: string): AztecMapWithSize<K, V>;
|
|
55
69
|
/**
|
|
56
70
|
* Creates a new AztecArray in the store.
|
|
57
71
|
* @param name - Name of the array
|
|
58
72
|
* @returns A new AztecArray
|
|
59
73
|
*/
|
|
60
|
-
openArray<T>(name: string): AztecArray<T>;
|
|
74
|
+
openArray<T>(name: string): AztecArray<T> & AztecAsyncArray<T>;
|
|
61
75
|
/**
|
|
62
76
|
* Creates a new AztecSingleton in the store.
|
|
63
77
|
* @param name - Name of the singleton
|
|
64
78
|
* @returns A new AztecSingleton
|
|
65
79
|
*/
|
|
66
|
-
openSingleton<T>(name: string): AztecSingleton<T>;
|
|
80
|
+
openSingleton<T>(name: string): AztecSingleton<T> & AztecAsyncSingleton<T>;
|
|
67
81
|
/**
|
|
68
82
|
* Runs a callback in a transaction.
|
|
69
83
|
* @param callback - Function to execute in a transaction
|
|
70
84
|
* @returns A promise that resolves to the return value of the callback
|
|
71
85
|
*/
|
|
72
86
|
transaction<T>(callback: () => T): Promise<T>;
|
|
87
|
+
/**
|
|
88
|
+
* Runs a callback in a transaction.
|
|
89
|
+
* @param callback - Function to execute in a transaction
|
|
90
|
+
* @returns A promise that resolves to the return value of the callback
|
|
91
|
+
*/
|
|
92
|
+
transactionAsync<T>(callback: () => Promise<T>): Promise<T>;
|
|
73
93
|
/**
|
|
74
94
|
* Clears all entries in the store & sub DBs.
|
|
75
95
|
*/
|
package/dest/lmdb/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/lmdb/store.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/lmdb/store.ts"],"names":[],"mappings":"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"}
|
package/dest/lmdb/store.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
var _AztecLmdbStore_rootDb, _AztecLmdbStore_data, _AztecLmdbStore_multiMapData, _AztecLmdbStore_log;
|
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { randomBytes } from '@aztec/foundation/crypto';
|
|
4
|
+
import { createLogger } from '@aztec/foundation/log';
|
|
5
|
+
import { promises as fs, mkdirSync } from 'fs';
|
|
6
6
|
import { open } from 'lmdb';
|
|
7
7
|
import { tmpdir } from 'os';
|
|
8
|
-
import {
|
|
8
|
+
import { join } from 'path';
|
|
9
9
|
import { LmdbAztecArray } from './array.js';
|
|
10
10
|
import { LmdbAztecCounter } from './counter.js';
|
|
11
|
-
import { LmdbAztecMap } from './map.js';
|
|
11
|
+
import { LmdbAztecMap, LmdbAztecMapWithSize } from './map.js';
|
|
12
12
|
import { LmdbAztecSet } from './set.js';
|
|
13
13
|
import { LmdbAztecSingleton } from './singleton.js';
|
|
14
14
|
/**
|
|
@@ -18,10 +18,11 @@ export class AztecLmdbStore {
|
|
|
18
18
|
constructor(rootDb, isEphemeral, path) {
|
|
19
19
|
this.isEphemeral = isEphemeral;
|
|
20
20
|
this.path = path;
|
|
21
|
+
this.syncGetters = true;
|
|
21
22
|
_AztecLmdbStore_rootDb.set(this, void 0);
|
|
22
23
|
_AztecLmdbStore_data.set(this, void 0);
|
|
23
24
|
_AztecLmdbStore_multiMapData.set(this, void 0);
|
|
24
|
-
_AztecLmdbStore_log.set(this,
|
|
25
|
+
_AztecLmdbStore_log.set(this, createLogger('kv-store:lmdb'));
|
|
25
26
|
__classPrivateFieldSet(this, _AztecLmdbStore_rootDb, rootDb, "f");
|
|
26
27
|
// big bucket to store all the data
|
|
27
28
|
__classPrivateFieldSet(this, _AztecLmdbStore_data, rootDb.openDB('data', {
|
|
@@ -48,23 +49,22 @@ export class AztecLmdbStore {
|
|
|
48
49
|
* @returns The store
|
|
49
50
|
*/
|
|
50
51
|
static open(path, mapSizeKb = 1 * 1024 * 1024, // defaults to 1 GB map size
|
|
51
|
-
ephemeral = false, log =
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
52
|
+
ephemeral = false, log = createLogger('kv-store:lmdb')) {
|
|
53
|
+
const dbPath = path ?? join(tmpdir(), randomBytes(8).toString('hex'));
|
|
54
|
+
mkdirSync(dbPath, { recursive: true });
|
|
55
55
|
const mapSize = 1024 * mapSizeKb;
|
|
56
56
|
log.debug(`Opening LMDB database at ${path || 'temporary location'} with map size ${mapSize}`);
|
|
57
|
-
const rootDb = open({ path, noSync: ephemeral, mapSize });
|
|
58
|
-
return new AztecLmdbStore(rootDb, ephemeral,
|
|
57
|
+
const rootDb = open({ path: dbPath, noSync: ephemeral, mapSize });
|
|
58
|
+
return new AztecLmdbStore(rootDb, ephemeral, dbPath);
|
|
59
59
|
}
|
|
60
60
|
/**
|
|
61
61
|
* Forks the current DB into a new DB by backing it up to a temporary location and opening a new lmdb db.
|
|
62
62
|
* @returns A new AztecLmdbStore.
|
|
63
63
|
*/
|
|
64
64
|
async fork() {
|
|
65
|
-
const baseDir = this.path
|
|
65
|
+
const baseDir = this.path;
|
|
66
66
|
__classPrivateFieldGet(this, _AztecLmdbStore_log, "f").debug(`Forking store with basedir ${baseDir}`);
|
|
67
|
-
const forkPath =
|
|
67
|
+
const forkPath = await fs.mkdtemp(join(baseDir, 'aztec-store-fork-'));
|
|
68
68
|
__classPrivateFieldGet(this, _AztecLmdbStore_log, "f").verbose(`Forking store to ${forkPath}`);
|
|
69
69
|
await __classPrivateFieldGet(this, _AztecLmdbStore_rootDb, "f").backup(forkPath, false);
|
|
70
70
|
const forkDb = open(forkPath, { noSync: this.isEphemeral });
|
|
@@ -98,6 +98,22 @@ export class AztecLmdbStore {
|
|
|
98
98
|
openCounter(name) {
|
|
99
99
|
return new LmdbAztecCounter(__classPrivateFieldGet(this, _AztecLmdbStore_data, "f"), name);
|
|
100
100
|
}
|
|
101
|
+
/**
|
|
102
|
+
* Creates a new AztecMultiMapWithSize in the store. A multi-map with size stores multiple values for a single key automatically.
|
|
103
|
+
* @param name - Name of the map
|
|
104
|
+
* @returns A new AztecMultiMapWithSize
|
|
105
|
+
*/
|
|
106
|
+
openMultiMapWithSize(name) {
|
|
107
|
+
return new LmdbAztecMapWithSize(__classPrivateFieldGet(this, _AztecLmdbStore_multiMapData, "f"), name);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Creates a new AztecMapWithSize in the store.
|
|
111
|
+
* @param name - Name of the map
|
|
112
|
+
* @returns A new AztecMapWithSize
|
|
113
|
+
*/
|
|
114
|
+
openMapWithSize(name) {
|
|
115
|
+
return new LmdbAztecMapWithSize(__classPrivateFieldGet(this, _AztecLmdbStore_data, "f"), name);
|
|
116
|
+
}
|
|
101
117
|
/**
|
|
102
118
|
* Creates a new AztecArray in the store.
|
|
103
119
|
* @param name - Name of the array
|
|
@@ -122,6 +138,14 @@ export class AztecLmdbStore {
|
|
|
122
138
|
transaction(callback) {
|
|
123
139
|
return __classPrivateFieldGet(this, _AztecLmdbStore_rootDb, "f").transaction(callback);
|
|
124
140
|
}
|
|
141
|
+
/**
|
|
142
|
+
* Runs a callback in a transaction.
|
|
143
|
+
* @param callback - Function to execute in a transaction
|
|
144
|
+
* @returns A promise that resolves to the return value of the callback
|
|
145
|
+
*/
|
|
146
|
+
async transactionAsync(callback) {
|
|
147
|
+
return await __classPrivateFieldGet(this, _AztecLmdbStore_rootDb, "f").transaction(callback);
|
|
148
|
+
}
|
|
125
149
|
/**
|
|
126
150
|
* Clears all entries in the store & sub DBs.
|
|
127
151
|
*/
|
|
@@ -151,7 +175,7 @@ export class AztecLmdbStore {
|
|
|
151
175
|
await this.drop();
|
|
152
176
|
await this.close();
|
|
153
177
|
if (this.path) {
|
|
154
|
-
await rm(this.path, { recursive: true, force: true });
|
|
178
|
+
await fs.rm(this.path, { recursive: true, force: true });
|
|
155
179
|
__classPrivateFieldGet(this, _AztecLmdbStore_log, "f").verbose(`Deleted database files at ${this.path}`);
|
|
156
180
|
}
|
|
157
181
|
}
|
|
@@ -173,11 +197,7 @@ export class AztecLmdbStore {
|
|
|
173
197
|
}
|
|
174
198
|
estimateSubDBSize(db) {
|
|
175
199
|
const stats = db.getStats();
|
|
176
|
-
let
|
|
177
|
-
let leafPages = 0;
|
|
178
|
-
let overflowPages = 0;
|
|
179
|
-
let pageSize = 0;
|
|
180
|
-
let totalSize = 0;
|
|
200
|
+
let actualSize = 0;
|
|
181
201
|
let numItems = 0;
|
|
182
202
|
// This is the total number of key/value pairs present in the DB
|
|
183
203
|
if ('entryCount' in stats && typeof stats.entryCount === 'number') {
|
|
@@ -192,14 +212,14 @@ export class AztecLmdbStore {
|
|
|
192
212
|
typeof stats.overflowPages === 'number' &&
|
|
193
213
|
'pageSize' in stats &&
|
|
194
214
|
typeof stats.pageSize === 'number') {
|
|
195
|
-
branchPages = stats.treeBranchPageCount;
|
|
196
|
-
leafPages = stats.treeLeafPageCount;
|
|
197
|
-
overflowPages = stats.overflowPages;
|
|
198
|
-
pageSize = stats.pageSize;
|
|
199
|
-
|
|
215
|
+
const branchPages = stats.treeBranchPageCount;
|
|
216
|
+
const leafPages = stats.treeLeafPageCount;
|
|
217
|
+
const overflowPages = stats.overflowPages;
|
|
218
|
+
const pageSize = stats.pageSize;
|
|
219
|
+
actualSize = (branchPages + leafPages + overflowPages) * pageSize;
|
|
200
220
|
}
|
|
201
|
-
return { actualSize
|
|
221
|
+
return { actualSize, numItems };
|
|
202
222
|
}
|
|
203
223
|
}
|
|
204
224
|
_AztecLmdbStore_rootDb = new WeakMap(), _AztecLmdbStore_data = new WeakMap(), _AztecLmdbStore_multiMapData = new WeakMap(), _AztecLmdbStore_log = new WeakMap();
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG1kYi9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckQsT0FBTyxFQUFFLFFBQVEsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQy9DLE9BQU8sRUFBb0MsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDNUIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQWdCNUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFRekIsWUFBWSxNQUFvQixFQUFrQixXQUFvQixFQUFVLElBQVk7UUFBMUMsZ0JBQVcsR0FBWCxXQUFXLENBQVM7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBUDVGLGdCQUFXLEdBQUcsSUFBYSxDQUFDO1FBRTVCLHlDQUFzQjtRQUN0Qix1Q0FBOEI7UUFDOUIsK0NBQXNDO1FBQ3RDLDhCQUFPLFlBQVksQ0FBQyxlQUFlLENBQUMsRUFBQztRQUduQyx1QkFBQSxJQUFJLDBCQUFXLE1BQU0sTUFBQSxDQUFDO1FBRXRCLG1DQUFtQztRQUNuQyx1QkFBQSxJQUFJLHdC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
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { type L2BlockStreamEvent, type L2BlockStreamEventHandler, type L2BlockStreamLocalDataProvider, type L2Tips } from '@aztec/circuit-types';
|
|
2
|
-
import { type
|
|
2
|
+
import { type AztecAsyncKVStore } from '../interfaces/store.js';
|
|
3
3
|
/** Stores currently synced L2 tips and unfinalized block hashes. */
|
|
4
4
|
export declare class L2TipsStore implements L2BlockStreamEventHandler, L2BlockStreamLocalDataProvider {
|
|
5
5
|
private readonly l2TipsStore;
|
|
6
6
|
private readonly l2BlockHashesStore;
|
|
7
|
-
constructor(store:
|
|
7
|
+
constructor(store: AztecAsyncKVStore, namespace: string);
|
|
8
8
|
getL2BlockHash(number: number): Promise<string | undefined>;
|
|
9
9
|
getL2Tips(): Promise<L2Tips>;
|
|
10
10
|
private getL2Tip;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l2_tips_store.d.ts","sourceRoot":"","sources":["../../src/stores/l2_tips_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,8BAA8B,EAEnC,KAAK,MAAM,EACZ,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"l2_tips_store.d.ts","sourceRoot":"","sources":["../../src/stores/l2_tips_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC9B,KAAK,8BAA8B,EAEnC,KAAK,MAAM,EACZ,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,oEAAoE;AACpE,qBAAa,WAAY,YAAW,yBAAyB,EAAE,8BAA8B;IAC3F,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;IAYT,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;CAsB9E"}
|
|
@@ -5,21 +5,21 @@ export class L2TipsStore {
|
|
|
5
5
|
this.l2BlockHashesStore = store.openMap([namespace, 'l2_block_hashes'].join('_'));
|
|
6
6
|
}
|
|
7
7
|
getL2BlockHash(number) {
|
|
8
|
-
return
|
|
8
|
+
return this.l2BlockHashesStore.getAsync(number);
|
|
9
9
|
}
|
|
10
|
-
getL2Tips() {
|
|
11
|
-
return
|
|
12
|
-
latest: this.getL2Tip('latest'),
|
|
13
|
-
finalized: this.getL2Tip('finalized'),
|
|
14
|
-
proven: this.getL2Tip('proven'),
|
|
15
|
-
}
|
|
10
|
+
async getL2Tips() {
|
|
11
|
+
return {
|
|
12
|
+
latest: await this.getL2Tip('latest'),
|
|
13
|
+
finalized: await this.getL2Tip('finalized'),
|
|
14
|
+
proven: await this.getL2Tip('proven'),
|
|
15
|
+
};
|
|
16
16
|
}
|
|
17
|
-
getL2Tip(tag) {
|
|
18
|
-
const blockNumber = this.l2TipsStore.
|
|
17
|
+
async getL2Tip(tag) {
|
|
18
|
+
const blockNumber = await this.l2TipsStore.getAsync(tag);
|
|
19
19
|
if (blockNumber === undefined || blockNumber === 0) {
|
|
20
20
|
return { number: 0, hash: undefined };
|
|
21
21
|
}
|
|
22
|
-
const blockHash = this.l2BlockHashesStore.
|
|
22
|
+
const blockHash = await this.l2BlockHashesStore.getAsync(blockNumber);
|
|
23
23
|
if (!blockHash) {
|
|
24
24
|
throw new Error(`Block hash not found for block number ${blockNumber}`);
|
|
25
25
|
}
|
|
@@ -28,10 +28,10 @@ export class L2TipsStore {
|
|
|
28
28
|
async handleBlockStreamEvent(event) {
|
|
29
29
|
switch (event.type) {
|
|
30
30
|
case 'blocks-added':
|
|
31
|
-
await this.l2TipsStore.set('latest', event.blocks.at(-1).number);
|
|
32
31
|
for (const block of event.blocks) {
|
|
33
32
|
await this.l2BlockHashesStore.set(block.number, block.header.hash().toString());
|
|
34
33
|
}
|
|
34
|
+
await this.l2TipsStore.set('latest', event.blocks.at(-1).number);
|
|
35
35
|
break;
|
|
36
36
|
case 'chain-pruned':
|
|
37
37
|
await this.l2TipsStore.set('latest', event.blockNumber);
|
|
@@ -41,11 +41,11 @@ export class L2TipsStore {
|
|
|
41
41
|
break;
|
|
42
42
|
case 'chain-finalized':
|
|
43
43
|
await this.l2TipsStore.set('finalized', event.blockNumber);
|
|
44
|
-
for (const key of this.l2BlockHashesStore.
|
|
44
|
+
for await (const key of this.l2BlockHashesStore.keysAsync({ end: event.blockNumber })) {
|
|
45
45
|
await this.l2BlockHashesStore.delete(key);
|
|
46
46
|
}
|
|
47
47
|
break;
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfdGlwc19zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZXMvbDJfdGlwc19zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFZQSxvRUFBb0U7QUFDcEUsTUFBTSxPQUFPLFdBQVc7SUFJdEIsWUFBWSxLQUF3QixFQUFFLFNBQWlCO1FBQ3JELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFTSxjQUFjLENBQUMsTUFBYztRQUNsQyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVNLEtBQUssQ0FBQyxTQUFTO1FBQ3BCLE9BQU87WUFDTCxNQUFNLEVBQUUsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztZQUNyQyxTQUFTLEVBQUUsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztZQUMzQyxNQUFNLEVBQUUsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztTQUN0QyxDQUFDO0lBQ0osQ0FBQztJQUVPLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBZTtRQUNwQyxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pELElBQUksV0FBVyxLQUFLLFNBQVMsSUFBSSxXQUFXLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ3hDLENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUMxRSxDQUFDO1FBQ0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFTSxLQUFLLENBQUMsc0JBQXNCLENBQUMsS0FBeUI7UUFDM0QsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkIsS0FBSyxjQUFjO2dCQUNqQixLQUFLLE1BQU0sS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDakMsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUNsRixDQUFDO2dCQUNELE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ2xFLE1BQU07WUFDUixLQUFLLGNBQWM7Z0JBQ2pCLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDeEQsTUFBTTtZQUNSLEtBQUssY0FBYztnQkFDakIsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUN4RCxNQUFNO1lBQ1IsS0FBSyxpQkFBaUI7Z0JBQ3BCLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDM0QsSUFBSSxLQUFLLEVBQUUsTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDO29CQUN0RixNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzVDLENBQUM7Z0JBQ0QsTUFBTTtRQUNWLENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==
|
package/dest/utils.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
+
import { type EthAddress } from '@aztec/foundation/eth-address';
|
|
1
2
|
import { type Logger } from '@aztec/foundation/log';
|
|
2
|
-
import { type
|
|
3
|
-
import { AztecLmdbStore } from './lmdb/store.js';
|
|
4
|
-
export declare function createStore(name: string, config: DataStoreConfig, log?: Logger): AztecLmdbStore | Promise<AztecLmdbStore>;
|
|
3
|
+
import { type AztecAsyncKVStore, type AztecKVStore } from './interfaces/store.js';
|
|
5
4
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* @
|
|
5
|
+
* Clears the store if the rollup address does not match the one stored in the database.
|
|
6
|
+
* This is to prevent data from being accidentally shared between different rollup instances.
|
|
7
|
+
* @param store - The store to check
|
|
8
|
+
* @param rollupAddress - The ETH address of the rollup contract
|
|
9
|
+
* @returns A promise that resolves when the store is cleared, or rejects if the rollup address does not match
|
|
9
10
|
*/
|
|
10
|
-
export declare function
|
|
11
|
+
export declare function initStoreForRollup<T extends AztecKVStore | AztecAsyncKVStore>(store: T, rollupAddress: EthAddress, log?: Logger): Promise<T>;
|
|
11
12
|
//# sourceMappingURL=utils.d.ts.map
|
package/dest/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGlF;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,SAAS,YAAY,GAAG,iBAAiB,EACjF,KAAK,EAAE,CAAC,EACR,aAAa,EAAE,UAAU,EACzB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,CAAC,CAAC,CAqBZ"}
|
package/dest/utils.js
CHANGED
|
@@ -1,20 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { join } from 'path';
|
|
3
|
-
import { AztecLmdbStore } from './lmdb/store.js';
|
|
4
|
-
export function createStore(name, config, log = createDebugLogger('aztec:kv-store')) {
|
|
5
|
-
let { dataDirectory } = config;
|
|
6
|
-
if (typeof dataDirectory !== 'undefined') {
|
|
7
|
-
dataDirectory = join(dataDirectory, name);
|
|
8
|
-
}
|
|
9
|
-
log.info(dataDirectory
|
|
10
|
-
? `Creating ${name} data store at directory ${dataDirectory} with map size ${config.dataStoreMapSizeKB} KB`
|
|
11
|
-
: `Creating ${name} ephemeral data store with map size ${config.dataStoreMapSizeKB} KB`);
|
|
12
|
-
const store = AztecLmdbStore.open(dataDirectory, config.dataStoreMapSizeKB, false);
|
|
13
|
-
if (config.l1Contracts?.rollupAddress) {
|
|
14
|
-
return initStoreForRollup(store, config.l1Contracts.rollupAddress, log);
|
|
15
|
-
}
|
|
16
|
-
return store;
|
|
17
|
-
}
|
|
1
|
+
import { isSyncStore } from './interfaces/utils.js';
|
|
18
2
|
/**
|
|
19
3
|
* Clears the store if the rollup address does not match the one stored in the database.
|
|
20
4
|
* This is to prevent data from being accidentally shared between different rollup instances.
|
|
@@ -22,13 +6,15 @@ export function createStore(name, config, log = createDebugLogger('aztec:kv-stor
|
|
|
22
6
|
* @param rollupAddress - The ETH address of the rollup contract
|
|
23
7
|
* @returns A promise that resolves when the store is cleared, or rejects if the rollup address does not match
|
|
24
8
|
*/
|
|
25
|
-
async function initStoreForRollup(store, rollupAddress, log) {
|
|
9
|
+
export async function initStoreForRollup(store, rollupAddress, log) {
|
|
26
10
|
if (!rollupAddress) {
|
|
27
11
|
throw new Error('Rollup address is required');
|
|
28
12
|
}
|
|
29
13
|
const rollupAddressValue = store.openSingleton('rollupAddress');
|
|
30
14
|
const rollupAddressString = rollupAddress.toString();
|
|
31
|
-
const storedRollupAddressString =
|
|
15
|
+
const storedRollupAddressString = isSyncStore(store)
|
|
16
|
+
? rollupAddressValue.get()
|
|
17
|
+
: await rollupAddressValue.getAsync();
|
|
32
18
|
if (typeof storedRollupAddressString !== 'undefined' && storedRollupAddressString !== rollupAddressString) {
|
|
33
19
|
log?.warn(`Rollup address mismatch. Clearing entire database...`, {
|
|
34
20
|
expected: rollupAddressString,
|
|
@@ -39,13 +25,4 @@ async function initStoreForRollup(store, rollupAddress, log) {
|
|
|
39
25
|
await rollupAddressValue.set(rollupAddressString);
|
|
40
26
|
return store;
|
|
41
27
|
}
|
|
42
|
-
|
|
43
|
-
* Opens a temporary store for testing purposes.
|
|
44
|
-
* @param ephemeral - true if the store should only exist in memory and not automatically be flushed to disk. Optional
|
|
45
|
-
* @returns A new store
|
|
46
|
-
*/
|
|
47
|
-
export function openTmpStore(ephemeral = false) {
|
|
48
|
-
const mapSize = 1024 * 1024 * 10; // 10 GB map size
|
|
49
|
-
return AztecLmdbStore.open(undefined, mapSize, ephemeral);
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFlLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUk1QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFakQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxJQUFZLEVBQUUsTUFBdUIsRUFBRSxNQUFjLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDO0lBQ2xILElBQUksRUFBRSxhQUFhLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDL0IsSUFBSSxPQUFPLGFBQWEsS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUN6QyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsR0FBRyxDQUFDLElBQUksQ0FDTixhQUFhO1FBQ1gsQ0FBQyxDQUFDLFlBQVksSUFBSSw0QkFBNEIsYUFBYSxrQkFBa0IsTUFBTSxDQUFDLGtCQUFrQixLQUFLO1FBQzNHLENBQUMsQ0FBQyxZQUFZLElBQUksdUNBQXVDLE1BQU0sQ0FBQyxrQkFBa0IsS0FBSyxDQUMxRixDQUFDO0lBRUYsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25GLElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsQ0FBQztRQUN0QyxPQUFPLGtCQUFrQixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsS0FBSyxVQUFVLGtCQUFrQixDQUMvQixLQUFRLEVBQ1IsYUFBeUIsRUFDekIsR0FBWTtJQUVaLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNELE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBcUMsZUFBZSxDQUFDLENBQUM7SUFDcEcsTUFBTSxtQkFBbUIsR0FBRyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckQsTUFBTSx5QkFBeUIsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUUzRCxJQUFJLE9BQU8seUJBQXlCLEtBQUssV0FBVyxJQUFJLHlCQUF5QixLQUFLLG1CQUFtQixFQUFFLENBQUM7UUFDMUcsR0FBRyxFQUFFLElBQUksQ0FBQyxzREFBc0QsRUFBRTtZQUNoRSxRQUFRLEVBQUUsbUJBQW1CO1lBQzdCLEtBQUssRUFBRSx5QkFBeUI7U0FDakMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELE1BQU0sa0JBQWtCLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDbEQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsWUFBcUIsS0FBSztJQUNyRCxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQjtJQUNuRCxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztBQUM1RCxDQUFDIn0=
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXBEOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsa0JBQWtCLENBQ3RDLEtBQVEsRUFDUixhQUF5QixFQUN6QixHQUFZO0lBRVosSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFxQyxlQUFlLENBQUMsQ0FBQztJQUNwRyxNQUFNLG1CQUFtQixHQUFHLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyRCxNQUFNLHlCQUF5QixHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUM7UUFDbEQsQ0FBQyxDQUFFLGtCQUF5RSxDQUFDLEdBQUcsRUFBRTtRQUNsRixDQUFDLENBQUMsTUFBTyxrQkFBOEUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUVyRyxJQUFJLE9BQU8seUJBQXlCLEtBQUssV0FBVyxJQUFJLHlCQUF5QixLQUFLLG1CQUFtQixFQUFFLENBQUM7UUFDMUcsR0FBRyxFQUFFLElBQUksQ0FBQyxzREFBc0QsRUFBRTtZQUNoRSxRQUFRLEVBQUUsbUJBQW1CO1lBQzdCLEtBQUssRUFBRSx5QkFBeUI7U0FDakMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELE1BQU0sa0JBQWtCLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDbEQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIn0=
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/kv-store",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.67.1-devnet",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/interfaces/index.js",
|
|
7
7
|
"./lmdb": "./dest/lmdb/index.js",
|
|
8
|
-
"./
|
|
8
|
+
"./indexeddb": "./dest/indexeddb/index.js",
|
|
9
9
|
"./stores": "./dest/stores/index.js",
|
|
10
10
|
"./config": "./dest/config.js"
|
|
11
11
|
},
|
|
@@ -15,18 +15,53 @@
|
|
|
15
15
|
"clean": "rm -rf ./dest .tsbuildinfo",
|
|
16
16
|
"formatting": "run -T prettier --check ./src && run -T eslint ./src",
|
|
17
17
|
"formatting:fix": "run -T eslint --fix ./src && run -T prettier -w ./src",
|
|
18
|
-
"test": "NODE_NO_WARNINGS=1
|
|
18
|
+
"test:node": "NODE_NO_WARNINGS=1 mocha --config ./.mocharc.json",
|
|
19
|
+
"test:browser": "wtr --config ./web-test-runner.config.mjs",
|
|
20
|
+
"test": "yarn test:node && yarn test:browser"
|
|
19
21
|
},
|
|
20
22
|
"inherits": [
|
|
21
|
-
"../package.common.json"
|
|
23
|
+
"../package.common.json",
|
|
24
|
+
"./package.local.json"
|
|
22
25
|
],
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"@aztec/circuit-types": "0.67.1-devnet",
|
|
28
|
+
"@aztec/ethereum": "0.67.1-devnet",
|
|
29
|
+
"@aztec/foundation": "0.67.1-devnet",
|
|
30
|
+
"idb": "^8.0.0",
|
|
31
|
+
"lmdb": "^3.0.6"
|
|
32
|
+
},
|
|
33
|
+
"devDependencies": {
|
|
34
|
+
"@aztec/circuits.js": "workspace:^",
|
|
35
|
+
"@jest/globals": "^29.5.0",
|
|
36
|
+
"@types/chai": "^5.0.1",
|
|
37
|
+
"@types/chai-as-promised": "^8.0.1",
|
|
38
|
+
"@types/jest": "^29.5.0",
|
|
39
|
+
"@types/mocha": "^10.0.10",
|
|
40
|
+
"@types/mocha-each": "^2.0.4",
|
|
41
|
+
"@types/node": "^18.7.23",
|
|
42
|
+
"@web/dev-server-esbuild": "^1.0.3",
|
|
43
|
+
"@web/test-runner": "^0.19.0",
|
|
44
|
+
"@web/test-runner-playwright": "^0.11.0",
|
|
45
|
+
"chai": "^5.1.2",
|
|
46
|
+
"chai-as-promised": "^8.0.1",
|
|
47
|
+
"jest": "^29.5.0",
|
|
48
|
+
"mocha": "^10.8.2",
|
|
49
|
+
"mocha-each": "^2.0.1",
|
|
50
|
+
"ts-node": "^10.9.1",
|
|
51
|
+
"typescript": "^5.0.4"
|
|
52
|
+
},
|
|
53
|
+
"files": [
|
|
54
|
+
"dest",
|
|
55
|
+
"src",
|
|
56
|
+
"!*.test.*"
|
|
57
|
+
],
|
|
58
|
+
"engines": {
|
|
59
|
+
"node": ">=18"
|
|
60
|
+
},
|
|
23
61
|
"jest": {
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
"testRegex": "./src/.*\\.test\\.(js|mjs|ts)$",
|
|
28
|
-
"rootDir": "./src",
|
|
29
|
-
"workerThreads": true,
|
|
62
|
+
"extensionsToTreatAsEsm": [
|
|
63
|
+
".ts"
|
|
64
|
+
],
|
|
30
65
|
"transform": {
|
|
31
66
|
"^.+\\.tsx?$": [
|
|
32
67
|
"@swc/jest",
|
|
@@ -43,9 +78,9 @@
|
|
|
43
78
|
}
|
|
44
79
|
]
|
|
45
80
|
},
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
|
|
81
|
+
"moduleNameMapper": {
|
|
82
|
+
"^(\\.{1,2}/.*)\\.[cm]?js$": "$1"
|
|
83
|
+
},
|
|
49
84
|
"reporters": [
|
|
50
85
|
[
|
|
51
86
|
"default",
|
|
@@ -53,30 +88,12 @@
|
|
|
53
88
|
"summaryThreshold": 9999
|
|
54
89
|
}
|
|
55
90
|
]
|
|
91
|
+
],
|
|
92
|
+
"testRegex": "./src/.*\\.test\\.(js|mjs|ts)$",
|
|
93
|
+
"rootDir": "./src",
|
|
94
|
+
"testTimeout": 30000,
|
|
95
|
+
"setupFiles": [
|
|
96
|
+
"../../foundation/src/jest/setup.mjs"
|
|
56
97
|
]
|
|
57
|
-
},
|
|
58
|
-
"dependencies": {
|
|
59
|
-
"@aztec/circuit-types": "0.66.0",
|
|
60
|
-
"@aztec/ethereum": "0.66.0",
|
|
61
|
-
"@aztec/foundation": "0.66.0",
|
|
62
|
-
"lmdb": "^3.0.6"
|
|
63
|
-
},
|
|
64
|
-
"devDependencies": {
|
|
65
|
-
"@aztec/circuits.js": "workspace:^",
|
|
66
|
-
"@jest/globals": "^29.5.0",
|
|
67
|
-
"@types/jest": "^29.5.0",
|
|
68
|
-
"@types/node": "^18.7.23",
|
|
69
|
-
"jest": "^29.5.0",
|
|
70
|
-
"jest-mock-extended": "^3.0.3",
|
|
71
|
-
"ts-node": "^10.9.1",
|
|
72
|
-
"typescript": "^5.0.4"
|
|
73
|
-
},
|
|
74
|
-
"files": [
|
|
75
|
-
"dest",
|
|
76
|
-
"src",
|
|
77
|
-
"!*.test.*"
|
|
78
|
-
],
|
|
79
|
-
"engines": {
|
|
80
|
-
"node": ">=18"
|
|
81
98
|
}
|
|
82
99
|
}
|