Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # 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
# for free to join this conversation on GitHub. Already have an account? # 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