aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorGustav Simonsson <gustav.simonsson@gmail.com>2015-10-06 18:35:05 +0800
committerGustav Simonsson <gustav.simonsson@gmail.com>2015-10-06 18:42:34 +0800
commite1616f77c7fb348f6b171b608d036f2bd4e34cc3 (patch)
tree580e923bedf622c5b872ef2d23cb62fcd98a22b8 /core
parent44fd3951410fb5923d7e578ac97942a7ea791e96 (diff)
downloaddexon-e1616f77c7fb348f6b171b608d036f2bd4e34cc3.tar
dexon-e1616f77c7fb348f6b171b608d036f2bd4e34cc3.tar.gz
dexon-e1616f77c7fb348f6b171b608d036f2bd4e34cc3.tar.bz2
dexon-e1616f77c7fb348f6b171b608d036f2bd4e34cc3.tar.lz
dexon-e1616f77c7fb348f6b171b608d036f2bd4e34cc3.tar.xz
dexon-e1616f77c7fb348f6b171b608d036f2bd4e34cc3.tar.zst
dexon-e1616f77c7fb348f6b171b608d036f2bd4e34cc3.zip
core, core/vm, cmd/evm: remove redundant balance check
Diffstat (limited to 'core')
-rw-r--r--core/execution.go9
-rw-r--r--core/vm/environment.go2
-rw-r--r--core/vm/jit_test.go4
-rw-r--r--core/vm_env.go4
4 files changed, 5 insertions, 14 deletions
diff --git a/core/execution.go b/core/execution.go
index e3c00a2ea..fd8464f6e 100644
--- a/core/execution.go
+++ b/core/execution.go
@@ -17,7 +17,6 @@
package core
import (
- "errors"
"math/big"
"github.com/ethereum/go-ethereum/common"
@@ -108,13 +107,7 @@ func exec(env vm.Environment, caller vm.ContractRef, address, codeAddr *common.A
}
// generic transfer method
-func Transfer(from, to vm.Account, amount *big.Int) error {
- if from.Balance().Cmp(amount) < 0 {
- return errors.New("Insufficient balance in account")
- }
-
+func Transfer(from, to vm.Account, amount *big.Int) {
from.SubBalance(amount)
to.AddBalance(amount)
-
- return nil
}
diff --git a/core/vm/environment.go b/core/vm/environment.go
index f8e19baea..ec739b26c 100644
--- a/core/vm/environment.go
+++ b/core/vm/environment.go
@@ -51,7 +51,7 @@ type Environment interface {
// Determines whether it's possible to transact
CanTransfer(from common.Address, balance *big.Int) bool
// Transfers amount from one account to the other
- Transfer(from, to Account, amount *big.Int) error
+ Transfer(from, to Account, amount *big.Int)
// Adds a LOG to the state
AddLog(*Log)
// Adds a structured log to the env
diff --git a/core/vm/jit_test.go b/core/vm/jit_test.go
index 8c45f2ce7..cb09e179d 100644
--- a/core/vm/jit_test.go
+++ b/core/vm/jit_test.go
@@ -152,9 +152,7 @@ func (self *Env) SetDepth(i int) { self.depth = i }
func (self *Env) CanTransfer(from common.Address, balance *big.Int) bool {
return true
}
-func (self *Env) Transfer(from, to Account, amount *big.Int) error {
- return nil
-}
+func (self *Env) Transfer(from, to Account, amount *big.Int) {}
func (self *Env) Call(caller ContractRef, addr common.Address, data []byte, gas, price, value *big.Int) ([]byte, error) {
return nil, nil
}
diff --git a/core/vm_env.go b/core/vm_env.go
index 467e34c6b..715fde52f 100644
--- a/core/vm_env.go
+++ b/core/vm_env.go
@@ -81,8 +81,8 @@ func (self *VMEnv) SetSnapshot(copy vm.Database) {
self.state.Set(copy.(*state.StateDB))
}
-func (self *VMEnv) Transfer(from, to vm.Account, amount *big.Int) error {
- return Transfer(from, to, amount)
+func (self *VMEnv) Transfer(from, to vm.Account, amount *big.Int) {
+ Transfer(from, to, amount)
}
func (self *VMEnv) Call(me vm.ContractRef, addr common.Address, data []byte, gas, price, value *big.Int) ([]byte, error) {