Skip to content

Instantly share code, notes, and snippets.

@zeroFruit
Created July 5, 2022 01:06
Show Gist options
  • Save zeroFruit/201f685b8311b1597273bcad60600b76 to your computer and use it in GitHub Desktop.
Save zeroFruit/201f685b8311b1597273bcad60600b76 to your computer and use it in GitHub Desktop.
Cosmos Dev Series: Cosmos-SDK-based Blockchain Upgrade - app upgrades
package app // upgrades.go
func (app *App) setupUpgradeHandlers(
configurator module.Configurator,
...
) {
app.UpgradeKeeper.SetUpgradeHandler(
v2.UpgradeName,
v2.CreateUpgradeHandler(app.mm, configurator, ...),
)
...
upgradeInfo, err := app.UpgradeKeeper.ReadUpgradeInfoFromDisk()
if err != nil {
panic(fmt.Errorf("failed to read upgrade info from disk: %w", err))
}
if app.UpgradeKeeper.IsSkipHeight(upgradeInfo.Height) {
return
}
var storeUpgrades *storetypes.StoreUpgrades
switch upgradeInfo.Name {
case v2.UpgradeName:
...
}
if storeUpgrades != nil {
app.SetStoreLoader(upgradetypes.UpgradeStoreLoader(upgradeInfo.Height, storeUpgrades))
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment