diff options
author | obscuren <geffobscura@gmail.com> | 2015-01-30 06:58:43 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2015-01-30 06:58:43 +0800 |
commit | 54927dc0e0b99009f92fbb7b28d71ae20179ce1e (patch) | |
tree | a486e2b72ad098162459e978534341d39c035a68 | |
parent | 705cf6113d5c7cc8cbbbc8201d3c6ea04ae5726b (diff) | |
download | go-tangerine-54927dc0e0b99009f92fbb7b28d71ae20179ce1e.tar.gz go-tangerine-54927dc0e0b99009f92fbb7b28d71ae20179ce1e.tar.zst go-tangerine-54927dc0e0b99009f92fbb7b28d71ae20179ce1e.zip |
Fixed issue with Storage()
* Storage() returned encoded values. They are now decode prior to hexing
* Removed old code from state object
* Updated coin
-rw-r--r-- | cmd/mist/assets/examples/coin.html | 3 | ||||
-rw-r--r-- | state/state_object.go | 29 | ||||
-rw-r--r-- | xeth/types.go | 7 |
3 files changed, 8 insertions, 31 deletions
diff --git a/cmd/mist/assets/examples/coin.html b/cmd/mist/assets/examples/coin.html index 93edfd6f6..572f6959d 100644 --- a/cmd/mist/assets/examples/coin.html +++ b/cmd/mist/assets/examples/coin.html @@ -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 diff --git a/state/state_object.go b/state/state_object.go index 913c57a31..340939a5d 100644 --- a/state/state_object.go +++ b/state/state_object.go @@ -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 { diff --git a/xeth/types.go b/xeth/types.go index bee730ba1..34caf5cbc 100644 --- a/xeth/types.go +++ b/xeth/types.go @@ -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 } |