@xyo-network/node 2.34.0 → 2.36.0-rc.1

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,6 +1,6 @@
1
1
  import { XyoAccount } from '@xyo-network/account';
2
- import { XyoBoundWitness } from '@xyo-network/boundwitness';
3
- import { XyoModule, XyoModuleQueryResult, XyoModuleResolverFunc, XyoQuery } from '@xyo-network/module';
2
+ import { ModuleQueryResult, XyoModule, XyoModuleResolverFunc, XyoQueryBoundWitness } from '@xyo-network/module';
3
+ import { XyoPayloads } from '@xyo-network/payload';
4
4
  import { NodeConfig } from './Config';
5
5
  import { NodeModule } from './NodeModule';
6
6
  export declare abstract class XyoNode<TConfig extends NodeConfig = NodeConfig, TModule extends XyoModule = XyoModule> extends XyoModule<TConfig> implements NodeModule<TModule> {
@@ -14,7 +14,7 @@ export declare abstract class XyoNode<TConfig extends NodeConfig = NodeConfig, T
14
14
  registeredModules(): TModule[];
15
15
  attachedModules(): TModule[];
16
16
  /** Query Functions - End */
17
- query<T extends XyoQuery = XyoQuery>(bw: XyoBoundWitness, query: T): Promise<XyoModuleQueryResult>;
17
+ query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness>(query: T, payloads?: XyoPayloads): Promise<ModuleQueryResult>;
18
18
  register(_module: TModule): void;
19
19
  }
20
20
  //# sourceMappingURL=XyoNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"XyoNode.d.ts","sourceRoot":"","sources":["../../src/XyoNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAGtG,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,8BAAsB,OAAO,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,SAAS,SAAS,GAAG,SAAS,CAC1G,SAAQ,SAAS,CAAC,OAAO,CACzB,YAAW,UAAU,CAAC,OAAO,CAAC;gBAElB,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,qBAAqB;IAIpF,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IACvC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IACvC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAElD,UAAU,IAAI,MAAM,EAAE;IAGtB,QAAQ,IAAI,MAAM,EAAE;IAIpB,iBAAiB,IAAI,OAAO,EAAE;IAG9B,eAAe,IAAI,OAAO,EAAE;IAG5B,4BAA4B;IAEnB,KAAK,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAAE,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA6B3G,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAGjC"}
1
+ {"version":3,"file":"XyoNode.d.ts","sourceRoot":"","sources":["../../src/XyoNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAA4B,SAAS,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AACzI,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,8BAAsB,OAAO,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,SAAS,SAAS,GAAG,SAAS,CAC1G,SAAQ,SAAS,CAAC,OAAO,CACzB,YAAW,UAAU,CAAC,OAAO,CAAC;gBAElB,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,qBAAqB;IAIpF,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IACvC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IACvC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAElD,UAAU,IAAI,MAAM,EAAE;IAGtB,QAAQ,IAAI,MAAM,EAAE;IAIpB,iBAAiB,IAAI,OAAO,EAAE;IAG9B,eAAe,IAAI,OAAO,EAAE;IAG5B,4BAA4B;IAEnB,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8BnI,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAGjC"}
@@ -1,6 +1,6 @@
1
1
  import { assertEx } from '@xylabs/assert';
2
2
  import { XyoAccount } from '@xyo-network/account';
3
- import { XyoModule } from '@xyo-network/module';
3
+ import { QueryBoundWitnessWrapper, XyoModule } from '@xyo-network/module';
4
4
  import { XyoNodeAttachedQuerySchema, XyoNodeAttachQuerySchema, XyoNodeDetachQuerySchema, XyoNodeRegisteredQuerySchema } from './Queries';
5
5
  export class XyoNode extends XyoModule {
6
6
  constructor(config, account, resolver) {
@@ -19,11 +19,12 @@ export class XyoNode extends XyoModule {
19
19
  throw new Error('Method not implemented.');
20
20
  }
21
21
  /** Query Functions - End */
22
- query(bw, query) {
23
- assertEx(this.queryable(query.schema, bw.addresses));
22
+ query(query, payloads) {
23
+ const wrapper = QueryBoundWitnessWrapper.parseQuery(query);
24
+ const typedQuery = wrapper.query.payload;
25
+ assertEx(this.queryable(typedQuery.schema, wrapper.addresses));
24
26
  const queryAccount = new XyoAccount();
25
- const typedQuery = query;
26
- const payloads = [];
27
+ const resultPayloads = [];
27
28
  switch (typedQuery.schema) {
28
29
  case XyoNodeAttachQuerySchema: {
29
30
  this.attach(typedQuery.address);
@@ -42,9 +43,9 @@ export class XyoNode extends XyoModule {
42
43
  break;
43
44
  }
44
45
  default:
45
- return super.query(bw, typedQuery);
46
+ return super.query(query, payloads);
46
47
  }
47
- return this.bindPayloads(payloads, queryAccount);
48
+ return this.bindResult(resultPayloads, queryAccount);
48
49
  }
49
50
  register(_module) {
50
51
  throw new Error('Method not implemented.');
@@ -1 +1 @@
1
- {"version":3,"file":"XyoNode.js","sourceRoot":"","sources":["../../src/XyoNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,SAAS,EAAyD,MAAM,qBAAqB,CAAA;AAKtG,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,wBAAwB,EAAgB,4BAA4B,EAAE,MAAM,WAAW,CAAA;AACtJ,MAAM,OAAgB,OACpB,SAAQ,SAAkB;IAG1B,YAAY,MAAgB,EAAE,OAAoB,EAAE,QAAgC;QAClF,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IAClC,CAAC;IAOD,UAAU;QACR,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,QAAQ;QACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,iBAAiB;QACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,eAAe;QACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,4BAA4B;IAEnB,KAAK,CAAgC,EAAmB,EAAE,KAAQ;QACzE,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;QAEpD,MAAM,YAAY,GAAG,IAAI,UAAU,EAAE,CAAA;QACrC,MAAM,UAAU,GAAG,KAAqB,CAAA;QACxC,MAAM,QAAQ,GAAgB,EAAE,CAAA;QAChC,QAAQ,UAAU,CAAC,MAAM,EAAE;YACzB,KAAK,wBAAwB,CAAC,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;gBAC/B,MAAK;aACN;YACD,KAAK,wBAAwB,CAAC,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;gBAC/B,MAAK;aACN;YACD,KAAK,0BAA0B,CAAC,CAAC;gBAC/B,IAAI,CAAC,QAAQ,EAAE,CAAA;gBACf,MAAK;aACN;YACD,KAAK,4BAA4B,CAAC,CAAC;gBACjC,IAAI,CAAC,UAAU,EAAE,CAAA;gBACjB,MAAK;aACN;YACD;gBACE,OAAO,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;SACrC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;IAClD,CAAC;IAED,QAAQ,CAAC,OAAgB;QACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;CACF"}
1
+ {"version":3,"file":"XyoNode.js","sourceRoot":"","sources":["../../src/XyoNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAqB,wBAAwB,EAAE,SAAS,EAA+C,MAAM,qBAAqB,CAAA;AAKzI,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,wBAAwB,EAAgB,4BAA4B,EAAE,MAAM,WAAW,CAAA;AACtJ,MAAM,OAAgB,OACpB,SAAQ,SAAkB;IAG1B,YAAY,MAAgB,EAAE,OAAoB,EAAE,QAAgC;QAClF,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IAClC,CAAC;IAOD,UAAU;QACR,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,QAAQ;QACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,iBAAiB;QACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,eAAe;QACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,4BAA4B;IAEnB,KAAK,CAAwD,KAAQ,EAAE,QAAsB;QACpG,MAAM,OAAO,GAAG,wBAAwB,CAAC,UAAU,CAAe,KAAK,CAAC,CAAA;QACxE,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAA;QACxC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;QAE9D,MAAM,YAAY,GAAG,IAAI,UAAU,EAAE,CAAA;QACrC,MAAM,cAAc,GAAgB,EAAE,CAAA;QACtC,QAAQ,UAAU,CAAC,MAAM,EAAE;YACzB,KAAK,wBAAwB,CAAC,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;gBAC/B,MAAK;aACN;YACD,KAAK,wBAAwB,CAAC,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;gBAC/B,MAAK;aACN;YACD,KAAK,0BAA0B,CAAC,CAAC;gBAC/B,IAAI,CAAC,QAAQ,EAAE,CAAA;gBACf,MAAK;aACN;YACD,KAAK,4BAA4B,CAAC,CAAC;gBACjC,IAAI,CAAC,UAAU,EAAE,CAAA;gBACjB,MAAK;aACN;YACD;gBACE,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;SACtC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;IACtD,CAAC;IAED,QAAQ,CAAC,OAAgB;QACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"XyoNodeWrapper.d.ts","sourceRoot":"","sources":["../../src/XyoNodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAGzE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAYzC,qBAAa,cAAe,SAAQ,gBAAiB,YAAW,UAAU;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAGzB,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAK/B,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAK7B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtC,iBAAiB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAIzC,eAAe,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAK7C,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;CAG5C"}
1
+ {"version":3,"file":"XyoNodeWrapper.d.ts","sourceRoot":"","sources":["../../src/XyoNodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAIzE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAYzC,qBAAa,cAAe,SAAQ,gBAAiB,YAAW,UAAU;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAGzB,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAK/B,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAK7B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtC,iBAAiB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAIzC,eAAe,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAK7C,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;CAG5C"}
@@ -1,4 +1,5 @@
1
1
  import { XyoModuleWrapper } from '@xyo-network/module';
2
+ import { PayloadWrapper } from '@xyo-network/payload';
2
3
  import compact from 'lodash/compact';
3
4
  import { XyoNodeAttachedQuerySchema, XyoNodeAttachQuerySchema, XyoNodeDetachQuerySchema, XyoNodeRegisteredQuerySchema, } from './Queries';
4
5
  export class XyoNodeWrapper extends XyoModuleWrapper {
@@ -6,25 +7,25 @@ export class XyoNodeWrapper extends XyoModuleWrapper {
6
7
  throw Error('Not implemented');
7
8
  }
8
9
  async registered() {
9
- const query = { schema: XyoNodeRegisteredQuerySchema };
10
- const bw = (await this.bindPayloads([query]))[0];
11
- return compact((await this.module.query(bw, query))[1].map((payload) => payload?.schema));
10
+ const queryPayload = PayloadWrapper.parse({ schema: XyoNodeRegisteredQuerySchema });
11
+ const query = await this.bindQuery([queryPayload.body], queryPayload.hash);
12
+ return compact((await this.module.query(query[0], query[1]))[1].map((payload) => payload?.schema));
12
13
  }
13
14
  async attached() {
14
- const query = { schema: XyoNodeAttachedQuerySchema };
15
- const bw = (await this.bindPayloads([query]))[0];
16
- return compact((await this.module.query(bw, query))[1].map((payload) => payload?.schema));
15
+ const queryPayload = PayloadWrapper.parse({ schema: XyoNodeAttachedQuerySchema });
16
+ const query = await this.bindQuery([queryPayload.body], queryPayload.hash);
17
+ return compact((await this.module.query(query[0], query[1]))[1].map((payload) => payload?.schema));
17
18
  }
18
19
  async attach(address) {
19
- const query = { address, schema: XyoNodeAttachQuerySchema };
20
- const bw = (await this.bindPayloads([query]))[0];
21
- await this.module.query(bw, query);
20
+ const queryPayload = PayloadWrapper.parse({ address, schema: XyoNodeAttachQuerySchema });
21
+ const query = await this.bindQuery([queryPayload.body], queryPayload.hash);
22
+ compact(await this.module.query(query[0], query[1]));
22
23
  return;
23
24
  }
24
25
  async detach(address) {
25
- const query = { address, schema: XyoNodeDetachQuerySchema };
26
- const bw = (await this.bindPayloads([query]))[0];
27
- await this.module.query(bw, query);
26
+ const queryPayload = PayloadWrapper.parse({ address, schema: XyoNodeDetachQuerySchema });
27
+ const query = await this.bindQuery([queryPayload.body], queryPayload.hash);
28
+ compact(await this.module.query(query[0], query[1]));
28
29
  return;
29
30
  }
30
31
  async registeredModules() {
@@ -1 +1 @@
1
- {"version":3,"file":"XyoNodeWrapper.js","sourceRoot":"","sources":["../../src/XyoNodeWrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"XyoNodeWrapper.js","sourceRoot":"","sources":["../../src/XyoNodeWrapper.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -11,12 +11,11 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@xylabs/assert": "^2.6.7",
14
- "@xyo-network/account": "^2.34.0",
15
- "@xyo-network/archivist": "^2.34.0",
16
- "@xyo-network/boundwitness": "^2.34.0",
17
- "@xyo-network/module": "^2.34.0",
18
- "@xyo-network/payload": "^2.34.0",
19
- "@xyo-network/promise": "^2.34.0",
14
+ "@xyo-network/account": "^2.36.0-rc.1",
15
+ "@xyo-network/archivist": "^2.36.0-rc.1",
16
+ "@xyo-network/module": "^2.36.0-rc.1",
17
+ "@xyo-network/payload": "^2.36.0-rc.1",
18
+ "@xyo-network/promise": "^2.36.0-rc.1",
20
19
  "lodash": "^4.17.21",
21
20
  "tslib": "^2.4.0"
22
21
  },
@@ -53,5 +52,6 @@
53
52
  },
54
53
  "sideEffects": false,
55
54
  "types": "dist/esm/index.d.ts",
56
- "version": "2.34.0"
55
+ "version": "2.36.0-rc.1",
56
+ "stableVersion": "2.35.0"
57
57
  }
@@ -1,16 +1,8 @@
1
1
  /* eslint-disable max-statements */
2
- import { XyoArchivistAllQuery, XyoArchivistAllQuerySchema, XyoArchivistInsertQuery, XyoArchivistInsertQuerySchema } from '@xyo-network/archivist'
3
- import {
4
- DivinerModule,
5
- XyoArchivistPayloadDiviner,
6
- XyoDivinerDivineQuery,
7
- XyoDivinerDivineQuerySchema,
8
- XyoDivinerWrapper,
9
- XyoHuriPayload,
10
- XyoHuriSchema,
11
- } from '@xyo-network/diviner'
2
+ import { XyoArchivistWrapper } from '@xyo-network/archivist'
3
+ import { DivinerModule, XyoArchivistPayloadDiviner, XyoDivinerWrapper, XyoHuriPayload, XyoHuriSchema } from '@xyo-network/diviner'
12
4
  import { XyoModule } from '@xyo-network/module'
13
- import { BoundWitnessBuilder, PayloadWrapper, XyoAccount, XyoPayload, XyoPayloadBuilder, XyoPayloadSchema } from '@xyo-network/sdk'
5
+ import { PayloadWrapper, XyoPayload, XyoPayloadBuilder, XyoPayloadSchema } from '@xyo-network/sdk'
14
6
 
15
7
  import { MemoryNode } from './MemoryNode'
16
8
  import { NodeModule } from './NodeModule'
@@ -33,28 +25,25 @@ test('Create Node', async () => {
33
25
  .fields({ test: true })
34
26
  .build()
35
27
 
36
- const insertQuery: XyoArchivistInsertQuery = { payloads: [testPayload], schema: XyoArchivistInsertQuerySchema }
37
- const insertQueryBoundwitness = new BoundWitnessBuilder().payload(insertQuery).witness(new XyoAccount()).build()
38
- await foundArchivist?.query(insertQueryBoundwitness, insertQuery)
28
+ const foundArchivistWrapper = foundArchivist ? new XyoArchivistWrapper(foundArchivist) : undefined
29
+ await foundArchivistWrapper?.insert([testPayload])
39
30
 
40
31
  /*const subscribeQuery: XyoModuleSubscribeQuery = { payloads: [testPayload], schema: XyoModuleSubscribeQuerySchema }
41
32
  await foundArchivist?.query(subscribeQuery)*/
42
33
 
43
- const allQuery: XyoArchivistAllQuery = { schema: XyoArchivistAllQuerySchema }
44
- const allQueryBoundwitness = new BoundWitnessBuilder().payload(allQuery).witness(new XyoAccount()).build()
45
- const [, payloads] = (await foundArchivist?.query(allQueryBoundwitness, allQuery)) ?? []
34
+ const payloads = await foundArchivistWrapper?.all()
46
35
  expect(payloads?.length).toBe(1)
47
36
 
48
37
  if (payloads && payloads[0]) {
49
38
  const huri = new PayloadWrapper(payloads[0]).hash
50
- const huriPayload: XyoHuriPayload = { huri, schema: XyoHuriSchema }
51
- const divineQuery: XyoDivinerDivineQuery = { payloads: [huriPayload], schema: XyoDivinerDivineQuerySchema }
52
- const divineQueryBoundwitness = new BoundWitnessBuilder().payload(divineQuery).witness(new XyoAccount()).build()
39
+ const huriPayload: XyoHuriPayload = { huri: [huri], schema: XyoHuriSchema }
53
40
  const divinerModule = node.resolve(diviner.address) as DivinerModule
54
41
  const foundDiviner = divinerModule ? new XyoDivinerWrapper(divinerModule) : null
55
42
  expect(foundDiviner).toBeDefined()
56
43
  if (foundDiviner) {
57
- const [, payloads] = await foundDiviner.query(divineQueryBoundwitness, divineQuery)
44
+ const foundDivinerWrapper = new XyoDivinerWrapper(foundDiviner)
45
+ const payloads = await foundDivinerWrapper.divine([huriPayload])
46
+ console.log(`payloads: ${JSON.stringify(payloads, null, 2)}`)
58
47
  expect(payloads?.length).toBe(1)
59
48
  expect(payloads[0]).toBeDefined()
60
49
  if (payloads?.length === 1 && payloads[0]) {
package/src/XyoNode.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import { assertEx } from '@xylabs/assert'
2
2
  import { XyoAccount } from '@xyo-network/account'
3
- import { XyoBoundWitness } from '@xyo-network/boundwitness'
4
- import { XyoModule, XyoModuleQueryResult, XyoModuleResolverFunc, XyoQuery } from '@xyo-network/module'
3
+ import { ModuleQueryResult, QueryBoundWitnessWrapper, XyoModule, XyoModuleResolverFunc, XyoQueryBoundWitness } from '@xyo-network/module'
5
4
  import { XyoPayloads } from '@xyo-network/payload'
6
5
 
7
6
  import { NodeConfig } from './Config'
@@ -35,12 +34,13 @@ export abstract class XyoNode<TConfig extends NodeConfig = NodeConfig, TModule e
35
34
  }
36
35
  /** Query Functions - End */
37
36
 
38
- override query<T extends XyoQuery = XyoQuery>(bw: XyoBoundWitness, query: T): Promise<XyoModuleQueryResult> {
39
- assertEx(this.queryable(query.schema, bw.addresses))
37
+ override query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness>(query: T, payloads?: XyoPayloads): Promise<ModuleQueryResult> {
38
+ const wrapper = QueryBoundWitnessWrapper.parseQuery<XyoNodeQuery>(query)
39
+ const typedQuery = wrapper.query.payload
40
+ assertEx(this.queryable(typedQuery.schema, wrapper.addresses))
40
41
 
41
42
  const queryAccount = new XyoAccount()
42
- const typedQuery = query as XyoNodeQuery
43
- const payloads: XyoPayloads = []
43
+ const resultPayloads: XyoPayloads = []
44
44
  switch (typedQuery.schema) {
45
45
  case XyoNodeAttachQuerySchema: {
46
46
  this.attach(typedQuery.address)
@@ -59,9 +59,9 @@ export abstract class XyoNode<TConfig extends NodeConfig = NodeConfig, TModule e
59
59
  break
60
60
  }
61
61
  default:
62
- return super.query(bw, typedQuery)
62
+ return super.query(query, payloads)
63
63
  }
64
- return this.bindPayloads(payloads, queryAccount)
64
+ return this.bindResult(resultPayloads, queryAccount)
65
65
  }
66
66
 
67
67
  register(_module: TModule): void {
@@ -1,4 +1,5 @@
1
1
  import { Module, XyoModule, XyoModuleWrapper } from '@xyo-network/module'
2
+ import { PayloadWrapper } from '@xyo-network/payload'
2
3
  import compact from 'lodash/compact'
3
4
 
4
5
  import { NodeModule } from './NodeModule'
@@ -18,25 +19,25 @@ export class XyoNodeWrapper extends XyoModuleWrapper implements NodeModule {
18
19
  throw Error('Not implemented')
19
20
  }
20
21
  async registered(): Promise<string[]> {
21
- const query: XyoNodeRegisteredQuery = { schema: XyoNodeRegisteredQuerySchema }
22
- const bw = (await this.bindPayloads([query]))[0]
23
- return compact((await this.module.query(bw, query))[1].map((payload) => payload?.schema))
22
+ const queryPayload = PayloadWrapper.parse<XyoNodeRegisteredQuery>({ schema: XyoNodeRegisteredQuerySchema })
23
+ const query = await this.bindQuery([queryPayload.body], queryPayload.hash)
24
+ return compact((await this.module.query(query[0], query[1]))[1].map((payload) => payload?.schema))
24
25
  }
25
26
  async attached(): Promise<string[]> {
26
- const query: XyoNodeAttachedQuery = { schema: XyoNodeAttachedQuerySchema }
27
- const bw = (await this.bindPayloads([query]))[0]
28
- return compact((await this.module.query(bw, query))[1].map((payload) => payload?.schema))
27
+ const queryPayload = PayloadWrapper.parse<XyoNodeAttachedQuery>({ schema: XyoNodeAttachedQuerySchema })
28
+ const query = await this.bindQuery([queryPayload.body], queryPayload.hash)
29
+ return compact((await this.module.query(query[0], query[1]))[1].map((payload) => payload?.schema))
29
30
  }
30
31
  async attach(address: string): Promise<void> {
31
- const query: XyoNodeAttachQuery = { address, schema: XyoNodeAttachQuerySchema }
32
- const bw = (await this.bindPayloads([query]))[0]
33
- await this.module.query(bw, query)
32
+ const queryPayload = PayloadWrapper.parse<XyoNodeAttachQuery>({ address, schema: XyoNodeAttachQuerySchema })
33
+ const query = await this.bindQuery([queryPayload.body], queryPayload.hash)
34
+ compact(await this.module.query(query[0], query[1]))
34
35
  return
35
36
  }
36
37
  async detach(address: string): Promise<void> {
37
- const query: XyoNodeDetachQuery = { address, schema: XyoNodeDetachQuerySchema }
38
- const bw = (await this.bindPayloads([query]))[0]
39
- await this.module.query(bw, query)
38
+ const queryPayload = PayloadWrapper.parse<XyoNodeDetachQuery>({ address, schema: XyoNodeDetachQuerySchema })
39
+ const query = await this.bindQuery([queryPayload.body], queryPayload.hash)
40
+ compact(await this.module.query(query[0], query[1]))
40
41
  return
41
42
  }
42
43