@xyo-network/node-abstract 2.99.5 → 2.100.0
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/browser/AbstractNode.d.cts +20 -7
- package/dist/browser/AbstractNode.d.cts.map +1 -1
- package/dist/browser/AbstractNode.d.mts +20 -7
- package/dist/browser/AbstractNode.d.mts.map +1 -1
- package/dist/browser/AbstractNode.d.ts +20 -7
- package/dist/browser/AbstractNode.d.ts.map +1 -1
- package/dist/browser/index.cjs +79 -10
- package/dist/browser/index.cjs.map +1 -1
- package/dist/browser/index.js +80 -11
- package/dist/browser/index.js.map +1 -1
- package/dist/neutral/AbstractNode.d.cts +20 -7
- package/dist/neutral/AbstractNode.d.cts.map +1 -1
- package/dist/neutral/AbstractNode.d.mts +20 -7
- package/dist/neutral/AbstractNode.d.mts.map +1 -1
- package/dist/neutral/AbstractNode.d.ts +20 -7
- package/dist/neutral/AbstractNode.d.ts.map +1 -1
- package/dist/neutral/index.cjs +79 -10
- package/dist/neutral/index.cjs.map +1 -1
- package/dist/neutral/index.js +80 -11
- package/dist/neutral/index.js.map +1 -1
- package/dist/node/AbstractNode.d.cts +20 -7
- package/dist/node/AbstractNode.d.cts.map +1 -1
- package/dist/node/AbstractNode.d.mts +20 -7
- package/dist/node/AbstractNode.d.mts.map +1 -1
- package/dist/node/AbstractNode.d.ts +20 -7
- package/dist/node/AbstractNode.d.ts.map +1 -1
- package/dist/node/index.cjs +79 -10
- package/dist/node/index.cjs.map +1 -1
- package/dist/node/index.js +80 -11
- package/dist/node/index.js.map +1 -1
- package/package.json +11 -10
- package/src/AbstractNode.ts +107 -18
package/dist/neutral/index.js
CHANGED
|
@@ -8,7 +8,7 @@ import { AddressSchema } from "@xyo-network/address-payload-plugin";
|
|
|
8
8
|
import { QueryBoundWitnessWrapper } from "@xyo-network/boundwitness-wrapper";
|
|
9
9
|
import { NodeManifestPayloadSchema } from "@xyo-network/manifest-model";
|
|
10
10
|
import { AbstractModuleInstance } from "@xyo-network/module-abstract";
|
|
11
|
-
import { NodeAttachedQuerySchema, NodeAttachQuerySchema, NodeConfigSchema, NodeDetachQuerySchema, NodeRegisteredQuerySchema } from "@xyo-network/node-model";
|
|
11
|
+
import { ChildCertificationSchema, NodeAttachedQuerySchema, NodeAttachQuerySchema, NodeCertifyQuerySchema, NodeConfigSchema, NodeDetachQuerySchema, NodeRegisteredQuerySchema } from "@xyo-network/node-model";
|
|
12
12
|
import { PayloadBuilder } from "@xyo-network/payload-builder";
|
|
13
13
|
var AbstractNode = class _AbstractNode extends AbstractModuleInstance {
|
|
14
14
|
static {
|
|
@@ -24,6 +24,7 @@ var AbstractNode = class _AbstractNode extends AbstractModuleInstance {
|
|
|
24
24
|
get queries() {
|
|
25
25
|
return [
|
|
26
26
|
NodeAttachQuerySchema,
|
|
27
|
+
NodeCertifyQuerySchema,
|
|
27
28
|
NodeDetachQuerySchema,
|
|
28
29
|
NodeAttachedQuerySchema,
|
|
29
30
|
NodeRegisteredQuerySchema,
|
|
@@ -32,21 +33,69 @@ var AbstractNode = class _AbstractNode extends AbstractModuleInstance {
|
|
|
32
33
|
}
|
|
33
34
|
get _queryAccountPaths() {
|
|
34
35
|
return {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
36
|
+
[NodeAttachQuerySchema]: "1/1",
|
|
37
|
+
[NodeAttachedQuerySchema]: "1/2",
|
|
38
|
+
[NodeCertifyQuerySchema]: "1/5",
|
|
39
|
+
[NodeDetachQuerySchema]: "1/3",
|
|
40
|
+
[NodeRegisteredQuerySchema]: "1/4"
|
|
39
41
|
};
|
|
40
42
|
}
|
|
41
43
|
static isNode(module) {
|
|
42
44
|
return module.isNode;
|
|
43
45
|
}
|
|
46
|
+
async attach(id, external) {
|
|
47
|
+
this._noOverride("attach");
|
|
48
|
+
return await this.attachHandler(id, external);
|
|
49
|
+
}
|
|
50
|
+
async attachQuery(id, external, account) {
|
|
51
|
+
this._noOverride("attachQuery");
|
|
52
|
+
const queryPayload = {
|
|
53
|
+
external,
|
|
54
|
+
id,
|
|
55
|
+
schema: NodeAttachQuerySchema
|
|
56
|
+
};
|
|
57
|
+
return await this.sendQueryRaw(queryPayload, [], account);
|
|
58
|
+
}
|
|
44
59
|
async attached() {
|
|
60
|
+
this._noOverride("attached");
|
|
61
|
+
return await this.attachedHandler();
|
|
62
|
+
}
|
|
63
|
+
async attachedHandler() {
|
|
45
64
|
return [
|
|
46
65
|
...(await this.attachedPublicModules()).map((module) => module.address),
|
|
47
66
|
...(await this.attachedPrivateModules()).map((module) => module.address)
|
|
48
67
|
];
|
|
49
68
|
}
|
|
69
|
+
async attachedQuery(account) {
|
|
70
|
+
this._noOverride("attachedQuery");
|
|
71
|
+
const queryPayload = {
|
|
72
|
+
schema: NodeAttachedQuerySchema
|
|
73
|
+
};
|
|
74
|
+
return await this.sendQueryRaw(queryPayload, [], account);
|
|
75
|
+
}
|
|
76
|
+
async certify(id) {
|
|
77
|
+
this._noOverride("certify");
|
|
78
|
+
return await this.certifyHandler(id);
|
|
79
|
+
}
|
|
80
|
+
async certifyQuery(id, account) {
|
|
81
|
+
const queryPayload = {
|
|
82
|
+
id,
|
|
83
|
+
schema: NodeCertifyQuerySchema
|
|
84
|
+
};
|
|
85
|
+
return await this.sendQueryRaw(queryPayload, [], account);
|
|
86
|
+
}
|
|
87
|
+
async detach(id) {
|
|
88
|
+
this._noOverride("detach");
|
|
89
|
+
return await this.detachHandler(id);
|
|
90
|
+
}
|
|
91
|
+
async detachQuery(id, account) {
|
|
92
|
+
this._noOverride("detachQuery");
|
|
93
|
+
const queryPayload = {
|
|
94
|
+
id,
|
|
95
|
+
schema: NodeDetachQuerySchema
|
|
96
|
+
};
|
|
97
|
+
return await this.sendQueryRaw(queryPayload, [], account);
|
|
98
|
+
}
|
|
50
99
|
async manifest(maxDepth = 10, ignoreAddresses = []) {
|
|
51
100
|
return await this.manifestHandler(maxDepth, ignoreAddresses);
|
|
52
101
|
}
|
|
@@ -56,6 +105,17 @@ var AbstractNode = class _AbstractNode extends AbstractModuleInstance {
|
|
|
56
105
|
async publicChildren() {
|
|
57
106
|
return await this.attachedPublicModules();
|
|
58
107
|
}
|
|
108
|
+
async registered() {
|
|
109
|
+
this._noOverride("registered");
|
|
110
|
+
return await this.registeredHandler();
|
|
111
|
+
}
|
|
112
|
+
async registeredQuery(account) {
|
|
113
|
+
this._noOverride("registeredQuery");
|
|
114
|
+
const queryPayload = {
|
|
115
|
+
schema: NodeRegisteredQuerySchema
|
|
116
|
+
};
|
|
117
|
+
return await this.sendQueryRaw(queryPayload, [], account);
|
|
118
|
+
}
|
|
59
119
|
async attachedPrivateModules(maxDepth = 1) {
|
|
60
120
|
return (await (this.resolvePrivate("*", {
|
|
61
121
|
maxDepth
|
|
@@ -72,8 +132,7 @@ var AbstractNode = class _AbstractNode extends AbstractModuleInstance {
|
|
|
72
132
|
const childModAddresses = await Promise.all(childMods.map((mod) => new PayloadBuilder({
|
|
73
133
|
schema: AddressSchema
|
|
74
134
|
}).fields({
|
|
75
|
-
address: mod.address
|
|
76
|
-
name: mod.config.name
|
|
135
|
+
address: mod.address
|
|
77
136
|
}).build()));
|
|
78
137
|
return [
|
|
79
138
|
...await super.generateConfigAndAddress(maxDepth),
|
|
@@ -111,7 +170,7 @@ var AbstractNode = class _AbstractNode extends AbstractModuleInstance {
|
|
|
111
170
|
const resultPayloads = [];
|
|
112
171
|
switch (queryPayload.schema) {
|
|
113
172
|
case NodeAttachQuerySchema: {
|
|
114
|
-
const address = await this.
|
|
173
|
+
const address = await this.attachHandler(queryPayload.id, queryPayload.external);
|
|
115
174
|
if (address) {
|
|
116
175
|
const payload = await new PayloadBuilder({
|
|
117
176
|
schema: AddressSchema
|
|
@@ -122,8 +181,18 @@ var AbstractNode = class _AbstractNode extends AbstractModuleInstance {
|
|
|
122
181
|
}
|
|
123
182
|
break;
|
|
124
183
|
}
|
|
184
|
+
case NodeCertifyQuerySchema: {
|
|
185
|
+
const fields = await this.certifyHandler(queryPayload.id);
|
|
186
|
+
if (fields) {
|
|
187
|
+
const payload = await new PayloadBuilder({
|
|
188
|
+
schema: ChildCertificationSchema
|
|
189
|
+
}).fields(fields).build();
|
|
190
|
+
resultPayloads.push(payload);
|
|
191
|
+
}
|
|
192
|
+
break;
|
|
193
|
+
}
|
|
125
194
|
case NodeDetachQuerySchema: {
|
|
126
|
-
const address = await this.
|
|
195
|
+
const address = await this.detachHandler(queryPayload.id);
|
|
127
196
|
if (address) {
|
|
128
197
|
const payload = await new PayloadBuilder({
|
|
129
198
|
schema: AddressSchema
|
|
@@ -135,7 +204,7 @@ var AbstractNode = class _AbstractNode extends AbstractModuleInstance {
|
|
|
135
204
|
break;
|
|
136
205
|
}
|
|
137
206
|
case NodeAttachedQuerySchema: {
|
|
138
|
-
const addresses = await this.
|
|
207
|
+
const addresses = await this.attachedHandler();
|
|
139
208
|
for (const address of addresses) {
|
|
140
209
|
const payload = await new PayloadBuilder({
|
|
141
210
|
schema: AddressSchema
|
|
@@ -147,7 +216,7 @@ var AbstractNode = class _AbstractNode extends AbstractModuleInstance {
|
|
|
147
216
|
break;
|
|
148
217
|
}
|
|
149
218
|
case NodeRegisteredQuerySchema: {
|
|
150
|
-
const addresses = await this.
|
|
219
|
+
const addresses = await this.registeredHandler();
|
|
151
220
|
for (const address of addresses) {
|
|
152
221
|
const payload = await new PayloadBuilder({
|
|
153
222
|
schema: AddressSchema
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/AbstractNode.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { Address } from '@xylabs/hex'\nimport { globallyUnique } from '@xylabs/object'\nimport { Promisable } from '@xylabs/promise'\nimport { AddressPayload, AddressSchema } from '@xyo-network/address-payload-plugin'\nimport { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { ModuleManifestPayload, NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport { AbstractModuleInstance } from '@xyo-network/module-abstract'\nimport { Module, ModuleConfig, ModuleIdentifier, ModuleInstance, ModuleQueryHandlerResult } from '@xyo-network/module-model'\nimport {\n NodeAttachedQuerySchema,\n NodeAttachQuerySchema,\n NodeConfigSchema,\n NodeDetachQuerySchema,\n NodeModule,\n NodeModuleEventData,\n NodeParams,\n NodeQueries,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload, Schema } from '@xyo-network/payload-model'\n\nexport abstract class AbstractNode<TParams extends NodeParams = NodeParams, TEventData extends NodeModuleEventData = NodeModuleEventData>\n extends AbstractModuleInstance<TParams, TEventData>\n implements NodeModule<TParams, TEventData>, Module<TParams, TEventData>\n{\n static override readonly configSchemas: Schema[] = [...super.configSchemas, NodeConfigSchema]\n static override readonly defaultConfigSchema: Schema = NodeConfigSchema\n static override readonly uniqueName = globallyUnique('AbstractNode', AbstractNode, 'xyo')\n\n private readonly isNode = true\n\n override get queries(): string[] {\n return [NodeAttachQuerySchema, NodeDetachQuerySchema, NodeAttachedQuerySchema, NodeRegisteredQuerySchema, ...super.queries]\n }\n\n protected override get _queryAccountPaths(): Record<NodeQueries['schema'], string> {\n return {\n 'network.xyo.query.node.attach': '1/1',\n 'network.xyo.query.node.attached': '1/2',\n 'network.xyo.query.node.detach': '1/3',\n 'network.xyo.query.node.registered': '1/4',\n }\n }\n\n static isNode(module: unknown) {\n return (module as AbstractNode).isNode\n }\n\n async attached(): Promise<Address[]> {\n return [\n ...(await this.attachedPublicModules()).map((module) => module.address),\n ...(await this.attachedPrivateModules()).map((module) => module.address),\n ]\n }\n\n override async manifest(maxDepth = 10, ignoreAddresses: Address[] = []): Promise<ModuleManifestPayload> {\n return await this.manifestHandler(maxDepth, ignoreAddresses)\n }\n\n override async privateChildren(): Promise<ModuleInstance[]> {\n return await this.attachedPrivateModules()\n }\n\n override async publicChildren(): Promise<ModuleInstance[]> {\n return await this.attachedPublicModules()\n }\n\n protected async attachedPrivateModules(maxDepth = 1): Promise<ModuleInstance[]> {\n return (await (this.resolvePrivate('*', { maxDepth }) ?? [])).filter((module) => module.address !== this.address)\n }\n\n protected async attachedPublicModules(maxDepth = 1): Promise<ModuleInstance[]> {\n return (await (this.downResolver.resolve('*', { direction: 'down', maxDepth }) ?? [])).filter((module) => module.address !== this.address)\n }\n\n protected override async generateConfigAndAddress(maxDepth = 10): Promise<Payload[]> {\n const childMods = await this.attachedPublicModules(maxDepth)\n //console.log(`childMods: ${toJsonString(childMods)}`)\n const childModAddresses = await Promise.all(\n childMods.map((mod) =>\n new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address: mod.address, name: mod.config.name }).build(),\n ),\n )\n\n return [...(await super.generateConfigAndAddress(maxDepth)), ...childModAddresses]\n }\n\n protected override async manifestHandler(maxDepth = 10, ignoreAddresses: Address[] = []): Promise<ModuleManifestPayload> {\n const cachedResult = this._cachedManifests.get(maxDepth)\n if (cachedResult) {\n return cachedResult\n }\n\n const manifest: NodeManifestPayload = { ...(await super.manifestHandler(maxDepth, ignoreAddresses)), schema: NodeManifestPayloadSchema }\n const newIgnoreAddresses = [...ignoreAddresses, this.address]\n\n const notThisModule = (module: ModuleInstance) => module.address !== this.address && !ignoreAddresses.includes(module.address)\n const toManifest = (module: ModuleInstance) => module.manifest(maxDepth - 1, newIgnoreAddresses)\n\n const publicChildren = await this.publicChildren()\n const publicModuleManifests = await Promise.all(publicChildren.filter(notThisModule).map(toManifest))\n if (publicModuleManifests.length > 0) {\n manifest.modules = manifest.modules ?? {}\n manifest.modules.public = publicModuleManifests\n }\n\n this._cachedManifests.set(maxDepth, manifest)\n\n return manifest\n }\n\n protected override async queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(\n query: T,\n payloads?: Payload[],\n queryConfig?: TConfig,\n ): Promise<ModuleQueryHandlerResult> {\n const wrapper = await QueryBoundWitnessWrapper.parseQuery<NodeQueries>(query, payloads)\n const queryPayload = await wrapper.getQuery()\n assertEx(await this.queryable(query, payloads, queryConfig))\n const resultPayloads: Payload[] = []\n switch (queryPayload.schema) {\n case NodeAttachQuerySchema: {\n const address = await this.attach(queryPayload.nameOrAddress, queryPayload.external)\n if (address) {\n const payload = await new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()\n resultPayloads.push(payload)\n }\n break\n }\n case NodeDetachQuerySchema: {\n const address = await this.detach(queryPayload.nameOrAddress)\n if (address) {\n const payload = await new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()\n resultPayloads.push(payload)\n }\n break\n }\n case NodeAttachedQuerySchema: {\n const addresses = await this.attached()\n for (const address of addresses) {\n const payload = await new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()\n resultPayloads.push(payload)\n }\n break\n }\n case NodeRegisteredQuerySchema: {\n const addresses = await this.registered()\n for (const address of addresses) {\n const payload = await new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()\n resultPayloads.push(payload)\n }\n break\n }\n default: {\n return await super.queryHandler(query, payloads)\n }\n }\n return resultPayloads\n }\n\n abstract attach(id: ModuleIdentifier, external?: boolean): Promisable<Address | undefined>\n abstract detach(id: ModuleIdentifier): Promisable<Address | undefined>\n abstract registered(): Promisable<Address[]>\n}\n"],"mappings":";;;;AAAA,SAASA,gBAAgB;AAEzB,SAASC,sBAAsB;AAE/B,SAAyBC,qBAAqB;AAE9C,SAASC,gCAAgC;AACzC,SAAqDC,iCAAiC;AACtF,SAASC,8BAA8B;AAEvC,SACEC,yBACAC,uBACAC,kBACAC,uBAKAC,iCACK;AACP,SAASC,sBAAsB;AAGxB,IAAeC,eAAf,MAAeA,sBACZC,uBAAAA;EAzBV,OAyBUA;;;EAGR,OAAyBC,gBAA0B;OAAI,MAAMA;IAAeC;;EAC5E,OAAyBC,sBAA8BD;EACvD,OAAyBE,aAAaC,eAAe,gBAAgBN,eAAc,KAAA;EAElEO,SAAS;EAE1B,IAAaC,UAAoB;AAC/B,WAAO;MAACC;MAAuBC;MAAuBC;MAAyBC;SAA8B,MAAMJ;;EACrH;EAEA,IAAuBK,qBAA4D;AACjF,WAAO;MACL,iCAAiC;MACjC,mCAAmC;MACnC,iCAAiC;MACjC,qCAAqC;IACvC;EACF;EAEA,OAAON,OAAOO,QAAiB;AAC7B,WAAQA,OAAwBP;EAClC;EAEA,MAAMQ,WAA+B;AACnC,WAAO;UACD,MAAM,KAAKC,sBAAqB,GAAIC,IAAI,CAACH,WAAWA,OAAOI,OAAO;UAClE,MAAM,KAAKC,uBAAsB,GAAIF,IAAI,CAACH,WAAWA,OAAOI,OAAO;;EAE3E;EAEA,MAAeE,SAASC,WAAW,IAAIC,kBAA6B,CAAA,GAAoC;AACtG,WAAO,MAAM,KAAKC,gBAAgBF,UAAUC,eAAAA;EAC9C;EAEA,MAAeE,kBAA6C;AAC1D,WAAO,MAAM,KAAKL,uBAAsB;EAC1C;EAEA,MAAeM,iBAA4C;AACzD,WAAO,MAAM,KAAKT,sBAAqB;EACzC;EAEA,MAAgBG,uBAAuBE,WAAW,GAA8B;AAC9E,YAAQ,OAAO,KAAKK,eAAe,KAAK;MAAEL;IAAS,CAAA,KAAM,CAAA,IAAKM,OAAO,CAACb,WAAWA,OAAOI,YAAY,KAAKA,OAAO;EAClH;EAEA,MAAgBF,sBAAsBK,WAAW,GAA8B;AAC7E,YAAQ,OAAO,KAAKO,aAAaC,QAAQ,KAAK;MAAEC,WAAW;MAAQT;IAAS,CAAA,KAAM,CAAA,IAAKM,OAAO,CAACb,WAAWA,OAAOI,YAAY,KAAKA,OAAO;EAC3I;EAEA,MAAyBa,yBAAyBV,WAAW,IAAwB;AACnF,UAAMW,YAAY,MAAM,KAAKhB,sBAAsBK,QAAAA;AAEnD,UAAMY,oBAAoB,MAAMC,QAAQC,IACtCH,UAAUf,IAAI,CAACmB,QACb,IAAIC,eAA+B;MAAEC,QAAQC;IAAc,CAAA,EAAGC,OAAO;MAAEtB,SAASkB,IAAIlB;MAASuB,MAAML,IAAIM,OAAOD;IAAK,CAAA,EAAGE,MAAK,CAAA,CAAA;AAI/H,WAAO;SAAK,MAAM,MAAMZ,yBAAyBV,QAAAA;SAAeY;;EAClE;EAEA,MAAyBV,gBAAgBF,WAAW,IAAIC,kBAA6B,CAAA,GAAoC;AACvH,UAAMsB,eAAe,KAAKC,iBAAiBC,IAAIzB,QAAAA;AAC/C,QAAIuB,cAAc;AAChB,aAAOA;IACT;AAEA,UAAMxB,WAAgC;MAAE,GAAI,MAAM,MAAMG,gBAAgBF,UAAUC,eAAAA;MAAmBgB,QAAQS;IAA0B;AACvI,UAAMC,qBAAqB;SAAI1B;MAAiB,KAAKJ;;AAErD,UAAM+B,gBAAgB,wBAACnC,WAA2BA,OAAOI,YAAY,KAAKA,WAAW,CAACI,gBAAgB4B,SAASpC,OAAOI,OAAO,GAAvG;AACtB,UAAMiC,aAAa,wBAACrC,WAA2BA,OAAOM,SAASC,WAAW,GAAG2B,kBAAAA,GAA1D;AAEnB,UAAMvB,iBAAiB,MAAM,KAAKA,eAAc;AAChD,UAAM2B,wBAAwB,MAAMlB,QAAQC,IAAIV,eAAeE,OAAOsB,aAAAA,EAAehC,IAAIkC,UAAAA,CAAAA;AACzF,QAAIC,sBAAsBC,SAAS,GAAG;AACpCjC,eAASkC,UAAUlC,SAASkC,WAAW,CAAC;AACxClC,eAASkC,QAAQC,SAASH;IAC5B;AAEA,SAAKP,iBAAiBW,IAAInC,UAAUD,QAAAA;AAEpC,WAAOA;EACT;EAEA,MAAyBqC,aACvBC,OACAC,UACAC,aACmC;AACnC,UAAMC,UAAU,MAAMC,yBAAyBC,WAAwBL,OAAOC,QAAAA;AAC9E,UAAMK,eAAe,MAAMH,QAAQI,SAAQ;AAC3CC,aAAS,MAAM,KAAKC,UAAUT,OAAOC,UAAUC,WAAAA,CAAAA;AAC/C,UAAMQ,iBAA4B,CAAA;AAClC,YAAQJ,aAAa1B,QAAM;MACzB,KAAK7B,uBAAuB;AAC1B,cAAMS,UAAU,MAAM,KAAKmD,OAAOL,aAAaM,eAAeN,aAAaO,QAAQ;AACnF,YAAIrD,SAAS;AACX,gBAAMsD,UAAU,MAAM,IAAInC,eAA+B;YAAEC,QAAQC;UAAc,CAAA,EAAGC,OAAO;YAAEtB;UAAQ,CAAA,EAAGyB,MAAK;AAC7GyB,yBAAeK,KAAKD,OAAAA;QACtB;AACA;MACF;MACA,KAAK9D,uBAAuB;AAC1B,cAAMQ,UAAU,MAAM,KAAKwD,OAAOV,aAAaM,aAAa;AAC5D,YAAIpD,SAAS;AACX,gBAAMsD,UAAU,MAAM,IAAInC,eAA+B;YAAEC,QAAQC;UAAc,CAAA,EAAGC,OAAO;YAAEtB;UAAQ,CAAA,EAAGyB,MAAK;AAC7GyB,yBAAeK,KAAKD,OAAAA;QACtB;AACA;MACF;MACA,KAAK7D,yBAAyB;AAC5B,cAAMgE,YAAY,MAAM,KAAK5D,SAAQ;AACrC,mBAAWG,WAAWyD,WAAW;AAC/B,gBAAMH,UAAU,MAAM,IAAInC,eAA+B;YAAEC,QAAQC;UAAc,CAAA,EAAGC,OAAO;YAAEtB;UAAQ,CAAA,EAAGyB,MAAK;AAC7GyB,yBAAeK,KAAKD,OAAAA;QACtB;AACA;MACF;MACA,KAAK5D,2BAA2B;AAC9B,cAAM+D,YAAY,MAAM,KAAKC,WAAU;AACvC,mBAAW1D,WAAWyD,WAAW;AAC/B,gBAAMH,UAAU,MAAM,IAAInC,eAA+B;YAAEC,QAAQC;UAAc,CAAA,EAAGC,OAAO;YAAEtB;UAAQ,CAAA,EAAGyB,MAAK;AAC7GyB,yBAAeK,KAAKD,OAAAA;QACtB;AACA;MACF;MACA,SAAS;AACP,eAAO,MAAM,MAAMf,aAAaC,OAAOC,QAAAA;MACzC;IACF;AACA,WAAOS;EACT;AAKF;","names":["assertEx","globallyUnique","AddressSchema","QueryBoundWitnessWrapper","NodeManifestPayloadSchema","AbstractModuleInstance","NodeAttachedQuerySchema","NodeAttachQuerySchema","NodeConfigSchema","NodeDetachQuerySchema","NodeRegisteredQuerySchema","PayloadBuilder","AbstractNode","AbstractModuleInstance","configSchemas","NodeConfigSchema","defaultConfigSchema","uniqueName","globallyUnique","isNode","queries","NodeAttachQuerySchema","NodeDetachQuerySchema","NodeAttachedQuerySchema","NodeRegisteredQuerySchema","_queryAccountPaths","module","attached","attachedPublicModules","map","address","attachedPrivateModules","manifest","maxDepth","ignoreAddresses","manifestHandler","privateChildren","publicChildren","resolvePrivate","filter","downResolver","resolve","direction","generateConfigAndAddress","childMods","childModAddresses","Promise","all","mod","PayloadBuilder","schema","AddressSchema","fields","name","config","build","cachedResult","_cachedManifests","get","NodeManifestPayloadSchema","newIgnoreAddresses","notThisModule","includes","toManifest","publicModuleManifests","length","modules","public","set","queryHandler","query","payloads","queryConfig","wrapper","QueryBoundWitnessWrapper","parseQuery","queryPayload","getQuery","assertEx","queryable","resultPayloads","attach","nameOrAddress","external","payload","push","detach","addresses","registered"]}
|
|
1
|
+
{"version":3,"sources":["../../src/AbstractNode.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { Address } from '@xylabs/hex'\nimport { globallyUnique } from '@xylabs/object'\nimport { Promisable } from '@xylabs/promise'\nimport { AccountInstance } from '@xyo-network/account-model'\nimport { AddressPayload, AddressSchema } from '@xyo-network/address-payload-plugin'\nimport { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport { ModuleManifestPayload, NodeManifestPayload, NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport { AbstractModuleInstance } from '@xyo-network/module-abstract'\nimport { Module, ModuleConfig, ModuleIdentifier, ModuleInstance, ModuleQueryHandlerResult, ModuleQueryResult } from '@xyo-network/module-model'\nimport {\n AttachableNodeInstance,\n ChildCertification,\n ChildCertificationFields,\n ChildCertificationSchema,\n NodeAttachedQuery,\n NodeAttachedQuerySchema,\n NodeAttachQuery,\n NodeAttachQuerySchema,\n NodeCertifyQuery,\n NodeCertifyQuerySchema,\n NodeConfigSchema,\n NodeDetachQuery,\n NodeDetachQuerySchema,\n NodeInstance,\n NodeModule,\n NodeModuleEventData,\n NodeParams,\n NodeQueries,\n NodeRegisteredQuery,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport { Payload, Schema } from '@xyo-network/payload-model'\n\nexport abstract class AbstractNode<TParams extends NodeParams = NodeParams, TEventData extends NodeModuleEventData = NodeModuleEventData>\n extends AbstractModuleInstance<TParams, TEventData>\n implements\n AttachableNodeInstance<TParams, TEventData>,\n Module<TParams, TEventData>,\n NodeInstance<TParams, TEventData>,\n ModuleInstance<TParams, TEventData>,\n NodeModule<TParams, TEventData>\n{\n static override readonly configSchemas: Schema[] = [...super.configSchemas, NodeConfigSchema]\n static override readonly defaultConfigSchema: Schema = NodeConfigSchema\n static override readonly uniqueName = globallyUnique('AbstractNode', AbstractNode, 'xyo')\n\n private readonly isNode = true\n\n override get queries(): Schema[] {\n return [\n NodeAttachQuerySchema,\n NodeCertifyQuerySchema,\n NodeDetachQuerySchema,\n NodeAttachedQuerySchema,\n NodeRegisteredQuerySchema,\n ...super.queries,\n ]\n }\n\n protected override get _queryAccountPaths(): Record<NodeQueries['schema'], string> {\n return {\n [NodeAttachQuerySchema]: '1/1',\n [NodeAttachedQuerySchema]: '1/2',\n [NodeCertifyQuerySchema]: '1/5',\n [NodeDetachQuerySchema]: '1/3',\n [NodeRegisteredQuerySchema]: '1/4',\n }\n }\n\n static isNode(module: unknown) {\n return (module as AbstractNode).isNode\n }\n\n async attach(id: ModuleIdentifier, external?: boolean): Promise<Address | undefined> {\n this._noOverride('attach')\n return await this.attachHandler(id, external)\n }\n\n async attachQuery(id: ModuleIdentifier, external?: boolean, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n this._noOverride('attachQuery')\n const queryPayload: NodeAttachQuery = { external, id, schema: NodeAttachQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async attached(): Promise<Address[]> {\n this._noOverride('attached')\n return await this.attachedHandler()\n }\n\n async attachedHandler(): Promise<Address[]> {\n return [\n ...(await this.attachedPublicModules()).map((module) => module.address),\n ...(await this.attachedPrivateModules()).map((module) => module.address),\n ]\n }\n\n async attachedQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n this._noOverride('attachedQuery')\n const queryPayload: NodeAttachedQuery = { schema: NodeAttachedQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async certify(id: ModuleIdentifier): Promise<ChildCertificationFields | undefined> {\n this._noOverride('certify')\n return await this.certifyHandler(id)\n }\n\n async certifyQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<ChildCertification>> {\n const queryPayload: NodeCertifyQuery = { id, schema: NodeCertifyQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async detach(id: ModuleIdentifier): Promise<Address | undefined> {\n this._noOverride('detach')\n return await this.detachHandler(id)\n }\n\n async detachQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n this._noOverride('detachQuery')\n const queryPayload: NodeDetachQuery = { id, schema: NodeDetachQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n override async manifest(maxDepth = 10, ignoreAddresses: Address[] = []): Promise<ModuleManifestPayload> {\n return await this.manifestHandler(maxDepth, ignoreAddresses)\n }\n\n override async privateChildren(): Promise<ModuleInstance[]> {\n return await this.attachedPrivateModules()\n }\n\n override async publicChildren(): Promise<ModuleInstance[]> {\n return await this.attachedPublicModules()\n }\n\n async registered(): Promise<Address[]> {\n this._noOverride('registered')\n return await this.registeredHandler()\n }\n\n async registeredQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n this._noOverride('registeredQuery')\n const queryPayload: NodeRegisteredQuery = { schema: NodeRegisteredQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n protected async attachedPrivateModules(maxDepth = 1): Promise<ModuleInstance[]> {\n return (await (this.resolvePrivate('*', { maxDepth }) ?? [])).filter((module) => module.address !== this.address)\n }\n\n protected async attachedPublicModules(maxDepth = 1): Promise<ModuleInstance[]> {\n return (await (this.downResolver.resolve('*', { direction: 'down', maxDepth }) ?? [])).filter((module) => module.address !== this.address)\n }\n\n protected override async generateConfigAndAddress(maxDepth = 10): Promise<Payload[]> {\n const childMods = await this.attachedPublicModules(maxDepth)\n //console.log(`childMods: ${toJsonString(childMods)}`)\n const childModAddresses = await Promise.all(\n childMods.map((mod) => new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address: mod.address }).build()),\n )\n\n return [...(await super.generateConfigAndAddress(maxDepth)), ...childModAddresses]\n }\n\n protected override async manifestHandler(maxDepth = 10, ignoreAddresses: Address[] = []): Promise<ModuleManifestPayload> {\n const cachedResult = this._cachedManifests.get(maxDepth)\n if (cachedResult) {\n return cachedResult\n }\n\n const manifest: NodeManifestPayload = { ...(await super.manifestHandler(maxDepth, ignoreAddresses)), schema: NodeManifestPayloadSchema }\n const newIgnoreAddresses = [...ignoreAddresses, this.address]\n\n const notThisModule = (module: ModuleInstance) => module.address !== this.address && !ignoreAddresses.includes(module.address)\n const toManifest = (module: ModuleInstance) => module.manifest(maxDepth - 1, newIgnoreAddresses)\n\n const publicChildren = await this.publicChildren()\n const publicModuleManifests = await Promise.all(publicChildren.filter(notThisModule).map(toManifest))\n if (publicModuleManifests.length > 0) {\n manifest.modules = manifest.modules ?? {}\n manifest.modules.public = publicModuleManifests\n }\n\n this._cachedManifests.set(maxDepth, manifest)\n\n return manifest\n }\n\n protected override async queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(\n query: T,\n payloads?: Payload[],\n queryConfig?: TConfig,\n ): Promise<ModuleQueryHandlerResult> {\n const wrapper = await QueryBoundWitnessWrapper.parseQuery<NodeQueries>(query, payloads)\n const queryPayload = await wrapper.getQuery()\n assertEx(await this.queryable(query, payloads, queryConfig))\n const resultPayloads: Payload[] = []\n switch (queryPayload.schema) {\n case NodeAttachQuerySchema: {\n const address = await this.attachHandler(queryPayload.id, queryPayload.external)\n if (address) {\n const payload = await new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()\n resultPayloads.push(payload)\n }\n break\n }\n case NodeCertifyQuerySchema: {\n const fields = await this.certifyHandler(queryPayload.id)\n if (fields) {\n const payload = await new PayloadBuilder<ChildCertification>({ schema: ChildCertificationSchema }).fields(fields).build()\n resultPayloads.push(payload)\n }\n break\n }\n case NodeDetachQuerySchema: {\n const address = await this.detachHandler(queryPayload.id)\n if (address) {\n const payload = await new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()\n resultPayloads.push(payload)\n }\n break\n }\n case NodeAttachedQuerySchema: {\n const addresses = await this.attachedHandler()\n for (const address of addresses) {\n const payload = await new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()\n resultPayloads.push(payload)\n }\n break\n }\n case NodeRegisteredQuerySchema: {\n const addresses = await this.registeredHandler()\n for (const address of addresses) {\n const payload = await new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()\n resultPayloads.push(payload)\n }\n break\n }\n default: {\n return await super.queryHandler(query, payloads)\n }\n }\n return resultPayloads\n }\n\n abstract attachHandler(id: ModuleIdentifier, external?: boolean): Promisable<Address | undefined>\n\n abstract certifyHandler(id: ModuleIdentifier): Promisable<ChildCertificationFields | undefined>\n\n abstract detachHandler(id: ModuleIdentifier): Promisable<Address | undefined>\n\n abstract registeredHandler(): Promisable<Address[]>\n}\n"],"mappings":"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","names":["assertEx","globallyUnique","AddressSchema","QueryBoundWitnessWrapper","NodeManifestPayloadSchema","AbstractModuleInstance","ChildCertificationSchema","NodeAttachedQuerySchema","NodeAttachQuerySchema","NodeCertifyQuerySchema","NodeConfigSchema","NodeDetachQuerySchema","NodeRegisteredQuerySchema","PayloadBuilder","AbstractNode","AbstractModuleInstance","configSchemas","NodeConfigSchema","defaultConfigSchema","uniqueName","globallyUnique","isNode","queries","NodeAttachQuerySchema","NodeCertifyQuerySchema","NodeDetachQuerySchema","NodeAttachedQuerySchema","NodeRegisteredQuerySchema","_queryAccountPaths","module","attach","id","external","_noOverride","attachHandler","attachQuery","account","queryPayload","schema","sendQueryRaw","attached","attachedHandler","attachedPublicModules","map","address","attachedPrivateModules","attachedQuery","certify","certifyHandler","certifyQuery","detach","detachHandler","detachQuery","manifest","maxDepth","ignoreAddresses","manifestHandler","privateChildren","publicChildren","registered","registeredHandler","registeredQuery","resolvePrivate","filter","downResolver","resolve","direction","generateConfigAndAddress","childMods","childModAddresses","Promise","all","mod","PayloadBuilder","AddressSchema","fields","build","cachedResult","_cachedManifests","get","NodeManifestPayloadSchema","newIgnoreAddresses","notThisModule","includes","toManifest","publicModuleManifests","length","modules","public","set","queryHandler","query","payloads","queryConfig","wrapper","QueryBoundWitnessWrapper","parseQuery","getQuery","assertEx","queryable","resultPayloads","payload","push","ChildCertificationSchema","addresses"]}
|
|
@@ -1,30 +1,43 @@
|
|
|
1
1
|
import { Address } from '@xylabs/hex';
|
|
2
2
|
import { Promisable } from '@xylabs/promise';
|
|
3
|
+
import { AccountInstance } from '@xyo-network/account-model';
|
|
4
|
+
import { AddressPayload } from '@xyo-network/address-payload-plugin';
|
|
3
5
|
import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
|
|
4
6
|
import { ModuleManifestPayload } from '@xyo-network/manifest-model';
|
|
5
7
|
import { AbstractModuleInstance } from '@xyo-network/module-abstract';
|
|
6
|
-
import { Module, ModuleConfig, ModuleIdentifier, ModuleInstance, ModuleQueryHandlerResult } from '@xyo-network/module-model';
|
|
7
|
-
import { NodeModule, NodeModuleEventData, NodeParams, NodeQueries } from '@xyo-network/node-model';
|
|
8
|
+
import { Module, ModuleConfig, ModuleIdentifier, ModuleInstance, ModuleQueryHandlerResult, ModuleQueryResult } from '@xyo-network/module-model';
|
|
9
|
+
import { AttachableNodeInstance, ChildCertification, ChildCertificationFields, NodeInstance, NodeModule, NodeModuleEventData, NodeParams, NodeQueries } from '@xyo-network/node-model';
|
|
8
10
|
import { Payload, Schema } from '@xyo-network/payload-model';
|
|
9
|
-
export declare abstract class AbstractNode<TParams extends NodeParams = NodeParams, TEventData extends NodeModuleEventData = NodeModuleEventData> extends AbstractModuleInstance<TParams, TEventData> implements
|
|
11
|
+
export declare abstract class AbstractNode<TParams extends NodeParams = NodeParams, TEventData extends NodeModuleEventData = NodeModuleEventData> extends AbstractModuleInstance<TParams, TEventData> implements AttachableNodeInstance<TParams, TEventData>, Module<TParams, TEventData>, NodeInstance<TParams, TEventData>, ModuleInstance<TParams, TEventData>, NodeModule<TParams, TEventData> {
|
|
10
12
|
static readonly configSchemas: Schema[];
|
|
11
13
|
static readonly defaultConfigSchema: Schema;
|
|
12
14
|
static readonly uniqueName: string;
|
|
13
15
|
private readonly isNode;
|
|
14
|
-
get queries():
|
|
16
|
+
get queries(): Schema[];
|
|
15
17
|
protected get _queryAccountPaths(): Record<NodeQueries['schema'], string>;
|
|
16
18
|
static isNode(module: unknown): boolean;
|
|
19
|
+
attach(id: ModuleIdentifier, external?: boolean): Promise<Address | undefined>;
|
|
20
|
+
attachQuery(id: ModuleIdentifier, external?: boolean, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
17
21
|
attached(): Promise<Address[]>;
|
|
22
|
+
attachedHandler(): Promise<Address[]>;
|
|
23
|
+
attachedQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
24
|
+
certify(id: ModuleIdentifier): Promise<ChildCertificationFields | undefined>;
|
|
25
|
+
certifyQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<ChildCertification>>;
|
|
26
|
+
detach(id: ModuleIdentifier): Promise<Address | undefined>;
|
|
27
|
+
detachQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
18
28
|
manifest(maxDepth?: number, ignoreAddresses?: Address[]): Promise<ModuleManifestPayload>;
|
|
19
29
|
privateChildren(): Promise<ModuleInstance[]>;
|
|
20
30
|
publicChildren(): Promise<ModuleInstance[]>;
|
|
31
|
+
registered(): Promise<Address[]>;
|
|
32
|
+
registeredQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
21
33
|
protected attachedPrivateModules(maxDepth?: number): Promise<ModuleInstance[]>;
|
|
22
34
|
protected attachedPublicModules(maxDepth?: number): Promise<ModuleInstance[]>;
|
|
23
35
|
protected generateConfigAndAddress(maxDepth?: number): Promise<Payload[]>;
|
|
24
36
|
protected manifestHandler(maxDepth?: number, ignoreAddresses?: Address[]): Promise<ModuleManifestPayload>;
|
|
25
37
|
protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryHandlerResult>;
|
|
26
|
-
abstract
|
|
27
|
-
abstract
|
|
28
|
-
abstract
|
|
38
|
+
abstract attachHandler(id: ModuleIdentifier, external?: boolean): Promisable<Address | undefined>;
|
|
39
|
+
abstract certifyHandler(id: ModuleIdentifier): Promisable<ChildCertificationFields | undefined>;
|
|
40
|
+
abstract detachHandler(id: ModuleIdentifier): Promisable<Address | undefined>;
|
|
41
|
+
abstract registeredHandler(): Promisable<Address[]>;
|
|
29
42
|
}
|
|
30
43
|
//# sourceMappingURL=AbstractNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,43 @@
|
|
|
1
1
|
import { Address } from '@xylabs/hex';
|
|
2
2
|
import { Promisable } from '@xylabs/promise';
|
|
3
|
+
import { AccountInstance } from '@xyo-network/account-model';
|
|
4
|
+
import { AddressPayload } from '@xyo-network/address-payload-plugin';
|
|
3
5
|
import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
|
|
4
6
|
import { ModuleManifestPayload } from '@xyo-network/manifest-model';
|
|
5
7
|
import { AbstractModuleInstance } from '@xyo-network/module-abstract';
|
|
6
|
-
import { Module, ModuleConfig, ModuleIdentifier, ModuleInstance, ModuleQueryHandlerResult } from '@xyo-network/module-model';
|
|
7
|
-
import { NodeModule, NodeModuleEventData, NodeParams, NodeQueries } from '@xyo-network/node-model';
|
|
8
|
+
import { Module, ModuleConfig, ModuleIdentifier, ModuleInstance, ModuleQueryHandlerResult, ModuleQueryResult } from '@xyo-network/module-model';
|
|
9
|
+
import { AttachableNodeInstance, ChildCertification, ChildCertificationFields, NodeInstance, NodeModule, NodeModuleEventData, NodeParams, NodeQueries } from '@xyo-network/node-model';
|
|
8
10
|
import { Payload, Schema } from '@xyo-network/payload-model';
|
|
9
|
-
export declare abstract class AbstractNode<TParams extends NodeParams = NodeParams, TEventData extends NodeModuleEventData = NodeModuleEventData> extends AbstractModuleInstance<TParams, TEventData> implements
|
|
11
|
+
export declare abstract class AbstractNode<TParams extends NodeParams = NodeParams, TEventData extends NodeModuleEventData = NodeModuleEventData> extends AbstractModuleInstance<TParams, TEventData> implements AttachableNodeInstance<TParams, TEventData>, Module<TParams, TEventData>, NodeInstance<TParams, TEventData>, ModuleInstance<TParams, TEventData>, NodeModule<TParams, TEventData> {
|
|
10
12
|
static readonly configSchemas: Schema[];
|
|
11
13
|
static readonly defaultConfigSchema: Schema;
|
|
12
14
|
static readonly uniqueName: string;
|
|
13
15
|
private readonly isNode;
|
|
14
|
-
get queries():
|
|
16
|
+
get queries(): Schema[];
|
|
15
17
|
protected get _queryAccountPaths(): Record<NodeQueries['schema'], string>;
|
|
16
18
|
static isNode(module: unknown): boolean;
|
|
19
|
+
attach(id: ModuleIdentifier, external?: boolean): Promise<Address | undefined>;
|
|
20
|
+
attachQuery(id: ModuleIdentifier, external?: boolean, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
17
21
|
attached(): Promise<Address[]>;
|
|
22
|
+
attachedHandler(): Promise<Address[]>;
|
|
23
|
+
attachedQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
24
|
+
certify(id: ModuleIdentifier): Promise<ChildCertificationFields | undefined>;
|
|
25
|
+
certifyQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<ChildCertification>>;
|
|
26
|
+
detach(id: ModuleIdentifier): Promise<Address | undefined>;
|
|
27
|
+
detachQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
18
28
|
manifest(maxDepth?: number, ignoreAddresses?: Address[]): Promise<ModuleManifestPayload>;
|
|
19
29
|
privateChildren(): Promise<ModuleInstance[]>;
|
|
20
30
|
publicChildren(): Promise<ModuleInstance[]>;
|
|
31
|
+
registered(): Promise<Address[]>;
|
|
32
|
+
registeredQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
21
33
|
protected attachedPrivateModules(maxDepth?: number): Promise<ModuleInstance[]>;
|
|
22
34
|
protected attachedPublicModules(maxDepth?: number): Promise<ModuleInstance[]>;
|
|
23
35
|
protected generateConfigAndAddress(maxDepth?: number): Promise<Payload[]>;
|
|
24
36
|
protected manifestHandler(maxDepth?: number, ignoreAddresses?: Address[]): Promise<ModuleManifestPayload>;
|
|
25
37
|
protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryHandlerResult>;
|
|
26
|
-
abstract
|
|
27
|
-
abstract
|
|
28
|
-
abstract
|
|
38
|
+
abstract attachHandler(id: ModuleIdentifier, external?: boolean): Promisable<Address | undefined>;
|
|
39
|
+
abstract certifyHandler(id: ModuleIdentifier): Promisable<ChildCertificationFields | undefined>;
|
|
40
|
+
abstract detachHandler(id: ModuleIdentifier): Promisable<Address | undefined>;
|
|
41
|
+
abstract registeredHandler(): Promisable<Address[]>;
|
|
29
42
|
}
|
|
30
43
|
//# sourceMappingURL=AbstractNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,43 @@
|
|
|
1
1
|
import { Address } from '@xylabs/hex';
|
|
2
2
|
import { Promisable } from '@xylabs/promise';
|
|
3
|
+
import { AccountInstance } from '@xyo-network/account-model';
|
|
4
|
+
import { AddressPayload } from '@xyo-network/address-payload-plugin';
|
|
3
5
|
import { QueryBoundWitness } from '@xyo-network/boundwitness-model';
|
|
4
6
|
import { ModuleManifestPayload } from '@xyo-network/manifest-model';
|
|
5
7
|
import { AbstractModuleInstance } from '@xyo-network/module-abstract';
|
|
6
|
-
import { Module, ModuleConfig, ModuleIdentifier, ModuleInstance, ModuleQueryHandlerResult } from '@xyo-network/module-model';
|
|
7
|
-
import { NodeModule, NodeModuleEventData, NodeParams, NodeQueries } from '@xyo-network/node-model';
|
|
8
|
+
import { Module, ModuleConfig, ModuleIdentifier, ModuleInstance, ModuleQueryHandlerResult, ModuleQueryResult } from '@xyo-network/module-model';
|
|
9
|
+
import { AttachableNodeInstance, ChildCertification, ChildCertificationFields, NodeInstance, NodeModule, NodeModuleEventData, NodeParams, NodeQueries } from '@xyo-network/node-model';
|
|
8
10
|
import { Payload, Schema } from '@xyo-network/payload-model';
|
|
9
|
-
export declare abstract class AbstractNode<TParams extends NodeParams = NodeParams, TEventData extends NodeModuleEventData = NodeModuleEventData> extends AbstractModuleInstance<TParams, TEventData> implements
|
|
11
|
+
export declare abstract class AbstractNode<TParams extends NodeParams = NodeParams, TEventData extends NodeModuleEventData = NodeModuleEventData> extends AbstractModuleInstance<TParams, TEventData> implements AttachableNodeInstance<TParams, TEventData>, Module<TParams, TEventData>, NodeInstance<TParams, TEventData>, ModuleInstance<TParams, TEventData>, NodeModule<TParams, TEventData> {
|
|
10
12
|
static readonly configSchemas: Schema[];
|
|
11
13
|
static readonly defaultConfigSchema: Schema;
|
|
12
14
|
static readonly uniqueName: string;
|
|
13
15
|
private readonly isNode;
|
|
14
|
-
get queries():
|
|
16
|
+
get queries(): Schema[];
|
|
15
17
|
protected get _queryAccountPaths(): Record<NodeQueries['schema'], string>;
|
|
16
18
|
static isNode(module: unknown): boolean;
|
|
19
|
+
attach(id: ModuleIdentifier, external?: boolean): Promise<Address | undefined>;
|
|
20
|
+
attachQuery(id: ModuleIdentifier, external?: boolean, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
17
21
|
attached(): Promise<Address[]>;
|
|
22
|
+
attachedHandler(): Promise<Address[]>;
|
|
23
|
+
attachedQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
24
|
+
certify(id: ModuleIdentifier): Promise<ChildCertificationFields | undefined>;
|
|
25
|
+
certifyQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<ChildCertification>>;
|
|
26
|
+
detach(id: ModuleIdentifier): Promise<Address | undefined>;
|
|
27
|
+
detachQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
18
28
|
manifest(maxDepth?: number, ignoreAddresses?: Address[]): Promise<ModuleManifestPayload>;
|
|
19
29
|
privateChildren(): Promise<ModuleInstance[]>;
|
|
20
30
|
publicChildren(): Promise<ModuleInstance[]>;
|
|
31
|
+
registered(): Promise<Address[]>;
|
|
32
|
+
registeredQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>>;
|
|
21
33
|
protected attachedPrivateModules(maxDepth?: number): Promise<ModuleInstance[]>;
|
|
22
34
|
protected attachedPublicModules(maxDepth?: number): Promise<ModuleInstance[]>;
|
|
23
35
|
protected generateConfigAndAddress(maxDepth?: number): Promise<Payload[]>;
|
|
24
36
|
protected manifestHandler(maxDepth?: number, ignoreAddresses?: Address[]): Promise<ModuleManifestPayload>;
|
|
25
37
|
protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryHandlerResult>;
|
|
26
|
-
abstract
|
|
27
|
-
abstract
|
|
28
|
-
abstract
|
|
38
|
+
abstract attachHandler(id: ModuleIdentifier, external?: boolean): Promisable<Address | undefined>;
|
|
39
|
+
abstract certifyHandler(id: ModuleIdentifier): Promisable<ChildCertificationFields | undefined>;
|
|
40
|
+
abstract detachHandler(id: ModuleIdentifier): Promisable<Address | undefined>;
|
|
41
|
+
abstract registeredHandler(): Promisable<Address[]>;
|
|
29
42
|
}
|
|
30
43
|
//# sourceMappingURL=AbstractNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
|
package/dist/node/index.cjs
CHANGED
|
@@ -47,6 +47,7 @@ var _AbstractNode = class _AbstractNode extends import_module_abstract.AbstractM
|
|
|
47
47
|
get queries() {
|
|
48
48
|
return [
|
|
49
49
|
import_node_model.NodeAttachQuerySchema,
|
|
50
|
+
import_node_model.NodeCertifyQuerySchema,
|
|
50
51
|
import_node_model.NodeDetachQuerySchema,
|
|
51
52
|
import_node_model.NodeAttachedQuerySchema,
|
|
52
53
|
import_node_model.NodeRegisteredQuerySchema,
|
|
@@ -55,21 +56,69 @@ var _AbstractNode = class _AbstractNode extends import_module_abstract.AbstractM
|
|
|
55
56
|
}
|
|
56
57
|
get _queryAccountPaths() {
|
|
57
58
|
return {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
[import_node_model.NodeAttachQuerySchema]: "1/1",
|
|
60
|
+
[import_node_model.NodeAttachedQuerySchema]: "1/2",
|
|
61
|
+
[import_node_model.NodeCertifyQuerySchema]: "1/5",
|
|
62
|
+
[import_node_model.NodeDetachQuerySchema]: "1/3",
|
|
63
|
+
[import_node_model.NodeRegisteredQuerySchema]: "1/4"
|
|
62
64
|
};
|
|
63
65
|
}
|
|
64
66
|
static isNode(module2) {
|
|
65
67
|
return module2.isNode;
|
|
66
68
|
}
|
|
69
|
+
async attach(id, external) {
|
|
70
|
+
this._noOverride("attach");
|
|
71
|
+
return await this.attachHandler(id, external);
|
|
72
|
+
}
|
|
73
|
+
async attachQuery(id, external, account) {
|
|
74
|
+
this._noOverride("attachQuery");
|
|
75
|
+
const queryPayload = {
|
|
76
|
+
external,
|
|
77
|
+
id,
|
|
78
|
+
schema: import_node_model.NodeAttachQuerySchema
|
|
79
|
+
};
|
|
80
|
+
return await this.sendQueryRaw(queryPayload, [], account);
|
|
81
|
+
}
|
|
67
82
|
async attached() {
|
|
83
|
+
this._noOverride("attached");
|
|
84
|
+
return await this.attachedHandler();
|
|
85
|
+
}
|
|
86
|
+
async attachedHandler() {
|
|
68
87
|
return [
|
|
69
88
|
...(await this.attachedPublicModules()).map((module2) => module2.address),
|
|
70
89
|
...(await this.attachedPrivateModules()).map((module2) => module2.address)
|
|
71
90
|
];
|
|
72
91
|
}
|
|
92
|
+
async attachedQuery(account) {
|
|
93
|
+
this._noOverride("attachedQuery");
|
|
94
|
+
const queryPayload = {
|
|
95
|
+
schema: import_node_model.NodeAttachedQuerySchema
|
|
96
|
+
};
|
|
97
|
+
return await this.sendQueryRaw(queryPayload, [], account);
|
|
98
|
+
}
|
|
99
|
+
async certify(id) {
|
|
100
|
+
this._noOverride("certify");
|
|
101
|
+
return await this.certifyHandler(id);
|
|
102
|
+
}
|
|
103
|
+
async certifyQuery(id, account) {
|
|
104
|
+
const queryPayload = {
|
|
105
|
+
id,
|
|
106
|
+
schema: import_node_model.NodeCertifyQuerySchema
|
|
107
|
+
};
|
|
108
|
+
return await this.sendQueryRaw(queryPayload, [], account);
|
|
109
|
+
}
|
|
110
|
+
async detach(id) {
|
|
111
|
+
this._noOverride("detach");
|
|
112
|
+
return await this.detachHandler(id);
|
|
113
|
+
}
|
|
114
|
+
async detachQuery(id, account) {
|
|
115
|
+
this._noOverride("detachQuery");
|
|
116
|
+
const queryPayload = {
|
|
117
|
+
id,
|
|
118
|
+
schema: import_node_model.NodeDetachQuerySchema
|
|
119
|
+
};
|
|
120
|
+
return await this.sendQueryRaw(queryPayload, [], account);
|
|
121
|
+
}
|
|
73
122
|
async manifest(maxDepth = 10, ignoreAddresses = []) {
|
|
74
123
|
return await this.manifestHandler(maxDepth, ignoreAddresses);
|
|
75
124
|
}
|
|
@@ -79,6 +128,17 @@ var _AbstractNode = class _AbstractNode extends import_module_abstract.AbstractM
|
|
|
79
128
|
async publicChildren() {
|
|
80
129
|
return await this.attachedPublicModules();
|
|
81
130
|
}
|
|
131
|
+
async registered() {
|
|
132
|
+
this._noOverride("registered");
|
|
133
|
+
return await this.registeredHandler();
|
|
134
|
+
}
|
|
135
|
+
async registeredQuery(account) {
|
|
136
|
+
this._noOverride("registeredQuery");
|
|
137
|
+
const queryPayload = {
|
|
138
|
+
schema: import_node_model.NodeRegisteredQuerySchema
|
|
139
|
+
};
|
|
140
|
+
return await this.sendQueryRaw(queryPayload, [], account);
|
|
141
|
+
}
|
|
82
142
|
async attachedPrivateModules(maxDepth = 1) {
|
|
83
143
|
return (await (this.resolvePrivate("*", {
|
|
84
144
|
maxDepth
|
|
@@ -95,8 +155,7 @@ var _AbstractNode = class _AbstractNode extends import_module_abstract.AbstractM
|
|
|
95
155
|
const childModAddresses = await Promise.all(childMods.map((mod) => new import_payload_builder.PayloadBuilder({
|
|
96
156
|
schema: import_address_payload_plugin.AddressSchema
|
|
97
157
|
}).fields({
|
|
98
|
-
address: mod.address
|
|
99
|
-
name: mod.config.name
|
|
158
|
+
address: mod.address
|
|
100
159
|
}).build()));
|
|
101
160
|
return [
|
|
102
161
|
...await super.generateConfigAndAddress(maxDepth),
|
|
@@ -134,7 +193,7 @@ var _AbstractNode = class _AbstractNode extends import_module_abstract.AbstractM
|
|
|
134
193
|
const resultPayloads = [];
|
|
135
194
|
switch (queryPayload.schema) {
|
|
136
195
|
case import_node_model.NodeAttachQuerySchema: {
|
|
137
|
-
const address = await this.
|
|
196
|
+
const address = await this.attachHandler(queryPayload.id, queryPayload.external);
|
|
138
197
|
if (address) {
|
|
139
198
|
const payload = await new import_payload_builder.PayloadBuilder({
|
|
140
199
|
schema: import_address_payload_plugin.AddressSchema
|
|
@@ -145,8 +204,18 @@ var _AbstractNode = class _AbstractNode extends import_module_abstract.AbstractM
|
|
|
145
204
|
}
|
|
146
205
|
break;
|
|
147
206
|
}
|
|
207
|
+
case import_node_model.NodeCertifyQuerySchema: {
|
|
208
|
+
const fields = await this.certifyHandler(queryPayload.id);
|
|
209
|
+
if (fields) {
|
|
210
|
+
const payload = await new import_payload_builder.PayloadBuilder({
|
|
211
|
+
schema: import_node_model.ChildCertificationSchema
|
|
212
|
+
}).fields(fields).build();
|
|
213
|
+
resultPayloads.push(payload);
|
|
214
|
+
}
|
|
215
|
+
break;
|
|
216
|
+
}
|
|
148
217
|
case import_node_model.NodeDetachQuerySchema: {
|
|
149
|
-
const address = await this.
|
|
218
|
+
const address = await this.detachHandler(queryPayload.id);
|
|
150
219
|
if (address) {
|
|
151
220
|
const payload = await new import_payload_builder.PayloadBuilder({
|
|
152
221
|
schema: import_address_payload_plugin.AddressSchema
|
|
@@ -158,7 +227,7 @@ var _AbstractNode = class _AbstractNode extends import_module_abstract.AbstractM
|
|
|
158
227
|
break;
|
|
159
228
|
}
|
|
160
229
|
case import_node_model.NodeAttachedQuerySchema: {
|
|
161
|
-
const addresses = await this.
|
|
230
|
+
const addresses = await this.attachedHandler();
|
|
162
231
|
for (const address of addresses) {
|
|
163
232
|
const payload = await new import_payload_builder.PayloadBuilder({
|
|
164
233
|
schema: import_address_payload_plugin.AddressSchema
|
|
@@ -170,7 +239,7 @@ var _AbstractNode = class _AbstractNode extends import_module_abstract.AbstractM
|
|
|
170
239
|
break;
|
|
171
240
|
}
|
|
172
241
|
case import_node_model.NodeRegisteredQuerySchema: {
|
|
173
|
-
const addresses = await this.
|
|
242
|
+
const addresses = await this.registeredHandler();
|
|
174
243
|
for (const address of addresses) {
|
|
175
244
|
const payload = await new import_payload_builder.PayloadBuilder({
|
|
176
245
|
schema: import_address_payload_plugin.AddressSchema
|