diff --git a/client/lcd/lcd_test.go b/client/lcd/lcd_test.go index 6eef4afd0a..4a999b066f 100644 --- a/client/lcd/lcd_test.go +++ b/client/lcd/lcd_test.go @@ -713,7 +713,6 @@ func TestUnjail(t *testing.T) { tests.WaitForHeight(4, port) require.Equal(t, true, signingInfo.IndexOffset > 0) require.Equal(t, time.Unix(0, 0).UTC(), signingInfo.JailedUntil) - require.Equal(t, true, signingInfo.SignedBlocksCounter > 0) } func TestProposalsQuery(t *testing.T) { diff --git a/x/slashing/hooks.go b/x/slashing/hooks.go index 8082608308..3a5ddd6fdc 100644 --- a/x/slashing/hooks.go +++ b/x/slashing/hooks.go @@ -7,17 +7,19 @@ import ( ) func (k Keeper) onValidatorBonded(ctx sdk.Context, address sdk.ConsAddress) { - // Create a new signing info if necessary - _, found := k.getValidatorSigningInfo(ctx, address) - if !found { - signingInfo := ValidatorSigningInfo{ + // Update the signing info start height or create a new signing info + signingInfo, found := k.getValidatorSigningInfo(ctx, address) + if found { + signingInfo.StartHeight = ctx.BlockHeight() + } else { + signingInfo = ValidatorSigningInfo{ StartHeight: ctx.BlockHeight(), IndexOffset: 0, JailedUntil: time.Unix(0, 0), MissedBlocksCounter: 0, } - k.setValidatorSigningInfo(ctx, address, signingInfo) } + k.setValidatorSigningInfo(ctx, address, signingInfo) // Create a new slashing period when a validator is bonded slashingPeriod := ValidatorSlashingPeriod{