| 
									
										
										
										
											2015-02-28 20:52:10 +01:00
										 |  |  | 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)) | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2015-03-03 12:15:58 +01:00
										 |  |  | func (self *SecureTrie) DeleteString(key string) Node { | 
					
						
							| 
									
										
										
										
											2015-02-28 20:52:10 +01:00
										 |  |  | 	return self.Delete([]byte(key)) | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2015-03-03 12:25:44 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | func (self *SecureTrie) Copy() *SecureTrie { | 
					
						
							|  |  |  | 	return &SecureTrie{self.Trie.Copy()} | 
					
						
							|  |  |  | } |