@xyo-network/node 2.36.10 → 2.37.0

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.
@@ -2,5 +2,7 @@ import { XyoModuleConfig } from '@xyo-network/module';
2
2
  import { XyoPayload } from '@xyo-network/payload';
3
3
  export declare type NodeConfigSchema = 'network.xyo.node.config';
4
4
  export declare const NodeConfigSchema: NodeConfigSchema;
5
- export declare type NodeConfig<TConfig extends XyoPayload = XyoPayload> = XyoModuleConfig<TConfig>;
5
+ export declare type NodeConfig<TConfig extends XyoPayload = XyoPayload> = XyoModuleConfig<{
6
+ archivist?: string;
7
+ } & TConfig>;
6
8
  //# sourceMappingURL=Config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,oBAAY,gBAAgB,GAAG,yBAAyB,CAAA;AACxD,eAAO,MAAM,gBAAgB,EAAE,gBAA4C,CAAA;AAE3E,oBAAY,UAAU,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,IAAI,eAAe,CAAC,OAAO,CAAC,CAAA"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,oBAAY,gBAAgB,GAAG,yBAAyB,CAAA;AACxD,eAAO,MAAM,gBAAgB,EAAE,gBAA4C,CAAA;AAE3E,oBAAY,UAAU,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,IAAI,eAAe,CAAC;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,CAAA"}
@@ -1,20 +1,30 @@
1
1
  import { XyoAccount } from '@xyo-network/account';
2
2
  import { ModuleQueryResult, XyoModule, XyoModuleResolverFunc, XyoQueryBoundWitness } from '@xyo-network/module';
3
- import { XyoPayloads } from '@xyo-network/payload';
3
+ import { XyoPayload } from '@xyo-network/payload';
4
4
  import { NodeConfig } from './Config';
5
5
  import { NodeModule } from './NodeModule';
6
6
  export declare abstract class XyoNode<TConfig extends NodeConfig = NodeConfig, TModule extends XyoModule = XyoModule> extends XyoModule<TConfig> implements NodeModule {
7
7
  constructor(config?: TConfig, account?: XyoAccount, resolver?: XyoModuleResolverFunc);
8
+ private storeInstanceData;
8
9
  /** Query Functions - Start */
9
10
  abstract attach(_address: string): void;
10
11
  abstract detach(_address: string): void;
11
12
  abstract resolve(_address: string): TModule | null;
13
+ private _archivist?;
14
+ get archivist(): XyoModule<import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & {
15
+ security?: {
16
+ allowed?: Record<string, string[][]> | undefined;
17
+ disallowed?: Record<string, string[]> | undefined;
18
+ } | undefined;
19
+ } & {
20
+ schema: string;
21
+ }>;
12
22
  registered(): string[];
13
23
  attached(): string[];
14
24
  registeredModules(): TModule[];
15
25
  attachedModules(): TModule[];
16
26
  /** Query Functions - End */
17
- query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness>(query: T, payloads?: XyoPayloads): Promise<ModuleQueryResult>;
27
+ query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness>(query: T, payloads?: XyoPayload[]): Promise<ModuleQueryResult>;
18
28
  register(_module: TModule): void;
19
29
  }
20
30
  //# sourceMappingURL=XyoNode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"XyoNode.d.ts","sourceRoot":"","sources":["../../src/XyoNode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAA4B,SAAS,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AACzI,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,8BAAsB,OAAO,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,SAAS,SAAS,GAAG,SAAS,CAC1G,SAAQ,SAAS,CAAC,OAAO,CACzB,YAAW,UAAU;gBAET,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,qBAAqB;IAIpF,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IACvC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IACvC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAElD,UAAU,IAAI,MAAM,EAAE;IAGtB,QAAQ,IAAI,MAAM,EAAE;IAIpB,iBAAiB,IAAI,OAAO,EAAE;IAG9B,eAAe,IAAI,OAAO,EAAE;IAG5B,4BAA4B;IAEnB,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8BnI,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAGjC"}
1
+ {"version":3,"file":"XyoNode.d.ts","sourceRoot":"","sources":["../../src/XyoNode.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,iBAAiB,EAA4B,SAAS,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAEzI,OAAO,EAAE,UAAU,EAAe,MAAM,sBAAsB,CAAA;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,8BAAsB,OAAO,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,OAAO,SAAS,SAAS,GAAG,SAAS,CAC1G,SAAQ,SAAS,CAAC,OAAO,CACzB,YAAW,UAAU;gBAET,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,qBAAqB;YAKtE,iBAAiB;IAM/B,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IACvC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IACvC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAElD,OAAO,CAAC,UAAU,CAAC,CAAW;IAC9B,IAAW,SAAS;;;;;;;OAKnB;IAED,UAAU,IAAI,MAAM,EAAE;IAGtB,QAAQ,IAAI,MAAM,EAAE;IAIpB,iBAAiB,IAAI,OAAO,EAAE;IAG9B,eAAe,IAAI,OAAO,EAAE;IAG5B,4BAA4B;IAEnB,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8BpI,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAGjC"}
@@ -1,10 +1,26 @@
1
1
  import { assertEx } from '@xylabs/assert';
2
+ import { forget } from '@xylabs/forget';
2
3
  import { XyoAccount } from '@xyo-network/account';
4
+ import { XyoArchivistWrapper, XyoMemoryArchivist } from '@xyo-network/archivist';
3
5
  import { QueryBoundWitnessWrapper, XyoModule } from '@xyo-network/module';
6
+ import { XyoModuleInstanceSchema } from '@xyo-network/module-instance-payload-plugin';
4
7
  import { XyoNodeAttachedQuerySchema, XyoNodeAttachQuerySchema, XyoNodeDetachQuerySchema, XyoNodeRegisteredQuerySchema } from './Queries';
5
8
  export class XyoNode extends XyoModule {
6
9
  constructor(config, account, resolver) {
7
10
  super(config, account, resolver);
11
+ forget(this.storeInstanceData());
12
+ }
13
+ async storeInstanceData() {
14
+ const payload = { address: this.address, queries: this.queries, schema: XyoModuleInstanceSchema };
15
+ const [bw] = await this.bindResult([payload]);
16
+ await new XyoArchivistWrapper(this.archivist).insert([bw, payload]);
17
+ }
18
+ _archivist;
19
+ get archivist() {
20
+ if (!this._archivist) {
21
+ this._archivist = this._archivist ?? (this.config?.archivist ? this.resolver?.(this.config?.archivist) : undefined) ?? new XyoMemoryArchivist();
22
+ }
23
+ return this._archivist;
8
24
  }
9
25
  registered() {
10
26
  throw new Error('Method not implemented.');
@@ -1 +1 @@
1
- {"version":3,"file":"XyoNode.js","sourceRoot":"","sources":["../../src/XyoNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAqB,wBAAwB,EAAE,SAAS,EAA+C,MAAM,qBAAqB,CAAA;AAKzI,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,wBAAwB,EAAgB,4BAA4B,EAAE,MAAM,WAAW,CAAA;AACtJ,MAAM,OAAgB,OACpB,SAAQ,SAAkB;IAG1B,YAAY,MAAgB,EAAE,OAAoB,EAAE,QAAgC;QAClF,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;IAClC,CAAC;IAOD,UAAU;QACR,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,QAAQ;QACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,iBAAiB;QACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,eAAe;QACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,4BAA4B;IAEnB,KAAK,CAAwD,KAAQ,EAAE,QAAsB;QACpG,MAAM,OAAO,GAAG,wBAAwB,CAAC,UAAU,CAAe,KAAK,CAAC,CAAA;QACxE,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAA;QACxC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;QAE9D,MAAM,YAAY,GAAG,IAAI,UAAU,EAAE,CAAA;QACrC,MAAM,cAAc,GAAgB,EAAE,CAAA;QACtC,QAAQ,UAAU,CAAC,MAAM,EAAE;YACzB,KAAK,wBAAwB,CAAC,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;gBAC/B,MAAK;aACN;YACD,KAAK,wBAAwB,CAAC,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;gBAC/B,MAAK;aACN;YACD,KAAK,0BAA0B,CAAC,CAAC;gBAC/B,IAAI,CAAC,QAAQ,EAAE,CAAA;gBACf,MAAK;aACN;YACD,KAAK,4BAA4B,CAAC,CAAC;gBACjC,IAAI,CAAC,UAAU,EAAE,CAAA;gBACjB,MAAK;aACN;YACD;gBACE,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;SACtC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;IACtD,CAAC;IAED,QAAQ,CAAC,OAAgB;QACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;CACF"}
1
+ {"version":3,"file":"XyoNode.js","sourceRoot":"","sources":["../../src/XyoNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAChF,OAAO,EAAqB,wBAAwB,EAAE,SAAS,EAA+C,MAAM,qBAAqB,CAAA;AACzI,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAA;AAKrF,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,wBAAwB,EAAgB,4BAA4B,EAAE,MAAM,WAAW,CAAA;AACtJ,MAAM,OAAgB,OACpB,SAAQ,SAAkB;IAG1B,YAAY,MAAgB,EAAE,OAAoB,EAAE,QAAgC;QAClF,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QAChC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA;IAClC,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC7B,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAA;QACjG,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;QAC7C,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAA;IACrE,CAAC;IAOO,UAAU,CAAY;IAC9B,IAAW,SAAS;QAClB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI,kBAAkB,EAAE,CAAA;SAChJ;QACD,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED,UAAU;QACR,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,QAAQ;QACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,iBAAiB;QACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,eAAe;QACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IACD,4BAA4B;IAEnB,KAAK,CAAwD,KAAQ,EAAE,QAAuB;QACrG,MAAM,OAAO,GAAG,wBAAwB,CAAC,UAAU,CAAe,KAAK,CAAC,CAAA;QACxE,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAA;QACxC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAA;QAE9D,MAAM,YAAY,GAAG,IAAI,UAAU,EAAE,CAAA;QACrC,MAAM,cAAc,GAAgB,EAAE,CAAA;QACtC,QAAQ,UAAU,CAAC,MAAM,EAAE;YACzB,KAAK,wBAAwB,CAAC,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;gBAC/B,MAAK;aACN;YACD,KAAK,wBAAwB,CAAC,CAAC;gBAC7B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;gBAC/B,MAAK;aACN;YACD,KAAK,0BAA0B,CAAC,CAAC;gBAC/B,IAAI,CAAC,QAAQ,EAAE,CAAA;gBACf,MAAK;aACN;YACD,KAAK,4BAA4B,CAAC,CAAC;gBACjC,IAAI,CAAC,UAAU,EAAE,CAAA;gBACjB,MAAK;aACN;YACD;gBACE,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;SACtC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;IACtD,CAAC;IAED,QAAQ,CAAC,OAAgB;QACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;CACF"}
@@ -1,6 +1,9 @@
1
+ import { XyoArchivistWrapper } from '@xyo-network/archivist';
1
2
  import { Module, XyoModule, XyoModuleWrapper } from '@xyo-network/module';
2
3
  import { NodeModule } from './NodeModule';
3
4
  export declare class XyoNodeWrapper extends XyoModuleWrapper implements NodeModule {
5
+ private _archivist?;
6
+ get archivist(): XyoArchivistWrapper;
4
7
  register(_module: Module): void;
5
8
  registered(): Promise<string[]>;
6
9
  attached(): Promise<string[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"XyoNodeWrapper.d.ts","sourceRoot":"","sources":["../../src/XyoNodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAIzE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAYzC,qBAAa,cAAe,SAAQ,gBAAiB,YAAW,UAAU;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAGzB,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAK/B,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAK7B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtC,iBAAiB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAIzC,eAAe,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAK7C,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;CAG5C"}
1
+ {"version":3,"file":"XyoNodeWrapper.d.ts","sourceRoot":"","sources":["../../src/XyoNodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAIzE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAYzC,qBAAa,cAAe,SAAQ,gBAAiB,YAAW,UAAU;IACxE,OAAO,CAAC,UAAU,CAAC,CAAqB;IACxC,IAAW,SAAS,wBAGnB;IAED,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAGzB,UAAU,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAK/B,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAK7B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtC,iBAAiB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAIzC,eAAe,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAK7C,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;CAG5C"}
@@ -1,8 +1,14 @@
1
+ import { XyoArchivistWrapper } from '@xyo-network/archivist';
1
2
  import { XyoModuleWrapper } from '@xyo-network/module';
2
3
  import { PayloadWrapper } from '@xyo-network/payload';
3
4
  import compact from 'lodash/compact';
4
5
  import { XyoNodeAttachedQuerySchema, XyoNodeAttachQuerySchema, XyoNodeDetachQuerySchema, XyoNodeRegisteredQuerySchema, } from './Queries';
5
6
  export class XyoNodeWrapper extends XyoModuleWrapper {
7
+ _archivist;
8
+ get archivist() {
9
+ this._archivist = this._archivist ?? new XyoArchivistWrapper(this.module);
10
+ return this._archivist;
11
+ }
6
12
  register(_module) {
7
13
  throw Error('Not implemented');
8
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"XyoNodeWrapper.js","sourceRoot":"","sources":["../../src/XyoNodeWrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"XyoNodeWrapper.js","sourceRoot":"","sources":["../../src/XyoNodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAqB,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,OAAO,MAAM,gBAAgB,CAAA;AAGpC,OAAO,EAEL,0BAA0B,EAE1B,wBAAwB,EAExB,wBAAwB,EAExB,4BAA4B,GAC7B,MAAM,WAAW,CAAA;AAElB,MAAM,OAAO,cAAe,SAAQ,gBAAgB;IAC1C,UAAU,CAAsB;IACxC,IAAW,SAAS;QAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACzE,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED,QAAQ,CAAC,OAAe;QACtB,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAChC,CAAC;IACD,KAAK,CAAC,UAAU;QACd,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAyB,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC,CAAA;QAC3G,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAChD,OAAO,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;IACpG,CAAC;IACD,KAAK,CAAC,QAAQ;QACZ,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAuB,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC,CAAA;QACvG,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAChD,OAAO,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAA;IACpG,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,OAAe;QAC1B,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAA;QAC5G,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAChD,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACpD,OAAM;IACR,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,OAAe;QAC1B,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAA;QAC5G,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAChD,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACpD,OAAM;IACR,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;QACzC,OAAO,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IACtF,CAAC;IACD,KAAK,CAAC,eAAe;QACnB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;QACvC,OAAO,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IACtF,CAAC;IAED,OAAO,CAAC,QAAgB;QACtB,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAChC,CAAC;CACF"}
package/package.json CHANGED
@@ -11,14 +11,20 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@xylabs/assert": "^2.6.9",
14
- "@xyo-network/account": "^2.36.10",
15
- "@xyo-network/archivist": "^2.36.10",
16
- "@xyo-network/module": "^2.36.10",
17
- "@xyo-network/payload": "^2.36.10",
18
- "@xyo-network/promise": "^2.36.10",
14
+ "@xylabs/forget": "^2.6.9",
15
+ "@xyo-network/account": "^2.37.0",
16
+ "@xyo-network/archivist": "^2.37.0",
17
+ "@xyo-network/module": "^2.37.0",
18
+ "@xyo-network/module-instance-payload-plugin": "^2.36.0",
19
+ "@xyo-network/payload": "^2.37.0",
20
+ "@xyo-network/promise": "^2.37.0",
19
21
  "lodash": "^4.17.21",
20
22
  "tslib": "^2.4.0"
21
23
  },
24
+ "peerDependencies": {
25
+ "axios": "^0.27.2",
26
+ "pako": "^2.0.4"
27
+ },
22
28
  "description": "Primary SDK for using XYO Protocol 2.0",
23
29
  "browser": "dist/esm/index.js",
24
30
  "docs": "dist/docs.json",
@@ -52,5 +58,5 @@
52
58
  },
53
59
  "sideEffects": false,
54
60
  "types": "dist/esm/index.d.ts",
55
- "version": "2.36.10"
61
+ "version": "2.37.0"
56
62
  }
package/src/Config.ts CHANGED
@@ -4,4 +4,4 @@ import { XyoPayload } from '@xyo-network/payload'
4
4
  export type NodeConfigSchema = 'network.xyo.node.config'
5
5
  export const NodeConfigSchema: NodeConfigSchema = 'network.xyo.node.config'
6
6
 
7
- export type NodeConfig<TConfig extends XyoPayload = XyoPayload> = XyoModuleConfig<TConfig>
7
+ export type NodeConfig<TConfig extends XyoPayload = XyoPayload> = XyoModuleConfig<{ archivist?: string } & TConfig>
package/src/XyoNode.ts CHANGED
@@ -1,7 +1,10 @@
1
1
  import { assertEx } from '@xylabs/assert'
2
+ import { forget } from '@xylabs/forget'
2
3
  import { XyoAccount } from '@xyo-network/account'
4
+ import { XyoArchivistWrapper, XyoMemoryArchivist } from '@xyo-network/archivist'
3
5
  import { ModuleQueryResult, QueryBoundWitnessWrapper, XyoModule, XyoModuleResolverFunc, XyoQueryBoundWitness } from '@xyo-network/module'
4
- import { XyoPayloads } from '@xyo-network/payload'
6
+ import { XyoModuleInstanceSchema } from '@xyo-network/module-instance-payload-plugin'
7
+ import { XyoPayload, XyoPayloads } from '@xyo-network/payload'
5
8
 
6
9
  import { NodeConfig } from './Config'
7
10
  import { NodeModule } from './NodeModule'
@@ -12,6 +15,13 @@ export abstract class XyoNode<TConfig extends NodeConfig = NodeConfig, TModule e
12
15
  {
13
16
  constructor(config?: TConfig, account?: XyoAccount, resolver?: XyoModuleResolverFunc) {
14
17
  super(config, account, resolver)
18
+ forget(this.storeInstanceData())
19
+ }
20
+
21
+ private async storeInstanceData() {
22
+ const payload = { address: this.address, queries: this.queries, schema: XyoModuleInstanceSchema }
23
+ const [bw] = await this.bindResult([payload])
24
+ await new XyoArchivistWrapper(this.archivist).insert([bw, payload])
15
25
  }
16
26
 
17
27
  /** Query Functions - Start */
@@ -19,6 +29,14 @@ export abstract class XyoNode<TConfig extends NodeConfig = NodeConfig, TModule e
19
29
  abstract detach(_address: string): void
20
30
  abstract resolve(_address: string): TModule | null
21
31
 
32
+ private _archivist?: XyoModule
33
+ public get archivist() {
34
+ if (!this._archivist) {
35
+ this._archivist = this._archivist ?? (this.config?.archivist ? this.resolver?.(this.config?.archivist) : undefined) ?? new XyoMemoryArchivist()
36
+ }
37
+ return this._archivist
38
+ }
39
+
22
40
  registered(): string[] {
23
41
  throw new Error('Method not implemented.')
24
42
  }
@@ -34,7 +52,7 @@ export abstract class XyoNode<TConfig extends NodeConfig = NodeConfig, TModule e
34
52
  }
35
53
  /** Query Functions - End */
36
54
 
37
- override query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness>(query: T, payloads?: XyoPayloads): Promise<ModuleQueryResult> {
55
+ override query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness>(query: T, payloads?: XyoPayload[]): Promise<ModuleQueryResult> {
38
56
  const wrapper = QueryBoundWitnessWrapper.parseQuery<XyoNodeQuery>(query)
39
57
  const typedQuery = wrapper.query.payload
40
58
  assertEx(this.queryable(typedQuery.schema, wrapper.addresses))
@@ -1,3 +1,4 @@
1
+ import { XyoArchivistWrapper } from '@xyo-network/archivist'
1
2
  import { Module, XyoModule, XyoModuleWrapper } from '@xyo-network/module'
2
3
  import { PayloadWrapper } from '@xyo-network/payload'
3
4
  import compact from 'lodash/compact'
@@ -15,6 +16,12 @@ import {
15
16
  } from './Queries'
16
17
 
17
18
  export class XyoNodeWrapper extends XyoModuleWrapper implements NodeModule {
19
+ private _archivist?: XyoArchivistWrapper
20
+ public get archivist() {
21
+ this._archivist = this._archivist ?? new XyoArchivistWrapper(this.module)
22
+ return this._archivist
23
+ }
24
+
18
25
  register(_module: Module): void {
19
26
  throw Error('Not implemented')
20
27
  }