@xyo-network/sentinel 2.51.8 → 2.51.10
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/AbstractSentinel.js +4 -2
- package/dist/cjs/AbstractSentinel.js.map +1 -1
- package/dist/cjs/Events/ReportEnd.js +3 -0
- package/dist/cjs/Events/ReportEnd.js.map +1 -0
- package/dist/cjs/Events/ReportStart.js +3 -0
- package/dist/cjs/Events/ReportStart.js.map +1 -0
- package/dist/cjs/Events/index.js +6 -0
- package/dist/cjs/Events/index.js.map +1 -0
- package/dist/cjs/MemorySentinel.js +2 -11
- package/dist/cjs/MemorySentinel.js.map +1 -1
- package/dist/cjs/Wrapper.js +4 -4
- package/dist/cjs/Wrapper.js.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/docs.json +54806 -25607
- package/dist/esm/AbstractSentinel.js +4 -2
- package/dist/esm/AbstractSentinel.js.map +1 -1
- package/dist/esm/Events/ReportEnd.js +2 -0
- package/dist/esm/Events/ReportEnd.js.map +1 -0
- package/dist/esm/Events/ReportStart.js +2 -0
- package/dist/esm/Events/ReportStart.js.map +1 -0
- package/dist/esm/Events/index.js +3 -0
- package/dist/esm/Events/index.js.map +1 -0
- package/dist/esm/MemorySentinel.js +3 -6
- package/dist/esm/MemorySentinel.js.map +1 -1
- package/dist/esm/Wrapper.js +4 -4
- package/dist/esm/Wrapper.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/types/AbstractSentinel.d.ts +3 -10
- package/dist/types/AbstractSentinel.d.ts.map +1 -1
- package/dist/types/Config.d.ts +1 -0
- package/dist/types/Config.d.ts.map +1 -1
- package/dist/types/Events/ReportEnd.d.ts +10 -0
- package/dist/types/Events/ReportEnd.d.ts.map +1 -0
- package/dist/types/Events/ReportStart.d.ts +6 -0
- package/dist/types/Events/ReportStart.d.ts.map +1 -0
- package/dist/types/Events/index.d.ts +3 -0
- package/dist/types/Events/index.d.ts.map +1 -0
- package/dist/types/MemorySentinel.d.ts +5 -13
- package/dist/types/MemorySentinel.d.ts.map +1 -1
- package/dist/types/SentinelModel.d.ts +7 -2
- package/dist/types/SentinelModel.d.ts.map +1 -1
- package/dist/types/Wrapper.d.ts +4 -4
- package/dist/types/Wrapper.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +13 -13
- package/src/AbstractSentinel.ts +12 -23
- package/src/Config.ts +1 -0
- package/src/Events/ReportEnd.ts +11 -0
- package/src/Events/ReportStart.ts +7 -0
- package/src/Events/index.ts +2 -0
- package/src/MemorySentinel.ts +15 -19
- package/src/SentinelModel.ts +12 -2
- package/src/Wrapper.ts +7 -7
- package/src/index.ts +1 -0
|
@@ -18,13 +18,15 @@ export class AbstractSentinel extends ArchivingModule {
|
|
|
18
18
|
async getArchivists() {
|
|
19
19
|
const addresses = this.config?.archivists ? (Array.isArray(this.config.archivists) ? this.config?.archivists : [this.config.archivists]) : [];
|
|
20
20
|
this._archivists =
|
|
21
|
-
this._archivists ||
|
|
21
|
+
this._archivists ||
|
|
22
|
+
(await this.resolve({ address: addresses })).map((witness) => new ArchivistWrapper({ account: this.account, module: witness }));
|
|
22
23
|
return this._archivists;
|
|
23
24
|
}
|
|
24
25
|
async getWitnesses() {
|
|
25
26
|
const addresses = this.config?.witnesses ? (Array.isArray(this.config.witnesses) ? this.config?.witnesses : [this.config.witnesses]) : [];
|
|
26
27
|
this._witnesses =
|
|
27
|
-
this._witnesses ||
|
|
28
|
+
this._witnesses ||
|
|
29
|
+
(await this.resolve({ address: addresses })).map((witness) => new WitnessWrapper({ account: this.account, module: witness }));
|
|
28
30
|
return this._witnesses;
|
|
29
31
|
}
|
|
30
32
|
removeArchivist(address) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractSentinel.js","sourceRoot":"","sources":["../../src/AbstractSentinel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"AbstractSentinel.js","sourceRoot":"","sources":["../../src/AbstractSentinel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReportEnd.js","sourceRoot":"","sources":["../../../src/Events/ReportEnd.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReportStart.js","sourceRoot":"","sources":["../../../src/Events/ReportStart.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Events/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA"}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert';
|
|
2
2
|
import { Account } from '@xyo-network/account';
|
|
3
|
-
import { QueryBoundWitnessWrapper, XyoErrorBuilder } from '@xyo-network/module';
|
|
3
|
+
import { QueryBoundWitnessWrapper, XyoErrorBuilder, } from '@xyo-network/module';
|
|
4
4
|
import compact from 'lodash/compact';
|
|
5
5
|
import { AbstractSentinel } from './AbstractSentinel';
|
|
6
6
|
import { SentinelReportQuerySchema } from './Queries';
|
|
7
7
|
export class MemorySentinel extends AbstractSentinel {
|
|
8
8
|
static configSchema;
|
|
9
|
-
static async create(params) {
|
|
10
|
-
return (await super.create(params));
|
|
11
|
-
}
|
|
12
9
|
async query(query, payloads, queryConfig) {
|
|
13
10
|
const wrapper = QueryBoundWitnessWrapper.parseQuery(query, payloads);
|
|
14
11
|
const typedQuery = wrapper.query;
|
|
@@ -33,7 +30,7 @@ export class MemorySentinel extends AbstractSentinel {
|
|
|
33
30
|
}
|
|
34
31
|
async report(payloads = []) {
|
|
35
32
|
const errors = [];
|
|
36
|
-
this.
|
|
33
|
+
await this.emit('onReportStarted');
|
|
37
34
|
const allWitnesses = [...(await this.getWitnesses())];
|
|
38
35
|
const allPayloads = [];
|
|
39
36
|
try {
|
|
@@ -46,7 +43,7 @@ export class MemorySentinel extends AbstractSentinel {
|
|
|
46
43
|
}
|
|
47
44
|
const [newBoundWitness] = await this.bindResult(allPayloads);
|
|
48
45
|
this.history.push(assertEx(newBoundWitness));
|
|
49
|
-
this.
|
|
46
|
+
await this.emit('onReportEnded', { errors, newBoundWitness });
|
|
50
47
|
return [newBoundWitness, ...allPayloads];
|
|
51
48
|
}
|
|
52
49
|
async generatePayloads(witnesses) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemorySentinel.js","sourceRoot":"","sources":["../../src/MemorySentinel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"MemorySentinel.js","sourceRoot":"","sources":["../../src/MemorySentinel.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/Wrapper.js
CHANGED
|
@@ -4,9 +4,9 @@ import { PayloadWrapper } from '@xyo-network/payload-wrapper';
|
|
|
4
4
|
import { SentinelReportQuerySchema } from './Queries';
|
|
5
5
|
export class SentinelWrapper extends ModuleWrapper {
|
|
6
6
|
static requiredQueries = [SentinelReportQuerySchema, ...super.requiredQueries];
|
|
7
|
-
constructor(
|
|
8
|
-
super(
|
|
9
|
-
assertEx(module.queries.includes(SentinelReportQuerySchema));
|
|
7
|
+
constructor(params) {
|
|
8
|
+
super(params);
|
|
9
|
+
assertEx(params.module.queries.includes(SentinelReportQuerySchema));
|
|
10
10
|
}
|
|
11
11
|
static tryWrap(module, account) {
|
|
12
12
|
if (module) {
|
|
@@ -15,7 +15,7 @@ export class SentinelWrapper extends ModuleWrapper {
|
|
|
15
15
|
//console.warn(`Missing queries: ${JSON.stringify(missingRequiredQueries, null, 2)}`)
|
|
16
16
|
}
|
|
17
17
|
else {
|
|
18
|
-
return new SentinelWrapper(
|
|
18
|
+
return new SentinelWrapper({ account, module: module });
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
}
|
package/dist/esm/Wrapper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wrapper.js","sourceRoot":"","sources":["../../src/Wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"Wrapper.js","sourceRoot":"","sources":["../../src/Wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAEzC,OAAO,EAAE,aAAa,EAAuB,MAAM,qBAAqB,CAAA;AAGxE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,EAAuB,yBAAyB,EAAE,MAAM,WAAW,CAAA;AAG1E,MAAM,OAAO,eAAgB,SAAQ,aAAa;IAChD,MAAM,CAAU,eAAe,GAAG,CAAC,yBAAyB,EAAE,GAAG,KAAK,CAAC,eAAe,CAAC,CAAA;IAEvF,YAAY,MAA2C;QACrD,KAAK,CAAC,MAAM,CAAC,CAAA;QACb,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAA;IACrE,CAAC;IAED,MAAM,CAAU,OAAO,CAAC,MAAe,EAAE,OAAyB;QAChE,IAAI,MAAM,EAAE;YACV,MAAM,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAA;YAClE,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrC,qFAAqF;aACtF;iBAAM;gBACL,OAAO,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAwB,EAAE,CAAC,CAAA;aAC1E;SACF;IACH,CAAC;IAED,MAAM,CAAU,IAAI,CAAC,MAAe,EAAE,OAAyB;QAC7D,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,yCAAyC,CAAC,CAAA;IAC3F,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAuB;QAClC,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAsB,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAA;QACrG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;QAC3D,OAAO,MAAM,CAAA;IACf,CAAC"}
|
package/dist/esm/index.js
CHANGED
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,kBAAkB,CAAA;AAChC,cAAc,WAAW,CAAA;AACzB,cAAc,qCAAqC,CAAA;AACnD,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,kBAAkB,CAAA;AAChC,cAAc,WAAW,CAAA;AACzB,cAAc,qCAAqC,CAAA;AACnD,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,WAAW,CAAA"}
|
|
@@ -1,19 +1,12 @@
|
|
|
1
1
|
import { ArchivingModule } from '@xyo-network/archivist';
|
|
2
2
|
import { ArchivistWrapper } from '@xyo-network/archivist-wrapper';
|
|
3
3
|
import { XyoBoundWitness } from '@xyo-network/boundwitness-model';
|
|
4
|
-
import {
|
|
5
|
-
import { ModuleParams, WithAdditional } from '@xyo-network/module';
|
|
4
|
+
import { AnyConfigSchema } from '@xyo-network/module';
|
|
6
5
|
import { XyoPayload } from '@xyo-network/payload-model';
|
|
7
6
|
import { WitnessWrapper } from '@xyo-network/witness';
|
|
8
7
|
import { SentinelConfig, SentinelConfigSchema } from './Config';
|
|
9
|
-
import { SentinelModule } from './SentinelModel';
|
|
10
|
-
export
|
|
11
|
-
onReportEnd?: (boundWitness?: XyoBoundWitness, errors?: Error[]) => void;
|
|
12
|
-
onReportStart?: () => void;
|
|
13
|
-
onWitnessReportEnd?: (witness: WitnessWrapper, error?: Error) => void;
|
|
14
|
-
onWitnessReportStart?: (witness: WitnessWrapper) => void;
|
|
15
|
-
}, TAdditionalParams>>;
|
|
16
|
-
export declare abstract class AbstractSentinel<TParams extends SentinelParams<SentinelConfig> = SentinelParams<SentinelConfig>> extends ArchivingModule<TParams> implements SentinelModule<TParams['config']> {
|
|
8
|
+
import { SentinelModule, SentinelParams } from './SentinelModel';
|
|
9
|
+
export declare abstract class AbstractSentinel<TParams extends SentinelParams<AnyConfigSchema<SentinelConfig>> = SentinelParams<SentinelConfig>> extends ArchivingModule<TParams> implements SentinelModule<TParams> {
|
|
17
10
|
static configSchema: SentinelConfigSchema;
|
|
18
11
|
history: XyoBoundWitness[];
|
|
19
12
|
private _archivists;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractSentinel.d.ts","sourceRoot":"","sources":["../../src/AbstractSentinel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"AbstractSentinel.d.ts","sourceRoot":"","sources":["../../src/AbstractSentinel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAmB,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGtE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhE,8BAAsB,gBAAgB,CAAC,OAAO,SAAS,cAAc,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,GAAG,cAAc,CAAC,cAAc,CAAC,CACrI,SAAQ,eAAe,CAAC,OAAO,CAC/B,YAAW,cAAc,CAAC,OAAO,CAAC;IAElC,OAAgB,YAAY,EAAE,oBAAoB,CAAA;IAElD,OAAO,EAAE,eAAe,EAAE,CAAK;IAC/B,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,UAAU,CAA8B;IAEhD,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAED,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE;IAKtB,aAAa;IAWb,YAAY;IAWlB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE;IAKjC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE;IAK/B,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;CAChE"}
|
package/dist/types/Config.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { XyoPayload } from '@xyo-network/payload-model';
|
|
|
4
4
|
export type SentinelConfigSchema = 'network.xyo.node.sentinel';
|
|
5
5
|
export declare const SentinelConfigSchema: SentinelConfigSchema;
|
|
6
6
|
export type SentinelConfig<TConfig extends XyoPayload = XyoPayload> = ModuleConfig<ArchivingModuleConfig & {
|
|
7
|
+
schema: SentinelConfigSchema;
|
|
7
8
|
witnesses?: string[];
|
|
8
9
|
} & TConfig>;
|
|
9
10
|
//# sourceMappingURL=Config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEvD,MAAM,MAAM,oBAAoB,GAAG,2BAA2B,CAAA;AAC9D,eAAO,MAAM,oBAAoB,EAAE,oBAAkD,CAAA;AAErF,MAAM,MAAM,cAAc,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,IAAI,YAAY,CAChF,qBAAqB,GAAG;IACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB,GAAG,OAAO,CACZ,CAAA"}
|
|
1
|
+
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAEvD,MAAM,MAAM,oBAAoB,GAAG,2BAA2B,CAAA;AAC9D,eAAO,MAAM,oBAAoB,EAAE,oBAAkD,CAAA;AAErF,MAAM,MAAM,cAAc,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,IAAI,YAAY,CAChF,qBAAqB,GAAG;IACtB,MAAM,EAAE,oBAAoB,CAAA;IAC5B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB,GAAG,OAAO,CACZ,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { XyoBoundWitness } from '@xyo-network/boundwitness-model';
|
|
2
|
+
import { EventData, ModuleEventArgs } from '@xyo-network/module';
|
|
3
|
+
export type SentinelReportEndEventArgs = ModuleEventArgs<{
|
|
4
|
+
boundWitness?: XyoBoundWitness;
|
|
5
|
+
errors?: Error[];
|
|
6
|
+
}>;
|
|
7
|
+
export interface SentinelReportEndEventData extends EventData {
|
|
8
|
+
reportEnd: SentinelReportEndEventArgs;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=ReportEnd.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReportEnd.d.ts","sourceRoot":"","sources":["../../../src/Events/ReportEnd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAEhE,MAAM,MAAM,0BAA0B,GAAG,eAAe,CAAC;IACvD,YAAY,CAAC,EAAE,eAAe,CAAA;IAC9B,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;CACjB,CAAC,CAAA;AAEF,MAAM,WAAW,0BAA2B,SAAQ,SAAS;IAC3D,SAAS,EAAE,0BAA0B,CAAA;CACtC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { EventData, ModuleEventArgs } from '@xyo-network/module';
|
|
2
|
+
export type SentinelReportStartEventArgs = ModuleEventArgs;
|
|
3
|
+
export interface SentinelReportStartEventData extends EventData {
|
|
4
|
+
reportStart: SentinelReportStartEventArgs;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=ReportStart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReportStart.d.ts","sourceRoot":"","sources":["../../../src/Events/ReportStart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAEhE,MAAM,MAAM,4BAA4B,GAAG,eAAe,CAAA;AAE1D,MAAM,WAAW,4BAA6B,SAAQ,SAAS;IAC7D,WAAW,EAAE,4BAA4B,CAAA;CAC1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Events/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA"}
|
|
@@ -1,19 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ModuleConfig, ModuleQueryResult, XyoQueryBoundWitness } from '@xyo-network/module';
|
|
1
|
+
import { AnyConfigSchema, ModuleConfig, ModuleQueryResult, XyoQueryBoundWitness } from '@xyo-network/module';
|
|
3
2
|
import { XyoPayload } from '@xyo-network/payload-model';
|
|
4
|
-
import {
|
|
5
|
-
import { AbstractSentinel, SentinelParams } from './AbstractSentinel';
|
|
3
|
+
import { AbstractSentinel } from './AbstractSentinel';
|
|
6
4
|
import { SentinelConfig, SentinelConfigSchema } from './Config';
|
|
7
|
-
import { SentinelModule } from './SentinelModel';
|
|
8
|
-
export type MemorySentinelParams<TConfig extends SentinelConfig = SentinelConfig
|
|
9
|
-
|
|
10
|
-
onReportStart?: () => void;
|
|
11
|
-
onWitnessReportEnd?: (witness: WitnessWrapper, error?: Error) => void;
|
|
12
|
-
onWitnessReportStart?: (witness: WitnessWrapper) => void;
|
|
13
|
-
}>;
|
|
14
|
-
export declare class MemorySentinel<TParams extends MemorySentinelParams = MemorySentinelParams> extends AbstractSentinel<TParams> implements SentinelModule<TParams['config']> {
|
|
5
|
+
import { SentinelModule, SentinelParams } from './SentinelModel';
|
|
6
|
+
export type MemorySentinelParams<TConfig extends AnyConfigSchema<SentinelConfig> = AnyConfigSchema<SentinelConfig>> = SentinelParams<AnyConfigSchema<TConfig>>;
|
|
7
|
+
export declare class MemorySentinel<TParams extends MemorySentinelParams = MemorySentinelParams> extends AbstractSentinel<TParams> implements SentinelModule<TParams> {
|
|
15
8
|
static configSchema: SentinelConfigSchema;
|
|
16
|
-
static create(params?: MemorySentinelParams): Promise<MemorySentinel>;
|
|
17
9
|
query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: XyoPayload[], queryConfig?: TConfig): Promise<ModuleQueryResult>;
|
|
18
10
|
report(payloads?: XyoPayload[]): Promise<XyoPayload[]>;
|
|
19
11
|
private generatePayloads;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemorySentinel.d.ts","sourceRoot":"","sources":["../../src/MemorySentinel.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"MemorySentinel.d.ts","sourceRoot":"","sources":["../../src/MemorySentinel.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,EACf,YAAY,EACZ,iBAAiB,EAGjB,oBAAoB,EACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAIvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhE,MAAM,MAAM,oBAAoB,CAAC,OAAO,SAAS,eAAe,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC,cAAc,CAAC,IAAI,cAAc,CAClI,eAAe,CAAC,OAAO,CAAC,CACzB,CAAA;AAED,qBAAa,cAAc,CAAC,OAAO,SAAS,oBAAoB,GAAG,oBAAoB,CACrF,SAAQ,gBAAgB,CAAC,OAAO,CAChC,YAAW,cAAc,CAAC,OAAO,CAAC;IAElC,OAAgB,YAAY,EAAE,oBAAoB,CAAA;IAEnC,KAAK,CAAC,CAAC,SAAS,oBAAoB,GAAG,oBAAoB,EAAE,OAAO,SAAS,YAAY,GAAG,YAAY,EACrH,KAAK,EAAE,CAAC,EACR,QAAQ,CAAC,EAAE,UAAU,EAAE,EACvB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,iBAAiB,CAAC;IAsBvB,MAAM,CAAC,QAAQ,GAAE,UAAU,EAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;YAoBlD,gBAAgB;CAG/B"}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AnyObject } from '@xyo-network/core';
|
|
2
|
+
import { AnyConfigSchema, EventData, Module, ModuleEventData, ModuleParams } from '@xyo-network/module';
|
|
2
3
|
import { XyoPayload } from '@xyo-network/payload-model';
|
|
3
4
|
import { Promisable } from '@xyo-network/promise';
|
|
4
5
|
import { SentinelConfig } from './Config';
|
|
6
|
+
import { SentinelReportEndEventData, SentinelReportStartEventData } from './Events';
|
|
5
7
|
export interface Sentinel {
|
|
6
8
|
report: (payloads?: XyoPayload[]) => Promisable<XyoPayload[]>;
|
|
7
9
|
}
|
|
8
|
-
export
|
|
10
|
+
export interface SentinelModuleEventData extends SentinelReportEndEventData, SentinelReportStartEventData {
|
|
11
|
+
}
|
|
12
|
+
export type SentinelParams<TConfig extends AnyConfigSchema<SentinelConfig> = AnyConfigSchema<SentinelConfig>, TEventData extends ModuleEventData = ModuleEventData, TAdditionalParams extends AnyObject | undefined = undefined> = ModuleParams<TConfig, TEventData extends EventData ? SentinelModuleEventData | TEventData : SentinelModuleEventData, TAdditionalParams>;
|
|
13
|
+
export type SentinelModule<TParams extends SentinelParams = SentinelParams> = Module<TParams> & Sentinel;
|
|
9
14
|
//# sourceMappingURL=SentinelModel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SentinelModel.d.ts","sourceRoot":"","sources":["../../src/SentinelModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"SentinelModel.d.ts","sourceRoot":"","sources":["../../src/SentinelModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvG,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAA;AAEnF,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,KAAK,UAAU,CAAC,UAAU,EAAE,CAAC,CAAA;CAC9D;AAED,MAAM,WAAW,uBAAwB,SAAQ,0BAA0B,EAAE,4BAA4B;CAAG;AAE5G,MAAM,MAAM,cAAc,CACxB,OAAO,SAAS,eAAe,CAAC,cAAc,CAAC,GAAG,eAAe,CAAC,cAAc,CAAC,EACjF,UAAU,SAAS,eAAe,GAAG,eAAe,EACpD,iBAAiB,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,IACzD,YAAY,CAAC,OAAO,EAAE,UAAU,SAAS,SAAS,GAAG,uBAAuB,GAAG,UAAU,GAAG,uBAAuB,EAAE,iBAAiB,CAAC,CAAA;AAE3I,MAAM,MAAM,cAAc,CAAC,OAAO,SAAS,cAAc,GAAG,cAAc,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAA"}
|
package/dist/types/Wrapper.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { AccountInstance } from '@xyo-network/account-model';
|
|
2
|
-
import { ModuleWrapper } from '@xyo-network/module';
|
|
2
|
+
import { ModuleWrapper, ModuleWrapperParams } from '@xyo-network/module';
|
|
3
3
|
import { Module } from '@xyo-network/module-model';
|
|
4
4
|
import { XyoPayload } from '@xyo-network/payload-model';
|
|
5
|
-
import {
|
|
6
|
-
export declare class SentinelWrapper extends ModuleWrapper implements
|
|
5
|
+
import { SentinelModule } from './SentinelModel';
|
|
6
|
+
export declare class SentinelWrapper extends ModuleWrapper implements SentinelModule {
|
|
7
7
|
static requiredQueries: string[];
|
|
8
|
-
constructor(
|
|
8
|
+
constructor(params: ModuleWrapperParams<SentinelModule>);
|
|
9
9
|
static tryWrap(module?: Module, account?: AccountInstance): SentinelWrapper | undefined;
|
|
10
10
|
static wrap(module?: Module, account?: AccountInstance): SentinelWrapper;
|
|
11
11
|
report(payloads?: XyoPayload[]): Promise<XyoPayload[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wrapper.d.ts","sourceRoot":"","sources":["../../src/Wrapper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"Wrapper.d.ts","sourceRoot":"","sources":["../../src/Wrapper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AAIvD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,qBAAa,eAAgB,SAAQ,aAAc,YAAW,cAAc;IAC1E,OAAgB,eAAe,WAAwD;gBAE3E,MAAM,EAAE,mBAAmB,CAAC,cAAc,CAAC;WAKvC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,eAAe,GAAG,SAAS;WAWhF,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,eAAe;IAI3E,MAAM,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;CAK7D"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,kBAAkB,CAAA;AAChC,cAAc,WAAW,CAAA;AACzB,cAAc,qCAAqC,CAAA;AACnD,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,kBAAkB,CAAA;AAChC,cAAc,WAAW,CAAA;AACzB,cAAc,qCAAqC,CAAA;AACnD,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,WAAW,CAAA"}
|
package/package.json
CHANGED
|
@@ -11,18 +11,18 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/assert": "^2.7.4",
|
|
14
|
-
"@xyo-network/account": "^2.51.
|
|
15
|
-
"@xyo-network/account-model": "^2.51.
|
|
16
|
-
"@xyo-network/archivist": "^2.51.
|
|
17
|
-
"@xyo-network/archivist-wrapper": "^2.51.
|
|
18
|
-
"@xyo-network/boundwitness-model": "^2.51.
|
|
19
|
-
"@xyo-network/core": "^2.51.
|
|
20
|
-
"@xyo-network/module": "^2.51.
|
|
21
|
-
"@xyo-network/module-model": "^2.51.
|
|
22
|
-
"@xyo-network/payload-model": "^2.51.
|
|
23
|
-
"@xyo-network/payload-wrapper": "^2.51.
|
|
24
|
-
"@xyo-network/promise": "^2.51.
|
|
25
|
-
"@xyo-network/witness": "^2.51.
|
|
14
|
+
"@xyo-network/account": "^2.51.10",
|
|
15
|
+
"@xyo-network/account-model": "^2.51.10",
|
|
16
|
+
"@xyo-network/archivist": "^2.51.10",
|
|
17
|
+
"@xyo-network/archivist-wrapper": "^2.51.10",
|
|
18
|
+
"@xyo-network/boundwitness-model": "^2.51.10",
|
|
19
|
+
"@xyo-network/core": "^2.51.10",
|
|
20
|
+
"@xyo-network/module": "^2.51.10",
|
|
21
|
+
"@xyo-network/module-model": "^2.51.10",
|
|
22
|
+
"@xyo-network/payload-model": "^2.51.10",
|
|
23
|
+
"@xyo-network/payload-wrapper": "^2.51.10",
|
|
24
|
+
"@xyo-network/promise": "^2.51.10",
|
|
25
|
+
"@xyo-network/witness": "^2.51.10",
|
|
26
26
|
"lodash": "^4.17.21"
|
|
27
27
|
},
|
|
28
28
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
@@ -64,5 +64,5 @@
|
|
|
64
64
|
},
|
|
65
65
|
"sideEffects": false,
|
|
66
66
|
"types": "dist/types/index.d.ts",
|
|
67
|
-
"version": "2.51.
|
|
67
|
+
"version": "2.51.10"
|
|
68
68
|
}
|
package/src/AbstractSentinel.ts
CHANGED
|
@@ -1,35 +1,18 @@
|
|
|
1
1
|
import { AbstractArchivist, ArchivingModule } from '@xyo-network/archivist'
|
|
2
2
|
import { ArchivistWrapper } from '@xyo-network/archivist-wrapper'
|
|
3
3
|
import { XyoBoundWitness } from '@xyo-network/boundwitness-model'
|
|
4
|
-
import {
|
|
5
|
-
import { ModuleParams, WithAdditional } from '@xyo-network/module'
|
|
4
|
+
import { AnyConfigSchema } from '@xyo-network/module'
|
|
6
5
|
import { XyoPayload } from '@xyo-network/payload-model'
|
|
7
6
|
import { AbstractWitness, WitnessWrapper } from '@xyo-network/witness'
|
|
8
7
|
import uniq from 'lodash/uniq'
|
|
9
8
|
|
|
10
9
|
import { SentinelConfig, SentinelConfigSchema } from './Config'
|
|
11
10
|
import { SentinelReportQuerySchema } from './Queries'
|
|
12
|
-
import { SentinelModule } from './SentinelModel'
|
|
11
|
+
import { SentinelModule, SentinelParams } from './SentinelModel'
|
|
13
12
|
|
|
14
|
-
export
|
|
15
|
-
TConfig extends SentinelConfig = SentinelConfig,
|
|
16
|
-
TAdditionalParams extends AnyObject | undefined = undefined,
|
|
17
|
-
> = ModuleParams<
|
|
18
|
-
TConfig,
|
|
19
|
-
WithAdditional<
|
|
20
|
-
{
|
|
21
|
-
onReportEnd?: (boundWitness?: XyoBoundWitness, errors?: Error[]) => void
|
|
22
|
-
onReportStart?: () => void
|
|
23
|
-
onWitnessReportEnd?: (witness: WitnessWrapper, error?: Error) => void
|
|
24
|
-
onWitnessReportStart?: (witness: WitnessWrapper) => void
|
|
25
|
-
},
|
|
26
|
-
TAdditionalParams
|
|
27
|
-
>
|
|
28
|
-
>
|
|
29
|
-
|
|
30
|
-
export abstract class AbstractSentinel<TParams extends SentinelParams<SentinelConfig> = SentinelParams<SentinelConfig>>
|
|
13
|
+
export abstract class AbstractSentinel<TParams extends SentinelParams<AnyConfigSchema<SentinelConfig>> = SentinelParams<SentinelConfig>>
|
|
31
14
|
extends ArchivingModule<TParams>
|
|
32
|
-
implements SentinelModule<TParams
|
|
15
|
+
implements SentinelModule<TParams>
|
|
33
16
|
{
|
|
34
17
|
static override configSchema: SentinelConfigSchema
|
|
35
18
|
|
|
@@ -49,7 +32,10 @@ export abstract class AbstractSentinel<TParams extends SentinelParams<SentinelCo
|
|
|
49
32
|
async getArchivists() {
|
|
50
33
|
const addresses = this.config?.archivists ? (Array.isArray(this.config.archivists) ? this.config?.archivists : [this.config.archivists]) : []
|
|
51
34
|
this._archivists =
|
|
52
|
-
this._archivists ||
|
|
35
|
+
this._archivists ||
|
|
36
|
+
((await this.resolve({ address: addresses })) as AbstractArchivist[]).map(
|
|
37
|
+
(witness) => new ArchivistWrapper({ account: this.account, module: witness }),
|
|
38
|
+
)
|
|
53
39
|
|
|
54
40
|
return this._archivists
|
|
55
41
|
}
|
|
@@ -57,7 +43,10 @@ export abstract class AbstractSentinel<TParams extends SentinelParams<SentinelCo
|
|
|
57
43
|
async getWitnesses() {
|
|
58
44
|
const addresses = this.config?.witnesses ? (Array.isArray(this.config.witnesses) ? this.config?.witnesses : [this.config.witnesses]) : []
|
|
59
45
|
this._witnesses =
|
|
60
|
-
this._witnesses ||
|
|
46
|
+
this._witnesses ||
|
|
47
|
+
((await this.resolve({ address: addresses })) as AbstractWitness[]).map(
|
|
48
|
+
(witness) => new WitnessWrapper({ account: this.account, module: witness }),
|
|
49
|
+
)
|
|
61
50
|
|
|
62
51
|
return this._witnesses
|
|
63
52
|
}
|
package/src/Config.ts
CHANGED
|
@@ -7,6 +7,7 @@ export const SentinelConfigSchema: SentinelConfigSchema = 'network.xyo.node.sent
|
|
|
7
7
|
|
|
8
8
|
export type SentinelConfig<TConfig extends XyoPayload = XyoPayload> = ModuleConfig<
|
|
9
9
|
ArchivingModuleConfig & {
|
|
10
|
+
schema: SentinelConfigSchema
|
|
10
11
|
witnesses?: string[]
|
|
11
12
|
} & TConfig
|
|
12
13
|
>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { XyoBoundWitness } from '@xyo-network/boundwitness-model'
|
|
2
|
+
import { EventData, ModuleEventArgs } from '@xyo-network/module'
|
|
3
|
+
|
|
4
|
+
export type SentinelReportEndEventArgs = ModuleEventArgs<{
|
|
5
|
+
boundWitness?: XyoBoundWitness
|
|
6
|
+
errors?: Error[]
|
|
7
|
+
}>
|
|
8
|
+
|
|
9
|
+
export interface SentinelReportEndEventData extends EventData {
|
|
10
|
+
reportEnd: SentinelReportEndEventArgs
|
|
11
|
+
}
|
package/src/MemorySentinel.ts
CHANGED
|
@@ -1,36 +1,32 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert'
|
|
2
2
|
import { Account } from '@xyo-network/account'
|
|
3
|
-
import {
|
|
4
|
-
|
|
3
|
+
import {
|
|
4
|
+
AnyConfigSchema,
|
|
5
|
+
ModuleConfig,
|
|
6
|
+
ModuleQueryResult,
|
|
7
|
+
QueryBoundWitnessWrapper,
|
|
8
|
+
XyoErrorBuilder,
|
|
9
|
+
XyoQueryBoundWitness,
|
|
10
|
+
} from '@xyo-network/module'
|
|
5
11
|
import { XyoPayload } from '@xyo-network/payload-model'
|
|
6
12
|
import { WitnessWrapper } from '@xyo-network/witness'
|
|
7
13
|
import compact from 'lodash/compact'
|
|
8
14
|
|
|
9
|
-
import { AbstractSentinel
|
|
15
|
+
import { AbstractSentinel } from './AbstractSentinel'
|
|
10
16
|
import { SentinelConfig, SentinelConfigSchema } from './Config'
|
|
11
17
|
import { SentinelQuery, SentinelReportQuerySchema } from './Queries'
|
|
12
|
-
import { SentinelModule } from './SentinelModel'
|
|
18
|
+
import { SentinelModule, SentinelParams } from './SentinelModel'
|
|
13
19
|
|
|
14
|
-
export type MemorySentinelParams<TConfig extends SentinelConfig = SentinelConfig
|
|
15
|
-
TConfig
|
|
16
|
-
{
|
|
17
|
-
onReportEnd?: (boundWitness?: XyoBoundWitness, errors?: Error[]) => void
|
|
18
|
-
onReportStart?: () => void
|
|
19
|
-
onWitnessReportEnd?: (witness: WitnessWrapper, error?: Error) => void
|
|
20
|
-
onWitnessReportStart?: (witness: WitnessWrapper) => void
|
|
21
|
-
}
|
|
20
|
+
export type MemorySentinelParams<TConfig extends AnyConfigSchema<SentinelConfig> = AnyConfigSchema<SentinelConfig>> = SentinelParams<
|
|
21
|
+
AnyConfigSchema<TConfig>
|
|
22
22
|
>
|
|
23
23
|
|
|
24
24
|
export class MemorySentinel<TParams extends MemorySentinelParams = MemorySentinelParams>
|
|
25
25
|
extends AbstractSentinel<TParams>
|
|
26
|
-
implements SentinelModule<TParams
|
|
26
|
+
implements SentinelModule<TParams>
|
|
27
27
|
{
|
|
28
28
|
static override configSchema: SentinelConfigSchema
|
|
29
29
|
|
|
30
|
-
static override async create(params?: MemorySentinelParams): Promise<MemorySentinel> {
|
|
31
|
-
return (await super.create(params)) as MemorySentinel
|
|
32
|
-
}
|
|
33
|
-
|
|
34
30
|
override async query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(
|
|
35
31
|
query: T,
|
|
36
32
|
payloads?: XyoPayload[],
|
|
@@ -59,7 +55,7 @@ export class MemorySentinel<TParams extends MemorySentinelParams = MemorySentine
|
|
|
59
55
|
|
|
60
56
|
async report(payloads: XyoPayload[] = []): Promise<XyoPayload[]> {
|
|
61
57
|
const errors: Error[] = []
|
|
62
|
-
this.
|
|
58
|
+
await this.emit('onReportStarted')
|
|
63
59
|
const allWitnesses = [...(await this.getWitnesses())]
|
|
64
60
|
const allPayloads: XyoPayload[] = []
|
|
65
61
|
|
|
@@ -73,7 +69,7 @@ export class MemorySentinel<TParams extends MemorySentinelParams = MemorySentine
|
|
|
73
69
|
|
|
74
70
|
const [newBoundWitness] = await this.bindResult(allPayloads)
|
|
75
71
|
this.history.push(assertEx(newBoundWitness))
|
|
76
|
-
this.
|
|
72
|
+
await this.emit('onReportEnded', { errors, newBoundWitness })
|
|
77
73
|
return [newBoundWitness, ...allPayloads]
|
|
78
74
|
}
|
|
79
75
|
|
package/src/SentinelModel.ts
CHANGED
|
@@ -1,11 +1,21 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AnyObject } from '@xyo-network/core'
|
|
2
|
+
import { AnyConfigSchema, EventData, Module, ModuleEventData, ModuleParams } from '@xyo-network/module'
|
|
2
3
|
import { XyoPayload } from '@xyo-network/payload-model'
|
|
3
4
|
import { Promisable } from '@xyo-network/promise'
|
|
4
5
|
|
|
5
6
|
import { SentinelConfig } from './Config'
|
|
7
|
+
import { SentinelReportEndEventData, SentinelReportStartEventData } from './Events'
|
|
6
8
|
|
|
7
9
|
export interface Sentinel {
|
|
8
10
|
report: (payloads?: XyoPayload[]) => Promisable<XyoPayload[]>
|
|
9
11
|
}
|
|
10
12
|
|
|
11
|
-
export
|
|
13
|
+
export interface SentinelModuleEventData extends SentinelReportEndEventData, SentinelReportStartEventData {}
|
|
14
|
+
|
|
15
|
+
export type SentinelParams<
|
|
16
|
+
TConfig extends AnyConfigSchema<SentinelConfig> = AnyConfigSchema<SentinelConfig>,
|
|
17
|
+
TEventData extends ModuleEventData = ModuleEventData,
|
|
18
|
+
TAdditionalParams extends AnyObject | undefined = undefined,
|
|
19
|
+
> = ModuleParams<TConfig, TEventData extends EventData ? SentinelModuleEventData | TEventData : SentinelModuleEventData, TAdditionalParams>
|
|
20
|
+
|
|
21
|
+
export type SentinelModule<TParams extends SentinelParams = SentinelParams> = Module<TParams> & Sentinel
|
package/src/Wrapper.ts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { assertEx } from '@xylabs/assert'
|
|
2
2
|
import { AccountInstance } from '@xyo-network/account-model'
|
|
3
|
-
import { ModuleWrapper } from '@xyo-network/module'
|
|
3
|
+
import { ModuleWrapper, ModuleWrapperParams } from '@xyo-network/module'
|
|
4
4
|
import { Module } from '@xyo-network/module-model'
|
|
5
5
|
import { XyoPayload } from '@xyo-network/payload-model'
|
|
6
6
|
import { PayloadWrapper } from '@xyo-network/payload-wrapper'
|
|
7
7
|
|
|
8
8
|
import { SentinelReportQuery, SentinelReportQuerySchema } from './Queries'
|
|
9
|
-
import {
|
|
9
|
+
import { SentinelModule } from './SentinelModel'
|
|
10
10
|
|
|
11
|
-
export class SentinelWrapper extends ModuleWrapper implements
|
|
11
|
+
export class SentinelWrapper extends ModuleWrapper implements SentinelModule {
|
|
12
12
|
static override requiredQueries = [SentinelReportQuerySchema, ...super.requiredQueries]
|
|
13
13
|
|
|
14
|
-
constructor(
|
|
15
|
-
super(
|
|
16
|
-
assertEx(module.queries.includes(SentinelReportQuerySchema))
|
|
14
|
+
constructor(params: ModuleWrapperParams<SentinelModule>) {
|
|
15
|
+
super(params)
|
|
16
|
+
assertEx(params.module.queries.includes(SentinelReportQuerySchema))
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
static override tryWrap(module?: Module, account?: AccountInstance): SentinelWrapper | undefined {
|
|
@@ -22,7 +22,7 @@ export class SentinelWrapper extends ModuleWrapper implements Sentinel {
|
|
|
22
22
|
if (missingRequiredQueries.length > 0) {
|
|
23
23
|
//console.warn(`Missing queries: ${JSON.stringify(missingRequiredQueries, null, 2)}`)
|
|
24
24
|
} else {
|
|
25
|
-
return new SentinelWrapper(module as SentinelModule
|
|
25
|
+
return new SentinelWrapper({ account, module: module as SentinelModule })
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
}
|