Fixed issue with Storage()

* Storage() returned encoded values. They are now decode prior to hexing
* Removed old code from state object
* Updated coin
pull/272/merge
obscuren 10 years ago
parent 705cf6113d
commit 54927dc0e0
  1. 3
      cmd/mist/assets/examples/coin.html
  2. 29
      state/state_object.go
  3. 7
      xeth/types.go

@ -65,9 +65,10 @@
}
var contract = web3.eth.contract(address, desc);
document.querySelector("#balance").innerHTML = contract.call().balance(eth.coinbase);
function reflesh() {
document.querySelector("#balance").innerHTML = contract.call().balance(eth.coinbase);
var table = document.querySelector("#table");
table.innerHTML = ""; // clear

@ -121,26 +121,6 @@ func (self *StateObject) SetState(k []byte, value *ethutil.Value) {
self.storage[string(key)] = value.Copy()
}
/*
// Iterate over each storage address and yield callback
func (self *StateObject) EachStorage(cb trie.EachCallback) {
// First loop over the uncommit/cached values in storage
for key, value := range self.storage {
// XXX Most iterators Fns as it stands require encoded values
encoded := ethutil.NewValue(value.Encode())
cb(key, encoded)
}
it := self.State.Trie.NewIterator()
it.Each(func(key string, value *ethutil.Value) {
// If it's cached don't call the callback.
if self.storage[key] == nil {
cb(key, value)
}
})
}
*/
func (self *StateObject) Sync() {
for key, value := range self.storage {
if value.Len() == 0 {
@ -150,15 +130,6 @@ func (self *StateObject) Sync() {
self.setAddr([]byte(key), value)
}
/*
valid, t2 := trie.ParanoiaCheck(self.State.trie, ethutil.Config.Db)
if !valid {
statelogger.Infof("Warn: PARANOIA: Different state storage root during copy %x vs %x\n", self.State.Root(), t2.Root())
self.State.trie = t2
}
*/
}
func (c *StateObject) GetInstr(pc *big.Int) *ethutil.Value {

@ -1,6 +1,7 @@
package xeth
import (
"bytes"
"fmt"
"strings"
@ -9,6 +10,7 @@ import (
"github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/ethutil"
"github.com/ethereum/go-ethereum/p2p"
"github.com/ethereum/go-ethereum/rlp"
"github.com/ethereum/go-ethereum/state"
)
@ -54,8 +56,11 @@ func (self *Object) Storage() (storage map[string]string) {
it := self.StateObject.Trie().Iterator()
for it.Next() {
storage[toHex(it.Key)] = toHex(it.Value)
var data []byte
rlp.Decode(bytes.NewReader(it.Value), &data)
storage[toHex(it.Key)] = toHex(data)
}
self.StateObject.Trie().PrintRoot()
return
}

Loading…
Cancel
Save