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

Restructure the ibc crate #965

Closed
7 tasks done
Tracked by #554
Farhad-Shabani opened this issue Nov 14, 2023 · 0 comments · Fixed by #975
Closed
7 tasks done
Tracked by #554

Restructure the ibc crate #965

Farhad-Shabani opened this issue Nov 14, 2023 · 0 comments · Fixed by #975
Labels
O: code-hygiene Objective: aims to improve code hygiene 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

@Farhad-Shabani
Copy link
Member

Farhad-Shabani commented Nov 14, 2023

Background

This initiative aims to optimize the organization of the ibc crate by decomposing it into smaller, self-contained libraries. A pivotal step in this process involved segregating our mock testing facilities into the standalone ibc-testkit library, as detailed in this PR. By decoupling its implementation from the main ibc crate, we've laid the groundwork for advancing this initiative.

The primary objectives here are twofold: firstly, to diminish the interdependence within the codebase among various components such as ibc core, clients, and applications, and secondly, to elevate the overall usability of the implementation. The overarching aim is to empower users to selectively import specific IBC layers, mitigating potential conflicts related to dependencies or features that may arise in the context of a monolithic library.

Steps

The following steps outline the restructuring process:

Tasks

  1. O: usability
    Farhad-Shabani

Next

Following the above steps, the next phase involves preparing a GitHub action for streamlining the release process:

Checklist

Additionally, for each added library, we should adhere to the following checklist:

  • Use workspace dependency
  • Remove unused dependencies and feature flags
  • Add a README and short description for each library
  • Update the main README page
  • Update the Releases section of contributing.md
  • Reflect changes on basecoin-rs

Relevant issues

@Farhad-Shabani Farhad-Shabani added O: code-hygiene Objective: aims to improve code hygiene 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 Nov 14, 2023
@Farhad-Shabani Farhad-Shabani added this to the v0.48.0 milestone Nov 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
O: code-hygiene Objective: aims to improve code hygiene 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.

1 participant