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  }