@xyo-network/diviner 2.53.16 → 2.53.18
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/AbstractDiviner.js +4 -4
- package/dist/cjs/AbstractDiviner.js.map +1 -1
- package/dist/docs.json +768 -768
- package/dist/esm/AbstractDiviner.js +6 -6
- package/dist/esm/AbstractDiviner.js.map +1 -1
- package/dist/types/AbstractDiviner.d.ts +2 -2
- package/dist/types/AbstractDiviner.d.ts.map +1 -1
- package/dist/types/AddressChain/Diviner.d.ts +2 -2
- package/dist/types/AddressChain/Diviner.d.ts.map +1 -1
- package/dist/types/AddressHistory/Diviner.d.ts +2 -2
- package/dist/types/AddressHistory/Diviner.d.ts.map +1 -1
- package/dist/types/AddressSpace/AddressSpaceDiviner.d.ts +2 -2
- package/dist/types/AddressSpace/AddressSpaceDiviner.d.ts.map +1 -1
- package/package.json +16 -16
- package/src/AbstractDiviner.ts +10 -10
- package/src/AddressChain/Diviner.ts +2 -2
- package/src/AddressHistory/Diviner.ts +2 -2
- package/src/AddressSpace/AddressSpaceDiviner.ts +2 -2
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert';
|
|
2
2
|
import { Account } from '@xyo-network/account';
|
|
3
|
-
import {
|
|
4
|
-
import { AbstractModule,
|
|
3
|
+
import { DivinerConfigSchema, DivinerDivineQuerySchema, } from '@xyo-network/diviner-model';
|
|
4
|
+
import { AbstractModule, ModuleErrorBuilder, QueryBoundWitnessWrapper } from '@xyo-network/module';
|
|
5
5
|
import { PayloadWrapper } from '@xyo-network/payload-wrapper';
|
|
6
6
|
export class AbstractDiviner extends AbstractModule {
|
|
7
|
-
static configSchema =
|
|
7
|
+
static configSchema = DivinerConfigSchema;
|
|
8
8
|
static targetSchema;
|
|
9
9
|
get queries() {
|
|
10
|
-
return [
|
|
10
|
+
return [DivinerDivineQuerySchema, ...super.queries];
|
|
11
11
|
}
|
|
12
12
|
async query(query, payloads, queryConfig) {
|
|
13
13
|
const wrapper = QueryBoundWitnessWrapper.parseQuery(query, payloads);
|
|
@@ -19,7 +19,7 @@ export class AbstractDiviner extends AbstractModule {
|
|
|
19
19
|
const resultPayloads = [];
|
|
20
20
|
try {
|
|
21
21
|
switch (typedQuery.schemaName) {
|
|
22
|
-
case
|
|
22
|
+
case DivinerDivineQuerySchema:
|
|
23
23
|
await this.emit('reportStart', { inPayloads: payloads, module: this });
|
|
24
24
|
resultPayloads.push(...(await this.divine(cleanPayloads)));
|
|
25
25
|
await this.emit('reportEnd', { inPayloads: payloads, module: this, outPayloads: resultPayloads });
|
|
@@ -30,7 +30,7 @@ export class AbstractDiviner extends AbstractModule {
|
|
|
30
30
|
}
|
|
31
31
|
catch (ex) {
|
|
32
32
|
const error = ex;
|
|
33
|
-
resultPayloads.push(new
|
|
33
|
+
resultPayloads.push(new ModuleErrorBuilder([wrapper.hash], error.message).build());
|
|
34
34
|
}
|
|
35
35
|
return await this.bindResult(resultPayloads, queryAccount);
|
|
36
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractDiviner.js","sourceRoot":"","sources":["../../src/AbstractDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"AbstractDiviner.js","sourceRoot":"","sources":["../../src/AbstractDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EACL,mBAAmB,EACnB,wBAAwB,GAKzB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,cAAc,EAAgB,kBAAkB,EAAwC,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAEtJ,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAG7D,MAAM,OAAgB,eAIpB,SAAQ,cAAmC;IAG3C,MAAM,CAAU,YAAY,GAAW,mBAAmB,CAAA;IAC1D,MAAM,CAAC,YAAY,CAAQ;IAE3B,IAAa,OAAO;QAClB,OAAO,CAAC,wBAAwB,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;IACrD,CAAC;IAEQ,KAAK,CAAC,KAAK,CAClB,KAAQ,EACR,QAAoB,EACpB,WAAqB;QAErB,MAAM,OAAO,GAAG,wBAAwB,CAAC,UAAU,CAAe,KAAK,EAAE,QAAQ,CAAC,CAAA;QAClF,0BAA0B;QAC1B,MAAM,aAAa,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,CAAA;QACjG,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAA;QAChC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAA;QACtD,MAAM,YAAY,GAAG,IAAI,OAAO,EAAE,CAAA;QAClC,MAAM,cAAc,GAAc,EAAE,CAAA;QACpC,IAAI;YACF,QAAQ,UAAU,CAAC,UAAU,EAAE;gBAC7B,KAAK,wBAAwB;oBAC3B,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;oBACtE,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;oBAC1D,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAA;oBACjG,MAAK;gBACP;oBACE,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;aACtC;SACF;QAAC,OAAO,EAAE,EAAE;YACX,MAAM,KAAK,GAAG,EAAW,CAAA;YACzB,cAAc,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;SACnF;QACD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;IAC5D,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { DivinerModule, DivinerModuleEventData, DivinerParams } from '@xyo-network/diviner-model';
|
|
2
|
-
import { AbstractModule, ModuleConfig, ModuleQueryResult,
|
|
2
|
+
import { AbstractModule, ModuleConfig, ModuleQueryResult, QueryBoundWitness } from '@xyo-network/module';
|
|
3
3
|
import { Payload } from '@xyo-network/payload-model';
|
|
4
4
|
import { Promisable } from '@xyo-network/promise';
|
|
5
5
|
export declare abstract class AbstractDiviner<TParams extends DivinerParams = DivinerParams, TEventData extends DivinerModuleEventData = DivinerModuleEventData> extends AbstractModule<TParams, TEventData> implements DivinerModule<TParams> {
|
|
6
6
|
static configSchema: string;
|
|
7
7
|
static targetSchema: string;
|
|
8
8
|
get queries(): string[];
|
|
9
|
-
query<T extends
|
|
9
|
+
query<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: Payload[], queryConfig?: TConfig): Promise<ModuleQueryResult>;
|
|
10
10
|
abstract divine(payloads?: Payload[]): Promisable<Payload[]>;
|
|
11
11
|
}
|
|
12
12
|
//# sourceMappingURL=AbstractDiviner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractDiviner.d.ts","sourceRoot":"","sources":["../../src/AbstractDiviner.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"AbstractDiviner.d.ts","sourceRoot":"","sources":["../../src/AbstractDiviner.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,aAAa,EACb,sBAAsB,EACtB,aAAa,EAEd,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAsB,iBAAiB,EAAE,iBAAiB,EAA4B,MAAM,qBAAqB,CAAA;AACtJ,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,8BAAsB,eAAe,CACjC,OAAO,SAAS,aAAa,GAAG,aAAa,EAC7C,UAAU,SAAS,sBAAsB,GAAG,sBAAsB,CAEpE,SAAQ,cAAc,CAAC,OAAO,EAAE,UAAU,CAC1C,YAAW,aAAa,CAAC,OAAO,CAAC;IAEjC,OAAgB,YAAY,EAAE,MAAM,CAAsB;IAC1D,MAAM,CAAC,YAAY,EAAE,MAAM,CAAA;IAE3B,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAEc,KAAK,CAAC,CAAC,SAAS,iBAAiB,GAAG,iBAAiB,EAAE,OAAO,SAAS,YAAY,GAAG,YAAY,EAC/G,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,OAAO,EAAE,EACpB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,iBAAiB,CAAC;IAyB7B,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;CAC7D"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Query } from '@xyo-network/module-model';
|
|
2
2
|
import { Payload, PayloadFindFilter } from '@xyo-network/payload-model';
|
|
3
3
|
import { AbstractDiviner } from '../AbstractDiviner';
|
|
4
4
|
export type AddressChainSchema = 'network.xyo.diviner.address.chain';
|
|
@@ -11,7 +11,7 @@ export type AddressChainPayload = Payload<{
|
|
|
11
11
|
export declare const isAddressChainPayload: (x?: Payload | null) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
12
12
|
schema: AddressChainSchema;
|
|
13
13
|
};
|
|
14
|
-
export type AddressChainQueryPayload =
|
|
14
|
+
export type AddressChainQueryPayload = Query<{
|
|
15
15
|
schema: AddressChainQuerySchema;
|
|
16
16
|
} & PayloadFindFilter>;
|
|
17
17
|
export declare const isAddressChainQueryPayload: (x?: Payload | null) => x is AddressChainQueryPayload;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/AddressChain/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/AddressChain/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAEvE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,MAAM,kBAAkB,GAAG,mCAAmC,CAAA;AACpE,eAAO,MAAM,kBAAkB,EAAE,kBAAwD,CAAA;AAEzF,MAAM,MAAM,uBAAuB,GAAG,yCAAyC,CAAA;AAC/E,eAAO,MAAM,uBAAuB,EAAE,uBAAmE,CAAA;AAEzG,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,kBAAkB,CAAA;CAAE,CAAC,CAAA;AACzE,eAAO,MAAM,qBAAqB,OAAQ,OAAO,GAAG,IAAI;YADJ,kBAAkB;CACiD,CAAA;AAEvH,MAAM,MAAM,wBAAwB,GAAG,KAAK,CAAC;IAAE,MAAM,EAAE,uBAAuB,CAAA;CAAE,GAAG,iBAAiB,CAAC,CAAA;AACrG,eAAO,MAAM,0BAA0B,OAAQ,OAAO,GAAG,IAAI,kCAAyE,CAAA;AAEtI,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Query } from '@xyo-network/module-model';
|
|
2
2
|
import { Payload, PayloadFindFilter } from '@xyo-network/payload-model';
|
|
3
3
|
import { AbstractDiviner } from '../AbstractDiviner';
|
|
4
4
|
export type AddressHistorySchema = 'network.xyo.diviner.address.history';
|
|
@@ -11,7 +11,7 @@ export type AddressHistoryPayload = Payload<{
|
|
|
11
11
|
export declare const isAddressHistoryPayload: (x?: Payload | null) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
12
12
|
schema: AddressHistorySchema;
|
|
13
13
|
};
|
|
14
|
-
export type AddressHistoryQueryPayload =
|
|
14
|
+
export type AddressHistoryQueryPayload = Query<{
|
|
15
15
|
schema: AddressHistoryQuerySchema;
|
|
16
16
|
} & PayloadFindFilter>;
|
|
17
17
|
export declare const isAddressHistoryQueryPayload: (x?: Payload | null) => x is AddressHistoryQueryPayload;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/AddressHistory/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../../src/AddressHistory/Diviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAEvE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,MAAM,oBAAoB,GAAG,qCAAqC,CAAA;AACxE,eAAO,MAAM,oBAAoB,EAAE,oBAA4D,CAAA;AAE/F,MAAM,MAAM,yBAAyB,GAAG,2CAA2C,CAAA;AACnF,eAAO,MAAM,yBAAyB,EAAE,yBAAuE,CAAA;AAE/G,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,oBAAoB,CAAA;CAAE,CAAC,CAAA;AAC7E,eAAO,MAAM,uBAAuB,OAAQ,OAAO,GAAG,IAAI;YADJ,oBAAoB;CACmD,CAAA;AAE7H,MAAM,MAAM,0BAA0B,GAAG,KAAK,CAAC;IAAE,MAAM,EAAE,yBAAyB,CAAA;CAAE,GAAG,iBAAiB,CAAC,CAAA;AACzG,eAAO,MAAM,4BAA4B,OAAQ,OAAO,GAAG,IAAI,oCAA6E,CAAA;AAE5I,MAAM,MAAM,qBAAqB,GAAG,eAAe,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Query } from '@xyo-network/module-model';
|
|
2
2
|
import { Payload, PayloadFindFilter } from '@xyo-network/payload-model';
|
|
3
3
|
import { AbstractDiviner } from '../AbstractDiviner';
|
|
4
4
|
export type AddressSpaceSchema = 'network.xyo.diviner.address.space';
|
|
@@ -11,7 +11,7 @@ export type AddressSpacePayload = Payload<{
|
|
|
11
11
|
export declare const isAddressSpacePayload: (x?: Payload | null) => x is import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
12
12
|
schema: AddressSpaceSchema;
|
|
13
13
|
};
|
|
14
|
-
export type AddressSpaceQueryPayload =
|
|
14
|
+
export type AddressSpaceQueryPayload = Query<{
|
|
15
15
|
schema: AddressSpaceQuerySchema;
|
|
16
16
|
} & PayloadFindFilter>;
|
|
17
17
|
export declare const isAddressSpaceQueryPayload: (x?: Payload | null) => x is AddressSpaceQueryPayload;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddressSpaceDiviner.d.ts","sourceRoot":"","sources":["../../../src/AddressSpace/AddressSpaceDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"AddressSpaceDiviner.d.ts","sourceRoot":"","sources":["../../../src/AddressSpace/AddressSpaceDiviner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAEvE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,MAAM,kBAAkB,GAAG,mCAAmC,CAAA;AACpE,eAAO,MAAM,kBAAkB,EAAE,kBAAwD,CAAA;AAEzF,MAAM,MAAM,uBAAuB,GAAG,yCAAyC,CAAA;AAC/E,eAAO,MAAM,uBAAuB,EAAE,uBAAmE,CAAA;AAEzG,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,kBAAkB,CAAA;CAAE,CAAC,CAAA;AACzE,eAAO,MAAM,qBAAqB,OAAQ,OAAO,GAAG,IAAI;YADJ,kBAAkB;CACiD,CAAA;AAEvH,MAAM,MAAM,wBAAwB,GAAG,KAAK,CAAC;IAAE,MAAM,EAAE,uBAAuB,CAAA;CAAE,GAAG,iBAAiB,CAAC,CAAA;AACrG,eAAO,MAAM,0BAA0B,OAAQ,OAAO,GAAG,IAAI,kCAAyE,CAAA;AAEtI,MAAM,MAAM,mBAAmB,GAAG,eAAe,CAAA"}
|
package/package.json
CHANGED
|
@@ -12,21 +12,21 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/assert": "^2.7.6",
|
|
14
14
|
"@xylabs/promise": "^2.7.6",
|
|
15
|
-
"@xyo-network/account": "^2.53.
|
|
16
|
-
"@xyo-network/address-payload-plugin": "^2.53.
|
|
17
|
-
"@xyo-network/archivist": "^2.53.
|
|
18
|
-
"@xyo-network/archivist-wrapper": "^2.53.
|
|
19
|
-
"@xyo-network/boundwitness-model": "^2.53.
|
|
20
|
-
"@xyo-network/boundwitness-wrapper": "^2.53.
|
|
21
|
-
"@xyo-network/diviner-model": "^2.53.
|
|
22
|
-
"@xyo-network/diviner-wrapper": "^2.53.
|
|
23
|
-
"@xyo-network/huri": "^2.53.
|
|
24
|
-
"@xyo-network/module": "^2.53.
|
|
25
|
-
"@xyo-network/module-model": "^2.53.
|
|
26
|
-
"@xyo-network/payload-builder": "^2.53.
|
|
27
|
-
"@xyo-network/payload-model": "^2.53.
|
|
28
|
-
"@xyo-network/payload-wrapper": "^2.53.
|
|
29
|
-
"@xyo-network/promise": "^2.53.
|
|
15
|
+
"@xyo-network/account": "^2.53.18",
|
|
16
|
+
"@xyo-network/address-payload-plugin": "^2.53.18",
|
|
17
|
+
"@xyo-network/archivist": "^2.53.18",
|
|
18
|
+
"@xyo-network/archivist-wrapper": "^2.53.18",
|
|
19
|
+
"@xyo-network/boundwitness-model": "^2.53.18",
|
|
20
|
+
"@xyo-network/boundwitness-wrapper": "^2.53.18",
|
|
21
|
+
"@xyo-network/diviner-model": "^2.53.18",
|
|
22
|
+
"@xyo-network/diviner-wrapper": "^2.53.18",
|
|
23
|
+
"@xyo-network/huri": "^2.53.18",
|
|
24
|
+
"@xyo-network/module": "^2.53.18",
|
|
25
|
+
"@xyo-network/module-model": "^2.53.18",
|
|
26
|
+
"@xyo-network/payload-builder": "^2.53.18",
|
|
27
|
+
"@xyo-network/payload-model": "^2.53.18",
|
|
28
|
+
"@xyo-network/payload-wrapper": "^2.53.18",
|
|
29
|
+
"@xyo-network/promise": "^2.53.18",
|
|
30
30
|
"lodash": "^4.17.21"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
@@ -68,5 +68,5 @@
|
|
|
68
68
|
},
|
|
69
69
|
"sideEffects": false,
|
|
70
70
|
"types": "dist/types/index.d.ts",
|
|
71
|
-
"version": "2.53.
|
|
71
|
+
"version": "2.53.18"
|
|
72
72
|
}
|
package/src/AbstractDiviner.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert'
|
|
2
2
|
import { Account } from '@xyo-network/account'
|
|
3
3
|
import {
|
|
4
|
+
DivinerConfigSchema,
|
|
5
|
+
DivinerDivineQuerySchema,
|
|
4
6
|
DivinerModule,
|
|
5
7
|
DivinerModuleEventData,
|
|
6
8
|
DivinerParams,
|
|
7
|
-
|
|
8
|
-
XyoDivinerDivineQuerySchema,
|
|
9
|
-
XyoDivinerQuery,
|
|
9
|
+
DivinerQuery,
|
|
10
10
|
} from '@xyo-network/diviner-model'
|
|
11
|
-
import { AbstractModule, ModuleConfig,
|
|
11
|
+
import { AbstractModule, ModuleConfig, ModuleErrorBuilder, ModuleQueryResult, QueryBoundWitness, QueryBoundWitnessWrapper } from '@xyo-network/module'
|
|
12
12
|
import { Payload } from '@xyo-network/payload-model'
|
|
13
13
|
import { PayloadWrapper } from '@xyo-network/payload-wrapper'
|
|
14
14
|
import { Promisable } from '@xyo-network/promise'
|
|
@@ -20,19 +20,19 @@ export abstract class AbstractDiviner<
|
|
|
20
20
|
extends AbstractModule<TParams, TEventData>
|
|
21
21
|
implements DivinerModule<TParams>
|
|
22
22
|
{
|
|
23
|
-
static override configSchema: string =
|
|
23
|
+
static override configSchema: string = DivinerConfigSchema
|
|
24
24
|
static targetSchema: string
|
|
25
25
|
|
|
26
26
|
override get queries(): string[] {
|
|
27
|
-
return [
|
|
27
|
+
return [DivinerDivineQuerySchema, ...super.queries]
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
override async query<T extends
|
|
30
|
+
override async query<T extends QueryBoundWitness = QueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(
|
|
31
31
|
query: T,
|
|
32
32
|
payloads?: Payload[],
|
|
33
33
|
queryConfig?: TConfig,
|
|
34
34
|
): Promise<ModuleQueryResult> {
|
|
35
|
-
const wrapper = QueryBoundWitnessWrapper.parseQuery<
|
|
35
|
+
const wrapper = QueryBoundWitnessWrapper.parseQuery<DivinerQuery>(query, payloads)
|
|
36
36
|
//remove the query payload
|
|
37
37
|
const cleanPayloads = payloads?.filter((payload) => PayloadWrapper.hash(payload) !== query.query)
|
|
38
38
|
const typedQuery = wrapper.query
|
|
@@ -41,7 +41,7 @@ export abstract class AbstractDiviner<
|
|
|
41
41
|
const resultPayloads: Payload[] = []
|
|
42
42
|
try {
|
|
43
43
|
switch (typedQuery.schemaName) {
|
|
44
|
-
case
|
|
44
|
+
case DivinerDivineQuerySchema:
|
|
45
45
|
await this.emit('reportStart', { inPayloads: payloads, module: this })
|
|
46
46
|
resultPayloads.push(...(await this.divine(cleanPayloads)))
|
|
47
47
|
await this.emit('reportEnd', { inPayloads: payloads, module: this, outPayloads: resultPayloads })
|
|
@@ -51,7 +51,7 @@ export abstract class AbstractDiviner<
|
|
|
51
51
|
}
|
|
52
52
|
} catch (ex) {
|
|
53
53
|
const error = ex as Error
|
|
54
|
-
resultPayloads.push(new
|
|
54
|
+
resultPayloads.push(new ModuleErrorBuilder([wrapper.hash], error.message).build())
|
|
55
55
|
}
|
|
56
56
|
return await this.bindResult(resultPayloads, queryAccount)
|
|
57
57
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Query } from '@xyo-network/module-model'
|
|
2
2
|
import { Payload, PayloadFindFilter } from '@xyo-network/payload-model'
|
|
3
3
|
|
|
4
4
|
import { AbstractDiviner } from '../AbstractDiviner'
|
|
@@ -12,7 +12,7 @@ export const AddressChainQuerySchema: AddressChainQuerySchema = 'network.xyo.div
|
|
|
12
12
|
export type AddressChainPayload = Payload<{ schema: AddressChainSchema }>
|
|
13
13
|
export const isAddressChainPayload = (x?: Payload | null): x is AddressChainPayload => x?.schema === AddressChainSchema
|
|
14
14
|
|
|
15
|
-
export type AddressChainQueryPayload =
|
|
15
|
+
export type AddressChainQueryPayload = Query<{ schema: AddressChainQuerySchema } & PayloadFindFilter>
|
|
16
16
|
export const isAddressChainQueryPayload = (x?: Payload | null): x is AddressChainQueryPayload => x?.schema === AddressChainQuerySchema
|
|
17
17
|
|
|
18
18
|
export type AddressChainDiviner = AbstractDiviner
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Query } from '@xyo-network/module-model'
|
|
2
2
|
import { Payload, PayloadFindFilter } from '@xyo-network/payload-model'
|
|
3
3
|
|
|
4
4
|
import { AbstractDiviner } from '../AbstractDiviner'
|
|
@@ -12,7 +12,7 @@ export const AddressHistoryQuerySchema: AddressHistoryQuerySchema = 'network.xyo
|
|
|
12
12
|
export type AddressHistoryPayload = Payload<{ schema: AddressHistorySchema }>
|
|
13
13
|
export const isAddressHistoryPayload = (x?: Payload | null): x is AddressHistoryPayload => x?.schema === AddressHistorySchema
|
|
14
14
|
|
|
15
|
-
export type AddressHistoryQueryPayload =
|
|
15
|
+
export type AddressHistoryQueryPayload = Query<{ schema: AddressHistoryQuerySchema } & PayloadFindFilter>
|
|
16
16
|
export const isAddressHistoryQueryPayload = (x?: Payload | null): x is AddressHistoryQueryPayload => x?.schema === AddressHistoryQuerySchema
|
|
17
17
|
|
|
18
18
|
export type AddressHistoryDiviner = AbstractDiviner
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Query } from '@xyo-network/module-model'
|
|
2
2
|
import { Payload, PayloadFindFilter } from '@xyo-network/payload-model'
|
|
3
3
|
|
|
4
4
|
import { AbstractDiviner } from '../AbstractDiviner'
|
|
@@ -12,7 +12,7 @@ export const AddressSpaceQuerySchema: AddressSpaceQuerySchema = 'network.xyo.div
|
|
|
12
12
|
export type AddressSpacePayload = Payload<{ schema: AddressSpaceSchema }>
|
|
13
13
|
export const isAddressSpacePayload = (x?: Payload | null): x is AddressSpacePayload => x?.schema === AddressSpaceSchema
|
|
14
14
|
|
|
15
|
-
export type AddressSpaceQueryPayload =
|
|
15
|
+
export type AddressSpaceQueryPayload = Query<{ schema: AddressSpaceQuerySchema } & PayloadFindFilter>
|
|
16
16
|
export const isAddressSpaceQueryPayload = (x?: Payload | null): x is AddressSpaceQueryPayload => x?.schema === AddressSpaceQuerySchema
|
|
17
17
|
|
|
18
18
|
export type AddressSpaceDiviner = AbstractDiviner
|