@xyo-network/sentinel 2.53.28 → 2.53.30

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.
@@ -11,22 +11,26 @@ export class AbstractSentinel extends ArchivingModule {
11
11
  get queries() {
12
12
  return [SentinelReportQuerySchema, ...super.queries];
13
13
  }
14
+ addArchivist(address) {
15
+ this.config.archivists = uniq([...address, ...(this.config.archivists ?? [])]);
16
+ this._archivists = undefined;
17
+ }
14
18
  addWitness(address) {
15
19
  this.config.witnesses = uniq([...address, ...(this.config.witnesses ?? [])]);
16
20
  this._witnesses = undefined;
17
21
  }
18
- async getArchivists() {
22
+ async getArchivists(account) {
19
23
  const addresses = this.config?.archivists ? (Array.isArray(this.config.archivists) ? this.config?.archivists : [this.config.archivists]) : [];
20
24
  this._archivists =
21
- this._archivists ||
22
- (await this.resolve({ address: addresses })).map((witness) => new ArchivistWrapper({ account: this.account, module: witness }));
25
+ this._archivists ?? (await this.resolve({ address: addresses })).map((witness) => ArchivistWrapper.wrap(witness, account ?? this.account));
26
+ this.logger?.warn(`Not all archivists found [Requested: ${addresses.length}, Found: ${this._archivists.length}]`);
23
27
  return this._archivists;
24
28
  }
25
- async getWitnesses() {
29
+ async getWitnesses(account) {
26
30
  const addresses = this.config?.witnesses ? (Array.isArray(this.config.witnesses) ? this.config?.witnesses : [this.config.witnesses]) : [];
27
31
  this._witnesses =
28
- this._witnesses ||
29
- (await this.resolve({ address: addresses })).map((witness) => new WitnessWrapper({ account: this.account, module: witness }));
32
+ this._witnesses ?? (await this.resolve({ address: addresses })).map((witness) => WitnessWrapper.wrap(witness, account ?? this.account));
33
+ this.logger?.warn(`Not all witnesses found [Requested: ${addresses.length}, Found: ${this._witnesses.length}]`);
30
34
  return this._witnesses;
31
35
  }
32
36
  removeArchivist(address) {
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractSentinel.js","sourceRoot":"","sources":["../../src/AbstractSentinel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AbstractSentinel.js","sourceRoot":"","sources":["../../src/AbstractSentinel.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { AccountInstance } from '@xyo-network/account-model';
1
2
  import { ArchivingModule } from '@xyo-network/archivist';
2
3
  import { ArchivistWrapper } from '@xyo-network/archivist-wrapper';
3
4
  import { BoundWitness } from '@xyo-network/boundwitness-model';
@@ -12,8 +13,9 @@ export declare abstract class AbstractSentinel<TParams extends SentinelParams<An
12
13
  private _archivists;
13
14
  private _witnesses;
14
15
  get queries(): string[];
16
+ addArchivist(address: string[]): void;
15
17
  addWitness(address: string[]): void;
16
- getArchivists(): Promise<ArchivistWrapper<import("@xyo-network/archivist").ArchivistModule<import("@xyo-network/archivist").ArchivistParams<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
18
+ getArchivists(account?: AccountInstance): Promise<ArchivistWrapper<import("@xyo-network/archivist").ArchivistModule<import("@xyo-network/archivist").ArchivistParams<import("@xyo-network/payload-model").SchemaFields & import("@xyo-network/payload-model").PayloadFields & {
17
19
  name?: string | undefined;
18
20
  paging?: Record<string, {
19
21
  size?: number | undefined;
@@ -44,7 +46,7 @@ export declare abstract class AbstractSentinel<TParams extends SentinelParams<An
44
46
  } & Omit<undefined, "schema">, "schema">, "schema"> & {
45
47
  schema: string;
46
48
  }, "schema">, undefined>, import("@xyo-network/archivist").ArchivistModuleEventData>>[]>;
47
- getWitnesses(): Promise<WitnessWrapper[]>;
49
+ getWitnesses(account?: AccountInstance): Promise<WitnessWrapper[]>;
48
50
  removeArchivist(address: string[]): void;
49
51
  removeWitness(address: string[]): void;
50
52
  abstract report(payloads?: Payload[]): Promise<Payload[]>;
@@ -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,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAmB,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGtE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEzF,8BAAsB,gBAAgB,CAClC,OAAO,SAAS,cAAc,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,GAAG,cAAc,CAAC,cAAc,CAAC,EAChG,UAAU,SAAS,uBAAuB,GAAG,uBAAuB,CAEtE,SAAQ,eAAe,CAAC,OAAO,EAAE,UAAU,CAC3C,YAAW,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC;IAE9C,OAAgB,YAAY,EAAE,oBAAoB,CAAA;IAElD,OAAO,EAAE,YAAY,EAAE,CAAK;IAC5B,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,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAC1D"}
1
+ {"version":3,"file":"AbstractSentinel.d.ts","sourceRoot":"","sources":["../../src/AbstractSentinel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAE/D,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEzF,8BAAsB,gBAAgB,CAClC,OAAO,SAAS,cAAc,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,GAAG,cAAc,CAAC,cAAc,CAAC,EAChG,UAAU,SAAS,uBAAuB,GAAG,uBAAuB,CAEtE,SAAQ,eAAe,CAAC,OAAO,EAAE,UAAU,CAC3C,YAAW,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC;IAE9C,OAAgB,YAAY,EAAE,oBAAoB,CAAA;IAElD,OAAO,EAAE,YAAY,EAAE,CAAK;IAC5B,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,UAAU,CAA8B;IAEhD,IAAa,OAAO,IAAI,MAAM,EAAE,CAE/B;IAED,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE;IAK9B,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE;IAKtB,aAAa,CAAC,OAAO,CAAC,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUvC,YAAY,CAAC,OAAO,CAAC,EAAE,eAAe;IAU5C,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE;IAKjC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE;IAK/B,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;CAC1D"}
package/package.json CHANGED
@@ -11,23 +11,23 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@xylabs/assert": "^2.7.6",
14
- "@xyo-network/account": "^2.53.28",
15
- "@xyo-network/account-model": "^2.53.28",
16
- "@xyo-network/archivist": "^2.53.28",
17
- "@xyo-network/archivist-wrapper": "^2.53.28",
18
- "@xyo-network/boundwitness-model": "^2.53.28",
19
- "@xyo-network/core": "^2.53.28",
20
- "@xyo-network/module": "^2.53.28",
21
- "@xyo-network/module-model": "^2.53.28",
22
- "@xyo-network/payload-model": "^2.53.28",
23
- "@xyo-network/payload-wrapper": "^2.53.28",
24
- "@xyo-network/promise": "^2.53.28",
25
- "@xyo-network/witness": "^2.53.28",
14
+ "@xyo-network/account": "^2.53.30",
15
+ "@xyo-network/account-model": "^2.53.30",
16
+ "@xyo-network/archivist": "^2.53.30",
17
+ "@xyo-network/archivist-wrapper": "^2.53.30",
18
+ "@xyo-network/boundwitness-model": "^2.53.30",
19
+ "@xyo-network/core": "^2.53.30",
20
+ "@xyo-network/module": "^2.53.30",
21
+ "@xyo-network/module-model": "^2.53.30",
22
+ "@xyo-network/payload-model": "^2.53.30",
23
+ "@xyo-network/payload-wrapper": "^2.53.30",
24
+ "@xyo-network/promise": "^2.53.30",
25
+ "@xyo-network/witness": "^2.53.30",
26
26
  "lodash": "^4.17.21"
27
27
  },
28
28
  "description": "Primary SDK for using XYO Protocol 2.0",
29
29
  "devDependencies": {
30
- "@types/lodash": "^4.14.191",
30
+ "@types/lodash": "^4.14.192",
31
31
  "@xylabs/ts-scripts-yarn3": "^2.16.1",
32
32
  "@xylabs/tsconfig": "^2.16.1",
33
33
  "typescript": "^4.9.5"
@@ -64,5 +64,5 @@
64
64
  },
65
65
  "sideEffects": false,
66
66
  "types": "dist/types/index.d.ts",
67
- "version": "2.53.28"
67
+ "version": "2.53.30"
68
68
  }
@@ -1,9 +1,10 @@
1
- import { AbstractArchivist, ArchivingModule } from '@xyo-network/archivist'
1
+ import { AccountInstance } from '@xyo-network/account-model'
2
+ import { ArchivingModule } from '@xyo-network/archivist'
2
3
  import { ArchivistWrapper } from '@xyo-network/archivist-wrapper'
3
4
  import { BoundWitness } from '@xyo-network/boundwitness-model'
4
5
  import { AnyConfigSchema } from '@xyo-network/module'
5
6
  import { Payload } from '@xyo-network/payload-model'
6
- import { AbstractWitness, WitnessWrapper } from '@xyo-network/witness'
7
+ import { WitnessWrapper } from '@xyo-network/witness'
7
8
  import uniq from 'lodash/uniq'
8
9
 
9
10
  import { SentinelConfig, SentinelConfigSchema } from './Config'
@@ -27,29 +28,32 @@ export abstract class AbstractSentinel<
27
28
  return [SentinelReportQuerySchema, ...super.queries]
28
29
  }
29
30
 
31
+ addArchivist(address: string[]) {
32
+ this.config.archivists = uniq([...address, ...(this.config.archivists ?? [])])
33
+ this._archivists = undefined
34
+ }
35
+
30
36
  addWitness(address: string[]) {
31
37
  this.config.witnesses = uniq([...address, ...(this.config.witnesses ?? [])])
32
38
  this._witnesses = undefined
33
39
  }
34
40
 
35
- async getArchivists() {
41
+ async getArchivists(account?: AccountInstance) {
36
42
  const addresses = this.config?.archivists ? (Array.isArray(this.config.archivists) ? this.config?.archivists : [this.config.archivists]) : []
37
43
  this._archivists =
38
- this._archivists ||
39
- ((await this.resolve({ address: addresses })) as AbstractArchivist[]).map(
40
- (witness) => new ArchivistWrapper({ account: this.account, module: witness }),
41
- )
44
+ this._archivists ?? (await this.resolve({ address: addresses })).map((witness) => ArchivistWrapper.wrap(witness, account ?? this.account))
45
+
46
+ this.logger?.warn(`Not all archivists found [Requested: ${addresses.length}, Found: ${this._archivists.length}]`)
42
47
 
43
48
  return this._archivists
44
49
  }
45
50
 
46
- async getWitnesses() {
51
+ async getWitnesses(account?: AccountInstance) {
47
52
  const addresses = this.config?.witnesses ? (Array.isArray(this.config.witnesses) ? this.config?.witnesses : [this.config.witnesses]) : []
48
53
  this._witnesses =
49
- this._witnesses ||
50
- ((await this.resolve({ address: addresses })) as AbstractWitness[]).map(
51
- (witness) => new WitnessWrapper({ account: this.account, module: witness }),
52
- )
54
+ this._witnesses ?? (await this.resolve({ address: addresses })).map((witness) => WitnessWrapper.wrap(witness, account ?? this.account))
55
+
56
+ this.logger?.warn(`Not all witnesses found [Requested: ${addresses.length}, Found: ${this._witnesses.length}]`)
53
57
 
54
58
  return this._witnesses
55
59
  }