func (h Hooks) AfterValidatorBonded(ctx sdk.Context, consAddr sdk.ConsAddress, valAddr sdk.ValAddress) {
	h.k.AfterValidatorBonded(ctx, consAddr, valAddr)
}
AfterValidatorBonded - Implements sdk.ValidatorHooks
package slashing
import (
	"time"
	"github.com/tendermint/tendermint/crypto"
	"github.com/Dipper-Labs/Dipper-Protocol/app/v0/slashing/types"
	sdk "github.com/Dipper-Labs/Dipper-Protocol/types"
)
func (k Keeper) AfterValidatorBonded(ctx sdk.Context, address sdk.ConsAddress, _ sdk.ValAddress) {
	_, found := k.GetValidatorSigningInfo(ctx, address)
	if !found {
		signingInfo := types.NewValidatorSigningInfo(
			address,
			ctx.BlockHeight(),
			0,
			time.Unix(0, 0),
			false,
			0,
		)
		k.SetValidatorSigningInfo(ctx, address, signingInfo)
	}
}
func (k Keeper) AfterValidatorCreated(ctx sdk.Context, valAddr sdk.ValAddress) {
	validator := k.sk.Validator(ctx, valAddr)
	k.addPubkey(ctx, validator.GetConsPubKey())
}
func (k Keeper) AfterValidatorRemoved(ctx sdk.Context, address sdk.ConsAddress) {
	k.deleteAddrPubkeyRelation(ctx, crypto.Address(address))
}
type Hooks struct {
	k Keeper
}
var _ types.StakingHooks = Hooks{}
func (k Keeper) Hooks() Hooks {
	return Hooks{k}
}