mirror of
https://github.com/sonr-io/sonr.git
synced 2026-08-04 10:21:40 +00:00
(no commit message provided)
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
package app
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
upgradetypes "cosmossdk.io/x/upgrade/types"
|
||||
|
||||
"github.com/onsonr/hway/app/upgrades"
|
||||
"github.com/onsonr/hway/app/upgrades/noop"
|
||||
)
|
||||
|
||||
// Upgrades list of chain upgrades
|
||||
var Upgrades = []upgrades.Upgrade{}
|
||||
|
||||
// RegisterUpgradeHandlers registers the chain upgrade handlers
|
||||
func (app *SonrApp) RegisterUpgradeHandlers() {
|
||||
// setupLegacyKeyTables(&app.ParamsKeeper)
|
||||
if len(Upgrades) == 0 {
|
||||
// always have a unique upgrade registered for the current version to test in system tests
|
||||
Upgrades = append(Upgrades, noop.NewUpgrade(app.Version()))
|
||||
}
|
||||
|
||||
keepers := upgrades.AppKeepers{
|
||||
AccountKeeper: &app.AccountKeeper,
|
||||
ParamsKeeper: &app.ParamsKeeper,
|
||||
ConsensusParamsKeeper: &app.ConsensusParamsKeeper,
|
||||
CapabilityKeeper: app.CapabilityKeeper,
|
||||
IBCKeeper: app.IBCKeeper,
|
||||
Codec: app.appCodec,
|
||||
GetStoreKey: app.GetKey,
|
||||
}
|
||||
app.GetStoreKeys()
|
||||
// register all upgrade handlers
|
||||
for _, upgrade := range Upgrades {
|
||||
app.UpgradeKeeper.SetUpgradeHandler(
|
||||
upgrade.UpgradeName,
|
||||
upgrade.CreateUpgradeHandler(
|
||||
app.ModuleManager,
|
||||
app.configurator,
|
||||
&keepers,
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
upgradeInfo, err := app.UpgradeKeeper.ReadUpgradeInfoFromDisk()
|
||||
if err != nil {
|
||||
panic(fmt.Sprintf("failed to read upgrade info from disk %s", err))
|
||||
}
|
||||
|
||||
if app.UpgradeKeeper.IsSkipHeight(upgradeInfo.Height) {
|
||||
return
|
||||
}
|
||||
|
||||
// register store loader for current upgrade
|
||||
for _, upgrade := range Upgrades {
|
||||
if upgradeInfo.Name == upgrade.UpgradeName {
|
||||
app.SetStoreLoader(upgradetypes.UpgradeStoreLoader(upgradeInfo.Height, &upgrade.StoreUpgrades)) // nolint:gosec
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user