core/state: short-circuit balance change if zero value

This commit is contained in:
Gustav Simonsson 2016-09-26 01:25:50 -04:00
parent 3778f1bf77
commit 25ed5fedda

View File

@ -152,6 +152,9 @@ func (self *StateObject) Update() {
} }
func (c *StateObject) AddBalance(amount *big.Int) { func (c *StateObject) AddBalance(amount *big.Int) {
if amount.Cmp(common.Big0) == 0 {
return
}
c.SetBalance(new(big.Int).Add(c.balance, amount)) c.SetBalance(new(big.Int).Add(c.balance, amount))
if glog.V(logger.Core) { if glog.V(logger.Core) {
@ -160,6 +163,9 @@ func (c *StateObject) AddBalance(amount *big.Int) {
} }
func (c *StateObject) SubBalance(amount *big.Int) { func (c *StateObject) SubBalance(amount *big.Int) {
if amount.Cmp(common.Big0) == 0 {
return
}
c.SetBalance(new(big.Int).Sub(c.balance, amount)) c.SetBalance(new(big.Int).Sub(c.balance, amount))
if glog.V(logger.Core) { if glog.V(logger.Core) {