@xyo-network/archivist-filesystem 6.0.3 → 6.1.0
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
|
@@ -38,10 +38,12 @@ bun add {{name}}
|
|
|
38
38
|
|
|
39
39
|
See the [LICENSE](LICENSE) file for license rights and limitations (LGPL-3.0-only).
|
|
40
40
|
|
|
41
|
+
## Credits
|
|
41
42
|
|
|
43
|
+
[Made with 🔥 and ❄️ by XYO Foundation](https://xyo.network)
|
|
42
44
|
|
|
43
|
-
[logo]: https://cdn.xy.company/img/brand/XYO_full_colored.png
|
|
44
45
|
[npm-badge]: https://img.shields.io/npm/v/@xyo-network/archivist-filesystem.svg
|
|
45
46
|
[npm-link]: https://www.npmjs.com/package/@xyo-network/archivist-filesystem
|
|
46
47
|
[license-badge]: https://img.shields.io/npm/l/@xyo-network/archivist-filesystem.svg
|
|
47
48
|
[license-link]: https://github.com/xylabs/sdk-js/blob/main/LICENSE
|
|
49
|
+
[logo]: https://cdn.xy.company/img/brand/XYO_full_colored.png
|
|
@@ -6,7 +6,7 @@ import type { BoundWitness, Payload, Schema, WithStorageMeta } from '@xyo-networ
|
|
|
6
6
|
export interface FileSystemArchivistData {
|
|
7
7
|
payloads: Payload[];
|
|
8
8
|
}
|
|
9
|
-
export declare const FilesystemArchivistConfigSchema:
|
|
9
|
+
export declare const FilesystemArchivistConfigSchema: 'network.xyo.archivist.filesystem.config' & {
|
|
10
10
|
readonly __schema: true;
|
|
11
11
|
};
|
|
12
12
|
export type FilesystemArchivistConfigSchema = typeof FilesystemArchivistConfigSchema;
|
|
@@ -22,7 +22,7 @@ export declare class FilesystemArchivist<TParams extends FilesystemArchivistPara
|
|
|
22
22
|
static readonly configSchemas: Schema[];
|
|
23
23
|
static readonly defaultConfigSchema: Schema;
|
|
24
24
|
static readonly labels: {
|
|
25
|
-
|
|
25
|
+
'network.xyo.storage.class': string;
|
|
26
26
|
};
|
|
27
27
|
private _memoryArchivist?;
|
|
28
28
|
get filePath(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilesystemArchivist.d.ts","sourceRoot":"","sources":["../../src/FilesystemArchivist.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAE3D,OAAO,EAAE,iBAAiB,EAAqB,MAAM,iCAAiC,CAAA;AAEtF,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,eAAe,EAChB,MAAM,8BAA8B,CAAA;AAKrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAEhE,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EAAE,MAAM,EAAE,eAAe,EACjC,MAAM,8BAA8B,CAAA;AAGrC,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB;AAED,eAAO,MAAM,+BAA+B
|
|
1
|
+
{"version":3,"file":"FilesystemArchivist.d.ts","sourceRoot":"","sources":["../../src/FilesystemArchivist.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAE3D,OAAO,EAAE,iBAAiB,EAAqB,MAAM,iCAAiC,CAAA;AAEtF,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,eAAe,EAChB,MAAM,8BAA8B,CAAA;AAKrC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAEhE,OAAO,KAAK,EACV,YAAY,EACZ,OAAO,EAAE,MAAM,EAAE,eAAe,EACjC,MAAM,8BAA8B,CAAA;AAGrC,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB;AAED,eAAO,MAAM,+BAA+B,EAAE,yCAAyC,GAAG;IACxF,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAA;CACoC,CAAA;AAC7D,MAAM,MAAM,+BAA+B,GAAG,OAAO,+BAA+B,CAAA;AAEpF,MAAM,MAAM,yBAAyB,GAAG,eAAe,CAAC;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,+BAA+B,CAAA;CACxC,CAAC,CAAA;AAEF,MAAM,MAAM,yBAAyB,GAAG,eAAe,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC,CAAA;AAEnG;;GAEG;AACH,qBACa,mBAAmB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CACpG,SAAQ,iBAAiB,CAAC,OAAO,CACjC,YAAW,iBAAiB;IAC5B,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA4D;IAC5G,gBAAyB,mBAAmB,EAAE,MAAM,CAAkC;IACtF,gBAAyB,MAAM,EAAE;QAC/B,2BAA2B,EAAE,MAAM,CAAA;KACpC,CAAmD;IAEpD,OAAO,CAAC,gBAAgB,CAAC,CAAiB;IAE1C,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAED,OAAO,KAAK,eAAe,GAE1B;IAED,OAAO,CAAC,MAAM,CAAC,eAAe;cAQX,UAAU,IAAI,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;cAIvD,YAAY,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;cAI9B,aAAa,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;cAI9C,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;cAIlE,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;cAI/D,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;cAIvE,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;YAOxC,eAAe;CAG9B"}
|
package/dist/node/index.mjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/FilesystemArchivist.ts"],
|
|
4
|
-
"sourcesContent": ["import { readFile } from 'node:fs/promises'\n\nimport type { Hash, PromisableArray } from '@xylabs/sdk-js'\nimport { assertEx } from '@xylabs/sdk-js'\nimport { AbstractArchivist, StorageClassLabel } from '@xyo-network/archivist-abstract'\nimport { MemoryArchivist } from '@xyo-network/archivist-memory'\nimport type {\n ArchivistConfig,\n ArchivistInstance,\n ArchivistParams,\n} from '@xyo-network/archivist-model'\nimport {\n ArchivistAllQuerySchema,\n ArchivistCommitQuerySchema,\n} from '@xyo-network/archivist-model'\nimport type { AnyConfigSchema } from '@xyo-network/module-model'\nimport { creatableModule } from '@xyo-network/module-model'\nimport type {\n BoundWitness,\n Payload, Schema, WithStorageMeta,\n} from '@xyo-network/sdk-protocol-js'\nimport { asSchema, HDWallet } from '@xyo-network/sdk-protocol-js'\n\nexport interface FileSystemArchivistData {\n payloads: Payload[]\n}\n\nexport const FilesystemArchivistConfigSchema = asSchema('network.xyo.archivist.filesystem.config', true)\nexport type FilesystemArchivistConfigSchema = typeof FilesystemArchivistConfigSchema\n\nexport type FilesystemArchivistConfig = ArchivistConfig<{\n filePath?: string\n schema: FilesystemArchivistConfigSchema\n}>\n\nexport type FilesystemArchivistParams = ArchivistParams<AnyConfigSchema<FilesystemArchivistConfig>>\n\n/** @description Currently only a read-only archivist that loads payloads from filesystem\n * but allows for future expansion to read/write\n */\n@creatableModule()\nexport class FilesystemArchivist<TParams extends FilesystemArchivistParams = FilesystemArchivistParams>\n extends AbstractArchivist<TParams>\n implements ArchivistInstance {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, FilesystemArchivistConfigSchema]\n static override readonly defaultConfigSchema: Schema = FilesystemArchivistConfigSchema\n static override readonly labels = { ...super.labels, [StorageClassLabel]: 'disk' }\n\n private _memoryArchivist?: MemoryArchivist\n\n get filePath() {\n return this.config?.filePath ?? 'archivist.xyo.json'\n }\n\n override get queries() {\n return [ArchivistAllQuerySchema, ArchivistCommitQuerySchema, ...super.queries]\n }\n\n private get memoryArchivist() {\n return assertEx(this._memoryArchivist)\n }\n\n private static dataFromRawJson(rawJson: string) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const data: FileSystemArchivistData = JSON.parse(rawJson)\n assertEx(typeof data === 'object', () => 'Archivist Data must be object')\n assertEx(Array.isArray(data.payloads), () => 'Archivist Data \"payloads\" field must be array of payloads')\n return data\n }\n\n protected override allHandler(): PromisableArray<WithStorageMeta<Payload>> {\n return this.memoryArchivist.next({ limit: Number.MAX_SAFE_INTEGER })\n }\n\n protected override clearHandler(): void | Promise<void> {\n return this.memoryArchivist.clear()\n }\n\n protected override async commitHandler(): Promise<BoundWitness[]> {\n return await this.memoryArchivist.commit()\n }\n\n protected override deleteHandler(hashes: Hash[]): PromisableArray<WithStorageMeta<Payload>> {\n return this.memoryArchivist.delete(hashes)\n }\n\n protected override async getHandler(hashes: Hash[]): Promise<WithStorageMeta<Payload>[]> {\n return await this.memoryArchivist.get(hashes)\n }\n\n protected override async insertHandler(payloads: Payload[]): Promise<WithStorageMeta<Payload>[]> {\n return await this.memoryArchivist.insert(payloads)\n }\n\n protected override async startHandler() {\n await super.startHandler()\n this._memoryArchivist = await MemoryArchivist.create({ account: await HDWallet.random() })\n const data = FilesystemArchivist.dataFromRawJson(await this.rawJsonFromFile())\n await this._memoryArchivist.insert(data.payloads)\n }\n\n private async rawJsonFromFile() {\n return await readFile(this.filePath, { encoding: 'utf8' })\n }\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;AAAA,SAAS,gBAAgB;AAGzB,SAAS,gBAAgB;AACzB,SAAS,mBAAmB,yBAAyB;AACrD,SAAS,uBAAuB;AAMhC;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP,SAAS,uBAAuB;AAKhC,SAAS,UAAU,gBAAgB;AAM5B,IAAM,
|
|
4
|
+
"sourcesContent": ["import { readFile } from 'node:fs/promises'\n\nimport type { Hash, PromisableArray } from '@xylabs/sdk-js'\nimport { assertEx } from '@xylabs/sdk-js'\nimport { AbstractArchivist, StorageClassLabel } from '@xyo-network/archivist-abstract'\nimport { MemoryArchivist } from '@xyo-network/archivist-memory'\nimport type {\n ArchivistConfig,\n ArchivistInstance,\n ArchivistParams,\n} from '@xyo-network/archivist-model'\nimport {\n ArchivistAllQuerySchema,\n ArchivistCommitQuerySchema,\n} from '@xyo-network/archivist-model'\nimport type { AnyConfigSchema } from '@xyo-network/module-model'\nimport { creatableModule } from '@xyo-network/module-model'\nimport type {\n BoundWitness,\n Payload, Schema, WithStorageMeta,\n} from '@xyo-network/sdk-protocol-js'\nimport { asSchema, HDWallet } from '@xyo-network/sdk-protocol-js'\n\nexport interface FileSystemArchivistData {\n payloads: Payload[]\n}\n\nexport const FilesystemArchivistConfigSchema: 'network.xyo.archivist.filesystem.config' & {\n readonly __schema: true\n} = asSchema('network.xyo.archivist.filesystem.config', true)\nexport type FilesystemArchivistConfigSchema = typeof FilesystemArchivistConfigSchema\n\nexport type FilesystemArchivistConfig = ArchivistConfig<{\n filePath?: string\n schema: FilesystemArchivistConfigSchema\n}>\n\nexport type FilesystemArchivistParams = ArchivistParams<AnyConfigSchema<FilesystemArchivistConfig>>\n\n/** @description Currently only a read-only archivist that loads payloads from filesystem\n * but allows for future expansion to read/write\n */\n@creatableModule()\nexport class FilesystemArchivist<TParams extends FilesystemArchivistParams = FilesystemArchivistParams>\n extends AbstractArchivist<TParams>\n implements ArchivistInstance {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, FilesystemArchivistConfigSchema]\n static override readonly defaultConfigSchema: Schema = FilesystemArchivistConfigSchema\n static override readonly labels: {\n 'network.xyo.storage.class': string\n } = { ...super.labels, [StorageClassLabel]: 'disk' }\n\n private _memoryArchivist?: MemoryArchivist\n\n get filePath(): string {\n return this.config?.filePath ?? 'archivist.xyo.json'\n }\n\n override get queries(): Schema[] {\n return [ArchivistAllQuerySchema, ArchivistCommitQuerySchema, ...super.queries]\n }\n\n private get memoryArchivist() {\n return assertEx(this._memoryArchivist)\n }\n\n private static dataFromRawJson(rawJson: string) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const data: FileSystemArchivistData = JSON.parse(rawJson)\n assertEx(typeof data === 'object', () => 'Archivist Data must be object')\n assertEx(Array.isArray(data.payloads), () => 'Archivist Data \"payloads\" field must be array of payloads')\n return data\n }\n\n protected override allHandler(): PromisableArray<WithStorageMeta<Payload>> {\n return this.memoryArchivist.next({ limit: Number.MAX_SAFE_INTEGER })\n }\n\n protected override clearHandler(): void | Promise<void> {\n return this.memoryArchivist.clear()\n }\n\n protected override async commitHandler(): Promise<BoundWitness[]> {\n return await this.memoryArchivist.commit()\n }\n\n protected override deleteHandler(hashes: Hash[]): PromisableArray<WithStorageMeta<Payload>> {\n return this.memoryArchivist.delete(hashes)\n }\n\n protected override async getHandler(hashes: Hash[]): Promise<WithStorageMeta<Payload>[]> {\n return await this.memoryArchivist.get(hashes)\n }\n\n protected override async insertHandler(payloads: Payload[]): Promise<WithStorageMeta<Payload>[]> {\n return await this.memoryArchivist.insert(payloads)\n }\n\n protected override async startHandler(): Promise<void> {\n await super.startHandler()\n this._memoryArchivist = await MemoryArchivist.create({ account: await HDWallet.random() })\n const data = FilesystemArchivist.dataFromRawJson(await this.rawJsonFromFile())\n await this._memoryArchivist.insert(data.payloads)\n }\n\n private async rawJsonFromFile() {\n return await readFile(this.filePath, { encoding: 'utf8' })\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;AAAA,SAAS,gBAAgB;AAGzB,SAAS,gBAAgB;AACzB,SAAS,mBAAmB,yBAAyB;AACrD,SAAS,uBAAuB;AAMhC;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAEP,SAAS,uBAAuB;AAKhC,SAAS,UAAU,gBAAgB;AAM5B,IAAM,kCAET,SAAS,2CAA2C,IAAI;AAcrD,IAAM,sBAAN,cACG,kBACqB;AAAA,EAOrB;AAAA,EAER,IAAI,WAAmB;AACrB,WAAO,KAAK,QAAQ,YAAY;AAAA,EAClC;AAAA,EAEA,IAAa,UAAoB;AAC/B,WAAO,CAAC,yBAAyB,4BAA4B,GAAG,MAAM,OAAO;AAAA,EAC/E;AAAA,EAEA,IAAY,kBAAkB;AAC5B,WAAO,SAAS,KAAK,gBAAgB;AAAA,EACvC;AAAA,EAEA,OAAe,gBAAgB,SAAiB;AAE9C,UAAM,OAAgC,KAAK,MAAM,OAAO;AACxD,aAAS,OAAO,SAAS,UAAU,MAAM,+BAA+B;AACxE,aAAS,MAAM,QAAQ,KAAK,QAAQ,GAAG,MAAM,2DAA2D;AACxG,WAAO;AAAA,EACT;AAAA,EAEmB,aAAwD;AACzE,WAAO,KAAK,gBAAgB,KAAK,EAAE,OAAO,OAAO,iBAAiB,CAAC;AAAA,EACrE;AAAA,EAEmB,eAAqC;AACtD,WAAO,KAAK,gBAAgB,MAAM;AAAA,EACpC;AAAA,EAEA,MAAyB,gBAAyC;AAChE,WAAO,MAAM,KAAK,gBAAgB,OAAO;AAAA,EAC3C;AAAA,EAEmB,cAAc,QAA2D;AAC1F,WAAO,KAAK,gBAAgB,OAAO,MAAM;AAAA,EAC3C;AAAA,EAEA,MAAyB,WAAW,QAAqD;AACvF,WAAO,MAAM,KAAK,gBAAgB,IAAI,MAAM;AAAA,EAC9C;AAAA,EAEA,MAAyB,cAAc,UAA0D;AAC/F,WAAO,MAAM,KAAK,gBAAgB,OAAO,QAAQ;AAAA,EACnD;AAAA,EAEA,MAAyB,eAA8B;AACrD,UAAM,MAAM,aAAa;AACzB,SAAK,mBAAmB,MAAM,gBAAgB,OAAO,EAAE,SAAS,MAAM,SAAS,OAAO,EAAE,CAAC;AACzF,UAAM,OAAO,oBAAoB,gBAAgB,MAAM,KAAK,gBAAgB,CAAC;AAC7E,UAAM,KAAK,iBAAiB,OAAO,KAAK,QAAQ;AAAA,EAClD;AAAA,EAEA,MAAc,kBAAkB;AAC9B,WAAO,MAAM,SAAS,KAAK,UAAU,EAAE,UAAU,OAAO,CAAC;AAAA,EAC3D;AACF;AA9DE,cAHW,qBAGc,iBAA0B,CAAC,GAAG,qDAAM,kBAAe,+BAA+B;AAC3G,cAJW,qBAIc,uBAA8B;AACvD,cALW,qBAKc,UAErB,EAAE,GAAG,qDAAM,WAAQ,CAAC,iBAAiB,GAAG,OAAO;AAPxC,sBAAN;AAAA,EADN,gBAAgB;AAAA,GACJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/archivist-filesystem",
|
|
3
|
-
"version": "6.0
|
|
3
|
+
"version": "6.1.0",
|
|
4
4
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
5
5
|
"homepage": "https://xyo.network",
|
|
6
6
|
"bugs": {
|
|
@@ -36,10 +36,10 @@
|
|
|
36
36
|
"README.md"
|
|
37
37
|
],
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@xyo-network/archivist-
|
|
40
|
-
"@xyo-network/archivist-
|
|
41
|
-
"@xyo-network/archivist-model": "~6.0
|
|
42
|
-
"@xyo-network/module-model": "~6.0
|
|
39
|
+
"@xyo-network/archivist-abstract": "~6.1.0",
|
|
40
|
+
"@xyo-network/archivist-memory": "~6.1.0",
|
|
41
|
+
"@xyo-network/archivist-model": "~6.1.0",
|
|
42
|
+
"@xyo-network/module-model": "~6.1.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@bitauth/libauth": "~3.0.0",
|
|
@@ -49,17 +49,15 @@
|
|
|
49
49
|
"@opentelemetry/sdk-trace-base": "^2.7.1",
|
|
50
50
|
"@scure/base": "~2.2.0",
|
|
51
51
|
"@scure/bip39": "~2.2.0",
|
|
52
|
-
"@xylabs/geo": "^6.0
|
|
53
|
-
"@xylabs/sdk-js": "^6.0
|
|
54
|
-
"@xylabs/threads": "^6.0
|
|
55
|
-
"@xylabs/toolchain": "
|
|
56
|
-
"@xylabs/tsconfig": "
|
|
57
|
-
"@xylabs/vitest-extended": "
|
|
58
|
-
"@xyo-network/sdk-protocol-js": "
|
|
52
|
+
"@xylabs/geo": "^6.1.0",
|
|
53
|
+
"@xylabs/sdk-js": "^6.1.0",
|
|
54
|
+
"@xylabs/threads": "^6.1.0",
|
|
55
|
+
"@xylabs/toolchain": "^8.1.20",
|
|
56
|
+
"@xylabs/tsconfig": "^8.1.20",
|
|
57
|
+
"@xylabs/vitest-extended": "^6.1.0",
|
|
58
|
+
"@xyo-network/sdk-protocol-js": "^6.1.0",
|
|
59
59
|
"ajv": "^8.20.0",
|
|
60
60
|
"async-mutex": "^0.5.0",
|
|
61
|
-
"bn.js": "^5.2.3",
|
|
62
|
-
"buffer": "^6.0.3",
|
|
63
61
|
"debug": "~4.4.3",
|
|
64
62
|
"eslint": "^10.4.1",
|
|
65
63
|
"ethers": "^6.16.0",
|
|
@@ -67,7 +65,6 @@
|
|
|
67
65
|
"idb": "^8.0.3",
|
|
68
66
|
"lru-cache": "^11.5.1",
|
|
69
67
|
"observable-fns": "~0.6.1",
|
|
70
|
-
"pako": "~2.1.0",
|
|
71
68
|
"tslib": "^2.8.1",
|
|
72
69
|
"typescript": "~6.0.3",
|
|
73
70
|
"vite": "^8.0.16",
|
|
@@ -86,21 +83,21 @@
|
|
|
86
83
|
"@xylabs/geo": "^6.0",
|
|
87
84
|
"@xylabs/sdk-js": "^6.0",
|
|
88
85
|
"@xylabs/threads": "^6.0",
|
|
89
|
-
"@xyo-network/sdk-protocol-js": "
|
|
86
|
+
"@xyo-network/sdk-protocol-js": "^6.1",
|
|
90
87
|
"ajv": "^8.20",
|
|
91
88
|
"async-mutex": "^0.5",
|
|
92
|
-
"bn.js": "^5.2",
|
|
93
|
-
"buffer": "^6.0",
|
|
94
89
|
"debug": "~4.4",
|
|
95
90
|
"ethers": "^6.16",
|
|
96
91
|
"hash-wasm": "~4.12",
|
|
97
92
|
"idb": "^8.0",
|
|
98
93
|
"lru-cache": "^11.3",
|
|
99
94
|
"observable-fns": "~0.6",
|
|
100
|
-
"pako": "~2.1",
|
|
101
95
|
"webextension-polyfill": "^0.12",
|
|
102
96
|
"zod": "^4.4"
|
|
103
97
|
},
|
|
98
|
+
"engines": {
|
|
99
|
+
"node": "^24"
|
|
100
|
+
},
|
|
104
101
|
"publishConfig": {
|
|
105
102
|
"access": "public"
|
|
106
103
|
}
|