@xyo-network/diviner 2.41.9 → 2.41.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,8 @@
1
+ import { XyoPayload } from '@xyo-network/payload';
2
+ import { AbstractDiviner } from '../AbstractDiviner';
3
+ import { AddressHistoryDiviner } from './AddressHistoryDiviner';
4
+ export declare class MemoryAddressHistoryDiviner extends AbstractDiviner implements AddressHistoryDiviner {
5
+ divine(payloads?: XyoPayload[]): Promise<XyoPayload[]>;
6
+ private buildAddressLists;
7
+ }
8
+ //# sourceMappingURL=MemoryAddressHistoryDiviner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryAddressHistoryDiviner.d.ts","sourceRoot":"","sources":["../../../src/AddressHistory/MemoryAddressHistoryDiviner.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,qBAAqB,EAA4D,MAAM,yBAAyB,CAAA;AAEzH,qBAAa,2BAA4B,SAAQ,eAAgB,YAAW,qBAAqB;IACzF,MAAM,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAgC5D,OAAO,CAAC,iBAAiB;CAa1B"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MemoryAddressHistoryDiviner = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const assert_1 = require("@xylabs/assert");
6
+ const archivist_1 = require("@xyo-network/archivist");
7
+ const boundwitness_1 = require("@xyo-network/boundwitness");
8
+ const AbstractDiviner_1 = require("../AbstractDiviner");
9
+ const AddressHistoryDiviner_1 = require("./AddressHistoryDiviner");
10
+ class MemoryAddressHistoryDiviner extends AbstractDiviner_1.AbstractDiviner {
11
+ divine(payloads) {
12
+ var _a, _b, _c;
13
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
14
+ const query = payloads === null || payloads === void 0 ? void 0 : payloads.find(AddressHistoryDiviner_1.isAddressHistoryQueryPayload);
15
+ // TODO: Support multiple queries
16
+ if (!query)
17
+ return [];
18
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
19
+ const { address } = query;
20
+ const assertedAddress = (0, assert_1.assertEx)(address);
21
+ //only supporting single address at this point
22
+ const singleAddress = (0, assert_1.assertEx)((Array.isArray(assertedAddress) ? assertedAddress : [assertedAddress]).shift());
23
+ const archivists = (_c = (_b = (yield ((_a = this.resolver) === null || _a === void 0 ? void 0 : _a.resolve({ query: [[archivist_1.XyoArchivistGetQuerySchema]] })))) === null || _b === void 0 ? void 0 : _b.map((archivist) => new archivist_1.ArchivistWrapper(archivist))) !== null && _c !== void 0 ? _c : [];
24
+ const bwLists = (yield Promise.all(archivists.map((archivist) => {
25
+ return archivist.find({ limit: 10000, schema: boundwitness_1.XyoBoundWitnessSchema });
26
+ }))).flat();
27
+ const bwRecords = {};
28
+ bwLists
29
+ .filter((bw) => bw.addresses.includes(singleAddress))
30
+ .reduce((bwRecords, bw) => {
31
+ const wrapper = new boundwitness_1.BoundWitnessWrapper(bw);
32
+ bwRecords[wrapper.hash] = [wrapper];
33
+ return bwRecords;
34
+ }, bwRecords);
35
+ return Object.values(this.buildAddressLists(singleAddress, bwRecords)).flat();
36
+ });
37
+ }
38
+ buildAddressLists(address, bwRecords) {
39
+ Object.entries(bwRecords).forEach(([hash, bw]) => {
40
+ const single = bw[0];
41
+ const prev = single.prev(address);
42
+ if (prev) {
43
+ if (bwRecords[prev]) {
44
+ bwRecords[prev].unshift(single);
45
+ delete bwRecords[hash];
46
+ }
47
+ }
48
+ });
49
+ return bwRecords;
50
+ }
51
+ }
52
+ exports.MemoryAddressHistoryDiviner = MemoryAddressHistoryDiviner;
53
+ //# sourceMappingURL=MemoryAddressHistoryDiviner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemoryAddressHistoryDiviner.js","sourceRoot":"","sources":["../../../src/AddressHistory/MemoryAddressHistoryDiviner.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AACzC,sDAAqF;AACrF,4DAAuG;AAGvG,wDAAoD;AACpD,mEAAyH;AAEzH,MAAa,2BAA4B,SAAQ,iCAAe;IACxD,MAAM,CAAC,QAAuB;;;YAClC,MAAM,KAAK,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,CAA6B,oDAA4B,CAAC,CAAA;YACtF,iCAAiC;YACjC,IAAI,CAAC,KAAK;gBAAE,OAAO,EAAE,CAAA;YACrB,6DAA6D;YAC7D,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;YACzB,MAAM,eAAe,GAAG,IAAA,iBAAQ,EAAC,OAAO,CAAC,CAAA;YAEzC,8CAA8C;YAC9C,MAAM,aAAa,GAAG,IAAA,iBAAQ,EAAC,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;YAE9G,MAAM,UAAU,GACd,MAAA,MAAA,CAAC,MAAM,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,sCAA0B,CAAC,CAAC,EAAE,CAAC,CAAA,CAAC,0CAAE,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,4BAAgB,CAAC,SAAS,CAAC,CAAC,mCAAI,EAAE,CAAA;YACtI,MAAM,OAAO,GAAG,CACd,MAAM,OAAO,CAAC,GAAG,CACf,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;gBAC3B,OAAO,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,oCAAqB,EAAE,CAA+B,CAAA;YACtG,CAAC,CAAC,CACH,CACF,CAAC,IAAI,EAAE,CAAA;YACR,MAAM,SAAS,GAA0C,EAAE,CAAA;YAC3D,OAAO;iBACJ,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;iBACpD,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE;gBACxB,MAAM,OAAO,GAAG,IAAI,kCAAmB,CAAC,EAAE,CAAC,CAAA;gBAC3C,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;gBACnC,OAAO,SAAS,CAAA;YAClB,CAAC,EAAE,SAAS,CAAC,CAAA;YAEf,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;;KAC9E;IAEO,iBAAiB,CAAC,OAAe,EAAE,SAAgD;QACzF,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;YAC/C,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;YACpB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACjC,IAAI,IAAI,EAAE;gBACR,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE;oBACnB,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;oBAC/B,OAAO,SAAS,CAAC,IAAI,CAAC,CAAA;iBACvB;aACF;QACH,CAAC,CAAC,CAAA;QACF,OAAO,SAAS,CAAA;IAClB,CAAC;CACF;AA9CD,kEA8CC"}
@@ -1,2 +1,3 @@
1
1
  export * from './AddressHistoryDiviner';
2
+ export * from './MemoryAddressHistoryDiviner';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/AddressHistory/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/AddressHistory/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,+BAA+B,CAAA"}
@@ -2,4 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./AddressHistoryDiviner"), exports);
5
+ tslib_1.__exportStar(require("./MemoryAddressHistoryDiviner"), exports);
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/AddressHistory/index.ts"],"names":[],"mappings":";;;AAAA,kEAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/AddressHistory/index.ts"],"names":[],"mappings":";;;AAAA,kEAAuC;AACvC,wEAA6C"}