Browse Source

Merge pull request #3035 from Gustav-Simonsson/zero_value_transfer_noop

core/state: short-circuit balance change if zero value
Péter Szilágyi 9 years ago
parent
commit
e859f36967
1 changed files with 6 additions and 0 deletions
  1. 6 0
      core/state/state_object.go

+ 6 - 0
core/state/state_object.go

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