good morning!!!!

Skip to content
Snippets Groups Projects
Commit ae45a39d authored by Jeffrey Wilcke's avatar Jeffrey Wilcke
Browse files

Secure trie

parent 7ab13e0f
Branches
Tags
No related merge requests found
...@@ -65,7 +65,6 @@ func main() { ...@@ -65,7 +65,6 @@ func main() {
statedb := state.New(nil, db) statedb := state.New(nil, db)
sender := statedb.NewStateObject([]byte("sender")) sender := statedb.NewStateObject([]byte("sender"))
receiver := statedb.NewStateObject([]byte("receiver")) receiver := statedb.NewStateObject([]byte("receiver"))
//receiver.SetCode([]byte(*code))
receiver.SetCode(ethutil.Hex2Bytes(*code)) receiver.SetCode(ethutil.Hex2Bytes(*code))
vmenv := NewEnv(statedb, []byte("evmuser"), ethutil.Big(*value)) vmenv := NewEnv(statedb, []byte("evmuser"), ethutil.Big(*value))
......
...@@ -61,10 +61,10 @@ func (self *Execution) exec(code, contextAddr []byte, caller vm.ContextRef) (ret ...@@ -61,10 +61,10 @@ func (self *Execution) exec(code, contextAddr []byte, caller vm.ContextRef) (ret
snapshot := env.State().Copy() snapshot := env.State().Copy()
start := time.Now() start := time.Now()
ret, err = evm.Run(to, caller, code, self.value, self.Gas, self.price, self.input) ret, err = evm.Run(to, caller, code, self.value, self.Gas, self.price, self.input)
chainlogger.Debugf("vm took %v\n", time.Since(start))
if err != nil { if err != nil {
env.State().Set(snapshot) env.State().Set(snapshot)
} }
chainlogger.Debugf("vm took %v\n", time.Since(start))
return return
} }
......
package trie
import "github.com/ethereum/go-ethereum/crypto"
type SecureTrie struct {
*Trie
}
func NewSecure(root []byte, backend Backend) *SecureTrie {
return &SecureTrie{New(root, backend)}
}
func (self *SecureTrie) Update(key, value []byte) Node {
return self.Trie.Update(crypto.Sha3(key), value)
}
func (self *SecureTrie) UpdateString(key, value string) Node {
return self.Update([]byte(key), []byte(value))
}
func (self *SecureTrie) Get(key []byte) []byte {
return self.Trie.Get(crypto.Sha3(key))
}
func (self *SecureTrie) GetString(key string) []byte {
return self.Get([]byte(key))
}
func (self *SecureTrie) Delete(key []byte) Node {
return self.Trie.Delete(crypto.Sha3(key))
}
func (self *SecureTrie) DeletString(key string) Node {
return self.Delete([]byte(key))
}
...@@ -274,7 +274,6 @@ func TestLargeData(t *testing.T) { ...@@ -274,7 +274,6 @@ func TestLargeData(t *testing.T) {
trie.Update(value2.k, value2.v) trie.Update(value2.k, value2.v)
vals[string(value.k)] = value vals[string(value.k)] = value
vals[string(value2.k)] = value2 vals[string(value2.k)] = value2
fmt.Println(value, "\n", value2)
} }
it := trie.Iterator() it := trie.Iterator()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment