Skip to content
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

Move transfer application and tendermint client to separate crates #716

Closed
Tracked by #554 ...
plafer opened this issue Jun 13, 2023 · 2 comments · Fixed by #975
Closed
Tracked by #554 ...

Move transfer application and tendermint client to separate crates #716

plafer opened this issue Jun 13, 2023 · 2 comments · Fixed by #975
Assignees
Labels
O: decoupling Objective: aims to separate concerns and cause to independent, reusable components O: maintainability Objective: cause to ease modification, fault corrections and improve code understanding O: usability Objective: aims to enhance user experience (UX) and streamline product usability
Milestone

Comments

@plafer
Copy link
Contributor

plafer commented Jun 13, 2023

We should move the transfer application and the tendermint client to separate crates. This way, these can evolve independently from the core ibc-rs.

Notably, post ibc-rs 1.0, this will mean that if needed we will be able to make breaking changes to the app or client (incrementing the major version) without needing to increment ibc-rs's major version. This will completely decouple core IBC from Tendermint.

@plafer plafer added O: usability Objective: aims to enhance user experience (UX) and streamline product usability O: maintainability Objective: cause to ease modification, fault corrections and improve code understanding O: decoupling Objective: aims to separate concerns and cause to independent, reusable components labels Jun 13, 2023
@DaviRain-Su
Copy link
Contributor

i can do this.

@plafer
Copy link
Contributor Author

plafer commented Jun 14, 2023

Thank you! However, let's hold it for now (I should have marked it as blocked). Currently our tests depend on the tendermint client, and we don't want ibc-rs to depend on the future tendermint client crate. And currently, our Mock* types are not test-only; if they were, we could simply import the tendermint client crate as a dev-dependency.

@rnbguy is currently re-architecting our tests (#677), so let's wait until this direction is more clear before we move forward with this issue.

@plafer plafer added the A: blocked Admin: blocked by another (internal/external) issue or PR label Jun 14, 2023
@Farhad-Shabani Farhad-Shabani removed the A: blocked Admin: blocked by another (internal/external) issue or PR label Nov 14, 2023
@Farhad-Shabani Farhad-Shabani added this to the v0.48.0 milestone Nov 24, 2023
@Farhad-Shabani Farhad-Shabani self-assigned this Nov 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
O: decoupling Objective: aims to separate concerns and cause to independent, reusable components O: maintainability Objective: cause to ease modification, fault corrections and improve code understanding O: usability Objective: aims to enhance user experience (UX) and streamline product usability
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants