@xyo-network/xl1-driver-lmdb 4.0.11 → 4.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -5,13 +5,16 @@
|
|
|
5
5
|
[![npm-badge][]][npm-link]
|
|
6
6
|
[![license-badge][]][license-link]
|
|
7
7
|
|
|
8
|
-
> LMDB
|
|
8
|
+
> Node LMDB map driver for XL1 protocol storage.
|
|
9
9
|
|
|
10
|
-
##
|
|
10
|
+
## Description
|
|
11
11
|
|
|
12
|
-
XL1
|
|
12
|
+
XL1 is the XYO Layer One blockchain protocol. This package provides a Node-only
|
|
13
|
+
LMDB-backed `SyncMap` implementation for XL1 stores that need durable local
|
|
14
|
+
storage without a separate database service.
|
|
13
15
|
|
|
14
|
-
|
|
16
|
+
Use it for local nodes, CLIs, test fixtures, and services that can keep
|
|
17
|
+
synchronous embedded storage on disk.
|
|
15
18
|
|
|
16
19
|
## Install
|
|
17
20
|
|
|
@@ -39,52 +42,76 @@ Using bun:
|
|
|
39
42
|
bun add @xyo-network/xl1-driver-lmdb
|
|
40
43
|
```
|
|
41
44
|
|
|
42
|
-
|
|
45
|
+
This package is Node-only and depends on `lmdb`.
|
|
43
46
|
|
|
44
|
-
##
|
|
47
|
+
## Usage
|
|
45
48
|
|
|
46
|
-
|
|
47
|
-
- **`getLocalPersistentMap` / `deleteLocalPersistentMap`** — create/remove a convention-based local store.
|
|
48
|
-
- **`getStoreDirectory`**, **`StoreKind`**, **`LmdbMapParams`** — store path and configuration helpers.
|
|
49
|
+
Create a convention-based local persistent map:
|
|
49
50
|
|
|
50
|
-
|
|
51
|
+
```ts
|
|
52
|
+
import { getLocalPersistentMap } from '@xyo-network/xl1-driver-lmdb'
|
|
53
|
+
|
|
54
|
+
const map = await getLocalPersistentMap<string, { height: number }>('xl1', 'blocks')
|
|
55
|
+
|
|
56
|
+
await map.set('head', { height: 42 })
|
|
57
|
+
console.log(await map.get('head'))
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Or construct the map directly:
|
|
61
|
+
|
|
62
|
+
```ts
|
|
63
|
+
import { SynchronousLmdbMap } from '@xyo-network/xl1-driver-lmdb'
|
|
64
|
+
|
|
65
|
+
const map = await SynchronousLmdbMap.create({
|
|
66
|
+
location: '.store',
|
|
67
|
+
dbName: 'xl1',
|
|
68
|
+
storeName: 'blocks',
|
|
69
|
+
})
|
|
70
|
+
await map.start()
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Documentation
|
|
74
|
+
|
|
75
|
+
Exports include:
|
|
76
|
+
|
|
77
|
+
- `SynchronousLmdbMap` - synchronous LMDB-backed map.
|
|
78
|
+
- `getLocalPersistentMap` and `deleteLocalPersistentMap` - convention-based local stores.
|
|
79
|
+
- `getStoreDirectory`, `StoreKind`, and `LmdbMapParams` - path and configuration helpers.
|
|
80
|
+
|
|
81
|
+
Use the memory driver in `@xyo-network/xl1-sdk/driver-memory` when durability is
|
|
82
|
+
not required.
|
|
83
|
+
|
|
84
|
+
## AI Agent Skills
|
|
85
|
+
|
|
86
|
+
Install the recommended XL1/XYO skills with [Skills.sh](https://skills.sh):
|
|
87
|
+
|
|
88
|
+
```sh
|
|
89
|
+
npx skills add XYOracleNetwork/xyo-skills --all
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
In XY toolchain repos, the equivalent convenience command is:
|
|
51
93
|
|
|
52
94
|
```sh
|
|
53
|
-
xy
|
|
54
|
-
xy
|
|
55
|
-
xy lint @xyo-network/xl1-driver-lmdb
|
|
95
|
+
pnpm xy skills defaults
|
|
96
|
+
pnpm xy skills lint --fix
|
|
56
97
|
```
|
|
57
98
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
</td>
|
|
70
|
-
<td align="center" valign="top" width="120">
|
|
71
|
-
<a href="https://github.com/jonesmac">
|
|
72
|
-
<img src="https://github.com/jonesmac.png" width="80" height="80" alt="Matt Jones" /><br />
|
|
73
|
-
<sub><b>Matt Jones</b></sub>
|
|
74
|
-
</a>
|
|
75
|
-
</td>
|
|
76
|
-
<td align="center" valign="top" width="120">
|
|
77
|
-
<a href="https://github.com/JoelBCarter">
|
|
78
|
-
<img src="https://github.com/JoelBCarter.png" width="80" height="80" alt="Joel Carter" /><br />
|
|
79
|
-
<sub><b>Joel Carter</b></sub>
|
|
80
|
-
</a>
|
|
81
|
-
</td>
|
|
82
|
-
</tr>
|
|
83
|
-
</table>
|
|
99
|
+
For XL1 work, ask your agent to use `xyo-knowledge`, `xl1-knowledge`, and
|
|
100
|
+
`xl1-patterns`. These skills cover XYO primitives, XL1 chain and gateway APIs,
|
|
101
|
+
and application patterns for XL1 dApps.
|
|
102
|
+
|
|
103
|
+
## Building Locally
|
|
104
|
+
|
|
105
|
+
```sh
|
|
106
|
+
pnpm xy build @xyo-network/xl1-driver-lmdb
|
|
107
|
+
pnpm xy test @xyo-network/xl1-driver-lmdb
|
|
108
|
+
pnpm xy lint @xyo-network/xl1-driver-lmdb
|
|
109
|
+
```
|
|
84
110
|
|
|
85
111
|
## License
|
|
86
112
|
|
|
87
|
-
See the [LICENSE](./LICENSE) file
|
|
113
|
+
See the [LICENSE](./LICENSE) file for license rights and limitations
|
|
114
|
+
(LGPL-3.0-only).
|
|
88
115
|
|
|
89
116
|
## Credits
|
|
90
117
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AbstractCreatable } from '@ariestools/sdk';
|
|
2
|
-
import type { SyncMap } from '@xyo-network/xl1-protocol-lib';
|
|
2
|
+
import type { SyncMap } from '@xyo-network/xl1-protocol/protocol-lib';
|
|
3
3
|
import type { Database, Key, RootDatabase } from 'lmdb';
|
|
4
4
|
import type { LmdbMapParams } from './Params.ts';
|
|
5
5
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SynchronousLmdbMap.d.ts","sourceRoot":"","sources":["../../src/SynchronousLmdbMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAa,MAAM,iBAAiB,CAAA;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"SynchronousLmdbMap.d.ts","sourceRoot":"","sources":["../../src/SynchronousLmdbMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAa,MAAM,iBAAiB,CAAA;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAA;AACrE,OAAO,KAAK,EACV,QAAQ,EAAE,GAAG,EAAE,YAAY,EAC5B,MAAM,MAAM,CAAA;AAGb,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAGhD;;;;;;;GAOG;AACH,qBACa,kBAAkB,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,CAAE,SAAQ,iBAAiB,CAAC,aAAa,CAAE,YAAW,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACjH,SAAS,CAAC,EAAE,EAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC7B,SAAS,CAAC,YAAY,EAAG,YAAY,CAAA;IAErC;;;;;;OAMG;IACH,IAAI,UAAU,WAEb;IAED,GAAG,IAAI,CAAC,EAAE;IAIV,KAAK,IAAI,IAAI;IAIb,MAAM,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO;IAItB,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAIzB,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE;IAWtB,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO;IAInB,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;IAIzB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI;IAMjB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CAO7C"}
|
package/dist/node/index.mjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/getStoreDirectory.ts", "../../src/localPersistentMap.ts", "../../src/SynchronousLmdbMap.ts"],
|
|
4
|
-
"sourcesContent": ["import Path from 'node:path'\n\nimport type { StoreKind } from './StoreKind.ts'\n\n/**\n * Creates a convention-based directory path for an archivist store\n * @param name The name of the archivist\n * @param storageRoot The root directory for storage\n * @param kind The kind of the archivist (optional)\n * @returns The directory path for the archivist store\n */\nexport const getStoreDirectory = (name: string, storageRoot: string, kind?: StoreKind): string => {\n return (kind === undefined) ? Path.join(storageRoot, name) : Path.join(storageRoot, kind, name)\n}\n", "import { rm } from 'node:fs/promises'\nimport Path from 'node:path'\n\nimport type { MapType } from '@xyo-network/xl1-protocol-lib'\n\nimport { getStoreDirectory } from './getStoreDirectory.ts'\nimport type { StoreKind } from './StoreKind.ts'\nimport { SynchronousLmdbMap } from './SynchronousLmdbMap.ts'\n\nconst DEFAULT_STORAGE_ROOT = Path.join(process.cwd(), '.store')\n\n/**\n * Returns a local persistent map\n * @param dbName The name of the database\n * @param storeName The name of the store\n * @param storageRoot The root directory for storage (default is '.store' in the current working directory)\n * @param kind The kind of the map\n * @returns a map\n */\nexport const getLocalPersistentMap = async <TId, TData>(\n dbName: string,\n storeName: string,\n storageRoot?: string,\n kind: StoreKind = 'lmdb'): Promise<MapType<TId, TData>> => {\n switch (kind) {\n case 'lmdb': {\n const root = storageRoot ?? DEFAULT_STORAGE_ROOT\n const location = getStoreDirectory(dbName, root, 'lmdb')\n const store = await SynchronousLmdbMap.create({\n location, dbName, storeName,\n })\n await store.start()\n return store as unknown as MapType<TId, TData>\n }\n }\n}\n\nexport const deleteLocalPersistentMap = async (\n dbName: string,\n storageRoot?: string,\n kind: StoreKind = 'lmdb',\n): Promise<void> => {\n await Promise.resolve()\n let location = ''\n switch (kind) {\n case 'lmdb': {\n const root = storageRoot ?? DEFAULT_STORAGE_ROOT\n location = getStoreDirectory(dbName, root, 'lmdb')\n break\n }\n }\n await rm(location, { recursive: true, force: true })\n}\n", "import { AbstractCreatable, creatable } from '@ariestools/sdk'\nimport type { SyncMap } from '@xyo-network/xl1-protocol-lib'\nimport type {\n Database, Key, RootDatabase,\n} from 'lmdb'\nimport { open } from 'lmdb'\n\nimport type { LmdbMapParams } from './Params.ts'\n\n// TODO: Abstract creatable instead of service?\n/**\n * A synchronous LMDB-backed Map implementation.\n * This class provides a synchronous interface to an LMDB database, allowing for key-value storage.\n * It allows for multi-tenancy within a single LMDB environment by using a root database (located\n * at this.folderPath) and a specific DB within the environment (specified by this.params.storeName).\n * @template K - The type of keys in the map.\n * @template V - The type of values in the map.\n */\n@creatable()\nexport class SynchronousLmdbMap<K extends Key, V> extends AbstractCreatable<LmdbMapParams> implements SyncMap<K, V> {\n protected db!: Database<V, K>\n protected rootDatabase!: RootDatabase\n\n /**\n * The path to the LMDB folder where the database is stored.\n * This is constructed from the location and dbName parameters\n * allowing for multiple DBs within the root (by specifying a\n * different storeName).\n * @returns The folder path for the LMDB database.\n */\n get folderPath() {\n return `${this.params.location}/${this.params.storeName}`\n }\n\n all(): V[] {\n return [...this.db.getRange({})].map(entry => entry.value)\n }\n\n clear(): void {\n this.db.clearSync()\n }\n\n delete(id: K): boolean {\n return this.db.removeSync(id)\n }\n\n get(id: K): V | undefined {\n return this.db.get(id)\n }\n\n getMany(ids: K[]): V[] {\n const results: V[] = []\n for (const id of ids) {\n const value = this.db.get(id)\n if (value !== undefined) {\n results.push(value)\n }\n }\n return results\n }\n\n has(id: K): boolean {\n return this.db.doesExist(id)\n }\n\n set(id: K, data: V): void {\n this.db.putSync(id, data)\n }\n\n setMany(entries: [K, V][]): void {\n for (const [key, value] of entries) {\n this.set(key, value)\n }\n }\n\n override async startHandler(): Promise<void> {\n await super.startHandler()\n // Initialize the DB Environment (opens the default LMDB database)\n this.rootDatabase = open({ path: this.folderPath, name: this.params.dbName })\n // Open the desired DB (using the store name)\n this.db = this.rootDatabase.openDB<V, K>({ name: this.params.storeName, cache: true })\n }\n}\n"],
|
|
4
|
+
"sourcesContent": ["import Path from 'node:path'\n\nimport type { StoreKind } from './StoreKind.ts'\n\n/**\n * Creates a convention-based directory path for an archivist store\n * @param name The name of the archivist\n * @param storageRoot The root directory for storage\n * @param kind The kind of the archivist (optional)\n * @returns The directory path for the archivist store\n */\nexport const getStoreDirectory = (name: string, storageRoot: string, kind?: StoreKind): string => {\n return (kind === undefined) ? Path.join(storageRoot, name) : Path.join(storageRoot, kind, name)\n}\n", "import { rm } from 'node:fs/promises'\nimport Path from 'node:path'\n\nimport type { MapType } from '@xyo-network/xl1-protocol/protocol-lib'\n\nimport { getStoreDirectory } from './getStoreDirectory.ts'\nimport type { StoreKind } from './StoreKind.ts'\nimport { SynchronousLmdbMap } from './SynchronousLmdbMap.ts'\n\nconst DEFAULT_STORAGE_ROOT = Path.join(process.cwd(), '.store')\n\n/**\n * Returns a local persistent map\n * @param dbName The name of the database\n * @param storeName The name of the store\n * @param storageRoot The root directory for storage (default is '.store' in the current working directory)\n * @param kind The kind of the map\n * @returns a map\n */\nexport const getLocalPersistentMap = async <TId, TData>(\n dbName: string,\n storeName: string,\n storageRoot?: string,\n kind: StoreKind = 'lmdb'): Promise<MapType<TId, TData>> => {\n switch (kind) {\n case 'lmdb': {\n const root = storageRoot ?? DEFAULT_STORAGE_ROOT\n const location = getStoreDirectory(dbName, root, 'lmdb')\n const store = await SynchronousLmdbMap.create({\n location, dbName, storeName,\n })\n await store.start()\n return store as unknown as MapType<TId, TData>\n }\n }\n}\n\nexport const deleteLocalPersistentMap = async (\n dbName: string,\n storageRoot?: string,\n kind: StoreKind = 'lmdb',\n): Promise<void> => {\n await Promise.resolve()\n let location = ''\n switch (kind) {\n case 'lmdb': {\n const root = storageRoot ?? DEFAULT_STORAGE_ROOT\n location = getStoreDirectory(dbName, root, 'lmdb')\n break\n }\n }\n await rm(location, { recursive: true, force: true })\n}\n", "import { AbstractCreatable, creatable } from '@ariestools/sdk'\nimport type { SyncMap } from '@xyo-network/xl1-protocol/protocol-lib'\nimport type {\n Database, Key, RootDatabase,\n} from 'lmdb'\nimport { open } from 'lmdb'\n\nimport type { LmdbMapParams } from './Params.ts'\n\n// TODO: Abstract creatable instead of service?\n/**\n * A synchronous LMDB-backed Map implementation.\n * This class provides a synchronous interface to an LMDB database, allowing for key-value storage.\n * It allows for multi-tenancy within a single LMDB environment by using a root database (located\n * at this.folderPath) and a specific DB within the environment (specified by this.params.storeName).\n * @template K - The type of keys in the map.\n * @template V - The type of values in the map.\n */\n@creatable()\nexport class SynchronousLmdbMap<K extends Key, V> extends AbstractCreatable<LmdbMapParams> implements SyncMap<K, V> {\n protected db!: Database<V, K>\n protected rootDatabase!: RootDatabase\n\n /**\n * The path to the LMDB folder where the database is stored.\n * This is constructed from the location and dbName parameters\n * allowing for multiple DBs within the root (by specifying a\n * different storeName).\n * @returns The folder path for the LMDB database.\n */\n get folderPath() {\n return `${this.params.location}/${this.params.storeName}`\n }\n\n all(): V[] {\n return [...this.db.getRange({})].map(entry => entry.value)\n }\n\n clear(): void {\n this.db.clearSync()\n }\n\n delete(id: K): boolean {\n return this.db.removeSync(id)\n }\n\n get(id: K): V | undefined {\n return this.db.get(id)\n }\n\n getMany(ids: K[]): V[] {\n const results: V[] = []\n for (const id of ids) {\n const value = this.db.get(id)\n if (value !== undefined) {\n results.push(value)\n }\n }\n return results\n }\n\n has(id: K): boolean {\n return this.db.doesExist(id)\n }\n\n set(id: K, data: V): void {\n this.db.putSync(id, data)\n }\n\n setMany(entries: [K, V][]): void {\n for (const [key, value] of entries) {\n this.set(key, value)\n }\n }\n\n override async startHandler(): Promise<void> {\n await super.startHandler()\n // Initialize the DB Environment (opens the default LMDB database)\n this.rootDatabase = open({ path: this.folderPath, name: this.params.dbName })\n // Open the desired DB (using the store name)\n this.db = this.rootDatabase.openDB<V, K>({ name: this.params.storeName, cache: true })\n }\n}\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;AAAA,OAAO,UAAU;AAWV,IAAM,oBAAoB,CAAC,MAAc,aAAqB,SAA6B;AAChG,SAAQ,SAAS,SAAa,KAAK,KAAK,aAAa,IAAI,IAAI,KAAK,KAAK,aAAa,MAAM,IAAI;AAChG;;;ACbA,SAAS,UAAU;AACnB,OAAOA,WAAU;;;ACDjB,SAAS,mBAAmB,iBAAiB;AAK7C,SAAS,YAAY;AAcd,IAAM,qBAAN,cAAmD,kBAA0D;AAAA,EACxG;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASV,IAAI,aAAa;AACf,WAAO,GAAG,KAAK,OAAO,QAAQ,IAAI,KAAK,OAAO,SAAS;AAAA,EACzD;AAAA,EAEA,MAAW;AACT,WAAO,CAAC,GAAG,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,WAAS,MAAM,KAAK;AAAA,EAC3D;AAAA,EAEA,QAAc;AACZ,SAAK,GAAG,UAAU;AAAA,EACpB;AAAA,EAEA,OAAO,IAAgB;AACrB,WAAO,KAAK,GAAG,WAAW,EAAE;AAAA,EAC9B;AAAA,EAEA,IAAI,IAAsB;AACxB,WAAO,KAAK,GAAG,IAAI,EAAE;AAAA,EACvB;AAAA,EAEA,QAAQ,KAAe;AACrB,UAAM,UAAe,CAAC;AACtB,eAAW,MAAM,KAAK;AACpB,YAAM,QAAQ,KAAK,GAAG,IAAI,EAAE;AAC5B,UAAI,UAAU,QAAW;AACvB,gBAAQ,KAAK,KAAK;AAAA,MACpB;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,IAAgB;AAClB,WAAO,KAAK,GAAG,UAAU,EAAE;AAAA,EAC7B;AAAA,EAEA,IAAI,IAAO,MAAe;AACxB,SAAK,GAAG,QAAQ,IAAI,IAAI;AAAA,EAC1B;AAAA,EAEA,QAAQ,SAAyB;AAC/B,eAAW,CAAC,KAAK,KAAK,KAAK,SAAS;AAClC,WAAK,IAAI,KAAK,KAAK;AAAA,IACrB;AAAA,EACF;AAAA,EAEA,MAAe,eAA8B;AAC3C,UAAM,MAAM,aAAa;AAEzB,SAAK,eAAe,KAAK,EAAE,MAAM,KAAK,YAAY,MAAM,KAAK,OAAO,OAAO,CAAC;AAE5E,SAAK,KAAK,KAAK,aAAa,OAAa,EAAE,MAAM,KAAK,OAAO,WAAW,OAAO,KAAK,CAAC;AAAA,EACvF;AACF;AA/Da,qBAAN;AAAA,EADN,UAAU;AAAA,GACE;;;ADVb,IAAM,uBAAuBC,MAAK,KAAK,QAAQ,IAAI,GAAG,QAAQ;AAUvD,IAAM,wBAAwB,OACnC,QACA,WACA,aACA,OAAkB,WAAyC;AAC3D,UAAQ,MAAM;AAAA,IACZ,KAAK,QAAQ;AACX,YAAM,OAAO,eAAe;AAC5B,YAAM,WAAW,kBAAkB,QAAQ,MAAM,MAAM;AACvD,YAAM,QAAQ,MAAM,mBAAmB,OAAO;AAAA,QAC5C;AAAA,QAAU;AAAA,QAAQ;AAAA,MACpB,CAAC;AACD,YAAM,MAAM,MAAM;AAClB,aAAO;AAAA,IACT;AAAA,EACF;AACF;AAEO,IAAM,2BAA2B,OACtC,QACA,aACA,OAAkB,WACA;AAClB,QAAM,QAAQ,QAAQ;AACtB,MAAI,WAAW;AACf,UAAQ,MAAM;AAAA,IACZ,KAAK,QAAQ;AACX,YAAM,OAAO,eAAe;AAC5B,iBAAW,kBAAkB,QAAQ,MAAM,MAAM;AACjD;AAAA,IACF;AAAA,EACF;AACA,QAAM,GAAG,UAAU,EAAE,WAAW,MAAM,OAAO,KAAK,CAAC;AACrD;",
|
|
6
6
|
"names": ["Path", "Path"]
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localPersistentMap.d.ts","sourceRoot":"","sources":["../../src/localPersistentMap.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"localPersistentMap.d.ts","sourceRoot":"","sources":["../../src/localPersistentMap.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAA;AAGrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAK/C;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,GAAU,GAAG,EAAE,KAAK,EACpD,QAAQ,MAAM,EACd,WAAW,MAAM,EACjB,cAAc,MAAM,EACpB,OAAM,SAAkB,KAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAYvD,CAAA;AAED,eAAO,MAAM,wBAAwB,GACnC,QAAQ,MAAM,EACd,cAAc,MAAM,EACpB,OAAM,SAAkB,KACvB,OAAO,CAAC,IAAI,CAWd,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@xyo-network/xl1-driver-lmdb",
|
|
4
|
-
"version": "4.0.
|
|
4
|
+
"version": "4.0.14",
|
|
5
5
|
"description": "XYO Layer One SDK Protocol LMDB Driver",
|
|
6
6
|
"homepage": "https://xylabs.com",
|
|
7
7
|
"bugs": {
|
|
@@ -35,10 +35,14 @@
|
|
|
35
35
|
"README.md"
|
|
36
36
|
],
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"
|
|
38
|
+
"lmdb": "~3.5.6",
|
|
39
|
+
"@xyo-network/xl1-protocol": "~4.0.14"
|
|
39
40
|
},
|
|
40
41
|
"devDependencies": {
|
|
41
|
-
"@ariestools/sdk": "~
|
|
42
|
+
"@ariestools/sdk": "~8.0.3",
|
|
43
|
+
"@ariestools/threads": "~8.0.3",
|
|
44
|
+
"@ariestools/toolchain": "~8.6.12",
|
|
45
|
+
"@ariestools/tsconfig": "~8.6.12",
|
|
42
46
|
"@bitauth/libauth": "~3.0.0",
|
|
43
47
|
"@metamask/providers": "~22.1.1",
|
|
44
48
|
"@noble/post-quantum": "~0.6.1",
|
|
@@ -46,12 +50,8 @@
|
|
|
46
50
|
"@opentelemetry/sdk-trace-base": "~2.9.0",
|
|
47
51
|
"@scure/base": "~2.2.0",
|
|
48
52
|
"@scure/bip39": "~2.2.0",
|
|
49
|
-
"@
|
|
50
|
-
"@
|
|
51
|
-
"@xylabs/toolchain": "~8.6.2",
|
|
52
|
-
"@xylabs/tsconfig": "~8.6.2",
|
|
53
|
-
"@xyo-network/sdk": "~7.0.8",
|
|
54
|
-
"@xyo-network/sdk-protocol": "~7.0.13",
|
|
53
|
+
"@xyo-network/sdk": "~7.0.11",
|
|
54
|
+
"@xyo-network/sdk-protocol": "~7.0.15",
|
|
55
55
|
"ajv": "~8.20.0",
|
|
56
56
|
"async-mutex": "~0.5.0",
|
|
57
57
|
"debug": "~4.4.3",
|
|
@@ -59,8 +59,6 @@
|
|
|
59
59
|
"ethers": "~6.17.0",
|
|
60
60
|
"hash-wasm": "~4.12.0",
|
|
61
61
|
"idb": "~8.0.3",
|
|
62
|
-
"lmdb": "~3.5.6",
|
|
63
|
-
"lru-cache": "~11.5.1",
|
|
64
62
|
"observable-fns": "~0.6.1",
|
|
65
63
|
"tslib": "~2.8.1",
|
|
66
64
|
"typescript": "~6.0.3",
|
|
@@ -68,7 +66,8 @@
|
|
|
68
66
|
"zod": "~4.4.3"
|
|
69
67
|
},
|
|
70
68
|
"peerDependencies": {
|
|
71
|
-
"@ariestools/sdk": "^
|
|
69
|
+
"@ariestools/sdk": "^8.0.3",
|
|
70
|
+
"@ariestools/threads": "^8.0.3",
|
|
72
71
|
"@bitauth/libauth": "^3.0.0",
|
|
73
72
|
"@metamask/providers": "^22.1.1",
|
|
74
73
|
"@noble/post-quantum": "^0.6.1",
|
|
@@ -76,27 +75,18 @@
|
|
|
76
75
|
"@opentelemetry/sdk-trace-base": "^2.9.0",
|
|
77
76
|
"@scure/base": "^2.2.0",
|
|
78
77
|
"@scure/bip39": "^2.2.0",
|
|
79
|
-
"@
|
|
80
|
-
"@
|
|
81
|
-
"@xyo-network/sdk": "^7.0.8",
|
|
82
|
-
"@xyo-network/sdk-protocol": "^7.0.13",
|
|
78
|
+
"@xyo-network/sdk": "^7.0.11",
|
|
79
|
+
"@xyo-network/sdk-protocol": "^7.0.15",
|
|
83
80
|
"ajv": "^8.20.0",
|
|
84
81
|
"async-mutex": "^0.5.0",
|
|
85
82
|
"debug": "^4.4.3",
|
|
86
83
|
"ethers": "^6.17.0",
|
|
87
84
|
"hash-wasm": "^4.12.0",
|
|
88
85
|
"idb": "^8.0.3",
|
|
89
|
-
"lmdb": "^3.5.6",
|
|
90
|
-
"lru-cache": "^11.5.1",
|
|
91
86
|
"observable-fns": "^0.6.1",
|
|
92
87
|
"webextension-polyfill": "^0.12.0",
|
|
93
88
|
"zod": "^4.4.3"
|
|
94
89
|
},
|
|
95
|
-
"peerDependenciesMeta": {
|
|
96
|
-
"lmdb": {
|
|
97
|
-
"optional": true
|
|
98
|
-
}
|
|
99
|
-
},
|
|
100
90
|
"engines": {
|
|
101
91
|
"node": ">=22.3"
|
|
102
92
|
},
|