diff options
Diffstat (limited to 'core/vm/environment.go')
-rw-r--r-- | core/vm/environment.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/core/vm/environment.go b/core/vm/environment.go index 299d12674..a58e3ba2b 100644 --- a/core/vm/environment.go +++ b/core/vm/environment.go @@ -70,6 +70,8 @@ type Environment interface { 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 CallCode(me ContractRef, addr common.Address, data []byte, gas, price, value *big.Int) ([]byte, error) + // Same as CallCode except sender and value is propagated from parent to child scope + 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) } @@ -121,4 +123,6 @@ type Account interface { Address() common.Address ReturnGas(*big.Int, *big.Int) SetCode([]byte) + EachStorage(cb func(key, value []byte)) + Value() *big.Int } |