@xyo-network/core 2.81.6 → 2.81.8
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 -5
- package/dist/browser/Data/AbstractData.d.cts.map +1 -1
- package/dist/browser/Data/AbstractData.d.mts +1 -5
- package/dist/browser/Data/AbstractData.d.mts.map +1 -1
- package/dist/browser/Data/AbstractData.d.ts +1 -5
- package/dist/browser/Data/AbstractData.d.ts.map +1 -1
- package/dist/browser/Data/Data.d.cts +1 -5
- package/dist/browser/Data/Data.d.cts.map +1 -1
- package/dist/browser/Data/Data.d.mts +1 -5
- package/dist/browser/Data/Data.d.mts.map +1 -1
- package/dist/browser/Data/Data.d.ts +1 -5
- package/dist/browser/Data/Data.d.ts.map +1 -1
- package/dist/browser/Data/DataLike.d.cts +1 -3
- package/dist/browser/Data/DataLike.d.cts.map +1 -1
- package/dist/browser/Data/DataLike.d.mts +1 -3
- package/dist/browser/Data/DataLike.d.mts.map +1 -1
- package/dist/browser/Data/DataLike.d.ts +1 -3
- package/dist/browser/Data/DataLike.d.ts.map +1 -1
- package/dist/browser/Data/toUint8Array.d.cts +4 -1
- package/dist/browser/Data/toUint8Array.d.cts.map +1 -1
- package/dist/browser/Data/toUint8Array.d.mts +4 -1
- package/dist/browser/Data/toUint8Array.d.mts.map +1 -1
- package/dist/browser/Data/toUint8Array.d.ts +4 -1
- package/dist/browser/Data/toUint8Array.d.ts.map +1 -1
- package/dist/browser/index.cjs +15 -31
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +15 -31
- package/dist/browser/index.js.map +1 -1
- package/dist/node/Data/AbstractData.d.cts +1 -5
- package/dist/node/Data/AbstractData.d.cts.map +1 -1
- package/dist/node/Data/AbstractData.d.mts +1 -5
- package/dist/node/Data/AbstractData.d.mts.map +1 -1
- package/dist/node/Data/AbstractData.d.ts +1 -5
- package/dist/node/Data/AbstractData.d.ts.map +1 -1
- package/dist/node/Data/Data.d.cts +1 -5
- package/dist/node/Data/Data.d.cts.map +1 -1
- package/dist/node/Data/Data.d.mts +1 -5
- package/dist/node/Data/Data.d.mts.map +1 -1
- package/dist/node/Data/Data.d.ts +1 -5
- package/dist/node/Data/Data.d.ts.map +1 -1
- package/dist/node/Data/DataLike.d.cts +1 -3
- package/dist/node/Data/DataLike.d.cts.map +1 -1
- package/dist/node/Data/DataLike.d.mts +1 -3
- package/dist/node/Data/DataLike.d.mts.map +1 -1
- package/dist/node/Data/DataLike.d.ts +1 -3
- package/dist/node/Data/DataLike.d.ts.map +1 -1
- package/dist/node/Data/toUint8Array.d.cts +4 -1
- package/dist/node/Data/toUint8Array.d.cts.map +1 -1
- package/dist/node/Data/toUint8Array.d.mts +4 -1
- package/dist/node/Data/toUint8Array.d.mts.map +1 -1
- package/dist/node/Data/toUint8Array.d.ts +4 -1
- package/dist/node/Data/toUint8Array.d.ts.map +1 -1
- package/dist/node/index.cjs +15 -31
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +15 -31
- package/dist/node/index.js.map +1 -1
- package/package.json +12 -13
- package/src/Data/AbstractData.ts +2 -9
- package/src/Data/Data.ts +8 -19
- package/src/Data/DataLike.ts +1 -5
- package/src/Data/toUint8Array.ts +12 -22
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { BigNumber } from '@xylabs/bignumber';
|
|
3
|
-
import { Buffer } from '@xylabs/buffer';
|
|
4
2
|
import { AbstractData } from './AbstractData';
|
|
5
3
|
import { DataLike } from './DataLike';
|
|
6
4
|
export declare class Data extends AbstractData {
|
|
@@ -9,9 +7,7 @@ export declare class Data extends AbstractData {
|
|
|
9
7
|
constructor(length: number, bytes?: DataLike);
|
|
10
8
|
constructor(length: number, bytes: string, base?: number);
|
|
11
9
|
get base58(): string;
|
|
12
|
-
get
|
|
13
|
-
get buffer(): Buffer;
|
|
14
|
-
get bytes(): Uint8Array;
|
|
10
|
+
get bytes(): ArrayBuffer;
|
|
15
11
|
get hex(): string;
|
|
16
12
|
get keccak256(): Buffer;
|
|
17
13
|
static from(data: DataLike | undefined): Data | undefined;
|
|
@@ -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,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,6 +1,4 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { BigNumber } from '@xylabs/bignumber';
|
|
3
|
-
import { Buffer } from '@xylabs/buffer';
|
|
4
2
|
import { AbstractData } from './AbstractData';
|
|
5
3
|
import { DataLike } from './DataLike';
|
|
6
4
|
export declare class Data extends AbstractData {
|
|
@@ -9,9 +7,7 @@ export declare class Data extends AbstractData {
|
|
|
9
7
|
constructor(length: number, bytes?: DataLike);
|
|
10
8
|
constructor(length: number, bytes: string, base?: number);
|
|
11
9
|
get base58(): string;
|
|
12
|
-
get
|
|
13
|
-
get buffer(): Buffer;
|
|
14
|
-
get bytes(): Uint8Array;
|
|
10
|
+
get bytes(): ArrayBuffer;
|
|
15
11
|
get hex(): string;
|
|
16
12
|
get keccak256(): Buffer;
|
|
17
13
|
static from(data: DataLike | undefined): Data | undefined;
|
|
@@ -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,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"}
|
package/dist/node/Data/Data.d.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { BigNumber } from '@xylabs/bignumber';
|
|
3
|
-
import { Buffer } from '@xylabs/buffer';
|
|
4
2
|
import { AbstractData } from './AbstractData';
|
|
5
3
|
import { DataLike } from './DataLike';
|
|
6
4
|
export declare class Data extends AbstractData {
|
|
@@ -9,9 +7,7 @@ export declare class Data extends AbstractData {
|
|
|
9
7
|
constructor(length: number, bytes?: DataLike);
|
|
10
8
|
constructor(length: number, bytes: string, base?: number);
|
|
11
9
|
get base58(): string;
|
|
12
|
-
get
|
|
13
|
-
get buffer(): Buffer;
|
|
14
|
-
get bytes(): Uint8Array;
|
|
10
|
+
get bytes(): ArrayBuffer;
|
|
15
11
|
get hex(): string;
|
|
16
12
|
get keccak256(): Buffer;
|
|
17
13
|
static from(data: DataLike | undefined): Data | undefined;
|
|
@@ -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,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataLike.d.ts","sourceRoot":"","sources":["../../../src/Data/DataLike.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"DataLike.d.ts","sourceRoot":"","sources":["../../../src/Data/DataLike.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataLike.d.ts","sourceRoot":"","sources":["../../../src/Data/DataLike.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"DataLike.d.ts","sourceRoot":"","sources":["../../../src/Data/DataLike.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataLike.d.ts","sourceRoot":"","sources":["../../../src/Data/DataLike.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"DataLike.d.ts","sourceRoot":"","sources":["../../../src/Data/DataLike.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,CAAA"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { DataLike } from './DataLike';
|
|
2
|
+
/** @deprecated use ArrayBuffer instead */
|
|
2
3
|
export declare const toUint8ArrayOptional: (value?: DataLike, padLength?: number, base?: number) => Uint8Array | undefined;
|
|
3
|
-
export declare
|
|
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;
|
|
4
7
|
//# sourceMappingURL=toUint8Array.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toUint8Array.d.ts","sourceRoot":"","sources":["../../../src/Data/toUint8Array.ts"],"names":[],"mappings":"
|
|
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"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { DataLike } from './DataLike';
|
|
2
|
+
/** @deprecated use ArrayBuffer instead */
|
|
2
3
|
export declare const toUint8ArrayOptional: (value?: DataLike, padLength?: number, base?: number) => Uint8Array | undefined;
|
|
3
|
-
export declare
|
|
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;
|
|
4
7
|
//# sourceMappingURL=toUint8Array.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toUint8Array.d.ts","sourceRoot":"","sources":["../../../src/Data/toUint8Array.ts"],"names":[],"mappings":"
|
|
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"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { DataLike } from './DataLike';
|
|
2
|
+
/** @deprecated use ArrayBuffer instead */
|
|
2
3
|
export declare const toUint8ArrayOptional: (value?: DataLike, padLength?: number, base?: number) => Uint8Array | undefined;
|
|
3
|
-
export declare
|
|
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;
|
|
4
7
|
//# sourceMappingURL=toUint8Array.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toUint8Array.d.ts","sourceRoot":"","sources":["../../../src/Data/toUint8Array.ts"],"names":[],"mappings":"
|
|
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
|
@@ -46,7 +46,7 @@ module.exports = __toCommonJS(src_exports);
|
|
|
46
46
|
// src/Data/AbstractData.ts
|
|
47
47
|
var AbstractData = class _AbstractData {
|
|
48
48
|
get length() {
|
|
49
|
-
return this.bytes.
|
|
49
|
+
return this.bytes.byteLength;
|
|
50
50
|
}
|
|
51
51
|
static is(value) {
|
|
52
52
|
return value instanceof _AbstractData;
|
|
@@ -56,15 +56,12 @@ 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
|
|
60
|
-
var import_buffer2 = require("@xylabs/buffer");
|
|
59
|
+
var import_hex = require("@xylabs/hex");
|
|
61
60
|
var import_keccak256 = __toESM(require("keccak256"), 1);
|
|
62
61
|
|
|
63
62
|
// src/Data/toUint8Array.ts
|
|
64
63
|
var import_base = require("@scure/base");
|
|
65
64
|
var import_assert = require("@xylabs/assert");
|
|
66
|
-
var import_bignumber = require("@xylabs/bignumber");
|
|
67
|
-
var import_buffer = require("@xylabs/buffer");
|
|
68
65
|
var import_typeof = require("@xyo-network/typeof");
|
|
69
66
|
var stringToUint8Array = (value, base = 16) => {
|
|
70
67
|
switch (base) {
|
|
@@ -76,26 +73,22 @@ var stringToUint8Array = (value, base = 16) => {
|
|
|
76
73
|
throw Error(`Unsupported base [${base}]`);
|
|
77
74
|
}
|
|
78
75
|
};
|
|
79
|
-
var bigNumberToUint8Array = (value) => {
|
|
80
|
-
return bufferToUint8Array(import_buffer.Buffer.from(new import_bignumber.BigNumber(value).toBuffer()));
|
|
81
|
-
};
|
|
82
|
-
var bufferToUint8Array = (value) => {
|
|
83
|
-
return Uint8Array.from(value);
|
|
84
|
-
};
|
|
85
|
-
var xyoDataToUint8Array = (value) => {
|
|
86
|
-
return value.bytes;
|
|
87
|
-
};
|
|
88
76
|
var toUint8ArrayOptional = (value, padLength, base) => {
|
|
89
77
|
return value ? toUint8Array(value, padLength, base) : void 0;
|
|
90
78
|
};
|
|
91
|
-
|
|
92
|
-
|
|
79
|
+
function toUint8Array(value, padLength, base) {
|
|
80
|
+
if (value === void 0)
|
|
81
|
+
return void 0;
|
|
82
|
+
let result = (0, import_typeof.ifTypeOf)("string", value, (value2) => stringToUint8Array(value2, base)) ?? value;
|
|
83
|
+
if (result === void 0) {
|
|
84
|
+
throw Error(`toUint8Array - Unknown type: ${typeof value}`);
|
|
85
|
+
}
|
|
93
86
|
if (padLength && result.length < padLength) {
|
|
94
87
|
result = new Uint8Array([...new Uint8Array(padLength - result.length), ...result]);
|
|
95
88
|
(0, import_assert.assertEx)((result == null ? void 0 : result.length) <= padLength, "Resulting length is greater than padLength");
|
|
96
89
|
}
|
|
97
90
|
return result;
|
|
98
|
-
}
|
|
91
|
+
}
|
|
99
92
|
|
|
100
93
|
// src/Data/Data.ts
|
|
101
94
|
var Data = class _Data extends AbstractData {
|
|
@@ -108,27 +101,18 @@ var Data = class _Data extends AbstractData {
|
|
|
108
101
|
}
|
|
109
102
|
get base58() {
|
|
110
103
|
this.checkLength();
|
|
111
|
-
return import_base2.base58.encode(this.bytes);
|
|
112
|
-
}
|
|
113
|
-
get bn() {
|
|
114
|
-
this.checkLength();
|
|
115
|
-
return new import_bignumber2.BigNumber(this.bytes);
|
|
116
|
-
}
|
|
117
|
-
get buffer() {
|
|
118
|
-
this.checkLength();
|
|
119
|
-
return import_buffer2.Buffer.from(this.bytes);
|
|
104
|
+
return import_base2.base58.encode(new Uint8Array(this.bytes));
|
|
120
105
|
}
|
|
121
106
|
get bytes() {
|
|
122
107
|
return (0, import_assert2.assertEx)(this._bytes, "Data uninitialized");
|
|
123
108
|
}
|
|
124
109
|
get hex() {
|
|
125
110
|
this.checkLength();
|
|
126
|
-
return import_base2.base16.encode(this.bytes).toLowerCase();
|
|
111
|
+
return import_base2.base16.encode(new Uint8Array(this.bytes)).toLowerCase();
|
|
127
112
|
}
|
|
128
113
|
get keccak256() {
|
|
129
|
-
(0, import_buffer2.bufferPolyfill)();
|
|
130
114
|
this.checkLength();
|
|
131
|
-
return
|
|
115
|
+
return Buffer.from((0, import_keccak256.default)(`0x${(0, import_hex.toHex)(this.bytes)}`));
|
|
132
116
|
}
|
|
133
117
|
static from(data) {
|
|
134
118
|
return data ? new _Data(_Data.lengthOf(data), data) : void 0;
|
|
@@ -139,11 +123,11 @@ var Data = class _Data extends AbstractData {
|
|
|
139
123
|
} else if (data instanceof AbstractData) {
|
|
140
124
|
return data.length;
|
|
141
125
|
} else {
|
|
142
|
-
return typeof data.byteLength === "function" ? data.byteLength
|
|
126
|
+
return typeof data.byteLength === "function" ? data.byteLength : data.byteLength;
|
|
143
127
|
}
|
|
144
128
|
}
|
|
145
129
|
checkLength() {
|
|
146
|
-
(0, import_assert2.assertEx)(this.bytes.
|
|
130
|
+
(0, import_assert2.assertEx)(this.bytes.byteLength === this._length, `Length Mismatch: ${this.bytes.byteLength} !== ${this._length}`);
|
|
147
131
|
}
|
|
148
132
|
};
|
|
149
133
|
|
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/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","import { BigNumber } from '@xylabs/bignumber'\nimport { Buffer } from '@xylabs/buffer'\n\nexport abstract class AbstractData {\n get length() {\n return this.bytes.length\n }\n\n abstract get bn(): BigNumber\n\n abstract get buffer(): Buffer\n\n abstract get bytes(): Uint8Array\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","import { base16, base58 } from '@scure/base'\nimport { assertEx } from '@xylabs/assert'\nimport { BigNumber } from '@xylabs/bignumber'\nimport { Buffer, bufferPolyfill } from '@xylabs/buffer'\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?: Uint8Array\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(this.bytes)\n }\n\n get bn() {\n this.checkLength()\n return new BigNumber(this.bytes)\n }\n\n get buffer() {\n this.checkLength()\n return Buffer.from(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(this.bytes).toLowerCase()\n }\n\n get keccak256() {\n bufferPolyfill()\n this.checkLength()\n return Buffer.from(keccak256(`0x${this.buffer.toString('hex')}`))\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.length === this._length, `Length Mismatch: ${this.bytes.length} !== ${this._length}`)\n }\n}\n","import { base16, base58 } from '@scure/base'\nimport { assertEx } from '@xylabs/assert'\nimport { BigNumber } from '@xylabs/bignumber'\nimport { Buffer } from '@xylabs/buffer'\nimport { ifTypeOf } from '@xyo-network/typeof'\n\nimport { AbstractData } from './AbstractData'\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\nconst bigNumberToUint8Array = (value: BigNumber) => {\n //we do new BigNumber in case we got something BigNumberish by accident\n return bufferToUint8Array(Buffer.from(new BigNumber(value).toBuffer()))\n}\n\nconst bufferToUint8Array = (value: Buffer) => {\n return Uint8Array.from(value)\n}\n\nconst xyoDataToUint8Array = (value: AbstractData) => {\n return value.bytes\n}\n\nexport const toUint8ArrayOptional = (value?: DataLike, padLength?: number, base?: number): Uint8Array | undefined => {\n return value ? toUint8Array(value, padLength, base) : undefined\n}\n\nexport const toUint8Array = (value: DataLike, padLength?: number, base?: number): Uint8Array => {\n let result: Uint8Array | undefined =\n ifTypeOf<string, Uint8Array>('string', value as string, (value) => stringToUint8Array(value, base)) ??\n ifTypeOf<BigNumber, Uint8Array | undefined>('object', value as BigNumber, bigNumberToUint8Array, BigNumber.isBN) ??\n ifTypeOf<Buffer, Uint8Array | undefined>('object', value as Buffer, bufferToUint8Array, Buffer.isBuffer) ??\n ifTypeOf<AbstractData, Uint8Array | undefined>('object', value as Buffer, xyoDataToUint8Array, AbstractData.is) ??\n (value as Uint8Array)\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","import_bignumber","import_buffer","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(): 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"]}
|
package/dist/node/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// src/Data/AbstractData.ts
|
|
2
2
|
var AbstractData = class _AbstractData {
|
|
3
3
|
get length() {
|
|
4
|
-
return this.bytes.
|
|
4
|
+
return this.bytes.byteLength;
|
|
5
5
|
}
|
|
6
6
|
static is(value) {
|
|
7
7
|
return value instanceof _AbstractData;
|
|
@@ -11,15 +11,12 @@ 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 {
|
|
15
|
-
import { Buffer as Buffer2, bufferPolyfill } from "@xylabs/buffer";
|
|
14
|
+
import { toHex } from "@xylabs/hex";
|
|
16
15
|
import keccak256 from "keccak256";
|
|
17
16
|
|
|
18
17
|
// src/Data/toUint8Array.ts
|
|
19
18
|
import { base16, base58 } from "@scure/base";
|
|
20
19
|
import { assertEx } from "@xylabs/assert";
|
|
21
|
-
import { BigNumber } from "@xylabs/bignumber";
|
|
22
|
-
import { Buffer } from "@xylabs/buffer";
|
|
23
20
|
import { ifTypeOf } from "@xyo-network/typeof";
|
|
24
21
|
var stringToUint8Array = (value, base = 16) => {
|
|
25
22
|
switch (base) {
|
|
@@ -31,26 +28,22 @@ var stringToUint8Array = (value, base = 16) => {
|
|
|
31
28
|
throw Error(`Unsupported base [${base}]`);
|
|
32
29
|
}
|
|
33
30
|
};
|
|
34
|
-
var bigNumberToUint8Array = (value) => {
|
|
35
|
-
return bufferToUint8Array(Buffer.from(new BigNumber(value).toBuffer()));
|
|
36
|
-
};
|
|
37
|
-
var bufferToUint8Array = (value) => {
|
|
38
|
-
return Uint8Array.from(value);
|
|
39
|
-
};
|
|
40
|
-
var xyoDataToUint8Array = (value) => {
|
|
41
|
-
return value.bytes;
|
|
42
|
-
};
|
|
43
31
|
var toUint8ArrayOptional = (value, padLength, base) => {
|
|
44
32
|
return value ? toUint8Array(value, padLength, base) : void 0;
|
|
45
33
|
};
|
|
46
|
-
|
|
47
|
-
|
|
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
|
+
}
|
|
48
41
|
if (padLength && result.length < padLength) {
|
|
49
42
|
result = new Uint8Array([...new Uint8Array(padLength - result.length), ...result]);
|
|
50
43
|
assertEx((result == null ? void 0 : result.length) <= padLength, "Resulting length is greater than padLength");
|
|
51
44
|
}
|
|
52
45
|
return result;
|
|
53
|
-
}
|
|
46
|
+
}
|
|
54
47
|
|
|
55
48
|
// src/Data/Data.ts
|
|
56
49
|
var Data = class _Data extends AbstractData {
|
|
@@ -63,27 +56,18 @@ var Data = class _Data extends AbstractData {
|
|
|
63
56
|
}
|
|
64
57
|
get base58() {
|
|
65
58
|
this.checkLength();
|
|
66
|
-
return base582.encode(this.bytes);
|
|
67
|
-
}
|
|
68
|
-
get bn() {
|
|
69
|
-
this.checkLength();
|
|
70
|
-
return new BigNumber2(this.bytes);
|
|
71
|
-
}
|
|
72
|
-
get buffer() {
|
|
73
|
-
this.checkLength();
|
|
74
|
-
return Buffer2.from(this.bytes);
|
|
59
|
+
return base582.encode(new Uint8Array(this.bytes));
|
|
75
60
|
}
|
|
76
61
|
get bytes() {
|
|
77
62
|
return assertEx2(this._bytes, "Data uninitialized");
|
|
78
63
|
}
|
|
79
64
|
get hex() {
|
|
80
65
|
this.checkLength();
|
|
81
|
-
return base162.encode(this.bytes).toLowerCase();
|
|
66
|
+
return base162.encode(new Uint8Array(this.bytes)).toLowerCase();
|
|
82
67
|
}
|
|
83
68
|
get keccak256() {
|
|
84
|
-
bufferPolyfill();
|
|
85
69
|
this.checkLength();
|
|
86
|
-
return
|
|
70
|
+
return Buffer.from(keccak256(`0x${toHex(this.bytes)}`));
|
|
87
71
|
}
|
|
88
72
|
static from(data) {
|
|
89
73
|
return data ? new _Data(_Data.lengthOf(data), data) : void 0;
|
|
@@ -94,11 +78,11 @@ var Data = class _Data extends AbstractData {
|
|
|
94
78
|
} else if (data instanceof AbstractData) {
|
|
95
79
|
return data.length;
|
|
96
80
|
} else {
|
|
97
|
-
return typeof data.byteLength === "function" ? data.byteLength
|
|
81
|
+
return typeof data.byteLength === "function" ? data.byteLength : data.byteLength;
|
|
98
82
|
}
|
|
99
83
|
}
|
|
100
84
|
checkLength() {
|
|
101
|
-
assertEx2(this.bytes.
|
|
85
|
+
assertEx2(this.bytes.byteLength === this._length, `Length Mismatch: ${this.bytes.byteLength} !== ${this._length}`);
|
|
102
86
|
}
|
|
103
87
|
};
|
|
104
88
|
|
package/dist/node/index.js.map
CHANGED
|
@@ -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":["import { BigNumber } from '@xylabs/bignumber'\nimport { Buffer } from '@xylabs/buffer'\n\nexport abstract class AbstractData {\n get length() {\n return this.bytes.length\n }\n\n abstract get bn(): BigNumber\n\n abstract get buffer(): Buffer\n\n abstract get bytes(): Uint8Array\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","import { base16, base58 } from '@scure/base'\nimport { assertEx } from '@xylabs/assert'\nimport { BigNumber } from '@xylabs/bignumber'\nimport { Buffer, bufferPolyfill } from '@xylabs/buffer'\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?: Uint8Array\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(this.bytes)\n }\n\n get bn() {\n this.checkLength()\n return new BigNumber(this.bytes)\n }\n\n get buffer() {\n this.checkLength()\n return Buffer.from(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(this.bytes).toLowerCase()\n }\n\n get keccak256() {\n bufferPolyfill()\n this.checkLength()\n return Buffer.from(keccak256(`0x${this.buffer.toString('hex')}`))\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.length === this._length, `Length Mismatch: ${this.bytes.length} !== ${this._length}`)\n }\n}\n","import { base16, base58 } from '@scure/base'\nimport { assertEx } from '@xylabs/assert'\nimport { BigNumber } from '@xylabs/bignumber'\nimport { Buffer } from '@xylabs/buffer'\nimport { ifTypeOf } from '@xyo-network/typeof'\n\nimport { AbstractData } from './AbstractData'\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\nconst bigNumberToUint8Array = (value: BigNumber) => {\n //we do new BigNumber in case we got something BigNumberish by accident\n return bufferToUint8Array(Buffer.from(new BigNumber(value).toBuffer()))\n}\n\nconst bufferToUint8Array = (value: Buffer) => {\n return Uint8Array.from(value)\n}\n\nconst xyoDataToUint8Array = (value: AbstractData) => {\n return value.bytes\n}\n\nexport const toUint8ArrayOptional = (value?: DataLike, padLength?: number, base?: number): Uint8Array | undefined => {\n return value ? toUint8Array(value, padLength, base) : undefined\n}\n\nexport const toUint8Array = (value: DataLike, padLength?: number, base?: number): Uint8Array => {\n let result: Uint8Array | undefined =\n ifTypeOf<string, Uint8Array>('string', value as string, (value) => stringToUint8Array(value, base)) ??\n ifTypeOf<BigNumber, Uint8Array | undefined>('object', value as BigNumber, bigNumberToUint8Array, BigNumber.isBN) ??\n ifTypeOf<Buffer, Uint8Array | undefined>('object', value as Buffer, bufferToUint8Array, Buffer.isBuffer) ??\n ifTypeOf<AbstractData, Uint8Array | undefined>('object', value as Buffer, xyoDataToUint8Array, AbstractData.is) ??\n (value as Uint8Array)\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","BigNumber","Buffer","value","base58","BigNumber","Buffer","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(): 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"]}
|
package/package.json
CHANGED
|
@@ -11,24 +11,23 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@scure/base": "^1.1.3",
|
|
14
|
-
"@xylabs/assert": "^2.13.
|
|
15
|
-
"@xylabs/
|
|
16
|
-
"@xylabs/
|
|
17
|
-
"@xylabs/
|
|
18
|
-
"@
|
|
19
|
-
"@xyo-network/
|
|
20
|
-
"@xyo-network/
|
|
21
|
-
"@xyo-network/
|
|
22
|
-
"@xyo-network/
|
|
23
|
-
"@xyo-network/wasm": "~2.81.6",
|
|
14
|
+
"@xylabs/assert": "^2.13.15",
|
|
15
|
+
"@xylabs/hex": "^2.13.15",
|
|
16
|
+
"@xylabs/logger": "^2.13.15",
|
|
17
|
+
"@xylabs/promise": "^2.13.15",
|
|
18
|
+
"@xyo-network/address": "~2.81.8",
|
|
19
|
+
"@xyo-network/hash": "~2.81.8",
|
|
20
|
+
"@xyo-network/object": "~2.81.8",
|
|
21
|
+
"@xyo-network/typeof": "~2.81.8",
|
|
22
|
+
"@xyo-network/wasm": "~2.81.8",
|
|
24
23
|
"keccak256": "^1.0.6",
|
|
25
24
|
"uuid": "^9.0.1"
|
|
26
25
|
},
|
|
27
26
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
28
27
|
"devDependencies": {
|
|
29
28
|
"@types/uuid": "^9.0.7",
|
|
30
|
-
"@xylabs/ts-scripts-yarn3": "^3.2.
|
|
31
|
-
"@xylabs/tsconfig": "^3.2.
|
|
29
|
+
"@xylabs/ts-scripts-yarn3": "^3.2.10",
|
|
30
|
+
"@xylabs/tsconfig": "^3.2.10",
|
|
32
31
|
"typescript": "^5.3.2"
|
|
33
32
|
},
|
|
34
33
|
"exports": {
|
|
@@ -70,5 +69,5 @@
|
|
|
70
69
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
|
|
71
70
|
},
|
|
72
71
|
"sideEffects": false,
|
|
73
|
-
"version": "2.81.
|
|
72
|
+
"version": "2.81.8"
|
|
74
73
|
}
|
package/src/Data/AbstractData.ts
CHANGED
|
@@ -1,16 +1,9 @@
|
|
|
1
|
-
import { BigNumber } from '@xylabs/bignumber'
|
|
2
|
-
import { Buffer } from '@xylabs/buffer'
|
|
3
|
-
|
|
4
1
|
export abstract class AbstractData {
|
|
5
2
|
get length() {
|
|
6
|
-
return this.bytes.
|
|
3
|
+
return this.bytes.byteLength
|
|
7
4
|
}
|
|
8
5
|
|
|
9
|
-
abstract get
|
|
10
|
-
|
|
11
|
-
abstract get buffer(): Buffer
|
|
12
|
-
|
|
13
|
-
abstract get bytes(): Uint8Array
|
|
6
|
+
abstract get bytes(): ArrayBuffer
|
|
14
7
|
|
|
15
8
|
abstract get hex(): string
|
|
16
9
|
|
package/src/Data/Data.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
/* eslint-disable import/no-deprecated */
|
|
1
2
|
import { base16, base58 } from '@scure/base'
|
|
2
3
|
import { assertEx } from '@xylabs/assert'
|
|
3
|
-
import {
|
|
4
|
-
import { Buffer, bufferPolyfill } from '@xylabs/buffer'
|
|
4
|
+
import { toHex } from '@xylabs/hex'
|
|
5
5
|
import keccak256 from 'keccak256'
|
|
6
6
|
|
|
7
7
|
import { AbstractData } from './AbstractData'
|
|
@@ -9,7 +9,7 @@ import { DataLike } from './DataLike'
|
|
|
9
9
|
import { toUint8ArrayOptional } from './toUint8Array'
|
|
10
10
|
|
|
11
11
|
export class Data extends AbstractData {
|
|
12
|
-
private _bytes?:
|
|
12
|
+
private _bytes?: ArrayBuffer
|
|
13
13
|
private _length: number
|
|
14
14
|
|
|
15
15
|
constructor(length: number, bytes?: DataLike)
|
|
@@ -22,17 +22,7 @@ export class Data extends AbstractData {
|
|
|
22
22
|
|
|
23
23
|
get base58() {
|
|
24
24
|
this.checkLength()
|
|
25
|
-
return base58.encode(this.bytes)
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
get bn() {
|
|
29
|
-
this.checkLength()
|
|
30
|
-
return new BigNumber(this.bytes)
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
get buffer() {
|
|
34
|
-
this.checkLength()
|
|
35
|
-
return Buffer.from(this.bytes)
|
|
25
|
+
return base58.encode(new Uint8Array(this.bytes))
|
|
36
26
|
}
|
|
37
27
|
|
|
38
28
|
get bytes() {
|
|
@@ -41,13 +31,12 @@ export class Data extends AbstractData {
|
|
|
41
31
|
|
|
42
32
|
get hex() {
|
|
43
33
|
this.checkLength()
|
|
44
|
-
return base16.encode(this.bytes).toLowerCase()
|
|
34
|
+
return base16.encode(new Uint8Array(this.bytes)).toLowerCase()
|
|
45
35
|
}
|
|
46
36
|
|
|
47
37
|
get keccak256() {
|
|
48
|
-
bufferPolyfill()
|
|
49
38
|
this.checkLength()
|
|
50
|
-
return Buffer.from(keccak256(`0x${this.
|
|
39
|
+
return Buffer.from(keccak256(`0x${toHex(this.bytes)}`))
|
|
51
40
|
}
|
|
52
41
|
|
|
53
42
|
static from(data: DataLike | undefined) {
|
|
@@ -60,11 +49,11 @@ export class Data extends AbstractData {
|
|
|
60
49
|
} else if (data instanceof AbstractData) {
|
|
61
50
|
return data.length
|
|
62
51
|
} else {
|
|
63
|
-
return typeof data.byteLength === 'function' ? data.byteLength
|
|
52
|
+
return typeof data.byteLength === 'function' ? data.byteLength : data.byteLength
|
|
64
53
|
}
|
|
65
54
|
}
|
|
66
55
|
|
|
67
56
|
private checkLength() {
|
|
68
|
-
assertEx(this.bytes.
|
|
57
|
+
assertEx(this.bytes.byteLength === this._length, `Length Mismatch: ${this.bytes.byteLength} !== ${this._length}`)
|
|
69
58
|
}
|
|
70
59
|
}
|
package/src/Data/DataLike.ts
CHANGED