@xyo-network/node 2.44.1 → 2.45.0-rc.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 +14 -28
- package/dist/cjs/AbstractNode.js.map +1 -1
- package/dist/cjs/MemoryNode.js +52 -47
- package/dist/cjs/MemoryNode.js.map +1 -1
- package/dist/cjs/NodeWrapper.js +10 -5
- package/dist/cjs/NodeWrapper.js.map +1 -1
- package/dist/docs.json +18845 -17310
- package/dist/esm/AbstractNode.js +9 -27
- package/dist/esm/AbstractNode.js.map +1 -1
- package/dist/esm/MemoryNode.js +51 -42
- package/dist/esm/MemoryNode.js.map +1 -1
- package/dist/esm/NodeWrapper.js +10 -5
- package/dist/esm/NodeWrapper.js.map +1 -1
- package/dist/types/AbstractNode.d.ts +16 -27
- package/dist/types/AbstractNode.d.ts.map +1 -1
- package/dist/types/Events/ModuleAttached.d.ts +4 -1
- package/dist/types/Events/ModuleAttached.d.ts.map +1 -1
- package/dist/types/MemoryNode.d.ts +17 -13
- package/dist/types/MemoryNode.d.ts.map +1 -1
- package/dist/types/Node.d.ts +1 -1
- package/dist/types/Node.d.ts.map +1 -1
- package/dist/types/NodeWrapper.d.ts +7 -18
- package/dist/types/NodeWrapper.d.ts.map +1 -1
- package/dist/types/Queries/Attach.d.ts +1 -1
- package/dist/types/Queries/Attach.d.ts.map +1 -1
- package/package.json +13 -12
- package/src/AbstractNode.ts +24 -51
- package/src/Events/ModuleAttached.ts +5 -1
- package/src/MemoryNode.ts +61 -38
- package/src/Node.ts +1 -1
- package/src/NodeWrapper.ts +16 -7
- package/src/Queries/Attach.ts +1 -1
- package/src/spec/MemoryNode.spec.ts +17 -35
package/dist/esm/AbstractNode.js
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert';
|
|
2
|
-
import { exists } from '@xylabs/exists';
|
|
3
2
|
import { Account } from '@xyo-network/account';
|
|
4
3
|
import { AddressSchema } from '@xyo-network/address-payload-plugin';
|
|
5
|
-
import { AbstractModule, ModuleWrapper, QueryBoundWitnessWrapper,
|
|
4
|
+
import { AbstractModule, CompositeModuleResolver, ModuleWrapper, QueryBoundWitnessWrapper, XyoErrorBuilder, } from '@xyo-network/module';
|
|
6
5
|
import { XyoPayloadBuilder } from '@xyo-network/payload-builder';
|
|
7
6
|
import { NodeConfigSchema } from './Config';
|
|
8
7
|
import { XyoNodeAttachedQuerySchema, XyoNodeAttachQuerySchema, XyoNodeDetachQuerySchema, XyoNodeRegisteredQuerySchema } from './Queries';
|
|
9
8
|
export class AbstractNode extends AbstractModule {
|
|
10
9
|
static configSchema = NodeConfigSchema;
|
|
11
|
-
internalResolver;
|
|
10
|
+
internalResolver = new CompositeModuleResolver();
|
|
11
|
+
isNode = true;
|
|
12
12
|
constructor(params) {
|
|
13
13
|
super(params);
|
|
14
|
-
this.internalResolver = params.internalResolver ?? new SimpleModuleResolver();
|
|
15
14
|
}
|
|
16
15
|
get isModuleResolver() {
|
|
17
16
|
return true;
|
|
@@ -19,6 +18,9 @@ export class AbstractNode extends AbstractModule {
|
|
|
19
18
|
static async create(params) {
|
|
20
19
|
return (await super.create(params));
|
|
21
20
|
}
|
|
21
|
+
static isNode(module) {
|
|
22
|
+
return module.isNode;
|
|
23
|
+
}
|
|
22
24
|
async attached() {
|
|
23
25
|
return (await this.attachedModules()).map((module) => module.address);
|
|
24
26
|
}
|
|
@@ -90,6 +92,9 @@ export class AbstractNode extends AbstractModule {
|
|
|
90
92
|
registeredModules() {
|
|
91
93
|
throw new Error('Method not implemented.');
|
|
92
94
|
}
|
|
95
|
+
async resolve(filter) {
|
|
96
|
+
return (await this.internalResolver.resolve(filter)) ?? super.resolve(filter) ?? [];
|
|
97
|
+
}
|
|
93
98
|
/**
|
|
94
99
|
* Resolves the supplied filter into wrapped modules
|
|
95
100
|
* @example <caption>Example using ArchivistWrapper</caption>
|
|
@@ -108,29 +113,6 @@ export class AbstractNode extends AbstractModule {
|
|
|
108
113
|
await super.start();
|
|
109
114
|
return this;
|
|
110
115
|
}
|
|
111
|
-
/**
|
|
112
|
-
* Tries to resolve the supplied filter into wrapped modules
|
|
113
|
-
* @example <caption>Example using ArchivistWrapper</caption>
|
|
114
|
-
* const filter = { address: [address] }
|
|
115
|
-
* const mods: ArchivistWrapper[] = await node.tryResolveWrapped(ArchivistWrapper, filter)
|
|
116
|
-
* @param wrapper The ModuleWrapper class (ArchivistWrapper,
|
|
117
|
-
* DivinerWrapper, etc.)
|
|
118
|
-
* @param filter The ModuleFilter
|
|
119
|
-
* @returns An array of ModuleWrapper instances corresponding to
|
|
120
|
-
* the underlying modules matching the supplied filter
|
|
121
|
-
*/
|
|
122
|
-
async tryResolveWrapped(wrapper, filter) {
|
|
123
|
-
return (await this.tryResolve(filter))
|
|
124
|
-
.map((mod) => {
|
|
125
|
-
try {
|
|
126
|
-
return new wrapper(mod);
|
|
127
|
-
}
|
|
128
|
-
catch (_err) {
|
|
129
|
-
return undefined;
|
|
130
|
-
}
|
|
131
|
-
})
|
|
132
|
-
.filter(exists);
|
|
133
|
-
}
|
|
134
116
|
unregister(_module) {
|
|
135
117
|
throw new Error('Method not implemented.');
|
|
136
118
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractNode.js","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"AbstractNode.js","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/MemoryNode.js
CHANGED
|
@@ -1,55 +1,66 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert';
|
|
2
2
|
import { exists } from '@xylabs/exists';
|
|
3
3
|
import { fulfilled } from '@xylabs/promise';
|
|
4
|
-
import { duplicateModules
|
|
4
|
+
import { duplicateModules } from '@xyo-network/module';
|
|
5
5
|
import { AbstractNode } from './AbstractNode';
|
|
6
6
|
import { NodeConfigSchema } from './Config';
|
|
7
7
|
export class MemoryNode extends AbstractNode {
|
|
8
8
|
static configSchema = NodeConfigSchema;
|
|
9
9
|
moduleAttachedEventListeners = [];
|
|
10
|
+
moduleDetachedEventListeners = [];
|
|
10
11
|
registeredModuleMap = new Map();
|
|
11
12
|
resolverChangedEventListeners = [];
|
|
12
|
-
get resolver() {
|
|
13
|
-
return this._resolver;
|
|
14
|
-
}
|
|
15
|
-
set resolver(resolver) {
|
|
16
|
-
this._resolver = resolver;
|
|
17
|
-
const args = { resolver };
|
|
18
|
-
this.resolverChangedEventListeners?.map((listener) => listener(args));
|
|
19
|
-
}
|
|
20
13
|
static async create(params) {
|
|
21
14
|
const instance = (await super.create(params));
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
15
|
+
//Arie: Why would we want to auto register modules?
|
|
16
|
+
/*if (params?.autoAttachExternallyResolved) {
|
|
17
|
+
const resolver = mixinResolverEventEmitter(instance.resolver)
|
|
18
|
+
resolver.on('moduleResolved', (args) => {
|
|
19
|
+
const { module, filter } = args
|
|
20
|
+
try {
|
|
21
|
+
instance.register(module)
|
|
22
|
+
if (filter?.name?.length) {
|
|
23
|
+
filter.name.map((name) => {
|
|
24
|
+
instance.attach(module.address, name)
|
|
25
|
+
})
|
|
26
|
+
} else {
|
|
27
|
+
instance.attach(module.address)
|
|
28
|
+
}
|
|
29
|
+
} catch (err) {
|
|
30
|
+
params.logger?.error(`Error attaching externally resolved module: 0x${module.address}`)
|
|
31
|
+
}
|
|
32
|
+
})
|
|
33
|
+
instance.resolver = resolver
|
|
34
|
+
}*/
|
|
43
35
|
return instance;
|
|
44
36
|
}
|
|
45
|
-
attach(address,
|
|
37
|
+
attach(address, external) {
|
|
46
38
|
const module = assertEx(this.registeredModuleMap.get(address), 'No module found at that address');
|
|
47
|
-
this.internalResolver.
|
|
48
|
-
|
|
39
|
+
this.internalResolver.addResolver(module.resolver);
|
|
40
|
+
//give it inside access
|
|
41
|
+
module.parentResolver.addResolver(this.internalResolver);
|
|
42
|
+
//give it outside access
|
|
43
|
+
if (this.parentResolver) {
|
|
44
|
+
module.parentResolver.addResolver(this.parentResolver);
|
|
45
|
+
}
|
|
46
|
+
if (external) {
|
|
47
|
+
//expose it externally
|
|
48
|
+
this.resolver.addResolver(module.resolver);
|
|
49
|
+
}
|
|
50
|
+
const args = { module };
|
|
49
51
|
this.moduleAttachedEventListeners?.map((listener) => listener(args));
|
|
50
52
|
}
|
|
51
53
|
detach(address) {
|
|
52
|
-
this.
|
|
54
|
+
const module = assertEx(this.registeredModuleMap.get(address), 'No module found at that address');
|
|
55
|
+
this.internalResolver.removeResolver(module.resolver);
|
|
56
|
+
//remove outside access
|
|
57
|
+
module.parentResolver.removeResolver(this.parentResolver);
|
|
58
|
+
//remove inside access
|
|
59
|
+
module.parentResolver.removeResolver(this.internalResolver);
|
|
60
|
+
//remove external exposure
|
|
61
|
+
this.resolver.removeResolver(module.resolver);
|
|
62
|
+
const args = { address };
|
|
63
|
+
this.moduleDetachedEventListeners?.map((listener) => listener(args));
|
|
53
64
|
}
|
|
54
65
|
on(event, listener) {
|
|
55
66
|
switch (event) {
|
|
@@ -64,6 +75,7 @@ export class MemoryNode extends AbstractNode {
|
|
|
64
75
|
}
|
|
65
76
|
register(module) {
|
|
66
77
|
this.registeredModuleMap.set(module.address, module);
|
|
78
|
+
return this;
|
|
67
79
|
}
|
|
68
80
|
registered() {
|
|
69
81
|
return Array.from(this.registeredModuleMap.keys()).map((key) => {
|
|
@@ -77,14 +89,9 @@ export class MemoryNode extends AbstractNode {
|
|
|
77
89
|
}
|
|
78
90
|
async resolve(filter) {
|
|
79
91
|
const internal = this.internalResolver.resolve(filter);
|
|
80
|
-
const external = this.
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
}
|
|
84
|
-
async tryResolve(filter) {
|
|
85
|
-
const internal = this.internalResolver.tryResolve(filter);
|
|
86
|
-
const external = this.resolver?.tryResolve(filter) || [];
|
|
87
|
-
const resolved = await Promise.allSettled([internal, external]);
|
|
92
|
+
const external = this.parentResolver?.resolve(filter) || [];
|
|
93
|
+
const local = this.resolver?.resolve(filter) || [];
|
|
94
|
+
const resolved = await Promise.allSettled([internal, external, local]);
|
|
88
95
|
return resolved
|
|
89
96
|
.filter(fulfilled)
|
|
90
97
|
.map((r) => r.value)
|
|
@@ -93,7 +100,9 @@ export class MemoryNode extends AbstractNode {
|
|
|
93
100
|
.filter(duplicateModules);
|
|
94
101
|
}
|
|
95
102
|
unregister(module) {
|
|
103
|
+
this.detach(module.address);
|
|
96
104
|
this.registeredModuleMap.delete(module.address);
|
|
105
|
+
return this;
|
|
97
106
|
}
|
|
98
107
|
}
|
|
99
108
|
//# 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,MAAM,iBAAiB,CAAA;AAC3C,OAAO,
|
|
1
|
+
{"version":3,"file":"MemoryNode.js","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/NodeWrapper.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { assertEx } from '@xylabs/assert';
|
|
1
2
|
import { AddressSchema } from '@xyo-network/address-payload-plugin';
|
|
2
3
|
import { ArchivistWrapper } from '@xyo-network/archivist-wrapper';
|
|
3
4
|
import { ModuleWrapper } from '@xyo-network/module';
|
|
@@ -5,14 +6,21 @@ import { isXyoPayloadOfSchemaType } from '@xyo-network/payload-model';
|
|
|
5
6
|
import { PayloadWrapper } from '@xyo-network/payload-wrapper';
|
|
6
7
|
import { XyoNodeAttachedQuerySchema, XyoNodeAttachQuerySchema, XyoNodeDetachQuerySchema, XyoNodeRegisteredQuerySchema, } from './Queries';
|
|
7
8
|
export class NodeWrapper extends ModuleWrapper {
|
|
9
|
+
static requiredQueries = [XyoNodeAttachQuerySchema, ...ModuleWrapper.requiredQueries];
|
|
8
10
|
isModuleResolver = true;
|
|
9
11
|
_archivist;
|
|
10
12
|
get archivist() {
|
|
11
13
|
this._archivist = this._archivist ?? new ArchivistWrapper(this.module);
|
|
12
14
|
return this._archivist;
|
|
13
15
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
static tryWrap(module) {
|
|
17
|
+
return this.hasRequiredQueries(module) ? new NodeWrapper(module) : undefined;
|
|
18
|
+
}
|
|
19
|
+
static wrap(module) {
|
|
20
|
+
return assertEx(this.tryWrap(module), 'Unable to wrap module as NodeWrapper');
|
|
21
|
+
}
|
|
22
|
+
async attach(address, external) {
|
|
23
|
+
const queryPayload = PayloadWrapper.parse({ address, external, schema: XyoNodeAttachQuerySchema });
|
|
16
24
|
await this.sendQuery(queryPayload);
|
|
17
25
|
}
|
|
18
26
|
async attached() {
|
|
@@ -32,8 +40,5 @@ export class NodeWrapper extends ModuleWrapper {
|
|
|
32
40
|
resolve(filter) {
|
|
33
41
|
return this.module.resolve(filter);
|
|
34
42
|
}
|
|
35
|
-
tryResolve(filter) {
|
|
36
|
-
return this.module.tryResolve(filter);
|
|
37
|
-
}
|
|
38
43
|
}
|
|
39
44
|
//# sourceMappingURL=NodeWrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeWrapper.js","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,
|
|
1
|
+
{"version":3,"file":"NodeWrapper.js","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAkB,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAwB,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAI7D,OAAO,EAEL,0BAA0B,EAE1B,wBAAwB,EAExB,wBAAwB,EAExB,4BAA4B,GAC7B,MAAM,WAAW,CAAA;AAElB,MAAM,OAAO,WAAqD,SAAQ,aAAsB;IAC9F,MAAM,CAAC,eAAe,GAAG,CAAC,wBAAwB,EAAE,GAAG,aAAa,CAAC,eAAe,CAAC,CAAA;IAE9E,gBAAgB,GAAG,IAAI,CAAA;IAEtB,UAAU,CAAmB;IAErC,IAAW,SAAS;QAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtE,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,MAAc;QAC3B,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,MAAoB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC5F,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,MAAc;QACxB,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,sCAAsC,CAAC,CAAA;IAC/E,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,QAAkB;QAC9C,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAqB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAA;QACtH,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAuB,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC,CAAA;QACvG,MAAM,QAAQ,GAAqB,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAiB,aAAa,CAAC,CAAC,CAAA;QACvI,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAe;QAC1B,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAA;QAC5G,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAyB,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC,CAAA;QAC3G,MAAM,QAAQ,GAAqB,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAiB,aAAa,CAAC,CAAC,CAAA;QACvI,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC;IAED,OAAO,CAAC,MAAqB;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACpC,CAAC"}
|
|
@@ -1,27 +1,30 @@
|
|
|
1
1
|
import { Account } from '@xyo-network/account';
|
|
2
|
-
import { AbstractModule, AbstractModuleConfig, Module, ModuleConstructable, ModuleDescription, ModuleFilter, ModuleParams, ModuleQueryResult,
|
|
2
|
+
import { AbstractModule, AbstractModuleConfig, CompositeModuleResolver, Module, ModuleConstructable, ModuleDescription, ModuleFilter, ModuleParams, ModuleQueryResult, ModuleWrapper, XyoQueryBoundWitness } from '@xyo-network/module';
|
|
3
3
|
import { XyoPayload } from '@xyo-network/payload-model';
|
|
4
4
|
import { Promisable } from '@xyo-network/promise';
|
|
5
5
|
import { NodeConfig } from './Config';
|
|
6
6
|
import { NodeModule } from './Node';
|
|
7
|
-
export interface AbstractNodeParams<TConfig extends NodeConfig = NodeConfig
|
|
8
|
-
internalResolver?:
|
|
7
|
+
export interface AbstractNodeParams<TConfig extends NodeConfig = NodeConfig> extends ModuleParams<TConfig> {
|
|
8
|
+
internalResolver?: CompositeModuleResolver;
|
|
9
9
|
}
|
|
10
|
-
export declare abstract class AbstractNode<TConfig extends NodeConfig = NodeConfig
|
|
10
|
+
export declare abstract class AbstractNode<TConfig extends NodeConfig = NodeConfig> extends AbstractModule<TConfig> implements NodeModule<AbstractModule> {
|
|
11
11
|
static readonly configSchema: "network.xyo.node.config";
|
|
12
|
-
protected internalResolver:
|
|
13
|
-
|
|
12
|
+
protected internalResolver: CompositeModuleResolver;
|
|
13
|
+
private readonly isNode;
|
|
14
|
+
protected constructor(params: AbstractNodeParams<TConfig>);
|
|
14
15
|
get isModuleResolver(): boolean;
|
|
15
16
|
static create(params?: Partial<AbstractNodeParams>): Promise<AbstractNode>;
|
|
17
|
+
static isNode(module: unknown): boolean;
|
|
16
18
|
attached(): Promise<string[]>;
|
|
17
|
-
attachedModules(): Promise<
|
|
19
|
+
attachedModules(): Promise<Module[]>;
|
|
18
20
|
description(): Promise<ModuleDescription>;
|
|
19
21
|
discover(_queryAccount?: Account | undefined): Promise<XyoPayload[]>;
|
|
20
22
|
queries(): string[];
|
|
21
23
|
query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness, TConfig extends AbstractModuleConfig = AbstractModuleConfig>(query: T, payloads?: XyoPayload[], queryConfig?: TConfig): Promise<ModuleQueryResult>;
|
|
22
|
-
register(_module:
|
|
24
|
+
register(_module: AbstractModule): Promisable<this>;
|
|
23
25
|
registered(): Promisable<string[]>;
|
|
24
|
-
registeredModules(): Promisable<
|
|
26
|
+
registeredModules(): Promisable<Module[]>;
|
|
27
|
+
resolve(filter?: ModuleFilter): Promise<AbstractModule[]>;
|
|
25
28
|
/**
|
|
26
29
|
* Resolves the supplied filter into wrapped modules
|
|
27
30
|
* @example <caption>Example using ArchivistWrapper</caption>
|
|
@@ -33,27 +36,13 @@ export declare abstract class AbstractNode<TConfig extends NodeConfig = NodeConf
|
|
|
33
36
|
* @returns An array of ModuleWrapper instances corresponding to
|
|
34
37
|
* the underlying modules matching the supplied filter
|
|
35
38
|
*/
|
|
36
|
-
resolveWrapped<T extends ModuleWrapper<
|
|
39
|
+
resolveWrapped<T extends ModuleWrapper<Module> = ModuleWrapper<Module>>(wrapper: ModuleConstructable<Module, T>, filter?: ModuleFilter): Promise<T[]>;
|
|
37
40
|
start(): Promise<this>;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
* @example <caption>Example using ArchivistWrapper</caption>
|
|
41
|
-
* const filter = { address: [address] }
|
|
42
|
-
* const mods: ArchivistWrapper[] = await node.tryResolveWrapped(ArchivistWrapper, filter)
|
|
43
|
-
* @param wrapper The ModuleWrapper class (ArchivistWrapper,
|
|
44
|
-
* DivinerWrapper, etc.)
|
|
45
|
-
* @param filter The ModuleFilter
|
|
46
|
-
* @returns An array of ModuleWrapper instances corresponding to
|
|
47
|
-
* the underlying modules matching the supplied filter
|
|
48
|
-
*/
|
|
49
|
-
tryResolveWrapped<T extends ModuleWrapper<TModule> = ModuleWrapper<TModule>>(wrapper: ModuleConstructable<TModule, T>, filter?: ModuleFilter): Promise<T[]>;
|
|
50
|
-
unregister(_module: TModule): Promisable<void>;
|
|
51
|
-
abstract attach(address: string): Promisable<void>;
|
|
41
|
+
unregister(_module: Module): Promisable<this>;
|
|
42
|
+
abstract attach(address: string, external?: boolean): Promisable<void>;
|
|
52
43
|
abstract detach(address: string): Promisable<void>;
|
|
53
|
-
abstract resolve(filter?: ModuleFilter): Promisable<TModule[]>;
|
|
54
|
-
abstract tryResolve(filter?: ModuleFilter): Promisable<TModule[]>;
|
|
55
44
|
}
|
|
56
45
|
/** @deprecated use AbstractNode instead */
|
|
57
|
-
export declare abstract class XyoNode<TConfig extends NodeConfig = NodeConfig
|
|
46
|
+
export declare abstract class XyoNode<TConfig extends NodeConfig = NodeConfig> extends AbstractNode<TConfig> {
|
|
58
47
|
}
|
|
59
48
|
//# sourceMappingURL=AbstractNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AbstractNode.d.ts","sourceRoot":"","sources":["../../src/AbstractNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,10 @@ import { ModuleEventEmitter } from '@xyo-network/module';
|
|
|
2
2
|
import { Module } from '@xyo-network/module-model';
|
|
3
3
|
export interface ModuleAttachedEventArgs {
|
|
4
4
|
module: Module;
|
|
5
|
-
|
|
5
|
+
}
|
|
6
|
+
export interface ModuleDetachedEventArgs {
|
|
7
|
+
address: string;
|
|
6
8
|
}
|
|
7
9
|
export type ModuleAttachedEventEmitter = ModuleEventEmitter<'moduleAttached', ModuleAttachedEventArgs>;
|
|
10
|
+
export type ModuleDetachedEventEmitter = ModuleEventEmitter<'moduleDetached', ModuleDetachedEventArgs>;
|
|
8
11
|
//# sourceMappingURL=ModuleAttached.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleAttached.d.ts","sourceRoot":"","sources":["../../../src/Events/ModuleAttached.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAElD,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"ModuleAttached.d.ts","sourceRoot":"","sources":["../../../src/Events/ModuleAttached.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAElD,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,0BAA0B,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,uBAAuB,CAAC,CAAA;AACtG,MAAM,MAAM,0BAA0B,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,uBAAuB,CAAC,CAAA"}
|
|
@@ -1,27 +1,31 @@
|
|
|
1
|
-
import { Module, ModuleFilter
|
|
1
|
+
import { AbstractModule, Module, ModuleFilter } from '@xyo-network/module';
|
|
2
2
|
import { AbstractNode, AbstractNodeParams } from './AbstractNode';
|
|
3
3
|
import { NodeConfig } from './Config';
|
|
4
4
|
import { ModuleAttachedEventArgs, ModuleAttachedEventEmitter, ModuleResolverChangedEventArgs, ResolverChangedEventEmitter } from './Events';
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
export declare class MemoryNode<TConfig extends NodeConfig = NodeConfig, TModule extends Module = Module> extends AbstractNode<TConfig, TModule> implements ModuleAttachedEventEmitter, ResolverChangedEventEmitter {
|
|
5
|
+
export type MemoryNodeParams<TConfig extends NodeConfig = NodeConfig> = AbstractNodeParams<TConfig>;
|
|
6
|
+
export declare class MemoryNode<TConfig extends NodeConfig = NodeConfig> extends AbstractNode<TConfig> implements ModuleAttachedEventEmitter, ResolverChangedEventEmitter {
|
|
9
7
|
static configSchema: "network.xyo.node.config";
|
|
10
8
|
private readonly moduleAttachedEventListeners;
|
|
9
|
+
private readonly moduleDetachedEventListeners;
|
|
11
10
|
private registeredModuleMap;
|
|
12
11
|
private readonly resolverChangedEventListeners;
|
|
13
|
-
get resolver(): ModuleResolver | undefined;
|
|
14
|
-
set resolver(resolver: ModuleResolver | undefined);
|
|
15
12
|
static create(params?: Partial<MemoryNodeParams>): Promise<MemoryNode>;
|
|
16
|
-
attach(address: string,
|
|
13
|
+
attach(address: string, external?: boolean): void;
|
|
17
14
|
detach(address: string): void;
|
|
18
15
|
on(event: 'moduleAttached', listener: (args: ModuleAttachedEventArgs) => void): this;
|
|
19
16
|
on(event: 'moduleResolverChanged', listener: (args: ModuleResolverChangedEventArgs) => void): this;
|
|
20
|
-
register(module:
|
|
17
|
+
register(module: AbstractModule): this;
|
|
21
18
|
registered(): string[];
|
|
22
|
-
registeredModules():
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
registeredModules(): AbstractModule<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
20
|
+
name?: string | undefined;
|
|
21
|
+
security?: {
|
|
22
|
+
allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
23
|
+
disallowed?: Record<string, string[]> | undefined;
|
|
24
|
+
} | undefined;
|
|
25
|
+
} & {
|
|
26
|
+
schema: string;
|
|
27
|
+
}>[];
|
|
28
|
+
resolve(filter?: ModuleFilter): Promise<AbstractModule[]>;
|
|
29
|
+
unregister(module: Module): this;
|
|
26
30
|
}
|
|
27
31
|
//# sourceMappingURL=MemoryNode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryNode.d.ts","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"MemoryNode.d.ts","sourceRoot":"","sources":["../../src/MemoryNode.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAmC,MAAM,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAE3G,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,EAAE,UAAU,EAAoB,MAAM,UAAU,CAAA;AACvD,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAE1B,8BAA8B,EAC9B,2BAA2B,EAC5B,MAAM,UAAU,CAAA;AAOjB,MAAM,MAAM,gBAAgB,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,IAAI,kBAAkB,CAAC,OAAO,CAAC,CAAA;AAEnG,qBAAa,UAAU,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,CAC7D,SAAQ,YAAY,CAAC,OAAO,CAC5B,YAAW,0BAA0B,EAAE,2BAA2B;IAElE,MAAM,CAAC,YAAY,4BAAmB;IACtC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAA+C;IAC5F,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAA+C;IAC5F,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,OAAO,CAAC,QAAQ,CAAC,6BAA6B,CAAsD;WAE9E,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IA2B5E,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO;IAsB1C,MAAM,CAAC,OAAO,EAAE,MAAM;IAkB/B,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,IAAI,GAAG,IAAI;IACpF,EAAE,CAAC,KAAK,EAAE,uBAAuB,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,8BAA8B,KAAK,IAAI,GAAG,IAAI;IAazF,QAAQ,CAAC,MAAM,EAAE,cAAc;IAK/B,UAAU;IAMV,iBAAiB;;;;;;;;;IAMX,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAa/D,UAAU,CAAC,MAAM,EAAE,MAAM;CAKnC"}
|
package/dist/types/Node.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Module, ModuleResolver } from '@xyo-network/module-model';
|
|
2
2
|
import { Promisable } from '@xyo-network/promise';
|
|
3
3
|
export interface Node {
|
|
4
|
-
attach(address: string,
|
|
4
|
+
attach(address: string, external?: boolean): Promisable<void>;
|
|
5
5
|
attached(): Promisable<string[]>;
|
|
6
6
|
detach(address: string): Promisable<void>;
|
|
7
7
|
registered(): Promisable<string[]>;
|
package/dist/types/Node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../src/Node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,MAAM,WAAW,IAAI;IACnB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"Node.d.ts","sourceRoot":"","sources":["../../src/Node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,MAAM,WAAW,IAAI;IACnB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAC7D,QAAQ,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;IAChC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IACzC,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;CACnC;AAED,MAAM,MAAM,UAAU,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,IAAI,IAAI,GAAG,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA"}
|
|
@@ -1,29 +1,18 @@
|
|
|
1
1
|
import { ArchivistWrapper } from '@xyo-network/archivist-wrapper';
|
|
2
|
-
import { ModuleFilter, ModuleWrapper } from '@xyo-network/module';
|
|
2
|
+
import { Module, ModuleFilter, ModuleWrapper } from '@xyo-network/module';
|
|
3
|
+
import { Promisable } from '@xyo-network/promise';
|
|
3
4
|
import { Node, NodeModule } from './Node';
|
|
4
5
|
export declare class NodeWrapper<TModule extends NodeModule = NodeModule> extends ModuleWrapper<TModule> implements Node, NodeModule {
|
|
6
|
+
static requiredQueries: string[];
|
|
5
7
|
isModuleResolver: boolean;
|
|
6
8
|
private _archivist?;
|
|
7
9
|
get archivist(): ArchivistWrapper;
|
|
8
|
-
|
|
10
|
+
static tryWrap(module: Module): NodeWrapper | undefined;
|
|
11
|
+
static wrap(module: Module): NodeWrapper;
|
|
12
|
+
attach(address: string, external?: boolean): Promise<void>;
|
|
9
13
|
attached(): Promise<string[]>;
|
|
10
14
|
detach(address: string): Promise<void>;
|
|
11
15
|
registered(): Promise<string[]>;
|
|
12
|
-
resolve(filter?: ModuleFilter):
|
|
13
|
-
security?: {
|
|
14
|
-
allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
15
|
-
disallowed?: Record<string, string[]> | undefined;
|
|
16
|
-
} | undefined;
|
|
17
|
-
} & {
|
|
18
|
-
schema: string;
|
|
19
|
-
}>[], never>;
|
|
20
|
-
tryResolve(filter?: ModuleFilter): import("@xyo-network/promise").Promisable<import("@xyo-network/module").Module<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
21
|
-
security?: {
|
|
22
|
-
allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
23
|
-
disallowed?: Record<string, string[]> | undefined;
|
|
24
|
-
} | undefined;
|
|
25
|
-
} & {
|
|
26
|
-
schema: string;
|
|
27
|
-
}>[], never>;
|
|
16
|
+
resolve(filter?: ModuleFilter): Promisable<Module[]>;
|
|
28
17
|
}
|
|
29
18
|
//# sourceMappingURL=NodeWrapper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeWrapper.d.ts","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NodeWrapper.d.ts","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAGzE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAYzC,qBAAa,WAAW,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,aAAa,CAAC,OAAO,CAAE,YAAW,IAAI,EAAE,UAAU;IAC1H,MAAM,CAAC,eAAe,WAA+D;IAE9E,gBAAgB,UAAO;IAE9B,OAAO,CAAC,UAAU,CAAC,CAAkB;IAErC,IAAW,SAAS,qBAGnB;IAED,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIvD,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW;IAIlC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1D,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAM7B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtC,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAMrC,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;CAGrD"}
|
|
@@ -3,7 +3,7 @@ export type XyoNodeAttachQuerySchema = 'network.xyo.query.node.attach';
|
|
|
3
3
|
export declare const XyoNodeAttachQuerySchema: XyoNodeAttachQuerySchema;
|
|
4
4
|
export type XyoNodeAttachQuery = XyoQuery<{
|
|
5
5
|
address: string;
|
|
6
|
-
|
|
6
|
+
external?: boolean;
|
|
7
7
|
schema: XyoNodeAttachQuerySchema;
|
|
8
8
|
}>;
|
|
9
9
|
//# sourceMappingURL=Attach.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Attach.d.ts","sourceRoot":"","sources":["../../../src/Queries/Attach.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAEpD,MAAM,MAAM,wBAAwB,GAAG,+BAA+B,CAAA;AACtE,eAAO,MAAM,wBAAwB,EAAE,wBAA0D,CAAA;AAEjG,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACxC,OAAO,EAAE,MAAM,CAAA;IACf,
|
|
1
|
+
{"version":3,"file":"Attach.d.ts","sourceRoot":"","sources":["../../../src/Queries/Attach.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AAEpD,MAAM,MAAM,wBAAwB,GAAG,+BAA+B,CAAA;AACtE,eAAO,MAAM,wBAAwB,EAAE,wBAA0D,CAAA;AAEjG,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACxC,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,EAAE,wBAAwB,CAAA;CACjC,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -13,19 +13,19 @@
|
|
|
13
13
|
"@xylabs/assert": "^2.7.1",
|
|
14
14
|
"@xylabs/exists": "^2.7.1",
|
|
15
15
|
"@xylabs/promise": "^2.7.1",
|
|
16
|
-
"@xyo-network/account": "^2.
|
|
17
|
-
"@xyo-network/address-payload-plugin": "^2.
|
|
18
|
-
"@xyo-network/archivist-wrapper": "^2.
|
|
19
|
-
"@xyo-network/module": "^2.
|
|
20
|
-
"@xyo-network/module-model": "^2.
|
|
21
|
-
"@xyo-network/payload-builder": "^2.
|
|
22
|
-
"@xyo-network/payload-model": "^2.
|
|
23
|
-
"@xyo-network/payload-wrapper": "^2.
|
|
24
|
-
"@xyo-network/promise": "^2.
|
|
16
|
+
"@xyo-network/account": "^2.45.0-rc.2",
|
|
17
|
+
"@xyo-network/address-payload-plugin": "^2.45.0-rc.2",
|
|
18
|
+
"@xyo-network/archivist-wrapper": "^2.45.0-rc.2",
|
|
19
|
+
"@xyo-network/module": "^2.45.0-rc.2",
|
|
20
|
+
"@xyo-network/module-model": "^2.45.0-rc.2",
|
|
21
|
+
"@xyo-network/payload-builder": "^2.45.0-rc.2",
|
|
22
|
+
"@xyo-network/payload-model": "^2.45.0-rc.2",
|
|
23
|
+
"@xyo-network/payload-wrapper": "^2.45.0-rc.2",
|
|
24
|
+
"@xyo-network/promise": "^2.45.0-rc.2"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@xylabs/ts-scripts-yarn3": "^2.14.
|
|
28
|
-
"@xylabs/tsconfig": "^2.14.
|
|
27
|
+
"@xylabs/ts-scripts-yarn3": "^2.14.15",
|
|
28
|
+
"@xylabs/tsconfig": "^2.14.15",
|
|
29
29
|
"typescript": "^4.9.5"
|
|
30
30
|
},
|
|
31
31
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
@@ -61,5 +61,6 @@
|
|
|
61
61
|
},
|
|
62
62
|
"sideEffects": false,
|
|
63
63
|
"types": "dist/types/index.d.ts",
|
|
64
|
-
"version": "2.
|
|
64
|
+
"version": "2.45.0-rc.2",
|
|
65
|
+
"stableVersion": "2.44.1"
|
|
65
66
|
}
|