@substrate/api-sidecar 14.5.2 → 14.5.3

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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "14.5.2",
2
+ "version": "14.5.3",
3
3
  "name": "@substrate/api-sidecar",
4
4
  "description": "REST service that makes it easy to interact with blockchain nodes built using Substrate's FRAME framework.",
5
5
  "homepage": "https://github.com/paritytech/substrate-api-sidecar#readme",
@@ -1,5 +1,5 @@
1
1
  import { BlockHash } from '@polkadot/types/interfaces';
2
- import { IPalletStakingValidator } from 'src/types/responses';
2
+ import { IPalletStakingValidator } from '../../types/responses';
3
3
  import { AbstractService } from '../AbstractService';
4
4
  export declare class PalletsStakingValidatorsService extends AbstractService {
5
5
  /**
@@ -29,7 +29,15 @@ class PalletsStakingValidatorsService extends AbstractService_1.AbstractService
29
29
  async derivePalletStakingValidators(hash) {
30
30
  const { api } = this;
31
31
  const historicApi = await api.at(hash);
32
- const validatorSession = await historicApi.query.session.validators();
32
+ const [{ number }, validatorSession, validatorsEntries] = await Promise.all([
33
+ api.rpc.chain.getHeader(hash),
34
+ historicApi.query.session.validators(),
35
+ historicApi.query.staking.validators.entries(),
36
+ ]);
37
+ const at = {
38
+ hash,
39
+ height: number.unwrap().toString(10),
40
+ };
33
41
  const validatorsActiveSet = new Set();
34
42
  for (const address of validatorSession) {
35
43
  validatorsActiveSet.add(address.toString());
@@ -38,7 +46,9 @@ class PalletsStakingValidatorsService extends AbstractService_1.AbstractService
38
46
  // status. If the address is found in the `validatorsActiveSet` then
39
47
  // status is `active` otherwise is set to `waiting`
40
48
  const validators = [];
41
- const validatorsEntries = await historicApi.query.staking.validators.entries();
49
+ // Active validators that wont be part of the next active validator set
50
+ // for the incoming era.
51
+ const validatorsToBeChilled = [];
42
52
  validatorsEntries.map(([key]) => {
43
53
  const address = key.args.map((k) => k.toString())[0];
44
54
  let status;
@@ -52,10 +62,15 @@ class PalletsStakingValidatorsService extends AbstractService_1.AbstractService
52
62
  validators.push({ address, status });
53
63
  });
54
64
  if (validatorsActiveSet.size > 0) {
55
- validatorsActiveSet.forEach((address) => validators.push({ address, status: 'active' }));
65
+ validatorsActiveSet.forEach((address) => {
66
+ validators.push({ address, status: 'active' });
67
+ validatorsToBeChilled.push({ address, status: 'active' });
68
+ });
56
69
  }
57
70
  return {
71
+ at,
58
72
  validators,
73
+ validatorsToBeChilled,
59
74
  };
60
75
  }
61
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PalletsStakingValidatorsService.js","sourceRoot":"","sources":["../../../../src/services/pallets/PalletsStakingValidatorsService.ts"],"names":[],"mappings":";AAAA,oDAAoD;AACpD,8CAA8C;AAC9C,EAAE;AACF,gFAAgF;AAChF,uEAAuE;AACvE,oEAAoE;AACpE,sCAAsC;AACtC,EAAE;AACF,kEAAkE;AAClE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,EAAE;AACF,oEAAoE;AACpE,wEAAwE;;;AAKxE,wDAAqD;AAErD,MAAa,+BAAgC,SAAQ,iCAAe;IACnE;;;;;;;OAOG;IACH,KAAK,CAAC,6BAA6B,CAClC,IAAe;QAEf,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACrB,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAEvC,MAAM,gBAAgB,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACtE,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9C,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE;YACvC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC5C;QAED,mEAAmE;QACnE,oEAAoE;QACpE,mDAAmD;QACnD,MAAM,UAAU,GAAiB,EAAE,CAAC;QACpC,MAAM,iBAAiB,GACtB,MAAM,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAEtD,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE;YAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,IAAI,MAA4B,CAAC;YACjC,IAAI,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;gBACrC,MAAM,GAAG,QAAQ,CAAC;gBAClB,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACpC;iBAAM;gBACN,MAAM,GAAG,SAAS,CAAC;aACnB;YACD,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAI,mBAAmB,CAAC,IAAI,GAAG,CAAC,EAAE;YACjC,mBAAmB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CACvC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAC9C,CAAC;SACF;QAED,OAAO;YACN,UAAU;SACV,CAAC;IACH,CAAC;CACD;AAlDD,0EAkDC"}
1
+ {"version":3,"file":"PalletsStakingValidatorsService.js","sourceRoot":"","sources":["../../../../src/services/pallets/PalletsStakingValidatorsService.ts"],"names":[],"mappings":";AAAA,oDAAoD;AACpD,8CAA8C;AAC9C,EAAE;AACF,gFAAgF;AAChF,uEAAuE;AACvE,oEAAoE;AACpE,sCAAsC;AACtC,EAAE;AACF,kEAAkE;AAClE,iEAAiE;AACjE,gEAAgE;AAChE,+CAA+C;AAC/C,EAAE;AACF,oEAAoE;AACpE,wEAAwE;;;AAKxE,wDAAqD;AAErD,MAAa,+BAAgC,SAAQ,iCAAe;IACnE;;;;;;;OAOG;IACH,KAAK,CAAC,6BAA6B,CAClC,IAAe;QAEf,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACrB,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAC1E;YACC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;YAC7B,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE;YACtC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE;SAC9C,CACD,CAAC;QAEF,MAAM,EAAE,GAAG;YACV,IAAI;YACJ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;SACpC,CAAC;QAEF,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9C,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE;YACvC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC5C;QAED,mEAAmE;QACnE,oEAAoE;QACpE,mDAAmD;QACnD,MAAM,UAAU,GAAiB,EAAE,CAAC;QACpC,uEAAuE;QACvE,wBAAwB;QACxB,MAAM,qBAAqB,GAAiB,EAAE,CAAC;QAE/C,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE;YAC/B,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,IAAI,MAA4B,CAAC;YACjC,IAAI,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;gBACrC,MAAM,GAAG,QAAQ,CAAC;gBAClB,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACpC;iBAAM;gBACN,MAAM,GAAG,SAAS,CAAC;aACnB;YACD,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAI,mBAAmB,CAAC,IAAI,GAAG,CAAC,EAAE;YACjC,mBAAmB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACvC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC/C,qBAAqB,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;SACH;QAED,OAAO;YACN,EAAE;YACF,UAAU;YACV,qBAAqB;SACrB,CAAC;IACH,CAAC;CACD;AAjED,0EAiEC"}
@@ -1,3 +1,4 @@
1
+ import { IAt } from './At';
1
2
  export interface IValidator {
2
3
  /**
3
4
  * Address of the validator.
@@ -11,5 +12,7 @@ export interface IValidator {
11
12
  status: string;
12
13
  }
13
14
  export interface IPalletStakingValidator {
15
+ at: IAt;
14
16
  validators: IValidator[];
17
+ validatorsToBeChilled: IValidator[];
15
18
  }
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "14.5.2",
2
+ "version": "14.5.3",
3
3
  "name": "@substrate/api-sidecar",
4
4
  "description": "REST service that makes it easy to interact with blockchain nodes built using Substrate's FRAME framework.",
5
5
  "homepage": "https://github.com/paritytech/substrate-api-sidecar#readme",