diff --git a/app/app.go b/app/app.go index 00750b82a..1081e5f78 100644 --- a/app/app.go +++ b/app/app.go @@ -26,6 +26,7 @@ import ( "github.com/cosmos/cosmos-sdk/server/api" "github.com/cosmos/cosmos-sdk/server/config" servertypes "github.com/cosmos/cosmos-sdk/server/types" + storetypes "github.com/cosmos/cosmos-sdk/store/types" "github.com/cosmos/cosmos-sdk/testutil/testdata" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/types/module" @@ -414,6 +415,27 @@ func New( ) app.SetEndBlocker(app.EndBlocker) + planName := "v2.0.0" + app.UpgradeKeeper.SetUpgradeHandler(planName, func(ctx sdk.Context, _ upgradetypes.Plan) { + // https://github.com/crypto-org-chain/chain-main/blob/master/doc/architecture/adr-003.md + }) + + upgradeInfo, err := app.UpgradeKeeper.ReadUpgradeInfoFromDisk() + if err != nil { + panic(err) + } + + if upgradeInfo.Name == planName && !app.UpgradeKeeper.IsSkipHeight(upgradeInfo.Height) { + storeUpgrades := storetypes.StoreUpgrades{ + Added: []string{nfttypes.StoreKey}, + Renamed: []storetypes.StoreRename{}, + Deleted: []string{}, + } + + // configure store loader that checks if version == upgradeHeight and applies store upgrades + app.SetStoreLoader(upgradetypes.UpgradeStoreLoader(upgradeInfo.Height, &storeUpgrades)) + } + if loadLatest { if err := app.LoadLatestVersion(); err != nil { tmos.Exit(err.Error()) @@ -433,10 +455,6 @@ func New( app.ScopedIBCKeeper = scopedIBCKeeper app.ScopedTransferKeeper = scopedTransferKeeper - app.UpgradeKeeper.SetUpgradeHandler("v2.0.0", func(ctx sdk.Context, _ upgradetypes.Plan) { - // https://github.com/crypto-org-chain/chain-main/blob/master/doc/architecture/adr-003.md - }) - return app } diff --git a/default.nix b/default.nix index f48f57dd2..28eb66aec 100644 --- a/default.nix +++ b/default.nix @@ -23,7 +23,7 @@ let lib = pkgs.lib; build-chain-maind = { ledger_zemu ? false, network ? "mainnet" }: pkgs.buildGoApplication rec { pname = "chain-maind"; - version = "1.2.0"; + version = "2.0.0"; src = lib.cleanSourceWith { name = "src"; src = lib.sourceByRegex ./. src_regexes;