github.com/jonasnick/go-ethereum@v0.7.12-0.20150216215225-22176f05d387/trie/hashnode.go (about) 1 package trie 2 3 import "github.com/jonasnick/go-ethereum/ethutil" 4 5 type HashNode struct { 6 key []byte 7 trie *Trie 8 } 9 10 func NewHash(key []byte, trie *Trie) *HashNode { 11 return &HashNode{key, trie} 12 } 13 14 func (self *HashNode) RlpData() interface{} { 15 return self.key 16 } 17 18 func (self *HashNode) Hash() interface{} { 19 return self.key 20 } 21 22 // These methods will never be called but we have to satisfy Node interface 23 func (self *HashNode) Value() Node { return nil } 24 func (self *HashNode) Dirty() bool { return true } 25 func (self *HashNode) Copy(t *Trie) Node { return NewHash(ethutil.CopyBytes(self.key), t) }