erigon-pulse/tests/helper/trie.go

32 lines
736 B
Go
Raw Normal View History

2014-10-14 22:41:00 +00:00
package helper
2014-12-30 14:58:40 +00:00
import "github.com/ethereum/go-ethereum/ptrie"
2014-10-14 22:41:00 +00:00
type MemDatabase struct {
db map[string][]byte
}
func NewMemDatabase() (*MemDatabase, error) {
db := &MemDatabase{db: make(map[string][]byte)}
return db, nil
}
func (db *MemDatabase) Put(key []byte, value []byte) {
db.db[string(key)] = value
}
func (db *MemDatabase) Get(key []byte) ([]byte, error) {
return db.db[string(key)], nil
}
func (db *MemDatabase) Delete(key []byte) error {
delete(db.db, string(key))
return nil
}
func (db *MemDatabase) Print() {}
func (db *MemDatabase) Close() {}
func (db *MemDatabase) LastKnownTD() []byte { return nil }
2014-12-30 14:58:40 +00:00
func NewTrie() *ptrie.Trie {
2014-10-14 22:41:00 +00:00
db, _ := NewMemDatabase()
2014-12-30 14:58:40 +00:00
return ptrie.New(nil, db)
2014-10-14 22:41:00 +00:00
}