aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2015-01-30 06:58:43 +0800
committerobscuren <geffobscura@gmail.com>2015-01-30 06:58:43 +0800
commit54927dc0e0b99009f92fbb7b28d71ae20179ce1e (patch)
treea486e2b72ad098162459e978534341d39c035a68
parent705cf6113d5c7cc8cbbbc8201d3c6ea04ae5726b (diff)
downloadgo-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.html3
-rw-r--r--state/state_object.go29
-rw-r--r--xeth/types.go7
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
}