@xyo-network/node-wrapper 3.5.2 → 3.6.0-rc.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,13 +12,42 @@ export declare class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
12
12
  addToResolvers?: boolean;
13
13
  additionalSigners?: import("@xyo-network/account-model").AccountInstance[];
14
14
  allowNameResolution?: boolean;
15
- config: import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & Omit<import("@xyo-network/module-model").ArchivingModuleConfig & import("@xyo-network/module-model").ModuleConfigFields & import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
16
- archivist?: string;
17
- } & {
18
- schema: "network.xyo.node.config";
19
- }, "schema"> & {
20
- schema: string;
21
- };
15
+ config: import("@xylabs/object").DeepRestrictToStringKeys<{
16
+ schema: import("@xyo-network/payload-model").Schema;
17
+ readonly archivist?: import("@xyo-network/module-model").ModuleIdentifier | undefined;
18
+ readonly archiving?: {
19
+ readonly archivists?: string[] | undefined;
20
+ readonly queries?: string[] | undefined;
21
+ } | undefined;
22
+ readonly allowedQueries?: string[] | undefined;
23
+ readonly consoleLogger?: import("@xylabs/logger").LogLevel | undefined;
24
+ readonly labels?: {
25
+ [x: string]: string | undefined;
26
+ } | undefined;
27
+ readonly name?: import("@xyo-network/module-model").ModuleName | undefined;
28
+ readonly paging?: {
29
+ [x: string]: {
30
+ size?: number | undefined;
31
+ };
32
+ } | undefined;
33
+ readonly retry?: {
34
+ backoff?: number | undefined;
35
+ interval?: number | undefined;
36
+ retries?: number | undefined;
37
+ } | undefined;
38
+ readonly security?: {
39
+ readonly allowAnonymous?: boolean | undefined;
40
+ readonly allowed?: {
41
+ [x: string]: (Lowercase<string> | Lowercase<string>[])[];
42
+ } | undefined;
43
+ readonly disallowed?: {
44
+ [x: string]: Lowercase<string>[];
45
+ } | undefined;
46
+ } | undefined;
47
+ readonly sign?: boolean | undefined;
48
+ readonly storeQueries?: boolean | undefined;
49
+ readonly timestamp?: boolean | undefined;
50
+ }>;
22
51
  ephemeralQueryAccountEnabled?: boolean;
23
52
  moduleIdentifierTransformers?: import("@xyo-network/module-model").ModuleIdentifierTransformer[];
24
53
  }, import("@xyo-network/node-model").NodeModuleEventData>>;
@@ -1 +1 @@
1
- {"version":3,"file":"NodeWrapper.d.ts","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEtE,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAEhB,iBAAiB,EAClB,MAAM,2BAA2B,CAAA;AAKlC,OAAO,EAA8B,aAAa,EAAE,MAAM,6BAA6B,CAAA;AACvF,OAAO,KAAK,EACV,kBAAkB,EAClB,wBAAwB,EAKxB,YAAY,EACZ,UAAU,EAEX,MAAM,yBAAyB,CAAA;AAahC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAGnC,qBAAa,WAAW,CAAC,cAAc,SAAS,UAAU,GAAG,UAAU,CACrE,SAAQ,aAAa,CAAC,cAAc,CACpC,YAAW,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACjD,OAAgB,qBAAqB,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAiB;IACvF,OAAgB,mBAAmB;yBAJW,4BAC7C;;mCAED,4BAA0B;;uBACf,4BAA4B,wBAC7B,4BAA4B,8BAA8B,2BAEpE,iCACA,2BAA0B,8BAEZ,4BAA4B,wBAAwB,4BAC7D;qBACD,CAAL;;;;;;;8CAGe,2BAGb;+DAdiD;IAClD,OAAgB,eAAe,WAA4D;IAE3F,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAA;IAC/B,SAAS,CAAC,cAAc,QAAc;IAEhC,MAAM,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAQ9E,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAO5H,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAW9B,aAAa,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAKpF,OAAO,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;IAM5E,YAAY,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAK7G,MAAM,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAM1D,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAK/F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAMlE,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAMhC,eAAe,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;CAI7F"}
1
+ {"version":3,"file":"NodeWrapper.d.ts","sourceRoot":"","sources":["../../src/NodeWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEtE,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAEhB,iBAAiB,EAClB,MAAM,2BAA2B,CAAA;AAKlC,OAAO,EAA8B,aAAa,EAAE,MAAM,6BAA6B,CAAA;AACvF,OAAO,KAAK,EACV,kBAAkB,EAClB,wBAAwB,EAKxB,YAAY,EACZ,UAAU,EAEX,MAAM,yBAAyB,CAAA;AAYhC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAGnC,qBAAa,WAAW,CAAC,cAAc,SAAS,UAAU,GAAG,UAAU,CACrE,SAAQ,aAAa,CAAC,cAAc,CACpC,YAAW,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACjD,OAAgB,qBAAqB,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAiB;IACvF,OAAgB,mBAAmB;yBAqBf,4BACb;;mCAC2B,4BACd;;uBACR,gBAAe;2BAAoD,4BAA4B;8BACtF,CAAA,SAAS,2BAC3B;8BAKU,CAAC;mCAAmC,CAAC;gCAC1C,CAAA;;mCACF,CAAC;kCACP,CAAA,SAEI,gBAAgB;2BAA+C,CAAC;;;yBACM,CAAC,SACzE,2BAA2B;2BAAiD,CAAC;;wBAAmD,CAAC;;;0BAInF,CAAC;uBAAuB,CAAC;wBAA2C,CAAA;uBAC/E,CAAC;;6BACZ,CAAC;uCAG3B,CAAA;gCAAoD,CAAA;;;mCAEb,CAAC;;;;yBAIlC,CAAC;iCAAoD,CAAC;8BAAiD,CAAC;;;8CAE9E,2BAA2B;+DAxDT;IAClD,OAAgB,eAAe,WAA4D;IAE3F,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAA;IAC/B,SAAS,CAAC,cAAc,QAAc;IAEhC,MAAM,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAQ9E,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAO5H,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAW9B,aAAa,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAKpF,OAAO,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;IAM5E,YAAY,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAK7G,MAAM,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAM1D,WAAW,CAAC,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAK/F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAMlE,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAMhC,eAAe,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;CAI7F"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/NodeWrapper.ts"],"sourcesContent":["import type { Address } from '@xylabs/hex'\nimport type { AccountInstance } from '@xyo-network/account-model'\nimport type { NodeManifestPayload } from '@xyo-network/manifest-model'\nimport { NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport type {\n AddressPayload,\n InstanceTypeCheck,\n ModuleIdentifier,\n ModuleManifestQuery,\n ModuleQueryResult,\n} from '@xyo-network/module-model'\nimport {\n AddressSchema,\n ModuleManifestQuerySchema,\n} from '@xyo-network/module-model'\nimport { constructableModuleWrapper, ModuleWrapper } from '@xyo-network/module-wrapper'\nimport type {\n ChildCertification,\n ChildCertificationFields,\n NodeAttachedQuery,\n NodeAttachQuery,\n NodeCertifyQuery,\n NodeDetachQuery,\n NodeInstance,\n NodeModule,\n NodeRegisteredQuery,\n} from '@xyo-network/node-model'\nimport {\n ChildCertificationSchema,\n isNodeInstance,\n isNodeModule,\n NodeAttachedQuerySchema,\n NodeAttachQuerySchema,\n NodeCertifyQuerySchema,\n NodeDetachQuerySchema,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport type { WithMeta } from '@xyo-network/payload-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { Mutex } from 'async-mutex'\n\nconstructableModuleWrapper()\nexport class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>\n extends ModuleWrapper<TWrappedModule>\n implements NodeInstance<TWrappedModule['params']> {\n static override instanceIdentityCheck: InstanceTypeCheck<NodeInstance> = isNodeInstance\n static override moduleIdentityCheck = isNodeModule\n static override requiredQueries = [NodeAttachQuerySchema, ...ModuleWrapper.requiredQueries]\n\n protected _attached?: Address[]\n protected _attachedMutex = new Mutex()\n\n async attach(id: ModuleIdentifier, external?: boolean): Promise<Address | undefined> {\n const queryPayload: NodeAttachQuery = {\n external, id, schema: NodeAttachQuerySchema,\n }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n return payloads.pop()?.address\n }\n\n async attachQuery(id: ModuleIdentifier, external?: boolean, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeAttachQuery = {\n external, id, schema: NodeAttachQuerySchema,\n }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async attached(): Promise<Address[]> {\n return await this._attachedMutex.runExclusive(async () => {\n if (this._attached === undefined) {\n const queryPayload: NodeAttachedQuery = { schema: NodeAttachedQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n this._attached = payloads.map(p => p.address)\n }\n return this._attached\n })\n }\n\n async attachedQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeAttachedQuery = { schema: NodeAttachedQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async certify(id: ModuleIdentifier): Promise<ChildCertificationFields | undefined> {\n const queryPayload: NodeCertifyQuery = { id, schema: NodeCertifyQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<ChildCertification>>(ChildCertificationSchema))\n return payloads.pop()\n }\n\n async certifyQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<ChildCertification>> {\n const queryPayload: NodeCertifyQuery = { id, schema: NodeCertifyQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async detach(id: ModuleIdentifier): Promise<Address | undefined> {\n const queryPayload: NodeDetachQuery = { id, schema: NodeDetachQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n return payloads.pop()?.address\n }\n\n async detachQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeDetachQuery = { id, schema: NodeDetachQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n override async manifest(maxDepth?: number): Promise<NodeManifestPayload> {\n const queryPayload: ModuleManifestQuery = { schema: ModuleManifestQuerySchema, ...(maxDepth ? { maxDepth } : {}) }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<NodeManifestPayload>>(NodeManifestPayloadSchema))\n return payloads.pop() as NodeManifestPayload\n }\n\n async registered(): Promise<Address[]> {\n const queryPayload: NodeRegisteredQuery = { schema: NodeRegisteredQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))\n return payloads.map(p => p.address)\n }\n\n async registeredQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeRegisteredQuery = { schema: NodeRegisteredQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n}\n"],"mappings":"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","names":["NodeManifestPayloadSchema","AddressSchema","ModuleManifestQuerySchema","constructableModuleWrapper","ModuleWrapper","ChildCertificationSchema","isNodeInstance","isNodeModule","NodeAttachedQuerySchema","NodeAttachQuerySchema","NodeCertifyQuerySchema","NodeDetachQuerySchema","NodeRegisteredQuerySchema","isPayloadOfSchemaType","Mutex","constructableModuleWrapper","NodeWrapper","ModuleWrapper","instanceIdentityCheck","isNodeInstance","moduleIdentityCheck","isNodeModule","requiredQueries","NodeAttachQuerySchema","_attached","_attachedMutex","Mutex","attach","id","external","queryPayload","schema","payloads","sendQuery","filter","isPayloadOfSchemaType","AddressSchema","pop","address","attachQuery","account","sendQueryRaw","attached","runExclusive","undefined","NodeAttachedQuerySchema","map","p","attachedQuery","certify","NodeCertifyQuerySchema","ChildCertificationSchema","certifyQuery","detach","NodeDetachQuerySchema","detachQuery","manifest","maxDepth","ModuleManifestQuerySchema","NodeManifestPayloadSchema","registered","NodeRegisteredQuerySchema","registeredQuery"]}
1
+ {"version":3,"sources":["../../src/NodeWrapper.ts"],"sourcesContent":["import type { Address } from '@xylabs/hex'\nimport type { AccountInstance } from '@xyo-network/account-model'\nimport type { NodeManifestPayload } from '@xyo-network/manifest-model'\nimport { NodeManifestPayloadSchema } from '@xyo-network/manifest-model'\nimport type {\n AddressPayload,\n InstanceTypeCheck,\n ModuleIdentifier,\n ModuleManifestQuery,\n ModuleQueryResult,\n} from '@xyo-network/module-model'\nimport {\n AddressSchema,\n ModuleManifestQuerySchema,\n} from '@xyo-network/module-model'\nimport { constructableModuleWrapper, ModuleWrapper } from '@xyo-network/module-wrapper'\nimport type {\n ChildCertification,\n ChildCertificationFields,\n NodeAttachedQuery,\n NodeAttachQuery,\n NodeCertifyQuery,\n NodeDetachQuery,\n NodeInstance,\n NodeModule,\n NodeRegisteredQuery,\n} from '@xyo-network/node-model'\nimport {\n ChildCertificationSchema,\n isNodeInstance,\n isNodeModule,\n NodeAttachedQuerySchema,\n NodeAttachQuerySchema,\n NodeCertifyQuerySchema,\n NodeDetachQuerySchema,\n NodeRegisteredQuerySchema,\n} from '@xyo-network/node-model'\nimport { isPayloadOfSchemaType } from '@xyo-network/payload-model'\nimport { Mutex } from 'async-mutex'\n\nconstructableModuleWrapper()\nexport class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>\n extends ModuleWrapper<TWrappedModule>\n implements NodeInstance<TWrappedModule['params']> {\n static override instanceIdentityCheck: InstanceTypeCheck<NodeInstance> = isNodeInstance\n static override moduleIdentityCheck = isNodeModule\n static override requiredQueries = [NodeAttachQuerySchema, ...ModuleWrapper.requiredQueries]\n\n protected _attached?: Address[]\n protected _attachedMutex = new Mutex()\n\n async attach(id: ModuleIdentifier, external?: boolean): Promise<Address | undefined> {\n const queryPayload: NodeAttachQuery = {\n external, id, schema: NodeAttachQuerySchema,\n }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<AddressPayload>(AddressSchema))\n return payloads.pop()?.address\n }\n\n async attachQuery(id: ModuleIdentifier, external?: boolean, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeAttachQuery = {\n external, id, schema: NodeAttachQuerySchema,\n }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async attached(): Promise<Address[]> {\n return await this._attachedMutex.runExclusive(async () => {\n if (this._attached === undefined) {\n const queryPayload: NodeAttachedQuery = { schema: NodeAttachedQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<AddressPayload>(AddressSchema))\n this._attached = payloads.map(p => p.address)\n }\n return this._attached\n })\n }\n\n async attachedQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeAttachedQuery = { schema: NodeAttachedQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async certify(id: ModuleIdentifier): Promise<ChildCertificationFields | undefined> {\n const queryPayload: NodeCertifyQuery = { id, schema: NodeCertifyQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<ChildCertification>(ChildCertificationSchema))\n return payloads.pop()\n }\n\n async certifyQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<ChildCertification>> {\n const queryPayload: NodeCertifyQuery = { id, schema: NodeCertifyQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n async detach(id: ModuleIdentifier): Promise<Address | undefined> {\n const queryPayload: NodeDetachQuery = { id, schema: NodeDetachQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<AddressPayload>(AddressSchema))\n return payloads.pop()?.address\n }\n\n async detachQuery(id: ModuleIdentifier, account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeDetachQuery = { id, schema: NodeDetachQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n\n override async manifest(maxDepth?: number): Promise<NodeManifestPayload> {\n const queryPayload: ModuleManifestQuery = { schema: ModuleManifestQuerySchema, ...(maxDepth ? { maxDepth } : {}) }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<NodeManifestPayload>(NodeManifestPayloadSchema))\n return payloads.pop() as NodeManifestPayload\n }\n\n async registered(): Promise<Address[]> {\n const queryPayload: NodeRegisteredQuery = { schema: NodeRegisteredQuerySchema }\n const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<AddressPayload>(AddressSchema))\n return payloads.map(p => p.address)\n }\n\n async registeredQuery(account?: AccountInstance): Promise<ModuleQueryResult<AddressPayload>> {\n const queryPayload: NodeRegisteredQuery = { schema: NodeRegisteredQuerySchema }\n return await this.sendQueryRaw(queryPayload, [], account)\n }\n}\n"],"mappings":"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","names":["NodeManifestPayloadSchema","AddressSchema","ModuleManifestQuerySchema","constructableModuleWrapper","ModuleWrapper","ChildCertificationSchema","isNodeInstance","isNodeModule","NodeAttachedQuerySchema","NodeAttachQuerySchema","NodeCertifyQuerySchema","NodeDetachQuerySchema","NodeRegisteredQuerySchema","isPayloadOfSchemaType","Mutex","constructableModuleWrapper","NodeWrapper","ModuleWrapper","instanceIdentityCheck","isNodeInstance","moduleIdentityCheck","isNodeModule","requiredQueries","NodeAttachQuerySchema","_attached","_attachedMutex","Mutex","attach","id","external","queryPayload","schema","payloads","sendQuery","filter","isPayloadOfSchemaType","AddressSchema","pop","address","attachQuery","account","sendQueryRaw","attached","runExclusive","undefined","NodeAttachedQuerySchema","map","p","attachedQuery","certify","NodeCertifyQuerySchema","ChildCertificationSchema","certifyQuery","detach","NodeDetachQuerySchema","detachQuery","manifest","maxDepth","ModuleManifestQuerySchema","NodeManifestPayloadSchema","registered","NodeRegisteredQuerySchema","registeredQuery"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/node-wrapper",
3
- "version": "3.5.2",
3
+ "version": "3.6.0-rc.10",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -29,21 +29,22 @@
29
29
  "module": "dist/neutral/index.mjs",
30
30
  "types": "dist/neutral/index.d.ts",
31
31
  "dependencies": {
32
- "@xylabs/hex": "^4.4.9",
33
- "@xyo-network/account-model": "^3.5.2",
34
- "@xyo-network/manifest-model": "^3.5.2",
35
- "@xyo-network/module-model": "^3.5.2",
36
- "@xyo-network/module-wrapper": "^3.5.2",
37
- "@xyo-network/node-model": "^3.5.2",
38
- "@xyo-network/payload-model": "^3.5.2",
32
+ "@xylabs/hex": "^4.4.21",
33
+ "@xyo-network/account-model": "^3.6.0-rc.10",
34
+ "@xyo-network/manifest-model": "^3.6.0-rc.10",
35
+ "@xyo-network/module-model": "^3.6.0-rc.10",
36
+ "@xyo-network/module-wrapper": "^3.6.0-rc.10",
37
+ "@xyo-network/node-model": "^3.6.0-rc.10",
38
+ "@xyo-network/payload-model": "^3.6.0-rc.10",
39
39
  "async-mutex": "^0.5.0"
40
40
  },
41
41
  "devDependencies": {
42
- "@xylabs/ts-scripts-yarn3": "^4.2.4",
43
- "@xylabs/tsconfig": "^4.2.4",
42
+ "@xylabs/ts-scripts-yarn3": "^4.2.6",
43
+ "@xylabs/tsconfig": "^4.2.6",
44
44
  "typescript": "^5.7.2"
45
45
  },
46
46
  "publishConfig": {
47
47
  "access": "public"
48
- }
48
+ },
49
+ "stableVersion": "3.5.2"
49
50
  }
@@ -35,7 +35,6 @@ import {
35
35
  NodeDetachQuerySchema,
36
36
  NodeRegisteredQuerySchema,
37
37
  } from '@xyo-network/node-model'
38
- import type { WithMeta } from '@xyo-network/payload-model'
39
38
  import { isPayloadOfSchemaType } from '@xyo-network/payload-model'
40
39
  import { Mutex } from 'async-mutex'
41
40
 
@@ -54,7 +53,7 @@ export class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
54
53
  const queryPayload: NodeAttachQuery = {
55
54
  external, id, schema: NodeAttachQuerySchema,
56
55
  }
57
- const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))
56
+ const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<AddressPayload>(AddressSchema))
58
57
  return payloads.pop()?.address
59
58
  }
60
59
 
@@ -69,7 +68,7 @@ export class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
69
68
  return await this._attachedMutex.runExclusive(async () => {
70
69
  if (this._attached === undefined) {
71
70
  const queryPayload: NodeAttachedQuery = { schema: NodeAttachedQuerySchema }
72
- const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))
71
+ const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<AddressPayload>(AddressSchema))
73
72
  this._attached = payloads.map(p => p.address)
74
73
  }
75
74
  return this._attached
@@ -83,7 +82,7 @@ export class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
83
82
 
84
83
  async certify(id: ModuleIdentifier): Promise<ChildCertificationFields | undefined> {
85
84
  const queryPayload: NodeCertifyQuery = { id, schema: NodeCertifyQuerySchema }
86
- const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<ChildCertification>>(ChildCertificationSchema))
85
+ const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<ChildCertification>(ChildCertificationSchema))
87
86
  return payloads.pop()
88
87
  }
89
88
 
@@ -94,7 +93,7 @@ export class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
94
93
 
95
94
  async detach(id: ModuleIdentifier): Promise<Address | undefined> {
96
95
  const queryPayload: NodeDetachQuery = { id, schema: NodeDetachQuerySchema }
97
- const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))
96
+ const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<AddressPayload>(AddressSchema))
98
97
  return payloads.pop()?.address
99
98
  }
100
99
 
@@ -105,13 +104,13 @@ export class NodeWrapper<TWrappedModule extends NodeModule = NodeModule>
105
104
 
106
105
  override async manifest(maxDepth?: number): Promise<NodeManifestPayload> {
107
106
  const queryPayload: ModuleManifestQuery = { schema: ModuleManifestQuerySchema, ...(maxDepth ? { maxDepth } : {}) }
108
- const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<NodeManifestPayload>>(NodeManifestPayloadSchema))
107
+ const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<NodeManifestPayload>(NodeManifestPayloadSchema))
109
108
  return payloads.pop() as NodeManifestPayload
110
109
  }
111
110
 
112
111
  async registered(): Promise<Address[]> {
113
112
  const queryPayload: NodeRegisteredQuery = { schema: NodeRegisteredQuerySchema }
114
- const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<WithMeta<AddressPayload>>(AddressSchema))
113
+ const payloads = (await this.sendQuery(queryPayload)).filter(isPayloadOfSchemaType<AddressPayload>(AddressSchema))
115
114
  return payloads.map(p => p.address)
116
115
  }
117
116