Skip to content
This repository has been archived by the owner on Jun 24, 2024. It is now read-only.

Decouple sov-ibc from any IBC apps with an intermediary module and provide clear port-to-app mapping #13

Open
Farhad-Shabani opened this issue Oct 9, 2023 · 0 comments
Labels
blocked Blocked by another (internal/external) issue or PR modules Related to ibc modules

Comments

@Farhad-Shabani
Copy link
Member

Problem Statement

Ideally, the sov-ibc module should be divided into two distinct modules, e.g., sov-ibc-core and sov-ibc-router.
This separation ensures that sov-ibc-core remains integrated with any IBC application without being coupled to any of them. (which is already the case and it depends on sov-ibc-transfer). Instead, when necessary, a router module should be invoked to determine which application is operated.

For instance, looking at other existing IBC applications like ICS-27 (Interchain Accounts), each interchain account operates on a separate channel and port ids. Consequently, a complete IBC module may comprise multiple ports. This necessitates a clear mapping of ports to applications which implies the need for specific states to be defined within the store and managed within a module. This module fundamentally is responsible for managing incoming packets into various applications and facilitating interaction between sov-ibc-core and different sov-ibc-app.

However, the implementation of such a router module is currently blocked by ibc-rs due to design limitations.

@Farhad-Shabani Farhad-Shabani added the modules Related to ibc modules label Oct 9, 2023
@github-project-automation github-project-automation bot moved this to 📥 To Do in sovereign-ibc Oct 9, 2023
@Farhad-Shabani Farhad-Shabani added the blocked Blocked by another (internal/external) issue or PR label Oct 9, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
blocked Blocked by another (internal/external) issue or PR modules Related to ibc modules
Projects
Status: 📥 To Do
Development

No branches or pull requests

1 participant