@xyo-network/module-wrapper 6.0.0 → 6.0.2

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,10 +1,7 @@
1
- import type { Address, CreatableName, EventAnyListener, EventListener, Logger, Promisable } from '@xylabs/sdk-js';
1
+ import type { CreatableName, EventAnyListener, EventEmitter, EventListener, Logger, Promisable } from '@xylabs/sdk-js';
2
2
  import { Base, PromiseEx } from '@xylabs/sdk-js';
3
- import type { AccountInstance } from '@xyo-network/account-model';
4
- import type { QueryBoundWitness } from '@xyo-network/boundwitness-model';
5
- import type { ModuleManifestPayload } from '@xyo-network/manifest-model';
6
3
  import type { AddressPreviousHashPayload, AttachableModuleInstance, InstanceTypeCheck, ModuleFilterOptions, ModuleIdentifier, ModuleInstance, ModuleQueryResult, ModuleResolverInstance, ModuleStatus, QueryableModule, QueryableModuleTypeCheck } from '@xyo-network/module-model';
7
- import type { ModuleError, Payload, Query } from '@xyo-network/payload-model';
4
+ import type { AccountInstance, ModuleError, ModuleManifestPayload, Payload, Query, QueryBoundWitness, XyoAddress } from '@xyo-network/sdk-protocol-js';
8
5
  import { LRUCache } from 'lru-cache';
9
6
  import type { ModuleWrapperParams } from './models.ts';
10
7
  export interface ConstructableModuleWrapper<TWrapper extends ModuleWrapper> {
@@ -33,11 +30,11 @@ export declare class ModuleWrapper<TWrappedModule extends QueryableModule = Quer
33
30
  constructor(params: ModuleWrapperParams<TWrappedModule>);
34
31
  get account(): AccountInstance;
35
32
  get additionalSigners(): AccountInstance[];
36
- get address(): Lowercase<string> & {
33
+ get address(): (Lowercase<string> & {
37
34
  readonly __hex: true;
38
35
  } & {
39
36
  readonly __address: true;
40
- };
37
+ }) | import("@xyo-network/sdk-protocol-js").XyoQuant1Address;
41
38
  get config(): Exclude<TWrappedModule["params"]["config"], undefined>;
42
39
  get downResolver(): ModuleResolverInstance;
43
40
  get id(): string;
@@ -50,6 +47,8 @@ export declare class ModuleWrapper<TWrappedModule extends QueryableModule = Quer
50
47
  get upResolver(): ModuleResolverInstance;
51
48
  get status(): ModuleStatus;
52
49
  protected set status(value: ModuleStatus);
50
+ /** Narrowed view of `mod` typed against the wrapped module's actual `eventData` so generic event method calls type-check across the constraint boundary. */
51
+ protected get modEvents(): EventEmitter<TWrappedModule['eventData']>;
53
52
  static canWrap(mod?: QueryableModule): mod is QueryableModule<import("@xyo-network/module-model").QueryableModuleParams<import("@xyo-network/module-model").AnyConfigSchema<import("@xyo-network/module-model").ModuleConfig>>, import("@xyo-network/module-model").ModuleEventData<object>>;
54
53
  static hasRequiredQueries(mod: QueryableModule): boolean;
55
54
  static is<TModuleWrapper extends ModuleWrapper>(this: ConstructableModuleWrapper<TModuleWrapper>, wrapper: any): wrapper is TModuleWrapper;
@@ -60,8 +59,8 @@ export declare class ModuleWrapper<TWrappedModule extends QueryableModule = Quer
60
59
  addParent(mod: ModuleInstance): void;
61
60
  addressPreviousHash(): Promise<AddressPreviousHashPayload>;
62
61
  clearListeners(eventNames: Parameters<TWrappedModule['clearListeners']>[0]): void;
63
- emit(eventName: Parameters<TWrappedModule['emit']>[0], eventArgs: Parameters<TWrappedModule['emit']>[1]): Promise<void>;
64
- emitSerial(eventName: Parameters<TWrappedModule['emitSerial']>[0], eventArgs: Parameters<TWrappedModule['emitSerial']>[1]): Promise<void>;
62
+ emit<TEventName extends keyof TWrappedModule['eventData']>(eventName: TEventName, eventArgs: TWrappedModule['eventData'][TEventName]): Promise<void>;
63
+ emitSerial<TEventName extends keyof TWrappedModule['eventData']>(eventName: TEventName, eventArgs: TWrappedModule['eventData'][TEventName]): Promise<void>;
65
64
  listenerCount(eventNames: Parameters<TWrappedModule['listenerCount']>[0]): number;
66
65
  manifest(maxDepth?: number): Promise<ModuleManifestPayload>;
67
66
  manifestQuery(account: AccountInstance, maxDepth?: number): Promise<ModuleQueryResult<ModuleManifestPayload>>;
@@ -78,11 +77,11 @@ export declare class ModuleWrapper<TWrappedModule extends QueryableModule = Quer
78
77
  publicChildren(): Promise<ModuleInstance[]>;
79
78
  query<T extends QueryBoundWitness = QueryBoundWitness>(query: T, payloads?: Payload[]): Promise<ModuleQueryResult>;
80
79
  queryable<T extends QueryBoundWitness = QueryBoundWitness>(query: T, payloads?: Payload[]): Promisable<boolean>;
81
- removeParent(address: Address): void;
80
+ removeParent(address: XyoAddress): void;
82
81
  /** @deprecated do not pass undefined. If trying to get all, pass '*' */
83
82
  resolve<T extends ModuleInstance = ModuleInstance>(): Promise<T[]>;
84
83
  resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
85
- resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T> | undefined): Promise<ModuleInstance>;
84
+ resolve<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<ModuleInstance>;
86
85
  resolvePrivate<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>;
87
86
  resolvePrivate<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>;
88
87
  siblings(): Promise<ModuleInstance[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"ModuleWrapper.d.ts","sourceRoot":"","sources":["../../src/ModuleWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,EACtD,UAAU,EACX,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAEL,IAAI,EAEO,SAAS,EACrB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAEjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAA;AAExE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACxE,OAAO,KAAK,EACV,0BAA0B,EAC1B,wBAAwB,EACxB,iBAAiB,EAEjB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EAEd,iBAAiB,EACjB,sBAAsB,EAEtB,YAAY,EACZ,eAAe,EACf,wBAAwB,EACzB,MAAM,2BAA2B,CAAA;AAalC,OAAO,KAAK,EACV,WAAW,EAAE,OAAO,EAAE,KAAK,EAC5B,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEpC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAEtD,MAAM,WAAW,0BAA0B,CAAC,QAAQ,SAAS,aAAa;IACxE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,qBAAqB,EAAE,iBAAiB,CAAA;IACxC,mBAAmB,EAAE,wBAAwB,CAAA;IAC7C,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,KAAK,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAA;IAE5D,OAAO,CAAC,GAAG,EAAE,eAAe,GAAG,SAAS,GAAG,OAAO,CAAA;IAElD,EAAE,CAAC,cAAc,SAAS,aAAa,EACrC,IAAI,EAAE,0BAA0B,CAAC,cAAc,CAAC,EAEhD,OAAO,CAAC,EAAE,GAAG,GACZ,OAAO,IAAI,cAAc,CAAA;IAE5B,OAAO,CAAC,cAAc,SAAS,aAAa,EAC1C,IAAI,EAAE,0BAA0B,CAAC,cAAc,CAAC,EAChD,GAAG,EAAE,eAAe,GAAG,SAAS,EAChC,OAAO,EAAE,eAAe,EACxB,aAAa,CAAC,EAAE,OAAO,GACtB,cAAc,GAAG,SAAS,CAAA;IAE7B,IAAI,CAAC,cAAc,SAAS,aAAa,EACvC,IAAI,EAAE,0BAA0B,CAAC,cAAc,CAAC,EAChD,GAAG,EAAE,eAAe,GAAG,SAAS,EAChC,OAAO,EAAE,eAAe,EACxB,aAAa,CAAC,EAAE,OAAO,GACtB,cAAc,CAAA;CAClB;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,SAAS,aAAa,MAC/D,CAAC,SAAS,0BAA0B,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,UAIvE;AAED,qBACa,aAAa,CAAC,cAAc,SAAS,eAAe,GAAG,eAAe,CACjF,SAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAA;CAAE,EAAE,SAAS,CAAC,CAC9I,YAAW,wBAAwB,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IAC1F,MAAM,CAAC,QAAQ,CAAC,qBAAqB,EAAE,iBAAiB,CAAmB;IAC3E,MAAM,CAAC,QAAQ,CAAC,mBAAmB,EAAE,wBAAwB,CAAoB;IACjF,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAA2B;IAEpE,SAAS,EAAS,cAAc,CAAC,WAAW,CAAC,CAAA;IAE7C,SAAS,CAAC,QAAQ,CAAC,WAAW,uCAE5B;IAEF,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC,cAAc,CAAC,CAAA;IAErE,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,OAAO,CAA0B;gBAE7B,MAAM,EAAE,mBAAmB,CAAC,cAAc,CAAC;IAavD,IAAI,OAAO,oBAEV;IAED,IAAI,iBAAiB,sBAEpB;IAED,IAAI,OAAO;;;;MAEV;IAED,IAAI,MAAM,IACkB,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CACjF;IAED,IAAI,YAAY,IAAI,sBAAsB,CAOzC;IAED,IAAI,EAAE,WAEL;IAED,IAAI,GAAG,mBAEN;IAED,IAAI,OAAO,uBAEV;IAED,IAAI,IAAI,IACoB,aAAa,CACxC;IAED,IAAI,QAAQ,MAEX;IAED,IAAI,eAAe,IAAI,sBAAsB,CAO5C;IAED,IAAI,OAAO,IAAI,MAAM,EAAE,CAEtB;IAED,IAAI,UAAU,IAAI,sBAAsB,CAOvC;IAID,IAAI,MAAM,IAIkB,YAAY,CAFvC;IAED,SAAS,KAAK,MAAM,CAAC,KAAK,EAAE,YAAY,EAEvC;IAED,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,eAAe;IAIpC,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,eAAe;IAI9C,MAAM,CAAC,EAAE,CAAC,cAAc,SAAS,aAAa,EAC5C,IAAI,EAAE,0BAA0B,CAAC,cAAc,CAAC,EAEhD,OAAO,EAAE,GAAG,GACX,OAAO,IAAI,cAAc;IAI5B,MAAM,CAAC,sBAAsB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,EAAE;IAS7D,MAAM,CAAC,OAAO,CAAC,cAAc,SAAS,aAAa,EACjD,IAAI,EAAE,0BAA0B,CAAC,cAAc,CAAC,EAChD,GAAG,EAAE,eAAe,GAAG,SAAS,EAChC,OAAO,EAAE,eAAe,EACxB,aAAa,UAAO,GACnB,cAAc,GAAG,SAAS;IAM7B,MAAM,CAAC,IAAI,CAAC,cAAc,SAAS,aAAa,EAAE,CAAC,SAAS,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,EACjF,IAAI,EAAE,0BAA0B,CAAC,cAAc,CAAC,EAEhD,GAAG,EAAE,GAAG,EAER,OAAO,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,CAAC,GAClC,CAAC,GAAG,SAAS;IAIhB,MAAM,CAAC,IAAI,CAAC,cAAc,SAAS,aAAa,EAC9C,IAAI,EAAE,0BAA0B,CAAC,cAAc,CAAC,EAChD,GAAG,EAAE,eAAe,GAAG,SAAS,EAChC,OAAO,EAAE,eAAe,EACxB,aAAa,UAAO,GACnB,cAAc;IAKjB,SAAS,CAAC,GAAG,EAAE,cAAc;IAOvB,mBAAmB,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAQhE,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IAI1E,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAIvG,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAIzH,aAAa,CAAC,UAAU,EAAE,UAAU,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAIlE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAK3D,aAAa,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;IAK7G,aAAa,IAAI,OAAO,CAAC,0BAA0B,EAAE,CAAC;IAK5D,GAAG,CAAC,UAAU,SAAS,MAAM,cAAc,CAAC,WAAW,CAAC,EACtD,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC;IAKlE,MAAM,CAAC,QAAQ,EAAE,gBAAgB;IAIjC,EAAE,CAAC,UAAU,SAAS,MAAM,cAAc,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC;IAIjJ,KAAK,CAAC,QAAQ,EAAE,gBAAgB;IAIhC,IAAI,CAAC,UAAU,SAAS,MAAM,cAAc,CAAC,WAAW,CAAC,EACvD,SAAS,EAAE,UAAU,EACrB,QAAQ,EAAE,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC;IAKlE,OAAO,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;IAIjC,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAK3C,iBAAiB,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;IAKpG,eAAe,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAO5C,cAAc,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAO3C,KAAK,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIxH,SAAS,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE;IAIzF,YAAY,CAAC,OAAO,EAAE,OAAO;IAI7B,yEAAyE;IACnE,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC;IAClE,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,EACrD,EAAE,EAAE,gBAAgB,EACpB,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,SAAS,GAC3C,OAAO,CAAC,cAAc,CAAC;IAsBpB,cAAc,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IACnH,cAAc,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;IAQzI,QAAQ,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAI3C,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAInB,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAW3B,UAAU,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAKvE,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAIxB,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,KAAK,EACjC,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,OAAO,kBAAe,EACtB,iBAAiB,oBAAyB,GACzC,SAAS,CAAC,CAAC,iBAAiB,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,eAAe,CAAC;cAQ5D,iBAAiB,CAAC,CAAC,SAAS,KAAK,EAC/C,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,OAAO,kBAAe,EACtB,iBAAiB,oBAAyB,GACzC,OAAO,CAAC,CAAC,iBAAiB,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAMzD,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,WAAW,EAAE;cAKxD,SAAS,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,CAAC,SAAS,OAAO,GAAG,OAAO,EACjG,YAAY,EAAE,CAAC,EACf,QAAQ,CAAC,EAAE,CAAC,EAAE,GACb,OAAO,CAAC,CAAC,EAAE,CAAC;cAcC,YAAY,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,CAAC,SAAS,OAAO,GAAG,OAAO,EACpG,YAAY,EAAE,CAAC,EACf,QAAQ,CAAC,EAAE,CAAC,EAAE,EACd,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;CAOjC"}
1
+ {"version":3,"file":"ModuleWrapper.d.ts","sourceRoot":"","sources":["../../src/ModuleWrapper.ts"],"names":[],"mappings":"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"}
@@ -19,8 +19,6 @@ import {
19
19
  isDefined,
20
20
  PromiseEx
21
21
  } from "@xylabs/sdk-js";
22
- import { QueryBoundWitnessBuilder } from "@xyo-network/boundwitness-builder";
23
- import { BoundWitnessWrapper } from "@xyo-network/boundwitness-wrapper";
24
22
  import {
25
23
  AddressPreviousHashSchema,
26
24
  asAttachableModuleInstance,
@@ -33,7 +31,11 @@ import {
33
31
  ModuleStateQuerySchema,
34
32
  ObjectResolverPriority
35
33
  } from "@xyo-network/module-model";
36
- import { ModuleErrorSchema } from "@xyo-network/payload-model";
34
+ import {
35
+ BoundWitnessWrapper,
36
+ ModuleErrorSchema,
37
+ QueryBoundWitnessBuilder
38
+ } from "@xyo-network/sdk-protocol-js";
37
39
  import { LRUCache } from "lru-cache";
38
40
  function constructableModuleWrapper() {
39
41
  return (constructor) => {
@@ -115,6 +117,11 @@ var ModuleWrapper = class extends Base {
115
117
  set status(value) {
116
118
  this._status = value;
117
119
  }
120
+ /** Narrowed view of `mod` typed against the wrapped module's actual `eventData` so generic event method calls type-check across the constraint boundary. */
121
+ // eslint-disable-next-line @typescript-eslint/member-ordering
122
+ get modEvents() {
123
+ return this.wrapperParams.mod;
124
+ }
118
125
  static canWrap(mod) {
119
126
  return !!mod && this.moduleIdentityCheck(mod);
120
127
  }
@@ -159,10 +166,10 @@ var ModuleWrapper = class extends Base {
159
166
  return this.mod.clearListeners(eventNames);
160
167
  }
161
168
  emit(eventName, eventArgs) {
162
- return this.mod.emit(eventName, eventArgs);
169
+ return this.modEvents.emit(eventName, eventArgs);
163
170
  }
164
171
  emitSerial(eventName, eventArgs) {
165
- return this.mod.emitSerial(eventName, eventArgs);
172
+ return this.modEvents.emitSerial(eventName, eventArgs);
166
173
  }
167
174
  listenerCount(eventNames) {
168
175
  return this.mod.listenerCount(eventNames);
@@ -180,19 +187,19 @@ var ModuleWrapper = class extends Base {
180
187
  return await this.sendQuery(queryPayload);
181
188
  }
182
189
  off(eventNames, listener) {
183
- return this.mod.off(eventNames, listener);
190
+ return this.modEvents.off(eventNames, listener);
184
191
  }
185
192
  offAny(listener) {
186
193
  return this.mod.offAny(listener);
187
194
  }
188
195
  on(eventNames, listener) {
189
- return this.mod.on(eventNames, listener);
196
+ return this.modEvents.on(eventNames, listener);
190
197
  }
191
198
  onAny(listener) {
192
199
  return this.mod.onAny(listener);
193
200
  }
194
201
  once(eventName, listener) {
195
- return this.mod.once(eventName, listener);
202
+ return this.modEvents.once(eventName, listener);
196
203
  }
197
204
  parents() {
198
205
  return this._parents;
@@ -228,7 +235,7 @@ var ModuleWrapper = class extends Base {
228
235
  }
229
236
  async resolve(id = "*", options) {
230
237
  const instance = asModuleInstance(this.mod);
231
- if (instance?.["resolve"]) {
238
+ if (instance?.resolve) {
232
239
  if (id === "*") {
233
240
  return await instance.resolve("*", options);
234
241
  }
@@ -289,7 +296,7 @@ var ModuleWrapper = class extends Base {
289
296
  const queryResults = await this.sendQueryRaw(queryPayload, payloads);
290
297
  const [, resultPayloads, errors] = queryResults;
291
298
  if (isDefined(errors) && errors.length > 0) {
292
- throw errors[0];
299
+ throw new Error(JSON.stringify(errors[0]));
293
300
  }
294
301
  return resultPayloads;
295
302
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/ModuleWrapper.ts"],
4
- "sourcesContent": ["import type {\n Address,\n CreatableName, EventAnyListener, EventListener, Logger,\n Promisable,\n} from '@xylabs/sdk-js'\nimport {\n assertEx,\n Base,\n exists,\n isDefined, PromiseEx,\n} from '@xylabs/sdk-js'\nimport type { AccountInstance } from '@xyo-network/account-model'\nimport { QueryBoundWitnessBuilder } from '@xyo-network/boundwitness-builder'\nimport type { QueryBoundWitness } from '@xyo-network/boundwitness-model'\nimport { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'\nimport type { ModuleManifestPayload } from '@xyo-network/manifest-model'\nimport type {\n AddressPreviousHashPayload,\n AttachableModuleInstance,\n InstanceTypeCheck,\n ModuleAddressQuery,\n ModuleFilterOptions,\n ModuleIdentifier,\n ModuleInstance,\n ModuleManifestQuery,\n ModuleQueryResult,\n ModuleResolverInstance,\n ModuleStateQuery,\n ModuleStatus,\n QueryableModule,\n QueryableModuleTypeCheck,\n} from '@xyo-network/module-model'\nimport {\n AddressPreviousHashSchema,\n asAttachableModuleInstance,\n asModuleInstance,\n duplicateModules,\n isModuleInstance,\n isQueryableModule,\n ModuleAddressQuerySchema,\n ModuleManifestQuerySchema,\n ModuleStateQuerySchema,\n ObjectResolverPriority,\n} from '@xyo-network/module-model'\nimport type {\n ModuleError, Payload, Query,\n} from '@xyo-network/payload-model'\nimport { ModuleErrorSchema } from '@xyo-network/payload-model'\nimport { LRUCache } from 'lru-cache'\n\nimport type { ModuleWrapperParams } from './models.ts'\n\nexport interface ConstructableModuleWrapper<TWrapper extends ModuleWrapper> {\n defaultLogger?: Logger\n instanceIdentityCheck: InstanceTypeCheck\n moduleIdentityCheck: QueryableModuleTypeCheck\n requiredQueries: string[]\n new (params: ModuleWrapperParams<TWrapper['mod']>): TWrapper\n\n canWrap(mod: QueryableModule | undefined): boolean\n\n is<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n wrapper?: any,\n ): wrapper is TModuleWrapper\n\n tryWrap<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n mod: QueryableModule | undefined,\n account: AccountInstance,\n checkIdentity?: boolean,\n ): TModuleWrapper | undefined\n\n wrap<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n mod: QueryableModule | undefined,\n account: AccountInstance,\n checkIdentity?: boolean,\n ): TModuleWrapper\n}\n\nexport function constructableModuleWrapper<TWrapper extends ModuleWrapper>() {\n return <U extends ConstructableModuleWrapper<TWrapper>>(constructor: U) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n constructor\n }\n}\n\n@constructableModuleWrapper()\nexport class ModuleWrapper<TWrappedModule extends QueryableModule = QueryableModule>\n extends Base<Exclude<Omit<TWrappedModule['params'], 'config'> & { config: Exclude<TWrappedModule['params']['config'], undefined> }, undefined>>\n implements AttachableModuleInstance<TWrappedModule['params'], TWrappedModule['eventData']> {\n static readonly instanceIdentityCheck: InstanceTypeCheck = isModuleInstance\n static readonly moduleIdentityCheck: QueryableModuleTypeCheck = isQueryableModule\n static readonly requiredQueries: string[] = [ModuleStateQuerySchema]\n\n eventData = {} as TWrappedModule['eventData']\n\n protected readonly cachedCalls = new LRUCache<string, Payload[]>({\n max: 1000, ttl: 1000 * 60, ttlAutopurge: true,\n })\n\n protected readonly wrapperParams: ModuleWrapperParams<TWrappedModule>\n\n private _parents: ModuleInstance[] = []\n private _status: ModuleStatus = 'wrapped'\n\n constructor(params: ModuleWrapperParams<TWrappedModule>) {\n const mutatedWrapperParams = { ...params } as ModuleWrapperParams<TWrappedModule>\n const mutatedParams = { ...params.mod.params, config: { ...params.mod.params.config } } as Exclude<\n Omit<TWrappedModule['params'], 'config'> & { config: Exclude<TWrappedModule['params']['config'], undefined> },\n undefined\n >\n\n // set the root params to the wrapped mod params\n super(mutatedParams)\n\n this.wrapperParams = mutatedWrapperParams\n }\n\n get account() {\n return this.wrapperParams.account\n }\n\n get additionalSigners() {\n return this.wrapperParams.additionalSigners ?? []\n }\n\n get address() {\n return this.mod.address\n }\n\n get config() {\n return this.mod.config as Exclude<TWrappedModule['params']['config'], undefined>\n }\n\n get downResolver(): ModuleResolverInstance {\n // Should we be allowing this?\n const instance: AttachableModuleInstance | undefined = asAttachableModuleInstance(this.mod)\n if (instance) {\n return instance.downResolver as ModuleResolverInstance\n }\n throw new Error('Unsupported')\n }\n\n get id() {\n return this.mod.id\n }\n\n get mod() {\n return this.wrapperParams.mod\n }\n\n get modName() {\n return this.mod.modName\n }\n\n get name() {\n return 'ModuleWrapper' as CreatableName\n }\n\n get priority() {\n return ObjectResolverPriority.Low\n }\n\n get privateResolver(): ModuleResolverInstance {\n // Should we be allowing this?\n const instance = asAttachableModuleInstance(this.mod)\n if (instance) {\n return instance.privateResolver as ModuleResolverInstance\n }\n throw new Error('Unsupported')\n }\n\n get queries(): string[] {\n return this.mod.queries\n }\n\n get upResolver(): ModuleResolverInstance {\n // Should we be allowing this?\n const instance = asAttachableModuleInstance(this.mod)\n if (instance) {\n return instance.upResolver as ModuleResolverInstance\n }\n throw new Error('Unsupported')\n }\n\n // Getter/setter adjacency conflicts with the class member-ordering rule here.\n // eslint-disable-next-line @typescript-eslint/member-ordering\n get status() {\n return this._status\n }\n\n protected set status(value: ModuleStatus) {\n this._status = value\n }\n\n static canWrap(mod?: QueryableModule) {\n return !!mod && this.moduleIdentityCheck(mod)\n }\n\n static hasRequiredQueries(mod: QueryableModule) {\n return this.missingRequiredQueries(mod).length === 0\n }\n\n static is<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n wrapper: any,\n ): wrapper is TModuleWrapper {\n return wrapper instanceof this\n }\n\n static missingRequiredQueries(mod: QueryableModule): string[] {\n const modQueries = mod.queries\n return (\n this.requiredQueries.map((query) => {\n return modQueries.includes(query) ? null : query\n })\n ).filter(exists)\n }\n\n static tryWrap<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n mod: QueryableModule | undefined,\n account: AccountInstance,\n checkIdentity = true,\n ): TModuleWrapper | undefined {\n if (!checkIdentity || this.canWrap(mod)) {\n return new this({ account, mod: mod as TModuleWrapper['mod'] })\n }\n }\n\n static with<TModuleWrapper extends ModuleWrapper, R extends Promisable<void> = void>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mod: any,\n\n closure: (mod: TModuleWrapper) => R,\n ): R | undefined {\n return this.is(mod) ? closure(mod) : undefined\n }\n\n static wrap<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n mod: QueryableModule | undefined,\n account: AccountInstance,\n checkIdentity = true,\n ): TModuleWrapper {\n assertEx(!checkIdentity || (mod && this.moduleIdentityCheck(mod)), () => `Passed mod failed identity check: ${mod?.config?.schema}`)\n return assertEx(this.tryWrap(mod, account, checkIdentity), () => 'Unable to wrap mod as ModuleWrapper')\n }\n\n addParent(mod: ModuleInstance) {\n const existingEntry = this._parents.find(parent => parent.address === mod.address)\n if (!existingEntry) {\n this._parents.push(mod)\n }\n }\n\n async addressPreviousHash(): Promise<AddressPreviousHashPayload> {\n const queryPayload: ModuleAddressQuery = { schema: ModuleAddressQuerySchema }\n return assertEx(\n (await this.sendQuery(queryPayload)).find(payload => payload.schema === AddressPreviousHashSchema) as AddressPreviousHashPayload,\n () => 'Result did not include correct payload',\n )\n }\n\n clearListeners(eventNames: Parameters<TWrappedModule['clearListeners']>[0]) {\n return this.mod.clearListeners(eventNames)\n }\n\n emit(eventName: Parameters<TWrappedModule['emit']>[0], eventArgs: Parameters<TWrappedModule['emit']>[1]) {\n return this.mod.emit(eventName, eventArgs)\n }\n\n emitSerial(eventName: Parameters<TWrappedModule['emitSerial']>[0], eventArgs: Parameters<TWrappedModule['emitSerial']>[1]) {\n return this.mod.emitSerial(eventName, eventArgs)\n }\n\n listenerCount(eventNames: Parameters<TWrappedModule['listenerCount']>[0]) {\n return this.mod.listenerCount(eventNames)\n }\n\n 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 async manifestQuery(account: AccountInstance, maxDepth?: number): Promise<ModuleQueryResult<ModuleManifestPayload>> {\n const queryPayload: ModuleManifestQuery = { schema: ModuleManifestQuerySchema, ...(maxDepth === undefined ? {} : { maxDepth }) }\n return await this.sendQueryRaw(queryPayload, undefined, account)\n }\n\n async moduleAddress(): Promise<AddressPreviousHashPayload[]> {\n const queryPayload: ModuleAddressQuery = { schema: ModuleAddressQuerySchema }\n return (await this.sendQuery(queryPayload)) as AddressPreviousHashPayload[]\n }\n\n off<TEventName extends keyof TWrappedModule['eventData']>(\n eventNames: TEventName,\n listener: EventListener<TWrappedModule['eventData'][TEventName]>,\n ) {\n return this.mod.off(eventNames, listener)\n }\n\n offAny(listener: EventAnyListener) {\n return this.mod.offAny(listener)\n }\n\n on<TEventName extends keyof TWrappedModule['eventData']>(eventNames: TEventName, listener: EventListener<TWrappedModule['eventData'][TEventName]>) {\n return this.mod.on(eventNames, listener)\n }\n\n onAny(listener: EventAnyListener) {\n return this.mod.onAny(listener)\n }\n\n once<TEventName extends keyof TWrappedModule['eventData']>(\n eventName: TEventName,\n listener: EventListener<TWrappedModule['eventData'][TEventName]>,\n ) {\n return this.mod.once(eventName, listener)\n }\n\n parents(): Promisable<ModuleInstance[]> {\n return this._parents\n }\n\n async previousHash(): Promise<string | undefined> {\n const queryPayload: ModuleAddressQuery = { schema: ModuleAddressQuerySchema }\n return ((await this.sendQuery(queryPayload)).pop() as AddressPreviousHashPayload).previousHash\n }\n\n async previousHashQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPreviousHashPayload>> {\n const queryPayload: ModuleAddressQuery = { schema: ModuleAddressQuerySchema }\n return await this.sendQueryRaw(queryPayload, undefined, account)\n }\n\n async privateChildren(): Promise<ModuleInstance[]> {\n if (isModuleInstance(this.mod)) {\n return await this.mod.privateChildren()\n }\n return []\n }\n\n async publicChildren(): Promise<ModuleInstance[]> {\n if (isModuleInstance(this.mod)) {\n return await this.mod.publicChildren()\n }\n return []\n }\n\n async query<T extends QueryBoundWitness = QueryBoundWitness>(query: T, payloads?: Payload[]): Promise<ModuleQueryResult> {\n return await this.mod.query(query, payloads)\n }\n\n queryable<T extends QueryBoundWitness = QueryBoundWitness>(query: T, payloads?: Payload[]) {\n return this.mod.queryable(query, payloads)\n }\n\n removeParent(address: Address) {\n this._parents = this._parents.filter(item => item.address !== address)\n }\n\n /** @deprecated do not pass undefined. If trying to get all, pass '*' */\n async resolve<T extends ModuleInstance = ModuleInstance>(): Promise<T[]>\n async resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>\n async resolve<T extends ModuleInstance = ModuleInstance>(\n id: ModuleIdentifier,\n options?: ModuleFilterOptions<T> | undefined,\n ): Promise<ModuleInstance>\n async resolve<T extends ModuleInstance = ModuleInstance>(\n id: ModuleIdentifier = '*',\n options?: ModuleFilterOptions<T>,\n ): Promise<T | T[] | undefined> {\n const instance = asModuleInstance(this.mod)\n if (instance?.['resolve']) {\n if (id === '*') {\n return await instance.resolve<T>('*', options)\n }\n switch (typeof id) {\n case 'string': {\n return await instance.resolve<T>(id, options)\n }\n default: {\n return\n }\n }\n }\n return typeof id === 'string' && id !== '*' ? undefined : []\n }\n\n async resolvePrivate<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>\n async resolvePrivate<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>\n async resolvePrivate<T extends ModuleInstance = ModuleInstance>(\n id: ModuleIdentifier,\n _options?: ModuleFilterOptions<T>,\n ): Promise<T | T[] | undefined> {\n if (id === '*') return await Promise.resolve([])\n }\n\n async siblings(): Promise<ModuleInstance[]> {\n return (await Promise.all((await this.parents()).map(parent => parent.publicChildren()))).flat().filter(duplicateModules)\n }\n\n start(): Promise<boolean> {\n throw new Error('Cannot start a wrapped module')\n }\n\n async state(): Promise<Payload[]> {\n const cachedResult = this.cachedCalls.get('state')\n if (cachedResult) {\n return cachedResult\n }\n const queryPayload: ModuleStateQuery = { schema: ModuleStateQuerySchema }\n const result = await this.sendQuery(queryPayload)\n this.cachedCalls.set('state', result)\n return result\n }\n\n async stateQuery(_account: AccountInstance): Promise<ModuleQueryResult> {\n const queryPayload: ModuleStateQuery = { schema: ModuleStateQuerySchema }\n return await this.sendQueryRaw(queryPayload)\n }\n\n stop(): Promise<boolean> {\n throw new Error('Cannot stop a wrapped module')\n }\n\n protected bindQuery<T extends Query>(\n query: T,\n payloads?: Payload[],\n account = this.account,\n additionalSigners = this.additionalSigners,\n ): PromiseEx<[QueryBoundWitness, Payload[], ModuleError[]], AccountInstance> {\n return new PromiseEx<[QueryBoundWitness, Payload[], ModuleError[]], AccountInstance>(async (resolve) => {\n const result = await this.bindQueryInternal(query, payloads, account, additionalSigners)\n resolve?.(result)\n return result\n }, account)\n }\n\n protected async bindQueryInternal<T extends Query>(\n query: T,\n payloads?: Payload[],\n account = this.account,\n additionalSigners = this.additionalSigners,\n ): Promise<[QueryBoundWitness, Payload[], ModuleError[]]> {\n const builder = new QueryBoundWitnessBuilder().payloads(payloads).query(query)\n const accounts = [account, ...additionalSigners].filter(exists)\n return await (accounts.length > 0 ? builder.signers(accounts) : builder).build()\n }\n\n protected filterErrors([bw, payloads]: ModuleQueryResult): ModuleError[] {\n const wrapper = BoundWitnessWrapper.wrap(bw, payloads)\n return wrapper.payloadsBySchema<ModuleError>(ModuleErrorSchema)\n }\n\n protected async sendQuery<T extends Query, P extends Payload = Payload, R extends Payload = Payload>(\n queryPayload: T,\n payloads?: P[],\n ): Promise<R[]> {\n const queryResults = await this.sendQueryRaw(queryPayload, payloads)\n const [, resultPayloads, errors] = queryResults\n\n /* TODO: Figure out what to do with the returning BW. Should we store them in a queue in case the caller wants to see them? */\n\n if (isDefined(errors) && errors.length > 0) {\n /* TODO: Figure out how to rollup multiple Errors */\n throw errors[0]\n }\n\n return resultPayloads as R[]\n }\n\n protected async sendQueryRaw<T extends Query, P extends Payload = Payload, R extends Payload = Payload>(\n queryPayload: T,\n payloads?: P[],\n account?: AccountInstance,\n ): Promise<ModuleQueryResult<R>> {\n // Bind them\n const query = await this.bindQuery(queryPayload, payloads, account)\n\n // Send them off\n return (await this.query(query[0], query[1])) as ModuleQueryResult<R>\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import type {\n CreatableName, EventAnyListener, EventEmitter, EventListener, Logger,\n Promisable,\n} from '@xylabs/sdk-js'\nimport {\n assertEx,\n Base,\n exists,\n isDefined, PromiseEx,\n} from '@xylabs/sdk-js'\nimport type {\n AddressPreviousHashPayload,\n AttachableModuleInstance,\n InstanceTypeCheck,\n ModuleAddressQuery,\n ModuleFilterOptions,\n ModuleIdentifier,\n ModuleInstance,\n ModuleManifestQuery,\n ModuleQueryResult,\n ModuleResolverInstance,\n ModuleStateQuery,\n ModuleStatus,\n QueryableModule,\n QueryableModuleTypeCheck,\n} from '@xyo-network/module-model'\nimport {\n AddressPreviousHashSchema,\n asAttachableModuleInstance,\n asModuleInstance,\n duplicateModules,\n isModuleInstance,\n isQueryableModule,\n ModuleAddressQuerySchema,\n ModuleManifestQuerySchema,\n ModuleStateQuerySchema,\n ObjectResolverPriority,\n} from '@xyo-network/module-model'\nimport type {\n AccountInstance, ModuleError, ModuleManifestPayload,\n Payload, Query, QueryBoundWitness, XyoAddress,\n} from '@xyo-network/sdk-protocol-js'\nimport {\n BoundWitnessWrapper, ModuleErrorSchema, QueryBoundWitnessBuilder,\n} from '@xyo-network/sdk-protocol-js'\nimport { LRUCache } from 'lru-cache'\n\nimport type { ModuleWrapperParams } from './models.ts'\n\nexport interface ConstructableModuleWrapper<TWrapper extends ModuleWrapper> {\n defaultLogger?: Logger\n instanceIdentityCheck: InstanceTypeCheck\n moduleIdentityCheck: QueryableModuleTypeCheck\n requiredQueries: string[]\n new (params: ModuleWrapperParams<TWrapper['mod']>): TWrapper\n\n canWrap(mod: QueryableModule | undefined): boolean\n\n is<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n wrapper?: any,\n ): wrapper is TModuleWrapper\n\n tryWrap<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n mod: QueryableModule | undefined,\n account: AccountInstance,\n checkIdentity?: boolean,\n ): TModuleWrapper | undefined\n\n wrap<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n mod: QueryableModule | undefined,\n account: AccountInstance,\n checkIdentity?: boolean,\n ): TModuleWrapper\n}\n\nexport function constructableModuleWrapper<TWrapper extends ModuleWrapper>() {\n return <U extends ConstructableModuleWrapper<TWrapper>>(constructor: U) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\n constructor\n }\n}\n\n@constructableModuleWrapper()\nexport class ModuleWrapper<TWrappedModule extends QueryableModule = QueryableModule>\n extends Base<Exclude<Omit<TWrappedModule['params'], 'config'> & { config: Exclude<TWrappedModule['params']['config'], undefined> }, undefined>>\n implements AttachableModuleInstance<TWrappedModule['params'], TWrappedModule['eventData']> {\n static readonly instanceIdentityCheck: InstanceTypeCheck = isModuleInstance\n static readonly moduleIdentityCheck: QueryableModuleTypeCheck = isQueryableModule\n static readonly requiredQueries: string[] = [ModuleStateQuerySchema]\n\n eventData = {} as TWrappedModule['eventData']\n\n protected readonly cachedCalls = new LRUCache<string, Payload[]>({\n max: 1000, ttl: 1000 * 60, ttlAutopurge: true,\n })\n\n protected readonly wrapperParams: ModuleWrapperParams<TWrappedModule>\n\n private _parents: ModuleInstance[] = []\n private _status: ModuleStatus = 'wrapped'\n\n constructor(params: ModuleWrapperParams<TWrappedModule>) {\n const mutatedWrapperParams = { ...params } as ModuleWrapperParams<TWrappedModule>\n const mutatedParams = { ...params.mod.params, config: { ...params.mod.params.config } } as Exclude<\n Omit<TWrappedModule['params'], 'config'> & { config: Exclude<TWrappedModule['params']['config'], undefined> },\n undefined\n >\n\n // set the root params to the wrapped mod params\n super(mutatedParams)\n\n this.wrapperParams = mutatedWrapperParams\n }\n\n get account() {\n return this.wrapperParams.account\n }\n\n get additionalSigners() {\n return this.wrapperParams.additionalSigners ?? []\n }\n\n get address() {\n return this.mod.address\n }\n\n get config() {\n return this.mod.config as Exclude<TWrappedModule['params']['config'], undefined>\n }\n\n get downResolver(): ModuleResolverInstance {\n // Should we be allowing this?\n const instance: AttachableModuleInstance | undefined = asAttachableModuleInstance(this.mod)\n if (instance) {\n return instance.downResolver\n }\n throw new Error('Unsupported')\n }\n\n get id() {\n return this.mod.id\n }\n\n get mod() {\n return this.wrapperParams.mod\n }\n\n get modName() {\n return this.mod.modName\n }\n\n get name() {\n return 'ModuleWrapper' as CreatableName\n }\n\n get priority() {\n return ObjectResolverPriority.Low\n }\n\n get privateResolver(): ModuleResolverInstance {\n // Should we be allowing this?\n const instance = asAttachableModuleInstance(this.mod)\n if (instance) {\n return instance.privateResolver\n }\n throw new Error('Unsupported')\n }\n\n get queries(): string[] {\n return this.mod.queries\n }\n\n get upResolver(): ModuleResolverInstance {\n // Should we be allowing this?\n const instance = asAttachableModuleInstance(this.mod)\n if (instance) {\n return instance.upResolver\n }\n throw new Error('Unsupported')\n }\n\n // Getter/setter adjacency conflicts with the class member-ordering rule here.\n // eslint-disable-next-line @typescript-eslint/member-ordering\n get status() {\n return this._status\n }\n\n protected set status(value: ModuleStatus) {\n this._status = value\n }\n\n /** Narrowed view of `mod` typed against the wrapped module's actual `eventData` so generic event method calls type-check across the constraint boundary. */\n // eslint-disable-next-line @typescript-eslint/member-ordering\n protected get modEvents(): EventEmitter<TWrappedModule['eventData']> {\n return this.wrapperParams.mod\n }\n\n static canWrap(mod?: QueryableModule) {\n return !!mod && this.moduleIdentityCheck(mod)\n }\n\n static hasRequiredQueries(mod: QueryableModule) {\n return this.missingRequiredQueries(mod).length === 0\n }\n\n static is<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n wrapper: any,\n ): wrapper is TModuleWrapper {\n return wrapper instanceof this\n }\n\n static missingRequiredQueries(mod: QueryableModule): string[] {\n const modQueries = mod.queries\n return (\n this.requiredQueries.map((query) => {\n return modQueries.includes(query) ? null : query\n })\n ).filter(exists)\n }\n\n static tryWrap<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n mod: QueryableModule | undefined,\n account: AccountInstance,\n checkIdentity = true,\n ): TModuleWrapper | undefined {\n if (!checkIdentity || this.canWrap(mod)) {\n return new this({ account, mod: mod as TModuleWrapper['mod'] })\n }\n }\n\n static with<TModuleWrapper extends ModuleWrapper, R extends Promisable<void> = void>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n mod: any,\n\n closure: (mod: TModuleWrapper) => R,\n ): R | undefined {\n return this.is(mod) ? closure(mod) : undefined\n }\n\n static wrap<TModuleWrapper extends ModuleWrapper>(\n this: ConstructableModuleWrapper<TModuleWrapper>,\n mod: QueryableModule | undefined,\n account: AccountInstance,\n checkIdentity = true,\n ): TModuleWrapper {\n assertEx(!checkIdentity || (mod && this.moduleIdentityCheck(mod)), () => `Passed mod failed identity check: ${mod?.config?.schema}`)\n return assertEx(this.tryWrap(mod, account, checkIdentity), () => 'Unable to wrap mod as ModuleWrapper')\n }\n\n addParent(mod: ModuleInstance) {\n const existingEntry = this._parents.find(parent => parent.address === mod.address)\n if (!existingEntry) {\n this._parents.push(mod)\n }\n }\n\n async addressPreviousHash(): Promise<AddressPreviousHashPayload> {\n const queryPayload: ModuleAddressQuery = { schema: ModuleAddressQuerySchema }\n return assertEx(\n (await this.sendQuery(queryPayload)).find(payload => payload.schema === AddressPreviousHashSchema) as AddressPreviousHashPayload,\n () => 'Result did not include correct payload',\n )\n }\n\n clearListeners(eventNames: Parameters<TWrappedModule['clearListeners']>[0]) {\n return this.mod.clearListeners(eventNames)\n }\n\n emit<TEventName extends keyof TWrappedModule['eventData']>(\n eventName: TEventName,\n eventArgs: TWrappedModule['eventData'][TEventName],\n ): Promise<void> {\n return this.modEvents.emit(eventName, eventArgs)\n }\n\n emitSerial<TEventName extends keyof TWrappedModule['eventData']>(\n eventName: TEventName,\n eventArgs: TWrappedModule['eventData'][TEventName],\n ): Promise<void> {\n return this.modEvents.emitSerial(eventName, eventArgs)\n }\n\n listenerCount(eventNames: Parameters<TWrappedModule['listenerCount']>[0]) {\n return this.mod.listenerCount(eventNames)\n }\n\n 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 async manifestQuery(account: AccountInstance, maxDepth?: number): Promise<ModuleQueryResult<ModuleManifestPayload>> {\n const queryPayload: ModuleManifestQuery = { schema: ModuleManifestQuerySchema, ...(maxDepth === undefined ? {} : { maxDepth }) }\n return await this.sendQueryRaw(queryPayload, undefined, account)\n }\n\n async moduleAddress(): Promise<AddressPreviousHashPayload[]> {\n const queryPayload: ModuleAddressQuery = { schema: ModuleAddressQuerySchema }\n return (await this.sendQuery(queryPayload))\n }\n\n off<TEventName extends keyof TWrappedModule['eventData']>(\n eventNames: TEventName,\n listener: EventListener<TWrappedModule['eventData'][TEventName]>,\n ) {\n return this.modEvents.off(eventNames, listener)\n }\n\n offAny(listener: EventAnyListener) {\n return this.mod.offAny(listener)\n }\n\n on<TEventName extends keyof TWrappedModule['eventData']>(eventNames: TEventName, listener: EventListener<TWrappedModule['eventData'][TEventName]>) {\n return this.modEvents.on(eventNames, listener)\n }\n\n onAny(listener: EventAnyListener) {\n return this.mod.onAny(listener)\n }\n\n once<TEventName extends keyof TWrappedModule['eventData']>(\n eventName: TEventName,\n listener: EventListener<TWrappedModule['eventData'][TEventName]>,\n ) {\n return this.modEvents.once(eventName, listener)\n }\n\n parents(): Promisable<ModuleInstance[]> {\n return this._parents\n }\n\n async previousHash(): Promise<string | undefined> {\n const queryPayload: ModuleAddressQuery = { schema: ModuleAddressQuerySchema }\n return ((await this.sendQuery(queryPayload)).pop() as AddressPreviousHashPayload).previousHash\n }\n\n async previousHashQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPreviousHashPayload>> {\n const queryPayload: ModuleAddressQuery = { schema: ModuleAddressQuerySchema }\n return await this.sendQueryRaw(queryPayload, undefined, account)\n }\n\n async privateChildren(): Promise<ModuleInstance[]> {\n if (isModuleInstance(this.mod)) {\n return await this.mod.privateChildren()\n }\n return []\n }\n\n async publicChildren(): Promise<ModuleInstance[]> {\n if (isModuleInstance(this.mod)) {\n return await this.mod.publicChildren()\n }\n return []\n }\n\n async query<T extends QueryBoundWitness = QueryBoundWitness>(query: T, payloads?: Payload[]): Promise<ModuleQueryResult> {\n return await this.mod.query(query, payloads)\n }\n\n queryable<T extends QueryBoundWitness = QueryBoundWitness>(query: T, payloads?: Payload[]) {\n return this.mod.queryable(query, payloads)\n }\n\n removeParent(address: XyoAddress) {\n this._parents = this._parents.filter(item => item.address !== address)\n }\n\n /** @deprecated do not pass undefined. If trying to get all, pass '*' */\n async resolve<T extends ModuleInstance = ModuleInstance>(): Promise<T[]>\n async resolve<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>\n async resolve<T extends ModuleInstance = ModuleInstance>(\n id: ModuleIdentifier,\n options?: ModuleFilterOptions<T>,\n ): Promise<ModuleInstance>\n async resolve<T extends ModuleInstance = ModuleInstance>(\n id: ModuleIdentifier = '*',\n options?: ModuleFilterOptions<T>,\n ): Promise<T | T[] | undefined> {\n const instance = asModuleInstance(this.mod)\n if (instance?.resolve) {\n if (id === '*') {\n return await instance.resolve<T>('*', options)\n }\n switch (typeof id) {\n case 'string': {\n return await instance.resolve<T>(id, options)\n }\n default: {\n return\n }\n }\n }\n return typeof id === 'string' && id !== '*' ? undefined : []\n }\n\n async resolvePrivate<T extends ModuleInstance = ModuleInstance>(all: '*', options?: ModuleFilterOptions<T>): Promise<T[]>\n async resolvePrivate<T extends ModuleInstance = ModuleInstance>(id: ModuleIdentifier, options?: ModuleFilterOptions<T>): Promise<T | undefined>\n async resolvePrivate<T extends ModuleInstance = ModuleInstance>(\n id: ModuleIdentifier,\n _options?: ModuleFilterOptions<T>,\n ): Promise<T | T[] | undefined> {\n if (id === '*') return await Promise.resolve([])\n }\n\n async siblings(): Promise<ModuleInstance[]> {\n // eslint-disable-next-line @typescript-eslint/await-thenable\n return (await Promise.all((await this.parents()).map(parent => parent.publicChildren()))).flat().filter(duplicateModules)\n }\n\n start(): Promise<boolean> {\n throw new Error('Cannot start a wrapped module')\n }\n\n async state(): Promise<Payload[]> {\n const cachedResult = this.cachedCalls.get('state')\n if (cachedResult) {\n return cachedResult\n }\n const queryPayload: ModuleStateQuery = { schema: ModuleStateQuerySchema }\n const result = await this.sendQuery(queryPayload)\n this.cachedCalls.set('state', result)\n return result\n }\n\n async stateQuery(_account: AccountInstance): Promise<ModuleQueryResult> {\n const queryPayload: ModuleStateQuery = { schema: ModuleStateQuerySchema }\n return await this.sendQueryRaw(queryPayload)\n }\n\n stop(): Promise<boolean> {\n throw new Error('Cannot stop a wrapped module')\n }\n\n protected bindQuery<T extends Query>(\n query: T,\n payloads?: Payload[],\n account = this.account,\n additionalSigners = this.additionalSigners,\n ): PromiseEx<[QueryBoundWitness, Payload[], ModuleError[]], AccountInstance> {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n return new PromiseEx<[QueryBoundWitness, Payload[], ModuleError[]], AccountInstance>(async (resolve) => {\n const result = await this.bindQueryInternal(query, payloads, account, additionalSigners)\n resolve?.(result)\n return result\n }, account)\n }\n\n protected async bindQueryInternal<T extends Query>(\n query: T,\n payloads?: Payload[],\n account = this.account,\n additionalSigners = this.additionalSigners,\n ): Promise<[QueryBoundWitness, Payload[], ModuleError[]]> {\n const builder = new QueryBoundWitnessBuilder().payloads(payloads).query(query)\n const accounts = [account, ...additionalSigners].filter(exists)\n return await (accounts.length > 0 ? builder.signers(accounts) : builder).build()\n }\n\n protected filterErrors([bw, payloads]: ModuleQueryResult): ModuleError[] {\n const wrapper = BoundWitnessWrapper.wrap(bw, payloads)\n return wrapper.payloadsBySchema<ModuleError>(ModuleErrorSchema)\n }\n\n protected async sendQuery<T extends Query, P extends Payload = Payload, R extends Payload = Payload>(\n queryPayload: T,\n payloads?: P[],\n ): Promise<R[]> {\n const queryResults = await this.sendQueryRaw(queryPayload, payloads)\n const [, resultPayloads, errors] = queryResults\n\n /* TODO: Figure out what to do with the returning BW. Should we store them in a queue in case the caller wants to see them? */\n\n if (isDefined(errors) && errors.length > 0) {\n /* TODO: Figure out how to rollup multiple Errors */\n throw new Error(JSON.stringify(errors[0]))\n }\n\n return resultPayloads as R[]\n }\n\n protected async sendQueryRaw<T extends Query, P extends Payload = Payload, R extends Payload = Payload>(\n queryPayload: T,\n payloads?: P[],\n account?: AccountInstance,\n ): Promise<ModuleQueryResult<R>> {\n // Bind them\n const query = await this.bindQuery(queryPayload, payloads, account)\n\n // Send them off\n return (await this.query(query[0], query[1])) as ModuleQueryResult<R>\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;AAIA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAAW;AAAA,OACN;AAiBP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAKP;AAAA,EACE;AAAA,EAAqB;AAAA,EAAmB;AAAA,OACnC;AACP,SAAS,gBAAgB;AAkClB,SAAS,6BAA6D;AAC3E,SAAO,CAAiD,gBAAmB;AAEzE;AAAA,EACF;AACF;AAGO,IAAM,gBAAN,cACG,KACmF;AAAA,EAK3F,YAAY,CAAC;AAAA,EAEM,cAAc,IAAI,SAA4B;AAAA,IAC/D,KAAK;AAAA,IAAM,KAAK,MAAO;AAAA,IAAI,cAAc;AAAA,EAC3C,CAAC;AAAA,EAEkB;AAAA,EAEX,WAA6B,CAAC;AAAA,EAC9B,UAAwB;AAAA,EAEhC,YAAY,QAA6C;AACvD,UAAM,uBAAuB,EAAE,GAAG,OAAO;AACzC,UAAM,gBAAgB,EAAE,GAAG,OAAO,IAAI,QAAQ,QAAQ,EAAE,GAAG,OAAO,IAAI,OAAO,OAAO,EAAE;AAMtF,UAAM,aAAa;AAEnB,SAAK,gBAAgB;AAAA,EACvB;AAAA,EAEA,IAAI,UAAU;AACZ,WAAO,KAAK,cAAc;AAAA,EAC5B;AAAA,EAEA,IAAI,oBAAoB;AACtB,WAAO,KAAK,cAAc,qBAAqB,CAAC;AAAA,EAClD;AAAA,EAEA,IAAI,UAAU;AACZ,WAAO,KAAK,IAAI;AAAA,EAClB;AAAA,EAEA,IAAI,SAAS;AACX,WAAO,KAAK,IAAI;AAAA,EAClB;AAAA,EAEA,IAAI,eAAuC;AAEzC,UAAM,WAAiD,2BAA2B,KAAK,GAAG;AAC1F,QAAI,UAAU;AACZ,aAAO,SAAS;AAAA,IAClB;AACA,UAAM,IAAI,MAAM,aAAa;AAAA,EAC/B;AAAA,EAEA,IAAI,KAAK;AACP,WAAO,KAAK,IAAI;AAAA,EAClB;AAAA,EAEA,IAAI,MAAM;AACR,WAAO,KAAK,cAAc;AAAA,EAC5B;AAAA,EAEA,IAAI,UAAU;AACZ,WAAO,KAAK,IAAI;AAAA,EAClB;AAAA,EAEA,IAAI,OAAO;AACT,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,WAAW;AACb,WAAO,uBAAuB;AAAA,EAChC;AAAA,EAEA,IAAI,kBAA0C;AAE5C,UAAM,WAAW,2BAA2B,KAAK,GAAG;AACpD,QAAI,UAAU;AACZ,aAAO,SAAS;AAAA,IAClB;AACA,UAAM,IAAI,MAAM,aAAa;AAAA,EAC/B;AAAA,EAEA,IAAI,UAAoB;AACtB,WAAO,KAAK,IAAI;AAAA,EAClB;AAAA,EAEA,IAAI,aAAqC;AAEvC,UAAM,WAAW,2BAA2B,KAAK,GAAG;AACpD,QAAI,UAAU;AACZ,aAAO,SAAS;AAAA,IAClB;AACA,UAAM,IAAI,MAAM,aAAa;AAAA,EAC/B;AAAA;AAAA;AAAA,EAIA,IAAI,SAAS;AACX,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAc,OAAO,OAAqB;AACxC,SAAK,UAAU;AAAA,EACjB;AAAA;AAAA;AAAA,EAIA,IAAc,YAAuD;AACnE,WAAO,KAAK,cAAc;AAAA,EAC5B;AAAA,EAEA,OAAO,QAAQ,KAAuB;AACpC,WAAO,CAAC,CAAC,OAAO,KAAK,oBAAoB,GAAG;AAAA,EAC9C;AAAA,EAEA,OAAO,mBAAmB,KAAsB;AAC9C,WAAO,KAAK,uBAAuB,GAAG,EAAE,WAAW;AAAA,EACrD;AAAA,EAEA,OAAO,GAGL,SAC2B;AAC3B,WAAO,mBAAmB;AAAA,EAC5B;AAAA,EAEA,OAAO,uBAAuB,KAAgC;AAC5D,UAAM,aAAa,IAAI;AACvB,WACE,KAAK,gBAAgB,IAAI,CAAC,UAAU;AAClC,aAAO,WAAW,SAAS,KAAK,IAAI,OAAO;AAAA,IAC7C,CAAC,EACD,OAAO,MAAM;AAAA,EACjB;AAAA,EAEA,OAAO,QAEL,KACA,SACA,gBAAgB,MACY;AAC5B,QAAI,CAAC,iBAAiB,KAAK,QAAQ,GAAG,GAAG;AACvC,aAAO,IAAI,KAAK,EAAE,SAAS,IAAkC,CAAC;AAAA,IAChE;AAAA,EACF;AAAA,EAEA,OAAO,KAGL,KAEA,SACe;AACf,WAAO,KAAK,GAAG,GAAG,IAAI,QAAQ,GAAG,IAAI;AAAA,EACvC;AAAA,EAEA,OAAO,KAEL,KACA,SACA,gBAAgB,MACA;AAChB,aAAS,CAAC,iBAAkB,OAAO,KAAK,oBAAoB,GAAG,GAAI,MAAM,qCAAqC,KAAK,QAAQ,MAAM,EAAE;AACnI,WAAO,SAAS,KAAK,QAAQ,KAAK,SAAS,aAAa,GAAG,MAAM,qCAAqC;AAAA,EACxG;AAAA,EAEA,UAAU,KAAqB;AAC7B,UAAM,gBAAgB,KAAK,SAAS,KAAK,YAAU,OAAO,YAAY,IAAI,OAAO;AACjF,QAAI,CAAC,eAAe;AAClB,WAAK,SAAS,KAAK,GAAG;AAAA,IACxB;AAAA,EACF;AAAA,EAEA,MAAM,sBAA2D;AAC/D,UAAM,eAAmC,EAAE,QAAQ,yBAAyB;AAC5E,WAAO;AAAA,OACJ,MAAM,KAAK,UAAU,YAAY,GAAG,KAAK,aAAW,QAAQ,WAAW,yBAAyB;AAAA,MACjG,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EAEA,eAAe,YAA6D;AAC1E,WAAO,KAAK,IAAI,eAAe,UAAU;AAAA,EAC3C;AAAA,EAEA,KACE,WACA,WACe;AACf,WAAO,KAAK,UAAU,KAAK,WAAW,SAAS;AAAA,EACjD;AAAA,EAEA,WACE,WACA,WACe;AACf,WAAO,KAAK,UAAU,WAAW,WAAW,SAAS;AAAA,EACvD;AAAA,EAEA,cAAc,YAA4D;AACxE,WAAO,KAAK,IAAI,cAAc,UAAU;AAAA,EAC1C;AAAA,EAEA,MAAM,SAAS,UAAmD;AAChE,UAAM,eAAoC,EAAE,QAAQ,2BAA2B,GAAI,aAAa,SAAY,CAAC,IAAI,EAAE,SAAS,EAAG;AAC/H,YAAQ,MAAM,KAAK,UAAU,YAAY,GAAG,CAAC;AAAA,EAC/C;AAAA,EAEA,MAAM,cAAc,SAA0B,UAAsE;AAClH,UAAM,eAAoC,EAAE,QAAQ,2BAA2B,GAAI,aAAa,SAAY,CAAC,IAAI,EAAE,SAAS,EAAG;AAC/H,WAAO,MAAM,KAAK,aAAa,cAAc,QAAW,OAAO;AAAA,EACjE;AAAA,EAEA,MAAM,gBAAuD;AAC3D,UAAM,eAAmC,EAAE,QAAQ,yBAAyB;AAC5E,WAAQ,MAAM,KAAK,UAAU,YAAY;AAAA,EAC3C;AAAA,EAEA,IACE,YACA,UACA;AACA,WAAO,KAAK,UAAU,IAAI,YAAY,QAAQ;AAAA,EAChD;AAAA,EAEA,OAAO,UAA4B;AACjC,WAAO,KAAK,IAAI,OAAO,QAAQ;AAAA,EACjC;AAAA,EAEA,GAAyD,YAAwB,UAAkE;AACjJ,WAAO,KAAK,UAAU,GAAG,YAAY,QAAQ;AAAA,EAC/C;AAAA,EAEA,MAAM,UAA4B;AAChC,WAAO,KAAK,IAAI,MAAM,QAAQ;AAAA,EAChC;AAAA,EAEA,KACE,WACA,UACA;AACA,WAAO,KAAK,UAAU,KAAK,WAAW,QAAQ;AAAA,EAChD;AAAA,EAEA,UAAwC;AACtC,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,MAAM,eAA4C;AAChD,UAAM,eAAmC,EAAE,QAAQ,yBAAyB;AAC5E,YAAS,MAAM,KAAK,UAAU,YAAY,GAAG,IAAI,EAAiC;AAAA,EACpF;AAAA,EAEA,MAAM,kBAAkB,SAAmF;AACzG,UAAM,eAAmC,EAAE,QAAQ,yBAAyB;AAC5E,WAAO,MAAM,KAAK,aAAa,cAAc,QAAW,OAAO;AAAA,EACjE;AAAA,EAEA,MAAM,kBAA6C;AACjD,QAAI,iBAAiB,KAAK,GAAG,GAAG;AAC9B,aAAO,MAAM,KAAK,IAAI,gBAAgB;AAAA,IACxC;AACA,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,MAAM,iBAA4C;AAChD,QAAI,iBAAiB,KAAK,GAAG,GAAG;AAC9B,aAAO,MAAM,KAAK,IAAI,eAAe;AAAA,IACvC;AACA,WAAO,CAAC;AAAA,EACV;AAAA,EAEA,MAAM,MAAuD,OAAU,UAAkD;AACvH,WAAO,MAAM,KAAK,IAAI,MAAM,OAAO,QAAQ;AAAA,EAC7C;AAAA,EAEA,UAA2D,OAAU,UAAsB;AACzF,WAAO,KAAK,IAAI,UAAU,OAAO,QAAQ;AAAA,EAC3C;AAAA,EAEA,aAAa,SAAqB;AAChC,SAAK,WAAW,KAAK,SAAS,OAAO,UAAQ,KAAK,YAAY,OAAO;AAAA,EACvE;AAAA,EASA,MAAM,QACJ,KAAuB,KACvB,SAC8B;AAC9B,UAAM,WAAW,iBAAiB,KAAK,GAAG;AAC1C,QAAI,UAAU,SAAS;AACrB,UAAI,OAAO,KAAK;AACd,eAAO,MAAM,SAAS,QAAW,KAAK,OAAO;AAAA,MAC/C;AACA,cAAQ,OAAO,IAAI;AAAA,QACjB,KAAK,UAAU;AACb,iBAAO,MAAM,SAAS,QAAW,IAAI,OAAO;AAAA,QAC9C;AAAA,QACA,SAAS;AACP;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,WAAO,OAAO,OAAO,YAAY,OAAO,MAAM,SAAY,CAAC;AAAA,EAC7D;AAAA,EAIA,MAAM,eACJ,IACA,UAC8B;AAC9B,QAAI,OAAO,IAAK,QAAO,MAAM,QAAQ,QAAQ,CAAC,CAAC;AAAA,EACjD;AAAA,EAEA,MAAM,WAAsC;AAE1C,YAAQ,MAAM,QAAQ,KAAK,MAAM,KAAK,QAAQ,GAAG,IAAI,YAAU,OAAO,eAAe,CAAC,CAAC,GAAG,KAAK,EAAE,OAAO,gBAAgB;AAAA,EAC1H;AAAA,EAEA,QAA0B;AACxB,UAAM,IAAI,MAAM,+BAA+B;AAAA,EACjD;AAAA,EAEA,MAAM,QAA4B;AAChC,UAAM,eAAe,KAAK,YAAY,IAAI,OAAO;AACjD,QAAI,cAAc;AAChB,aAAO;AAAA,IACT;AACA,UAAM,eAAiC,EAAE,QAAQ,uBAAuB;AACxE,UAAM,SAAS,MAAM,KAAK,UAAU,YAAY;AAChD,SAAK,YAAY,IAAI,SAAS,MAAM;AACpC,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,WAAW,UAAuD;AACtE,UAAM,eAAiC,EAAE,QAAQ,uBAAuB;AACxE,WAAO,MAAM,KAAK,aAAa,YAAY;AAAA,EAC7C;AAAA,EAEA,OAAyB;AACvB,UAAM,IAAI,MAAM,8BAA8B;AAAA,EAChD;AAAA,EAEU,UACR,OACA,UACA,UAAU,KAAK,SACf,oBAAoB,KAAK,mBACkD;AAE3E,WAAO,IAAI,UAA0E,OAAO,YAAY;AACtG,YAAM,SAAS,MAAM,KAAK,kBAAkB,OAAO,UAAU,SAAS,iBAAiB;AACvF,gBAAU,MAAM;AAChB,aAAO;AAAA,IACT,GAAG,OAAO;AAAA,EACZ;AAAA,EAEA,MAAgB,kBACd,OACA,UACA,UAAU,KAAK,SACf,oBAAoB,KAAK,mBAC+B;AACxD,UAAM,UAAU,IAAI,yBAAyB,EAAE,SAAS,QAAQ,EAAE,MAAM,KAAK;AAC7E,UAAM,WAAW,CAAC,SAAS,GAAG,iBAAiB,EAAE,OAAO,MAAM;AAC9D,WAAO,OAAO,SAAS,SAAS,IAAI,QAAQ,QAAQ,QAAQ,IAAI,SAAS,MAAM;AAAA,EACjF;AAAA,EAEU,aAAa,CAAC,IAAI,QAAQ,GAAqC;AACvE,UAAM,UAAU,oBAAoB,KAAK,IAAI,QAAQ;AACrD,WAAO,QAAQ,iBAA8B,iBAAiB;AAAA,EAChE;AAAA,EAEA,MAAgB,UACd,cACA,UACc;AACd,UAAM,eAAe,MAAM,KAAK,aAAa,cAAc,QAAQ;AACnE,UAAM,CAAC,EAAE,gBAAgB,MAAM,IAAI;AAInC,QAAI,UAAU,MAAM,KAAK,OAAO,SAAS,GAAG;AAE1C,YAAM,IAAI,MAAM,KAAK,UAAU,OAAO,CAAC,CAAC,CAAC;AAAA,IAC3C;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,MAAgB,aACd,cACA,UACA,SAC+B;AAE/B,UAAM,QAAQ,MAAM,KAAK,UAAU,cAAc,UAAU,OAAO;AAGlE,WAAQ,MAAM,KAAK,MAAM,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;AAAA,EAC7C;AACF;AAzZE,cAHW,eAGK,yBAA2C;AAC3D,cAJW,eAIK,uBAAgD;AAChE,cALW,eAKK,mBAA4B,CAAC,sBAAsB;AALxD,gBAAN;AAAA,EADN,2BAA2B;AAAA,GACf;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import type { BaseParams } from '@xylabs/sdk-js';
2
- import type { AccountInstance } from '@xyo-network/account-model';
3
2
  import type { QueryableModule } from '@xyo-network/module-model';
3
+ import type { AccountInstance } from '@xyo-network/sdk-protocol-js';
4
4
  export type ModuleWrapperParams<TWrappedModule extends QueryableModule = QueryableModule> = BaseParams<{
5
5
  account: AccountInstance;
6
6
  additionalSigners?: AccountInstance[];
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAEhE,MAAM,MAAM,mBAAmB,CAAC,cAAc,SAAS,eAAe,GAAG,eAAe,IAAI,UAAU,CAAC;IACrG,OAAO,EAAE,eAAe,CAAA;IACxB,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAA;IACrC,GAAG,EAAE,cAAc,CAAA;CACpB,CAAC,CAAA"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAEnE,MAAM,MAAM,mBAAmB,CAAC,cAAc,SAAS,eAAe,GAAG,eAAe,IAAI,UAAU,CAAC;IACrG,OAAO,EAAE,eAAe,CAAA;IACxB,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAA;IACrC,GAAG,EAAE,cAAc,CAAA;CACpB,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/module-wrapper",
3
- "version": "6.0.0",
3
+ "version": "6.0.2",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -34,63 +34,63 @@
34
34
  "README.md"
35
35
  ],
36
36
  "dependencies": {
37
- "@xyo-network/module-model": "~6.0.0"
37
+ "@xyo-network/module-model": "~6.0.2"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@bitauth/libauth": "~3.0.0",
41
+ "@metamask/providers": "^22.1.1",
42
+ "@noble/post-quantum": "~0.6.1",
41
43
  "@opentelemetry/api": "^1.9.1",
42
44
  "@opentelemetry/sdk-trace-base": "^2.7.1",
43
45
  "@scure/base": "~2.2.0",
44
- "@xylabs/sdk-js": "^6.0.0",
45
- "@xylabs/threads": "~6.0.0",
46
- "@xylabs/toolchain": "~8.0.17",
47
- "@xylabs/tsconfig": "~8.0.17",
48
- "@xyo-network/account-model": "~6.0",
49
- "@xyo-network/boundwitness-builder": "~6.0",
50
- "@xyo-network/boundwitness-model": "~6.0",
51
- "@xyo-network/boundwitness-wrapper": "~6.0",
52
- "@xyo-network/manifest-model": "~6.0",
53
- "@xyo-network/payload-model": "~6.0.0",
46
+ "@scure/bip39": "~2.2.0",
47
+ "@xylabs/geo": "^6.0.6",
48
+ "@xylabs/sdk-js": "^6.0.6",
49
+ "@xylabs/threads": "^6.0.6",
50
+ "@xylabs/toolchain": "~8.1.8",
51
+ "@xylabs/tsconfig": "~8.1.8",
52
+ "@xyo-network/sdk-protocol-js": "~6.0.7",
53
+ "ajv": "^8.20.0",
54
54
  "async-mutex": "^0.5.0",
55
55
  "bn.js": "^5.2.3",
56
56
  "buffer": "^6.0.3",
57
- "chalk": "^5.6.2",
58
57
  "debug": "~4.4.3",
59
- "eslint": "^10.4.0",
58
+ "eslint": "^10.4.1",
60
59
  "ethers": "^6.16.0",
61
60
  "hash-wasm": "~4.12.0",
62
- "lru-cache": "^11.5.0",
61
+ "idb": "^8.0.3",
62
+ "lru-cache": "^11.5.1",
63
63
  "observable-fns": "~0.6.1",
64
64
  "pako": "~2.1.0",
65
65
  "tslib": "^2.8.1",
66
66
  "typescript": "~6.0.3",
67
- "wasm-feature-detect": "~1.8.0",
67
+ "webextension-polyfill": "^0.12.0",
68
68
  "zod": "^4.4.3"
69
69
  },
70
70
  "peerDependencies": {
71
71
  "@bitauth/libauth": "~3.0",
72
+ "@metamask/providers": "^22.1",
73
+ "@noble/post-quantum": "~0.6.1",
72
74
  "@opentelemetry/api": "^1.9",
73
75
  "@opentelemetry/sdk-trace-base": "^2.7",
74
76
  "@scure/base": "~2.2",
77
+ "@scure/bip39": "~2.2",
78
+ "@xylabs/geo": "^6.0",
75
79
  "@xylabs/sdk-js": "^6.0",
76
- "@xylabs/threads": "~6.0",
77
- "@xyo-network/account-model": "~6.0",
78
- "@xyo-network/boundwitness-builder": "~6.0",
79
- "@xyo-network/boundwitness-model": "~6.0",
80
- "@xyo-network/boundwitness-wrapper": "~6.0",
81
- "@xyo-network/manifest-model": "~6.0",
82
- "@xyo-network/payload-model": "~6.0",
80
+ "@xylabs/threads": "^6.0",
81
+ "@xyo-network/sdk-protocol-js": "~6.0",
82
+ "ajv": "^8.20",
83
83
  "async-mutex": "^0.5",
84
84
  "bn.js": "^5.2",
85
85
  "buffer": "^6.0",
86
- "chalk": "^5.6",
87
86
  "debug": "~4.4",
88
87
  "ethers": "^6.16",
89
88
  "hash-wasm": "~4.12",
89
+ "idb": "^8.0",
90
90
  "lru-cache": "^11.3",
91
91
  "observable-fns": "~0.6",
92
92
  "pako": "~2.1",
93
- "wasm-feature-detect": "~1.8",
93
+ "webextension-polyfill": "^0.12",
94
94
  "zod": "^4.4"
95
95
  },
96
96
  "publishConfig": {