forked from cerc-io/plugeth
Added/changed logging
This commit is contained in:
parent
34da3b4fa8
commit
7a410643ac
@ -143,6 +143,7 @@ func (self *StateObject) getStorage(k []byte) *ethutil.Value {
|
||||
|
||||
func (self *StateObject) setStorage(k []byte, value *ethutil.Value) {
|
||||
key := ethutil.LeftPadBytes(k, 32)
|
||||
//fmt.Printf("%x %v\n", key, value)
|
||||
self.storage[string(key)] = value.Copy()
|
||||
}
|
||||
|
||||
@ -158,9 +159,9 @@ func (self *StateObject) Sync() {
|
||||
|
||||
valid, t2 := ethtrie.ParanoiaCheck(self.state.trie)
|
||||
if !valid {
|
||||
self.state.trie = t2
|
||||
statelogger.Infof("Warn: PARANOIA: Different state storage root during copy %x vs %x\n", self.state.trie.Root, t2.Root)
|
||||
|
||||
statelogger.Infoln("Warn: PARANOIA: Different state storage root during copy")
|
||||
self.state.trie = t2
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -155,6 +155,15 @@ func (vm *Vm) RunClosure(closure *Closure) (ret []byte, err error) {
|
||||
// XXX Leave this Println intact. Don't change this to the log system.
|
||||
// Used for creating diffs between implementations
|
||||
if vm.logTy == LogTyDiff {
|
||||
switch op {
|
||||
case STOP, RETURN, SUICIDE:
|
||||
closure.object.Sync()
|
||||
closure.object.state.EachStorage(func(key string, value *ethutil.Value) {
|
||||
value.Decode()
|
||||
fmt.Printf("%x %x\n", new(big.Int).SetBytes([]byte(key)).Bytes(), value.Bytes())
|
||||
})
|
||||
}
|
||||
|
||||
b := pc.Bytes()
|
||||
if len(b) == 0 {
|
||||
b = []byte{0}
|
||||
@ -184,7 +193,6 @@ func (vm *Vm) RunClosure(closure *Closure) (ret []byte, err error) {
|
||||
var mult *big.Int
|
||||
y, x := stack.Peekn()
|
||||
val := closure.GetStorage(x)
|
||||
//if val.IsEmpty() && len(y.Bytes()) > 0 {
|
||||
if val.BigInt().Cmp(ethutil.Big0) == 0 && len(y.Bytes()) > 0 {
|
||||
mult = ethutil.Big2
|
||||
} else if !val.IsEmpty() && len(y.Bytes()) == 0 {
|
||||
|
Loading…
Reference in New Issue
Block a user