@xyo-network/diviner-address-space 5.5.2 → 5.5.5

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.
@@ -0,0 +1,7 @@
1
+ import { AbstractDiviner } from '@xyo-network/diviner-abstract';
2
+ import type { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model';
3
+ import type { Payload } from '@xyo-network/payload-model';
4
+ import type { AddressSpaceDivinerParams } from './Params.ts';
5
+ export declare abstract class AddressSpaceDiviner<TParams extends AddressSpaceDivinerParams = AddressSpaceDivinerParams, TIn extends Payload = Payload, TOut extends Payload = Payload, TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut>> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {
6
+ }
7
+ //# sourceMappingURL=AddressSpaceDiviner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddressSpaceDiviner.d.ts","sourceRoot":"","sources":["../../src/AddressSpaceDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACzF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAE5D,8BAAsB,mBAAmB,CACvC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,EACrE,GAAG,SAAS,OAAO,GAAG,OAAO,EAC7B,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,UAAU,SAAS,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,sBAAsB,CAChH,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EACnC,GAAG,EACH,IAAI,CACL,CACD,SAAQ,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;CAAG"}
@@ -0,0 +1,18 @@
1
+ import type { DivinerConfig } from '@xyo-network/diviner-model';
2
+ export declare const AddressSpaceDivinerConfigSchema: string & {
3
+ readonly __schema: true;
4
+ };
5
+ export type AddressSpaceDivinerConfigSchema = typeof AddressSpaceDivinerConfigSchema;
6
+ export type AddressSpaceDivinerConfig = DivinerConfig<{
7
+ address?: string;
8
+ schema: AddressSpaceDivinerConfigSchema;
9
+ }>;
10
+ export declare const AddressSpaceBatchDivinerConfigSchema: string & {
11
+ readonly __schema: true;
12
+ };
13
+ export type AddressSpaceBatchDivinerConfigSchema = typeof AddressSpaceBatchDivinerConfigSchema;
14
+ export type AddressSpaceBatchDivinerConfig = DivinerConfig<{
15
+ address?: string;
16
+ schema: AddressSpaceBatchDivinerConfigSchema;
17
+ }>;
18
+ //# sourceMappingURL=Config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAK/D,eAAO,MAAM,+BAA+B;;CAAyD,CAAA;AACrG,MAAM,MAAM,+BAA+B,GAAG,OAAO,+BAA+B,CAAA;AAEpF,MAAM,MAAM,yBAAyB,GAAG,aAAa,CAAC;IACpD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,+BAA+B,CAAA;CACxC,CAAC,CAAA;AAEF,eAAO,MAAM,oCAAoC;;CAA+D,CAAA;AAChH,MAAM,MAAM,oCAAoC,GAAG,OAAO,oCAAoC,CAAA;AAE9F,MAAM,MAAM,8BAA8B,GAAG,aAAa,CAAC;IACzD,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,oCAAoC,CAAA;CAC7C,CAAC,CAAA"}
@@ -0,0 +1,13 @@
1
+ import type { AddressPayload } from '@xyo-network/module-model';
2
+ import { type Payload, type Schema } from '@xyo-network/payload-model';
3
+ import { AddressSpaceDiviner } from './AddressSpaceDiviner.ts';
4
+ import type { AddressSpaceDivinerParams } from './Params.ts';
5
+ /**
6
+ * This Diviner returns the list of all addresses encountered for the reachable archivists
7
+ */
8
+ export declare class MemoryAddressSpaceDiviner<TParams extends AddressSpaceDivinerParams = AddressSpaceDivinerParams> extends AddressSpaceDiviner<TParams, Payload, AddressPayload> {
9
+ static readonly configSchemas: Schema[];
10
+ static readonly defaultConfigSchema: Schema;
11
+ protected divineHandler(payloads?: Payload[]): Promise<AddressPayload[]>;
12
+ }
13
+ //# sourceMappingURL=MemoryAddressSpaceDiviner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryAddressSpaceDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryAddressSpaceDiviner.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAG/D,OAAO,EACU,KAAK,OAAO,EAAE,KAAK,MAAM,EACzC,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAE9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAE5D;;GAEG;AACH,qBAAa,yBAAyB,CAAC,OAAO,SAAS,yBAAyB,GAAG,yBAAyB,CAAE,SAAQ,mBAAmB,CACvI,OAAO,EACP,OAAO,EACP,cAAc,CACf;IACC,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAA4D;IAC5G,gBAAyB,mBAAmB,EAAE,MAAM,CAAkC;cAE7D,aAAa,CAAC,QAAQ,GAAE,OAAO,EAAO;CAWhE"}
@@ -0,0 +1,5 @@
1
+ import type { DivinerParams } from '@xyo-network/diviner-model';
2
+ import type { AnyConfigSchema } from '@xyo-network/module-model';
3
+ import type { AddressSpaceDivinerConfig } from './Config.ts';
4
+ export type AddressSpaceDivinerParams = DivinerParams<AnyConfigSchema<AddressSpaceDivinerConfig>>;
5
+ //# sourceMappingURL=Params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Params.d.ts","sourceRoot":"","sources":["../../src/Params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAEhE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAE5D,MAAM,MAAM,yBAAyB,GAAG,aAAa,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC,CAAA"}
@@ -0,0 +1,5 @@
1
+ export declare const AddressSpaceSchema: "network.xyo.diviner.address.space" & {
2
+ readonly __schema: true;
3
+ };
4
+ export type AddressSpaceSchema = typeof AddressSpaceSchema;
5
+ //# sourceMappingURL=Schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB;;CAAsD,CAAA;AACrF,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './AddressSpaceDiviner.ts';
2
+ //# sourceMappingURL=abstract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../src/abstract.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA"}
@@ -0,0 +1,8 @@
1
+ // src/AddressSpaceDiviner.ts
2
+ import { AbstractDiviner } from "@xyo-network/diviner-abstract";
3
+ var AddressSpaceDiviner = class extends AbstractDiviner {
4
+ };
5
+ export {
6
+ AddressSpaceDiviner
7
+ };
8
+ //# sourceMappingURL=abstract.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/AddressSpaceDiviner.ts"],"sourcesContent":["import { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport type { Payload } from '@xyo-network/payload-model'\n\nimport type { AddressSpaceDivinerParams } from './Params.ts'\n\nexport abstract class AddressSpaceDiviner<\n TParams extends AddressSpaceDivinerParams = AddressSpaceDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {}\n"],"mappings":";AAAA,SAAS,uBAAuB;AAMzB,IAAe,sBAAf,cASG,gBAAgD;AAAC;","names":[]}
@@ -1,4 +1,4 @@
1
- export * from '@xyo-network/diviner-address-space-abstract';
2
- export * from '@xyo-network/diviner-address-space-memory';
3
- export * from '@xyo-network/diviner-address-space-model';
1
+ export * from './abstract.ts';
2
+ export * from './memory.ts';
3
+ export * from './model.ts';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,6CAA6C,CAAA;AAC3D,cAAc,2CAA2C,CAAA;AACzD,cAAc,0CAA0C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA"}
@@ -1,5 +1,50 @@
1
- // src/index.ts
2
- export * from "@xyo-network/diviner-address-space-abstract";
3
- export * from "@xyo-network/diviner-address-space-memory";
4
- export * from "@xyo-network/diviner-address-space-model";
1
+ // src/AddressSpaceDiviner.ts
2
+ import { AbstractDiviner } from "@xyo-network/diviner-abstract";
3
+ var AddressSpaceDiviner = class extends AbstractDiviner {
4
+ };
5
+
6
+ // src/MemoryAddressSpaceDiviner.ts
7
+ import { assertEx } from "@xylabs/sdk-js";
8
+ import { ArchivistWrapper } from "@xyo-network/archivist-wrapper";
9
+ import { isBoundWitness } from "@xyo-network/boundwitness-model";
10
+ import { AddressSchema } from "@xyo-network/module-model";
11
+ import { PayloadBuilder } from "@xyo-network/payload-builder";
12
+ import {
13
+ isStorageMeta
14
+ } from "@xyo-network/payload-model";
15
+
16
+ // src/Config.ts
17
+ import { asSchema as asSchema2 } from "@xyo-network/payload-model";
18
+
19
+ // src/Schema.ts
20
+ import { asSchema } from "@xyo-network/payload-model";
21
+ var AddressSpaceSchema = asSchema("network.xyo.diviner.address.space", true);
22
+
23
+ // src/Config.ts
24
+ var AddressSpaceDivinerConfigSchema = asSchema2(`${AddressSpaceSchema}.diviner.config`, true);
25
+ var AddressSpaceBatchDivinerConfigSchema = asSchema2(`${AddressSpaceSchema}.batch.diviner.config`, true);
26
+
27
+ // src/MemoryAddressSpaceDiviner.ts
28
+ var MemoryAddressSpaceDiviner = class extends AddressSpaceDiviner {
29
+ static configSchemas = [...super.configSchemas, AddressSpaceDivinerConfigSchema];
30
+ static defaultConfigSchema = AddressSpaceDivinerConfigSchema;
31
+ async divineHandler(payloads = []) {
32
+ assertEx(payloads.length === 0, () => "MemoryAddressSpaceDiviner.divine does not allow payloads to be sent");
33
+ const archivistMod = assertEx(await this.archivistInstance(), () => "Unable to resolve archivist");
34
+ const archivist = ArchivistWrapper.wrap(archivistMod, this.account);
35
+ const all = await archivist.next?.({ limit: Number.MAX_SAFE_INTEGER });
36
+ const bwLists = all?.filter((x) => isBoundWitness(x) && isStorageMeta(x)) ?? [];
37
+ const addresses = new Set(bwLists.flatMap((bw) => bw.addresses).map((address) => address.toLowerCase()));
38
+ return await Promise.all(
39
+ [...addresses].map((address) => new PayloadBuilder({ schema: AddressSchema }).fields({ address }).build())
40
+ );
41
+ }
42
+ };
43
+ export {
44
+ AddressSpaceBatchDivinerConfigSchema,
45
+ AddressSpaceDiviner,
46
+ AddressSpaceDivinerConfigSchema,
47
+ AddressSpaceSchema,
48
+ MemoryAddressSpaceDiviner
49
+ };
5
50
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from '@xyo-network/diviner-address-space-abstract'\nexport * from '@xyo-network/diviner-address-space-memory'\nexport * from '@xyo-network/diviner-address-space-model'\n"],"mappings":";AAAA,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../src/AddressSpaceDiviner.ts","../../src/MemoryAddressSpaceDiviner.ts","../../src/Config.ts","../../src/Schema.ts"],"sourcesContent":["import { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport type { Payload } from '@xyo-network/payload-model'\n\nimport type { AddressSpaceDivinerParams } from './Params.ts'\n\nexport abstract class AddressSpaceDiviner<\n TParams extends AddressSpaceDivinerParams = AddressSpaceDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {}\n","import type { Address } from '@xylabs/sdk-js'\nimport { assertEx } from '@xylabs/sdk-js'\nimport { ArchivistWrapper } from '@xyo-network/archivist-wrapper'\nimport { isBoundWitness } from '@xyo-network/boundwitness-model'\nimport type { AddressPayload } from '@xyo-network/module-model'\nimport { AddressSchema } from '@xyo-network/module-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport {\n isStorageMeta, type Payload, type Schema,\n} from '@xyo-network/payload-model'\n\nimport { AddressSpaceDiviner } from './AddressSpaceDiviner.ts'\nimport { AddressSpaceDivinerConfigSchema } from './Config.ts'\nimport type { AddressSpaceDivinerParams } from './Params.ts'\n\n/**\n * This Diviner returns the list of all addresses encountered for the reachable archivists\n */\nexport class MemoryAddressSpaceDiviner<TParams extends AddressSpaceDivinerParams = AddressSpaceDivinerParams> extends AddressSpaceDiviner<\n TParams,\n Payload,\n AddressPayload\n> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, AddressSpaceDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = AddressSpaceDivinerConfigSchema\n\n protected override async divineHandler(payloads: Payload[] = []) {\n assertEx(payloads.length === 0, () => 'MemoryAddressSpaceDiviner.divine does not allow payloads to be sent')\n const archivistMod = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')\n const archivist = ArchivistWrapper.wrap(archivistMod, this.account)\n const all = await archivist.next?.({ limit: Number.MAX_SAFE_INTEGER })\n const bwLists = all?.filter(x => isBoundWitness(x) && isStorageMeta(x)) ?? []\n const addresses = new Set<Address>(bwLists.flatMap(bw => bw.addresses).map(address => address.toLowerCase() as Address))\n return await Promise.all(\n [...addresses].map(address => new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()),\n )\n }\n}\n","import type { DivinerConfig } from '@xyo-network/diviner-model'\nimport { asSchema } from '@xyo-network/payload-model'\n\nimport { AddressSpaceSchema } from './Schema.ts'\n\nexport const AddressSpaceDivinerConfigSchema = asSchema(`${AddressSpaceSchema}.diviner.config`, true)\nexport type AddressSpaceDivinerConfigSchema = typeof AddressSpaceDivinerConfigSchema\n\nexport type AddressSpaceDivinerConfig = DivinerConfig<{\n address?: string\n schema: AddressSpaceDivinerConfigSchema\n}>\n\nexport const AddressSpaceBatchDivinerConfigSchema = asSchema(`${AddressSpaceSchema}.batch.diviner.config`, true)\nexport type AddressSpaceBatchDivinerConfigSchema = typeof AddressSpaceBatchDivinerConfigSchema\n\nexport type AddressSpaceBatchDivinerConfig = DivinerConfig<{\n address?: string\n schema: AddressSpaceBatchDivinerConfigSchema\n}>\n","import { asSchema } from '@xyo-network/payload-model'\n\nexport const AddressSpaceSchema = asSchema('network.xyo.diviner.address.space', true)\nexport type AddressSpaceSchema = typeof AddressSpaceSchema\n"],"mappings":";AAAA,SAAS,uBAAuB;AAMzB,IAAe,sBAAf,cASG,gBAAgD;AAAC;;;ACd3D,SAAS,gBAAgB;AACzB,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAE/B,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAC/B;AAAA,EACE;AAAA,OACK;;;ACRP,SAAS,YAAAA,iBAAgB;;;ACDzB,SAAS,gBAAgB;AAElB,IAAM,qBAAqB,SAAS,qCAAqC,IAAI;;;ADG7E,IAAM,kCAAkCC,UAAS,GAAG,kBAAkB,mBAAmB,IAAI;AAQ7F,IAAM,uCAAuCA,UAAS,GAAG,kBAAkB,yBAAyB,IAAI;;;ADKxG,IAAM,4BAAN,cAA+G,oBAIpH;AAAA,EACA,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,+BAA+B;AAAA,EAC3G,OAAyB,sBAA8B;AAAA,EAEvD,MAAyB,cAAc,WAAsB,CAAC,GAAG;AAC/D,aAAS,SAAS,WAAW,GAAG,MAAM,qEAAqE;AAC3G,UAAM,eAAe,SAAS,MAAM,KAAK,kBAAkB,GAAG,MAAM,6BAA6B;AACjG,UAAM,YAAY,iBAAiB,KAAK,cAAc,KAAK,OAAO;AAClE,UAAM,MAAM,MAAM,UAAU,OAAO,EAAE,OAAO,OAAO,iBAAiB,CAAC;AACrE,UAAM,UAAU,KAAK,OAAO,OAAK,eAAe,CAAC,KAAK,cAAc,CAAC,CAAC,KAAK,CAAC;AAC5E,UAAM,YAAY,IAAI,IAAa,QAAQ,QAAQ,QAAM,GAAG,SAAS,EAAE,IAAI,aAAW,QAAQ,YAAY,CAAY,CAAC;AACvH,WAAO,MAAM,QAAQ;AAAA,MACnB,CAAC,GAAG,SAAS,EAAE,IAAI,aAAW,IAAI,eAA+B,EAAE,QAAQ,cAAc,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;AAAA,IACzH;AAAA,EACF;AACF;","names":["asSchema","asSchema"]}
@@ -0,0 +1,2 @@
1
+ export * from './MemoryAddressSpaceDiviner.ts';
2
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/memory.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAA"}
@@ -0,0 +1,46 @@
1
+ // src/MemoryAddressSpaceDiviner.ts
2
+ import { assertEx } from "@xylabs/sdk-js";
3
+ import { ArchivistWrapper } from "@xyo-network/archivist-wrapper";
4
+ import { isBoundWitness } from "@xyo-network/boundwitness-model";
5
+ import { AddressSchema } from "@xyo-network/module-model";
6
+ import { PayloadBuilder } from "@xyo-network/payload-builder";
7
+ import {
8
+ isStorageMeta
9
+ } from "@xyo-network/payload-model";
10
+
11
+ // src/AddressSpaceDiviner.ts
12
+ import { AbstractDiviner } from "@xyo-network/diviner-abstract";
13
+ var AddressSpaceDiviner = class extends AbstractDiviner {
14
+ };
15
+
16
+ // src/Config.ts
17
+ import { asSchema as asSchema2 } from "@xyo-network/payload-model";
18
+
19
+ // src/Schema.ts
20
+ import { asSchema } from "@xyo-network/payload-model";
21
+ var AddressSpaceSchema = asSchema("network.xyo.diviner.address.space", true);
22
+
23
+ // src/Config.ts
24
+ var AddressSpaceDivinerConfigSchema = asSchema2(`${AddressSpaceSchema}.diviner.config`, true);
25
+ var AddressSpaceBatchDivinerConfigSchema = asSchema2(`${AddressSpaceSchema}.batch.diviner.config`, true);
26
+
27
+ // src/MemoryAddressSpaceDiviner.ts
28
+ var MemoryAddressSpaceDiviner = class extends AddressSpaceDiviner {
29
+ static configSchemas = [...super.configSchemas, AddressSpaceDivinerConfigSchema];
30
+ static defaultConfigSchema = AddressSpaceDivinerConfigSchema;
31
+ async divineHandler(payloads = []) {
32
+ assertEx(payloads.length === 0, () => "MemoryAddressSpaceDiviner.divine does not allow payloads to be sent");
33
+ const archivistMod = assertEx(await this.archivistInstance(), () => "Unable to resolve archivist");
34
+ const archivist = ArchivistWrapper.wrap(archivistMod, this.account);
35
+ const all = await archivist.next?.({ limit: Number.MAX_SAFE_INTEGER });
36
+ const bwLists = all?.filter((x) => isBoundWitness(x) && isStorageMeta(x)) ?? [];
37
+ const addresses = new Set(bwLists.flatMap((bw) => bw.addresses).map((address) => address.toLowerCase()));
38
+ return await Promise.all(
39
+ [...addresses].map((address) => new PayloadBuilder({ schema: AddressSchema }).fields({ address }).build())
40
+ );
41
+ }
42
+ };
43
+ export {
44
+ MemoryAddressSpaceDiviner
45
+ };
46
+ //# sourceMappingURL=memory.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/MemoryAddressSpaceDiviner.ts","../../src/AddressSpaceDiviner.ts","../../src/Config.ts","../../src/Schema.ts"],"sourcesContent":["import type { Address } from '@xylabs/sdk-js'\nimport { assertEx } from '@xylabs/sdk-js'\nimport { ArchivistWrapper } from '@xyo-network/archivist-wrapper'\nimport { isBoundWitness } from '@xyo-network/boundwitness-model'\nimport type { AddressPayload } from '@xyo-network/module-model'\nimport { AddressSchema } from '@xyo-network/module-model'\nimport { PayloadBuilder } from '@xyo-network/payload-builder'\nimport {\n isStorageMeta, type Payload, type Schema,\n} from '@xyo-network/payload-model'\n\nimport { AddressSpaceDiviner } from './AddressSpaceDiviner.ts'\nimport { AddressSpaceDivinerConfigSchema } from './Config.ts'\nimport type { AddressSpaceDivinerParams } from './Params.ts'\n\n/**\n * This Diviner returns the list of all addresses encountered for the reachable archivists\n */\nexport class MemoryAddressSpaceDiviner<TParams extends AddressSpaceDivinerParams = AddressSpaceDivinerParams> extends AddressSpaceDiviner<\n TParams,\n Payload,\n AddressPayload\n> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, AddressSpaceDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = AddressSpaceDivinerConfigSchema\n\n protected override async divineHandler(payloads: Payload[] = []) {\n assertEx(payloads.length === 0, () => 'MemoryAddressSpaceDiviner.divine does not allow payloads to be sent')\n const archivistMod = assertEx(await this.archivistInstance(), () => 'Unable to resolve archivist')\n const archivist = ArchivistWrapper.wrap(archivistMod, this.account)\n const all = await archivist.next?.({ limit: Number.MAX_SAFE_INTEGER })\n const bwLists = all?.filter(x => isBoundWitness(x) && isStorageMeta(x)) ?? []\n const addresses = new Set<Address>(bwLists.flatMap(bw => bw.addresses).map(address => address.toLowerCase() as Address))\n return await Promise.all(\n [...addresses].map(address => new PayloadBuilder<AddressPayload>({ schema: AddressSchema }).fields({ address }).build()),\n )\n }\n}\n","import { AbstractDiviner } from '@xyo-network/diviner-abstract'\nimport type { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model'\nimport type { Payload } from '@xyo-network/payload-model'\n\nimport type { AddressSpaceDivinerParams } from './Params.ts'\n\nexport abstract class AddressSpaceDiviner<\n TParams extends AddressSpaceDivinerParams = AddressSpaceDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {}\n","import type { DivinerConfig } from '@xyo-network/diviner-model'\nimport { asSchema } from '@xyo-network/payload-model'\n\nimport { AddressSpaceSchema } from './Schema.ts'\n\nexport const AddressSpaceDivinerConfigSchema = asSchema(`${AddressSpaceSchema}.diviner.config`, true)\nexport type AddressSpaceDivinerConfigSchema = typeof AddressSpaceDivinerConfigSchema\n\nexport type AddressSpaceDivinerConfig = DivinerConfig<{\n address?: string\n schema: AddressSpaceDivinerConfigSchema\n}>\n\nexport const AddressSpaceBatchDivinerConfigSchema = asSchema(`${AddressSpaceSchema}.batch.diviner.config`, true)\nexport type AddressSpaceBatchDivinerConfigSchema = typeof AddressSpaceBatchDivinerConfigSchema\n\nexport type AddressSpaceBatchDivinerConfig = DivinerConfig<{\n address?: string\n schema: AddressSpaceBatchDivinerConfigSchema\n}>\n","import { asSchema } from '@xyo-network/payload-model'\n\nexport const AddressSpaceSchema = asSchema('network.xyo.diviner.address.space', true)\nexport type AddressSpaceSchema = typeof AddressSpaceSchema\n"],"mappings":";AACA,SAAS,gBAAgB;AACzB,SAAS,wBAAwB;AACjC,SAAS,sBAAsB;AAE/B,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAC/B;AAAA,EACE;AAAA,OACK;;;ACTP,SAAS,uBAAuB;AAMzB,IAAe,sBAAf,cASG,gBAAgD;AAAC;;;ACd3D,SAAS,YAAAA,iBAAgB;;;ACDzB,SAAS,gBAAgB;AAElB,IAAM,qBAAqB,SAAS,qCAAqC,IAAI;;;ADG7E,IAAM,kCAAkCC,UAAS,GAAG,kBAAkB,mBAAmB,IAAI;AAQ7F,IAAM,uCAAuCA,UAAS,GAAG,kBAAkB,yBAAyB,IAAI;;;AFKxG,IAAM,4BAAN,cAA+G,oBAIpH;AAAA,EACA,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,+BAA+B;AAAA,EAC3G,OAAyB,sBAA8B;AAAA,EAEvD,MAAyB,cAAc,WAAsB,CAAC,GAAG;AAC/D,aAAS,SAAS,WAAW,GAAG,MAAM,qEAAqE;AAC3G,UAAM,eAAe,SAAS,MAAM,KAAK,kBAAkB,GAAG,MAAM,6BAA6B;AACjG,UAAM,YAAY,iBAAiB,KAAK,cAAc,KAAK,OAAO;AAClE,UAAM,MAAM,MAAM,UAAU,OAAO,EAAE,OAAO,OAAO,iBAAiB,CAAC;AACrE,UAAM,UAAU,KAAK,OAAO,OAAK,eAAe,CAAC,KAAK,cAAc,CAAC,CAAC,KAAK,CAAC;AAC5E,UAAM,YAAY,IAAI,IAAa,QAAQ,QAAQ,QAAM,GAAG,SAAS,EAAE,IAAI,aAAW,QAAQ,YAAY,CAAY,CAAC;AACvH,WAAO,MAAM,QAAQ;AAAA,MACnB,CAAC,GAAG,SAAS,EAAE,IAAI,aAAW,IAAI,eAA+B,EAAE,QAAQ,cAAc,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;AAAA,IACzH;AAAA,EACF;AACF;","names":["asSchema","asSchema"]}
@@ -0,0 +1,4 @@
1
+ export * from './Config.ts';
2
+ export * from './Params.ts';
3
+ export * from './Schema.ts';
4
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA"}
@@ -0,0 +1,16 @@
1
+ // src/Config.ts
2
+ import { asSchema as asSchema2 } from "@xyo-network/payload-model";
3
+
4
+ // src/Schema.ts
5
+ import { asSchema } from "@xyo-network/payload-model";
6
+ var AddressSpaceSchema = asSchema("network.xyo.diviner.address.space", true);
7
+
8
+ // src/Config.ts
9
+ var AddressSpaceDivinerConfigSchema = asSchema2(`${AddressSpaceSchema}.diviner.config`, true);
10
+ var AddressSpaceBatchDivinerConfigSchema = asSchema2(`${AddressSpaceSchema}.batch.diviner.config`, true);
11
+ export {
12
+ AddressSpaceBatchDivinerConfigSchema,
13
+ AddressSpaceDivinerConfigSchema,
14
+ AddressSpaceSchema
15
+ };
16
+ //# sourceMappingURL=model.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Config.ts","../../src/Schema.ts"],"sourcesContent":["import type { DivinerConfig } from '@xyo-network/diviner-model'\nimport { asSchema } from '@xyo-network/payload-model'\n\nimport { AddressSpaceSchema } from './Schema.ts'\n\nexport const AddressSpaceDivinerConfigSchema = asSchema(`${AddressSpaceSchema}.diviner.config`, true)\nexport type AddressSpaceDivinerConfigSchema = typeof AddressSpaceDivinerConfigSchema\n\nexport type AddressSpaceDivinerConfig = DivinerConfig<{\n address?: string\n schema: AddressSpaceDivinerConfigSchema\n}>\n\nexport const AddressSpaceBatchDivinerConfigSchema = asSchema(`${AddressSpaceSchema}.batch.diviner.config`, true)\nexport type AddressSpaceBatchDivinerConfigSchema = typeof AddressSpaceBatchDivinerConfigSchema\n\nexport type AddressSpaceBatchDivinerConfig = DivinerConfig<{\n address?: string\n schema: AddressSpaceBatchDivinerConfigSchema\n}>\n","import { asSchema } from '@xyo-network/payload-model'\n\nexport const AddressSpaceSchema = asSchema('network.xyo.diviner.address.space', true)\nexport type AddressSpaceSchema = typeof AddressSpaceSchema\n"],"mappings":";AACA,SAAS,YAAAA,iBAAgB;;;ACDzB,SAAS,gBAAgB;AAElB,IAAM,qBAAqB,SAAS,qCAAqC,IAAI;;;ADG7E,IAAM,kCAAkCC,UAAS,GAAG,kBAAkB,mBAAmB,IAAI;AAQ7F,IAAM,uCAAuCA,UAAS,GAAG,kBAAkB,yBAAyB,IAAI;","names":["asSchema","asSchema"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/diviner-address-space",
3
- "version": "5.5.2",
3
+ "version": "5.5.5",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -24,6 +24,18 @@
24
24
  "types": "./dist/neutral/index.d.ts",
25
25
  "default": "./dist/neutral/index.mjs"
26
26
  },
27
+ "./abstract": {
28
+ "types": "./dist/neutral/abstract.d.ts",
29
+ "default": "./dist/neutral/abstract.mjs"
30
+ },
31
+ "./memory": {
32
+ "types": "./dist/neutral/memory.d.ts",
33
+ "default": "./dist/neutral/memory.mjs"
34
+ },
35
+ "./model": {
36
+ "types": "./dist/neutral/model.d.ts",
37
+ "default": "./dist/neutral/model.mjs"
38
+ },
27
39
  "./package.json": "./package.json"
28
40
  },
29
41
  "files": [
@@ -34,9 +46,10 @@
34
46
  "README.md"
35
47
  ],
36
48
  "dependencies": {
37
- "@xyo-network/diviner-address-space-model": "~5.5.2",
38
- "@xyo-network/diviner-address-space-abstract": "~5.5.2",
39
- "@xyo-network/diviner-address-space-memory": "~5.5.2"
49
+ "@xyo-network/module-model": "~5.5.5",
50
+ "@xyo-network/diviner-abstract": "~5.5.5",
51
+ "@xyo-network/diviner-model": "~5.5.5",
52
+ "@xyo-network/archivist-wrapper": "~5.5.5"
40
53
  },
41
54
  "devDependencies": {
42
55
  "@bitauth/libauth": "~3.0.0",
@@ -46,29 +59,22 @@
46
59
  "@types/node": "^25.6.0",
47
60
  "@xylabs/sdk-js": "^5.0.100",
48
61
  "@xylabs/threads": "~5.0.100",
49
- "@xylabs/toolchain": "~7.11.5",
50
- "@xylabs/tsconfig": "~7.11.5",
62
+ "@xylabs/toolchain": "~7.11.8",
63
+ "@xylabs/tsconfig": "~7.11.8",
51
64
  "@xylabs/vitest-extended": "~5.0.100",
52
65
  "@xylabs/vitest-matchers": "~5.0.100",
53
- "@xyo-network/account": "~5.5",
54
- "@xyo-network/account-model": "~5.5",
55
- "@xyo-network/boundwitness-builder": "~5.5",
56
- "@xyo-network/boundwitness-model": "~5.5",
57
- "@xyo-network/boundwitness-validator": "~5.5",
58
- "@xyo-network/boundwitness-wrapper": "~5.5",
59
- "@xyo-network/config-payload-plugin": "~5.5",
60
- "@xyo-network/data": "~5.5",
61
- "@xyo-network/elliptic": "~5.5",
62
- "@xyo-network/hash": "~5.5",
63
- "@xyo-network/manifest-model": "~5.5",
64
- "@xyo-network/payload-builder": "~5.5",
65
- "@xyo-network/payload-model": "~5.5",
66
- "@xyo-network/payload-validator": "~5.5",
67
- "@xyo-network/payload-wrapper": "~5.5",
68
- "@xyo-network/previous-hash-store-model": "~5.5",
69
- "@xyo-network/query-payload-plugin": "~5.5",
70
- "@xyo-network/wallet-model": "~5.5",
71
- "@xyo-network/wasm": "~5.5",
66
+ "@xyo-network/account": "~5.5.1",
67
+ "@xyo-network/account-model": "~5.5.1",
68
+ "@xyo-network/boundwitness-builder": "~5.5.1",
69
+ "@xyo-network/boundwitness-model": "~5.5.1",
70
+ "@xyo-network/boundwitness-wrapper": "~5.5.1",
71
+ "@xyo-network/config-payload-plugin": "~5.5.1",
72
+ "@xyo-network/manifest-model": "~5.5.1",
73
+ "@xyo-network/payload-builder": "~5.5.1",
74
+ "@xyo-network/payload-model": "~5.5.1",
75
+ "@xyo-network/payload-wrapper": "~5.5.1",
76
+ "@xyo-network/query-payload-plugin": "~5.5.1",
77
+ "@xyo-network/wallet-model": "~5.5.1",
72
78
  "async-mutex": "^0.5",
73
79
  "bn.js": "^5",
74
80
  "buffer": "^6",
@@ -86,45 +92,26 @@
86
92
  "vitest": "~4.1.5",
87
93
  "wasm-feature-detect": "~1.8.0",
88
94
  "zod": "^4.3.6",
89
- "@xyo-network/archivist-generic": "~5.5.2",
90
- "@xyo-network/archivist-wrapper": "~5.5.2",
91
- "@xyo-network/archivist-model": "~5.5.2",
92
- "@xyo-network/archivist-abstract": "~5.5.2",
93
- "@xyo-network/diviner-abstract": "~5.5.2",
94
- "@xyo-network/archivist-memory": "~5.5.2",
95
- "@xyo-network/diviner-model": "~5.5.2",
96
- "@xyo-network/module-model": "~5.5.2",
97
- "@xyo-network/diviner-payload-model": "~5.5.2",
98
- "@xyo-network/module-abstract": "~5.5.2",
99
- "@xyo-network/node-abstract": "~5.5.2",
100
- "@xyo-network/module-resolver": "~5.5.2",
101
- "@xyo-network/node-memory": "~5.5.2",
102
- "@xyo-network/node-model": "~5.5.2",
103
- "@xyo-network/witness-model": "~5.5.2"
95
+ "@xyo-network/archivist-memory": "~5.5.5",
96
+ "@xyo-network/node-memory": "~5.5.5"
104
97
  },
105
98
  "peerDependencies": {
106
99
  "@scure/base": "~2.2.0",
107
100
  "@xylabs/sdk-js": "^5.0.100",
108
- "@xyo-network/account-model": "~5.5",
109
- "@xyo-network/archivist-model": "~5.5",
110
- "@xyo-network/archivist-wrapper": "~5.5",
111
- "@xyo-network/boundwitness-model": "~5.5",
112
- "@xyo-network/boundwitness-validator": "~5.5",
113
- "@xyo-network/boundwitness-wrapper": "~5.5",
114
- "@xyo-network/data": "~5.5",
115
- "@xyo-network/diviner-model": "~5.5",
116
- "@xyo-network/elliptic": "~5.5",
117
- "@xyo-network/hash": "~5.5",
118
- "@xyo-network/manifest-model": "~5.5",
119
- "@xyo-network/module-abstract": "~5.5",
120
- "@xyo-network/module-model": "~5.5",
121
- "@xyo-network/payload-builder": "~5.5",
122
- "@xyo-network/payload-model": "~5.5",
123
- "@xyo-network/payload-validator": "~5.5",
124
- "@xyo-network/previous-hash-store-model": "~5.5",
125
- "@xyo-network/witness-model": "~5.5",
101
+ "@xyo-network/account": "~5.5.1",
102
+ "@xyo-network/account-model": "~5.5.1",
103
+ "@xyo-network/boundwitness-builder": "~5.5.1",
104
+ "@xyo-network/boundwitness-model": "~5.5.1",
105
+ "@xyo-network/boundwitness-wrapper": "~5.5.1",
106
+ "@xyo-network/config-payload-plugin": "~5.5.1",
107
+ "@xyo-network/manifest-model": "~5.5.1",
108
+ "@xyo-network/payload-builder": "~5.5.1",
109
+ "@xyo-network/payload-model": "~5.5.1",
110
+ "@xyo-network/query-payload-plugin": "~5.5.1",
111
+ "@xyo-network/wallet-model": "~5.5.1",
126
112
  "async-mutex": "~0.5.0",
127
113
  "ethers": "^6",
114
+ "lru-cache": "~11.3.5",
128
115
  "zod": "^4"
129
116
  },
130
117
  "publishConfig": {