From 445feaeef58bd89a113743dccf6fd5df55cde6fa Mon Sep 17 00:00:00 2001 From: Jeffrey Wilcke Date: Thu, 20 Oct 2016 13:36:29 +0200 Subject: core, core/state, trie: EIP158, reprice & skip empty account write This commit implements EIP158 part 1, 2, 3 & 4 1. If an account is empty it's no longer written to the trie. An empty account is defined as (balance=0, nonce=0, storage=0, code=0). 2. Delete an empty account if it's touched 3. An empty account is redefined as either non-existent or empty. 4. Zero value calls and zero value suicides no longer consume the 25k reation costs. params: moved core/config to params Signed-off-by: Jeffrey Wilcke --- internal/ethapi/tracer_test.go | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'internal') diff --git a/internal/ethapi/tracer_test.go b/internal/ethapi/tracer_test.go index 577b426f1..b88178a6d 100644 --- a/internal/ethapi/tracer_test.go +++ b/internal/ethapi/tracer_test.go @@ -29,11 +29,6 @@ import ( "github.com/ethereum/go-ethereum/params" ) -type ruleSet struct{} - -func (self *ruleSet) IsHomestead(*big.Int) bool { return true } -func (*ruleSet) GasTable(*big.Int) params.GasTable { return params.GasTableHomesteadGasRepriceFork } - type Env struct { gasLimit *big.Int depth int @@ -46,7 +41,9 @@ func NewEnv(config *vm.Config) *Env { return env } -func (self *Env) RuleSet() vm.RuleSet { return &ruleSet{} } +func (self *Env) ChainConfig() *params.ChainConfig { + return params.TestChainConfig +} func (self *Env) Vm() vm.Vm { return self.evm } func (self *Env) Origin() common.Address { return common.Address{} } func (self *Env) BlockNumber() *big.Int { return big.NewInt(0) } -- cgit v1.2.3