@xyo-network/node 2.35.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.
- package/dist/cjs/XyoNode.d.ts +3 -3
- package/dist/cjs/XyoNode.d.ts.map +1 -1
- package/dist/cjs/XyoNode.js +7 -6
- package/dist/cjs/XyoNode.js.map +1 -1
- package/dist/cjs/XyoNodeWrapper.d.ts.map +1 -1
- package/dist/cjs/XyoNodeWrapper.js +13 -12
- package/dist/cjs/XyoNodeWrapper.js.map +1 -1
- package/dist/docs.json +2177 -1381
- package/dist/esm/XyoNode.d.ts +3 -3
- package/dist/esm/XyoNode.d.ts.map +1 -1
- package/dist/esm/XyoNode.js +8 -7
- package/dist/esm/XyoNode.js.map +1 -1
- package/dist/esm/XyoNodeWrapper.d.ts.map +1 -1
- package/dist/esm/XyoNodeWrapper.js +13 -12
- package/dist/esm/XyoNodeWrapper.js.map +1 -1
- package/package.json +7 -7
- package/src/MemoryNode.spec.ts +9 -20
- package/src/XyoNode.ts +8 -8
- package/src/XyoNodeWrapper.ts +13 -12
package/dist/esm/XyoNode.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { XyoAccount } from '@xyo-network/account';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
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
|
|
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,
|
|
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"}
|
package/dist/esm/XyoNode.js
CHANGED
|
@@ -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(
|
|
23
|
-
|
|
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
|
|
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(
|
|
46
|
+
return super.query(query, payloads);
|
|
46
47
|
}
|
|
47
|
-
return this.
|
|
48
|
+
return this.bindResult(resultPayloads, queryAccount);
|
|
48
49
|
}
|
|
49
50
|
register(_module) {
|
|
50
51
|
throw new Error('Method not implemented.');
|
package/dist/esm/XyoNode.js.map
CHANGED
|
@@ -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;
|
|
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;
|
|
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
|
|
10
|
-
const
|
|
11
|
-
return compact((await this.module.query(
|
|
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
|
|
15
|
-
const
|
|
16
|
-
return compact((await this.module.query(
|
|
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
|
|
20
|
-
const
|
|
21
|
-
await this.module.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
|
|
26
|
-
const
|
|
27
|
-
await this.module.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":"AAAA,OAAO,EAAqB,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACzE,OAAO,OAAO,MAAM,gBAAgB,CAAA;AAGpC,OAAO,EAEL,0BAA0B,EAE1B,wBAAwB,EAExB,wBAAwB,EAExB,4BAA4B,GAC7B,MAAM,WAAW,CAAA;AAElB,MAAM,OAAO,cAAe,SAAQ,gBAAgB;IAClD,QAAQ,CAAC,OAAe;QACtB,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAChC,CAAC;IACD,KAAK,CAAC,UAAU;QACd,MAAM,KAAK,
|
|
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.
|
|
15
|
-
"@xyo-network/archivist": "^2.
|
|
16
|
-
"@xyo-network/
|
|
17
|
-
"@xyo-network/
|
|
18
|
-
"@xyo-network/
|
|
19
|
-
"@xyo-network/promise": "^2.35.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.
|
|
55
|
+
"version": "2.36.0-rc.1",
|
|
56
|
+
"stableVersion": "2.35.0"
|
|
57
57
|
}
|
package/src/MemoryNode.spec.ts
CHANGED
|
@@ -1,16 +1,8 @@
|
|
|
1
1
|
/* eslint-disable max-statements */
|
|
2
|
-
import {
|
|
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 {
|
|
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
|
|
37
|
-
|
|
38
|
-
await foundArchivist?.query(insertQueryBoundwitness, insertQuery, [testPayload])
|
|
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
|
|
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
39
|
const huriPayload: XyoHuriPayload = { huri: [huri], schema: XyoHuriSchema }
|
|
51
|
-
const divineQuery: XyoDivinerDivineQuery = { payloads: [huriPayload], schema: XyoDivinerDivineQuerySchema }
|
|
52
|
-
const divineQueryBoundwitness = new BoundWitnessBuilder().payload(divineQuery).witness(new XyoAccount()).build()
|
|
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
|
|
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 {
|
|
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
|
|
39
|
-
|
|
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
|
|
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(
|
|
62
|
+
return super.query(query, payloads)
|
|
63
63
|
}
|
|
64
|
-
return this.
|
|
64
|
+
return this.bindResult(resultPayloads, queryAccount)
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
register(_module: TModule): void {
|
package/src/XyoNodeWrapper.ts
CHANGED
|
@@ -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
|
|
22
|
-
const
|
|
23
|
-
return compact((await this.module.query(
|
|
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
|
|
27
|
-
const
|
|
28
|
-
return compact((await this.module.query(
|
|
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
|
|
32
|
-
const
|
|
33
|
-
await this.module.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
|
|
38
|
-
const
|
|
39
|
-
await this.module.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
|
|