@mainsail/consensus 0.0.1-evm.4 → 0.0.1-evm.40

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.
Files changed (52) hide show
  1. package/distribution/aggregator.d.ts +3 -4
  2. package/distribution/aggregator.d.ts.map +1 -1
  3. package/distribution/aggregator.js +9 -7
  4. package/distribution/aggregator.js.map +1 -1
  5. package/distribution/bootstrapper.d.ts +1 -1
  6. package/distribution/bootstrapper.d.ts.map +1 -1
  7. package/distribution/bootstrapper.js +12 -9
  8. package/distribution/bootstrapper.js.map +1 -1
  9. package/distribution/commit-state.d.ts +2 -3
  10. package/distribution/commit-state.d.ts.map +1 -1
  11. package/distribution/commit-state.js +21 -41
  12. package/distribution/commit-state.js.map +1 -1
  13. package/distribution/consensus.d.ts +8 -7
  14. package/distribution/consensus.d.ts.map +1 -1
  15. package/distribution/consensus.js +247 -211
  16. package/distribution/consensus.js.map +1 -1
  17. package/distribution/index.d.ts.map +1 -1
  18. package/distribution/index.js +19 -7
  19. package/distribution/index.js.map +1 -1
  20. package/distribution/processors/abstract-processor.d.ts +4 -4
  21. package/distribution/processors/abstract-processor.d.ts.map +1 -1
  22. package/distribution/processors/abstract-processor.js +11 -7
  23. package/distribution/processors/abstract-processor.js.map +1 -1
  24. package/distribution/processors/commit-processor.d.ts +1 -2
  25. package/distribution/processors/commit-processor.d.ts.map +1 -1
  26. package/distribution/processors/commit-processor.js +24 -44
  27. package/distribution/processors/commit-processor.js.map +1 -1
  28. package/distribution/processors/precommit-processor.d.ts +2 -1
  29. package/distribution/processors/precommit-processor.d.ts.map +1 -1
  30. package/distribution/processors/precommit-processor.js +57 -25
  31. package/distribution/processors/precommit-processor.js.map +1 -1
  32. package/distribution/processors/prevote-processor.d.ts +2 -1
  33. package/distribution/processors/prevote-processor.d.ts.map +1 -1
  34. package/distribution/processors/prevote-processor.js +59 -25
  35. package/distribution/processors/prevote-processor.js.map +1 -1
  36. package/distribution/processors/proposal-processor.d.ts +2 -2
  37. package/distribution/processors/proposal-processor.d.ts.map +1 -1
  38. package/distribution/processors/proposal-processor.js +37 -40
  39. package/distribution/processors/proposal-processor.js.map +1 -1
  40. package/distribution/round-state-repository.d.ts +2 -2
  41. package/distribution/round-state-repository.d.ts.map +1 -1
  42. package/distribution/round-state-repository.js +13 -23
  43. package/distribution/round-state-repository.js.map +1 -1
  44. package/distribution/round-state.d.ts +4 -4
  45. package/distribution/round-state.d.ts.map +1 -1
  46. package/distribution/round-state.js +128 -152
  47. package/distribution/round-state.js.map +1 -1
  48. package/distribution/scheduler.d.ts +1 -1
  49. package/distribution/scheduler.d.ts.map +1 -1
  50. package/distribution/scheduler.js +47 -64
  51. package/distribution/scheduler.js.map +1 -1
  52. package/package.json +12 -10
@@ -1,11 +1,10 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- import { Contracts } from "@mainsail/contracts";
1
+ import type { Contracts } from "@mainsail/contracts";
3
2
  export declare class Aggregator implements Contracts.Consensus.Aggregator {
4
3
  private readonly validatorSet;
5
4
  private readonly workerPool;
6
5
  aggregate(majority: Map<number, {
7
6
  signature: string;
8
- }>, activeValidators: number): Promise<Contracts.Crypto.AggregatedSignature>;
9
- verify(signature: Contracts.Crypto.AggregatedSignature, data: Buffer, activeValidators: number): Promise<boolean>;
7
+ }>, roundValidators: number): Promise<Contracts.Crypto.AggregatedSignature>;
8
+ verify(signature: Contracts.Crypto.AggregatedSignature, data: Buffer, roundValidators: number): Promise<boolean>;
10
9
  }
11
10
  //# sourceMappingURL=aggregator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"aggregator.d.ts","sourceRoot":"","sources":["../source/aggregator.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAe,MAAM,qBAAqB,CAAC;AAG7D,qBACa,UAAW,YAAW,SAAS,CAAC,SAAS,CAAC,UAAU;IAEhE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAG/D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAE7C,SAAS,CACrB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,EAC5C,gBAAgB,EAAE,MAAM,GACtB,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC;IAuB1C,MAAM,CACX,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,mBAAmB,EAC/C,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,GACtB,OAAO,CAAC,OAAO,CAAC;CAoBnB"}
1
+ {"version":3,"file":"aggregator.d.ts","sourceRoot":"","sources":["../source/aggregator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,qBACa,UAAW,YAAW,SAAS,CAAC,SAAS,CAAC,UAAU;IAEhE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAG/D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAE7C,SAAS,CACrB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,EAC5C,eAAe,EAAE,MAAM,GACrB,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC;IAuB1C,MAAM,CACX,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,mBAAmB,EAC/C,IAAI,EAAE,MAAM,EACZ,eAAe,EAAE,MAAM,GACrB,OAAO,CAAC,OAAO,CAAC;CAoBnB"}
@@ -7,16 +7,18 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
+ import { isMajority } from "@mainsail/blockchain-utils";
11
+ import { Identifiers } from "@mainsail/constants";
10
12
  import { inject, injectable } from "@mainsail/container";
11
- import { Contracts, Identifiers } from "@mainsail/contracts";
12
- import { Utils } from "@mainsail/kernel";
13
13
  let Aggregator = class Aggregator {
14
- async aggregate(majority, activeValidators) {
15
- if (!Utils.isMajority(majority.size, activeValidators)) {
14
+ validatorSet;
15
+ workerPool;
16
+ async aggregate(majority, roundValidators) {
17
+ if (!isMajority(majority.size, roundValidators)) {
16
18
  throw new Error("Failed to aggregate signatures, because the majority is not reached.");
17
19
  }
18
20
  const signatures = [];
19
- const validators = Array.from({ length: activeValidators }).fill(false);
21
+ const validators = Array.from({ length: roundValidators }).fill(false);
20
22
  for (const [key, { signature }] of majority) {
21
23
  signatures.push(Buffer.from(signature, "hex"));
22
24
  validators[key] = true;
@@ -28,11 +30,11 @@ let Aggregator = class Aggregator {
28
30
  validators,
29
31
  };
30
32
  }
31
- async verify(signature, data, activeValidators) {
33
+ async verify(signature, data, roundValidators) {
32
34
  const validatorPublicKeys = signature.validators
33
35
  .map((v, index) => (v ? Buffer.from(this.validatorSet.getValidator(index).blsPublicKey, "hex") : undefined))
34
36
  .filter((item) => !!item);
35
- if (!Utils.isMajority(validatorPublicKeys.length, activeValidators)) {
37
+ if (!isMajority(validatorPublicKeys.length, roundValidators)) {
36
38
  return false;
37
39
  }
38
40
  const worker = await this.workerPool.getWorker();
@@ -1 +1 @@
1
- {"version":3,"file":"aggregator.js","sourceRoot":"","sources":["../source/aggregator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGlC,IAAM,UAAU,GAAhB,MAAM,UAAU;IAOf,KAAK,CAAC,SAAS,CACrB,QAA4C,EAC5C,gBAAwB;QAExB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QACzF,CAAC;QAED,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,MAAM,UAAU,GAAc,KAAK,CAAC,IAAI,CAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE5F,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC7C,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YAC/C,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACxB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QACjD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAE3E,OAAO;YACN,SAAS;YACT,UAAU;SACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACX,SAA+C,EAC/C,IAAY,EACZ,gBAAwB;QAExB,MAAM,mBAAmB,GAAa,SAAS,CAAC,UAAU;aACxD,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;aAC3G,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,CAAC;YACrE,OAAO,KAAK,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAEjD,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAE5F,OAAO,MAAM,MAAM,CAAC,kBAAkB,CACrC,QAAQ,EACR,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,EACvC,IAAI,EACJ,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,CACvC,CAAC;IACH,CAAC;CACD,CAAA;AAvDiB;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC;;gDACsB;AAG9C;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC;;8CACc;AAL9C,UAAU;IADtB,UAAU,EAAE;GACA,UAAU,CAyDtB"}
1
+ {"version":3,"file":"aggregator.js","sourceRoot":"","sources":["../source/aggregator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIlD,IAAM,UAAU,GAAhB,MAAM,UAAU;IAEL,YAAY,CAAkC;IAG9C,UAAU,CAA+B;IAEnD,KAAK,CAAC,SAAS,CACrB,QAA4C,EAC5C,eAAuB;QAEvB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QACzF,CAAC;QAED,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,MAAM,UAAU,GAAc,KAAK,CAAC,IAAI,CAAU,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE3F,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC7C,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YAC/C,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACxB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QACjD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAE3E,OAAO;YACN,SAAS;YACT,UAAU;SACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACX,SAA+C,EAC/C,IAAY,EACZ,eAAuB;QAEvB,MAAM,mBAAmB,GAAa,SAAS,CAAC,UAAU;aACxD,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;aAC3G,MAAM,CAAC,CAAC,IAAI,EAA+B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAExD,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC;YAC9D,OAAO,KAAK,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAEjD,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAE5F,OAAO,MAAM,MAAM,CAAC,kBAAkB,CACrC,QAAQ,EACR,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,EACvC,IAAI,EACJ,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,CACvC,CAAC;IACH,CAAC;CACD,CAAA;AAvDiB;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC;;gDACsB;AAG9C;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC;;8CACc;AAL9C,UAAU;IADtB,UAAU,EAAE;GACA,UAAU,CAyDtB"}
@@ -1,4 +1,4 @@
1
- import { Contracts } from "@mainsail/contracts";
1
+ import type { Contracts } from "@mainsail/contracts";
2
2
  export declare class Bootstrapper implements Contracts.Consensus.Bootstrapper {
3
3
  private readonly logger;
4
4
  private readonly roundStateRepo;
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrapper.d.ts","sourceRoot":"","sources":["../source/bootstrapper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAsB,MAAM,qBAAqB,CAAC;AAEpE,qBACa,YAAa,YAAW,SAAS,CAAC,SAAS,CAAC,YAAY;IAEpE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAGlD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4C;IAG3E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsC;IAEjD,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC;CA6ClE"}
1
+ {"version":3,"file":"bootstrapper.d.ts","sourceRoot":"","sources":["../source/bootstrapper.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAS,MAAM,qBAAqB,CAAC;AAE5D,qBACa,YAAa,YAAW,SAAS,CAAC,SAAS,CAAC,YAAY;IAEpE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAGlD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4C;IAG3E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsC;IAEjD,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC;CA6ClE"}
@@ -7,26 +7,29 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
+ import { Identifiers } from "@mainsail/constants";
10
11
  import { inject, injectable } from "@mainsail/container";
11
- import { Contracts, Identifiers } from "@mainsail/contracts";
12
12
  let Bootstrapper = class Bootstrapper {
13
+ logger;
14
+ roundStateRepo;
15
+ storage;
13
16
  async run() {
14
17
  const proposals = await this.storage.getProposals();
15
- this.logger.info(`Consensus Bootstrap - Proposals: ${proposals.length}`);
18
+ this.logger.info(`Consensus Bootstrap - Proposals: ${proposals.length}`, "consensus");
16
19
  for (const proposal of proposals) {
17
- const roundState = this.roundStateRepo.getRoundState(proposal.height, proposal.round);
20
+ const roundState = this.roundStateRepo.getRoundState(proposal.blockHeader.number, proposal.round);
18
21
  roundState.addProposal(proposal);
19
22
  }
20
23
  const prevotes = await this.storage.getPrevotes();
21
- this.logger.info(`Consensus Bootstrap - Prevotes: ${prevotes.length}`);
24
+ this.logger.info(`Consensus Bootstrap - Prevotes: ${prevotes.length}`, "consensus");
22
25
  for (const prevote of prevotes) {
23
- const roundState = this.roundStateRepo.getRoundState(prevote.height, prevote.round);
26
+ const roundState = this.roundStateRepo.getRoundState(prevote.blockNumber, prevote.round);
24
27
  roundState.addPrevote(prevote);
25
28
  }
26
29
  const precommits = await this.storage.getPrecommits();
27
- this.logger.info(`Consensus Bootstrap - Precommits: ${precommits.length}`);
30
+ this.logger.info(`Consensus Bootstrap - Precommits: ${precommits.length}`, "consensus");
28
31
  for (const precommit of precommits) {
29
- const roundState = this.roundStateRepo.getRoundState(precommit.height, precommit.round);
32
+ const roundState = this.roundStateRepo.getRoundState(precommit.blockNumber, precommit.round);
30
33
  roundState.addPrecommit(precommit);
31
34
  }
32
35
  const state = (await this.storage.getState());
@@ -35,12 +38,12 @@ let Bootstrapper = class Bootstrapper {
35
38
  }
36
39
  if (state.validRound !== undefined) {
37
40
  // TODO: ensure validRound points to an existing round?
38
- const roundState = this.roundStateRepo.getRoundState(state.height, state.validRound);
41
+ const roundState = this.roundStateRepo.getRoundState(state.blockNumber, state.validRound);
39
42
  state.validValue = roundState;
40
43
  }
41
44
  if (state.lockedRound !== undefined) {
42
45
  // TODO: ensure lockedRound points to an existing round?
43
- const roundState = this.roundStateRepo.getRoundState(state.height, state.lockedRound);
46
+ const roundState = this.roundStateRepo.getRoundState(state.blockNumber, state.lockedRound);
44
47
  state.lockedValue = roundState;
45
48
  }
46
49
  return state;
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrapper.js","sourceRoot":"","sources":["../source/bootstrapper.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAS,MAAM,qBAAqB,CAAC;AAG7D,IAAM,YAAY,GAAlB,MAAM,YAAY;IAUjB,KAAK,CAAC,GAAG;QACf,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAEpD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAEzE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YACtF,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAElD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACvE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAChC,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACpF,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAEtD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3E,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACpC,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YACxF,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAyD,CAAC;QACtG,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACpC,uDAAuD;YACvD,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;YACrF,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/B,CAAC;QAED,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,wDAAwD;YACxD,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YACtF,KAAK,CAAC,WAAW,GAAG,UAAU,CAAC;QAChC,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;CACD,CAAA;AArDiB;IADhB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;;4CACS;AAGjC;IADhB,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,oBAAoB,CAAC;;oDACwB;AAG1D;IADhB,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC;;6CACiB;AARlD,YAAY;IADxB,UAAU,EAAE;GACA,YAAY,CAuDxB"}
1
+ {"version":3,"file":"bootstrapper.js","sourceRoot":"","sources":["../source/bootstrapper.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,9 @@
1
- import { Contracts } from "@mainsail/contracts";
1
+ import type { Contracts } from "@mainsail/contracts";
2
2
  export declare class CommitState implements Contracts.Processor.ProcessableUnit {
3
3
  #private;
4
4
  private readonly validatorSet;
5
- get height(): number;
5
+ get blockNumber(): number;
6
6
  get round(): number;
7
- get persist(): boolean;
8
7
  get validators(): string[];
9
8
  configure(commit: Contracts.Crypto.Commit): CommitState;
10
9
  getBlock(): Contracts.Crypto.Block;
@@ -1 +1 @@
1
- {"version":3,"file":"commit-state.d.ts","sourceRoot":"","sources":["../source/commit-state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAe,MAAM,qBAAqB,CAAC;AAE7D,qBACa,WAAY,YAAW,SAAS,CAAC,SAAS,CAAC,eAAe;;IAEtE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAO/D,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED,IAAW,UAAU,IAAI,MAAM,EAAE,CAEhC;IAEM,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,WAAW;IAYvD,QAAQ,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK;IAIlC,kBAAkB,CAAC,eAAe,EAAE,SAAS,CAAC,SAAS,CAAC,oBAAoB,GAAG,IAAI;IAInF,kBAAkB,IAAI,OAAO;IAI7B,kBAAkB,IAAI,SAAS,CAAC,SAAS,CAAC,oBAAoB;IAQ9D,iBAAiB,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC;IAIvD,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,IAAI;IAI/D,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;CAG1D"}
1
+ {"version":3,"file":"commit-state.d.ts","sourceRoot":"","sources":["../source/commit-state.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,qBACa,WAAY,YAAW,SAAS,CAAC,SAAS,CAAC,eAAe;;IAEtE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAO/D,IAAW,WAAW,IAAI,MAAM,CAE/B;IAED,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,UAAU,IAAI,MAAM,EAAE,CAEhC;IAEM,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,WAAW;IAYvD,QAAQ,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK;IAIlC,kBAAkB,CAAC,eAAe,EAAE,SAAS,CAAC,SAAS,CAAC,oBAAoB,GAAG,IAAI;IAInF,kBAAkB,IAAI,OAAO;IAI7B,kBAAkB,IAAI,SAAS,CAAC,SAAS,CAAC,oBAAoB;IAQ9D,iBAAiB,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC;IAIvD,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,IAAI;IAI/D,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;CAG1D"}
@@ -7,77 +7,57 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
11
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
12
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
13
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
14
- };
15
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
16
- if (kind === "m") throw new TypeError("Private method is not writable");
17
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
18
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
19
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
20
- };
21
- var _CommitState_commit, _CommitState_processorResult, _CommitState_validators, _CommitState_accountUpdates;
10
+ import { Identifiers } from "@mainsail/constants";
22
11
  import { inject, injectable } from "@mainsail/container";
23
- import { Contracts, Identifiers } from "@mainsail/contracts";
24
12
  let CommitState = class CommitState {
25
- constructor() {
26
- _CommitState_commit.set(this, void 0);
27
- _CommitState_processorResult.set(this, void 0);
28
- _CommitState_validators.set(this, new Map());
29
- _CommitState_accountUpdates.set(this, []);
30
- }
31
- get height() {
32
- return __classPrivateFieldGet(this, _CommitState_commit, "f").block.data.height;
13
+ validatorSet;
14
+ #commit;
15
+ #processorResult;
16
+ #validators = new Map();
17
+ #accountUpdates = [];
18
+ get blockNumber() {
19
+ return this.#commit.block.data.number;
33
20
  }
34
21
  get round() {
35
- return __classPrivateFieldGet(this, _CommitState_commit, "f").proof.round;
36
- }
37
- get persist() {
38
- return false; // Block downloader will store block in database, to improve performance
22
+ return this.#commit.proof.round;
39
23
  }
40
24
  get validators() {
41
- return [...__classPrivateFieldGet(this, _CommitState_validators, "f").keys()];
25
+ return [...this.#validators.keys()];
42
26
  }
43
27
  configure(commit) {
44
- __classPrivateFieldSet(this, _CommitState_commit, commit, "f");
45
- const validators = this.validatorSet.getActiveValidators();
28
+ this.#commit = commit;
29
+ const validators = this.validatorSet.getRoundValidators();
46
30
  for (const validator of validators) {
47
31
  const consensusPublicKey = validator.blsPublicKey;
48
- __classPrivateFieldGet(this, _CommitState_validators, "f").set(consensusPublicKey, validator);
32
+ this.#validators.set(consensusPublicKey, validator);
49
33
  }
50
34
  return this;
51
35
  }
52
36
  getBlock() {
53
- return __classPrivateFieldGet(this, _CommitState_commit, "f").block;
37
+ return this.#commit.block;
54
38
  }
55
39
  setProcessorResult(processorResult) {
56
- __classPrivateFieldSet(this, _CommitState_processorResult, processorResult, "f");
40
+ this.#processorResult = processorResult;
57
41
  }
58
42
  hasProcessorResult() {
59
- return __classPrivateFieldGet(this, _CommitState_processorResult, "f") !== undefined;
43
+ return this.#processorResult !== undefined;
60
44
  }
61
45
  getProcessorResult() {
62
- if (__classPrivateFieldGet(this, _CommitState_processorResult, "f") == undefined) {
46
+ if (this.#processorResult == undefined) {
63
47
  throw new Error("Processor result is undefined.");
64
48
  }
65
- return __classPrivateFieldGet(this, _CommitState_processorResult, "f");
49
+ return this.#processorResult;
66
50
  }
67
51
  getAccountUpdates() {
68
- return __classPrivateFieldGet(this, _CommitState_accountUpdates, "f");
52
+ return this.#accountUpdates;
69
53
  }
70
54
  setAccountUpdates(accounts) {
71
- __classPrivateFieldSet(this, _CommitState_accountUpdates, accounts, "f");
55
+ this.#accountUpdates = accounts;
72
56
  }
73
57
  async getCommit() {
74
- return __classPrivateFieldGet(this, _CommitState_commit, "f");
58
+ return this.#commit;
75
59
  }
76
60
  };
77
- _CommitState_commit = new WeakMap();
78
- _CommitState_processorResult = new WeakMap();
79
- _CommitState_validators = new WeakMap();
80
- _CommitState_accountUpdates = new WeakMap();
81
61
  __decorate([
82
62
  inject(Identifiers.ValidatorSet.Service),
83
63
  __metadata("design:type", Object)
@@ -1 +1 @@
1
- {"version":3,"file":"commit-state.js","sourceRoot":"","sources":["../source/commit-state.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGtD,IAAM,WAAW,GAAjB,MAAM,WAAW;IAAjB;QAIN,sCAAkC;QAClC,+CAA4D;QAC5D,kCAAc,IAAI,GAAG,EAA2C,EAAC;QACjE,sCAAsD,EAAE,EAAC;IA6D1D,CAAC;IA3DA,IAAW,MAAM;QAChB,OAAO,uBAAA,IAAI,2BAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;IACvC,CAAC;IAED,IAAW,KAAK;QACf,OAAO,uBAAA,IAAI,2BAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;IACjC,CAAC;IAED,IAAW,OAAO;QACjB,OAAO,KAAK,CAAC,CAAC,wEAAwE;IACvF,CAAC;IAED,IAAW,UAAU;QACpB,OAAO,CAAC,GAAG,uBAAA,IAAI,+BAAY,CAAC,IAAI,EAAE,CAAC,CAAC;IACrC,CAAC;IAEM,SAAS,CAAC,MAA+B;QAC/C,uBAAA,IAAI,uBAAW,MAAM,MAAA,CAAC;QAEtB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;QAC3D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACpC,MAAM,kBAAkB,GAAG,SAAS,CAAC,YAAY,CAAC;YAClD,uBAAA,IAAI,+BAAY,CAAC,GAAG,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,QAAQ;QACd,OAAO,uBAAA,IAAI,2BAAQ,CAAC,KAAK,CAAC;IAC3B,CAAC;IAEM,kBAAkB,CAAC,eAAyD;QAClF,uBAAA,IAAI,gCAAoB,eAAe,MAAA,CAAC;IACzC,CAAC;IAEM,kBAAkB;QACxB,OAAO,uBAAA,IAAI,oCAAiB,KAAK,SAAS,CAAC;IAC5C,CAAC;IAEM,kBAAkB;QACxB,IAAI,uBAAA,IAAI,oCAAiB,IAAI,SAAS,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,uBAAA,IAAI,oCAAiB,CAAC;IAC9B,CAAC;IAEM,iBAAiB;QACvB,OAAO,uBAAA,IAAI,mCAAgB,CAAC;IAC7B,CAAC;IAEM,iBAAiB,CAAC,QAA4C;QACpE,uBAAA,IAAI,+BAAmB,QAAQ,MAAA,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,SAAS;QACrB,OAAO,uBAAA,IAAI,2BAAQ,CAAC;IACrB,CAAC;CACD,CAAA;;;;;AAlEiB;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC;;iDACsB;AAFnD,WAAW;IADvB,UAAU,EAAE;GACA,WAAW,CAoEvB"}
1
+ {"version":3,"file":"commit-state.js","sourceRoot":"","sources":["../source/commit-state.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIlD,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEN,YAAY,CAAkC;IAE/D,OAAO,CAA2B;IAClC,gBAAgB,CAA4C;IAC5D,WAAW,GAAG,IAAI,GAAG,EAA2C,CAAC;IACjE,eAAe,GAAuC,EAAE,CAAC;IAEzD,IAAW,WAAW;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;IACvC,CAAC;IAED,IAAW,KAAK;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;IACjC,CAAC;IAED,IAAW,UAAU;QACpB,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IACrC,CAAC;IAEM,SAAS,CAAC,MAA+B;QAC/C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAC1D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACpC,MAAM,kBAAkB,GAAG,SAAS,CAAC,YAAY,CAAC;YAClD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,QAAQ;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC3B,CAAC;IAEM,kBAAkB,CAAC,eAAyD;QAClF,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;IACzC,CAAC;IAEM,kBAAkB;QACxB,OAAO,IAAI,CAAC,gBAAgB,KAAK,SAAS,CAAC;IAC5C,CAAC;IAEM,kBAAkB;QACxB,IAAI,IAAI,CAAC,gBAAgB,IAAI,SAAS,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC9B,CAAC;IAEM,iBAAiB;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC7B,CAAC;IAEM,iBAAiB,CAAC,QAA4C;QACpE,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,SAAS;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;CACD,CAAA;AA9DiB;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC;;iDACsB;AAFnD,WAAW;IADvB,UAAU,EAAE;GACA,WAAW,CAgEvB"}
@@ -1,4 +1,4 @@
1
- import { Contracts } from "@mainsail/contracts";
1
+ import type { Contracts } from "@mainsail/contracts";
2
2
  export declare class Consensus implements Contracts.Consensus.Service {
3
3
  #private;
4
4
  private readonly app;
@@ -16,7 +16,8 @@ export declare class Consensus implements Contracts.Consensus.Service {
16
16
  private readonly validatorSet;
17
17
  private readonly eventDispatcher;
18
18
  private readonly logger;
19
- getHeight(): number;
19
+ private readonly statisticService;
20
+ getBlockNumber(): number;
20
21
  getRound(): number;
21
22
  setRound(round: number): void;
22
23
  getStep(): Contracts.Consensus.Step;
@@ -24,7 +25,7 @@ export declare class Consensus implements Contracts.Consensus.Service {
24
25
  getLockedRound(): number | undefined;
25
26
  getValidRound(): number | undefined;
26
27
  setValidRound(round: Contracts.Consensus.RoundState): void;
27
- setProposal(proposalPromise: Promise<Contracts.Crypto.Proposal>): void;
28
+ setProposal(proposalPromise: Promise<Contracts.Crypto.Proposal>, block: Contracts.Crypto.Block): void;
28
29
  getState(): Contracts.Consensus.State;
29
30
  run(): Promise<void>;
30
31
  dispose(): Promise<void>;
@@ -38,11 +39,11 @@ export declare class Consensus implements Contracts.Consensus.Service {
38
39
  protected onMajorityPrevoteAny(roundState: Contracts.Consensus.RoundState): Promise<void>;
39
40
  protected onMajorityPrevoteNull(roundState: Contracts.Consensus.RoundState): Promise<void>;
40
41
  protected onMajorityPrecommitAny(roundState: Contracts.Consensus.RoundState): Promise<void>;
41
- protected onMajorityPrecommit(roundState: Contracts.Processor.ProcessableUnit): Promise<void>;
42
+ protected onMajorityPrecommit(processState: Contracts.Processor.ProcessableUnit, isRoundState?: boolean): Promise<void>;
42
43
  protected onMinorityWithHigherRound(roundState: Contracts.Processor.ProcessableUnit): Promise<void>;
43
- onTimeoutPropose(height: number, round: number): Promise<void>;
44
- onTimeoutPrevote(height: number, round: number): Promise<void>;
45
- onTimeoutPrecommit(height: number, round: number): Promise<void>;
44
+ onTimeoutPropose(blockNumber: number, round: number): Promise<void>;
45
+ onTimeoutPrevote(blockNumber: number, round: number): Promise<void>;
46
+ onTimeoutPrecommit(blockNumber: number, round: number): Promise<void>;
46
47
  propose(roundState: Contracts.Consensus.RoundState): Promise<void>;
47
48
  prevote(value?: string): Promise<void>;
48
49
  precommit(value?: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"consensus.d.ts","sourceRoot":"","sources":["../source/consensus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consensus.d.ts","sourceRoot":"","sources":["../source/consensus.ts"],"names":[],"mappings":"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"}