aboutsummaryrefslogtreecommitdiffstats
path: root/core/vm
diff options
context:
space:
mode:
authorPéter Szilágyi <peterke@gmail.com>2016-06-24 18:09:36 +0800
committerGitHub <noreply@github.com>2016-06-24 18:09:36 +0800
commit848dec3da2dae77ef50ea229cf430ff0171766ed (patch)
tree06f7458835408f94116572d13d1bf0bf48b278f3 /core/vm
parentae0880997b7427d6f19fb8501b37f0168623f0c8 (diff)
parentba784bdf36f2daf7827ec1ec864f3393ba8d86a0 (diff)
downloadgo-tangerine-848dec3da2dae77ef50ea229cf430ff0171766ed.tar.gz
go-tangerine-848dec3da2dae77ef50ea229cf430ff0171766ed.tar.zst
go-tangerine-848dec3da2dae77ef50ea229cf430ff0171766ed.zip
Merge pull request #2725 from karalabe/obscuren-softfork-dao-2
DAO soft-fork
Diffstat (limited to 'core/vm')
-rw-r--r--core/vm/environment.go3
-rw-r--r--core/vm/jit_test.go9
-rw-r--r--core/vm/runtime/env.go2
3 files changed, 10 insertions, 4 deletions
diff --git a/core/vm/environment.go b/core/vm/environment.go
index 747627565..37817be9e 100644
--- a/core/vm/environment.go
+++ b/core/vm/environment.go
@@ -73,6 +73,8 @@ type Environment interface {
DelegateCall(me ContractRef, addr common.Address, data []byte, gas, price *big.Int) ([]byte, error)
// Create a new contract
Create(me ContractRef, data []byte, gas, price, value *big.Int) ([]byte, common.Address, error)
+ // Mark the code hash that was executed
+ MarkCodeHash(hash common.Hash)
}
// Vm is the basic interface for an implementation of the EVM.
@@ -96,6 +98,7 @@ type Database interface {
GetCode(common.Address) []byte
SetCode(common.Address, []byte)
+ GetCodeHash(common.Address) common.Hash
AddRefund(*big.Int)
GetRefund() *big.Int
diff --git a/core/vm/jit_test.go b/core/vm/jit_test.go
index 403c15a8d..a9ddd48a5 100644
--- a/core/vm/jit_test.go
+++ b/core/vm/jit_test.go
@@ -175,10 +175,11 @@ func NewEnv(noJit, forceJit bool) *Env {
return env
}
-func (self *Env) RuleSet() RuleSet { return ruleSet{new(big.Int)} }
-func (self *Env) Vm() Vm { return self.evm }
-func (self *Env) Origin() common.Address { return common.Address{} }
-func (self *Env) BlockNumber() *big.Int { return big.NewInt(0) }
+func (self *Env) MarkCodeHash(common.Hash) {}
+func (self *Env) RuleSet() RuleSet { return ruleSet{new(big.Int)} }
+func (self *Env) Vm() Vm { return self.evm }
+func (self *Env) Origin() common.Address { return common.Address{} }
+func (self *Env) BlockNumber() *big.Int { return big.NewInt(0) }
func (self *Env) AddStructLog(log StructLog) {
}
func (self *Env) StructLogs() []StructLog {
diff --git a/core/vm/runtime/env.go b/core/vm/runtime/env.go
index d8c98e545..94adb0287 100644
--- a/core/vm/runtime/env.go
+++ b/core/vm/runtime/env.go
@@ -79,6 +79,8 @@ func (self *Env) AddStructLog(log vm.StructLog) {
self.logs = append(self.logs, log)
}
+func (self *Env) MarkCodeHash(hash common.Hash) {}
+
func (self *Env) RuleSet() vm.RuleSet { return self.ruleSet }
func (self *Env) Vm() vm.Vm { return self.evm }
func (self *Env) Origin() common.Address { return self.origin }