Files

42 lines
1.4 KiB
Go
Raw Permalink Normal View History

2025-10-03 14:45:52 -04:00
// Package noop provides a no-operation upgrade handler for testing and development.
// This upgrade performs no actual state migrations but runs module migrations.
2024-07-05 22:20:13 -04:00
package noop
import (
"context"
storetypes "cosmossdk.io/store/types"
upgradetypes "cosmossdk.io/x/upgrade/types"
"github.com/cosmos/cosmos-sdk/types/module"
2025-10-03 14:45:52 -04:00
"github.com/sonr-io/sonr/app/upgrades"
2024-07-05 22:20:13 -04:00
)
2025-10-03 14:45:52 -04:00
// NewUpgrade creates a new no-operation upgrade with the specified semantic version.
// This upgrade is typically used for testing upgrade mechanisms without performing
// actual state changes beyond standard module migrations.
2024-07-05 22:20:13 -04:00
func NewUpgrade(semver string) upgrades.Upgrade {
return upgrades.Upgrade{
UpgradeName: semver,
CreateUpgradeHandler: CreateUpgradeHandler,
StoreUpgrades: storetypes.StoreUpgrades{
Added: []string{},
Deleted: []string{},
},
}
}
2025-10-03 14:45:52 -04:00
// CreateUpgradeHandler creates an upgrade handler that performs only module migrations.
// It does not perform any custom upgrade logic, making it suitable for minor version
// upgrades that only require standard module migrations.
2024-07-05 22:20:13 -04:00
func CreateUpgradeHandler(
mm upgrades.ModuleManager,
configurator module.Configurator,
ak *upgrades.AppKeepers,
) upgradetypes.UpgradeHandler {
return func(ctx context.Context, plan upgradetypes.Plan, fromVM module.VersionMap) (module.VersionMap, error) {
return mm.RunMigrations(ctx, configurator, fromVM)
}
}