Skip to content

Commit 7d04dcf

Browse files
committed
Problem: sdk 53 is not integrated
skip-check-header fix test
1 parent 0ac7f97 commit 7d04dcf

File tree

17 files changed

+1696
-1032
lines changed

17 files changed

+1696
-1032
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
### Improvements
66

77
* [#1779](https://github.com/crypto-org-chain/cronos/pull/1779) Upgrade rocksdb to `v9.11.2`.
8+
* [#1799](https://github.com/crypto-org-chain/cronos/pull/1799) Bump cosmos-sdk to v0.53.
89

910
*Apr 9, 2025*
1011

app/app.go

Lines changed: 35 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -103,13 +103,15 @@ import (
103103
paramskeeper "github.com/cosmos/cosmos-sdk/x/params/keeper"
104104
paramstypes "github.com/cosmos/cosmos-sdk/x/params/types"
105105
paramproposal "github.com/cosmos/cosmos-sdk/x/params/types/proposal"
106+
"github.com/cosmos/cosmos-sdk/x/protocolpool"
107+
poolkeeper "github.com/cosmos/cosmos-sdk/x/protocolpool/keeper"
108+
pooltypes "github.com/cosmos/cosmos-sdk/x/protocolpool/types"
106109
"github.com/cosmos/cosmos-sdk/x/slashing"
107110
slashingkeeper "github.com/cosmos/cosmos-sdk/x/slashing/keeper"
108111
slashingtypes "github.com/cosmos/cosmos-sdk/x/slashing/types"
109112
"github.com/cosmos/cosmos-sdk/x/staking"
110113
stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper"
111114
stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types"
112-
113115
ibccallbacks "github.com/cosmos/ibc-go/modules/apps/callbacks"
114116
"github.com/cosmos/ibc-go/modules/capability"
115117
capabilitykeeper "github.com/cosmos/ibc-go/modules/capability/keeper"
@@ -214,17 +216,19 @@ var (
214216

215217
// module account permissions
216218
maccPerms = map[string][]string{
217-
authtypes.FeeCollectorName: nil,
218-
distrtypes.ModuleName: nil,
219-
minttypes.ModuleName: {authtypes.Minter},
220-
stakingtypes.BondedPoolName: {authtypes.Burner, authtypes.Staking},
221-
stakingtypes.NotBondedPoolName: {authtypes.Burner, authtypes.Staking},
222-
govtypes.ModuleName: {authtypes.Burner},
223-
ibctransfertypes.ModuleName: {authtypes.Minter, authtypes.Burner},
224-
ibcfeetypes.ModuleName: nil,
225-
icatypes.ModuleName: nil,
226-
evmtypes.ModuleName: {authtypes.Minter, authtypes.Burner}, // used for secure addition and subtraction of balance using module account
227-
cronostypes.ModuleName: {authtypes.Minter, authtypes.Burner},
219+
authtypes.FeeCollectorName: nil,
220+
distrtypes.ModuleName: nil,
221+
pooltypes.ModuleName: nil,
222+
pooltypes.ProtocolPoolEscrowAccount: nil,
223+
minttypes.ModuleName: {authtypes.Minter},
224+
stakingtypes.BondedPoolName: {authtypes.Burner, authtypes.Staking},
225+
stakingtypes.NotBondedPoolName: {authtypes.Burner, authtypes.Staking},
226+
govtypes.ModuleName: {authtypes.Burner},
227+
ibctransfertypes.ModuleName: {authtypes.Minter, authtypes.Burner},
228+
ibcfeetypes.ModuleName: nil,
229+
icatypes.ModuleName: nil,
230+
evmtypes.ModuleName: {authtypes.Minter, authtypes.Burner}, // used for secure addition and subtraction of balance using module account
231+
cronostypes.ModuleName: {authtypes.Minter, authtypes.Burner},
228232
}
229233
// Module configurator
230234

@@ -252,6 +256,7 @@ func StoreKeys() (
252256
minttypes.StoreKey, distrtypes.StoreKey, slashingtypes.StoreKey,
253257
govtypes.StoreKey, paramstypes.StoreKey, upgradetypes.StoreKey,
254258
evidencetypes.StoreKey, capabilitytypes.StoreKey, consensusparamtypes.StoreKey,
259+
pooltypes.StoreKey,
255260
feegrant.StoreKey, crisistypes.StoreKey,
256261
// ibc keys
257262
ibcexported.StoreKey, ibctransfertypes.StoreKey,
@@ -306,15 +311,15 @@ type App struct {
306311

307312
// keepers
308313
AccountKeeper authkeeper.AccountKeeper
309-
BankKeeper bankkeeper.Keeper
314+
BankKeeper bankkeeper.BaseKeeper
310315
CapabilityKeeper *capabilitykeeper.Keeper
311316
StakingKeeper *stakingkeeper.Keeper
312317
SlashingKeeper slashingkeeper.Keeper
313318
MintKeeper mintkeeper.Keeper
314319
DistrKeeper distrkeeper.Keeper
315320
GovKeeper govkeeper.Keeper
316321
CrisisKeeper crisiskeeper.Keeper
317-
UpgradeKeeper upgradekeeper.Keeper
322+
UpgradeKeeper *upgradekeeper.Keeper
318323
ParamsKeeper paramskeeper.Keeper
319324
IBCKeeper *ibckeeper.Keeper // IBC Keeper must be a pointer in the app, so we can SetRouter on it correctly
320325
IBCFeeKeeper ibcfeekeeper.Keeper
@@ -324,6 +329,7 @@ type App struct {
324329
TransferKeeper ibctransferkeeper.Keeper
325330
FeeGrantKeeper feegrantkeeper.Keeper
326331
ConsensusParamsKeeper consensusparamkeeper.Keeper
332+
PoolKeeper poolkeeper.Keeper
327333

328334
// make scoped keepers public for test purposes
329335
ScopedIBCKeeper capabilitykeeper.ScopedKeeper
@@ -517,8 +523,8 @@ func New(
517523
)
518524
app.BankKeeper = bankkeeper.NewBaseKeeper(
519525
appCodec,
520-
runtime.NewKVStoreService(keys[banktypes.StoreKey]),
521526
okeys[banktypes.ObjectStoreKey],
527+
runtime.NewKVStoreService(keys[banktypes.StoreKey]),
522528
app.AccountKeeper,
523529
app.BlockedAddrs(),
524530
authAddr,
@@ -557,6 +563,13 @@ func New(
557563
authtypes.FeeCollectorName,
558564
authAddr,
559565
)
566+
app.PoolKeeper = poolkeeper.NewKeeper(
567+
appCodec,
568+
runtime.NewKVStoreService(keys[pooltypes.StoreKey]),
569+
app.AccountKeeper,
570+
app.BankKeeper,
571+
authAddr,
572+
)
560573
app.DistrKeeper = distrkeeper.NewKeeper(
561574
appCodec,
562575
runtime.NewKVStoreService(keys[distrtypes.StoreKey]),
@@ -594,7 +607,7 @@ func New(
594607
skipUpgradeHeights[int64(h)] = true
595608
}
596609
// set the governance module account as the authority for conducting upgrades
597-
app.UpgradeKeeper = *upgradekeeper.NewKeeper(
610+
app.UpgradeKeeper = upgradekeeper.NewKeeper(
598611
skipUpgradeHeights,
599612
runtime.NewKVStoreService(keys[upgradetypes.StoreKey]),
600613
appCodec,
@@ -817,10 +830,11 @@ func New(
817830
),
818831
distr.NewAppModule(appCodec, app.DistrKeeper, app.AccountKeeper, app.BankKeeper, app.StakingKeeper, app.GetSubspace(distrtypes.ModuleName)),
819832
staking.NewAppModule(appCodec, app.StakingKeeper, app.AccountKeeper, app.BankKeeper, app.GetSubspace(stakingtypes.ModuleName)),
820-
upgrade.NewAppModule(&app.UpgradeKeeper, app.AccountKeeper.AddressCodec()),
833+
upgrade.NewAppModule(app.UpgradeKeeper, app.AccountKeeper.AddressCodec()),
821834
evidence.NewAppModule(app.EvidenceKeeper),
822835
params.NewAppModule(app.ParamsKeeper),
823836
consensus.NewAppModule(appCodec, app.ConsensusParamsKeeper),
837+
protocolpool.NewAppModule(appCodec, app.PoolKeeper, app.AccountKeeper, app.BankKeeper),
824838

825839
// ibc modules
826840
ibc.NewAppModule(app.IBCKeeper),
@@ -862,6 +876,7 @@ func New(
862876
evmtypes.ModuleName,
863877
minttypes.ModuleName,
864878
distrtypes.ModuleName,
879+
pooltypes.ModuleName,
865880
slashingtypes.ModuleName,
866881
evidencetypes.ModuleName,
867882
stakingtypes.ModuleName,
@@ -886,6 +901,7 @@ func New(
886901
stakingtypes.ModuleName,
887902
evmtypes.ModuleName,
888903
feemarkettypes.ModuleName,
904+
pooltypes.ModuleName,
889905
ibcexported.ModuleName,
890906
ibctransfertypes.ModuleName,
891907
ibcfeetypes.ModuleName,
@@ -915,6 +931,7 @@ func New(
915931
initGenesisOrder := []string{
916932
capabilitytypes.ModuleName,
917933
authtypes.ModuleName,
934+
pooltypes.ModuleName, // must be exported before bank.
918935
banktypes.ModuleName,
919936
distrtypes.ModuleName,
920937
stakingtypes.ModuleName,
@@ -945,6 +962,7 @@ func New(
945962

946963
app.ModuleManager.SetOrderPreBlockers(
947964
upgradetypes.ModuleName,
965+
authtypes.ModuleName,
948966
)
949967
app.ModuleManager.SetOrderBeginBlockers(beginBlockersOrder...)
950968
app.ModuleManager.SetOrderEndBlockers(endBlockersOrder...)

app/upgrades.go

Lines changed: 11 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -3,120 +3,41 @@ package app
33
import (
44
"context"
55
"fmt"
6-
"time"
76

8-
sdkmath "cosmossdk.io/math"
97
storetypes "cosmossdk.io/store/types"
108
upgradetypes "cosmossdk.io/x/upgrade/types"
119
"github.com/cosmos/cosmos-sdk/codec"
12-
sdk "github.com/cosmos/cosmos-sdk/types"
1310
"github.com/cosmos/cosmos-sdk/types/module"
14-
govkeeper "github.com/cosmos/cosmos-sdk/x/gov/keeper"
15-
govv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1"
16-
icahosttypes "github.com/cosmos/ibc-go/v8/modules/apps/27-interchain-accounts/host/types"
17-
evmtypes "github.com/evmos/ethermint/x/evm/types"
11+
pooltypes "github.com/cosmos/cosmos-sdk/x/protocolpool/types"
1812
)
1913

2014
// RegisterUpgradeHandlers returns if store loader is overridden
2115
func (app *App) RegisterUpgradeHandlers(cdc codec.BinaryCodec, maxVersion int64) bool {
22-
planName := "v1.4"
23-
app.UpgradeKeeper.SetUpgradeHandler(planName, func(ctx context.Context, plan upgradetypes.Plan, fromVM module.VersionMap) (module.VersionMap, error) {
24-
m, err := app.ModuleManager.RunMigrations(ctx, app.configurator, fromVM)
25-
if err != nil {
26-
return m, err
27-
}
28-
29-
sdkCtx := sdk.UnwrapSDKContext(ctx)
30-
{
31-
params := app.ICAHostKeeper.GetParams(sdkCtx)
32-
params.HostEnabled = false
33-
app.ICAHostKeeper.SetParams(sdkCtx, params)
34-
evmParams := app.EvmKeeper.GetParams(sdkCtx)
35-
evmParams.HeaderHashNum = evmtypes.DefaultHeaderHashNum
36-
if err := app.EvmKeeper.SetParams(sdkCtx, evmParams); err != nil {
37-
return m, err
38-
}
39-
if err := UpdateExpeditedParams(ctx, app.GovKeeper); err != nil {
16+
planName := "v1.5"
17+
app.UpgradeKeeper.SetUpgradeHandler(planName,
18+
func(ctx context.Context, _ upgradetypes.Plan, fromVM module.VersionMap) (module.VersionMap, error) {
19+
m, err := app.ModuleManager.RunMigrations(ctx, app.configurator, fromVM)
20+
if err != nil {
4021
return m, err
4122
}
42-
}
43-
return m, nil
44-
})
45-
46-
// a hotfix upgrade plan just for testnet
47-
hotfixPlanName := "v1.4.0-rc5-testnet"
48-
app.UpgradeKeeper.SetUpgradeHandler(hotfixPlanName, func(ctx context.Context, plan upgradetypes.Plan, fromVM module.VersionMap) (module.VersionMap, error) {
49-
return app.ModuleManager.RunMigrations(ctx, app.configurator, fromVM)
50-
})
23+
return m, nil
24+
},
25+
)
5126

5227
upgradeInfo, err := app.UpgradeKeeper.ReadUpgradeInfoFromDisk()
5328
if err != nil {
5429
panic(fmt.Sprintf("failed to read upgrade info from disk %s", err))
5530
}
5631
if !app.UpgradeKeeper.IsSkipHeight(upgradeInfo.Height) {
5732
if upgradeInfo.Name == planName {
58-
app.SetStoreLoader(MaxVersionUpgradeStoreLoader(maxVersion, upgradeInfo.Height, &storetypes.StoreUpgrades{
33+
app.SetStoreLoader(upgradetypes.UpgradeStoreLoader(upgradeInfo.Height, &storetypes.StoreUpgrades{
5934
Added: []string{
60-
icahosttypes.StoreKey,
35+
pooltypes.ModuleName,
6136
},
62-
Deleted: []string{"icaauth"},
6337
}))
64-
6538
return true
6639
}
6740
}
6841

6942
return false
7043
}
71-
72-
func UpdateExpeditedParams(ctx context.Context, gov govkeeper.Keeper) error {
73-
govParams, err := gov.Params.Get(ctx)
74-
if err != nil {
75-
return err
76-
}
77-
if len(govParams.MinDeposit) > 0 {
78-
minDeposit := govParams.MinDeposit[0]
79-
expeditedAmount := minDeposit.Amount.MulRaw(govv1.DefaultMinExpeditedDepositTokensRatio)
80-
govParams.ExpeditedMinDeposit = sdk.NewCoins(sdk.NewCoin(minDeposit.Denom, expeditedAmount))
81-
}
82-
threshold, err := sdkmath.LegacyNewDecFromStr(govParams.Threshold)
83-
if err != nil {
84-
return fmt.Errorf("invalid threshold string: %w", err)
85-
}
86-
expeditedThreshold, err := sdkmath.LegacyNewDecFromStr(govParams.ExpeditedThreshold)
87-
if err != nil {
88-
return fmt.Errorf("invalid expedited threshold string: %w", err)
89-
}
90-
if expeditedThreshold.LTE(threshold) {
91-
expeditedThreshold = threshold.Mul(DefaultThresholdRatio())
92-
}
93-
if expeditedThreshold.GT(sdkmath.LegacyOneDec()) {
94-
expeditedThreshold = sdkmath.LegacyOneDec()
95-
}
96-
govParams.ExpeditedThreshold = expeditedThreshold.String()
97-
if govParams.ExpeditedVotingPeriod != nil && govParams.VotingPeriod != nil && *govParams.ExpeditedVotingPeriod >= *govParams.VotingPeriod {
98-
votingPeriod := DurationToDec(*govParams.VotingPeriod)
99-
period := DecToDuration(DefaultPeriodRatio().Mul(votingPeriod))
100-
govParams.ExpeditedVotingPeriod = &period
101-
}
102-
if err := govParams.ValidateBasic(); err != nil {
103-
return err
104-
}
105-
return gov.Params.Set(ctx, govParams)
106-
}
107-
108-
func DefaultThresholdRatio() sdkmath.LegacyDec {
109-
return govv1.DefaultExpeditedThreshold.Quo(govv1.DefaultThreshold)
110-
}
111-
112-
func DefaultPeriodRatio() sdkmath.LegacyDec {
113-
return DurationToDec(govv1.DefaultExpeditedPeriod).Quo(DurationToDec(govv1.DefaultPeriod))
114-
}
115-
116-
func DurationToDec(d time.Duration) sdkmath.LegacyDec {
117-
return sdkmath.LegacyMustNewDecFromStr(fmt.Sprintf("%f", d.Seconds()))
118-
}
119-
120-
func DecToDuration(d sdkmath.LegacyDec) time.Duration {
121-
return time.Second * time.Duration(d.RoundInt64())
122-
}

0 commit comments

Comments
 (0)