Description
Summary
The goal is to move Rosetta tool under cosmos-sdk/tools
folder to a separated repo, in order to have a cleaner well structure maintenance and management of Rosetta efforts.
Problem Definition
While working on features and improvements over Rosetta. Our team have experienced some common issues related to dependencies and versioning due to the nested Rosetta project. In order to guarantee that the cosmos implementation of Rosetta always work and since it relies on Cosmos-sdk releases to work. We propose to detach it from the root repo.
Here are a few arguments pro decoupling Rosetta tool from cosmos-sdk
- Modularity and Decoupling: By separating the nested project into its own repository, it achieves better modularity and decoupling between the two projects. Enabling separate versioning, releases, and development processes. Changes made to one project will have minimal impact on the other, reducing the risk of introducing unexpected issues or dependencies it has been seen on some refactors.
- Dependency Management: Keeping the nested project in the same repository as the root project can lead to challenges in managing dependencies and versioning. When both projects share the same repository, they often end up sharing the same dependencies, making it difficult to have different versions or configurations for each project. The idea is to have a working Rosetta version per release which is always up to date and maintained.
Work Breakdown
In order to detach this project we need to rollback some changes so Rosetta can depend only on the latest cosmos-sdk release. Which at tis time is v0.47.x. See issue #16273