@mainsail/consensus 0.0.1-rc.6 → 0.0.1-rc.7

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.
@@ -15,19 +15,19 @@ let Bootstrapper = class Bootstrapper {
15
15
  storage;
16
16
  async run() {
17
17
  const proposals = await this.storage.getProposals();
18
- this.logger.info(`Consensus Bootstrap - Proposals: ${proposals.length}`);
18
+ this.logger.info(`Consensus Bootstrap - Proposals: ${proposals.length}`, "consensus");
19
19
  for (const proposal of proposals) {
20
20
  const roundState = this.roundStateRepo.getRoundState(proposal.blockNumber, proposal.round);
21
21
  roundState.addProposal(proposal);
22
22
  }
23
23
  const prevotes = await this.storage.getPrevotes();
24
- this.logger.info(`Consensus Bootstrap - Prevotes: ${prevotes.length}`);
24
+ this.logger.info(`Consensus Bootstrap - Prevotes: ${prevotes.length}`, "consensus");
25
25
  for (const prevote of prevotes) {
26
26
  const roundState = this.roundStateRepo.getRoundState(prevote.blockNumber, prevote.round);
27
27
  roundState.addPrevote(prevote);
28
28
  }
29
29
  const precommits = await this.storage.getPrecommits();
30
- this.logger.info(`Consensus Bootstrap - Precommits: ${precommits.length}`);
30
+ this.logger.info(`Consensus Bootstrap - Precommits: ${precommits.length}`, "consensus");
31
31
  for (const precommit of precommits) {
32
32
  const roundState = this.roundStateRepo.getRoundState(precommit.blockNumber, precommit.round);
33
33
  roundState.addPrecommit(precommit);
@@ -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;IAEP,MAAM,CAA2B;IAGjC,cAAc,CAA4C;IAG1D,OAAO,CAAsC;IAEvD,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,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC3F,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,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACzF,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,WAAW,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YAC7F,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,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;YAC1F,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,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YAC3F,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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"}
@@ -16,6 +16,7 @@ export declare class Consensus implements Contracts.Consensus.Service {
16
16
  private readonly validatorSet;
17
17
  private readonly eventDispatcher;
18
18
  private readonly logger;
19
+ private readonly statisticService;
19
20
  getBlockNumber(): number;
20
21
  getRound(): number;
21
22
  setRound(round: number): void;
@@ -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,7 +39,7 @@ 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
44
  onTimeoutPropose(blockNumber: number, round: number): Promise<void>;
44
45
  onTimeoutPrevote(blockNumber: number, round: number): 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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"}
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import { inject, injectable } from "@mainsail/container";
11
11
  import { Constants, Contracts, Events, Identifiers } from "@mainsail/contracts";
12
- import { Lock } from "@mainsail/utils";
12
+ import { assert, Lock } from "@mainsail/utils";
13
13
  import dayjs from "dayjs";
14
14
  let Consensus = class Consensus {
15
15
  app;
@@ -27,6 +27,7 @@ let Consensus = class Consensus {
27
27
  validatorSet;
28
28
  eventDispatcher;
29
29
  logger;
30
+ statisticService;
30
31
  #blockNumber = 1;
31
32
  #round = 0;
32
33
  #step = Contracts.Consensus.Step.Propose;
@@ -34,8 +35,10 @@ let Consensus = class Consensus {
34
35
  #validValue;
35
36
  #didMajorityPrevote = false;
36
37
  #didMajorityPrecommit = false;
38
+ #didMajorityPrecommitAndProposalIsMissing = false;
37
39
  #isDisposed = false;
38
40
  #pendingJobs = new Set();
41
+ #proposedBlock;
39
42
  #proposalPromise;
40
43
  #roundStartTime = 0;
41
44
  // Handler lock is different than commit lock. It is used to prevent parallel processing and it is similar to queue.
@@ -68,8 +71,9 @@ let Consensus = class Consensus {
68
71
  this.#validValue = round;
69
72
  }
70
73
  // TODO: Only for tests
71
- setProposal(proposalPromise) {
74
+ setProposal(proposalPromise, block) {
72
75
  this.#proposalPromise = proposalPromise;
76
+ this.#proposedBlock = block;
73
77
  }
74
78
  getState() {
75
79
  return {
@@ -133,7 +137,7 @@ let Consensus = class Consensus {
133
137
  return;
134
138
  }
135
139
  await this.#processBlock(commitState);
136
- await this.onMajorityPrecommit(commitState);
140
+ await this.onMajorityPrecommit(commitState, false);
137
141
  });
138
142
  }
139
143
  async startRound(round) {
@@ -143,11 +147,12 @@ let Consensus = class Consensus {
143
147
  this.#didMajorityPrecommit = false;
144
148
  this.#roundStartTime = dayjs().valueOf();
145
149
  this.scheduler.clear();
150
+ this.statisticService.newRound(this.#blockNumber, round);
146
151
  if (this.#isDisposed) {
147
152
  return;
148
153
  }
149
154
  const roundState = this.roundStateRepository.getRoundState(this.#blockNumber, this.#round);
150
- this.logger.info(`>> Starting new round: ${this.#getHeightRoundString()} with proposer: ${roundState.proposer.address}`);
155
+ this.logger.info(`>> Starting new round: ${this.#getHeightRoundString()} with proposer: ${roundState.proposer.address}`, "consensus");
151
156
  await this.eventDispatcher.dispatch(Events.ConsensusEvent.RoundStarted, this.getState());
152
157
  this.scheduler.scheduleTimeoutBlockPrepare(this.scheduler.getNextBlockTimestamp(this.#roundStartTime));
153
158
  // TODO: Skip on sync
@@ -157,7 +162,10 @@ let Consensus = class Consensus {
157
162
  this.scheduler.scheduleTimeoutPropose(this.#blockNumber, this.#round);
158
163
  if (this.#proposalPromise) {
159
164
  const proposal = await this.#proposalPromise;
165
+ assert.defined(this.#proposedBlock);
166
+ this.logger.info(`Proposing block ${this.#getBlockString(this.#proposedBlock)}`, "consensus");
160
167
  this.#proposalPromise = undefined;
168
+ this.#proposedBlock = undefined;
161
169
  await this.proposalProcessor.process(proposal);
162
170
  }
163
171
  }
@@ -171,7 +179,7 @@ let Consensus = class Consensus {
171
179
  }
172
180
  this.#step = Contracts.Consensus.Step.Prevote;
173
181
  const { block } = proposal.getData();
174
- this.logger.info(`Received proposal ${this.#getBlockString(block)}`);
182
+ this.logger.info(`Received proposal ${this.#getBlockString(block)}`, "consensus");
175
183
  await this.eventDispatcher.dispatch(Events.ConsensusEvent.ProposalAccepted, this.getState());
176
184
  await this.prevote(roundState.getProcessorResult() ? block.data.hash : undefined);
177
185
  }
@@ -187,7 +195,7 @@ let Consensus = class Consensus {
187
195
  }
188
196
  const { block } = proposal.getData();
189
197
  this.#step = Contracts.Consensus.Step.Prevote;
190
- this.logger.info(`Received locked proposal ${this.#getBlockString(block)}`);
198
+ this.logger.info(`Received locked proposal ${this.#getBlockString(block)}`, "consensus");
191
199
  await this.eventDispatcher.dispatch(Events.ConsensusEvent.ProposalAccepted, this.getState());
192
200
  const lockedRound = this.getLockedRound();
193
201
  if ((!lockedRound || lockedRound <= proposal.validRound) && roundState.getProcessorResult()) {
@@ -207,7 +215,7 @@ let Consensus = class Consensus {
207
215
  return;
208
216
  }
209
217
  const { block } = proposal.getData();
210
- this.logger.info(`Received +2/3 prevotes for ${this.#getBlockString(block)}`);
218
+ this.logger.info(`Received +2/3 prevotes for ${this.#getBlockString(block)}`, "consensus");
211
219
  this.#didMajorityPrevote = true;
212
220
  if (this.#step === Contracts.Consensus.Step.Prevote) {
213
221
  this.#lockedValue = roundState;
@@ -233,7 +241,7 @@ let Consensus = class Consensus {
233
241
  if (this.#step !== Contracts.Consensus.Step.Prevote || this.#isInvalidRoundState(roundState)) {
234
242
  return;
235
243
  }
236
- this.logger.info(`Received +2/3 prevotes for ${this.#getHeightRoundString()}/null`);
244
+ this.logger.info(`Received +2/3 prevotes for ${this.#getHeightRoundString()}/null`, "consensus");
237
245
  this.#step = Contracts.Consensus.Step.Precommit;
238
246
  await this.eventDispatcher.dispatch(Events.ConsensusEvent.PrevotedNull, this.getState());
239
247
  await this.precommit();
@@ -246,22 +254,33 @@ let Consensus = class Consensus {
246
254
  await this.eventDispatcher.dispatch(Events.ConsensusEvent.PrecommitedAny, this.getState());
247
255
  }
248
256
  }
249
- async onMajorityPrecommit(roundState) {
257
+ async onMajorityPrecommit(processState, isRoundState = true) {
250
258
  // TODO: Only block number must match. Round can be any. Add tests
251
- if (this.#didMajorityPrecommit || roundState.blockNumber !== this.#blockNumber) {
259
+ if ((isRoundState && this.#didMajorityPrecommit) || processState.blockNumber !== this.#blockNumber) {
252
260
  return;
253
261
  }
254
- this.#didMajorityPrecommit = true;
255
- const block = roundState.getBlock();
256
- this.logger.info(`Received +2/3 precommits for ${this.#getBlockString(block)}`);
257
- if (!roundState.getProcessorResult().success) {
258
- this.logger.info(`Block ${this.#getBlockString(block)} is invalid`);
262
+ if (processState.hasProcessorResult() === false) {
263
+ if (this.#didMajorityPrecommitAndProposalIsMissing) {
264
+ return;
265
+ }
266
+ this.logger.info(`Received +2/3 precommits for ${this.#getHeightRoundString()}, but proposal is missing`, "consensus");
267
+ this.#didMajorityPrecommitAndProposalIsMissing = true;
268
+ return;
269
+ }
270
+ if (isRoundState) {
271
+ // Sets it only once for round state
272
+ this.#didMajorityPrecommit = true;
273
+ }
274
+ const block = processState.getBlock();
275
+ this.logger.info(`Received +2/3 precommits for ${this.#getBlockString(block)}`, "consensus");
276
+ if (!processState.getProcessorResult().success) {
277
+ this.logger.info(`Block ${this.#getBlockString(block)} is invalid`, "consensus");
259
278
  return;
260
279
  }
261
280
  await this.eventDispatcher.dispatch(Events.ConsensusEvent.PrecommitedProposal, this.getState());
262
281
  await this.commitLock.runExclusive(async () => {
263
282
  try {
264
- await this.processor.commit(roundState);
283
+ await this.processor.commit(processState);
265
284
  }
266
285
  catch (error) {
267
286
  await this.app.terminate("Failed to commit block", error);
@@ -286,7 +305,7 @@ let Consensus = class Consensus {
286
305
  this.#round !== round) {
287
306
  return;
288
307
  }
289
- this.logger.info(`Timeout to propose ${this.#getHeightRoundString()} expired`);
308
+ this.logger.info(`Timeout to propose ${this.#getHeightRoundString()} expired`, "consensus");
290
309
  this.#step = Contracts.Consensus.Step.Prevote;
291
310
  await this.prevote();
292
311
  });
@@ -298,7 +317,7 @@ let Consensus = class Consensus {
298
317
  this.#round !== round) {
299
318
  return;
300
319
  }
301
- this.logger.info(`Timeout to prevote ${this.#getHeightRoundString()} expired`);
320
+ this.logger.info(`Timeout to prevote ${this.#getHeightRoundString()} expired`, "consensus");
302
321
  this.roundStateRepository.getRoundState(this.#blockNumber, this.#round).logPrevotes();
303
322
  this.#step = Contracts.Consensus.Step.Precommit;
304
323
  await this.precommit();
@@ -309,7 +328,7 @@ let Consensus = class Consensus {
309
328
  if (this.#blockNumber !== blockNumber || this.#round !== round) {
310
329
  return;
311
330
  }
312
- this.logger.info(`Timeout to precommit ${this.#getHeightRoundString()} expired`);
331
+ this.logger.info(`Timeout to precommit ${this.#getHeightRoundString()} expired`, "consensus");
313
332
  this.roundStateRepository.getRoundState(this.#blockNumber, this.#round).logPrevotes();
314
333
  this.roundStateRepository.getRoundState(this.#blockNumber, this.#round).logPrecommits();
315
334
  await this.startRound(this.#round + 1);
@@ -332,20 +351,20 @@ let Consensus = class Consensus {
332
351
  if (registeredProposer === undefined) {
333
352
  return;
334
353
  }
335
- this.logger.info(`Found registered proposer: ${roundState.proposer.address}`);
354
+ this.logger.info(`Found registered proposer: ${roundState.proposer.address}`, "consensus");
336
355
  this.#proposalPromise = this.#makeProposal(roundState, registeredProposer);
337
356
  }
338
357
  async #makeProposal(roundState, registeredProposer) {
339
358
  if (this.#validValue) {
340
- const block = this.#validValue.getBlock();
359
+ this.#proposedBlock = this.#validValue.getBlock();
341
360
  const lockProof = await this.#validValue.aggregatePrevotes();
342
- this.logger.info(`Proposing existing block ${this.#getBlockString(block)}`);
343
- return await registeredProposer.propose(this.validatorSet.getValidatorIndexByWalletAddress(roundState.proposer.address), this.#round, this.#validValue.round, block, lockProof);
361
+ this.logger.info(`Created proposal with existing block ${this.#getBlockString(this.#proposedBlock)}`, "consensus");
362
+ return await registeredProposer.propose(this.validatorSet.getValidatorIndexByWalletAddress(roundState.proposer.address), this.#round, this.#validValue.round, this.#proposedBlock, lockProof);
344
363
  }
345
- const block = await registeredProposer.prepareBlock(roundState.proposer.address, this.#round, this.scheduler.getNextBlockTimestamp(this.#roundStartTime));
346
- this.logger.info(`Proposing new block ${this.#getBlockString(block)}`);
347
- void this.eventDispatcher.dispatch(Events.BlockEvent.Forged, block.data);
348
- return registeredProposer.propose(this.validatorSet.getValidatorIndexByWalletAddress(roundState.proposer.address), this.#round, undefined, block);
364
+ this.#proposedBlock = this.#proposedBlock = await registeredProposer.prepareBlock(roundState.proposer.address, this.#round, this.scheduler.getNextBlockTimestamp(this.#roundStartTime));
365
+ this.logger.info(`Created proposal with new block ${this.#getBlockString(this.#proposedBlock)}`, "consensus");
366
+ void this.eventDispatcher.dispatch(Events.BlockEvent.Forged, this.#proposedBlock.data);
367
+ return registeredProposer.propose(this.validatorSet.getValidatorIndexByWalletAddress(roundState.proposer.address), this.#round, undefined, this.#proposedBlock);
349
368
  }
350
369
  async prevote(value) {
351
370
  const roundState = this.roundStateRepository.getRoundState(this.#blockNumber, this.#round);
@@ -390,14 +409,14 @@ let Consensus = class Consensus {
390
409
  else {
391
410
  const storedBlockNumber = state.blockNumber.toLocaleString(Constants.Locale);
392
411
  const currentBlockNumber = this.#blockNumber.toLocaleString(Constants.Locale);
393
- this.logger.warning(`Skipping state restore, because stored block number is ${storedBlockNumber}, but should be ${currentBlockNumber}`);
412
+ this.logger.warn(`Skipping state restore, because stored block number is ${storedBlockNumber}, but should be ${currentBlockNumber}`, "consensus");
394
413
  this.roundStateRepository.clear();
395
414
  }
396
415
  }
397
416
  if (this.#blockNumber !== this.configuration.getHeight()) {
398
417
  throw new Error(`bootstrapped block number ${this.#blockNumber} does not match configuration block number ${this.configuration.getHeight()}`);
399
418
  }
400
- this.logger.info(`Completed consensus bootstrap for ${this.#getHeightRoundString()} with total round ${this.stateStore.getTotalRound()}`);
419
+ this.logger.info(`Completed consensus bootstrap for ${this.#getHeightRoundString()} with total round ${this.stateStore.getTotalRound()}`, "consensus");
401
420
  await this.eventDispatcher.dispatch(Events.ConsensusEvent.Bootstrapped, this.getState());
402
421
  }
403
422
  async #processProposal(roundState) {
@@ -501,6 +520,10 @@ __decorate([
501
520
  inject(Identifiers.Services.Log.Service),
502
521
  __metadata("design:type", Object)
503
522
  ], Consensus.prototype, "logger", void 0);
523
+ __decorate([
524
+ inject(Identifiers.P2P.Statistic.Service),
525
+ __metadata("design:type", Object)
526
+ ], Consensus.prototype, "statisticService", void 0);
504
527
  Consensus = __decorate([
505
528
  injectable()
506
529
  ], Consensus);
@@ -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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"}
@@ -29,7 +29,7 @@ let ServiceProvider = class ServiceProvider extends Providers.ServiceProvider {
29
29
  .bind(Identifiers.Consensus.CommitState.Factory)
30
30
  .toFactory((context) => (commit) => context.get(CommitState, { autobind: true }).configure(commit));
31
31
  this.app.bind(Identifiers.Consensus.Bootstrapper).to(Bootstrapper).inSingletonScope();
32
- this.app.bind(Identifiers.Consensus.Service).toConstantValue(this.app.resolve(Consensus));
32
+ this.app.bind(Identifiers.Consensus.Service).to(Consensus).inSingletonScope();
33
33
  }
34
34
  async dispose() {
35
35
  const consensus = this.app.get(Identifiers.Consensus.Service);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export declare class PrecommitProcessor extends AbstractProcessor implements Con
7
7
  private readonly roundStateRepo;
8
8
  private readonly broadcaster;
9
9
  private readonly workerPool;
10
+ protected readonly logger: Contracts.Kernel.Logger;
10
11
  process(precommit: Contracts.Crypto.Precommit, broadcast?: boolean): Promise<Contracts.Consensus.ProcessorResult>;
11
12
  }
12
13
  //# sourceMappingURL=precommit-processor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"precommit-processor.d.ts","sourceRoot":"","sources":["../../source/processors/precommit-processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAe,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,qBACa,kBAAmB,SAAQ,iBAAkB,YAAW,SAAS,CAAC,SAAS,CAAC,kBAAkB;;IAE1G,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;IAEpD,OAAO,CACZ,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,EACrC,SAAS,UAAO,GACd,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC;CAwC/C"}
1
+ {"version":3,"file":"precommit-processor.d.ts","sourceRoot":"","sources":["../../source/processors/precommit-processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAe,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAQ5D,qBACa,kBAAmB,SAAQ,iBAAkB,YAAW,SAAS,CAAC,SAAS,CAAC,kBAAkB;;IAE1G,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,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,EACrC,SAAS,UAAO,GACd,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC;CAyE/C"}
@@ -10,12 +10,20 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  import { inject, injectable } from "@mainsail/container";
11
11
  import { Contracts, Identifiers } from "@mainsail/contracts";
12
12
  import { AbstractProcessor } from "./abstract-processor.js";
13
+ var SignatureCheckResult;
14
+ (function (SignatureCheckResult) {
15
+ SignatureCheckResult[SignatureCheckResult["Skip"] = 0] = "Skip";
16
+ SignatureCheckResult[SignatureCheckResult["Invalid"] = 1] = "Invalid";
17
+ SignatureCheckResult[SignatureCheckResult["Accepted"] = 2] = "Accepted";
18
+ })(SignatureCheckResult || (SignatureCheckResult = {}));
13
19
  let PrecommitProcessor = class PrecommitProcessor extends AbstractProcessor {
14
20
  serializer;
15
21
  validatorSet;
16
22
  roundStateRepo;
17
23
  broadcaster;
18
24
  workerPool;
25
+ logger;
26
+ #pendingPrecommits = new Map();
19
27
  async process(precommit, broadcast = true) {
20
28
  return this.commitLock.runNonExclusive(async () => {
21
29
  if (!this.hasValidBlockNumberOrRound(precommit)) {
@@ -24,13 +32,22 @@ let PrecommitProcessor = class PrecommitProcessor extends AbstractProcessor {
24
32
  if (!this.isRoundInBounds(precommit)) {
25
33
  return Contracts.Consensus.ProcessorResult.Invalid;
26
34
  }
27
- if (!(await this.#hasValidSignature(precommit))) {
28
- return Contracts.Consensus.ProcessorResult.Invalid;
29
- }
30
35
  const roundState = this.roundStateRepo.getRoundState(precommit.blockNumber, precommit.round);
31
36
  if (roundState.hasPrecommit(precommit.validatorIndex)) {
37
+ const existingPrecommit = roundState.getPrecommit(precommit.validatorIndex);
38
+ if (existingPrecommit && !existingPrecommit.serialized.equals(precommit.serialized)) {
39
+ this.logger.warn(`Conflicting precommits for validator index ${precommit.validatorIndex} in block ${precommit.blockNumber}/${precommit.round}. Existing: ${existingPrecommit.serialized.toString("hex")}, New: ${precommit.serialized.toString("hex")}`);
40
+ }
32
41
  return Contracts.Consensus.ProcessorResult.Skipped;
33
42
  }
43
+ switch (await this.#signatureCheck(precommit)) {
44
+ case SignatureCheckResult.Skip: {
45
+ return Contracts.Consensus.ProcessorResult.Skipped;
46
+ }
47
+ case SignatureCheckResult.Invalid: {
48
+ return Contracts.Consensus.ProcessorResult.Invalid;
49
+ }
50
+ }
34
51
  roundState.addPrecommit(precommit);
35
52
  if (broadcast) {
36
53
  void this.broadcaster.broadcastPrecommit(precommit);
@@ -39,6 +56,23 @@ let PrecommitProcessor = class PrecommitProcessor extends AbstractProcessor {
39
56
  return Contracts.Consensus.ProcessorResult.Accepted;
40
57
  });
41
58
  }
59
+ async #signatureCheck(precommit) {
60
+ const serializedHex = precommit.serialized.toString("hex");
61
+ if (this.#pendingPrecommits.has(serializedHex)) {
62
+ return new Promise((resolve) => {
63
+ this.#pendingPrecommits.get(serializedHex).push(resolve);
64
+ });
65
+ }
66
+ else {
67
+ this.#pendingPrecommits.set(serializedHex, []);
68
+ }
69
+ const hasValidSignature = await this.#hasValidSignature(precommit);
70
+ for (const resolve of this.#pendingPrecommits.get(serializedHex)) {
71
+ resolve(hasValidSignature ? SignatureCheckResult.Skip : SignatureCheckResult.Invalid);
72
+ }
73
+ this.#pendingPrecommits.delete(serializedHex);
74
+ return hasValidSignature ? SignatureCheckResult.Accepted : SignatureCheckResult.Invalid;
75
+ }
42
76
  async #hasValidSignature(precommit) {
43
77
  const worker = await this.workerPool.getWorker();
44
78
  return worker.consensusSignature("verify", Buffer.from(precommit.signature, "hex"), await this.serializer.serializePrecommitForSignature(precommit), Buffer.from(this.validatorSet.getValidator(precommit.validatorIndex).blsPublicKey, "hex"));
@@ -64,6 +98,10 @@ __decorate([
64
98
  inject(Identifiers.CryptoWorker.WorkerPool),
65
99
  __metadata("design:type", Object)
66
100
  ], PrecommitProcessor.prototype, "workerPool", void 0);
101
+ __decorate([
102
+ inject(Identifiers.Services.Log.Service),
103
+ __metadata("design:type", Object)
104
+ ], PrecommitProcessor.prototype, "logger", void 0);
67
105
  PrecommitProcessor = __decorate([
68
106
  injectable()
69
107
  ], PrecommitProcessor);
@@ -1 +1 @@
1
- {"version":3,"file":"precommit-processor.js","sourceRoot":"","sources":["../../source/processors/precommit-processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"precommit-processor.js","sourceRoot":"","sources":["../../source/processors/precommit-processor.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export declare class PrevoteProcessor extends AbstractProcessor implements Contr
7
7
  private readonly roundStateRepo;
8
8
  private readonly broadcaster;
9
9
  private readonly workerPool;
10
+ protected readonly logger: Contracts.Kernel.Logger;
10
11
  process(prevote: Contracts.Crypto.Prevote, broadcast?: boolean): Promise<Contracts.Consensus.ProcessorResult>;
11
12
  }
12
13
  //# sourceMappingURL=prevote-processor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prevote-processor.d.ts","sourceRoot":"","sources":["../../source/processors/prevote-processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAe,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,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;IAEpD,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,UAAO,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC;CAwChH"}
1
+ {"version":3,"file":"prevote-processor.d.ts","sourceRoot":"","sources":["../../source/processors/prevote-processor.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,SAAS,EAAe,MAAM,qBAAqB,CAAC;AAGxE,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,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,UAAO,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC;CA2EhH"}
@@ -8,14 +8,23 @@ 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
10
  import { inject, injectable } from "@mainsail/container";
11
- import { Contracts, Identifiers } from "@mainsail/contracts";
11
+ import { Constants, Contracts, Identifiers } from "@mainsail/contracts";
12
+ import { assert } from "@mainsail/utils";
12
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 = {}));
13
20
  let PrevoteProcessor = class PrevoteProcessor extends AbstractProcessor {
14
21
  serializer;
15
22
  validatorSet;
16
23
  roundStateRepo;
17
24
  broadcaster;
18
25
  workerPool;
26
+ logger;
27
+ #pendingPrevotes = new Map();
19
28
  async process(prevote, broadcast = true) {
20
29
  return this.commitLock.runNonExclusive(async () => {
21
30
  if (!this.hasValidBlockNumberOrRound(prevote)) {
@@ -24,13 +33,23 @@ let PrevoteProcessor = class PrevoteProcessor extends AbstractProcessor {
24
33
  if (!this.isRoundInBounds(prevote)) {
25
34
  return Contracts.Consensus.ProcessorResult.Invalid;
26
35
  }
27
- if (!(await this.#hasValidSignature(prevote))) {
28
- return Contracts.Consensus.ProcessorResult.Invalid;
29
- }
30
36
  const roundState = this.roundStateRepo.getRoundState(prevote.blockNumber, prevote.round);
31
37
  if (roundState.hasPrevote(prevote.validatorIndex)) {
38
+ const existingPrevote = roundState.getPrevote(prevote.validatorIndex);
39
+ assert.defined(existingPrevote);
40
+ if (!existingPrevote.serialized.equals(prevote.serialized)) {
41
+ this.logger.warn(`Conflicting prevotes for validator index ${prevote.validatorIndex} in block ${prevote.blockNumber.toLocaleString(Constants.Locale)}/${prevote.round}. Existing: ${existingPrevote.serialized.toString("hex")}, New: ${prevote.serialized.toString("hex")}`);
42
+ }
32
43
  return Contracts.Consensus.ProcessorResult.Skipped;
33
44
  }
45
+ switch (await this.#signatureCheck(prevote)) {
46
+ case SignatureCheckResult.Skip: {
47
+ return Contracts.Consensus.ProcessorResult.Skipped;
48
+ }
49
+ case SignatureCheckResult.Invalid: {
50
+ return Contracts.Consensus.ProcessorResult.Invalid;
51
+ }
52
+ }
34
53
  roundState.addPrevote(prevote);
35
54
  if (broadcast) {
36
55
  void this.broadcaster.broadcastPrevote(prevote);
@@ -39,6 +58,23 @@ let PrevoteProcessor = class PrevoteProcessor extends AbstractProcessor {
39
58
  return Contracts.Consensus.ProcessorResult.Accepted;
40
59
  });
41
60
  }
61
+ async #signatureCheck(prevote) {
62
+ const serializedHex = prevote.serialized.toString("hex");
63
+ if (this.#pendingPrevotes.has(serializedHex)) {
64
+ return new Promise((resolve) => {
65
+ this.#pendingPrevotes.get(serializedHex).push(resolve);
66
+ });
67
+ }
68
+ else {
69
+ this.#pendingPrevotes.set(serializedHex, []);
70
+ }
71
+ const hasValidSignature = await this.#hasValidSignature(prevote);
72
+ for (const resolve of this.#pendingPrevotes.get(serializedHex)) {
73
+ resolve(hasValidSignature ? SignatureCheckResult.Skip : SignatureCheckResult.Invalid);
74
+ }
75
+ this.#pendingPrevotes.delete(serializedHex);
76
+ return hasValidSignature ? SignatureCheckResult.Accepted : SignatureCheckResult.Invalid;
77
+ }
42
78
  async #hasValidSignature(prevote) {
43
79
  const worker = await this.workerPool.getWorker();
44
80
  return worker.consensusSignature("verify", Buffer.from(prevote.signature, "hex"), await this.serializer.serializePrevoteForSignature(prevote), Buffer.from(this.validatorSet.getValidator(prevote.validatorIndex).blsPublicKey, "hex"));
@@ -64,6 +100,10 @@ __decorate([
64
100
  inject(Identifiers.CryptoWorker.WorkerPool),
65
101
  __metadata("design:type", Object)
66
102
  ], PrevoteProcessor.prototype, "workerPool", void 0);
103
+ __decorate([
104
+ inject(Identifiers.Services.Log.Service),
105
+ __metadata("design:type", Object)
106
+ ], PrevoteProcessor.prototype, "logger", void 0);
67
107
  PrevoteProcessor = __decorate([
68
108
  injectable()
69
109
  ], PrevoteProcessor);
@@ -1 +1 @@
1
- {"version":3,"file":"prevote-processor.js","sourceRoot":"","sources":["../../source/processors/prevote-processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prevote-processor.js","sourceRoot":"","sources":["../../source/processors/prevote-processor.ts"],"names":[],"mappings":"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"}
@@ -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,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,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":"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,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,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;CAsD9E"}
@@ -54,12 +54,12 @@ let ProposalProcessor = class ProposalProcessor extends AbstractProcessor {
54
54
  return true;
55
55
  }
56
56
  if (proposal.validRound >= proposal.round) {
57
- this.logger.debug(`Received proposal ${proposal.blockNumber}/${proposal.round} has validRound ${proposal.validRound} >= round ${proposal.round}`);
57
+ this.logger.debug(`Received proposal ${proposal.blockNumber}/${proposal.round} has validRound ${proposal.validRound} >= round ${proposal.round}`, "consensus");
58
58
  return false;
59
59
  }
60
60
  const lockProof = proposal.getData().lockProof;
61
61
  if (!lockProof) {
62
- this.logger.debug(`Received proposal ${proposal.blockNumber}/${proposal.round} with missing lock proof`);
62
+ this.logger.debug(`Received proposal ${proposal.blockNumber}/${proposal.round} with missing lock proof`, "consensus");
63
63
  return true;
64
64
  }
65
65
  const data = await this.messageSerializer.serializePrevoteForSignature({
@@ -71,7 +71,7 @@ let ProposalProcessor = class ProposalProcessor extends AbstractProcessor {
71
71
  const { roundValidators } = this.configuration.getMilestone(proposal.blockNumber);
72
72
  const verified = await this.aggregator.verify(lockProof, data, roundValidators);
73
73
  if (!verified) {
74
- this.logger.debug(`Received proposal ${proposal.blockNumber}/${proposal.round} with invalid lock proof`);
74
+ this.logger.debug(`Received proposal ${proposal.blockNumber}/${proposal.round} with invalid lock proof`, "consensus");
75
75
  }
76
76
  return verified;
77
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"proposal-processor.js","sourceRoot":"","sources":["../../source/processors/proposal-processor.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGrD,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,iBAAiB;IAEtC,iBAAiB,CAAsC;IAIvD,kBAAkB,CAA8B;IAGhD,aAAa,CAAkC;IAG/C,UAAU,CAAkC;IAG5C,kBAAkB,CAAgD;IAGlE,YAAY,CAAkC;IAG9C,cAAc,CAA4C;IAG1D,WAAW,CAA6B;IAGxC,MAAM,CAA2B;IAElD,KAAK,CAAC,OAAO,CAAC,QAAmC,EAAE,SAAS,GAAG,IAAI;QAClE,OAAO,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE;YACjD,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChD,OAAO,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC;YACpD,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrC,OAAO,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC;YACpD,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvC,OAAO,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC;YACpD,CAAC;YAED,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBAChD,OAAO,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC;YACpD,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC3F,IAAI,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC9B,OAAO,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC;YACpD,CAAC;YAED,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YAEjC,IAAI,SAAS,EAAE,CAAC;gBACf,KAAK,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACnD,CAAC;YAED,6FAA6F;YAC7F,UAAU,CAAC,GAAG,EAAE;gBACf,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC7C,CAAC,EAAE,CAAC,CAAC,CAAC;YAEN,OAAO,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC;QACrD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,QAAmC;QAC1D,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QACb,CAAC;QAED,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,qBAAqB,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,mBAAmB,QAAQ,CAAC,UAAU,aAAa,QAAQ,CAAC,KAAK,EAAE,CAC9H,CAAC;YAEF,OAAO,KAAK,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC;QAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,0BAA0B,CAAC,CAAC;YACzG,OAAO,IAAI,CAAC;QACb,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,4BAA4B,CAAC;YACtE,SAAS,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;YAC/C,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,KAAK,EAAE,QAAQ,CAAC,UAAU;YAC1B,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO;SAC1C,CAAC,CAAC;QAEH,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAClF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;QAEhF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,0BAA0B,CAAC,CAAC;QAC1G,CAAC;QAED,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,iBAAiB,CAAC,QAAmC;QACpD,OAAO,QAAQ,CAAC,cAAc,KAAK,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9F,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,QAAmC;QAC3D,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CACpC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,EACtC,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,kBAAkB,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,EAC1G,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC,CACxF,CAAC;IACH,CAAC;CACD,CAAA;AAhHiB;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC;;4DACoB;AAIvD;IAFhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC;IACnD,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;;6DACqC;AAGhD;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,aAAa,CAAC;;wDACiB;AAG/C;IADhB,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC;;qDACoB;AAG5C;IADhB,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,kBAAkB,CAAC;;6DAC4B;AAGlE;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC;;uDACsB;AAG9C;IADhB,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,oBAAoB,CAAC;;yDACwB;AAG1D;IADhB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC;;sDACqB;AAGxC;IADhB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;;iDACS;AA3BtC,iBAAiB;IAD7B,UAAU,EAAE;GACA,iBAAiB,CAkH7B"}
1
+ {"version":3,"file":"proposal-processor.js","sourceRoot":"","sources":["../../source/processors/proposal-processor.ts"],"names":[],"mappings":"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"}
@@ -201,7 +201,7 @@ let RoundState = class RoundState {
201
201
  const voters = [...this.#prevotes.values()]
202
202
  .filter((prevote) => prevote.blockHash === key)
203
203
  .map((prevote) => this.validatorSet.getValidator(prevote.validatorIndex).address);
204
- this.logger.debug(`Block ${key ?? "null"} prevoted by: ${voters.join(", ")}`);
204
+ this.logger.debug(`Block ${key ?? "null"} prevoted by: ${voters.join(", ")}`, "consensus");
205
205
  }
206
206
  }
207
207
  logPrecommits() {
@@ -209,7 +209,7 @@ let RoundState = class RoundState {
209
209
  const voters = [...this.#precommits.values()]
210
210
  .filter((precommit) => precommit.blockHash === key)
211
211
  .map((precommit) => this.validatorSet.getValidator(precommit.validatorIndex).address);
212
- this.logger.debug(`Block ${key ?? "null"} precommitted by: ${voters.join(", ")}`);
212
+ this.logger.debug(`Block ${key ?? "null"} precommitted by: ${voters.join(", ")}`, "consensus");
213
213
  }
214
214
  }
215
215
  #hasMinorityPrevotes() {
@@ -1 +1 @@
1
- {"version":3,"file":"round-state.js","sourceRoot":"","sources":["../source/round-state.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGlC,IAAM,UAAU,GAAhB,MAAM,UAAU;IAEL,UAAU,CAAkC;IAG5C,aAAa,CAAkC;IAG/C,YAAY,CAAkC;IAG9C,kBAAkB,CAAgD;IAGlE,gBAAgB,CAAqC;IAGrD,MAAM,CAA2B;IAElD,YAAY,GAAG,CAAC,CAAC;IACjB,MAAM,GAAG,CAAC,CAAC;IACX,SAAS,CAA6B;IACtC,gBAAgB,CAA4C;IAC5D,eAAe,GAAuC,EAAE,CAAC;IACzD,SAAS,GAAG,IAAI,GAAG,EAAoC,CAAC;IACxD,cAAc,GAAG,IAAI,GAAG,EAA8B,CAAC;IACvD,WAAW,GAAG,IAAI,GAAG,EAAsC,CAAC;IAC5D,gBAAgB,GAAG,IAAI,GAAG,EAA8B,CAAC;IACzD,WAAW,GAAG,IAAI,GAAG,EAA2C,CAAC;IACjE,wBAAwB,GAAc,EAAE,CAAC;IACzC,0BAA0B,GAAc,EAAE,CAAC;IAC3C,SAAS,CAAmC;IAE5C,OAAO,CAAsC;IAE7C,IAAW,WAAW;QACrB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAED,IAAW,KAAK;QACf,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,IAAW,OAAO;QACjB,OAAO,IAAI,CAAC,CAAC,qCAAqC;IACnD,CAAC;IAED,IAAW,UAAU;QACpB,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,IAAW,QAAQ;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAEM,SAAS,CAAC,WAAmB,EAAE,KAAa;QAClD,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,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;YACpD,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAExE,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;QAE5C,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,YAAY,CAAC,kBAA0B;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAC3D,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1B,OAAO,SAAS,CAAC;IAClB,CAAC;IAEM,WAAW;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IACzB,CAAC;IAEM,WAAW,CAAC,QAAmC;QACrD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEM,WAAW;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAEM,QAAQ;QACd,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC;QACvC,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACxF,CAAC;IAEM,KAAK,CAAC,SAAS;QACrB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAElD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAEzB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC;YAEvC,MAAM,MAAM,GAAwC;gBACnD,KAAK;gBACL,KAAK,EAAE;oBACN,KAAK;oBACL,GAAG,QAAQ;iBACX;aACD,CAAC;YAEF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvE,IAAI,CAAC,OAAO,GAAG;gBACd,GAAG,MAAM;gBACT,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;aACtC,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,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,KAAK,SAAS,EAAE,CAAC;YACzC,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,UAAU,CAAC,cAAsB;QACvC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC;IAEM,UAAU,CAAC,OAAiC;QAClD,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;QAC7D,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAEM,YAAY,CAAC,cAAsB;QACzC,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7C,CAAC;IAEM,YAAY,CAAC,SAAqC;QACxD,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;QACjE,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAEM,mBAAmB;QACzB,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;YAC3D,OAAO,KAAK,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1F,CAAC;IAEM,sBAAsB;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAEM,uBAAuB;QAC7B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClD,CAAC;IAEM,qBAAqB;QAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;YAC3D,OAAO,KAAK,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5F,CAAC;IAEM,wBAAwB;QAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAEM,+BAA+B;QACrC,OAAO,IAAI,CAAC,oBAAoB,EAAE,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;IACrE,CAAC;IAEM,UAAU,CAAC,cAAsB;QACvC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC3C,CAAC;IAEM,WAAW;QACjB,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IACrC,CAAC;IAEM,YAAY,CAAC,cAAsB;QACzC,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC7C,CAAC;IAEM,aAAa;QACnB,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,CAAC;IAEM,0BAA0B;QAChC,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACtC,CAAC;IAEM,4BAA4B;QAClC,OAAO,IAAI,CAAC,0BAA0B,CAAC;IACxC,CAAC;IAEM,KAAK,CAAC,iBAAiB;QAC7B,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC,CAAC;IACxF,CAAC;IAEM,KAAK,CAAC,mBAAmB;QAC/B,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC,CAAC;IAC1F,CAAC;IAEM,WAAW;QACjB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;iBACzC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,GAAG,CAAC;iBAC9C,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC;YAEnF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,MAAM,iBAAiB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/E,CAAC;IACF,CAAC;IAEM,aAAa;QACnB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;iBAC3C,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,KAAK,GAAG,CAAC;iBAClD,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC;YAEvF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,MAAM,qBAAqB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnF,CAAC;IACF,CAAC;IAED,oBAAoB;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,sBAAsB;QACrB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,WAAW,CAAC,IAAY;QACvB,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/E,OAAO,UAAU,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAC1C,CAAC;IAED,WAAW,CAAC,IAAY;QACvB,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/E,OAAO,UAAU,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAC1C,CAAC;IAED,qBAAqB,CAAC,SAAkB;QACvC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,gBAAgB,CAAC,SAAkB;QAClC,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,uBAAuB,CAAC,SAAkB;QACzC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,kBAAkB,CAAC,SAAkB;QACpC,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,cAAc,CAAC,CAAyD;QACvE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAuC,IAAI,GAAG,EAAE,CAAC;QAE/D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC;QAE7C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC3C,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC1B,CAAC;QACF,CAAC;QAED,OAAO,QAAQ,CAAC;IACjB,CAAC;CACD,CAAA;AA7TiB;IADhB,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC;;8CACoB;AAG5C;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,aAAa,CAAC;;iDACiB;AAG/C;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC;;gDACsB;AAG9C;IADhB,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,kBAAkB,CAAC;;sDAC4B;AAGlE;IADhB,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC;;oDACmB;AAGrD;IADhB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;;0CACS;AAjBtC,UAAU;IADtB,UAAU,EAAE;GACA,UAAU,CA+TtB"}
1
+ {"version":3,"file":"round-state.js","sourceRoot":"","sources":["../source/round-state.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mainsail/consensus",
3
- "version": "0.0.1-rc.6",
3
+ "version": "0.0.1-rc.7",
4
4
  "description": "Consensus for the Mainsail blockchain",
5
5
  "license": "GPL-3.0-only",
6
6
  "contributors": [],
@@ -12,11 +12,11 @@
12
12
  ],
13
13
  "dependencies": {
14
14
  "dayjs": "1.11.13",
15
- "@mainsail/blockchain-utils": "0.0.1-rc.6",
16
- "@mainsail/contracts": "0.0.1-rc.6",
17
- "@mainsail/kernel": "0.0.1-rc.6",
18
- "@mainsail/container": "0.0.1-rc.6",
19
- "@mainsail/utils": "0.0.1-rc.6"
15
+ "@mainsail/blockchain-utils": "0.0.1-rc.7",
16
+ "@mainsail/container": "0.0.1-rc.7",
17
+ "@mainsail/contracts": "0.0.1-rc.7",
18
+ "@mainsail/kernel": "0.0.1-rc.7",
19
+ "@mainsail/utils": "0.0.1-rc.7"
20
20
  },
21
21
  "devDependencies": {
22
22
  "esmock": "2.7.1",
@@ -28,7 +28,6 @@
28
28
  "scripts": {
29
29
  "build": "tsc -b",
30
30
  "build:watch": "pnpm run clean && tsc -w",
31
- "clean": "del distribution && del tsconfig.tsbuildinfo",
32
31
  "release": "pnpm publish --access public",
33
32
  "test": "pnpm run uvu source .test.ts",
34
33
  "test:coverage": "c8 -r=text -r=lcov --all pnpm run test",