@xyo-network/diviner-address-chain-memory 2.64.10 → 2.65.0
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/MemoryDiviner.js +15 -11
- package/dist/cjs/MemoryDiviner.js.map +1 -1
- package/dist/esm/MemoryDiviner.js +15 -11
- package/dist/esm/MemoryDiviner.js.map +1 -1
- package/dist/types/MemoryDiviner.d.ts +1 -1
- package/dist/types/MemoryDiviner.d.ts.map +1 -1
- package/package.json +12 -11
- package/src/MemoryDiviner.ts +17 -12
- package/dist/docs.json +0 -13495
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.MemoryAddressChainDiviner = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const assert_1 = require("@xylabs/assert");
|
|
6
|
-
const archivist_wrapper_1 = require("@xyo-network/archivist-wrapper");
|
|
7
6
|
const boundwitness_wrapper_1 = require("@xyo-network/boundwitness-wrapper");
|
|
8
7
|
const diviner_address_chain_abstract_1 = require("@xyo-network/diviner-address-chain-abstract");
|
|
9
8
|
const diviner_address_chain_model_1 = require("@xyo-network/diviner-address-chain-model");
|
|
@@ -11,22 +10,27 @@ class MemoryAddressChainDiviner extends diviner_address_chain_abstract_1.Address
|
|
|
11
10
|
get queryAddress() {
|
|
12
11
|
return (0, assert_1.assertEx)(this.config.address, 'Missing address');
|
|
13
12
|
}
|
|
14
|
-
|
|
13
|
+
divineHandler(payloads) {
|
|
15
14
|
var _a;
|
|
16
15
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
17
16
|
const result = [];
|
|
18
17
|
(0, assert_1.assertEx)(!(payloads === null || payloads === void 0 ? void 0 : payloads.length), 'MemoryAddressChainDiviner.divine does not allow payloads to be sent');
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
18
|
+
try {
|
|
19
|
+
const archivistIn = yield this.readArchivist();
|
|
20
|
+
const archivist = (0, assert_1.assertEx)(archivistIn, 'Unable to resolve archivist');
|
|
21
|
+
let currentHash = (0, assert_1.assertEx)(this.config.startHash, 'Missing startHash');
|
|
22
|
+
while (currentHash && result.length < ((_a = this.config.maxResults) !== null && _a !== void 0 ? _a : 1000)) {
|
|
23
|
+
const bwPayload = yield this.archivistFindHash([archivist], currentHash);
|
|
24
|
+
const bwWrapper = boundwitness_wrapper_1.BoundWitnessWrapper.tryParse(bwPayload);
|
|
25
|
+
if (bwWrapper) {
|
|
26
|
+
result.push(bwWrapper.payload());
|
|
27
|
+
currentHash = bwWrapper.prev(this.queryAddress);
|
|
28
|
+
}
|
|
28
29
|
}
|
|
29
30
|
}
|
|
31
|
+
catch (ex) {
|
|
32
|
+
console.log(ex);
|
|
33
|
+
}
|
|
30
34
|
return result;
|
|
31
35
|
});
|
|
32
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryDiviner.js","sourceRoot":"","sources":["../../src/MemoryDiviner.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;
|
|
1
|
+
{"version":3,"file":"MemoryDiviner.js","sourceRoot":"","sources":["../../src/MemoryDiviner.ts"],"names":[],"mappings":";;;;AAAA,2CAAyC;AAIzC,4EAAuE;AACvE,gGAAiF;AACjF,0FAAqH;AASrH,MAAa,yBAEX,SAAQ,oDAA4B;IAGpC,IAAI,YAAY;QACd,OAAO,IAAA,iBAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAA;IACzD,CAAC;IAEwB,aAAa,CAAC,QAAoB;;;YACzD,MAAM,MAAM,GAAc,EAAE,CAAA;YAC5B,IAAA,iBAAQ,EAAC,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAA,EAAE,qEAAqE,CAAC,CAAA;YAClG,IAAI;gBACF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;gBAC9C,MAAM,SAAS,GAAG,IAAA,iBAAQ,EAAC,WAAW,EAAE,6BAA6B,CAAC,CAAA;gBACtE,IAAI,WAAW,GAAkB,IAAA,iBAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAA;gBACrF,OAAO,WAAW,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,MAAA,IAAI,CAAC,MAAM,CAAC,UAAU,mCAAI,IAAI,CAAC,EAAE;oBACtE,MAAM,SAAS,GAA6B,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,CAAA;oBAClG,MAAM,SAAS,GAAoC,0CAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;oBAC1F,IAAI,SAAS,EAAE;wBACb,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAA;wBAChC,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;qBAChD;iBACF;aACF;YAAC,OAAO,EAAE,EAAE;gBACX,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;aAChB;YACD,OAAO,MAAM,CAAA;;KACd;IAEa,iBAAiB,CAAC,UAAmC,EAAE,IAAY;;YAC/E,IAAI,KAAK,GAAG,CAAC,CAAA;YACb,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;gBACrB,MAAM,MAAM,GAAG,CAAC,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAkB,CAAA;gBAC1E,IAAI,MAAM,EAAE;oBACV,OAAO,MAAM,CAAA;iBACd;gBACD,KAAK,EAAE,CAAA;aACR;QACH,CAAC;KAAA;;AAvCH,8DAwCC;AArCiB,uCAAa,GAAG,CAAC,6DAA+B,CAAC,CAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert';
|
|
2
|
-
import { ArchivistWrapper } from '@xyo-network/archivist-wrapper';
|
|
3
2
|
import { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper';
|
|
4
3
|
import { AddressChainDiviner } from '@xyo-network/diviner-address-chain-abstract';
|
|
5
4
|
import { AddressChainDivinerConfigSchema } from '@xyo-network/diviner-address-chain-model';
|
|
@@ -8,20 +7,25 @@ export class MemoryAddressChainDiviner extends AddressChainDiviner {
|
|
|
8
7
|
get queryAddress() {
|
|
9
8
|
return assertEx(this.config.address, 'Missing address');
|
|
10
9
|
}
|
|
11
|
-
async
|
|
10
|
+
async divineHandler(payloads) {
|
|
12
11
|
const result = [];
|
|
13
12
|
assertEx(!payloads?.length, 'MemoryAddressChainDiviner.divine does not allow payloads to be sent');
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
13
|
+
try {
|
|
14
|
+
const archivistIn = await this.readArchivist();
|
|
15
|
+
const archivist = assertEx(archivistIn, 'Unable to resolve archivist');
|
|
16
|
+
let currentHash = assertEx(this.config.startHash, 'Missing startHash');
|
|
17
|
+
while (currentHash && result.length < (this.config.maxResults ?? 1000)) {
|
|
18
|
+
const bwPayload = await this.archivistFindHash([archivist], currentHash);
|
|
19
|
+
const bwWrapper = BoundWitnessWrapper.tryParse(bwPayload);
|
|
20
|
+
if (bwWrapper) {
|
|
21
|
+
result.push(bwWrapper.payload());
|
|
22
|
+
currentHash = bwWrapper.prev(this.queryAddress);
|
|
23
|
+
}
|
|
23
24
|
}
|
|
24
25
|
}
|
|
26
|
+
catch (ex) {
|
|
27
|
+
console.log(ex);
|
|
28
|
+
}
|
|
25
29
|
return result;
|
|
26
30
|
}
|
|
27
31
|
async archivistFindHash(archivists, hash) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryDiviner.js","sourceRoot":"","sources":["../../src/MemoryDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"MemoryDiviner.js","sourceRoot":"","sources":["../../src/MemoryDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAIzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AACjF,OAAO,EAA6B,+BAA+B,EAAE,MAAM,0CAA0C,CAAA;AASrH,MAAM,OAAO,yBAEX,SAAQ,mBAA4B;IACpC,MAAM,CAAU,aAAa,GAAG,CAAC,+BAA+B,CAAC,CAAA;IAEjE,IAAI,YAAY;QACd,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAA;IACzD,CAAC;IAEkB,KAAK,CAAC,aAAa,CAAC,QAAoB;QACzD,MAAM,MAAM,GAAc,EAAE,CAAA;QAC5B,QAAQ,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,qEAAqE,CAAC,CAAA;QAClG,IAAI;YACF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;YAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,6BAA6B,CAAC,CAAA;YACtE,IAAI,WAAW,GAAkB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAA;YACrF,OAAO,WAAW,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE;gBACtE,MAAM,SAAS,GAA6B,MAAM,IAAI,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,CAAA;gBAClG,MAAM,SAAS,GAAoC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;gBAC1F,IAAI,SAAS,EAAE;oBACb,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAA;oBAChC,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;iBAChD;aACF;SACF;QAAC,OAAO,EAAE,EAAE;YACX,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;SAChB;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,UAAmC,EAAE,IAAY;QAC/E,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;YACrB,MAAM,MAAM,GAAG,CAAC,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAkB,CAAA;YAC1E,IAAI,MAAM,EAAE;gBACV,OAAO,MAAM,CAAA;aACd;YACD,KAAK,EAAE,CAAA;SACR;IACH,CAAC"}
|
|
@@ -7,7 +7,7 @@ export type MemoryAddressChainDivinerParams = DivinerParams<AnyConfigSchema<Addr
|
|
|
7
7
|
export declare class MemoryAddressChainDiviner<TParams extends MemoryAddressChainDivinerParams = MemoryAddressChainDivinerParams> extends AddressChainDiviner<TParams> {
|
|
8
8
|
static configSchemas: "network.xyo.diviner.address.chain.config"[];
|
|
9
9
|
get queryAddress(): string;
|
|
10
|
-
|
|
10
|
+
protected divineHandler(payloads?: Payload[]): Promise<Payload[]>;
|
|
11
11
|
private archivistFindHash;
|
|
12
12
|
}
|
|
13
13
|
//# sourceMappingURL=MemoryDiviner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryDiviner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MemoryDiviner.d.ts","sourceRoot":"","sources":["../../src/MemoryDiviner.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAA;AACjF,OAAO,EAAE,yBAAyB,EAAmC,MAAM,0CAA0C,CAAA;AACrH,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAIpD,MAAM,MAAM,+BAA+B,GAAG,aAAa,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC,CAAA;AAEvG,qBAAa,yBAAyB,CACpC,OAAO,SAAS,+BAA+B,GAAG,+BAA+B,CACjF,SAAQ,mBAAmB,CAAC,OAAO,CAAC;IACpC,OAAgB,aAAa,+CAAoC;IAEjE,IAAI,YAAY,WAEf;cAEwB,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAqBlE,iBAAiB;CAUhC"}
|
package/package.json
CHANGED
|
@@ -11,18 +11,19 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/assert": "^2.9.3",
|
|
14
|
-
"@xyo-network/archivist-
|
|
15
|
-
"@xyo-network/
|
|
16
|
-
"@xyo-network/boundwitness-
|
|
17
|
-
"@xyo-network/
|
|
18
|
-
"@xyo-network/diviner-address-chain-
|
|
19
|
-
"@xyo-network/diviner-model": "^2.
|
|
20
|
-
"@xyo-network/
|
|
21
|
-
"@xyo-network/
|
|
14
|
+
"@xyo-network/archivist-model": "^2.65.0",
|
|
15
|
+
"@xyo-network/archivist-wrapper": "^2.65.0",
|
|
16
|
+
"@xyo-network/boundwitness-model": "^2.65.0",
|
|
17
|
+
"@xyo-network/boundwitness-wrapper": "^2.65.0",
|
|
18
|
+
"@xyo-network/diviner-address-chain-abstract": "^2.65.0",
|
|
19
|
+
"@xyo-network/diviner-address-chain-model": "^2.65.0",
|
|
20
|
+
"@xyo-network/diviner-model": "^2.65.0",
|
|
21
|
+
"@xyo-network/module-model": "^2.65.0",
|
|
22
|
+
"@xyo-network/payload-model": "^2.65.0"
|
|
22
23
|
},
|
|
23
24
|
"devDependencies": {
|
|
24
|
-
"@xylabs/ts-scripts-yarn3": "^2.18.
|
|
25
|
-
"@xylabs/tsconfig": "^2.18.
|
|
25
|
+
"@xylabs/ts-scripts-yarn3": "^2.18.10",
|
|
26
|
+
"@xylabs/tsconfig": "^2.18.10",
|
|
26
27
|
"typescript": "^5.1.6"
|
|
27
28
|
},
|
|
28
29
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
@@ -58,5 +59,5 @@
|
|
|
58
59
|
},
|
|
59
60
|
"sideEffects": false,
|
|
60
61
|
"types": "dist/types/index.d.ts",
|
|
61
|
-
"version": "2.
|
|
62
|
+
"version": "2.65.0"
|
|
62
63
|
}
|
package/src/MemoryDiviner.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert'
|
|
2
|
-
import {
|
|
2
|
+
import { DirectArchivistModule } from '@xyo-network/archivist-model'
|
|
3
|
+
import { DirectArchivistWrapper } from '@xyo-network/archivist-wrapper'
|
|
3
4
|
import { BoundWitness } from '@xyo-network/boundwitness-model'
|
|
4
5
|
import { BoundWitnessWrapper } from '@xyo-network/boundwitness-wrapper'
|
|
5
6
|
import { AddressChainDiviner } from '@xyo-network/diviner-address-chain-abstract'
|
|
@@ -21,24 +22,28 @@ export class MemoryAddressChainDiviner<
|
|
|
21
22
|
return assertEx(this.config.address, 'Missing address')
|
|
22
23
|
}
|
|
23
24
|
|
|
24
|
-
async
|
|
25
|
+
protected override async divineHandler(payloads?: Payload[]): Promise<Payload[]> {
|
|
25
26
|
const result: Payload[] = []
|
|
26
27
|
assertEx(!payloads?.length, 'MemoryAddressChainDiviner.divine does not allow payloads to be sent')
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
28
|
+
try {
|
|
29
|
+
const archivistIn = await this.readArchivist()
|
|
30
|
+
const archivist = assertEx(archivistIn, 'Unable to resolve archivist')
|
|
31
|
+
let currentHash: string | null = assertEx(this.config.startHash, 'Missing startHash')
|
|
32
|
+
while (currentHash && result.length < (this.config.maxResults ?? 1000)) {
|
|
33
|
+
const bwPayload: BoundWitness | undefined = await this.archivistFindHash([archivist], currentHash)
|
|
34
|
+
const bwWrapper: BoundWitnessWrapper | undefined = BoundWitnessWrapper.tryParse(bwPayload)
|
|
35
|
+
if (bwWrapper) {
|
|
36
|
+
result.push(bwWrapper.payload())
|
|
37
|
+
currentHash = bwWrapper.prev(this.queryAddress)
|
|
38
|
+
}
|
|
36
39
|
}
|
|
40
|
+
} catch (ex) {
|
|
41
|
+
console.log(ex)
|
|
37
42
|
}
|
|
38
43
|
return result
|
|
39
44
|
}
|
|
40
45
|
|
|
41
|
-
private async archivistFindHash(archivists:
|
|
46
|
+
private async archivistFindHash(archivists: DirectArchivistModule[], hash: string): Promise<BoundWitness | undefined> {
|
|
42
47
|
let index = 0
|
|
43
48
|
if (archivists[index]) {
|
|
44
49
|
const result = (await archivists[index].get([hash])).pop() as BoundWitness
|