@xyo-network/bridge-abstract 7.0.8 → 7.0.10
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/neutral/index.d.ts +1 -4
- package/dist/neutral/index.d.ts.map +1 -1
- package/dist/neutral/index.mjs +2 -537
- package/dist/neutral/index.mjs.map +4 -4
- package/package.json +12 -28
- package/dist/neutral/AbstractBridge.d.ts +0 -31
- package/dist/neutral/AbstractBridge.d.ts.map +0 -1
- package/dist/neutral/AbstractBridgeModuleResolver.d.ts +0 -23
- package/dist/neutral/AbstractBridgeModuleResolver.d.ts.map +0 -1
- package/dist/neutral/AbstractModuleProxy/AbstractModuleProxy.d.ts +0 -59
- package/dist/neutral/AbstractModuleProxy/AbstractModuleProxy.d.ts.map +0 -1
- package/dist/neutral/AbstractModuleProxy/ModuleProxyResolver.d.ts +0 -37
- package/dist/neutral/AbstractModuleProxy/ModuleProxyResolver.d.ts.map +0 -1
- package/dist/neutral/AbstractModuleProxy/index.d.ts +0 -3
- package/dist/neutral/AbstractModuleProxy/index.d.ts.map +0 -1
- package/dist/neutral/wrapModuleWithType.d.ts +0 -5
- package/dist/neutral/wrapModuleWithType.d.ts.map +0 -1
package/dist/neutral/index.d.ts
CHANGED
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
export * from '
|
|
2
|
-
export * from './AbstractBridgeModuleResolver.ts';
|
|
3
|
-
export * from './AbstractModuleProxy/index.ts';
|
|
4
|
-
export * from './wrapModuleWithType.ts';
|
|
1
|
+
export * from '@xyo-network/sdk/bridge-abstract';
|
|
5
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,kCAAkC,CAAA"}
|
package/dist/neutral/index.mjs
CHANGED
|
@@ -1,538 +1,3 @@
|
|
|
1
|
-
// src/
|
|
2
|
-
|
|
3
|
-
assertEx,
|
|
4
|
-
exists,
|
|
5
|
-
forget,
|
|
6
|
-
globallyUnique
|
|
7
|
-
} from "@ariestools/sdk";
|
|
8
|
-
import { asArchivistInstance } from "@xyo-network/archivist-model";
|
|
9
|
-
import {
|
|
10
|
-
BridgeConfigSchema,
|
|
11
|
-
BridgeConnectQuerySchema,
|
|
12
|
-
BridgeDisconnectQuerySchema,
|
|
13
|
-
BridgeExposeQuerySchema,
|
|
14
|
-
BridgeUnexposeQuerySchema,
|
|
15
|
-
ModuleFilterPayloadSchema
|
|
16
|
-
} from "@xyo-network/bridge-model";
|
|
17
|
-
import { AbstractModuleInstance } from "@xyo-network/module-abstract";
|
|
18
|
-
import { AddressSchema } from "@xyo-network/module-model";
|
|
19
|
-
import {
|
|
20
|
-
resolveAddressToInstance,
|
|
21
|
-
resolvePathToAddress,
|
|
22
|
-
transformModuleIdentifier
|
|
23
|
-
} from "@xyo-network/module-resolver";
|
|
24
|
-
import { isPayloadOfSchemaType, QueryBoundWitnessWrapper } from "@xyo-network/sdk-protocol";
|
|
25
|
-
var AbstractBridge = class _AbstractBridge extends AbstractModuleInstance {
|
|
26
|
-
static configSchemas = [...super.configSchemas, BridgeConfigSchema];
|
|
27
|
-
static defaultConfigSchema = BridgeConfigSchema;
|
|
28
|
-
static uniqueName = globallyUnique("AbstractBridge", _AbstractBridge, "xyo");
|
|
29
|
-
_roots;
|
|
30
|
-
get allowNameResolution() {
|
|
31
|
-
return this.params.allowNameResolution ?? true;
|
|
32
|
-
}
|
|
33
|
-
get discoverRoots() {
|
|
34
|
-
return this.config.client?.discoverRoots ?? (this.config.client === void 0 ? false : "start");
|
|
35
|
-
}
|
|
36
|
-
get queries() {
|
|
37
|
-
return [BridgeConnectQuerySchema, BridgeDisconnectQuerySchema, BridgeExposeQuerySchema, BridgeUnexposeQuerySchema, ...super.queries];
|
|
38
|
-
}
|
|
39
|
-
get resolver() {
|
|
40
|
-
return assertEx(this.params.resolver, () => "No resolver provided");
|
|
41
|
-
}
|
|
42
|
-
async expose(id, options) {
|
|
43
|
-
this._noOverride("expose");
|
|
44
|
-
assertEx(id !== "*", () => "Exposing '*' not supported");
|
|
45
|
-
const addressToExpose = assertEx(await resolvePathToAddress(this, id), () => `Module to expose not found [${id}]`);
|
|
46
|
-
console.log(`expose: ${addressToExpose}`);
|
|
47
|
-
const modules = await this.exposeHandler(addressToExpose, options);
|
|
48
|
-
await this.emit("exposed", { mod: this, modules });
|
|
49
|
-
return modules;
|
|
50
|
-
}
|
|
51
|
-
async exposed() {
|
|
52
|
-
this._noOverride("exposed");
|
|
53
|
-
return await this.exposedHandler();
|
|
54
|
-
}
|
|
55
|
-
async resolve(id = "*", options = {}) {
|
|
56
|
-
const roots = this._roots ?? [];
|
|
57
|
-
const workingSet = options.direction === "up" ? [this] : [...roots, this];
|
|
58
|
-
if (id === "*") {
|
|
59
|
-
const remainingDepth = (options.maxDepth ?? 5) - 1;
|
|
60
|
-
return remainingDepth <= 0 ? workingSet : (
|
|
61
|
-
// eslint-disable-next-line @typescript-eslint/await-thenable
|
|
62
|
-
[...workingSet, ...(await Promise.all(roots.map((mod) => mod.resolve("*", { ...options, maxDepth: remainingDepth })))).flat()]
|
|
63
|
-
);
|
|
64
|
-
}
|
|
65
|
-
switch (typeof id) {
|
|
66
|
-
case "string": {
|
|
67
|
-
const parts = id.split(":");
|
|
68
|
-
const first = assertEx(parts.shift(), () => "Missing module identifier");
|
|
69
|
-
const firstId = await transformModuleIdentifier(first, this.moduleIdentifierTransformers);
|
|
70
|
-
const result = workingSet.find((mod) => {
|
|
71
|
-
return firstId === mod.address || firstId === mod.modName;
|
|
72
|
-
});
|
|
73
|
-
return parts.length === 0 ? result : result?.resolve(parts.join(":"), options);
|
|
74
|
-
}
|
|
75
|
-
default: {
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
async startHandler() {
|
|
81
|
-
if (this.discoverRoots === "lazy") {
|
|
82
|
-
forget(this.getRoots());
|
|
83
|
-
} else if (this.discoverRoots === "start") {
|
|
84
|
-
await this.getRoots();
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
async unexpose(id, options) {
|
|
88
|
-
this._noOverride("unexpose");
|
|
89
|
-
const addressToUnexpose = assertEx(await resolvePathToAddress(this, id), () => `Module to unexpose not found [${id}]`);
|
|
90
|
-
const modules = await this.unexposeHandler(addressToUnexpose, options);
|
|
91
|
-
await this.emit("unexposed", { mod: this, modules });
|
|
92
|
-
return modules.map((mod) => mod.address);
|
|
93
|
-
}
|
|
94
|
-
async queryHandler(query, payloads) {
|
|
95
|
-
const wrapper = QueryBoundWitnessWrapper.parseQuery(query, payloads);
|
|
96
|
-
const queryPayload = await wrapper.getQuery();
|
|
97
|
-
const resultPayloads = [];
|
|
98
|
-
switch (queryPayload.schema) {
|
|
99
|
-
case BridgeExposeQuerySchema: {
|
|
100
|
-
const filterPayloads = (payloads ?? []).filter(isPayloadOfSchemaType(ModuleFilterPayloadSchema));
|
|
101
|
-
assertEx(filterPayloads, () => "At least one filter is required");
|
|
102
|
-
await Promise.all(
|
|
103
|
-
filterPayloads.map(async (filter) => {
|
|
104
|
-
const { id, ...options } = filter;
|
|
105
|
-
const modules = await this.expose(id, options);
|
|
106
|
-
for (const mod of modules) {
|
|
107
|
-
const addressPayload = {
|
|
108
|
-
address: mod.address,
|
|
109
|
-
schema: AddressSchema
|
|
110
|
-
};
|
|
111
|
-
resultPayloads.push(addressPayload);
|
|
112
|
-
}
|
|
113
|
-
})
|
|
114
|
-
);
|
|
115
|
-
break;
|
|
116
|
-
}
|
|
117
|
-
case BridgeUnexposeQuerySchema: {
|
|
118
|
-
const filterPayloads = (payloads ?? []).filter(isPayloadOfSchemaType(ModuleFilterPayloadSchema));
|
|
119
|
-
assertEx(filterPayloads, () => "At least one filter is required");
|
|
120
|
-
await Promise.all(
|
|
121
|
-
filterPayloads.map(async (filter) => {
|
|
122
|
-
const { id, ...options } = filter;
|
|
123
|
-
const moduleAddresses = await this.unexpose(id, options);
|
|
124
|
-
for (const address of moduleAddresses) {
|
|
125
|
-
const addressPayload = {
|
|
126
|
-
address,
|
|
127
|
-
schema: AddressSchema
|
|
128
|
-
};
|
|
129
|
-
resultPayloads.push(addressPayload);
|
|
130
|
-
}
|
|
131
|
-
})
|
|
132
|
-
);
|
|
133
|
-
break;
|
|
134
|
-
}
|
|
135
|
-
default: {
|
|
136
|
-
return await super.queryHandler(query, payloads);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
return resultPayloads;
|
|
140
|
-
}
|
|
141
|
-
async resolveArchivingArchivists() {
|
|
142
|
-
const archivists = this.archiving?.archivists;
|
|
143
|
-
if (!archivists) return [];
|
|
144
|
-
const resolvedAddresses = (await Promise.all(
|
|
145
|
-
archivists.map(async (archivist) => (await Promise.all((await this.parents()).map((parent) => resolvePathToAddress(parent, archivist)))).filter(exists))
|
|
146
|
-
)).flat().filter(exists);
|
|
147
|
-
const resolved = (await Promise.all(resolvedAddresses.map((address) => resolveAddressToInstance(this, address)))).filter(exists);
|
|
148
|
-
return resolved.map((mod) => asArchivistInstance(mod)).filter(exists);
|
|
149
|
-
}
|
|
150
|
-
};
|
|
151
|
-
|
|
152
|
-
// src/AbstractBridgeModuleResolver.ts
|
|
153
|
-
import { ObjectResolverPriority } from "@xyo-network/module-model";
|
|
154
|
-
import { CompositeModuleResolver } from "@xyo-network/module-resolver";
|
|
155
|
-
var AbstractBridgeModuleResolver = class extends CompositeModuleResolver {
|
|
156
|
-
get priority() {
|
|
157
|
-
return ObjectResolverPriority.VeryLow;
|
|
158
|
-
}
|
|
159
|
-
async resolveHandler(id, options, _params) {
|
|
160
|
-
if (id === "*") {
|
|
161
|
-
return [];
|
|
162
|
-
}
|
|
163
|
-
return await super.resolveHandler(id, options);
|
|
164
|
-
}
|
|
165
|
-
};
|
|
166
|
-
|
|
167
|
-
// src/AbstractModuleProxy/AbstractModuleProxy.ts
|
|
168
|
-
import {
|
|
169
|
-
asAddress,
|
|
170
|
-
assertEx as assertEx3,
|
|
171
|
-
exists as exists3,
|
|
172
|
-
forget as forget2,
|
|
173
|
-
isAddress,
|
|
174
|
-
toSafeJsonString
|
|
175
|
-
} from "@ariestools/sdk";
|
|
176
|
-
import { AbstractModuleInstance as AbstractModuleInstance2 } from "@xyo-network/module-abstract";
|
|
177
|
-
import {
|
|
178
|
-
AddressPreviousHashSchema,
|
|
179
|
-
DeadModuleError,
|
|
180
|
-
ModuleAddressQuerySchema,
|
|
181
|
-
ModuleConfigSchema,
|
|
182
|
-
ModuleManifestQuerySchema,
|
|
183
|
-
ModuleStateQuerySchema
|
|
184
|
-
} from "@xyo-network/module-model";
|
|
185
|
-
import { ModuleWrapper } from "@xyo-network/module-wrapper";
|
|
186
|
-
import {
|
|
187
|
-
Account as Account2,
|
|
188
|
-
BoundWitnessWrapper,
|
|
189
|
-
isPayloadOfSchemaType as isPayloadOfSchemaType2,
|
|
190
|
-
isSchema,
|
|
191
|
-
ModuleErrorSchema,
|
|
192
|
-
ModuleManifestPayloadSchema,
|
|
193
|
-
NodeManifestPayloadSchema,
|
|
194
|
-
PayloadBuilder,
|
|
195
|
-
QueryBoundWitnessWrapper as QueryBoundWitnessWrapper2,
|
|
196
|
-
QuerySchema
|
|
197
|
-
} from "@xyo-network/sdk-protocol";
|
|
198
|
-
import { LRUCache } from "lru-cache";
|
|
199
|
-
|
|
200
|
-
// src/AbstractModuleProxy/ModuleProxyResolver.ts
|
|
201
|
-
import { assertEx as assertEx2, exists as exists2 } from "@ariestools/sdk";
|
|
202
|
-
import { ObjectResolverPriority as ObjectResolverPriority2 } from "@xyo-network/module-model";
|
|
203
|
-
import { CompositeModuleResolver as CompositeModuleResolver2 } from "@xyo-network/module-resolver";
|
|
204
|
-
import { Account } from "@xyo-network/sdk-protocol";
|
|
205
|
-
|
|
206
|
-
// src/wrapModuleWithType.ts
|
|
207
|
-
import { isArchivistModule } from "@xyo-network/archivist-model";
|
|
208
|
-
import { ArchivistWrapper } from "@xyo-network/archivist-wrapper";
|
|
209
|
-
import { isDivinerModule } from "@xyo-network/diviner-model";
|
|
210
|
-
import { DivinerWrapper } from "@xyo-network/diviner-wrapper";
|
|
211
|
-
import { isNodeModule } from "@xyo-network/node-model";
|
|
212
|
-
import { NodeWrapper } from "@xyo-network/node-wrapper";
|
|
213
|
-
import { isSentinelModule } from "@xyo-network/sentinel-model";
|
|
214
|
-
import { SentinelWrapper } from "@xyo-network/sentinel-wrapper";
|
|
215
|
-
import { isWitnessModule } from "@xyo-network/witness-model";
|
|
216
|
-
import { WitnessWrapper } from "@xyo-network/witness-wrapper";
|
|
217
|
-
var wrapModuleWithType = (mod, account) => {
|
|
218
|
-
if (isArchivistModule(mod)) {
|
|
219
|
-
return ArchivistWrapper.wrap(mod, account);
|
|
220
|
-
}
|
|
221
|
-
if (isDivinerModule(mod)) {
|
|
222
|
-
return DivinerWrapper.wrap(mod, account);
|
|
223
|
-
}
|
|
224
|
-
if (isNodeModule(mod)) {
|
|
225
|
-
return NodeWrapper.wrap(mod, account);
|
|
226
|
-
}
|
|
227
|
-
if (isSentinelModule(mod)) {
|
|
228
|
-
return SentinelWrapper.wrap(mod, account);
|
|
229
|
-
}
|
|
230
|
-
if (isWitnessModule(mod)) {
|
|
231
|
-
return WitnessWrapper.wrap(mod, account);
|
|
232
|
-
}
|
|
233
|
-
throw new Error("Failed to wrap");
|
|
234
|
-
};
|
|
235
|
-
|
|
236
|
-
// src/AbstractModuleProxy/ModuleProxyResolver.ts
|
|
237
|
-
var ModuleProxyResolver = class {
|
|
238
|
-
downResolver;
|
|
239
|
-
options;
|
|
240
|
-
constructor(options) {
|
|
241
|
-
this.options = options;
|
|
242
|
-
this.downResolver = new CompositeModuleResolver2({ moduleIdentifierTransformers: options.moduleIdentifierTransformers, root: this.root });
|
|
243
|
-
}
|
|
244
|
-
get priority() {
|
|
245
|
-
return ObjectResolverPriority2.VeryLow;
|
|
246
|
-
}
|
|
247
|
-
get root() {
|
|
248
|
-
return this.options.mod;
|
|
249
|
-
}
|
|
250
|
-
get childAddressMap() {
|
|
251
|
-
return this.options.childAddressMap;
|
|
252
|
-
}
|
|
253
|
-
get host() {
|
|
254
|
-
return this.options.host;
|
|
255
|
-
}
|
|
256
|
-
get mod() {
|
|
257
|
-
return this.options.mod;
|
|
258
|
-
}
|
|
259
|
-
addResolver(_resolver) {
|
|
260
|
-
throw new Error("Not supported");
|
|
261
|
-
}
|
|
262
|
-
childManifest(address) {
|
|
263
|
-
return this.options.childManifests?.[address];
|
|
264
|
-
}
|
|
265
|
-
childState(address) {
|
|
266
|
-
return this.options.childStates?.[address];
|
|
267
|
-
}
|
|
268
|
-
removeResolver(_resolver) {
|
|
269
|
-
throw new Error("Not supported");
|
|
270
|
-
}
|
|
271
|
-
// eslint-disable-next-line complexity
|
|
272
|
-
async resolve(id = "*", options) {
|
|
273
|
-
const direction = options?.direction ?? "all";
|
|
274
|
-
if (id === "*") {
|
|
275
|
-
const childAddresses = Object.keys(this.childAddressMap);
|
|
276
|
-
const resolvedChildren = await Promise.all(childAddresses.map((address) => this.resolve(address, options)));
|
|
277
|
-
return resolvedChildren.filter(exists2);
|
|
278
|
-
} else if (typeof id === "string") {
|
|
279
|
-
const idParts = id.split(":");
|
|
280
|
-
const firstPart = assertEx2(idParts.shift(), () => "Invalid module identifier at first position");
|
|
281
|
-
const firstPartAddress = await this.resolveIdentifier(firstPart);
|
|
282
|
-
if (firstPartAddress) {
|
|
283
|
-
const remainingParts = idParts.length > 0 ? idParts.join(":") : void 0;
|
|
284
|
-
if (direction === "down" || direction === "all") {
|
|
285
|
-
const downResolverModule = await this.downResolver.resolve(firstPartAddress);
|
|
286
|
-
if (downResolverModule) {
|
|
287
|
-
return remainingParts ? downResolverModule.resolve(remainingParts, options) : downResolverModule;
|
|
288
|
-
}
|
|
289
|
-
console.log(`ModuleProxyResolver: ${firstPartAddress} | ${this.root.address}`);
|
|
290
|
-
if (firstPartAddress === this.root.address) {
|
|
291
|
-
const wrapped = wrapModuleWithType(this.root, await Account.random());
|
|
292
|
-
return remainingParts ? wrapped?.resolve(remainingParts, options) : wrapped;
|
|
293
|
-
}
|
|
294
|
-
const addressToProxy = Object.keys(this.childAddressMap).includes(firstPartAddress) ? firstPartAddress : Object.entries(this.childAddressMap).find(([_, value]) => value === firstPartAddress)?.[0];
|
|
295
|
-
if (addressToProxy) {
|
|
296
|
-
const proxy = await this.host.resolve(addressToProxy, { ...options, direction: "down" });
|
|
297
|
-
if (proxy) {
|
|
298
|
-
const wrapped = wrapModuleWithType(proxy, await Account.random());
|
|
299
|
-
return remainingParts ? wrapped?.resolve(remainingParts, options) : wrapped;
|
|
300
|
-
}
|
|
301
|
-
return;
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
}
|
|
305
|
-
return;
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
resolveIdentifier(id, _options) {
|
|
309
|
-
if (this.childAddressMap[id]) {
|
|
310
|
-
return id;
|
|
311
|
-
}
|
|
312
|
-
if (this.root.address === id) {
|
|
313
|
-
return this.root.address;
|
|
314
|
-
}
|
|
315
|
-
if (this.root.modName === id) {
|
|
316
|
-
return this.root.address;
|
|
317
|
-
}
|
|
318
|
-
const addressFromName = Object.entries(this.childAddressMap).find(([, name]) => name === id)?.[0];
|
|
319
|
-
if (addressFromName) {
|
|
320
|
-
return addressFromName;
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
async resolvePrivate(id, _options) {
|
|
324
|
-
if (id === "*") return await Promise.resolve([]);
|
|
325
|
-
}
|
|
326
|
-
};
|
|
327
|
-
|
|
328
|
-
// src/AbstractModuleProxy/AbstractModuleProxy.ts
|
|
329
|
-
var AbstractModuleProxy = class extends AbstractModuleInstance2 {
|
|
330
|
-
static requiredQueries = [ModuleStateQuerySchema];
|
|
331
|
-
_config;
|
|
332
|
-
_publicChildren;
|
|
333
|
-
_state = void 0;
|
|
334
|
-
_stateInProcess = false;
|
|
335
|
-
_spamTrap = new LRUCache({
|
|
336
|
-
max: 1e3,
|
|
337
|
-
ttl: 1e3 * 60,
|
|
338
|
-
ttlAutopurge: true
|
|
339
|
-
});
|
|
340
|
-
get address() {
|
|
341
|
-
return this.params.moduleAddress;
|
|
342
|
-
}
|
|
343
|
-
get archiving() {
|
|
344
|
-
return this.params?.archiving;
|
|
345
|
-
}
|
|
346
|
-
get config() {
|
|
347
|
-
return { ...this._config, schema: this._config?.schema ?? ModuleConfigSchema };
|
|
348
|
-
}
|
|
349
|
-
get queries() {
|
|
350
|
-
const queryPayloads = assertEx3(this._state, () => "Module state not found. Make sure proxy has been started").filter((item) => isPayloadOfSchemaType2(QuerySchema)(item));
|
|
351
|
-
return queryPayloads.map((payload) => payload.query);
|
|
352
|
-
}
|
|
353
|
-
static hasRequiredQueries(mod) {
|
|
354
|
-
return this.missingRequiredQueries(mod).length === 0;
|
|
355
|
-
}
|
|
356
|
-
static isAllowedSchema(schema) {
|
|
357
|
-
return isSchema(schema);
|
|
358
|
-
}
|
|
359
|
-
static missingRequiredQueries(mod) {
|
|
360
|
-
const moduleQueries = mod.queries;
|
|
361
|
-
return this.requiredQueries.map((query) => {
|
|
362
|
-
return moduleQueries.includes(query) ? null : query;
|
|
363
|
-
}).filter(exists3);
|
|
364
|
-
}
|
|
365
|
-
static async paramsHandler(inParams) {
|
|
366
|
-
const superParams = await super.paramsHandler(inParams);
|
|
367
|
-
return {
|
|
368
|
-
...superParams,
|
|
369
|
-
account: superParams.account === "random" ? await Account2.random() : superParams.account,
|
|
370
|
-
addToResolvers: superParams.addToResolvers ?? true
|
|
371
|
-
};
|
|
372
|
-
}
|
|
373
|
-
async addressPreviousHash() {
|
|
374
|
-
const queryPayload = { schema: ModuleAddressQuerySchema };
|
|
375
|
-
const result = assertEx3(
|
|
376
|
-
(await this.sendQuery(queryPayload, void 0, this.account)).find(
|
|
377
|
-
isPayloadOfSchemaType2(AddressPreviousHashSchema)
|
|
378
|
-
),
|
|
379
|
-
() => "Result did not include correct payload"
|
|
380
|
-
);
|
|
381
|
-
return result;
|
|
382
|
-
}
|
|
383
|
-
childAddressByName(name) {
|
|
384
|
-
const nodeManifests = this._state?.filter(isPayloadOfSchemaType2(NodeManifestPayloadSchema));
|
|
385
|
-
const childPairs = nodeManifests?.flatMap((nodeManifest) => Object.entries(nodeManifest.status?.children ?? {}));
|
|
386
|
-
return asAddress(childPairs?.find(([_, childName]) => childName === name)?.[0]);
|
|
387
|
-
}
|
|
388
|
-
async childAddressMap() {
|
|
389
|
-
let nodeManifests = isPayloadOfSchemaType2(NodeManifestPayloadSchema)(this.params.manifest) ? [this.params.manifest] : void 0;
|
|
390
|
-
const result = {};
|
|
391
|
-
if (nodeManifests === void 0) {
|
|
392
|
-
const state = await this.state();
|
|
393
|
-
nodeManifests = state.filter(isPayloadOfSchemaType2(NodeManifestPayloadSchema));
|
|
394
|
-
}
|
|
395
|
-
for (const manifest of nodeManifests ?? []) {
|
|
396
|
-
const children = manifest.modules?.public ?? [];
|
|
397
|
-
for (const child of children) {
|
|
398
|
-
if (typeof child === "object") {
|
|
399
|
-
const address = child.status?.address;
|
|
400
|
-
if (isAddress(address)) {
|
|
401
|
-
result[address] = child.config.name ?? null;
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
}
|
|
406
|
-
return result;
|
|
407
|
-
}
|
|
408
|
-
async createHandler() {
|
|
409
|
-
await super.createHandler();
|
|
410
|
-
let manifest = this.params.manifest;
|
|
411
|
-
if (!manifest) {
|
|
412
|
-
const state = await this.state();
|
|
413
|
-
const manifestPayload = state.find(
|
|
414
|
-
(payload) => isPayloadOfSchemaType2(NodeManifestPayloadSchema)(payload) || isPayloadOfSchemaType2(ModuleManifestPayloadSchema)(payload)
|
|
415
|
-
);
|
|
416
|
-
manifest = assertEx3(manifestPayload, () => "Can't find manifest payload");
|
|
417
|
-
}
|
|
418
|
-
this.setConfig({ ...manifest.config });
|
|
419
|
-
this.downResolver.addResolver(
|
|
420
|
-
new ModuleProxyResolver({
|
|
421
|
-
childAddressMap: await this.childAddressMap(),
|
|
422
|
-
host: this.params.host,
|
|
423
|
-
mod: this,
|
|
424
|
-
moduleIdentifierTransformers: this.params.moduleIdentifierTransformers
|
|
425
|
-
})
|
|
426
|
-
);
|
|
427
|
-
}
|
|
428
|
-
async manifest(maxDepth) {
|
|
429
|
-
const queryPayload = { schema: ModuleManifestQuerySchema, ...maxDepth === void 0 ? {} : { maxDepth } };
|
|
430
|
-
return (await this.sendQuery(queryPayload))[0];
|
|
431
|
-
}
|
|
432
|
-
async moduleAddress() {
|
|
433
|
-
const queryPayload = { schema: ModuleAddressQuerySchema };
|
|
434
|
-
return await this.sendQuery(queryPayload);
|
|
435
|
-
}
|
|
436
|
-
async previousHash() {
|
|
437
|
-
const queryPayload = { schema: ModuleAddressQuerySchema };
|
|
438
|
-
return (await this.sendQuery(queryPayload)).pop().previousHash;
|
|
439
|
-
}
|
|
440
|
-
async publicChildren() {
|
|
441
|
-
this._publicChildren = this._publicChildren ?? await super.publicChildren();
|
|
442
|
-
return this._publicChildren;
|
|
443
|
-
}
|
|
444
|
-
async query(query, payloads) {
|
|
445
|
-
this._checkDead();
|
|
446
|
-
return await this.busy(async () => {
|
|
447
|
-
try {
|
|
448
|
-
await this.checkSpam(query);
|
|
449
|
-
if (this.archiving && this.isAllowedArchivingQuery(query.schema)) {
|
|
450
|
-
forget2(this.storeToArchivists([query, ...payloads ?? []]));
|
|
451
|
-
}
|
|
452
|
-
this.params.onQuerySendStarted?.({ payloads, query });
|
|
453
|
-
const result = await this.proxyQueryHandler(query, payloads);
|
|
454
|
-
this.params.onQuerySendFinished?.({
|
|
455
|
-
payloads,
|
|
456
|
-
query,
|
|
457
|
-
result,
|
|
458
|
-
status: "success"
|
|
459
|
-
});
|
|
460
|
-
if (this.archiving && this.isAllowedArchivingQuery(query.schema)) {
|
|
461
|
-
forget2(this.storeToArchivists(result.flat()));
|
|
462
|
-
}
|
|
463
|
-
forget2(this.emit("moduleQueried", {
|
|
464
|
-
mod: this,
|
|
465
|
-
payloads,
|
|
466
|
-
query,
|
|
467
|
-
result
|
|
468
|
-
}));
|
|
469
|
-
return result;
|
|
470
|
-
} catch (ex) {
|
|
471
|
-
this.params.onQuerySendFinished?.({
|
|
472
|
-
payloads,
|
|
473
|
-
query,
|
|
474
|
-
status: "failure"
|
|
475
|
-
});
|
|
476
|
-
const error = ex;
|
|
477
|
-
this._lastError = error;
|
|
478
|
-
const deadError = new DeadModuleError(this.address, error);
|
|
479
|
-
const errorPayload = {
|
|
480
|
-
message: deadError.message,
|
|
481
|
-
name: deadError.name,
|
|
482
|
-
schema: ModuleErrorSchema
|
|
483
|
-
};
|
|
484
|
-
const sourceQuery = assertEx3(QueryBoundWitnessWrapper2.unwrap(query), () => "Invalid query");
|
|
485
|
-
return await this.bindQueryResult(sourceQuery, [], void 0, [errorPayload]);
|
|
486
|
-
}
|
|
487
|
-
});
|
|
488
|
-
}
|
|
489
|
-
queryHandler(_query, _payloads, _queryConfig) {
|
|
490
|
-
throw new Error("queryHandler should never be called");
|
|
491
|
-
}
|
|
492
|
-
async queryable(_query, _payloads, _queryConfig) {
|
|
493
|
-
return await Promise.resolve(true);
|
|
494
|
-
}
|
|
495
|
-
async resolveArchivingArchivists() {
|
|
496
|
-
return await this.params.archiving?.resolveArchivists() ?? [];
|
|
497
|
-
}
|
|
498
|
-
setConfig(config) {
|
|
499
|
-
this._config = config;
|
|
500
|
-
}
|
|
501
|
-
setState(state) {
|
|
502
|
-
this._state = state;
|
|
503
|
-
}
|
|
504
|
-
async state() {
|
|
505
|
-
if (this._state === void 0) {
|
|
506
|
-
const stateQueryPayload = { query: ModuleStateQuerySchema, schema: QuerySchema };
|
|
507
|
-
const manifestQueryPayload = { query: ModuleManifestQuerySchema, schema: QuerySchema };
|
|
508
|
-
this._state = [stateQueryPayload, manifestQueryPayload];
|
|
509
|
-
const wrapper = ModuleWrapper.wrap(this, await Account2.random());
|
|
510
|
-
this._state = await wrapper.state();
|
|
511
|
-
}
|
|
512
|
-
return this._state;
|
|
513
|
-
}
|
|
514
|
-
filterErrors(result) {
|
|
515
|
-
const wrapper = BoundWitnessWrapper.wrap(result[0], result[1]);
|
|
516
|
-
return wrapper.payloadsBySchema(ModuleErrorSchema);
|
|
517
|
-
}
|
|
518
|
-
async startHandler() {
|
|
519
|
-
return await super.startHandler();
|
|
520
|
-
}
|
|
521
|
-
// this checks and warns if we are getting spammed by the same query
|
|
522
|
-
async checkSpam(query) {
|
|
523
|
-
const hash = await PayloadBuilder.hash(query);
|
|
524
|
-
const previousCount = this._spamTrap.get(hash) ?? 0;
|
|
525
|
-
if (previousCount > 0) {
|
|
526
|
-
this.logger?.warn(`Spam trap triggered for query: ${hash} from ${toSafeJsonString(query.addresses)}`);
|
|
527
|
-
}
|
|
528
|
-
this._spamTrap.set(hash, previousCount + 1);
|
|
529
|
-
}
|
|
530
|
-
};
|
|
531
|
-
export {
|
|
532
|
-
AbstractBridge,
|
|
533
|
-
AbstractBridgeModuleResolver,
|
|
534
|
-
AbstractModuleProxy,
|
|
535
|
-
ModuleProxyResolver,
|
|
536
|
-
wrapModuleWithType
|
|
537
|
-
};
|
|
1
|
+
// src/index.ts
|
|
2
|
+
export * from "@xyo-network/sdk/bridge-abstract";
|
|
538
3
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/
|
|
4
|
-
"sourcesContent": ["import type { Promisable } from '@ariestools/sdk'\nimport {\n assertEx, exists, forget,\n globallyUnique,\n} from '@ariestools/sdk'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport { asArchivistInstance } from '@xyo-network/archivist-model'\nimport type {\n AttachableBridgeInstance,\n BridgeExposeOptions,\n BridgeModuleEventData,\n BridgeParams,\n BridgeQueries,\n BridgeUnexposeOptions,\n ModuleFilterPayload,\n} from '@xyo-network/bridge-model'\nimport {\n BridgeConfigSchema,\n BridgeConnectQuerySchema,\n BridgeDisconnectQuerySchema,\n BridgeExposeQuerySchema,\n BridgeUnexposeQuerySchema,\n ModuleFilterPayloadSchema,\n} from '@xyo-network/bridge-model'\nimport { AbstractModuleInstance } from '@xyo-network/module-abstract'\nimport type {\n AddressPayload,\n ModuleFilterOptions,\n ModuleIdentifier,\n ModuleInstance,\n ModuleQueryHandlerResult,\n ModuleResolverInstance,\n} from '@xyo-network/module-model'\nimport { AddressSchema } from '@xyo-network/module-model'\nimport {\n resolveAddressToInstance,\n resolvePathToAddress,\n transformModuleIdentifier,\n} from '@xyo-network/module-resolver'\nimport type {\n Payload, QueryBoundWitness, Schema, XyoAddress,\n} from '@xyo-network/sdk-protocol'\nimport { isPayloadOfSchemaType, QueryBoundWitnessWrapper } from '@xyo-network/sdk-protocol'\n\nexport abstract class AbstractBridge<TParams extends BridgeParams = BridgeParams>\n extends AbstractModuleInstance<TParams, BridgeModuleEventData>\n implements AttachableBridgeInstance<TParams, BridgeModuleEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, BridgeConfigSchema]\n static override readonly defaultConfigSchema: Schema = BridgeConfigSchema\n static override readonly uniqueName: string = globallyUnique('AbstractBridge', AbstractBridge, 'xyo')\n\n protected _roots?: ModuleInstance[]\n\n override get allowNameResolution(): boolean {\n // we default to false here to prevent name collisions\n return this.params.allowNameResolution ?? true\n }\n\n get discoverRoots(): false | 'start' | 'lazy' {\n return this.config.client?.discoverRoots ?? (this.config.client === undefined ? false : 'start')\n }\n\n override get queries(): Schema[] {\n return [BridgeConnectQuerySchema, BridgeDisconnectQuerySchema, BridgeExposeQuerySchema, BridgeUnexposeQuerySchema, ...super.queries]\n }\n\n get resolver(): Promisable<ModuleResolverInstance> {\n return assertEx(this.params.resolver, () => 'No resolver provided')\n }\n\n async expose(id: ModuleIdentifier, options?: BridgeExposeOptions): Promise<ModuleInstance[]> {\n this._noOverride('expose')\n assertEx(id !== '*', () => \"Exposing '*' not supported\")\n const addressToExpose = assertEx(await resolvePathToAddress(this, id), () => `Module to expose not found [${id}]`)\n console.log(`expose: ${addressToExpose}`)\n const modules = await this.exposeHandler(addressToExpose, options)\n await this.emit('exposed', { mod: this, modules })\n return modules\n }\n\n async exposed(): Promise<XyoAddress[]> {\n this._noOverride('exposed')\n return await this.exposedHandler()\n }\n\n /** @deprecated do not pass undefined. If trying to get all, pass '*' */\n override async resolve(): Promise<ModuleInstance[]>\n override async resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>\n override async resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>\n\n override async resolve<T extends ModuleInstance = ModuleInstance>(\n id: ModuleIdentifier = '*',\n options: ModuleFilterOptions<T> = {},\n ): Promise<T | T[] | undefined> {\n const roots = (this._roots ?? []) as T[]\n const workingSet = (options.direction === 'up' ? [this as ModuleInstance] : [...roots, this]) as T[]\n if (id === '*') {\n const remainingDepth = (options.maxDepth ?? 5) - 1\n return remainingDepth <= 0\n ? workingSet\n : (\n // eslint-disable-next-line @typescript-eslint/await-thenable\n [...workingSet, ...(await Promise.all(roots.map(mod => mod.resolve('*', { ...options, maxDepth: remainingDepth })))).flat()]\n )\n }\n switch (typeof id) {\n case 'string': {\n const parts = id.split(':')\n const first = assertEx(parts.shift(), () => 'Missing module identifier')\n const firstId = await transformModuleIdentifier(first, this.moduleIdentifierTransformers)\n const result = workingSet.find((mod) => {\n return firstId === mod.address || firstId === mod.modName\n })\n return parts.length === 0 ? result : result?.resolve(parts.join(':'), options)\n }\n default: {\n return\n }\n }\n }\n\n override async startHandler(): Promise<void> {\n if (this.discoverRoots === 'lazy') {\n forget(this.getRoots())\n } else if (this.discoverRoots === 'start') {\n await this.getRoots()\n }\n }\n\n async unexpose(id: ModuleIdentifier, options?: BridgeUnexposeOptions): Promise<XyoAddress[]> {\n this._noOverride('unexpose')\n const addressToUnexpose = assertEx(await resolvePathToAddress(this, id), () => `Module to unexpose not found [${id}]`)\n const modules = await this.unexposeHandler(addressToUnexpose, options)\n await this.emit('unexposed', { mod: this, modules })\n return modules.map(mod => mod.address)\n }\n\n protected override async queryHandler<T extends QueryBoundWitness = QueryBoundWitness>(\n query: T,\n payloads?: Payload[],\n ): Promise<ModuleQueryHandlerResult> {\n const wrapper = QueryBoundWitnessWrapper.parseQuery<BridgeQueries>(query, payloads)\n const queryPayload = await wrapper.getQuery()\n const resultPayloads: Payload[] = []\n\n switch (queryPayload.schema) {\n case BridgeExposeQuerySchema: {\n const filterPayloads = (payloads ?? []).filter(isPayloadOfSchemaType<ModuleFilterPayload>(ModuleFilterPayloadSchema))\n assertEx(filterPayloads, () => 'At least one filter is required')\n\n await Promise.all(\n filterPayloads.map(async (filter) => {\n const { id, ...options } = filter\n const modules = await this.expose(id, options)\n for (const mod of modules) {\n const addressPayload: AddressPayload = {\n address: mod.address,\n schema: AddressSchema,\n }\n resultPayloads.push(addressPayload)\n }\n }),\n )\n break\n }\n case BridgeUnexposeQuerySchema: {\n const filterPayloads = (payloads ?? []).filter(isPayloadOfSchemaType<ModuleFilterPayload>(ModuleFilterPayloadSchema))\n assertEx(filterPayloads, () => 'At least one filter is required')\n\n await Promise.all(\n filterPayloads.map(async (filter) => {\n const { id, ...options } = filter\n const moduleAddresses = await this.unexpose(id, options)\n for (const address of moduleAddresses) {\n const addressPayload: AddressPayload = {\n address,\n schema: AddressSchema,\n }\n resultPayloads.push(addressPayload)\n }\n }),\n )\n break\n }\n default: {\n return await super.queryHandler(query, payloads)\n }\n }\n return resultPayloads\n }\n\n protected override async resolveArchivingArchivists(): Promise<ArchivistInstance[]> {\n const archivists = this.archiving?.archivists\n if (!archivists) return []\n const resolvedAddresses = (\n await Promise.all(\n archivists.map(async archivist =>\n (await Promise.all((await this.parents()).map(parent => resolvePathToAddress(parent, archivist)))).filter(exists)),\n )\n )\n .flat()\n .filter(exists)\n const resolved = (await Promise.all(resolvedAddresses.map(address => resolveAddressToInstance(this, address)))).filter(exists)\n return resolved.map(mod => asArchivistInstance(mod)).filter(exists)\n }\n\n abstract exposeHandler(address: XyoAddress, options?: BridgeExposeOptions): Promisable<ModuleInstance[]>\n\n abstract exposedHandler(): Promisable<XyoAddress[]>\n\n abstract getRoots(force?: boolean): Promise<ModuleInstance[]>\n\n abstract unexposeHandler(address: XyoAddress, options?: BridgeUnexposeOptions): Promisable<ModuleInstance[]>\n}\n", "import type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport type {\n BridgeInstance, QuerySendFinishedEventArgs, QuerySendStartedEventArgs,\n} from '@xyo-network/bridge-model'\nimport type {\n ArchivingModuleConfig,\n CacheConfig,\n ModuleFilterOptions,\n ModuleIdentifier,\n ModuleInstance,\n} from '@xyo-network/module-model'\nimport { ObjectResolverPriority } from '@xyo-network/module-model'\nimport type { ModuleResolverParams } from '@xyo-network/module-resolver'\nimport { CompositeModuleResolver } from '@xyo-network/module-resolver'\nimport type { AccountInstance } from '@xyo-network/sdk-protocol'\n\nimport type { ModuleProxyParams } from './AbstractModuleProxy/index.ts'\n\nexport interface BridgeModuleResolverParams extends ModuleResolverParams {\n additionalSigners?: AccountInstance[]\n archiving?: ArchivingModuleConfig['archiving'] & { resolveArchivists: () => Promise<ArchivistInstance[]> }\n bridge: BridgeInstance\n cacheConfig?: CacheConfig\n onQuerySendFinished?: (args: Omit<QuerySendFinishedEventArgs, 'mod'>) => void\n onQuerySendStarted?: (args: Omit<QuerySendStartedEventArgs, 'mod'>) => void\n wrapperAccount: AccountInstance\n}\n\nexport abstract class AbstractBridgeModuleResolver<\n TParams extends BridgeModuleResolverParams = BridgeModuleResolverParams,\n TProxyParams extends ModuleProxyParams = ModuleProxyParams,\n> extends CompositeModuleResolver<TParams> {\n override get priority(): 0 {\n return ObjectResolverPriority.VeryLow\n }\n\n override async resolveHandler<T extends ModuleInstance = ModuleInstance>(\n id: ModuleIdentifier,\n options?: ModuleFilterOptions<T>,\n _params?: Partial<TProxyParams>,\n ): Promise<T[]> {\n if (id === '*') {\n return []\n }\n return await super.resolveHandler(id, options)\n }\n}\n", "import {\n asAddress, assertEx,\n exists,\n forget,\n isAddress, toSafeJsonString,\n} from '@ariestools/sdk'\nimport type { ArchivistInstance } from '@xyo-network/archivist-model'\nimport type { QuerySendFinishedEventArgs, QuerySendStartedEventArgs } from '@xyo-network/bridge-model'\nimport { AbstractModuleInstance } from '@xyo-network/module-abstract'\nimport type {\n AddressPreviousHashPayload,\n AnyConfigSchema,\n ArchivingModuleConfig,\n AttachableModuleInstance,\n ModuleAddressQuery,\n ModuleConfig,\n ModuleEventData,\n ModuleInstance,\n ModuleManifestQuery,\n ModuleName,\n ModuleQueryHandlerResult,\n ModuleQueryResult,\n ModuleResolver,\n QueryableModule,\n QueryableModuleParams,\n} from '@xyo-network/module-model'\nimport {\n AddressPreviousHashSchema,\n DeadModuleError,\n ModuleAddressQuerySchema,\n ModuleConfigSchema,\n ModuleManifestQuerySchema,\n ModuleStateQuerySchema,\n} from '@xyo-network/module-model'\nimport { ModuleWrapper } from '@xyo-network/module-wrapper'\nimport type {\n AccountInstance, ModuleError, ModuleManifestPayload, NodeManifestPayload,\n Payload, QueryBoundWitness, QueryPayload, Schema, XyoAddress,\n XyoQuantAddress,\n} from '@xyo-network/sdk-protocol'\nimport {\n Account, BoundWitnessWrapper, isPayloadOfSchemaType, isSchema, ModuleErrorSchema, ModuleManifestPayloadSchema, NodeManifestPayloadSchema, PayloadBuilder,\n QueryBoundWitnessWrapper, QuerySchema,\n} from '@xyo-network/sdk-protocol'\nimport { LRUCache } from 'lru-cache'\n\nimport { ModuleProxyResolver } from './ModuleProxyResolver.ts'\n\nexport interface ModuleProxyParams extends QueryableModuleParams\n{\n account: AccountInstance\n archiving?: ArchivingModuleConfig['archiving'] & { resolveArchivists: () => Promise<ArchivistInstance[]> }\n host: ModuleResolver\n manifest?: ModuleManifestPayload\n moduleAddress: XyoAddress\n onQuerySendFinished?: (args: Omit<QuerySendFinishedEventArgs, 'mod'>) => void\n onQuerySendStarted?: (args: Omit<QuerySendStartedEventArgs, 'mod'>) => void\n state?: Payload[]\n}\n\nexport abstract class AbstractModuleProxy<\n TWrappedModule extends ModuleInstance = ModuleInstance,\n TParams extends ModuleProxyParams = ModuleProxyParams,\n>\n extends AbstractModuleInstance<TParams, TWrappedModule['eventData']>\n implements ModuleInstance<TParams, TWrappedModule['eventData']> {\n static readonly requiredQueries: string[] = [ModuleStateQuerySchema]\n\n protected _config?: TWrappedModule['config']\n protected _publicChildren?: ModuleInstance[]\n protected _state: Payload[] | undefined = undefined\n protected _stateInProcess = false\n\n private _spamTrap = new LRUCache<string, number>({\n max: 1000, ttl: 1000 * 60, ttlAutopurge: true,\n })\n\n override get address(): (Lowercase<string> & {\n readonly __hex: true\n } & {\n readonly __address: true\n }) | XyoQuantAddress {\n return this.params.moduleAddress\n }\n\n override get archiving(): ArchivingModuleConfig['archiving'] | undefined {\n return this.params?.archiving\n }\n\n override get config(): TWrappedModule['config'] & { schema: Schema } {\n return { ...this._config, schema: (this._config?.schema ?? ModuleConfigSchema) }\n }\n\n override get queries(): Schema[] {\n const queryPayloads = assertEx(this._state, () => 'Module state not found. Make sure proxy has been started').filter(item =>\n isPayloadOfSchemaType<QueryPayload>(QuerySchema)(item))\n return queryPayloads.map(payload => payload.query)\n }\n\n static hasRequiredQueries(mod: QueryableModule): boolean {\n return this.missingRequiredQueries(mod).length === 0\n }\n\n static override isAllowedSchema(schema: Schema): boolean {\n return isSchema(schema)\n }\n\n static missingRequiredQueries(mod: QueryableModule): string[] {\n const moduleQueries = mod.queries\n return (\n this.requiredQueries.map((query) => {\n return moduleQueries.includes(query) ? null : query\n })\n ).filter(exists)\n }\n\n static override async paramsHandler<T extends AttachableModuleInstance<QueryableModuleParams, ModuleEventData>>(\n inParams?: Partial<T['params']>,\n ): Promise<T['params']> {\n const superParams = await super.paramsHandler(inParams)\n return {\n ...superParams,\n account: (superParams.account === 'random') ? await Account.random() : superParams.account,\n addToResolvers: superParams.addToResolvers ?? true,\n }\n }\n\n async addressPreviousHash(): Promise<AddressPreviousHashPayload> {\n const queryPayload: ModuleAddressQuery = { schema: ModuleAddressQuerySchema }\n const result: AddressPreviousHashPayload = assertEx(\n (await this.sendQuery(queryPayload, undefined, this.account)).find(\n isPayloadOfSchemaType<AddressPreviousHashPayload>(AddressPreviousHashSchema),\n ),\n () => 'Result did not include correct payload',\n )\n return result\n }\n\n childAddressByName(name: ModuleName): XyoAddress | undefined {\n const nodeManifests = this._state?.filter(isPayloadOfSchemaType<NodeManifestPayload>(NodeManifestPayloadSchema))\n const childPairs = nodeManifests?.flatMap(nodeManifest => Object.entries(nodeManifest.status?.children ?? {}) as [XyoAddress, ModuleName | null][])\n return asAddress(childPairs?.find(([_, childName]) => childName === name)?.[0])\n }\n\n async childAddressMap(): Promise<Record<XyoAddress, ModuleName | null>> {\n let nodeManifests: NodeManifestPayload[] | undefined\n = isPayloadOfSchemaType<NodeManifestPayload>(NodeManifestPayloadSchema)(this.params.manifest) ? [this.params.manifest] : undefined\n const result: Record<XyoAddress, ModuleName | null> = {}\n if (nodeManifests === undefined) {\n const state = await this.state()\n nodeManifests = state.filter(isPayloadOfSchemaType<NodeManifestPayload>(NodeManifestPayloadSchema))\n }\n for (const manifest of nodeManifests ?? []) {\n const children = manifest.modules?.public ?? []\n for (const child of children) {\n if (typeof child === 'object') {\n const address = child.status?.address\n if (isAddress(address)) {\n result[address] = child.config.name ?? null\n }\n }\n }\n }\n return result\n }\n\n override async createHandler(): Promise<void> {\n await super.createHandler()\n let manifest: ModuleManifestPayload | NodeManifestPayload | undefined = this.params.manifest\n if (!manifest) {\n const state = await this.state()\n const manifestPayload = state.find(\n payload => isPayloadOfSchemaType<NodeManifestPayload>(NodeManifestPayloadSchema)(payload)\n || isPayloadOfSchemaType<ModuleManifestPayload>(ModuleManifestPayloadSchema)(payload),\n )\n manifest = assertEx(manifestPayload, () => \"Can't find manifest payload\")\n }\n this.setConfig({ ...manifest.config })\n this.downResolver.addResolver(\n new ModuleProxyResolver({\n childAddressMap: await this.childAddressMap(),\n host: this.params.host,\n mod: this,\n moduleIdentifierTransformers: this.params.moduleIdentifierTransformers,\n }),\n )\n }\n\n override async manifest(maxDepth?: number): Promise<ModuleManifestPayload> {\n const queryPayload: ModuleManifestQuery = { schema: ModuleManifestQuerySchema, ...(maxDepth === undefined ? {} : { maxDepth }) }\n return (await this.sendQuery(queryPayload))[0] as ModuleManifestPayload\n }\n\n override async moduleAddress(): Promise<AddressPreviousHashPayload[]> {\n const queryPayload: ModuleAddressQuery = { schema: ModuleAddressQuerySchema }\n return (await this.sendQuery(queryPayload))\n }\n\n override async previousHash(): Promise<string | undefined> {\n const queryPayload: ModuleAddressQuery = { schema: ModuleAddressQuerySchema }\n return ((await this.sendQuery(queryPayload)).pop() as AddressPreviousHashPayload).previousHash\n }\n\n override async publicChildren(): Promise<ModuleInstance<QueryableModuleParams<AnyConfigSchema<ModuleConfig>>, ModuleEventData<object>>[]> {\n this._publicChildren = this._publicChildren ?? (await super.publicChildren())\n return this._publicChildren\n }\n\n override async query<T extends QueryBoundWitness = QueryBoundWitness>(query: T, payloads?: Payload[]): Promise<ModuleQueryResult> {\n this._checkDead()\n return await this.busy(async () => {\n try {\n await this.checkSpam(query)\n if (this.archiving && this.isAllowedArchivingQuery(query.schema)) {\n forget(this.storeToArchivists([query, ...(payloads ?? [])]))\n }\n this.params.onQuerySendStarted?.({ payloads, query })\n const result = await this.proxyQueryHandler<T>(query, payloads)\n this.params.onQuerySendFinished?.({\n payloads, query, result, status: 'success',\n })\n if (this.archiving && this.isAllowedArchivingQuery(query.schema)) {\n forget(this.storeToArchivists(result.flat()))\n }\n forget(this.emit('moduleQueried', {\n mod: this, payloads, query, result,\n }))\n return result\n } catch (ex) {\n this.params.onQuerySendFinished?.({\n payloads, query, status: 'failure',\n })\n const error = ex as Error\n this._lastError = error\n // this.status = 'dead'\n const deadError = new DeadModuleError(this.address, error)\n const errorPayload: ModuleError = {\n message: deadError.message,\n name: deadError.name,\n schema: ModuleErrorSchema,\n }\n const sourceQuery = assertEx(QueryBoundWitnessWrapper.unwrap(query), () => 'Invalid query')\n return await this.bindQueryResult(sourceQuery, [], undefined, [errorPayload])\n }\n })\n }\n\n override queryHandler<T extends QueryBoundWitness = QueryBoundWitness>(\n _query: T,\n _payloads?: Payload[],\n _queryConfig?: TWrappedModule['params']['config'],\n ): Promise<ModuleQueryHandlerResult> {\n throw new Error('queryHandler should never be called')\n }\n\n override async queryable<T extends QueryBoundWitness = QueryBoundWitness>(\n _query: T,\n _payloads?: Payload[],\n _queryConfig?: TWrappedModule['params']['config'],\n ): Promise<boolean> {\n return await Promise.resolve(true)\n }\n\n override async resolveArchivingArchivists(): Promise<ArchivistInstance[]> {\n return (await this.params.archiving?.resolveArchivists()) ?? []\n }\n\n setConfig(config: TWrappedModule['params']['config']): void {\n this._config = config\n }\n\n setState(state: Payload[]): void {\n this._state = state\n }\n\n override async state(): Promise<Payload[]> {\n if (this._state === undefined) {\n // temporarily add ModuleStateQuerySchema to the schema list so we can wrap it and get the real query list\n const stateQueryPayload: QueryPayload = { query: ModuleStateQuerySchema, schema: QuerySchema }\n const manifestQueryPayload: QueryPayload = { query: ModuleManifestQuerySchema, schema: QuerySchema }\n this._state = [stateQueryPayload, manifestQueryPayload]\n const wrapper = ModuleWrapper.wrap(this, await Account.random())\n this._state = await wrapper.state()\n }\n return this._state\n }\n\n protected filterErrors(result: ModuleQueryResult): ModuleError[] {\n const wrapper = BoundWitnessWrapper.wrap(result[0], result[1])\n return wrapper.payloadsBySchema<ModuleError>(ModuleErrorSchema)\n }\n\n protected override async startHandler(): Promise<void> {\n return await super.startHandler()\n }\n\n // this checks and warns if we are getting spammed by the same query\n private async checkSpam(query: QueryBoundWitness) {\n const hash = await PayloadBuilder.hash(query)\n const previousCount = this._spamTrap.get(hash) ?? 0\n if (previousCount > 0) {\n this.logger?.warn(`Spam trap triggered for query: ${hash} from ${toSafeJsonString(query.addresses)}`)\n }\n this._spamTrap.set(hash, previousCount + 1)\n }\n\n abstract proxyQueryHandler<T extends QueryBoundWitness = QueryBoundWitness>(_query: T, _payloads?: Payload[]): Promise<ModuleQueryResult>\n}\n", "import type { Promisable } from '@ariestools/sdk'\nimport { assertEx, exists } from '@ariestools/sdk'\nimport type {\n AnyConfigSchema,\n ModuleConfig,\n ModuleEventData,\n ModuleFilterOptions,\n ModuleIdentifier,\n ModuleIdentifierTransformer,\n ModuleInstance,\n ModuleName,\n ModuleResolver,\n ModuleResolverInstance,\n ObjectFilterOptions,\n QueryableModuleParams,\n} from '@xyo-network/module-model'\nimport { ObjectResolverPriority } from '@xyo-network/module-model'\nimport { CompositeModuleResolver } from '@xyo-network/module-resolver'\nimport type {\n ModuleManifestPayload, XyoAddress, XyoQuantAddress,\n} from '@xyo-network/sdk-protocol'\nimport { Account } from '@xyo-network/sdk-protocol'\n\nimport { wrapModuleWithType } from '../wrapModuleWithType.ts'\n\nexport interface ModuleProxyResolverOptions {\n childAddressMap: Record<XyoAddress, ModuleName | null>\n childManifests?: Record<XyoAddress, ModuleManifestPayload>\n childStates?: Record<XyoAddress, ModuleManifestPayload>\n host: ModuleResolver\n mod: ModuleInstance\n moduleIdentifierTransformers?: ModuleIdentifierTransformer[]\n}\n\nexport class ModuleProxyResolver<T extends ModuleProxyResolverOptions = ModuleProxyResolverOptions> implements ModuleResolverInstance {\n private downResolver: CompositeModuleResolver\n private options: T\n\n constructor(options: T) {\n this.options = options\n this.downResolver = new CompositeModuleResolver({ moduleIdentifierTransformers: options.moduleIdentifierTransformers, root: this.root })\n }\n\n get priority(): 0 {\n return ObjectResolverPriority.VeryLow\n }\n\n get root(): ModuleInstance {\n return this.options.mod\n }\n\n protected get childAddressMap(): Record<(Lowercase<string> & {\n readonly __hex: true\n } & {\n readonly __address: true\n }) | XyoQuantAddress, string | null> {\n return this.options.childAddressMap\n }\n\n protected get host(): ModuleResolver<ModuleInstance<QueryableModuleParams<AnyConfigSchema<ModuleConfig>>, ModuleEventData<object>>> {\n return this.options.host\n }\n\n protected get mod(): ModuleInstance {\n return this.options.mod\n }\n\n addResolver(_resolver: ModuleResolver): this {\n throw new Error('Not supported')\n }\n\n childManifest(address: XyoAddress): ModuleManifestPayload | undefined {\n return this.options.childManifests?.[address]\n }\n\n childState(address: XyoAddress): ModuleManifestPayload | undefined {\n return this.options.childStates?.[address]\n }\n\n removeResolver(_resolver: ModuleResolver): this {\n throw new Error('Not supported')\n }\n\n /** @deprecated do not pass undefined. If trying to get all, pass '*' */\n async resolve(): Promise<ModuleInstance[]>\n async resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>\n async resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>\n // eslint-disable-next-line complexity\n async resolve<T extends ModuleInstance = ModuleInstance>(\n id: ModuleIdentifier = '*',\n options?: ModuleFilterOptions<T>,\n ): Promise<T | T[] | undefined> {\n // console.log(`childAddressMap: ${toSafeJsonString(this.childAddressMap, 10)}`)\n const direction = options?.direction ?? 'all'\n if (id === '*') {\n // get all the child addresses. if they have been resolved before, they should be in downResolver\n const childAddresses = Object.keys(this.childAddressMap)\n const resolvedChildren = await Promise.all(childAddresses.map<Promise<T | undefined>>(address => this.resolve<T>(address, options)))\n return resolvedChildren.filter(exists)\n } else if (typeof id === 'string') {\n const idParts = id.split(':')\n const firstPart: ModuleIdentifier = assertEx(idParts.shift(), () => 'Invalid module identifier at first position')\n const firstPartAddress = await this.resolveIdentifier(firstPart)\n if (firstPartAddress) {\n const remainingParts = idParts.length > 0 ? idParts.join(':') : undefined\n if (direction === 'down' || direction === 'all') {\n const downResolverModule = await this.downResolver.resolve<T>(firstPartAddress)\n if (downResolverModule) {\n return remainingParts ? downResolverModule.resolve(remainingParts, options) : downResolverModule\n }\n\n console.log(`ModuleProxyResolver: ${firstPartAddress} | ${this.root.address}`)\n if (firstPartAddress === this.root.address) {\n const wrapped = wrapModuleWithType(this.root, await Account.random()) as unknown as T\n return remainingParts ? wrapped?.resolve(remainingParts, options) : wrapped\n }\n\n // if it is a known child, create a proxy\n const addressToProxy\n = Object.keys(this.childAddressMap).includes(firstPartAddress)\n ? (firstPartAddress)\n : (Object.entries(this.childAddressMap).find(([_, value]) => value === firstPartAddress)?.[0] as XyoAddress | undefined)\n if (addressToProxy) {\n const proxy = await this.host.resolve(addressToProxy, { ...options, direction: 'down' })\n if (proxy) {\n const wrapped = wrapModuleWithType(proxy, await Account.random()) as unknown as T\n return remainingParts ? wrapped?.resolve(remainingParts, options) : wrapped\n }\n return\n }\n }\n }\n return\n }\n }\n\n resolveIdentifier(id: ModuleIdentifier, _options?: ObjectFilterOptions): Promisable<XyoAddress | undefined> {\n // check if any of the modules have the id as an address\n if (this.childAddressMap[id as XyoAddress]) {\n return id as XyoAddress\n }\n\n if (this.root.address === id) {\n return this.root.address\n }\n\n if (this.root.modName === id) {\n return this.root.address\n }\n\n // check if id is a name of one of modules in the resolver\n const addressFromName = Object.entries(this.childAddressMap).find(([, name]) => name === id)?.[0] as XyoAddress | undefined\n if (addressFromName) {\n return addressFromName\n }\n }\n\n async resolvePrivate<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ObjectFilterOptions<T>): Promise<T[]>\n async resolvePrivate<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ObjectFilterOptions<T>): Promise<T | undefined>\n async resolvePrivate<T extends ModuleInstance = ModuleInstance>(\n id: ModuleIdentifier,\n _options?: ObjectFilterOptions<T>,\n ): Promise<T | T[] | undefined> {\n if (id === '*') return await Promise.resolve([])\n }\n}\n", "import { isArchivistModule } from '@xyo-network/archivist-model'\nimport { ArchivistWrapper } from '@xyo-network/archivist-wrapper'\nimport { isDivinerModule } from '@xyo-network/diviner-model'\nimport { DivinerWrapper } from '@xyo-network/diviner-wrapper'\nimport type { QueryableModule } from '@xyo-network/module-model'\nimport type { ModuleWrapper } from '@xyo-network/module-wrapper'\nimport { isNodeModule } from '@xyo-network/node-model'\nimport { NodeWrapper } from '@xyo-network/node-wrapper'\nimport type { AccountInstance } from '@xyo-network/sdk-protocol'\nimport { isSentinelModule } from '@xyo-network/sentinel-model'\nimport { SentinelWrapper } from '@xyo-network/sentinel-wrapper'\nimport { isWitnessModule } from '@xyo-network/witness-model'\nimport { WitnessWrapper } from '@xyo-network/witness-wrapper'\n\nexport const wrapModuleWithType = (mod: QueryableModule, account: AccountInstance): ModuleWrapper => {\n if (isArchivistModule(mod)) {\n return ArchivistWrapper.wrap(mod, account)\n }\n if (isDivinerModule(mod)) {\n return DivinerWrapper.wrap(mod, account)\n }\n if (isNodeModule(mod)) {\n return NodeWrapper.wrap(mod, account)\n }\n if (isSentinelModule(mod)) {\n return SentinelWrapper.wrap(mod, account)\n }\n if (isWitnessModule(mod)) {\n return WitnessWrapper.wrap(mod, account)\n }\n throw new Error('Failed to wrap')\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": [
|
|
3
|
+
"sources": ["../../src/index.ts"],
|
|
4
|
+
"sourcesContent": ["// Compatibility shim: this package re-exports from @xyo-network/sdk.\nexport * from '@xyo-network/sdk/bridge-abstract'\n"],
|
|
5
|
+
"mappings": ";AACA,cAAc;",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/bridge-abstract",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.10",
|
|
4
4
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
5
5
|
"homepage": "https://xyo.network",
|
|
6
6
|
"bugs": {
|
|
@@ -34,24 +34,11 @@
|
|
|
34
34
|
"README.md"
|
|
35
35
|
],
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@xyo-network/
|
|
38
|
-
"@xyo-network/diviner-model": "~7.0.8",
|
|
39
|
-
"@xyo-network/bridge-model": "~7.0.8",
|
|
40
|
-
"@xyo-network/diviner-wrapper": "~7.0.8",
|
|
41
|
-
"@xyo-network/module-abstract": "~7.0.8",
|
|
42
|
-
"@xyo-network/module-model": "~7.0.8",
|
|
43
|
-
"@xyo-network/module-wrapper": "~7.0.8",
|
|
44
|
-
"@xyo-network/module-resolver": "~7.0.8",
|
|
45
|
-
"@xyo-network/sentinel-model": "~7.0.8",
|
|
46
|
-
"@xyo-network/node-model": "~7.0.8",
|
|
47
|
-
"@xyo-network/sentinel-wrapper": "~7.0.8",
|
|
48
|
-
"@xyo-network/archivist-model": "~7.0.8",
|
|
49
|
-
"@xyo-network/node-wrapper": "~7.0.8",
|
|
50
|
-
"@xyo-network/witness-model": "~7.0.8",
|
|
51
|
-
"@xyo-network/witness-wrapper": "~7.0.8"
|
|
37
|
+
"@xyo-network/sdk": "~7.0.10"
|
|
52
38
|
},
|
|
53
39
|
"devDependencies": {
|
|
54
|
-
"@ariestools/sdk": "~
|
|
40
|
+
"@ariestools/sdk": "~8.0.2",
|
|
41
|
+
"@ariestools/threads": "~8.0.2",
|
|
55
42
|
"@bitauth/libauth": "~3.0.0",
|
|
56
43
|
"@metamask/providers": "~22.1.1",
|
|
57
44
|
"@noble/post-quantum": "~0.6.1",
|
|
@@ -59,14 +46,11 @@
|
|
|
59
46
|
"@opentelemetry/sdk-trace-base": "~2.9.0",
|
|
60
47
|
"@scure/base": "~2.2.0",
|
|
61
48
|
"@scure/bip39": "~2.2.0",
|
|
62
|
-
"@xylabs/
|
|
63
|
-
"@xylabs/
|
|
64
|
-
"@
|
|
65
|
-
"@xylabs/tsconfig": "~8.6.2",
|
|
66
|
-
"@xyo-network/sdk-protocol": "~7.0.13",
|
|
49
|
+
"@xylabs/toolchain": "~8.6.8",
|
|
50
|
+
"@xylabs/tsconfig": "~8.6.8",
|
|
51
|
+
"@xyo-network/sdk-protocol": "~7.0.15",
|
|
67
52
|
"ajv": "~8.20.0",
|
|
68
53
|
"async-mutex": "~0.5.0",
|
|
69
|
-
"browserslist": "~4.28.4",
|
|
70
54
|
"debug": "~4.4.3",
|
|
71
55
|
"eslint": "~10.6.0",
|
|
72
56
|
"eslint-import-resolver-typescript": "~4.4.5",
|
|
@@ -80,7 +64,8 @@
|
|
|
80
64
|
"zod": "~4.4.3"
|
|
81
65
|
},
|
|
82
66
|
"peerDependencies": {
|
|
83
|
-
"@ariestools/sdk": "^
|
|
67
|
+
"@ariestools/sdk": "^8.0.2",
|
|
68
|
+
"@ariestools/threads": "^8.0.2",
|
|
84
69
|
"@bitauth/libauth": "^3.0.0",
|
|
85
70
|
"@metamask/providers": "^22.1.1",
|
|
86
71
|
"@noble/post-quantum": "^0.6.1",
|
|
@@ -88,9 +73,7 @@
|
|
|
88
73
|
"@opentelemetry/sdk-trace-base": "^2.9.0",
|
|
89
74
|
"@scure/base": "^2.2.0",
|
|
90
75
|
"@scure/bip39": "^2.2.0",
|
|
91
|
-
"@
|
|
92
|
-
"@xylabs/threads": "^7.0.8",
|
|
93
|
-
"@xyo-network/sdk-protocol": "^7.0.13",
|
|
76
|
+
"@xyo-network/sdk-protocol": "^7.0.15",
|
|
94
77
|
"ajv": "^8.20.0",
|
|
95
78
|
"async-mutex": "^0.5.0",
|
|
96
79
|
"debug": "^4.4.3",
|
|
@@ -107,5 +90,6 @@
|
|
|
107
90
|
},
|
|
108
91
|
"publishConfig": {
|
|
109
92
|
"access": "public"
|
|
110
|
-
}
|
|
93
|
+
},
|
|
94
|
+
"deprecated": "Use @xyo-network/sdk/bridge-abstract instead. Replace @xyo-network/bridge-abstract with @xyo-network/sdk/bridge-abstract. This package is a compatibility shim only and will not receive further updates."
|
|
111
95
|
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import type { Promisable } from '@ariestools/sdk';
|
|
2
|
-
import type { ArchivistInstance } from '@xyo-network/archivist-model';
|
|
3
|
-
import type { AttachableBridgeInstance, BridgeExposeOptions, BridgeModuleEventData, BridgeParams, BridgeUnexposeOptions } from '@xyo-network/bridge-model';
|
|
4
|
-
import { AbstractModuleInstance } from '@xyo-network/module-abstract';
|
|
5
|
-
import type { ModuleFilterOptions, ModuleIdentifier, ModuleInstance, ModuleQueryHandlerResult, ModuleResolverInstance } from '@xyo-network/module-model';
|
|
6
|
-
import type { Payload, QueryBoundWitness, Schema, XyoAddress } from '@xyo-network/sdk-protocol';
|
|
7
|
-
export declare abstract class AbstractBridge<TParams extends BridgeParams = BridgeParams> extends AbstractModuleInstance<TParams, BridgeModuleEventData> implements AttachableBridgeInstance<TParams, BridgeModuleEventData> {
|
|
8
|
-
static readonly configSchemas: Schema[];
|
|
9
|
-
static readonly defaultConfigSchema: Schema;
|
|
10
|
-
static readonly uniqueName: string;
|
|
11
|
-
protected _roots?: ModuleInstance[];
|
|
12
|
-
get allowNameResolution(): boolean;
|
|
13
|
-
get discoverRoots(): false | 'start' | 'lazy';
|
|
14
|
-
get queries(): Schema[];
|
|
15
|
-
get resolver(): Promisable<ModuleResolverInstance>;
|
|
16
|
-
expose(id: ModuleIdentifier, options?: BridgeExposeOptions): Promise<ModuleInstance[]>;
|
|
17
|
-
exposed(): Promise<XyoAddress[]>;
|
|
18
|
-
/** @deprecated do not pass undefined. If trying to get all, pass '*' */
|
|
19
|
-
resolve(): Promise<ModuleInstance[]>;
|
|
20
|
-
resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
|
|
21
|
-
resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
|
|
22
|
-
startHandler(): Promise<void>;
|
|
23
|
-
unexpose(id: ModuleIdentifier, options?: BridgeUnexposeOptions): Promise<XyoAddress[]>;
|
|
24
|
-
protected queryHandler<T extends QueryBoundWitness = QueryBoundWitness>(query: T, payloads?: Payload[]): Promise<ModuleQueryHandlerResult>;
|
|
25
|
-
protected resolveArchivingArchivists(): Promise<ArchivistInstance[]>;
|
|
26
|
-
abstract exposeHandler(address: XyoAddress, options?: BridgeExposeOptions): Promisable<ModuleInstance[]>;
|
|
27
|
-
abstract exposedHandler(): Promisable<XyoAddress[]>;
|
|
28
|
-
abstract getRoots(force?: boolean): Promise<ModuleInstance[]>;
|
|
29
|
-
abstract unexposeHandler(address: XyoAddress, options?: BridgeUnexposeOptions): Promisable<ModuleInstance[]>;
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=AbstractBridge.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractBridge.d.ts","sourceRoot":"","sources":["../../src/AbstractBridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAKjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAErE,OAAO,KAAK,EACV,wBAAwB,EACxB,mBAAmB,EACnB,qBAAqB,EACrB,YAAY,EAEZ,qBAAqB,EAEtB,MAAM,2BAA2B,CAAA;AASlC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EAEV,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,2BAA2B,CAAA;AAOlC,OAAO,KAAK,EACV,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAC/C,MAAM,2BAA2B,CAAA;AAGlC,8BAAsB,cAAc,CAAC,OAAO,SAAS,YAAY,GAAG,YAAY,CAC9E,SAAQ,sBAAsB,CAAC,OAAO,EAAE,qBAAqB,CAC7D,YAAW,wBAAwB,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACnE,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA+C;IAC/F,gBAAyB,mBAAmB,EAAE,MAAM,CAAqB;IACzE,gBAAyB,UAAU,EAAE,MAAM,CAA0D;IAErG,SAAS,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,CAAA;IAEnC,IAAa,mBAAmB,IAAI,OAAO,CAG1C;IAED,IAAI,aAAa,IAAI,KAAK,GAAG,OAAO,GAAG,MAAM,CAE5C;IAED,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAED,IAAI,QAAQ,IAAI,UAAU,CAAC,sBAAsB,CAAC,CAEjD;IAEK,MAAM,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAUtF,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAKtC,yEAAyE;IAC1D,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IACpC,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAC5G,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAiClI,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAQtC,QAAQ,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;cAQnE,YAAY,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EACnF,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,OAAO,EAAE,GACnB,OAAO,CAAC,wBAAwB,CAAC;cAmDX,0BAA0B,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAenF,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;IAExG,QAAQ,CAAC,cAAc,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;IAEnD,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAE7D,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;CAC7G"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { ArchivistInstance } from '@xyo-network/archivist-model';
|
|
2
|
-
import type { BridgeInstance, QuerySendFinishedEventArgs, QuerySendStartedEventArgs } from '@xyo-network/bridge-model';
|
|
3
|
-
import type { ArchivingModuleConfig, CacheConfig, ModuleFilterOptions, ModuleIdentifier, ModuleInstance } from '@xyo-network/module-model';
|
|
4
|
-
import type { ModuleResolverParams } from '@xyo-network/module-resolver';
|
|
5
|
-
import { CompositeModuleResolver } from '@xyo-network/module-resolver';
|
|
6
|
-
import type { AccountInstance } from '@xyo-network/sdk-protocol';
|
|
7
|
-
import type { ModuleProxyParams } from './AbstractModuleProxy/index.ts';
|
|
8
|
-
export interface BridgeModuleResolverParams extends ModuleResolverParams {
|
|
9
|
-
additionalSigners?: AccountInstance[];
|
|
10
|
-
archiving?: ArchivingModuleConfig['archiving'] & {
|
|
11
|
-
resolveArchivists: () => Promise<ArchivistInstance[]>;
|
|
12
|
-
};
|
|
13
|
-
bridge: BridgeInstance;
|
|
14
|
-
cacheConfig?: CacheConfig;
|
|
15
|
-
onQuerySendFinished?: (args: Omit<QuerySendFinishedEventArgs, 'mod'>) => void;
|
|
16
|
-
onQuerySendStarted?: (args: Omit<QuerySendStartedEventArgs, 'mod'>) => void;
|
|
17
|
-
wrapperAccount: AccountInstance;
|
|
18
|
-
}
|
|
19
|
-
export declare abstract class AbstractBridgeModuleResolver<TParams extends BridgeModuleResolverParams = BridgeModuleResolverParams, TProxyParams extends ModuleProxyParams = ModuleProxyParams> extends CompositeModuleResolver<TParams> {
|
|
20
|
-
get priority(): 0;
|
|
21
|
-
resolveHandler<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>, _params?: Partial<TProxyParams>): Promise<T[]>;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=AbstractBridgeModuleResolver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractBridgeModuleResolver.d.ts","sourceRoot":"","sources":["../../src/AbstractBridgeModuleResolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,KAAK,EACV,cAAc,EAAE,0BAA0B,EAAE,yBAAyB,EACtE,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EACV,qBAAqB,EACrB,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACf,MAAM,2BAA2B,CAAA;AAElC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAEhE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAEvE,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;IACtE,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAA;IACrC,SAAS,CAAC,EAAE,qBAAqB,CAAC,WAAW,CAAC,GAAG;QAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAA;KAAE,CAAA;IAC1G,MAAM,EAAE,cAAc,CAAA;IACtB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,KAAK,IAAI,CAAA;IAC7E,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,yBAAyB,EAAE,KAAK,CAAC,KAAK,IAAI,CAAA;IAC3E,cAAc,EAAE,eAAe,CAAA;CAChC;AAED,8BAAsB,4BAA4B,CAChD,OAAO,SAAS,0BAA0B,GAAG,0BAA0B,EACvE,YAAY,SAAS,iBAAiB,GAAG,iBAAiB,CAC1D,SAAQ,uBAAuB,CAAC,OAAO,CAAC;IACxC,IAAa,QAAQ,IAAI,CAAC,CAEzB;IAEc,cAAc,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EACrE,EAAE,EAAE,gBAAgB,EACpB,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAChC,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAC9B,OAAO,CAAC,CAAC,EAAE,CAAC;CAMhB"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import type { ArchivistInstance } from '@xyo-network/archivist-model';
|
|
2
|
-
import type { QuerySendFinishedEventArgs, QuerySendStartedEventArgs } from '@xyo-network/bridge-model';
|
|
3
|
-
import { AbstractModuleInstance } from '@xyo-network/module-abstract';
|
|
4
|
-
import type { AddressPreviousHashPayload, AnyConfigSchema, ArchivingModuleConfig, AttachableModuleInstance, ModuleConfig, ModuleEventData, ModuleInstance, ModuleName, ModuleQueryHandlerResult, ModuleQueryResult, ModuleResolver, QueryableModule, QueryableModuleParams } from '@xyo-network/module-model';
|
|
5
|
-
import type { AccountInstance, ModuleError, ModuleManifestPayload, Payload, QueryBoundWitness, Schema, XyoAddress, XyoQuantAddress } from '@xyo-network/sdk-protocol';
|
|
6
|
-
export interface ModuleProxyParams extends QueryableModuleParams {
|
|
7
|
-
account: AccountInstance;
|
|
8
|
-
archiving?: ArchivingModuleConfig['archiving'] & {
|
|
9
|
-
resolveArchivists: () => Promise<ArchivistInstance[]>;
|
|
10
|
-
};
|
|
11
|
-
host: ModuleResolver;
|
|
12
|
-
manifest?: ModuleManifestPayload;
|
|
13
|
-
moduleAddress: XyoAddress;
|
|
14
|
-
onQuerySendFinished?: (args: Omit<QuerySendFinishedEventArgs, 'mod'>) => void;
|
|
15
|
-
onQuerySendStarted?: (args: Omit<QuerySendStartedEventArgs, 'mod'>) => void;
|
|
16
|
-
state?: Payload[];
|
|
17
|
-
}
|
|
18
|
-
export declare abstract class AbstractModuleProxy<TWrappedModule extends ModuleInstance = ModuleInstance, TParams extends ModuleProxyParams = ModuleProxyParams> extends AbstractModuleInstance<TParams, TWrappedModule['eventData']> implements ModuleInstance<TParams, TWrappedModule['eventData']> {
|
|
19
|
-
static readonly requiredQueries: string[];
|
|
20
|
-
protected _config?: TWrappedModule['config'];
|
|
21
|
-
protected _publicChildren?: ModuleInstance[];
|
|
22
|
-
protected _state: Payload[] | undefined;
|
|
23
|
-
protected _stateInProcess: boolean;
|
|
24
|
-
private _spamTrap;
|
|
25
|
-
get address(): (Lowercase<string> & {
|
|
26
|
-
readonly __hex: true;
|
|
27
|
-
} & {
|
|
28
|
-
readonly __address: true;
|
|
29
|
-
}) | XyoQuantAddress;
|
|
30
|
-
get archiving(): ArchivingModuleConfig['archiving'] | undefined;
|
|
31
|
-
get config(): TWrappedModule['config'] & {
|
|
32
|
-
schema: Schema;
|
|
33
|
-
};
|
|
34
|
-
get queries(): Schema[];
|
|
35
|
-
static hasRequiredQueries(mod: QueryableModule): boolean;
|
|
36
|
-
static isAllowedSchema(schema: Schema): boolean;
|
|
37
|
-
static missingRequiredQueries(mod: QueryableModule): string[];
|
|
38
|
-
static paramsHandler<T extends AttachableModuleInstance<QueryableModuleParams, ModuleEventData>>(inParams?: Partial<T['params']>): Promise<T['params']>;
|
|
39
|
-
addressPreviousHash(): Promise<AddressPreviousHashPayload>;
|
|
40
|
-
childAddressByName(name: ModuleName): XyoAddress | undefined;
|
|
41
|
-
childAddressMap(): Promise<Record<XyoAddress, ModuleName | null>>;
|
|
42
|
-
createHandler(): Promise<void>;
|
|
43
|
-
manifest(maxDepth?: number): Promise<ModuleManifestPayload>;
|
|
44
|
-
moduleAddress(): Promise<AddressPreviousHashPayload[]>;
|
|
45
|
-
previousHash(): Promise<string | undefined>;
|
|
46
|
-
publicChildren(): Promise<ModuleInstance<QueryableModuleParams<AnyConfigSchema<ModuleConfig>>, ModuleEventData<object>>[]>;
|
|
47
|
-
query<T extends QueryBoundWitness = QueryBoundWitness>(query: T, payloads?: Payload[]): Promise<ModuleQueryResult>;
|
|
48
|
-
queryHandler<T extends QueryBoundWitness = QueryBoundWitness>(_query: T, _payloads?: Payload[], _queryConfig?: TWrappedModule['params']['config']): Promise<ModuleQueryHandlerResult>;
|
|
49
|
-
queryable<T extends QueryBoundWitness = QueryBoundWitness>(_query: T, _payloads?: Payload[], _queryConfig?: TWrappedModule['params']['config']): Promise<boolean>;
|
|
50
|
-
resolveArchivingArchivists(): Promise<ArchivistInstance[]>;
|
|
51
|
-
setConfig(config: TWrappedModule['params']['config']): void;
|
|
52
|
-
setState(state: Payload[]): void;
|
|
53
|
-
state(): Promise<Payload[]>;
|
|
54
|
-
protected filterErrors(result: ModuleQueryResult): ModuleError[];
|
|
55
|
-
protected startHandler(): Promise<void>;
|
|
56
|
-
private checkSpam;
|
|
57
|
-
abstract proxyQueryHandler<T extends QueryBoundWitness = QueryBoundWitness>(_query: T, _payloads?: Payload[]): Promise<ModuleQueryResult>;
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=AbstractModuleProxy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractModuleProxy.d.ts","sourceRoot":"","sources":["../../../src/AbstractModuleProxy/AbstractModuleProxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import type { Promisable } from '@ariestools/sdk';
|
|
2
|
-
import type { AnyConfigSchema, ModuleConfig, ModuleEventData, ModuleFilterOptions, ModuleIdentifier, ModuleIdentifierTransformer, ModuleInstance, ModuleName, ModuleResolver, ModuleResolverInstance, ObjectFilterOptions, QueryableModuleParams } from '@xyo-network/module-model';
|
|
3
|
-
import type { ModuleManifestPayload, XyoAddress, XyoQuantAddress } from '@xyo-network/sdk-protocol';
|
|
4
|
-
export interface ModuleProxyResolverOptions {
|
|
5
|
-
childAddressMap: Record<XyoAddress, ModuleName | null>;
|
|
6
|
-
childManifests?: Record<XyoAddress, ModuleManifestPayload>;
|
|
7
|
-
childStates?: Record<XyoAddress, ModuleManifestPayload>;
|
|
8
|
-
host: ModuleResolver;
|
|
9
|
-
mod: ModuleInstance;
|
|
10
|
-
moduleIdentifierTransformers?: ModuleIdentifierTransformer[];
|
|
11
|
-
}
|
|
12
|
-
export declare class ModuleProxyResolver<T extends ModuleProxyResolverOptions = ModuleProxyResolverOptions> implements ModuleResolverInstance {
|
|
13
|
-
private downResolver;
|
|
14
|
-
private options;
|
|
15
|
-
constructor(options: T);
|
|
16
|
-
get priority(): 0;
|
|
17
|
-
get root(): ModuleInstance;
|
|
18
|
-
protected get childAddressMap(): Record<(Lowercase<string> & {
|
|
19
|
-
readonly __hex: true;
|
|
20
|
-
} & {
|
|
21
|
-
readonly __address: true;
|
|
22
|
-
}) | XyoQuantAddress, string | null>;
|
|
23
|
-
protected get host(): ModuleResolver<ModuleInstance<QueryableModuleParams<AnyConfigSchema<ModuleConfig>>, ModuleEventData<object>>>;
|
|
24
|
-
protected get mod(): ModuleInstance;
|
|
25
|
-
addResolver(_resolver: ModuleResolver): this;
|
|
26
|
-
childManifest(address: XyoAddress): ModuleManifestPayload | undefined;
|
|
27
|
-
childState(address: XyoAddress): ModuleManifestPayload | undefined;
|
|
28
|
-
removeResolver(_resolver: ModuleResolver): this;
|
|
29
|
-
/** @deprecated do not pass undefined. If trying to get all, pass '*' */
|
|
30
|
-
resolve(): Promise<ModuleInstance[]>;
|
|
31
|
-
resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
|
|
32
|
-
resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
|
|
33
|
-
resolveIdentifier(id: ModuleIdentifier, _options?: ObjectFilterOptions): Promisable<XyoAddress | undefined>;
|
|
34
|
-
resolvePrivate<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ObjectFilterOptions<T>): Promise<T[]>;
|
|
35
|
-
resolvePrivate<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ObjectFilterOptions<T>): Promise<T | undefined>;
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=ModuleProxyResolver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ModuleProxyResolver.d.ts","sourceRoot":"","sources":["../../../src/AbstractModuleProxy/ModuleProxyResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/AbstractModuleProxy/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { QueryableModule } from '@xyo-network/module-model';
|
|
2
|
-
import type { ModuleWrapper } from '@xyo-network/module-wrapper';
|
|
3
|
-
import type { AccountInstance } from '@xyo-network/sdk-protocol';
|
|
4
|
-
export declare const wrapModuleWithType: (mod: QueryableModule, account: AccountInstance) => ModuleWrapper;
|
|
5
|
-
//# sourceMappingURL=wrapModuleWithType.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"wrapModuleWithType.d.ts","sourceRoot":"","sources":["../../src/wrapModuleWithType.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAGhE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAMhE,eAAO,MAAM,kBAAkB,GAAI,KAAK,eAAe,EAAE,SAAS,eAAe,KAAG,aAiBnF,CAAA"}
|