cosmos / ibc-go

Inter-Blockchain Communication Protocol (IBC) implementation in Golang.
https://ibc.cosmos.network/
MIT License
553 stars 597 forks source link

Support SDK dependency injection for v2 apps #3560

Open alpe opened 1 year ago

alpe commented 1 year ago

Summary

SDK 47 ships with the new dependency-injection framework used in app_v2.

As wasmd has a dependency to the ibc (core and other) keepers, we can not update our module to be used with the dependency-injection framework. There is no workaround AFAIK

Proposal

Please make the modules compatible to work with app v1 + v2.


For Admin Use

crodriguezvega commented 1 year ago

Thank you, @alpe, for opening this issue. How pressing is your need to have ibc-go compatible with app v2? Having also app v1 is blocking any urges development on your side?

alpe commented 1 year ago

The v1 app is working with our sdk v47 integration. But as v2 had become the "preferred" setup (in build tags) we were eager to provide a fully compatible module with our official release. This is not possible due to our dependency on ibc-go in the wasmd module. We set the new goal for v2 support in the v0.41 release. Therefore it is not super urgent but blocking the integration work on our side.

crodriguezvega commented 1 year ago

Thanks for the information, @alpe. What is your timeline for v0.41?

And If I understand correctly, then you would like to have this available in the v7 release line, right?

alpe commented 1 year ago

v7.x would be nice to have a small change set only. We don't have a strict release schedule for v0.41 but target middle of April. As the work on our side had started already, it would be great to not have this pending for too long.

In https://github.com/CosmWasm/wasmd/pull/1287 we have a mixed v2 with v1 legacy module setup in /app. That could be some template for your test setup before adding full v2 support to the module.

crodriguezvega commented 9 months ago

All the branches to add support to a module will need to branch off carlos/add-buf-gen-pulsar (at least until this branch is merged into feat/depinject).

Do we need also to add support in the mock module?