Skip to content

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

@Farhad-Shabani

Description

@Farhad-Shabani

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.

Metadata

Metadata

Labels

A: breakingAdmin: breaking change that may impact operatorsO: decouplingObjective: aims to separate concerns and cause to independent, reusable componentsO: usabilityObjective: aims to enhance user experience (UX) and streamline product usability

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions