2019-07-03 09:21:34 -07:00
|
|
|
package v036
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/cosmos/cosmos-sdk/codec"
|
2019-07-05 05:34:02 -07:00
|
|
|
v034distr "github.com/cosmos/cosmos-sdk/x/distribution/legacy/v0_34"
|
|
|
|
v036distr "github.com/cosmos/cosmos-sdk/x/distribution/legacy/v0_36"
|
2019-07-03 09:21:34 -07:00
|
|
|
"github.com/cosmos/cosmos-sdk/x/genutil"
|
|
|
|
v034gov "github.com/cosmos/cosmos-sdk/x/gov/legacy/v034"
|
|
|
|
v036gov "github.com/cosmos/cosmos-sdk/x/gov/legacy/v036"
|
|
|
|
)
|
|
|
|
|
|
|
|
// Migrate migrates exported state from v0.34 to a v0.36 genesis state.
|
2019-07-05 05:34:02 -07:00
|
|
|
func Migrate(appState genutil.AppMap) genutil.AppMap {
|
2019-07-03 09:21:34 -07:00
|
|
|
v034Codec := codec.New()
|
|
|
|
codec.RegisterCrypto(v034Codec)
|
2019-07-05 05:34:02 -07:00
|
|
|
|
2019-07-03 09:21:34 -07:00
|
|
|
v036Codec := codec.New()
|
|
|
|
codec.RegisterCrypto(v036Codec)
|
|
|
|
|
2019-07-05 05:34:02 -07:00
|
|
|
// migrate genesis state
|
2019-07-03 09:21:34 -07:00
|
|
|
if appState[v034gov.ModuleName] != nil {
|
|
|
|
v034gov.RegisterCodec(v034Codec)
|
|
|
|
v036gov.RegisterCodec(v036Codec)
|
2019-07-05 05:34:02 -07:00
|
|
|
|
|
|
|
var govState v034gov.GenesisState
|
|
|
|
v034Codec.MustUnmarshalJSON(appState[v034gov.ModuleName], &govState)
|
|
|
|
|
|
|
|
delete(appState, v034gov.ModuleName) // delete old key in case the name changed
|
2019-07-03 09:21:34 -07:00
|
|
|
appState[v036gov.ModuleName] = v036Codec.MustMarshalJSON(v036gov.MigrateGovernance(govState))
|
|
|
|
}
|
2019-07-05 05:34:02 -07:00
|
|
|
|
|
|
|
// migrate distribution state
|
|
|
|
if appState[v034distr.ModuleName] != nil {
|
|
|
|
var slashingGenState v034distr.GenesisState
|
|
|
|
v034Codec.MustUnmarshalJSON(appState[v034distr.ModuleName], &slashingGenState)
|
|
|
|
|
|
|
|
delete(appState, v034distr.ModuleName) // delete old key in case the name changed
|
|
|
|
appState[v036distr.ModuleName] = v036Codec.MustMarshalJSON(v036distr.Migrate(slashingGenState))
|
|
|
|
}
|
|
|
|
|
2019-07-03 09:21:34 -07:00
|
|
|
return appState
|
|
|
|
}
|