@xyo-network/core 2.81.10 → 2.81.12

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Data.d.ts","sourceRoot":"","sources":["../../../src/Data/Data.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGrC,qBAAa,IAAK,SAAQ,YAAY;IACpC,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ;gBAChC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAOxD,IAAI,MAAM,WAGT;IAED,IAAI,KAAK,gBAER;IAED,IAAI,GAAG,WAGN;IAED,IAAI,SAAS,eAGZ;IAED,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS;IAItC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAUvC,OAAO,CAAC,WAAW;CAGpB"}
1
+ {"version":3,"file":"Data.d.ts","sourceRoot":"","sources":["../../../src/Data/Data.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGrC,qBAAa,IAAK,SAAQ,YAAY;IACpC,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ;gBAChC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAOxD,IAAI,MAAM,WAGT;IAED,IAAI,KAAK,gBAER;IAED,IAAI,GAAG,WAGN;IAED,IAAI,SAAS,eAGZ;IAED,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS;IAItC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAUvC,OAAO,CAAC,WAAW;CAGpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Data.d.ts","sourceRoot":"","sources":["../../../src/Data/Data.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGrC,qBAAa,IAAK,SAAQ,YAAY;IACpC,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ;gBAChC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAOxD,IAAI,MAAM,WAGT;IAED,IAAI,KAAK,gBAER;IAED,IAAI,GAAG,WAGN;IAED,IAAI,SAAS,eAGZ;IAED,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS;IAItC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAUvC,OAAO,CAAC,WAAW;CAGpB"}
1
+ {"version":3,"file":"Data.d.ts","sourceRoot":"","sources":["../../../src/Data/Data.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGrC,qBAAa,IAAK,SAAQ,YAAY;IACpC,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ;gBAChC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAOxD,IAAI,MAAM,WAGT;IAED,IAAI,KAAK,gBAER;IAED,IAAI,GAAG,WAGN;IAED,IAAI,SAAS,eAGZ;IAED,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS;IAItC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAUvC,OAAO,CAAC,WAAW;CAGpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Data.d.ts","sourceRoot":"","sources":["../../../src/Data/Data.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGrC,qBAAa,IAAK,SAAQ,YAAY;IACpC,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ;gBAChC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAOxD,IAAI,MAAM,WAGT;IAED,IAAI,KAAK,gBAER;IAED,IAAI,GAAG,WAGN;IAED,IAAI,SAAS,eAGZ;IAED,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS;IAItC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAUvC,OAAO,CAAC,WAAW;CAGpB"}
1
+ {"version":3,"file":"Data.d.ts","sourceRoot":"","sources":["../../../src/Data/Data.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGrC,qBAAa,IAAK,SAAQ,YAAY;IACpC,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ;gBAChC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAOxD,IAAI,MAAM,WAGT;IAED,IAAI,KAAK,gBAER;IAED,IAAI,GAAG,WAGN;IAED,IAAI,SAAS,eAGZ;IAED,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS;IAItC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAUvC,OAAO,CAAC,WAAW;CAGpB"}
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
6
  var __export = (target, all) => {
9
7
  for (var name in all)
@@ -18,14 +16,6 @@ var __copyProps = (to, from, except, desc) => {
18
16
  return to;
19
17
  };
20
18
  var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
21
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
- // If the importer is in node compatibility mode or this is not an ESM
23
- // file that has been converted to a CommonJS file using a Babel-
24
- // compatible transform (i.e. "__esModule" has not been set), then set
25
- // "default" to the CommonJS "module.exports" for node compatibility.
26
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
- mod
28
- ));
29
19
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
20
 
31
21
  // src/index.ts
@@ -55,8 +45,9 @@ var AbstractData = class _AbstractData {
55
45
 
56
46
  // src/Data/Data.ts
57
47
  var import_base2 = require("@scure/base");
48
+ var import_arraybuffer = require("@xylabs/arraybuffer");
58
49
  var import_assert2 = require("@xylabs/assert");
59
- var import_keccak256 = __toESM(require("keccak256"), 1);
50
+ var import_ethers = require("ethers");
60
51
 
61
52
  // src/Data/toUint8Array.ts
62
53
  var import_base = require("@scure/base");
@@ -111,7 +102,7 @@ var Data = class _Data extends AbstractData {
111
102
  }
112
103
  get keccak256() {
113
104
  this.checkLength();
114
- return new Uint8Array((0, import_keccak256.default)(new Buffer(this.bytes)));
105
+ return (0, import_arraybuffer.toArrayBuffer)((0, import_ethers.keccak256)(new Uint8Array(this.bytes)));
115
106
  }
116
107
  static from(data) {
117
108
  return data ? new _Data(_Data.lengthOf(data), data) : void 0;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/Data/AbstractData.ts","../../src/Data/Data.ts","../../src/Data/toUint8Array.ts","../../src/lib/Base.ts","../../src/lib/dumpErrors.ts","../../src/lib/isBrowser.ts","../../src/lib/uuid.ts","../../src/lib/Validator.ts"],"sourcesContent":["export * from './Data'\nexport * from './lib'\nexport * from '@xyo-network/address'\nexport * from '@xyo-network/hash'\nexport * from '@xyo-network/object'\nexport * from '@xyo-network/wasm'\n","export abstract class AbstractData {\n get length() {\n return this.bytes.byteLength\n }\n\n abstract get bytes(): ArrayBuffer\n\n abstract get hex(): string\n\n abstract get keccak256(): ArrayBuffer\n\n static is(value: unknown): value is AbstractData {\n return value instanceof AbstractData\n }\n}\n","/* eslint-disable import/no-deprecated */\nimport { base16, base58 } from '@scure/base'\nimport { assertEx } from '@xylabs/assert'\nimport keccak256 from 'keccak256'\n\nimport { AbstractData } from './AbstractData'\nimport { DataLike } from './DataLike'\nimport { toUint8ArrayOptional } from './toUint8Array'\n\nexport class Data extends AbstractData {\n private _bytes?: ArrayBuffer\n private _length: number\n\n constructor(length: number, bytes?: DataLike)\n constructor(length: number, bytes: string, base?: number)\n constructor(length: number, bytes?: DataLike, base?: number) {\n super()\n this._bytes = toUint8ArrayOptional(bytes, length, base)\n this._length = length\n }\n\n get base58() {\n this.checkLength()\n return base58.encode(new Uint8Array(this.bytes))\n }\n\n get bytes() {\n return assertEx(this._bytes, 'Data uninitialized')\n }\n\n get hex() {\n this.checkLength()\n return base16.encode(new Uint8Array(this.bytes)).toLowerCase()\n }\n\n get keccak256() {\n this.checkLength()\n return new Uint8Array(keccak256(new Buffer(this.bytes)))\n }\n\n static from(data: DataLike | undefined) {\n return data ? new Data(Data.lengthOf(data), data) : undefined\n }\n\n static lengthOf(data: DataLike): number {\n if (typeof data === 'string') {\n return data.length / 2\n } else if (data instanceof AbstractData) {\n return data.length\n } else {\n return typeof data.byteLength === 'function' ? data.byteLength : data.byteLength\n }\n }\n\n private checkLength() {\n assertEx(this.bytes.byteLength === this._length, `Length Mismatch: ${this.bytes.byteLength} !== ${this._length}`)\n }\n}\n","import { base16, base58 } from '@scure/base'\nimport { assertEx } from '@xylabs/assert'\nimport { ifTypeOf } from '@xyo-network/typeof'\n\nimport { DataLike } from './DataLike'\n\nconst stringToUint8Array = (value: string, base = 16) => {\n switch (base) {\n case 16:\n return base16.decode((value.startsWith('0x') ? value.slice(2) : value).toUpperCase())\n case 58:\n return base58.decode(value)\n default:\n throw Error(`Unsupported base [${base}]`)\n }\n}\n\n/** @deprecated use ArrayBuffer instead */\nexport const toUint8ArrayOptional = (value?: DataLike, padLength?: number, base?: number): Uint8Array | undefined => {\n return value ? toUint8Array(value, padLength, base) : undefined\n}\n\nexport function toUint8Array(value: undefined, padLength?: number, base?: number): undefined\nexport function toUint8Array(value: DataLike, padLength?: number, base?: number): Uint8Array\nexport function toUint8Array(value: DataLike | undefined, padLength?: number, base?: number): Uint8Array | undefined\nexport function toUint8Array(value?: DataLike, padLength?: number, base?: number): Uint8Array | undefined {\n if (value === undefined) return undefined\n\n let result: Uint8Array | undefined =\n ifTypeOf<string, Uint8Array>('string', value as string, (value) => stringToUint8Array(value, base)) ?? (value as Uint8Array)\n\n if (result === undefined) {\n throw Error(`toUint8Array - Unknown type: ${typeof value}`)\n }\n\n if (padLength && result.length < padLength) {\n result = new Uint8Array([...new Uint8Array(padLength - result.length), ...result])\n assertEx(result?.length <= padLength, 'Resulting length is greater than padLength')\n }\n\n return result\n}\n","import { Logger } from '@xylabs/logger'\nimport { AnyObject } from '@xyo-network/object'\n\nexport type BaseParamsFields = {\n logger?: Logger\n}\n\nexport type BaseParams<TAdditionalParams extends AnyObject | void = void> = TAdditionalParams extends AnyObject\n ? BaseParamsFields & TAdditionalParams\n : BaseParamsFields\n\nexport abstract class Base<TParams extends BaseParams = BaseParams> {\n static defaultLogger?: Logger\n\n constructor(readonly params: TParams) {\n params.logger?.debug(`Base constructed [${Object(this).name}]`)\n }\n\n protected get logger() {\n return this.params?.logger ?? Base.defaultLogger ?? console\n }\n}\n","const dumpErrors = (errors: Error[]) => {\n errors.forEach((error) => {\n console.log(error, null, 2)\n })\n}\n\nexport { dumpErrors }\n","export const isBrowser = () => {\n return typeof process === 'undefined'\n}\n","import { v4 } from 'uuid'\n\nexport const uuid = () => {\n try {\n return v4()\n } catch {\n //generally if no crypto library support\n const bytes: number[] = []\n for (let i = 0; i < 16; i++) {\n bytes.push(Math.floor(Math.random() * 256))\n }\n console.log(`bytes: ${JSON.stringify(bytes)}`)\n return `${bytes[0].toString(16)}${bytes[1].toString(16)}${bytes[2].toString(16)}${bytes[3].toString(16)}-${bytes[4].toString(\n 16,\n )}${bytes[5].toString(16)}-${bytes[6].toString(16)}${bytes[7].toString(16)}-${bytes[8].toString(16)}${bytes[9].toString(16)}-${bytes[10].toString(\n 16,\n )}${bytes[11].toString(16)}${bytes[12].toString(16)}${bytes[13].toString(16)}${bytes[14].toString(16)}${bytes[15].toString(16)}`\n }\n}\n","import { Promisable } from '@xylabs/promise'\nimport { AnyObject, ObjectWrapper } from '@xyo-network/object'\n\nexport interface Validator<T extends AnyObject = AnyObject> {\n validate(payload: T): Promisable<Error[]>\n}\n\nexport abstract class ValidatorBase<T extends AnyObject = AnyObject> extends ObjectWrapper<T> implements Validator<T> {\n abstract validate(payload: T): Promisable<Error[]>\n}\n"],"mappings":"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","names":["import_base","import_assert","value","keccak256"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/Data/AbstractData.ts","../../src/Data/Data.ts","../../src/Data/toUint8Array.ts","../../src/lib/Base.ts","../../src/lib/dumpErrors.ts","../../src/lib/isBrowser.ts","../../src/lib/uuid.ts","../../src/lib/Validator.ts"],"sourcesContent":["export * from './Data'\nexport * from './lib'\nexport * from '@xyo-network/address'\nexport * from '@xyo-network/hash'\nexport * from '@xyo-network/object'\nexport * from '@xyo-network/wasm'\n","export abstract class AbstractData {\n get length() {\n return this.bytes.byteLength\n }\n\n abstract get bytes(): ArrayBuffer\n\n abstract get hex(): string\n\n abstract get keccak256(): ArrayBuffer\n\n static is(value: unknown): value is AbstractData {\n return value instanceof AbstractData\n }\n}\n","/* eslint-disable import/no-deprecated */\nimport { base16, base58 } from '@scure/base'\nimport { toArrayBuffer } from '@xylabs/arraybuffer'\nimport { assertEx } from '@xylabs/assert'\nimport { keccak256 } from 'ethers'\n\nimport { AbstractData } from './AbstractData'\nimport { DataLike } from './DataLike'\nimport { toUint8ArrayOptional } from './toUint8Array'\n\nexport class Data extends AbstractData {\n private _bytes?: ArrayBuffer\n private _length: number\n\n constructor(length: number, bytes?: DataLike)\n constructor(length: number, bytes: string, base?: number)\n constructor(length: number, bytes?: DataLike, base?: number) {\n super()\n this._bytes = toUint8ArrayOptional(bytes, length, base)\n this._length = length\n }\n\n get base58() {\n this.checkLength()\n return base58.encode(new Uint8Array(this.bytes))\n }\n\n get bytes() {\n return assertEx(this._bytes, 'Data uninitialized')\n }\n\n get hex() {\n this.checkLength()\n return base16.encode(new Uint8Array(this.bytes)).toLowerCase()\n }\n\n get keccak256() {\n this.checkLength()\n return toArrayBuffer(keccak256(new Uint8Array(this.bytes)))\n }\n\n static from(data: DataLike | undefined) {\n return data ? new Data(Data.lengthOf(data), data) : undefined\n }\n\n static lengthOf(data: DataLike): number {\n if (typeof data === 'string') {\n return data.length / 2\n } else if (data instanceof AbstractData) {\n return data.length\n } else {\n return typeof data.byteLength === 'function' ? data.byteLength : data.byteLength\n }\n }\n\n private checkLength() {\n assertEx(this.bytes.byteLength === this._length, `Length Mismatch: ${this.bytes.byteLength} !== ${this._length}`)\n }\n}\n","import { base16, base58 } from '@scure/base'\nimport { assertEx } from '@xylabs/assert'\nimport { ifTypeOf } from '@xyo-network/typeof'\n\nimport { DataLike } from './DataLike'\n\nconst stringToUint8Array = (value: string, base = 16) => {\n switch (base) {\n case 16:\n return base16.decode((value.startsWith('0x') ? value.slice(2) : value).toUpperCase())\n case 58:\n return base58.decode(value)\n default:\n throw Error(`Unsupported base [${base}]`)\n }\n}\n\n/** @deprecated use ArrayBuffer instead */\nexport const toUint8ArrayOptional = (value?: DataLike, padLength?: number, base?: number): Uint8Array | undefined => {\n return value ? toUint8Array(value, padLength, base) : undefined\n}\n\nexport function toUint8Array(value: undefined, padLength?: number, base?: number): undefined\nexport function toUint8Array(value: DataLike, padLength?: number, base?: number): Uint8Array\nexport function toUint8Array(value: DataLike | undefined, padLength?: number, base?: number): Uint8Array | undefined\nexport function toUint8Array(value?: DataLike, padLength?: number, base?: number): Uint8Array | undefined {\n if (value === undefined) return undefined\n\n let result: Uint8Array | undefined =\n ifTypeOf<string, Uint8Array>('string', value as string, (value) => stringToUint8Array(value, base)) ?? (value as Uint8Array)\n\n if (result === undefined) {\n throw Error(`toUint8Array - Unknown type: ${typeof value}`)\n }\n\n if (padLength && result.length < padLength) {\n result = new Uint8Array([...new Uint8Array(padLength - result.length), ...result])\n assertEx(result?.length <= padLength, 'Resulting length is greater than padLength')\n }\n\n return result\n}\n","import { Logger } from '@xylabs/logger'\nimport { AnyObject } from '@xyo-network/object'\n\nexport type BaseParamsFields = {\n logger?: Logger\n}\n\nexport type BaseParams<TAdditionalParams extends AnyObject | void = void> = TAdditionalParams extends AnyObject\n ? BaseParamsFields & TAdditionalParams\n : BaseParamsFields\n\nexport abstract class Base<TParams extends BaseParams = BaseParams> {\n static defaultLogger?: Logger\n\n constructor(readonly params: TParams) {\n params.logger?.debug(`Base constructed [${Object(this).name}]`)\n }\n\n protected get logger() {\n return this.params?.logger ?? Base.defaultLogger ?? console\n }\n}\n","const dumpErrors = (errors: Error[]) => {\n errors.forEach((error) => {\n console.log(error, null, 2)\n })\n}\n\nexport { dumpErrors }\n","export const isBrowser = () => {\n return typeof process === 'undefined'\n}\n","import { v4 } from 'uuid'\n\nexport const uuid = () => {\n try {\n return v4()\n } catch {\n //generally if no crypto library support\n const bytes: number[] = []\n for (let i = 0; i < 16; i++) {\n bytes.push(Math.floor(Math.random() * 256))\n }\n console.log(`bytes: ${JSON.stringify(bytes)}`)\n return `${bytes[0].toString(16)}${bytes[1].toString(16)}${bytes[2].toString(16)}${bytes[3].toString(16)}-${bytes[4].toString(\n 16,\n )}${bytes[5].toString(16)}-${bytes[6].toString(16)}${bytes[7].toString(16)}-${bytes[8].toString(16)}${bytes[9].toString(16)}-${bytes[10].toString(\n 16,\n )}${bytes[11].toString(16)}${bytes[12].toString(16)}${bytes[13].toString(16)}${bytes[14].toString(16)}${bytes[15].toString(16)}`\n }\n}\n","import { Promisable } from '@xylabs/promise'\nimport { AnyObject, ObjectWrapper } from '@xyo-network/object'\n\nexport interface Validator<T extends AnyObject = AnyObject> {\n validate(payload: T): Promisable<Error[]>\n}\n\nexport abstract class ValidatorBase<T extends AnyObject = AnyObject> extends ObjectWrapper<T> implements Validator<T> {\n abstract validate(payload: T): Promisable<Error[]>\n}\n"],"mappings":"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","names":["import_base","import_assert","value"]}
@@ -10,8 +10,9 @@ var AbstractData = class _AbstractData {
10
10
 
11
11
  // src/Data/Data.ts
12
12
  import { base16 as base162, base58 as base582 } from "@scure/base";
13
+ import { toArrayBuffer } from "@xylabs/arraybuffer";
13
14
  import { assertEx as assertEx2 } from "@xylabs/assert";
14
- import keccak256 from "keccak256";
15
+ import { keccak256 } from "ethers";
15
16
 
16
17
  // src/Data/toUint8Array.ts
17
18
  import { base16, base58 } from "@scure/base";
@@ -66,7 +67,7 @@ var Data = class _Data extends AbstractData {
66
67
  }
67
68
  get keccak256() {
68
69
  this.checkLength();
69
- return new Uint8Array(keccak256(new Buffer(this.bytes)));
70
+ return toArrayBuffer(keccak256(new Uint8Array(this.bytes)));
70
71
  }
71
72
  static from(data) {
72
73
  return data ? new _Data(_Data.lengthOf(data), data) : void 0;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Data/AbstractData.ts","../../src/Data/Data.ts","../../src/Data/toUint8Array.ts","../../src/lib/Base.ts","../../src/lib/dumpErrors.ts","../../src/lib/isBrowser.ts","../../src/lib/uuid.ts","../../src/lib/Validator.ts","../../src/index.ts"],"sourcesContent":["export abstract class AbstractData {\n get length() {\n return this.bytes.byteLength\n }\n\n abstract get bytes(): ArrayBuffer\n\n abstract get hex(): string\n\n abstract get keccak256(): ArrayBuffer\n\n static is(value: unknown): value is AbstractData {\n return value instanceof AbstractData\n }\n}\n","/* eslint-disable import/no-deprecated */\nimport { base16, base58 } from '@scure/base'\nimport { assertEx } from '@xylabs/assert'\nimport keccak256 from 'keccak256'\n\nimport { AbstractData } from './AbstractData'\nimport { DataLike } from './DataLike'\nimport { toUint8ArrayOptional } from './toUint8Array'\n\nexport class Data extends AbstractData {\n private _bytes?: ArrayBuffer\n private _length: number\n\n constructor(length: number, bytes?: DataLike)\n constructor(length: number, bytes: string, base?: number)\n constructor(length: number, bytes?: DataLike, base?: number) {\n super()\n this._bytes = toUint8ArrayOptional(bytes, length, base)\n this._length = length\n }\n\n get base58() {\n this.checkLength()\n return base58.encode(new Uint8Array(this.bytes))\n }\n\n get bytes() {\n return assertEx(this._bytes, 'Data uninitialized')\n }\n\n get hex() {\n this.checkLength()\n return base16.encode(new Uint8Array(this.bytes)).toLowerCase()\n }\n\n get keccak256() {\n this.checkLength()\n return new Uint8Array(keccak256(new Buffer(this.bytes)))\n }\n\n static from(data: DataLike | undefined) {\n return data ? new Data(Data.lengthOf(data), data) : undefined\n }\n\n static lengthOf(data: DataLike): number {\n if (typeof data === 'string') {\n return data.length / 2\n } else if (data instanceof AbstractData) {\n return data.length\n } else {\n return typeof data.byteLength === 'function' ? data.byteLength : data.byteLength\n }\n }\n\n private checkLength() {\n assertEx(this.bytes.byteLength === this._length, `Length Mismatch: ${this.bytes.byteLength} !== ${this._length}`)\n }\n}\n","import { base16, base58 } from '@scure/base'\nimport { assertEx } from '@xylabs/assert'\nimport { ifTypeOf } from '@xyo-network/typeof'\n\nimport { DataLike } from './DataLike'\n\nconst stringToUint8Array = (value: string, base = 16) => {\n switch (base) {\n case 16:\n return base16.decode((value.startsWith('0x') ? value.slice(2) : value).toUpperCase())\n case 58:\n return base58.decode(value)\n default:\n throw Error(`Unsupported base [${base}]`)\n }\n}\n\n/** @deprecated use ArrayBuffer instead */\nexport const toUint8ArrayOptional = (value?: DataLike, padLength?: number, base?: number): Uint8Array | undefined => {\n return value ? toUint8Array(value, padLength, base) : undefined\n}\n\nexport function toUint8Array(value: undefined, padLength?: number, base?: number): undefined\nexport function toUint8Array(value: DataLike, padLength?: number, base?: number): Uint8Array\nexport function toUint8Array(value: DataLike | undefined, padLength?: number, base?: number): Uint8Array | undefined\nexport function toUint8Array(value?: DataLike, padLength?: number, base?: number): Uint8Array | undefined {\n if (value === undefined) return undefined\n\n let result: Uint8Array | undefined =\n ifTypeOf<string, Uint8Array>('string', value as string, (value) => stringToUint8Array(value, base)) ?? (value as Uint8Array)\n\n if (result === undefined) {\n throw Error(`toUint8Array - Unknown type: ${typeof value}`)\n }\n\n if (padLength && result.length < padLength) {\n result = new Uint8Array([...new Uint8Array(padLength - result.length), ...result])\n assertEx(result?.length <= padLength, 'Resulting length is greater than padLength')\n }\n\n return result\n}\n","import { Logger } from '@xylabs/logger'\nimport { AnyObject } from '@xyo-network/object'\n\nexport type BaseParamsFields = {\n logger?: Logger\n}\n\nexport type BaseParams<TAdditionalParams extends AnyObject | void = void> = TAdditionalParams extends AnyObject\n ? BaseParamsFields & TAdditionalParams\n : BaseParamsFields\n\nexport abstract class Base<TParams extends BaseParams = BaseParams> {\n static defaultLogger?: Logger\n\n constructor(readonly params: TParams) {\n params.logger?.debug(`Base constructed [${Object(this).name}]`)\n }\n\n protected get logger() {\n return this.params?.logger ?? Base.defaultLogger ?? console\n }\n}\n","const dumpErrors = (errors: Error[]) => {\n errors.forEach((error) => {\n console.log(error, null, 2)\n })\n}\n\nexport { dumpErrors }\n","export const isBrowser = () => {\n return typeof process === 'undefined'\n}\n","import { v4 } from 'uuid'\n\nexport const uuid = () => {\n try {\n return v4()\n } catch {\n //generally if no crypto library support\n const bytes: number[] = []\n for (let i = 0; i < 16; i++) {\n bytes.push(Math.floor(Math.random() * 256))\n }\n console.log(`bytes: ${JSON.stringify(bytes)}`)\n return `${bytes[0].toString(16)}${bytes[1].toString(16)}${bytes[2].toString(16)}${bytes[3].toString(16)}-${bytes[4].toString(\n 16,\n )}${bytes[5].toString(16)}-${bytes[6].toString(16)}${bytes[7].toString(16)}-${bytes[8].toString(16)}${bytes[9].toString(16)}-${bytes[10].toString(\n 16,\n )}${bytes[11].toString(16)}${bytes[12].toString(16)}${bytes[13].toString(16)}${bytes[14].toString(16)}${bytes[15].toString(16)}`\n }\n}\n","import { Promisable } from '@xylabs/promise'\nimport { AnyObject, ObjectWrapper } from '@xyo-network/object'\n\nexport interface Validator<T extends AnyObject = AnyObject> {\n validate(payload: T): Promisable<Error[]>\n}\n\nexport abstract class ValidatorBase<T extends AnyObject = AnyObject> extends ObjectWrapper<T> implements Validator<T> {\n abstract validate(payload: T): Promisable<Error[]>\n}\n","export * from './Data'\nexport * from './lib'\nexport * from '@xyo-network/address'\nexport * from '@xyo-network/hash'\nexport * from '@xyo-network/object'\nexport * from '@xyo-network/wasm'\n"],"mappings":"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","names":["base16","base58","assertEx","value","base58","assertEx","base16"]}
1
+ {"version":3,"sources":["../../src/Data/AbstractData.ts","../../src/Data/Data.ts","../../src/Data/toUint8Array.ts","../../src/lib/Base.ts","../../src/lib/dumpErrors.ts","../../src/lib/isBrowser.ts","../../src/lib/uuid.ts","../../src/lib/Validator.ts","../../src/index.ts"],"sourcesContent":["export abstract class AbstractData {\n get length() {\n return this.bytes.byteLength\n }\n\n abstract get bytes(): ArrayBuffer\n\n abstract get hex(): string\n\n abstract get keccak256(): ArrayBuffer\n\n static is(value: unknown): value is AbstractData {\n return value instanceof AbstractData\n }\n}\n","/* eslint-disable import/no-deprecated */\nimport { base16, base58 } from '@scure/base'\nimport { toArrayBuffer } from '@xylabs/arraybuffer'\nimport { assertEx } from '@xylabs/assert'\nimport { keccak256 } from 'ethers'\n\nimport { AbstractData } from './AbstractData'\nimport { DataLike } from './DataLike'\nimport { toUint8ArrayOptional } from './toUint8Array'\n\nexport class Data extends AbstractData {\n private _bytes?: ArrayBuffer\n private _length: number\n\n constructor(length: number, bytes?: DataLike)\n constructor(length: number, bytes: string, base?: number)\n constructor(length: number, bytes?: DataLike, base?: number) {\n super()\n this._bytes = toUint8ArrayOptional(bytes, length, base)\n this._length = length\n }\n\n get base58() {\n this.checkLength()\n return base58.encode(new Uint8Array(this.bytes))\n }\n\n get bytes() {\n return assertEx(this._bytes, 'Data uninitialized')\n }\n\n get hex() {\n this.checkLength()\n return base16.encode(new Uint8Array(this.bytes)).toLowerCase()\n }\n\n get keccak256() {\n this.checkLength()\n return toArrayBuffer(keccak256(new Uint8Array(this.bytes)))\n }\n\n static from(data: DataLike | undefined) {\n return data ? new Data(Data.lengthOf(data), data) : undefined\n }\n\n static lengthOf(data: DataLike): number {\n if (typeof data === 'string') {\n return data.length / 2\n } else if (data instanceof AbstractData) {\n return data.length\n } else {\n return typeof data.byteLength === 'function' ? data.byteLength : data.byteLength\n }\n }\n\n private checkLength() {\n assertEx(this.bytes.byteLength === this._length, `Length Mismatch: ${this.bytes.byteLength} !== ${this._length}`)\n }\n}\n","import { base16, base58 } from '@scure/base'\nimport { assertEx } from '@xylabs/assert'\nimport { ifTypeOf } from '@xyo-network/typeof'\n\nimport { DataLike } from './DataLike'\n\nconst stringToUint8Array = (value: string, base = 16) => {\n switch (base) {\n case 16:\n return base16.decode((value.startsWith('0x') ? value.slice(2) : value).toUpperCase())\n case 58:\n return base58.decode(value)\n default:\n throw Error(`Unsupported base [${base}]`)\n }\n}\n\n/** @deprecated use ArrayBuffer instead */\nexport const toUint8ArrayOptional = (value?: DataLike, padLength?: number, base?: number): Uint8Array | undefined => {\n return value ? toUint8Array(value, padLength, base) : undefined\n}\n\nexport function toUint8Array(value: undefined, padLength?: number, base?: number): undefined\nexport function toUint8Array(value: DataLike, padLength?: number, base?: number): Uint8Array\nexport function toUint8Array(value: DataLike | undefined, padLength?: number, base?: number): Uint8Array | undefined\nexport function toUint8Array(value?: DataLike, padLength?: number, base?: number): Uint8Array | undefined {\n if (value === undefined) return undefined\n\n let result: Uint8Array | undefined =\n ifTypeOf<string, Uint8Array>('string', value as string, (value) => stringToUint8Array(value, base)) ?? (value as Uint8Array)\n\n if (result === undefined) {\n throw Error(`toUint8Array - Unknown type: ${typeof value}`)\n }\n\n if (padLength && result.length < padLength) {\n result = new Uint8Array([...new Uint8Array(padLength - result.length), ...result])\n assertEx(result?.length <= padLength, 'Resulting length is greater than padLength')\n }\n\n return result\n}\n","import { Logger } from '@xylabs/logger'\nimport { AnyObject } from '@xyo-network/object'\n\nexport type BaseParamsFields = {\n logger?: Logger\n}\n\nexport type BaseParams<TAdditionalParams extends AnyObject | void = void> = TAdditionalParams extends AnyObject\n ? BaseParamsFields & TAdditionalParams\n : BaseParamsFields\n\nexport abstract class Base<TParams extends BaseParams = BaseParams> {\n static defaultLogger?: Logger\n\n constructor(readonly params: TParams) {\n params.logger?.debug(`Base constructed [${Object(this).name}]`)\n }\n\n protected get logger() {\n return this.params?.logger ?? Base.defaultLogger ?? console\n }\n}\n","const dumpErrors = (errors: Error[]) => {\n errors.forEach((error) => {\n console.log(error, null, 2)\n })\n}\n\nexport { dumpErrors }\n","export const isBrowser = () => {\n return typeof process === 'undefined'\n}\n","import { v4 } from 'uuid'\n\nexport const uuid = () => {\n try {\n return v4()\n } catch {\n //generally if no crypto library support\n const bytes: number[] = []\n for (let i = 0; i < 16; i++) {\n bytes.push(Math.floor(Math.random() * 256))\n }\n console.log(`bytes: ${JSON.stringify(bytes)}`)\n return `${bytes[0].toString(16)}${bytes[1].toString(16)}${bytes[2].toString(16)}${bytes[3].toString(16)}-${bytes[4].toString(\n 16,\n )}${bytes[5].toString(16)}-${bytes[6].toString(16)}${bytes[7].toString(16)}-${bytes[8].toString(16)}${bytes[9].toString(16)}-${bytes[10].toString(\n 16,\n )}${bytes[11].toString(16)}${bytes[12].toString(16)}${bytes[13].toString(16)}${bytes[14].toString(16)}${bytes[15].toString(16)}`\n }\n}\n","import { Promisable } from '@xylabs/promise'\nimport { AnyObject, ObjectWrapper } from '@xyo-network/object'\n\nexport interface Validator<T extends AnyObject = AnyObject> {\n validate(payload: T): Promisable<Error[]>\n}\n\nexport abstract class ValidatorBase<T extends AnyObject = AnyObject> extends ObjectWrapper<T> implements Validator<T> {\n abstract validate(payload: T): Promisable<Error[]>\n}\n","export * from './Data'\nexport * from './lib'\nexport * from '@xyo-network/address'\nexport * from '@xyo-network/hash'\nexport * from '@xyo-network/object'\nexport * from '@xyo-network/wasm'\n"],"mappings":"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","names":["base16","base58","assertEx","value","base58","assertEx","base16"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Data.d.ts","sourceRoot":"","sources":["../../../src/Data/Data.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGrC,qBAAa,IAAK,SAAQ,YAAY;IACpC,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ;gBAChC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAOxD,IAAI,MAAM,WAGT;IAED,IAAI,KAAK,gBAER;IAED,IAAI,GAAG,WAGN;IAED,IAAI,SAAS,eAGZ;IAED,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS;IAItC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAUvC,OAAO,CAAC,WAAW;CAGpB"}
1
+ {"version":3,"file":"Data.d.ts","sourceRoot":"","sources":["../../../src/Data/Data.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGrC,qBAAa,IAAK,SAAQ,YAAY;IACpC,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ;gBAChC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAOxD,IAAI,MAAM,WAGT;IAED,IAAI,KAAK,gBAER;IAED,IAAI,GAAG,WAGN;IAED,IAAI,SAAS,eAGZ;IAED,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS;IAItC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAUvC,OAAO,CAAC,WAAW;CAGpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Data.d.ts","sourceRoot":"","sources":["../../../src/Data/Data.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGrC,qBAAa,IAAK,SAAQ,YAAY;IACpC,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ;gBAChC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAOxD,IAAI,MAAM,WAGT;IAED,IAAI,KAAK,gBAER;IAED,IAAI,GAAG,WAGN;IAED,IAAI,SAAS,eAGZ;IAED,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS;IAItC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAUvC,OAAO,CAAC,WAAW;CAGpB"}
1
+ {"version":3,"file":"Data.d.ts","sourceRoot":"","sources":["../../../src/Data/Data.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGrC,qBAAa,IAAK,SAAQ,YAAY;IACpC,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ;gBAChC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAOxD,IAAI,MAAM,WAGT;IAED,IAAI,KAAK,gBAER;IAED,IAAI,GAAG,WAGN;IAED,IAAI,SAAS,eAGZ;IAED,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS;IAItC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAUvC,OAAO,CAAC,WAAW;CAGpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Data.d.ts","sourceRoot":"","sources":["../../../src/Data/Data.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGrC,qBAAa,IAAK,SAAQ,YAAY;IACpC,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ;gBAChC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAOxD,IAAI,MAAM,WAGT;IAED,IAAI,KAAK,gBAER;IAED,IAAI,GAAG,WAGN;IAED,IAAI,SAAS,eAGZ;IAED,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS;IAItC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAUvC,OAAO,CAAC,WAAW;CAGpB"}
1
+ {"version":3,"file":"Data.d.ts","sourceRoot":"","sources":["../../../src/Data/Data.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAGrC,qBAAa,IAAK,SAAQ,YAAY;IACpC,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ;gBAChC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAOxD,IAAI,MAAM,WAGT;IAED,IAAI,KAAK,gBAER;IAED,IAAI,GAAG,WAGN;IAED,IAAI,SAAS,eAGZ;IAED,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS;IAItC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM;IAUvC,OAAO,CAAC,WAAW;CAGpB"}
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
6
  var __export = (target, all) => {
9
7
  for (var name in all)
@@ -18,14 +16,6 @@ var __copyProps = (to, from, except, desc) => {
18
16
  return to;
19
17
  };
20
18
  var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
21
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
- // If the importer is in node compatibility mode or this is not an ESM
23
- // file that has been converted to a CommonJS file using a Babel-
24
- // compatible transform (i.e. "__esModule" has not been set), then set
25
- // "default" to the CommonJS "module.exports" for node compatibility.
26
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
- mod
28
- ));
29
19
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
20
 
31
21
  // src/index.ts
@@ -55,8 +45,9 @@ var AbstractData = class _AbstractData {
55
45
 
56
46
  // src/Data/Data.ts
57
47
  var import_base2 = require("@scure/base");
48
+ var import_arraybuffer = require("@xylabs/arraybuffer");
58
49
  var import_assert2 = require("@xylabs/assert");
59
- var import_keccak256 = __toESM(require("keccak256"), 1);
50
+ var import_ethers = require("ethers");
60
51
 
61
52
  // src/Data/toUint8Array.ts
62
53
  var import_base = require("@scure/base");
@@ -111,7 +102,7 @@ var Data = class _Data extends AbstractData {
111
102
  }
112
103
  get keccak256() {
113
104
  this.checkLength();
114
- return new Uint8Array((0, import_keccak256.default)(new Buffer(this.bytes)));
105
+ return (0, import_arraybuffer.toArrayBuffer)((0, import_ethers.keccak256)(new Uint8Array(this.bytes)));
115
106
  }
116
107
  static from(data) {
117
108
  return data ? new _Data(_Data.lengthOf(data), data) : void 0;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/Data/AbstractData.ts","../../src/Data/Data.ts","../../src/Data/toUint8Array.ts","../../src/lib/Base.ts","../../src/lib/dumpErrors.ts","../../src/lib/isBrowser.ts","../../src/lib/uuid.ts","../../src/lib/Validator.ts"],"sourcesContent":["export * from './Data'\nexport * from './lib'\nexport * from '@xyo-network/address'\nexport * from '@xyo-network/hash'\nexport * from '@xyo-network/object'\nexport * from '@xyo-network/wasm'\n","export abstract class AbstractData {\n get length() {\n return this.bytes.byteLength\n }\n\n abstract get bytes(): ArrayBuffer\n\n abstract get hex(): string\n\n abstract get keccak256(): ArrayBuffer\n\n static is(value: unknown): value is AbstractData {\n return value instanceof AbstractData\n }\n}\n","/* eslint-disable import/no-deprecated */\nimport { base16, base58 } from '@scure/base'\nimport { assertEx } from '@xylabs/assert'\nimport keccak256 from 'keccak256'\n\nimport { AbstractData } from './AbstractData'\nimport { DataLike } from './DataLike'\nimport { toUint8ArrayOptional } from './toUint8Array'\n\nexport class Data extends AbstractData {\n private _bytes?: ArrayBuffer\n private _length: number\n\n constructor(length: number, bytes?: DataLike)\n constructor(length: number, bytes: string, base?: number)\n constructor(length: number, bytes?: DataLike, base?: number) {\n super()\n this._bytes = toUint8ArrayOptional(bytes, length, base)\n this._length = length\n }\n\n get base58() {\n this.checkLength()\n return base58.encode(new Uint8Array(this.bytes))\n }\n\n get bytes() {\n return assertEx(this._bytes, 'Data uninitialized')\n }\n\n get hex() {\n this.checkLength()\n return base16.encode(new Uint8Array(this.bytes)).toLowerCase()\n }\n\n get keccak256() {\n this.checkLength()\n return new Uint8Array(keccak256(new Buffer(this.bytes)))\n }\n\n static from(data: DataLike | undefined) {\n return data ? new Data(Data.lengthOf(data), data) : undefined\n }\n\n static lengthOf(data: DataLike): number {\n if (typeof data === 'string') {\n return data.length / 2\n } else if (data instanceof AbstractData) {\n return data.length\n } else {\n return typeof data.byteLength === 'function' ? data.byteLength : data.byteLength\n }\n }\n\n private checkLength() {\n assertEx(this.bytes.byteLength === this._length, `Length Mismatch: ${this.bytes.byteLength} !== ${this._length}`)\n }\n}\n","import { base16, base58 } from '@scure/base'\nimport { assertEx } from '@xylabs/assert'\nimport { ifTypeOf } from '@xyo-network/typeof'\n\nimport { DataLike } from './DataLike'\n\nconst stringToUint8Array = (value: string, base = 16) => {\n switch (base) {\n case 16:\n return base16.decode((value.startsWith('0x') ? value.slice(2) : value).toUpperCase())\n case 58:\n return base58.decode(value)\n default:\n throw Error(`Unsupported base [${base}]`)\n }\n}\n\n/** @deprecated use ArrayBuffer instead */\nexport const toUint8ArrayOptional = (value?: DataLike, padLength?: number, base?: number): Uint8Array | undefined => {\n return value ? toUint8Array(value, padLength, base) : undefined\n}\n\nexport function toUint8Array(value: undefined, padLength?: number, base?: number): undefined\nexport function toUint8Array(value: DataLike, padLength?: number, base?: number): Uint8Array\nexport function toUint8Array(value: DataLike | undefined, padLength?: number, base?: number): Uint8Array | undefined\nexport function toUint8Array(value?: DataLike, padLength?: number, base?: number): Uint8Array | undefined {\n if (value === undefined) return undefined\n\n let result: Uint8Array | undefined =\n ifTypeOf<string, Uint8Array>('string', value as string, (value) => stringToUint8Array(value, base)) ?? (value as Uint8Array)\n\n if (result === undefined) {\n throw Error(`toUint8Array - Unknown type: ${typeof value}`)\n }\n\n if (padLength && result.length < padLength) {\n result = new Uint8Array([...new Uint8Array(padLength - result.length), ...result])\n assertEx(result?.length <= padLength, 'Resulting length is greater than padLength')\n }\n\n return result\n}\n","import { Logger } from '@xylabs/logger'\nimport { AnyObject } from '@xyo-network/object'\n\nexport type BaseParamsFields = {\n logger?: Logger\n}\n\nexport type BaseParams<TAdditionalParams extends AnyObject | void = void> = TAdditionalParams extends AnyObject\n ? BaseParamsFields & TAdditionalParams\n : BaseParamsFields\n\nexport abstract class Base<TParams extends BaseParams = BaseParams> {\n static defaultLogger?: Logger\n\n constructor(readonly params: TParams) {\n params.logger?.debug(`Base constructed [${Object(this).name}]`)\n }\n\n protected get logger() {\n return this.params?.logger ?? Base.defaultLogger ?? console\n }\n}\n","const dumpErrors = (errors: Error[]) => {\n errors.forEach((error) => {\n console.log(error, null, 2)\n })\n}\n\nexport { dumpErrors }\n","export const isBrowser = () => {\n return typeof process === 'undefined'\n}\n","import { v4 } from 'uuid'\n\nexport const uuid = () => {\n try {\n return v4()\n } catch {\n //generally if no crypto library support\n const bytes: number[] = []\n for (let i = 0; i < 16; i++) {\n bytes.push(Math.floor(Math.random() * 256))\n }\n console.log(`bytes: ${JSON.stringify(bytes)}`)\n return `${bytes[0].toString(16)}${bytes[1].toString(16)}${bytes[2].toString(16)}${bytes[3].toString(16)}-${bytes[4].toString(\n 16,\n )}${bytes[5].toString(16)}-${bytes[6].toString(16)}${bytes[7].toString(16)}-${bytes[8].toString(16)}${bytes[9].toString(16)}-${bytes[10].toString(\n 16,\n )}${bytes[11].toString(16)}${bytes[12].toString(16)}${bytes[13].toString(16)}${bytes[14].toString(16)}${bytes[15].toString(16)}`\n }\n}\n","import { Promisable } from '@xylabs/promise'\nimport { AnyObject, ObjectWrapper } from '@xyo-network/object'\n\nexport interface Validator<T extends AnyObject = AnyObject> {\n validate(payload: T): Promisable<Error[]>\n}\n\nexport abstract class ValidatorBase<T extends AnyObject = AnyObject> extends ObjectWrapper<T> implements Validator<T> {\n abstract validate(payload: T): Promisable<Error[]>\n}\n"],"mappings":"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","names":["import_base","import_assert","value","keccak256"]}
1
+ {"version":3,"sources":["../../src/index.ts","../../src/Data/AbstractData.ts","../../src/Data/Data.ts","../../src/Data/toUint8Array.ts","../../src/lib/Base.ts","../../src/lib/dumpErrors.ts","../../src/lib/isBrowser.ts","../../src/lib/uuid.ts","../../src/lib/Validator.ts"],"sourcesContent":["export * from './Data'\nexport * from './lib'\nexport * from '@xyo-network/address'\nexport * from '@xyo-network/hash'\nexport * from '@xyo-network/object'\nexport * from '@xyo-network/wasm'\n","export abstract class AbstractData {\n get length() {\n return this.bytes.byteLength\n }\n\n abstract get bytes(): ArrayBuffer\n\n abstract get hex(): string\n\n abstract get keccak256(): ArrayBuffer\n\n static is(value: unknown): value is AbstractData {\n return value instanceof AbstractData\n }\n}\n","/* eslint-disable import/no-deprecated */\nimport { base16, base58 } from '@scure/base'\nimport { toArrayBuffer } from '@xylabs/arraybuffer'\nimport { assertEx } from '@xylabs/assert'\nimport { keccak256 } from 'ethers'\n\nimport { AbstractData } from './AbstractData'\nimport { DataLike } from './DataLike'\nimport { toUint8ArrayOptional } from './toUint8Array'\n\nexport class Data extends AbstractData {\n private _bytes?: ArrayBuffer\n private _length: number\n\n constructor(length: number, bytes?: DataLike)\n constructor(length: number, bytes: string, base?: number)\n constructor(length: number, bytes?: DataLike, base?: number) {\n super()\n this._bytes = toUint8ArrayOptional(bytes, length, base)\n this._length = length\n }\n\n get base58() {\n this.checkLength()\n return base58.encode(new Uint8Array(this.bytes))\n }\n\n get bytes() {\n return assertEx(this._bytes, 'Data uninitialized')\n }\n\n get hex() {\n this.checkLength()\n return base16.encode(new Uint8Array(this.bytes)).toLowerCase()\n }\n\n get keccak256() {\n this.checkLength()\n return toArrayBuffer(keccak256(new Uint8Array(this.bytes)))\n }\n\n static from(data: DataLike | undefined) {\n return data ? new Data(Data.lengthOf(data), data) : undefined\n }\n\n static lengthOf(data: DataLike): number {\n if (typeof data === 'string') {\n return data.length / 2\n } else if (data instanceof AbstractData) {\n return data.length\n } else {\n return typeof data.byteLength === 'function' ? data.byteLength : data.byteLength\n }\n }\n\n private checkLength() {\n assertEx(this.bytes.byteLength === this._length, `Length Mismatch: ${this.bytes.byteLength} !== ${this._length}`)\n }\n}\n","import { base16, base58 } from '@scure/base'\nimport { assertEx } from '@xylabs/assert'\nimport { ifTypeOf } from '@xyo-network/typeof'\n\nimport { DataLike } from './DataLike'\n\nconst stringToUint8Array = (value: string, base = 16) => {\n switch (base) {\n case 16:\n return base16.decode((value.startsWith('0x') ? value.slice(2) : value).toUpperCase())\n case 58:\n return base58.decode(value)\n default:\n throw Error(`Unsupported base [${base}]`)\n }\n}\n\n/** @deprecated use ArrayBuffer instead */\nexport const toUint8ArrayOptional = (value?: DataLike, padLength?: number, base?: number): Uint8Array | undefined => {\n return value ? toUint8Array(value, padLength, base) : undefined\n}\n\nexport function toUint8Array(value: undefined, padLength?: number, base?: number): undefined\nexport function toUint8Array(value: DataLike, padLength?: number, base?: number): Uint8Array\nexport function toUint8Array(value: DataLike | undefined, padLength?: number, base?: number): Uint8Array | undefined\nexport function toUint8Array(value?: DataLike, padLength?: number, base?: number): Uint8Array | undefined {\n if (value === undefined) return undefined\n\n let result: Uint8Array | undefined =\n ifTypeOf<string, Uint8Array>('string', value as string, (value) => stringToUint8Array(value, base)) ?? (value as Uint8Array)\n\n if (result === undefined) {\n throw Error(`toUint8Array - Unknown type: ${typeof value}`)\n }\n\n if (padLength && result.length < padLength) {\n result = new Uint8Array([...new Uint8Array(padLength - result.length), ...result])\n assertEx(result?.length <= padLength, 'Resulting length is greater than padLength')\n }\n\n return result\n}\n","import { Logger } from '@xylabs/logger'\nimport { AnyObject } from '@xyo-network/object'\n\nexport type BaseParamsFields = {\n logger?: Logger\n}\n\nexport type BaseParams<TAdditionalParams extends AnyObject | void = void> = TAdditionalParams extends AnyObject\n ? BaseParamsFields & TAdditionalParams\n : BaseParamsFields\n\nexport abstract class Base<TParams extends BaseParams = BaseParams> {\n static defaultLogger?: Logger\n\n constructor(readonly params: TParams) {\n params.logger?.debug(`Base constructed [${Object(this).name}]`)\n }\n\n protected get logger() {\n return this.params?.logger ?? Base.defaultLogger ?? console\n }\n}\n","const dumpErrors = (errors: Error[]) => {\n errors.forEach((error) => {\n console.log(error, null, 2)\n })\n}\n\nexport { dumpErrors }\n","export const isBrowser = () => {\n return typeof process === 'undefined'\n}\n","import { v4 } from 'uuid'\n\nexport const uuid = () => {\n try {\n return v4()\n } catch {\n //generally if no crypto library support\n const bytes: number[] = []\n for (let i = 0; i < 16; i++) {\n bytes.push(Math.floor(Math.random() * 256))\n }\n console.log(`bytes: ${JSON.stringify(bytes)}`)\n return `${bytes[0].toString(16)}${bytes[1].toString(16)}${bytes[2].toString(16)}${bytes[3].toString(16)}-${bytes[4].toString(\n 16,\n )}${bytes[5].toString(16)}-${bytes[6].toString(16)}${bytes[7].toString(16)}-${bytes[8].toString(16)}${bytes[9].toString(16)}-${bytes[10].toString(\n 16,\n )}${bytes[11].toString(16)}${bytes[12].toString(16)}${bytes[13].toString(16)}${bytes[14].toString(16)}${bytes[15].toString(16)}`\n }\n}\n","import { Promisable } from '@xylabs/promise'\nimport { AnyObject, ObjectWrapper } from '@xyo-network/object'\n\nexport interface Validator<T extends AnyObject = AnyObject> {\n validate(payload: T): Promisable<Error[]>\n}\n\nexport abstract class ValidatorBase<T extends AnyObject = AnyObject> extends ObjectWrapper<T> implements Validator<T> {\n abstract validate(payload: T): Promisable<Error[]>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAO,IAAe,eAAf,MAAe,cAAa;AAAA,EACjC,IAAI,SAAS;AACX,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EAQA,OAAO,GAAG,OAAuC;AAC/C,WAAO,iBAAiB;AAAA,EAC1B;AACF;;;ACbA,IAAAA,eAA+B;AAC/B,yBAA8B;AAC9B,IAAAC,iBAAyB;AACzB,oBAA0B;;;ACJ1B,kBAA+B;AAC/B,oBAAyB;AACzB,oBAAyB;AAIzB,IAAM,qBAAqB,CAAC,OAAe,OAAO,OAAO;AACvD,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,aAAO,mBAAO,QAAQ,MAAM,WAAW,IAAI,IAAI,MAAM,MAAM,CAAC,IAAI,OAAO,YAAY,CAAC;AAAA,IACtF,KAAK;AACH,aAAO,mBAAO,OAAO,KAAK;AAAA,IAC5B;AACE,YAAM,MAAM,qBAAqB,IAAI,GAAG;AAAA,EAC5C;AACF;AAGO,IAAM,uBAAuB,CAAC,OAAkB,WAAoB,SAA0C;AACnH,SAAO,QAAQ,aAAa,OAAO,WAAW,IAAI,IAAI;AACxD;AAKO,SAAS,aAAa,OAAkB,WAAoB,MAAuC;AACxG,MAAI,UAAU;AAAW,WAAO;AAEhC,MAAI,aACF,wBAA6B,UAAU,OAAiB,CAACC,WAAU,mBAAmBA,QAAO,IAAI,CAAC,KAAM;AAE1G,MAAI,WAAW,QAAW;AACxB,UAAM,MAAM,gCAAgC,OAAO,KAAK,EAAE;AAAA,EAC5D;AAEA,MAAI,aAAa,OAAO,SAAS,WAAW;AAC1C,aAAS,IAAI,WAAW,CAAC,GAAG,IAAI,WAAW,YAAY,OAAO,MAAM,GAAG,GAAG,MAAM,CAAC;AACjF,iCAAS,iCAAQ,WAAU,WAAW,4CAA4C;AAAA,EACpF;AAEA,SAAO;AACT;;;AD/BO,IAAM,OAAN,MAAM,cAAa,aAAa;AAAA,EAC7B;AAAA,EACA;AAAA,EAIR,YAAY,QAAgB,OAAkB,MAAe;AAC3D,UAAM;AACN,SAAK,SAAS,qBAAqB,OAAO,QAAQ,IAAI;AACtD,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,IAAI,SAAS;AACX,SAAK,YAAY;AACjB,WAAO,oBAAO,OAAO,IAAI,WAAW,KAAK,KAAK,CAAC;AAAA,EACjD;AAAA,EAEA,IAAI,QAAQ;AACV,eAAO,yBAAS,KAAK,QAAQ,oBAAoB;AAAA,EACnD;AAAA,EAEA,IAAI,MAAM;AACR,SAAK,YAAY;AACjB,WAAO,oBAAO,OAAO,IAAI,WAAW,KAAK,KAAK,CAAC,EAAE,YAAY;AAAA,EAC/D;AAAA,EAEA,IAAI,YAAY;AACd,SAAK,YAAY;AACjB,eAAO,sCAAc,yBAAU,IAAI,WAAW,KAAK,KAAK,CAAC,CAAC;AAAA,EAC5D;AAAA,EAEA,OAAO,KAAK,MAA4B;AACtC,WAAO,OAAO,IAAI,MAAK,MAAK,SAAS,IAAI,GAAG,IAAI,IAAI;AAAA,EACtD;AAAA,EAEA,OAAO,SAAS,MAAwB;AACtC,QAAI,OAAO,SAAS,UAAU;AAC5B,aAAO,KAAK,SAAS;AAAA,IACvB,WAAW,gBAAgB,cAAc;AACvC,aAAO,KAAK;AAAA,IACd,OAAO;AACL,aAAO,OAAO,KAAK,eAAe,aAAa,KAAK,aAAa,KAAK;AAAA,IACxE;AAAA,EACF;AAAA,EAEQ,cAAc;AACpB,iCAAS,KAAK,MAAM,eAAe,KAAK,SAAS,oBAAoB,KAAK,MAAM,UAAU,QAAQ,KAAK,OAAO,EAAE;AAAA,EAClH;AACF;;;AE/CO,IAAe,OAAf,MAAe,MAA8C;AAAA,EAGlE,YAAqB,QAAiB;AAAjB;AAdvB;AAeI,iBAAO,WAAP,mBAAe,MAAM,qBAAqB,OAAO,IAAI,EAAE,IAAI;AAAA,EAC7D;AAAA,EAJA,OAAO;AAAA,EAMP,IAAc,SAAS;AAlBzB;AAmBI,aAAO,UAAK,WAAL,mBAAa,WAAU,MAAK,iBAAiB;AAAA,EACtD;AACF;;;ACrBA,IAAM,aAAa,CAAC,WAAoB;AACtC,SAAO,QAAQ,CAAC,UAAU;AACxB,YAAQ,IAAI,OAAO,MAAM,CAAC;AAAA,EAC5B,CAAC;AACH;;;ACJO,IAAM,YAAY,MAAM;AAC7B,SAAO,OAAO,YAAY;AAC5B;;;ACFA,kBAAmB;AAEZ,IAAM,OAAO,MAAM;AACxB,MAAI;AACF,eAAO,gBAAG;AAAA,EACZ,QAAQ;AAEN,UAAM,QAAkB,CAAC;AACzB,aAAS,IAAI,GAAG,IAAI,IAAI,KAAK;AAC3B,YAAM,KAAK,KAAK,MAAM,KAAK,OAAO,IAAI,GAAG,CAAC;AAAA,IAC5C;AACA,YAAQ,IAAI,UAAU,KAAK,UAAU,KAAK,CAAC,EAAE;AAC7C,WAAO,GAAG,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,MAAM,CAAC,EAAE;AAAA,MAClH;AAAA,IACF,CAAC,GAAG,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,MAAM,EAAE,EAAE;AAAA,MACvI;AAAA,IACF,CAAC,GAAG,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC;AAAA,EAChI;AACF;;;ACjBA,oBAAyC;AAMlC,IAAe,gBAAf,cAAsE,4BAAyC;AAEtH;;;ARPA,wBAAc,iCAFd;AAGA,wBAAc,8BAHd;AAIA,wBAAc,gCAJd;AAKA,wBAAc,8BALd;","names":["import_base","import_assert","value"]}
@@ -10,8 +10,9 @@ var AbstractData = class _AbstractData {
10
10
 
11
11
  // src/Data/Data.ts
12
12
  import { base16 as base162, base58 as base582 } from "@scure/base";
13
+ import { toArrayBuffer } from "@xylabs/arraybuffer";
13
14
  import { assertEx as assertEx2 } from "@xylabs/assert";
14
- import keccak256 from "keccak256";
15
+ import { keccak256 } from "ethers";
15
16
 
16
17
  // src/Data/toUint8Array.ts
17
18
  import { base16, base58 } from "@scure/base";
@@ -66,7 +67,7 @@ var Data = class _Data extends AbstractData {
66
67
  }
67
68
  get keccak256() {
68
69
  this.checkLength();
69
- return new Uint8Array(keccak256(new Buffer(this.bytes)));
70
+ return toArrayBuffer(keccak256(new Uint8Array(this.bytes)));
70
71
  }
71
72
  static from(data) {
72
73
  return data ? new _Data(_Data.lengthOf(data), data) : void 0;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Data/AbstractData.ts","../../src/Data/Data.ts","../../src/Data/toUint8Array.ts","../../src/lib/Base.ts","../../src/lib/dumpErrors.ts","../../src/lib/isBrowser.ts","../../src/lib/uuid.ts","../../src/lib/Validator.ts","../../src/index.ts"],"sourcesContent":["export abstract class AbstractData {\n get length() {\n return this.bytes.byteLength\n }\n\n abstract get bytes(): ArrayBuffer\n\n abstract get hex(): string\n\n abstract get keccak256(): ArrayBuffer\n\n static is(value: unknown): value is AbstractData {\n return value instanceof AbstractData\n }\n}\n","/* eslint-disable import/no-deprecated */\nimport { base16, base58 } from '@scure/base'\nimport { assertEx } from '@xylabs/assert'\nimport keccak256 from 'keccak256'\n\nimport { AbstractData } from './AbstractData'\nimport { DataLike } from './DataLike'\nimport { toUint8ArrayOptional } from './toUint8Array'\n\nexport class Data extends AbstractData {\n private _bytes?: ArrayBuffer\n private _length: number\n\n constructor(length: number, bytes?: DataLike)\n constructor(length: number, bytes: string, base?: number)\n constructor(length: number, bytes?: DataLike, base?: number) {\n super()\n this._bytes = toUint8ArrayOptional(bytes, length, base)\n this._length = length\n }\n\n get base58() {\n this.checkLength()\n return base58.encode(new Uint8Array(this.bytes))\n }\n\n get bytes() {\n return assertEx(this._bytes, 'Data uninitialized')\n }\n\n get hex() {\n this.checkLength()\n return base16.encode(new Uint8Array(this.bytes)).toLowerCase()\n }\n\n get keccak256() {\n this.checkLength()\n return new Uint8Array(keccak256(new Buffer(this.bytes)))\n }\n\n static from(data: DataLike | undefined) {\n return data ? new Data(Data.lengthOf(data), data) : undefined\n }\n\n static lengthOf(data: DataLike): number {\n if (typeof data === 'string') {\n return data.length / 2\n } else if (data instanceof AbstractData) {\n return data.length\n } else {\n return typeof data.byteLength === 'function' ? data.byteLength : data.byteLength\n }\n }\n\n private checkLength() {\n assertEx(this.bytes.byteLength === this._length, `Length Mismatch: ${this.bytes.byteLength} !== ${this._length}`)\n }\n}\n","import { base16, base58 } from '@scure/base'\nimport { assertEx } from '@xylabs/assert'\nimport { ifTypeOf } from '@xyo-network/typeof'\n\nimport { DataLike } from './DataLike'\n\nconst stringToUint8Array = (value: string, base = 16) => {\n switch (base) {\n case 16:\n return base16.decode((value.startsWith('0x') ? value.slice(2) : value).toUpperCase())\n case 58:\n return base58.decode(value)\n default:\n throw Error(`Unsupported base [${base}]`)\n }\n}\n\n/** @deprecated use ArrayBuffer instead */\nexport const toUint8ArrayOptional = (value?: DataLike, padLength?: number, base?: number): Uint8Array | undefined => {\n return value ? toUint8Array(value, padLength, base) : undefined\n}\n\nexport function toUint8Array(value: undefined, padLength?: number, base?: number): undefined\nexport function toUint8Array(value: DataLike, padLength?: number, base?: number): Uint8Array\nexport function toUint8Array(value: DataLike | undefined, padLength?: number, base?: number): Uint8Array | undefined\nexport function toUint8Array(value?: DataLike, padLength?: number, base?: number): Uint8Array | undefined {\n if (value === undefined) return undefined\n\n let result: Uint8Array | undefined =\n ifTypeOf<string, Uint8Array>('string', value as string, (value) => stringToUint8Array(value, base)) ?? (value as Uint8Array)\n\n if (result === undefined) {\n throw Error(`toUint8Array - Unknown type: ${typeof value}`)\n }\n\n if (padLength && result.length < padLength) {\n result = new Uint8Array([...new Uint8Array(padLength - result.length), ...result])\n assertEx(result?.length <= padLength, 'Resulting length is greater than padLength')\n }\n\n return result\n}\n","import { Logger } from '@xylabs/logger'\nimport { AnyObject } from '@xyo-network/object'\n\nexport type BaseParamsFields = {\n logger?: Logger\n}\n\nexport type BaseParams<TAdditionalParams extends AnyObject | void = void> = TAdditionalParams extends AnyObject\n ? BaseParamsFields & TAdditionalParams\n : BaseParamsFields\n\nexport abstract class Base<TParams extends BaseParams = BaseParams> {\n static defaultLogger?: Logger\n\n constructor(readonly params: TParams) {\n params.logger?.debug(`Base constructed [${Object(this).name}]`)\n }\n\n protected get logger() {\n return this.params?.logger ?? Base.defaultLogger ?? console\n }\n}\n","const dumpErrors = (errors: Error[]) => {\n errors.forEach((error) => {\n console.log(error, null, 2)\n })\n}\n\nexport { dumpErrors }\n","export const isBrowser = () => {\n return typeof process === 'undefined'\n}\n","import { v4 } from 'uuid'\n\nexport const uuid = () => {\n try {\n return v4()\n } catch {\n //generally if no crypto library support\n const bytes: number[] = []\n for (let i = 0; i < 16; i++) {\n bytes.push(Math.floor(Math.random() * 256))\n }\n console.log(`bytes: ${JSON.stringify(bytes)}`)\n return `${bytes[0].toString(16)}${bytes[1].toString(16)}${bytes[2].toString(16)}${bytes[3].toString(16)}-${bytes[4].toString(\n 16,\n )}${bytes[5].toString(16)}-${bytes[6].toString(16)}${bytes[7].toString(16)}-${bytes[8].toString(16)}${bytes[9].toString(16)}-${bytes[10].toString(\n 16,\n )}${bytes[11].toString(16)}${bytes[12].toString(16)}${bytes[13].toString(16)}${bytes[14].toString(16)}${bytes[15].toString(16)}`\n }\n}\n","import { Promisable } from '@xylabs/promise'\nimport { AnyObject, ObjectWrapper } from '@xyo-network/object'\n\nexport interface Validator<T extends AnyObject = AnyObject> {\n validate(payload: T): Promisable<Error[]>\n}\n\nexport abstract class ValidatorBase<T extends AnyObject = AnyObject> extends ObjectWrapper<T> implements Validator<T> {\n abstract validate(payload: T): Promisable<Error[]>\n}\n","export * from './Data'\nexport * from './lib'\nexport * from '@xyo-network/address'\nexport * from '@xyo-network/hash'\nexport * from '@xyo-network/object'\nexport * from '@xyo-network/wasm'\n"],"mappings":";AAAO,IAAe,eAAf,MAAe,cAAa;AAAA,EACjC,IAAI,SAAS;AACX,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EAQA,OAAO,GAAG,OAAuC;AAC/C,WAAO,iBAAiB;AAAA,EAC1B;AACF;;;ACbA,SAAS,UAAAA,SAAQ,UAAAC,eAAc;AAC/B,SAAS,YAAAC,iBAAgB;AACzB,OAAO,eAAe;;;ACHtB,SAAS,QAAQ,cAAc;AAC/B,SAAS,gBAAgB;AACzB,SAAS,gBAAgB;AAIzB,IAAM,qBAAqB,CAAC,OAAe,OAAO,OAAO;AACvD,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,aAAO,OAAO,QAAQ,MAAM,WAAW,IAAI,IAAI,MAAM,MAAM,CAAC,IAAI,OAAO,YAAY,CAAC;AAAA,IACtF,KAAK;AACH,aAAO,OAAO,OAAO,KAAK;AAAA,IAC5B;AACE,YAAM,MAAM,qBAAqB,IAAI,GAAG;AAAA,EAC5C;AACF;AAGO,IAAM,uBAAuB,CAAC,OAAkB,WAAoB,SAA0C;AACnH,SAAO,QAAQ,aAAa,OAAO,WAAW,IAAI,IAAI;AACxD;AAKO,SAAS,aAAa,OAAkB,WAAoB,MAAuC;AACxG,MAAI,UAAU;AAAW,WAAO;AAEhC,MAAI,SACF,SAA6B,UAAU,OAAiB,CAACC,WAAU,mBAAmBA,QAAO,IAAI,CAAC,KAAM;AAE1G,MAAI,WAAW,QAAW;AACxB,UAAM,MAAM,gCAAgC,OAAO,KAAK,EAAE;AAAA,EAC5D;AAEA,MAAI,aAAa,OAAO,SAAS,WAAW;AAC1C,aAAS,IAAI,WAAW,CAAC,GAAG,IAAI,WAAW,YAAY,OAAO,MAAM,GAAG,GAAG,MAAM,CAAC;AACjF,cAAS,iCAAQ,WAAU,WAAW,4CAA4C;AAAA,EACpF;AAEA,SAAO;AACT;;;ADhCO,IAAM,OAAN,MAAM,cAAa,aAAa;AAAA,EAC7B;AAAA,EACA;AAAA,EAIR,YAAY,QAAgB,OAAkB,MAAe;AAC3D,UAAM;AACN,SAAK,SAAS,qBAAqB,OAAO,QAAQ,IAAI;AACtD,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,IAAI,SAAS;AACX,SAAK,YAAY;AACjB,WAAOC,QAAO,OAAO,IAAI,WAAW,KAAK,KAAK,CAAC;AAAA,EACjD;AAAA,EAEA,IAAI,QAAQ;AACV,WAAOC,UAAS,KAAK,QAAQ,oBAAoB;AAAA,EACnD;AAAA,EAEA,IAAI,MAAM;AACR,SAAK,YAAY;AACjB,WAAOC,QAAO,OAAO,IAAI,WAAW,KAAK,KAAK,CAAC,EAAE,YAAY;AAAA,EAC/D;AAAA,EAEA,IAAI,YAAY;AACd,SAAK,YAAY;AACjB,WAAO,IAAI,WAAW,UAAU,IAAI,OAAO,KAAK,KAAK,CAAC,CAAC;AAAA,EACzD;AAAA,EAEA,OAAO,KAAK,MAA4B;AACtC,WAAO,OAAO,IAAI,MAAK,MAAK,SAAS,IAAI,GAAG,IAAI,IAAI;AAAA,EACtD;AAAA,EAEA,OAAO,SAAS,MAAwB;AACtC,QAAI,OAAO,SAAS,UAAU;AAC5B,aAAO,KAAK,SAAS;AAAA,IACvB,WAAW,gBAAgB,cAAc;AACvC,aAAO,KAAK;AAAA,IACd,OAAO;AACL,aAAO,OAAO,KAAK,eAAe,aAAa,KAAK,aAAa,KAAK;AAAA,IACxE;AAAA,EACF;AAAA,EAEQ,cAAc;AACpB,IAAAD,UAAS,KAAK,MAAM,eAAe,KAAK,SAAS,oBAAoB,KAAK,MAAM,UAAU,QAAQ,KAAK,OAAO,EAAE;AAAA,EAClH;AACF;;;AE9CO,IAAe,OAAf,MAAe,MAA8C;AAAA,EAGlE,YAAqB,QAAiB;AAAjB;AAdvB;AAeI,iBAAO,WAAP,mBAAe,MAAM,qBAAqB,OAAO,IAAI,EAAE,IAAI;AAAA,EAC7D;AAAA,EAJA,OAAO;AAAA,EAMP,IAAc,SAAS;AAlBzB;AAmBI,aAAO,UAAK,WAAL,mBAAa,WAAU,MAAK,iBAAiB;AAAA,EACtD;AACF;;;ACrBA,IAAM,aAAa,CAAC,WAAoB;AACtC,SAAO,QAAQ,CAAC,UAAU;AACxB,YAAQ,IAAI,OAAO,MAAM,CAAC;AAAA,EAC5B,CAAC;AACH;;;ACJO,IAAM,YAAY,MAAM;AAC7B,SAAO,OAAO,YAAY;AAC5B;;;ACFA,SAAS,UAAU;AAEZ,IAAM,OAAO,MAAM;AACxB,MAAI;AACF,WAAO,GAAG;AAAA,EACZ,QAAQ;AAEN,UAAM,QAAkB,CAAC;AACzB,aAAS,IAAI,GAAG,IAAI,IAAI,KAAK;AAC3B,YAAM,KAAK,KAAK,MAAM,KAAK,OAAO,IAAI,GAAG,CAAC;AAAA,IAC5C;AACA,YAAQ,IAAI,UAAU,KAAK,UAAU,KAAK,CAAC,EAAE;AAC7C,WAAO,GAAG,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,MAAM,CAAC,EAAE;AAAA,MAClH;AAAA,IACF,CAAC,GAAG,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,MAAM,EAAE,EAAE;AAAA,MACvI;AAAA,IACF,CAAC,GAAG,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC;AAAA,EAChI;AACF;;;ACjBA,SAAoB,qBAAqB;AAMlC,IAAe,gBAAf,cAAsE,cAAyC;AAEtH;;;ACPA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":["base16","base58","assertEx","value","base58","assertEx","base16"]}
1
+ {"version":3,"sources":["../../src/Data/AbstractData.ts","../../src/Data/Data.ts","../../src/Data/toUint8Array.ts","../../src/lib/Base.ts","../../src/lib/dumpErrors.ts","../../src/lib/isBrowser.ts","../../src/lib/uuid.ts","../../src/lib/Validator.ts","../../src/index.ts"],"sourcesContent":["export abstract class AbstractData {\n get length() {\n return this.bytes.byteLength\n }\n\n abstract get bytes(): ArrayBuffer\n\n abstract get hex(): string\n\n abstract get keccak256(): ArrayBuffer\n\n static is(value: unknown): value is AbstractData {\n return value instanceof AbstractData\n }\n}\n","/* eslint-disable import/no-deprecated */\nimport { base16, base58 } from '@scure/base'\nimport { toArrayBuffer } from '@xylabs/arraybuffer'\nimport { assertEx } from '@xylabs/assert'\nimport { keccak256 } from 'ethers'\n\nimport { AbstractData } from './AbstractData'\nimport { DataLike } from './DataLike'\nimport { toUint8ArrayOptional } from './toUint8Array'\n\nexport class Data extends AbstractData {\n private _bytes?: ArrayBuffer\n private _length: number\n\n constructor(length: number, bytes?: DataLike)\n constructor(length: number, bytes: string, base?: number)\n constructor(length: number, bytes?: DataLike, base?: number) {\n super()\n this._bytes = toUint8ArrayOptional(bytes, length, base)\n this._length = length\n }\n\n get base58() {\n this.checkLength()\n return base58.encode(new Uint8Array(this.bytes))\n }\n\n get bytes() {\n return assertEx(this._bytes, 'Data uninitialized')\n }\n\n get hex() {\n this.checkLength()\n return base16.encode(new Uint8Array(this.bytes)).toLowerCase()\n }\n\n get keccak256() {\n this.checkLength()\n return toArrayBuffer(keccak256(new Uint8Array(this.bytes)))\n }\n\n static from(data: DataLike | undefined) {\n return data ? new Data(Data.lengthOf(data), data) : undefined\n }\n\n static lengthOf(data: DataLike): number {\n if (typeof data === 'string') {\n return data.length / 2\n } else if (data instanceof AbstractData) {\n return data.length\n } else {\n return typeof data.byteLength === 'function' ? data.byteLength : data.byteLength\n }\n }\n\n private checkLength() {\n assertEx(this.bytes.byteLength === this._length, `Length Mismatch: ${this.bytes.byteLength} !== ${this._length}`)\n }\n}\n","import { base16, base58 } from '@scure/base'\nimport { assertEx } from '@xylabs/assert'\nimport { ifTypeOf } from '@xyo-network/typeof'\n\nimport { DataLike } from './DataLike'\n\nconst stringToUint8Array = (value: string, base = 16) => {\n switch (base) {\n case 16:\n return base16.decode((value.startsWith('0x') ? value.slice(2) : value).toUpperCase())\n case 58:\n return base58.decode(value)\n default:\n throw Error(`Unsupported base [${base}]`)\n }\n}\n\n/** @deprecated use ArrayBuffer instead */\nexport const toUint8ArrayOptional = (value?: DataLike, padLength?: number, base?: number): Uint8Array | undefined => {\n return value ? toUint8Array(value, padLength, base) : undefined\n}\n\nexport function toUint8Array(value: undefined, padLength?: number, base?: number): undefined\nexport function toUint8Array(value: DataLike, padLength?: number, base?: number): Uint8Array\nexport function toUint8Array(value: DataLike | undefined, padLength?: number, base?: number): Uint8Array | undefined\nexport function toUint8Array(value?: DataLike, padLength?: number, base?: number): Uint8Array | undefined {\n if (value === undefined) return undefined\n\n let result: Uint8Array | undefined =\n ifTypeOf<string, Uint8Array>('string', value as string, (value) => stringToUint8Array(value, base)) ?? (value as Uint8Array)\n\n if (result === undefined) {\n throw Error(`toUint8Array - Unknown type: ${typeof value}`)\n }\n\n if (padLength && result.length < padLength) {\n result = new Uint8Array([...new Uint8Array(padLength - result.length), ...result])\n assertEx(result?.length <= padLength, 'Resulting length is greater than padLength')\n }\n\n return result\n}\n","import { Logger } from '@xylabs/logger'\nimport { AnyObject } from '@xyo-network/object'\n\nexport type BaseParamsFields = {\n logger?: Logger\n}\n\nexport type BaseParams<TAdditionalParams extends AnyObject | void = void> = TAdditionalParams extends AnyObject\n ? BaseParamsFields & TAdditionalParams\n : BaseParamsFields\n\nexport abstract class Base<TParams extends BaseParams = BaseParams> {\n static defaultLogger?: Logger\n\n constructor(readonly params: TParams) {\n params.logger?.debug(`Base constructed [${Object(this).name}]`)\n }\n\n protected get logger() {\n return this.params?.logger ?? Base.defaultLogger ?? console\n }\n}\n","const dumpErrors = (errors: Error[]) => {\n errors.forEach((error) => {\n console.log(error, null, 2)\n })\n}\n\nexport { dumpErrors }\n","export const isBrowser = () => {\n return typeof process === 'undefined'\n}\n","import { v4 } from 'uuid'\n\nexport const uuid = () => {\n try {\n return v4()\n } catch {\n //generally if no crypto library support\n const bytes: number[] = []\n for (let i = 0; i < 16; i++) {\n bytes.push(Math.floor(Math.random() * 256))\n }\n console.log(`bytes: ${JSON.stringify(bytes)}`)\n return `${bytes[0].toString(16)}${bytes[1].toString(16)}${bytes[2].toString(16)}${bytes[3].toString(16)}-${bytes[4].toString(\n 16,\n )}${bytes[5].toString(16)}-${bytes[6].toString(16)}${bytes[7].toString(16)}-${bytes[8].toString(16)}${bytes[9].toString(16)}-${bytes[10].toString(\n 16,\n )}${bytes[11].toString(16)}${bytes[12].toString(16)}${bytes[13].toString(16)}${bytes[14].toString(16)}${bytes[15].toString(16)}`\n }\n}\n","import { Promisable } from '@xylabs/promise'\nimport { AnyObject, ObjectWrapper } from '@xyo-network/object'\n\nexport interface Validator<T extends AnyObject = AnyObject> {\n validate(payload: T): Promisable<Error[]>\n}\n\nexport abstract class ValidatorBase<T extends AnyObject = AnyObject> extends ObjectWrapper<T> implements Validator<T> {\n abstract validate(payload: T): Promisable<Error[]>\n}\n","export * from './Data'\nexport * from './lib'\nexport * from '@xyo-network/address'\nexport * from '@xyo-network/hash'\nexport * from '@xyo-network/object'\nexport * from '@xyo-network/wasm'\n"],"mappings":"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","names":["base16","base58","assertEx","value","base58","assertEx","base16"]}
package/package.json CHANGED
@@ -11,15 +11,16 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@scure/base": "^1.1.3",
14
+ "@xylabs/arraybuffer": "^2.13.18",
14
15
  "@xylabs/assert": "^2.13.18",
15
16
  "@xylabs/logger": "^2.13.18",
16
17
  "@xylabs/promise": "^2.13.18",
17
- "@xyo-network/address": "~2.81.10",
18
- "@xyo-network/hash": "~2.81.10",
19
- "@xyo-network/object": "~2.81.10",
20
- "@xyo-network/typeof": "~2.81.10",
21
- "@xyo-network/wasm": "~2.81.10",
22
- "keccak256": "^1.0.6",
18
+ "@xyo-network/address": "~2.81.12",
19
+ "@xyo-network/hash": "~2.81.12",
20
+ "@xyo-network/object": "~2.81.12",
21
+ "@xyo-network/typeof": "~2.81.12",
22
+ "@xyo-network/wasm": "~2.81.12",
23
+ "ethers": "^6.9.0",
23
24
  "uuid": "^9.0.1"
24
25
  },
25
26
  "description": "Primary SDK for using XYO Protocol 2.0",
@@ -68,5 +69,5 @@
68
69
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
69
70
  },
70
71
  "sideEffects": false,
71
- "version": "2.81.10"
72
+ "version": "2.81.12"
72
73
  }
package/src/Data/Data.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  /* eslint-disable import/no-deprecated */
2
2
  import { base16, base58 } from '@scure/base'
3
+ import { toArrayBuffer } from '@xylabs/arraybuffer'
3
4
  import { assertEx } from '@xylabs/assert'
4
- import keccak256 from 'keccak256'
5
+ import { keccak256 } from 'ethers'
5
6
 
6
7
  import { AbstractData } from './AbstractData'
7
8
  import { DataLike } from './DataLike'
@@ -35,7 +36,7 @@ export class Data extends AbstractData {
35
36
 
36
37
  get keccak256() {
37
38
  this.checkLength()
38
- return new Uint8Array(keccak256(new Buffer(this.bytes)))
39
+ return toArrayBuffer(keccak256(new Uint8Array(this.bytes)))
39
40
  }
40
41
 
41
42
  static from(data: DataLike | undefined) {