Added vm options for object execution

This commit is contained in:
obscuren
2014-08-05 11:10:24 +02:00
parent c215bbadf1
commit 4f0bda403e
4 changed files with 58 additions and 39 deletions

26
ethpipe/object.go Normal file
View File

@ -0,0 +1,26 @@
package ethpipe
import (
"github.com/ethereum/eth-go/ethstate"
"github.com/ethereum/eth-go/ethutil"
)
type object struct {
*ethstate.StateObject
}
func (self *object) StorageString(str string) *ethutil.Value {
if ethutil.IsHex(str) {
return self.Storage(ethutil.Hex2Bytes(str[2:]))
} else {
return self.Storage(ethutil.RightPadBytes([]byte(str), 32))
}
}
func (self *object) StorageValue(addr *ethutil.Value) *ethutil.Value {
return self.Storage(addr.Bytes())
}
func (self *object) Storage(addr []byte) *ethutil.Value {
return self.StateObject.GetStorage(ethutil.BigD(addr))
}