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

Remove dependency on ibc-go from capability module #4055

Closed
3 tasks
damiannolan opened this issue Jul 10, 2023 · 1 comment · Fixed by #4068
Closed
3 tasks

Remove dependency on ibc-go from capability module #4055

damiannolan opened this issue Jul 10, 2023 · 1 comment · Fixed by #4068
Assignees
Labels
capability Issues for capability modules dependencies Issues or PRs to update a dependency
Milestone

Comments

@damiannolan
Copy link
Member

Summary

Currently the capability module maintained under modules/capability depends on ibc-go in order to make use of simapp under testing/simapp.

The capability module does NOT make use of any ibctesting features such as:

  • TestChain
  • Path
  • Endpoint
  • Coordinator

The capability module uses the ibc-go dependency in testing ONLY. It uses simapp for instantiating a new test app and making use of baseapp as well as key functionality such as GetKey and GetMemKey within test funcs.

Problem Definition

While diving into #3978 I noticed how problematic this becomes when performing dependency updates, particularly with the sdk.
The PR in progress currently relies on a fork containing sdk v0.50 code in ibc-go in order to service the capability module's testing.

Without the fork we run into compiler errors, for example, such as store types being now imported from cosmossdk.io/store rather than the previously used github.com/cosmos/cosmos-sdk/store/types.

This becomes a real headache when trying to iterate quickly and upgrade go modules in isolation.

Proposal

Add a lightweight testing app to modules/capability in order to provide testing functionality.
It should be desirable to keep the testing app as barebones as possible - even importing and bootstrapping the app with baseapp and x/capability if at all possible.

This will alleviate issues with the Eden upgrade in progress and allow us to iterate quickly and in isolation without having to rely on ibc-go or any other simulation app as a dependency.


For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged/assigned
@damiannolan damiannolan added dependencies Issues or PRs to update a dependency capability Issues for capability modules labels Jul 10, 2023
@damiannolan damiannolan self-assigned this Jul 10, 2023
@crodriguezvega crodriguezvega added this to the v8.0.0 milestone Jul 11, 2023
@damiannolan
Copy link
Member Author

See #4057 (comment)

I've opened #4068 to address the upgrade and remove the ibc-go dependency, while not adding any simapp to the capability module.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
capability Issues for capability modules dependencies Issues or PRs to update a dependency
Projects
Archived in project
2 participants