mirror of
https://github.com/0glabs/0g-chain.git
synced 2024-12-27 00:35:18 +00:00
1a51d1fb00
* Add ibc markets to pricefeed * Default empty oracles if no markets * Update pricefeed migration tests * Add ibc markets to testdata genesis pricefeed * Add existing pricefeed markets and new ibc markets to committee permissions * Remove stray empty branch * Panic on committee migration if pricefeed app state is missing * Remove redundant import
156 lines
6.3 KiB
Go
156 lines
6.3 KiB
Go
package v0_16
|
|
|
|
import (
|
|
"github.com/cosmos/cosmos-sdk/client"
|
|
"github.com/cosmos/cosmos-sdk/codec"
|
|
|
|
v036distr "github.com/cosmos/cosmos-sdk/x/distribution/legacy/v036"
|
|
genutiltypes "github.com/cosmos/cosmos-sdk/x/genutil/types"
|
|
v036params "github.com/cosmos/cosmos-sdk/x/params/legacy/v036"
|
|
v038upgrade "github.com/cosmos/cosmos-sdk/x/upgrade/legacy/v038"
|
|
|
|
v015auction "github.com/kava-labs/kava/x/auction/legacy/v0_15"
|
|
v016auction "github.com/kava-labs/kava/x/auction/legacy/v0_16"
|
|
v015bep3 "github.com/kava-labs/kava/x/bep3/legacy/v0_15"
|
|
v016bep3 "github.com/kava-labs/kava/x/bep3/legacy/v0_16"
|
|
v015cdp "github.com/kava-labs/kava/x/cdp/legacy/v0_15"
|
|
v016cdp "github.com/kava-labs/kava/x/cdp/legacy/v0_16"
|
|
v015committee "github.com/kava-labs/kava/x/committee/legacy/v0_15"
|
|
v016committee "github.com/kava-labs/kava/x/committee/legacy/v0_16"
|
|
v015hard "github.com/kava-labs/kava/x/hard/legacy/v0_15"
|
|
v016hard "github.com/kava-labs/kava/x/hard/legacy/v0_16"
|
|
v015incentive "github.com/kava-labs/kava/x/incentive/legacy/v0_15"
|
|
v016incentive "github.com/kava-labs/kava/x/incentive/legacy/v0_16"
|
|
v015issuance "github.com/kava-labs/kava/x/issuance/legacy/v0_15"
|
|
v016issuance "github.com/kava-labs/kava/x/issuance/legacy/v0_16"
|
|
v015kavadist "github.com/kava-labs/kava/x/kavadist/legacy/v0_15"
|
|
v016kavadist "github.com/kava-labs/kava/x/kavadist/legacy/v0_16"
|
|
v015pricefeed "github.com/kava-labs/kava/x/pricefeed/legacy/v0_15"
|
|
v016pricefeed "github.com/kava-labs/kava/x/pricefeed/legacy/v0_16"
|
|
v015swap "github.com/kava-labs/kava/x/swap/legacy/v0_15"
|
|
v016swap "github.com/kava-labs/kava/x/swap/legacy/v0_16"
|
|
v015validatorvesting "github.com/kava-labs/kava/x/validator-vesting/legacy/v0_15"
|
|
)
|
|
|
|
func migrateKavaAppState(appState genutiltypes.AppMap, clientCtx client.Context) {
|
|
v15Codec := codec.NewLegacyAmino()
|
|
v015auction.RegisterLegacyAminoCodec(v15Codec)
|
|
v015committee.RegisterLegacyAminoCodec(v15Codec)
|
|
v015kavadist.RegisterLegacyAminoCodec(v15Codec)
|
|
v036distr.RegisterLegacyAminoCodec(v15Codec)
|
|
v038upgrade.RegisterLegacyAminoCodec(v15Codec)
|
|
v036params.RegisterLegacyAminoCodec(v15Codec)
|
|
|
|
v16Codec := clientCtx.Codec
|
|
|
|
// Migrate x/auction
|
|
if appState[v015auction.ModuleName] != nil {
|
|
// unmarshal relative source genesis application state
|
|
var genState v015auction.GenesisState
|
|
v15Codec.MustUnmarshalJSON(appState[v015auction.ModuleName], &genState)
|
|
|
|
// replace migrated genstate with previous genstate
|
|
appState[v015auction.ModuleName] = v16Codec.MustMarshalJSON(v016auction.Migrate(genState))
|
|
}
|
|
|
|
// Migrate x/committee
|
|
if appState[v015committee.ModuleName] != nil {
|
|
if appState[v015pricefeed.ModuleName] == nil {
|
|
panic("pricefeed app state is missing, committee migration requires pricefeed app state")
|
|
}
|
|
|
|
var pricefeedGenState v015pricefeed.GenesisState
|
|
v15Codec.MustUnmarshalJSON(appState[v015pricefeed.ModuleName], &pricefeedGenState)
|
|
|
|
// unmarshal relative source genesis application state
|
|
var genState v015committee.GenesisState
|
|
v15Codec.MustUnmarshalJSON(appState[v015committee.ModuleName], &genState)
|
|
|
|
// replace migrated genstate with previous genstate
|
|
appState[v015committee.ModuleName] = v16Codec.MustMarshalJSON(v016committee.Migrate(genState, pricefeedGenState))
|
|
}
|
|
|
|
// Migrate x/bep3
|
|
if appState[v015bep3.ModuleName] != nil {
|
|
// unmarshal relative source genesis application state
|
|
var genState v015bep3.GenesisState
|
|
v15Codec.MustUnmarshalJSON(appState[v015bep3.ModuleName], &genState)
|
|
|
|
// replace migrated genstate with previous genstate
|
|
appState[v015bep3.ModuleName] = v16Codec.MustMarshalJSON(v016bep3.Migrate(genState))
|
|
}
|
|
|
|
// Migrate x/swap
|
|
if appState[v015swap.ModuleName] != nil {
|
|
// unmarshal relative source genesis application state
|
|
var genState v015swap.GenesisState
|
|
v15Codec.MustUnmarshalJSON(appState[v015swap.ModuleName], &genState)
|
|
|
|
// replace migrated genstate with previous genstate
|
|
appState[v015swap.ModuleName] = v16Codec.MustMarshalJSON(v016swap.Migrate(genState))
|
|
}
|
|
|
|
// Migrate x/kavadist
|
|
if appState[v015kavadist.ModuleName] != nil {
|
|
// unmarshal relative source genesis application state
|
|
var genState v015kavadist.GenesisState
|
|
v15Codec.MustUnmarshalJSON(appState[v015kavadist.ModuleName], &genState)
|
|
|
|
// replace migrated genstate with previous genstate
|
|
appState[v015kavadist.ModuleName] = v16Codec.MustMarshalJSON(v016kavadist.Migrate(genState))
|
|
}
|
|
|
|
// Migrate x/cdp
|
|
if appState[v015cdp.ModuleName] != nil {
|
|
// unmarshal relative source genesis application state
|
|
var genState v015cdp.GenesisState
|
|
v15Codec.MustUnmarshalJSON(appState[v015cdp.ModuleName], &genState)
|
|
|
|
// replace migrated genstate with previous genstate
|
|
appState[v015cdp.ModuleName] = v16Codec.MustMarshalJSON(v016cdp.Migrate(genState))
|
|
}
|
|
|
|
// Migrate x/issuance
|
|
if appState[v015issuance.ModuleName] != nil {
|
|
// unmarshal relative source genesis application state
|
|
var genState v015issuance.GenesisState
|
|
v15Codec.MustUnmarshalJSON(appState[v015issuance.ModuleName], &genState)
|
|
|
|
// replace migrated genstate with previous genstate
|
|
appState[v015issuance.ModuleName] = v16Codec.MustMarshalJSON(v016issuance.Migrate(genState))
|
|
}
|
|
|
|
// Migrate x/pricefeed
|
|
if appState[v015pricefeed.ModuleName] != nil {
|
|
// unmarshal relative source genesis application state
|
|
var genState v015pricefeed.GenesisState
|
|
v15Codec.MustUnmarshalJSON(appState[v015pricefeed.ModuleName], &genState)
|
|
|
|
// replace migrated genstate with previous genstate
|
|
appState[v015pricefeed.ModuleName] = v16Codec.MustMarshalJSON(v016pricefeed.Migrate(genState))
|
|
}
|
|
|
|
// Migrate x/hard
|
|
if appState[v015hard.ModuleName] != nil {
|
|
// unmarshal relative source genesis application state
|
|
var genState v015hard.GenesisState
|
|
v15Codec.MustUnmarshalJSON(appState[v015hard.ModuleName], &genState)
|
|
|
|
// replace migrated genstate with previous genstate
|
|
appState[v015hard.ModuleName] = v16Codec.MustMarshalJSON(v016hard.Migrate(genState))
|
|
}
|
|
|
|
// Migrate x/incentive
|
|
if appState[v015incentive.ModuleName] != nil {
|
|
// unmarshal relative source genesis application state
|
|
var genState v015incentive.GenesisState
|
|
v15Codec.MustUnmarshalJSON(appState[v015incentive.ModuleName], &genState)
|
|
|
|
// replace migrated genstate with previous genstate
|
|
appState[v015incentive.ModuleName] = v16Codec.MustMarshalJSON(v016incentive.Migrate(genState))
|
|
}
|
|
|
|
// Remove x/validator-vesting
|
|
delete(appState, v015validatorvesting.ModuleName)
|
|
}
|