forked from cerc-io/laconicd-deprecated
40 lines
963 B
Go
40 lines
963 B
Go
|
package v4
|
||
|
|
||
|
import (
|
||
|
"github.com/cosmos/cosmos-sdk/codec"
|
||
|
storetypes "github.com/cosmos/cosmos-sdk/store/types"
|
||
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
||
|
v4types "github.com/evmos/ethermint/x/feemarket/migrations/v4/types"
|
||
|
"github.com/evmos/ethermint/x/feemarket/types"
|
||
|
)
|
||
|
|
||
|
// MigrateStore migrates the x/evm module state from the consensus version 3 to
|
||
|
// version 4. Specifically, it takes the parameters that are currently stored
|
||
|
// and managed by the Cosmos SDK params module and stores them directly into the x/evm module state.
|
||
|
func MigrateStore(
|
||
|
ctx sdk.Context,
|
||
|
storeKey storetypes.StoreKey,
|
||
|
legacySubspace types.Subspace,
|
||
|
cdc codec.BinaryCodec,
|
||
|
) error {
|
||
|
var (
|
||
|
store = ctx.KVStore(storeKey)
|
||
|
params v4types.Params
|
||
|
)
|
||
|
|
||
|
legacySubspace.GetParamSetIfExists(ctx, ¶ms)
|
||
|
|
||
|
if err := params.Validate(); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
|
||
|
bz, err := cdc.Marshal(¶ms)
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
|
||
|
store.Set(types.ParamsKey, bz)
|
||
|
|
||
|
return nil
|
||
|
}
|