github.com/karalabe/go-ethereum@v0.8.5/tests/helper/trie.go (about) 1 package helper 2 3 import "github.com/ethereum/go-ethereum/trie" 4 5 type MemDatabase struct { 6 db map[string][]byte 7 } 8 9 func NewMemDatabase() (*MemDatabase, error) { 10 db := &MemDatabase{db: make(map[string][]byte)} 11 return db, nil 12 } 13 func (db *MemDatabase) Put(key []byte, value []byte) { 14 db.db[string(key)] = value 15 } 16 func (db *MemDatabase) Get(key []byte) ([]byte, error) { 17 return db.db[string(key)], nil 18 } 19 func (db *MemDatabase) Delete(key []byte) error { 20 delete(db.db, string(key)) 21 return nil 22 } 23 func (db *MemDatabase) Print() {} 24 func (db *MemDatabase) Close() {} 25 func (db *MemDatabase) LastKnownTD() []byte { return nil } 26 27 func NewTrie() *trie.Trie { 28 db, _ := NewMemDatabase() 29 30 return trie.New(nil, db) 31 }