@xyo-network/diviner 2.41.9 → 2.41.11
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/MemoryAddressHistoryDiviner.d.ts +8 -0
- package/dist/cjs/AddressHistory/MemoryAddressHistoryDiviner.d.ts.map +1 -0
- package/dist/cjs/AddressHistory/MemoryAddressHistoryDiviner.js +53 -0
- package/dist/cjs/AddressHistory/MemoryAddressHistoryDiviner.js.map +1 -0
- package/dist/cjs/AddressHistory/index.d.ts +1 -0
- package/dist/cjs/AddressHistory/index.d.ts.map +1 -1
- package/dist/cjs/AddressHistory/index.js +1 -0
- package/dist/cjs/AddressHistory/index.js.map +1 -1
- package/dist/docs.json +8157 -3373
- package/dist/esm/AddressHistory/MemoryAddressHistoryDiviner.d.ts +8 -0
- package/dist/esm/AddressHistory/MemoryAddressHistoryDiviner.d.ts.map +1 -0
- package/dist/esm/AddressHistory/MemoryAddressHistoryDiviner.js +45 -0
- package/dist/esm/AddressHistory/MemoryAddressHistoryDiviner.js.map +1 -0
- package/dist/esm/AddressHistory/index.d.ts +1 -0
- package/dist/esm/AddressHistory/index.d.ts.map +1 -1
- package/dist/esm/AddressHistory/index.js +1 -0
- package/dist/esm/AddressHistory/index.js.map +1 -1
- package/package.json +7 -6
- package/src/AddressHistory/MemoryAddressHistoryDiviner.ts +55 -0
- package/src/AddressHistory/index.ts +1 -0
|
@@ -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 +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"}
|