Draft: Edo Freeze
This MR freeze edo, and refactor the code of lib_client_commands to propose a new way to structure this library in order to make the freeze process easier and less error prone.
Related issue : #1411 (closed)
Freeze TODO
After each protocol activation, old protocol are kept frozen in the codebase. However large part of the code developed for an old protocol can now be removed to avoid accumulating dead code in th repository. This code is composed by all daemons, tests associated to and old protocol, and RW commands available to the client.
In this document we will refer as protocol to the protocol that we want to
freeze, say 008 and current protocol as the next protocol (009)
Remove accuser,baker,endorser
All these three daemons are no longer needed. The code can be safely removed and the Makefile should be modified accordingly.
Remove protocol tests
All tests developed for the protocol can be removed.
These are defined in
- lib_client/test
- lib_protocol/test
- tests_python/tests_XXX
All opam tests should be removed from .gitlab/ci/opam.yml using the script
scripts/update_opam_test.sh .
All integration tests should be removed from .gitlab/ci/integration.yml using
the script scripts/update_integration_test.sh
Remove lib_delegate
This code is no longer needed and can be safely removed.
Remove protocol tests from tezt
The code of Tezt must be updated by hand removing the protocol from the type
Protocol.t and adapting the test accordingly.
Remove testnets from tezos-docker-manager.sh
Mention of the protocol testnest should be removed from the script
tezos-docker-manager.sh.
Remove remove testnest from bin_node
Mention of the protocol testnest should be removed from node binary code. In
particular the file src/bin_node/node_config_file.ml should be amended.
The protocol registration plugin module should be removed from
src/bin_node/tezos-node.opam
Remove protocol from the current protocol python tests
The code for the tests test_voting_full.py and test_migration.py from the
current protocol should be removed. Any mention of the protocol in
tests_python/tests_XXX/protocol.py should also be removed.
These changes remove the migration testing code of the current protocol that is no longer necessary to test.
Integration tests should be amended accordingly.
Remove all the RW commands from lib_client_commands
The module lib_client_commands defines RO and RW commands. The RW commands
can be now safely removed as no longer needed.