-
Notifications
You must be signed in to change notification settings - Fork 3.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor: ADR - Move Rosetta to standalone repository #16394
Closed
Closed
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
# ADR 606: Rosetta standalone | ||
|
||
## Changelog | ||
|
||
* May 31, 2023: Initial draft (@Bizk) | ||
|
||
## Status | ||
|
||
DRAFT | ||
|
||
## Abstract | ||
|
||
Rosetta implementation runs on top of Cosmos SDK. The tool should rely on stable cosmos-sdk. | ||
releases and not experimental features in order to ensure usability and stability. | ||
Having the tool inside the main cosmos-sdk repo may cause unrequired updates, and make the | ||
tool maintenance more complicated. | ||
|
||
## Context | ||
|
||
In the current context; Rosetta is inside cosmos-sdk project due to easier maintainability. | ||
This is a problem because as seen in some previous commits, it has suffered unrequired changes | ||
like updates due to a refactor or a new experimental feature. Such changes can cause mismatches | ||
in dependencies, or unexpected behaviour that needs to be addressed down the line. | ||
|
||
Since Rosetta is a standalone tool that has been implemented using Cosmos-sdk, it should | ||
rely only on each release, instead of being affected by experimental features or | ||
interfeering over the cosmos-sdk development. | ||
|
||
Decoupling Rosetta from the cosmos-sdk project is not only a good practice since it keeps the | ||
scope well defined, but also it ensures better maintainability over time. | ||
|
||
## Alternatives | ||
|
||
The 2 altnernatives are: | ||
- **Keep Project inside Cosmos-sdk**: This might be easier to handle from a fully immersed position. | ||
maintainer's point of view, who works on different aspects of cosmos-sdk and might want to try | ||
features into Rosetta. | ||
- **Move the project into another repo**: This approach intends to keep the scope well defined, | ||
and to ensure maintainability and stability over time. | ||
|
||
## Decision | ||
|
||
We will move Rosetta into a standalone repo in order to keep the Scope well defined, a stable | ||
versioning, and to ensure an easier and cleaner maintainability. | ||
|
||
We will also add and keep track of quality standards as tests and follow cosmos-sdk releases. | ||
|
||
## Consequences | ||
|
||
The consequence will be a new repo that contains the rosetta tool implemented by cosmos. | ||
|
||
### Positive | ||
|
||
- Better scope. | ||
- Easier miantainability and testing. | ||
- Avoids unrequired changes. | ||
- Easier to fork / contribute. | ||
|
||
### Negative | ||
|
||
- Adds one more repo to keep track of. | ||
- More dificult to test experimental features from cosmos-sdk | ||
|
||
## Further Discussions | ||
|
||
- [Discussion on migrating Rosetta into a standalone repo](https://github.com/cosmos/cosmos-sdk/issues/16276) | ||
- [Zondax plugin implementation Test](https://github.com/Zondax/cosmos-sdk/pull/653) |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks mate!