@xyo-network/diviner 2.24.12 → 2.25.1
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/Diviner/Diviner.d.ts +20 -6
- package/dist/cjs/Diviner/Diviner.d.ts.map +1 -1
- package/dist/cjs/Diviner/Diviner.js +10 -0
- package/dist/cjs/Diviner/Diviner.js.map +1 -1
- package/dist/cjs/Diviner/Payload/Archivist/Diviner.d.ts +5 -3
- package/dist/cjs/Diviner/Payload/Archivist/Diviner.d.ts.map +1 -1
- package/dist/cjs/Diviner/Payload/Archivist/Diviner.js +5 -4
- package/dist/cjs/Diviner/Payload/Archivist/Diviner.js.map +1 -1
- package/dist/cjs/Diviner/Payload/Huri/Diviner.d.ts +5 -4
- package/dist/cjs/Diviner/Payload/Huri/Diviner.d.ts.map +1 -1
- package/dist/cjs/Diviner/Payload/Huri/Diviner.js +4 -3
- package/dist/cjs/Diviner/Payload/Huri/Diviner.js.map +1 -1
- package/dist/cjs/Diviner/Payload/XyoPayloadDiviner.d.ts +1 -2
- package/dist/cjs/Diviner/Payload/XyoPayloadDiviner.d.ts.map +1 -1
- package/dist/cjs/Diviner/Payload/XyoPayloadDiviner.js.map +1 -1
- package/dist/docs.json +2142 -807
- package/dist/esm/Diviner/Diviner.d.ts +20 -6
- package/dist/esm/Diviner/Diviner.d.ts.map +1 -1
- package/dist/esm/Diviner/Diviner.js +11 -0
- package/dist/esm/Diviner/Diviner.js.map +1 -1
- package/dist/esm/Diviner/Payload/Archivist/Diviner.d.ts +5 -3
- package/dist/esm/Diviner/Payload/Archivist/Diviner.d.ts.map +1 -1
- package/dist/esm/Diviner/Payload/Archivist/Diviner.js +5 -4
- package/dist/esm/Diviner/Payload/Archivist/Diviner.js.map +1 -1
- package/dist/esm/Diviner/Payload/Huri/Diviner.d.ts +5 -4
- package/dist/esm/Diviner/Payload/Huri/Diviner.d.ts.map +1 -1
- package/dist/esm/Diviner/Payload/Huri/Diviner.js +4 -3
- package/dist/esm/Diviner/Payload/Huri/Diviner.js.map +1 -1
- package/dist/esm/Diviner/Payload/XyoPayloadDiviner.d.ts +1 -2
- package/dist/esm/Diviner/Payload/XyoPayloadDiviner.d.ts.map +1 -1
- package/dist/esm/Diviner/Payload/XyoPayloadDiviner.js.map +1 -1
- package/package.json +6 -5
- package/src/Diviner/Diviner.ts +26 -11
- package/src/Diviner/Payload/Archivist/Diviner.ts +9 -6
- package/src/Diviner/Payload/Huri/Diviner.ts +8 -5
- package/src/Diviner/Payload/XyoPayloadDiviner.ts +1 -3
|
@@ -1,10 +1,24 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { XyoAccount } from '@xyo-network/account';
|
|
2
|
+
import { XyoBoundWitness } from '@xyo-network/boundwitness';
|
|
3
|
+
import { XyoPayload, XyoQueryPayload } from '@xyo-network/payload';
|
|
4
|
+
export interface XyoNode {
|
|
5
|
+
attach(module: XyoDiviner): void;
|
|
6
|
+
remove(address: string): void;
|
|
7
|
+
get<T extends XyoDiviner>(address: string): T | undefined;
|
|
4
8
|
}
|
|
5
|
-
export
|
|
6
|
-
|
|
9
|
+
export interface XyoDiviner<TQueryPayload extends XyoQueryPayload = XyoQueryPayload> {
|
|
10
|
+
address: string;
|
|
11
|
+
divine(query: TQueryPayload): Promise<[XyoBoundWitness, XyoPayload[]]>;
|
|
7
12
|
}
|
|
8
|
-
export declare abstract class
|
|
13
|
+
export declare abstract class XyoAbstractDiviner<TQueryPayload extends XyoQueryPayload = XyoQueryPayload> implements XyoDiviner<TQueryPayload> {
|
|
14
|
+
protected account: XyoAccount;
|
|
15
|
+
constructor(account: XyoAccount);
|
|
16
|
+
abstract divine(query: TQueryPayload): Promise<[XyoBoundWitness, XyoPayload[]]>;
|
|
17
|
+
get address(): string;
|
|
18
|
+
bind(payloads: XyoPayload[]): import("@xyo-network/boundwitness").XyoBoundWitnessWithMeta<XyoBoundWitness, XyoPayload<{
|
|
19
|
+
schema: string;
|
|
20
|
+
}>>;
|
|
21
|
+
}
|
|
22
|
+
export declare abstract class XyoAbstractTimestampDiviner<TQueryPayload extends XyoQueryPayload = XyoQueryPayload> extends XyoAbstractDiviner<TQueryPayload> {
|
|
9
23
|
}
|
|
10
24
|
//# sourceMappingURL=Diviner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,eAAe,EAA0B,MAAM,2BAA2B,CAAA;AACnF,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAElE,MAAM,WAAW,OAAO;IACtB,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAA;IAChC,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,GAAG,CAAC,CAAC,SAAS,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAA;CAC1D;AAED,MAAM,WAAW,UAAU,CAAC,aAAa,SAAS,eAAe,GAAG,eAAe;IACjF,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;CACvE;AAED,8BAAsB,kBAAkB,CAAC,aAAa,SAAS,eAAe,GAAG,eAAe,CAAE,YAAW,UAAU,CAAC,aAAa,CAAC;IACpI,SAAS,CAAC,OAAO,EAAE,UAAU,CAAA;gBACjB,OAAO,EAAE,UAAU;IAG/B,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC;IAC/E,IAAI,OAAO,WAEV;IAED,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE;;;CAG5B;AAED,8BAAsB,2BAA2B,CAAC,aAAa,SAAS,eAAe,GAAG,eAAe,CAAE,SAAQ,kBAAkB,CAAC,aAAa,CAAC;CAAG"}
|
|
@@ -1,4 +1,15 @@
|
|
|
1
|
+
import { XyoBoundWitnessBuilder } from '@xyo-network/boundwitness';
|
|
1
2
|
export class XyoAbstractDiviner {
|
|
3
|
+
account;
|
|
4
|
+
constructor(account) {
|
|
5
|
+
this.account = account;
|
|
6
|
+
}
|
|
7
|
+
get address() {
|
|
8
|
+
return this.account.addressValue.hex;
|
|
9
|
+
}
|
|
10
|
+
bind(payloads) {
|
|
11
|
+
return new XyoBoundWitnessBuilder().payloads(payloads).witness(this.account).build();
|
|
12
|
+
}
|
|
2
13
|
}
|
|
3
14
|
export class XyoAbstractTimestampDiviner extends XyoAbstractDiviner {
|
|
4
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.js","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Diviner.js","sourceRoot":"","sources":["../../../src/Diviner/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAcnF,MAAM,OAAgB,kBAAkB;IAC5B,OAAO,CAAY;IAC7B,YAAY,OAAmB;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAA;IACtC,CAAC;IAED,IAAI,CAAC,QAAsB;QACzB,OAAO,IAAI,sBAAsB,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAA;IACtF,CAAC;CACF;AAED,MAAM,OAAgB,2BAAqF,SAAQ,kBAAiC;CAAG"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
import { XyoAccount } from '@xyo-network/account';
|
|
1
2
|
import { XyoArchivist } from '@xyo-network/archivist';
|
|
3
|
+
import { XyoBoundWitness } from '@xyo-network/boundwitness';
|
|
4
|
+
import { XyoPayload } from '@xyo-network/payload';
|
|
2
5
|
import { XyoPayloadDiviner } from '../XyoPayloadDiviner';
|
|
3
|
-
import { XyoPayloadDivinerPayload } from '../XyoPayloadDivinerPayload';
|
|
4
6
|
import { XyoPayloadDivinerQueryPayload } from '../XyoPayloadDivinerQueryPayload';
|
|
5
7
|
export declare class XyoArchivistPayloadDiviner extends XyoPayloadDiviner {
|
|
6
8
|
protected archivist: XyoArchivist;
|
|
7
|
-
constructor(archivist: XyoArchivist);
|
|
8
|
-
divine(query: XyoPayloadDivinerQueryPayload): Promise<
|
|
9
|
+
constructor(account: XyoAccount, archivist: XyoArchivist);
|
|
10
|
+
divine(query: XyoPayloadDivinerQueryPayload): Promise<[XyoBoundWitness, XyoPayload[]]>;
|
|
9
11
|
}
|
|
10
12
|
//# sourceMappingURL=Diviner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../../../src/Diviner/Payload/Archivist/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../../../src/Diviner/Payload/Archivist/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAQ,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAExD,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAA;AAEhF,qBAAa,0BAA2B,SAAQ,iBAAiB;IAC/D,SAAS,CAAC,SAAS,EAAE,YAAY,CAAA;gBAErB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY;IAKzC,MAAM,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,CAAC,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC;CAMtG"}
|
|
@@ -4,14 +4,15 @@ import { XyoPayloadDiviner } from '../XyoPayloadDiviner';
|
|
|
4
4
|
import { XyoPayloadDivinerPayloadSchema } from '../XyoPayloadDivinerPayload';
|
|
5
5
|
export class XyoArchivistPayloadDiviner extends XyoPayloadDiviner {
|
|
6
6
|
archivist;
|
|
7
|
-
constructor(archivist) {
|
|
8
|
-
super();
|
|
7
|
+
constructor(account, archivist) {
|
|
8
|
+
super(account);
|
|
9
9
|
this.archivist = archivist;
|
|
10
10
|
}
|
|
11
11
|
async divine(query) {
|
|
12
12
|
const huri = new Huri(query.huri);
|
|
13
|
-
const [
|
|
14
|
-
|
|
13
|
+
const [payloads = [], duration] = await profile(async () => await this.archivist.get([huri.hash]));
|
|
14
|
+
const resultPayload = { duration, payload: payloads.pop() ?? null, schema: XyoPayloadDivinerPayloadSchema };
|
|
15
|
+
return [this.bind([resultPayload]), [resultPayload]];
|
|
15
16
|
}
|
|
16
17
|
}
|
|
17
18
|
//# sourceMappingURL=Diviner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.js","sourceRoot":"","sources":["../../../../../src/Diviner/Payload/Archivist/Diviner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Diviner.js","sourceRoot":"","sources":["../../../../../src/Diviner/Payload/Archivist/Diviner.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAc,MAAM,sBAAsB,CAAA;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAA4B,8BAA8B,EAAE,MAAM,6BAA6B,CAAA;AAGtG,MAAM,OAAO,0BAA2B,SAAQ,iBAAiB;IACrD,SAAS,CAAc;IAEjC,YAAY,OAAmB,EAAE,SAAuB;QACtD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAEQ,KAAK,CAAC,MAAM,CAAC,KAAoC;QACxD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACjC,MAAM,CAAC,QAAQ,GAAG,EAAE,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAClG,MAAM,aAAa,GAA6B,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,MAAM,EAAE,8BAA8B,EAAE,CAAA;QACrI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAA;IACtD,CAAC;CACF"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { XyoAccount } from '@xyo-network/account';
|
|
2
|
+
import { XyoBoundWitness } from '@xyo-network/boundwitness';
|
|
3
|
+
import { HuriOptions, XyoPayload } from '@xyo-network/payload';
|
|
2
4
|
import { XyoPayloadDiviner } from '../XyoPayloadDiviner';
|
|
3
|
-
import { XyoPayloadDivinerPayload } from '../XyoPayloadDivinerPayload';
|
|
4
5
|
import { XyoPayloadDivinerQueryPayload } from '../XyoPayloadDivinerQueryPayload';
|
|
5
6
|
export declare class XyoHuriPayloadDiviner extends XyoPayloadDiviner {
|
|
6
7
|
protected options: HuriOptions;
|
|
7
|
-
constructor(options: HuriOptions);
|
|
8
|
-
divine(query: XyoPayloadDivinerQueryPayload): Promise<
|
|
8
|
+
constructor(account: XyoAccount, options: HuriOptions);
|
|
9
|
+
divine(query: XyoPayloadDivinerQueryPayload): Promise<[XyoBoundWitness, XyoPayload[]]>;
|
|
9
10
|
}
|
|
10
11
|
//# sourceMappingURL=Diviner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../../../src/Diviner/Payload/Huri/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../../../src/Diviner/Payload/Huri/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAQ,WAAW,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAGpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAExD,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAA;AAEhF,qBAAa,qBAAsB,SAAQ,iBAAiB;IAC1D,SAAS,CAAC,OAAO,EAAE,WAAW,CAAA;gBAElB,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW;IAKtC,MAAM,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,CAAC,eAAe,EAAE,UAAU,EAAE,CAAC,CAAC;CAMtG"}
|
|
@@ -4,14 +4,15 @@ import { XyoPayloadDiviner } from '../XyoPayloadDiviner';
|
|
|
4
4
|
import { XyoPayloadDivinerPayloadSchema } from '../XyoPayloadDivinerPayload';
|
|
5
5
|
export class XyoHuriPayloadDiviner extends XyoPayloadDiviner {
|
|
6
6
|
options;
|
|
7
|
-
constructor(options) {
|
|
8
|
-
super();
|
|
7
|
+
constructor(account, options) {
|
|
8
|
+
super(account);
|
|
9
9
|
this.options = options;
|
|
10
10
|
}
|
|
11
11
|
async divine(query) {
|
|
12
12
|
const huri = new Huri(query.huri, this.options);
|
|
13
13
|
const [payload = null, duration] = await profile(async () => await huri.fetch());
|
|
14
|
-
|
|
14
|
+
const resultPayload = { duration, payload, schema: XyoPayloadDivinerPayloadSchema };
|
|
15
|
+
return [this.bind([resultPayload]), [resultPayload]];
|
|
15
16
|
}
|
|
16
17
|
}
|
|
17
18
|
//# sourceMappingURL=Diviner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.js","sourceRoot":"","sources":["../../../../../src/Diviner/Payload/Huri/Diviner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Diviner.js","sourceRoot":"","sources":["../../../../../src/Diviner/Payload/Huri/Diviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAA2B,MAAM,sBAAsB,CAAA;AAEpE,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxD,OAAO,EAA4B,8BAA8B,EAAE,MAAM,6BAA6B,CAAA;AAGtG,MAAM,OAAO,qBAAsB,SAAQ,iBAAiB;IAChD,OAAO,CAAa;IAE9B,YAAY,OAAmB,EAAE,OAAoB;QACnD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEQ,KAAK,CAAC,MAAM,CAAC,KAAoC;QACxD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAC/C,MAAM,CAAC,OAAO,GAAG,IAAI,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;QAChF,MAAM,aAAa,GAA6B,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,8BAA8B,EAAE,CAAA;QAC7G,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAA;IACtD,CAAC;CACF"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { XyoAbstractDiviner } from '../Diviner';
|
|
2
|
-
import { XyoPayloadDivinerPayload } from './XyoPayloadDivinerPayload';
|
|
3
2
|
import { XyoPayloadDivinerQueryPayload } from './XyoPayloadDivinerQueryPayload';
|
|
4
|
-
export declare abstract class XyoPayloadDiviner<
|
|
3
|
+
export declare abstract class XyoPayloadDiviner<TQueryPayload extends XyoPayloadDivinerQueryPayload = XyoPayloadDivinerQueryPayload> extends XyoAbstractDiviner<TQueryPayload> {
|
|
5
4
|
}
|
|
6
5
|
//# sourceMappingURL=XyoPayloadDiviner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoPayloadDiviner.d.ts","sourceRoot":"","sources":["../../../../src/Diviner/Payload/XyoPayloadDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"XyoPayloadDiviner.d.ts","sourceRoot":"","sources":["../../../../src/Diviner/Payload/XyoPayloadDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAE/E,8BAAsB,iBAAiB,CACrC,aAAa,SAAS,6BAA6B,GAAG,6BAA6B,CACnF,SAAQ,kBAAkB,CAAC,aAAa,CAAC;CAAG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"XyoPayloadDiviner.js","sourceRoot":"","sources":["../../../../src/Diviner/Payload/XyoPayloadDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"XyoPayloadDiviner.js","sourceRoot":"","sources":["../../../../src/Diviner/Payload/XyoPayloadDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAG/C,MAAM,OAAgB,iBAEpB,SAAQ,kBAAiC;CAAG"}
|
package/package.json
CHANGED
|
@@ -10,13 +10,15 @@
|
|
|
10
10
|
"url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@xyo-network/
|
|
14
|
-
"@xyo-network/
|
|
13
|
+
"@xyo-network/account": "^2.25.1",
|
|
14
|
+
"@xyo-network/archivist": "^2.25.1",
|
|
15
|
+
"@xyo-network/boundwitness": "^2.25.1",
|
|
16
|
+
"@xyo-network/payload": "^2.25.1",
|
|
15
17
|
"tslib": "^2.4.0"
|
|
16
18
|
},
|
|
17
19
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
18
20
|
"devDependencies": {
|
|
19
|
-
"@xylabs/tsconfig": "^2.5.
|
|
21
|
+
"@xylabs/tsconfig": "^2.5.87"
|
|
20
22
|
},
|
|
21
23
|
"browser": "dist/esm/index.js",
|
|
22
24
|
"docs": "dist/docs.json",
|
|
@@ -50,6 +52,5 @@
|
|
|
50
52
|
},
|
|
51
53
|
"sideEffects": false,
|
|
52
54
|
"types": "dist/esm/index.d.ts",
|
|
53
|
-
"version": "2.
|
|
54
|
-
"packageManager": "yarn@3.1.1"
|
|
55
|
+
"version": "2.25.1"
|
|
55
56
|
}
|
package/src/Diviner/Diviner.ts
CHANGED
|
@@ -1,16 +1,31 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { XyoAccount } from '@xyo-network/account'
|
|
2
|
+
import { XyoBoundWitness, XyoBoundWitnessBuilder } from '@xyo-network/boundwitness'
|
|
3
|
+
import { XyoPayload, XyoQueryPayload } from '@xyo-network/payload'
|
|
2
4
|
|
|
3
|
-
export interface
|
|
4
|
-
|
|
5
|
+
export interface XyoNode {
|
|
6
|
+
attach(module: XyoDiviner): void
|
|
7
|
+
remove(address: string): void
|
|
8
|
+
get<T extends XyoDiviner>(address: string): T | undefined
|
|
5
9
|
}
|
|
6
10
|
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
abstract divine(query: TQueryPayload): Promise<TPayload>
|
|
11
|
+
export interface XyoDiviner<TQueryPayload extends XyoQueryPayload = XyoQueryPayload> {
|
|
12
|
+
address: string
|
|
13
|
+
divine(query: TQueryPayload): Promise<[XyoBoundWitness, XyoPayload[]]>
|
|
11
14
|
}
|
|
12
15
|
|
|
13
|
-
export abstract class
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
export abstract class XyoAbstractDiviner<TQueryPayload extends XyoQueryPayload = XyoQueryPayload> implements XyoDiviner<TQueryPayload> {
|
|
17
|
+
protected account: XyoAccount
|
|
18
|
+
constructor(account: XyoAccount) {
|
|
19
|
+
this.account = account
|
|
20
|
+
}
|
|
21
|
+
abstract divine(query: TQueryPayload): Promise<[XyoBoundWitness, XyoPayload[]]>
|
|
22
|
+
get address() {
|
|
23
|
+
return this.account.addressValue.hex
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
bind(payloads: XyoPayload[]) {
|
|
27
|
+
return new XyoBoundWitnessBuilder().payloads(payloads).witness(this.account).build()
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export abstract class XyoAbstractTimestampDiviner<TQueryPayload extends XyoQueryPayload = XyoQueryPayload> extends XyoAbstractDiviner<TQueryPayload> {}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { XyoAccount } from '@xyo-network/account'
|
|
1
2
|
import { XyoArchivist } from '@xyo-network/archivist'
|
|
2
|
-
import {
|
|
3
|
+
import { XyoBoundWitness } from '@xyo-network/boundwitness'
|
|
4
|
+
import { Huri, XyoPayload } from '@xyo-network/payload'
|
|
3
5
|
|
|
4
6
|
import { profile } from '../lib'
|
|
5
7
|
import { XyoPayloadDiviner } from '../XyoPayloadDiviner'
|
|
@@ -9,14 +11,15 @@ import { XyoPayloadDivinerQueryPayload } from '../XyoPayloadDivinerQueryPayload'
|
|
|
9
11
|
export class XyoArchivistPayloadDiviner extends XyoPayloadDiviner {
|
|
10
12
|
protected archivist: XyoArchivist
|
|
11
13
|
|
|
12
|
-
constructor(archivist: XyoArchivist) {
|
|
13
|
-
super()
|
|
14
|
+
constructor(account: XyoAccount, archivist: XyoArchivist) {
|
|
15
|
+
super(account)
|
|
14
16
|
this.archivist = archivist
|
|
15
17
|
}
|
|
16
18
|
|
|
17
|
-
override async divine(query: XyoPayloadDivinerQueryPayload): Promise<
|
|
19
|
+
override async divine(query: XyoPayloadDivinerQueryPayload): Promise<[XyoBoundWitness, XyoPayload[]]> {
|
|
18
20
|
const huri = new Huri(query.huri)
|
|
19
|
-
const [
|
|
20
|
-
|
|
21
|
+
const [payloads = [], duration] = await profile(async () => await this.archivist.get([huri.hash]))
|
|
22
|
+
const resultPayload: XyoPayloadDivinerPayload = { duration, payload: payloads.pop() ?? null, schema: XyoPayloadDivinerPayloadSchema }
|
|
23
|
+
return [this.bind([resultPayload]), [resultPayload]]
|
|
21
24
|
}
|
|
22
25
|
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { XyoAccount } from '@xyo-network/account'
|
|
2
|
+
import { XyoBoundWitness } from '@xyo-network/boundwitness'
|
|
3
|
+
import { Huri, HuriOptions, XyoPayload } from '@xyo-network/payload'
|
|
2
4
|
|
|
3
5
|
import { profile } from '../lib'
|
|
4
6
|
import { XyoPayloadDiviner } from '../XyoPayloadDiviner'
|
|
@@ -8,14 +10,15 @@ import { XyoPayloadDivinerQueryPayload } from '../XyoPayloadDivinerQueryPayload'
|
|
|
8
10
|
export class XyoHuriPayloadDiviner extends XyoPayloadDiviner {
|
|
9
11
|
protected options: HuriOptions
|
|
10
12
|
|
|
11
|
-
constructor(options: HuriOptions) {
|
|
12
|
-
super()
|
|
13
|
+
constructor(account: XyoAccount, options: HuriOptions) {
|
|
14
|
+
super(account)
|
|
13
15
|
this.options = options
|
|
14
16
|
}
|
|
15
17
|
|
|
16
|
-
override async divine(query: XyoPayloadDivinerQueryPayload): Promise<
|
|
18
|
+
override async divine(query: XyoPayloadDivinerQueryPayload): Promise<[XyoBoundWitness, XyoPayload[]]> {
|
|
17
19
|
const huri = new Huri(query.huri, this.options)
|
|
18
20
|
const [payload = null, duration] = await profile(async () => await huri.fetch())
|
|
19
|
-
|
|
21
|
+
const resultPayload: XyoPayloadDivinerPayload = { duration, payload, schema: XyoPayloadDivinerPayloadSchema }
|
|
22
|
+
return [this.bind([resultPayload]), [resultPayload]]
|
|
20
23
|
}
|
|
21
24
|
}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { XyoAbstractDiviner } from '../Diviner'
|
|
2
|
-
import { XyoPayloadDivinerPayload } from './XyoPayloadDivinerPayload'
|
|
3
2
|
import { XyoPayloadDivinerQueryPayload } from './XyoPayloadDivinerQueryPayload'
|
|
4
3
|
|
|
5
4
|
export abstract class XyoPayloadDiviner<
|
|
6
|
-
TTargetPayload extends XyoPayloadDivinerPayload = XyoPayloadDivinerPayload,
|
|
7
5
|
TQueryPayload extends XyoPayloadDivinerQueryPayload = XyoPayloadDivinerQueryPayload
|
|
8
|
-
> extends XyoAbstractDiviner<
|
|
6
|
+
> extends XyoAbstractDiviner<TQueryPayload> {}
|