@mainsail/consensus 0.0.1-evm.5 → 0.0.1-evm.51

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 (65) hide show
  1. package/distribution/aggregator.d.ts +3 -4
  2. package/distribution/aggregator.d.ts.map +1 -1
  3. package/distribution/aggregator.js +11 -9
  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 +15 -16
  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 +10 -9
  14. package/distribution/consensus.d.ts.map +1 -1
  15. package/distribution/consensus.js +274 -224
  16. package/distribution/consensus.js.map +1 -1
  17. package/distribution/index.d.ts +1 -5
  18. package/distribution/index.d.ts.map +1 -1
  19. package/distribution/index.js +1 -30
  20. package/distribution/index.js.map +1 -1
  21. package/distribution/processors/abstract-processor.d.ts +5 -5
  22. package/distribution/processors/abstract-processor.d.ts.map +1 -1
  23. package/distribution/processors/abstract-processor.js +11 -7
  24. package/distribution/processors/abstract-processor.js.map +1 -1
  25. package/distribution/processors/commit-processor.d.ts +1 -2
  26. package/distribution/processors/commit-processor.d.ts.map +1 -1
  27. package/distribution/processors/commit-processor.js +29 -46
  28. package/distribution/processors/commit-processor.js.map +1 -1
  29. package/distribution/processors/index.d.ts +1 -2
  30. package/distribution/processors/index.d.ts.map +1 -1
  31. package/distribution/processors/index.js +1 -2
  32. package/distribution/processors/index.js.map +1 -1
  33. package/distribution/processors/message-processor.d.ts +13 -0
  34. package/distribution/processors/message-processor.d.ts.map +1 -0
  35. package/distribution/processors/message-processor.js +117 -0
  36. package/distribution/processors/message-processor.js.map +1 -0
  37. package/distribution/processors/proposal-processor.d.ts +3 -2
  38. package/distribution/processors/proposal-processor.d.ts.map +1 -1
  39. package/distribution/processors/proposal-processor.js +46 -41
  40. package/distribution/processors/proposal-processor.js.map +1 -1
  41. package/distribution/round-state-repository.d.ts +2 -2
  42. package/distribution/round-state-repository.d.ts.map +1 -1
  43. package/distribution/round-state-repository.js +13 -23
  44. package/distribution/round-state-repository.js.map +1 -1
  45. package/distribution/round-state.d.ts +14 -10
  46. package/distribution/round-state.d.ts.map +1 -1
  47. package/distribution/round-state.js +173 -153
  48. package/distribution/round-state.js.map +1 -1
  49. package/distribution/scheduler.d.ts +1 -1
  50. package/distribution/scheduler.d.ts.map +1 -1
  51. package/distribution/scheduler.js +49 -65
  52. package/distribution/scheduler.js.map +1 -1
  53. package/distribution/service-provider.d.ts +6 -0
  54. package/distribution/service-provider.d.ts.map +1 -0
  55. package/distribution/service-provider.js +42 -0
  56. package/distribution/service-provider.js.map +1 -0
  57. package/package.json +14 -11
  58. package/distribution/processors/precommit-processor.d.ts +0 -12
  59. package/distribution/processors/precommit-processor.d.ts.map +0 -1
  60. package/distribution/processors/precommit-processor.js +0 -77
  61. package/distribution/processors/precommit-processor.js.map +0 -1
  62. package/distribution/processors/prevote-processor.d.ts +0 -12
  63. package/distribution/processors/prevote-processor.d.ts.map +0 -1
  64. package/distribution/processors/prevote-processor.js +0 -77
  65. package/distribution/processors/prevote-processor.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"consensus.js","sourceRoot":"","sources":["../source/consensus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consensus.js","sourceRoot":"","sources":["../source/consensus.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,2 @@
1
- import { Providers } from "@mainsail/kernel";
2
- export declare class ServiceProvider extends Providers.ServiceProvider {
3
- register(): Promise<void>;
4
- dispose(): Promise<void>;
5
- }
1
+ export * from "./service-provider.js";
6
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAS,MAAM,kBAAkB,CAAC;AAUpD,qBAAa,eAAgB,SAAQ,SAAS,CAAC,eAAe;IAChD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBzB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAIrC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
@@ -1,31 +1,2 @@
1
- import { Identifiers } from "@mainsail/contracts";
2
- import { Providers, Utils } from "@mainsail/kernel";
3
- import { Aggregator } from "./aggregator.js";
4
- import { Bootstrapper } from "./bootstrapper.js";
5
- import { CommitState } from "./commit-state.js";
6
- import { Consensus } from "./consensus.js";
7
- import { CommitProcessor, PrecommitProcessor, PrevoteProcessor, ProposalProcessor } from "./processors/index.js";
8
- import { RoundStateRepository } from "./round-state-repository.js";
9
- import { Scheduler } from "./scheduler.js";
10
- export class ServiceProvider extends Providers.ServiceProvider {
11
- async register() {
12
- this.app.bind(Identifiers.Consensus.Aggregator).to(Aggregator).inSingletonScope();
13
- this.app.bind(Identifiers.Consensus.RoundStateRepository).to(RoundStateRepository).inSingletonScope();
14
- this.app.bind(Identifiers.Consensus.Scheduler).to(Scheduler).inSingletonScope();
15
- this.app.bind(Identifiers.Consensus.Processor.Proposal).to(ProposalProcessor).inSingletonScope();
16
- this.app.bind(Identifiers.Consensus.Processor.PreVote).to(PrevoteProcessor).inSingletonScope();
17
- this.app.bind(Identifiers.Consensus.Processor.PreCommit).to(PrecommitProcessor).inSingletonScope();
18
- this.app.bind(Identifiers.Consensus.Processor.Commit).to(CommitProcessor).inSingletonScope();
19
- this.app.bind(Identifiers.Consensus.CommitLock).toConstantValue(new Utils.Lock());
20
- this.app
21
- .bind(Identifiers.Consensus.CommitState.Factory)
22
- .toFactory((context) => (commit) => context.container.resolve(CommitState).configure(commit));
23
- this.app.bind(Identifiers.Consensus.Bootstrapper).to(Bootstrapper).inSingletonScope();
24
- this.app.bind(Identifiers.Consensus.Service).toConstantValue(this.app.resolve(Consensus));
25
- }
26
- async dispose() {
27
- const consensus = this.app.get(Identifiers.Consensus.Service);
28
- await consensus.dispose();
29
- }
30
- }
1
+ export * from "./service-provider.js";
31
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACjH,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,OAAO,eAAgB,SAAQ,SAAS,CAAC,eAAe;IACtD,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAClF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACtG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAChF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACjG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC/F,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACnG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC7F,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAElF,IAAI,CAAC,GAAG;aACN,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC;aAC/C,SAAS,CACT,CAAC,OAA2B,EAAE,EAAE,CAAC,CAAC,MAA+B,EAAE,EAAE,CACpE,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CACzD,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACtF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3F,CAAC;IAEM,KAAK,CAAC,OAAO;QACnB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAY,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACzE,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;CACD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
@@ -1,11 +1,11 @@
1
- import { Contracts } from "@mainsail/contracts";
1
+ import type { Contracts } from "@mainsail/contracts";
2
2
  export declare class AbstractProcessor {
3
3
  protected readonly app: Contracts.Kernel.Application;
4
4
  protected readonly commitLock: Contracts.Kernel.Lock;
5
- private readonly stateStore;
6
- private readonly cryptoConfiguration;
7
- protected hasValidHeightOrRound(message: {
8
- height: number;
5
+ protected readonly stateStore: Contracts.State.Store;
6
+ private readonly timestampCalculator;
7
+ protected hasValidBlockNumberOrRound(message: {
8
+ blockNumber: number;
9
9
  round: number;
10
10
  }): boolean;
11
11
  protected isRoundInBounds(message: {
@@ -1 +1 @@
1
- {"version":3,"file":"abstract-processor.d.ts","sourceRoot":"","sources":["../../source/processors/abstract-processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAe,MAAM,qBAAqB,CAAC;AAI7D,qBACa,iBAAiB;IAE7B,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAG,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;IAGtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IAGpD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAkC;IAEtE,SAAS,CAAC,qBAAqB,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO;IAIpF,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO;IAW9D,SAAS,CAAC,YAAY,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO;CAGrD"}
1
+ {"version":3,"file":"abstract-processor.d.ts","sourceRoot":"","sources":["../../source/processors/abstract-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAMrD,qBACa,iBAAiB;IAE7B,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAG,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;IAGtD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAiD;IAErF,SAAS,CAAC,0BAA0B,CAAC,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO;IAO9F,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO;IAO9D,SAAS,CAAC,YAAY,IAAI,SAAS,CAAC,SAAS,CAAC,OAAO;CAGrD"}
@@ -7,16 +7,20 @@ 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
- import { Utils } from "@mainsail/kernel";
13
12
  import dayjs from "dayjs";
14
13
  let AbstractProcessor = class AbstractProcessor {
15
- hasValidHeightOrRound(message) {
16
- return message.height === this.getConsensus().getHeight() && message.round >= this.getConsensus().getRound();
14
+ app;
15
+ commitLock;
16
+ stateStore;
17
+ timestampCalculator;
18
+ hasValidBlockNumberOrRound(message) {
19
+ return (message.blockNumber === this.getConsensus().getBlockNumber() &&
20
+ message.round >= this.getConsensus().getRound());
17
21
  }
18
22
  isRoundInBounds(message) {
19
- const earliestTime = Utils.timestampCalculator.calculateMinimalTimestamp(this.stateStore.getLastBlock(), message.round, this.cryptoConfiguration) - 500; // Allow time drift between nodes
23
+ const earliestTime = this.timestampCalculator.calculateMinimalTimestamp(this.stateStore.getLastBlock(), message.round) - 500; // Allow time drift between nodes
20
24
  return dayjs().isAfter(dayjs(earliestTime));
21
25
  }
22
26
  getConsensus() {
@@ -36,9 +40,9 @@ __decorate([
36
40
  __metadata("design:type", Object)
37
41
  ], AbstractProcessor.prototype, "stateStore", void 0);
38
42
  __decorate([
39
- inject(Identifiers.Cryptography.Configuration),
43
+ inject(Identifiers.BlockchainUtils.TimestampCalculator),
40
44
  __metadata("design:type", Object)
41
- ], AbstractProcessor.prototype, "cryptoConfiguration", void 0);
45
+ ], AbstractProcessor.prototype, "timestampCalculator", void 0);
42
46
  AbstractProcessor = __decorate([
43
47
  injectable()
44
48
  ], AbstractProcessor);
@@ -1 +1 @@
1
- {"version":3,"file":"abstract-processor.js","sourceRoot":"","sources":["../../source/processors/abstract-processor.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;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAGnB,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAanB,qBAAqB,CAAC,OAA0C;QACzE,OAAO,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC,SAAS,EAAE,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC9G,CAAC;IAES,eAAe,CAAC,OAA0B;QACnD,MAAM,YAAY,GACjB,KAAK,CAAC,mBAAmB,CAAC,yBAAyB,CAClD,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,EAC9B,OAAO,CAAC,KAAK,EACb,IAAI,CAAC,mBAAmB,CACxB,GAAG,GAAG,CAAC,CAAC,iCAAiC;QAE3C,OAAO,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IAC7C,CAAC;IAES,YAAY;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAA8B,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjF,CAAC;CACD,CAAA;AA7BmB;IADlB,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC;;8CACa;AAGnC;IADlB,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC;;qDACa;AAGrC;IADhB,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;;qDACoB;AAGnC;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,aAAa,CAAC;;8DACuB;AAX1D,iBAAiB;IAD7B,UAAU,EAAE;GACA,iBAAiB,CA+B7B"}
1
+ {"version":3,"file":"abstract-processor.js","sourceRoot":"","sources":["../../source/processors/abstract-processor.ts"],"names":[],"mappings":";;;;;;;;;AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,MAAM,OAAO,CAAC;AAGnB,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAEV,GAAG,CAAgC;IAGnC,UAAU,CAAyB;IAGnC,UAAU,CAAyB;IAGrC,mBAAmB,CAAiD;IAE3E,0BAA0B,CAAC,OAA+C;QACnF,OAAO,CACN,OAAO,CAAC,WAAW,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC,cAAc,EAAE;YAC5D,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,CAC/C,CAAC;IACH,CAAC;IAES,eAAe,CAAC,OAA0B;QACnD,MAAM,YAAY,GACjB,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,iCAAiC;QAE3I,OAAO,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;IAC7C,CAAC;IAES,YAAY;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAA8B,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACjF,CAAC;CACD,CAAA;AA5BmB;IADlB,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC;;8CACa;AAGnC;IADlB,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC;;qDACa;AAGnC;IADlB,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC;;qDACsB;AAGrC;IADhB,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,mBAAmB,CAAC;;8DAC6B;AAXzE,iBAAiB;IAD7B,UAAU,EAAE;GACA,iBAAiB,CA8B7B"}
@@ -1,9 +1,8 @@
1
- import { Contracts } from "@mainsail/contracts";
1
+ import type { Contracts } from "@mainsail/contracts";
2
2
  import { AbstractProcessor } from "./abstract-processor.js";
3
3
  export declare class CommitProcessor extends AbstractProcessor implements Contracts.Consensus.CommitProcessor {
4
4
  #private;
5
5
  private readonly configuration;
6
- private readonly processor;
7
6
  private readonly validatorSet;
8
7
  private readonly serializer;
9
8
  private readonly aggregator;
@@ -1 +1 @@
1
- {"version":3,"file":"commit-processor.d.ts","sourceRoot":"","sources":["../../source/processors/commit-processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAe,MAAM,qBAAqB,CAAC;AAG7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,qBACa,eAAgB,SAAQ,iBAAkB,YAAW,SAAS,CAAC,SAAS,CAAC,eAAe;;IAEpG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAGhE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsC;IAGhE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAG/D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsC;IAGjE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAG7D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA0C;IAEvE,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC;IA6BtF,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CA+B1E"}
1
+ {"version":3,"file":"commit-processor.d.ts","sourceRoot":"","sources":["../../source/processors/commit-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAMrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,qBACa,eAAgB,SAAQ,iBAAkB,YAAW,SAAS,CAAC,SAAS,CAAC,eAAe;;IAEpG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAGhE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAG/D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsC;IAGjE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAG7D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA0C;IAEvE,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC;IActF,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAqC1E"}
@@ -7,43 +7,28 @@ 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 _CommitProcessor_instances, _CommitProcessor_hasValidHeight;
10
+ import { isMajority } from "@mainsail/blockchain-utils";
11
+ import { Enums, Identifiers } from "@mainsail/constants";
16
12
  import { inject, injectable } from "@mainsail/container";
17
- import { Contracts, Identifiers } from "@mainsail/contracts";
18
- import { Utils } from "@mainsail/kernel";
19
13
  import { AbstractProcessor } from "./abstract-processor.js";
20
14
  let CommitProcessor = class CommitProcessor extends AbstractProcessor {
21
- constructor() {
22
- super(...arguments);
23
- _CommitProcessor_instances.add(this);
24
- }
15
+ configuration;
16
+ validatorSet;
17
+ serializer;
18
+ aggregator;
19
+ commitStateFactory;
25
20
  async process(commit) {
26
- let promise;
27
- const result = await this.commitLock.runNonExclusive(async () => {
28
- if (!__classPrivateFieldGet(this, _CommitProcessor_instances, "m", _CommitProcessor_hasValidHeight).call(this, commit)) {
29
- return Contracts.Consensus.ProcessorResult.Skipped;
30
- }
31
- const commitState = this.commitStateFactory(commit);
32
- const result = await this.processor.process(commitState);
33
- if (!result.success) {
34
- return Contracts.Consensus.ProcessorResult.Invalid;
35
- }
36
- commitState.setProcessorResult(result);
37
- promise = this.getConsensus().handleCommitState(commitState);
38
- return Contracts.Consensus.ProcessorResult.Accepted;
39
- });
40
- // Execute outside the lock, to avoid deadlocks.
41
- // We want to make sure that the block is handled before we return the result to block downloader. This is different from the other processors.
42
- await promise;
43
- return result;
21
+ if (!this.#hasValidBlockNumber(commit)) {
22
+ return Enums.Consensus.ProcessorResult.Skipped;
23
+ }
24
+ const commitState = this.commitStateFactory(commit);
25
+ await this.getConsensus().handleCommitState(commitState);
26
+ return commitState.getProcessorResult().success
27
+ ? Enums.Consensus.ProcessorResult.Accepted
28
+ : Enums.Consensus.ProcessorResult.Invalid;
44
29
  }
45
30
  async hasValidSignature(commit) {
46
- const { proof, block } = commit;
31
+ const { block, proof } = commit;
47
32
  const publicKeys = [];
48
33
  for (const [index, validator] of proof.validators.entries()) {
49
34
  if (!validator) {
@@ -52,31 +37,29 @@ let CommitProcessor = class CommitProcessor extends AbstractProcessor {
52
37
  const validatorPublicKey = this.validatorSet.getValidator(index).blsPublicKey;
53
38
  publicKeys.push(Buffer.from(validatorPublicKey, "hex"));
54
39
  }
55
- const { activeValidators } = this.configuration.getMilestone(block.header.height);
56
- if (!Utils.isMajority(publicKeys.length, activeValidators)) {
40
+ const { roundValidators } = this.configuration.getMilestone(block.number);
41
+ if (!isMajority(publicKeys.length, roundValidators)) {
57
42
  return false;
58
43
  }
59
- const precommit = await this.serializer.serializePrecommitForSignature({
60
- blockId: block.data.id,
61
- height: block.data.height,
44
+ const precommit = await this.serializer.serializeMessageForSignature({
45
+ blockHash: block.hash,
46
+ blockNumber: block.number,
62
47
  round: proof.round,
63
- type: Contracts.Crypto.MessageType.Precommit,
48
+ type: Enums.Crypto.MessageType.Precommit,
49
+ }, {
50
+ genesisBlockHash: this.stateStore.getGenesisCommit().block.hash,
51
+ previousBlockHash: this.stateStore.getLastBlock().hash,
64
52
  });
65
- return this.aggregator.verify(proof, precommit, activeValidators);
53
+ return this.aggregator.verify(proof, precommit, roundValidators);
54
+ }
55
+ #hasValidBlockNumber(commit) {
56
+ return commit.block.number === this.getConsensus().getBlockNumber();
66
57
  }
67
- };
68
- _CommitProcessor_instances = new WeakSet();
69
- _CommitProcessor_hasValidHeight = function _CommitProcessor_hasValidHeight(commit) {
70
- return commit.block.data.height === this.getConsensus().getHeight();
71
58
  };
72
59
  __decorate([
73
60
  inject(Identifiers.Cryptography.Configuration),
74
61
  __metadata("design:type", Object)
75
62
  ], CommitProcessor.prototype, "configuration", void 0);
76
- __decorate([
77
- inject(Identifiers.Processor.BlockProcessor),
78
- __metadata("design:type", Object)
79
- ], CommitProcessor.prototype, "processor", void 0);
80
63
  __decorate([
81
64
  inject(Identifiers.ValidatorSet.Service),
82
65
  __metadata("design:type", Object)
@@ -1 +1 @@
1
- {"version":3,"file":"commit-processor.js","sourceRoot":"","sources":["../../source/processors/commit-processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commit-processor.js","sourceRoot":"","sources":["../../source/processors/commit-processor.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  export * from "./commit-processor.js";
2
- export * from "./precommit-processor.js";
3
- export * from "./prevote-processor.js";
2
+ export * from "./message-processor.js";
4
3
  export * from "./proposal-processor.js";
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/processors/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/processors/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}
@@ -1,5 +1,4 @@
1
1
  export * from "./commit-processor.js";
2
- export * from "./precommit-processor.js";
3
- export * from "./prevote-processor.js";
2
+ export * from "./message-processor.js";
4
3
  export * from "./proposal-processor.js";
5
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/processors/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/processors/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Contracts } from "@mainsail/contracts";
2
+ import { AbstractProcessor } from "./abstract-processor.js";
3
+ export declare class MessageProcessor extends AbstractProcessor implements Contracts.Consensus.MessageProcessor {
4
+ #private;
5
+ private readonly serializer;
6
+ private readonly validatorSet;
7
+ private readonly roundStateRepo;
8
+ private readonly broadcaster;
9
+ private readonly workerPool;
10
+ protected readonly logger: Contracts.Kernel.Logger;
11
+ process(message: Contracts.Crypto.Message, broadcast?: boolean): Promise<Contracts.Consensus.ProcessorResult>;
12
+ }
13
+ //# sourceMappingURL=message-processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-processor.d.ts","sourceRoot":"","sources":["../../source/processors/message-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAMrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAQ5D,qBACa,gBAAiB,SAAQ,iBAAkB,YAAW,SAAS,CAAC,SAAS,CAAC,gBAAgB;;IAEtG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsC;IAGjE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAG/D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4C;IAG3E,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IAGzD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAG1D,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;IAI9C,OAAO,CACZ,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO,EACjC,SAAS,GAAE,OAAc,GACvB,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC;CAgF/C"}
@@ -0,0 +1,117 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Enums, Identifiers } from "@mainsail/constants";
11
+ import { inject, injectable } from "@mainsail/container";
12
+ import { assert } from "@mainsail/utils";
13
+ import { AbstractProcessor } from "./abstract-processor.js";
14
+ var SignatureCheckResult;
15
+ (function (SignatureCheckResult) {
16
+ SignatureCheckResult[SignatureCheckResult["Skip"] = 0] = "Skip";
17
+ SignatureCheckResult[SignatureCheckResult["Invalid"] = 1] = "Invalid";
18
+ SignatureCheckResult[SignatureCheckResult["Accepted"] = 2] = "Accepted";
19
+ })(SignatureCheckResult || (SignatureCheckResult = {}));
20
+ let MessageProcessor = class MessageProcessor extends AbstractProcessor {
21
+ serializer;
22
+ validatorSet;
23
+ roundStateRepo;
24
+ broadcaster;
25
+ workerPool;
26
+ logger;
27
+ #pendingMessages = new Map();
28
+ async process(message, broadcast = true) {
29
+ return this.commitLock.runNonExclusive(async () => {
30
+ if (!this.hasValidBlockNumberOrRound(message)) {
31
+ return Enums.Consensus.ProcessorResult.Skipped;
32
+ }
33
+ if (!this.isRoundInBounds(message)) {
34
+ return Enums.Consensus.ProcessorResult.Invalid;
35
+ }
36
+ const roundState = this.roundStateRepo.getRoundState(message.blockNumber, message.round);
37
+ if (roundState.hasMessage(message)) {
38
+ const existingMessage = roundState.getMessage(message.validatorIndex, message.type);
39
+ if (existingMessage && !existingMessage.serialized.equals(message.serialized)) {
40
+ this.logger.warn(`Conflicting ${message.type === Enums.Crypto.MessageType.Prevote ? "prevote" : "precommit"} for validator index ${message.validatorIndex} in block ${message.blockNumber}/${message.round}. Existing: ${existingMessage.serialized.toString("hex")}, New: ${message.serialized.toString("hex")}`);
41
+ }
42
+ return Enums.Consensus.ProcessorResult.Skipped;
43
+ }
44
+ switch (await this.#signatureCheck(message)) {
45
+ case SignatureCheckResult.Skip: {
46
+ return Enums.Consensus.ProcessorResult.Skipped;
47
+ }
48
+ case SignatureCheckResult.Invalid: {
49
+ return Enums.Consensus.ProcessorResult.Invalid;
50
+ }
51
+ }
52
+ roundState.addMessage(message);
53
+ if (broadcast) {
54
+ void this.broadcaster.broadcastMessage(message);
55
+ }
56
+ void this.getConsensus().handle(roundState);
57
+ return Enums.Consensus.ProcessorResult.Accepted;
58
+ });
59
+ }
60
+ async #signatureCheck(message) {
61
+ const serializedHex = message.serialized.toString("hex");
62
+ if (this.#pendingMessages.has(serializedHex)) {
63
+ return new Promise((resolve) => {
64
+ const pendingMessages = this.#pendingMessages.get(serializedHex);
65
+ assert.defined(pendingMessages);
66
+ pendingMessages.push(resolve);
67
+ });
68
+ }
69
+ else {
70
+ this.#pendingMessages.set(serializedHex, []);
71
+ }
72
+ const hasValidSignature = await this.#hasValidSignature(message);
73
+ const pendingMessages = this.#pendingMessages.get(serializedHex);
74
+ assert.defined(pendingMessages);
75
+ for (const resolve of pendingMessages) {
76
+ resolve(hasValidSignature ? SignatureCheckResult.Skip : SignatureCheckResult.Invalid);
77
+ }
78
+ this.#pendingMessages.delete(serializedHex);
79
+ return hasValidSignature ? SignatureCheckResult.Accepted : SignatureCheckResult.Invalid;
80
+ }
81
+ async #hasValidSignature(message) {
82
+ const worker = this.workerPool.getWorker();
83
+ return worker.consensusSignature("verify", Buffer.from(message.signature, "hex"), await this.serializer.serializeMessageForSignature(message.toData(), {
84
+ genesisBlockHash: this.stateStore.getGenesisCommit().block.hash,
85
+ previousBlockHash: this.stateStore.getLastBlock().hash,
86
+ }), Buffer.from(this.validatorSet.getValidator(message.validatorIndex).blsPublicKey, "hex"));
87
+ }
88
+ };
89
+ __decorate([
90
+ inject(Identifiers.Cryptography.Message.Serializer),
91
+ __metadata("design:type", Object)
92
+ ], MessageProcessor.prototype, "serializer", void 0);
93
+ __decorate([
94
+ inject(Identifiers.ValidatorSet.Service),
95
+ __metadata("design:type", Object)
96
+ ], MessageProcessor.prototype, "validatorSet", void 0);
97
+ __decorate([
98
+ inject(Identifiers.Consensus.RoundStateRepository),
99
+ __metadata("design:type", Object)
100
+ ], MessageProcessor.prototype, "roundStateRepo", void 0);
101
+ __decorate([
102
+ inject(Identifiers.P2P.Broadcaster),
103
+ __metadata("design:type", Object)
104
+ ], MessageProcessor.prototype, "broadcaster", void 0);
105
+ __decorate([
106
+ inject(Identifiers.CryptoWorker.WorkerPool),
107
+ __metadata("design:type", Object)
108
+ ], MessageProcessor.prototype, "workerPool", void 0);
109
+ __decorate([
110
+ inject(Identifiers.Services.Log.Service),
111
+ __metadata("design:type", Object)
112
+ ], MessageProcessor.prototype, "logger", void 0);
113
+ MessageProcessor = __decorate([
114
+ injectable()
115
+ ], MessageProcessor);
116
+ export { MessageProcessor };
117
+ //# sourceMappingURL=message-processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-processor.js","sourceRoot":"","sources":["../../source/processors/message-processor.ts"],"names":[],"mappings":";;;;;;;;;AAEA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,IAAK,oBAIJ;AAJD,WAAK,oBAAoB;IACxB,+DAAI,CAAA;IACJ,qEAAO,CAAA;IACP,uEAAQ,CAAA;AACT,CAAC,EAJI,oBAAoB,KAApB,oBAAoB,QAIxB;AAGM,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,iBAAiB;IAErC,UAAU,CAAsC;IAGhD,YAAY,CAAkC;IAG9C,cAAc,CAA4C;IAG1D,WAAW,CAA6B;IAGxC,UAAU,CAA+B;IAGvC,MAAM,CAA2B;IAEpD,gBAAgB,GAA2D,IAAI,GAAG,EAAE,CAAC;IAErF,KAAK,CAAC,OAAO,CACZ,OAAiC,EACjC,YAAqB,IAAI;QAEzB,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE;YACjD,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/C,OAAO,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC;YAChD,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpC,OAAO,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC;YAChD,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACzF,IAAI,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpC,MAAM,eAAe,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpF,IAAI,eAAe,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC/E,IAAI,CAAC,MAAM,CAAC,IAAI,CACf,eAAe,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,wBAAwB,OAAO,CAAC,cAAc,aAAa,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK,eAAe,eAAe,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAChS,CAAC;gBACH,CAAC;gBAED,OAAO,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC;YAChD,CAAC;YAED,QAAQ,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7C,KAAK,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;oBAChC,OAAO,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC;gBAChD,CAAC;gBACD,KAAK,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;oBACnC,OAAO,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC;gBAChD,CAAC;YACF,CAAC;YAED,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAE/B,IAAI,SAAS,EAAE,CAAC;gBACf,KAAK,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACjD,CAAC;YAED,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAE5C,OAAO,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC;QACjD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAiC;QACtD,MAAM,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC9B,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACjE,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;gBAChC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;QACJ,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAEjE,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACjE,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAChC,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACvC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACvF,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAE5C,OAAO,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC;IACzF,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,OAAiC;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAC3C,OAAO,MAAM,CAAC,kBAAkB,CAC/B,QAAQ,EACR,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,EACrC,MAAM,IAAI,CAAC,UAAU,CAAC,4BAA4B,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE;YACpE,gBAAgB,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,IAAI;YAC/D,iBAAiB,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,IAAI;SACtD,CAAC,EACF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC,CACvF,CAAC;IACH,CAAC;CACD,CAAA;AAtGiB;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC;;oDACa;AAGhD;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC;;sDACsB;AAG9C;IADhB,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,oBAAoB,CAAC;;wDACwB;AAG1D;IADhB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC;;qDACqB;AAGxC;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC;;oDACc;AAGvC;IADlB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;;gDACW;AAjBxC,gBAAgB;IAD5B,UAAU,EAAE;GACA,gBAAgB,CAwG5B"}
@@ -1,12 +1,13 @@
1
- import { Contracts } from "@mainsail/contracts";
1
+ import type { Contracts } from "@mainsail/contracts";
2
2
  import { AbstractProcessor } from "./abstract-processor.js";
3
3
  export declare class ProposalProcessor extends AbstractProcessor implements Contracts.Consensus.ProposalProcessor {
4
4
  #private;
5
+ private readonly proposalSerializer;
5
6
  private readonly messageSerializer;
6
7
  private readonly consensusSignature;
7
8
  private readonly configuration;
8
9
  private readonly aggregator;
9
- private readonly proposerSelector;
10
+ private readonly proposerCalculator;
10
11
  private readonly validatorSet;
11
12
  private readonly roundStateRepo;
12
13
  private readonly broadcaster;
@@ -1 +1 @@
1
- {"version":3,"file":"proposal-processor.d.ts","sourceRoot":"","sources":["../../source/processors/proposal-processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAe,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,qBACa,iBAAkB,SAAQ,iBAAkB,YAAW,SAAS,CAAC,SAAS,CAAC,iBAAiB;;IAExG,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsC;IAIxE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA8B;IAGjE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAGhE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAG7D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA+B;IAGhE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAG/D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4C;IAG3E,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IAGzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAE5C,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,UAAO,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC;IAsC5G,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;CA+C9E"}
1
+ {"version":3,"file":"proposal-processor.d.ts","sourceRoot":"","sources":["../../source/processors/proposal-processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAKrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,qBACa,iBAAkB,SAAQ,iBAAkB,YAAW,SAAS,CAAC,SAAS,CAAC,iBAAiB;;IAExG,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAuC;IAG1E,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsC;IAIxE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAiC;IAGpE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAGhE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAG7D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAgD;IAGnF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAG/D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4C;IAG3E,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IAGzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAE5C,OAAO,CACZ,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,EACnC,SAAS,GAAE,OAAc,GACvB,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC;IAsCzC,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;CA2D9E"}