if val, ok := v.AddressBalances[address]; ok {
banlance := int64(val) + value
if banlance < 0 {
- cmn.Exit("The balance was negative")
+ cmn.Exit(fmt.Sprintf("The balance was negative: %s: %d", address, value))
}
if banlance == 0 {
delete(v.AddressBalances, address)
}
} else {
if value < 0 {
- cmn.Exit("The balance was negative")
+ cmn.Exit(fmt.Sprintf("The balance was negative: %s: %d", address, value))
}
if value > 0 {
v.AddressBalances[address] = uint64(value)
if block.Height != oldBlockHeight {
return errors.New("The module vote records data with a problem")
}
- for i := block.Height + 1; i < c.bestNode.Height; i++ {
+ for i := block.Height + 1; i <= c.bestNode.Height; i++ {
b, err := c.GetBlockByHeight(i)
if err != nil {
return err