@xyo-network/module-abstract 2.84.2 → 2.84.3
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/node/{index.mjs → index.cjs} +139 -108
- package/dist/node/index.cjs.map +1 -0
- package/dist/node/index.js +107 -138
- package/dist/node/index.js.map +1 -1
- package/package.json +26 -26
- package/dist/node/index.mjs.map +0 -1
|
@@ -1,40 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
2
6
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
7
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
4
21
|
var __publicField = (obj, key, value) => {
|
|
5
22
|
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
6
23
|
return value;
|
|
7
24
|
};
|
|
8
25
|
|
|
26
|
+
// src/index.ts
|
|
27
|
+
var src_exports = {};
|
|
28
|
+
__export(src_exports, {
|
|
29
|
+
AbstractModule: () => AbstractModule,
|
|
30
|
+
AbstractModuleInstance: () => AbstractModuleInstance,
|
|
31
|
+
BaseEmitter: () => BaseEmitter,
|
|
32
|
+
ModuleConfigQueryValidator: () => ModuleConfigQueryValidator,
|
|
33
|
+
ModuleErrorBuilder: () => ModuleErrorBuilder,
|
|
34
|
+
SupportedQueryValidator: () => SupportedQueryValidator,
|
|
35
|
+
isQuerySupportedByModule: () => isQuerySupportedByModule
|
|
36
|
+
});
|
|
37
|
+
module.exports = __toCommonJS(src_exports);
|
|
38
|
+
|
|
9
39
|
// src/AbstractModule.ts
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
40
|
+
var import_assert2 = require("@xylabs/assert");
|
|
41
|
+
var import_error = require("@xylabs/error");
|
|
42
|
+
var import_exists = require("@xylabs/exists");
|
|
43
|
+
var import_lodash = require("@xylabs/lodash");
|
|
44
|
+
var import_logger = require("@xylabs/logger");
|
|
45
|
+
var import_promise = require("@xylabs/promise");
|
|
46
|
+
var import_account2 = require("@xyo-network/account");
|
|
47
|
+
var import_address_payload_plugin = require("@xyo-network/address-payload-plugin");
|
|
48
|
+
var import_archivist_model = require("@xyo-network/archivist-model");
|
|
49
|
+
var import_boundwitness_builder3 = require("@xyo-network/boundwitness-builder");
|
|
50
|
+
var import_config_payload_plugin = require("@xyo-network/config-payload-plugin");
|
|
51
|
+
var import_hash = require("@xyo-network/hash");
|
|
52
|
+
var import_manifest_model = require("@xyo-network/manifest-model");
|
|
53
|
+
var import_module_model = require("@xyo-network/module-model");
|
|
54
|
+
var import_module_resolver = require("@xyo-network/module-resolver");
|
|
55
|
+
var import_payload_builder2 = require("@xyo-network/payload-builder");
|
|
56
|
+
var import_query_payload_plugin = require("@xyo-network/query-payload-plugin");
|
|
27
57
|
|
|
28
58
|
// src/BaseEmitter.ts
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
var _BaseEmitter = class _BaseEmitter extends Base {
|
|
59
|
+
var import_module_events = require("@xyo-network/module-events");
|
|
60
|
+
var import_object = require("@xyo-network/object");
|
|
61
|
+
var _BaseEmitter = class _BaseEmitter extends import_object.Base {
|
|
32
62
|
//just here to query types
|
|
33
63
|
eventData = {};
|
|
34
64
|
events;
|
|
35
65
|
constructor(params) {
|
|
36
66
|
super(params);
|
|
37
|
-
this.events = new Events();
|
|
67
|
+
this.events = new import_module_events.Events();
|
|
38
68
|
}
|
|
39
69
|
clearListeners(eventNames) {
|
|
40
70
|
return this.events.clearListeners(eventNames);
|
|
@@ -68,10 +98,10 @@ __name(_BaseEmitter, "BaseEmitter");
|
|
|
68
98
|
var BaseEmitter = _BaseEmitter;
|
|
69
99
|
|
|
70
100
|
// src/determineAccount.ts
|
|
71
|
-
|
|
72
|
-
|
|
101
|
+
var import_assert = require("@xylabs/assert");
|
|
102
|
+
var import_account = require("@xyo-network/account");
|
|
73
103
|
var isDetermineAccountFromAccountParams = /* @__PURE__ */ __name((params) => {
|
|
74
|
-
assertEx(!params.accountDerivationPath, "accountDerivationPath may not be provided when account is provided");
|
|
104
|
+
(0, import_assert.assertEx)(!params.accountDerivationPath, "accountDerivationPath may not be provided when account is provided");
|
|
75
105
|
return !!params.account;
|
|
76
106
|
}, "isDetermineAccountFromAccountParams");
|
|
77
107
|
var isDetermineAccountFromWalletParams = /* @__PURE__ */ __name((params) => {
|
|
@@ -79,27 +109,27 @@ var isDetermineAccountFromWalletParams = /* @__PURE__ */ __name((params) => {
|
|
|
79
109
|
}, "isDetermineAccountFromWalletParams");
|
|
80
110
|
async function determineAccount(params) {
|
|
81
111
|
if (isDetermineAccountFromAccountParams(params)) {
|
|
82
|
-
return params.account === "random" ? Account.randomSync() : params.account;
|
|
112
|
+
return params.account === "random" ? import_account.Account.randomSync() : params.account;
|
|
83
113
|
}
|
|
84
114
|
if (isDetermineAccountFromWalletParams(params)) {
|
|
85
|
-
return assertEx(params.accountDerivationPath ? await params.wallet.derivePath(params.accountDerivationPath) : params.wallet, "Failed to derive account from path");
|
|
115
|
+
return (0, import_assert.assertEx)(params.accountDerivationPath ? await params.wallet.derivePath(params.accountDerivationPath) : params.wallet, "Failed to derive account from path");
|
|
86
116
|
}
|
|
87
117
|
console.warn("AbstractModule.determineAccount: No account or wallet provided - Creating Random account");
|
|
88
|
-
return Account.randomSync();
|
|
118
|
+
return import_account.Account.randomSync();
|
|
89
119
|
}
|
|
90
120
|
__name(determineAccount, "determineAccount");
|
|
91
121
|
|
|
92
122
|
// src/Error.ts
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
var _ModuleErrorBuilder = class _ModuleErrorBuilder extends PayloadBuilder {
|
|
123
|
+
var import_payload_builder = require("@xyo-network/payload-builder");
|
|
124
|
+
var import_payload_model = require("@xyo-network/payload-model");
|
|
125
|
+
var _ModuleErrorBuilder = class _ModuleErrorBuilder extends import_payload_builder.PayloadBuilder {
|
|
96
126
|
_message;
|
|
97
127
|
_name;
|
|
98
128
|
_query;
|
|
99
129
|
_sources;
|
|
100
130
|
constructor() {
|
|
101
131
|
super({
|
|
102
|
-
schema: ModuleErrorSchema
|
|
132
|
+
schema: import_payload_model.ModuleErrorSchema
|
|
103
133
|
});
|
|
104
134
|
}
|
|
105
135
|
build() {
|
|
@@ -107,7 +137,7 @@ var _ModuleErrorBuilder = class _ModuleErrorBuilder extends PayloadBuilder {
|
|
|
107
137
|
message: this._message,
|
|
108
138
|
name: this._name,
|
|
109
139
|
query: this._query,
|
|
110
|
-
schema: ModuleErrorSchema,
|
|
140
|
+
schema: import_payload_model.ModuleErrorSchema,
|
|
111
141
|
sources: this._sources
|
|
112
142
|
});
|
|
113
143
|
}
|
|
@@ -132,7 +162,7 @@ __name(_ModuleErrorBuilder, "ModuleErrorBuilder");
|
|
|
132
162
|
var ModuleErrorBuilder = _ModuleErrorBuilder;
|
|
133
163
|
|
|
134
164
|
// src/QueryValidator/ModuleConfigQueryValidator.ts
|
|
135
|
-
|
|
165
|
+
var import_boundwitness_builder = require("@xyo-network/boundwitness-builder");
|
|
136
166
|
var delimiter = "";
|
|
137
167
|
var _ModuleConfigQueryValidator = class _ModuleConfigQueryValidator {
|
|
138
168
|
allowed = {};
|
|
@@ -162,7 +192,7 @@ var _ModuleConfigQueryValidator = class _ModuleConfigQueryValidator {
|
|
|
162
192
|
const addresses = query.addresses;
|
|
163
193
|
if (!addresses.length)
|
|
164
194
|
return false;
|
|
165
|
-
const wrapper = QueryBoundWitnessWrapper.parseQuery(query, payloads);
|
|
195
|
+
const wrapper = import_boundwitness_builder.QueryBoundWitnessWrapper.parseQuery(query, payloads);
|
|
166
196
|
const schema = (await wrapper.getQuery()).schema;
|
|
167
197
|
return this.queryAllowed(schema, addresses) && !this.queryDisallowed(schema, addresses);
|
|
168
198
|
};
|
|
@@ -197,9 +227,9 @@ var toAddressesString = /* @__PURE__ */ __name((addresses) => {
|
|
|
197
227
|
}, "toAddressesString");
|
|
198
228
|
|
|
199
229
|
// src/QueryValidator/SupportedQueryValidator.ts
|
|
200
|
-
|
|
230
|
+
var import_boundwitness_builder2 = require("@xyo-network/boundwitness-builder");
|
|
201
231
|
var isQuerySupportedByModule = /* @__PURE__ */ __name(async (mod, query, payloads) => {
|
|
202
|
-
const wrapper =
|
|
232
|
+
const wrapper = import_boundwitness_builder2.QueryBoundWitnessWrapper.parseQuery(query, payloads);
|
|
203
233
|
const schema = (await wrapper.getQuery()).schema;
|
|
204
234
|
return mod.queries.includes(schema);
|
|
205
235
|
}, "isQuerySupportedByModule");
|
|
@@ -218,22 +248,22 @@ var SupportedQueryValidator = _SupportedQueryValidator;
|
|
|
218
248
|
|
|
219
249
|
// src/AbstractModule.ts
|
|
220
250
|
var _AbstractModule = class _AbstractModule extends BaseEmitter {
|
|
221
|
-
downResolver = new CompositeModuleResolver();
|
|
222
|
-
upResolver = new CompositeModuleResolver();
|
|
251
|
+
downResolver = new import_module_resolver.CompositeModuleResolver();
|
|
252
|
+
upResolver = new import_module_resolver.CompositeModuleResolver();
|
|
223
253
|
_account = void 0;
|
|
224
254
|
_baseModuleQueryAccountPaths = {
|
|
225
|
-
[ModuleAddressQuerySchema]: "1",
|
|
226
|
-
[ModuleDescribeQuerySchema]: "4",
|
|
227
|
-
[ModuleDiscoverQuerySchema]: "2",
|
|
228
|
-
[ModuleManifestQuerySchema]: "5",
|
|
229
|
-
[ModuleSubscribeQuerySchema]: "3"
|
|
255
|
+
[import_module_model.ModuleAddressQuerySchema]: "1",
|
|
256
|
+
[import_module_model.ModuleDescribeQuerySchema]: "4",
|
|
257
|
+
[import_module_model.ModuleDiscoverQuerySchema]: "2",
|
|
258
|
+
[import_module_model.ModuleManifestQuerySchema]: "5",
|
|
259
|
+
[import_module_model.ModuleSubscribeQuerySchema]: "3"
|
|
230
260
|
};
|
|
231
261
|
_queryAccounts = {
|
|
232
|
-
[ModuleAddressQuerySchema]: void 0,
|
|
233
|
-
[ModuleDescribeQuerySchema]: void 0,
|
|
234
|
-
[ModuleDiscoverQuerySchema]: void 0,
|
|
235
|
-
[ModuleManifestQuerySchema]: void 0,
|
|
236
|
-
[ModuleSubscribeQuerySchema]: void 0
|
|
262
|
+
[import_module_model.ModuleAddressQuerySchema]: void 0,
|
|
263
|
+
[import_module_model.ModuleDescribeQuerySchema]: void 0,
|
|
264
|
+
[import_module_model.ModuleDiscoverQuerySchema]: void 0,
|
|
265
|
+
[import_module_model.ModuleManifestQuerySchema]: void 0,
|
|
266
|
+
[import_module_model.ModuleSubscribeQuerySchema]: void 0
|
|
237
267
|
};
|
|
238
268
|
_startPromise = void 0;
|
|
239
269
|
_started = void 0;
|
|
@@ -241,7 +271,7 @@ var _AbstractModule = class _AbstractModule extends BaseEmitter {
|
|
|
241
271
|
supportedQueryValidator;
|
|
242
272
|
_busyCount = 0;
|
|
243
273
|
constructor(privateConstructorKey, params, account) {
|
|
244
|
-
|
|
274
|
+
(0, import_assert2.assertEx)(_AbstractModule.privateConstructorKey === privateConstructorKey, "Use create function instead of constructor");
|
|
245
275
|
const mutatedParams = {
|
|
246
276
|
...params
|
|
247
277
|
};
|
|
@@ -254,7 +284,7 @@ var _AbstractModule = class _AbstractModule extends BaseEmitter {
|
|
|
254
284
|
return this.configSchemas[0];
|
|
255
285
|
}
|
|
256
286
|
get account() {
|
|
257
|
-
return
|
|
287
|
+
return (0, import_assert2.assertEx)(this._account, "Missing account");
|
|
258
288
|
}
|
|
259
289
|
get address() {
|
|
260
290
|
return this.account.address;
|
|
@@ -271,11 +301,11 @@ var _AbstractModule = class _AbstractModule extends BaseEmitter {
|
|
|
271
301
|
}
|
|
272
302
|
get queries() {
|
|
273
303
|
return [
|
|
274
|
-
ModuleDiscoverQuerySchema,
|
|
275
|
-
ModuleAddressQuerySchema,
|
|
276
|
-
ModuleSubscribeQuerySchema,
|
|
277
|
-
ModuleDescribeQuerySchema,
|
|
278
|
-
ModuleManifestQuerySchema
|
|
304
|
+
import_module_model.ModuleDiscoverQuerySchema,
|
|
305
|
+
import_module_model.ModuleAddressQuerySchema,
|
|
306
|
+
import_module_model.ModuleSubscribeQuerySchema,
|
|
307
|
+
import_module_model.ModuleDescribeQuerySchema,
|
|
308
|
+
import_module_model.ModuleManifestQuerySchema
|
|
279
309
|
];
|
|
280
310
|
}
|
|
281
311
|
get queryAccountPaths() {
|
|
@@ -300,7 +330,7 @@ var _AbstractModule = class _AbstractModule extends BaseEmitter {
|
|
|
300
330
|
static _noOverride(functionName) {
|
|
301
331
|
const thisFunc = this[functionName];
|
|
302
332
|
const rootFunc = this._getRootFunction(functionName);
|
|
303
|
-
|
|
333
|
+
(0, import_assert2.assertEx)(thisFunc === rootFunc, `Override not allowed for [${functionName}] - override ${functionName}Handler instead`);
|
|
304
334
|
}
|
|
305
335
|
static async create(params) {
|
|
306
336
|
var _a, _b, _c, _d;
|
|
@@ -310,10 +340,10 @@ var _AbstractModule = class _AbstractModule extends BaseEmitter {
|
|
|
310
340
|
}
|
|
311
341
|
const { account, config, wallet } = params ?? {};
|
|
312
342
|
const { accountDerivationPath } = config ?? {};
|
|
313
|
-
|
|
343
|
+
(0, import_assert2.assertEx)(!(!!account && !!wallet), `Specifying both {account} and {wallet} are not allowed [${config == null ? void 0 : config.schema}] [${account === "random" ? "random" : account == null ? void 0 : account.address}, ${wallet == null ? void 0 : wallet.address}]`);
|
|
314
344
|
const schema = ((_b = params == null ? void 0 : params.config) == null ? void 0 : _b.schema) ?? this.configSchema;
|
|
315
345
|
const allowedSchemas = this.configSchemas;
|
|
316
|
-
|
|
346
|
+
(0, import_assert2.assertEx)(allowedSchemas.filter((allowedSchema) => allowedSchema === schema).length > 0, `Bad Config Schema [Received ${schema}] [Expected ${JSON.stringify(allowedSchemas)}]`);
|
|
317
347
|
const mutatedConfig = {
|
|
318
348
|
...params == null ? void 0 : params.config,
|
|
319
349
|
schema
|
|
@@ -330,7 +360,7 @@ var _AbstractModule = class _AbstractModule extends BaseEmitter {
|
|
|
330
360
|
wallet
|
|
331
361
|
});
|
|
332
362
|
const address = generatedAccount.address;
|
|
333
|
-
mutatedParams.logger = activeLogger ? new IdLogger(activeLogger, () => `0x${address}`) : void 0;
|
|
363
|
+
mutatedParams.logger = activeLogger ? new import_logger.IdLogger(activeLogger, () => `0x${address}`) : void 0;
|
|
334
364
|
const newModule = new this(_AbstractModule.privateConstructorKey, mutatedParams, generatedAccount);
|
|
335
365
|
if (!_AbstractModule.enableLazyLoad) {
|
|
336
366
|
await ((_d = newModule.start) == null ? void 0 : _d.call(newModule));
|
|
@@ -341,7 +371,7 @@ var _AbstractModule = class _AbstractModule extends BaseEmitter {
|
|
|
341
371
|
return await determineAccount(params);
|
|
342
372
|
}
|
|
343
373
|
static factory(params) {
|
|
344
|
-
return ModuleFactory.withParams(this, params);
|
|
374
|
+
return import_module_model.ModuleFactory.withParams(this, params);
|
|
345
375
|
}
|
|
346
376
|
_getRootFunction(funcName) {
|
|
347
377
|
let anyThis = this;
|
|
@@ -353,7 +383,7 @@ var _AbstractModule = class _AbstractModule extends BaseEmitter {
|
|
|
353
383
|
_noOverride(functionName) {
|
|
354
384
|
const thisFunc = this[functionName];
|
|
355
385
|
const rootFunc = this._getRootFunction(functionName);
|
|
356
|
-
|
|
386
|
+
(0, import_assert2.assertEx)(thisFunc === rootFunc, `Override not allowed for [${functionName}] - override ${functionName}Handler instead`);
|
|
357
387
|
}
|
|
358
388
|
async busy(closure) {
|
|
359
389
|
if (this._busyCount <= 0) {
|
|
@@ -387,11 +417,11 @@ var _AbstractModule = class _AbstractModule extends BaseEmitter {
|
|
|
387
417
|
}
|
|
388
418
|
async query(query, payloads, queryConfig) {
|
|
389
419
|
this._noOverride("query");
|
|
390
|
-
const sourceQuery = await PayloadHasher.hashAsync(query);
|
|
420
|
+
const sourceQuery = await import_hash.PayloadHasher.hashAsync(query);
|
|
391
421
|
return await this.busy(async () => {
|
|
392
422
|
const resultPayloads = [];
|
|
393
423
|
const errorPayloads = [];
|
|
394
|
-
const queryAccount = this.ephemeralQueryAccountEnabled ?
|
|
424
|
+
const queryAccount = this.ephemeralQueryAccountEnabled ? import_account2.Account.randomSync() : void 0;
|
|
395
425
|
try {
|
|
396
426
|
await this.started("throw");
|
|
397
427
|
if (!this.allowAnonymous) {
|
|
@@ -399,11 +429,11 @@ var _AbstractModule = class _AbstractModule extends BaseEmitter {
|
|
|
399
429
|
throw Error(`Anonymous Queries not allowed, but running anyway [${this.config.name}], [${this.address}]`);
|
|
400
430
|
}
|
|
401
431
|
}
|
|
402
|
-
resultPayloads.push(...await this.queryHandler(
|
|
432
|
+
resultPayloads.push(...await this.queryHandler((0, import_assert2.assertEx)(import_boundwitness_builder3.QueryBoundWitnessWrapper.unwrap(query)), payloads, queryConfig));
|
|
403
433
|
} catch (ex) {
|
|
404
|
-
await handleErrorAsync(ex, async (error) => {
|
|
434
|
+
await (0, import_error.handleErrorAsync)(ex, async (error) => {
|
|
405
435
|
errorPayloads.push(await new ModuleErrorBuilder().sources([
|
|
406
|
-
await PayloadHasher.hashAsync(query)
|
|
436
|
+
await import_hash.PayloadHasher.hashAsync(query)
|
|
407
437
|
]).name(this.config.name ?? "<Unknown>").query(query.schema).message(error.message).build());
|
|
408
438
|
});
|
|
409
439
|
}
|
|
@@ -450,7 +480,7 @@ var _AbstractModule = class _AbstractModule extends BaseEmitter {
|
|
|
450
480
|
return [
|
|
451
481
|
...down ? await this.downResolver.resolve(filter, options) : [],
|
|
452
482
|
...up ? await this.upResolver.resolve(filter, options) : []
|
|
453
|
-
].filter(duplicateModules);
|
|
483
|
+
].filter(import_module_model.duplicateModules);
|
|
454
484
|
}
|
|
455
485
|
}
|
|
456
486
|
}
|
|
@@ -471,7 +501,7 @@ var _AbstractModule = class _AbstractModule extends BaseEmitter {
|
|
|
471
501
|
await this.start();
|
|
472
502
|
return true;
|
|
473
503
|
} catch (ex) {
|
|
474
|
-
handleError(ex, (error) => {
|
|
504
|
+
(0, import_error.handleError)(ex, (error) => {
|
|
475
505
|
var _a2;
|
|
476
506
|
(_a2 = this.logger) == null ? void 0 : _a2.warn(`Autostart of Module Failed: ${error.message})`);
|
|
477
507
|
this._started = void 0;
|
|
@@ -512,7 +542,7 @@ var _AbstractModule = class _AbstractModule extends BaseEmitter {
|
|
|
512
542
|
});
|
|
513
543
|
}
|
|
514
544
|
bindHashes(hashes, schema, account) {
|
|
515
|
-
const promise = new PromiseEx((resolve) => {
|
|
545
|
+
const promise = new import_promise.PromiseEx((resolve) => {
|
|
516
546
|
const result = this.bindHashesInternal(hashes, schema, account);
|
|
517
547
|
resolve == null ? void 0 : resolve(result);
|
|
518
548
|
return result;
|
|
@@ -521,13 +551,13 @@ var _AbstractModule = class _AbstractModule extends BaseEmitter {
|
|
|
521
551
|
}
|
|
522
552
|
async bindHashesInternal(hashes, schema, account) {
|
|
523
553
|
var _a;
|
|
524
|
-
const builder = new BoundWitnessBuilder().hashes(hashes, schema).witness(this.account);
|
|
554
|
+
const builder = new import_boundwitness_builder3.BoundWitnessBuilder().hashes(hashes, schema).witness(this.account);
|
|
525
555
|
const result = (await (account ? builder.witness(account) : builder).build())[0];
|
|
526
556
|
(_a = this.logger) == null ? void 0 : _a.debug(`result: ${JSON.stringify(result, null, 2)}`);
|
|
527
557
|
return result;
|
|
528
558
|
}
|
|
529
559
|
bindQuery(query, payloads, account) {
|
|
530
|
-
const promise = new PromiseEx(async (resolve) => {
|
|
560
|
+
const promise = new import_promise.PromiseEx(async (resolve) => {
|
|
531
561
|
const result = await this.bindQueryInternal(query, payloads, account);
|
|
532
562
|
resolve == null ? void 0 : resolve(result);
|
|
533
563
|
return result;
|
|
@@ -535,18 +565,18 @@ var _AbstractModule = class _AbstractModule extends BaseEmitter {
|
|
|
535
565
|
return promise;
|
|
536
566
|
}
|
|
537
567
|
async bindQueryInternal(query, payloads, account) {
|
|
538
|
-
const builder = new QueryBoundWitnessBuilder().payloads(payloads).witness(this.account).query(query);
|
|
568
|
+
const builder = new import_boundwitness_builder3.QueryBoundWitnessBuilder().payloads(payloads).witness(this.account).query(query);
|
|
539
569
|
const result = await (account ? builder.witness(account) : builder).build();
|
|
540
570
|
return result;
|
|
541
571
|
}
|
|
542
572
|
async bindQueryResult(query, payloads, sourceQuery, additionalWitnesses = [], errors) {
|
|
543
|
-
const builder = new BoundWitnessBuilder().payloads(payloads).errors(errors).sourceQuery(sourceQuery);
|
|
573
|
+
const builder = new import_boundwitness_builder3.BoundWitnessBuilder().payloads(payloads).errors(errors).sourceQuery(sourceQuery);
|
|
544
574
|
const queryWitnessAccount = this.queryAccounts[query.schema];
|
|
545
575
|
const witnesses = [
|
|
546
576
|
this.account,
|
|
547
577
|
queryWitnessAccount,
|
|
548
578
|
...additionalWitnesses
|
|
549
|
-
].filter(exists);
|
|
579
|
+
].filter(import_exists.exists);
|
|
550
580
|
builder.witnesses(witnesses);
|
|
551
581
|
const result = [
|
|
552
582
|
(await builder.build())[0],
|
|
@@ -564,14 +594,14 @@ var _AbstractModule = class _AbstractModule extends BaseEmitter {
|
|
|
564
594
|
const description = {
|
|
565
595
|
address: this.address,
|
|
566
596
|
queries: this.queries,
|
|
567
|
-
schema: ModuleDescriptionSchema
|
|
597
|
+
schema: import_module_model.ModuleDescriptionSchema
|
|
568
598
|
};
|
|
569
599
|
if ((_a = this.config) == null ? void 0 : _a.name) {
|
|
570
600
|
description.name = this.config.name;
|
|
571
601
|
}
|
|
572
602
|
const discover = await this.discoverHandler();
|
|
573
|
-
description.children = compact((discover == null ? void 0 : discover.map((payload) => {
|
|
574
|
-
const address = payload.schema === AddressSchema ? payload.address : void 0;
|
|
603
|
+
description.children = (0, import_lodash.compact)((discover == null ? void 0 : discover.map((payload) => {
|
|
604
|
+
const address = payload.schema === import_address_payload_plugin.AddressSchema ? payload.address : void 0;
|
|
575
605
|
return address != this.address ? address : void 0;
|
|
576
606
|
})) ?? []);
|
|
577
607
|
return description;
|
|
@@ -579,24 +609,24 @@ var _AbstractModule = class _AbstractModule extends BaseEmitter {
|
|
|
579
609
|
async discoverHandler(_maxDepth) {
|
|
580
610
|
var _a;
|
|
581
611
|
const config = this.config;
|
|
582
|
-
const address = await new
|
|
583
|
-
schema: AddressSchema
|
|
612
|
+
const address = await new import_payload_builder2.PayloadBuilder({
|
|
613
|
+
schema: import_address_payload_plugin.AddressSchema
|
|
584
614
|
}).fields({
|
|
585
615
|
address: this.address,
|
|
586
616
|
name: (_a = this.config) == null ? void 0 : _a.name
|
|
587
617
|
}).build();
|
|
588
618
|
const queries = await Promise.all(this.queries.map(async (query) => {
|
|
589
|
-
return await new
|
|
590
|
-
schema: QuerySchema
|
|
619
|
+
return await new import_payload_builder2.PayloadBuilder({
|
|
620
|
+
schema: import_query_payload_plugin.QuerySchema
|
|
591
621
|
}).fields({
|
|
592
622
|
query
|
|
593
623
|
}).build();
|
|
594
624
|
}));
|
|
595
625
|
const configSchema = {
|
|
596
626
|
config: config.schema,
|
|
597
|
-
schema: ConfigSchema
|
|
627
|
+
schema: import_config_payload_plugin.ConfigSchema
|
|
598
628
|
};
|
|
599
|
-
return compact([
|
|
629
|
+
return (0, import_lodash.compact)([
|
|
600
630
|
config,
|
|
601
631
|
configSchema,
|
|
602
632
|
address,
|
|
@@ -609,13 +639,13 @@ var _AbstractModule = class _AbstractModule extends BaseEmitter {
|
|
|
609
639
|
return void 0;
|
|
610
640
|
const filter = typeof this.config.archivist === "string" || this.config.archivist instanceof String ? this.config.archivist : (_b = (_a = this.config) == null ? void 0 : _a.archivist) == null ? void 0 : _b[kind];
|
|
611
641
|
const resolved = await this.upResolver.resolve(filter);
|
|
612
|
-
return asArchivistInstance(resolved);
|
|
642
|
+
return (0, import_archivist_model.asArchivistInstance)(resolved);
|
|
613
643
|
}
|
|
614
644
|
async initializeQueryAccounts() {
|
|
615
645
|
var _a, _b;
|
|
616
|
-
const paths = Object.values(this.queryAccountPaths).filter(exists);
|
|
646
|
+
const paths = Object.values(this.queryAccountPaths).filter(import_exists.exists);
|
|
617
647
|
const distinctPaths = new Set(paths);
|
|
618
|
-
|
|
648
|
+
(0, import_assert2.assertEx)(distinctPaths.size === paths.length, `${((_a = this.config) == null ? void 0 : _a.name) ? this.config.name + ": " : ""}Duplicate query account paths`);
|
|
619
649
|
const wallet = this.account;
|
|
620
650
|
if (wallet == null ? void 0 : wallet.derivePath) {
|
|
621
651
|
for (const key in this.queryAccountPaths) {
|
|
@@ -636,7 +666,7 @@ var _AbstractModule = class _AbstractModule extends BaseEmitter {
|
|
|
636
666
|
name,
|
|
637
667
|
...this.config
|
|
638
668
|
},
|
|
639
|
-
schema: ModuleManifestPayloadSchema,
|
|
669
|
+
schema: import_manifest_model.ModuleManifestPayloadSchema,
|
|
640
670
|
status: {
|
|
641
671
|
address: this.address
|
|
642
672
|
}
|
|
@@ -644,7 +674,7 @@ var _AbstractModule = class _AbstractModule extends BaseEmitter {
|
|
|
644
674
|
}
|
|
645
675
|
moduleAddressHandler() {
|
|
646
676
|
const queryAccounts = Object.entries(this.queryAccounts).filter((value) => {
|
|
647
|
-
return exists(value[1]);
|
|
677
|
+
return (0, import_exists.exists)(value[1]);
|
|
648
678
|
}).map(([name2, account]) => {
|
|
649
679
|
const address2 = account.address;
|
|
650
680
|
const previousHash2 = account.previousHash;
|
|
@@ -652,12 +682,12 @@ var _AbstractModule = class _AbstractModule extends BaseEmitter {
|
|
|
652
682
|
{
|
|
653
683
|
address: address2,
|
|
654
684
|
name: name2,
|
|
655
|
-
schema: AddressSchema
|
|
685
|
+
schema: import_address_payload_plugin.AddressSchema
|
|
656
686
|
},
|
|
657
687
|
{
|
|
658
688
|
address: address2,
|
|
659
689
|
previousHash: previousHash2,
|
|
660
|
-
schema: AddressPreviousHashSchema
|
|
690
|
+
schema: import_module_model.AddressPreviousHashSchema
|
|
661
691
|
}
|
|
662
692
|
];
|
|
663
693
|
});
|
|
@@ -667,18 +697,18 @@ var _AbstractModule = class _AbstractModule extends BaseEmitter {
|
|
|
667
697
|
const moduleAccount = name ? {
|
|
668
698
|
address,
|
|
669
699
|
name,
|
|
670
|
-
schema: AddressSchema
|
|
700
|
+
schema: import_address_payload_plugin.AddressSchema
|
|
671
701
|
} : {
|
|
672
702
|
address,
|
|
673
|
-
schema: AddressSchema
|
|
703
|
+
schema: import_address_payload_plugin.AddressSchema
|
|
674
704
|
};
|
|
675
705
|
const moduleAccountPreviousHash = previousHash ? {
|
|
676
706
|
address,
|
|
677
707
|
previousHash,
|
|
678
|
-
schema: AddressPreviousHashSchema
|
|
708
|
+
schema: import_module_model.AddressPreviousHashSchema
|
|
679
709
|
} : {
|
|
680
710
|
address,
|
|
681
|
-
schema: AddressPreviousHashSchema
|
|
711
|
+
schema: import_module_model.AddressPreviousHashSchema
|
|
682
712
|
};
|
|
683
713
|
return [
|
|
684
714
|
moduleAccount,
|
|
@@ -688,29 +718,29 @@ var _AbstractModule = class _AbstractModule extends BaseEmitter {
|
|
|
688
718
|
}
|
|
689
719
|
async queryHandler(query, payloads, queryConfig) {
|
|
690
720
|
await this.started("throw");
|
|
691
|
-
const wrapper =
|
|
721
|
+
const wrapper = import_boundwitness_builder3.QueryBoundWitnessWrapper.parseQuery(query, payloads);
|
|
692
722
|
const queryPayload = await wrapper.getQuery();
|
|
693
|
-
|
|
723
|
+
(0, import_assert2.assertEx)(this.queryable(query, payloads, queryConfig));
|
|
694
724
|
const resultPayloads = [];
|
|
695
725
|
switch (queryPayload.schema) {
|
|
696
|
-
case ModuleManifestQuerySchema: {
|
|
726
|
+
case import_module_model.ModuleManifestQuerySchema: {
|
|
697
727
|
resultPayloads.push(await this.manifestHandler(queryPayload.maxDepth));
|
|
698
728
|
break;
|
|
699
729
|
}
|
|
700
|
-
case ModuleDiscoverQuerySchema: {
|
|
730
|
+
case import_module_model.ModuleDiscoverQuerySchema: {
|
|
701
731
|
const { maxDepth } = queryPayload;
|
|
702
732
|
resultPayloads.push(...await this.discoverHandler(maxDepth));
|
|
703
733
|
break;
|
|
704
734
|
}
|
|
705
|
-
case ModuleDescribeQuerySchema: {
|
|
735
|
+
case import_module_model.ModuleDescribeQuerySchema: {
|
|
706
736
|
resultPayloads.push(await this.describeHandler());
|
|
707
737
|
break;
|
|
708
738
|
}
|
|
709
|
-
case ModuleAddressQuerySchema: {
|
|
739
|
+
case import_module_model.ModuleAddressQuerySchema: {
|
|
710
740
|
resultPayloads.push(...await this.moduleAddressHandler());
|
|
711
741
|
break;
|
|
712
742
|
}
|
|
713
|
-
case ModuleSubscribeQuerySchema: {
|
|
743
|
+
case import_module_model.ModuleSubscribeQuerySchema: {
|
|
714
744
|
this.subscribeHandler();
|
|
715
745
|
break;
|
|
716
746
|
}
|
|
@@ -726,7 +756,7 @@ var _AbstractModule = class _AbstractModule extends BaseEmitter {
|
|
|
726
756
|
if (!archivists)
|
|
727
757
|
return [];
|
|
728
758
|
const resolved = await Promise.all(archivists.map((archivist) => this.resolve(archivist)));
|
|
729
|
-
return compact(resolved.map((mod) => asArchivistInstance(mod)));
|
|
759
|
+
return (0, import_lodash.compact)(resolved.map((mod) => (0, import_archivist_model.asArchivistInstance)(mod)));
|
|
730
760
|
}
|
|
731
761
|
async startHandler() {
|
|
732
762
|
this.validateConfig();
|
|
@@ -764,7 +794,7 @@ var _AbstractModule = class _AbstractModule extends BaseEmitter {
|
|
|
764
794
|
]) && valid2;
|
|
765
795
|
}, true) && valid;
|
|
766
796
|
}
|
|
767
|
-
if (!serializableField(value)) {
|
|
797
|
+
if (!(0, import_module_model.serializableField)(value)) {
|
|
768
798
|
(_b = this.logger) == null ? void 0 : _b.warn(`Fields that are not serializable to JSON are not allowed in config [${parents == null ? void 0 : parents.join(".")}.${key}]`);
|
|
769
799
|
return false;
|
|
770
800
|
}
|
|
@@ -787,10 +817,10 @@ __publicField(_AbstractModule, "privateConstructorKey", Date.now().toString());
|
|
|
787
817
|
var AbstractModule = _AbstractModule;
|
|
788
818
|
|
|
789
819
|
// src/AbstractModuleInstance.ts
|
|
790
|
-
|
|
820
|
+
var import_assert3 = require("@xylabs/assert");
|
|
791
821
|
var _AbstractModuleInstance = class _AbstractModuleInstance extends AbstractModule {
|
|
792
822
|
constructor(privateConstructorKey, params, account) {
|
|
793
|
-
|
|
823
|
+
(0, import_assert3.assertEx)(AbstractModule.privateConstructorKey === privateConstructorKey, "Use create function instead of constructor");
|
|
794
824
|
const mutatedParams = {
|
|
795
825
|
...params
|
|
796
826
|
};
|
|
@@ -824,7 +854,8 @@ var _AbstractModuleInstance = class _AbstractModuleInstance extends AbstractModu
|
|
|
824
854
|
};
|
|
825
855
|
__name(_AbstractModuleInstance, "AbstractModuleInstance");
|
|
826
856
|
var AbstractModuleInstance = _AbstractModuleInstance;
|
|
827
|
-
export
|
|
857
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
858
|
+
0 && (module.exports = {
|
|
828
859
|
AbstractModule,
|
|
829
860
|
AbstractModuleInstance,
|
|
830
861
|
BaseEmitter,
|
|
@@ -832,5 +863,5 @@ export {
|
|
|
832
863
|
ModuleErrorBuilder,
|
|
833
864
|
SupportedQueryValidator,
|
|
834
865
|
isQuerySupportedByModule
|
|
835
|
-
};
|
|
836
|
-
//# sourceMappingURL=index.
|
|
866
|
+
});
|
|
867
|
+
//# sourceMappingURL=index.cjs.map
|