@xyo-network/diviner 2.50.2 → 2.50.4
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/cjs/AddressHistory/AddressHistoryDiviner.js +2 -2
- package/dist/cjs/AddressHistory/AddressHistoryDiviner.js.map +1 -1
- package/dist/cjs/AddressHistory/MemoryAddressHistoryDiviner.js +2 -1
- package/dist/cjs/AddressHistory/MemoryAddressHistoryDiviner.js.map +1 -1
- package/dist/cjs/AddressSpace/AddressSpaceDiviner.js +10 -0
- package/dist/cjs/AddressSpace/AddressSpaceDiviner.js.map +1 -0
- package/dist/cjs/AddressSpace/MemoryAddressSpaceDiviner.js +46 -0
- package/dist/cjs/AddressSpace/MemoryAddressSpaceDiviner.js.map +1 -0
- package/dist/cjs/AddressSpace/index.js +6 -0
- package/dist/cjs/AddressSpace/index.js.map +1 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/docs.json +10416 -3043
- package/dist/esm/AddressHistory/AddressHistoryDiviner.js +2 -2
- package/dist/esm/AddressHistory/AddressHistoryDiviner.js.map +1 -1
- package/dist/esm/AddressHistory/MemoryAddressHistoryDiviner.js +2 -1
- package/dist/esm/AddressHistory/MemoryAddressHistoryDiviner.js.map +1 -1
- package/dist/esm/AddressSpace/AddressSpaceDiviner.js +5 -0
- package/dist/esm/AddressSpace/AddressSpaceDiviner.js.map +1 -0
- package/dist/esm/AddressSpace/MemoryAddressSpaceDiviner.js +33 -0
- package/dist/esm/AddressSpace/MemoryAddressSpaceDiviner.js.map +1 -0
- package/dist/esm/AddressSpace/index.js +3 -0
- package/dist/esm/AddressSpace/index.js.map +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/types/AddressHistory/AddressHistoryDiviner.d.ts +2 -2
- package/dist/types/AddressHistory/AddressHistoryDiviner.d.ts.map +1 -1
- package/dist/types/AddressHistory/MemoryAddressHistoryDiviner.d.ts +4 -4
- package/dist/types/AddressHistory/MemoryAddressHistoryDiviner.d.ts.map +1 -1
- package/dist/types/AddressSpace/AddressSpaceDiviner.d.ts +19 -0
- package/dist/types/AddressSpace/AddressSpaceDiviner.d.ts.map +1 -0
- package/dist/types/AddressSpace/MemoryAddressSpaceDiviner.d.ts +21 -0
- package/dist/types/AddressSpace/MemoryAddressSpaceDiviner.d.ts.map +1 -0
- package/dist/types/AddressSpace/index.d.ts +3 -0
- package/dist/types/AddressSpace/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +19 -16
- package/src/AddressHistory/AddressHistoryDiviner.ts +4 -4
- package/src/AddressHistory/MemoryAddressHistoryDiviner.ts +3 -3
- package/src/AddressSpace/AddressSpaceDiviner.ts +18 -0
- package/src/AddressSpace/MemoryAddressSpaceDiviner.ts +55 -0
- package/src/AddressSpace/index.ts +2 -0
- package/src/index.ts +1 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export const AddressHistorySchema = 'network.xyo.diviner.address';
|
|
2
|
-
export const AddressHistoryQuerySchema = 'network.xyo.diviner.address.query';
|
|
1
|
+
export const AddressHistorySchema = 'network.xyo.diviner.address.history';
|
|
2
|
+
export const AddressHistoryQuerySchema = 'network.xyo.diviner.address.history.query';
|
|
3
3
|
export const isAddressHistoryPayload = (x) => x?.schema === AddressHistorySchema;
|
|
4
4
|
export const isAddressHistoryQueryPayload = (x) => x?.schema === AddressHistoryQuerySchema;
|
|
5
5
|
//# sourceMappingURL=AddressHistoryDiviner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddressHistoryDiviner.js","sourceRoot":"","sources":["../../../src/AddressHistory/AddressHistoryDiviner.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,oBAAoB,GAAyB,
|
|
1
|
+
{"version":3,"file":"AddressHistoryDiviner.js","sourceRoot":"","sources":["../../../src/AddressHistory/AddressHistoryDiviner.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,oBAAoB,GAAyB,qCAAqC,CAAA;AAG/F,MAAM,CAAC,MAAM,yBAAyB,GAA8B,2CAA2C,CAAA;AAG/G,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAqB,EAA8B,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,oBAAoB,CAAA;AAGhI,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAqB,EAAmC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,yBAAyB,CAAA"}
|
|
@@ -5,7 +5,8 @@ import { XyoBoundWitnessSchema } from '@xyo-network/boundwitness-model';
|
|
|
5
5
|
import { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper';
|
|
6
6
|
import { PayloadWrapper } from '@xyo-network/payload-wrapper';
|
|
7
7
|
import { AbstractDiviner } from '../AbstractDiviner';
|
|
8
|
-
|
|
8
|
+
import { AddressHistorySchema } from './AddressHistoryDiviner';
|
|
9
|
+
export const MemoryAddressHistoryDivinerConfigSchema = `${AddressHistorySchema}.memory.config`;
|
|
9
10
|
// This diviner returns the most recent boundwitness signed by the address that can be found
|
|
10
11
|
// if multiple broken chains are found, all the heads are returned
|
|
11
12
|
export class MemoryAddressHistoryDiviner extends AbstractDiviner {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryAddressHistoryDiviner.js","sourceRoot":"","sources":["../../../src/AddressHistory/MemoryAddressHistoryDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAmB,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAIvE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAE,eAAe,EAAiB,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"MemoryAddressHistoryDiviner.js","sourceRoot":"","sources":["../../../src/AddressHistory/MemoryAddressHistoryDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAmB,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAIvE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAE,eAAe,EAAiB,MAAM,oBAAoB,CAAA;AACnE,OAAO,EAAyB,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAGrF,MAAM,CAAC,MAAM,uCAAuC,GAA4C,GAAG,oBAAoB,gBAAgB,CAAA;AAUvI,4FAA4F;AAC5F,kEAAkE;AAElE,MAAM,OAAO,2BAA4B,SAAQ,eAAiE;IAChH,MAAM,CAAU,YAAY,GAAG,uCAAuC,CAAA;IAEtE,MAAM,CAAU,KAAK,CAAC,MAAM,CAAC,MAAiE;QAC5F,OAAO,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAgC,CAAA;IACpE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAuB;QAClC,QAAQ,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,uEAAuE,CAAC,CAAA;QACpG,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAA;QAC1I,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,6BAA6B,CAAC,CAAA;QAC9D,MAAM,OAAO,GAAG,CACd,MAAM,OAAO,CAAC,GAAG,CACf,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;YACjC,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CAAA;YACjC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,qBAAqB,CAAsB,CAAA;QAC/F,CAAC,CAAC,CACH,CACF,CAAC,IAAI,EAAE,CAAA;QAER,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;QAEnD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAA;QAErF,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;QAEzD,gEAAgE;QAChE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;IAC9E,CAAC;IAEO,kBAAkB,CAAC,OAAe,EAAE,SAA8C;QACxF,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAwC,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACnH,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACnB,OAAO,IAAI,CAAA;QACb,CAAC,EAAE,EAAE,CAAC,CAAA;QACN,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAwC,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACpG,iEAAiE;YACjE,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE;gBACb,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACxC,IAAI,YAAY,EAAE;oBAChB,wDAAwD;oBACxD,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE;wBACtB,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;wBACrC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAA;qBAC1B;iBACF;aACF;YACD,OAAO,IAAI,CAAA;QACb,CAAC,EAAE,aAAa,CAAC,CAAA;IACnB,CAAC;IAED,yDAAyD;IACjD,mBAAmB,CAAC,KAAwB;QAClD,OAAO,KAAK;aACT,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aAC1D,MAAM,CAAsC,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE;YAC7D,MAAM,OAAO,GAAG,IAAI,mBAAmB,CAAC,EAAE,CAAC,CAAA;YAC3C,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAA;YACjC,OAAO,SAAS,CAAA;QAClB,CAAC,EAAE,EAAE,CAAC,CAAA;IACV,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export const AddressSpaceSchema = 'network.xyo.diviner.address.space';
|
|
2
|
+
export const AddressSpaceQuerySchema = 'network.xyo.diviner.address.space.query';
|
|
3
|
+
export const isAddressSpacePayload = (x) => x?.schema === AddressSpaceSchema;
|
|
4
|
+
export const isAddressSpaceQueryPayload = (x) => x?.schema === AddressSpaceQuerySchema;
|
|
5
|
+
//# sourceMappingURL=AddressSpaceDiviner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddressSpaceDiviner.js","sourceRoot":"","sources":["../../../src/AddressSpace/AddressSpaceDiviner.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,kBAAkB,GAAuB,mCAAmC,CAAA;AAGzF,MAAM,CAAC,MAAM,uBAAuB,GAA4B,yCAAyC,CAAA;AAGzG,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAqB,EAA4B,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,kBAAkB,CAAA;AAG1H,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAqB,EAAiC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,uBAAuB,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { assertEx } from '@xylabs/assert';
|
|
2
|
+
import { AddressSchema } from '@xyo-network/address-payload-plugin';
|
|
3
|
+
import { ArchivistGetQuerySchema } from '@xyo-network/archivist';
|
|
4
|
+
import { ArchivistWrapper } from '@xyo-network/archivist-wrapper';
|
|
5
|
+
import { XyoBoundWitnessSchema } from '@xyo-network/boundwitness-model';
|
|
6
|
+
import { XyoPayloadBuilder } from '@xyo-network/payload-builder';
|
|
7
|
+
import { AbstractDiviner } from '../AbstractDiviner';
|
|
8
|
+
import { AddressSpaceSchema } from './AddressSpaceDiviner';
|
|
9
|
+
export const MemoryAddressSpaceDivinerConfigSchema = `${AddressSpaceSchema}.memory.config`;
|
|
10
|
+
/**
|
|
11
|
+
* This Diviner returns the list of all addresses encountered for the reachable archivists
|
|
12
|
+
*/
|
|
13
|
+
export class MemoryAddressSpaceDiviner extends AbstractDiviner {
|
|
14
|
+
static configSchema = MemoryAddressSpaceDivinerConfigSchema;
|
|
15
|
+
static async create(params) {
|
|
16
|
+
return (await super.create(params));
|
|
17
|
+
}
|
|
18
|
+
async divine(payloads) {
|
|
19
|
+
assertEx(!payloads?.length, 'MemoryAddressSpaceDiviner.divine does not allow payloads to be sent');
|
|
20
|
+
const archivists = (await this.resolve({ query: [[ArchivistGetQuerySchema]] }))?.map((archivist) => new ArchivistWrapper(archivist)) ?? [];
|
|
21
|
+
assertEx(archivists.length > 0, 'Did not find any archivists');
|
|
22
|
+
const bwLists = (await Promise.all(archivists.map(async (archivist) => {
|
|
23
|
+
const all = await archivist.all();
|
|
24
|
+
return all.filter((payload) => payload.schema === XyoBoundWitnessSchema);
|
|
25
|
+
}))).flat();
|
|
26
|
+
const addresses = new Set(bwLists
|
|
27
|
+
.map((bw) => bw.addresses)
|
|
28
|
+
.flat()
|
|
29
|
+
.map((address) => address.toLowerCase()));
|
|
30
|
+
return [...addresses].map((address) => new XyoPayloadBuilder({ schema: AddressSchema }).fields({ address }).build());
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=MemoryAddressSpaceDiviner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryAddressSpaceDiviner.js","sourceRoot":"","sources":["../../../src/AddressSpace/MemoryAddressSpaceDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAA;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAmB,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAGxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAGhE,OAAO,EAAE,eAAe,EAAiB,MAAM,oBAAoB,CAAA;AACnE,OAAO,EAAuB,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAG/E,MAAM,CAAC,MAAM,qCAAqC,GAA0C,GAAG,kBAAkB,gBAAgB,CAAA;AAUjI;;GAEG;AACH,MAAM,OAAO,yBAA0B,SAAQ,eAA+D;IAC5G,MAAM,CAAU,YAAY,GAAG,qCAAqC,CAAA;IAEpE,MAAM,CAAU,KAAK,CAAC,MAAM,CAAC,MAA+D;QAC1F,OAAO,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAA8B,CAAA;IAClE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAuB;QAClC,QAAQ,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,qEAAqE,CAAC,CAAA;QAClG,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAA;QAC1I,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,6BAA6B,CAAC,CAAA;QAC9D,MAAM,OAAO,GAAG,CACd,MAAM,OAAO,CAAC,GAAG,CACf,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;YACjC,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CAAA;YACjC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,qBAAqB,CAAsB,CAAA;QAC/F,CAAC,CAAC,CACH,CACF,CAAC,IAAI,EAAE,CAAA;QACR,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,OAAO;aACJ,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;aACzB,IAAI,EAAE;aACN,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAC3C,CAAA;QACD,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;IACtH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/AddressSpace/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA"}
|
package/dist/esm/index.js
CHANGED
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,WAAW,CAAA;AACzB,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,WAAW,CAAA;AACzB,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { XyoQuery } from '@xyo-network/module-model';
|
|
2
2
|
import { PayloadFindFilter, XyoPayload } from '@xyo-network/payload-model';
|
|
3
3
|
import { AbstractDiviner } from '../AbstractDiviner';
|
|
4
|
-
export type AddressHistorySchema = 'network.xyo.diviner.address';
|
|
4
|
+
export type AddressHistorySchema = 'network.xyo.diviner.address.history';
|
|
5
5
|
export declare const AddressHistorySchema: AddressHistorySchema;
|
|
6
|
-
export type AddressHistoryQuerySchema = 'network.xyo.diviner.address.query';
|
|
6
|
+
export type AddressHistoryQuerySchema = 'network.xyo.diviner.address.history.query';
|
|
7
7
|
export declare const AddressHistoryQuerySchema: AddressHistoryQuerySchema;
|
|
8
8
|
export type AddressHistoryPayload = XyoPayload<{
|
|
9
9
|
schema: AddressHistorySchema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddressHistoryDiviner.d.ts","sourceRoot":"","sources":["../../../src/AddressHistory/AddressHistoryDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAE1E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,MAAM,oBAAoB,GAAG,
|
|
1
|
+
{"version":3,"file":"AddressHistoryDiviner.d.ts","sourceRoot":"","sources":["../../../src/AddressHistory/AddressHistoryDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAE1E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,MAAM,oBAAoB,GAAG,qCAAqC,CAAA;AACxE,eAAO,MAAM,oBAAoB,EAAE,oBAA4D,CAAA;AAE/F,MAAM,MAAM,yBAAyB,GAAG,2CAA2C,CAAA;AACnF,eAAO,MAAM,yBAAyB,EAAE,yBAAuE,CAAA;AAE/G,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC;IAAE,MAAM,EAAE,oBAAoB,CAAA;CAAE,CAAC,CAAA;AAChF,eAAO,MAAM,uBAAuB,OAAQ,UAAU,GAAG,IAAI;YADJ,oBAAoB;CACmD,CAAA;AAEhI,MAAM,MAAM,0BAA0B,GAAG,QAAQ,CAAC;IAAE,MAAM,EAAE,yBAAyB,CAAA;CAAE,GAAG,iBAAiB,CAAC,CAAA;AAC5G,eAAO,MAAM,4BAA4B,OAAQ,UAAU,GAAG,IAAI,oCAA6E,CAAA;AAE/I,MAAM,MAAM,qBAAqB,GAAG,eAAe,CAAA"}
|
|
@@ -3,15 +3,15 @@ import { DivinerConfig } from '@xyo-network/diviner-model';
|
|
|
3
3
|
import { ModuleParams } from '@xyo-network/module';
|
|
4
4
|
import { XyoPayload } from '@xyo-network/payload-model';
|
|
5
5
|
import { AbstractDiviner, DivinerParams } from '../AbstractDiviner';
|
|
6
|
-
import { AddressHistoryDiviner } from './AddressHistoryDiviner';
|
|
7
|
-
export type MemoryAddressHistoryDivinerConfigSchema =
|
|
8
|
-
export declare const MemoryAddressHistoryDivinerConfigSchema
|
|
6
|
+
import { AddressHistoryDiviner, AddressHistorySchema } from './AddressHistoryDiviner';
|
|
7
|
+
export type MemoryAddressHistoryDivinerConfigSchema = `${AddressHistorySchema}.memory.config`;
|
|
8
|
+
export declare const MemoryAddressHistoryDivinerConfigSchema: MemoryAddressHistoryDivinerConfigSchema;
|
|
9
9
|
export type MemoryAddressHistoryDivinerConfig = DivinerConfig<XyoBoundWitness, {
|
|
10
10
|
address: string;
|
|
11
11
|
schema: MemoryAddressHistoryDivinerConfigSchema;
|
|
12
12
|
}>;
|
|
13
13
|
export declare class MemoryAddressHistoryDiviner extends AbstractDiviner<DivinerParams<MemoryAddressHistoryDivinerConfig>> implements AddressHistoryDiviner {
|
|
14
|
-
static configSchema:
|
|
14
|
+
static configSchema: "network.xyo.diviner.address.history.memory.config";
|
|
15
15
|
static create(params?: Partial<ModuleParams<MemoryAddressHistoryDivinerConfig>>): Promise<MemoryAddressHistoryDiviner>;
|
|
16
16
|
divine(payloads?: XyoPayload[]): Promise<XyoPayload[]>;
|
|
17
17
|
private buildAddressChains;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryAddressHistoryDiviner.d.ts","sourceRoot":"","sources":["../../../src/AddressHistory/MemoryAddressHistoryDiviner.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAyB,MAAM,iCAAiC,CAAA;AAExF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAGvD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"MemoryAddressHistoryDiviner.d.ts","sourceRoot":"","sources":["../../../src/AddressHistory/MemoryAddressHistoryDiviner.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAyB,MAAM,iCAAiC,CAAA;AAExF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAGvD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAErF,MAAM,MAAM,uCAAuC,GAAG,GAAG,oBAAoB,gBAAgB,CAAA;AAC7F,eAAO,MAAM,uCAAuC,EAAE,uCAAiF,CAAA;AAEvI,MAAM,MAAM,iCAAiC,GAAG,aAAa,CAC3D,eAAe,EACf;IACE,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,uCAAuC,CAAA;CAChD,CACF,CAAA;AAKD,qBAAa,2BAA4B,SAAQ,eAAe,CAAC,aAAa,CAAC,iCAAiC,CAAC,CAAE,YAAW,qBAAqB;IACjJ,OAAgB,YAAY,sDAA0C;WAEhD,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,iCAAiC,CAAC,CAAC,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAI/H,MAAM,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAuB5D,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,mBAAmB;CAS5B"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { XyoQuery } from '@xyo-network/module-model';
|
|
2
|
+
import { PayloadFindFilter, XyoPayload } from '@xyo-network/payload-model';
|
|
3
|
+
import { AbstractDiviner } from '../AbstractDiviner';
|
|
4
|
+
export type AddressSpaceSchema = 'network.xyo.diviner.address.space';
|
|
5
|
+
export declare const AddressSpaceSchema: AddressSpaceSchema;
|
|
6
|
+
export type AddressSpaceQuerySchema = 'network.xyo.diviner.address.space.query';
|
|
7
|
+
export declare const AddressSpaceQuerySchema: AddressSpaceQuerySchema;
|
|
8
|
+
export type AddressSpacePayload = XyoPayload<{
|
|
9
|
+
schema: AddressSpaceSchema;
|
|
10
|
+
}>;
|
|
11
|
+
export declare const isAddressSpacePayload: (x?: XyoPayload | null) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
12
|
+
schema: AddressSpaceSchema;
|
|
13
|
+
};
|
|
14
|
+
export type AddressSpaceQueryPayload = XyoQuery<{
|
|
15
|
+
schema: AddressSpaceQuerySchema;
|
|
16
|
+
} & PayloadFindFilter>;
|
|
17
|
+
export declare const isAddressSpaceQueryPayload: (x?: XyoPayload | null) => x is AddressSpaceQueryPayload;
|
|
18
|
+
export type AddressSpaceDiviner = AbstractDiviner;
|
|
19
|
+
//# sourceMappingURL=AddressSpaceDiviner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddressSpaceDiviner.d.ts","sourceRoot":"","sources":["../../../src/AddressSpace/AddressSpaceDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAE1E,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,MAAM,kBAAkB,GAAG,mCAAmC,CAAA;AACpE,eAAO,MAAM,kBAAkB,EAAE,kBAAwD,CAAA;AAEzF,MAAM,MAAM,uBAAuB,GAAG,yCAAyC,CAAA;AAC/E,eAAO,MAAM,uBAAuB,EAAE,uBAAmE,CAAA;AAEzG,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC;IAAE,MAAM,EAAE,kBAAkB,CAAA;CAAE,CAAC,CAAA;AAC5E,eAAO,MAAM,qBAAqB,OAAQ,UAAU,GAAG,IAAI;YADJ,kBAAkB;CACiD,CAAA;AAE1H,MAAM,MAAM,wBAAwB,GAAG,QAAQ,CAAC;IAAE,MAAM,EAAE,uBAAuB,CAAA;CAAE,GAAG,iBAAiB,CAAC,CAAA;AACxG,eAAO,MAAM,0BAA0B,OAAQ,UAAU,GAAG,IAAI,kCAAyE,CAAA;AAEzI,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { XyoBoundWitness } from '@xyo-network/boundwitness-model';
|
|
2
|
+
import { DivinerConfig } from '@xyo-network/diviner-model';
|
|
3
|
+
import { ModuleParams } from '@xyo-network/module';
|
|
4
|
+
import { XyoPayload } from '@xyo-network/payload-model';
|
|
5
|
+
import { AbstractDiviner, DivinerParams } from '../AbstractDiviner';
|
|
6
|
+
import { AddressSpaceDiviner, AddressSpaceSchema } from './AddressSpaceDiviner';
|
|
7
|
+
export type MemoryAddressSpaceDivinerConfigSchema = `${AddressSpaceSchema}.memory.config`;
|
|
8
|
+
export declare const MemoryAddressSpaceDivinerConfigSchema: MemoryAddressSpaceDivinerConfigSchema;
|
|
9
|
+
export type MemoryAddressSpaceDivinerConfig = DivinerConfig<XyoBoundWitness, {
|
|
10
|
+
address: string;
|
|
11
|
+
schema: MemoryAddressSpaceDivinerConfigSchema;
|
|
12
|
+
}>;
|
|
13
|
+
/**
|
|
14
|
+
* This Diviner returns the list of all addresses encountered for the reachable archivists
|
|
15
|
+
*/
|
|
16
|
+
export declare class MemoryAddressSpaceDiviner extends AbstractDiviner<DivinerParams<MemoryAddressSpaceDivinerConfig>> implements AddressSpaceDiviner {
|
|
17
|
+
static configSchema: "network.xyo.diviner.address.space.memory.config";
|
|
18
|
+
static create(params?: Partial<ModuleParams<MemoryAddressSpaceDivinerConfig>>): Promise<MemoryAddressSpaceDiviner>;
|
|
19
|
+
divine(payloads?: XyoPayload[]): Promise<XyoPayload[]>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=MemoryAddressSpaceDiviner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryAddressSpaceDiviner.d.ts","sourceRoot":"","sources":["../../../src/AddressSpace/MemoryAddressSpaceDiviner.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAyB,MAAM,iCAAiC,CAAA;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEvD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE/E,MAAM,MAAM,qCAAqC,GAAG,GAAG,kBAAkB,gBAAgB,CAAA;AACzF,eAAO,MAAM,qCAAqC,EAAE,qCAA6E,CAAA;AAEjI,MAAM,MAAM,+BAA+B,GAAG,aAAa,CACzD,eAAe,EACf;IACE,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,qCAAqC,CAAA;CAC9C,CACF,CAAA;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,eAAe,CAAC,aAAa,CAAC,+BAA+B,CAAC,CAAE,YAAW,mBAAmB;IAC3I,OAAgB,YAAY,oDAAwC;WAE9C,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,+BAA+B,CAAC,CAAC,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAI3H,MAAM,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;CAoB7D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/AddressSpace/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,WAAW,CAAA;AACzB,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,WAAW,CAAA;AACzB,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA"}
|
package/package.json
CHANGED
|
@@ -12,25 +12,28 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/assert": "^2.7.4",
|
|
14
14
|
"@xylabs/promise": "^2.7.4",
|
|
15
|
-
"@xyo-network/account": "^2.50.
|
|
16
|
-
"@xyo-network/
|
|
17
|
-
"@xyo-network/archivist
|
|
18
|
-
"@xyo-network/
|
|
19
|
-
"@xyo-network/boundwitness-
|
|
20
|
-
"@xyo-network/
|
|
21
|
-
"@xyo-network/
|
|
22
|
-
"@xyo-network/
|
|
23
|
-
"@xyo-network/
|
|
24
|
-
"@xyo-network/
|
|
25
|
-
"@xyo-network/
|
|
26
|
-
"@xyo-network/
|
|
27
|
-
"@xyo-network/
|
|
15
|
+
"@xyo-network/account": "^2.50.4",
|
|
16
|
+
"@xyo-network/address-payload-plugin": "^2.50.4",
|
|
17
|
+
"@xyo-network/archivist": "^2.50.4",
|
|
18
|
+
"@xyo-network/archivist-wrapper": "^2.50.4",
|
|
19
|
+
"@xyo-network/boundwitness-model": "^2.50.4",
|
|
20
|
+
"@xyo-network/boundwitness-wrapper": "^2.50.4",
|
|
21
|
+
"@xyo-network/core": "^2.50.4",
|
|
22
|
+
"@xyo-network/diviner-model": "^2.50.4",
|
|
23
|
+
"@xyo-network/diviner-wrapper": "^2.50.4",
|
|
24
|
+
"@xyo-network/huri": "^2.50.4",
|
|
25
|
+
"@xyo-network/module": "^2.50.4",
|
|
26
|
+
"@xyo-network/module-model": "^2.50.4",
|
|
27
|
+
"@xyo-network/payload-builder": "^2.50.4",
|
|
28
|
+
"@xyo-network/payload-model": "^2.50.4",
|
|
29
|
+
"@xyo-network/payload-wrapper": "^2.50.4",
|
|
30
|
+
"@xyo-network/promise": "^2.50.4",
|
|
28
31
|
"lodash": "^4.17.21"
|
|
29
32
|
},
|
|
30
33
|
"devDependencies": {
|
|
31
34
|
"@types/lodash": "^4.14.191",
|
|
32
|
-
"@xylabs/ts-scripts-yarn3": "^2.
|
|
33
|
-
"@xylabs/tsconfig": "^2.
|
|
35
|
+
"@xylabs/ts-scripts-yarn3": "^2.16.0-rc.2",
|
|
36
|
+
"@xylabs/tsconfig": "^2.16.0-rc.2",
|
|
34
37
|
"typescript": "^4.9.5"
|
|
35
38
|
},
|
|
36
39
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
@@ -66,5 +69,5 @@
|
|
|
66
69
|
},
|
|
67
70
|
"sideEffects": false,
|
|
68
71
|
"types": "dist/types/index.d.ts",
|
|
69
|
-
"version": "2.50.
|
|
72
|
+
"version": "2.50.4"
|
|
70
73
|
}
|
|
@@ -3,11 +3,11 @@ import { PayloadFindFilter, XyoPayload } from '@xyo-network/payload-model'
|
|
|
3
3
|
|
|
4
4
|
import { AbstractDiviner } from '../AbstractDiviner'
|
|
5
5
|
|
|
6
|
-
export type AddressHistorySchema = 'network.xyo.diviner.address'
|
|
7
|
-
export const AddressHistorySchema: AddressHistorySchema = 'network.xyo.diviner.address'
|
|
6
|
+
export type AddressHistorySchema = 'network.xyo.diviner.address.history'
|
|
7
|
+
export const AddressHistorySchema: AddressHistorySchema = 'network.xyo.diviner.address.history'
|
|
8
8
|
|
|
9
|
-
export type AddressHistoryQuerySchema = 'network.xyo.diviner.address.query'
|
|
10
|
-
export const AddressHistoryQuerySchema: AddressHistoryQuerySchema = 'network.xyo.diviner.address.query'
|
|
9
|
+
export type AddressHistoryQuerySchema = 'network.xyo.diviner.address.history.query'
|
|
10
|
+
export const AddressHistoryQuerySchema: AddressHistoryQuerySchema = 'network.xyo.diviner.address.history.query'
|
|
11
11
|
|
|
12
12
|
export type AddressHistoryPayload = XyoPayload<{ schema: AddressHistorySchema }>
|
|
13
13
|
export const isAddressHistoryPayload = (x?: XyoPayload | null): x is AddressHistoryPayload => x?.schema === AddressHistorySchema
|
|
@@ -9,10 +9,10 @@ import { XyoPayload } from '@xyo-network/payload-model'
|
|
|
9
9
|
import { PayloadWrapper } from '@xyo-network/payload-wrapper'
|
|
10
10
|
|
|
11
11
|
import { AbstractDiviner, DivinerParams } from '../AbstractDiviner'
|
|
12
|
-
import { AddressHistoryDiviner } from './AddressHistoryDiviner'
|
|
12
|
+
import { AddressHistoryDiviner, AddressHistorySchema } from './AddressHistoryDiviner'
|
|
13
13
|
|
|
14
|
-
export type MemoryAddressHistoryDivinerConfigSchema =
|
|
15
|
-
export const MemoryAddressHistoryDivinerConfigSchema =
|
|
14
|
+
export type MemoryAddressHistoryDivinerConfigSchema = `${AddressHistorySchema}.memory.config`
|
|
15
|
+
export const MemoryAddressHistoryDivinerConfigSchema: MemoryAddressHistoryDivinerConfigSchema = `${AddressHistorySchema}.memory.config`
|
|
16
16
|
|
|
17
17
|
export type MemoryAddressHistoryDivinerConfig = DivinerConfig<
|
|
18
18
|
XyoBoundWitness,
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { XyoQuery } from '@xyo-network/module-model'
|
|
2
|
+
import { PayloadFindFilter, XyoPayload } from '@xyo-network/payload-model'
|
|
3
|
+
|
|
4
|
+
import { AbstractDiviner } from '../AbstractDiviner'
|
|
5
|
+
|
|
6
|
+
export type AddressSpaceSchema = 'network.xyo.diviner.address.space'
|
|
7
|
+
export const AddressSpaceSchema: AddressSpaceSchema = 'network.xyo.diviner.address.space'
|
|
8
|
+
|
|
9
|
+
export type AddressSpaceQuerySchema = 'network.xyo.diviner.address.space.query'
|
|
10
|
+
export const AddressSpaceQuerySchema: AddressSpaceQuerySchema = 'network.xyo.diviner.address.space.query'
|
|
11
|
+
|
|
12
|
+
export type AddressSpacePayload = XyoPayload<{ schema: AddressSpaceSchema }>
|
|
13
|
+
export const isAddressSpacePayload = (x?: XyoPayload | null): x is AddressSpacePayload => x?.schema === AddressSpaceSchema
|
|
14
|
+
|
|
15
|
+
export type AddressSpaceQueryPayload = XyoQuery<{ schema: AddressSpaceQuerySchema } & PayloadFindFilter>
|
|
16
|
+
export const isAddressSpaceQueryPayload = (x?: XyoPayload | null): x is AddressSpaceQueryPayload => x?.schema === AddressSpaceQuerySchema
|
|
17
|
+
|
|
18
|
+
export type AddressSpaceDiviner = AbstractDiviner
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { assertEx } from '@xylabs/assert'
|
|
2
|
+
import { AddressSchema } from '@xyo-network/address-payload-plugin'
|
|
3
|
+
import { ArchivistGetQuerySchema } from '@xyo-network/archivist'
|
|
4
|
+
import { ArchivistWrapper } from '@xyo-network/archivist-wrapper'
|
|
5
|
+
import { XyoBoundWitness, XyoBoundWitnessSchema } from '@xyo-network/boundwitness-model'
|
|
6
|
+
import { DivinerConfig } from '@xyo-network/diviner-model'
|
|
7
|
+
import { ModuleParams } from '@xyo-network/module'
|
|
8
|
+
import { XyoPayloadBuilder } from '@xyo-network/payload-builder'
|
|
9
|
+
import { XyoPayload } from '@xyo-network/payload-model'
|
|
10
|
+
|
|
11
|
+
import { AbstractDiviner, DivinerParams } from '../AbstractDiviner'
|
|
12
|
+
import { AddressSpaceDiviner, AddressSpaceSchema } from './AddressSpaceDiviner'
|
|
13
|
+
|
|
14
|
+
export type MemoryAddressSpaceDivinerConfigSchema = `${AddressSpaceSchema}.memory.config`
|
|
15
|
+
export const MemoryAddressSpaceDivinerConfigSchema: MemoryAddressSpaceDivinerConfigSchema = `${AddressSpaceSchema}.memory.config`
|
|
16
|
+
|
|
17
|
+
export type MemoryAddressSpaceDivinerConfig = DivinerConfig<
|
|
18
|
+
XyoBoundWitness,
|
|
19
|
+
{
|
|
20
|
+
address: string
|
|
21
|
+
schema: MemoryAddressSpaceDivinerConfigSchema
|
|
22
|
+
}
|
|
23
|
+
>
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* This Diviner returns the list of all addresses encountered for the reachable archivists
|
|
27
|
+
*/
|
|
28
|
+
export class MemoryAddressSpaceDiviner extends AbstractDiviner<DivinerParams<MemoryAddressSpaceDivinerConfig>> implements AddressSpaceDiviner {
|
|
29
|
+
static override configSchema = MemoryAddressSpaceDivinerConfigSchema
|
|
30
|
+
|
|
31
|
+
static override async create(params?: Partial<ModuleParams<MemoryAddressSpaceDivinerConfig>>): Promise<MemoryAddressSpaceDiviner> {
|
|
32
|
+
return (await super.create(params)) as MemoryAddressSpaceDiviner
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
async divine(payloads?: XyoPayload[]): Promise<XyoPayload[]> {
|
|
36
|
+
assertEx(!payloads?.length, 'MemoryAddressSpaceDiviner.divine does not allow payloads to be sent')
|
|
37
|
+
const archivists = (await this.resolve({ query: [[ArchivistGetQuerySchema]] }))?.map((archivist) => new ArchivistWrapper(archivist)) ?? []
|
|
38
|
+
assertEx(archivists.length > 0, 'Did not find any archivists')
|
|
39
|
+
const bwLists = (
|
|
40
|
+
await Promise.all(
|
|
41
|
+
archivists.map(async (archivist) => {
|
|
42
|
+
const all = await archivist.all()
|
|
43
|
+
return all.filter((payload) => payload.schema === XyoBoundWitnessSchema) as XyoBoundWitness[]
|
|
44
|
+
}),
|
|
45
|
+
)
|
|
46
|
+
).flat()
|
|
47
|
+
const addresses = new Set<string>(
|
|
48
|
+
bwLists
|
|
49
|
+
.map((bw) => bw.addresses)
|
|
50
|
+
.flat()
|
|
51
|
+
.map((address) => address.toLowerCase()),
|
|
52
|
+
)
|
|
53
|
+
return [...addresses].map((address) => new XyoPayloadBuilder({ schema: AddressSchema }).fields({ address }).build())
|
|
54
|
+
}
|
|
55
|
+
}
|