@xyo-network/node 2.55.0 → 2.55.2
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/AbstractNode.js +11 -3
- package/dist/cjs/AbstractNode.js.map +1 -1
- package/dist/cjs/MemoryNode.js +93 -47
- package/dist/cjs/MemoryNode.js.map +1 -1
- package/dist/docs.json +2811 -2414
- package/dist/esm/AbstractNode.js +11 -3
- package/dist/esm/AbstractNode.js.map +1 -1
- package/dist/esm/MemoryNode.js +77 -42
- package/dist/esm/MemoryNode.js.map +1 -1
- package/dist/types/AbstractNode.d.ts +2 -2
- package/dist/types/AbstractNode.d.ts.map +1 -1
- package/dist/types/MemoryNode.d.ts +7 -2
- package/dist/types/MemoryNode.d.ts.map +1 -1
- package/package.json +11 -11
- package/src/AbstractNode.ts +13 -5
- package/src/MemoryNode.ts +91 -48
package/dist/esm/AbstractNode.js
CHANGED
|
@@ -49,11 +49,19 @@ export class AbstractNode extends AbstractModule {
|
|
|
49
49
|
try {
|
|
50
50
|
switch (typedQuery.schema) {
|
|
51
51
|
case XyoNodeAttachQuerySchema: {
|
|
52
|
-
await this.attach(typedQuery.
|
|
52
|
+
const address = await this.attach(typedQuery.nameOrAddress, typedQuery.external);
|
|
53
|
+
if (address) {
|
|
54
|
+
const payload = new PayloadBuilder({ schema: AddressSchema }).fields({ address }).build();
|
|
55
|
+
resultPayloads.push(payload);
|
|
56
|
+
}
|
|
53
57
|
break;
|
|
54
58
|
}
|
|
55
59
|
case XyoNodeDetachQuerySchema: {
|
|
56
|
-
await this.detach(typedQuery.
|
|
60
|
+
const address = await this.detach(typedQuery.nameOrAddress);
|
|
61
|
+
if (address) {
|
|
62
|
+
const payload = new PayloadBuilder({ schema: AddressSchema }).fields({ address }).build();
|
|
63
|
+
resultPayloads.push(payload);
|
|
64
|
+
}
|
|
57
65
|
break;
|
|
58
66
|
}
|
|
59
67
|
case XyoNodeAttachedQuerySchema: {
|
|
@@ -78,7 +86,7 @@ export class AbstractNode extends AbstractModule {
|
|
|
78
86
|
}
|
|
79
87
|
catch (ex) {
|
|
80
88
|
const error = ex;
|
|
81
|
-
resultPayloads.push(new ModuleErrorBuilder([wrapper.hash]
|
|
89
|
+
resultPayloads.push(new ModuleErrorBuilder().sources([wrapper.hash]).message(error.message).build());
|
|
82
90
|
}
|
|
83
91
|
return this.bindResult(resultPayloads, queryAccount);
|
|
84
92
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractNode.js","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AbstractNode.js","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/MemoryNode.js
CHANGED
|
@@ -9,10 +9,59 @@ import { AbstractNode } from './AbstractNode';
|
|
|
9
9
|
export class MemoryNode extends AbstractNode {
|
|
10
10
|
static configSchema = NodeConfigSchema;
|
|
11
11
|
registeredModuleMap = {};
|
|
12
|
-
async attach(
|
|
12
|
+
async attach(nameOrAddress, external) {
|
|
13
|
+
return (await this.attachUsingAddress(nameOrAddress, external)) ?? (await this.attachUsingName(nameOrAddress, external));
|
|
14
|
+
}
|
|
15
|
+
async detach(nameOrAddress) {
|
|
16
|
+
return (await this.detachUsingAddress(nameOrAddress)) ?? (await this.detachUsingName(nameOrAddress));
|
|
17
|
+
}
|
|
18
|
+
async register(module) {
|
|
19
|
+
assertEx(!this.registeredModuleMap[module.address], `Module already registered at that address[${module.address}]`);
|
|
20
|
+
this.registeredModuleMap[module.address] = module;
|
|
21
|
+
const args = { module, name: module.config.name };
|
|
22
|
+
await this.emit('moduleRegistered', args);
|
|
23
|
+
return this;
|
|
24
|
+
}
|
|
25
|
+
registered() {
|
|
26
|
+
return Object.keys(this.registeredModuleMap).map((key) => {
|
|
27
|
+
return key;
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
registeredModules() {
|
|
31
|
+
return Object.values(this.registeredModuleMap).map((value) => {
|
|
32
|
+
return value;
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
async unregister(module) {
|
|
36
|
+
await this.detach(module.address);
|
|
37
|
+
delete this.registeredModuleMap[module.address];
|
|
38
|
+
const args = { module, name: module.config.name };
|
|
39
|
+
await this.emit('moduleUnregistered', args);
|
|
40
|
+
return this;
|
|
41
|
+
}
|
|
42
|
+
async resolve(filter) {
|
|
43
|
+
const internal = this.privateResolver.resolve(filter);
|
|
44
|
+
const up = this.upResolver?.resolve(filter) || [];
|
|
45
|
+
const down = this.downResolver?.resolve(filter) || [];
|
|
46
|
+
const resolved = await Promise.allSettled([internal, up, down]);
|
|
47
|
+
const errors = resolved.filter(rejected).map((r) => Error(r.reason));
|
|
48
|
+
if (errors.length) {
|
|
49
|
+
this.logger?.error(`Resolve Errors: ${JSON.stringify(errors, null, 2)}`);
|
|
50
|
+
}
|
|
51
|
+
return resolved
|
|
52
|
+
.filter(fulfilled)
|
|
53
|
+
.map((r) => r.value)
|
|
54
|
+
.flat()
|
|
55
|
+
.filter(exists)
|
|
56
|
+
.filter(duplicateModules);
|
|
57
|
+
}
|
|
58
|
+
async attachUsingAddress(address, external) {
|
|
13
59
|
const existingModule = (await this.resolve({ address: [address] })).pop();
|
|
14
60
|
assertEx(!existingModule, `Module [${existingModule?.config.name ?? existingModule?.address}] already attached at address [${address}]`);
|
|
15
|
-
const module =
|
|
61
|
+
const module = this.registeredModuleMap[address];
|
|
62
|
+
if (!module) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
16
65
|
const wrapper = ModuleWrapper.wrap(module);
|
|
17
66
|
const notifiedAddresses = [];
|
|
18
67
|
const getModulesToNotifyAbout = async (node) => {
|
|
@@ -59,9 +108,20 @@ export class MemoryNode extends AbstractNode {
|
|
|
59
108
|
}));
|
|
60
109
|
};
|
|
61
110
|
await notifyOfExistingModules(notificationList);
|
|
111
|
+
return address;
|
|
62
112
|
}
|
|
63
|
-
async
|
|
64
|
-
const
|
|
113
|
+
async attachUsingName(name, external) {
|
|
114
|
+
const address = this.moduleAddressFromName(name);
|
|
115
|
+
console.log(`attachUsingName: ${name}: [${address}]`);
|
|
116
|
+
if (address) {
|
|
117
|
+
return await this.attachUsingAddress(address, external);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
async detachUsingAddress(address) {
|
|
121
|
+
const module = this.registeredModuleMap[address];
|
|
122
|
+
if (!module) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
65
125
|
this.privateResolver.removeResolver(module.downResolver);
|
|
66
126
|
//remove inside access
|
|
67
127
|
module.upResolver?.removeResolver?.(this.privateResolver);
|
|
@@ -93,46 +153,21 @@ export class MemoryNode extends AbstractNode {
|
|
|
93
153
|
};
|
|
94
154
|
await notifyOfExistingModules(wrapper);
|
|
95
155
|
}
|
|
156
|
+
return address;
|
|
96
157
|
}
|
|
97
|
-
async
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
await this.emit('moduleRegistered', args);
|
|
102
|
-
return this;
|
|
103
|
-
}
|
|
104
|
-
registered() {
|
|
105
|
-
return Object.keys(this.registeredModuleMap).map((key) => {
|
|
106
|
-
return key;
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
registeredModules() {
|
|
110
|
-
return Object.values(this.registeredModuleMap).map((value) => {
|
|
111
|
-
return value;
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
async unregister(module) {
|
|
115
|
-
await this.detach(module.address);
|
|
116
|
-
delete this.registeredModuleMap[module.address];
|
|
117
|
-
const args = { module, name: module.config.name };
|
|
118
|
-
await this.emit('moduleUnregistered', args);
|
|
119
|
-
return this;
|
|
120
|
-
}
|
|
121
|
-
async resolve(filter) {
|
|
122
|
-
const internal = this.privateResolver.resolve(filter);
|
|
123
|
-
const up = this.upResolver?.resolve(filter) || [];
|
|
124
|
-
const down = this.downResolver?.resolve(filter) || [];
|
|
125
|
-
const resolved = await Promise.allSettled([internal, up, down]);
|
|
126
|
-
const errors = resolved.filter(rejected).map((r) => Error(r.reason));
|
|
127
|
-
if (errors.length) {
|
|
128
|
-
this.logger?.error(`Resolve Errors: ${JSON.stringify(errors, null, 2)}`);
|
|
158
|
+
async detachUsingName(name) {
|
|
159
|
+
const address = this.moduleAddressFromName(name);
|
|
160
|
+
if (address) {
|
|
161
|
+
return await this.detachUsingAddress(address);
|
|
129
162
|
}
|
|
130
|
-
return
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
.
|
|
135
|
-
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
moduleAddressFromName(name) {
|
|
166
|
+
const address = Object.values(this.registeredModuleMap).find((value) => {
|
|
167
|
+
return value.config.name === name;
|
|
168
|
+
}, undefined)?.address;
|
|
169
|
+
console.log(`moduleAddressFromName-check: ${name} : ${address}`);
|
|
170
|
+
return address;
|
|
136
171
|
}
|
|
137
172
|
}
|
|
138
173
|
//# sourceMappingURL=MemoryNode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryNode.js","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAmB,gBAAgB,EAAuC,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC3H,OAAO,EAAc,gBAAgB,EAAqD,MAAM,yBAAyB,CAAA;AACzH,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,OAAO,MAAM,gBAAgB,CAAA;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAI7C,MAAM,OAAO,UACX,SAAQ,YAAiC;IAGzC,MAAM,CAAU,YAAY,GAAG,gBAAgB,CAAA;IAEvC,mBAAmB,GAA2B,EAAE,CAAA;IAE/C,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,QAAkB;
|
|
1
|
+
{"version":3,"file":"MemoryNode.js","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ export declare abstract class AbstractNode<TParams extends NodeModuleParams = No
|
|
|
18
18
|
unregister(_module: Module): Promisable<this>;
|
|
19
19
|
protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryResult>;
|
|
20
20
|
protected resolve<TModule extends Module = Module>(filter?: ModuleFilter): Promise<TModule[]>;
|
|
21
|
-
abstract attach(
|
|
22
|
-
abstract detach(
|
|
21
|
+
abstract attach(nameOrAddress: string, external?: boolean): Promisable<string | undefined>;
|
|
22
|
+
abstract detach(nameOrAddress: string): Promisable<string | undefined>;
|
|
23
23
|
}
|
|
24
24
|
//# sourceMappingURL=AbstractNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,cAAc,EACd,uBAAuB,EAEvB,MAAM,EACN,YAAY,EAEZ,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EAElB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAEL,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAMjB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,8BAAsB,YAAY,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EAAE,UAAU,SAAS,mBAAmB,GAAG,mBAAmB,CAClJ,SAAQ,cAAc,CAAC,OAAO,EAAE,UAAU,CAC1C,YAAW,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC;IAEvE,gBAAyB,YAAY,4BAAmB;IAExD,SAAS,CAAC,QAAQ,CAAC,eAAe,0BAAgC;IAElE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAO;IAE9B,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAED,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO;IAIvB,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI7B,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI3B,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAS7C,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC;IAI3C,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;IAIlC,iBAAiB,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;IAIzC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC;cAIpB,YAAY,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,OAAO,SAAS,YAAY,GAAG,YAAY,EAChI,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,cAAc,EACd,uBAAuB,EAEvB,MAAM,EACN,YAAY,EAEZ,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EAElB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAEL,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAMjB,MAAM,yBAAyB,CAAA;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,8BAAsB,YAAY,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EAAE,UAAU,SAAS,mBAAmB,GAAG,mBAAmB,CAClJ,SAAQ,cAAc,CAAC,OAAO,EAAE,UAAU,CAC1C,YAAW,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC;IAEvE,gBAAyB,YAAY,4BAAmB;IAExD,SAAS,CAAC,QAAQ,CAAC,eAAe,0BAAgC;IAElE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAO;IAE9B,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAED,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO;IAIvB,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI7B,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI3B,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAS7C,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC;IAI3C,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;IAIlC,iBAAiB,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;IAIzC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC;cAIpB,YAAY,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,OAAO,SAAS,YAAY,GAAG,YAAY,EAChI,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,iBAAiB,CAAC;cAkDJ,OAAO,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAI5G,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1F,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC;CACvE"}
|
|
@@ -5,8 +5,8 @@ export type MemoryNodeParams = NodeModuleParams<AnyConfigSchema<NodeConfig>>;
|
|
|
5
5
|
export declare class MemoryNode<TParams extends MemoryNodeParams = MemoryNodeParams, TEventData extends NodeModuleEventData = NodeModuleEventData> extends AbstractNode<TParams, TEventData> implements NodeModule<TParams, TEventData> {
|
|
6
6
|
static configSchema: "network.xyo.node.config";
|
|
7
7
|
private registeredModuleMap;
|
|
8
|
-
attach(
|
|
9
|
-
detach(
|
|
8
|
+
attach(nameOrAddress: string, external?: boolean): Promise<string | undefined>;
|
|
9
|
+
detach(nameOrAddress: string): Promise<string | undefined>;
|
|
10
10
|
register(module: Module): Promise<this>;
|
|
11
11
|
registered(): string[];
|
|
12
12
|
registeredModules(): Module<import("@xyo-network/module").ModuleParams<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
@@ -38,5 +38,10 @@ export declare class MemoryNode<TParams extends MemoryNodeParams = MemoryNodePar
|
|
|
38
38
|
}, "schema">, undefined>, import("@xyo-network/module").ModuleEventData>[];
|
|
39
39
|
unregister(module: Module): Promise<this>;
|
|
40
40
|
protected resolve<TModule extends Module = Module>(filter?: ModuleFilter): Promise<TModule[]>;
|
|
41
|
+
private attachUsingAddress;
|
|
42
|
+
private attachUsingName;
|
|
43
|
+
private detachUsingAddress;
|
|
44
|
+
private detachUsingName;
|
|
45
|
+
private moduleAddressFromName;
|
|
41
46
|
}
|
|
42
47
|
//# sourceMappingURL=MemoryNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryNode.d.ts","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAmC,MAAM,EAAE,YAAY,EAAiB,MAAM,qBAAqB,CAAA;AAC3H,OAAO,EAAE,UAAU,EAAoB,UAAU,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAIzH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAA;AAE5E,qBAAa,UAAU,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EAAE,UAAU,SAAS,mBAAmB,GAAG,mBAAmB,CACvI,SAAQ,YAAY,CAAC,OAAO,EAAE,UAAU,CACxC,YAAW,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC;IAE1C,OAAgB,YAAY,4BAAmB;IAE/C,OAAO,CAAC,mBAAmB,CAA6B;IAEzC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"MemoryNode.d.ts","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAmC,MAAM,EAAE,YAAY,EAAiB,MAAM,qBAAqB,CAAA;AAC3H,OAAO,EAAE,UAAU,EAAoB,UAAU,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAIzH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAA;AAE5E,qBAAa,UAAU,CAAC,OAAO,SAAS,gBAAgB,GAAG,gBAAgB,EAAE,UAAU,SAAS,mBAAmB,GAAG,mBAAmB,CACvI,SAAQ,YAAY,CAAC,OAAO,EAAE,UAAU,CACxC,YAAW,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC;IAE1C,OAAgB,YAAY,4BAAmB;IAE/C,OAAO,CAAC,mBAAmB,CAA6B;IAEzC,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO;IAIhD,MAAM,CAAC,aAAa,EAAE,MAAM;IAI5B,QAAQ,CAAC,MAAM,EAAE,MAAM;IAQ7B,UAAU;IAMV,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;IAMX,UAAU,CAAC,MAAM,EAAE,MAAM;cAQf,OAAO,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAoB9F,kBAAkB;YAiFlB,eAAe;YAQf,kBAAkB;YAiDlB,eAAe;IAQ7B,OAAO,CAAC,qBAAqB;CAO9B"}
|
package/package.json
CHANGED
|
@@ -13,20 +13,20 @@
|
|
|
13
13
|
"@xylabs/assert": "^2.7.6",
|
|
14
14
|
"@xylabs/exists": "^2.7.6",
|
|
15
15
|
"@xylabs/promise": "^2.7.6",
|
|
16
|
-
"@xyo-network/account": "^2.55.
|
|
17
|
-
"@xyo-network/address-payload-plugin": "^2.55.
|
|
18
|
-
"@xyo-network/module": "^2.55.
|
|
19
|
-
"@xyo-network/node-model": "^2.55.
|
|
20
|
-
"@xyo-network/node-wrapper": "^2.55.
|
|
21
|
-
"@xyo-network/payload-builder": "^2.55.
|
|
22
|
-
"@xyo-network/payload-model": "^2.55.
|
|
23
|
-
"@xyo-network/promise": "^2.55.
|
|
16
|
+
"@xyo-network/account": "^2.55.2",
|
|
17
|
+
"@xyo-network/address-payload-plugin": "^2.55.2",
|
|
18
|
+
"@xyo-network/module": "^2.55.2",
|
|
19
|
+
"@xyo-network/node-model": "^2.55.2",
|
|
20
|
+
"@xyo-network/node-wrapper": "^2.55.2",
|
|
21
|
+
"@xyo-network/payload-builder": "^2.55.2",
|
|
22
|
+
"@xyo-network/payload-model": "^2.55.2",
|
|
23
|
+
"@xyo-network/promise": "^2.55.2",
|
|
24
24
|
"lodash": "^4.17.21"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/lodash": "^4.14.192",
|
|
28
|
-
"@xylabs/ts-scripts-yarn3": "^2.16.
|
|
29
|
-
"@xylabs/tsconfig": "^2.16.
|
|
28
|
+
"@xylabs/ts-scripts-yarn3": "^2.16.5",
|
|
29
|
+
"@xylabs/tsconfig": "^2.16.5",
|
|
30
30
|
"typescript": "^4.9.5"
|
|
31
31
|
},
|
|
32
32
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
@@ -62,5 +62,5 @@
|
|
|
62
62
|
},
|
|
63
63
|
"sideEffects": false,
|
|
64
64
|
"types": "dist/types/index.d.ts",
|
|
65
|
-
"version": "2.55.
|
|
65
|
+
"version": "2.55.2"
|
|
66
66
|
}
|
package/src/AbstractNode.ts
CHANGED
|
@@ -96,11 +96,19 @@ export abstract class AbstractNode<TParams extends NodeModuleParams = NodeModule
|
|
|
96
96
|
try {
|
|
97
97
|
switch (typedQuery.schema) {
|
|
98
98
|
case XyoNodeAttachQuerySchema: {
|
|
99
|
-
await this.attach(typedQuery.
|
|
99
|
+
const address = await this.attach(typedQuery.nameOrAddress, typedQuery.external)
|
|
100
|
+
if (address) {
|
|
101
|
+
const payload = new PayloadBuilder({ schema: AddressSchema }).fields({ address }).build()
|
|
102
|
+
resultPayloads.push(payload)
|
|
103
|
+
}
|
|
100
104
|
break
|
|
101
105
|
}
|
|
102
106
|
case XyoNodeDetachQuerySchema: {
|
|
103
|
-
await this.detach(typedQuery.
|
|
107
|
+
const address = await this.detach(typedQuery.nameOrAddress)
|
|
108
|
+
if (address) {
|
|
109
|
+
const payload = new PayloadBuilder({ schema: AddressSchema }).fields({ address }).build()
|
|
110
|
+
resultPayloads.push(payload)
|
|
111
|
+
}
|
|
104
112
|
break
|
|
105
113
|
}
|
|
106
114
|
case XyoNodeAttachedQuerySchema: {
|
|
@@ -124,7 +132,7 @@ export abstract class AbstractNode<TParams extends NodeModuleParams = NodeModule
|
|
|
124
132
|
}
|
|
125
133
|
} catch (ex) {
|
|
126
134
|
const error = ex as Error
|
|
127
|
-
resultPayloads.push(new ModuleErrorBuilder([wrapper.hash]
|
|
135
|
+
resultPayloads.push(new ModuleErrorBuilder().sources([wrapper.hash]).message(error.message).build())
|
|
128
136
|
}
|
|
129
137
|
return this.bindResult(resultPayloads, queryAccount)
|
|
130
138
|
}
|
|
@@ -133,6 +141,6 @@ export abstract class AbstractNode<TParams extends NodeModuleParams = NodeModule
|
|
|
133
141
|
return [...(await this.privateResolver.resolve<TModule>(filter)), ...(await super.resolve<TModule>(filter))].filter(duplicateModules)
|
|
134
142
|
}
|
|
135
143
|
|
|
136
|
-
abstract attach(
|
|
137
|
-
abstract detach(
|
|
144
|
+
abstract attach(nameOrAddress: string, external?: boolean): Promisable<string | undefined>
|
|
145
|
+
abstract detach(nameOrAddress: string): Promisable<string | undefined>
|
|
138
146
|
}
|
package/src/MemoryNode.ts
CHANGED
|
@@ -18,10 +18,70 @@ export class MemoryNode<TParams extends MemoryNodeParams = MemoryNodeParams, TEv
|
|
|
18
18
|
|
|
19
19
|
private registeredModuleMap: Record<string, Module> = {}
|
|
20
20
|
|
|
21
|
-
override async attach(
|
|
21
|
+
override async attach(nameOrAddress: string, external?: boolean) {
|
|
22
|
+
return (await this.attachUsingAddress(nameOrAddress, external)) ?? (await this.attachUsingName(nameOrAddress, external))
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
override async detach(nameOrAddress: string) {
|
|
26
|
+
return (await this.detachUsingAddress(nameOrAddress)) ?? (await this.detachUsingName(nameOrAddress))
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
override async register(module: Module) {
|
|
30
|
+
assertEx(!this.registeredModuleMap[module.address], `Module already registered at that address[${module.address}]`)
|
|
31
|
+
this.registeredModuleMap[module.address] = module
|
|
32
|
+
const args = { module, name: module.config.name }
|
|
33
|
+
await this.emit('moduleRegistered', args)
|
|
34
|
+
return this
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
override registered() {
|
|
38
|
+
return Object.keys(this.registeredModuleMap).map((key) => {
|
|
39
|
+
return key
|
|
40
|
+
})
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
override registeredModules() {
|
|
44
|
+
return Object.values(this.registeredModuleMap).map((value) => {
|
|
45
|
+
return value
|
|
46
|
+
})
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
override async unregister(module: Module) {
|
|
50
|
+
await this.detach(module.address)
|
|
51
|
+
delete this.registeredModuleMap[module.address]
|
|
52
|
+
const args = { module, name: module.config.name }
|
|
53
|
+
await this.emit('moduleUnregistered', args)
|
|
54
|
+
return this
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
protected override async resolve<TModule extends Module = Module>(filter?: ModuleFilter): Promise<TModule[]> {
|
|
58
|
+
const internal: Promise<TModule[]> = this.privateResolver.resolve<TModule>(filter)
|
|
59
|
+
const up: Promise<TModule[]> = this.upResolver?.resolve<TModule>(filter) || []
|
|
60
|
+
const down: Promise<TModule[]> = this.downResolver?.resolve<TModule>(filter) || []
|
|
61
|
+
const resolved = await Promise.allSettled([internal, up, down])
|
|
62
|
+
|
|
63
|
+
const errors = resolved.filter(rejected).map((r) => Error(r.reason))
|
|
64
|
+
|
|
65
|
+
if (errors.length) {
|
|
66
|
+
this.logger?.error(`Resolve Errors: ${JSON.stringify(errors, null, 2)}`)
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return resolved
|
|
70
|
+
.filter(fulfilled)
|
|
71
|
+
.map((r) => r.value)
|
|
72
|
+
.flat()
|
|
73
|
+
.filter(exists)
|
|
74
|
+
.filter(duplicateModules)
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
private async attachUsingAddress(address: string, external?: boolean) {
|
|
22
78
|
const existingModule = (await this.resolve({ address: [address] })).pop()
|
|
23
79
|
assertEx(!existingModule, `Module [${existingModule?.config.name ?? existingModule?.address}] already attached at address [${address}]`)
|
|
24
|
-
const module =
|
|
80
|
+
const module = this.registeredModuleMap[address]
|
|
81
|
+
|
|
82
|
+
if (!module) {
|
|
83
|
+
return
|
|
84
|
+
}
|
|
25
85
|
|
|
26
86
|
const wrapper = ModuleWrapper.wrap(module)
|
|
27
87
|
const notifiedAddresses: string[] = []
|
|
@@ -91,10 +151,24 @@ export class MemoryNode<TParams extends MemoryNodeParams = MemoryNodeParams, TEv
|
|
|
91
151
|
}
|
|
92
152
|
|
|
93
153
|
await notifyOfExistingModules(notificationList)
|
|
154
|
+
|
|
155
|
+
return address
|
|
94
156
|
}
|
|
95
157
|
|
|
96
|
-
|
|
97
|
-
const
|
|
158
|
+
private async attachUsingName(name: string, external?: boolean) {
|
|
159
|
+
const address = this.moduleAddressFromName(name)
|
|
160
|
+
console.log(`attachUsingName: ${name}: [${address}]`)
|
|
161
|
+
if (address) {
|
|
162
|
+
return await this.attachUsingAddress(address, external)
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
private async detachUsingAddress(address: string) {
|
|
167
|
+
const module = this.registeredModuleMap[address]
|
|
168
|
+
|
|
169
|
+
if (!module) {
|
|
170
|
+
return
|
|
171
|
+
}
|
|
98
172
|
|
|
99
173
|
this.privateResolver.removeResolver(module.downResolver)
|
|
100
174
|
|
|
@@ -135,53 +209,22 @@ export class MemoryNode<TParams extends MemoryNodeParams = MemoryNodeParams, TEv
|
|
|
135
209
|
}
|
|
136
210
|
await notifyOfExistingModules(wrapper)
|
|
137
211
|
}
|
|
212
|
+
return address
|
|
138
213
|
}
|
|
139
214
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
await this.emit('moduleRegistered', args)
|
|
145
|
-
return this
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
override registered() {
|
|
149
|
-
return Object.keys(this.registeredModuleMap).map((key) => {
|
|
150
|
-
return key
|
|
151
|
-
})
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
override registeredModules() {
|
|
155
|
-
return Object.values(this.registeredModuleMap).map((value) => {
|
|
156
|
-
return value
|
|
157
|
-
})
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
override async unregister(module: Module) {
|
|
161
|
-
await this.detach(module.address)
|
|
162
|
-
delete this.registeredModuleMap[module.address]
|
|
163
|
-
const args = { module, name: module.config.name }
|
|
164
|
-
await this.emit('moduleUnregistered', args)
|
|
165
|
-
return this
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
protected override async resolve<TModule extends Module = Module>(filter?: ModuleFilter): Promise<TModule[]> {
|
|
169
|
-
const internal: Promise<TModule[]> = this.privateResolver.resolve<TModule>(filter)
|
|
170
|
-
const up: Promise<TModule[]> = this.upResolver?.resolve<TModule>(filter) || []
|
|
171
|
-
const down: Promise<TModule[]> = this.downResolver?.resolve<TModule>(filter) || []
|
|
172
|
-
const resolved = await Promise.allSettled([internal, up, down])
|
|
173
|
-
|
|
174
|
-
const errors = resolved.filter(rejected).map((r) => Error(r.reason))
|
|
175
|
-
|
|
176
|
-
if (errors.length) {
|
|
177
|
-
this.logger?.error(`Resolve Errors: ${JSON.stringify(errors, null, 2)}`)
|
|
215
|
+
private async detachUsingName(name: string) {
|
|
216
|
+
const address = this.moduleAddressFromName(name)
|
|
217
|
+
if (address) {
|
|
218
|
+
return await this.detachUsingAddress(address)
|
|
178
219
|
}
|
|
220
|
+
return
|
|
221
|
+
}
|
|
179
222
|
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
.
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
223
|
+
private moduleAddressFromName(name: string) {
|
|
224
|
+
const address = Object.values(this.registeredModuleMap).find((value) => {
|
|
225
|
+
return value.config.name === name
|
|
226
|
+
}, undefined)?.address
|
|
227
|
+
console.log(`moduleAddressFromName-check: ${name} : ${address}`)
|
|
228
|
+
return address
|
|
186
229
|
}
|
|
187
230
|
}
|