/
upgrades.go
49 lines (39 loc) · 1.18 KB
/
upgrades.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package app
import (
"fmt"
storetypes "github.com/cosmos/cosmos-sdk/store/types"
upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types"
v2 "github.com/Stride-Labs/stride/v3/app/upgrades/v2"
v3 "github.com/Stride-Labs/stride/v3/app/upgrades/v3"
claimtypes "github.com/Stride-Labs/stride/v3/x/claim/types"
)
func (app *StrideApp) setupUpgradeHandlers() {
// v2 upgrade handler
app.UpgradeKeeper.SetUpgradeHandler(
v2.UpgradeName,
v2.CreateUpgradeHandler(app.mm, app.configurator),
)
// v3 upgrade handler
app.UpgradeKeeper.SetUpgradeHandler(
v3.UpgradeName,
v3.CreateUpgradeHandler(app.mm, app.configurator, app.ClaimKeeper),
)
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 {
// no store upgrades
case "v3":
storeUpgrades = &storetypes.StoreUpgrades{
Added: []string{claimtypes.StoreKey},
}
}
if storeUpgrades != nil {
app.SetStoreLoader(upgradetypes.UpgradeStoreLoader(upgradeInfo.Height, storeUpgrades))
}
}