Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: migrate x/crisis use app wiring #12270

Merged
Merged
Show file tree
Hide file tree
Changes from 26 commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
ff12daa
feat: migrate x/crisis to use app wiring
JeancarloBarrios Jun 9, 2022
3b91f50
remove crisis from app
JeancarloBarrios Jun 15, 2022
94edd50
Merge branch 'main' into JeancarloBarrios/migrate_crisis_use_app_wiring
JeancarloBarrios Jun 15, 2022
518738a
comment import
JeancarloBarrios Jun 15, 2022
cadf47f
change config to pointer
JeancarloBarrios Jun 16, 2022
9a275ec
remove double param
JeancarloBarrios Jun 16, 2022
b098923
Merge branch 'main' into JeancarloBarrios/migrate_crisis_use_app_wiring
JeancarloBarrios Jun 16, 2022
8502184
remove slashing keeper
JeancarloBarrios Jun 16, 2022
557c503
remove comments
JeancarloBarrios Jun 16, 2022
afcd47d
Update x/crisis/module.go
JeancarloBarrios Jun 17, 2022
2dd2442
Merge branch 'JeancarloBarrios/migrate_crisis_use_app_wiring' of http…
JeancarloBarrios Jun 17, 2022
80a51b4
change type for auth types
JeancarloBarrios Jun 20, 2022
38b42b3
t
JeancarloBarrios Jun 20, 2022
cdb5f9a
Merge branch 'main' into JeancarloBarrios/migrate_crisis_use_app_wiring
JeancarloBarrios Jun 20, 2022
1a243a3
Merge branch 'main' into JeancarloBarrios/migrate_crisis_use_app_wiring
JeancarloBarrios Jun 22, 2022
f9f8f76
depinject flag
JeancarloBarrios Jun 22, 2022
d551e98
remove crisis
JeancarloBarrios Jun 22, 2022
808fad2
Merge branch 'main' into JeancarloBarrios/migrate_crisis_use_app_wiring
JeancarloBarrios Jun 22, 2022
8a00c1e
add skip genesis invariant
JeancarloBarrios Jun 23, 2022
59c29a6
changed the default app opts to have invalid check period
JeancarloBarrios Jun 23, 2022
7bdbc5a
change app options to include flag period in tests
JeancarloBarrios Jun 27, 2022
cf525d3
updated proto removed config
JeancarloBarrios Jun 27, 2022
b7a5247
Merge branch 'main' into JeancarloBarrios/migrate_crisis_use_app_wiring
JeancarloBarrios Jun 27, 2022
aeb92e7
added free collector name to config
JeancarloBarrios Jun 27, 2022
22995aa
register invariants
JeancarloBarrios Jun 27, 2022
b27cec5
add proto
JeancarloBarrios Jun 27, 2022
d59ff9b
change keeper to pointer
JeancarloBarrios Jun 28, 2022
0c09cde
change keeper to pointer
JeancarloBarrios Jun 28, 2022
22b50fc
change to pointer bug
JeancarloBarrios Jun 28, 2022
8f88b94
remove print
JeancarloBarrios Jun 28, 2022
32f7727
remove key and comments
JeancarloBarrios Jun 28, 2022
24fe029
remove key and comments
JeancarloBarrios Jun 28, 2022
7633b81
remove comments
JeancarloBarrios Jun 28, 2022
a097c48
remove comments
JeancarloBarrios Jun 28, 2022
a7363c0
Merge branch 'main' into JeancarloBarrios/migrate_crisis_use_app_wiring
JeancarloBarrios Jun 28, 2022
747c7a6
Delete debug_container.dot
JeancarloBarrios Jun 28, 2022
ba7200f
Update simapp/app.go
JeancarloBarrios Jun 28, 2022
c3ec174
Update simapp/app.go
JeancarloBarrios Jun 28, 2022
8bcc228
update docs
JeancarloBarrios Jun 29, 2022
da19557
Merge branch 'main' into JeancarloBarrios/migrate_crisis_use_app_wiring
JeancarloBarrios Jun 29, 2022
f736ecf
updated changelog
JeancarloBarrios Jun 29, 2022
87e0516
Merge branch 'JeancarloBarrios/migrate_crisis_use_app_wiring' of http…
JeancarloBarrios Jun 29, 2022
675dd40
change order back to norma;
JeancarloBarrios Jun 29, 2022
1d4f9fe
updated docs
JeancarloBarrios Jun 29, 2022
969acf9
implement comments
julienrbrt Jun 29, 2022
2e8d0d0
Merge branch 'epic/app-wiring' into JeancarloBarrios/migrate_crisis_u…
julienrbrt Jun 29, 2022
d81378e
updates
julienrbrt Jun 29, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
578 changes: 578 additions & 0 deletions api/cosmos/crisis/module/v1/module.pulsar.go

Large diffs are not rendered by default.

6 changes: 5 additions & 1 deletion baseapp/block_gas_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package baseapp_test

import (
"fmt"
"github.com/cosmos/cosmos-sdk/server"
"math"
"testing"

Expand Down Expand Up @@ -64,7 +65,10 @@ func TestBaseApp_BlockGas(t *testing.T) {
}

encCfg := simapp.MakeTestEncodingConfig()
app = simapp.NewSimApp(log.NewNopLogger(), dbm.NewMemDB(), nil, true, 0, encCfg, simtestutil.EmptyAppOptions{}, routerOpt)
appOptions := make(simtestutil.AppOptionsMap, 0)
appOptions[server.FlagInvCheckPeriod] = 0

app = simapp.NewSimApp(log.NewNopLogger(), dbm.NewMemDB(), nil, true, encCfg, appOptions, routerOpt)
app.InterfaceRegistry().RegisterImplementations((*sdk.Msg)(nil),
&testdata.TestMsg{},
)
Expand Down
14 changes: 14 additions & 0 deletions proto/cosmos/crisis/module/v1/module.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
syntax = "proto3";

package cosmos.crisis.module.v1;

import "cosmos/app/v1alpha1/module.proto";

// Module is the config object of the crisis module.
message Module {
option (cosmos.app.v1alpha1.module) = {
go_import: "github.com/cosmos/cosmos-sdk/x/crisis"
};
aaronc marked this conversation as resolved.
Show resolved Hide resolved

string fee_collector_name = 1;
}
10 changes: 7 additions & 3 deletions server/export_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,11 @@ func setupApp(t *testing.T, tempDir string) (*simapp.SimApp, context.Context, *t
logger, _ := log.NewDefaultLogger("plain", "info", false)
db := dbm.NewMemDB()
encCfg := simapp.MakeTestEncodingConfig()
app := simapp.NewSimApp(logger, db, nil, true, 0, encCfg, simtestutil.NewAppOptionsWithFlagHome(tempDir))
appOptions := make(simtestutil.AppOptionsMap, 0)
appOptions[flags.FlagHome] = tempDir
appOptions[server.FlagInvCheckPeriod] = 0

app := simapp.NewSimApp(logger, db, nil, true, encCfg, appOptions)

genesisState := simapp.GenesisStateWithSingleValidator(t, app)
stateBytes, err := tmjson.MarshalIndent(genesisState, "", " ")
Expand Down Expand Up @@ -160,13 +164,13 @@ func setupApp(t *testing.T, tempDir string) (*simapp.SimApp, context.Context, *t

var simApp *simapp.SimApp
if height != -1 {
simApp = simapp.NewSimApp(logger, db, nil, false, 0, encCfg, appOptions)
simApp = simapp.NewSimApp(logger, db, nil, false, encCfg, appOptions)

if err := simApp.LoadHeight(height); err != nil {
return types.ExportedApp{}, err
}
} else {
simApp = simapp.NewSimApp(logger, db, nil, true, 0, encCfg, appOptions)
simApp = simapp.NewSimApp(logger, db, nil, true, encCfg, appOptions)
}

return simApp.ExportAppStateAndValidators(forZeroHeight, jailAllowedAddrs)
Expand Down
24 changes: 13 additions & 11 deletions simapp/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (

"github.com/gorilla/mux"
"github.com/rakyll/statik/fs"
"github.com/spf13/cast"
//"github.com/spf13/cast"
abci "github.com/tendermint/tendermint/abci/types"
"github.com/tendermint/tendermint/libs/log"
tmos "github.com/tendermint/tendermint/libs/os"
Expand Down Expand Up @@ -198,13 +198,15 @@ var AppConfig = appconfig.LoadYAML(appConfigYaml)

// NewSimApp returns a reference to an initialized SimApp.
func NewSimApp(
logger log.Logger, db dbm.DB, traceStore io.Writer, loadLatest bool, invCheckPeriod uint, encodingConfig simappparams.EncodingConfig,
logger log.Logger, db dbm.DB, traceStore io.Writer, loadLatest bool, encodingConfig simappparams.EncodingConfig,
appOpts servertypes.AppOptions, baseAppOptions ...func(*baseapp.BaseApp),
) *SimApp {

var (
appBuilder *runtime.AppBuilder
app = &SimApp{invCheckPeriod: invCheckPeriod}
//app = &SimApp{invCheckPeriod: invCheckPeriod}
app = &SimApp{}

// merge the app.yaml and the appOpts in one config
appConfig = depinject.Configs(AppConfig, depinject.Supply(appOpts))
)
Expand All @@ -228,6 +230,7 @@ func NewSimApp(
&app.EvidenceKeeper,
&app.DistrKeeper,
&app.UpgradeKeeper,
&app.CrisisKeeper,
); err != nil {
panic(err)
}
Expand All @@ -244,9 +247,9 @@ func NewSimApp(

initParamsKeeper(app.ParamsKeeper)

app.CrisisKeeper = crisiskeeper.NewKeeper(
app.GetSubspace(crisistypes.ModuleName), invCheckPeriod, app.BankKeeper, authtypes.FeeCollectorName,
)
//app.CrisisKeeper = crisiskeeper.NewKeeper(
// app.GetSubspace(crisistypes.ModuleName), invCheckPeriod, app.BankKeeper, authtypes.FeeCollectorName,
//)

// register the proposal types
govRouter := govv1beta1.NewRouter()
Expand Down Expand Up @@ -277,12 +280,12 @@ func NewSimApp(

// NOTE: we may consider parsing `appOpts` inside module constructors. For the moment
// we prefer to be more strict in what arguments the modules expect.
skipGenesisInvariants := cast.ToBool(appOpts.Get(crisis.FlagSkipGenesisInvariants))
//skipGenesisInvariants := cast.ToBool(appOpts.Get(crisis.FlagSkipGenesisInvariants))

// NOTE: Any module instantiated in the module manager that is later modified
// must be passed by reference here.
if err := app.RegisterModules(
crisis.NewAppModule(&app.CrisisKeeper, skipGenesisInvariants),

JeancarloBarrios marked this conversation as resolved.
Show resolved Hide resolved
gov.NewAppModule(app.appCodec, app.GovKeeper, app.AccountKeeper, app.BankKeeper),
); err != nil {
panic(err)
Expand All @@ -296,8 +299,8 @@ func NewSimApp(
// can do so safely.
genesisModuleOrder := []string{
capabilitytypes.ModuleName, authtypes.ModuleName, banktypes.ModuleName,
distrtypes.ModuleName, stakingtypes.ModuleName, slashingtypes.ModuleName, govtypes.ModuleName,
minttypes.ModuleName, crisistypes.ModuleName, genutiltypes.ModuleName, evidencetypes.ModuleName, authz.ModuleName,
distrtypes.ModuleName, stakingtypes.ModuleName, crisistypes.ModuleName, slashingtypes.ModuleName, govtypes.ModuleName,
JeancarloBarrios marked this conversation as resolved.
Show resolved Hide resolved
minttypes.ModuleName, genutiltypes.ModuleName, evidencetypes.ModuleName, authz.ModuleName,
feegrant.ModuleName, nft.ModuleName, group.ModuleName, paramstypes.ModuleName, upgradetypes.ModuleName,
vestingtypes.ModuleName,
}
Expand Down Expand Up @@ -440,5 +443,4 @@ func GetMaccPerms() map[string][]string {
// initParamsKeeper init params keeper and its subspaces
func initParamsKeeper(paramsKeeper paramskeeper.Keeper) {
paramsKeeper.Subspace(govtypes.ModuleName).WithKeyTable(govv1.ParamKeyTable())
paramsKeeper.Subspace(crisistypes.ModuleName)
}
4 changes: 4 additions & 0 deletions simapp/app.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -141,3 +141,7 @@ modules:
- name: upgrade
config:
"@type": cosmos.upgrade.module.v1.Module

- name: crisis
config:
"@type": cosmos.crisis.module.v1.Module
43 changes: 30 additions & 13 deletions simapp/app_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ package simapp

import (
"encoding/json"
"github.com/cosmos/cosmos-sdk/client/flags"
"github.com/cosmos/cosmos-sdk/server"
"testing"

"github.com/golang/mock/gomock"
Expand Down Expand Up @@ -40,12 +42,16 @@ func TestSimAppExportAndBlockedAddrs(t *testing.T) {
encCfg := MakeTestEncodingConfig()
db := dbm.NewMemDB()
logger, _ := log.NewDefaultLogger("plain", "info", false)

appOptions := make(simtestutil.AppOptionsMap, 0)
appOptions[server.FlagInvCheckPeriod] = 0
appOptions[flags.FlagHome] = DefaultNodeHome

app := NewSimappWithCustomOptions(t, false, SetupOptions{
Logger: logger,
DB: db,
InvCheckPeriod: 0,
EncConfig: encCfg,
AppOpts: simtestutil.NewAppOptionsWithFlagHome(DefaultNodeHome),
Logger: logger,
DB: db,
EncConfig: encCfg,
AppOpts: appOptions,
})

for acc := range maccPerms {
Expand All @@ -60,7 +66,7 @@ func TestSimAppExportAndBlockedAddrs(t *testing.T) {

logger2, _ := log.NewDefaultLogger("plain", "info", false)
// Making a new app object with the db, so that initchain hasn't been called
app2 := NewSimApp(logger2, db, nil, true, 0, encCfg, simtestutil.NewAppOptionsWithFlagHome(DefaultNodeHome))
app2 := NewSimApp(logger2, db, nil, true, encCfg, appOptions)
_, err := app2.ExportAppStateAndValidators(false, []string{})
require.NoError(t, err, "ExportAppStateAndValidators should not have an error")
}
Expand All @@ -74,7 +80,11 @@ func TestRunMigrations(t *testing.T) {
db := dbm.NewMemDB()
encCfg := MakeTestEncodingConfig()
logger, _ := log.NewDefaultLogger("plain", "info", false)
app := NewSimApp(logger, db, nil, true, 0, encCfg, simtestutil.NewAppOptionsWithFlagHome(DefaultNodeHome))
appOptions := make(simtestutil.AppOptionsMap, 0)
appOptions[server.FlagInvCheckPeriod] = 0
appOptions[flags.FlagHome] = DefaultNodeHome

app := NewSimApp(logger, db, nil, true, encCfg, appOptions)

// Create a new baseapp and configurator for the purpose of this test.
bApp := baseapp.NewBaseApp(app.Name(), logger, db, encCfg.TxConfig.TxDecoder())
Expand Down Expand Up @@ -207,7 +217,11 @@ func TestInitGenesisOnMigration(t *testing.T) {
db := dbm.NewMemDB()
encCfg := MakeTestEncodingConfig()
logger, _ := log.NewDefaultLogger("plain", "info", false)
app := NewSimApp(logger, db, nil, true, 0, encCfg, simtestutil.NewAppOptionsWithFlagHome(DefaultNodeHome))
appOptions := make(simtestutil.AppOptionsMap, 0)
appOptions[server.FlagInvCheckPeriod] = 0
appOptions[flags.FlagHome] = DefaultNodeHome

app := NewSimApp(logger, db, nil, true, encCfg, appOptions)
ctx := app.NewContext(true, tmproto.Header{Height: app.LastBlockHeight()})

// Create a mock module. This module will serve as the new module we're
Expand Down Expand Up @@ -251,12 +265,15 @@ func TestUpgradeStateOnGenesis(t *testing.T) {
encCfg := MakeTestEncodingConfig()
db := dbm.NewMemDB()
logger, _ := log.NewDefaultLogger("plain", "info", false)
appOptions := make(simtestutil.AppOptionsMap, 0)
appOptions[server.FlagInvCheckPeriod] = 0
appOptions[flags.FlagHome] = DefaultNodeHome

app := NewSimappWithCustomOptions(t, false, SetupOptions{
Logger: logger,
DB: db,
InvCheckPeriod: 0,
EncConfig: encCfg,
AppOpts: simtestutil.NewAppOptionsWithFlagHome(DefaultNodeHome),
Logger: logger,
DB: db,
EncConfig: encCfg,
AppOpts: appOptions,
})

// make sure the upgrade keeper has version map in state
Expand Down
14 changes: 12 additions & 2 deletions simapp/sim_bench_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ package simapp

import (
"fmt"
"github.com/cosmos/cosmos-sdk/client/flags"
"github.com/cosmos/cosmos-sdk/server"
"os"
"testing"

Expand Down Expand Up @@ -31,7 +33,11 @@ func BenchmarkFullAppSimulation(b *testing.B) {
require.NoError(b, os.RemoveAll(dir))
}()

app := NewSimApp(logger, db, nil, true, FlagPeriodValue, MakeTestEncodingConfig(), simtestutil.NewAppOptionsWithFlagHome(DefaultNodeHome), interBlockCacheOpt())
appOptions := make(simtestutil.AppOptionsMap, 0)
appOptions[flags.FlagHome] = DefaultNodeHome
appOptions[server.FlagInvCheckPeriod] = FlagPeriodValue

app := NewSimApp(logger, db, nil, true, MakeTestEncodingConfig(), appOptions, interBlockCacheOpt())

// run randomized simulation
_, simParams, simErr := simulation.SimulateFromSeed(
Expand Down Expand Up @@ -78,7 +84,11 @@ func BenchmarkInvariants(b *testing.B) {
require.NoError(b, os.RemoveAll(dir))
}()

app := NewSimApp(logger, db, nil, true, FlagPeriodValue, MakeTestEncodingConfig(), simtestutil.NewAppOptionsWithFlagHome(DefaultNodeHome), interBlockCacheOpt())
appOptions := make(simtestutil.AppOptionsMap, 0)
appOptions[flags.FlagHome] = DefaultNodeHome
appOptions[server.FlagInvCheckPeriod] = FlagPeriodValue

app := NewSimApp(logger, db, nil, true, MakeTestEncodingConfig(), appOptions, interBlockCacheOpt())

// run randomized simulation
_, simParams, simErr := simulation.SimulateFromSeed(
Expand Down
35 changes: 29 additions & 6 deletions simapp/sim_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ package simapp
import (
"encoding/json"
"fmt"
"github.com/cosmos/cosmos-sdk/client/flags"
"github.com/cosmos/cosmos-sdk/server"
"math/rand"
"os"
"runtime/debug"
Expand Down Expand Up @@ -71,7 +73,11 @@ func TestFullAppSimulation(t *testing.T) {
require.NoError(t, os.RemoveAll(dir))
}()

app := NewSimApp(logger, db, nil, true, FlagPeriodValue, MakeTestEncodingConfig(), simtestutil.NewAppOptionsWithFlagHome(DefaultNodeHome), fauxMerkleModeOpt)
appOptions := make(simtestutil.AppOptionsMap, 0)
appOptions[flags.FlagHome] = DefaultNodeHome
appOptions[server.FlagInvCheckPeriod] = FlagPeriodValue

app := NewSimApp(logger, db, nil, true, MakeTestEncodingConfig(), appOptions, fauxMerkleModeOpt)
require.Equal(t, "SimApp", app.Name())

// run randomized simulation
Expand Down Expand Up @@ -109,7 +115,11 @@ func TestAppImportExport(t *testing.T) {
require.NoError(t, os.RemoveAll(dir))
}()

app := NewSimApp(logger, db, nil, true, FlagPeriodValue, MakeTestEncodingConfig(), simtestutil.NewAppOptionsWithFlagHome(DefaultNodeHome), fauxMerkleModeOpt)
appOptions := make(simtestutil.AppOptionsMap, 0)
appOptions[flags.FlagHome] = DefaultNodeHome
appOptions[server.FlagInvCheckPeriod] = FlagPeriodValue

app := NewSimApp(logger, db, nil, true, MakeTestEncodingConfig(), appOptions, fauxMerkleModeOpt)
require.Equal(t, "SimApp", app.Name())

// Run randomized simulation
Expand Down Expand Up @@ -149,7 +159,11 @@ func TestAppImportExport(t *testing.T) {
require.NoError(t, os.RemoveAll(newDir))
}()

newApp := NewSimApp(log.NewNopLogger(), newDB, nil, true, FlagPeriodValue, MakeTestEncodingConfig(), simtestutil.NewAppOptionsWithFlagHome(DefaultNodeHome), fauxMerkleModeOpt)
appOptions = make(simtestutil.AppOptionsMap, 0)
appOptions[flags.FlagHome] = DefaultNodeHome
appOptions[server.FlagInvCheckPeriod] = FlagPeriodValue

newApp := NewSimApp(log.NewNopLogger(), newDB, nil, true, MakeTestEncodingConfig(), appOptions, fauxMerkleModeOpt)
require.Equal(t, "SimApp", newApp.Name())

var genesisState GenesisState
Expand Down Expand Up @@ -218,7 +232,11 @@ func TestAppSimulationAfterImport(t *testing.T) {
require.NoError(t, os.RemoveAll(dir))
}()

app := NewSimApp(logger, db, nil, true, FlagPeriodValue, MakeTestEncodingConfig(), simtestutil.NewAppOptionsWithFlagHome(DefaultNodeHome), fauxMerkleModeOpt)
appOptions := make(simtestutil.AppOptionsMap, 0)
appOptions[flags.FlagHome] = DefaultNodeHome
appOptions[server.FlagInvCheckPeriod] = FlagPeriodValue

app := NewSimApp(logger, db, nil, true, MakeTestEncodingConfig(), appOptions, fauxMerkleModeOpt)
require.Equal(t, "SimApp", app.Name())

// Run randomized simulation
Expand Down Expand Up @@ -263,7 +281,7 @@ func TestAppSimulationAfterImport(t *testing.T) {
require.NoError(t, os.RemoveAll(newDir))
}()

newApp := NewSimApp(log.NewNopLogger(), newDB, nil, true, FlagPeriodValue, MakeTestEncodingConfig(), simtestutil.NewAppOptionsWithFlagHome(DefaultNodeHome), fauxMerkleModeOpt)
newApp := NewSimApp(log.NewNopLogger(), newDB, nil, true, MakeTestEncodingConfig(), appOptions, fauxMerkleModeOpt)
require.Equal(t, "SimApp", newApp.Name())

newApp.InitChain(abci.RequestInitChain{
Expand Down Expand Up @@ -314,7 +332,12 @@ func TestAppStateDeterminism(t *testing.T) {
}

db := dbm.NewMemDB()
app := NewSimApp(logger, db, nil, true, FlagPeriodValue, MakeTestEncodingConfig(), simtestutil.NewAppOptionsWithFlagHome(DefaultNodeHome), interBlockCacheOpt())

appOptions := make(simtestutil.AppOptionsMap, 0)
appOptions[flags.FlagHome] = DefaultNodeHome
appOptions[server.FlagInvCheckPeriod] = FlagPeriodValue

app := NewSimApp(logger, db, nil, true, MakeTestEncodingConfig(), appOptions, interBlockCacheOpt())

fmt.Printf(
"running non-determinism simulation; seed %d: %d/%d, attempt: %d/%d\n",
Expand Down
15 changes: 12 additions & 3 deletions simapp/simd/cmd/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package cmd

import (
"errors"
"github.com/spf13/viper"
"io"
"os"
"path/filepath"
Expand Down Expand Up @@ -278,7 +279,6 @@ func (a appCreator) newApp(logger log.Logger, db dbm.DB, traceStore io.Writer, a

return simapp.NewSimApp(
logger, db, traceStore, true,
cast.ToUint(appOpts.Get(server.FlagInvCheckPeriod)),
a.encCfg,
appOpts,
baseapp.SetPruning(pruningOpts),
Expand Down Expand Up @@ -307,14 +307,23 @@ func (a appCreator) appExport(
return servertypes.ExportedApp{}, errors.New("application home not set")
}

viperAppOpts, ok := appOpts.(*viper.Viper)
if !ok {
return servertypes.ExportedApp{}, errors.New("appOpts is not viper.Viper")
}

// overwrite the FlagInvCheckPeriod
viperAppOpts.Set(server.FlagInvCheckPeriod, 1)
appOpts = viperAppOpts

if height != -1 {
simApp = simapp.NewSimApp(logger, db, traceStore, false, uint(1), a.encCfg, appOpts)
simApp = simapp.NewSimApp(logger, db, traceStore, false, a.encCfg, appOpts)

if err := simApp.LoadHeight(height); err != nil {
return servertypes.ExportedApp{}, err
}
} else {
simApp = simapp.NewSimApp(logger, db, traceStore, true, uint(1), a.encCfg, appOpts)
simApp = simapp.NewSimApp(logger, db, traceStore, true, a.encCfg, appOpts)
}

return simApp.ExportAppStateAndValidators(forZeroHeight, jailAllowedAddrs)
Expand Down
Loading