You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently we register light client interfaces in RegisterInterfaces within the core IBC module set as an sdk module. We should expose some API to register interfaces without adding code to the core IBC module. My first inclination is to add this function to the app module basic, so app.go files will be required to provide a function registering all their desired light clients. An alternative is to use the go init() function
In the short term, chains can simply add a call to the RegisterInterfaces for external light clients within the construction of the App in app.go
Decision
Add a field to AppModuleBasic to register interfaces, the list of functions can be taken in via NewAppModuleBasic. In AppModuleBasic.RegisterInterfaces should iterate over the functions provided
For Admin Use
Not duplicate issue
Appropriate labels applied
Appropriate contributors tagged/assigned
The text was updated successfully, but these errors were encountered:
After discussion with @damiannolan we will go with the app module basic approach. IBC clients as SDK modules allows for additional benefits such as having external information (metadata) being controlled outside of 02-client (migrations, genesis). The benefits require SDK intermodule routing, but this is a step in the long term direction that will eventually be needed. I will write an ADR outlining the problems/eventual solution and why the AppModuleBasic approach is aligned in that direction
Closed! AppModuleBasics have been added for tendermint and solo machine. #2008 will add documentation to show external devs how to create an app module basic
Summary
Currently we register light client interfaces in RegisterInterfaces within the core IBC module set as an sdk module. We should expose some API to register interfaces without adding code to the core IBC module. My first inclination is to add this function to the app module basic, so app.go files will be required to provide a function registering all their desired light clients. An alternative is to use the go
init()
functionIn the short term, chains can simply add a call to the RegisterInterfaces for external light clients within the construction of the App in
app.go
Decision
Add a field to
AppModuleBasic
to register interfaces, the list of functions can be taken in viaNewAppModuleBasic
. InAppModuleBasic.RegisterInterfaces
should iterate over the functions providedFor Admin Use
The text was updated successfully, but these errors were encountered: