@xyo-network/sentinel 2.51.9 → 2.52.0-rc.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/AbstractSentinel.js +4 -2
- package/dist/cjs/AbstractSentinel.js.map +1 -1
- 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/docs.json +49946 -27102
- package/dist/esm/AbstractSentinel.js +4 -2
- package/dist/esm/AbstractSentinel.js.map +1 -1
- package/dist/esm/MemorySentinel.js +1 -1
- 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/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/MemorySentinel.d.ts +43 -13
- package/dist/types/MemorySentinel.d.ts.map +1 -1
- package/dist/types/SentinelModel.d.ts +11 -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/package.json +14 -13
- package/src/AbstractSentinel.ts +12 -23
- package/src/Config.ts +1 -0
- package/src/MemorySentinel.ts +14 -16
- package/src/SentinelModel.ts +24 -2
- package/src/Wrapper.ts +7 -7
|
@@ -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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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
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';
|
|
@@ -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"}
|
|
@@ -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"}
|
|
@@ -1,19 +1,49 @@
|
|
|
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<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?:
|
|
9
|
+
static create<TParams extends MemorySentinelParams>(params?: TParams): Promise<SentinelModule<SentinelParams<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
10
|
+
name?: string | undefined;
|
|
11
|
+
schema: string;
|
|
12
|
+
security?: {
|
|
13
|
+
allowAnonymous?: boolean | undefined;
|
|
14
|
+
allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
15
|
+
disallowed?: Record<string, string[]> | undefined;
|
|
16
|
+
} | undefined;
|
|
17
|
+
storeQueries?: boolean | undefined;
|
|
18
|
+
} & Omit<Omit<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
19
|
+
name?: string | undefined;
|
|
20
|
+
schema: "network.xyo.node.sentinel";
|
|
21
|
+
security?: {
|
|
22
|
+
allowAnonymous?: boolean | undefined;
|
|
23
|
+
allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
24
|
+
disallowed?: Record<string, string[]> | undefined;
|
|
25
|
+
} | undefined;
|
|
26
|
+
storeQueries?: boolean | undefined;
|
|
27
|
+
} & Omit<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
|
|
28
|
+
name?: string | undefined;
|
|
29
|
+
schema: string;
|
|
30
|
+
security?: {
|
|
31
|
+
allowAnonymous?: boolean | undefined;
|
|
32
|
+
allowed?: Record<string, (string | import("@xyo-network/module").CosigningAddressSet)[]> | undefined;
|
|
33
|
+
disallowed?: Record<string, string[]> | undefined;
|
|
34
|
+
} | undefined;
|
|
35
|
+
storeQueries?: boolean | undefined;
|
|
36
|
+
} & Omit<{
|
|
37
|
+
archivists?: string[] | undefined;
|
|
38
|
+
schema: string;
|
|
39
|
+
}, "schema"> & {
|
|
40
|
+
schema: "network.xyo.node.sentinel";
|
|
41
|
+
witnesses?: string[] | undefined;
|
|
42
|
+
} & {
|
|
43
|
+
schema: string;
|
|
44
|
+
}, "schema">, "schema"> & {
|
|
45
|
+
schema: string;
|
|
46
|
+
}, "schema">, import("@xyo-network/module").ModuleEventData, undefined>>>;
|
|
17
47
|
query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(query: T, payloads?: XyoPayload[], queryConfig?: TConfig): Promise<ModuleQueryResult>;
|
|
18
48
|
report(payloads?: XyoPayload[]): Promise<XyoPayload[]>;
|
|
19
49
|
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,CAAC,OAAO,CAAC,CAAA;AAE7I,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;WAE5B,MAAM,CAAC,OAAO,SAAS,oBAAoB,EAAE,MAAM,CAAC,EAAE,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIpE,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,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { XyoBoundWitness } from '@xyo-network/boundwitness-model';
|
|
2
|
+
import { AnyObject, WithAdditional } from '@xyo-network/core';
|
|
3
|
+
import { AnyConfigSchema, Module, ModuleEventData, ModuleParams } from '@xyo-network/module';
|
|
2
4
|
import { XyoPayload } from '@xyo-network/payload-model';
|
|
3
5
|
import { Promisable } from '@xyo-network/promise';
|
|
6
|
+
import { WitnessModule } from '@xyo-network/witness';
|
|
4
7
|
import { SentinelConfig } from './Config';
|
|
5
8
|
export interface Sentinel {
|
|
6
9
|
report: (payloads?: XyoPayload[]) => Promisable<XyoPayload[]>;
|
|
7
10
|
}
|
|
8
|
-
export type
|
|
11
|
+
export type SentinelParams<TConfig extends AnyConfigSchema<SentinelConfig> = SentinelConfig, TEventData extends ModuleEventData = ModuleEventData, TAdditionalParams extends AnyObject | undefined = undefined> = ModuleParams<TConfig, TEventData, WithAdditional<{
|
|
12
|
+
onReportEnd?: (boundWitness?: XyoBoundWitness, errors?: Error[]) => void;
|
|
13
|
+
onReportStart?: () => void;
|
|
14
|
+
onWitnessReportEnd?: (witness: WitnessModule, error?: Error) => void;
|
|
15
|
+
onWitnessReportStart?: (witness: WitnessModule) => void;
|
|
16
|
+
}, TAdditionalParams>>;
|
|
17
|
+
export type SentinelModule<TParams extends SentinelParams<AnyConfigSchema<SentinelConfig>> = SentinelParams<AnyConfigSchema<SentinelConfig>>> = Module<TParams> & Sentinel;
|
|
9
18
|
//# 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,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAEzC,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,KAAK,UAAU,CAAC,UAAU,EAAE,CAAC,CAAA;CAC9D;AAED,MAAM,MAAM,cAAc,CACxB,OAAO,SAAS,eAAe,CAAC,cAAc,CAAC,GAAG,cAAc,EAChE,UAAU,SAAS,eAAe,GAAG,eAAe,EACpD,iBAAiB,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,IACzD,YAAY,CACd,OAAO,EACP,UAAU,EACV,cAAc,CACZ;IACE,WAAW,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,IAAI,CAAA;IACxE,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAA;IACpE,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAA;CACxD,EACD,iBAAiB,CAClB,CACF,CAAA;AAED,MAAM,MAAM,cAAc,CAAC,OAAO,SAAS,cAAc,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,GAAG,cAAc,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,IAC1I,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/package.json
CHANGED
|
@@ -11,18 +11,18 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@xylabs/assert": "^2.7.4",
|
|
14
|
-
"@xyo-network/account": "^2.
|
|
15
|
-
"@xyo-network/account-model": "^2.
|
|
16
|
-
"@xyo-network/archivist": "^2.
|
|
17
|
-
"@xyo-network/archivist-wrapper": "^2.
|
|
18
|
-
"@xyo-network/boundwitness-model": "^2.
|
|
19
|
-
"@xyo-network/core": "^2.
|
|
20
|
-
"@xyo-network/module": "^2.
|
|
21
|
-
"@xyo-network/module-model": "^2.
|
|
22
|
-
"@xyo-network/payload-model": "^2.
|
|
23
|
-
"@xyo-network/payload-wrapper": "^2.
|
|
24
|
-
"@xyo-network/promise": "^2.
|
|
25
|
-
"@xyo-network/witness": "^2.
|
|
14
|
+
"@xyo-network/account": "^2.52.0-rc.1",
|
|
15
|
+
"@xyo-network/account-model": "^2.52.0-rc.1",
|
|
16
|
+
"@xyo-network/archivist": "^2.52.0-rc.1",
|
|
17
|
+
"@xyo-network/archivist-wrapper": "^2.52.0-rc.1",
|
|
18
|
+
"@xyo-network/boundwitness-model": "^2.52.0-rc.1",
|
|
19
|
+
"@xyo-network/core": "^2.52.0-rc.1",
|
|
20
|
+
"@xyo-network/module": "^2.52.0-rc.1",
|
|
21
|
+
"@xyo-network/module-model": "^2.52.0-rc.1",
|
|
22
|
+
"@xyo-network/payload-model": "^2.52.0-rc.1",
|
|
23
|
+
"@xyo-network/payload-wrapper": "^2.52.0-rc.1",
|
|
24
|
+
"@xyo-network/promise": "^2.52.0-rc.1",
|
|
25
|
+
"@xyo-network/witness": "^2.52.0-rc.1",
|
|
26
26
|
"lodash": "^4.17.21"
|
|
27
27
|
},
|
|
28
28
|
"description": "Primary SDK for using XYO Protocol 2.0",
|
|
@@ -64,5 +64,6 @@
|
|
|
64
64
|
},
|
|
65
65
|
"sideEffects": false,
|
|
66
66
|
"types": "dist/types/index.d.ts",
|
|
67
|
-
"version": "2.
|
|
67
|
+
"version": "2.52.0-rc.1",
|
|
68
|
+
"stableVersion": "2.51.9"
|
|
68
69
|
}
|
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
|
>
|
package/src/MemorySentinel.ts
CHANGED
|
@@ -1,34 +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
|
-
}
|
|
22
|
-
>
|
|
20
|
+
export type MemorySentinelParams<TConfig extends AnyConfigSchema<SentinelConfig> = AnyConfigSchema<SentinelConfig>> = SentinelParams<TConfig>
|
|
23
21
|
|
|
24
22
|
export class MemorySentinel<TParams extends MemorySentinelParams = MemorySentinelParams>
|
|
25
23
|
extends AbstractSentinel<TParams>
|
|
26
|
-
implements SentinelModule<TParams
|
|
24
|
+
implements SentinelModule<TParams>
|
|
27
25
|
{
|
|
28
26
|
static override configSchema: SentinelConfigSchema
|
|
29
27
|
|
|
30
|
-
static override async create(params?:
|
|
31
|
-
return (await super.create(params)) as
|
|
28
|
+
static override async create<TParams extends MemorySentinelParams>(params?: TParams) {
|
|
29
|
+
return (await super.create(params)) as SentinelModule
|
|
32
30
|
}
|
|
33
31
|
|
|
34
32
|
override async query<T extends XyoQueryBoundWitness = XyoQueryBoundWitness, TConfig extends ModuleConfig = ModuleConfig>(
|
package/src/SentinelModel.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { XyoBoundWitness } from '@xyo-network/boundwitness-model'
|
|
2
|
+
import { AnyObject, WithAdditional } from '@xyo-network/core'
|
|
3
|
+
import { AnyConfigSchema, Module, ModuleEventData, ModuleParams } from '@xyo-network/module'
|
|
2
4
|
import { XyoPayload } from '@xyo-network/payload-model'
|
|
3
5
|
import { Promisable } from '@xyo-network/promise'
|
|
6
|
+
import { WitnessModule } from '@xyo-network/witness'
|
|
4
7
|
|
|
5
8
|
import { SentinelConfig } from './Config'
|
|
6
9
|
|
|
@@ -8,4 +11,23 @@ export interface Sentinel {
|
|
|
8
11
|
report: (payloads?: XyoPayload[]) => Promisable<XyoPayload[]>
|
|
9
12
|
}
|
|
10
13
|
|
|
11
|
-
export type
|
|
14
|
+
export type SentinelParams<
|
|
15
|
+
TConfig extends AnyConfigSchema<SentinelConfig> = SentinelConfig,
|
|
16
|
+
TEventData extends ModuleEventData = ModuleEventData,
|
|
17
|
+
TAdditionalParams extends AnyObject | undefined = undefined,
|
|
18
|
+
> = ModuleParams<
|
|
19
|
+
TConfig,
|
|
20
|
+
TEventData,
|
|
21
|
+
WithAdditional<
|
|
22
|
+
{
|
|
23
|
+
onReportEnd?: (boundWitness?: XyoBoundWitness, errors?: Error[]) => void
|
|
24
|
+
onReportStart?: () => void
|
|
25
|
+
onWitnessReportEnd?: (witness: WitnessModule, error?: Error) => void
|
|
26
|
+
onWitnessReportStart?: (witness: WitnessModule) => void
|
|
27
|
+
},
|
|
28
|
+
TAdditionalParams
|
|
29
|
+
>
|
|
30
|
+
>
|
|
31
|
+
|
|
32
|
+
export type SentinelModule<TParams extends SentinelParams<AnyConfigSchema<SentinelConfig>> = SentinelParams<AnyConfigSchema<SentinelConfig>>> =
|
|
33
|
+
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
|
}
|