refactor(x/accounts): reuse calculated sum in func safeAdd (#20458)
This commit is contained in:
parent
2b34f69e87
commit
d8496bc698
@ -395,10 +395,11 @@ func (a *Account) RegisterQueryHandlers(builder *accountstd.QueryBuilder) {
|
||||
func safeAdd(nums ...uint64) (uint64, error) {
|
||||
var sum uint64
|
||||
for _, num := range nums {
|
||||
if sum+num < sum {
|
||||
if newSum := sum + num; newSum < sum {
|
||||
return 0, errors.New("overflow")
|
||||
} else {
|
||||
sum = newSum
|
||||
}
|
||||
sum += num
|
||||
}
|
||||
return sum, nil
|
||||
}
|
||||
|
||||
@ -43,11 +43,11 @@ func (a Account) UpdateConfig(ctx context.Context, msg *v1.MsgUpdateConfig) (*v1
|
||||
// verify that the new set of members and config are valid
|
||||
// get the weight from the stored members
|
||||
totalWeight := uint64(0)
|
||||
var addErr error
|
||||
err := a.Members.Walk(ctx, nil, func(_ []byte, value uint64) (stop bool, err error) {
|
||||
var adderr error
|
||||
totalWeight, adderr = safeAdd(totalWeight, value)
|
||||
if adderr != nil {
|
||||
return true, adderr
|
||||
totalWeight, addErr = safeAdd(totalWeight, value)
|
||||
if addErr != nil {
|
||||
return true, addErr
|
||||
}
|
||||
return false, nil
|
||||
})
|
||||
|
||||
Loading…
Reference in New Issue
Block a user