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

Refactor client-related APIs for modularity and allow independent ICS-02 integration #1114

Closed
Farhad-Shabani opened this issue Mar 5, 2024 · 0 comments · Fixed by #1115
Closed
Assignees
Labels
A: breaking Admin: breaking change that may impact operators O: decoupling Objective: aims to separate concerns and cause to independent, reusable components O: usability Objective: aims to enhance user experience (UX) and streamline product usability

Comments

@Farhad-Shabani
Copy link
Member

Summary

Reorganizing and simplifying client-related APIs under the various ValidationContext and ExecutionContext traits at different levels in ICS-24, ICS-02, and ICS-07 crates, and consolidating them primarily under the ICS-02 client validation and execution contexts.

Objective

Enhance API delineation to facilitate modular integration of specific client state implementation based on ibc-rs without mandating to implement all the IBC stack. (Namely not requiring to implementing all the methods under the top-level Validation/ExecutionContext traits. This change would result in:

  1. Streamlines CosmWasm light client integration
    • Eases independent integration of ICS02-client traits for CosmWasm contract development with ibc-rs.
  2. Enables ICS-02 client integration with any implementations
    • Allows any IBC-adjacent implementation to be equipped with implemented light clients from ibc-rs.

Remark

Given the scope of this issue which will include a substantial number of breaking changes, it would be more efficient to communicate and execute this enhancement through an ADR.

@Farhad-Shabani Farhad-Shabani added A: breaking Admin: breaking change that may impact operators O: usability Objective: aims to enhance user experience (UX) and streamline product usability O: decoupling Objective: aims to separate concerns and cause to independent, reusable components labels Mar 5, 2024
@Farhad-Shabani Farhad-Shabani self-assigned this Mar 5, 2024
@github-project-automation github-project-automation bot moved this to 📥 To Do in ibc-rs Mar 5, 2024
@github-project-automation github-project-automation bot moved this from 📥 To Do to ✅ Done in ibc-rs Mar 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A: breaking Admin: breaking change that may impact operators O: decoupling Objective: aims to separate concerns and cause to independent, reusable components O: usability Objective: aims to enhance user experience (UX) and streamline product usability
Projects
None yet
1 participant