diff --git a/ethchain/state.go b/ethchain/state.go index 63c4a32a6..db715f1cb 100644 --- a/ethchain/state.go +++ b/ethchain/state.go @@ -61,9 +61,6 @@ func (s *State) GetStateObject(addr []byte) *StateObject { cachedStateObject := s.states[string(addr)] if cachedStateObject != nil { stateObject.state = cachedStateObject - } else { - // If it isn't cached, cache the state - s.states[string(addr)] = stateObject.state } return stateObject diff --git a/ethpub/types.go b/ethpub/types.go index 5d3bfcaaa..77cca78b9 100644 --- a/ethpub/types.go +++ b/ethpub/types.go @@ -104,6 +104,14 @@ func (c *PStateObject) Nonce() int { return 0 } +func (c *PStateObject) Root() string { + if c.object != nil { + return ethutil.Hex(ethutil.NewValue(c.object.State().Root()).Bytes()) + } + + return "" +} + func (c *PStateObject) IsContract() bool { if c.object != nil { return len(c.object.Script()) > 0