@xyo-network/bridge-module-resolver 2.66.9 → 2.67.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/ModuleResolver.js +9 -5
- package/dist/cjs/ModuleResolver.js.map +1 -1
- package/dist/cjs/ProxyModule.js +12 -6
- package/dist/cjs/ProxyModule.js.map +1 -1
- package/dist/esm/ModuleResolver.js +11 -7
- package/dist/esm/ModuleResolver.js.map +1 -1
- package/dist/esm/ProxyModule.js +13 -6
- package/dist/esm/ProxyModule.js.map +1 -1
- package/dist/types/ModuleResolver.d.ts +1 -0
- package/dist/types/ModuleResolver.d.ts.map +1 -1
- package/dist/types/ProxyModule.d.ts +51 -43
- package/dist/types/ProxyModule.d.ts.map +1 -1
- package/package.json +23 -22
- package/src/ModuleResolver.ts +16 -9
- package/src/ProxyModule.ts +21 -13
- package/dist/docs.json +0 -11211
|
@@ -23,6 +23,7 @@ class BridgeModuleResolver extends module_1.CompositeModuleResolver {
|
|
|
23
23
|
super();
|
|
24
24
|
this.bridge = bridge;
|
|
25
25
|
this.wrapperAccount = wrapperAccount;
|
|
26
|
+
this.primed = this.resolveRemoteModules();
|
|
26
27
|
this.resolvedModules = {};
|
|
27
28
|
}
|
|
28
29
|
get isModuleResolver() {
|
|
@@ -65,6 +66,8 @@ class BridgeModuleResolver extends module_1.CompositeModuleResolver {
|
|
|
65
66
|
resolve(nameOrAddressOrFilter) {
|
|
66
67
|
var _a;
|
|
67
68
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
yield this.primed;
|
|
70
|
+
yield this.resolveRemoteModules();
|
|
68
71
|
if (typeof nameOrAddressOrFilter === 'string') {
|
|
69
72
|
const result = (_a = (yield this.resolveByAddress(nameOrAddressOrFilter))) !== null && _a !== void 0 ? _a : (yield this.resolveByName(nameOrAddressOrFilter));
|
|
70
73
|
return result;
|
|
@@ -89,15 +92,15 @@ class BridgeModuleResolver extends module_1.CompositeModuleResolver {
|
|
|
89
92
|
return yield cached;
|
|
90
93
|
this.resolvedModules[targetAddress] =
|
|
91
94
|
(_a = this.resolvedModules[targetAddress]) !== null && _a !== void 0 ? _a : ((address) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
95
|
+
//discover it to set the config in the bridge
|
|
96
|
+
yield this.bridge.targetDiscover(address);
|
|
92
97
|
const mod = new ProxyModule_1.ProxyModule({ address, bridge: this.bridge, config: { schema: ProxyModule_1.ProxyModuleConfigSchema } });
|
|
93
98
|
try {
|
|
94
|
-
//discover it to set the config in the bridge
|
|
95
|
-
yield this.bridge.targetDiscover(address);
|
|
96
99
|
if ((0, archivist_model_1.isArchivistModule)(mod)) {
|
|
97
|
-
return archivist_wrapper_1.
|
|
100
|
+
return archivist_wrapper_1.ArchivistWrapper.wrap(mod, this.wrapperAccount);
|
|
98
101
|
}
|
|
99
102
|
if ((0, diviner_model_1.isDivinerModule)(mod)) {
|
|
100
|
-
return diviner_1.
|
|
103
|
+
return diviner_1.DivinerWrapper.wrap(mod, this.wrapperAccount);
|
|
101
104
|
}
|
|
102
105
|
if ((0, witness_model_1.isWitnessModule)(mod)) {
|
|
103
106
|
return witness_wrapper_1.WitnessWrapper.wrap(mod, this.wrapperAccount);
|
|
@@ -122,7 +125,8 @@ class BridgeModuleResolver extends module_1.CompositeModuleResolver {
|
|
|
122
125
|
}
|
|
123
126
|
resolveByName(name) {
|
|
124
127
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
125
|
-
|
|
128
|
+
const modules = yield this.currentResolvedModules();
|
|
129
|
+
return Object.values(modules)
|
|
126
130
|
.filter((module) => module.config.name === name)
|
|
127
131
|
.pop();
|
|
128
132
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleResolver.js","sourceRoot":"","sources":["../../src/ModuleResolver.ts"],"names":[],"mappings":";;;;AACA,gFAAmF;AACnF,kEAAgE;AAChE,
|
|
1
|
+
{"version":3,"file":"ModuleResolver.js","sourceRoot":"","sources":["../../src/ModuleResolver.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/ProxyModule.js
CHANGED
|
@@ -4,22 +4,25 @@ exports.ProxyModule = exports.ProxyModuleConfigSchema = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const assert_1 = require("@xylabs/assert");
|
|
6
6
|
const address_payload_plugin_1 = require("@xyo-network/address-payload-plugin");
|
|
7
|
+
const manifest_model_1 = require("@xyo-network/manifest-model");
|
|
7
8
|
const module_1 = require("@xyo-network/module");
|
|
8
9
|
const compact_1 = tslib_1.__importDefault(require("lodash/compact"));
|
|
9
10
|
exports.ProxyModuleConfigSchema = 'network.xyo.module.proxy.config';
|
|
10
11
|
class ProxyModule extends module_1.BaseEmitter {
|
|
11
|
-
constructor(
|
|
12
|
-
super(
|
|
12
|
+
constructor(proxyParams) {
|
|
13
|
+
super({ config: proxyParams.bridge.targetConfig(proxyParams.address) });
|
|
14
|
+
this.proxyParams = proxyParams;
|
|
13
15
|
this.upResolver = new module_1.CompositeModuleResolver();
|
|
14
16
|
}
|
|
15
17
|
get address() {
|
|
16
|
-
return this.
|
|
18
|
+
return this.proxyParams.address.toLowerCase();
|
|
17
19
|
}
|
|
18
20
|
get bridge() {
|
|
19
|
-
return this.
|
|
21
|
+
return this.proxyParams.bridge;
|
|
20
22
|
}
|
|
21
23
|
get config() {
|
|
22
|
-
|
|
24
|
+
const config = this.bridge.targetConfig(this.address);
|
|
25
|
+
return config;
|
|
23
26
|
}
|
|
24
27
|
get downResolver() {
|
|
25
28
|
return this.bridge.targetDownResolver(this.address);
|
|
@@ -54,7 +57,10 @@ class ProxyModule extends module_1.BaseEmitter {
|
|
|
54
57
|
manifest() {
|
|
55
58
|
var _a;
|
|
56
59
|
const name = (_a = this.config.name) !== null && _a !== void 0 ? _a : 'Anonymous';
|
|
57
|
-
return { config: Object.assign({ name }, this.config) };
|
|
60
|
+
return { config: Object.assign({ name }, this.config), schema: manifest_model_1.ManifestPayloadSchema };
|
|
61
|
+
}
|
|
62
|
+
moduleAddress() {
|
|
63
|
+
throw Error('Not Implemented');
|
|
58
64
|
}
|
|
59
65
|
previousHash() {
|
|
60
66
|
throw Error('Not Implemented');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProxyModule.js","sourceRoot":"","sources":["../../src/ProxyModule.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AACzC,gFAAmF;
|
|
1
|
+
{"version":3,"file":"ProxyModule.js","sourceRoot":"","sources":["../../src/ProxyModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AddressSchema } from '@xyo-network/address-payload-plugin';
|
|
2
2
|
import { isArchivistModule } from '@xyo-network/archivist-model';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { ArchivistWrapper } from '@xyo-network/archivist-wrapper';
|
|
4
|
+
import { DivinerWrapper } from '@xyo-network/diviner';
|
|
5
5
|
import { isDivinerModule } from '@xyo-network/diviner-model';
|
|
6
6
|
import { handleError } from '@xyo-network/error';
|
|
7
7
|
import { CompositeModuleResolver, ModuleWrapper } from '@xyo-network/module';
|
|
@@ -15,6 +15,7 @@ import { ProxyModule, ProxyModuleConfigSchema } from './ProxyModule';
|
|
|
15
15
|
export class BridgeModuleResolver extends CompositeModuleResolver {
|
|
16
16
|
bridge;
|
|
17
17
|
wrapperAccount;
|
|
18
|
+
primed = this.resolveRemoteModules();
|
|
18
19
|
remoteAddresses;
|
|
19
20
|
resolvedModules = {};
|
|
20
21
|
// TODO: Allow optional ctor param for supplying address for nested Nodes
|
|
@@ -58,6 +59,8 @@ export class BridgeModuleResolver extends CompositeModuleResolver {
|
|
|
58
59
|
throw new Error('Method not implemented.');
|
|
59
60
|
}
|
|
60
61
|
async resolve(nameOrAddressOrFilter) {
|
|
62
|
+
await this.primed;
|
|
63
|
+
await this.resolveRemoteModules();
|
|
61
64
|
if (typeof nameOrAddressOrFilter === 'string') {
|
|
62
65
|
const result = (await this.resolveByAddress(nameOrAddressOrFilter)) ?? (await this.resolveByName(nameOrAddressOrFilter));
|
|
63
66
|
return result;
|
|
@@ -80,15 +83,15 @@ export class BridgeModuleResolver extends CompositeModuleResolver {
|
|
|
80
83
|
this.resolvedModules[targetAddress] =
|
|
81
84
|
this.resolvedModules[targetAddress] ??
|
|
82
85
|
(async (address) => {
|
|
86
|
+
//discover it to set the config in the bridge
|
|
87
|
+
await this.bridge.targetDiscover(address);
|
|
83
88
|
const mod = new ProxyModule({ address, bridge: this.bridge, config: { schema: ProxyModuleConfigSchema } });
|
|
84
89
|
try {
|
|
85
|
-
//discover it to set the config in the bridge
|
|
86
|
-
await this.bridge.targetDiscover(address);
|
|
87
90
|
if (isArchivistModule(mod)) {
|
|
88
|
-
return
|
|
91
|
+
return ArchivistWrapper.wrap(mod, this.wrapperAccount);
|
|
89
92
|
}
|
|
90
93
|
if (isDivinerModule(mod)) {
|
|
91
|
-
return
|
|
94
|
+
return DivinerWrapper.wrap(mod, this.wrapperAccount);
|
|
92
95
|
}
|
|
93
96
|
if (isWitnessModule(mod)) {
|
|
94
97
|
return WitnessWrapper.wrap(mod, this.wrapperAccount);
|
|
@@ -111,7 +114,8 @@ export class BridgeModuleResolver extends CompositeModuleResolver {
|
|
|
111
114
|
return await this.resolvedModules[targetAddress];
|
|
112
115
|
}
|
|
113
116
|
async resolveByName(name) {
|
|
114
|
-
|
|
117
|
+
const modules = await this.currentResolvedModules();
|
|
118
|
+
return Object.values(modules)
|
|
115
119
|
.filter((module) => module.config.name === name)
|
|
116
120
|
.pop();
|
|
117
121
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleResolver.js","sourceRoot":"","sources":["../../src/ModuleResolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAkB,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ModuleResolver.js","sourceRoot":"","sources":["../../src/ModuleResolver.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/ProxyModule.js
CHANGED
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert';
|
|
2
2
|
import { AddressSchema } from '@xyo-network/address-payload-plugin';
|
|
3
|
+
import { ManifestPayloadSchema } from '@xyo-network/manifest-model';
|
|
3
4
|
import { BaseEmitter, CompositeModuleResolver, } from '@xyo-network/module';
|
|
4
5
|
import compact from 'lodash/compact';
|
|
5
6
|
export const ProxyModuleConfigSchema = 'network.xyo.module.proxy.config';
|
|
6
7
|
export class ProxyModule extends BaseEmitter {
|
|
8
|
+
proxyParams;
|
|
7
9
|
upResolver = new CompositeModuleResolver();
|
|
8
|
-
constructor(
|
|
9
|
-
super(
|
|
10
|
+
constructor(proxyParams) {
|
|
11
|
+
super({ config: proxyParams.bridge.targetConfig(proxyParams.address) });
|
|
12
|
+
this.proxyParams = proxyParams;
|
|
10
13
|
}
|
|
11
14
|
get address() {
|
|
12
|
-
return this.
|
|
15
|
+
return this.proxyParams.address.toLowerCase();
|
|
13
16
|
}
|
|
14
17
|
get bridge() {
|
|
15
|
-
return this.
|
|
18
|
+
return this.proxyParams.bridge;
|
|
16
19
|
}
|
|
17
20
|
get config() {
|
|
18
|
-
|
|
21
|
+
const config = this.bridge.targetConfig(this.address);
|
|
22
|
+
return config;
|
|
19
23
|
}
|
|
20
24
|
get downResolver() {
|
|
21
25
|
return this.bridge.targetDownResolver(this.address);
|
|
@@ -46,7 +50,10 @@ export class ProxyModule extends BaseEmitter {
|
|
|
46
50
|
}
|
|
47
51
|
manifest() {
|
|
48
52
|
const name = this.config.name ?? 'Anonymous';
|
|
49
|
-
return { config: { name, ...this.config } };
|
|
53
|
+
return { config: { name, ...this.config }, schema: ManifestPayloadSchema };
|
|
54
|
+
}
|
|
55
|
+
moduleAddress() {
|
|
56
|
+
throw Error('Not Implemented');
|
|
50
57
|
}
|
|
51
58
|
previousHash() {
|
|
52
59
|
throw Error('Not Implemented');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProxyModule.js","sourceRoot":"","sources":["../../src/ProxyModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAkB,aAAa,EAAE,MAAM,qCAAqC,CAAA;
|
|
1
|
+
{"version":3,"file":"ProxyModule.js","sourceRoot":"","sources":["../../src/ProxyModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { Module, ModuleFilter, ModuleInstance, ModuleResolver } from '@xyo-netwo
|
|
|
5
5
|
export declare class BridgeModuleResolver extends CompositeModuleResolver implements ModuleResolver {
|
|
6
6
|
protected readonly bridge: BridgeModule;
|
|
7
7
|
protected wrapperAccount: AccountInstance;
|
|
8
|
+
private primed;
|
|
8
9
|
private remoteAddresses?;
|
|
9
10
|
private resolvedModules;
|
|
10
11
|
constructor(bridge: BridgeModule, wrapperAccount: AccountInstance);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleResolver.d.ts","sourceRoot":"","sources":["../../src/ModuleResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAI5D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAIxD,OAAO,EAAE,uBAAuB,EAAiB,MAAM,qBAAqB,CAAA;AAC5E,OAAO,EAEL,MAAM,EACN,YAAY,EACZ,cAAc,EACd,cAAc,EAGf,MAAM,2BAA2B,CAAA;AAUlC,qBAAa,oBAAqB,SAAQ,uBAAwB,YAAW,cAAc;
|
|
1
|
+
{"version":3,"file":"ModuleResolver.d.ts","sourceRoot":"","sources":["../../src/ModuleResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAI5D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAIxD,OAAO,EAAE,uBAAuB,EAAiB,MAAM,qBAAqB,CAAA;AAC5E,OAAO,EAEL,MAAM,EACN,YAAY,EACZ,cAAc,EACd,cAAc,EAGf,MAAM,2BAA2B,CAAA;AAUlC,qBAAa,oBAAqB,SAAQ,uBAAwB,YAAW,cAAc;IAQvF,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY;IACvC,SAAS,CAAC,cAAc,EAAE,eAAe;IAR3C,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,eAAe,CAAC,CAAmB;IAC3C,OAAO,CAAC,eAAe,CAA8C;gBAKhD,MAAM,EAAE,YAAY,EAC7B,cAAc,EAAE,eAAe;IAK3C,IAAa,gBAAgB,IAAI,OAAO,CAEvC;IAEQ,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IACzB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAK9B,sBAAsB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAW/F,kBAAkB;IAmBf,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAInC,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IACzD,OAAO,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;YAcpE,gBAAgB;YAoDhB,aAAa;YAOb,cAAc;YAUd,oBAAoB;YAiBpB,6BAA6B;YAI7B,0BAA0B;YAI1B,2BAA2B;CAG1C"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { QueryBoundWitness } from '@xyo-network/boundwitness-builder';
|
|
2
2
|
import { BridgeModule } from '@xyo-network/bridge-model';
|
|
3
|
-
import {
|
|
4
|
-
import { AddressPreviousHashPayload, BaseEmitter, CompositeModuleResolver,
|
|
3
|
+
import { ModuleManifestPayload } from '@xyo-network/manifest-model';
|
|
4
|
+
import { AddressPreviousHashPayload, BaseEmitter, CompositeModuleResolver, ModuleConfig, ModuleDescription, ModuleEventData, ModuleFilter, ModuleFilterOptions, ModuleInstance, ModuleParams, ModuleQueryResult } from '@xyo-network/module';
|
|
5
5
|
import { Payload } from '@xyo-network/payload-model';
|
|
6
6
|
import { Promisable } from '@xyo-network/promise';
|
|
7
7
|
export type ProxyModuleConfigSchema = 'network.xyo.module.proxy.config';
|
|
@@ -13,57 +13,65 @@ export type ProxyModuleParams = ModuleParams<TProxyModuleConfig, {
|
|
|
13
13
|
address: string;
|
|
14
14
|
bridge: BridgeModule;
|
|
15
15
|
}>;
|
|
16
|
-
export declare class ProxyModule extends BaseEmitter<
|
|
16
|
+
export declare class ProxyModule extends BaseEmitter<ModuleParams, ModuleEventData> implements ModuleInstance<ModuleParams, ModuleEventData> {
|
|
17
|
+
proxyParams: ProxyModuleParams;
|
|
17
18
|
readonly upResolver: CompositeModuleResolver;
|
|
18
|
-
constructor(
|
|
19
|
+
constructor(proxyParams: ProxyModuleParams);
|
|
19
20
|
get address(): string;
|
|
20
|
-
get bridge(): BridgeModule<import("@xyo-network/
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
readonly
|
|
30
|
-
readonly
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
readonly
|
|
43
|
-
readonly
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
schema
|
|
53
|
-
|
|
54
|
-
schema
|
|
55
|
-
|
|
21
|
+
get bridge(): BridgeModule<import("@xyo-network/core").BaseParamsFields & {
|
|
22
|
+
account?: import("@xyo-network/account-model").AccountInstance | "random" | undefined;
|
|
23
|
+
accountDerivationPath?: string | undefined;
|
|
24
|
+
config: import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
25
|
+
readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
|
|
26
|
+
readonly name?: string | undefined;
|
|
27
|
+
readonly paging?: Record<string, {
|
|
28
|
+
size?: number | undefined;
|
|
29
|
+
}> | undefined;
|
|
30
|
+
readonly schema: string;
|
|
31
|
+
readonly security?: {
|
|
32
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
33
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
34
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
35
|
+
} | undefined;
|
|
36
|
+
readonly storeQueries?: boolean | undefined;
|
|
37
|
+
} & Omit<Omit<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
38
|
+
readonly archivist?: import("@xyo-network/module").ArchivistModuleConfig | undefined;
|
|
39
|
+
readonly name?: string | undefined;
|
|
40
|
+
readonly paging?: Record<string, {
|
|
41
|
+
size?: number | undefined;
|
|
42
|
+
}> | undefined;
|
|
43
|
+
readonly schema: "network.xyo.bridge.config";
|
|
44
|
+
readonly security?: {
|
|
45
|
+
readonly allowAnonymous?: boolean | undefined;
|
|
46
|
+
readonly allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
47
|
+
readonly disallowed?: Record<string, string[]> | undefined;
|
|
48
|
+
} | undefined;
|
|
49
|
+
readonly storeQueries?: boolean | undefined;
|
|
50
|
+
} & Omit<{
|
|
51
|
+
discoverCache?: true | import("@xyo-network/bridge-model").CacheConfig | undefined;
|
|
52
|
+
schema: "network.xyo.bridge.config";
|
|
53
|
+
}, "schema"> & {
|
|
54
|
+
schema: "network.xyo.bridge.config";
|
|
55
|
+
}, "schema"> & {
|
|
56
|
+
schema: string;
|
|
57
|
+
}, "schema"> & {
|
|
58
|
+
schema: string;
|
|
59
|
+
};
|
|
60
|
+
ephemeralQueryAccountEnabled?: boolean | undefined;
|
|
61
|
+
wallet?: import("@xyo-network/wallet-model").WalletInstance | undefined;
|
|
62
|
+
}, ModuleEventData>;
|
|
56
63
|
get config(): ModuleConfig;
|
|
57
64
|
get downResolver(): import("@xyo-network/module").ModuleResolver;
|
|
58
65
|
get queries(): string[];
|
|
59
66
|
addressPreviousHash(): Promise<AddressPreviousHashPayload>;
|
|
60
67
|
describe(): Promise<ModuleDescription>;
|
|
61
68
|
discover(): Promisable<Payload[]>;
|
|
62
|
-
manifest(): Promisable<
|
|
69
|
+
manifest(): Promisable<ModuleManifestPayload>;
|
|
70
|
+
moduleAddress(): Promise<AddressPreviousHashPayload[]>;
|
|
63
71
|
previousHash(): Promise<string | undefined>;
|
|
64
72
|
query<T extends QueryBoundWitness = QueryBoundWitness>(query: T, payloads?: Payload[]): Promise<ModuleQueryResult>;
|
|
65
73
|
queryable(query: QueryBoundWitness, payloads?: Payload[], queryConfig?: ModuleConfig): Promise<boolean>;
|
|
66
|
-
resolve(filter?: ModuleFilter, options?: ModuleFilterOptions): Promise<
|
|
67
|
-
resolve(nameOrAddress: string, options?: ModuleFilterOptions): Promise<
|
|
74
|
+
resolve(filter?: ModuleFilter, options?: ModuleFilterOptions): Promise<ModuleInstance[]>;
|
|
75
|
+
resolve(nameOrAddress: string, options?: ModuleFilterOptions): Promise<ModuleInstance | undefined>;
|
|
68
76
|
}
|
|
69
77
|
//# sourceMappingURL=ProxyModule.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProxyModule.d.ts","sourceRoot":"","sources":["../../src/ProxyModule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"ProxyModule.d.ts","sourceRoot":"","sources":["../../src/ProxyModule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAyB,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAC1F,OAAO,EACL,0BAA0B,EAC1B,WAAW,EACX,uBAAuB,EACvB,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,iBAAiB,EAClB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGjD,MAAM,MAAM,uBAAuB,GAAG,iCAAiC,CAAA;AACvE,eAAO,MAAM,uBAAuB,EAAE,uBAA2D,CAAA;AAEjG,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC;IAAE,MAAM,EAAE,uBAAuB,CAAA;CAAE,CAAC,CAAA;AAElF,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAC1C,kBAAkB,EAClB;IACE,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,YAAY,CAAA;CACrB,CACF,CAAA;AAED,qBAAa,WAAY,SAAQ,WAAW,CAAC,YAAY,EAAE,eAAe,CAAE,YAAW,cAAc,CAAC,YAAY,EAAE,eAAe,CAAC;IAG/G,WAAW,EAAE,iBAAiB;IAFjD,QAAQ,CAAC,UAAU,0BAAgC;gBAEhC,WAAW,EAAE,iBAAiB;IAIjD,IAAI,OAAO,WAEV;IAED,IAAI,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAET;IAED,IAAI,MAAM,IAAI,YAAY,CAGzB;IAED,IAAI,YAAY,iDAEf;IAED,IAAI,OAAO,aAEV;IAED,mBAAmB,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAIpD,QAAQ,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAqB5C,QAAQ,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;IAIjC,QAAQ,IAAI,UAAU,CAAC,qBAAqB,CAAC;IAK7C,aAAa,IAAI,OAAO,CAAC,0BAA0B,EAAE,CAAC;IAItD,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIrC,KAAK,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAMlH,SAAS,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAK7G,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IACxF,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;CAWnG"}
|
package/package.json
CHANGED
|
@@ -11,30 +11,30 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/assert": "^2.9.3",
|
|
14
|
-
"@xyo-network/account-model": "~2.
|
|
15
|
-
"@xyo-network/address-payload-plugin": "~2.
|
|
16
|
-
"@xyo-network/archivist-model": "~2.
|
|
17
|
-
"@xyo-network/archivist-wrapper": "~2.
|
|
18
|
-
"@xyo-network/boundwitness-builder": "~2.
|
|
19
|
-
"@xyo-network/bridge-model": "~2.
|
|
20
|
-
"@xyo-network/diviner": "~2.
|
|
21
|
-
"@xyo-network/diviner-model": "~2.
|
|
22
|
-
"@xyo-network/error": "~2.
|
|
23
|
-
"@xyo-network/manifest-model": "~2.
|
|
24
|
-
"@xyo-network/module": "~2.
|
|
25
|
-
"@xyo-network/module-model": "~2.
|
|
26
|
-
"@xyo-network/node-model": "~2.
|
|
27
|
-
"@xyo-network/node-wrapper": "~2.
|
|
28
|
-
"@xyo-network/payload-model": "~2.
|
|
29
|
-
"@xyo-network/promise": "~2.
|
|
30
|
-
"@xyo-network/sentinel": "~2.
|
|
31
|
-
"@xyo-network/witness-model": "~2.
|
|
32
|
-
"@xyo-network/witness-wrapper": "~2.
|
|
14
|
+
"@xyo-network/account-model": "~2.67.0-rc.2",
|
|
15
|
+
"@xyo-network/address-payload-plugin": "~2.67.0-rc.2",
|
|
16
|
+
"@xyo-network/archivist-model": "~2.67.0-rc.2",
|
|
17
|
+
"@xyo-network/archivist-wrapper": "~2.67.0-rc.2",
|
|
18
|
+
"@xyo-network/boundwitness-builder": "~2.67.0-rc.2",
|
|
19
|
+
"@xyo-network/bridge-model": "~2.67.0-rc.2",
|
|
20
|
+
"@xyo-network/diviner": "~2.67.0-rc.2",
|
|
21
|
+
"@xyo-network/diviner-model": "~2.67.0-rc.2",
|
|
22
|
+
"@xyo-network/error": "~2.67.0-rc.2",
|
|
23
|
+
"@xyo-network/manifest-model": "~2.67.0-rc.2",
|
|
24
|
+
"@xyo-network/module": "~2.67.0-rc.2",
|
|
25
|
+
"@xyo-network/module-model": "~2.67.0-rc.2",
|
|
26
|
+
"@xyo-network/node-model": "~2.67.0-rc.2",
|
|
27
|
+
"@xyo-network/node-wrapper": "~2.67.0-rc.2",
|
|
28
|
+
"@xyo-network/payload-model": "~2.67.0-rc.2",
|
|
29
|
+
"@xyo-network/promise": "~2.67.0-rc.2",
|
|
30
|
+
"@xyo-network/sentinel": "~2.67.0-rc.2",
|
|
31
|
+
"@xyo-network/witness-model": "~2.67.0-rc.2",
|
|
32
|
+
"@xyo-network/witness-wrapper": "~2.67.0-rc.2",
|
|
33
33
|
"lodash": "^4.17.21"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@xylabs/ts-scripts-yarn3": "^2.
|
|
37
|
-
"@xylabs/tsconfig": "^2.
|
|
36
|
+
"@xylabs/ts-scripts-yarn3": "^2.19.0",
|
|
37
|
+
"@xylabs/tsconfig": "^2.19.0",
|
|
38
38
|
"typescript": "^5.1.6"
|
|
39
39
|
},
|
|
40
40
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
@@ -70,5 +70,6 @@
|
|
|
70
70
|
},
|
|
71
71
|
"sideEffects": false,
|
|
72
72
|
"types": "dist/types/index.d.ts",
|
|
73
|
-
"version": "2.
|
|
73
|
+
"version": "2.67.0-rc.2",
|
|
74
|
+
"stableVersion": "2.66.9"
|
|
74
75
|
}
|
package/src/ModuleResolver.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { AccountInstance } from '@xyo-network/account-model'
|
|
2
2
|
import { AddressPayload, AddressSchema } from '@xyo-network/address-payload-plugin'
|
|
3
3
|
import { isArchivistModule } from '@xyo-network/archivist-model'
|
|
4
|
-
import {
|
|
4
|
+
import { ArchivistWrapper } from '@xyo-network/archivist-wrapper'
|
|
5
5
|
import { BridgeModule } from '@xyo-network/bridge-model'
|
|
6
|
-
import {
|
|
6
|
+
import { DivinerWrapper } from '@xyo-network/diviner'
|
|
7
7
|
import { isDivinerModule } from '@xyo-network/diviner-model'
|
|
8
8
|
import { handleError } from '@xyo-network/error'
|
|
9
9
|
import { CompositeModuleResolver, ModuleWrapper } from '@xyo-network/module'
|
|
@@ -26,12 +26,16 @@ import compact from 'lodash/compact'
|
|
|
26
26
|
import { ProxyModule, ProxyModuleConfigSchema, ProxyModuleParams } from './ProxyModule'
|
|
27
27
|
|
|
28
28
|
export class BridgeModuleResolver extends CompositeModuleResolver implements ModuleResolver {
|
|
29
|
+
private primed = this.resolveRemoteModules()
|
|
29
30
|
private remoteAddresses?: Promise<string[]>
|
|
30
31
|
private resolvedModules: Record<string, Promise<ModuleInstance>> = {}
|
|
31
32
|
|
|
32
33
|
// TODO: Allow optional ctor param for supplying address for nested Nodes
|
|
33
34
|
// protected readonly address?: string,
|
|
34
|
-
constructor(
|
|
35
|
+
constructor(
|
|
36
|
+
protected readonly bridge: BridgeModule,
|
|
37
|
+
protected wrapperAccount: AccountInstance,
|
|
38
|
+
) {
|
|
35
39
|
super()
|
|
36
40
|
}
|
|
37
41
|
|
|
@@ -82,6 +86,8 @@ export class BridgeModuleResolver extends CompositeModuleResolver implements Mod
|
|
|
82
86
|
override async resolve(filter?: ModuleFilter): Promise<ModuleInstance[]>
|
|
83
87
|
override async resolve(nameOrAddress: string): Promise<ModuleInstance | undefined>
|
|
84
88
|
override async resolve(nameOrAddressOrFilter?: ModuleFilter | string): Promise<ModuleInstance | ModuleInstance[] | undefined> {
|
|
89
|
+
await this.primed
|
|
90
|
+
await this.resolveRemoteModules()
|
|
85
91
|
if (typeof nameOrAddressOrFilter === 'string') {
|
|
86
92
|
const result: ModuleInstance | undefined =
|
|
87
93
|
(await this.resolveByAddress(nameOrAddressOrFilter)) ?? (await this.resolveByName(nameOrAddressOrFilter))
|
|
@@ -107,18 +113,18 @@ export class BridgeModuleResolver extends CompositeModuleResolver implements Mod
|
|
|
107
113
|
this.resolvedModules[targetAddress] =
|
|
108
114
|
this.resolvedModules[targetAddress] ??
|
|
109
115
|
(async (address: string) => {
|
|
116
|
+
//discover it to set the config in the bridge
|
|
117
|
+
await this.bridge.targetDiscover(address)
|
|
118
|
+
|
|
110
119
|
const mod: Module = new ProxyModule({ address, bridge: this.bridge, config: { schema: ProxyModuleConfigSchema } } as ProxyModuleParams)
|
|
111
120
|
|
|
112
121
|
try {
|
|
113
|
-
//discover it to set the config in the bridge
|
|
114
|
-
await this.bridge.targetDiscover(address)
|
|
115
|
-
|
|
116
122
|
if (isArchivistModule(mod)) {
|
|
117
|
-
return
|
|
123
|
+
return ArchivistWrapper.wrap(mod, this.wrapperAccount)
|
|
118
124
|
}
|
|
119
125
|
|
|
120
126
|
if (isDivinerModule(mod)) {
|
|
121
|
-
return
|
|
127
|
+
return DivinerWrapper.wrap(mod, this.wrapperAccount)
|
|
122
128
|
}
|
|
123
129
|
|
|
124
130
|
if (isWitnessModule(mod)) {
|
|
@@ -145,7 +151,8 @@ export class BridgeModuleResolver extends CompositeModuleResolver implements Mod
|
|
|
145
151
|
}
|
|
146
152
|
|
|
147
153
|
private async resolveByName(name: string): Promise<ModuleInstance | undefined> {
|
|
148
|
-
|
|
154
|
+
const modules = await this.currentResolvedModules()
|
|
155
|
+
return Object.values(modules)
|
|
149
156
|
.filter((module) => module.config.name === name)
|
|
150
157
|
.pop()
|
|
151
158
|
}
|