From b6f934ea7e169b397fef39f36a4d6947b9a7d92c Mon Sep 17 00:00:00 2001 From: Facundo Medica Date: Mon, 6 Jun 2022 16:30:13 -0300 Subject: [PATCH] feat: add MsgServiceRouter to Baseapp --- baseapp/baseapp.go | 5 +++++ runtime/builder.go | 9 ++++++++- runtime/module.go | 3 ++- simapp/app.go | 4 +++- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/baseapp/baseapp.go b/baseapp/baseapp.go index 34f62c7b075f..096228614922 100644 --- a/baseapp/baseapp.go +++ b/baseapp/baseapp.go @@ -198,6 +198,11 @@ func (app *BaseApp) Trace() bool { // MsgServiceRouter returns the MsgServiceRouter of a BaseApp. func (app *BaseApp) MsgServiceRouter() *MsgServiceRouter { return app.msgServiceRouter } +// SetMsgServiceRouter sets the MsgServiceRouter of a BaseApp. +func (app *BaseApp) SetMsgServiceRouter(msgServiceRouter *MsgServiceRouter) { + app.msgServiceRouter = msgServiceRouter +} + // MountStores mounts all IAVL or DB stores to the provided keys in the BaseApp // multistore. func (app *BaseApp) MountStores(keys ...storetypes.StoreKey) { diff --git a/runtime/builder.go b/runtime/builder.go index 47a979b4dc6a..4103427e99b8 100644 --- a/runtime/builder.go +++ b/runtime/builder.go @@ -25,12 +25,19 @@ func (a *AppBuilder) DefaultGenesis() map[string]json.RawMessage { } // Build builds an *App instance. -func (a *AppBuilder) Build(logger log.Logger, db dbm.DB, traceStore io.Writer, baseAppOptions ...func(*baseapp.BaseApp)) *App { +func (a *AppBuilder) Build( + logger log.Logger, + db dbm.DB, + traceStore io.Writer, + msgServiceRouter *baseapp.MsgServiceRouter, + baseAppOptions ...func(*baseapp.BaseApp), +) *App { for _, option := range a.app.baseAppOptions { baseAppOptions = append(baseAppOptions, option) } // TODO: when the auth module is configured, fill-in txDecoder bApp := baseapp.NewBaseApp(a.app.config.AppName, logger, db, nil, baseAppOptions...) + bApp.SetMsgServiceRouter(msgServiceRouter) bApp.SetCommitMultiStoreTracer(traceStore) bApp.SetVersion(version.Version) bApp.SetInterfaceRegistry(a.app.interfaceRegistry) diff --git a/runtime/module.go b/runtime/module.go index 399e9ad2c0b6..84c3f390c998 100644 --- a/runtime/module.go +++ b/runtime/module.go @@ -44,6 +44,7 @@ func provideCodecs(moduleBasics map[string]AppModuleBasicWrapper) ( *codec.LegacyAmino, appWrapper, codec.ProtoCodecMarshaler, + *baseapp.MsgServiceRouter, ) { interfaceRegistry := codectypes.NewInterfaceRegistry() amino := codec.NewLegacyAmino() @@ -67,7 +68,7 @@ func provideCodecs(moduleBasics map[string]AppModuleBasicWrapper) ( basicManager: basicManager, } - return interfaceRegistry, cdc, amino, app, cdc + return interfaceRegistry, cdc, amino, app, cdc, baseapp.NewMsgServiceRouter() } type appInputs struct { diff --git a/simapp/app.go b/simapp/app.go index bae5e4065747..d25e3897a4c2 100644 --- a/simapp/app.go +++ b/simapp/app.go @@ -213,6 +213,7 @@ func NewSimApp( } var appBuilder *runtime.AppBuilder + var msgServiceRouter *baseapp.MsgServiceRouter err := depinject.Inject(AppConfig, &appBuilder, @@ -225,12 +226,13 @@ func NewSimApp( &app.BankKeeper, &app.FeeGrantKeeper, &app.StakingKeeper, + &msgServiceRouter, ) if err != nil { panic(err) } - app.App = appBuilder.Build(logger, db, traceStore, baseAppOptions...) + app.App = appBuilder.Build(logger, db, traceStore, msgServiceRouter, baseAppOptions...) app.keys = sdk.NewKVStoreKeys( minttypes.StoreKey, distrtypes.StoreKey,