Merge PR #3076: Rename hooks from Before -> Pre and On -> Post
* Rename hooks from Before -> Pre and On -> Post * Fix lint error * Update x/slashing/hooks.go Co-Authored-By: jackzampolin <jack.zampolin@gmail.com> * Ignore linter warnings on hooks file * swap 171, 172 for clarity (my own comment)
This commit is contained in:
parent
9eef341df9
commit
b16af44271
|
@ -154,7 +154,7 @@ func NewGaiaApp(logger log.Logger, db dbm.DB, traceStore io.Writer, loadLatest b
|
|||
|
||||
app.QueryRouter().
|
||||
AddRoute(gov.QuerierRoute, gov.NewQuerier(app.govKeeper)).
|
||||
AddRoute(slashing.QuerierRoute, slashing.NewQuerier(app.slashingKeeper, app.cdc)).
|
||||
AddRoute(slashing.QuerierRoute, slashing.NewQuerier(app.slashingKeeper, app.cdc)).
|
||||
AddRoute(stake.QuerierRoute, stake.NewQuerier(app.stakeKeeper, app.cdc))
|
||||
|
||||
// initialize BaseApp
|
||||
|
@ -334,39 +334,39 @@ func NewStakingHooks(dh distr.Hooks, sh slashing.Hooks) StakingHooks {
|
|||
}
|
||||
|
||||
// nolint
|
||||
func (h StakingHooks) OnValidatorCreated(ctx sdk.Context, valAddr sdk.ValAddress) {
|
||||
h.dh.OnValidatorCreated(ctx, valAddr)
|
||||
h.sh.OnValidatorCreated(ctx, valAddr)
|
||||
func (h StakingHooks) AfterValidatorCreated(ctx sdk.Context, valAddr sdk.ValAddress) {
|
||||
h.dh.AfterValidatorCreated(ctx, valAddr)
|
||||
h.sh.AfterValidatorCreated(ctx, valAddr)
|
||||
}
|
||||
func (h StakingHooks) OnValidatorModified(ctx sdk.Context, valAddr sdk.ValAddress) {
|
||||
h.dh.OnValidatorModified(ctx, valAddr)
|
||||
h.sh.OnValidatorModified(ctx, valAddr)
|
||||
func (h StakingHooks) BeforeValidatorModified(ctx sdk.Context, valAddr sdk.ValAddress) {
|
||||
h.dh.BeforeValidatorModified(ctx, valAddr)
|
||||
h.sh.BeforeValidatorModified(ctx, valAddr)
|
||||
}
|
||||
func (h StakingHooks) OnValidatorRemoved(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
h.dh.OnValidatorRemoved(ctx, consAddr, valAddr)
|
||||
h.sh.OnValidatorRemoved(ctx, consAddr, valAddr)
|
||||
func (h StakingHooks) AfterValidatorRemoved(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
h.dh.AfterValidatorRemoved(ctx, consAddr, valAddr)
|
||||
h.sh.AfterValidatorRemoved(ctx, consAddr, valAddr)
|
||||
}
|
||||
func (h StakingHooks) OnValidatorBonded(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
h.dh.OnValidatorBonded(ctx, consAddr, valAddr)
|
||||
h.sh.OnValidatorBonded(ctx, consAddr, valAddr)
|
||||
func (h StakingHooks) AfterValidatorBonded(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
h.dh.AfterValidatorBonded(ctx, consAddr, valAddr)
|
||||
h.sh.AfterValidatorBonded(ctx, consAddr, valAddr)
|
||||
}
|
||||
func (h StakingHooks) OnValidatorPowerDidChange(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
h.dh.OnValidatorPowerDidChange(ctx, consAddr, valAddr)
|
||||
h.sh.OnValidatorPowerDidChange(ctx, consAddr, valAddr)
|
||||
func (h StakingHooks) AfterValidatorPowerDidChange(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
h.dh.AfterValidatorPowerDidChange(ctx, consAddr, valAddr)
|
||||
h.sh.AfterValidatorPowerDidChange(ctx, consAddr, valAddr)
|
||||
}
|
||||
func (h StakingHooks) OnValidatorBeginUnbonding(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
h.dh.OnValidatorBeginUnbonding(ctx, consAddr, valAddr)
|
||||
h.sh.OnValidatorBeginUnbonding(ctx, consAddr, valAddr)
|
||||
func (h StakingHooks) AfterValidatorBeginUnbonding(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
h.dh.AfterValidatorBeginUnbonding(ctx, consAddr, valAddr)
|
||||
h.sh.AfterValidatorBeginUnbonding(ctx, consAddr, valAddr)
|
||||
}
|
||||
func (h StakingHooks) OnDelegationCreated(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) {
|
||||
h.dh.OnDelegationCreated(ctx, delAddr, valAddr)
|
||||
h.sh.OnDelegationCreated(ctx, delAddr, valAddr)
|
||||
func (h StakingHooks) BeforeDelegationCreated(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) {
|
||||
h.dh.BeforeDelegationCreated(ctx, delAddr, valAddr)
|
||||
h.sh.BeforeDelegationCreated(ctx, delAddr, valAddr)
|
||||
}
|
||||
func (h StakingHooks) OnDelegationSharesModified(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) {
|
||||
h.dh.OnDelegationSharesModified(ctx, delAddr, valAddr)
|
||||
h.sh.OnDelegationSharesModified(ctx, delAddr, valAddr)
|
||||
func (h StakingHooks) BeforeDelegationSharesModified(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) {
|
||||
h.dh.BeforeDelegationSharesModified(ctx, delAddr, valAddr)
|
||||
h.sh.BeforeDelegationSharesModified(ctx, delAddr, valAddr)
|
||||
}
|
||||
func (h StakingHooks) OnDelegationRemoved(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) {
|
||||
h.dh.OnDelegationRemoved(ctx, delAddr, valAddr)
|
||||
h.sh.OnDelegationRemoved(ctx, delAddr, valAddr)
|
||||
func (h StakingHooks) BeforeDelegationRemoved(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) {
|
||||
h.dh.BeforeDelegationRemoved(ctx, delAddr, valAddr)
|
||||
h.sh.BeforeDelegationRemoved(ctx, delAddr, valAddr)
|
||||
}
|
||||
|
|
|
@ -115,15 +115,15 @@ type DelegationSet interface {
|
|||
|
||||
// event hooks for staking validator object
|
||||
type StakingHooks interface {
|
||||
OnValidatorCreated(ctx Context, valAddr ValAddress) // Must be called when a validator is created
|
||||
OnValidatorModified(ctx Context, valAddr ValAddress) // Must be called when a validator's state changes
|
||||
OnValidatorRemoved(ctx Context, consAddr ConsAddress, valAddr ValAddress) // Must be called when a validator is deleted
|
||||
AfterValidatorCreated(ctx Context, valAddr ValAddress) // Must be called when a validator is created
|
||||
BeforeValidatorModified(ctx Context, valAddr ValAddress) // Must be called when a validator's state changes
|
||||
AfterValidatorRemoved(ctx Context, consAddr ConsAddress, valAddr ValAddress) // Must be called when a validator is deleted
|
||||
|
||||
OnValidatorBonded(ctx Context, consAddr ConsAddress, valAddr ValAddress) // Must be called when a validator is bonded
|
||||
OnValidatorBeginUnbonding(ctx Context, consAddr ConsAddress, valAddr ValAddress) // Must be called when a validator begins unbonding
|
||||
OnValidatorPowerDidChange(ctx Context, consAddr ConsAddress, valAddr ValAddress) // Called at EndBlock when a validator's power did change
|
||||
AfterValidatorBonded(ctx Context, consAddr ConsAddress, valAddr ValAddress) // Must be called when a validator is bonded
|
||||
AfterValidatorBeginUnbonding(ctx Context, consAddr ConsAddress, valAddr ValAddress) // Must be called when a validator begins unbonding
|
||||
AfterValidatorPowerDidChange(ctx Context, consAddr ConsAddress, valAddr ValAddress) // Called at EndBlock when a validator's power did change
|
||||
|
||||
OnDelegationCreated(ctx Context, delAddr AccAddress, valAddr ValAddress) // Must be called when a delegation is created
|
||||
OnDelegationSharesModified(ctx Context, delAddr AccAddress, valAddr ValAddress) // Must be called when a delegation's shares are modified
|
||||
OnDelegationRemoved(ctx Context, delAddr AccAddress, valAddr ValAddress) // Must be called when a delegation is removed
|
||||
BeforeDelegationCreated(ctx Context, delAddr AccAddress, valAddr ValAddress) // Must be called when a delegation is created
|
||||
BeforeDelegationSharesModified(ctx Context, delAddr AccAddress, valAddr ValAddress) // Must be called when a delegation's shares are modified
|
||||
BeforeDelegationRemoved(ctx Context, delAddr AccAddress, valAddr ValAddress) // Must be called when a delegation is removed
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ import (
|
|||
)
|
||||
|
||||
// Create a new validator distribution record
|
||||
func (k Keeper) onValidatorCreated(ctx sdk.Context, valAddr sdk.ValAddress) {
|
||||
func (k Keeper) AfterValidatorCreated(ctx sdk.Context, valAddr sdk.ValAddress) {
|
||||
|
||||
// defensive check for existence
|
||||
if k.HasValidatorDistInfo(ctx, valAddr) {
|
||||
|
@ -27,7 +27,7 @@ func (k Keeper) onValidatorCreated(ctx sdk.Context, valAddr sdk.ValAddress) {
|
|||
}
|
||||
|
||||
// Withdraw all validator rewards
|
||||
func (k Keeper) onValidatorModified(ctx sdk.Context, valAddr sdk.ValAddress) {
|
||||
func (k Keeper) BeforeValidatorModified(ctx sdk.Context, valAddr sdk.ValAddress) {
|
||||
// Move the validator's rewards from the global pool to the validator's pools
|
||||
// (dist info), but without actually withdrawing the rewards. This does not
|
||||
// need to happen during the genesis block.
|
||||
|
@ -39,16 +39,16 @@ func (k Keeper) onValidatorModified(ctx sdk.Context, valAddr sdk.ValAddress) {
|
|||
}
|
||||
|
||||
// Withdraw all validator rewards
|
||||
func (k Keeper) onValidatorBonded(ctx sdk.Context, valAddr sdk.ValAddress) {
|
||||
func (k Keeper) AfterValidatorBonded(ctx sdk.Context, valAddr sdk.ValAddress) {
|
||||
lastPower := k.stakeKeeper.GetLastValidatorPower(ctx, valAddr)
|
||||
if !lastPower.Equal(sdk.ZeroInt()) {
|
||||
panic("expected last power to be 0 for validator entering bonded state")
|
||||
}
|
||||
k.onValidatorModified(ctx, valAddr)
|
||||
k.BeforeValidatorModified(ctx, valAddr)
|
||||
}
|
||||
|
||||
// Sanity check, very useful!
|
||||
func (k Keeper) onValidatorPowerDidChange(ctx sdk.Context, valAddr sdk.ValAddress) {
|
||||
func (k Keeper) AfterValidatorPowerDidChange(ctx sdk.Context, valAddr sdk.ValAddress) {
|
||||
vi := k.GetValidatorDistInfo(ctx, valAddr)
|
||||
if vi.FeePoolWithdrawalHeight != ctx.BlockHeight() {
|
||||
panic(fmt.Sprintf("expected validator (%v) dist info FeePoolWithdrawalHeight to be updated to %v, but was %v.",
|
||||
|
@ -57,14 +57,14 @@ func (k Keeper) onValidatorPowerDidChange(ctx sdk.Context, valAddr sdk.ValAddres
|
|||
}
|
||||
|
||||
// Withdrawal all validator distribution rewards and cleanup the distribution record
|
||||
func (k Keeper) onValidatorRemoved(ctx sdk.Context, valAddr sdk.ValAddress) {
|
||||
func (k Keeper) AfterValidatorRemoved(ctx sdk.Context, valAddr sdk.ValAddress) {
|
||||
k.RemoveValidatorDistInfo(ctx, valAddr)
|
||||
}
|
||||
|
||||
//_________________________________________________________________________________________
|
||||
|
||||
// Create a new delegator distribution record
|
||||
func (k Keeper) onDelegationCreated(ctx sdk.Context, delAddr sdk.AccAddress,
|
||||
func (k Keeper) BeforeDelegationCreated(ctx sdk.Context, delAddr sdk.AccAddress,
|
||||
valAddr sdk.ValAddress) {
|
||||
|
||||
ddi := types.DelegationDistInfo{
|
||||
|
@ -76,7 +76,7 @@ func (k Keeper) onDelegationCreated(ctx sdk.Context, delAddr sdk.AccAddress,
|
|||
}
|
||||
|
||||
// Withdrawal all validator rewards
|
||||
func (k Keeper) onDelegationSharesModified(ctx sdk.Context, delAddr sdk.AccAddress,
|
||||
func (k Keeper) BeforeDelegationSharesModified(ctx sdk.Context, delAddr sdk.AccAddress,
|
||||
valAddr sdk.ValAddress) {
|
||||
|
||||
if err := k.WithdrawDelegationReward(ctx, delAddr, valAddr); err != nil {
|
||||
|
@ -85,7 +85,7 @@ func (k Keeper) onDelegationSharesModified(ctx sdk.Context, delAddr sdk.AccAddre
|
|||
}
|
||||
|
||||
// Withdrawal all validator distribution rewards and cleanup the distribution record
|
||||
func (k Keeper) onDelegationRemoved(ctx sdk.Context, delAddr sdk.AccAddress,
|
||||
func (k Keeper) BeforeDelegationRemoved(ctx sdk.Context, delAddr sdk.AccAddress,
|
||||
valAddr sdk.ValAddress) {
|
||||
// Withdraw validator commission when validator self-bond is removed.
|
||||
// Because we maintain the invariant that all delegations must be removed
|
||||
|
@ -115,32 +115,32 @@ var _ sdk.StakingHooks = Hooks{}
|
|||
func (k Keeper) Hooks() Hooks { return Hooks{k} }
|
||||
|
||||
// nolint
|
||||
func (h Hooks) OnValidatorCreated(ctx sdk.Context, valAddr sdk.ValAddress) {
|
||||
h.k.onValidatorCreated(ctx, valAddr)
|
||||
func (h Hooks) AfterValidatorCreated(ctx sdk.Context, valAddr sdk.ValAddress) {
|
||||
h.k.AfterValidatorCreated(ctx, valAddr)
|
||||
}
|
||||
func (h Hooks) OnValidatorModified(ctx sdk.Context, valAddr sdk.ValAddress) {
|
||||
h.k.onValidatorModified(ctx, valAddr)
|
||||
func (h Hooks) BeforeValidatorModified(ctx sdk.Context, valAddr sdk.ValAddress) {
|
||||
h.k.BeforeValidatorModified(ctx, valAddr)
|
||||
}
|
||||
func (h Hooks) OnValidatorRemoved(ctx sdk.Context, _ sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
h.k.onValidatorRemoved(ctx, valAddr)
|
||||
func (h Hooks) AfterValidatorRemoved(ctx sdk.Context, _ sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
h.k.AfterValidatorRemoved(ctx, valAddr)
|
||||
}
|
||||
func (h Hooks) OnDelegationCreated(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) {
|
||||
h.k.onValidatorModified(ctx, valAddr)
|
||||
h.k.onDelegationCreated(ctx, delAddr, valAddr)
|
||||
func (h Hooks) BeforeDelegationCreated(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) {
|
||||
h.k.BeforeValidatorModified(ctx, valAddr)
|
||||
h.k.BeforeDelegationCreated(ctx, delAddr, valAddr)
|
||||
}
|
||||
func (h Hooks) OnDelegationSharesModified(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) {
|
||||
h.k.onValidatorModified(ctx, valAddr)
|
||||
h.k.onDelegationSharesModified(ctx, delAddr, valAddr)
|
||||
func (h Hooks) BeforeDelegationSharesModified(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) {
|
||||
h.k.BeforeValidatorModified(ctx, valAddr)
|
||||
h.k.BeforeDelegationSharesModified(ctx, delAddr, valAddr)
|
||||
}
|
||||
func (h Hooks) OnDelegationRemoved(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) {
|
||||
h.k.onDelegationRemoved(ctx, delAddr, valAddr)
|
||||
func (h Hooks) BeforeDelegationRemoved(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) {
|
||||
h.k.BeforeDelegationRemoved(ctx, delAddr, valAddr)
|
||||
}
|
||||
func (h Hooks) OnValidatorBeginUnbonding(ctx sdk.Context, _ sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
h.k.onValidatorModified(ctx, valAddr)
|
||||
func (h Hooks) AfterValidatorBeginUnbonding(ctx sdk.Context, _ sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
h.k.BeforeValidatorModified(ctx, valAddr)
|
||||
}
|
||||
func (h Hooks) OnValidatorBonded(ctx sdk.Context, _ sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
h.k.onValidatorBonded(ctx, valAddr)
|
||||
func (h Hooks) AfterValidatorBonded(ctx sdk.Context, _ sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
h.k.AfterValidatorBonded(ctx, valAddr)
|
||||
}
|
||||
func (h Hooks) OnValidatorPowerDidChange(ctx sdk.Context, _ sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
h.k.onValidatorPowerDidChange(ctx, valAddr)
|
||||
func (h Hooks) AfterValidatorPowerDidChange(ctx sdk.Context, _ sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
h.k.AfterValidatorPowerDidChange(ctx, valAddr)
|
||||
}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
// nolint
|
||||
package slashing
|
||||
|
||||
import (
|
||||
|
@ -8,7 +9,7 @@ import (
|
|||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
)
|
||||
|
||||
func (k Keeper) onValidatorBonded(ctx sdk.Context, address sdk.ConsAddress, _ sdk.ValAddress) {
|
||||
func (k Keeper) AfterValidatorBonded(ctx sdk.Context, address sdk.ConsAddress, _ sdk.ValAddress) {
|
||||
// Update the signing info start height or create a new signing info
|
||||
_, found := k.getValidatorSigningInfo(ctx, address)
|
||||
if !found {
|
||||
|
@ -32,20 +33,20 @@ func (k Keeper) onValidatorBonded(ctx sdk.Context, address sdk.ConsAddress, _ sd
|
|||
}
|
||||
|
||||
// Mark the slashing period as having ended when a validator begins unbonding
|
||||
func (k Keeper) onValidatorBeginUnbonding(ctx sdk.Context, address sdk.ConsAddress, _ sdk.ValAddress) {
|
||||
func (k Keeper) AfterValidatorBeginUnbonding(ctx sdk.Context, address sdk.ConsAddress, _ sdk.ValAddress) {
|
||||
slashingPeriod := k.getValidatorSlashingPeriodForHeight(ctx, address, ctx.BlockHeight())
|
||||
slashingPeriod.EndHeight = ctx.BlockHeight()
|
||||
k.SetValidatorSlashingPeriod(ctx, slashingPeriod)
|
||||
}
|
||||
|
||||
// When a validator is created, add the address-pubkey relation.
|
||||
func (k Keeper) onValidatorCreated(ctx sdk.Context, valAddr sdk.ValAddress) {
|
||||
func (k Keeper) AfterValidatorCreated(ctx sdk.Context, valAddr sdk.ValAddress) {
|
||||
validator := k.validatorSet.Validator(ctx, valAddr)
|
||||
k.addPubkey(ctx, validator.GetConsPubKey())
|
||||
}
|
||||
|
||||
// When a validator is removed, delete the address-pubkey relation.
|
||||
func (k Keeper) onValidatorRemoved(ctx sdk.Context, address sdk.ConsAddress) {
|
||||
func (k Keeper) AfterValidatorRemoved(ctx sdk.Context, address sdk.ConsAddress) {
|
||||
k.deleteAddrPubkeyRelation(ctx, crypto.Address(address))
|
||||
}
|
||||
|
||||
|
@ -64,29 +65,29 @@ func (k Keeper) Hooks() Hooks {
|
|||
}
|
||||
|
||||
// Implements sdk.ValidatorHooks
|
||||
func (h Hooks) OnValidatorBonded(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
h.k.onValidatorBonded(ctx, consAddr, valAddr)
|
||||
func (h Hooks) AfterValidatorBonded(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
h.k.AfterValidatorBonded(ctx, consAddr, valAddr)
|
||||
}
|
||||
|
||||
// Implements sdk.ValidatorHooks
|
||||
func (h Hooks) OnValidatorBeginUnbonding(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
h.k.onValidatorBeginUnbonding(ctx, consAddr, valAddr)
|
||||
func (h Hooks) AfterValidatorBeginUnbonding(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
h.k.AfterValidatorBeginUnbonding(ctx, consAddr, valAddr)
|
||||
}
|
||||
|
||||
// Implements sdk.ValidatorHooks
|
||||
func (h Hooks) OnValidatorRemoved(ctx sdk.Context, consAddr sdk.ConsAddress, _ sdk.ValAddress) {
|
||||
h.k.onValidatorRemoved(ctx, consAddr)
|
||||
func (h Hooks) AfterValidatorRemoved(ctx sdk.Context, consAddr sdk.ConsAddress, _ sdk.ValAddress) {
|
||||
h.k.AfterValidatorRemoved(ctx, consAddr)
|
||||
}
|
||||
|
||||
// Implements sdk.ValidatorHooks
|
||||
func (h Hooks) OnValidatorCreated(ctx sdk.Context, valAddr sdk.ValAddress) {
|
||||
h.k.onValidatorCreated(ctx, valAddr)
|
||||
func (h Hooks) AfterValidatorCreated(ctx sdk.Context, valAddr sdk.ValAddress) {
|
||||
h.k.AfterValidatorCreated(ctx, valAddr)
|
||||
}
|
||||
|
||||
// nolint - unused hooks
|
||||
func (h Hooks) OnValidatorPowerDidChange(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
func (h Hooks) AfterValidatorPowerDidChange(_ sdk.Context, _ sdk.ConsAddress, _ sdk.ValAddress) {
|
||||
}
|
||||
func (h Hooks) OnValidatorModified(_ sdk.Context, _ sdk.ValAddress) {}
|
||||
func (h Hooks) OnDelegationCreated(_ sdk.Context, _ sdk.AccAddress, _ sdk.ValAddress) {}
|
||||
func (h Hooks) OnDelegationSharesModified(_ sdk.Context, _ sdk.AccAddress, _ sdk.ValAddress) {}
|
||||
func (h Hooks) OnDelegationRemoved(_ sdk.Context, _ sdk.AccAddress, _ sdk.ValAddress) {}
|
||||
func (h Hooks) BeforeValidatorModified(_ sdk.Context, _ sdk.ValAddress) {}
|
||||
func (h Hooks) BeforeDelegationCreated(_ sdk.Context, _ sdk.AccAddress, _ sdk.ValAddress) {}
|
||||
func (h Hooks) BeforeDelegationSharesModified(_ sdk.Context, _ sdk.AccAddress, _ sdk.ValAddress) {}
|
||||
func (h Hooks) BeforeDelegationRemoved(_ sdk.Context, _ sdk.AccAddress, _ sdk.ValAddress) {}
|
||||
|
|
|
@ -11,7 +11,7 @@ import (
|
|||
func TestHookOnValidatorBonded(t *testing.T) {
|
||||
ctx, _, _, _, keeper := createTestInput(t, DefaultParams())
|
||||
addr := sdk.ConsAddress(addrs[0])
|
||||
keeper.onValidatorBonded(ctx, addr, nil)
|
||||
keeper.AfterValidatorBonded(ctx, addr, nil)
|
||||
period := keeper.getValidatorSlashingPeriodForHeight(ctx, addr, ctx.BlockHeight())
|
||||
require.Equal(t, ValidatorSlashingPeriod{addr, ctx.BlockHeight(), 0, sdk.ZeroDec()}, period)
|
||||
}
|
||||
|
@ -19,8 +19,8 @@ func TestHookOnValidatorBonded(t *testing.T) {
|
|||
func TestHookOnValidatorBeginUnbonding(t *testing.T) {
|
||||
ctx, _, _, _, keeper := createTestInput(t, DefaultParams())
|
||||
addr := sdk.ConsAddress(addrs[0])
|
||||
keeper.onValidatorBonded(ctx, addr, nil)
|
||||
keeper.onValidatorBeginUnbonding(ctx, addr, addrs[0])
|
||||
keeper.AfterValidatorBonded(ctx, addr, nil)
|
||||
keeper.AfterValidatorBeginUnbonding(ctx, addr, addrs[0])
|
||||
period := keeper.getValidatorSlashingPeriodForHeight(ctx, addr, ctx.BlockHeight())
|
||||
require.Equal(t, ValidatorSlashingPeriod{addr, ctx.BlockHeight(), ctx.BlockHeight(), sdk.ZeroDec()}, period)
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ func InitGenesis(ctx sdk.Context, keeper Keeper, data types.GenesisState) (res [
|
|||
// Manually set indices for the first time
|
||||
keeper.SetValidatorByConsAddr(ctx, validator)
|
||||
keeper.SetValidatorByPowerIndex(ctx, validator)
|
||||
keeper.OnValidatorCreated(ctx, validator.OperatorAddr)
|
||||
keeper.AfterValidatorCreated(ctx, validator.OperatorAddr)
|
||||
|
||||
// Set timeslice if necessary
|
||||
if validator.Status == sdk.Unbonding {
|
||||
|
@ -42,8 +42,8 @@ func InitGenesis(ctx sdk.Context, keeper Keeper, data types.GenesisState) (res [
|
|||
}
|
||||
|
||||
for _, delegation := range data.Bonds {
|
||||
keeper.BeforeDelegationCreated(ctx, delegation.DelegatorAddr, delegation.ValidatorAddr)
|
||||
keeper.SetDelegation(ctx, delegation)
|
||||
keeper.OnDelegationCreated(ctx, delegation.DelegatorAddr, delegation.ValidatorAddr)
|
||||
}
|
||||
|
||||
sort.SliceStable(data.UnbondingDelegations[:], func(i, j int) bool {
|
||||
|
|
|
@ -128,7 +128,7 @@ func handleMsgCreateValidator(ctx sdk.Context, msg types.MsgCreateValidator, k k
|
|||
k.SetValidatorByConsAddr(ctx, validator)
|
||||
k.SetNewValidatorByPowerIndex(ctx, validator)
|
||||
|
||||
k.OnValidatorCreated(ctx, validator.OperatorAddr)
|
||||
k.AfterValidatorCreated(ctx, validator.OperatorAddr)
|
||||
|
||||
// move coins from the msg.Address account to a (self-delegation) delegator account
|
||||
// the validator account and global shares are updated within here
|
||||
|
@ -168,8 +168,9 @@ func handleMsgEditValidator(ctx sdk.Context, msg types.MsgEditValidator, k keepe
|
|||
if err != nil {
|
||||
return err.Result()
|
||||
}
|
||||
|
||||
k.BeforeValidatorModified(ctx, msg.ValidatorAddr)
|
||||
validator.Commission = commission
|
||||
k.OnValidatorModified(ctx, msg.ValidatorAddr)
|
||||
}
|
||||
|
||||
k.SetValidator(ctx, validator)
|
||||
|
|
|
@ -81,7 +81,7 @@ func (k Keeper) SetDelegation(ctx sdk.Context, delegation types.Delegation) {
|
|||
|
||||
// remove a delegation from store
|
||||
func (k Keeper) RemoveDelegation(ctx sdk.Context, delegation types.Delegation) {
|
||||
k.OnDelegationRemoved(ctx, delegation.DelegatorAddr, delegation.ValidatorAddr)
|
||||
k.BeforeDelegationRemoved(ctx, delegation.DelegatorAddr, delegation.ValidatorAddr)
|
||||
store := ctx.KVStore(k.storeKey)
|
||||
store.Delete(GetDelegationKey(delegation.DelegatorAddr, delegation.ValidatorAddr))
|
||||
}
|
||||
|
@ -398,9 +398,9 @@ func (k Keeper) Delegate(ctx sdk.Context, delAddr sdk.AccAddress, bondAmt sdk.Co
|
|||
|
||||
// call the appropriate hook if present
|
||||
if found {
|
||||
k.OnDelegationSharesModified(ctx, delAddr, validator.OperatorAddr)
|
||||
k.BeforeDelegationSharesModified(ctx, delAddr, validator.OperatorAddr)
|
||||
} else {
|
||||
k.OnDelegationCreated(ctx, delAddr, validator.OperatorAddr)
|
||||
k.BeforeDelegationCreated(ctx, delAddr, validator.OperatorAddr)
|
||||
}
|
||||
|
||||
if subtractAccount {
|
||||
|
@ -430,7 +430,7 @@ func (k Keeper) unbond(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValA
|
|||
return amount, types.ErrNoDelegatorForAddress(k.Codespace())
|
||||
}
|
||||
|
||||
k.OnDelegationSharesModified(ctx, delAddr, valAddr)
|
||||
k.BeforeDelegationSharesModified(ctx, delAddr, valAddr)
|
||||
|
||||
// retrieve the amount to remove
|
||||
if delegation.Shares.LT(shares) {
|
||||
|
|
|
@ -6,56 +6,56 @@ import (
|
|||
)
|
||||
|
||||
// Expose the hooks if present
|
||||
func (k Keeper) OnValidatorCreated(ctx sdk.Context, valAddr sdk.ValAddress) {
|
||||
func (k Keeper) AfterValidatorCreated(ctx sdk.Context, valAddr sdk.ValAddress) {
|
||||
if k.hooks != nil {
|
||||
k.hooks.OnValidatorCreated(ctx, valAddr)
|
||||
k.hooks.AfterValidatorCreated(ctx, valAddr)
|
||||
}
|
||||
}
|
||||
|
||||
func (k Keeper) OnValidatorModified(ctx sdk.Context, valAddr sdk.ValAddress) {
|
||||
func (k Keeper) BeforeValidatorModified(ctx sdk.Context, valAddr sdk.ValAddress) {
|
||||
if k.hooks != nil {
|
||||
k.hooks.OnValidatorModified(ctx, valAddr)
|
||||
k.hooks.BeforeValidatorModified(ctx, valAddr)
|
||||
}
|
||||
}
|
||||
|
||||
func (k Keeper) OnValidatorRemoved(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
func (k Keeper) AfterValidatorRemoved(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
if k.hooks != nil {
|
||||
k.hooks.OnValidatorRemoved(ctx, consAddr, valAddr)
|
||||
k.hooks.AfterValidatorRemoved(ctx, consAddr, valAddr)
|
||||
}
|
||||
}
|
||||
|
||||
func (k Keeper) OnValidatorBonded(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
func (k Keeper) AfterValidatorBonded(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
if k.hooks != nil {
|
||||
k.hooks.OnValidatorBonded(ctx, consAddr, valAddr)
|
||||
k.hooks.AfterValidatorBonded(ctx, consAddr, valAddr)
|
||||
}
|
||||
}
|
||||
|
||||
func (k Keeper) OnValidatorPowerDidChange(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
func (k Keeper) AfterValidatorPowerDidChange(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
if k.hooks != nil {
|
||||
k.hooks.OnValidatorPowerDidChange(ctx, consAddr, valAddr)
|
||||
k.hooks.AfterValidatorPowerDidChange(ctx, consAddr, valAddr)
|
||||
}
|
||||
}
|
||||
|
||||
func (k Keeper) OnValidatorBeginUnbonding(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
func (k Keeper) AfterValidatorBeginUnbonding(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress) {
|
||||
if k.hooks != nil {
|
||||
k.hooks.OnValidatorBeginUnbonding(ctx, consAddr, valAddr)
|
||||
k.hooks.AfterValidatorBeginUnbonding(ctx, consAddr, valAddr)
|
||||
}
|
||||
}
|
||||
|
||||
func (k Keeper) OnDelegationCreated(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) {
|
||||
func (k Keeper) BeforeDelegationCreated(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) {
|
||||
if k.hooks != nil {
|
||||
k.hooks.OnDelegationCreated(ctx, delAddr, valAddr)
|
||||
k.hooks.BeforeDelegationCreated(ctx, delAddr, valAddr)
|
||||
}
|
||||
}
|
||||
|
||||
func (k Keeper) OnDelegationSharesModified(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) {
|
||||
func (k Keeper) BeforeDelegationSharesModified(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) {
|
||||
if k.hooks != nil {
|
||||
k.hooks.OnDelegationSharesModified(ctx, delAddr, valAddr)
|
||||
k.hooks.BeforeDelegationSharesModified(ctx, delAddr, valAddr)
|
||||
}
|
||||
}
|
||||
|
||||
func (k Keeper) OnDelegationRemoved(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) {
|
||||
func (k Keeper) BeforeDelegationRemoved(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) {
|
||||
if k.hooks != nil {
|
||||
k.hooks.OnDelegationRemoved(ctx, delAddr, valAddr)
|
||||
k.hooks.BeforeDelegationRemoved(ctx, delAddr, valAddr)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -53,7 +53,7 @@ func (k Keeper) Slash(ctx sdk.Context, consAddr sdk.ConsAddress, infractionHeigh
|
|||
}
|
||||
|
||||
operatorAddress := validator.GetOperator()
|
||||
k.OnValidatorModified(ctx, operatorAddress)
|
||||
k.BeforeValidatorModified(ctx, operatorAddress)
|
||||
|
||||
// Track remaining slash amount for the validator
|
||||
// This will decrease when we slash unbondings and
|
||||
|
|
|
@ -80,7 +80,7 @@ func (k Keeper) ApplyAndReturnValidatorSetUpdates(ctx sdk.Context) (updates []ab
|
|||
// Assert that the validator had updated its ValidatorDistInfo.FeePoolWithdrawalHeight.
|
||||
// This hook is extremely useful, otherwise lazy accum bugs will be difficult to solve.
|
||||
if k.hooks != nil {
|
||||
k.hooks.OnValidatorPowerDidChange(ctx, validator.ConsAddress(), valAddr)
|
||||
k.hooks.AfterValidatorPowerDidChange(ctx, validator.ConsAddress(), valAddr)
|
||||
}
|
||||
|
||||
// set validator power on lookup index.
|
||||
|
@ -196,7 +196,7 @@ func (k Keeper) bondValidator(ctx sdk.Context, validator types.Validator) types.
|
|||
|
||||
// call the bond hook if present
|
||||
if k.hooks != nil {
|
||||
k.hooks.OnValidatorBonded(ctx, validator.ConsAddress(), validator.OperatorAddr)
|
||||
k.hooks.AfterValidatorBonded(ctx, validator.ConsAddress(), validator.OperatorAddr)
|
||||
}
|
||||
|
||||
return validator
|
||||
|
@ -231,7 +231,7 @@ func (k Keeper) beginUnbondingValidator(ctx sdk.Context, validator types.Validat
|
|||
|
||||
// call the unbond hook if present
|
||||
if k.hooks != nil {
|
||||
k.hooks.OnValidatorBeginUnbonding(ctx, validator.ConsAddress(), validator.OperatorAddr)
|
||||
k.hooks.AfterValidatorBeginUnbonding(ctx, validator.ConsAddress(), validator.OperatorAddr)
|
||||
}
|
||||
|
||||
return validator
|
||||
|
|
|
@ -202,7 +202,7 @@ func (k Keeper) RemoveValidator(ctx sdk.Context, address sdk.ValAddress) {
|
|||
|
||||
// call hook if present
|
||||
if k.hooks != nil {
|
||||
k.hooks.OnValidatorRemoved(ctx, validator.ConsAddress(), validator.OperatorAddr)
|
||||
k.hooks.AfterValidatorRemoved(ctx, validator.ConsAddress(), validator.OperatorAddr)
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue