From 992f9c1b952293efc6edec19d6b5fb50e7414a4c Mon Sep 17 00:00:00 2001 From: christopherbrumm Date: Fri, 31 Jan 2025 16:01:16 +0100 Subject: [PATCH] fix: `upgradeHeight` handling --- x/bundles/keeper/getters_migration.go | 10 +++++++--- x/bundles/module.go | 6 ++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/x/bundles/keeper/getters_migration.go b/x/bundles/keeper/getters_migration.go index 2d73e276..18f7f86e 100644 --- a/x/bundles/keeper/getters_migration.go +++ b/x/bundles/keeper/getters_migration.go @@ -2,18 +2,22 @@ package keeper import ( "encoding/binary" + "errors" "github.com/KYVENetwork/chain/x/bundles/types" "github.com/cosmos/cosmos-sdk/runtime" sdk "github.com/cosmos/cosmos-sdk/types" ) -func (k Keeper) GetBundlesMigrationUpgradeHeight(ctx sdk.Context) uint64 { +func (k Keeper) GetBundlesMigrationUpgradeHeight(ctx sdk.Context) (uint64, error) { storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) - return binary.BigEndian.Uint64(storeAdapter.Get(types.BundlesMigrationHeightKey)) + if storeAdapter.Has(types.BundlesMigrationHeightKey) { + return binary.BigEndian.Uint64(storeAdapter.Get(types.BundlesMigrationHeightKey)), nil + } + return 0, errors.New("upgrade height can't be zero") } -// SetBundlesMigrationUpgradeHeight stores the upgrade height of the v1.6 bundles migration +// SetBundlesMigrationUpgradeHeight stores the upgrade height of the v2.0 bundles migration // upgrade in the KV-Store. func (k Keeper) SetBundlesMigrationUpgradeHeight(ctx sdk.Context, upgradeHeight uint64) { storeAdapter := runtime.KVStoreAdapter(k.storeService.OpenKVStore(ctx)) diff --git a/x/bundles/module.go b/x/bundles/module.go index 323322a3..2d01ecc9 100644 --- a/x/bundles/module.go +++ b/x/bundles/module.go @@ -177,8 +177,10 @@ func (am AppModule) BeginBlock(ctx context.Context) error { am.keeper.InitMemStore(sdkCtx) SplitInflation(sdkCtx, am.keeper, am.bankKeeper, am.mintKeeper, am.poolKeeper, am.teamKeeper, am.upgradeKeeper) - upgradeHeight := am.keeper.GetBundlesMigrationUpgradeHeight(sdkCtx) - migration.MigrateBundlesModule(sdkCtx, am.keeper, int64(upgradeHeight)) + upgradeHeight, err := am.keeper.GetBundlesMigrationUpgradeHeight(sdkCtx) + if err == nil { + migration.MigrateBundlesModule(sdkCtx, am.keeper, int64(upgradeHeight)) + } return nil }