@xyo-network/core 2.81.9 → 2.81.10

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.
Files changed (35) hide show
  1. package/dist/browser/Data/AbstractData.d.cts +1 -2
  2. package/dist/browser/Data/AbstractData.d.cts.map +1 -1
  3. package/dist/browser/Data/AbstractData.d.mts +1 -2
  4. package/dist/browser/Data/AbstractData.d.mts.map +1 -1
  5. package/dist/browser/Data/AbstractData.d.ts +1 -2
  6. package/dist/browser/Data/AbstractData.d.ts.map +1 -1
  7. package/dist/browser/Data/Data.d.cts +1 -2
  8. package/dist/browser/Data/Data.d.cts.map +1 -1
  9. package/dist/browser/Data/Data.d.mts +1 -2
  10. package/dist/browser/Data/Data.d.mts.map +1 -1
  11. package/dist/browser/Data/Data.d.ts +1 -2
  12. package/dist/browser/Data/Data.d.ts.map +1 -1
  13. package/dist/browser/index.cjs +1 -2
  14. package/dist/browser/index.cjs.map +1 -1
  15. package/dist/browser/index.js +1 -2
  16. package/dist/browser/index.js.map +1 -1
  17. package/dist/node/Data/AbstractData.d.cts +1 -2
  18. package/dist/node/Data/AbstractData.d.cts.map +1 -1
  19. package/dist/node/Data/AbstractData.d.mts +1 -2
  20. package/dist/node/Data/AbstractData.d.mts.map +1 -1
  21. package/dist/node/Data/AbstractData.d.ts +1 -2
  22. package/dist/node/Data/AbstractData.d.ts.map +1 -1
  23. package/dist/node/Data/Data.d.cts +1 -2
  24. package/dist/node/Data/Data.d.cts.map +1 -1
  25. package/dist/node/Data/Data.d.mts +1 -2
  26. package/dist/node/Data/Data.d.mts.map +1 -1
  27. package/dist/node/Data/Data.d.ts +1 -2
  28. package/dist/node/Data/Data.d.ts.map +1 -1
  29. package/dist/node/index.cjs +1 -2
  30. package/dist/node/index.cjs.map +1 -1
  31. package/dist/node/index.js +1 -2
  32. package/dist/node/index.js.map +1 -1
  33. package/package.json +9 -10
  34. package/src/Data/AbstractData.ts +1 -1
  35. package/src/Data/Data.ts +1 -2
@@ -1,9 +1,8 @@
1
- /// <reference types="node" />
2
1
  export declare abstract class AbstractData {
3
2
  get length(): number;
4
3
  abstract get bytes(): ArrayBuffer;
5
4
  abstract get hex(): string;
6
- abstract get keccak256(): Buffer;
5
+ abstract get keccak256(): ArrayBuffer;
7
6
  static is(value: unknown): value is AbstractData;
8
7
  }
9
8
  //# sourceMappingURL=AbstractData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractData.d.ts","sourceRoot":"","sources":["../../../src/Data/AbstractData.ts"],"names":[],"mappings":";AAAA,8BAAsB,YAAY;IAChC,IAAI,MAAM,WAET;IAED,QAAQ,KAAK,KAAK,IAAI,WAAW,CAAA;IAEjC,QAAQ,KAAK,GAAG,IAAI,MAAM,CAAA;IAE1B,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAA;IAEhC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY;CAGjD"}
1
+ {"version":3,"file":"AbstractData.d.ts","sourceRoot":"","sources":["../../../src/Data/AbstractData.ts"],"names":[],"mappings":"AAAA,8BAAsB,YAAY;IAChC,IAAI,MAAM,WAET;IAED,QAAQ,KAAK,KAAK,IAAI,WAAW,CAAA;IAEjC,QAAQ,KAAK,GAAG,IAAI,MAAM,CAAA;IAE1B,QAAQ,KAAK,SAAS,IAAI,WAAW,CAAA;IAErC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY;CAGjD"}
@@ -1,9 +1,8 @@
1
- /// <reference types="node" />
2
1
  export declare abstract class AbstractData {
3
2
  get length(): number;
4
3
  abstract get bytes(): ArrayBuffer;
5
4
  abstract get hex(): string;
6
- abstract get keccak256(): Buffer;
5
+ abstract get keccak256(): ArrayBuffer;
7
6
  static is(value: unknown): value is AbstractData;
8
7
  }
9
8
  //# sourceMappingURL=AbstractData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractData.d.ts","sourceRoot":"","sources":["../../../src/Data/AbstractData.ts"],"names":[],"mappings":";AAAA,8BAAsB,YAAY;IAChC,IAAI,MAAM,WAET;IAED,QAAQ,KAAK,KAAK,IAAI,WAAW,CAAA;IAEjC,QAAQ,KAAK,GAAG,IAAI,MAAM,CAAA;IAE1B,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAA;IAEhC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY;CAGjD"}
1
+ {"version":3,"file":"AbstractData.d.ts","sourceRoot":"","sources":["../../../src/Data/AbstractData.ts"],"names":[],"mappings":"AAAA,8BAAsB,YAAY;IAChC,IAAI,MAAM,WAET;IAED,QAAQ,KAAK,KAAK,IAAI,WAAW,CAAA;IAEjC,QAAQ,KAAK,GAAG,IAAI,MAAM,CAAA;IAE1B,QAAQ,KAAK,SAAS,IAAI,WAAW,CAAA;IAErC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY;CAGjD"}
@@ -1,9 +1,8 @@
1
- /// <reference types="node" />
2
1
  export declare abstract class AbstractData {
3
2
  get length(): number;
4
3
  abstract get bytes(): ArrayBuffer;
5
4
  abstract get hex(): string;
6
- abstract get keccak256(): Buffer;
5
+ abstract get keccak256(): ArrayBuffer;
7
6
  static is(value: unknown): value is AbstractData;
8
7
  }
9
8
  //# sourceMappingURL=AbstractData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractData.d.ts","sourceRoot":"","sources":["../../../src/Data/AbstractData.ts"],"names":[],"mappings":";AAAA,8BAAsB,YAAY;IAChC,IAAI,MAAM,WAET;IAED,QAAQ,KAAK,KAAK,IAAI,WAAW,CAAA;IAEjC,QAAQ,KAAK,GAAG,IAAI,MAAM,CAAA;IAE1B,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAA;IAEhC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY;CAGjD"}
1
+ {"version":3,"file":"AbstractData.d.ts","sourceRoot":"","sources":["../../../src/Data/AbstractData.ts"],"names":[],"mappings":"AAAA,8BAAsB,YAAY;IAChC,IAAI,MAAM,WAET;IAED,QAAQ,KAAK,KAAK,IAAI,WAAW,CAAA;IAEjC,QAAQ,KAAK,GAAG,IAAI,MAAM,CAAA;IAE1B,QAAQ,KAAK,SAAS,IAAI,WAAW,CAAA;IAErC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY;CAGjD"}
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { AbstractData } from './AbstractData';
3
2
  import { DataLike } from './DataLike';
4
3
  export declare class Data extends AbstractData {
@@ -9,7 +8,7 @@ export declare class Data extends AbstractData {
9
8
  get base58(): string;
10
9
  get bytes(): ArrayBuffer;
11
10
  get hex(): string;
12
- get keccak256(): Buffer;
11
+ get keccak256(): Uint8Array;
13
12
  static from(data: DataLike | undefined): Data | undefined;
14
13
  static lengthOf(data: DataLike): number;
15
14
  private checkLength;
@@ -1 +1 @@
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,WAGZ;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":"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,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { AbstractData } from './AbstractData';
3
2
  import { DataLike } from './DataLike';
4
3
  export declare class Data extends AbstractData {
@@ -9,7 +8,7 @@ export declare class Data extends AbstractData {
9
8
  get base58(): string;
10
9
  get bytes(): ArrayBuffer;
11
10
  get hex(): string;
12
- get keccak256(): Buffer;
11
+ get keccak256(): Uint8Array;
13
12
  static from(data: DataLike | undefined): Data | undefined;
14
13
  static lengthOf(data: DataLike): number;
15
14
  private checkLength;
@@ -1 +1 @@
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,WAGZ;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":"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,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { AbstractData } from './AbstractData';
3
2
  import { DataLike } from './DataLike';
4
3
  export declare class Data extends AbstractData {
@@ -9,7 +8,7 @@ export declare class Data extends AbstractData {
9
8
  get base58(): string;
10
9
  get bytes(): ArrayBuffer;
11
10
  get hex(): string;
12
- get keccak256(): Buffer;
11
+ get keccak256(): Uint8Array;
13
12
  static from(data: DataLike | undefined): Data | undefined;
14
13
  static lengthOf(data: DataLike): number;
15
14
  private checkLength;
@@ -1 +1 @@
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,WAGZ;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":"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"}
@@ -56,7 +56,6 @@ var AbstractData = class _AbstractData {
56
56
  // src/Data/Data.ts
57
57
  var import_base2 = require("@scure/base");
58
58
  var import_assert2 = require("@xylabs/assert");
59
- var import_hex = require("@xylabs/hex");
60
59
  var import_keccak256 = __toESM(require("keccak256"), 1);
61
60
 
62
61
  // src/Data/toUint8Array.ts
@@ -112,7 +111,7 @@ var Data = class _Data extends AbstractData {
112
111
  }
113
112
  get keccak256() {
114
113
  this.checkLength();
115
- return Buffer.from((0, import_keccak256.default)(`0x${(0, import_hex.toHex)(this.bytes)}`));
114
+ return new Uint8Array((0, import_keccak256.default)(new Buffer(this.bytes)));
116
115
  }
117
116
  static from(data) {
118
117
  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(): Buffer\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 { toHex } from '@xylabs/hex'\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 Buffer.from(keccak256(`0x${toHex(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 { 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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,IAAAC,iBAAyB;AACzB,uBAAsB;;;ACHtB,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,gCAAS,QAAQ,UAAU,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,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,WAAO,IAAI,eAAW,iBAAAC,SAAU,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,iCAAS,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;AACnB,WAAO,QAAQ,MAAM,qBAAqB,OAAO,IAAI,EAAE,IAAI,GAAG;AAAA,EAChE;AAAA,EAJA,OAAO;AAAA,EAMP,IAAc,SAAS;AACrB,WAAO,KAAK,QAAQ,UAAU,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","keccak256"]}
@@ -11,7 +11,6 @@ var AbstractData = class _AbstractData {
11
11
  // src/Data/Data.ts
12
12
  import { base16 as base162, base58 as base582 } from "@scure/base";
13
13
  import { assertEx as assertEx2 } from "@xylabs/assert";
14
- import { toHex } from "@xylabs/hex";
15
14
  import keccak256 from "keccak256";
16
15
 
17
16
  // src/Data/toUint8Array.ts
@@ -67,7 +66,7 @@ var Data = class _Data extends AbstractData {
67
66
  }
68
67
  get keccak256() {
69
68
  this.checkLength();
70
- return Buffer.from(keccak256(`0x${toHex(this.bytes)}`));
69
+ return new Uint8Array(keccak256(new Buffer(this.bytes)));
71
70
  }
72
71
  static from(data) {
73
72
  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(): Buffer\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 { toHex } from '@xylabs/hex'\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 Buffer.from(keccak256(`0x${toHex(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 { 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,9 +1,8 @@
1
- /// <reference types="node" />
2
1
  export declare abstract class AbstractData {
3
2
  get length(): number;
4
3
  abstract get bytes(): ArrayBuffer;
5
4
  abstract get hex(): string;
6
- abstract get keccak256(): Buffer;
5
+ abstract get keccak256(): ArrayBuffer;
7
6
  static is(value: unknown): value is AbstractData;
8
7
  }
9
8
  //# sourceMappingURL=AbstractData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractData.d.ts","sourceRoot":"","sources":["../../../src/Data/AbstractData.ts"],"names":[],"mappings":";AAAA,8BAAsB,YAAY;IAChC,IAAI,MAAM,WAET;IAED,QAAQ,KAAK,KAAK,IAAI,WAAW,CAAA;IAEjC,QAAQ,KAAK,GAAG,IAAI,MAAM,CAAA;IAE1B,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAA;IAEhC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY;CAGjD"}
1
+ {"version":3,"file":"AbstractData.d.ts","sourceRoot":"","sources":["../../../src/Data/AbstractData.ts"],"names":[],"mappings":"AAAA,8BAAsB,YAAY;IAChC,IAAI,MAAM,WAET;IAED,QAAQ,KAAK,KAAK,IAAI,WAAW,CAAA;IAEjC,QAAQ,KAAK,GAAG,IAAI,MAAM,CAAA;IAE1B,QAAQ,KAAK,SAAS,IAAI,WAAW,CAAA;IAErC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY;CAGjD"}
@@ -1,9 +1,8 @@
1
- /// <reference types="node" />
2
1
  export declare abstract class AbstractData {
3
2
  get length(): number;
4
3
  abstract get bytes(): ArrayBuffer;
5
4
  abstract get hex(): string;
6
- abstract get keccak256(): Buffer;
5
+ abstract get keccak256(): ArrayBuffer;
7
6
  static is(value: unknown): value is AbstractData;
8
7
  }
9
8
  //# sourceMappingURL=AbstractData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractData.d.ts","sourceRoot":"","sources":["../../../src/Data/AbstractData.ts"],"names":[],"mappings":";AAAA,8BAAsB,YAAY;IAChC,IAAI,MAAM,WAET;IAED,QAAQ,KAAK,KAAK,IAAI,WAAW,CAAA;IAEjC,QAAQ,KAAK,GAAG,IAAI,MAAM,CAAA;IAE1B,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAA;IAEhC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY;CAGjD"}
1
+ {"version":3,"file":"AbstractData.d.ts","sourceRoot":"","sources":["../../../src/Data/AbstractData.ts"],"names":[],"mappings":"AAAA,8BAAsB,YAAY;IAChC,IAAI,MAAM,WAET;IAED,QAAQ,KAAK,KAAK,IAAI,WAAW,CAAA;IAEjC,QAAQ,KAAK,GAAG,IAAI,MAAM,CAAA;IAE1B,QAAQ,KAAK,SAAS,IAAI,WAAW,CAAA;IAErC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY;CAGjD"}
@@ -1,9 +1,8 @@
1
- /// <reference types="node" />
2
1
  export declare abstract class AbstractData {
3
2
  get length(): number;
4
3
  abstract get bytes(): ArrayBuffer;
5
4
  abstract get hex(): string;
6
- abstract get keccak256(): Buffer;
5
+ abstract get keccak256(): ArrayBuffer;
7
6
  static is(value: unknown): value is AbstractData;
8
7
  }
9
8
  //# sourceMappingURL=AbstractData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractData.d.ts","sourceRoot":"","sources":["../../../src/Data/AbstractData.ts"],"names":[],"mappings":";AAAA,8BAAsB,YAAY;IAChC,IAAI,MAAM,WAET;IAED,QAAQ,KAAK,KAAK,IAAI,WAAW,CAAA;IAEjC,QAAQ,KAAK,GAAG,IAAI,MAAM,CAAA;IAE1B,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAA;IAEhC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY;CAGjD"}
1
+ {"version":3,"file":"AbstractData.d.ts","sourceRoot":"","sources":["../../../src/Data/AbstractData.ts"],"names":[],"mappings":"AAAA,8BAAsB,YAAY;IAChC,IAAI,MAAM,WAET;IAED,QAAQ,KAAK,KAAK,IAAI,WAAW,CAAA;IAEjC,QAAQ,KAAK,GAAG,IAAI,MAAM,CAAA;IAE1B,QAAQ,KAAK,SAAS,IAAI,WAAW,CAAA;IAErC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY;CAGjD"}
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { AbstractData } from './AbstractData';
3
2
  import { DataLike } from './DataLike';
4
3
  export declare class Data extends AbstractData {
@@ -9,7 +8,7 @@ export declare class Data extends AbstractData {
9
8
  get base58(): string;
10
9
  get bytes(): ArrayBuffer;
11
10
  get hex(): string;
12
- get keccak256(): Buffer;
11
+ get keccak256(): Uint8Array;
13
12
  static from(data: DataLike | undefined): Data | undefined;
14
13
  static lengthOf(data: DataLike): number;
15
14
  private checkLength;
@@ -1 +1 @@
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,WAGZ;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":"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,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { AbstractData } from './AbstractData';
3
2
  import { DataLike } from './DataLike';
4
3
  export declare class Data extends AbstractData {
@@ -9,7 +8,7 @@ export declare class Data extends AbstractData {
9
8
  get base58(): string;
10
9
  get bytes(): ArrayBuffer;
11
10
  get hex(): string;
12
- get keccak256(): Buffer;
11
+ get keccak256(): Uint8Array;
13
12
  static from(data: DataLike | undefined): Data | undefined;
14
13
  static lengthOf(data: DataLike): number;
15
14
  private checkLength;
@@ -1 +1 @@
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,WAGZ;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":"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,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { AbstractData } from './AbstractData';
3
2
  import { DataLike } from './DataLike';
4
3
  export declare class Data extends AbstractData {
@@ -9,7 +8,7 @@ export declare class Data extends AbstractData {
9
8
  get base58(): string;
10
9
  get bytes(): ArrayBuffer;
11
10
  get hex(): string;
12
- get keccak256(): Buffer;
11
+ get keccak256(): Uint8Array;
13
12
  static from(data: DataLike | undefined): Data | undefined;
14
13
  static lengthOf(data: DataLike): number;
15
14
  private checkLength;
@@ -1 +1 @@
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,WAGZ;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":"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"}
@@ -56,7 +56,6 @@ var AbstractData = class _AbstractData {
56
56
  // src/Data/Data.ts
57
57
  var import_base2 = require("@scure/base");
58
58
  var import_assert2 = require("@xylabs/assert");
59
- var import_hex = require("@xylabs/hex");
60
59
  var import_keccak256 = __toESM(require("keccak256"), 1);
61
60
 
62
61
  // src/Data/toUint8Array.ts
@@ -112,7 +111,7 @@ var Data = class _Data extends AbstractData {
112
111
  }
113
112
  get keccak256() {
114
113
  this.checkLength();
115
- return Buffer.from((0, import_keccak256.default)(`0x${(0, import_hex.toHex)(this.bytes)}`));
114
+ return new Uint8Array((0, import_keccak256.default)(new Buffer(this.bytes)));
116
115
  }
117
116
  static from(data) {
118
117
  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(): Buffer\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 { toHex } from '@xylabs/hex'\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 Buffer.from(keccak256(`0x${toHex(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 { 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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,IAAAC,iBAAyB;AACzB,uBAAsB;;;ACHtB,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;;;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,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,WAAO,IAAI,eAAW,iBAAAC,SAAU,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,iCAAS,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,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","keccak256"]}
@@ -11,7 +11,6 @@ var AbstractData = class _AbstractData {
11
11
  // src/Data/Data.ts
12
12
  import { base16 as base162, base58 as base582 } from "@scure/base";
13
13
  import { assertEx as assertEx2 } from "@xylabs/assert";
14
- import { toHex } from "@xylabs/hex";
15
14
  import keccak256 from "keccak256";
16
15
 
17
16
  // src/Data/toUint8Array.ts
@@ -67,7 +66,7 @@ var Data = class _Data extends AbstractData {
67
66
  }
68
67
  get keccak256() {
69
68
  this.checkLength();
70
- return Buffer.from(keccak256(`0x${toHex(this.bytes)}`));
69
+ return new Uint8Array(keccak256(new Buffer(this.bytes)));
71
70
  }
72
71
  static from(data) {
73
72
  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(): Buffer\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 { toHex } from '@xylabs/hex'\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 Buffer.from(keccak256(`0x${toHex(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 { 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"]}
package/package.json CHANGED
@@ -11,15 +11,14 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@scure/base": "^1.1.3",
14
- "@xylabs/assert": "^2.13.17",
15
- "@xylabs/hex": "^2.13.17",
16
- "@xylabs/logger": "^2.13.17",
17
- "@xylabs/promise": "^2.13.17",
18
- "@xyo-network/address": "~2.81.9",
19
- "@xyo-network/hash": "~2.81.9",
20
- "@xyo-network/object": "~2.81.9",
21
- "@xyo-network/typeof": "~2.81.9",
22
- "@xyo-network/wasm": "~2.81.9",
14
+ "@xylabs/assert": "^2.13.18",
15
+ "@xylabs/logger": "^2.13.18",
16
+ "@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",
23
22
  "keccak256": "^1.0.6",
24
23
  "uuid": "^9.0.1"
25
24
  },
@@ -69,5 +68,5 @@
69
68
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
70
69
  },
71
70
  "sideEffects": false,
72
- "version": "2.81.9"
71
+ "version": "2.81.10"
73
72
  }
@@ -7,7 +7,7 @@ export abstract class AbstractData {
7
7
 
8
8
  abstract get hex(): string
9
9
 
10
- abstract get keccak256(): Buffer
10
+ abstract get keccak256(): ArrayBuffer
11
11
 
12
12
  static is(value: unknown): value is AbstractData {
13
13
  return value instanceof AbstractData
package/src/Data/Data.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  /* eslint-disable import/no-deprecated */
2
2
  import { base16, base58 } from '@scure/base'
3
3
  import { assertEx } from '@xylabs/assert'
4
- import { toHex } from '@xylabs/hex'
5
4
  import keccak256 from 'keccak256'
6
5
 
7
6
  import { AbstractData } from './AbstractData'
@@ -36,7 +35,7 @@ export class Data extends AbstractData {
36
35
 
37
36
  get keccak256() {
38
37
  this.checkLength()
39
- return Buffer.from(keccak256(`0x${toHex(this.bytes)}`))
38
+ return new Uint8Array(keccak256(new Buffer(this.bytes)))
40
39
  }
41
40
 
42
41
  static from(data: DataLike | undefined) {