-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Closed
Labels
T:bugType Bug (Confirmed)Type Bug (Confirmed)
Description
Rebonding fails sometimes (repeatedly) for a validator.
Suggested change:
@@ -693,7 +693,8 @@ func ExecTx(blockCache *BlockCache, tx_ types.Tx, runCall bool, evc events.Firea
}
// tx.Height must be equal to the next height
- if tx.Height != _s.LastBlockHeight+1 {
+ //if tx.Height != _s.LastBlockHeight+1 {
+ if _s.LastBlockHeight-(validatorTimeoutBlocks/2) <= tx.Height <= _s.LastBlockHeight+1 {
return errors.New(Fmt("Invalid rebond height. Expected %v, got %v", _s.LastBlockHeight+1, tx.Height))
}
I don’t see any problems with this approach because RebondTx isn’t very important for consensus or light client security… it’s only when it gets committed into the blockchain that the unbonding validator becomes active again.
Thanks Ethan for spotting the logical bug.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
T:bugType Bug (Confirmed)Type Bug (Confirmed)