Skip to content

Commit

Permalink
Merge pull request #559 from comdex-official/feature/dev
Browse files Browse the repository at this point in the history
Audit fixes, Stablemint and ESM fix,
  • Loading branch information
dheerajkd30 authored Nov 2, 2022
2 parents e94d78d + efc480e commit 66e426a
Show file tree
Hide file tree
Showing 109 changed files with 7,785 additions and 2,740 deletions.
Binary file removed .DS_Store
Binary file not shown.
127 changes: 93 additions & 34 deletions app/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,7 @@ import (

"github.com/CosmWasm/wasmd/x/wasm"
wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types"
vestingtypes "github.com/cosmos/cosmos-sdk/x/auth/vesting/types"

authzkeeper "github.com/cosmos/cosmos-sdk/x/authz/keeper"
authzmodule "github.com/cosmos/cosmos-sdk/x/authz/module"
Expand All @@ -164,11 +165,11 @@ import (

cwasm "github.com/comdex-official/comdex/app/wasm"

mv5 "github.com/comdex-official/comdex/app/upgrades/mainnet/v5"
tv1_0_0 "github.com/comdex-official/comdex/app/upgrades/testnet/v1_0_0"
tv2_0_0 "github.com/comdex-official/comdex/app/upgrades/testnet/v2_0_0"
tv3_0_0 "github.com/comdex-official/comdex/app/upgrades/testnet/v3_0_0"
tv4_0_0 "github.com/comdex-official/comdex/app/upgrades/testnet/v4_0_0"
tv5_0_0 "github.com/comdex-official/comdex/app/upgrades/testnet/v5_0_0"
)

const (
Expand Down Expand Up @@ -198,7 +199,6 @@ func GetGovProposalHandlers() []govclient.ProposalHandler {
bandoraclemoduleclient.AddFetchPriceHandler,
lendclient.AddLendPairsHandler,
lendclient.AddPoolHandler,
lendclient.UpdateLendPairsHandler,
lendclient.AddAssetToPairHandler,
lendclient.AddAssetRatesParamsHandler,
lendclient.AddAuctionParamsHandler,
Expand Down Expand Up @@ -567,6 +567,8 @@ func New(
&app.AssetKeeper,
&app.MarketKeeper,
&app.EsmKeeper,
&app.LiquidationKeeper,
&app.AuctionKeeper,
)

app.EsmKeeper = esmkeeper.NewKeeper(
Expand Down Expand Up @@ -855,24 +857,75 @@ func New(
// CanWithdrawInvariant invariant.
// NOTE: staking module is required if HistoricalEntries param > 0
app.mm.SetOrderBeginBlockers(
upgradetypes.ModuleName, minttypes.ModuleName, distrtypes.ModuleName, slashingtypes.ModuleName,
evidencetypes.ModuleName, stakingtypes.ModuleName, ibchost.ModuleName, ibctransfertypes.ModuleName, icatypes.ModuleName,
bandoraclemoduletypes.ModuleName, markettypes.ModuleName, lockertypes.ModuleName,
crisistypes.ModuleName, genutiltypes.ModuleName, authtypes.ModuleName, capabilitytypes.ModuleName,
authz.ModuleName, transferModule.Name(), assettypes.ModuleName, collectortypes.ModuleName, vaulttypes.ModuleName,
liquidationtypes.ModuleName, auctiontypes.ModuleName, tokenminttypes.ModuleName,
vesting.AppModuleBasic{}.Name(), paramstypes.ModuleName, wasmtypes.ModuleName, banktypes.ModuleName,
govtypes.ModuleName, rewardstypes.ModuleName, liquiditytypes.ModuleName, lendtypes.ModuleName, esmtypes.ModuleName,
upgradetypes.ModuleName,
minttypes.ModuleName,
distrtypes.ModuleName,
slashingtypes.ModuleName,
evidencetypes.ModuleName,
stakingtypes.ModuleName,
ibchost.ModuleName,
ibctransfertypes.ModuleName,
icatypes.ModuleName,
govtypes.ModuleName,
crisistypes.ModuleName,
genutiltypes.ModuleName,
feegrant.ModuleName,
authtypes.ModuleName,
capabilitytypes.ModuleName,
authz.ModuleName,
assettypes.ModuleName,
collectortypes.ModuleName,
vaulttypes.ModuleName,
bandoraclemoduletypes.ModuleName,
markettypes.ModuleName,
lockertypes.ModuleName,
liquidationtypes.ModuleName,
auctiontypes.ModuleName,
tokenminttypes.ModuleName,
vestingtypes.ModuleName,
paramstypes.ModuleName,
wasmtypes.ModuleName,
banktypes.ModuleName,
rewardstypes.ModuleName,
liquiditytypes.ModuleName,
lendtypes.ModuleName,
esmtypes.ModuleName,
)

app.mm.SetOrderEndBlockers(
crisistypes.ModuleName, govtypes.ModuleName, stakingtypes.ModuleName,
minttypes.ModuleName, bandoraclemoduletypes.ModuleName, markettypes.ModuleName, lockertypes.ModuleName,
distrtypes.ModuleName, genutiltypes.ModuleName, vesting.AppModuleBasic{}.Name(), evidencetypes.ModuleName, ibchost.ModuleName,
icatypes.ModuleName, vaulttypes.ModuleName, liquidationtypes.ModuleName, auctiontypes.ModuleName, tokenminttypes.ModuleName,
wasmtypes.ModuleName, authtypes.ModuleName, slashingtypes.ModuleName, authz.ModuleName,
paramstypes.ModuleName, capabilitytypes.ModuleName, upgradetypes.ModuleName, transferModule.Name(), lendtypes.ModuleName,
assettypes.ModuleName, collectortypes.ModuleName, banktypes.ModuleName, rewardstypes.ModuleName, liquiditytypes.ModuleName, esmtypes.ModuleName,
crisistypes.ModuleName,
govtypes.ModuleName,
stakingtypes.ModuleName,
minttypes.ModuleName,
distrtypes.ModuleName,
genutiltypes.ModuleName,
feegrant.ModuleName,
vestingtypes.ModuleName,
evidencetypes.ModuleName,
ibchost.ModuleName,
icatypes.ModuleName,
ibctransfertypes.ModuleName,
authtypes.ModuleName,
slashingtypes.ModuleName,
authz.ModuleName,
paramstypes.ModuleName,
capabilitytypes.ModuleName,
upgradetypes.ModuleName,
bandoraclemoduletypes.ModuleName,
markettypes.ModuleName,
lockertypes.ModuleName,
vaulttypes.ModuleName,
liquidationtypes.ModuleName,
auctiontypes.ModuleName,
tokenminttypes.ModuleName,
wasmtypes.ModuleName,
lendtypes.ModuleName,
assettypes.ModuleName,
collectortypes.ModuleName,
banktypes.ModuleName,
rewardstypes.ModuleName,
liquiditytypes.ModuleName,
esmtypes.ModuleName,
)

// NOTE: The genutils module must occur after staking so that pools are
Expand All @@ -889,12 +942,16 @@ func New(
slashingtypes.ModuleName,
govtypes.ModuleName,
minttypes.ModuleName,
crisistypes.ModuleName,
ibchost.ModuleName,
icatypes.ModuleName,
genutiltypes.ModuleName,
evidencetypes.ModuleName,
ibctransfertypes.ModuleName,
wasmtypes.ModuleName,
authz.ModuleName,
vestingtypes.ModuleName,
paramstypes.ModuleName,
upgradetypes.ModuleName,
assettypes.ModuleName,
collectortypes.ModuleName,
esmtypes.ModuleName,
Expand All @@ -906,13 +963,9 @@ func New(
liquidationtypes.ModuleName,
auctiontypes.ModuleName,
lockertypes.StoreKey,
wasmtypes.ModuleName,
authz.ModuleName,
vesting.AppModuleBasic{}.Name(),
upgradetypes.ModuleName,
paramstypes.ModuleName,
liquiditytypes.ModuleName,
rewardstypes.ModuleName,
crisistypes.ModuleName,
)

app.mm.RegisterInvariants(&app.CrisisKeeper)
Expand Down Expand Up @@ -1142,16 +1195,16 @@ func (a *App) ModuleAccountsPermissions() map[string][]string {
}

func (a *App) registerUpgradeHandlers() {
a.UpgradeKeeper.SetUpgradeHandler(
/*a.UpgradeKeeper.SetUpgradeHandler(
mv5.UpgradeName,
mv5.CreateUpgradeHandler(a.mm, a.configurator, a.WasmKeeper, a.AssetKeeper, a.LiquidityKeeper, a.CollectorKeeper, a.AuctionKeeper, a.LockerKeeper, a.Rewardskeeper, a.LiquidationKeeper),
)

/*a.UpgradeKeeper.SetUpgradeHandler(
tv4_0_0.UpgradeNameV4_4_0,
tv4_0_0.CreateUpgradeHandlerV440(a.mm, a.configurator, a.LendKeeper, a.LiquidationKeeper, a.AuctionKeeper),
)*/

a.UpgradeKeeper.SetUpgradeHandler(
tv5_0_0.UpgradeNameBeta,
tv5_0_0.CreateUpgradeHandlerV5Beta(a.mm, a.configurator, a.LendKeeper, a.LiquidationKeeper, a.VaultKeeper),
)

// When a planned update height is reached, the old binary will panic
// writing on disk the height and name of the update that triggered it
// This will read that value, and execute the preparations for the upgrade.
Expand Down Expand Up @@ -1225,11 +1278,17 @@ func upgradeHandlers(upgradeInfo storetypes.UpgradeInfo, a *App, storeUpgrades *
storeUpgrades = &storetypes.StoreUpgrades{}
case upgradeInfo.Name == tv4_0_0.UpgradeNameV4_3_0 && !a.UpgradeKeeper.IsSkipHeight(upgradeInfo.Height):
storeUpgrades = &storetypes.StoreUpgrades{}
case upgradeInfo.Name == tv4_0_0.UpgradeNameV4_4_0 && !a.UpgradeKeeper.IsSkipHeight(upgradeInfo.Height):
storeUpgrades = &storetypes.StoreUpgrades{}
case upgradeInfo.Name == tv5_0_0.UpgradeNameBeta && !a.UpgradeKeeper.IsSkipHeight(upgradeInfo.Height):
storeUpgrades = &storetypes.StoreUpgrades{
Deleted: []string{"bandoracle", "market"},
Added: []string{
bandoraclemoduletypes.ModuleName,
markettypes.ModuleName,
},
}

// prepare store for main net upgrade v5.0.0
case upgradeInfo.Name == mv5.UpgradeName && !a.UpgradeKeeper.IsSkipHeight(upgradeInfo.Height):
// prepare store for main net upgrade v5.0.0
/*case upgradeInfo.Name == mv5.UpgradeName && !a.UpgradeKeeper.IsSkipHeight(upgradeInfo.Height):
storeUpgrades = &storetypes.StoreUpgrades{
Added: []string{
assettypes.ModuleName,
Expand All @@ -1249,7 +1308,7 @@ func upgradeHandlers(upgradeInfo storetypes.UpgradeInfo, a *App, storeUpgrades *
icahosttypes.StoreKey,
authz.ModuleName,
},
}
}*/
}

return storeUpgrades
Expand Down
2 changes: 1 addition & 1 deletion app/upgrades/mainnet/v5/constants.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package v5

const (
UpgradeName = "v5.0.0.beta"
UpgradeName = "v5"
UpgradeHeight = ""
UpgradeInfo = `'{
"binaries": {
Expand Down
18 changes: 9 additions & 9 deletions app/upgrades/mainnet/v5/upgrades.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,15 +51,15 @@ func InitializeStates(
}

assets := []assettypes.Asset{
{Name: "ATOM", Denom: "uatom", Decimals: 1000000, IsOnChain: false, IsOraclePriceRequired: true},
{Name: "CMDX", Denom: "ucmdx", Decimals: 1000000, IsOnChain: false, IsOraclePriceRequired: true},
{Name: "CMST", Denom: "ucmst", Decimals: 1000000, IsOnChain: false, IsOraclePriceRequired: false},
{Name: "OSMO", Denom: "uosmo", Decimals: 1000000, IsOnChain: false, IsOraclePriceRequired: true},
{Name: "CATOM", Denom: "ucatom", Decimals: 1000000, IsOnChain: false, IsOraclePriceRequired: false},
{Name: "CCMDX", Denom: "uccmdx", Decimals: 1000000, IsOnChain: false, IsOraclePriceRequired: false},
{Name: "CCMST", Denom: "uccmst", Decimals: 1000000, IsOnChain: false, IsOraclePriceRequired: false},
{Name: "COSMO", Denom: "ucosmo", Decimals: 1000000, IsOnChain: false, IsOraclePriceRequired: false},
{Name: "HARBOR", Denom: "uharbor", Decimals: 1000000, IsOnChain: true, IsOraclePriceRequired: false},
{Name: "ATOM", Denom: "uatom", Decimals: sdk.NewInt(1000000), IsOnChain: false, IsOraclePriceRequired: true},
{Name: "CMDX", Denom: "ucmdx", Decimals: sdk.NewInt(1000000), IsOnChain: false, IsOraclePriceRequired: true},
{Name: "CMST", Denom: "ucmst", Decimals: sdk.NewInt(1000000), IsOnChain: false, IsOraclePriceRequired: false},
{Name: "OSMO", Denom: "uosmo", Decimals: sdk.NewInt(1000000), IsOnChain: false, IsOraclePriceRequired: true},
{Name: "CATOM", Denom: "ucatom", Decimals: sdk.NewInt(1000000), IsOnChain: false, IsOraclePriceRequired: false},
{Name: "CCMDX", Denom: "uccmdx", Decimals: sdk.NewInt(1000000), IsOnChain: false, IsOraclePriceRequired: false},
{Name: "CCMST", Denom: "uccmst", Decimals: sdk.NewInt(1000000), IsOnChain: false, IsOraclePriceRequired: false},
{Name: "COSMO", Denom: "ucosmo", Decimals: sdk.NewInt(1000000), IsOnChain: false, IsOraclePriceRequired: false},
{Name: "HARBOR", Denom: "uharbor", Decimals: sdk.NewInt(1000000), IsOnChain: true, IsOraclePriceRequired: false},
}

for _, asset := range assets {
Expand Down
14 changes: 0 additions & 14 deletions app/upgrades/testnet/v4_0_0/constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,17 +55,3 @@ const (
}
}'`
)

const (
UpgradeNameV4_4_0 = "v4.4.0.beta"
UpgradeHeightV4_4_0 = "" // replace this height
UpgradeInfoV4_4_0 = `'{
"binaries": {
"darwin/arm64":"",
"darwin/x86_64":"",
"linux/arm64":"",
"linux/x86_64":"",
"windows/x86_64":""
}
}'`
)
39 changes: 0 additions & 39 deletions app/upgrades/testnet/v4_0_0/upgrades.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
package v4_0_0 //nolint:revive,stylecheck

import (
auctionkeeper "github.com/comdex-official/comdex/x/auction/keeper"
lendkeeper "github.com/comdex-official/comdex/x/lend/keeper"
liquidationkeeper "github.com/comdex-official/comdex/x/liquidation/keeper"
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/cosmos/cosmos-sdk/types/module"
upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types"
Expand Down Expand Up @@ -125,39 +122,3 @@ func CreateUpgradeHandlerV430(
return newVM, err
}
}

func UpdateDutchLendAuctions(
ctx sdk.Context,
liquidationkeeper liquidationkeeper.Keeper,
auctionkeeper auctionkeeper.Keeper,
) {
lockedVaults := liquidationkeeper.GetLockedVaults(ctx)
for _, v := range lockedVaults {
if v.Kind != nil {
err := auctionkeeper.LendDutchActivator(ctx, v)
if err != nil {
return
}
}
}
}

// CreateUpgradeHandler creates an SDK upgrade handler for v4_4_0
func CreateUpgradeHandlerV440(
mm *module.Manager,
configurator module.Configurator,
lendkeeper lendkeeper.Keeper,
liquidationkeeper liquidationkeeper.Keeper,
auctionkeeper auctionkeeper.Keeper,
) upgradetypes.UpgradeHandler {
return func(ctx sdk.Context, _ upgradetypes.Plan, fromVM module.VersionMap) (module.VersionMap, error) {
// This change is only for testnet upgrade

UpdateDutchLendAuctions(ctx, liquidationkeeper, auctionkeeper)
newVM, err := mm.RunMigrations(ctx, configurator, fromVM)
if err != nil {
return newVM, err
}
return newVM, err
}
}
15 changes: 15 additions & 0 deletions app/upgrades/testnet/v5_0_0/constants.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package v5_0_0 //nolint:revive,stylecheck

const (
UpgradeNameBeta = "v5.0.0.beta"
UpgradeHeight = "" // replace this height
UpgradeInfo = `'{
"binaries": {
"darwin/arm64":"",
"darwin/x86_64":"",
"linux/arm64":"",
"linux/x86_64":"",
"windows/x86_64":""
}
}'`
)
Loading

0 comments on commit 66e426a

Please sign in to comment.