mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-27 23:26:44 +00:00
dev: rename CompareProposerPriority to Cmp, add nil check (2.27)
This commit is contained in:
parent
48d6d76d18
commit
bfab1d932d
2 changed files with 10 additions and 6 deletions
|
|
@ -29,18 +29,23 @@ func NewValidator(address common.Address, votingPower int64) *Validator {
|
|||
}
|
||||
}
|
||||
|
||||
// Creates a new copy of the validator so we can mutate ProposerPriority.
|
||||
// Copy creates a new copy of the validator so we can mutate ProposerPriority.
|
||||
// Panics if the validator is nil.
|
||||
func (v *Validator) Copy() *Validator {
|
||||
vCopy := *v
|
||||
return &vCopy
|
||||
}
|
||||
|
||||
// Returns the one with higher ProposerPriority.
|
||||
func (v *Validator) CompareProposerPriority(other *Validator) *Validator {
|
||||
// Cmp returns the one validator with a higher ProposerPriority.
|
||||
// If ProposerPriority is same, it returns the validator with lexicographically smaller address
|
||||
func (v *Validator) Cmp(other *Validator) *Validator {
|
||||
// if both of v and other are nil, nil will be returned and that could possibly lead to nil pointer dereference bubbling up the stack
|
||||
if v == nil {
|
||||
return other
|
||||
}
|
||||
if other == nil {
|
||||
return v
|
||||
}
|
||||
if v.ProposerPriority > other.ProposerPriority {
|
||||
return v
|
||||
} else if v.ProposerPriority < other.ProposerPriority {
|
||||
|
|
@ -53,7 +58,6 @@ func (v *Validator) CompareProposerPriority(other *Validator) *Validator {
|
|||
return other
|
||||
} else {
|
||||
panic("Cannot compare identical validators")
|
||||
return nil
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -182,7 +182,7 @@ func computeMaxMinPriorityDiff(vals *ValidatorSet) int64 {
|
|||
func (vals *ValidatorSet) getValWithMostPriority() *Validator {
|
||||
var res *Validator
|
||||
for _, val := range vals.Validators {
|
||||
res = res.CompareProposerPriority(val)
|
||||
res = res.Cmp(val)
|
||||
}
|
||||
return res
|
||||
}
|
||||
|
|
@ -298,7 +298,7 @@ func (vals *ValidatorSet) findProposer() *Validator {
|
|||
var proposer *Validator
|
||||
for _, val := range vals.Validators {
|
||||
if proposer == nil || !bytes.Equal(val.Address.Bytes(), proposer.Address.Bytes()) {
|
||||
proposer = proposer.CompareProposerPriority(val)
|
||||
proposer = proposer.Cmp(val)
|
||||
}
|
||||
}
|
||||
return proposer
|
||||
|
|
|
|||
Loading…
Reference in a new issue