Remove conflict between voting operations and a testnet dictator operation
Context
This MR changes the validation/application semantics of voting operations occurring after a testnet dictator enacted a protocol change. Prior to that, both kind of operations would be exclusive in a block. This changes this behavior by removing the conflict possibility and treat proposals/ballots, occuring after a testnet dictator proposal as noop.
This has no impact on mainnet. This only relaxes the operation semantics to be less restrictive.
We also bound the list encoding for the Proposals operation to the constant size of maximum authorized proposals to prevent spam. This will now fail during the decoding part instead of during the validation.
This work is required for !6274 (merged).
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
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.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR
Edited by vbot