diff --git a/core/state/candidates/candidates.go b/core/state/candidates/candidates.go index 7ff5bdbdc..61d6debce 100644 --- a/core/state/candidates/candidates.go +++ b/core/state/candidates/candidates.go @@ -1026,9 +1026,7 @@ func (c *Candidates) ChangePubKey(old types.Pubkey, new types.Pubkey) { panic("Candidate with such public key (" + new.String() + ") exists in block list") } - candidate := c.getFromMap(old) - candidate.setPublicKey(new) - candidate.setTmAddress() + c.getFromMap(old).setPublicKey(new) c.setBlockPubKey(old) c.setPubKeyID(new, c.pubKeyIDs[old]) delete(c.pubKeyIDs, old) diff --git a/core/state/candidates/model.go b/core/state/candidates/model.go index 534dd5690..78c3e8ff0 100644 --- a/core/state/candidates/model.go +++ b/core/state/candidates/model.go @@ -64,6 +64,7 @@ func (candidate *Candidate) setControl(address types.Address) { func (candidate *Candidate) setPublicKey(pubKey types.Pubkey) { candidate.isDirty = true candidate.PubKey = pubKey + candidate.setTmAddress() } func (candidate *Candidate) addUpdate(stake *stake) {