@xyo-network/core 2.82.0-rc.1 → 2.82.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/Data/AbstractData.d.cts +1 -2
- package/dist/browser/Data/AbstractData.d.cts.map +1 -1
- package/dist/browser/Data/AbstractData.d.mts +1 -2
- package/dist/browser/Data/AbstractData.d.mts.map +1 -1
- package/dist/browser/Data/AbstractData.d.ts +1 -2
- package/dist/browser/Data/AbstractData.d.ts.map +1 -1
- package/dist/browser/Data/Data.d.cts +1 -2
- package/dist/browser/Data/Data.d.cts.map +1 -1
- package/dist/browser/Data/Data.d.mts +1 -2
- package/dist/browser/Data/Data.d.mts.map +1 -1
- package/dist/browser/Data/Data.d.ts +1 -2
- package/dist/browser/Data/Data.d.ts.map +1 -1
- package/dist/browser/Data/index.d.cts +1 -0
- package/dist/browser/Data/index.d.cts.map +1 -1
- package/dist/browser/Data/index.d.mts +1 -0
- package/dist/browser/Data/index.d.mts.map +1 -1
- package/dist/browser/Data/index.d.ts +1 -0
- package/dist/browser/Data/index.d.ts.map +1 -1
- package/dist/browser/Data/toUint8Array.d.cts +7 -0
- package/dist/browser/Data/toUint8Array.d.cts.map +1 -0
- package/dist/browser/Data/toUint8Array.d.mts +7 -0
- package/dist/browser/Data/toUint8Array.d.mts.map +1 -0
- package/dist/browser/Data/toUint8Array.d.ts +7 -0
- package/dist/browser/Data/toUint8Array.d.ts.map +1 -0
- package/dist/browser/index.cjs +43 -19
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +43 -9
- package/dist/browser/index.js.map +1 -1
- package/dist/node/Data/AbstractData.d.cts +1 -2
- package/dist/node/Data/AbstractData.d.cts.map +1 -1
- package/dist/node/Data/AbstractData.d.mts +1 -2
- package/dist/node/Data/AbstractData.d.mts.map +1 -1
- package/dist/node/Data/AbstractData.d.ts +1 -2
- package/dist/node/Data/AbstractData.d.ts.map +1 -1
- package/dist/node/Data/Data.d.cts +1 -2
- package/dist/node/Data/Data.d.cts.map +1 -1
- package/dist/node/Data/Data.d.mts +1 -2
- package/dist/node/Data/Data.d.mts.map +1 -1
- package/dist/node/Data/Data.d.ts +1 -2
- package/dist/node/Data/Data.d.ts.map +1 -1
- package/dist/node/Data/index.d.cts +1 -0
- package/dist/node/Data/index.d.cts.map +1 -1
- package/dist/node/Data/index.d.mts +1 -0
- package/dist/node/Data/index.d.mts.map +1 -1
- package/dist/node/Data/index.d.ts +1 -0
- package/dist/node/Data/index.d.ts.map +1 -1
- package/dist/node/Data/toUint8Array.d.cts +7 -0
- package/dist/node/Data/toUint8Array.d.cts.map +1 -0
- package/dist/node/Data/toUint8Array.d.mts +7 -0
- package/dist/node/Data/toUint8Array.d.mts.map +1 -0
- package/dist/node/Data/toUint8Array.d.ts +7 -0
- package/dist/node/Data/toUint8Array.d.ts.map +1 -0
- package/dist/node/index.cjs +45 -19
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +43 -9
- package/dist/node/index.js.map +1 -1
- package/package.json +11 -11
- package/src/Data/AbstractData.ts +1 -1
- package/src/Data/Data.ts +5 -5
- package/src/Data/index.ts +1 -0
- package/src/Data/toUint8Array.ts +42 -0
|
@@ -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():
|
|
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":"
|
|
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():
|
|
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":"
|
|
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():
|
|
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":"
|
|
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():
|
|
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":"
|
|
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,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():
|
|
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":"
|
|
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,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():
|
|
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":"
|
|
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":"index.d.ts","sourceRoot":"","sources":["../../../src/Data/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Data/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Data/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Data/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Data/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Data/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DataLike } from './DataLike';
|
|
2
|
+
/** @deprecated use ArrayBuffer instead */
|
|
3
|
+
export declare const toUint8ArrayOptional: (value?: DataLike, padLength?: number, base?: number) => Uint8Array | undefined;
|
|
4
|
+
export declare function toUint8Array(value: undefined, padLength?: number, base?: number): undefined;
|
|
5
|
+
export declare function toUint8Array(value: DataLike, padLength?: number, base?: number): Uint8Array;
|
|
6
|
+
export declare function toUint8Array(value: DataLike | undefined, padLength?: number, base?: number): Uint8Array | undefined;
|
|
7
|
+
//# sourceMappingURL=toUint8Array.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toUint8Array.d.ts","sourceRoot":"","sources":["../../../src/Data/toUint8Array.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAarC,0CAA0C;AAC1C,eAAO,MAAM,oBAAoB,WAAY,QAAQ,cAAc,MAAM,SAAS,MAAM,KAAG,UAAU,GAAG,SAEvG,CAAA;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;AAC5F,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;AAC5F,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DataLike } from './DataLike';
|
|
2
|
+
/** @deprecated use ArrayBuffer instead */
|
|
3
|
+
export declare const toUint8ArrayOptional: (value?: DataLike, padLength?: number, base?: number) => Uint8Array | undefined;
|
|
4
|
+
export declare function toUint8Array(value: undefined, padLength?: number, base?: number): undefined;
|
|
5
|
+
export declare function toUint8Array(value: DataLike, padLength?: number, base?: number): Uint8Array;
|
|
6
|
+
export declare function toUint8Array(value: DataLike | undefined, padLength?: number, base?: number): Uint8Array | undefined;
|
|
7
|
+
//# sourceMappingURL=toUint8Array.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toUint8Array.d.ts","sourceRoot":"","sources":["../../../src/Data/toUint8Array.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAarC,0CAA0C;AAC1C,eAAO,MAAM,oBAAoB,WAAY,QAAQ,cAAc,MAAM,SAAS,MAAM,KAAG,UAAU,GAAG,SAEvG,CAAA;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;AAC5F,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;AAC5F,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DataLike } from './DataLike';
|
|
2
|
+
/** @deprecated use ArrayBuffer instead */
|
|
3
|
+
export declare const toUint8ArrayOptional: (value?: DataLike, padLength?: number, base?: number) => Uint8Array | undefined;
|
|
4
|
+
export declare function toUint8Array(value: undefined, padLength?: number, base?: number): undefined;
|
|
5
|
+
export declare function toUint8Array(value: DataLike, padLength?: number, base?: number): Uint8Array;
|
|
6
|
+
export declare function toUint8Array(value: DataLike | undefined, padLength?: number, base?: number): Uint8Array | undefined;
|
|
7
|
+
//# sourceMappingURL=toUint8Array.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toUint8Array.d.ts","sourceRoot":"","sources":["../../../src/Data/toUint8Array.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAarC,0CAA0C;AAC1C,eAAO,MAAM,oBAAoB,WAAY,QAAQ,cAAc,MAAM,SAAS,MAAM,KAAG,UAAU,GAAG,SAEvG,CAAA;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;AAC5F,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;AAC5F,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA"}
|
package/dist/browser/index.cjs
CHANGED
|
@@ -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
|
|
@@ -37,6 +27,8 @@ __export(src_exports, {
|
|
|
37
27
|
ValidatorBase: () => ValidatorBase,
|
|
38
28
|
dumpErrors: () => dumpErrors,
|
|
39
29
|
isBrowser: () => isBrowser,
|
|
30
|
+
toUint8Array: () => toUint8Array,
|
|
31
|
+
toUint8ArrayOptional: () => toUint8ArrayOptional,
|
|
40
32
|
uuid: () => uuid
|
|
41
33
|
});
|
|
42
34
|
module.exports = __toCommonJS(src_exports);
|
|
@@ -52,33 +44,65 @@ var AbstractData = class _AbstractData {
|
|
|
52
44
|
};
|
|
53
45
|
|
|
54
46
|
// src/Data/Data.ts
|
|
47
|
+
var import_base2 = require("@scure/base");
|
|
48
|
+
var import_arraybuffer = require("@xylabs/arraybuffer");
|
|
49
|
+
var import_assert2 = require("@xylabs/assert");
|
|
50
|
+
var import_ethers = require("ethers");
|
|
51
|
+
|
|
52
|
+
// src/Data/toUint8Array.ts
|
|
55
53
|
var import_base = require("@scure/base");
|
|
56
54
|
var import_assert = require("@xylabs/assert");
|
|
57
|
-
var
|
|
58
|
-
var
|
|
59
|
-
|
|
55
|
+
var import_typeof = require("@xyo-network/typeof");
|
|
56
|
+
var stringToUint8Array = (value, base = 16) => {
|
|
57
|
+
switch (base) {
|
|
58
|
+
case 16:
|
|
59
|
+
return import_base.base16.decode((value.startsWith("0x") ? value.slice(2) : value).toUpperCase());
|
|
60
|
+
case 58:
|
|
61
|
+
return import_base.base58.decode(value);
|
|
62
|
+
default:
|
|
63
|
+
throw Error(`Unsupported base [${base}]`);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
var toUint8ArrayOptional = (value, padLength, base) => {
|
|
67
|
+
return value ? toUint8Array(value, padLength, base) : void 0;
|
|
68
|
+
};
|
|
69
|
+
function toUint8Array(value, padLength, base) {
|
|
70
|
+
if (value === void 0)
|
|
71
|
+
return void 0;
|
|
72
|
+
let result = (0, import_typeof.ifTypeOf)("string", value, (value2) => stringToUint8Array(value2, base)) ?? value;
|
|
73
|
+
if (result === void 0) {
|
|
74
|
+
throw Error(`toUint8Array - Unknown type: ${typeof value}`);
|
|
75
|
+
}
|
|
76
|
+
if (padLength && result.length < padLength) {
|
|
77
|
+
result = new Uint8Array([...new Uint8Array(padLength - result.length), ...result]);
|
|
78
|
+
(0, import_assert.assertEx)(result?.length <= padLength, "Resulting length is greater than padLength");
|
|
79
|
+
}
|
|
80
|
+
return result;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// src/Data/Data.ts
|
|
60
84
|
var Data = class _Data extends AbstractData {
|
|
61
85
|
_bytes;
|
|
62
86
|
_length;
|
|
63
87
|
constructor(length, bytes, base) {
|
|
64
88
|
super();
|
|
65
|
-
this._bytes = (
|
|
89
|
+
this._bytes = toUint8ArrayOptional(bytes, length, base);
|
|
66
90
|
this._length = length;
|
|
67
91
|
}
|
|
68
92
|
get base58() {
|
|
69
93
|
this.checkLength();
|
|
70
|
-
return
|
|
94
|
+
return import_base2.base58.encode(new Uint8Array(this.bytes));
|
|
71
95
|
}
|
|
72
96
|
get bytes() {
|
|
73
|
-
return (0,
|
|
97
|
+
return (0, import_assert2.assertEx)(this._bytes, "Data uninitialized");
|
|
74
98
|
}
|
|
75
99
|
get hex() {
|
|
76
100
|
this.checkLength();
|
|
77
|
-
return
|
|
101
|
+
return import_base2.base16.encode(new Uint8Array(this.bytes)).toLowerCase();
|
|
78
102
|
}
|
|
79
103
|
get keccak256() {
|
|
80
104
|
this.checkLength();
|
|
81
|
-
return
|
|
105
|
+
return (0, import_arraybuffer.toArrayBuffer)((0, import_ethers.keccak256)(new Uint8Array(this.bytes)));
|
|
82
106
|
}
|
|
83
107
|
static from(data) {
|
|
84
108
|
return data ? new _Data(_Data.lengthOf(data), data) : void 0;
|
|
@@ -93,7 +117,7 @@ var Data = class _Data extends AbstractData {
|
|
|
93
117
|
}
|
|
94
118
|
}
|
|
95
119
|
checkLength() {
|
|
96
|
-
(0,
|
|
120
|
+
(0, import_assert2.assertEx)(this.bytes.byteLength === this._length, `Length Mismatch: ${this.bytes.byteLength} !== ${this._length}`);
|
|
97
121
|
}
|
|
98
122
|
};
|
|
99
123
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/Data/AbstractData.ts","../../src/Data/Data.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():
|
|
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"]}
|
package/dist/browser/index.js
CHANGED
|
@@ -9,33 +9,65 @@ var AbstractData = class _AbstractData {
|
|
|
9
9
|
};
|
|
10
10
|
|
|
11
11
|
// src/Data/Data.ts
|
|
12
|
+
import { base16 as base162, base58 as base582 } from "@scure/base";
|
|
13
|
+
import { toArrayBuffer } from "@xylabs/arraybuffer";
|
|
14
|
+
import { assertEx as assertEx2 } from "@xylabs/assert";
|
|
15
|
+
import { keccak256 } from "ethers";
|
|
16
|
+
|
|
17
|
+
// src/Data/toUint8Array.ts
|
|
12
18
|
import { base16, base58 } from "@scure/base";
|
|
13
19
|
import { assertEx } from "@xylabs/assert";
|
|
14
|
-
import {
|
|
15
|
-
|
|
16
|
-
|
|
20
|
+
import { ifTypeOf } from "@xyo-network/typeof";
|
|
21
|
+
var stringToUint8Array = (value, base = 16) => {
|
|
22
|
+
switch (base) {
|
|
23
|
+
case 16:
|
|
24
|
+
return base16.decode((value.startsWith("0x") ? value.slice(2) : value).toUpperCase());
|
|
25
|
+
case 58:
|
|
26
|
+
return base58.decode(value);
|
|
27
|
+
default:
|
|
28
|
+
throw Error(`Unsupported base [${base}]`);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
var toUint8ArrayOptional = (value, padLength, base) => {
|
|
32
|
+
return value ? toUint8Array(value, padLength, base) : void 0;
|
|
33
|
+
};
|
|
34
|
+
function toUint8Array(value, padLength, base) {
|
|
35
|
+
if (value === void 0)
|
|
36
|
+
return void 0;
|
|
37
|
+
let result = ifTypeOf("string", value, (value2) => stringToUint8Array(value2, base)) ?? value;
|
|
38
|
+
if (result === void 0) {
|
|
39
|
+
throw Error(`toUint8Array - Unknown type: ${typeof value}`);
|
|
40
|
+
}
|
|
41
|
+
if (padLength && result.length < padLength) {
|
|
42
|
+
result = new Uint8Array([...new Uint8Array(padLength - result.length), ...result]);
|
|
43
|
+
assertEx(result?.length <= padLength, "Resulting length is greater than padLength");
|
|
44
|
+
}
|
|
45
|
+
return result;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// src/Data/Data.ts
|
|
17
49
|
var Data = class _Data extends AbstractData {
|
|
18
50
|
_bytes;
|
|
19
51
|
_length;
|
|
20
52
|
constructor(length, bytes, base) {
|
|
21
53
|
super();
|
|
22
|
-
this._bytes =
|
|
54
|
+
this._bytes = toUint8ArrayOptional(bytes, length, base);
|
|
23
55
|
this._length = length;
|
|
24
56
|
}
|
|
25
57
|
get base58() {
|
|
26
58
|
this.checkLength();
|
|
27
|
-
return
|
|
59
|
+
return base582.encode(new Uint8Array(this.bytes));
|
|
28
60
|
}
|
|
29
61
|
get bytes() {
|
|
30
|
-
return
|
|
62
|
+
return assertEx2(this._bytes, "Data uninitialized");
|
|
31
63
|
}
|
|
32
64
|
get hex() {
|
|
33
65
|
this.checkLength();
|
|
34
|
-
return
|
|
66
|
+
return base162.encode(new Uint8Array(this.bytes)).toLowerCase();
|
|
35
67
|
}
|
|
36
68
|
get keccak256() {
|
|
37
69
|
this.checkLength();
|
|
38
|
-
return
|
|
70
|
+
return toArrayBuffer(keccak256(new Uint8Array(this.bytes)));
|
|
39
71
|
}
|
|
40
72
|
static from(data) {
|
|
41
73
|
return data ? new _Data(_Data.lengthOf(data), data) : void 0;
|
|
@@ -50,7 +82,7 @@ var Data = class _Data extends AbstractData {
|
|
|
50
82
|
}
|
|
51
83
|
}
|
|
52
84
|
checkLength() {
|
|
53
|
-
|
|
85
|
+
assertEx2(this.bytes.byteLength === this._length, `Length Mismatch: ${this.bytes.byteLength} !== ${this._length}`);
|
|
54
86
|
}
|
|
55
87
|
};
|
|
56
88
|
|
|
@@ -114,6 +146,8 @@ export {
|
|
|
114
146
|
ValidatorBase,
|
|
115
147
|
dumpErrors,
|
|
116
148
|
isBrowser,
|
|
149
|
+
toUint8Array,
|
|
150
|
+
toUint8ArrayOptional,
|
|
117
151
|
uuid
|
|
118
152
|
};
|
|
119
153
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Data/AbstractData.ts","../../src/Data/Data.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():
|
|
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":";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,qBAAqB;AAC9B,SAAS,YAAAC,iBAAgB;AACzB,SAAS,iBAAiB;;;ACJ1B,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,aAAS,QAAQ,UAAU,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,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,cAAc,UAAU,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,IAAAD,UAAS,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;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,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,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():
|
|
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":"
|
|
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():
|
|
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":"
|
|
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():
|
|
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":"
|
|
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():
|
|
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":"
|
|
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,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():
|
|
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":"
|
|
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"}
|
package/dist/node/Data/Data.d.ts
CHANGED
|
@@ -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():
|
|
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":"
|
|
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":"index.d.ts","sourceRoot":"","sources":["../../../src/Data/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Data/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Data/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Data/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Data/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Data/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DataLike } from './DataLike';
|
|
2
|
+
/** @deprecated use ArrayBuffer instead */
|
|
3
|
+
export declare const toUint8ArrayOptional: (value?: DataLike, padLength?: number, base?: number) => Uint8Array | undefined;
|
|
4
|
+
export declare function toUint8Array(value: undefined, padLength?: number, base?: number): undefined;
|
|
5
|
+
export declare function toUint8Array(value: DataLike, padLength?: number, base?: number): Uint8Array;
|
|
6
|
+
export declare function toUint8Array(value: DataLike | undefined, padLength?: number, base?: number): Uint8Array | undefined;
|
|
7
|
+
//# sourceMappingURL=toUint8Array.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toUint8Array.d.ts","sourceRoot":"","sources":["../../../src/Data/toUint8Array.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAarC,0CAA0C;AAC1C,eAAO,MAAM,oBAAoB,WAAY,QAAQ,cAAc,MAAM,SAAS,MAAM,KAAG,UAAU,GAAG,SAEvG,CAAA;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;AAC5F,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;AAC5F,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DataLike } from './DataLike';
|
|
2
|
+
/** @deprecated use ArrayBuffer instead */
|
|
3
|
+
export declare const toUint8ArrayOptional: (value?: DataLike, padLength?: number, base?: number) => Uint8Array | undefined;
|
|
4
|
+
export declare function toUint8Array(value: undefined, padLength?: number, base?: number): undefined;
|
|
5
|
+
export declare function toUint8Array(value: DataLike, padLength?: number, base?: number): Uint8Array;
|
|
6
|
+
export declare function toUint8Array(value: DataLike | undefined, padLength?: number, base?: number): Uint8Array | undefined;
|
|
7
|
+
//# sourceMappingURL=toUint8Array.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toUint8Array.d.ts","sourceRoot":"","sources":["../../../src/Data/toUint8Array.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAarC,0CAA0C;AAC1C,eAAO,MAAM,oBAAoB,WAAY,QAAQ,cAAc,MAAM,SAAS,MAAM,KAAG,UAAU,GAAG,SAEvG,CAAA;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;AAC5F,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;AAC5F,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DataLike } from './DataLike';
|
|
2
|
+
/** @deprecated use ArrayBuffer instead */
|
|
3
|
+
export declare const toUint8ArrayOptional: (value?: DataLike, padLength?: number, base?: number) => Uint8Array | undefined;
|
|
4
|
+
export declare function toUint8Array(value: undefined, padLength?: number, base?: number): undefined;
|
|
5
|
+
export declare function toUint8Array(value: DataLike, padLength?: number, base?: number): Uint8Array;
|
|
6
|
+
export declare function toUint8Array(value: DataLike | undefined, padLength?: number, base?: number): Uint8Array | undefined;
|
|
7
|
+
//# sourceMappingURL=toUint8Array.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toUint8Array.d.ts","sourceRoot":"","sources":["../../../src/Data/toUint8Array.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAarC,0CAA0C;AAC1C,eAAO,MAAM,oBAAoB,WAAY,QAAQ,cAAc,MAAM,SAAS,MAAM,KAAG,UAAU,GAAG,SAEvG,CAAA;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;AAC5F,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;AAC5F,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,SAAS,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAA"}
|
package/dist/node/index.cjs
CHANGED
|
@@ -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
|
|
@@ -37,6 +27,8 @@ __export(src_exports, {
|
|
|
37
27
|
ValidatorBase: () => ValidatorBase,
|
|
38
28
|
dumpErrors: () => dumpErrors,
|
|
39
29
|
isBrowser: () => isBrowser,
|
|
30
|
+
toUint8Array: () => toUint8Array,
|
|
31
|
+
toUint8ArrayOptional: () => toUint8ArrayOptional,
|
|
40
32
|
uuid: () => uuid
|
|
41
33
|
});
|
|
42
34
|
module.exports = __toCommonJS(src_exports);
|
|
@@ -52,33 +44,65 @@ var AbstractData = class _AbstractData {
|
|
|
52
44
|
};
|
|
53
45
|
|
|
54
46
|
// src/Data/Data.ts
|
|
47
|
+
var import_base2 = require("@scure/base");
|
|
48
|
+
var import_arraybuffer = require("@xylabs/arraybuffer");
|
|
49
|
+
var import_assert2 = require("@xylabs/assert");
|
|
50
|
+
var import_ethers = require("ethers");
|
|
51
|
+
|
|
52
|
+
// src/Data/toUint8Array.ts
|
|
55
53
|
var import_base = require("@scure/base");
|
|
56
54
|
var import_assert = require("@xylabs/assert");
|
|
57
|
-
var
|
|
58
|
-
var
|
|
59
|
-
|
|
55
|
+
var import_typeof = require("@xyo-network/typeof");
|
|
56
|
+
var stringToUint8Array = (value, base = 16) => {
|
|
57
|
+
switch (base) {
|
|
58
|
+
case 16:
|
|
59
|
+
return import_base.base16.decode((value.startsWith("0x") ? value.slice(2) : value).toUpperCase());
|
|
60
|
+
case 58:
|
|
61
|
+
return import_base.base58.decode(value);
|
|
62
|
+
default:
|
|
63
|
+
throw Error(`Unsupported base [${base}]`);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
var toUint8ArrayOptional = (value, padLength, base) => {
|
|
67
|
+
return value ? toUint8Array(value, padLength, base) : void 0;
|
|
68
|
+
};
|
|
69
|
+
function toUint8Array(value, padLength, base) {
|
|
70
|
+
if (value === void 0)
|
|
71
|
+
return void 0;
|
|
72
|
+
let result = (0, import_typeof.ifTypeOf)("string", value, (value2) => stringToUint8Array(value2, base)) ?? value;
|
|
73
|
+
if (result === void 0) {
|
|
74
|
+
throw Error(`toUint8Array - Unknown type: ${typeof value}`);
|
|
75
|
+
}
|
|
76
|
+
if (padLength && result.length < padLength) {
|
|
77
|
+
result = new Uint8Array([...new Uint8Array(padLength - result.length), ...result]);
|
|
78
|
+
(0, import_assert.assertEx)((result == null ? void 0 : result.length) <= padLength, "Resulting length is greater than padLength");
|
|
79
|
+
}
|
|
80
|
+
return result;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// src/Data/Data.ts
|
|
60
84
|
var Data = class _Data extends AbstractData {
|
|
61
85
|
_bytes;
|
|
62
86
|
_length;
|
|
63
87
|
constructor(length, bytes, base) {
|
|
64
88
|
super();
|
|
65
|
-
this._bytes = (
|
|
89
|
+
this._bytes = toUint8ArrayOptional(bytes, length, base);
|
|
66
90
|
this._length = length;
|
|
67
91
|
}
|
|
68
92
|
get base58() {
|
|
69
93
|
this.checkLength();
|
|
70
|
-
return
|
|
94
|
+
return import_base2.base58.encode(new Uint8Array(this.bytes));
|
|
71
95
|
}
|
|
72
96
|
get bytes() {
|
|
73
|
-
return (0,
|
|
97
|
+
return (0, import_assert2.assertEx)(this._bytes, "Data uninitialized");
|
|
74
98
|
}
|
|
75
99
|
get hex() {
|
|
76
100
|
this.checkLength();
|
|
77
|
-
return
|
|
101
|
+
return import_base2.base16.encode(new Uint8Array(this.bytes)).toLowerCase();
|
|
78
102
|
}
|
|
79
103
|
get keccak256() {
|
|
80
104
|
this.checkLength();
|
|
81
|
-
return
|
|
105
|
+
return (0, import_arraybuffer.toArrayBuffer)((0, import_ethers.keccak256)(new Uint8Array(this.bytes)));
|
|
82
106
|
}
|
|
83
107
|
static from(data) {
|
|
84
108
|
return data ? new _Data(_Data.lengthOf(data), data) : void 0;
|
|
@@ -93,7 +117,7 @@ var Data = class _Data extends AbstractData {
|
|
|
93
117
|
}
|
|
94
118
|
}
|
|
95
119
|
checkLength() {
|
|
96
|
-
(0,
|
|
120
|
+
(0, import_assert2.assertEx)(this.bytes.byteLength === this._length, `Length Mismatch: ${this.bytes.byteLength} !== ${this._length}`);
|
|
97
121
|
}
|
|
98
122
|
};
|
|
99
123
|
|
|
@@ -160,6 +184,8 @@ __reExport(src_exports, require("@xyo-network/wasm"), module.exports);
|
|
|
160
184
|
ValidatorBase,
|
|
161
185
|
dumpErrors,
|
|
162
186
|
isBrowser,
|
|
187
|
+
toUint8Array,
|
|
188
|
+
toUint8ArrayOptional,
|
|
163
189
|
uuid,
|
|
164
190
|
...require("@xyo-network/address"),
|
|
165
191
|
...require("@xyo-network/hash"),
|
package/dist/node/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/Data/AbstractData.ts","../../src/Data/Data.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():
|
|
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"]}
|
package/dist/node/index.js
CHANGED
|
@@ -9,33 +9,65 @@ var AbstractData = class _AbstractData {
|
|
|
9
9
|
};
|
|
10
10
|
|
|
11
11
|
// src/Data/Data.ts
|
|
12
|
+
import { base16 as base162, base58 as base582 } from "@scure/base";
|
|
13
|
+
import { toArrayBuffer } from "@xylabs/arraybuffer";
|
|
14
|
+
import { assertEx as assertEx2 } from "@xylabs/assert";
|
|
15
|
+
import { keccak256 } from "ethers";
|
|
16
|
+
|
|
17
|
+
// src/Data/toUint8Array.ts
|
|
12
18
|
import { base16, base58 } from "@scure/base";
|
|
13
19
|
import { assertEx } from "@xylabs/assert";
|
|
14
|
-
import {
|
|
15
|
-
|
|
16
|
-
|
|
20
|
+
import { ifTypeOf } from "@xyo-network/typeof";
|
|
21
|
+
var stringToUint8Array = (value, base = 16) => {
|
|
22
|
+
switch (base) {
|
|
23
|
+
case 16:
|
|
24
|
+
return base16.decode((value.startsWith("0x") ? value.slice(2) : value).toUpperCase());
|
|
25
|
+
case 58:
|
|
26
|
+
return base58.decode(value);
|
|
27
|
+
default:
|
|
28
|
+
throw Error(`Unsupported base [${base}]`);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
var toUint8ArrayOptional = (value, padLength, base) => {
|
|
32
|
+
return value ? toUint8Array(value, padLength, base) : void 0;
|
|
33
|
+
};
|
|
34
|
+
function toUint8Array(value, padLength, base) {
|
|
35
|
+
if (value === void 0)
|
|
36
|
+
return void 0;
|
|
37
|
+
let result = ifTypeOf("string", value, (value2) => stringToUint8Array(value2, base)) ?? value;
|
|
38
|
+
if (result === void 0) {
|
|
39
|
+
throw Error(`toUint8Array - Unknown type: ${typeof value}`);
|
|
40
|
+
}
|
|
41
|
+
if (padLength && result.length < padLength) {
|
|
42
|
+
result = new Uint8Array([...new Uint8Array(padLength - result.length), ...result]);
|
|
43
|
+
assertEx((result == null ? void 0 : result.length) <= padLength, "Resulting length is greater than padLength");
|
|
44
|
+
}
|
|
45
|
+
return result;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// src/Data/Data.ts
|
|
17
49
|
var Data = class _Data extends AbstractData {
|
|
18
50
|
_bytes;
|
|
19
51
|
_length;
|
|
20
52
|
constructor(length, bytes, base) {
|
|
21
53
|
super();
|
|
22
|
-
this._bytes =
|
|
54
|
+
this._bytes = toUint8ArrayOptional(bytes, length, base);
|
|
23
55
|
this._length = length;
|
|
24
56
|
}
|
|
25
57
|
get base58() {
|
|
26
58
|
this.checkLength();
|
|
27
|
-
return
|
|
59
|
+
return base582.encode(new Uint8Array(this.bytes));
|
|
28
60
|
}
|
|
29
61
|
get bytes() {
|
|
30
|
-
return
|
|
62
|
+
return assertEx2(this._bytes, "Data uninitialized");
|
|
31
63
|
}
|
|
32
64
|
get hex() {
|
|
33
65
|
this.checkLength();
|
|
34
|
-
return
|
|
66
|
+
return base162.encode(new Uint8Array(this.bytes)).toLowerCase();
|
|
35
67
|
}
|
|
36
68
|
get keccak256() {
|
|
37
69
|
this.checkLength();
|
|
38
|
-
return
|
|
70
|
+
return toArrayBuffer(keccak256(new Uint8Array(this.bytes)));
|
|
39
71
|
}
|
|
40
72
|
static from(data) {
|
|
41
73
|
return data ? new _Data(_Data.lengthOf(data), data) : void 0;
|
|
@@ -50,7 +82,7 @@ var Data = class _Data extends AbstractData {
|
|
|
50
82
|
}
|
|
51
83
|
}
|
|
52
84
|
checkLength() {
|
|
53
|
-
|
|
85
|
+
assertEx2(this.bytes.byteLength === this._length, `Length Mismatch: ${this.bytes.byteLength} !== ${this._length}`);
|
|
54
86
|
}
|
|
55
87
|
};
|
|
56
88
|
|
|
@@ -116,6 +148,8 @@ export {
|
|
|
116
148
|
ValidatorBase,
|
|
117
149
|
dumpErrors,
|
|
118
150
|
isBrowser,
|
|
151
|
+
toUint8Array,
|
|
152
|
+
toUint8ArrayOptional,
|
|
119
153
|
uuid
|
|
120
154
|
};
|
|
121
155
|
//# sourceMappingURL=index.js.map
|
package/dist/node/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Data/AbstractData.ts","../../src/Data/Data.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():
|
|
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/
|
|
15
|
-
"@xylabs/
|
|
16
|
-
"@xylabs/logger": "^2.13.
|
|
17
|
-
"@xylabs/promise": "^2.13.
|
|
18
|
-
"@xyo-network/address": "~2.82.0
|
|
19
|
-
"@xyo-network/hash": "~2.82.0
|
|
20
|
-
"@xyo-network/object": "~2.82.0
|
|
21
|
-
"@xyo-network/
|
|
22
|
-
"
|
|
14
|
+
"@xylabs/arraybuffer": "^2.13.20",
|
|
15
|
+
"@xylabs/assert": "^2.13.20",
|
|
16
|
+
"@xylabs/logger": "^2.13.20",
|
|
17
|
+
"@xylabs/promise": "^2.13.20",
|
|
18
|
+
"@xyo-network/address": "~2.82.0",
|
|
19
|
+
"@xyo-network/hash": "~2.82.0",
|
|
20
|
+
"@xyo-network/object": "~2.82.0",
|
|
21
|
+
"@xyo-network/typeof": "~2.82.0",
|
|
22
|
+
"@xyo-network/wasm": "~2.82.0",
|
|
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,6 +69,5 @@
|
|
|
68
69
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
|
|
69
70
|
},
|
|
70
71
|
"sideEffects": false,
|
|
71
|
-
"version": "2.82.0
|
|
72
|
-
"stableVersion": "2.81.7"
|
|
72
|
+
"version": "2.82.0"
|
|
73
73
|
}
|
package/src/Data/AbstractData.ts
CHANGED
package/src/Data/Data.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
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 {
|
|
5
|
-
import { toUint8Array } from '@xyo-network/hash'
|
|
6
|
-
import keccak256 from 'keccak256'
|
|
5
|
+
import { keccak256 } from 'ethers'
|
|
7
6
|
|
|
8
7
|
import { AbstractData } from './AbstractData'
|
|
9
8
|
import { DataLike } from './DataLike'
|
|
9
|
+
import { toUint8ArrayOptional } from './toUint8Array'
|
|
10
10
|
|
|
11
11
|
export class Data extends AbstractData {
|
|
12
12
|
private _bytes?: ArrayBuffer
|
|
@@ -16,7 +16,7 @@ export class Data extends AbstractData {
|
|
|
16
16
|
constructor(length: number, bytes: string, base?: number)
|
|
17
17
|
constructor(length: number, bytes?: DataLike, base?: number) {
|
|
18
18
|
super()
|
|
19
|
-
this._bytes =
|
|
19
|
+
this._bytes = toUint8ArrayOptional(bytes, length, base)
|
|
20
20
|
this._length = length
|
|
21
21
|
}
|
|
22
22
|
|
|
@@ -36,7 +36,7 @@ export class Data extends AbstractData {
|
|
|
36
36
|
|
|
37
37
|
get keccak256() {
|
|
38
38
|
this.checkLength()
|
|
39
|
-
return
|
|
39
|
+
return toArrayBuffer(keccak256(new Uint8Array(this.bytes)))
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
static from(data: DataLike | undefined) {
|
package/src/Data/index.ts
CHANGED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { base16, base58 } from '@scure/base'
|
|
2
|
+
import { assertEx } from '@xylabs/assert'
|
|
3
|
+
import { ifTypeOf } from '@xyo-network/typeof'
|
|
4
|
+
|
|
5
|
+
import { DataLike } from './DataLike'
|
|
6
|
+
|
|
7
|
+
const stringToUint8Array = (value: string, base = 16) => {
|
|
8
|
+
switch (base) {
|
|
9
|
+
case 16:
|
|
10
|
+
return base16.decode((value.startsWith('0x') ? value.slice(2) : value).toUpperCase())
|
|
11
|
+
case 58:
|
|
12
|
+
return base58.decode(value)
|
|
13
|
+
default:
|
|
14
|
+
throw Error(`Unsupported base [${base}]`)
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/** @deprecated use ArrayBuffer instead */
|
|
19
|
+
export const toUint8ArrayOptional = (value?: DataLike, padLength?: number, base?: number): Uint8Array | undefined => {
|
|
20
|
+
return value ? toUint8Array(value, padLength, base) : undefined
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export function toUint8Array(value: undefined, padLength?: number, base?: number): undefined
|
|
24
|
+
export function toUint8Array(value: DataLike, padLength?: number, base?: number): Uint8Array
|
|
25
|
+
export function toUint8Array(value: DataLike | undefined, padLength?: number, base?: number): Uint8Array | undefined
|
|
26
|
+
export function toUint8Array(value?: DataLike, padLength?: number, base?: number): Uint8Array | undefined {
|
|
27
|
+
if (value === undefined) return undefined
|
|
28
|
+
|
|
29
|
+
let result: Uint8Array | undefined =
|
|
30
|
+
ifTypeOf<string, Uint8Array>('string', value as string, (value) => stringToUint8Array(value, base)) ?? (value as Uint8Array)
|
|
31
|
+
|
|
32
|
+
if (result === undefined) {
|
|
33
|
+
throw Error(`toUint8Array - Unknown type: ${typeof value}`)
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
if (padLength && result.length < padLength) {
|
|
37
|
+
result = new Uint8Array([...new Uint8Array(padLength - result.length), ...result])
|
|
38
|
+
assertEx(result?.length <= padLength, 'Resulting length is greater than padLength')
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return result
|
|
42
|
+
}
|