@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.
@@ -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
- constructor(huri: string, { archivistUri }?: HuriOptions);
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
  }
@@ -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.originalHref = huri;
6
- const protocol = Huri.parseProtocol(huri);
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(huri), 'Missing path');
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":"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"}
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;AAGpG,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;CACF"}
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 XyoWitnessConfig<T extends XyoPayload = XyoPayload> {
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 XyoLegacyWitness<T extends XyoPayload = XyoPayload, C extends XyoWitnessConfig<T> = XyoWitnessConfig<T>> extends XyoWitness<T> {
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 XyoLegacyWitness extends XyoWitness {
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,gBAAyG,SAAQ,UAAa;IAIzI,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"}
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.7",
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": "^17.0.39",
24
+ "@types/node": "^18.0.0",
27
25
  "@types/sha.js": "^2.4.0",
28
26
  "@types/ua-parser-js": "^0.7.36",
29
- "@xylabs/eslint-config": "^2.3.22",
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.43",
62
+ "version": "2.20.46",
73
63
  "packageManager": "yarn@3.1.1"
74
64
  }
@@ -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
- constructor(huri: string, { archivistUri }: HuriOptions = {}) {
37
- this.originalHref = huri
37
+ private isHuri = true
38
38
 
39
- const protocol = Huri.parseProtocol(huri)
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(huri), 'Missing path')
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 XyoWitnessConfig<T extends XyoPayload = XyoPayload> {
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 XyoLegacyWitness<T extends XyoPayload = XyoPayload, C extends XyoWitnessConfig<T> = XyoWitnessConfig<T>> extends XyoWitness<T> {
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 { XyoLegacyWitness } from './LegacyWitness'
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 XyoLegacyWitness({ schema: 'network.xyo.payload', template })
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)