Re-split sov-ibc
and sov-ibc-transfer
modules, and also separate test utils into sov-ibc-mocks
#12
Labels
modules
Related to ibc modules
Background
As of informalsystems/sovereign-sdk#11,
sov-ibc
andsov-ibc-transfer
have been combined.This decision was made because
sov-ibc
is implemented in a way that it couldn't function independently withoutsov-ibc-transfer
. Additionally, not clear how a new IBC application should be plugged in without needing to hardcode things, at least not in theIbc<C, Da>
struct. Consequently, this led to confusion that these two components should coexist.However, recent experience of working on the
demo-rollup
revealed:In the context of the rollup application, each of the structs implemented
ModuleInfo
represents a distinct module within the Sovereign SDK system. Thus, each should essentially be plugged in, initialized, and ideally operated independently. Thus, The mentioned merge hasn't offered much in practice. Conversely, that has complicated dependency and feature management. We may want to enable a feature in one module without necessarily activating it for the entire repository.To decouple
sov-ibc
andsov-ibc-transfer
and clear up mentioned confusion, the issue #13 has been opened.Proposal
Within this issue, we aim to re-split
sov-ibc
andsov-ibc-transfer
with some adjustments fromdemo-rollup
experience. Accordingly can go further and split up existing abstraction and implementation for tests to live in a separatesov-ibc-mocks
crate.The text was updated successfully, but these errors were encountered: