@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.
@@ -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
- divine(payloads) {
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
- const archivistMod = (0, assert_1.assertEx)(yield this.readArchivist(), 'Unable to resolve archivist');
20
- const archivists = [archivist_wrapper_1.ArchivistWrapper.wrap(archivistMod, this.account)];
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(archivists, currentHash);
24
- const bwWrapper = boundwitness_wrapper_1.BoundWitnessWrapper.tryParse(bwPayload);
25
- if (bwWrapper) {
26
- result.push(bwWrapper.payload());
27
- currentHash = bwWrapper.prev(this.queryAddress);
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;AACzC,sEAAiE;AAEjE,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;IAEK,MAAM,CAAC,QAAoB;;;YAC/B,MAAM,MAAM,GAAc,EAAE,CAAA;YAC5B,IAAA,iBAAQ,EAAC,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAA,EAAE,qEAAqE,CAAC,CAAA;YAClG,MAAM,YAAY,GAAG,IAAA,iBAAQ,EAAC,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE,6BAA6B,CAAC,CAAA;YACxF,MAAM,UAAU,GAAG,CAAC,oCAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;YACtE,IAAI,WAAW,GAAkB,IAAA,iBAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAA;YACrF,OAAO,WAAW,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,MAAA,IAAI,CAAC,MAAM,CAAC,UAAU,mCAAI,IAAI,CAAC,EAAE;gBACtE,MAAM,SAAS,GAA6B,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;gBACjG,MAAM,SAAS,GAAoC,0CAAmB,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;YACD,OAAO,MAAM,CAAA;;KACd;IAEa,iBAAiB,CAAC,UAA8B,EAAE,IAAY;;YAC1E,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;;AAnCH,8DAoCC;AAjCiB,uCAAa,GAAG,CAAC,6DAA+B,CAAC,CAAA"}
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 divine(payloads) {
10
+ async divineHandler(payloads) {
12
11
  const result = [];
13
12
  assertEx(!payloads?.length, 'MemoryAddressChainDiviner.divine does not allow payloads to be sent');
14
- const archivistMod = assertEx(await this.readArchivist(), 'Unable to resolve archivist');
15
- const archivists = [ArchivistWrapper.wrap(archivistMod, this.account)];
16
- let currentHash = assertEx(this.config.startHash, 'Missing startHash');
17
- while (currentHash && result.length < (this.config.maxResults ?? 1000)) {
18
- const bwPayload = await this.archivistFindHash(archivists, currentHash);
19
- const bwWrapper = BoundWitnessWrapper.tryParse(bwPayload);
20
- if (bwWrapper) {
21
- result.push(bwWrapper.payload());
22
- currentHash = bwWrapper.prev(this.queryAddress);
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;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAEjE,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;IAED,KAAK,CAAC,MAAM,CAAC,QAAoB;QAC/B,MAAM,MAAM,GAAc,EAAE,CAAA;QAC5B,QAAQ,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,qEAAqE,CAAC,CAAA;QAClG,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE,6BAA6B,CAAC,CAAA;QACxF,MAAM,UAAU,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;QACtE,IAAI,WAAW,GAAkB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAA;QACrF,OAAO,WAAW,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,EAAE;YACtE,MAAM,SAAS,GAA6B,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;YACjG,MAAM,SAAS,GAAoC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YAC1F,IAAI,SAAS,EAAE;gBACb,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAA;gBAChC,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;aAChD;SACF;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,UAA8B,EAAE,IAAY;QAC1E,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"}
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
- divine(payloads?: Payload[]): Promise<Payload[]>;
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":"AAIA,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;IAEK,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAiBxC,iBAAiB;CAUhC"}
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-wrapper": "^2.64.10",
15
- "@xyo-network/boundwitness-model": "^2.64.10",
16
- "@xyo-network/boundwitness-wrapper": "^2.64.10",
17
- "@xyo-network/diviner-address-chain-abstract": "^2.64.10",
18
- "@xyo-network/diviner-address-chain-model": "^2.64.10",
19
- "@xyo-network/diviner-model": "^2.64.10",
20
- "@xyo-network/module-model": "^2.64.10",
21
- "@xyo-network/payload-model": "^2.64.10"
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.7",
25
- "@xylabs/tsconfig": "^2.18.7",
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.64.10"
62
+ "version": "2.65.0"
62
63
  }
@@ -1,5 +1,6 @@
1
1
  import { assertEx } from '@xylabs/assert'
2
- import { ArchivistWrapper } from '@xyo-network/archivist-wrapper'
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 divine(payloads?: Payload[]): Promise<Payload[]> {
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
- const archivistMod = assertEx(await this.readArchivist(), 'Unable to resolve archivist')
28
- const archivists = [ArchivistWrapper.wrap(archivistMod, this.account)]
29
- let currentHash: string | null = assertEx(this.config.startHash, 'Missing startHash')
30
- while (currentHash && result.length < (this.config.maxResults ?? 1000)) {
31
- const bwPayload: BoundWitness | undefined = await this.archivistFindHash(archivists, currentHash)
32
- const bwWrapper: BoundWitnessWrapper | undefined = BoundWitnessWrapper.tryParse(bwPayload)
33
- if (bwWrapper) {
34
- result.push(bwWrapper.payload())
35
- currentHash = bwWrapper.prev(this.queryAddress)
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: ArchivistWrapper[], hash: string): Promise<BoundWitness | undefined> {
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