x/staking: lazily get consensus key address (#9264)

This commit is contained in:
Cuong Manh Le 2021-05-06 01:28:37 +07:00 committed by GitHub
parent 1e1c812de2
commit d9b20122d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 4 deletions

View File

@ -237,17 +237,22 @@ func validateGenesisStateValidators(validators []types.Validator) error {
if err != nil {
return err
}
consAddr, err := val.GetConsAddr()
if err != nil {
return err
}
strKey := string(consPk.Bytes())
if _, ok := addrMap[strKey]; ok {
consAddr, err := val.GetConsAddr()
if err != nil {
return err
}
return fmt.Errorf("duplicate validator in genesis state: moniker %v, address %v", val.Description.Moniker, consAddr)
}
if val.Jailed && val.IsBonded() {
consAddr, err := val.GetConsAddr()
if err != nil {
return err
}
return fmt.Errorf("validator is bonded and jailed in genesis state: moniker %v, address %v", val.Description.Moniker, consAddr)
}