@xyo-network/file-browser-plugin 2.87.5 → 2.87.7
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/dist/browser/BrowserFileWitness.d.cts.map +1 -1
- package/dist/browser/BrowserFileWitness.d.mts.map +1 -1
- package/dist/browser/BrowserFileWitness.d.ts.map +1 -1
- package/dist/browser/index.cjs +10 -4
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.d.cts +1 -0
- package/dist/browser/index.d.cts.map +1 -1
- package/dist/browser/index.d.mts +1 -0
- package/dist/browser/index.d.mts.map +1 -1
- package/dist/browser/index.d.ts +1 -0
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.js +8 -2
- package/dist/browser/index.js.map +1 -1
- package/dist/node/BrowserFileWitness.d.cts.map +1 -1
- package/dist/node/BrowserFileWitness.d.mts.map +1 -1
- package/dist/node/BrowserFileWitness.d.ts.map +1 -1
- package/dist/node/index.cjs +12 -5
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.d.cts +1 -0
- package/dist/node/index.d.cts.map +1 -1
- package/dist/node/index.d.mts +1 -0
- package/dist/node/index.d.mts.map +1 -1
- package/dist/node/index.d.ts +1 -0
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/index.js +8 -2
- package/dist/node/index.js.map +1 -1
- package/package.json +10 -10
- package/src/BrowserFileWitness.ts +2 -1
- package/src/index.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserFileWitness.d.ts","sourceRoot":"","sources":["../../src/BrowserFileWitness.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAA;AAI7D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE1D,KAAK,wBAAwB,GAAG,iBAAiB,GAAG,kCAAkC,CAAA;AAEtF,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IAC3E,OAAgB,aAAa,sCAA4B;cAEhC,cAAc;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"BrowserFileWitness.d.ts","sourceRoot":"","sources":["../../src/BrowserFileWitness.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAA;AAI7D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE1D,KAAK,wBAAwB,GAAG,iBAAiB,GAAG,kCAAkC,CAAA;AAEtF,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IAC3E,OAAgB,aAAa,sCAA4B;cAEhC,cAAc;;;;;;;;;;IAWvC,OAAO,CAAC,cAAc;YAcR,kBAAkB;CAqBjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserFileWitness.d.ts","sourceRoot":"","sources":["../../src/BrowserFileWitness.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAA;AAI7D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE1D,KAAK,wBAAwB,GAAG,iBAAiB,GAAG,kCAAkC,CAAA;AAEtF,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IAC3E,OAAgB,aAAa,sCAA4B;cAEhC,cAAc;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"BrowserFileWitness.d.ts","sourceRoot":"","sources":["../../src/BrowserFileWitness.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAA;AAI7D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE1D,KAAK,wBAAwB,GAAG,iBAAiB,GAAG,kCAAkC,CAAA;AAEtF,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IAC3E,OAAgB,aAAa,sCAA4B;cAEhC,cAAc;;;;;;;;;;IAWvC,OAAO,CAAC,cAAc;YAcR,kBAAkB;CAqBjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserFileWitness.d.ts","sourceRoot":"","sources":["../../src/BrowserFileWitness.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAA;AAI7D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE1D,KAAK,wBAAwB,GAAG,iBAAiB,GAAG,kCAAkC,CAAA;AAEtF,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IAC3E,OAAgB,aAAa,sCAA4B;cAEhC,cAAc;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"BrowserFileWitness.d.ts","sourceRoot":"","sources":["../../src/BrowserFileWitness.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAA;AAI7D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE1D,KAAK,wBAAwB,GAAG,iBAAiB,GAAG,kCAAkC,CAAA;AAEtF,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IAC3E,OAAgB,aAAa,sCAA4B;cAEhC,cAAc;;;;;;;;;;IAWvC,OAAO,CAAC,cAAc;YAcR,kBAAkB;CAqBjC"}
|
package/dist/browser/index.cjs
CHANGED
|
@@ -35,7 +35,8 @@ __export(src_exports, {
|
|
|
35
35
|
FileSchema: () => FileSchema,
|
|
36
36
|
FileWitness: () => FileWitness,
|
|
37
37
|
FileWitnessConfigSchema: () => FileWitnessConfigSchema,
|
|
38
|
-
default: () => BrowserFilePlugin
|
|
38
|
+
default: () => BrowserFilePlugin,
|
|
39
|
+
isFilePayload: () => isFilePayload
|
|
39
40
|
});
|
|
40
41
|
module.exports = __toCommonJS(src_exports);
|
|
41
42
|
|
|
@@ -71,7 +72,8 @@ var BrowserFileWitness = class extends FileWitness {
|
|
|
71
72
|
async observeHandler() {
|
|
72
73
|
try {
|
|
73
74
|
const [payload] = await this.witnessBrowserFile();
|
|
74
|
-
|
|
75
|
+
const { logger } = this.params;
|
|
76
|
+
logger?.log(`BrowserFileWitness: ${await import_payload_builder.PayloadBuilder.dataHash(payload)}`);
|
|
75
77
|
return [payload];
|
|
76
78
|
} catch (e) {
|
|
77
79
|
throw new Error(`Error reading file: ${e}`);
|
|
@@ -110,11 +112,15 @@ var BrowserFileWitness = class extends FileWitness {
|
|
|
110
112
|
}
|
|
111
113
|
};
|
|
112
114
|
|
|
113
|
-
// src/
|
|
115
|
+
// src/Payload.ts
|
|
114
116
|
var import_payload_model = require("@xyo-network/payload-model");
|
|
117
|
+
var isFilePayload = (0, import_payload_model.isPayloadOfSchemaType)(FileSchema);
|
|
118
|
+
|
|
119
|
+
// src/PluginBrowser.ts
|
|
120
|
+
var import_payload_model2 = require("@xyo-network/payload-model");
|
|
115
121
|
var import_payloadset_plugin = require("@xyo-network/payloadset-plugin");
|
|
116
122
|
var BrowserFilePlugin = () => (0, import_payloadset_plugin.createPayloadSetWitnessPlugin)(
|
|
117
|
-
{ required: { [FileSchema]: 1 }, schema:
|
|
123
|
+
{ required: { [FileSchema]: 1 }, schema: import_payload_model2.PayloadSetSchema },
|
|
118
124
|
{
|
|
119
125
|
witness: async (params) => {
|
|
120
126
|
const result = await BrowserFileWitness.create(params);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/BrowserFileWitness.ts","../../src/Config.ts","../../src/Schema.ts","../../src/util/GenerateDataUri.ts","../../src/Witness.ts","../../src/PluginBrowser.ts"],"sourcesContent":["export * from './BrowserFileWitness'\nexport * from './Config'\nexport * from './Params'\nexport { BrowserFilePlugin, BrowserFilePlugin as default } from './PluginBrowser'\nexport * from './Schema'\nexport * from './Witness'\n","import { assertEx } from '@xylabs/assert'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport shajs from 'sha.js'\n\nimport { FileWitnessConfigSchema } from './Config'\nimport { BrowserFileWitnessAdditionalParams } from './Params'\nimport { FilePayload } from './Payload'\nimport { FileSchema } from './Schema'\nimport { generateDataUri } from './util'\nimport { FileWitness, FileWitnessParams } from './Witness'\n\ntype BrowserFileWitnessParams = FileWitnessParams & BrowserFileWitnessAdditionalParams\n\nexport class BrowserFileWitness extends FileWitness<BrowserFileWitnessParams> {\n static override configSchemas = [FileWitnessConfigSchema]\n\n protected override async observeHandler() {\n try {\n const [payload] = await this.witnessBrowserFile()\n
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/BrowserFileWitness.ts","../../src/Config.ts","../../src/Schema.ts","../../src/util/GenerateDataUri.ts","../../src/Witness.ts","../../src/Payload.ts","../../src/PluginBrowser.ts"],"sourcesContent":["export * from './BrowserFileWitness'\nexport * from './Config'\nexport * from './Params'\nexport * from './Payload'\nexport { BrowserFilePlugin, BrowserFilePlugin as default } from './PluginBrowser'\nexport * from './Schema'\nexport * from './Witness'\n","import { assertEx } from '@xylabs/assert'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport shajs from 'sha.js'\n\nimport { FileWitnessConfigSchema } from './Config'\nimport { BrowserFileWitnessAdditionalParams } from './Params'\nimport { FilePayload } from './Payload'\nimport { FileSchema } from './Schema'\nimport { generateDataUri } from './util'\nimport { FileWitness, FileWitnessParams } from './Witness'\n\ntype BrowserFileWitnessParams = FileWitnessParams & BrowserFileWitnessAdditionalParams\n\nexport class BrowserFileWitness extends FileWitness<BrowserFileWitnessParams> {\n static override configSchemas = [FileWitnessConfigSchema]\n\n protected override async observeHandler() {\n try {\n const [payload] = await this.witnessBrowserFile()\n const { logger } = this.params\n logger?.log(`BrowserFileWitness: ${await PayloadBuilder.dataHash(payload)}`)\n return [payload]\n } catch (e) {\n throw new Error(`Error reading file: ${e}`)\n }\n }\n\n private readBinaryFile(file: File): Promise<Uint8Array> {\n return new Promise((resolve, reject) => {\n const fileReader = new FileReader()\n fileReader.addEventListener('load', (event) => {\n const arrayBuffer = event.target?.result as ArrayBuffer\n resolve(new Uint8Array(arrayBuffer))\n })\n // eslint-disable-next-line unicorn/prefer-add-event-listener\n fileReader.onerror = () => reject(fileReader.error)\n // eslint-disable-next-line unicorn/prefer-blob-reading-methods\n fileReader.readAsArrayBuffer(file)\n })\n }\n\n private async witnessBrowserFile(): Promise<[FilePayload, Uint8Array]> {\n const file = assertEx(this.params.file, 'File is missing from params')\n const fileBinary = await this.readBinaryFile(file)\n const result = new Uint8Array(fileBinary)\n const hash = shajs('sha256').update(result).digest('hex').padStart(64, '0')\n\n return [\n {\n hash,\n length: fileBinary.byteLength,\n meta: {\n name: file.name,\n type: file.type,\n },\n modified: file.lastModified,\n schema: FileSchema,\n uri: this.config.storage === 'data-uri' ? generateDataUri(fileBinary) : file.name,\n },\n fileBinary,\n ]\n }\n}\n","import { WitnessConfig } from '@xyo-network/witness-model'\n\nexport type FileWitnessConfigSchema = 'network.xyo.file.witness.config'\nexport const FileWitnessConfigSchema: FileWitnessConfigSchema = 'network.xyo.file.witness.config'\n\nexport type FileWitnessConfig = WitnessConfig<{\n schema: FileWitnessConfigSchema\n storage?: 'data-uri'\n}>\n","export type FileSchema = 'network.xyo.file'\nexport const FileSchema: FileSchema = 'network.xyo.file'\n","import { base64 } from '@scure/base'\n\nexport const generateDataUri = (data: Uint8Array): string => {\n return `data:application/octet-stream;base64,${base64.encode(data)}`\n}\n","import { Promisable } from '@xylabs/promise'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { WitnessModule, WitnessParams } from '@xyo-network/witness-model'\n\nimport { FileWitnessConfig, FileWitnessConfigSchema } from './Config'\nimport { FileSchema } from './Schema'\n\nexport type FileWitnessParams = WitnessParams<AnyConfigSchema<FileWitnessConfig>>\n\n// Abstract so that derived classes provide a type for the file param and methods to parse it\nexport abstract class FileWitness<TParams extends FileWitnessParams = FileWitnessParams> extends AbstractWitness<TParams> implements WitnessModule {\n static override configSchemas = [FileWitnessConfigSchema]\n\n protected override observeHandler(payloads?: Payload[]): Promisable<Payload[]> {\n return [{ ...payloads?.[0], schema: FileSchema }]\n }\n}\n","import { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'\n\nimport { FileSchema } from './Schema'\n\nexport type BinaryDataHash = string\n\n/** @description File location and optional data */\nexport type FilePayload = Payload<\n {\n created?: number\n hash: BinaryDataHash\n length: number\n /** @field Storage specific meta data */\n meta?: Record<string, string | number>\n modified?: number\n uri: string\n },\n FileSchema\n>\n\nexport const isFilePayload = isPayloadOfSchemaType<FilePayload>(FileSchema)\n","import { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { BrowserFileWitness } from './BrowserFileWitness'\nimport { FileSchema } from './Schema'\n\nexport const BrowserFilePlugin = () =>\n createPayloadSetWitnessPlugin<BrowserFileWitness>(\n { required: { [FileSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await BrowserFileWitness.create(params)\n return result\n },\n },\n )\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,oBAAyB;AACzB,6BAA+B;AAC/B,iBAAkB;;;ACCX,IAAM,0BAAmD;;;ACFzD,IAAM,aAAyB;;;ACDtC,kBAAuB;AAEhB,IAAM,kBAAkB,CAAC,SAA6B;AAC3D,SAAO,wCAAwC,mBAAO,OAAO,IAAI,CAAC;AACpE;;;ACHA,8BAAgC;AAWzB,IAAe,cAAf,cAA0F,wCAAkD;AAAA,EACjJ,OAAgB,gBAAgB,CAAC,uBAAuB;AAAA,EAErC,eAAe,UAA6C;AAC7E,WAAO,CAAC,EAAE,GAAG,WAAW,CAAC,GAAG,QAAQ,WAAW,CAAC;AAAA,EAClD;AACF;;;AJLO,IAAM,qBAAN,cAAiC,YAAsC;AAAA,EAC5E,OAAgB,gBAAgB,CAAC,uBAAuB;AAAA,EAExD,MAAyB,iBAAiB;AACxC,QAAI;AACF,YAAM,CAAC,OAAO,IAAI,MAAM,KAAK,mBAAmB;AAChD,YAAM,EAAE,OAAO,IAAI,KAAK;AACxB,cAAQ,IAAI,uBAAuB,MAAM,sCAAe,SAAS,OAAO,CAAC,EAAE;AAC3E,aAAO,CAAC,OAAO;AAAA,IACjB,SAAS,GAAG;AACV,YAAM,IAAI,MAAM,uBAAuB,CAAC,EAAE;AAAA,IAC5C;AAAA,EACF;AAAA,EAEQ,eAAe,MAAiC;AACtD,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,YAAM,aAAa,IAAI,WAAW;AAClC,iBAAW,iBAAiB,QAAQ,CAAC,UAAU;AAC7C,cAAM,cAAc,MAAM,QAAQ;AAClC,gBAAQ,IAAI,WAAW,WAAW,CAAC;AAAA,MACrC,CAAC;AAED,iBAAW,UAAU,MAAM,OAAO,WAAW,KAAK;AAElD,iBAAW,kBAAkB,IAAI;AAAA,IACnC,CAAC;AAAA,EACH;AAAA,EAEA,MAAc,qBAAyD;AACrE,UAAM,WAAO,wBAAS,KAAK,OAAO,MAAM,6BAA6B;AACrE,UAAM,aAAa,MAAM,KAAK,eAAe,IAAI;AACjD,UAAM,SAAS,IAAI,WAAW,UAAU;AACxC,UAAM,WAAO,WAAAA,SAAM,QAAQ,EAAE,OAAO,MAAM,EAAE,OAAO,KAAK,EAAE,SAAS,IAAI,GAAG;AAE1E,WAAO;AAAA,MACL;AAAA,QACE;AAAA,QACA,QAAQ,WAAW;AAAA,QACnB,MAAM;AAAA,UACJ,MAAM,KAAK;AAAA,UACX,MAAM,KAAK;AAAA,QACb;AAAA,QACA,UAAU,KAAK;AAAA,QACf,QAAQ;AAAA,QACR,KAAK,KAAK,OAAO,YAAY,aAAa,gBAAgB,UAAU,IAAI,KAAK;AAAA,MAC/E;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;;;AK9DA,2BAA+C;AAoBxC,IAAM,oBAAgB,4CAAmC,UAAU;;;ACpB1E,IAAAC,wBAAiC;AACjC,+BAA8C;AAKvC,IAAM,oBAAoB,UAC/B;AAAA,EACE,EAAE,UAAU,EAAE,CAAC,UAAU,GAAG,EAAE,GAAG,QAAQ,uCAAiB;AAAA,EAC1D;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,YAAM,SAAS,MAAM,mBAAmB,OAAO,MAAM;AACrD,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":["shajs","import_payload_model"]}
|
package/dist/browser/index.d.cts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACjF,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACjF,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
|
package/dist/browser/index.d.mts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACjF,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACjF,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
|
package/dist/browser/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACjF,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACjF,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
|
package/dist/browser/index.js
CHANGED
|
@@ -30,7 +30,8 @@ var BrowserFileWitness = class extends FileWitness {
|
|
|
30
30
|
async observeHandler() {
|
|
31
31
|
try {
|
|
32
32
|
const [payload] = await this.witnessBrowserFile();
|
|
33
|
-
|
|
33
|
+
const { logger } = this.params;
|
|
34
|
+
logger?.log(`BrowserFileWitness: ${await PayloadBuilder.dataHash(payload)}`);
|
|
34
35
|
return [payload];
|
|
35
36
|
} catch (e) {
|
|
36
37
|
throw new Error(`Error reading file: ${e}`);
|
|
@@ -69,6 +70,10 @@ var BrowserFileWitness = class extends FileWitness {
|
|
|
69
70
|
}
|
|
70
71
|
};
|
|
71
72
|
|
|
73
|
+
// src/Payload.ts
|
|
74
|
+
import { isPayloadOfSchemaType } from "@xyo-network/payload-model";
|
|
75
|
+
var isFilePayload = isPayloadOfSchemaType(FileSchema);
|
|
76
|
+
|
|
72
77
|
// src/PluginBrowser.ts
|
|
73
78
|
import { PayloadSetSchema } from "@xyo-network/payload-model";
|
|
74
79
|
import { createPayloadSetWitnessPlugin } from "@xyo-network/payloadset-plugin";
|
|
@@ -87,6 +92,7 @@ export {
|
|
|
87
92
|
FileSchema,
|
|
88
93
|
FileWitness,
|
|
89
94
|
FileWitnessConfigSchema,
|
|
90
|
-
BrowserFilePlugin as default
|
|
95
|
+
BrowserFilePlugin as default,
|
|
96
|
+
isFilePayload
|
|
91
97
|
};
|
|
92
98
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/BrowserFileWitness.ts","../../src/Config.ts","../../src/Schema.ts","../../src/util/GenerateDataUri.ts","../../src/Witness.ts","../../src/PluginBrowser.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport shajs from 'sha.js'\n\nimport { FileWitnessConfigSchema } from './Config'\nimport { BrowserFileWitnessAdditionalParams } from './Params'\nimport { FilePayload } from './Payload'\nimport { FileSchema } from './Schema'\nimport { generateDataUri } from './util'\nimport { FileWitness, FileWitnessParams } from './Witness'\n\ntype BrowserFileWitnessParams = FileWitnessParams & BrowserFileWitnessAdditionalParams\n\nexport class BrowserFileWitness extends FileWitness<BrowserFileWitnessParams> {\n static override configSchemas = [FileWitnessConfigSchema]\n\n protected override async observeHandler() {\n try {\n const [payload] = await this.witnessBrowserFile()\n
|
|
1
|
+
{"version":3,"sources":["../../src/BrowserFileWitness.ts","../../src/Config.ts","../../src/Schema.ts","../../src/util/GenerateDataUri.ts","../../src/Witness.ts","../../src/Payload.ts","../../src/PluginBrowser.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport shajs from 'sha.js'\n\nimport { FileWitnessConfigSchema } from './Config'\nimport { BrowserFileWitnessAdditionalParams } from './Params'\nimport { FilePayload } from './Payload'\nimport { FileSchema } from './Schema'\nimport { generateDataUri } from './util'\nimport { FileWitness, FileWitnessParams } from './Witness'\n\ntype BrowserFileWitnessParams = FileWitnessParams & BrowserFileWitnessAdditionalParams\n\nexport class BrowserFileWitness extends FileWitness<BrowserFileWitnessParams> {\n static override configSchemas = [FileWitnessConfigSchema]\n\n protected override async observeHandler() {\n try {\n const [payload] = await this.witnessBrowserFile()\n const { logger } = this.params\n logger?.log(`BrowserFileWitness: ${await PayloadBuilder.dataHash(payload)}`)\n return [payload]\n } catch (e) {\n throw new Error(`Error reading file: ${e}`)\n }\n }\n\n private readBinaryFile(file: File): Promise<Uint8Array> {\n return new Promise((resolve, reject) => {\n const fileReader = new FileReader()\n fileReader.addEventListener('load', (event) => {\n const arrayBuffer = event.target?.result as ArrayBuffer\n resolve(new Uint8Array(arrayBuffer))\n })\n // eslint-disable-next-line unicorn/prefer-add-event-listener\n fileReader.onerror = () => reject(fileReader.error)\n // eslint-disable-next-line unicorn/prefer-blob-reading-methods\n fileReader.readAsArrayBuffer(file)\n })\n }\n\n private async witnessBrowserFile(): Promise<[FilePayload, Uint8Array]> {\n const file = assertEx(this.params.file, 'File is missing from params')\n const fileBinary = await this.readBinaryFile(file)\n const result = new Uint8Array(fileBinary)\n const hash = shajs('sha256').update(result).digest('hex').padStart(64, '0')\n\n return [\n {\n hash,\n length: fileBinary.byteLength,\n meta: {\n name: file.name,\n type: file.type,\n },\n modified: file.lastModified,\n schema: FileSchema,\n uri: this.config.storage === 'data-uri' ? generateDataUri(fileBinary) : file.name,\n },\n fileBinary,\n ]\n }\n}\n","import { WitnessConfig } from '@xyo-network/witness-model'\n\nexport type FileWitnessConfigSchema = 'network.xyo.file.witness.config'\nexport const FileWitnessConfigSchema: FileWitnessConfigSchema = 'network.xyo.file.witness.config'\n\nexport type FileWitnessConfig = WitnessConfig<{\n schema: FileWitnessConfigSchema\n storage?: 'data-uri'\n}>\n","export type FileSchema = 'network.xyo.file'\nexport const FileSchema: FileSchema = 'network.xyo.file'\n","import { base64 } from '@scure/base'\n\nexport const generateDataUri = (data: Uint8Array): string => {\n return `data:application/octet-stream;base64,${base64.encode(data)}`\n}\n","import { Promisable } from '@xylabs/promise'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { WitnessModule, WitnessParams } from '@xyo-network/witness-model'\n\nimport { FileWitnessConfig, FileWitnessConfigSchema } from './Config'\nimport { FileSchema } from './Schema'\n\nexport type FileWitnessParams = WitnessParams<AnyConfigSchema<FileWitnessConfig>>\n\n// Abstract so that derived classes provide a type for the file param and methods to parse it\nexport abstract class FileWitness<TParams extends FileWitnessParams = FileWitnessParams> extends AbstractWitness<TParams> implements WitnessModule {\n static override configSchemas = [FileWitnessConfigSchema]\n\n protected override observeHandler(payloads?: Payload[]): Promisable<Payload[]> {\n return [{ ...payloads?.[0], schema: FileSchema }]\n }\n}\n","import { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'\n\nimport { FileSchema } from './Schema'\n\nexport type BinaryDataHash = string\n\n/** @description File location and optional data */\nexport type FilePayload = Payload<\n {\n created?: number\n hash: BinaryDataHash\n length: number\n /** @field Storage specific meta data */\n meta?: Record<string, string | number>\n modified?: number\n uri: string\n },\n FileSchema\n>\n\nexport const isFilePayload = isPayloadOfSchemaType<FilePayload>(FileSchema)\n","import { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { BrowserFileWitness } from './BrowserFileWitness'\nimport { FileSchema } from './Schema'\n\nexport const BrowserFilePlugin = () =>\n createPayloadSetWitnessPlugin<BrowserFileWitness>(\n { required: { [FileSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await BrowserFileWitness.create(params)\n return result\n },\n },\n )\n"],"mappings":";AAAA,SAAS,gBAAgB;AACzB,SAAS,sBAAsB;AAC/B,OAAO,WAAW;;;ACCX,IAAM,0BAAmD;;;ACFzD,IAAM,aAAyB;;;ACDtC,SAAS,cAAc;AAEhB,IAAM,kBAAkB,CAAC,SAA6B;AAC3D,SAAO,wCAAwC,OAAO,OAAO,IAAI,CAAC;AACpE;;;ACHA,SAAS,uBAAuB;AAWzB,IAAe,cAAf,cAA0F,gBAAkD;AAAA,EACjJ,OAAgB,gBAAgB,CAAC,uBAAuB;AAAA,EAErC,eAAe,UAA6C;AAC7E,WAAO,CAAC,EAAE,GAAG,WAAW,CAAC,GAAG,QAAQ,WAAW,CAAC;AAAA,EAClD;AACF;;;AJLO,IAAM,qBAAN,cAAiC,YAAsC;AAAA,EAC5E,OAAgB,gBAAgB,CAAC,uBAAuB;AAAA,EAExD,MAAyB,iBAAiB;AACxC,QAAI;AACF,YAAM,CAAC,OAAO,IAAI,MAAM,KAAK,mBAAmB;AAChD,YAAM,EAAE,OAAO,IAAI,KAAK;AACxB,cAAQ,IAAI,uBAAuB,MAAM,eAAe,SAAS,OAAO,CAAC,EAAE;AAC3E,aAAO,CAAC,OAAO;AAAA,IACjB,SAAS,GAAG;AACV,YAAM,IAAI,MAAM,uBAAuB,CAAC,EAAE;AAAA,IAC5C;AAAA,EACF;AAAA,EAEQ,eAAe,MAAiC;AACtD,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,YAAM,aAAa,IAAI,WAAW;AAClC,iBAAW,iBAAiB,QAAQ,CAAC,UAAU;AAC7C,cAAM,cAAc,MAAM,QAAQ;AAClC,gBAAQ,IAAI,WAAW,WAAW,CAAC;AAAA,MACrC,CAAC;AAED,iBAAW,UAAU,MAAM,OAAO,WAAW,KAAK;AAElD,iBAAW,kBAAkB,IAAI;AAAA,IACnC,CAAC;AAAA,EACH;AAAA,EAEA,MAAc,qBAAyD;AACrE,UAAM,OAAO,SAAS,KAAK,OAAO,MAAM,6BAA6B;AACrE,UAAM,aAAa,MAAM,KAAK,eAAe,IAAI;AACjD,UAAM,SAAS,IAAI,WAAW,UAAU;AACxC,UAAM,OAAO,MAAM,QAAQ,EAAE,OAAO,MAAM,EAAE,OAAO,KAAK,EAAE,SAAS,IAAI,GAAG;AAE1E,WAAO;AAAA,MACL;AAAA,QACE;AAAA,QACA,QAAQ,WAAW;AAAA,QACnB,MAAM;AAAA,UACJ,MAAM,KAAK;AAAA,UACX,MAAM,KAAK;AAAA,QACb;AAAA,QACA,UAAU,KAAK;AAAA,QACf,QAAQ;AAAA,QACR,KAAK,KAAK,OAAO,YAAY,aAAa,gBAAgB,UAAU,IAAI,KAAK;AAAA,MAC/E;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;;;AK9DA,SAAS,6BAAsC;AAoBxC,IAAM,gBAAgB,sBAAmC,UAAU;;;ACpB1E,SAAS,wBAAwB;AACjC,SAAS,qCAAqC;AAKvC,IAAM,oBAAoB,MAC/B;AAAA,EACE,EAAE,UAAU,EAAE,CAAC,UAAU,GAAG,EAAE,GAAG,QAAQ,iBAAiB;AAAA,EAC1D;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,YAAM,SAAS,MAAM,mBAAmB,OAAO,MAAM;AACrD,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserFileWitness.d.ts","sourceRoot":"","sources":["../../src/BrowserFileWitness.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAA;AAI7D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE1D,KAAK,wBAAwB,GAAG,iBAAiB,GAAG,kCAAkC,CAAA;AAEtF,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IAC3E,OAAgB,aAAa,sCAA4B;cAEhC,cAAc;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"BrowserFileWitness.d.ts","sourceRoot":"","sources":["../../src/BrowserFileWitness.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAA;AAI7D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE1D,KAAK,wBAAwB,GAAG,iBAAiB,GAAG,kCAAkC,CAAA;AAEtF,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IAC3E,OAAgB,aAAa,sCAA4B;cAEhC,cAAc;;;;;;;;;;IAWvC,OAAO,CAAC,cAAc;YAcR,kBAAkB;CAqBjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserFileWitness.d.ts","sourceRoot":"","sources":["../../src/BrowserFileWitness.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAA;AAI7D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE1D,KAAK,wBAAwB,GAAG,iBAAiB,GAAG,kCAAkC,CAAA;AAEtF,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IAC3E,OAAgB,aAAa,sCAA4B;cAEhC,cAAc;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"BrowserFileWitness.d.ts","sourceRoot":"","sources":["../../src/BrowserFileWitness.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAA;AAI7D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE1D,KAAK,wBAAwB,GAAG,iBAAiB,GAAG,kCAAkC,CAAA;AAEtF,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IAC3E,OAAgB,aAAa,sCAA4B;cAEhC,cAAc;;;;;;;;;;IAWvC,OAAO,CAAC,cAAc;YAcR,kBAAkB;CAqBjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserFileWitness.d.ts","sourceRoot":"","sources":["../../src/BrowserFileWitness.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAA;AAI7D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE1D,KAAK,wBAAwB,GAAG,iBAAiB,GAAG,kCAAkC,CAAA;AAEtF,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IAC3E,OAAgB,aAAa,sCAA4B;cAEhC,cAAc;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"BrowserFileWitness.d.ts","sourceRoot":"","sources":["../../src/BrowserFileWitness.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAA;AAI7D,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAE1D,KAAK,wBAAwB,GAAG,iBAAiB,GAAG,kCAAkC,CAAA;AAEtF,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IAC3E,OAAgB,aAAa,sCAA4B;cAEhC,cAAc;;;;;;;;;;IAWvC,OAAO,CAAC,cAAc;YAcR,kBAAkB;CAqBjC"}
|
package/dist/node/index.cjs
CHANGED
|
@@ -35,7 +35,8 @@ __export(src_exports, {
|
|
|
35
35
|
FileSchema: () => FileSchema,
|
|
36
36
|
FileWitness: () => FileWitness,
|
|
37
37
|
FileWitnessConfigSchema: () => FileWitnessConfigSchema,
|
|
38
|
-
default: () => BrowserFilePlugin
|
|
38
|
+
default: () => BrowserFilePlugin,
|
|
39
|
+
isFilePayload: () => isFilePayload
|
|
39
40
|
});
|
|
40
41
|
module.exports = __toCommonJS(src_exports);
|
|
41
42
|
|
|
@@ -71,7 +72,8 @@ var BrowserFileWitness = class extends FileWitness {
|
|
|
71
72
|
async observeHandler() {
|
|
72
73
|
try {
|
|
73
74
|
const [payload] = await this.witnessBrowserFile();
|
|
74
|
-
|
|
75
|
+
const { logger } = this.params;
|
|
76
|
+
logger == null ? void 0 : logger.log(`BrowserFileWitness: ${await import_payload_builder.PayloadBuilder.dataHash(payload)}`);
|
|
75
77
|
return [payload];
|
|
76
78
|
} catch (e) {
|
|
77
79
|
throw new Error(`Error reading file: ${e}`);
|
|
@@ -111,11 +113,15 @@ var BrowserFileWitness = class extends FileWitness {
|
|
|
111
113
|
}
|
|
112
114
|
};
|
|
113
115
|
|
|
114
|
-
// src/
|
|
116
|
+
// src/Payload.ts
|
|
115
117
|
var import_payload_model = require("@xyo-network/payload-model");
|
|
118
|
+
var isFilePayload = (0, import_payload_model.isPayloadOfSchemaType)(FileSchema);
|
|
119
|
+
|
|
120
|
+
// src/PluginBrowser.ts
|
|
121
|
+
var import_payload_model2 = require("@xyo-network/payload-model");
|
|
116
122
|
var import_payloadset_plugin = require("@xyo-network/payloadset-plugin");
|
|
117
123
|
var BrowserFilePlugin = () => (0, import_payloadset_plugin.createPayloadSetWitnessPlugin)(
|
|
118
|
-
{ required: { [FileSchema]: 1 }, schema:
|
|
124
|
+
{ required: { [FileSchema]: 1 }, schema: import_payload_model2.PayloadSetSchema },
|
|
119
125
|
{
|
|
120
126
|
witness: async (params) => {
|
|
121
127
|
const result = await BrowserFileWitness.create(params);
|
|
@@ -129,6 +135,7 @@ var BrowserFilePlugin = () => (0, import_payloadset_plugin.createPayloadSetWitne
|
|
|
129
135
|
BrowserFileWitness,
|
|
130
136
|
FileSchema,
|
|
131
137
|
FileWitness,
|
|
132
|
-
FileWitnessConfigSchema
|
|
138
|
+
FileWitnessConfigSchema,
|
|
139
|
+
isFilePayload
|
|
133
140
|
});
|
|
134
141
|
//# sourceMappingURL=index.cjs.map
|
package/dist/node/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/BrowserFileWitness.ts","../../src/Config.ts","../../src/Schema.ts","../../src/util/GenerateDataUri.ts","../../src/Witness.ts","../../src/PluginBrowser.ts"],"sourcesContent":["export * from './BrowserFileWitness'\nexport * from './Config'\nexport * from './Params'\nexport { BrowserFilePlugin, BrowserFilePlugin as default } from './PluginBrowser'\nexport * from './Schema'\nexport * from './Witness'\n","import { assertEx } from '@xylabs/assert'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport shajs from 'sha.js'\n\nimport { FileWitnessConfigSchema } from './Config'\nimport { BrowserFileWitnessAdditionalParams } from './Params'\nimport { FilePayload } from './Payload'\nimport { FileSchema } from './Schema'\nimport { generateDataUri } from './util'\nimport { FileWitness, FileWitnessParams } from './Witness'\n\ntype BrowserFileWitnessParams = FileWitnessParams & BrowserFileWitnessAdditionalParams\n\nexport class BrowserFileWitness extends FileWitness<BrowserFileWitnessParams> {\n static override configSchemas = [FileWitnessConfigSchema]\n\n protected override async observeHandler() {\n try {\n const [payload] = await this.witnessBrowserFile()\n
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/BrowserFileWitness.ts","../../src/Config.ts","../../src/Schema.ts","../../src/util/GenerateDataUri.ts","../../src/Witness.ts","../../src/Payload.ts","../../src/PluginBrowser.ts"],"sourcesContent":["export * from './BrowserFileWitness'\nexport * from './Config'\nexport * from './Params'\nexport * from './Payload'\nexport { BrowserFilePlugin, BrowserFilePlugin as default } from './PluginBrowser'\nexport * from './Schema'\nexport * from './Witness'\n","import { assertEx } from '@xylabs/assert'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport shajs from 'sha.js'\n\nimport { FileWitnessConfigSchema } from './Config'\nimport { BrowserFileWitnessAdditionalParams } from './Params'\nimport { FilePayload } from './Payload'\nimport { FileSchema } from './Schema'\nimport { generateDataUri } from './util'\nimport { FileWitness, FileWitnessParams } from './Witness'\n\ntype BrowserFileWitnessParams = FileWitnessParams & BrowserFileWitnessAdditionalParams\n\nexport class BrowserFileWitness extends FileWitness<BrowserFileWitnessParams> {\n static override configSchemas = [FileWitnessConfigSchema]\n\n protected override async observeHandler() {\n try {\n const [payload] = await this.witnessBrowserFile()\n const { logger } = this.params\n logger?.log(`BrowserFileWitness: ${await PayloadBuilder.dataHash(payload)}`)\n return [payload]\n } catch (e) {\n throw new Error(`Error reading file: ${e}`)\n }\n }\n\n private readBinaryFile(file: File): Promise<Uint8Array> {\n return new Promise((resolve, reject) => {\n const fileReader = new FileReader()\n fileReader.addEventListener('load', (event) => {\n const arrayBuffer = event.target?.result as ArrayBuffer\n resolve(new Uint8Array(arrayBuffer))\n })\n // eslint-disable-next-line unicorn/prefer-add-event-listener\n fileReader.onerror = () => reject(fileReader.error)\n // eslint-disable-next-line unicorn/prefer-blob-reading-methods\n fileReader.readAsArrayBuffer(file)\n })\n }\n\n private async witnessBrowserFile(): Promise<[FilePayload, Uint8Array]> {\n const file = assertEx(this.params.file, 'File is missing from params')\n const fileBinary = await this.readBinaryFile(file)\n const result = new Uint8Array(fileBinary)\n const hash = shajs('sha256').update(result).digest('hex').padStart(64, '0')\n\n return [\n {\n hash,\n length: fileBinary.byteLength,\n meta: {\n name: file.name,\n type: file.type,\n },\n modified: file.lastModified,\n schema: FileSchema,\n uri: this.config.storage === 'data-uri' ? generateDataUri(fileBinary) : file.name,\n },\n fileBinary,\n ]\n }\n}\n","import { WitnessConfig } from '@xyo-network/witness-model'\n\nexport type FileWitnessConfigSchema = 'network.xyo.file.witness.config'\nexport const FileWitnessConfigSchema: FileWitnessConfigSchema = 'network.xyo.file.witness.config'\n\nexport type FileWitnessConfig = WitnessConfig<{\n schema: FileWitnessConfigSchema\n storage?: 'data-uri'\n}>\n","export type FileSchema = 'network.xyo.file'\nexport const FileSchema: FileSchema = 'network.xyo.file'\n","import { base64 } from '@scure/base'\n\nexport const generateDataUri = (data: Uint8Array): string => {\n return `data:application/octet-stream;base64,${base64.encode(data)}`\n}\n","import { Promisable } from '@xylabs/promise'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { WitnessModule, WitnessParams } from '@xyo-network/witness-model'\n\nimport { FileWitnessConfig, FileWitnessConfigSchema } from './Config'\nimport { FileSchema } from './Schema'\n\nexport type FileWitnessParams = WitnessParams<AnyConfigSchema<FileWitnessConfig>>\n\n// Abstract so that derived classes provide a type for the file param and methods to parse it\nexport abstract class FileWitness<TParams extends FileWitnessParams = FileWitnessParams> extends AbstractWitness<TParams> implements WitnessModule {\n static override configSchemas = [FileWitnessConfigSchema]\n\n protected override observeHandler(payloads?: Payload[]): Promisable<Payload[]> {\n return [{ ...payloads?.[0], schema: FileSchema }]\n }\n}\n","import { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'\n\nimport { FileSchema } from './Schema'\n\nexport type BinaryDataHash = string\n\n/** @description File location and optional data */\nexport type FilePayload = Payload<\n {\n created?: number\n hash: BinaryDataHash\n length: number\n /** @field Storage specific meta data */\n meta?: Record<string, string | number>\n modified?: number\n uri: string\n },\n FileSchema\n>\n\nexport const isFilePayload = isPayloadOfSchemaType<FilePayload>(FileSchema)\n","import { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { BrowserFileWitness } from './BrowserFileWitness'\nimport { FileSchema } from './Schema'\n\nexport const BrowserFilePlugin = () =>\n createPayloadSetWitnessPlugin<BrowserFileWitness>(\n { required: { [FileSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await BrowserFileWitness.create(params)\n return result\n },\n },\n )\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,oBAAyB;AACzB,6BAA+B;AAC/B,iBAAkB;;;ACCX,IAAM,0BAAmD;;;ACFzD,IAAM,aAAyB;;;ACDtC,kBAAuB;AAEhB,IAAM,kBAAkB,CAAC,SAA6B;AAC3D,SAAO,wCAAwC,mBAAO,OAAO,IAAI,CAAC;AACpE;;;ACHA,8BAAgC;AAWzB,IAAe,cAAf,cAA0F,wCAAkD;AAAA,EACjJ,OAAgB,gBAAgB,CAAC,uBAAuB;AAAA,EAErC,eAAe,UAA6C;AAC7E,WAAO,CAAC,EAAE,GAAG,qCAAW,IAAI,QAAQ,WAAW,CAAC;AAAA,EAClD;AACF;;;AJLO,IAAM,qBAAN,cAAiC,YAAsC;AAAA,EAC5E,OAAgB,gBAAgB,CAAC,uBAAuB;AAAA,EAExD,MAAyB,iBAAiB;AACxC,QAAI;AACF,YAAM,CAAC,OAAO,IAAI,MAAM,KAAK,mBAAmB;AAChD,YAAM,EAAE,OAAO,IAAI,KAAK;AACxB,uCAAQ,IAAI,uBAAuB,MAAM,sCAAe,SAAS,OAAO,CAAC;AACzE,aAAO,CAAC,OAAO;AAAA,IACjB,SAAS,GAAG;AACV,YAAM,IAAI,MAAM,uBAAuB,CAAC,EAAE;AAAA,IAC5C;AAAA,EACF;AAAA,EAEQ,eAAe,MAAiC;AACtD,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,YAAM,aAAa,IAAI,WAAW;AAClC,iBAAW,iBAAiB,QAAQ,CAAC,UAAU;AA9BrD;AA+BQ,cAAM,eAAc,WAAM,WAAN,mBAAc;AAClC,gBAAQ,IAAI,WAAW,WAAW,CAAC;AAAA,MACrC,CAAC;AAED,iBAAW,UAAU,MAAM,OAAO,WAAW,KAAK;AAElD,iBAAW,kBAAkB,IAAI;AAAA,IACnC,CAAC;AAAA,EACH;AAAA,EAEA,MAAc,qBAAyD;AACrE,UAAM,WAAO,wBAAS,KAAK,OAAO,MAAM,6BAA6B;AACrE,UAAM,aAAa,MAAM,KAAK,eAAe,IAAI;AACjD,UAAM,SAAS,IAAI,WAAW,UAAU;AACxC,UAAM,WAAO,WAAAA,SAAM,QAAQ,EAAE,OAAO,MAAM,EAAE,OAAO,KAAK,EAAE,SAAS,IAAI,GAAG;AAE1E,WAAO;AAAA,MACL;AAAA,QACE;AAAA,QACA,QAAQ,WAAW;AAAA,QACnB,MAAM;AAAA,UACJ,MAAM,KAAK;AAAA,UACX,MAAM,KAAK;AAAA,QACb;AAAA,QACA,UAAU,KAAK;AAAA,QACf,QAAQ;AAAA,QACR,KAAK,KAAK,OAAO,YAAY,aAAa,gBAAgB,UAAU,IAAI,KAAK;AAAA,MAC/E;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;;;AK9DA,2BAA+C;AAoBxC,IAAM,oBAAgB,4CAAmC,UAAU;;;ACpB1E,IAAAC,wBAAiC;AACjC,+BAA8C;AAKvC,IAAM,oBAAoB,UAC/B;AAAA,EACE,EAAE,UAAU,EAAE,CAAC,UAAU,GAAG,EAAE,GAAG,QAAQ,uCAAiB;AAAA,EAC1D;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,YAAM,SAAS,MAAM,mBAAmB,OAAO,MAAM;AACrD,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":["shajs","import_payload_model"]}
|
package/dist/node/index.d.cts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACjF,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACjF,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
|
package/dist/node/index.d.mts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACjF,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACjF,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
|
package/dist/node/index.d.ts
CHANGED
package/dist/node/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACjF,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACjF,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA"}
|
package/dist/node/index.js
CHANGED
|
@@ -30,7 +30,8 @@ var BrowserFileWitness = class extends FileWitness {
|
|
|
30
30
|
async observeHandler() {
|
|
31
31
|
try {
|
|
32
32
|
const [payload] = await this.witnessBrowserFile();
|
|
33
|
-
|
|
33
|
+
const { logger } = this.params;
|
|
34
|
+
logger == null ? void 0 : logger.log(`BrowserFileWitness: ${await PayloadBuilder.dataHash(payload)}`);
|
|
34
35
|
return [payload];
|
|
35
36
|
} catch (e) {
|
|
36
37
|
throw new Error(`Error reading file: ${e}`);
|
|
@@ -70,6 +71,10 @@ var BrowserFileWitness = class extends FileWitness {
|
|
|
70
71
|
}
|
|
71
72
|
};
|
|
72
73
|
|
|
74
|
+
// src/Payload.ts
|
|
75
|
+
import { isPayloadOfSchemaType } from "@xyo-network/payload-model";
|
|
76
|
+
var isFilePayload = isPayloadOfSchemaType(FileSchema);
|
|
77
|
+
|
|
73
78
|
// src/PluginBrowser.ts
|
|
74
79
|
import { PayloadSetSchema } from "@xyo-network/payload-model";
|
|
75
80
|
import { createPayloadSetWitnessPlugin } from "@xyo-network/payloadset-plugin";
|
|
@@ -88,6 +93,7 @@ export {
|
|
|
88
93
|
FileSchema,
|
|
89
94
|
FileWitness,
|
|
90
95
|
FileWitnessConfigSchema,
|
|
91
|
-
BrowserFilePlugin as default
|
|
96
|
+
BrowserFilePlugin as default,
|
|
97
|
+
isFilePayload
|
|
92
98
|
};
|
|
93
99
|
//# sourceMappingURL=index.js.map
|
package/dist/node/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/BrowserFileWitness.ts","../../src/Config.ts","../../src/Schema.ts","../../src/util/GenerateDataUri.ts","../../src/Witness.ts","../../src/PluginBrowser.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport shajs from 'sha.js'\n\nimport { FileWitnessConfigSchema } from './Config'\nimport { BrowserFileWitnessAdditionalParams } from './Params'\nimport { FilePayload } from './Payload'\nimport { FileSchema } from './Schema'\nimport { generateDataUri } from './util'\nimport { FileWitness, FileWitnessParams } from './Witness'\n\ntype BrowserFileWitnessParams = FileWitnessParams & BrowserFileWitnessAdditionalParams\n\nexport class BrowserFileWitness extends FileWitness<BrowserFileWitnessParams> {\n static override configSchemas = [FileWitnessConfigSchema]\n\n protected override async observeHandler() {\n try {\n const [payload] = await this.witnessBrowserFile()\n
|
|
1
|
+
{"version":3,"sources":["../../src/BrowserFileWitness.ts","../../src/Config.ts","../../src/Schema.ts","../../src/util/GenerateDataUri.ts","../../src/Witness.ts","../../src/Payload.ts","../../src/PluginBrowser.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport shajs from 'sha.js'\n\nimport { FileWitnessConfigSchema } from './Config'\nimport { BrowserFileWitnessAdditionalParams } from './Params'\nimport { FilePayload } from './Payload'\nimport { FileSchema } from './Schema'\nimport { generateDataUri } from './util'\nimport { FileWitness, FileWitnessParams } from './Witness'\n\ntype BrowserFileWitnessParams = FileWitnessParams & BrowserFileWitnessAdditionalParams\n\nexport class BrowserFileWitness extends FileWitness<BrowserFileWitnessParams> {\n static override configSchemas = [FileWitnessConfigSchema]\n\n protected override async observeHandler() {\n try {\n const [payload] = await this.witnessBrowserFile()\n const { logger } = this.params\n logger?.log(`BrowserFileWitness: ${await PayloadBuilder.dataHash(payload)}`)\n return [payload]\n } catch (e) {\n throw new Error(`Error reading file: ${e}`)\n }\n }\n\n private readBinaryFile(file: File): Promise<Uint8Array> {\n return new Promise((resolve, reject) => {\n const fileReader = new FileReader()\n fileReader.addEventListener('load', (event) => {\n const arrayBuffer = event.target?.result as ArrayBuffer\n resolve(new Uint8Array(arrayBuffer))\n })\n // eslint-disable-next-line unicorn/prefer-add-event-listener\n fileReader.onerror = () => reject(fileReader.error)\n // eslint-disable-next-line unicorn/prefer-blob-reading-methods\n fileReader.readAsArrayBuffer(file)\n })\n }\n\n private async witnessBrowserFile(): Promise<[FilePayload, Uint8Array]> {\n const file = assertEx(this.params.file, 'File is missing from params')\n const fileBinary = await this.readBinaryFile(file)\n const result = new Uint8Array(fileBinary)\n const hash = shajs('sha256').update(result).digest('hex').padStart(64, '0')\n\n return [\n {\n hash,\n length: fileBinary.byteLength,\n meta: {\n name: file.name,\n type: file.type,\n },\n modified: file.lastModified,\n schema: FileSchema,\n uri: this.config.storage === 'data-uri' ? generateDataUri(fileBinary) : file.name,\n },\n fileBinary,\n ]\n }\n}\n","import { WitnessConfig } from '@xyo-network/witness-model'\n\nexport type FileWitnessConfigSchema = 'network.xyo.file.witness.config'\nexport const FileWitnessConfigSchema: FileWitnessConfigSchema = 'network.xyo.file.witness.config'\n\nexport type FileWitnessConfig = WitnessConfig<{\n schema: FileWitnessConfigSchema\n storage?: 'data-uri'\n}>\n","export type FileSchema = 'network.xyo.file'\nexport const FileSchema: FileSchema = 'network.xyo.file'\n","import { base64 } from '@scure/base'\n\nexport const generateDataUri = (data: Uint8Array): string => {\n return `data:application/octet-stream;base64,${base64.encode(data)}`\n}\n","import { Promisable } from '@xylabs/promise'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { AnyConfigSchema } from '@xyo-network/module-model'\nimport { Payload } from '@xyo-network/payload-model'\nimport { WitnessModule, WitnessParams } from '@xyo-network/witness-model'\n\nimport { FileWitnessConfig, FileWitnessConfigSchema } from './Config'\nimport { FileSchema } from './Schema'\n\nexport type FileWitnessParams = WitnessParams<AnyConfigSchema<FileWitnessConfig>>\n\n// Abstract so that derived classes provide a type for the file param and methods to parse it\nexport abstract class FileWitness<TParams extends FileWitnessParams = FileWitnessParams> extends AbstractWitness<TParams> implements WitnessModule {\n static override configSchemas = [FileWitnessConfigSchema]\n\n protected override observeHandler(payloads?: Payload[]): Promisable<Payload[]> {\n return [{ ...payloads?.[0], schema: FileSchema }]\n }\n}\n","import { isPayloadOfSchemaType, Payload } from '@xyo-network/payload-model'\n\nimport { FileSchema } from './Schema'\n\nexport type BinaryDataHash = string\n\n/** @description File location and optional data */\nexport type FilePayload = Payload<\n {\n created?: number\n hash: BinaryDataHash\n length: number\n /** @field Storage specific meta data */\n meta?: Record<string, string | number>\n modified?: number\n uri: string\n },\n FileSchema\n>\n\nexport const isFilePayload = isPayloadOfSchemaType<FilePayload>(FileSchema)\n","import { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { BrowserFileWitness } from './BrowserFileWitness'\nimport { FileSchema } from './Schema'\n\nexport const BrowserFilePlugin = () =>\n createPayloadSetWitnessPlugin<BrowserFileWitness>(\n { required: { [FileSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await BrowserFileWitness.create(params)\n return result\n },\n },\n )\n"],"mappings":";AAAA,SAAS,gBAAgB;AACzB,SAAS,sBAAsB;AAC/B,OAAO,WAAW;;;ACCX,IAAM,0BAAmD;;;ACFzD,IAAM,aAAyB;;;ACDtC,SAAS,cAAc;AAEhB,IAAM,kBAAkB,CAAC,SAA6B;AAC3D,SAAO,wCAAwC,OAAO,OAAO,IAAI,CAAC;AACpE;;;ACHA,SAAS,uBAAuB;AAWzB,IAAe,cAAf,cAA0F,gBAAkD;AAAA,EACjJ,OAAgB,gBAAgB,CAAC,uBAAuB;AAAA,EAErC,eAAe,UAA6C;AAC7E,WAAO,CAAC,EAAE,GAAG,qCAAW,IAAI,QAAQ,WAAW,CAAC;AAAA,EAClD;AACF;;;AJLO,IAAM,qBAAN,cAAiC,YAAsC;AAAA,EAC5E,OAAgB,gBAAgB,CAAC,uBAAuB;AAAA,EAExD,MAAyB,iBAAiB;AACxC,QAAI;AACF,YAAM,CAAC,OAAO,IAAI,MAAM,KAAK,mBAAmB;AAChD,YAAM,EAAE,OAAO,IAAI,KAAK;AACxB,uCAAQ,IAAI,uBAAuB,MAAM,eAAe,SAAS,OAAO,CAAC;AACzE,aAAO,CAAC,OAAO;AAAA,IACjB,SAAS,GAAG;AACV,YAAM,IAAI,MAAM,uBAAuB,CAAC,EAAE;AAAA,IAC5C;AAAA,EACF;AAAA,EAEQ,eAAe,MAAiC;AACtD,WAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,YAAM,aAAa,IAAI,WAAW;AAClC,iBAAW,iBAAiB,QAAQ,CAAC,UAAU;AA9BrD;AA+BQ,cAAM,eAAc,WAAM,WAAN,mBAAc;AAClC,gBAAQ,IAAI,WAAW,WAAW,CAAC;AAAA,MACrC,CAAC;AAED,iBAAW,UAAU,MAAM,OAAO,WAAW,KAAK;AAElD,iBAAW,kBAAkB,IAAI;AAAA,IACnC,CAAC;AAAA,EACH;AAAA,EAEA,MAAc,qBAAyD;AACrE,UAAM,OAAO,SAAS,KAAK,OAAO,MAAM,6BAA6B;AACrE,UAAM,aAAa,MAAM,KAAK,eAAe,IAAI;AACjD,UAAM,SAAS,IAAI,WAAW,UAAU;AACxC,UAAM,OAAO,MAAM,QAAQ,EAAE,OAAO,MAAM,EAAE,OAAO,KAAK,EAAE,SAAS,IAAI,GAAG;AAE1E,WAAO;AAAA,MACL;AAAA,QACE;AAAA,QACA,QAAQ,WAAW;AAAA,QACnB,MAAM;AAAA,UACJ,MAAM,KAAK;AAAA,UACX,MAAM,KAAK;AAAA,QACb;AAAA,QACA,UAAU,KAAK;AAAA,QACf,QAAQ;AAAA,QACR,KAAK,KAAK,OAAO,YAAY,aAAa,gBAAgB,UAAU,IAAI,KAAK;AAAA,MAC/E;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;;;AK9DA,SAAS,6BAAsC;AAoBxC,IAAM,gBAAgB,sBAAmC,UAAU;;;ACpB1E,SAAS,wBAAwB;AACjC,SAAS,qCAAqC;AAKvC,IAAM,oBAAoB,MAC/B;AAAA,EACE,EAAE,UAAU,EAAE,CAAC,UAAU,GAAG,EAAE,GAAG,QAAQ,iBAAiB;AAAA,EAC1D;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,YAAM,SAAS,MAAM,mBAAmB,OAAO,MAAM;AACrD,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":[]}
|
package/package.json
CHANGED
|
@@ -11,20 +11,20 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@scure/base": "^1.1.5",
|
|
14
|
-
"@xylabs/assert": "^2.14.
|
|
15
|
-
"@xylabs/promise": "^2.14.
|
|
16
|
-
"@xyo-network/abstract-witness": "^2.90.
|
|
17
|
-
"@xyo-network/module-model": "^2.90.
|
|
18
|
-
"@xyo-network/payload-builder": "^2.90.
|
|
19
|
-
"@xyo-network/payload-model": "^2.90.
|
|
20
|
-
"@xyo-network/payloadset-plugin": "^2.90.
|
|
21
|
-
"@xyo-network/witness-model": "^2.90.
|
|
14
|
+
"@xylabs/assert": "^2.14.1",
|
|
15
|
+
"@xylabs/promise": "^2.14.1",
|
|
16
|
+
"@xyo-network/abstract-witness": "^2.90.10",
|
|
17
|
+
"@xyo-network/module-model": "^2.90.10",
|
|
18
|
+
"@xyo-network/payload-builder": "^2.90.10",
|
|
19
|
+
"@xyo-network/payload-model": "^2.90.10",
|
|
20
|
+
"@xyo-network/payloadset-plugin": "^2.90.10",
|
|
21
|
+
"@xyo-network/witness-model": "^2.90.10",
|
|
22
22
|
"sha.js": "^2.4.11"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"@xylabs/ts-scripts-yarn3": "^3.2.42",
|
|
26
26
|
"@xylabs/tsconfig": "^3.2.42",
|
|
27
|
-
"@xyo-network/account": "^2.90.
|
|
27
|
+
"@xyo-network/account": "^2.90.10",
|
|
28
28
|
"typescript": "^5.3.3"
|
|
29
29
|
},
|
|
30
30
|
"description": "Typescript/Javascript Plugins for XYO Platform",
|
|
@@ -66,6 +66,6 @@
|
|
|
66
66
|
"url": "https://github.com/XYOracleNetwork/plugins.git"
|
|
67
67
|
},
|
|
68
68
|
"sideEffects": false,
|
|
69
|
-
"version": "2.87.
|
|
69
|
+
"version": "2.87.7",
|
|
70
70
|
"type": "module"
|
|
71
71
|
}
|
|
@@ -17,7 +17,8 @@ export class BrowserFileWitness extends FileWitness<BrowserFileWitnessParams> {
|
|
|
17
17
|
protected override async observeHandler() {
|
|
18
18
|
try {
|
|
19
19
|
const [payload] = await this.witnessBrowserFile()
|
|
20
|
-
|
|
20
|
+
const { logger } = this.params
|
|
21
|
+
logger?.log(`BrowserFileWitness: ${await PayloadBuilder.dataHash(payload)}`)
|
|
21
22
|
return [payload]
|
|
22
23
|
} catch (e) {
|
|
23
24
|
throw new Error(`Error reading file: ${e}`)
|
package/src/index.ts
CHANGED