diff --git a/x/observer/keeper/hooks.go b/x/observer/keeper/hooks.go index ec002b5a2f..631abd00e3 100644 --- a/x/observer/keeper/hooks.go +++ b/x/observer/keeper/hooks.go @@ -15,7 +15,7 @@ type Hooks struct { func (h Hooks) AfterValidatorRemoved(ctx sdk.Context, _ sdk.ConsAddress, valAddr sdk.ValAddress) error { err := h.k.CleanObservers(ctx, valAddr) if err != nil { - return err + ctx.Logger().Error("Error cleaning observer set", "error", err) } return nil } @@ -23,7 +23,7 @@ func (h Hooks) AfterValidatorRemoved(ctx sdk.Context, _ sdk.ConsAddress, valAddr func (h Hooks) AfterValidatorBeginUnbonding(ctx sdk.Context, _ sdk.ConsAddress, valAddr sdk.ValAddress) error { err := h.k.CheckAndCleanObserver(ctx, valAddr) if err != nil { - return err + ctx.Logger().Error("Error cleaning observer set", "error", err) } return nil } @@ -31,7 +31,7 @@ func (h Hooks) AfterValidatorBeginUnbonding(ctx sdk.Context, _ sdk.ConsAddress, func (h Hooks) AfterDelegationModified(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress) error { err := h.k.CheckAndCleanObserverDelegator(ctx, valAddr, delAddr) if err != nil { - return err + ctx.Logger().Error("Error cleaning observer set", "error", err) } return nil } @@ -39,7 +39,7 @@ func (h Hooks) AfterDelegationModified(ctx sdk.Context, delAddr sdk.AccAddress, func (h Hooks) BeforeValidatorSlashed(ctx sdk.Context, valAddr sdk.ValAddress, fraction sdk.Dec) error { err := h.k.CleanSlashedValidator(ctx, valAddr, fraction) if err != nil { - return err + ctx.Logger().Error("Error cleaning observer set", "error", err) } return nil } diff --git a/x/observer/keeper/hooks_test.go b/x/observer/keeper/hooks_test.go index 7b5ef7ed64..09088bed44 100644 --- a/x/observer/keeper/hooks_test.go +++ b/x/observer/keeper/hooks_test.go @@ -139,15 +139,20 @@ func TestKeeper_AfterDelegationModified(t *testing.T) { } func TestKeeper_BeforeValidatorSlashed(t *testing.T) { - t.Run("should error if validator not found", func(t *testing.T) { + t.Run("should not error if validator not found", func(t *testing.T) { k, ctx, _, _ := keepertest.ObserverKeeper(t) r := rand.New(rand.NewSource(9)) validator := sample.Validator(t, r) + os := sample.ObserverSet(10) + k.SetObserverSet(ctx, os) hooks := k.Hooks() err := hooks.BeforeValidatorSlashed(ctx, validator.GetOperator(), sdk.NewDec(1)) - require.Error(t, err) + require.NoError(t, err) + storedOs, found := k.GetObserverSet(ctx) + require.True(t, found) + require.Equal(t, os, storedOs) }) t.Run("should not error if observer set not found", func(t *testing.T) {