From e1616f77c7fb348f6b171b608d036f2bd4e34cc3 Mon Sep 17 00:00:00 2001 From: Gustav Simonsson Date: Tue, 6 Oct 2015 12:35:05 +0200 Subject: core, core/vm, cmd/evm: remove redundant balance check --- core/execution.go | 9 +-------- core/vm/environment.go | 2 +- core/vm/jit_test.go | 4 +--- core/vm_env.go | 4 ++-- 4 files changed, 5 insertions(+), 14 deletions(-) (limited to 'core') 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) { -- cgit v1.2.3