mirror of
https://github.com/fluencelabs/tendermint
synced 2025-04-25 06:42:16 +00:00
ResponseEndBlock: ensure Address matches PubKey if provided
This commit is contained in:
parent
8be27494bb
commit
6b8613b3e7
@ -1,6 +1,7 @@
|
|||||||
package state
|
package state
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bytes"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
fail "github.com/ebuchman/fail-test"
|
fail "github.com/ebuchman/fail-test"
|
||||||
@ -278,6 +279,16 @@ func updateValidators(currentSet *types.ValidatorSet, updates []abci.Validator)
|
|||||||
}
|
}
|
||||||
|
|
||||||
address := pubkey.Address()
|
address := pubkey.Address()
|
||||||
|
|
||||||
|
// If the app provided an address too, it must match.
|
||||||
|
// This is just a sanity check.
|
||||||
|
if len(v.Address) > 0 {
|
||||||
|
if !bytes.Equal(address, v.Address) {
|
||||||
|
return fmt.Errorf("Validator.Address (%X) does not match PubKey.Address (%X)",
|
||||||
|
v.Address, address)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
power := int64(v.Power)
|
power := int64(v.Power)
|
||||||
// mind the overflow from int64
|
// mind the overflow from int64
|
||||||
if power < 0 {
|
if power < 0 {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user