Summary
There is a tight coupling when the *baseapp.MsgServiceRouter type is expected in the modules. In order to make this more extendable and future proof an interface would be better.
Proposal
ibc-go and wasmd modules are using interfaces already.
// MessageRouter ADR 031 request type routing
// https://github.com/cosmos/cosmos-sdk/blob/main/docs/architecture/adr-031-msg-service.md
type MessageRouter interface {
Handler(msg sdk.Msg) baseapp.MsgServiceHandler
}
Summary
There is a tight coupling when the
*baseapp.MsgServiceRoutertype is expected in the modules. In order to make this more extendable and future proof an interface would be better.Proposal
ibc-go and wasmd modules are using interfaces already.