@xyo-network/module-abstract 2.72.8 → 2.73.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/{types/AbstractModule.d.ts → index.d.mts} +87 -8
  2. package/dist/index.d.ts +163 -0
  3. package/dist/index.js +8521 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/index.mjs +8490 -0
  6. package/dist/index.mjs.map +1 -0
  7. package/package.json +49 -35
  8. package/src/AbstractModule.ts +1 -1
  9. package/tsup.config.ts +16 -0
  10. package/dist/cjs/AbstractModule.js +0 -542
  11. package/dist/cjs/AbstractModule.js.map +0 -1
  12. package/dist/cjs/AbstractModuleInstance.js +0 -41
  13. package/dist/cjs/AbstractModuleInstance.js.map +0 -1
  14. package/dist/cjs/BaseEmitter.js +0 -42
  15. package/dist/cjs/BaseEmitter.js.map +0 -1
  16. package/dist/cjs/Error.js +0 -37
  17. package/dist/cjs/Error.js.map +0 -1
  18. package/dist/cjs/QueryValidator/ModuleConfigQueryValidator.js +0 -66
  19. package/dist/cjs/QueryValidator/ModuleConfigQueryValidator.js.map +0 -1
  20. package/dist/cjs/QueryValidator/QueryValidator.js +0 -3
  21. package/dist/cjs/QueryValidator/QueryValidator.js.map +0 -1
  22. package/dist/cjs/QueryValidator/SupportedQueryValidator.js +0 -21
  23. package/dist/cjs/QueryValidator/SupportedQueryValidator.js.map +0 -1
  24. package/dist/cjs/QueryValidator/index.js +0 -7
  25. package/dist/cjs/QueryValidator/index.js.map +0 -1
  26. package/dist/cjs/index.js +0 -9
  27. package/dist/cjs/index.js.map +0 -1
  28. package/dist/docs.json +0 -41338
  29. package/dist/esm/AbstractModule.js +0 -495
  30. package/dist/esm/AbstractModule.js.map +0 -1
  31. package/dist/esm/AbstractModuleInstance.js +0 -36
  32. package/dist/esm/AbstractModuleInstance.js.map +0 -1
  33. package/dist/esm/BaseEmitter.js +0 -39
  34. package/dist/esm/BaseEmitter.js.map +0 -1
  35. package/dist/esm/Error.js +0 -37
  36. package/dist/esm/Error.js.map +0 -1
  37. package/dist/esm/QueryValidator/ModuleConfigQueryValidator.js +0 -62
  38. package/dist/esm/QueryValidator/ModuleConfigQueryValidator.js.map +0 -1
  39. package/dist/esm/QueryValidator/QueryValidator.js +0 -2
  40. package/dist/esm/QueryValidator/QueryValidator.js.map +0 -1
  41. package/dist/esm/QueryValidator/SupportedQueryValidator.js +0 -16
  42. package/dist/esm/QueryValidator/SupportedQueryValidator.js.map +0 -1
  43. package/dist/esm/QueryValidator/index.js +0 -4
  44. package/dist/esm/QueryValidator/index.js.map +0 -1
  45. package/dist/esm/index.js +0 -6
  46. package/dist/esm/index.js.map +0 -1
  47. package/dist/types/AbstractModule.d.ts.map +0 -1
  48. package/dist/types/AbstractModuleInstance.d.ts +0 -14
  49. package/dist/types/AbstractModuleInstance.d.ts.map +0 -1
  50. package/dist/types/BaseEmitter.d.ts +0 -17
  51. package/dist/types/BaseEmitter.d.ts.map +0 -1
  52. package/dist/types/Error.d.ts +0 -15
  53. package/dist/types/Error.d.ts.map +0 -1
  54. package/dist/types/QueryValidator/ModuleConfigQueryValidator.d.ts +0 -15
  55. package/dist/types/QueryValidator/ModuleConfigQueryValidator.d.ts.map +0 -1
  56. package/dist/types/QueryValidator/QueryValidator.d.ts +0 -8
  57. package/dist/types/QueryValidator/QueryValidator.d.ts.map +0 -1
  58. package/dist/types/QueryValidator/SupportedQueryValidator.d.ts +0 -22
  59. package/dist/types/QueryValidator/SupportedQueryValidator.d.ts.map +0 -1
  60. package/dist/types/QueryValidator/index.d.ts +0 -4
  61. package/dist/types/QueryValidator/index.d.ts.map +0 -1
  62. package/dist/types/index.d.ts +0 -6
  63. package/dist/types/index.d.ts.map +0 -1
@@ -1,542 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AbstractModule = void 0;
4
- const tslib_1 = require("tslib");
5
- /* eslint-disable max-lines */
6
- const assert_1 = require("@xylabs/assert");
7
- const exists_1 = require("@xylabs/exists");
8
- const account_1 = require("@xyo-network/account");
9
- const address_payload_plugin_1 = require("@xyo-network/address-payload-plugin");
10
- const archivist_model_1 = require("@xyo-network/archivist-model");
11
- const boundwitness_builder_1 = require("@xyo-network/boundwitness-builder");
12
- const config_payload_plugin_1 = require("@xyo-network/config-payload-plugin");
13
- const core_1 = require("@xyo-network/core");
14
- const error_1 = require("@xyo-network/error");
15
- const manifest_model_1 = require("@xyo-network/manifest-model");
16
- const module_model_1 = require("@xyo-network/module-model");
17
- const module_resolver_1 = require("@xyo-network/module-resolver");
18
- const payload_builder_1 = require("@xyo-network/payload-builder");
19
- const promise_1 = require("@xyo-network/promise");
20
- const query_payload_plugin_1 = require("@xyo-network/query-payload-plugin");
21
- const shared_1 = require("@xyo-network/shared");
22
- const compact_1 = tslib_1.__importDefault(require("lodash/compact"));
23
- const BaseEmitter_1 = require("./BaseEmitter");
24
- const Error_1 = require("./Error");
25
- const QueryValidator_1 = require("./QueryValidator");
26
- class AbstractModule extends BaseEmitter_1.BaseEmitter {
27
- constructor(privateConstructorKey, params, account) {
28
- (0, assert_1.assertEx)(AbstractModule.privateConstructorKey === privateConstructorKey, 'Use create function instead of constructor');
29
- // Clone params to prevent mutation of the incoming object
30
- const mutatedParams = Object.assign({}, params);
31
- super(mutatedParams);
32
- this.downResolver = new module_resolver_1.CompositeModuleResolver();
33
- this.upResolver = new module_resolver_1.CompositeModuleResolver();
34
- this._account = undefined;
35
- this._baseModuleQueryAccountPaths = {
36
- [module_model_1.ModuleAddressQuerySchema]: '1',
37
- [module_model_1.ModuleDescribeQuerySchema]: '4',
38
- [module_model_1.ModuleDiscoverQuerySchema]: '2',
39
- [module_model_1.ModuleManifestQuerySchema]: '5',
40
- [module_model_1.ModuleSubscribeQuerySchema]: '3',
41
- };
42
- this._queryAccounts = {
43
- [module_model_1.ModuleAddressQuerySchema]: undefined,
44
- [module_model_1.ModuleDescribeQuerySchema]: undefined,
45
- [module_model_1.ModuleDiscoverQuerySchema]: undefined,
46
- [module_model_1.ModuleManifestQuerySchema]: undefined,
47
- [module_model_1.ModuleSubscribeQuerySchema]: undefined,
48
- };
49
- this._startPromise = undefined;
50
- this._started = undefined;
51
- this._busyCount = 0;
52
- this.commitArchivist = () => this.getArchivist('commit');
53
- this.readArchivist = () => this.getArchivist('read');
54
- this.writeArchivist = () => this.getArchivist('write');
55
- this._account = account;
56
- this.supportedQueryValidator = new QueryValidator_1.SupportedQueryValidator(this).queryable;
57
- this.moduleConfigQueryValidator = new QueryValidator_1.ModuleConfigQueryValidator(mutatedParams === null || mutatedParams === void 0 ? void 0 : mutatedParams.config).queryable;
58
- }
59
- static get configSchema() {
60
- return this.configSchemas[0];
61
- }
62
- get account() {
63
- return (0, assert_1.assertEx)(this._account, 'Missing account');
64
- }
65
- get address() {
66
- return this.account.address;
67
- }
68
- get allowAnonymous() {
69
- var _a;
70
- return !!((_a = this.config.security) === null || _a === void 0 ? void 0 : _a.allowAnonymous);
71
- }
72
- get config() {
73
- return this.params.config;
74
- }
75
- get ephemeralQueryAccountEnabled() {
76
- return !!this.params.ephemeralQueryAccountEnabled;
77
- }
78
- get queries() {
79
- return [module_model_1.ModuleDiscoverQuerySchema, module_model_1.ModuleAddressQuerySchema, module_model_1.ModuleSubscribeQuerySchema, module_model_1.ModuleDescribeQuerySchema, module_model_1.ModuleManifestQuerySchema];
80
- }
81
- get queryAccountPaths() {
82
- return Object.assign(Object.assign({}, this._baseModuleQueryAccountPaths), this._queryAccountPaths);
83
- }
84
- get queryAccounts() {
85
- return this._queryAccounts;
86
- }
87
- get timestamp() {
88
- var _a;
89
- return (_a = this.config.timestamp) !== null && _a !== void 0 ? _a : false;
90
- }
91
- static _getRootFunction(funcName) {
92
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
93
- let anyThis = this;
94
- while (anyThis.__proto__[funcName]) {
95
- anyThis = anyThis.__proto__;
96
- }
97
- return anyThis[funcName];
98
- }
99
- static _noOverride(functionName) {
100
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
101
- const thisFunc = this[functionName];
102
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
103
- const rootFunc = this._getRootFunction(functionName);
104
- (0, assert_1.assertEx)(thisFunc === rootFunc, `Override not allowed for [${functionName}] - override ${functionName}Handler instead`);
105
- }
106
- static create(params) {
107
- var _a, _b, _c, _d, _e, _f;
108
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
109
- this._noOverride('create');
110
- if (!this.configSchemas || this.configSchemas.length === 0) {
111
- throw Error(`Missing configSchema [${(_a = params === null || params === void 0 ? void 0 : params.config) === null || _a === void 0 ? void 0 : _a.schema}][${this.name}]`);
112
- }
113
- const { account, config, wallet } = params !== null && params !== void 0 ? params : {};
114
- const { accountDerivationPath } = config !== null && config !== void 0 ? config : {};
115
- (0, assert_1.assertEx)(!(!!account && !!wallet), `Specifying both {account} and {wallet} are not allowed [${config === null || config === void 0 ? void 0 : config.schema}] [${account === 'random' ? 'random' : account === null || account === void 0 ? void 0 : account.address}, ${wallet === null || wallet === void 0 ? void 0 : wallet.address}]`);
116
- const schema = (_c = (_b = params === null || params === void 0 ? void 0 : params.config) === null || _b === void 0 ? void 0 : _b.schema) !== null && _c !== void 0 ? _c : this.configSchema;
117
- const allowedSchemas = this.configSchemas;
118
- (0, assert_1.assertEx)(allowedSchemas.filter((allowedSchema) => allowedSchema === schema).length > 0, `Bad Config Schema [Received ${schema}] [Expected ${JSON.stringify(allowedSchemas)}]`);
119
- const mutatedConfig = Object.assign(Object.assign({}, params === null || params === void 0 ? void 0 : params.config), { schema });
120
- (_d = params === null || params === void 0 ? void 0 : params.logger) === null || _d === void 0 ? void 0 : _d.debug(`config: ${JSON.stringify(mutatedConfig, null, 2)}`);
121
- const mutatedParams = Object.assign(Object.assign({}, params), { config: mutatedConfig });
122
- const activeLogger = (_e = params === null || params === void 0 ? void 0 : params.logger) !== null && _e !== void 0 ? _e : AbstractModule.defaultLogger;
123
- const generatedAccount = yield AbstractModule.determineAccount({ account, accountDerivationPath, wallet });
124
- const address = generatedAccount.address;
125
- mutatedParams.logger = activeLogger ? new shared_1.IdLogger(activeLogger, () => `0x${address}`) : undefined;
126
- const newModule = new this(AbstractModule.privateConstructorKey, mutatedParams, generatedAccount);
127
- if (!AbstractModule.enableLazyLoad) {
128
- yield ((_f = newModule.start) === null || _f === void 0 ? void 0 : _f.call(newModule));
129
- }
130
- return newModule;
131
- });
132
- }
133
- static determineAccount({ account, accountDerivationPath, wallet, }) {
134
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
135
- if (wallet) {
136
- return (0, assert_1.assertEx)(accountDerivationPath ? yield wallet.derivePath(accountDerivationPath) : wallet, 'Failed to derive account from path');
137
- }
138
- else if (account === 'random') {
139
- return yield account_1.HDWallet.random();
140
- }
141
- else if (account) {
142
- return account;
143
- }
144
- else {
145
- //this should eventually be removed/thrown
146
- console.warn('AbstractModule.determineAccount: No account provided - Creating Random account');
147
- return yield account_1.HDWallet.random();
148
- }
149
- });
150
- }
151
- static factory(params) {
152
- return module_model_1.ModuleFactory.withParams(this, params);
153
- }
154
- _getRootFunction(funcName) {
155
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
156
- let anyThis = this;
157
- while (anyThis.__proto__[funcName]) {
158
- anyThis = anyThis.__proto__;
159
- }
160
- return anyThis[funcName];
161
- }
162
- _noOverride(functionName) {
163
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
164
- const thisFunc = this[functionName];
165
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
166
- const rootFunc = this._getRootFunction(functionName);
167
- (0, assert_1.assertEx)(thisFunc === rootFunc, `Override not allowed for [${functionName}] - override ${functionName}Handler instead`);
168
- }
169
- busy(closure) {
170
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
171
- if (this._busyCount <= 0) {
172
- this._busyCount = 0;
173
- const args = { busy: true, module: this };
174
- yield this.emit('moduleBusy', args);
175
- }
176
- this._busyCount++;
177
- try {
178
- return yield closure();
179
- }
180
- finally {
181
- this._busyCount--;
182
- if (this._busyCount <= 0) {
183
- this._busyCount = 0;
184
- const args = { busy: false, module: this };
185
- yield this.emit('moduleBusy', args);
186
- }
187
- }
188
- });
189
- }
190
- emit(eventName, eventArgs) {
191
- return super.emit(eventName, eventArgs);
192
- }
193
- previousHash() {
194
- return this.account.previousHash;
195
- }
196
- query(query, payloads, queryConfig) {
197
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
198
- this._noOverride('query');
199
- return yield this.busy(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
200
- const resultPayloads = [];
201
- const errorPayloads = [];
202
- const queryAccount = this.ephemeralQueryAccountEnabled ? yield account_1.HDWallet.random() : undefined;
203
- try {
204
- yield this.started('throw');
205
- if (!this.allowAnonymous) {
206
- if (query.addresses.length === 0) {
207
- throw Error(`Anonymous Queries not allowed, but running anyway [${this.config.name}], [${this.address}]`);
208
- }
209
- }
210
- resultPayloads.push(...(yield this.queryHandler((0, assert_1.assertEx)(boundwitness_builder_1.QueryBoundWitnessWrapper.unwrap(query)), payloads, queryConfig)));
211
- }
212
- catch (ex) {
213
- yield (0, error_1.handleErrorAsync)(ex, (error) => tslib_1.__awaiter(this, void 0, void 0, function* () {
214
- var _a;
215
- errorPayloads.push(new Error_1.ModuleErrorBuilder()
216
- .sources([yield core_1.PayloadHasher.hashAsync(query)])
217
- .name((_a = this.config.name) !== null && _a !== void 0 ? _a : '<Unknown>')
218
- .query(query.schema)
219
- .message(error.message)
220
- .build());
221
- }));
222
- }
223
- if (this.timestamp) {
224
- const timestamp = { schema: 'network.xyo.timestamp', timestamp: Date.now() };
225
- resultPayloads.push(timestamp);
226
- }
227
- const result = yield this.bindQueryResult(query, resultPayloads, queryAccount ? [queryAccount] : [], errorPayloads);
228
- const args = { module: this, payloads, query, result };
229
- yield this.emit('moduleQueried', args);
230
- return result;
231
- }));
232
- });
233
- }
234
- queryable(query, payloads, queryConfig) {
235
- if (!this.started('warn'))
236
- return false;
237
- const configValidator = queryConfig
238
- ? new QueryValidator_1.ModuleConfigQueryValidator(Object.assign({}, this.config, queryConfig)).queryable
239
- : this.moduleConfigQueryValidator;
240
- const validators = [this.supportedQueryValidator, configValidator];
241
- return validators.every((validator) => validator(query, payloads));
242
- }
243
- resolve(nameOrAddressOrFilter, options) {
244
- var _a, _b;
245
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
246
- const direction = (_a = options === null || options === void 0 ? void 0 : options.direction) !== null && _a !== void 0 ? _a : 'all';
247
- const up = direction === 'up' || direction === 'all';
248
- const down = direction === 'down' || direction === 'all';
249
- switch (typeof nameOrAddressOrFilter) {
250
- case 'string': {
251
- return ((_b = (down ? yield this.downResolver.resolve(nameOrAddressOrFilter, options) : undefined)) !== null && _b !== void 0 ? _b : (up ? yield this.upResolver.resolve(nameOrAddressOrFilter, options) : undefined));
252
- }
253
- default: {
254
- const filter = nameOrAddressOrFilter;
255
- return [
256
- ...(down ? yield this.downResolver.resolve(filter, options) : []),
257
- ...(up ? yield this.upResolver.resolve(filter, options) : []),
258
- ].filter(module_model_1.duplicateModules);
259
- }
260
- }
261
- });
262
- }
263
- start(_timeout) {
264
- var _a;
265
- //using promise as mutex
266
- this._startPromise = (_a = this._startPromise) !== null && _a !== void 0 ? _a : this.startHandler();
267
- return this._startPromise;
268
- }
269
- started(notStartedAction = 'log', tryStart = true) {
270
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
271
- const started = yield this._started;
272
- if (started === true) {
273
- return true;
274
- }
275
- if (!started) {
276
- //using promise as mutex
277
- this._started = (() => tslib_1.__awaiter(this, void 0, void 0, function* () {
278
- var _a, _b, _c;
279
- if (tryStart) {
280
- try {
281
- yield this.start();
282
- return true;
283
- }
284
- catch (ex) {
285
- (0, error_1.handleError)(ex, (error) => {
286
- var _a;
287
- (_a = this.logger) === null || _a === void 0 ? void 0 : _a.warn(`Autostart of Module Failed: ${error.message})`);
288
- this._started = undefined;
289
- });
290
- }
291
- }
292
- switch (notStartedAction) {
293
- case 'throw':
294
- throw Error(`Module not Started [${this.address}]`);
295
- case 'warn':
296
- (_a = this.logger) === null || _a === void 0 ? void 0 : _a.warn('Module not started');
297
- break;
298
- case 'error':
299
- (_b = this.logger) === null || _b === void 0 ? void 0 : _b.error('Module not started');
300
- break;
301
- case 'none':
302
- break;
303
- case 'log':
304
- default: {
305
- (_c = this.logger) === null || _c === void 0 ? void 0 : _c.log('Module not started');
306
- break;
307
- }
308
- }
309
- return false;
310
- }))();
311
- }
312
- if (!this._started) {
313
- throw 'Failed to create start promise';
314
- }
315
- return yield this._started;
316
- });
317
- }
318
- stop(_timeout) {
319
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
320
- return yield this.busy(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
321
- const result = yield this.stopHandler();
322
- this._started = undefined;
323
- this._startPromise = undefined;
324
- return result;
325
- }));
326
- });
327
- }
328
- bindHashes(hashes, schema, account) {
329
- const promise = new promise_1.PromiseEx((resolve) => {
330
- const result = this.bindHashesInternal(hashes, schema, account);
331
- resolve === null || resolve === void 0 ? void 0 : resolve(result);
332
- return result;
333
- }, account);
334
- return promise;
335
- }
336
- bindHashesInternal(hashes, schema, account) {
337
- var _a;
338
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
339
- const builder = new boundwitness_builder_1.BoundWitnessBuilder().hashes(hashes, schema).witness(this.account);
340
- const result = (yield (account ? builder.witness(account) : builder).build())[0];
341
- (_a = this.logger) === null || _a === void 0 ? void 0 : _a.debug(`result: ${JSON.stringify(result, null, 2)}`);
342
- return result;
343
- });
344
- }
345
- bindQuery(query, payloads, account) {
346
- const promise = new promise_1.PromiseEx((resolve) => tslib_1.__awaiter(this, void 0, void 0, function* () {
347
- const result = yield this.bindQueryInternal(query, payloads, account);
348
- resolve === null || resolve === void 0 ? void 0 : resolve(result);
349
- return result;
350
- }), account);
351
- return promise;
352
- }
353
- bindQueryInternal(query, payloads, account) {
354
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
355
- const builder = new boundwitness_builder_1.QueryBoundWitnessBuilder().payloads(payloads).witness(this.account).query(query);
356
- const result = yield (account ? builder.witness(account) : builder).build();
357
- return result;
358
- });
359
- }
360
- bindQueryResult(query, payloads, additionalWitnesses = [], errors) {
361
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
362
- const builder = new boundwitness_builder_1.BoundWitnessBuilder().payloads(payloads).errors(errors);
363
- const queryWitnessAccount = this.queryAccounts[query.schema];
364
- const witnesses = [this.account, queryWitnessAccount, ...additionalWitnesses].filter(exists_1.exists);
365
- builder.witnesses(witnesses);
366
- const result = [(yield builder.build())[0], payloads, errors !== null && errors !== void 0 ? errors : []];
367
- return result;
368
- });
369
- }
370
- describeHandler() {
371
- var _a, _b;
372
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
373
- const description = {
374
- address: this.address,
375
- queries: this.queries,
376
- schema: module_model_1.ModuleDescriptionSchema,
377
- };
378
- if ((_a = this.config) === null || _a === void 0 ? void 0 : _a.name) {
379
- description.name = this.config.name;
380
- }
381
- const discover = yield this.discoverHandler();
382
- description.children = (0, compact_1.default)((_b = discover === null || discover === void 0 ? void 0 : discover.map((payload) => {
383
- const address = payload.schema === address_payload_plugin_1.AddressSchema ? payload.address : undefined;
384
- return address != this.address ? address : undefined;
385
- })) !== null && _b !== void 0 ? _b : []);
386
- return description;
387
- });
388
- }
389
- discoverHandler() {
390
- var _a;
391
- const config = this.config;
392
- const address = new payload_builder_1.PayloadBuilder({ schema: address_payload_plugin_1.AddressSchema }).fields({ address: this.address, name: (_a = this.config) === null || _a === void 0 ? void 0 : _a.name }).build();
393
- const queries = this.queries.map((query) => {
394
- return new payload_builder_1.PayloadBuilder({ schema: query_payload_plugin_1.QuerySchema }).fields({ query }).build();
395
- });
396
- const configSchema = {
397
- config: config.schema,
398
- schema: config_payload_plugin_1.ConfigSchema,
399
- };
400
- return (0, compact_1.default)([config, configSchema, address, ...queries]);
401
- }
402
- initializeQueryAccounts() {
403
- var _a, _b;
404
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
405
- // Ensure distinct/unique wallet paths
406
- const paths = Object.values(this.queryAccountPaths).filter(exists_1.exists);
407
- const distinctPaths = new Set(paths);
408
- (0, assert_1.assertEx)(distinctPaths.size === paths.length, `${((_a = this.config) === null || _a === void 0 ? void 0 : _a.name) ? this.config.name + ': ' : ''}Duplicate query account paths`);
409
- // Create an account for query this module supports
410
- const wallet = this.account;
411
- if (wallet === null || wallet === void 0 ? void 0 : wallet.derivePath) {
412
- for (const key in this.queryAccountPaths) {
413
- if (Object.prototype.hasOwnProperty.call(this.queryAccountPaths, key)) {
414
- const query = key;
415
- const queryAccountPath = this.queryAccountPaths[query];
416
- if (queryAccountPath) {
417
- this._queryAccounts[query] = yield ((_b = wallet.derivePath) === null || _b === void 0 ? void 0 : _b.call(wallet, queryAccountPath));
418
- }
419
- }
420
- }
421
- }
422
- });
423
- }
424
- manifestHandler(_ignoreAddresses) {
425
- var _a;
426
- const name = (_a = this.config.name) !== null && _a !== void 0 ? _a : 'Anonymous';
427
- return { config: Object.assign({ name }, this.config), schema: manifest_model_1.ModuleManifestPayloadSchema };
428
- }
429
- moduleAddressHandler() {
430
- // Return array of all addresses and their previous hash
431
- const queryAccounts = Object.entries(this.queryAccounts)
432
- .filter((value) => {
433
- return (0, exists_1.exists)(value[1]);
434
- })
435
- .map(([name, account]) => {
436
- const address = account.address;
437
- const previousHash = account.previousHash;
438
- return [
439
- { address, name, schema: address_payload_plugin_1.AddressSchema },
440
- { address, previousHash, schema: module_model_1.AddressPreviousHashSchema },
441
- ];
442
- });
443
- const address = this.address;
444
- const name = this.config.name;
445
- const previousHash = this.address;
446
- const moduleAccount = name ? { address, name, schema: address_payload_plugin_1.AddressSchema } : { address, schema: address_payload_plugin_1.AddressSchema };
447
- const moduleAccountPreviousHash = previousHash
448
- ? { address, previousHash, schema: module_model_1.AddressPreviousHashSchema }
449
- : { address, schema: module_model_1.AddressPreviousHashSchema };
450
- return [moduleAccount, moduleAccountPreviousHash, ...queryAccounts].flat();
451
- }
452
- queryHandler(query, payloads, queryConfig) {
453
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
454
- yield this.started('throw');
455
- const wrapper = boundwitness_builder_1.QueryBoundWitnessWrapper.parseQuery(query, payloads);
456
- const queryPayload = yield wrapper.getQuery();
457
- (0, assert_1.assertEx)(this.queryable(query, payloads, queryConfig));
458
- const resultPayloads = [];
459
- switch (queryPayload.schema) {
460
- case module_model_1.ModuleManifestQuerySchema: {
461
- resultPayloads.push(yield this.manifestHandler());
462
- break;
463
- }
464
- case module_model_1.ModuleDiscoverQuerySchema: {
465
- resultPayloads.push(...(yield this.discoverHandler()));
466
- break;
467
- }
468
- case module_model_1.ModuleDescribeQuerySchema: {
469
- resultPayloads.push(yield this.describeHandler());
470
- break;
471
- }
472
- case module_model_1.ModuleAddressQuerySchema: {
473
- resultPayloads.push(...(yield this.moduleAddressHandler()));
474
- break;
475
- }
476
- case module_model_1.ModuleSubscribeQuerySchema: {
477
- this.subscribeHandler();
478
- break;
479
- }
480
- default:
481
- throw Error(`Unsupported Query [${queryPayload.schema}]`);
482
- }
483
- return resultPayloads;
484
- });
485
- }
486
- startHandler() {
487
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
488
- this.validateConfig();
489
- yield this.initializeQueryAccounts();
490
- this._started = true;
491
- return true;
492
- });
493
- }
494
- stopHandler(_timeout) {
495
- this._started = undefined;
496
- return true;
497
- }
498
- subscribeHandler() {
499
- return;
500
- }
501
- validateConfig(config, parents = []) {
502
- var _a;
503
- return Object.entries((_a = config !== null && config !== void 0 ? config : this.config) !== null && _a !== void 0 ? _a : {}).reduce((valid, [key, value]) => {
504
- var _a, _b;
505
- switch (typeof value) {
506
- case 'function':
507
- (_a = this.logger) === null || _a === void 0 ? void 0 : _a.warn(`Fields of type function not allowed in config [${parents === null || parents === void 0 ? void 0 : parents.join('.')}.${key}]`);
508
- return false;
509
- case 'object': {
510
- if (Array.isArray(value)) {
511
- return (value.reduce((valid, value) => {
512
- return this.validateConfig(value, [...parents, key]) && valid;
513
- }, true) && valid);
514
- }
515
- if (!(0, module_model_1.serializableField)(value)) {
516
- (_b = this.logger) === null || _b === void 0 ? void 0 : _b.warn(`Fields that are not serializable to JSON are not allowed in config [${parents === null || parents === void 0 ? void 0 : parents.join('.')}.${key}]`);
517
- return false;
518
- }
519
- return value ? this.validateConfig(value, [...parents, key]) && valid : true;
520
- }
521
- default:
522
- return valid;
523
- }
524
- }, true);
525
- }
526
- getArchivist(kind) {
527
- var _a, _b;
528
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
529
- if (!this.config.archivist)
530
- return undefined;
531
- const filter = typeof this.config.archivist === 'string' || this.config.archivist instanceof String
532
- ? this.config.archivist
533
- : (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.archivist) === null || _b === void 0 ? void 0 : _b[kind];
534
- const resolved = yield this.upResolver.resolve(filter);
535
- return (0, archivist_model_1.asArchivistInstance)(resolved);
536
- });
537
- }
538
- }
539
- exports.AbstractModule = AbstractModule;
540
- AbstractModule.enableLazyLoad = false;
541
- AbstractModule.privateConstructorKey = Date.now().toString();
542
- //# sourceMappingURL=AbstractModule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractModule.js","sourceRoot":"","sources":["../../src/AbstractModule.ts"],"names":[],"mappings":"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"}
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AbstractModuleInstance = void 0;
4
- const tslib_1 = require("tslib");
5
- const assert_1 = require("@xylabs/assert");
6
- const AbstractModule_1 = require("./AbstractModule");
7
- class AbstractModuleInstance extends AbstractModule_1.AbstractModule {
8
- constructor(privateConstructorKey, params, account) {
9
- (0, assert_1.assertEx)(AbstractModule_1.AbstractModule.privateConstructorKey === privateConstructorKey, 'Use create function instead of constructor');
10
- // Clone params to prevent mutation of the incoming object
11
- const mutatedParams = Object.assign({}, params);
12
- super(privateConstructorKey, mutatedParams, account);
13
- this.upResolver.add(this);
14
- this.downResolver.add(this);
15
- }
16
- describe() {
17
- return this.busy(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
18
- return yield this.describeHandler();
19
- }));
20
- }
21
- discover() {
22
- return this.busy(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
23
- return yield this.discoverHandler();
24
- }));
25
- }
26
- manifest(ignoreAddresses) {
27
- return this.busy(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
28
- return yield this.manifestHandler(ignoreAddresses);
29
- }));
30
- }
31
- moduleAddress() {
32
- return this.busy(() => tslib_1.__awaiter(this, void 0, void 0, function* () {
33
- return yield this.moduleAddressHandler();
34
- }));
35
- }
36
- subscribe(_queryAccount) {
37
- return this.subscribeHandler();
38
- }
39
- }
40
- exports.AbstractModuleInstance = AbstractModuleInstance;
41
- //# sourceMappingURL=AbstractModuleInstance.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AbstractModuleInstance.js","sourceRoot":"","sources":["../../src/AbstractModuleInstance.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AAczC,qDAAiD;AAEjD,MAAsB,sBAIpB,SAAQ,+BAAmC;IAG3C,YAAY,qBAA6B,EAAE,MAAe,EAAE,OAAwB;QAClF,IAAA,iBAAQ,EAAC,+BAAc,CAAC,qBAAqB,KAAK,qBAAqB,EAAE,4CAA4C,CAAC,CAAA;QACtH,0DAA0D;QAC1D,MAAM,aAAa,GAAG,kBAAK,MAAM,CAAa,CAAA;QAC9C,KAAK,CAAC,qBAAqB,EAAE,aAAa,EAAE,OAAO,CAAC,CAAA;QACpD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACzB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,GAAS,EAAE;YAC1B,OAAO,MAAM,IAAI,CAAC,eAAe,EAAE,CAAA;QACrC,CAAC,CAAA,CAAC,CAAA;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,GAAS,EAAE;YAC1B,OAAO,MAAM,IAAI,CAAC,eAAe,EAAE,CAAA;QACrC,CAAC,CAAA,CAAC,CAAA;IACJ,CAAC;IAED,QAAQ,CAAC,eAA0B;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAS,EAAE;YAC1B,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAA;QACpD,CAAC,CAAA,CAAC,CAAA;IACJ,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,GAAS,EAAE;YAC1B,OAAO,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC1C,CAAC,CAAA,CAAC,CAAA;IACJ,CAAC;IAED,SAAS,CAAC,aAA+B;QACvC,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAA;IAChC,CAAC;CACF;AA3CD,wDA2CC"}