Proto & plugin: refactor run_operation RPC
Context
Refactor the implementation of the run_operation RPC with two objectives:
- remove functions / stop exposing private functions from
Validate_operationandApplythat are exclusively needed forrun_operation - factorize as much code as possible with
Main.apply_operation
Fixes part of #3245 (closed) by removing TMP_for_plugin.precheck_manager__do_nothing_on_non_manager_op. This means one less entry point to worry about in the future when we add the validation of non-manager operations.
This is also the first step listed in #3401 (closed).
This MR is on top of !5707 (merged) which fixes a minor problem with run_operation in tezt.
Manually testing the MR
Run the tezt tests on run_operation:
dune exec tezt/tests/main.exe -- run_operation
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.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 Diane Gallois-Wong