aboutsummaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorJeffrey Wilcke <jeffrey@ethereum.org>2015-10-09 02:32:30 +0800
committerJeffrey Wilcke <jeffrey@ethereum.org>2015-10-09 02:32:30 +0800
commitbba4dcb72f216db531f97474ef636790cc82f318 (patch)
tree82ec63fef6617b3f3ae585cd26c8e430d212d9dd /core
parent37abbcb54b6c41e819978283064ad48d447deef1 (diff)
parente1616f77c7fb348f6b171b608d036f2bd4e34cc3 (diff)
downloaddexon-bba4dcb72f216db531f97474ef636790cc82f318.tar.gz
dexon-bba4dcb72f216db531f97474ef636790cc82f318.tar.zst
dexon-bba4dcb72f216db531f97474ef636790cc82f318.zip
Merge pull request #1880 from Gustav-Simonsson/core_transfer
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) {