Unverified Commit 42083ebf authored by Dev Ojha's avatar Dev Ojha Committed by GitHub
Browse files

Add a v7 upgrade handler (#822)

* Add boilerplate for v7 upgrade handler logic

* Add Superfluid store
parent efe28536
Showing with 44 additions and 3 deletions
+44 -3
......@@ -137,6 +137,7 @@ import (
// Upgrades from earlier versions of Osmosis
v4 "github.com/osmosis-labs/osmosis/app/upgrades/v4"
v5 "github.com/osmosis-labs/osmosis/app/upgrades/v5"
v7 "github.com/osmosis-labs/osmosis/app/upgrades/v7"
_ "github.com/osmosis-labs/osmosis/client/docs/statik"
// Modules that live in the Osmosis repository and are specific to Osmosis
......@@ -825,9 +826,10 @@ func (app *OsmosisApp) setupUpgradeStoreLoaders() {
panic(fmt.Sprintf("failed to read upgrade info from disk %s", err))
}
if upgradeInfo.Name == v5.UpgradeName && !app.UpgradeKeeper.IsSkipHeight(upgradeInfo.Height) {
if upgradeInfo.Name == v7.UpgradeName && !app.UpgradeKeeper.IsSkipHeight(upgradeInfo.Height) {
// @Frey do we do this for Cosmwasm?
storeUpgrades := store.StoreUpgrades{
Added: []string{authz.ModuleName, txfees.ModuleName, bech32ibctypes.ModuleName},
Added: []string{wasm.ModuleName, superfluidtypes.ModuleName},
}
// configure store loader that checks if version == upgradeHeight and applies store upgrades
......@@ -849,6 +851,12 @@ func (app *OsmosisApp) setupUpgradeHandlers() {
app.mm, app.configurator,
&app.IBCKeeper.ConnectionKeeper, app.TxFeesKeeper,
app.GAMMKeeper, app.StakingKeeper))
app.UpgradeKeeper.SetUpgradeHandler(
v7.UpgradeName,
v7.CreateUpgradeHandler(
app.mm, app.configurator,
app.WasmKeeper))
}
// RegisterSwaggerAPI registers swagger route with API Server
......
......@@ -7,5 +7,6 @@ This folder contains logic for every osmosis upgrade. (Both state migrations, an
* v4 - Berylium State Migration
* v5 - Boron State migration
* v6 - hard fork for IBC bug fix
* v7 - Carbon State migration
## TODO: Make a fork-upgrade struct and a state-migration upgrade struct
\ No newline at end of file
## TODO: Make a fork-upgrade struct and a state-migration upgrade struct
package v7
const UpgradeName = "v7"
package v7
import (
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/types/module"
"github.com/CosmWasm/wasmd/x/wasm"
upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types"
)
func CreateUpgradeHandler(mm *module.Manager, configurator module.Configurator,
wasmKeeper *wasm.Keeper,
) upgradetypes.UpgradeHandler {
return func(ctx sdk.Context, plan upgradetypes.Plan, vm module.VersionMap) (module.VersionMap, error) {
// Set wasm old version to 1 if we want to call wasm's InitGenesis ourselves
// in this upgrade logic ourselves
// vm[wasm.ModuleName] = wasm.ConsensusVersion
// otherwise we run this, which will run wasm.InitGenesis(wasm.DefaultGenesis())
// and then override it after
newVM, err := mm.RunMigrations(ctx, configurator, vm)
if err != nil {
return newVM, err
}
// override here
return newVM, err
}
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment