@xyo-network/module-abstract 2.65.4 → 2.65.6
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/AbstractIndirectModule.js +87 -34
- package/dist/cjs/AbstractIndirectModule.js.map +1 -1
- package/dist/docs.json +4020 -3387
- package/dist/esm/AbstractIndirectModule.js +80 -33
- package/dist/esm/AbstractIndirectModule.js.map +1 -1
- package/dist/types/AbstractIndirectModule.d.ts +10 -7
- package/dist/types/AbstractIndirectModule.d.ts.map +1 -1
- package/package.json +20 -20
- package/src/AbstractIndirectModule.ts +87 -35
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable max-lines */
|
|
1
2
|
import { assertEx } from '@xylabs/assert';
|
|
2
3
|
import { exists } from '@xylabs/exists';
|
|
3
4
|
import { HDWallet } from '@xyo-network/account';
|
|
@@ -5,9 +6,9 @@ import { AddressSchema } from '@xyo-network/address-payload-plugin';
|
|
|
5
6
|
import { IndirectArchivistWrapper } from '@xyo-network/archivist-wrapper';
|
|
6
7
|
import { BoundWitnessBuilder, QueryBoundWitnessBuilder, QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-builder';
|
|
7
8
|
import { ConfigSchema } from '@xyo-network/config-payload-plugin';
|
|
8
|
-
import { handleErrorAsync } from '@xyo-network/error';
|
|
9
|
+
import { handleError, handleErrorAsync } from '@xyo-network/error';
|
|
9
10
|
import { ModuleManifestPayloadSchema } from '@xyo-network/manifest-model';
|
|
10
|
-
import { AddressPreviousHashSchema, duplicateModules, ModuleAddressQuerySchema, ModuleDescribeQuerySchema, ModuleDescriptionSchema, ModuleDiscoverQuerySchema, ModuleFactory, ModuleSubscribeQuerySchema, serializableField, } from '@xyo-network/module-model';
|
|
11
|
+
import { AddressPreviousHashSchema, duplicateModules, ModuleAddressQuerySchema, ModuleDescribeQuerySchema, ModuleDescriptionSchema, ModuleDiscoverQuerySchema, ModuleFactory, ModuleManifestQuerySchema, ModuleSubscribeQuerySchema, serializableField, } from '@xyo-network/module-model';
|
|
11
12
|
import { PayloadBuilder } from '@xyo-network/payload-builder';
|
|
12
13
|
import { PromiseEx } from '@xyo-network/promise';
|
|
13
14
|
import { QuerySchema } from '@xyo-network/query-payload-plugin';
|
|
@@ -29,15 +30,18 @@ export class AbstractIndirectModule extends BaseEmitter {
|
|
|
29
30
|
[ModuleAddressQuerySchema]: '1',
|
|
30
31
|
[ModuleDescribeQuerySchema]: '4',
|
|
31
32
|
[ModuleDiscoverQuerySchema]: '2',
|
|
33
|
+
[ModuleManifestQuerySchema]: '5',
|
|
32
34
|
[ModuleSubscribeQuerySchema]: '3',
|
|
33
35
|
};
|
|
34
36
|
_queryAccounts = {
|
|
35
37
|
[ModuleAddressQuerySchema]: undefined,
|
|
36
38
|
[ModuleDescribeQuerySchema]: undefined,
|
|
37
39
|
[ModuleDiscoverQuerySchema]: undefined,
|
|
40
|
+
[ModuleManifestQuerySchema]: undefined,
|
|
38
41
|
[ModuleSubscribeQuerySchema]: undefined,
|
|
39
42
|
};
|
|
40
|
-
_started =
|
|
43
|
+
_started = undefined;
|
|
44
|
+
_starting = undefined;
|
|
41
45
|
moduleConfigQueryValidator;
|
|
42
46
|
supportedQueryValidator;
|
|
43
47
|
_busyCount = 0;
|
|
@@ -139,7 +143,7 @@ export class AbstractIndirectModule extends BaseEmitter {
|
|
|
139
143
|
}
|
|
140
144
|
async query(query, payloads, queryConfig) {
|
|
141
145
|
return await this.busy(async () => {
|
|
142
|
-
this.started('throw');
|
|
146
|
+
await this.started('throw');
|
|
143
147
|
const result = await this.queryHandler(assertEx(QueryBoundWitnessWrapper.unwrap(query)), payloads, queryConfig);
|
|
144
148
|
const args = { module: this, payloads, query, result };
|
|
145
149
|
await this.emit('moduleQueried', args);
|
|
@@ -155,41 +159,74 @@ export class AbstractIndirectModule extends BaseEmitter {
|
|
|
155
159
|
const validators = [this.supportedQueryValidator, configValidator];
|
|
156
160
|
return validators.every((validator) => validator(query, payloads));
|
|
157
161
|
}
|
|
158
|
-
async resolve(nameOrAddressOrFilter) {
|
|
162
|
+
async resolve(nameOrAddressOrFilter, options) {
|
|
163
|
+
const direction = options?.direction ?? 'all';
|
|
164
|
+
const up = direction === 'up' || direction === 'all';
|
|
165
|
+
const down = direction === 'down' || direction === 'all';
|
|
159
166
|
switch (typeof nameOrAddressOrFilter) {
|
|
160
167
|
case 'string': {
|
|
161
|
-
return (await this.downResolver.resolve(nameOrAddressOrFilter)) ??
|
|
168
|
+
return ((down ? await this.downResolver.resolve(nameOrAddressOrFilter) : undefined) ??
|
|
169
|
+
(up ? await this.upResolver.resolve(nameOrAddressOrFilter) : undefined));
|
|
162
170
|
}
|
|
163
171
|
default: {
|
|
164
172
|
const filter = nameOrAddressOrFilter;
|
|
165
|
-
return [
|
|
173
|
+
return [
|
|
174
|
+
...(down ? await this.downResolver.resolve(filter) : []),
|
|
175
|
+
...(up ? await this.upResolver.resolve(filter) : []),
|
|
176
|
+
].filter(duplicateModules);
|
|
166
177
|
}
|
|
167
178
|
}
|
|
168
179
|
}
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
this.
|
|
180
|
+
start(_timeout) {
|
|
181
|
+
//using promise as mutex
|
|
182
|
+
this._starting = this._starting ?? this.startHandler();
|
|
183
|
+
return this._starting;
|
|
173
184
|
}
|
|
174
|
-
started(notStartedAction) {
|
|
185
|
+
async started(notStartedAction = 'log', tryStart = true) {
|
|
186
|
+
if (this._started === true) {
|
|
187
|
+
return true;
|
|
188
|
+
}
|
|
175
189
|
if (!this._started) {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
190
|
+
//using promise as mutex
|
|
191
|
+
this._started = (async () => {
|
|
192
|
+
if (tryStart) {
|
|
193
|
+
try {
|
|
194
|
+
await this.start();
|
|
195
|
+
return true;
|
|
196
|
+
}
|
|
197
|
+
catch (ex) {
|
|
198
|
+
handleError(ex, (error) => {
|
|
199
|
+
this.logger?.warn(`Autostart of Module Failed: ${error.message})`);
|
|
200
|
+
this._started = undefined;
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
switch (notStartedAction) {
|
|
205
|
+
case 'throw':
|
|
206
|
+
throw Error(`Module not Started [${this.address}]`);
|
|
207
|
+
case 'warn':
|
|
208
|
+
this.logger?.warn('Module not started');
|
|
209
|
+
break;
|
|
210
|
+
case 'error':
|
|
211
|
+
this.logger?.error('Module not started');
|
|
212
|
+
break;
|
|
213
|
+
case 'none':
|
|
214
|
+
break;
|
|
215
|
+
case 'log':
|
|
216
|
+
default: {
|
|
217
|
+
this.logger?.log('Module not started');
|
|
218
|
+
break;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
return false;
|
|
222
|
+
})();
|
|
191
223
|
}
|
|
192
|
-
return this._started;
|
|
224
|
+
return await this._started;
|
|
225
|
+
}
|
|
226
|
+
async stop(_timeout) {
|
|
227
|
+
return await this.busy(async () => {
|
|
228
|
+
return await this.stopHandler();
|
|
229
|
+
});
|
|
193
230
|
}
|
|
194
231
|
bindHashes(hashes, schema, account) {
|
|
195
232
|
const promise = new PromiseEx((resolve) => {
|
|
@@ -275,7 +312,7 @@ export class AbstractIndirectModule extends BaseEmitter {
|
|
|
275
312
|
}
|
|
276
313
|
}
|
|
277
314
|
manifestHandler() {
|
|
278
|
-
const name =
|
|
315
|
+
const name = this.config.name ?? 'Anonymous';
|
|
279
316
|
return { config: { name, ...this.config }, schema: ModuleManifestPayloadSchema };
|
|
280
317
|
}
|
|
281
318
|
moduleAddressHandler() {
|
|
@@ -302,7 +339,7 @@ export class AbstractIndirectModule extends BaseEmitter {
|
|
|
302
339
|
return [moduleAccount, moduleAccountPreviousHash, ...queryAccounts].flat();
|
|
303
340
|
}
|
|
304
341
|
async queryHandler(query, payloads, queryConfig) {
|
|
305
|
-
this.started('throw');
|
|
342
|
+
await this.started('throw');
|
|
306
343
|
const wrapper = QueryBoundWitnessWrapper.parseQuery(query, payloads);
|
|
307
344
|
if (!this.allowAnonymous) {
|
|
308
345
|
if (query.addresses.length === 0) {
|
|
@@ -316,6 +353,10 @@ export class AbstractIndirectModule extends BaseEmitter {
|
|
|
316
353
|
const queryAccount = this.ephemeralQueryAccountEnabled ? await HDWallet.random() : undefined;
|
|
317
354
|
try {
|
|
318
355
|
switch (queryPayload.schema) {
|
|
356
|
+
case ModuleManifestQuerySchema: {
|
|
357
|
+
resultPayloads.push(await this.manifestHandler());
|
|
358
|
+
break;
|
|
359
|
+
}
|
|
319
360
|
case ModuleDiscoverQuerySchema: {
|
|
320
361
|
resultPayloads.push(...(await this.discoverHandler()));
|
|
321
362
|
break;
|
|
@@ -349,9 +390,15 @@ export class AbstractIndirectModule extends BaseEmitter {
|
|
|
349
390
|
return (await this.bindQueryResult(queryPayload, resultPayloads, queryAccount ? [queryAccount] : [], errorPayloads))[0];
|
|
350
391
|
}
|
|
351
392
|
readArchivist = () => this.getArchivist('read');
|
|
352
|
-
|
|
353
|
-
this.
|
|
354
|
-
|
|
393
|
+
async startHandler() {
|
|
394
|
+
this.validateConfig();
|
|
395
|
+
await this.initializeQueryAccounts();
|
|
396
|
+
this._started = true;
|
|
397
|
+
return true;
|
|
398
|
+
}
|
|
399
|
+
stopHandler(_timeout) {
|
|
400
|
+
this._started = undefined;
|
|
401
|
+
return true;
|
|
355
402
|
}
|
|
356
403
|
subscribeHandler(_queryAccount) {
|
|
357
404
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractIndirectModule.js","sourceRoot":"","sources":["../../src/AbstractIndirectModule.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AbstractIndirectModule.js","sourceRoot":"","sources":["../../src/AbstractIndirectModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { ArchivistInstance } from '@xyo-network/archivist-model';
|
|
|
3
3
|
import { QueryBoundWitness } from '@xyo-network/boundwitness-builder';
|
|
4
4
|
import { BoundWitness } from '@xyo-network/boundwitness-model';
|
|
5
5
|
import { ModuleManifestPayload } from '@xyo-network/manifest-model';
|
|
6
|
-
import { AddressPreviousHashPayload, CreatableModule, CreatableModuleFactory, IndirectModule, ModuleConfig, ModuleDescriptionPayload, ModuleEventData, ModuleFilter, ModuleParams, ModuleQueryBase, ModuleQueryResult, SchemaString } from '@xyo-network/module-model';
|
|
6
|
+
import { AddressPreviousHashPayload, CreatableModule, CreatableModuleFactory, IndirectModule, ModuleConfig, ModuleDescriptionPayload, ModuleEventData, ModuleFilter, ModuleFilterOptions, ModuleParams, ModuleQueryBase, ModuleQueryResult, SchemaString } from '@xyo-network/module-model';
|
|
7
7
|
import { ModuleError, Payload, Query } from '@xyo-network/payload-model';
|
|
8
8
|
import { PayloadWrapper } from '@xyo-network/payload-wrapper';
|
|
9
9
|
import { Promisable, PromiseEx } from '@xyo-network/promise';
|
|
@@ -20,7 +20,8 @@ export declare abstract class AbstractIndirectModule<TParams extends ModuleParam
|
|
|
20
20
|
protected _account: AccountInstance | undefined;
|
|
21
21
|
protected readonly _baseModuleQueryAccountPaths: Record<ModuleQueryBase['schema'], string>;
|
|
22
22
|
protected readonly _queryAccounts: Record<ModuleQueryBase['schema'], AccountInstance | undefined>;
|
|
23
|
-
protected _started: boolean;
|
|
23
|
+
protected _started: Promise<boolean> | true | undefined;
|
|
24
|
+
protected _starting: Promise<boolean> | true | undefined;
|
|
24
25
|
protected readonly moduleConfigQueryValidator: Queryable;
|
|
25
26
|
protected readonly supportedQueryValidator: Queryable;
|
|
26
27
|
private _busyCount;
|
|
@@ -42,10 +43,11 @@ export declare abstract class AbstractIndirectModule<TParams extends ModuleParam
|
|
|
42
43
|
previousHash(): Promisable<string | undefined>;
|
|
43
44
|
query<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryResult>;
|
|
44
45
|
queryable<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): boolean;
|
|
45
|
-
resolve<TModule extends IndirectModule = IndirectModule>(filter?: ModuleFilter): Promise<TModule[]>;
|
|
46
|
-
resolve<TModule extends IndirectModule = IndirectModule>(nameOrAddress: string): Promise<TModule | undefined>;
|
|
47
|
-
start(_timeout?: number): Promise<
|
|
48
|
-
started(notStartedAction?: 'error' | 'throw' | 'warn' | 'log' | 'none'): boolean
|
|
46
|
+
resolve<TModule extends IndirectModule = IndirectModule>(filter?: ModuleFilter, options?: ModuleFilterOptions): Promise<TModule[]>;
|
|
47
|
+
resolve<TModule extends IndirectModule = IndirectModule>(nameOrAddress: string, options?: ModuleFilterOptions): Promise<TModule | undefined>;
|
|
48
|
+
start(_timeout?: number): Promise<boolean> | boolean;
|
|
49
|
+
started(notStartedAction?: 'error' | 'throw' | 'warn' | 'log' | 'none', tryStart?: boolean): Promise<boolean>;
|
|
50
|
+
stop(_timeout?: number): Promise<boolean>;
|
|
49
51
|
protected bindHashes(hashes: string[], schema: SchemaString[], account?: AccountInstance): PromiseEx<unknown, AccountInstance>;
|
|
50
52
|
protected bindHashesInternal(hashes: string[], schema: SchemaString[], account?: AccountInstance): Promise<BoundWitness>;
|
|
51
53
|
protected bindQuery<T extends Query | PayloadWrapper<Query>>(query: T, payloads?: Payload[], account?: AccountInstance): PromiseEx<[QueryBoundWitness, Payload[], Payload[]], AccountInstance>;
|
|
@@ -59,7 +61,8 @@ export declare abstract class AbstractIndirectModule<TParams extends ModuleParam
|
|
|
59
61
|
protected moduleAddressHandler(): Promisable<AddressPreviousHashPayload[]>;
|
|
60
62
|
protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryResult>;
|
|
61
63
|
protected readArchivist: () => Promise<ArchivistInstance | undefined>;
|
|
62
|
-
protected
|
|
64
|
+
protected startHandler(): Promise<boolean>;
|
|
65
|
+
protected stopHandler(_timeout?: number): Promisable<boolean>;
|
|
63
66
|
protected subscribeHandler(_queryAccount?: AccountInstance): void;
|
|
64
67
|
protected validateConfig(config?: unknown, parents?: string[]): boolean;
|
|
65
68
|
protected writeArchivist: () => Promise<ArchivistInstance | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractIndirectModule.d.ts","sourceRoot":"","sources":["../../src/AbstractIndirectModule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AbstractIndirectModule.d.ts","sourceRoot":"","sources":["../../src/AbstractIndirectModule.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -12,25 +12,25 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/assert": "^2.9.3",
|
|
14
14
|
"@xylabs/exists": "^2.9.3",
|
|
15
|
-
"@xyo-network/account": "^2.65.
|
|
16
|
-
"@xyo-network/account-model": "^2.65.
|
|
17
|
-
"@xyo-network/address-payload-plugin": "^2.65.
|
|
18
|
-
"@xyo-network/archivist-model": "^2.65.
|
|
19
|
-
"@xyo-network/archivist-wrapper": "^2.65.
|
|
20
|
-
"@xyo-network/boundwitness-builder": "^2.65.
|
|
21
|
-
"@xyo-network/boundwitness-model": "^2.65.
|
|
22
|
-
"@xyo-network/config-payload-plugin": "^2.65.
|
|
23
|
-
"@xyo-network/core": "^2.65.
|
|
24
|
-
"@xyo-network/error": "^2.65.
|
|
25
|
-
"@xyo-network/manifest-model": "^2.65.
|
|
26
|
-
"@xyo-network/module-events": "^2.65.
|
|
27
|
-
"@xyo-network/module-model": "^2.65.
|
|
28
|
-
"@xyo-network/payload-builder": "^2.65.
|
|
29
|
-
"@xyo-network/payload-model": "^2.65.
|
|
30
|
-
"@xyo-network/payload-wrapper": "^2.65.
|
|
31
|
-
"@xyo-network/promise": "^2.65.
|
|
32
|
-
"@xyo-network/query-payload-plugin": "^2.65.
|
|
33
|
-
"@xyo-network/shared": "^2.65.
|
|
15
|
+
"@xyo-network/account": "^2.65.6",
|
|
16
|
+
"@xyo-network/account-model": "^2.65.6",
|
|
17
|
+
"@xyo-network/address-payload-plugin": "^2.65.6",
|
|
18
|
+
"@xyo-network/archivist-model": "^2.65.6",
|
|
19
|
+
"@xyo-network/archivist-wrapper": "^2.65.6",
|
|
20
|
+
"@xyo-network/boundwitness-builder": "^2.65.6",
|
|
21
|
+
"@xyo-network/boundwitness-model": "^2.65.6",
|
|
22
|
+
"@xyo-network/config-payload-plugin": "^2.65.6",
|
|
23
|
+
"@xyo-network/core": "^2.65.6",
|
|
24
|
+
"@xyo-network/error": "^2.65.6",
|
|
25
|
+
"@xyo-network/manifest-model": "^2.65.6",
|
|
26
|
+
"@xyo-network/module-events": "^2.65.6",
|
|
27
|
+
"@xyo-network/module-model": "^2.65.6",
|
|
28
|
+
"@xyo-network/payload-builder": "^2.65.6",
|
|
29
|
+
"@xyo-network/payload-model": "^2.65.6",
|
|
30
|
+
"@xyo-network/payload-wrapper": "^2.65.6",
|
|
31
|
+
"@xyo-network/promise": "^2.65.6",
|
|
32
|
+
"@xyo-network/query-payload-plugin": "^2.65.6",
|
|
33
|
+
"@xyo-network/shared": "^2.65.6",
|
|
34
34
|
"lodash": "^4.17.21"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
@@ -73,5 +73,5 @@
|
|
|
73
73
|
},
|
|
74
74
|
"sideEffects": false,
|
|
75
75
|
"types": "dist/types/index.d.ts",
|
|
76
|
-
"version": "2.65.
|
|
76
|
+
"version": "2.65.6"
|
|
77
77
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable max-lines */
|
|
1
2
|
import { assertEx } from '@xylabs/assert'
|
|
2
3
|
import { exists } from '@xylabs/exists'
|
|
3
4
|
import { HDWallet } from '@xyo-network/account'
|
|
@@ -8,7 +9,7 @@ import { IndirectArchivistWrapper } from '@xyo-network/archivist-wrapper'
|
|
|
8
9
|
import { BoundWitnessBuilder, QueryBoundWitness, QueryBoundWitnessBuilder, QueryBoundWitnessWrapper } from '@xyo-network/boundwitness-builder'
|
|
9
10
|
import { BoundWitness } from '@xyo-network/boundwitness-model'
|
|
10
11
|
import { ConfigPayload, ConfigSchema } from '@xyo-network/config-payload-plugin'
|
|
11
|
-
import { handleErrorAsync } from '@xyo-network/error'
|
|
12
|
+
import { handleError, handleErrorAsync } from '@xyo-network/error'
|
|
12
13
|
import { ModuleManifestPayload, ModuleManifestPayloadSchema } from '@xyo-network/manifest-model'
|
|
13
14
|
import {
|
|
14
15
|
AccountModuleParams,
|
|
@@ -29,6 +30,8 @@ import {
|
|
|
29
30
|
ModuleEventData,
|
|
30
31
|
ModuleFactory,
|
|
31
32
|
ModuleFilter,
|
|
33
|
+
ModuleFilterOptions,
|
|
34
|
+
ModuleManifestQuerySchema,
|
|
32
35
|
ModuleParams,
|
|
33
36
|
ModuleQueriedEventArgs,
|
|
34
37
|
ModuleQuery,
|
|
@@ -44,7 +47,7 @@ import { ModuleError, Payload, Query } from '@xyo-network/payload-model'
|
|
|
44
47
|
import { PayloadWrapper } from '@xyo-network/payload-wrapper'
|
|
45
48
|
import { Promisable, PromiseEx } from '@xyo-network/promise'
|
|
46
49
|
import { QueryPayload, QuerySchema } from '@xyo-network/query-payload-plugin'
|
|
47
|
-
import { IdLogger } from '@xyo-network/shared'
|
|
50
|
+
import { getFunctionName, IdLogger } from '@xyo-network/shared'
|
|
48
51
|
import compact from 'lodash/compact'
|
|
49
52
|
|
|
50
53
|
import { BaseEmitter } from './BaseEmitter'
|
|
@@ -53,7 +56,6 @@ import { ModuleConfigQueryValidator, Queryable, SupportedQueryValidator } from '
|
|
|
53
56
|
import { CompositeModuleResolver } from './Resolver'
|
|
54
57
|
|
|
55
58
|
/** @description Abstract class for modules that allow access only through querying and not through direct calls */
|
|
56
|
-
|
|
57
59
|
export abstract class AbstractIndirectModule<TParams extends ModuleParams = ModuleParams, TEventData extends ModuleEventData = ModuleEventData>
|
|
58
60
|
extends BaseEmitter<TParams, TEventData>
|
|
59
61
|
implements IndirectModule<TParams, TEventData>, IndirectModule
|
|
@@ -71,15 +73,18 @@ export abstract class AbstractIndirectModule<TParams extends ModuleParams = Modu
|
|
|
71
73
|
[ModuleAddressQuerySchema]: '1',
|
|
72
74
|
[ModuleDescribeQuerySchema]: '4',
|
|
73
75
|
[ModuleDiscoverQuerySchema]: '2',
|
|
76
|
+
[ModuleManifestQuerySchema]: '5',
|
|
74
77
|
[ModuleSubscribeQuerySchema]: '3',
|
|
75
78
|
}
|
|
76
79
|
protected readonly _queryAccounts: Record<ModuleQueryBase['schema'], AccountInstance | undefined> = {
|
|
77
80
|
[ModuleAddressQuerySchema]: undefined,
|
|
78
81
|
[ModuleDescribeQuerySchema]: undefined,
|
|
79
82
|
[ModuleDiscoverQuerySchema]: undefined,
|
|
83
|
+
[ModuleManifestQuerySchema]: undefined,
|
|
80
84
|
[ModuleSubscribeQuerySchema]: undefined,
|
|
81
85
|
}
|
|
82
|
-
protected _started =
|
|
86
|
+
protected _started: Promise<boolean> | true | undefined = undefined
|
|
87
|
+
protected _starting: Promise<boolean> | true | undefined = undefined
|
|
83
88
|
protected readonly moduleConfigQueryValidator: Queryable
|
|
84
89
|
protected readonly supportedQueryValidator: Queryable
|
|
85
90
|
|
|
@@ -206,7 +211,7 @@ export abstract class AbstractIndirectModule<TParams extends ModuleParams = Modu
|
|
|
206
211
|
queryConfig?: TConfig,
|
|
207
212
|
): Promise<ModuleQueryResult> {
|
|
208
213
|
return await this.busy(async () => {
|
|
209
|
-
this.started('throw')
|
|
214
|
+
await this.started('throw')
|
|
210
215
|
const result = await this.queryHandler(assertEx(QueryBoundWitnessWrapper.unwrap(query)), payloads, queryConfig)
|
|
211
216
|
|
|
212
217
|
const args: ModuleQueriedEventArgs = { module: this, payloads, query, result }
|
|
@@ -230,47 +235,83 @@ export abstract class AbstractIndirectModule<TParams extends ModuleParams = Modu
|
|
|
230
235
|
return validators.every((validator) => validator(query, payloads))
|
|
231
236
|
}
|
|
232
237
|
|
|
233
|
-
async resolve<TModule extends IndirectModule = IndirectModule>(filter?: ModuleFilter): Promise<TModule[]>
|
|
234
|
-
async resolve<TModule extends IndirectModule = IndirectModule>(nameOrAddress: string): Promise<TModule | undefined>
|
|
238
|
+
async resolve<TModule extends IndirectModule = IndirectModule>(filter?: ModuleFilter, options?: ModuleFilterOptions): Promise<TModule[]>
|
|
239
|
+
async resolve<TModule extends IndirectModule = IndirectModule>(nameOrAddress: string, options?: ModuleFilterOptions): Promise<TModule | undefined>
|
|
235
240
|
async resolve<TModule extends IndirectModule = IndirectModule>(
|
|
236
241
|
nameOrAddressOrFilter?: ModuleFilter | string,
|
|
242
|
+
options?: ModuleFilterOptions,
|
|
237
243
|
): Promise<TModule | TModule[] | undefined> {
|
|
244
|
+
const direction = options?.direction ?? 'all'
|
|
245
|
+
const up = direction === 'up' || direction === 'all'
|
|
246
|
+
const down = direction === 'down' || direction === 'all'
|
|
238
247
|
switch (typeof nameOrAddressOrFilter) {
|
|
239
248
|
case 'string': {
|
|
240
|
-
return (
|
|
249
|
+
return (
|
|
250
|
+
(down ? await this.downResolver.resolve<TModule>(nameOrAddressOrFilter) : undefined) ??
|
|
251
|
+
(up ? await this.upResolver.resolve<TModule>(nameOrAddressOrFilter) : undefined)
|
|
252
|
+
)
|
|
241
253
|
}
|
|
242
254
|
default: {
|
|
243
255
|
const filter: ModuleFilter | undefined = nameOrAddressOrFilter
|
|
244
|
-
return [
|
|
256
|
+
return [
|
|
257
|
+
...(down ? await this.downResolver.resolve<TModule>(filter) : []),
|
|
258
|
+
...(up ? await this.upResolver.resolve<TModule>(filter) : []),
|
|
259
|
+
].filter(duplicateModules)
|
|
245
260
|
}
|
|
246
261
|
}
|
|
247
262
|
}
|
|
248
263
|
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
this.
|
|
264
|
+
start(_timeout?: number): Promise<boolean> | boolean {
|
|
265
|
+
//using promise as mutex
|
|
266
|
+
this._starting = this._starting ?? this.startHandler()
|
|
267
|
+
return this._starting
|
|
253
268
|
}
|
|
254
269
|
|
|
255
|
-
started(notStartedAction
|
|
270
|
+
async started(notStartedAction: 'error' | 'throw' | 'warn' | 'log' | 'none' = 'log', tryStart = true): Promise<boolean> {
|
|
271
|
+
if (this._started === true) {
|
|
272
|
+
return true
|
|
273
|
+
}
|
|
256
274
|
if (!this._started) {
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
275
|
+
//using promise as mutex
|
|
276
|
+
this._started = (async () => {
|
|
277
|
+
if (tryStart) {
|
|
278
|
+
try {
|
|
279
|
+
await this.start()
|
|
280
|
+
return true
|
|
281
|
+
} catch (ex) {
|
|
282
|
+
handleError(ex, (error) => {
|
|
283
|
+
this.logger?.warn(`Autostart of Module Failed: ${error.message})`)
|
|
284
|
+
this._started = undefined
|
|
285
|
+
})
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
switch (notStartedAction) {
|
|
289
|
+
case 'throw':
|
|
290
|
+
throw Error(`Module not Started [${this.address}]`)
|
|
291
|
+
case 'warn':
|
|
292
|
+
this.logger?.warn('Module not started')
|
|
293
|
+
break
|
|
294
|
+
case 'error':
|
|
295
|
+
this.logger?.error('Module not started')
|
|
296
|
+
break
|
|
297
|
+
case 'none':
|
|
298
|
+
break
|
|
299
|
+
case 'log':
|
|
300
|
+
default: {
|
|
301
|
+
this.logger?.log('Module not started')
|
|
302
|
+
break
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
return false
|
|
306
|
+
})()
|
|
272
307
|
}
|
|
273
|
-
return this._started
|
|
308
|
+
return await this._started
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
async stop(_timeout?: number): Promise<boolean> {
|
|
312
|
+
return await this.busy(async () => {
|
|
313
|
+
return await this.stopHandler()
|
|
314
|
+
})
|
|
274
315
|
}
|
|
275
316
|
|
|
276
317
|
protected bindHashes(hashes: string[], schema: SchemaString[], account?: AccountInstance) {
|
|
@@ -384,7 +425,7 @@ export abstract class AbstractIndirectModule<TParams extends ModuleParams = Modu
|
|
|
384
425
|
}
|
|
385
426
|
|
|
386
427
|
protected manifestHandler(): Promisable<ModuleManifestPayload> {
|
|
387
|
-
const name =
|
|
428
|
+
const name = this.config.name ?? 'Anonymous'
|
|
388
429
|
return { config: { name, ...this.config }, schema: ModuleManifestPayloadSchema }
|
|
389
430
|
}
|
|
390
431
|
|
|
@@ -417,7 +458,7 @@ export abstract class AbstractIndirectModule<TParams extends ModuleParams = Modu
|
|
|
417
458
|
payloads?: Payload[],
|
|
418
459
|
queryConfig?: TConfig,
|
|
419
460
|
): Promise<ModuleQueryResult> {
|
|
420
|
-
this.started('throw')
|
|
461
|
+
await this.started('throw')
|
|
421
462
|
const wrapper = QueryBoundWitnessWrapper.parseQuery<ModuleQuery>(query, payloads)
|
|
422
463
|
if (!this.allowAnonymous) {
|
|
423
464
|
if (query.addresses.length === 0) {
|
|
@@ -431,6 +472,10 @@ export abstract class AbstractIndirectModule<TParams extends ModuleParams = Modu
|
|
|
431
472
|
const queryAccount = this.ephemeralQueryAccountEnabled ? await HDWallet.random() : undefined
|
|
432
473
|
try {
|
|
433
474
|
switch (queryPayload.schema) {
|
|
475
|
+
case ModuleManifestQuerySchema: {
|
|
476
|
+
resultPayloads.push(await this.manifestHandler())
|
|
477
|
+
break
|
|
478
|
+
}
|
|
434
479
|
case ModuleDiscoverQuerySchema: {
|
|
435
480
|
resultPayloads.push(...(await this.discoverHandler()))
|
|
436
481
|
break
|
|
@@ -467,9 +512,16 @@ export abstract class AbstractIndirectModule<TParams extends ModuleParams = Modu
|
|
|
467
512
|
|
|
468
513
|
protected readArchivist = () => this.getArchivist('read')
|
|
469
514
|
|
|
470
|
-
protected
|
|
471
|
-
this.
|
|
472
|
-
|
|
515
|
+
protected async startHandler(): Promise<boolean> {
|
|
516
|
+
this.validateConfig()
|
|
517
|
+
await this.initializeQueryAccounts()
|
|
518
|
+
this._started = true
|
|
519
|
+
return true
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
protected stopHandler(_timeout?: number): Promisable<boolean> {
|
|
523
|
+
this._started = undefined
|
|
524
|
+
return true
|
|
473
525
|
}
|
|
474
526
|
|
|
475
527
|
protected subscribeHandler(_queryAccount?: AccountInstance) {
|