-
Notifications
You must be signed in to change notification settings - Fork 207
/
upgrade.go
93 lines (78 loc) · 2.3 KB
/
upgrade.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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
// Package v0_15_0
// nolint revive
package v0_15_0
import (
inflationtypes "github.com/akash-network/akash-api/go/node/inflation/v1beta3"
storetypes "github.com/cosmos/cosmos-sdk/store/types"
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/types/module"
"github.com/cosmos/cosmos-sdk/x/authz"
upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types"
ibcconnectiontypes "github.com/cosmos/ibc-go/v4/modules/core/03-connection/types"
ibckeeper "github.com/cosmos/ibc-go/v4/modules/core/keeper"
"github.com/tendermint/tendermint/libs/log"
apptypes "github.com/akash-network/node/app/types"
utypes "github.com/akash-network/node/upgrades/types"
)
const (
upgradeName = "akash_v0.15.0_cosmos_v0.44.x"
)
type upgrade struct {
*apptypes.App
ibc *ibckeeper.Keeper
}
var _ utypes.IUpgrade = (*upgrade)(nil)
func initUpgrade(_ log.Logger, app *apptypes.App) (utypes.IUpgrade, error) {
up := &upgrade{
App: app,
}
val, err := apptypes.FindStructField[*ibckeeper.Keeper](&app.Keepers.Cosmos, "IBC")
if err != nil {
return nil, err
}
up.ibc = val
return up, nil
}
func (up *upgrade) StoreLoader() *storetypes.StoreUpgrades {
upgrades := &storetypes.StoreUpgrades{
Added: []string{
authz.ModuleName,
inflationtypes.ModuleName,
},
}
return upgrades
}
func (up *upgrade) UpgradeHandler() upgradetypes.UpgradeHandler {
return func(ctx sdk.Context, plan upgradetypes.Plan, versionMap module.VersionMap) (module.VersionMap, error) {
// set max expected block time parameter. Replace the default with your expected value
up.ibc.ConnectionKeeper.SetParams(ctx, ibcconnectiontypes.DefaultParams())
// 1st-time running in-store migrations, using 1 as fromVersion to
// avoid running InitGenesis.
fromVM := map[string]uint64{
"auth": 1,
"bank": 1,
"capability": 1,
"crisis": 1,
"distribution": 1,
"evidence": 1,
"gov": 1,
"mint": 1,
"params": 1,
"slashing": 1,
"staking": 1,
"upgrade": 1,
"vesting": 1,
"ibc": 1,
"genutil": 1,
"transfer": 1,
// akash modules
"audit": 1,
"cert": 1,
"deployment": 1,
"escrow": 1,
"market": 1,
"provider": 1,
}
return up.MM.RunMigrations(ctx, up.Configurator, fromVM)
}
}