From 6ea0a1b66f5651518845a94ea1332f4b40b7e9bd Mon Sep 17 00:00:00 2001 From: Jeremiah Andrews Date: Mon, 23 Jul 2018 16:55:09 -0700 Subject: [PATCH 1/3] fix gaiad export --- baseapp/baseapp.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/baseapp/baseapp.go b/baseapp/baseapp.go index 048723755..fc7c75588 100644 --- a/baseapp/baseapp.go +++ b/baseapp/baseapp.go @@ -190,7 +190,7 @@ func (app *BaseApp) initFromStore(mainKey sdk.StoreKey) error { if main == nil { return errors.New("baseapp expects MultiStore with 'main' KVStore") } - + app.setCheckState(abci.Header{}) return nil } From 0166cf2aa064ea98906b75650597b508fd14e861 Mon Sep 17 00:00:00 2001 From: Jeremiah Andrews Date: Wed, 25 Jul 2018 14:10:07 -0700 Subject: [PATCH 2/3] Add test which fails without patch, comment on patch --- baseapp/baseapp.go | 1 + cmd/gaia/app/app_test.go | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/baseapp/baseapp.go b/baseapp/baseapp.go index fc7c75588..7416f8089 100644 --- a/baseapp/baseapp.go +++ b/baseapp/baseapp.go @@ -190,6 +190,7 @@ func (app *BaseApp) initFromStore(mainKey sdk.StoreKey) error { if main == nil { return errors.New("baseapp expects MultiStore with 'main' KVStore") } + // Needed for `gaiad export`, which inits from store but never calls initchain app.setCheckState(abci.Header{}) return nil } diff --git a/cmd/gaia/app/app_test.go b/cmd/gaia/app/app_test.go index 759fc55a6..63d650cef 100644 --- a/cmd/gaia/app/app_test.go +++ b/cmd/gaia/app/app_test.go @@ -1,9 +1,15 @@ package app import ( + "os" + "testing" + "github.com/cosmos/cosmos-sdk/wire" "github.com/cosmos/cosmos-sdk/x/auth" "github.com/cosmos/cosmos-sdk/x/stake" + "github.com/stretchr/testify/require" + "github.com/tendermint/tendermint/libs/db" + "github.com/tendermint/tendermint/libs/log" abci "github.com/tendermint/tendermint/abci/types" ) @@ -31,3 +37,14 @@ func setGenesis(gapp *GaiaApp, accs ...*auth.BaseAccount) error { return nil } + +func TestGaiadExport(t *testing.T) { + db := db.NewMemDB() + gapp := NewGaiaApp(log.NewTMLogger(log.NewSyncWriter(os.Stdout)), db, nil) + setGenesis(gapp) + + // Making a new app object with the db, so that initchain hasn't been called + newGapp := NewGaiaApp(log.NewTMLogger(log.NewSyncWriter(os.Stdout)), db, nil) + _, _, err := newGapp.ExportAppStateAndValidators() + require.NoError(t, err, "ExportAppStateAndValidators should not have an error") +} From 5ab27f70d594d4e170f5561ba5520da64f59a750 Mon Sep 17 00:00:00 2001 From: Jeremiah Andrews Date: Wed, 25 Jul 2018 14:12:47 -0700 Subject: [PATCH 3/3] Add line to pending changelog --- PENDING.md | 1 + 1 file changed, 1 insertion(+) diff --git a/PENDING.md b/PENDING.md index 97815a369..21223bd7a 100644 --- a/PENDING.md +++ b/PENDING.md @@ -52,3 +52,4 @@ BUG FIXES * \#1797 Fix off-by-one error in slashing for downtime * \#1787 Fixed bug where Tally fails due to revoked/unbonding validator * \#1766 Fixes bad example for keybase identity +* \#1799 Fix `gaiad export`