@xyo-network/module-abstract 2.75.0 → 2.75.1
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/browser/AbstractModule.d.cts +84 -0
- package/dist/browser/AbstractModule.d.cts.map +1 -0
- package/dist/browser/AbstractModule.js +16 -182
- package/dist/browser/AbstractModule.js.map +1 -1
- package/dist/browser/AbstractModuleInstance.d.cts +14 -0
- package/dist/browser/AbstractModuleInstance.d.cts.map +1 -0
- package/dist/browser/AbstractModuleInstance.js +4 -738
- package/dist/browser/AbstractModuleInstance.js.map +1 -1
- package/dist/browser/BaseEmitter.d.cts +17 -0
- package/dist/browser/BaseEmitter.d.cts.map +1 -0
- package/dist/browser/BaseEmitter.js +2 -4
- package/dist/browser/BaseEmitter.js.map +1 -1
- package/dist/browser/Error.d.cts +15 -0
- package/dist/browser/Error.d.cts.map +1 -0
- package/dist/browser/Error.js +2 -4
- package/dist/browser/Error.js.map +1 -1
- package/dist/browser/QueryValidator/ModuleConfigQueryValidator.d.cts +15 -0
- package/dist/browser/QueryValidator/ModuleConfigQueryValidator.d.cts.map +1 -0
- package/dist/browser/QueryValidator/ModuleConfigQueryValidator.js +4 -6
- package/dist/browser/QueryValidator/ModuleConfigQueryValidator.js.map +1 -1
- package/dist/browser/QueryValidator/QueryValidator.d.cts +8 -0
- package/dist/browser/QueryValidator/QueryValidator.d.cts.map +1 -0
- package/dist/browser/QueryValidator/SupportedQueryValidator.d.cts +22 -0
- package/dist/browser/QueryValidator/SupportedQueryValidator.d.cts.map +1 -0
- package/dist/browser/QueryValidator/SupportedQueryValidator.js +3 -5
- package/dist/browser/QueryValidator/SupportedQueryValidator.js.map +1 -1
- package/dist/browser/QueryValidator/index.d.cts +4 -0
- package/dist/browser/QueryValidator/index.d.cts.map +1 -0
- package/dist/browser/QueryValidator/index.js +3 -86
- package/dist/browser/QueryValidator/index.js.map +1 -1
- package/dist/browser/index.d.cts +6 -0
- package/dist/browser/index.d.cts.map +1 -0
- package/dist/browser/index.js +5 -782
- package/dist/browser/index.js.map +1 -1
- package/dist/docs.json +42701 -0
- package/dist/node/AbstractModule.d.cts +84 -0
- package/dist/node/AbstractModule.d.cts.map +1 -0
- package/dist/node/AbstractModule.js +240 -56
- package/dist/node/AbstractModule.js.map +1 -1
- package/dist/node/AbstractModule.mjs +232 -48
- package/dist/node/AbstractModule.mjs.map +1 -1
- package/dist/node/AbstractModuleInstance.d.cts +14 -0
- package/dist/node/AbstractModuleInstance.d.cts.map +1 -0
- package/dist/node/AbstractModuleInstance.js +757 -6
- package/dist/node/AbstractModuleInstance.js.map +1 -1
- package/dist/node/AbstractModuleInstance.mjs +757 -6
- package/dist/node/AbstractModuleInstance.mjs.map +1 -1
- package/dist/node/BaseEmitter.d.cts +17 -0
- package/dist/node/BaseEmitter.d.cts.map +1 -0
- package/dist/node/BaseEmitter.js +6 -5
- package/dist/node/BaseEmitter.js.map +1 -1
- package/dist/node/BaseEmitter.mjs +6 -5
- package/dist/node/BaseEmitter.mjs.map +1 -1
- package/dist/node/Error.d.cts +15 -0
- package/dist/node/Error.d.cts.map +1 -0
- package/dist/node/Error.js +6 -5
- package/dist/node/Error.js.map +1 -1
- package/dist/node/Error.mjs +6 -5
- package/dist/node/Error.mjs.map +1 -1
- package/dist/node/QueryValidator/ModuleConfigQueryValidator.d.cts +15 -0
- package/dist/node/QueryValidator/ModuleConfigQueryValidator.d.cts.map +1 -0
- package/dist/node/QueryValidator/ModuleConfigQueryValidator.js +23 -14
- package/dist/node/QueryValidator/ModuleConfigQueryValidator.js.map +1 -1
- package/dist/node/QueryValidator/ModuleConfigQueryValidator.mjs +23 -14
- package/dist/node/QueryValidator/ModuleConfigQueryValidator.mjs.map +1 -1
- package/dist/node/QueryValidator/QueryValidator.d.cts +8 -0
- package/dist/node/QueryValidator/QueryValidator.d.cts.map +1 -0
- package/dist/node/QueryValidator/QueryValidator.js +2 -0
- package/dist/node/QueryValidator/QueryValidator.js.map +1 -1
- package/dist/node/QueryValidator/SupportedQueryValidator.d.cts +22 -0
- package/dist/node/QueryValidator/SupportedQueryValidator.d.cts.map +1 -0
- package/dist/node/QueryValidator/SupportedQueryValidator.js +7 -6
- package/dist/node/QueryValidator/SupportedQueryValidator.js.map +1 -1
- package/dist/node/QueryValidator/SupportedQueryValidator.mjs +7 -6
- package/dist/node/QueryValidator/SupportedQueryValidator.mjs.map +1 -1
- package/dist/node/QueryValidator/index.d.cts +4 -0
- package/dist/node/QueryValidator/index.d.cts.map +1 -0
- package/dist/node/QueryValidator/index.js +100 -7
- package/dist/node/QueryValidator/index.js.map +1 -1
- package/dist/node/QueryValidator/index.mjs +92 -3
- package/dist/node/QueryValidator/index.mjs.map +1 -1
- package/dist/node/index.d.cts +6 -0
- package/dist/node/index.d.cts.map +1 -0
- package/dist/node/index.js +811 -11
- package/dist/node/index.js.map +1 -1
- package/dist/node/index.mjs +799 -5
- package/dist/node/index.mjs.map +1 -1
- package/package.json +26 -26
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { AccountInstance } from '@xyo-network/account-model';
|
|
2
|
+
import { ArchivistInstance } from '@xyo-network/archivist-model';
|
|
3
|
+
import { QueryBoundWitness } from '@xyo-network/boundwitness-builder';
|
|
4
|
+
import { BoundWitness } from '@xyo-network/boundwitness-model';
|
|
5
|
+
import { ModuleManifestPayload } from '@xyo-network/manifest-model';
|
|
6
|
+
import { AddressPreviousHashPayload, CreatableModule, CreatableModuleFactory, IndividualArchivistConfig, Module, ModuleConfig, ModuleDescriptionPayload, ModuleEventData, ModuleFilter, ModuleFilterOptions, ModuleInstance, ModuleParams, ModuleQueryBase, ModuleQueryHandlerResult, ModuleQueryResult, SchemaString } from '@xyo-network/module-model';
|
|
7
|
+
import { CompositeModuleResolver } from '@xyo-network/module-resolver';
|
|
8
|
+
import { ModuleError, Payload, Query } from '@xyo-network/payload-model';
|
|
9
|
+
import { Promisable, PromiseEx } from '@xyo-network/promise';
|
|
10
|
+
import { WalletInstance } from '@xyo-network/wallet-model';
|
|
11
|
+
import { BaseEmitter } from './BaseEmitter';
|
|
12
|
+
import { Queryable } from './QueryValidator';
|
|
13
|
+
export declare abstract class AbstractModule<TParams extends ModuleParams = ModuleParams, TEventData extends ModuleEventData = ModuleEventData> extends BaseEmitter<TParams, TEventData> implements Module<TParams, TEventData> {
|
|
14
|
+
static configSchemas: string[];
|
|
15
|
+
static enableLazyLoad: boolean;
|
|
16
|
+
protected static privateConstructorKey: string;
|
|
17
|
+
readonly downResolver: Omit<CompositeModuleResolver, 'resolve'>;
|
|
18
|
+
readonly upResolver: Omit<CompositeModuleResolver, 'resolve>'>;
|
|
19
|
+
protected _account: AccountInstance | undefined;
|
|
20
|
+
protected readonly _baseModuleQueryAccountPaths: Record<ModuleQueryBase['schema'], string>;
|
|
21
|
+
protected readonly _queryAccounts: Record<ModuleQueryBase['schema'], AccountInstance | undefined>;
|
|
22
|
+
protected _startPromise: Promisable<boolean> | undefined;
|
|
23
|
+
protected _started: Promisable<boolean> | undefined;
|
|
24
|
+
protected readonly moduleConfigQueryValidator: Queryable;
|
|
25
|
+
protected readonly supportedQueryValidator: Queryable;
|
|
26
|
+
private _busyCount;
|
|
27
|
+
constructor(privateConstructorKey: string, params: TParams, account: AccountInstance);
|
|
28
|
+
static get configSchema(): string;
|
|
29
|
+
get account(): AccountInstance;
|
|
30
|
+
get address(): string;
|
|
31
|
+
get allowAnonymous(): boolean;
|
|
32
|
+
get config(): TParams['config'];
|
|
33
|
+
get ephemeralQueryAccountEnabled(): boolean;
|
|
34
|
+
get queries(): string[];
|
|
35
|
+
get queryAccountPaths(): Readonly<Record<Query['schema'], string | undefined>>;
|
|
36
|
+
get queryAccounts(): Readonly<Record<Query['schema'], AccountInstance | undefined>>;
|
|
37
|
+
get timestamp(): boolean;
|
|
38
|
+
protected abstract get _queryAccountPaths(): Record<Query['schema'], string>;
|
|
39
|
+
static _getRootFunction(funcName: string): any;
|
|
40
|
+
static _noOverride(functionName: string): void;
|
|
41
|
+
static create<TModule extends ModuleInstance>(this: CreatableModule<TModule>, params?: Omit<TModule['params'], 'config'> & {
|
|
42
|
+
config?: TModule['params']['config'];
|
|
43
|
+
}): Promise<TModule>;
|
|
44
|
+
static determineAccount({ account, accountDerivationPath, wallet, }: {
|
|
45
|
+
account?: AccountInstance | 'random';
|
|
46
|
+
accountDerivationPath?: string;
|
|
47
|
+
wallet?: WalletInstance;
|
|
48
|
+
}): Promise<AccountInstance>;
|
|
49
|
+
static factory<TModule extends ModuleInstance>(this: CreatableModule<TModule>, params?: Omit<TModule['params'], 'config'> & {
|
|
50
|
+
config?: TModule['params']['config'];
|
|
51
|
+
}): CreatableModuleFactory<TModule>;
|
|
52
|
+
_getRootFunction(funcName: string): any;
|
|
53
|
+
_noOverride(functionName: string): void;
|
|
54
|
+
busy<R>(closure: () => Promise<R>): Promise<R>;
|
|
55
|
+
emit<TEventName extends keyof TEventData = keyof TEventData, TEventArgs extends TEventData[TEventName] = TEventData[TEventName]>(eventName: TEventName, eventArgs: TEventArgs): Promise<void>;
|
|
56
|
+
previousHash(): Promisable<string | undefined>;
|
|
57
|
+
query<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryResult>;
|
|
58
|
+
queryable<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): boolean;
|
|
59
|
+
resolve<T extends ModuleInstance = ModuleInstance>(filter?: ModuleFilter, options?: ModuleFilterOptions<T>): Promise<T[]>;
|
|
60
|
+
resolve<T extends ModuleInstance = ModuleInstance>(nameOrAddress: string, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
|
|
61
|
+
start(_timeout?: number): Promisable<boolean>;
|
|
62
|
+
started(notStartedAction?: 'error' | 'throw' | 'warn' | 'log' | 'none', tryStart?: boolean): Promise<boolean>;
|
|
63
|
+
stop(_timeout?: number): Promise<boolean>;
|
|
64
|
+
protected bindHashes(hashes: string[], schema: SchemaString[], account?: AccountInstance): PromiseEx<unknown, AccountInstance>;
|
|
65
|
+
protected bindHashesInternal(hashes: string[], schema: SchemaString[], account?: AccountInstance): Promise<BoundWitness>;
|
|
66
|
+
protected bindQuery<T extends Query>(query: T, payloads?: Payload[], account?: AccountInstance): PromiseEx<[QueryBoundWitness, Payload[], Payload[]], AccountInstance>;
|
|
67
|
+
protected bindQueryInternal<T extends Query>(query: T, payloads?: Payload[], account?: AccountInstance): Promise<[QueryBoundWitness, Payload[], Payload[]]>;
|
|
68
|
+
protected bindQueryResult<T extends Query>(query: T, payloads: Payload[], additionalWitnesses?: AccountInstance[], errors?: ModuleError[]): Promise<ModuleQueryResult>;
|
|
69
|
+
protected commitArchivist: () => Promise<ArchivistInstance | undefined>;
|
|
70
|
+
protected describeHandler(): Promise<ModuleDescriptionPayload>;
|
|
71
|
+
protected discoverHandler(): Promisable<Payload[]>;
|
|
72
|
+
protected getArchivist(kind: keyof IndividualArchivistConfig): Promise<ArchivistInstance | undefined>;
|
|
73
|
+
protected initializeQueryAccounts(): Promise<void>;
|
|
74
|
+
protected manifestHandler(_ignoreAddresses?: string[]): Promisable<ModuleManifestPayload>;
|
|
75
|
+
protected moduleAddressHandler(): Promisable<AddressPreviousHashPayload[]>;
|
|
76
|
+
protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryHandlerResult>;
|
|
77
|
+
protected readArchivist: () => Promise<ArchivistInstance | undefined>;
|
|
78
|
+
protected startHandler(): Promise<boolean>;
|
|
79
|
+
protected stopHandler(_timeout?: number): Promisable<boolean>;
|
|
80
|
+
protected subscribeHandler(): void;
|
|
81
|
+
protected validateConfig(config?: unknown, parents?: string[]): boolean;
|
|
82
|
+
protected writeArchivist: () => Promise<ArchivistInstance | undefined>;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=AbstractModule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractModule.d.ts","sourceRoot":"","sources":["../../src/AbstractModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ var __defProp = Object.defineProperty;
|
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
7
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
8
|
var __export = (target, all) => {
|
|
8
9
|
for (var name in all)
|
|
@@ -17,6 +18,12 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
18
|
return to;
|
|
18
19
|
};
|
|
19
20
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
+
var __publicField = (obj, key, value) => {
|
|
22
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
23
|
+
return value;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
// src/AbstractModule.ts
|
|
20
27
|
var AbstractModule_exports = {};
|
|
21
28
|
__export(AbstractModule_exports, {
|
|
22
29
|
AbstractModule: () => AbstractModule
|
|
@@ -28,27 +35,189 @@ var import_lodash = require("@xylabs/lodash");
|
|
|
28
35
|
var import_account = require("@xyo-network/account");
|
|
29
36
|
var import_address_payload_plugin = require("@xyo-network/address-payload-plugin");
|
|
30
37
|
var import_archivist_model = require("@xyo-network/archivist-model");
|
|
31
|
-
var
|
|
38
|
+
var import_boundwitness_builder3 = require("@xyo-network/boundwitness-builder");
|
|
32
39
|
var import_config_payload_plugin = require("@xyo-network/config-payload-plugin");
|
|
33
|
-
var
|
|
40
|
+
var import_core2 = require("@xyo-network/core");
|
|
34
41
|
var import_error = require("@xyo-network/error");
|
|
35
42
|
var import_manifest_model = require("@xyo-network/manifest-model");
|
|
36
43
|
var import_module_model = require("@xyo-network/module-model");
|
|
37
44
|
var import_module_resolver = require("@xyo-network/module-resolver");
|
|
38
|
-
var
|
|
45
|
+
var import_payload_builder2 = require("@xyo-network/payload-builder");
|
|
39
46
|
var import_promise = require("@xyo-network/promise");
|
|
40
47
|
var import_query_payload_plugin = require("@xyo-network/query-payload-plugin");
|
|
41
48
|
var import_shared = require("@xyo-network/shared");
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
var
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
|
|
50
|
+
// src/BaseEmitter.ts
|
|
51
|
+
var import_core = require("@xyo-network/core");
|
|
52
|
+
var import_module_events = require("@xyo-network/module-events");
|
|
53
|
+
var _BaseEmitter = class _BaseEmitter extends import_core.Base {
|
|
54
|
+
//just here to query types
|
|
55
|
+
eventData = {};
|
|
56
|
+
events;
|
|
57
|
+
constructor(params) {
|
|
58
|
+
super(params);
|
|
59
|
+
this.events = new import_module_events.Events();
|
|
60
|
+
}
|
|
61
|
+
clearListeners(eventNames) {
|
|
62
|
+
return this.events.clearListeners(eventNames);
|
|
63
|
+
}
|
|
64
|
+
emit(eventName, eventArgs) {
|
|
65
|
+
return this.events.emit(eventName, eventArgs);
|
|
66
|
+
}
|
|
67
|
+
emitSerial(eventName, eventArgs) {
|
|
68
|
+
return this.events.emitSerial(eventName, eventArgs);
|
|
69
|
+
}
|
|
70
|
+
listenerCount(eventNames) {
|
|
71
|
+
return this.events.listenerCount(eventNames);
|
|
72
|
+
}
|
|
73
|
+
off(eventNames, listener) {
|
|
74
|
+
return this.events.off(eventNames, listener);
|
|
75
|
+
}
|
|
76
|
+
offAny(listener) {
|
|
77
|
+
return this.events.offAny(listener);
|
|
78
|
+
}
|
|
79
|
+
on(eventNames, listener) {
|
|
80
|
+
return this.events.on(eventNames, listener);
|
|
81
|
+
}
|
|
82
|
+
onAny(listener) {
|
|
83
|
+
return this.events.onAny(listener);
|
|
84
|
+
}
|
|
85
|
+
once(eventName, listener) {
|
|
86
|
+
return this.events.once(eventName, listener);
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
__name(_BaseEmitter, "BaseEmitter");
|
|
90
|
+
var BaseEmitter = _BaseEmitter;
|
|
91
|
+
|
|
92
|
+
// src/Error.ts
|
|
93
|
+
var import_payload_builder = require("@xyo-network/payload-builder");
|
|
94
|
+
var import_payload_model = require("@xyo-network/payload-model");
|
|
95
|
+
var _ModuleErrorBuilder = class _ModuleErrorBuilder extends import_payload_builder.PayloadBuilder {
|
|
96
|
+
_message;
|
|
97
|
+
_name;
|
|
98
|
+
_query;
|
|
99
|
+
_sources;
|
|
100
|
+
constructor() {
|
|
101
|
+
super({
|
|
102
|
+
schema: import_payload_model.ModuleErrorSchema
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
build() {
|
|
106
|
+
return {
|
|
107
|
+
message: this._message,
|
|
108
|
+
name: this._name,
|
|
109
|
+
query: this._query,
|
|
110
|
+
schema: import_payload_model.ModuleErrorSchema,
|
|
111
|
+
sources: this._sources
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
message(message) {
|
|
115
|
+
this._message = message;
|
|
116
|
+
return this;
|
|
117
|
+
}
|
|
118
|
+
name(name) {
|
|
119
|
+
this._name = name;
|
|
120
|
+
return this;
|
|
121
|
+
}
|
|
122
|
+
query(query) {
|
|
123
|
+
this._query = query;
|
|
124
|
+
return this;
|
|
125
|
+
}
|
|
126
|
+
sources(sources) {
|
|
127
|
+
this._sources = sources;
|
|
128
|
+
return this;
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
__name(_ModuleErrorBuilder, "ModuleErrorBuilder");
|
|
132
|
+
var ModuleErrorBuilder = _ModuleErrorBuilder;
|
|
133
|
+
|
|
134
|
+
// src/QueryValidator/ModuleConfigQueryValidator.ts
|
|
135
|
+
var import_boundwitness_builder = require("@xyo-network/boundwitness-builder");
|
|
136
|
+
var delimiter = "";
|
|
137
|
+
var _ModuleConfigQueryValidator = class _ModuleConfigQueryValidator {
|
|
138
|
+
allowed = {};
|
|
139
|
+
disallowed = {};
|
|
140
|
+
hasAllowedRules;
|
|
141
|
+
hasDisallowedRules;
|
|
142
|
+
hasRules;
|
|
143
|
+
constructor(config) {
|
|
144
|
+
var _a, _b, _c, _d;
|
|
145
|
+
if ((_a = config == null ? void 0 : config.security) == null ? void 0 : _a.allowed) {
|
|
146
|
+
Object.entries((_b = config.security) == null ? void 0 : _b.allowed).forEach(([schema, addresses]) => {
|
|
147
|
+
this.allowed[schema] = addresses.map(toAddressesString);
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
if ((_c = config == null ? void 0 : config.security) == null ? void 0 : _c.disallowed) {
|
|
151
|
+
Object.entries((_d = config.security) == null ? void 0 : _d.disallowed).forEach(([schema, addresses]) => {
|
|
152
|
+
this.disallowed[schema] = addresses.map(toAddressesString);
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
this.hasAllowedRules = Object.keys(this.allowed).length > 0;
|
|
156
|
+
this.hasDisallowedRules = Object.keys(this.disallowed).length > 0;
|
|
157
|
+
this.hasRules = this.hasAllowedRules || this.hasDisallowedRules;
|
|
158
|
+
}
|
|
159
|
+
queryable = async (query, payloads) => {
|
|
160
|
+
if (!this.hasRules)
|
|
161
|
+
return true;
|
|
162
|
+
const addresses = query.addresses;
|
|
163
|
+
if (!addresses.length)
|
|
164
|
+
return false;
|
|
165
|
+
const wrapper = import_boundwitness_builder.QueryBoundWitnessWrapper.parseQuery(query, payloads);
|
|
166
|
+
const schema = (await wrapper.getQuery()).schema;
|
|
167
|
+
return this.queryAllowed(schema, addresses) && !this.queryDisallowed(schema, addresses);
|
|
168
|
+
};
|
|
169
|
+
queryAllowed = (schema, addresses) => {
|
|
170
|
+
var _a, _b;
|
|
171
|
+
if (!this.hasAllowedRules)
|
|
172
|
+
return true;
|
|
173
|
+
if (addresses.length > 1) {
|
|
174
|
+
const signatories = toAddressesString(addresses);
|
|
175
|
+
const validCosigners = (_b = (_a = this.allowed) == null ? void 0 : _a[schema]) == null ? void 0 : _b.includes(signatories);
|
|
176
|
+
if (validCosigners)
|
|
177
|
+
return true;
|
|
178
|
+
}
|
|
179
|
+
return addresses.every((address) => {
|
|
180
|
+
var _a2, _b2;
|
|
181
|
+
return ((_b2 = (_a2 = this.allowed) == null ? void 0 : _a2[schema]) == null ? void 0 : _b2.includes(address)) || false;
|
|
182
|
+
});
|
|
183
|
+
};
|
|
184
|
+
queryDisallowed = (schema, addresses) => {
|
|
185
|
+
if (!this.hasDisallowedRules)
|
|
186
|
+
return false;
|
|
187
|
+
return addresses.some((address) => {
|
|
188
|
+
var _a, _b;
|
|
189
|
+
return (_b = (_a = this.disallowed) == null ? void 0 : _a[schema]) == null ? void 0 : _b.includes(address);
|
|
190
|
+
});
|
|
191
|
+
};
|
|
192
|
+
};
|
|
193
|
+
__name(_ModuleConfigQueryValidator, "ModuleConfigQueryValidator");
|
|
194
|
+
var ModuleConfigQueryValidator = _ModuleConfigQueryValidator;
|
|
195
|
+
var toAddressesString = /* @__PURE__ */ __name((addresses) => {
|
|
196
|
+
return Array.isArray(addresses) ? addresses.sort().map((address) => address.toLowerCase()).join(delimiter) : addresses.toLowerCase();
|
|
197
|
+
}, "toAddressesString");
|
|
198
|
+
|
|
199
|
+
// src/QueryValidator/SupportedQueryValidator.ts
|
|
200
|
+
var import_boundwitness_builder2 = require("@xyo-network/boundwitness-builder");
|
|
201
|
+
var isQuerySupportedByModule = /* @__PURE__ */ __name(async (mod, query, payloads) => {
|
|
202
|
+
const wrapper = import_boundwitness_builder2.QueryBoundWitnessWrapper.parseQuery(query, payloads);
|
|
203
|
+
const schema = (await wrapper.getQuery()).schema;
|
|
204
|
+
return mod.queries.includes(schema);
|
|
205
|
+
}, "isQuerySupportedByModule");
|
|
206
|
+
var _SupportedQueryValidator = class _SupportedQueryValidator {
|
|
207
|
+
mod;
|
|
208
|
+
constructor(mod) {
|
|
209
|
+
this.mod = mod;
|
|
210
|
+
this.queryable = (query, payloads) => {
|
|
211
|
+
return isQuerySupportedByModule(this.mod, query, payloads);
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
queryable;
|
|
215
|
+
};
|
|
216
|
+
__name(_SupportedQueryValidator, "SupportedQueryValidator");
|
|
217
|
+
var SupportedQueryValidator = _SupportedQueryValidator;
|
|
218
|
+
|
|
219
|
+
// src/AbstractModule.ts
|
|
220
|
+
var _AbstractModule = class _AbstractModule extends BaseEmitter {
|
|
52
221
|
downResolver = new import_module_resolver.CompositeModuleResolver();
|
|
53
222
|
upResolver = new import_module_resolver.CompositeModuleResolver();
|
|
54
223
|
_account = void 0;
|
|
@@ -72,14 +241,14 @@ class AbstractModule extends import_BaseEmitter.BaseEmitter {
|
|
|
72
241
|
supportedQueryValidator;
|
|
73
242
|
_busyCount = 0;
|
|
74
243
|
constructor(privateConstructorKey, params, account) {
|
|
75
|
-
(0, import_assert.assertEx)(
|
|
244
|
+
(0, import_assert.assertEx)(_AbstractModule.privateConstructorKey === privateConstructorKey, "Use create function instead of constructor");
|
|
76
245
|
const mutatedParams = {
|
|
77
246
|
...params
|
|
78
247
|
};
|
|
79
248
|
super(mutatedParams);
|
|
80
249
|
this._account = account;
|
|
81
|
-
this.supportedQueryValidator = new
|
|
82
|
-
this.moduleConfigQueryValidator = new
|
|
250
|
+
this.supportedQueryValidator = new SupportedQueryValidator(this).queryable;
|
|
251
|
+
this.moduleConfigQueryValidator = new ModuleConfigQueryValidator(mutatedParams == null ? void 0 : mutatedParams.config).queryable;
|
|
83
252
|
}
|
|
84
253
|
static get configSchema() {
|
|
85
254
|
return this.configSchemas[0];
|
|
@@ -91,7 +260,8 @@ class AbstractModule extends import_BaseEmitter.BaseEmitter {
|
|
|
91
260
|
return this.account.address;
|
|
92
261
|
}
|
|
93
262
|
get allowAnonymous() {
|
|
94
|
-
|
|
263
|
+
var _a;
|
|
264
|
+
return !!((_a = this.config.security) == null ? void 0 : _a.allowAnonymous);
|
|
95
265
|
}
|
|
96
266
|
get config() {
|
|
97
267
|
return this.params.config;
|
|
@@ -133,36 +303,37 @@ class AbstractModule extends import_BaseEmitter.BaseEmitter {
|
|
|
133
303
|
(0, import_assert.assertEx)(thisFunc === rootFunc, `Override not allowed for [${functionName}] - override ${functionName}Handler instead`);
|
|
134
304
|
}
|
|
135
305
|
static async create(params) {
|
|
306
|
+
var _a, _b, _c, _d;
|
|
136
307
|
this._noOverride("create");
|
|
137
308
|
if (!this.configSchemas || this.configSchemas.length === 0) {
|
|
138
|
-
throw Error(`Missing configSchema [${params
|
|
309
|
+
throw Error(`Missing configSchema [${(_a = params == null ? void 0 : params.config) == null ? void 0 : _a.schema}][${this.name}]`);
|
|
139
310
|
}
|
|
140
311
|
const { account, config, wallet } = params ?? {};
|
|
141
312
|
const { accountDerivationPath } = config ?? {};
|
|
142
|
-
(0, import_assert.assertEx)(!(!!account && !!wallet), `Specifying both {account} and {wallet} are not allowed [${config
|
|
143
|
-
const schema = params
|
|
313
|
+
(0, import_assert.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
|
+
const schema = ((_b = params == null ? void 0 : params.config) == null ? void 0 : _b.schema) ?? this.configSchema;
|
|
144
315
|
const allowedSchemas = this.configSchemas;
|
|
145
316
|
(0, import_assert.assertEx)(allowedSchemas.filter((allowedSchema) => allowedSchema === schema).length > 0, `Bad Config Schema [Received ${schema}] [Expected ${JSON.stringify(allowedSchemas)}]`);
|
|
146
317
|
const mutatedConfig = {
|
|
147
|
-
...params
|
|
318
|
+
...params == null ? void 0 : params.config,
|
|
148
319
|
schema
|
|
149
320
|
};
|
|
150
|
-
params
|
|
321
|
+
(_c = params == null ? void 0 : params.logger) == null ? void 0 : _c.debug(`config: ${JSON.stringify(mutatedConfig, null, 2)}`);
|
|
151
322
|
const mutatedParams = {
|
|
152
323
|
...params,
|
|
153
324
|
config: mutatedConfig
|
|
154
325
|
};
|
|
155
|
-
const activeLogger = params
|
|
156
|
-
const generatedAccount = await
|
|
326
|
+
const activeLogger = (params == null ? void 0 : params.logger) ?? _AbstractModule.defaultLogger;
|
|
327
|
+
const generatedAccount = await _AbstractModule.determineAccount({
|
|
157
328
|
account,
|
|
158
329
|
accountDerivationPath,
|
|
159
330
|
wallet
|
|
160
331
|
});
|
|
161
332
|
const address = generatedAccount.address;
|
|
162
333
|
mutatedParams.logger = activeLogger ? new import_shared.IdLogger(activeLogger, () => `0x${address}`) : void 0;
|
|
163
|
-
const newModule = new this(
|
|
164
|
-
if (!
|
|
165
|
-
await newModule.start
|
|
334
|
+
const newModule = new this(_AbstractModule.privateConstructorKey, mutatedParams, generatedAccount);
|
|
335
|
+
if (!_AbstractModule.enableLazyLoad) {
|
|
336
|
+
await ((_d = newModule.start) == null ? void 0 : _d.call(newModule));
|
|
166
337
|
}
|
|
167
338
|
return newModule;
|
|
168
339
|
}
|
|
@@ -236,11 +407,11 @@ class AbstractModule extends import_BaseEmitter.BaseEmitter {
|
|
|
236
407
|
throw Error(`Anonymous Queries not allowed, but running anyway [${this.config.name}], [${this.address}]`);
|
|
237
408
|
}
|
|
238
409
|
}
|
|
239
|
-
resultPayloads.push(...await this.queryHandler((0, import_assert.assertEx)(
|
|
410
|
+
resultPayloads.push(...await this.queryHandler((0, import_assert.assertEx)(import_boundwitness_builder3.QueryBoundWitnessWrapper.unwrap(query)), payloads, queryConfig));
|
|
240
411
|
} catch (ex) {
|
|
241
412
|
await (0, import_error.handleErrorAsync)(ex, async (error) => {
|
|
242
|
-
errorPayloads.push(new
|
|
243
|
-
await
|
|
413
|
+
errorPayloads.push(new ModuleErrorBuilder().sources([
|
|
414
|
+
await import_core2.PayloadHasher.hashAsync(query)
|
|
244
415
|
]).name(this.config.name ?? "<Unknown>").query(query.schema).message(error.message).build());
|
|
245
416
|
});
|
|
246
417
|
}
|
|
@@ -267,7 +438,7 @@ class AbstractModule extends import_BaseEmitter.BaseEmitter {
|
|
|
267
438
|
queryable(query, payloads, queryConfig) {
|
|
268
439
|
if (!this.started("warn"))
|
|
269
440
|
return false;
|
|
270
|
-
const configValidator = queryConfig ? new
|
|
441
|
+
const configValidator = queryConfig ? new ModuleConfigQueryValidator(Object.assign({}, this.config, queryConfig)).queryable : this.moduleConfigQueryValidator;
|
|
271
442
|
const validators = [
|
|
272
443
|
this.supportedQueryValidator,
|
|
273
444
|
configValidator
|
|
@@ -275,7 +446,7 @@ class AbstractModule extends import_BaseEmitter.BaseEmitter {
|
|
|
275
446
|
return validators.every((validator) => validator(query, payloads));
|
|
276
447
|
}
|
|
277
448
|
async resolve(nameOrAddressOrFilter, options) {
|
|
278
|
-
const direction = options
|
|
449
|
+
const direction = (options == null ? void 0 : options.direction) ?? "all";
|
|
279
450
|
const up = direction === "up" || direction === "all";
|
|
280
451
|
const down = direction === "down" || direction === "all";
|
|
281
452
|
switch (typeof nameOrAddressOrFilter) {
|
|
@@ -302,13 +473,15 @@ class AbstractModule extends import_BaseEmitter.BaseEmitter {
|
|
|
302
473
|
}
|
|
303
474
|
if (!started) {
|
|
304
475
|
this._started = (async () => {
|
|
476
|
+
var _a, _b, _c;
|
|
305
477
|
if (tryStart) {
|
|
306
478
|
try {
|
|
307
479
|
await this.start();
|
|
308
480
|
return true;
|
|
309
481
|
} catch (ex) {
|
|
310
482
|
(0, import_error.handleError)(ex, (error) => {
|
|
311
|
-
|
|
483
|
+
var _a2;
|
|
484
|
+
(_a2 = this.logger) == null ? void 0 : _a2.warn(`Autostart of Module Failed: ${error.message})`);
|
|
312
485
|
this._started = void 0;
|
|
313
486
|
});
|
|
314
487
|
}
|
|
@@ -317,16 +490,16 @@ class AbstractModule extends import_BaseEmitter.BaseEmitter {
|
|
|
317
490
|
case "throw":
|
|
318
491
|
throw Error(`Module not Started [${this.address}]`);
|
|
319
492
|
case "warn":
|
|
320
|
-
this.logger
|
|
493
|
+
(_a = this.logger) == null ? void 0 : _a.warn("Module not started");
|
|
321
494
|
break;
|
|
322
495
|
case "error":
|
|
323
|
-
this.logger
|
|
496
|
+
(_b = this.logger) == null ? void 0 : _b.error("Module not started");
|
|
324
497
|
break;
|
|
325
498
|
case "none":
|
|
326
499
|
break;
|
|
327
500
|
case "log":
|
|
328
501
|
default: {
|
|
329
|
-
this.logger
|
|
502
|
+
(_c = this.logger) == null ? void 0 : _c.log("Module not started");
|
|
330
503
|
break;
|
|
331
504
|
}
|
|
332
505
|
}
|
|
@@ -349,32 +522,33 @@ class AbstractModule extends import_BaseEmitter.BaseEmitter {
|
|
|
349
522
|
bindHashes(hashes, schema, account) {
|
|
350
523
|
const promise = new import_promise.PromiseEx((resolve) => {
|
|
351
524
|
const result = this.bindHashesInternal(hashes, schema, account);
|
|
352
|
-
resolve
|
|
525
|
+
resolve == null ? void 0 : resolve(result);
|
|
353
526
|
return result;
|
|
354
527
|
}, account);
|
|
355
528
|
return promise;
|
|
356
529
|
}
|
|
357
530
|
async bindHashesInternal(hashes, schema, account) {
|
|
358
|
-
|
|
531
|
+
var _a;
|
|
532
|
+
const builder = new import_boundwitness_builder3.BoundWitnessBuilder().hashes(hashes, schema).witness(this.account);
|
|
359
533
|
const result = (await (account ? builder.witness(account) : builder).build())[0];
|
|
360
|
-
this.logger
|
|
534
|
+
(_a = this.logger) == null ? void 0 : _a.debug(`result: ${JSON.stringify(result, null, 2)}`);
|
|
361
535
|
return result;
|
|
362
536
|
}
|
|
363
537
|
bindQuery(query, payloads, account) {
|
|
364
538
|
const promise = new import_promise.PromiseEx(async (resolve) => {
|
|
365
539
|
const result = await this.bindQueryInternal(query, payloads, account);
|
|
366
|
-
resolve
|
|
540
|
+
resolve == null ? void 0 : resolve(result);
|
|
367
541
|
return result;
|
|
368
542
|
}, account);
|
|
369
543
|
return promise;
|
|
370
544
|
}
|
|
371
545
|
async bindQueryInternal(query, payloads, account) {
|
|
372
|
-
const builder = new
|
|
546
|
+
const builder = new import_boundwitness_builder3.QueryBoundWitnessBuilder().payloads(payloads).witness(this.account).query(query);
|
|
373
547
|
const result = await (account ? builder.witness(account) : builder).build();
|
|
374
548
|
return result;
|
|
375
549
|
}
|
|
376
550
|
async bindQueryResult(query, payloads, additionalWitnesses = [], errors) {
|
|
377
|
-
const builder = new
|
|
551
|
+
const builder = new import_boundwitness_builder3.BoundWitnessBuilder().payloads(payloads).errors(errors);
|
|
378
552
|
const queryWitnessAccount = this.queryAccounts[query.schema];
|
|
379
553
|
const witnesses = [
|
|
380
554
|
this.account,
|
|
@@ -391,31 +565,33 @@ class AbstractModule extends import_BaseEmitter.BaseEmitter {
|
|
|
391
565
|
}
|
|
392
566
|
commitArchivist = () => this.getArchivist("commit");
|
|
393
567
|
async describeHandler() {
|
|
568
|
+
var _a;
|
|
394
569
|
const description = {
|
|
395
570
|
address: this.address,
|
|
396
571
|
queries: this.queries,
|
|
397
572
|
schema: import_module_model.ModuleDescriptionSchema
|
|
398
573
|
};
|
|
399
|
-
if (this.config
|
|
574
|
+
if ((_a = this.config) == null ? void 0 : _a.name) {
|
|
400
575
|
description.name = this.config.name;
|
|
401
576
|
}
|
|
402
577
|
const discover = await this.discoverHandler();
|
|
403
|
-
description.children = (0, import_lodash.compact)(discover
|
|
578
|
+
description.children = (0, import_lodash.compact)((discover == null ? void 0 : discover.map((payload) => {
|
|
404
579
|
const address = payload.schema === import_address_payload_plugin.AddressSchema ? payload.address : void 0;
|
|
405
580
|
return address != this.address ? address : void 0;
|
|
406
|
-
}) ?? []);
|
|
581
|
+
})) ?? []);
|
|
407
582
|
return description;
|
|
408
583
|
}
|
|
409
584
|
discoverHandler() {
|
|
585
|
+
var _a;
|
|
410
586
|
const config = this.config;
|
|
411
|
-
const address = new
|
|
587
|
+
const address = new import_payload_builder2.PayloadBuilder({
|
|
412
588
|
schema: import_address_payload_plugin.AddressSchema
|
|
413
589
|
}).fields({
|
|
414
590
|
address: this.address,
|
|
415
|
-
name: this.config
|
|
591
|
+
name: (_a = this.config) == null ? void 0 : _a.name
|
|
416
592
|
}).build();
|
|
417
593
|
const queries = this.queries.map((query) => {
|
|
418
|
-
return new
|
|
594
|
+
return new import_payload_builder2.PayloadBuilder({
|
|
419
595
|
schema: import_query_payload_plugin.QuerySchema
|
|
420
596
|
}).fields({
|
|
421
597
|
query
|
|
@@ -433,24 +609,26 @@ class AbstractModule extends import_BaseEmitter.BaseEmitter {
|
|
|
433
609
|
]);
|
|
434
610
|
}
|
|
435
611
|
async getArchivist(kind) {
|
|
612
|
+
var _a, _b;
|
|
436
613
|
if (!this.config.archivist)
|
|
437
614
|
return void 0;
|
|
438
|
-
const filter = typeof this.config.archivist === "string" || this.config.archivist instanceof String ? this.config.archivist : this.config
|
|
615
|
+
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];
|
|
439
616
|
const resolved = await this.upResolver.resolve(filter);
|
|
440
617
|
return (0, import_archivist_model.asArchivistInstance)(resolved);
|
|
441
618
|
}
|
|
442
619
|
async initializeQueryAccounts() {
|
|
620
|
+
var _a, _b;
|
|
443
621
|
const paths = Object.values(this.queryAccountPaths).filter(import_exists.exists);
|
|
444
622
|
const distinctPaths = new Set(paths);
|
|
445
|
-
(0, import_assert.assertEx)(distinctPaths.size === paths.length, `${this.config
|
|
623
|
+
(0, import_assert.assertEx)(distinctPaths.size === paths.length, `${((_a = this.config) == null ? void 0 : _a.name) ? this.config.name + ": " : ""}Duplicate query account paths`);
|
|
446
624
|
const wallet = this.account;
|
|
447
|
-
if (wallet
|
|
625
|
+
if (wallet == null ? void 0 : wallet.derivePath) {
|
|
448
626
|
for (const key in this.queryAccountPaths) {
|
|
449
627
|
if (Object.prototype.hasOwnProperty.call(this.queryAccountPaths, key)) {
|
|
450
628
|
const query = key;
|
|
451
629
|
const queryAccountPath = this.queryAccountPaths[query];
|
|
452
630
|
if (queryAccountPath) {
|
|
453
|
-
this._queryAccounts[query] = await wallet.derivePath
|
|
631
|
+
this._queryAccounts[query] = await ((_b = wallet.derivePath) == null ? void 0 : _b.call(wallet, queryAccountPath));
|
|
454
632
|
}
|
|
455
633
|
}
|
|
456
634
|
}
|
|
@@ -512,7 +690,7 @@ class AbstractModule extends import_BaseEmitter.BaseEmitter {
|
|
|
512
690
|
}
|
|
513
691
|
async queryHandler(query, payloads, queryConfig) {
|
|
514
692
|
await this.started("throw");
|
|
515
|
-
const wrapper =
|
|
693
|
+
const wrapper = import_boundwitness_builder3.QueryBoundWitnessWrapper.parseQuery(query, payloads);
|
|
516
694
|
const queryPayload = await wrapper.getQuery();
|
|
517
695
|
(0, import_assert.assertEx)(this.queryable(query, payloads, queryConfig));
|
|
518
696
|
const resultPayloads = [];
|
|
@@ -558,9 +736,10 @@ class AbstractModule extends import_BaseEmitter.BaseEmitter {
|
|
|
558
736
|
}
|
|
559
737
|
validateConfig(config, parents = []) {
|
|
560
738
|
return Object.entries(config ?? this.config ?? {}).reduce((valid, [key, value]) => {
|
|
739
|
+
var _a, _b;
|
|
561
740
|
switch (typeof value) {
|
|
562
741
|
case "function":
|
|
563
|
-
this.logger
|
|
742
|
+
(_a = this.logger) == null ? void 0 : _a.warn(`Fields of type function not allowed in config [${parents == null ? void 0 : parents.join(".")}.${key}]`);
|
|
564
743
|
return false;
|
|
565
744
|
case "object": {
|
|
566
745
|
if (Array.isArray(value)) {
|
|
@@ -572,7 +751,7 @@ class AbstractModule extends import_BaseEmitter.BaseEmitter {
|
|
|
572
751
|
}, true) && valid;
|
|
573
752
|
}
|
|
574
753
|
if (!(0, import_module_model.serializableField)(value)) {
|
|
575
|
-
this.logger
|
|
754
|
+
(_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}]`);
|
|
576
755
|
return false;
|
|
577
756
|
}
|
|
578
757
|
return value ? this.validateConfig(value, [
|
|
@@ -586,7 +765,12 @@ class AbstractModule extends import_BaseEmitter.BaseEmitter {
|
|
|
586
765
|
}, true);
|
|
587
766
|
}
|
|
588
767
|
writeArchivist = () => this.getArchivist("write");
|
|
589
|
-
}
|
|
768
|
+
};
|
|
769
|
+
__name(_AbstractModule, "AbstractModule");
|
|
770
|
+
__publicField(_AbstractModule, "configSchemas");
|
|
771
|
+
__publicField(_AbstractModule, "enableLazyLoad", false);
|
|
772
|
+
__publicField(_AbstractModule, "privateConstructorKey", Date.now().toString());
|
|
773
|
+
var AbstractModule = _AbstractModule;
|
|
590
774
|
// Annotate the CommonJS export names for ESM import in node:
|
|
591
775
|
0 && (module.exports = {
|
|
592
776
|
AbstractModule
|