@xyo-network/diviner-address-space 5.5.1 → 5.5.3
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.
- package/dist/neutral/AddressSpaceDiviner.d.ts +7 -0
- package/dist/neutral/AddressSpaceDiviner.d.ts.map +1 -0
- package/dist/neutral/Config.d.ts +18 -0
- package/dist/neutral/Config.d.ts.map +1 -0
- package/dist/neutral/MemoryAddressSpaceDiviner.d.ts +13 -0
- package/dist/neutral/MemoryAddressSpaceDiviner.d.ts.map +1 -0
- package/dist/neutral/Params.d.ts +5 -0
- package/dist/neutral/Params.d.ts.map +1 -0
- package/dist/neutral/Schema.d.ts +5 -0
- package/dist/neutral/Schema.d.ts.map +1 -0
- package/dist/neutral/abstract.d.ts +2 -0
- package/dist/neutral/abstract.d.ts.map +1 -0
- package/dist/neutral/abstract.mjs +8 -0
- package/dist/neutral/abstract.mjs.map +1 -0
- package/dist/neutral/index.d.ts +3 -3
- package/dist/neutral/index.d.ts.map +1 -1
- package/dist/neutral/index.mjs +49 -4
- package/dist/neutral/index.mjs.map +1 -1
- package/dist/neutral/memory.d.ts +2 -0
- package/dist/neutral/memory.d.ts.map +1 -0
- package/dist/neutral/memory.mjs +46 -0
- package/dist/neutral/memory.mjs.map +1 -0
- package/dist/neutral/model.d.ts +4 -0
- package/dist/neutral/model.d.ts.map +1 -0
- package/dist/neutral/model.mjs +16 -0
- package/dist/neutral/model.mjs.map +1 -0
- package/package.json +27 -27
|
@@ -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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../src/abstract.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA"}
|
|
@@ -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":[]}
|
package/dist/neutral/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from '
|
|
2
|
-
export * from '
|
|
3
|
-
export * from '
|
|
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,
|
|
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"}
|
package/dist/neutral/index.mjs
CHANGED
|
@@ -1,5 +1,50 @@
|
|
|
1
|
-
// src/
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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/
|
|
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 @@
|
|
|
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 @@
|
|
|
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.
|
|
3
|
+
"version": "5.5.3",
|
|
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/
|
|
38
|
-
"@xyo-network/diviner-
|
|
39
|
-
"@xyo-network/diviner-
|
|
49
|
+
"@xyo-network/archivist-wrapper": "~5.5.3",
|
|
50
|
+
"@xyo-network/diviner-abstract": "~5.5.3",
|
|
51
|
+
"@xyo-network/diviner-model": "~5.5.3",
|
|
52
|
+
"@xyo-network/module-model": "~5.5.3"
|
|
40
53
|
},
|
|
41
54
|
"devDependencies": {
|
|
42
55
|
"@bitauth/libauth": "~3.0.0",
|
|
@@ -46,8 +59,8 @@
|
|
|
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.
|
|
50
|
-
"@xylabs/tsconfig": "~7.11.
|
|
62
|
+
"@xylabs/toolchain": "~7.11.7",
|
|
63
|
+
"@xylabs/tsconfig": "~7.11.7",
|
|
51
64
|
"@xylabs/vitest-extended": "~5.0.100",
|
|
52
65
|
"@xylabs/vitest-matchers": "~5.0.100",
|
|
53
66
|
"@xyo-network/account": "~5.5",
|
|
@@ -86,45 +99,32 @@
|
|
|
86
99
|
"vitest": "~4.1.5",
|
|
87
100
|
"wasm-feature-detect": "~1.8.0",
|
|
88
101
|
"zod": "^4.3.6",
|
|
89
|
-
"@xyo-network/archivist-
|
|
90
|
-
"@xyo-network/
|
|
91
|
-
"@xyo-network/archivist-memory": "~5.5.1",
|
|
92
|
-
"@xyo-network/archivist-model": "~5.5.1",
|
|
93
|
-
"@xyo-network/diviner-abstract": "~5.5.1",
|
|
94
|
-
"@xyo-network/diviner-model": "~5.5.1",
|
|
95
|
-
"@xyo-network/diviner-payload-model": "~5.5.1",
|
|
96
|
-
"@xyo-network/archivist-wrapper": "~5.5.1",
|
|
97
|
-
"@xyo-network/module-model": "~5.5.1",
|
|
98
|
-
"@xyo-network/module-abstract": "~5.5.1",
|
|
99
|
-
"@xyo-network/module-resolver": "~5.5.1",
|
|
100
|
-
"@xyo-network/node-memory": "~5.5.1",
|
|
101
|
-
"@xyo-network/node-abstract": "~5.5.1",
|
|
102
|
-
"@xyo-network/witness-model": "~5.5.1",
|
|
103
|
-
"@xyo-network/node-model": "~5.5.1"
|
|
102
|
+
"@xyo-network/archivist-memory": "~5.5.3",
|
|
103
|
+
"@xyo-network/node-memory": "~5.5.3"
|
|
104
104
|
},
|
|
105
105
|
"peerDependencies": {
|
|
106
106
|
"@scure/base": "~2.2.0",
|
|
107
107
|
"@xylabs/sdk-js": "^5.0.100",
|
|
108
|
+
"@xyo-network/account": "~5.5",
|
|
108
109
|
"@xyo-network/account-model": "~5.5",
|
|
109
|
-
"@xyo-network/
|
|
110
|
-
"@xyo-network/archivist-wrapper": "~5.5",
|
|
110
|
+
"@xyo-network/boundwitness-builder": "~5.5",
|
|
111
111
|
"@xyo-network/boundwitness-model": "~5.5",
|
|
112
112
|
"@xyo-network/boundwitness-validator": "~5.5",
|
|
113
113
|
"@xyo-network/boundwitness-wrapper": "~5.5",
|
|
114
|
+
"@xyo-network/config-payload-plugin": "~5.5",
|
|
114
115
|
"@xyo-network/data": "~5.5",
|
|
115
|
-
"@xyo-network/diviner-model": "~5.5",
|
|
116
116
|
"@xyo-network/elliptic": "~5.5",
|
|
117
117
|
"@xyo-network/hash": "~5.5",
|
|
118
118
|
"@xyo-network/manifest-model": "~5.5",
|
|
119
|
-
"@xyo-network/module-abstract": "~5.5",
|
|
120
|
-
"@xyo-network/module-model": "~5.5",
|
|
121
119
|
"@xyo-network/payload-builder": "~5.5",
|
|
122
120
|
"@xyo-network/payload-model": "~5.5",
|
|
123
121
|
"@xyo-network/payload-validator": "~5.5",
|
|
124
122
|
"@xyo-network/previous-hash-store-model": "~5.5",
|
|
125
|
-
"@xyo-network/
|
|
123
|
+
"@xyo-network/query-payload-plugin": "~5.5",
|
|
124
|
+
"@xyo-network/wallet-model": "~5.5",
|
|
126
125
|
"async-mutex": "~0.5.0",
|
|
127
126
|
"ethers": "^6",
|
|
127
|
+
"lru-cache": "~11.3.5",
|
|
128
128
|
"zod": "^4"
|
|
129
129
|
},
|
|
130
130
|
"publishConfig": {
|