Skip to content

Commit

Permalink
Merge pull request #2 from oraichain/e2e-testings
Browse files Browse the repository at this point in the history
finished allowing non-profit batch
  • Loading branch information
ducphamle2 authored Jan 11, 2023
2 parents 15a01ef + 30874ff commit b6b5300
Show file tree
Hide file tree
Showing 4 changed files with 60 additions and 58 deletions.
2 changes: 1 addition & 1 deletion module/app/upgrades/pleiades/constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package pleiades
import "github.com/Gravity-Bridge/Gravity-Bridge/module/x/gravity/types"

var PolarisToPleiadesPlanName = "multievm"
var PleiadesPart1ToPart2PlanName = "multievm"
var PleiadesPart1ToPart2PlanName = "nonprofit"

// change this to your current evm mainnet, by default it is your prev GravityDenomPrefix
const EthereumChainPrefix string = types.GravityDenomPrefix
82 changes: 40 additions & 42 deletions module/app/upgrades/pleiades/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import (
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
"github.com/cosmos/cosmos-sdk/types/module"
crisiskeeper "github.com/cosmos/cosmos-sdk/x/crisis/keeper"
stakingkeeper "github.com/cosmos/cosmos-sdk/x/staking/keeper"
upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types"
bech32ibckeeper "github.com/osmosis-labs/bech32-ibc/x/bech32ibc/keeper"
)
Expand Down Expand Up @@ -52,7 +51,7 @@ func GetPleiadesUpgradeHandler(
}

func GetPleiades2UpgradeHandler(
mm *module.Manager, configurator *module.Configurator, crisisKeeper *crisiskeeper.Keeper, stakingKeeper *stakingkeeper.Keeper,
mm *module.Manager, configurator *module.Configurator, crisisKeeper *crisiskeeper.Keeper,
) func(
ctx sdk.Context, plan upgradetypes.Plan, vmap module.VersionMap,
) (module.VersionMap, error) {
Expand All @@ -65,8 +64,7 @@ func GetPleiades2UpgradeHandler(
ctx.Logger().Info("Pleiades Upgrade part 2: Running any configured module migrations")
out, outErr := mm.RunMigrations(ctx, *configurator, vmap)

ctx.Logger().Info("Pleiades Upgrade part 2: Enforcing validator minimum comission")
bumpMinValidatorCommissions(stakingKeeper, ctx)
ctx.Logger().Info("Pleiades Upgrade part 2: Remove profit check")

ctx.Logger().Info("Asserting invariants after upgrade")
crisisKeeper.AssertInvariants(ctx)
Expand All @@ -75,41 +73,41 @@ func GetPleiades2UpgradeHandler(
}
}

// Enforce minimum 10% validator commission on all noncompliant validators
// The MinCommissionDecorator enforces new validators must be created with a minimum commission rate of 10%,
// but existing validators are unaffected, here we automatically bump them all to 10% if they are lower
func bumpMinValidatorCommissions(stakingKeeper *stakingkeeper.Keeper, ctx sdk.Context) {
ctx.Logger().Info("Pleiades Upgrade part 2: bumpMinValidatorCommissions(): Enter function")
// This logic was originally included in the Juno project at github.com/CosmosContracts/juno/blob/main/app/app.go
// This version was added to Juno by github user the-frey https://github.com/the-frey
ctx.Logger().Info("Pleiades Upgrade part 2: bumpMinValidatorCommissions(): Getting all the validators")
validators := stakingKeeper.GetAllValidators(ctx)
minCommissionRate := sdk.NewDecWithPrec(10, 2)
ctx.Logger().Info("Pleiades Upgrade part 2: bumpMinValidatorCommissions():", "minCommissionRate", minCommissionRate.String())
ctx.Logger().Info("Pleiades Upgrade part 2: bumpMinValidatorCommissions(): Iterating validators")
for _, v := range validators {
ctx.Logger().Info("Pleiades Upgrade part 2: bumpMinValidatorCommissions(): checking validator", "validator", v.GetMoniker(), "Commission.Rate", v.Commission.Rate.String(), "Commission.MaxRate", v.Commission.MaxRate.String())
if v.Commission.Rate.LT(minCommissionRate) {
ctx.Logger().Info("Pleiades Upgrade part 2: bumpMinValidatorCommissions(): validator is out of compilance! Modifying their commission rate(s)", "validator ", v.GetMoniker())
if v.Commission.MaxRate.LT(minCommissionRate) {
ctx.Logger().Info("Pleiades Upgrade part 2: bumpMinValidatorCommissions(): Updating validator Commission.MaxRate", "validator", v.GetMoniker(), "old", v.Commission.MaxRate.String(), "new", minCommissionRate.String())
v.Commission.MaxRate = minCommissionRate
}

ctx.Logger().Info("Pleiades Upgrade part 2: bumpMinValidatorCommissions(): Updating validator Commission.Rate", v.GetMoniker(), "old", v.Commission.Rate.String(), "new", minCommissionRate.String())
v.Commission.Rate = minCommissionRate
ctx.Logger().Info("Pleiades Upgrade part 2: bumpMinValidatorCommissions(): also UpdateTime ", "old", v.Commission.UpdateTime.String(), "new", ctx.BlockHeader().Time.String())
v.Commission.UpdateTime = ctx.BlockHeader().Time

ctx.Logger().Info("Pleiades Upgrade part 2: bumpMinValidatorCommissions(): calling the hook")
// call the before-modification hook since we're about to update the commission
stakingKeeper.BeforeValidatorModified(ctx, v.GetOperator())

ctx.Logger().Info("Pleiades Upgrade part 2: bumpMinValidatorCommissions(): setting the validator")
stakingKeeper.SetValidator(ctx, v)

v, _ = stakingKeeper.GetValidator(ctx, v.GetOperator()) // Refresh since we set them in the keeper
ctx.Logger().Info("Pleiades Upgrade part 2: bumpMinValidatorCommissions(): validator's set rate", "validator", v.GetMoniker(), "Commission", v.Commission.String())
}
}
}
// // Enforce minimum 10% validator commission on all noncompliant validators
// // The MinCommissionDecorator enforces new validators must be created with a minimum commission rate of 10%,
// // but existing validators are unaffected, here we automatically bump them all to 10% if they are lower
// func bumpMinValidatorCommissions(stakingKeeper *stakingkeeper.Keeper, ctx sdk.Context) {
// ctx.Logger().Info("Pleiades Upgrade part 2: bumpMinValidatorCommissions(): Enter function")
// // This logic was originally included in the Juno project at github.com/CosmosContracts/juno/blob/main/app/app.go
// // This version was added to Juno by github user the-frey https://github.com/the-frey
// ctx.Logger().Info("Pleiades Upgrade part 2: bumpMinValidatorCommissions(): Getting all the validators")
// validators := stakingKeeper.GetAllValidators(ctx)
// minCommissionRate := sdk.NewDecWithPrec(10, 2)
// ctx.Logger().Info("Pleiades Upgrade part 2: bumpMinValidatorCommissions():", "minCommissionRate", minCommissionRate.String())
// ctx.Logger().Info("Pleiades Upgrade part 2: bumpMinValidatorCommissions(): Iterating validators")
// for _, v := range validators {
// ctx.Logger().Info("Pleiades Upgrade part 2: bumpMinValidatorCommissions(): checking validator", "validator", v.GetMoniker(), "Commission.Rate", v.Commission.Rate.String(), "Commission.MaxRate", v.Commission.MaxRate.String())
// if v.Commission.Rate.LT(minCommissionRate) {
// ctx.Logger().Info("Pleiades Upgrade part 2: bumpMinValidatorCommissions(): validator is out of compilance! Modifying their commission rate(s)", "validator ", v.GetMoniker())
// if v.Commission.MaxRate.LT(minCommissionRate) {
// ctx.Logger().Info("Pleiades Upgrade part 2: bumpMinValidatorCommissions(): Updating validator Commission.MaxRate", "validator", v.GetMoniker(), "old", v.Commission.MaxRate.String(), "new", minCommissionRate.String())
// v.Commission.MaxRate = minCommissionRate
// }

// ctx.Logger().Info("Pleiades Upgrade part 2: bumpMinValidatorCommissions(): Updating validator Commission.Rate", v.GetMoniker(), "old", v.Commission.Rate.String(), "new", minCommissionRate.String())
// v.Commission.Rate = minCommissionRate
// ctx.Logger().Info("Pleiades Upgrade part 2: bumpMinValidatorCommissions(): also UpdateTime ", "old", v.Commission.UpdateTime.String(), "new", ctx.BlockHeader().Time.String())
// v.Commission.UpdateTime = ctx.BlockHeader().Time

// ctx.Logger().Info("Pleiades Upgrade part 2: bumpMinValidatorCommissions(): calling the hook")
// // call the before-modification hook since we're about to update the commission
// stakingKeeper.BeforeValidatorModified(ctx, v.GetOperator())

// ctx.Logger().Info("Pleiades Upgrade part 2: bumpMinValidatorCommissions(): setting the validator")
// stakingKeeper.SetValidator(ctx, v)

// v, _ = stakingKeeper.GetValidator(ctx, v.GetOperator()) // Refresh since we set them in the keeper
// ctx.Logger().Info("Pleiades Upgrade part 2: bumpMinValidatorCommissions(): validator's set rate", "validator", v.GetMoniker(), "Commission", v.Commission.String())
// }
// }
// }
18 changes: 11 additions & 7 deletions module/app/upgrades/register.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import (
bech32ibckeeper "github.com/osmosis-labs/bech32-ibc/x/bech32ibc/keeper"

"github.com/Gravity-Bridge/Gravity-Bridge/module/app/upgrades/pleiades"
polaris "github.com/Gravity-Bridge/Gravity-Bridge/module/app/upgrades/polaris"
)

// RegisterUpgradeHandlers registers handlers for all upgrades
Expand Down Expand Up @@ -42,15 +41,20 @@ func RegisterUpgradeHandlers(
// )

// Polaris UPGRADE HANDLER SETUP
upgradeKeeper.SetUpgradeHandler(
polaris.V2toPolarisPlanName,
polaris.GetPolarisUpgradeHandler(mm, configurator, crisisKeeper, transferKeeper),
)
// upgradeKeeper.SetUpgradeHandler(
// polaris.V2toPolarisPlanName,
// polaris.GetPolarisUpgradeHandler(mm, configurator, crisisKeeper, transferKeeper),
// )

// Pleiades aka v2->v3 UPGRADE HANDLER SETUP
// upgradeKeeper.SetUpgradeHandler(
// pleiades.PolarisToPleiadesPlanName,
// pleiades.GetPleiadesUpgradeHandler(mm, configurator, crisisKeeper, gravityKeeper, bech32IbcKeeper),
// )

upgradeKeeper.SetUpgradeHandler(
pleiades.PolarisToPleiadesPlanName,
pleiades.GetPleiadesUpgradeHandler(mm, configurator, crisisKeeper, gravityKeeper, bech32IbcKeeper),
pleiades.PleiadesPart1ToPart2PlanName,
pleiades.GetPleiades2UpgradeHandler(mm, configurator, crisisKeeper),
)

// // Pleiades part 2 aka v3->v4 UPGRADE HANDLER SETUP
Expand Down
16 changes: 8 additions & 8 deletions module/x/gravity/module.go
Original file line number Diff line number Diff line change
Expand Up @@ -152,20 +152,20 @@ func (am AppModule) RegisterServices(cfg module.Configurator) {
types.RegisterMsgServer(cfg.MsgServer(), keeper.NewMsgServerImpl(am.keeper))
types.RegisterQueryServer(cfg.QueryServer(), am.keeper)

m := keeper.NewMigrator(am.keeper, am.legacySubspace)
// m := keeper.NewMigrator(am.keeper, am.legacySubspace)

// if err := cfg.RegisterMigration(types.ModuleName, 1, m.Migrate1to2); err != nil {
// panic(fmt.Sprintf("failed to migrate x/gravity from version 1 to 2: %v", err))
// }

if err := cfg.RegisterMigration(types.ModuleName, 2, m.Migrate2to3); err != nil {
panic(fmt.Sprintf("failed to migrate x/gravity from version 2 to 3: %v", err))
}
// if err := cfg.RegisterMigration(types.ModuleName, 2, m.Migrate2to3); err != nil {
// panic(fmt.Sprintf("failed to migrate x/gravity from version 2 to 3: %v", err))
// }

// upgrade to v4 with min chain fee in params
if err := cfg.RegisterMigration(types.ModuleName, 3, m.Migrate3to4); err != nil {
panic(fmt.Sprintf("failed to migrate x/gravity from version 3 to 4: %v", err))
}
// // upgrade to v4 with min chain fee in params
// if err := cfg.RegisterMigration(types.ModuleName, 3, m.Migrate3to4); err != nil {
// panic(fmt.Sprintf("failed to migrate x/gravity from version 3 to 4: %v", err))
// }
}

// InitGenesis initializes the genesis state for this module and implements app module.
Expand Down

0 comments on commit b6b5300

Please sign in to comment.