Skip to content

Proto: lighten consensus operation checks in mempool mode

Context

Since !7516 (merged), the baker is able to preendorse a valid block without waiting for its full application. However, such a preendorsement cannot be propagated until the block is fully applied and a new mempool is built on it, because the protocol's validation function rejects this operation that is not consistent with the current head.

This MR makes the validation of consensus operations (preendorsements and endorsements) much more permissive in mempool mode. This allows early preendorsements to be immediately propagated, as well as consensus operations for potential cousin blocks that are not currently known to the mempool.

This MR depends on !7720 (merged) and !7848 (merged).

Manually testing the MR

CI

Checklist

  • Document the interface of any function added or modified (see the coding guidelines)
  • [N/A] Document any change to the user interface, including configuration parameters (see node configuration)
  • Provide automatic testing (see the testing guide).
  • For new features and bug fixes, add an item in the appropriate changelog (docs/protocols/alpha.rst for the protocol and the environment, CHANGES.rst at the root of the repository for everything else).
  • Select suitable reviewers using the Reviewers field below.
  • Select as Assignee the next person who should take action on that MR
Edited by Diane Gallois-Wong

Merge request reports