@xyo-network/api 2.22.4 → 2.22.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/cjs/Archivist/Account/Api.d.ts +2 -2
  2. package/dist/cjs/Archivist/Api.d.ts +2 -2
  3. package/dist/cjs/Archivist/Archive/Settings/Key/Api.d.ts +1 -1
  4. package/dist/cjs/Archivist/Payload/Api.js +6 -6
  5. package/dist/cjs/Archivist/Payload/Api.js.map +1 -1
  6. package/dist/cjs/Archivist/Payload/Schema/Api.d.ts +1 -1
  7. package/dist/cjs/Archivist/XyoApiArchivist.d.ts +5 -5
  8. package/dist/cjs/Archivist/XyoApiArchivist.js +24 -5
  9. package/dist/cjs/Archivist/XyoApiArchivist.js.map +1 -1
  10. package/dist/cjs/Archivist/XyoRemoteArchivist.d.ts +12 -0
  11. package/dist/cjs/Archivist/XyoRemoteArchivist.js +54 -0
  12. package/dist/cjs/Archivist/XyoRemoteArchivist.js.map +1 -0
  13. package/dist/cjs/Archivist/index.d.ts +1 -1
  14. package/dist/cjs/Archivist/index.js +1 -1
  15. package/dist/cjs/Archivist/index.js.map +1 -1
  16. package/dist/cjs/Simple.d.ts +3 -2
  17. package/dist/cjs/Simple.js.map +1 -1
  18. package/dist/cjs/User/Api.d.ts +2 -2
  19. package/dist/esm/Archivist/Account/Api.d.ts +2 -2
  20. package/dist/esm/Archivist/Api.d.ts +2 -2
  21. package/dist/esm/Archivist/Archive/Settings/Key/Api.d.ts +1 -1
  22. package/dist/esm/Archivist/Payload/Api.js +6 -6
  23. package/dist/esm/Archivist/Payload/Api.js.map +1 -1
  24. package/dist/esm/Archivist/Payload/Schema/Api.d.ts +1 -1
  25. package/dist/esm/Archivist/XyoApiArchivist.d.ts +5 -5
  26. package/dist/esm/Archivist/XyoApiArchivist.js +25 -5
  27. package/dist/esm/Archivist/XyoApiArchivist.js.map +1 -1
  28. package/dist/esm/Archivist/XyoRemoteArchivist.d.ts +12 -0
  29. package/dist/esm/Archivist/XyoRemoteArchivist.js +42 -0
  30. package/dist/esm/Archivist/XyoRemoteArchivist.js.map +1 -0
  31. package/dist/esm/Archivist/index.d.ts +1 -1
  32. package/dist/esm/Archivist/index.js +1 -1
  33. package/dist/esm/Archivist/index.js.map +1 -1
  34. package/dist/esm/Simple.d.ts +3 -2
  35. package/dist/esm/Simple.js.map +1 -1
  36. package/dist/esm/User/Api.d.ts +2 -2
  37. package/package.json +7 -7
  38. package/src/Archivist/Api.spec.ts +1 -1
  39. package/src/Archivist/ApiUtil.spec.ts +1 -2
  40. package/src/Archivist/Payload/Api.spec.ts +2 -2
  41. package/src/Archivist/Payload/Api.ts +6 -6
  42. package/src/Archivist/XyoRemoteArchivist.ts +51 -0
  43. package/src/Archivist/index.ts +1 -1
  44. package/src/Simple.ts +3 -2
  45. package/src/Archivist/XyoApiArchivist.ts +0 -31
@@ -13,6 +13,6 @@ export interface XyoAccountVerify {
13
13
  token?: string;
14
14
  }
15
15
  export declare class XyoAccountApi extends XyoApiBase {
16
- get challenge(): XyoApiSimple<XyoAccountChallenge, XyoAccountChallenge, Record<string, never>, import("../../models/Api/Config").XyoApiConfig>;
17
- get verify(): XyoApiSimple<XyoAccountVerify, XyoAccountVerify, Record<string, never>, import("../../models/Api/Config").XyoApiConfig>;
16
+ get challenge(): XyoApiSimple<XyoAccountChallenge, XyoAccountChallenge, import("@xyo-network/payload").XyoPayloadBase, import("../../models/Api/Config").XyoApiConfig>;
17
+ get verify(): XyoApiSimple<XyoAccountVerify, XyoAccountVerify, import("@xyo-network/payload").XyoPayloadBase, import("../../models/Api/Config").XyoApiConfig>;
18
18
  }
@@ -13,14 +13,14 @@ export declare class XyoArchivistApi extends XyoApiBase {
13
13
  private _archives?;
14
14
  get archives(): XyoArchivistArchivesApi;
15
15
  private _stats?;
16
- get stats(): XyoApiSimple<unknown[], unknown[], Record<string, never>, import("../models/Api/Config").XyoApiConfig>;
16
+ get stats(): XyoApiSimple<unknown[], unknown[], import("@xyo-network/payload").XyoPayloadBase, import("../models/Api/Config").XyoApiConfig>;
17
17
  private _user?;
18
18
  get user(): XyoUserApi;
19
19
  archive(archive?: string): XyoArchivistArchiveApi;
20
20
  /** @deprecated use account instead */
21
21
  wallet(address: XyoDataLike): XyoAccountApi;
22
22
  account(address: XyoDataLike): XyoAccountApi;
23
- huri(huri: Huri | string): XyoApiSimple<import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/payload").XyoPayloadBase, Record<string, never>, import("../models/Api/Config").XyoApiConfig>;
23
+ huri(huri: Huri | string): XyoApiSimple<import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/payload").XyoPayloadBase, import("../models/Api/Config").XyoApiConfig>;
24
24
  /**
25
25
  * Issues commands/queries as XyoBoundWitness wrapped XyoPayloads against a Node in the network
26
26
  * @param archive Optional, the archive to issue the requests against
@@ -1,5 +1,5 @@
1
1
  import { XyoArchiveKey } from '../../../../models';
2
2
  import { XyoApiSimple } from '../../../../Simple';
3
3
  export declare class XyoArchivistArchiveSettingsKeyApi extends XyoApiSimple<XyoArchiveKey[]> {
4
- key(key: string): XyoApiSimple<XyoArchiveKey, XyoArchiveKey, Record<string, never>, import("../../../../models/Api/Config").XyoApiConfig>;
4
+ key(key: string): XyoApiSimple<XyoArchiveKey, XyoArchiveKey, import("@xyo-network/payload").XyoPayloadBase, import("../../../../models/Api/Config").XyoApiConfig>;
5
5
  }
@@ -44,25 +44,25 @@ class XyoArchivistPayloadApi extends Simple_1.XyoApiSimple {
44
44
  /** @deprecated use find */
45
45
  findBefore(timestamp, limit = 20) {
46
46
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
47
- return yield this.find({ limit, order: 'desc', timestamp });
47
+ return yield this.find({ limit, order: 'desc', schema: 'network.xyo.query', timestamp });
48
48
  });
49
49
  }
50
50
  /** @deprecated use findBefore */
51
51
  getBefore(timestamp, limit = 20) {
52
52
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
53
- return yield this.find({ limit, order: 'desc', timestamp });
53
+ return yield this.find({ limit, order: 'desc', schema: 'network.xyo.query', timestamp });
54
54
  });
55
55
  }
56
56
  /** @deprecated use find */
57
57
  findAfter(timestamp, limit = 20) {
58
58
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
59
- return yield this.find({ limit, order: 'asc', timestamp });
59
+ return yield this.find({ limit, order: 'asc', schema: 'network.xyo.query', timestamp });
60
60
  });
61
61
  }
62
62
  /** @deprecated use find */
63
63
  getAfter(timestamp, limit = 20) {
64
64
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
65
- return yield this.find({ limit, order: 'asc', timestamp });
65
+ return yield this.find({ limit, order: 'asc', schema: 'network.xyo.query', timestamp });
66
66
  });
67
67
  }
68
68
  /** @deprecated use find */
@@ -70,13 +70,13 @@ class XyoArchivistPayloadApi extends Simple_1.XyoApiSimple {
70
70
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
71
71
  (0, sdk_js_1.assertEx)(limit > 0, 'min limit = 1');
72
72
  (0, sdk_js_1.assertEx)(limit <= 100, 'max limit = 100');
73
- return yield this.find({ limit, order: 'desc', timestamp: 999999999999 });
73
+ return yield this.find({ limit, order: 'desc', schema: 'network.xyo.query', timestamp: 999999999999 });
74
74
  });
75
75
  }
76
76
  /** @deprecated use find */
77
77
  getMostRecent(limit = 20) {
78
78
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
79
- return yield this.find({ limit, order: 'desc', timestamp: 999999999999 });
79
+ return yield this.find({ limit, order: 'desc', schema: 'network.xyo.query', timestamp: 999999999999 });
80
80
  });
81
81
  }
82
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Api.js","sourceRoot":"","sources":["../../../../src/Archivist/Payload/Api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Api.js","sourceRoot":"","sources":["../../../../src/Archivist/Payload/Api.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,5 @@ export interface XyoArchivistArchivePayloadSchemaStats {
4
4
  }
5
5
  export declare class XyoArchivistArchivePayloadSchemaApi extends XyoApiSimple<string[]> {
6
6
  private _stats?;
7
- get stats(): XyoApiSimple<XyoArchivistArchivePayloadSchemaStats, XyoArchivistArchivePayloadSchemaStats, Record<string, never>, import("../../../models/Api/Config").XyoApiConfig>;
7
+ get stats(): XyoApiSimple<XyoArchivistArchivePayloadSchemaStats, XyoArchivistArchivePayloadSchemaStats, import("@xyo-network/payload").XyoPayloadBase, import("../../../models/Api/Config").XyoApiConfig>;
8
8
  }
@@ -1,12 +1,12 @@
1
1
  import { XyoAccount } from '@xyo-network/account';
2
- import { XyoArchivist, XyoBoundWitnessArchivist, XyoPayloadFindFilter } from '@xyo-network/archivist';
3
- import { XyoBoundWitnessWithPartialMeta } from '@xyo-network/boundwitness';
2
+ import { XyoArchivist, XyoArchivistBase, XyoPayloadFindFilter } from '@xyo-network/archivist';
3
+ import { XyoPayload } from '@xyo-network/payload';
4
4
  import { XyoArchivistApi } from './Api';
5
- export declare class XyoApiArchivist extends XyoBoundWitnessArchivist {
5
+ export declare class XyoApiArchivist extends XyoArchivistBase {
6
6
  protected api: XyoArchivistApi;
7
7
  protected archive: string;
8
8
  constructor(api: XyoArchivistApi, archive: string, parent?: XyoArchivist, account?: XyoAccount);
9
- get(hash: string): Promise<import("@xyo-network/payload").XyoPayloadBase[] | undefined>;
10
- insert(payload: XyoBoundWitnessWithPartialMeta): Promise<string[]>;
9
+ get(hash: string): Promise<import("@xyo-network/payload").XyoPayloadBase | undefined>;
10
+ insert(payloads: XyoPayload[]): Promise<import("@xyo-network/payload").XyoPayloadBase[]>;
11
11
  find(filter: XyoPayloadFindFilter): Promise<import("@xyo-network/payload").XyoPayloadWithPartialMeta<import("@xyo-network/core").EmptyObject>[]>;
12
12
  }
@@ -4,7 +4,8 @@ exports.XyoApiArchivist = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const sdk_js_1 = require("@xylabs/sdk-js");
6
6
  const archivist_1 = require("@xyo-network/archivist");
7
- class XyoApiArchivist extends archivist_1.XyoBoundWitnessArchivist {
7
+ const payload_1 = require("@xyo-network/payload");
8
+ class XyoApiArchivist extends archivist_1.XyoArchivistBase {
8
9
  constructor(api, archive, parent, account) {
9
10
  super(parent, account);
10
11
  this.api = api;
@@ -13,13 +14,31 @@ class XyoApiArchivist extends archivist_1.XyoBoundWitnessArchivist {
13
14
  get(hash) {
14
15
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
15
16
  const [payloads] = yield this.api.archive(this.archive).payload.hash(hash).get('tuple');
16
- return payloads;
17
+ return payloads === null || payloads === void 0 ? void 0 : payloads.pop();
17
18
  });
18
19
  }
19
- insert(payload) {
20
- var _a, _b;
20
+ insert(payloads) {
21
21
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
22
- return (_b = (_a = (yield this.api.archive(this.archive).block.post([payload]))) === null || _a === void 0 ? void 0 : _a.map((value) => (0, sdk_js_1.assertEx)(value._hash))) !== null && _b !== void 0 ? _b : [];
22
+ const boundwitnesses = payloads.filter((payload) => payload.schema === 'network.xyo.payload');
23
+ boundwitnesses.forEach((boundwitness) => {
24
+ boundwitness._payloads ===
25
+ payloads.filter((payload) => {
26
+ const hash = new payload_1.XyoPayloadWrapper(payload).hash;
27
+ return boundwitness.payload_hashes.includes(hash);
28
+ });
29
+ });
30
+ payloads.forEach((payload) => {
31
+ let found = false;
32
+ const hash = new payload_1.XyoPayloadWrapper(payload).hash;
33
+ boundwitnesses.forEach((boundwitnesses) => {
34
+ if (boundwitnesses.payload_hashes.includes(hash)) {
35
+ found = true;
36
+ }
37
+ });
38
+ (0, sdk_js_1.assertEx)(found, 'Payload not in Boundwitness received');
39
+ });
40
+ yield this.api.archive(this.archive).block.post(boundwitnesses);
41
+ return payloads;
23
42
  });
24
43
  }
25
44
  find(filter) {
@@ -1 +1 @@
1
- {"version":3,"file":"XyoApiArchivist.js","sourceRoot":"","sources":["../../../src/Archivist/XyoApiArchivist.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AAEzC,sDAAqG;AAKrG,MAAa,eAAgB,SAAQ,oCAAwB;IAG3D,YAAY,GAAoB,EAAE,OAAe,EAAE,MAAqB,EAAE,OAAoB;QAC5F,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEY,GAAG,CAAC,IAAY;;YAC3B,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACvF,OAAO,QAAQ,CAAA;QACjB,CAAC;KAAA;IAEY,MAAM,CAAC,OAAuC;;;YACzD,OAAO,MAAA,MAAA,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,0CAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,iBAAQ,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC,mCAAI,EAAE,CAAA;;KACjH;IAEY,IAAI,CAAC,MAA4B;;;YAC5C,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,GAAG,MAAA,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,mCAAI,EAAE,CAAA;YAClG,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,MAAA,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,mCAAI,EAAE,CAAA;YAC9F,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;;KAC/B;CACF;AAvBD,0CAuBC"}
1
+ {"version":3,"file":"XyoApiArchivist.js","sourceRoot":"","sources":["../../../src/Archivist/XyoApiArchivist.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AAEzC,sDAA6F;AAE7F,kDAAoE;AAIpE,MAAa,eAAgB,SAAQ,4BAAgB;IAGnD,YAAY,GAAoB,EAAE,OAAe,EAAE,MAAqB,EAAE,OAAoB;QAC5F,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEY,GAAG,CAAC,IAAY;;YAC3B,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACvF,OAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,EAAE,CAAA;QACxB,CAAC;KAAA;IAEY,MAAM,CAAC,QAAsB;;YACxC,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,qBAAqB,CAAqC,CAAA;YACjI,cAAc,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;gBACtC,YAAY,CAAC,SAAS;oBACpB,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;wBAC1B,MAAM,IAAI,GAAG,IAAI,2BAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAA;wBAChD,OAAO,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;oBACnD,CAAC,CAAC,CAAA;YACN,CAAC,CAAC,CAAA;YACF,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC3B,IAAI,KAAK,GAAG,KAAK,CAAA;gBACjB,MAAM,IAAI,GAAG,IAAI,2BAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAA;gBAChD,cAAc,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;oBACxC,IAAI,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBAChD,KAAK,GAAG,IAAI,CAAA;qBACb;gBACH,CAAC,CAAC,CAAA;gBACF,IAAA,iBAAQ,EAAC,KAAK,EAAE,sCAAsC,CAAC,CAAA;YACzD,CAAC,CAAC,CAAA;YACF,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAC/D,OAAO,QAAQ,CAAA;QACjB,CAAC;KAAA;IAEY,IAAI,CAAC,MAA4B;;;YAC5C,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,GAAG,MAAA,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,mCAAI,EAAE,CAAA;YAClG,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,MAAA,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,mCAAI,EAAE,CAAA;YAC9F,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;;KAC/B;CACF;AA1CD,0CA0CC"}
@@ -0,0 +1,12 @@
1
+ import { XyoAccount } from '@xyo-network/account';
2
+ import { XyoArchivist, XyoArchivistBase, XyoPayloadFindFilter } from '@xyo-network/archivist';
3
+ import { XyoPayload } from '@xyo-network/payload';
4
+ import { XyoArchivistApi } from './Api';
5
+ export declare class XyoRemoteArchivist extends XyoArchivistBase {
6
+ protected api: XyoArchivistApi;
7
+ protected archive: string;
8
+ constructor(api: XyoArchivistApi, archive: string, parent?: XyoArchivist, account?: XyoAccount);
9
+ get(hash: string): Promise<import("@xyo-network/payload").XyoPayloadBase | undefined>;
10
+ insert(payloads: XyoPayload[]): Promise<import("@xyo-network/payload").XyoPayloadBase[]>;
11
+ find(filter: XyoPayloadFindFilter): Promise<import("@xyo-network/payload").XyoPayloadWithPartialMeta<import("@xyo-network/core").EmptyObject>[]>;
12
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.XyoRemoteArchivist = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const sdk_js_1 = require("@xylabs/sdk-js");
6
+ const archivist_1 = require("@xyo-network/archivist");
7
+ const payload_1 = require("@xyo-network/payload");
8
+ class XyoRemoteArchivist extends archivist_1.XyoArchivistBase {
9
+ constructor(api, archive, parent, account) {
10
+ super(parent, account);
11
+ this.api = api;
12
+ this.archive = archive;
13
+ }
14
+ get(hash) {
15
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
16
+ const [payloads] = yield this.api.archive(this.archive).payload.hash(hash).get('tuple');
17
+ return payloads === null || payloads === void 0 ? void 0 : payloads.pop();
18
+ });
19
+ }
20
+ insert(payloads) {
21
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
22
+ const boundwitnesses = payloads.filter((payload) => payload.schema === 'network.xyo.payload');
23
+ boundwitnesses.forEach((boundwitness) => {
24
+ boundwitness._payloads ===
25
+ payloads.filter((payload) => {
26
+ const hash = new payload_1.XyoPayloadWrapper(payload).hash;
27
+ return boundwitness.payload_hashes.includes(hash);
28
+ });
29
+ });
30
+ payloads.forEach((payload) => {
31
+ let found = false;
32
+ const hash = new payload_1.XyoPayloadWrapper(payload).hash;
33
+ boundwitnesses.forEach((boundwitnesses) => {
34
+ if (boundwitnesses.payload_hashes.includes(hash)) {
35
+ found = true;
36
+ }
37
+ });
38
+ (0, sdk_js_1.assertEx)(found, 'Payload not in Boundwitness received');
39
+ });
40
+ yield this.api.archive(this.archive).block.post(boundwitnesses);
41
+ return payloads;
42
+ });
43
+ }
44
+ find(filter) {
45
+ var _a, _b;
46
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
47
+ const [payloads = []] = (_a = (yield this.api.archive(this.archive).payload.find(filter, 'tuple'))) !== null && _a !== void 0 ? _a : [];
48
+ const [blocks = []] = (_b = (yield this.api.archive(this.archive).block.find(filter, 'tuple'))) !== null && _b !== void 0 ? _b : [];
49
+ return payloads.concat(blocks);
50
+ });
51
+ }
52
+ }
53
+ exports.XyoRemoteArchivist = XyoRemoteArchivist;
54
+ //# sourceMappingURL=XyoRemoteArchivist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyoRemoteArchivist.js","sourceRoot":"","sources":["../../../src/Archivist/XyoRemoteArchivist.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AAEzC,sDAA6F;AAE7F,kDAAoE;AAIpE,MAAa,kBAAmB,SAAQ,4BAAgB;IAGtD,YAAY,GAAoB,EAAE,OAAe,EAAE,MAAqB,EAAE,OAAoB;QAC5F,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEY,GAAG,CAAC,IAAY;;YAC3B,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACvF,OAAO,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,GAAG,EAAE,CAAA;QACxB,CAAC;KAAA;IAEY,MAAM,CAAC,QAAsB;;YACxC,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,qBAAqB,CAAqC,CAAA;YACjI,cAAc,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;gBACtC,YAAY,CAAC,SAAS;oBACpB,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;wBAC1B,MAAM,IAAI,GAAG,IAAI,2BAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAA;wBAChD,OAAO,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;oBACnD,CAAC,CAAC,CAAA;YACN,CAAC,CAAC,CAAA;YACF,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC3B,IAAI,KAAK,GAAG,KAAK,CAAA;gBACjB,MAAM,IAAI,GAAG,IAAI,2BAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAA;gBAChD,cAAc,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;oBACxC,IAAI,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;wBAChD,KAAK,GAAG,IAAI,CAAA;qBACb;gBACH,CAAC,CAAC,CAAA;gBACF,IAAA,iBAAQ,EAAC,KAAK,EAAE,sCAAsC,CAAC,CAAA;YACzD,CAAC,CAAC,CAAA;YACF,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAC/D,OAAO,QAAQ,CAAA;QACjB,CAAC;KAAA;IAEY,IAAI,CAAC,MAA4B;;;YAC5C,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,GAAG,MAAA,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,mCAAI,EAAE,CAAA;YAClG,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,MAAA,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,mCAAI,EAAE,CAAA;YAC9F,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;;KAC/B;CACF;AA1CD,gDA0CC"}
@@ -4,4 +4,4 @@ export * from './Archive';
4
4
  export * from './Archives';
5
5
  export * from './Block';
6
6
  export * from './Payload';
7
- export * from './XyoApiArchivist';
7
+ export * from './XyoRemoteArchivist';
@@ -7,5 +7,5 @@ tslib_1.__exportStar(require("./Archive"), exports);
7
7
  tslib_1.__exportStar(require("./Archives"), exports);
8
8
  tslib_1.__exportStar(require("./Block"), exports);
9
9
  tslib_1.__exportStar(require("./Payload"), exports);
10
- tslib_1.__exportStar(require("./XyoApiArchivist"), exports);
10
+ tslib_1.__exportStar(require("./XyoRemoteArchivist"), exports);
11
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Archivist/index.ts"],"names":[],"mappings":";;;AAAA,oDAAyB;AACzB,gDAAqB;AACrB,oDAAyB;AACzB,qDAA0B;AAC1B,kDAAuB;AACvB,oDAAyB;AACzB,4DAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Archivist/index.ts"],"names":[],"mappings":";;;AAAA,oDAAyB;AACzB,gDAAqB;AACrB,oDAAyB;AACzB,qDAA0B;AAC1B,kDAAuB;AACvB,oDAAyB;AACzB,+DAAoC"}
@@ -1,8 +1,9 @@
1
+ import { EmptyObject } from '@xyo-network/core';
1
2
  import { XyoPayload } from '@xyo-network/payload';
2
3
  import { XyoApiBase } from './Base';
3
4
  import { XyoApiConfig, XyoApiResponseBody, XyoApiResponseTuple } from './models';
4
- export declare type XyoApiSimpleQuery = Record<string, unknown>;
5
- export declare class XyoApiSimple<T = XyoPayload, D = T, Q extends XyoApiSimpleQuery = Record<string, never>, C extends XyoApiConfig = XyoApiConfig> extends XyoApiBase<C> {
5
+ export declare type XyoApiSimpleQuery<T extends EmptyObject = EmptyObject> = XyoPayload<T>;
6
+ export declare class XyoApiSimple<T = XyoPayload, D = T, Q extends XyoApiSimpleQuery = XyoApiSimpleQuery, C extends XyoApiConfig = XyoApiConfig> extends XyoApiBase<C> {
6
7
  get(): Promise<XyoApiResponseBody<T>>;
7
8
  get(responseType?: 'body'): Promise<XyoApiResponseBody<T>>;
8
9
  get(responseType?: 'tuple'): Promise<XyoApiResponseTuple<T>>;
@@ -1 +1 @@
1
- {"version":3,"file":"Simple.js","sourceRoot":"","sources":["../../src/Simple.ts"],"names":[],"mappings":";;;;AAEA,iCAAmC;AAEnC,6CAAyC;AAIzC,MAAa,YAAgI,SAAQ,iBAAa;IAInJ,GAAG,CAAC,YAAiC;;YAChD,QAAQ,YAAY,EAAE;gBACpB,KAAK,OAAO;oBACV,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;gBACnD;oBACE,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;aAC3C;QACH,CAAC;KAAA;IAKY,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,YAAiC;;YAC7D,QAAQ,YAAY,EAAE;gBACpB,KAAK,OAAO;oBACV,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,IAAA,uBAAU,EAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;gBAC3D;oBACE,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,IAAA,uBAAU,EAAC,KAAK,CAAC,CAAC,CAAA;aACnD;QACH,CAAC;KAAA;IAKY,IAAI,CAAC,IAAQ,EAAE,YAAiC;;YAC3D,QAAQ,YAAY,EAAE;gBACpB,KAAK,OAAO;oBACV,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;gBAC1D;oBACE,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;aAClD;QACH,CAAC;KAAA;IAKY,GAAG,CAAC,IAAQ,EAAE,YAAiC;;YAC1D,QAAQ,YAAY,EAAE;gBACpB,KAAK,OAAO;oBACV,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;gBACzD;oBACE,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;aACjD;QACH,CAAC;KAAA;IAKY,MAAM,CAAC,YAAiC;;YACnD,QAAQ,YAAY,EAAE;gBACpB,KAAK,OAAO;oBACV,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;gBACtD;oBACE,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;aAC9C;QACH,CAAC;KAAA;CACF;AA5DD,oCA4DC"}
1
+ {"version":3,"file":"Simple.js","sourceRoot":"","sources":["../../src/Simple.ts"],"names":[],"mappings":";;;;AAGA,iCAAmC;AAEnC,6CAAyC;AAIzC,MAAa,YAA4H,SAAQ,iBAAa;IAI/I,GAAG,CAAC,YAAiC;;YAChD,QAAQ,YAAY,EAAE;gBACpB,KAAK,OAAO;oBACV,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;gBACnD;oBACE,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;aAC3C;QACH,CAAC;KAAA;IAKY,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,YAAiC;;YAC7D,QAAQ,YAAY,EAAE;gBACpB,KAAK,OAAO;oBACV,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,IAAA,uBAAU,EAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;gBAC3D;oBACE,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,IAAA,uBAAU,EAAC,KAAK,CAAC,CAAC,CAAA;aACnD;QACH,CAAC;KAAA;IAKY,IAAI,CAAC,IAAQ,EAAE,YAAiC;;YAC3D,QAAQ,YAAY,EAAE;gBACpB,KAAK,OAAO;oBACV,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;gBAC1D;oBACE,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;aAClD;QACH,CAAC;KAAA;IAKY,GAAG,CAAC,IAAQ,EAAE,YAAiC;;YAC1D,QAAQ,YAAY,EAAE;gBACpB,KAAK,OAAO;oBACV,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;gBACzD;oBACE,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;aACjD;QACH,CAAC;KAAA;IAKY,MAAM,CAAC,YAAiC;;YACnD,QAAQ,YAAY,EAAE;gBACpB,KAAK,OAAO;oBACV,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;gBACtD;oBACE,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;aAC9C;QACH,CAAC;KAAA;CACF;AA5DD,oCA4DC"}
@@ -11,8 +11,8 @@ export interface XyoUserLogin {
11
11
  export declare class XyoUserApi extends XyoApiBase {
12
12
  get authenticated(): boolean;
13
13
  get headers(): Record<string, string>;
14
- get login(): XyoApiSimple<XyoUserLogin, XyoUserLogin, Record<string, never>, import("../models/Api/Config").XyoApiConfig>;
15
- get profile(): XyoApiSimple<import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/payload").XyoPayloadBase, Record<string, never>, {
14
+ get login(): XyoApiSimple<XyoUserLogin, XyoUserLogin, import("@xyo-network/payload").XyoPayloadBase, import("../models/Api/Config").XyoApiConfig>;
15
+ get profile(): XyoApiSimple<import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/payload").XyoPayloadBase, {
16
16
  root: string;
17
17
  apiDomain: string; /** @field Password of the user [in] */
18
18
  userid?: string | undefined;
@@ -13,6 +13,6 @@ export interface XyoAccountVerify {
13
13
  token?: string;
14
14
  }
15
15
  export declare class XyoAccountApi extends XyoApiBase {
16
- get challenge(): XyoApiSimple<XyoAccountChallenge, XyoAccountChallenge, Record<string, never>, import("../../models/Api/Config").XyoApiConfig>;
17
- get verify(): XyoApiSimple<XyoAccountVerify, XyoAccountVerify, Record<string, never>, import("../../models/Api/Config").XyoApiConfig>;
16
+ get challenge(): XyoApiSimple<XyoAccountChallenge, XyoAccountChallenge, import("@xyo-network/payload").XyoPayloadBase, import("../../models/Api/Config").XyoApiConfig>;
17
+ get verify(): XyoApiSimple<XyoAccountVerify, XyoAccountVerify, import("@xyo-network/payload").XyoPayloadBase, import("../../models/Api/Config").XyoApiConfig>;
18
18
  }
@@ -13,14 +13,14 @@ export declare class XyoArchivistApi extends XyoApiBase {
13
13
  private _archives?;
14
14
  get archives(): XyoArchivistArchivesApi;
15
15
  private _stats?;
16
- get stats(): XyoApiSimple<unknown[], unknown[], Record<string, never>, import("../models/Api/Config").XyoApiConfig>;
16
+ get stats(): XyoApiSimple<unknown[], unknown[], import("@xyo-network/payload").XyoPayloadBase, import("../models/Api/Config").XyoApiConfig>;
17
17
  private _user?;
18
18
  get user(): XyoUserApi;
19
19
  archive(archive?: string): XyoArchivistArchiveApi;
20
20
  /** @deprecated use account instead */
21
21
  wallet(address: XyoDataLike): XyoAccountApi;
22
22
  account(address: XyoDataLike): XyoAccountApi;
23
- huri(huri: Huri | string): XyoApiSimple<import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/payload").XyoPayloadBase, Record<string, never>, import("../models/Api/Config").XyoApiConfig>;
23
+ huri(huri: Huri | string): XyoApiSimple<import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/payload").XyoPayloadBase, import("../models/Api/Config").XyoApiConfig>;
24
24
  /**
25
25
  * Issues commands/queries as XyoBoundWitness wrapped XyoPayloads against a Node in the network
26
26
  * @param archive Optional, the archive to issue the requests against
@@ -1,5 +1,5 @@
1
1
  import { XyoArchiveKey } from '../../../../models';
2
2
  import { XyoApiSimple } from '../../../../Simple';
3
3
  export declare class XyoArchivistArchiveSettingsKeyApi extends XyoApiSimple<XyoArchiveKey[]> {
4
- key(key: string): XyoApiSimple<XyoArchiveKey, XyoArchiveKey, Record<string, never>, import("../../../../models/Api/Config").XyoApiConfig>;
4
+ key(key: string): XyoApiSimple<XyoArchiveKey, XyoArchiveKey, import("@xyo-network/payload").XyoPayloadBase, import("../../../../models/Api/Config").XyoApiConfig>;
5
5
  }
@@ -40,29 +40,29 @@ export class XyoArchivistPayloadApi extends XyoApiSimple {
40
40
  }
41
41
  /** @deprecated use find */
42
42
  async findBefore(timestamp, limit = 20) {
43
- return await this.find({ limit, order: 'desc', timestamp });
43
+ return await this.find({ limit, order: 'desc', schema: 'network.xyo.query', timestamp });
44
44
  }
45
45
  /** @deprecated use findBefore */
46
46
  async getBefore(timestamp, limit = 20) {
47
- return await this.find({ limit, order: 'desc', timestamp });
47
+ return await this.find({ limit, order: 'desc', schema: 'network.xyo.query', timestamp });
48
48
  }
49
49
  /** @deprecated use find */
50
50
  async findAfter(timestamp, limit = 20) {
51
- return await this.find({ limit, order: 'asc', timestamp });
51
+ return await this.find({ limit, order: 'asc', schema: 'network.xyo.query', timestamp });
52
52
  }
53
53
  /** @deprecated use find */
54
54
  async getAfter(timestamp, limit = 20) {
55
- return await this.find({ limit, order: 'asc', timestamp });
55
+ return await this.find({ limit, order: 'asc', schema: 'network.xyo.query', timestamp });
56
56
  }
57
57
  /** @deprecated use find */
58
58
  async findMostRecent(limit = 20) {
59
59
  assertEx(limit > 0, 'min limit = 1');
60
60
  assertEx(limit <= 100, 'max limit = 100');
61
- return await this.find({ limit, order: 'desc', timestamp: 999999999999 });
61
+ return await this.find({ limit, order: 'desc', schema: 'network.xyo.query', timestamp: 999999999999 });
62
62
  }
63
63
  /** @deprecated use find */
64
64
  async getMostRecent(limit = 20) {
65
- return await this.find({ limit, order: 'desc', timestamp: 999999999999 });
65
+ return await this.find({ limit, order: 'desc', schema: 'network.xyo.query', timestamp: 999999999999 });
66
66
  }
67
67
  }
68
68
  //# sourceMappingURL=Api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Api.js","sourceRoot":"","sources":["../../../../src/Archivist/Payload/Api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Api.js","sourceRoot":"","sources":["../../../../src/Archivist/Payload/Api.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,5 @@ export interface XyoArchivistArchivePayloadSchemaStats {
4
4
  }
5
5
  export declare class XyoArchivistArchivePayloadSchemaApi extends XyoApiSimple<string[]> {
6
6
  private _stats?;
7
- get stats(): XyoApiSimple<XyoArchivistArchivePayloadSchemaStats, XyoArchivistArchivePayloadSchemaStats, Record<string, never>, import("../../../models/Api/Config").XyoApiConfig>;
7
+ get stats(): XyoApiSimple<XyoArchivistArchivePayloadSchemaStats, XyoArchivistArchivePayloadSchemaStats, import("@xyo-network/payload").XyoPayloadBase, import("../../../models/Api/Config").XyoApiConfig>;
8
8
  }
@@ -1,12 +1,12 @@
1
1
  import { XyoAccount } from '@xyo-network/account';
2
- import { XyoArchivist, XyoBoundWitnessArchivist, XyoPayloadFindFilter } from '@xyo-network/archivist';
3
- import { XyoBoundWitnessWithPartialMeta } from '@xyo-network/boundwitness';
2
+ import { XyoArchivist, XyoArchivistBase, XyoPayloadFindFilter } from '@xyo-network/archivist';
3
+ import { XyoPayload } from '@xyo-network/payload';
4
4
  import { XyoArchivistApi } from './Api';
5
- export declare class XyoApiArchivist extends XyoBoundWitnessArchivist {
5
+ export declare class XyoApiArchivist extends XyoArchivistBase {
6
6
  protected api: XyoArchivistApi;
7
7
  protected archive: string;
8
8
  constructor(api: XyoArchivistApi, archive: string, parent?: XyoArchivist, account?: XyoAccount);
9
- get(hash: string): Promise<import("@xyo-network/payload").XyoPayloadBase[] | undefined>;
10
- insert(payload: XyoBoundWitnessWithPartialMeta): Promise<string[]>;
9
+ get(hash: string): Promise<import("@xyo-network/payload").XyoPayloadBase | undefined>;
10
+ insert(payloads: XyoPayload[]): Promise<import("@xyo-network/payload").XyoPayloadBase[]>;
11
11
  find(filter: XyoPayloadFindFilter): Promise<import("@xyo-network/payload").XyoPayloadWithPartialMeta<import("@xyo-network/core").EmptyObject>[]>;
12
12
  }
@@ -1,6 +1,7 @@
1
1
  import { assertEx } from '@xylabs/sdk-js';
2
- import { XyoBoundWitnessArchivist } from '@xyo-network/archivist';
3
- export class XyoApiArchivist extends XyoBoundWitnessArchivist {
2
+ import { XyoArchivistBase } from '@xyo-network/archivist';
3
+ import { XyoPayloadWrapper } from '@xyo-network/payload';
4
+ export class XyoApiArchivist extends XyoArchivistBase {
4
5
  constructor(api, archive, parent, account) {
5
6
  super(parent, account);
6
7
  this.api = api;
@@ -8,10 +9,29 @@ export class XyoApiArchivist extends XyoBoundWitnessArchivist {
8
9
  }
9
10
  async get(hash) {
10
11
  const [payloads] = await this.api.archive(this.archive).payload.hash(hash).get('tuple');
11
- return payloads;
12
+ return payloads?.pop();
12
13
  }
13
- async insert(payload) {
14
- return (await this.api.archive(this.archive).block.post([payload]))?.map((value) => assertEx(value._hash)) ?? [];
14
+ async insert(payloads) {
15
+ const boundwitnesses = payloads.filter((payload) => payload.schema === 'network.xyo.payload');
16
+ boundwitnesses.forEach((boundwitness) => {
17
+ boundwitness._payloads ===
18
+ payloads.filter((payload) => {
19
+ const hash = new XyoPayloadWrapper(payload).hash;
20
+ return boundwitness.payload_hashes.includes(hash);
21
+ });
22
+ });
23
+ payloads.forEach((payload) => {
24
+ let found = false;
25
+ const hash = new XyoPayloadWrapper(payload).hash;
26
+ boundwitnesses.forEach((boundwitnesses) => {
27
+ if (boundwitnesses.payload_hashes.includes(hash)) {
28
+ found = true;
29
+ }
30
+ });
31
+ assertEx(found, 'Payload not in Boundwitness received');
32
+ });
33
+ await this.api.archive(this.archive).block.post(boundwitnesses);
34
+ return payloads;
15
35
  }
16
36
  async find(filter) {
17
37
  const [payloads = []] = (await this.api.archive(this.archive).payload.find(filter, 'tuple')) ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"XyoApiArchivist.js","sourceRoot":"","sources":["../../../src/Archivist/XyoApiArchivist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAgB,wBAAwB,EAAwB,MAAM,wBAAwB,CAAA;AAKrG,MAAM,OAAO,eAAgB,SAAQ,wBAAwB;IAG3D,YAAY,GAAoB,EAAE,OAAe,EAAE,MAAqB,EAAE,OAAoB;QAC5F,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,IAAY;QAC3B,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACvF,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,OAAuC;QACzD,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAA;IAClH,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAA4B;QAC5C,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QAClG,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QAC9F,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAChC,CAAC;CACF"}
1
+ {"version":3,"file":"XyoApiArchivist.js","sourceRoot":"","sources":["../../../src/Archivist/XyoApiArchivist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAgB,gBAAgB,EAAwB,MAAM,wBAAwB,CAAA;AAE7F,OAAO,EAAc,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAIpE,MAAM,OAAO,eAAgB,SAAQ,gBAAgB;IAGnD,YAAY,GAAoB,EAAE,OAAe,EAAE,MAAqB,EAAE,OAAoB;QAC5F,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,IAAY;QAC3B,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACvF,OAAO,QAAQ,EAAE,GAAG,EAAE,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,QAAsB;QACxC,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,qBAAqB,CAAqC,CAAA;QACjI,cAAc,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;YACtC,YAAY,CAAC,SAAS;gBACpB,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC1B,MAAM,IAAI,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAA;oBAChD,OAAO,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;gBACnD,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QACF,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,KAAK,GAAG,KAAK,CAAA;YACjB,MAAM,IAAI,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAA;YAChD,cAAc,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;gBACxC,IAAI,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;oBAChD,KAAK,GAAG,IAAI,CAAA;iBACb;YACH,CAAC,CAAC,CAAA;YACF,QAAQ,CAAC,KAAK,EAAE,sCAAsC,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;QACF,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC/D,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAA4B;QAC5C,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QAClG,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QAC9F,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAChC,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ import { XyoAccount } from '@xyo-network/account';
2
+ import { XyoArchivist, XyoArchivistBase, XyoPayloadFindFilter } from '@xyo-network/archivist';
3
+ import { XyoPayload } from '@xyo-network/payload';
4
+ import { XyoArchivistApi } from './Api';
5
+ export declare class XyoRemoteArchivist extends XyoArchivistBase {
6
+ protected api: XyoArchivistApi;
7
+ protected archive: string;
8
+ constructor(api: XyoArchivistApi, archive: string, parent?: XyoArchivist, account?: XyoAccount);
9
+ get(hash: string): Promise<import("@xyo-network/payload").XyoPayloadBase | undefined>;
10
+ insert(payloads: XyoPayload[]): Promise<import("@xyo-network/payload").XyoPayloadBase[]>;
11
+ find(filter: XyoPayloadFindFilter): Promise<import("@xyo-network/payload").XyoPayloadWithPartialMeta<import("@xyo-network/core").EmptyObject>[]>;
12
+ }
@@ -0,0 +1,42 @@
1
+ import { assertEx } from '@xylabs/sdk-js';
2
+ import { XyoArchivistBase } from '@xyo-network/archivist';
3
+ import { XyoPayloadWrapper } from '@xyo-network/payload';
4
+ export class XyoRemoteArchivist extends XyoArchivistBase {
5
+ constructor(api, archive, parent, account) {
6
+ super(parent, account);
7
+ this.api = api;
8
+ this.archive = archive;
9
+ }
10
+ async get(hash) {
11
+ const [payloads] = await this.api.archive(this.archive).payload.hash(hash).get('tuple');
12
+ return payloads?.pop();
13
+ }
14
+ async insert(payloads) {
15
+ const boundwitnesses = payloads.filter((payload) => payload.schema === 'network.xyo.payload');
16
+ boundwitnesses.forEach((boundwitness) => {
17
+ boundwitness._payloads ===
18
+ payloads.filter((payload) => {
19
+ const hash = new XyoPayloadWrapper(payload).hash;
20
+ return boundwitness.payload_hashes.includes(hash);
21
+ });
22
+ });
23
+ payloads.forEach((payload) => {
24
+ let found = false;
25
+ const hash = new XyoPayloadWrapper(payload).hash;
26
+ boundwitnesses.forEach((boundwitnesses) => {
27
+ if (boundwitnesses.payload_hashes.includes(hash)) {
28
+ found = true;
29
+ }
30
+ });
31
+ assertEx(found, 'Payload not in Boundwitness received');
32
+ });
33
+ await this.api.archive(this.archive).block.post(boundwitnesses);
34
+ return payloads;
35
+ }
36
+ async find(filter) {
37
+ const [payloads = []] = (await this.api.archive(this.archive).payload.find(filter, 'tuple')) ?? [];
38
+ const [blocks = []] = (await this.api.archive(this.archive).block.find(filter, 'tuple')) ?? [];
39
+ return payloads.concat(blocks);
40
+ }
41
+ }
42
+ //# sourceMappingURL=XyoRemoteArchivist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyoRemoteArchivist.js","sourceRoot":"","sources":["../../../src/Archivist/XyoRemoteArchivist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAgB,gBAAgB,EAAwB,MAAM,wBAAwB,CAAA;AAE7F,OAAO,EAAc,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAIpE,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IAGtD,YAAY,GAAoB,EAAE,OAAe,EAAE,MAAqB,EAAE,OAAoB;QAC5F,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,IAAY;QAC3B,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACvF,OAAO,QAAQ,EAAE,GAAG,EAAE,CAAA;IACxB,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,QAAsB;QACxC,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,qBAAqB,CAAqC,CAAA;QACjI,cAAc,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;YACtC,YAAY,CAAC,SAAS;gBACpB,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC1B,MAAM,IAAI,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAA;oBAChD,OAAO,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;gBACnD,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QACF,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,KAAK,GAAG,KAAK,CAAA;YACjB,MAAM,IAAI,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAA;YAChD,cAAc,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;gBACxC,IAAI,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;oBAChD,KAAK,GAAG,IAAI,CAAA;iBACb;YACH,CAAC,CAAC,CAAA;YACF,QAAQ,CAAC,KAAK,EAAE,sCAAsC,CAAC,CAAA;QACzD,CAAC,CAAC,CAAA;QACF,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAC/D,OAAO,QAAQ,CAAA;IACjB,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAA4B;QAC5C,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QAClG,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QAC9F,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAChC,CAAC;CACF"}
@@ -4,4 +4,4 @@ export * from './Archive';
4
4
  export * from './Archives';
5
5
  export * from './Block';
6
6
  export * from './Payload';
7
- export * from './XyoApiArchivist';
7
+ export * from './XyoRemoteArchivist';
@@ -4,5 +4,5 @@ export * from './Archive';
4
4
  export * from './Archives';
5
5
  export * from './Block';
6
6
  export * from './Payload';
7
- export * from './XyoApiArchivist';
7
+ export * from './XyoRemoteArchivist';
8
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Archivist/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,OAAO,CAAA;AACrB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Archivist/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,OAAO,CAAA;AACrB,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,sBAAsB,CAAA"}
@@ -1,8 +1,9 @@
1
+ import { EmptyObject } from '@xyo-network/core';
1
2
  import { XyoPayload } from '@xyo-network/payload';
2
3
  import { XyoApiBase } from './Base';
3
4
  import { XyoApiConfig, XyoApiResponseBody, XyoApiResponseTuple } from './models';
4
- export declare type XyoApiSimpleQuery = Record<string, unknown>;
5
- export declare class XyoApiSimple<T = XyoPayload, D = T, Q extends XyoApiSimpleQuery = Record<string, never>, C extends XyoApiConfig = XyoApiConfig> extends XyoApiBase<C> {
5
+ export declare type XyoApiSimpleQuery<T extends EmptyObject = EmptyObject> = XyoPayload<T>;
6
+ export declare class XyoApiSimple<T = XyoPayload, D = T, Q extends XyoApiSimpleQuery = XyoApiSimpleQuery, C extends XyoApiConfig = XyoApiConfig> extends XyoApiBase<C> {
6
7
  get(): Promise<XyoApiResponseBody<T>>;
7
8
  get(responseType?: 'body'): Promise<XyoApiResponseBody<T>>;
8
9
  get(responseType?: 'tuple'): Promise<XyoApiResponseTuple<T>>;
@@ -1 +1 @@
1
- {"version":3,"file":"Simple.js","sourceRoot":"","sources":["../../src/Simple.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAIzC,MAAM,OAAO,YAAgI,SAAQ,UAAa;IAIzJ,KAAK,CAAC,GAAG,CAAC,YAAiC;QAChD,QAAQ,YAAY,EAAE;YACpB,KAAK,OAAO;gBACV,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;YACnD;gBACE,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;SAC3C;IACH,CAAC;IAKM,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,YAAiC;QAC7D,QAAQ,YAAY,EAAE;YACpB,KAAK,OAAO;gBACV,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;YAC3D;gBACE,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;SACnD;IACH,CAAC;IAKM,KAAK,CAAC,IAAI,CAAC,IAAQ,EAAE,YAAiC;QAC3D,QAAQ,YAAY,EAAE;YACpB,KAAK,OAAO;gBACV,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;YAC1D;gBACE,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;SAClD;IACH,CAAC;IAKM,KAAK,CAAC,GAAG,CAAC,IAAQ,EAAE,YAAiC;QAC1D,QAAQ,YAAY,EAAE;YACpB,KAAK,OAAO;gBACV,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;YACzD;gBACE,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;SACjD;IACH,CAAC;IAKM,KAAK,CAAC,MAAM,CAAC,YAAiC;QACnD,QAAQ,YAAY,EAAE;YACpB,KAAK,OAAO;gBACV,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;YACtD;gBACE,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;SAC9C;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"Simple.js","sourceRoot":"","sources":["../../src/Simple.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAIzC,MAAM,OAAO,YAA4H,SAAQ,UAAa;IAIrJ,KAAK,CAAC,GAAG,CAAC,YAAiC;QAChD,QAAQ,YAAY,EAAE;YACpB,KAAK,OAAO;gBACV,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;YACnD;gBACE,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;SAC3C;IACH,CAAC;IAKM,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,YAAiC;QAC7D,QAAQ,YAAY,EAAE;YACpB,KAAK,OAAO;gBACV,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;YAC3D;gBACE,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;SACnD;IACH,CAAC;IAKM,KAAK,CAAC,IAAI,CAAC,IAAQ,EAAE,YAAiC;QAC3D,QAAQ,YAAY,EAAE;YACpB,KAAK,OAAO;gBACV,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;YAC1D;gBACE,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;SAClD;IACH,CAAC;IAKM,KAAK,CAAC,GAAG,CAAC,IAAQ,EAAE,YAAiC;QAC1D,QAAQ,YAAY,EAAE;YACpB,KAAK,OAAO;gBACV,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;YACzD;gBACE,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;SACjD;IACH,CAAC;IAKM,KAAK,CAAC,MAAM,CAAC,YAAiC;QACnD,QAAQ,YAAY,EAAE;YACpB,KAAK,OAAO;gBACV,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;YACtD;gBACE,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;SAC9C;IACH,CAAC;CACF"}
@@ -11,8 +11,8 @@ export interface XyoUserLogin {
11
11
  export declare class XyoUserApi extends XyoApiBase {
12
12
  get authenticated(): boolean;
13
13
  get headers(): Record<string, string>;
14
- get login(): XyoApiSimple<XyoUserLogin, XyoUserLogin, Record<string, never>, import("../models/Api/Config").XyoApiConfig>;
15
- get profile(): XyoApiSimple<import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/payload").XyoPayloadBase, Record<string, never>, {
14
+ get login(): XyoApiSimple<XyoUserLogin, XyoUserLogin, import("@xyo-network/payload").XyoPayloadBase, import("../models/Api/Config").XyoApiConfig>;
15
+ get profile(): XyoApiSimple<import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/payload").XyoPayloadBase, import("@xyo-network/payload").XyoPayloadBase, {
16
16
  root: string;
17
17
  apiDomain: string; /** @field Password of the user [in] */
18
18
  userid?: string | undefined;
package/package.json CHANGED
@@ -10,12 +10,12 @@
10
10
  },
11
11
  "dependencies": {
12
12
  "@xylabs/sdk-js": "^2.6.2",
13
- "@xyo-network/account": "^2.22.4",
14
- "@xyo-network/archivist": "^2.22.4",
15
- "@xyo-network/boundwitness": "^2.22.4",
16
- "@xyo-network/core": "^2.22.4",
17
- "@xyo-network/payload": "^2.22.4",
18
- "@xyo-network/typeof": "^2.22.4",
13
+ "@xyo-network/account": "^2.22.5",
14
+ "@xyo-network/archivist": "^2.22.5",
15
+ "@xyo-network/boundwitness": "^2.22.5",
16
+ "@xyo-network/core": "^2.22.5",
17
+ "@xyo-network/payload": "^2.22.5",
18
+ "@xyo-network/typeof": "^2.22.5",
19
19
  "axios": "^0.27.2",
20
20
  "lru-cache": "^7.13.1",
21
21
  "pako": "^2.0.4",
@@ -62,6 +62,6 @@
62
62
  },
63
63
  "sideEffects": true,
64
64
  "types": "dist/esm/index.d.ts",
65
- "version": "2.22.4",
65
+ "version": "2.22.5",
66
66
  "packageManager": "yarn@3.1.1"
67
67
  }
@@ -198,7 +198,7 @@ describe.skip('XyoArchivistApi', () => {
198
198
  const boundWitness = new XyoBoundWitnessBuilder().witness(XyoAccount.random()).build()
199
199
  await api.archives.archive(archive).block.post([boundWitness])
200
200
  const timestamp = Date.now() - 10000
201
- const response = await api.archives.archive(archive).block.find({ order: 'asc', timestamp })
201
+ const response = await api.archives.archive(archive).block.find({ order: 'asc', schema: 'netowrk.xyo.query', timestamp })
202
202
  expect(response?.length).toBe(1)
203
203
  const actual = response?.[0]
204
204
  expect(actual?._timestamp).toBeTruthy()
@@ -18,8 +18,7 @@ export const getTokenForNewUser = async (api: XyoArchivistApi): Promise<string>
18
18
  const account = XyoAccount.random()
19
19
  const address = new Wallet(account.private.bytes)
20
20
  const challenge = await api.account(account.public).challenge.post()
21
- expect(challenge?.state).toBeTruthy()
22
- const message = challenge?.state || ''
21
+ const message = assertEx(challenge?.state, 'Missing state from login challenge')
23
22
  const signature = await address.signMessage(message)
24
23
  const verify = await api.account(account.public).verify.post({ message, signature })
25
24
  const jwtToken = assertEx(verify?.token, 'Missing JWT token in response')
@@ -27,7 +27,7 @@ describe('XyoArchivistPayloadApi', () => {
27
27
  const boundWitness = new XyoBoundWitnessBuilder().witness(XyoAccount.random()).build()
28
28
  const blockResult = await api.archive(archive).block.post([boundWitness])
29
29
  expect(blockResult?.length).toBe(1)
30
- const response = await api.archive(archive).block.find({ order: 'asc', timestamp })
30
+ const response = await api.archive(archive).block.find({ order: 'asc', schema: 'netowrk.xyo.query', timestamp })
31
31
  expect(response?.length).toBe(1)
32
32
  const actual = response?.[0]
33
33
  expect(actual?._timestamp).toBeTruthy()
@@ -46,7 +46,7 @@ describe('XyoArchivistPayloadApi', () => {
46
46
  const blockResult = await api.archive(archive).block.post([boundWitness])
47
47
  expect(blockResult?.length).toBe(1)
48
48
  const timestamp = getTimestampMinutesFromNow(1)
49
- const response = await api.archive(archive).block.find({ order: 'desc', timestamp })
49
+ const response = await api.archive(archive).block.find({ order: 'desc', schema: 'netowrk.xyo.query', timestamp })
50
50
  expect(response?.length).toBe(1)
51
51
  const actual = response?.[0]
52
52
  expect(actual?._timestamp).toBeTruthy()
@@ -61,33 +61,33 @@ export class XyoArchivistPayloadApi<
61
61
 
62
62
  /** @deprecated use find */
63
63
  public async findBefore(timestamp: number, limit = 20) {
64
- return await this.find({ limit, order: 'desc', timestamp })
64
+ return await this.find({ limit, order: 'desc', schema: 'network.xyo.query', timestamp })
65
65
  }
66
66
 
67
67
  /** @deprecated use findBefore */
68
68
  public async getBefore(timestamp: number, limit = 20) {
69
- return await this.find({ limit, order: 'desc', timestamp })
69
+ return await this.find({ limit, order: 'desc', schema: 'network.xyo.query', timestamp })
70
70
  }
71
71
 
72
72
  /** @deprecated use find */
73
73
  public async findAfter(timestamp: number, limit = 20) {
74
- return await this.find({ limit, order: 'asc', timestamp })
74
+ return await this.find({ limit, order: 'asc', schema: 'network.xyo.query', timestamp })
75
75
  }
76
76
 
77
77
  /** @deprecated use find */
78
78
  public async getAfter(timestamp: number, limit = 20) {
79
- return await this.find({ limit, order: 'asc', timestamp })
79
+ return await this.find({ limit, order: 'asc', schema: 'network.xyo.query', timestamp })
80
80
  }
81
81
 
82
82
  /** @deprecated use find */
83
83
  public async findMostRecent(limit = 20) {
84
84
  assertEx(limit > 0, 'min limit = 1')
85
85
  assertEx(limit <= 100, 'max limit = 100')
86
- return await this.find({ limit, order: 'desc', timestamp: 999999999999 })
86
+ return await this.find({ limit, order: 'desc', schema: 'network.xyo.query', timestamp: 999999999999 })
87
87
  }
88
88
 
89
89
  /** @deprecated use find */
90
90
  public async getMostRecent(limit = 20) {
91
- return await this.find({ limit, order: 'desc', timestamp: 999999999999 })
91
+ return await this.find({ limit, order: 'desc', schema: 'network.xyo.query', timestamp: 999999999999 })
92
92
  }
93
93
  }
@@ -0,0 +1,51 @@
1
+ import { assertEx } from '@xylabs/sdk-js'
2
+ import { XyoAccount } from '@xyo-network/account'
3
+ import { XyoArchivist, XyoArchivistBase, XyoPayloadFindFilter } from '@xyo-network/archivist'
4
+ import { XyoBoundWitnessWithPartialMeta } from '@xyo-network/boundwitness'
5
+ import { XyoPayload, XyoPayloadWrapper } from '@xyo-network/payload'
6
+
7
+ import { XyoArchivistApi } from './Api'
8
+
9
+ export class XyoRemoteArchivist extends XyoArchivistBase {
10
+ protected api: XyoArchivistApi
11
+ protected archive: string
12
+ constructor(api: XyoArchivistApi, archive: string, parent?: XyoArchivist, account?: XyoAccount) {
13
+ super(parent, account)
14
+ this.api = api
15
+ this.archive = archive
16
+ }
17
+
18
+ public async get(hash: string) {
19
+ const [payloads] = await this.api.archive(this.archive).payload.hash(hash).get('tuple')
20
+ return payloads?.pop()
21
+ }
22
+
23
+ public async insert(payloads: XyoPayload[]) {
24
+ const boundwitnesses = payloads.filter((payload) => payload.schema === 'network.xyo.payload') as XyoBoundWitnessWithPartialMeta[]
25
+ boundwitnesses.forEach((boundwitness) => {
26
+ boundwitness._payloads ===
27
+ payloads.filter((payload) => {
28
+ const hash = new XyoPayloadWrapper(payload).hash
29
+ return boundwitness.payload_hashes.includes(hash)
30
+ })
31
+ })
32
+ payloads.forEach((payload) => {
33
+ let found = false
34
+ const hash = new XyoPayloadWrapper(payload).hash
35
+ boundwitnesses.forEach((boundwitnesses) => {
36
+ if (boundwitnesses.payload_hashes.includes(hash)) {
37
+ found = true
38
+ }
39
+ })
40
+ assertEx(found, 'Payload not in Boundwitness received')
41
+ })
42
+ await this.api.archive(this.archive).block.post(boundwitnesses)
43
+ return payloads
44
+ }
45
+
46
+ public async find(filter: XyoPayloadFindFilter) {
47
+ const [payloads = []] = (await this.api.archive(this.archive).payload.find(filter, 'tuple')) ?? []
48
+ const [blocks = []] = (await this.api.archive(this.archive).block.find(filter, 'tuple')) ?? []
49
+ return payloads.concat(blocks)
50
+ }
51
+ }
@@ -4,4 +4,4 @@ export * from './Archive'
4
4
  export * from './Archives'
5
5
  export * from './Block'
6
6
  export * from './Payload'
7
- export * from './XyoApiArchivist'
7
+ export * from './XyoRemoteArchivist'
package/src/Simple.ts CHANGED
@@ -1,12 +1,13 @@
1
+ import { EmptyObject } from '@xyo-network/core'
1
2
  import { XyoPayload } from '@xyo-network/payload'
2
3
 
3
4
  import { XyoApiBase } from './Base'
4
5
  import { XyoApiConfig, XyoApiResponseBody, XyoApiResponseTuple, XyoApiResponseTupleOrBody, XyoApiResponseType } from './models'
5
6
  import { objToQuery } from './objToQuery'
6
7
 
7
- export type XyoApiSimpleQuery = Record<string, unknown>
8
+ export type XyoApiSimpleQuery<T extends EmptyObject = EmptyObject> = XyoPayload<T>
8
9
 
9
- export class XyoApiSimple<T = XyoPayload, D = T, Q extends XyoApiSimpleQuery = Record<string, never>, C extends XyoApiConfig = XyoApiConfig> extends XyoApiBase<C> {
10
+ export class XyoApiSimple<T = XyoPayload, D = T, Q extends XyoApiSimpleQuery = XyoApiSimpleQuery, C extends XyoApiConfig = XyoApiConfig> extends XyoApiBase<C> {
10
11
  public async get(): Promise<XyoApiResponseBody<T>>
11
12
  public async get(responseType?: 'body'): Promise<XyoApiResponseBody<T>>
12
13
  public async get(responseType?: 'tuple'): Promise<XyoApiResponseTuple<T>>
@@ -1,31 +0,0 @@
1
- import { assertEx } from '@xylabs/sdk-js'
2
- import { XyoAccount } from '@xyo-network/account'
3
- import { XyoArchivist, XyoBoundWitnessArchivist, XyoPayloadFindFilter } from '@xyo-network/archivist'
4
- import { XyoBoundWitnessWithPartialMeta } from '@xyo-network/boundwitness'
5
-
6
- import { XyoArchivistApi } from './Api'
7
-
8
- export class XyoApiArchivist extends XyoBoundWitnessArchivist {
9
- protected api: XyoArchivistApi
10
- protected archive: string
11
- constructor(api: XyoArchivistApi, archive: string, parent?: XyoArchivist, account?: XyoAccount) {
12
- super(parent, account)
13
- this.api = api
14
- this.archive = archive
15
- }
16
-
17
- public async get(hash: string) {
18
- const [payloads] = await this.api.archive(this.archive).payload.hash(hash).get('tuple')
19
- return payloads
20
- }
21
-
22
- public async insert(payload: XyoBoundWitnessWithPartialMeta) {
23
- return (await this.api.archive(this.archive).block.post([payload]))?.map((value) => assertEx(value._hash)) ?? []
24
- }
25
-
26
- public async find(filter: XyoPayloadFindFilter) {
27
- const [payloads = []] = (await this.api.archive(this.archive).payload.find(filter, 'tuple')) ?? []
28
- const [blocks = []] = (await this.api.archive(this.archive).block.find(filter, 'tuple')) ?? []
29
- return payloads.concat(blocks)
30
- }
31
- }