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