diff --git a/baseapp/options.go b/baseapp/options.go index a56ce19c88df..bc3aa11aeeb7 100644 --- a/baseapp/options.go +++ b/baseapp/options.go @@ -158,6 +158,10 @@ func (app *BaseApp) SetInitChainer(initChainer sdk.InitChainer) { app.initChainer = initChainer } +func (app *BaseApp) PreBlocker() sdk.PreBlocker { + return app.preBlocker +} + func (app *BaseApp) SetPreBlocker(preBlocker sdk.PreBlocker) { if app.sealed { panic("SetPreBlocker() on sealed BaseApp") diff --git a/runtime/app.go b/runtime/app.go index c20d8c954026..734a13006eb1 100644 --- a/runtime/app.go +++ b/runtime/app.go @@ -116,7 +116,9 @@ func (a *App) Load(loadLatest bool) error { if len(a.config.PreBlockers) != 0 { a.ModuleManager.SetOrderPreBlockers(a.config.PreBlockers...) - a.SetPreBlocker(a.PreBlocker) + if a.BaseApp.PreBlocker() == nil { + a.SetPreBlocker(a.PreBlocker) + } } if len(a.config.BeginBlockers) != 0 { diff --git a/runtime/builder.go b/runtime/builder.go index e3bb56545a3e..72bf965f7082 100644 --- a/runtime/builder.go +++ b/runtime/builder.go @@ -35,7 +35,6 @@ func (a *AppBuilder) Build(db dbm.DB, traceStore io.Writer, baseAppOptions ...fu bApp.SetVersion(version.Version) bApp.SetInterfaceRegistry(a.app.interfaceRegistry) bApp.MountStores(a.app.storeKeys...) - bApp.SetPreBlocker(a.app.PreBlocker) a.app.BaseApp = bApp a.app.configurator = module.NewConfigurator(a.app.cdc, a.app.MsgServiceRouter(), a.app.GRPCQueryRouter()) diff --git a/simapp/app_v2.go b/simapp/app_v2.go index 50bb5cb3687d..b865a1b30209 100644 --- a/simapp/app_v2.go +++ b/simapp/app_v2.go @@ -256,7 +256,7 @@ func NewSimApp( // However, when registering a module manually (i.e. that does not support app wiring), the module version map // must be set manually as follow. The upgrade module will de-duplicate the module version map. // - // app.SetInitChainer(func(ctx sdk.Context, req abci.RequestInitChain) abci.ResponseInitChain { + // app.SetInitChainer(func(ctx sdk.Context, req *abci.RequestInitChain) (*abci.ResponseInitChain, error) { // app.UpgradeKeeper.SetModuleVersionMap(ctx, app.ModuleManager.GetVersionMap()) // return app.App.InitChainer(ctx, req) // })