diff options
author | obscuren <geffobscura@gmail.com> | 2015-03-01 03:52:10 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2015-03-01 03:52:29 +0800 |
commit | ae45a39dc1cddac885090872cefc6799b4a4c1d9 (patch) | |
tree | 58a36925e67557d24743ccb5fd5072644996dc25 /trie/secure_trie.go | |
parent | 7ab13e0f17e9d1b783d93bd4952cc6d7cc77ea7f (diff) | |
download | go-tangerine-ae45a39dc1cddac885090872cefc6799b4a4c1d9.tar.gz go-tangerine-ae45a39dc1cddac885090872cefc6799b4a4c1d9.tar.zst go-tangerine-ae45a39dc1cddac885090872cefc6799b4a4c1d9.zip |
Secure trie
Diffstat (limited to 'trie/secure_trie.go')
-rw-r--r-- | trie/secure_trie.go | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/trie/secure_trie.go b/trie/secure_trie.go new file mode 100644 index 000000000..c6ef90351 --- /dev/null +++ b/trie/secure_trie.go @@ -0,0 +1,32 @@ +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)) +} |