diff options
author | Jeffrey Wilcke <jeffrey@ethereum.org> | 2016-04-01 19:42:19 +0800 |
---|---|---|
committer | Jeffrey Wilcke <jeffrey@ethereum.org> | 2016-04-01 19:42:19 +0800 |
commit | c58079461bafe508bea9233e2b81852df5188f57 (patch) | |
tree | 33d4c6a96eed3bf1ce9f69bbef3cbc1561f2b114 /core/vm/environment.go | |
parent | 10d3466c934bd425a8c941270749a652a588527d (diff) | |
parent | 1f3596c25af077a3303c554ee6b49404b20f7117 (diff) | |
download | go-tangerine-c58079461bafe508bea9233e2b81852df5188f57.tar.gz go-tangerine-c58079461bafe508bea9233e2b81852df5188f57.tar.zst go-tangerine-c58079461bafe508bea9233e2b81852df5188f57.zip |
Merge pull request #2281 from obscuren/configurable-genesis
core: homestead chain configuration & artificial gas floor target mining flag
Diffstat (limited to 'core/vm/environment.go')
-rw-r--r-- | core/vm/environment.go | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/core/vm/environment.go b/core/vm/environment.go index 568218edd..747627565 100644 --- a/core/vm/environment.go +++ b/core/vm/environment.go @@ -22,9 +22,17 @@ import ( "github.com/ethereum/go-ethereum/common" ) +// RuleSet is an interface that defines the current rule set during the +// execution of the EVM instructions (e.g. whether it's homestead) +type RuleSet interface { + IsHomestead(*big.Int) bool +} + // Environment is an EVM requirement and helper which allows access to outside // information such as states. type Environment interface { + // The current ruleset + RuleSet() RuleSet // The state database Db() Database // Creates a restorable snapshot @@ -53,10 +61,10 @@ type Environment interface { AddLog(*Log) // Type of the VM Vm() Vm - // Current calling depth + // Get the curret calling depth Depth() int + // Set the current calling depth SetDepth(i int) - // Call another contract Call(me ContractRef, addr common.Address, data []byte, gas, price, value *big.Int) ([]byte, error) // Take another's contract code and execute within our own context |