@xyo-network/core 2.20.43 → 2.20.46
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/cjs/Huri/Huri.d.ts +4 -1
- package/dist/cjs/Huri/Huri.js +13 -3
- package/dist/cjs/Huri/Huri.js.map +1 -1
- package/dist/cjs/Payload/Wrapper/Wrapper.d.ts +3 -0
- package/dist/cjs/Payload/Wrapper/Wrapper.js +10 -0
- package/dist/cjs/Payload/Wrapper/Wrapper.js.map +1 -1
- package/dist/cjs/Witness/LegacyWitness.d.ts +7 -2
- package/dist/cjs/Witness/LegacyWitness.js +6 -2
- package/dist/cjs/Witness/LegacyWitness.js.map +1 -1
- package/dist/docs.json +1 -23434
- package/dist/esm/Huri/Huri.d.ts +4 -1
- package/dist/esm/Huri/Huri.js +12 -3
- package/dist/esm/Huri/Huri.js.map +1 -1
- package/dist/esm/Payload/Wrapper/Wrapper.d.ts +3 -0
- package/dist/esm/Payload/Wrapper/Wrapper.js +7 -0
- package/dist/esm/Payload/Wrapper/Wrapper.js.map +1 -1
- package/dist/esm/Witness/LegacyWitness.d.ts +7 -2
- package/dist/esm/Witness/LegacyWitness.js +4 -1
- package/dist/esm/Witness/LegacyWitness.js.map +1 -1
- package/package.json +4 -14
- package/src/Huri/Huri.spec.ts +0 -1
- package/src/Huri/Huri.ts +15 -4
- package/src/Payload/Wrapper/Wrapper.ts +9 -0
- package/src/Witness/LegacyWitness.ts +8 -2
- package/src/Witness/Witness.spec.ts +2 -2
package/dist/esm/Huri/Huri.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { XyoPayload } from '../Payload';
|
|
2
|
+
import { XyoDataLike } from '../Wallet';
|
|
2
3
|
export declare type XyoObjectCategory = 'block' | 'payload';
|
|
3
4
|
export declare type HuriFetchFunction = (huri: Huri) => Promise<XyoPayload | undefined>;
|
|
4
5
|
export interface HuriOptions {
|
|
@@ -14,7 +15,8 @@ export declare class Huri {
|
|
|
14
15
|
archivist?: string;
|
|
15
16
|
archive?: string;
|
|
16
17
|
hash: string;
|
|
17
|
-
|
|
18
|
+
private isHuri;
|
|
19
|
+
constructor(huri: XyoDataLike | Huri, { archivistUri }?: HuriOptions);
|
|
18
20
|
private parsePath;
|
|
19
21
|
private validateParse;
|
|
20
22
|
get href(): string;
|
|
@@ -23,4 +25,5 @@ export declare class Huri {
|
|
|
23
25
|
static fetch(huri: Huri): Promise<XyoPayload | undefined>;
|
|
24
26
|
private static parseProtocol;
|
|
25
27
|
private static parsePath;
|
|
28
|
+
static isHuri(value: unknown): Huri | undefined;
|
|
26
29
|
}
|
package/dist/esm/Huri/Huri.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/sdk-js';
|
|
2
2
|
import axios from 'axios';
|
|
3
|
+
import { XyoAddressValue } from '../Wallet';
|
|
3
4
|
export class Huri {
|
|
4
5
|
constructor(huri, { archivistUri } = {}) {
|
|
5
|
-
this.
|
|
6
|
-
const
|
|
6
|
+
this.isHuri = true;
|
|
7
|
+
const huriString = (Huri.isHuri(huri)?.href ?? typeof huri === 'string') ? huri : new XyoAddressValue(huri).hex;
|
|
8
|
+
this.originalHref = huriString;
|
|
9
|
+
const protocol = Huri.parseProtocol(huriString);
|
|
7
10
|
this.protocol = protocol ?? 'https';
|
|
8
|
-
const path = assertEx(Huri.parsePath(
|
|
11
|
+
const path = assertEx(Huri.parsePath(huriString), 'Missing path');
|
|
9
12
|
this.hash = this.parsePath(path, protocol !== undefined);
|
|
10
13
|
//if archivistUri sent, overwrite protocol and archivist
|
|
11
14
|
if (archivistUri) {
|
|
@@ -86,5 +89,11 @@ export class Huri {
|
|
|
86
89
|
return protocolSplit[1];
|
|
87
90
|
}
|
|
88
91
|
}
|
|
92
|
+
static isHuri(value) {
|
|
93
|
+
if (typeof value === 'object') {
|
|
94
|
+
return value.isHuri ? value : undefined;
|
|
95
|
+
}
|
|
96
|
+
return undefined;
|
|
97
|
+
}
|
|
89
98
|
}
|
|
90
99
|
//# sourceMappingURL=Huri.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Huri.js","sourceRoot":"","sources":["../../../src/Huri/Huri.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"Huri.js","sourceRoot":"","sources":["../../../src/Huri/Huri.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { XyoAbstractHasher } from '../../Hasher';
|
|
2
|
+
import { Huri } from '../../Huri';
|
|
3
|
+
import { XyoDataLike } from '../../Wallet';
|
|
2
4
|
import { XyoPayload } from '../models';
|
|
3
5
|
export declare class XyoPayloadWrapper<T extends XyoPayload> extends XyoAbstractHasher<T> {
|
|
4
6
|
payload: T;
|
|
@@ -6,4 +8,5 @@ export declare class XyoPayloadWrapper<T extends XyoPayload> extends XyoAbstract
|
|
|
6
8
|
protected get obj(): T;
|
|
7
9
|
get body(): T;
|
|
8
10
|
get meta(): T;
|
|
11
|
+
static load(address: XyoDataLike | Huri): Promise<XyoPayloadWrapper<import("../models").XyoPayloadFull> | undefined>;
|
|
9
12
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { deepOmitUnderscoreFields, deepPickUnderscoreFields, XyoAbstractHasher } from '../../Hasher';
|
|
2
|
+
import { Huri } from '../../Huri';
|
|
2
3
|
export class XyoPayloadWrapper extends XyoAbstractHasher {
|
|
3
4
|
constructor(payload) {
|
|
4
5
|
super();
|
|
@@ -13,5 +14,11 @@ export class XyoPayloadWrapper extends XyoAbstractHasher {
|
|
|
13
14
|
get meta() {
|
|
14
15
|
return deepPickUnderscoreFields(this.payload);
|
|
15
16
|
}
|
|
17
|
+
static async load(address) {
|
|
18
|
+
const payload = await new Huri(address).fetch();
|
|
19
|
+
if (payload) {
|
|
20
|
+
return new XyoPayloadWrapper(payload);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
16
23
|
}
|
|
17
24
|
//# sourceMappingURL=Wrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wrapper.js","sourceRoot":"","sources":["../../../../src/Payload/Wrapper/Wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"Wrapper.js","sourceRoot":"","sources":["../../../../src/Payload/Wrapper/Wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACpG,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AAIjC,MAAM,OAAO,iBAAwC,SAAQ,iBAAoB;IAE/E,YAAY,OAAU;QACpB,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,IAAc,GAAG;QACf,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC;IAED,IAAW,IAAI;QACb,OAAO,wBAAwB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAA2B;QAClD,MAAM,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAA;QAC/C,IAAI,OAAO,EAAE;YACX,OAAO,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAA;SACtC;IACH,CAAC;CACF"}
|
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
import { XyoPayload } from '../Payload';
|
|
2
2
|
import { XyoWitness } from './Witness';
|
|
3
|
-
export interface
|
|
3
|
+
export interface XyoSimpleWitnessConfig<T extends XyoPayload = XyoPayload> {
|
|
4
4
|
schema: string;
|
|
5
5
|
template?: XyoPayload;
|
|
6
6
|
observer?: () => Promise<T> | T;
|
|
7
7
|
}
|
|
8
|
-
export declare class
|
|
8
|
+
export declare class XyoSimpleWitness<T extends XyoPayload = XyoPayload, C extends XyoSimpleWitnessConfig<T> = XyoSimpleWitnessConfig<T>> extends XyoWitness<T> {
|
|
9
9
|
config?: C;
|
|
10
10
|
previousHash?: string;
|
|
11
11
|
constructor(config?: C);
|
|
12
12
|
get targetSchema(): string;
|
|
13
13
|
observe(fields?: Partial<T>): Promise<T>;
|
|
14
14
|
}
|
|
15
|
+
/** @deprecated Use XyoSimpleWitness */
|
|
16
|
+
export declare class XyoLegacyWitness<T extends XyoPayload = XyoPayload, C extends XyoSimpleWitnessConfig<T> = XyoSimpleWitnessConfig<T>> extends XyoSimpleWitness<T, C> {
|
|
17
|
+
}
|
|
18
|
+
/** @deprecated Use XyoSimpleWitnessConfig */
|
|
19
|
+
export declare type XyoWitnessConfig<T extends XyoPayload = XyoPayload> = XyoSimpleWitnessConfig<T>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { XyoPayloadBuilder } from '../Payload';
|
|
2
2
|
import { XyoWitness } from './Witness';
|
|
3
|
-
export class
|
|
3
|
+
export class XyoSimpleWitness extends XyoWitness {
|
|
4
4
|
constructor(config) {
|
|
5
5
|
super();
|
|
6
6
|
this.config = config;
|
|
@@ -16,4 +16,7 @@ export class XyoLegacyWitness extends XyoWitness {
|
|
|
16
16
|
.build();
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
+
/** @deprecated Use XyoSimpleWitness */
|
|
20
|
+
export class XyoLegacyWitness extends XyoSimpleWitness {
|
|
21
|
+
}
|
|
19
22
|
//# sourceMappingURL=LegacyWitness.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegacyWitness.js","sourceRoot":"","sources":["../../../src/Witness/LegacyWitness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAQtC,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"LegacyWitness.js","sourceRoot":"","sources":["../../../src/Witness/LegacyWitness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAQtC,MAAM,OAAO,gBAAqH,SAAQ,UAAa;IAIrJ,YAAY,MAAU;QACpB,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,IAAa,YAAY;QACvB,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,qBAAqB,CAAA;IACrD,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,MAAmB;QACtC,OAAO,IAAI,iBAAiB,CAAI,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;aAC3D,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;aAC/B,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;aACvC,MAAM,CAAC,MAAM,CAAC;aACd,KAAK,EAAE,CAAA;IACZ,CAAC;CACF;AAED,uCAAuC;AACvC,MAAM,OAAO,gBAAqH,SAAQ,gBAAsB;CAAG"}
|
package/package.json
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@xylabs/sdk-js": "^2.5.
|
|
12
|
+
"@xylabs/sdk-js": "^2.5.9",
|
|
13
13
|
"axios": "^0.27.2",
|
|
14
14
|
"elliptic": "^6.5.4",
|
|
15
15
|
"keccak256": "^1.0.6",
|
|
@@ -19,18 +19,12 @@
|
|
|
19
19
|
},
|
|
20
20
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"@babel/core": "^7.18.2",
|
|
23
|
-
"@babel/preset-env": "^7.18.2",
|
|
24
22
|
"@types/elliptic": "^6.4.14",
|
|
25
23
|
"@types/lodash": "^4.14.182",
|
|
26
|
-
"@types/node": "^
|
|
24
|
+
"@types/node": "^18.0.0",
|
|
27
25
|
"@types/sha.js": "^2.4.0",
|
|
28
26
|
"@types/ua-parser-js": "^0.7.36",
|
|
29
|
-
"
|
|
30
|
-
"@xylabs/ts-scripts": "^1.0.66",
|
|
31
|
-
"license-checker": "^25.0.1",
|
|
32
|
-
"tslib": "^2.4.0",
|
|
33
|
-
"typescript": "^4.7.2"
|
|
27
|
+
"tslib": "^2.4.0"
|
|
34
28
|
},
|
|
35
29
|
"browser": "dist/esm/browserIndex.js",
|
|
36
30
|
"docs": "dist/docs.json",
|
|
@@ -63,12 +57,8 @@
|
|
|
63
57
|
"type": "git",
|
|
64
58
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
|
|
65
59
|
},
|
|
66
|
-
"scripts": {
|
|
67
|
-
"lint-pkg": "npmPkgJsonLint .",
|
|
68
|
-
"license": "yarn license-checker --exclude \"MIT, ISC, Apache-2.0, BSD, BSD-2-Clause, CC-BY-4.0, Unlicense, CC-BY-3.0, CC0-1.0\""
|
|
69
|
-
},
|
|
70
60
|
"sideEffects": true,
|
|
71
61
|
"types": "dist/esm/index.d.ts",
|
|
72
|
-
"version": "2.20.
|
|
62
|
+
"version": "2.20.46",
|
|
73
63
|
"packageManager": "yarn@3.1.1"
|
|
74
64
|
}
|
package/src/Huri/Huri.spec.ts
CHANGED
|
@@ -80,7 +80,6 @@ describe('Huri', () => {
|
|
|
80
80
|
const payload: XyoPayload = {
|
|
81
81
|
schema: huri.hash,
|
|
82
82
|
}
|
|
83
|
-
console.log(`Payload: ${JSON.stringify(payload, null, 2)}`)
|
|
84
83
|
return payload
|
|
85
84
|
}
|
|
86
85
|
const huri = new Huri('https://beta.api.archivist.xyo.network/18f97b3e85f5bede65e7c0a85d74aee896de58ead8bc4b1b3d7300646c653057')
|
package/src/Huri/Huri.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { assertEx } from '@xylabs/sdk-js'
|
|
|
2
2
|
import axios from 'axios'
|
|
3
3
|
|
|
4
4
|
import { XyoPayload } from '../Payload'
|
|
5
|
+
import { XyoAddressValue, XyoDataLike } from '../Wallet'
|
|
5
6
|
|
|
6
7
|
export type XyoObjectCategory = 'block' | 'payload'
|
|
7
8
|
|
|
@@ -33,13 +34,16 @@ export class Huri {
|
|
|
33
34
|
public archive?: string
|
|
34
35
|
public hash: string
|
|
35
36
|
|
|
36
|
-
|
|
37
|
-
this.originalHref = huri
|
|
37
|
+
private isHuri = true
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
constructor(huri: XyoDataLike | Huri, { archivistUri }: HuriOptions = {}) {
|
|
40
|
+
const huriString = Huri.isHuri(huri)?.href ?? typeof huri === 'string' ? (huri as string) : new XyoAddressValue(huri as XyoDataLike).hex
|
|
41
|
+
this.originalHref = huriString
|
|
42
|
+
|
|
43
|
+
const protocol = Huri.parseProtocol(huriString)
|
|
40
44
|
this.protocol = protocol ?? 'https'
|
|
41
45
|
|
|
42
|
-
const path = assertEx(Huri.parsePath(
|
|
46
|
+
const path = assertEx(Huri.parsePath(huriString), 'Missing path')
|
|
43
47
|
this.hash = this.parsePath(path, protocol !== undefined)
|
|
44
48
|
|
|
45
49
|
//if archivistUri sent, overwrite protocol and archivist
|
|
@@ -140,4 +144,11 @@ export class Huri {
|
|
|
140
144
|
return protocolSplit[1]
|
|
141
145
|
}
|
|
142
146
|
}
|
|
147
|
+
|
|
148
|
+
public static isHuri(value: unknown) {
|
|
149
|
+
if (typeof value === 'object') {
|
|
150
|
+
return (value as Huri).isHuri ? (value as Huri) : undefined
|
|
151
|
+
}
|
|
152
|
+
return undefined
|
|
153
|
+
}
|
|
143
154
|
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { deepOmitUnderscoreFields, deepPickUnderscoreFields, XyoAbstractHasher } from '../../Hasher'
|
|
2
|
+
import { Huri } from '../../Huri'
|
|
3
|
+
import { XyoDataLike } from '../../Wallet'
|
|
2
4
|
import { XyoPayload } from '../models'
|
|
3
5
|
|
|
4
6
|
export class XyoPayloadWrapper<T extends XyoPayload> extends XyoAbstractHasher<T> {
|
|
@@ -19,4 +21,11 @@ export class XyoPayloadWrapper<T extends XyoPayload> extends XyoAbstractHasher<T
|
|
|
19
21
|
public get meta() {
|
|
20
22
|
return deepPickUnderscoreFields(this.payload)
|
|
21
23
|
}
|
|
24
|
+
|
|
25
|
+
public static async load(address: XyoDataLike | Huri) {
|
|
26
|
+
const payload = await new Huri(address).fetch()
|
|
27
|
+
if (payload) {
|
|
28
|
+
return new XyoPayloadWrapper(payload)
|
|
29
|
+
}
|
|
30
|
+
}
|
|
22
31
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { XyoPayload, XyoPayloadBuilder } from '../Payload'
|
|
2
2
|
import { XyoWitness } from './Witness'
|
|
3
3
|
|
|
4
|
-
export interface
|
|
4
|
+
export interface XyoSimpleWitnessConfig<T extends XyoPayload = XyoPayload> {
|
|
5
5
|
schema: string
|
|
6
6
|
template?: XyoPayload
|
|
7
7
|
observer?: () => Promise<T> | T
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
export class
|
|
10
|
+
export class XyoSimpleWitness<T extends XyoPayload = XyoPayload, C extends XyoSimpleWitnessConfig<T> = XyoSimpleWitnessConfig<T>> extends XyoWitness<T> {
|
|
11
11
|
public config?: C
|
|
12
12
|
public previousHash?: string
|
|
13
13
|
|
|
@@ -28,3 +28,9 @@ export class XyoLegacyWitness<T extends XyoPayload = XyoPayload, C extends XyoWi
|
|
|
28
28
|
.build()
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
+
|
|
32
|
+
/** @deprecated Use XyoSimpleWitness */
|
|
33
|
+
export class XyoLegacyWitness<T extends XyoPayload = XyoPayload, C extends XyoSimpleWitnessConfig<T> = XyoSimpleWitnessConfig<T>> extends XyoSimpleWitness<T, C> {}
|
|
34
|
+
|
|
35
|
+
/** @deprecated Use XyoSimpleWitnessConfig */
|
|
36
|
+
export type XyoWitnessConfig<T extends XyoPayload = XyoPayload> = XyoSimpleWitnessConfig<T>
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { XyoSimpleWitness } from './LegacyWitness'
|
|
2
2
|
|
|
3
3
|
describe('XyoWitness', () => {
|
|
4
4
|
test('valid-instantiation', () => {
|
|
5
5
|
const template = {
|
|
6
6
|
schema: 'network.xyo.foo',
|
|
7
7
|
}
|
|
8
|
-
const witness = new
|
|
8
|
+
const witness = new XyoSimpleWitness({ schema: 'network.xyo.payload', template })
|
|
9
9
|
expect(witness).toBeTruthy()
|
|
10
10
|
expect(witness.config?.schema).toBe('network.xyo.payload')
|
|
11
11
|
expect(witness.config?.template).toBe(template)
|