@xyo-network/bridge-module-resolver 2.64.6 → 2.64.8

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.
@@ -1,4 +1,3 @@
1
- import { assertEx } from '@xylabs/assert';
2
1
  import { AddressSchema } from '@xyo-network/address-payload-plugin';
3
2
  import { ArchivistGetQuerySchema } from '@xyo-network/archivist-model';
4
3
  import { ArchivistWrapper } from '@xyo-network/archivist-wrapper';
@@ -15,13 +14,15 @@ import compact from 'lodash/compact';
15
14
  import { ProxyModule, ProxyModuleConfigSchema } from './ProxyModule';
16
15
  export class BridgeModuleResolver extends CompositeModuleResolver {
17
16
  bridge;
17
+ wrapperAccount;
18
18
  remoteAddresses;
19
19
  resolvedModules = {};
20
20
  // TODO: Allow optional ctor param for supplying address for nested Nodes
21
21
  // protected readonly address?: string,
22
- constructor(bridge) {
22
+ constructor(bridge, wrapperAccount) {
23
23
  super();
24
24
  this.bridge = bridge;
25
+ this.wrapperAccount = wrapperAccount;
25
26
  }
26
27
  get isModuleResolver() {
27
28
  return true;
@@ -59,6 +60,11 @@ export class BridgeModuleResolver extends CompositeModuleResolver {
59
60
  async resolve(filter) {
60
61
  return await this.resolveRemoteModules(filter);
61
62
  }
63
+ async resolveOne(addressOrName) {
64
+ if (addressOrName) {
65
+ return (await this.resolveByAddress(addressOrName)) ?? (await this.resolveByName(addressOrName))?.[0];
66
+ }
67
+ }
62
68
  async resolveByAddress(targetAddress) {
63
69
  const remoteAddresses = await this.getRemoteAddresses();
64
70
  //check if it is even there
@@ -76,21 +82,20 @@ export class BridgeModuleResolver extends CompositeModuleResolver {
76
82
  try {
77
83
  //discover it to set the config in the bridge
78
84
  await this.bridge.targetDiscover(address);
79
- const account = assertEx(this.bridge.account, 'Missing bridge account');
80
85
  if (mod.queries.includes(ArchivistGetQuerySchema)) {
81
- return ArchivistWrapper.wrap(mod, account);
86
+ return ArchivistWrapper.wrap(mod, this.wrapperAccount);
82
87
  }
83
88
  if (mod.queries.includes(DivinerDivineQuerySchema)) {
84
- return DivinerWrapper.wrap(mod, account);
89
+ return DivinerWrapper.wrap(mod, this.wrapperAccount);
85
90
  }
86
91
  if (mod.queries.includes(WitnessObserveQuerySchema)) {
87
- return WitnessWrapper.wrap(mod, account);
92
+ return WitnessWrapper.wrap(mod, this.wrapperAccount);
88
93
  }
89
94
  if (mod.queries.includes(NodeAttachQuerySchema)) {
90
- return NodeWrapper.wrap(mod, account);
95
+ return NodeWrapper.wrap(mod, this.wrapperAccount);
91
96
  }
92
97
  if (mod.queries.includes(SentinelReportQuerySchema)) {
93
- return SentinelWrapper.wrap(mod, account);
98
+ return SentinelWrapper.wrap(mod, this.wrapperAccount);
94
99
  }
95
100
  return mod;
96
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ModuleResolver.js","sourceRoot":"","sources":["../../src/ModuleResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModuleResolver.js","sourceRoot":"","sources":["../../src/ModuleResolver.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { assertEx } from '@xylabs/assert';
2
+ import { AddressSchema } from '@xyo-network/address-payload-plugin';
2
3
  import { BaseEmitter, CompositeModuleResolver, } from '@xyo-network/module';
4
+ import compact from 'lodash/compact';
3
5
  export const ProxyModuleConfigSchema = 'network.xyo.module.proxy.config';
4
6
  export class ProxyModule extends BaseEmitter {
5
7
  upResolver = new CompositeModuleResolver();
@@ -21,10 +23,34 @@ export class ProxyModule extends BaseEmitter {
21
23
  get queries() {
22
24
  return this.bridge.targetQueries(this.address);
23
25
  }
26
+ addressPreviousHash() {
27
+ throw Error('Not Implemented');
28
+ }
29
+ async describe() {
30
+ const description = {
31
+ address: this.address,
32
+ queries: this.queries,
33
+ };
34
+ if (this.config.name) {
35
+ description.name = this.config.name;
36
+ }
37
+ const discover = await this.discover();
38
+ description.children = compact(discover?.map((payload) => {
39
+ const address = payload.schema === AddressSchema ? payload.address : undefined;
40
+ return address != this.address ? address : undefined;
41
+ }) ?? []);
42
+ return description;
43
+ }
44
+ discover() {
45
+ return this.bridge.targetDiscover();
46
+ }
24
47
  manifest() {
25
48
  const name = assertEx(this.config.name, 'Calling manifest on un-named module is not supported');
26
49
  return { config: { name, ...this.config } };
27
50
  }
51
+ previousHash() {
52
+ throw Error('Not Implemented');
53
+ }
28
54
  async query(query, payloads) {
29
55
  const result = assertEx(await this.bridge.targetQuery(this.address, query, payloads), 'Remote Query Failed');
30
56
  await this.emit('moduleQueried', { module: this, payloads, query, result });
@@ -1 +1 @@
1
- {"version":3,"file":"ProxyModule.js","sourceRoot":"","sources":["../../src/ProxyModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGzC,OAAO,EACL,WAAW,EACX,uBAAuB,GAQxB,MAAM,qBAAqB,CAAA;AAK5B,MAAM,CAAC,MAAM,uBAAuB,GAA4B,iCAAiC,CAAA;AAYjG,MAAM,OAAO,WAAY,SAAQ,WAA+C;IACrE,UAAU,GAAG,IAAI,uBAAuB,EAAE,CAAA;IAEnD,YAAY,MAAyB;QACnC,KAAK,CAAC,MAAM,CAAC,CAAA;IACf,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAA;IAC1C,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;IAC3B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACrD,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC;IAED,QAAQ;QACN,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,sDAAsD,CAAC,CAAA;QAC/F,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAA;IAC7C,CAAC;IAED,KAAK,CAAC,KAAK,CAAkD,KAAQ,EAAE,QAAoB;QACzF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,qBAAqB,CAAC,CAAA;QAC5G,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QAC3E,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAwB,EAAE,QAAoB,EAAE,WAA0B;QACxF,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAA;IACtF,CAAC;IAED,uGAAuG;IACvG,KAAK,CAAC,OAAO,CAAC,MAAqB;QACjC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC9D,CAAC;CACF"}
1
+ {"version":3,"file":"ProxyModule.js","sourceRoot":"","sources":["../../src/ProxyModule.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
+ import { AccountInstance } from '@xyo-network/account-model';
1
2
  import { BridgeModule } from '@xyo-network/bridge-model';
2
3
  import { CompositeModuleResolver } from '@xyo-network/module';
3
4
  import { Module, ModuleFilter, ModuleResolver } from '@xyo-network/module-model';
4
5
  export declare class BridgeModuleResolver extends CompositeModuleResolver implements ModuleResolver {
5
6
  protected readonly bridge: BridgeModule;
7
+ protected wrapperAccount: AccountInstance;
6
8
  private remoteAddresses?;
7
9
  private resolvedModules;
8
- constructor(bridge: BridgeModule);
10
+ constructor(bridge: BridgeModule, wrapperAccount: AccountInstance);
9
11
  get isModuleResolver(): boolean;
10
12
  add(module: Module): this;
11
13
  add(module: Module[]): this;
@@ -13,6 +15,7 @@ export declare class BridgeModuleResolver extends CompositeModuleResolver implem
13
15
  getRemoteAddresses(): Promise<string[]>;
14
16
  remove(_address: string | string[]): this;
15
17
  resolve<T extends Module = Module>(filter?: ModuleFilter): Promise<T[]>;
18
+ resolveOne<T extends Module = Module>(addressOrName?: string): Promise<T | undefined>;
16
19
  private resolveByAddress;
17
20
  private resolveByName;
18
21
  private resolveByQuery;
@@ -1 +1 @@
1
- {"version":3,"file":"ModuleResolver.d.ts","sourceRoot":"","sources":["../../src/ModuleResolver.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAIxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAuB,MAAM,EAAE,YAAY,EAAE,cAAc,EAAuC,MAAM,2BAA2B,CAAA;AAU1I,qBAAa,oBAAqB,SAAQ,uBAAwB,YAAW,cAAc;IAM7E,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY;IALnD,OAAO,CAAC,eAAe,CAAC,CAAmB;IAC3C,OAAO,CAAC,eAAe,CAAsC;gBAI9B,MAAM,EAAE,YAAY;IAInD,IAAa,gBAAgB,IAAI,OAAO,CAEvC;IAEQ,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IACzB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAK9B,sBAAsB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAW/E,kBAAkB;IAmBf,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAInC,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;YAIxE,gBAAgB;YAsDhB,aAAa;YAIb,cAAc;YAUd,oBAAoB;YAiBpB,6BAA6B;YAI7B,0BAA0B;YAI1B,2BAA2B;CAG1C"}
1
+ {"version":3,"file":"ModuleResolver.d.ts","sourceRoot":"","sources":["../../src/ModuleResolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAI5D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAIxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC7D,OAAO,EAAuB,MAAM,EAAE,YAAY,EAAE,cAAc,EAAuC,MAAM,2BAA2B,CAAA;AAU1I,qBAAa,oBAAqB,SAAQ,uBAAwB,YAAW,cAAc;IAM7E,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY;IAAE,SAAS,CAAC,cAAc,EAAE,eAAe;IAL9F,OAAO,CAAC,eAAe,CAAC,CAAmB;IAC3C,OAAO,CAAC,eAAe,CAAsC;gBAI9B,MAAM,EAAE,YAAY,EAAY,cAAc,EAAE,eAAe;IAI9F,IAAa,gBAAgB,IAAI,OAAO,CAEvC;IAEQ,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IACzB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAK9B,sBAAsB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAW/E,kBAAkB;IAmBf,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAInC,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAIvE,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;YAMtF,gBAAgB;YAoDhB,aAAa;YAIb,cAAc;YAUd,oBAAoB;YAiBpB,6BAA6B;YAI7B,0BAA0B;YAI1B,2BAA2B;CAG1C"}
@@ -1,6 +1,6 @@
1
1
  import { BridgeModule } from '@xyo-network/bridge-model';
2
2
  import { ModuleManifest } from '@xyo-network/manifest-model';
3
- import { BaseEmitter, CompositeModuleResolver, Module, ModuleConfig, ModuleEventData, ModuleFilter, ModuleParams, ModuleQueryResult, QueryBoundWitness } from '@xyo-network/module';
3
+ import { AddressPreviousHashPayload, BaseEmitter, CompositeModuleResolver, Module, ModuleConfig, ModuleDescription, ModuleEventData, ModuleFilter, ModuleParams, ModuleQueryResult, QueryBoundWitness } from '@xyo-network/module';
4
4
  import { Payload } from '@xyo-network/payload-model';
5
5
  import { Promisable } from '@xyo-network/promise';
6
6
  export type ProxyModuleConfigSchema = 'network.xyo.module.proxy.config';
@@ -45,13 +45,21 @@ export declare class ProxyModule extends BaseEmitter<ProxyModuleParams, ModuleEv
45
45
  } & Omit<{
46
46
  discoverCache?: true | import("@xyo-network/bridge-model").CacheConfig | undefined;
47
47
  schema: "network.xyo.bridge.config";
48
- }, "schema">, "schema"> & {
48
+ }, "schema"> & {
49
+ schema: "network.xyo.bridge.config";
50
+ }, "schema"> & {
51
+ schema: string;
52
+ }, "schema"> & {
49
53
  schema: string;
50
- }, "schema">>, ModuleEventData, Module<ModuleParams, ModuleEventData>>;
54
+ }>, ModuleEventData, Module<ModuleParams, ModuleEventData>>;
51
55
  get config(): ModuleConfig;
52
56
  get downResolver(): import("@xyo-network/module").ModuleResolver;
53
57
  get queries(): string[];
58
+ addressPreviousHash(): Promise<AddressPreviousHashPayload>;
59
+ describe(): Promise<ModuleDescription>;
60
+ discover(): Promisable<Payload[]>;
54
61
  manifest(): Promisable<ModuleManifest>;
62
+ previousHash(): Promise<string | undefined>;
55
63
  query<T extends QueryBoundWitness = QueryBoundWitness>(query: T, payloads?: Payload[]): Promise<ModuleQueryResult>;
56
64
  queryable(query: QueryBoundWitness, payloads?: Payload[], queryConfig?: ModuleConfig): Promise<boolean>;
57
65
  resolve(filter?: ModuleFilter): Promise<Module[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"ProxyModule.d.ts","sourceRoot":"","sources":["../../src/ProxyModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,MAAM,EACN,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,MAAM,MAAM,uBAAuB,GAAG,iCAAiC,CAAA;AACvE,eAAO,MAAM,uBAAuB,EAAE,uBAA2D,CAAA;AAEjG,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC;IAAE,MAAM,EAAE,uBAAuB,CAAA;CAAE,CAAC,CAAA;AAElF,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAC1C,kBAAkB,EAClB;IACE,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,YAAY,CAAA;CACrB,CACF,CAAA;AAED,qBAAa,WAAY,SAAQ,WAAW,CAAC,iBAAiB,EAAE,eAAe,CAAE,YAAW,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC;IAC/H,QAAQ,CAAC,UAAU,0BAAgC;gBAEvC,MAAM,EAAE,iBAAiB;IAIrC,IAAI,OAAO,WAEV;IAED,IAAI,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2EAET;IAED,IAAI,MAAM,IAAI,YAAY,CAEzB;IAED,IAAI,YAAY,iDAEf;IAED,IAAI,OAAO,aAEV;IAED,QAAQ,IAAI,UAAU,CAAC,cAAc,CAAC;IAKhC,KAAK,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAMlH,SAAS,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAKvG,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAGxD"}
1
+ {"version":3,"file":"ProxyModule.d.ts","sourceRoot":"","sources":["../../src/ProxyModule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EACL,0BAA0B,EAC1B,WAAW,EACX,uBAAuB,EACvB,MAAM,EACN,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGjD,MAAM,MAAM,uBAAuB,GAAG,iCAAiC,CAAA;AACvE,eAAO,MAAM,uBAAuB,EAAE,uBAA2D,CAAA;AAEjG,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC;IAAE,MAAM,EAAE,uBAAuB,CAAA;CAAE,CAAC,CAAA;AAElF,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAC1C,kBAAkB,EAClB;IACE,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,YAAY,CAAA;CACrB,CACF,CAAA;AAED,qBAAa,WAAY,SAAQ,WAAW,CAAC,iBAAiB,EAAE,eAAe,CAAE,YAAW,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC;IAC/H,QAAQ,CAAC,UAAU,0BAAgC;gBAEvC,MAAM,EAAE,iBAAiB;IAIrC,IAAI,OAAO,WAEV;IAED,IAAI,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gEAET;IAED,IAAI,MAAM,IAAI,YAAY,CAEzB;IAED,IAAI,YAAY,iDAEf;IAED,IAAI,OAAO,aAEV;IAED,mBAAmB,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAIpD,QAAQ,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAqB5C,QAAQ,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;IAIjC,QAAQ,IAAI,UAAU,CAAC,cAAc,CAAC;IAKtC,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAIrC,KAAK,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAMlH,SAAS,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAKvG,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAGxD"}
package/package.json CHANGED
@@ -11,23 +11,24 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@xylabs/assert": "^2.9.3",
14
- "@xyo-network/address-payload-plugin": "^2.64.6",
15
- "@xyo-network/archivist-model": "^2.64.6",
16
- "@xyo-network/archivist-wrapper": "^2.64.6",
17
- "@xyo-network/bridge-model": "^2.64.6",
18
- "@xyo-network/diviner-model": "^2.64.6",
19
- "@xyo-network/diviner-wrapper": "^2.64.6",
20
- "@xyo-network/error": "^2.64.6",
21
- "@xyo-network/manifest-model": "^2.64.6",
22
- "@xyo-network/module": "^2.64.6",
23
- "@xyo-network/module-model": "^2.64.6",
24
- "@xyo-network/node-model": "^2.64.6",
25
- "@xyo-network/node-wrapper": "^2.64.6",
26
- "@xyo-network/payload-model": "^2.64.6",
27
- "@xyo-network/promise": "^2.64.6",
28
- "@xyo-network/sentinel": "^2.64.6",
29
- "@xyo-network/witness-model": "^2.64.6",
30
- "@xyo-network/witness-wrapper": "^2.64.6",
14
+ "@xyo-network/account-model": "^2.64.8",
15
+ "@xyo-network/address-payload-plugin": "^2.64.8",
16
+ "@xyo-network/archivist-model": "^2.64.8",
17
+ "@xyo-network/archivist-wrapper": "^2.64.8",
18
+ "@xyo-network/bridge-model": "^2.64.8",
19
+ "@xyo-network/diviner-model": "^2.64.8",
20
+ "@xyo-network/diviner-wrapper": "^2.64.8",
21
+ "@xyo-network/error": "^2.64.8",
22
+ "@xyo-network/manifest-model": "^2.64.8",
23
+ "@xyo-network/module": "^2.64.8",
24
+ "@xyo-network/module-model": "^2.64.8",
25
+ "@xyo-network/node-model": "^2.64.8",
26
+ "@xyo-network/node-wrapper": "^2.64.8",
27
+ "@xyo-network/payload-model": "^2.64.8",
28
+ "@xyo-network/promise": "^2.64.8",
29
+ "@xyo-network/sentinel": "^2.64.8",
30
+ "@xyo-network/witness-model": "^2.64.8",
31
+ "@xyo-network/witness-wrapper": "^2.64.8",
31
32
  "lodash": "^4.17.21"
32
33
  },
33
34
  "devDependencies": {
@@ -68,5 +69,5 @@
68
69
  },
69
70
  "sideEffects": false,
70
71
  "types": "dist/types/index.d.ts",
71
- "version": "2.64.6"
72
+ "version": "2.64.8"
72
73
  }
@@ -1,4 +1,4 @@
1
- import { assertEx } from '@xylabs/assert'
1
+ import { AccountInstance } from '@xyo-network/account-model'
2
2
  import { AddressPayload, AddressSchema } from '@xyo-network/address-payload-plugin'
3
3
  import { ArchivistGetQuerySchema } from '@xyo-network/archivist-model'
4
4
  import { ArchivistWrapper } from '@xyo-network/archivist-wrapper'
@@ -23,7 +23,7 @@ export class BridgeModuleResolver extends CompositeModuleResolver implements Mod
23
23
 
24
24
  // TODO: Allow optional ctor param for supplying address for nested Nodes
25
25
  // protected readonly address?: string,
26
- constructor(protected readonly bridge: BridgeModule) {
26
+ constructor(protected readonly bridge: BridgeModule, protected wrapperAccount: AccountInstance) {
27
27
  super()
28
28
  }
29
29
 
@@ -75,6 +75,12 @@ export class BridgeModuleResolver extends CompositeModuleResolver implements Mod
75
75
  return await this.resolveRemoteModules<T>(filter)
76
76
  }
77
77
 
78
+ override async resolveOne<T extends Module = Module>(addressOrName?: string): Promise<T | undefined> {
79
+ if (addressOrName) {
80
+ return (await this.resolveByAddress<T>(addressOrName)) ?? (await this.resolveByName<T>(addressOrName))?.[0]
81
+ }
82
+ }
83
+
78
84
  private async resolveByAddress<T extends Module = Module>(targetAddress: string): Promise<T | undefined> {
79
85
  const remoteAddresses = await this.getRemoteAddresses()
80
86
 
@@ -96,26 +102,24 @@ export class BridgeModuleResolver extends CompositeModuleResolver implements Mod
96
102
  //discover it to set the config in the bridge
97
103
  await this.bridge.targetDiscover(address)
98
104
 
99
- const account = assertEx(this.bridge.account, 'Missing bridge account')
100
-
101
105
  if (mod.queries.includes(ArchivistGetQuerySchema)) {
102
- return ArchivistWrapper.wrap(mod, account)
106
+ return ArchivistWrapper.wrap(mod, this.wrapperAccount)
103
107
  }
104
108
 
105
109
  if (mod.queries.includes(DivinerDivineQuerySchema)) {
106
- return DivinerWrapper.wrap(mod, account)
110
+ return DivinerWrapper.wrap(mod, this.wrapperAccount)
107
111
  }
108
112
 
109
113
  if (mod.queries.includes(WitnessObserveQuerySchema)) {
110
- return WitnessWrapper.wrap(mod, account)
114
+ return WitnessWrapper.wrap(mod, this.wrapperAccount)
111
115
  }
112
116
 
113
117
  if (mod.queries.includes(NodeAttachQuerySchema)) {
114
- return NodeWrapper.wrap(mod, account)
118
+ return NodeWrapper.wrap(mod, this.wrapperAccount)
115
119
  }
116
120
 
117
121
  if (mod.queries.includes(SentinelReportQuerySchema)) {
118
- return SentinelWrapper.wrap(mod, account)
122
+ return SentinelWrapper.wrap(mod, this.wrapperAccount)
119
123
  }
120
124
 
121
125
  return mod
@@ -1,11 +1,14 @@
1
1
  import { assertEx } from '@xylabs/assert'
2
+ import { AddressPayload, AddressSchema } from '@xyo-network/address-payload-plugin'
2
3
  import { BridgeModule } from '@xyo-network/bridge-model'
3
4
  import { ModuleManifest } from '@xyo-network/manifest-model'
4
5
  import {
6
+ AddressPreviousHashPayload,
5
7
  BaseEmitter,
6
8
  CompositeModuleResolver,
7
9
  Module,
8
10
  ModuleConfig,
11
+ ModuleDescription,
9
12
  ModuleEventData,
10
13
  ModuleFilter,
11
14
  ModuleParams,
@@ -14,6 +17,7 @@ import {
14
17
  } from '@xyo-network/module'
15
18
  import { Payload } from '@xyo-network/payload-model'
16
19
  import { Promisable } from '@xyo-network/promise'
20
+ import compact from 'lodash/compact'
17
21
 
18
22
  export type ProxyModuleConfigSchema = 'network.xyo.module.proxy.config'
19
23
  export const ProxyModuleConfigSchema: ProxyModuleConfigSchema = 'network.xyo.module.proxy.config'
@@ -55,11 +59,44 @@ export class ProxyModule extends BaseEmitter<ProxyModuleParams, ModuleEventData>
55
59
  return this.bridge.targetQueries(this.address)
56
60
  }
57
61
 
62
+ addressPreviousHash(): Promise<AddressPreviousHashPayload> {
63
+ throw Error('Not Implemented')
64
+ }
65
+
66
+ async describe(): Promise<ModuleDescription> {
67
+ const description: ModuleDescription = {
68
+ address: this.address,
69
+ queries: this.queries,
70
+ }
71
+ if (this.config.name) {
72
+ description.name = this.config.name
73
+ }
74
+
75
+ const discover = await this.discover()
76
+
77
+ description.children = compact(
78
+ discover?.map((payload) => {
79
+ const address = payload.schema === AddressSchema ? (payload as AddressPayload).address : undefined
80
+ return address != this.address ? address : undefined
81
+ }) ?? [],
82
+ )
83
+
84
+ return description
85
+ }
86
+
87
+ discover(): Promisable<Payload[]> {
88
+ return this.bridge.targetDiscover()
89
+ }
90
+
58
91
  manifest(): Promisable<ModuleManifest> {
59
92
  const name = assertEx(this.config.name, 'Calling manifest on un-named module is not supported')
60
93
  return { config: { name, ...this.config } }
61
94
  }
62
95
 
96
+ previousHash(): Promise<string | undefined> {
97
+ throw Error('Not Implemented')
98
+ }
99
+
63
100
  async query<T extends QueryBoundWitness = QueryBoundWitness>(query: T, payloads?: Payload[]): Promise<ModuleQueryResult> {
64
101
  const result = assertEx(await this.bridge.targetQuery(this.address, query, payloads), 'Remote Query Failed')
65
102
  await this.emit('moduleQueried', { module: this, payloads, query, result })