forked from EscanBE/evermint
/
mem_db.go
80 lines (61 loc) · 1.6 KB
/
mem_db.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
package types
import (
cdb "github.com/cometbft/cometbft-db"
// tdb "github.com/tendermint/tm-db"
)
var _ cdb.DB = (*MemDB)(nil)
// MemDB is a wrapper of Tendermint/CometBFT DB that is backward-compatible with CometBFT chains pre-rename package.
//
// (eg: replace github.com/tendermint/tendermint => github.com/cometbft/cometbft v0.34.29)
type MemDB struct {
cDb cdb.DB
// tmDb tdb.DB
}
//func WrapTendermintDB(tmDb tdb.DB) *MemDB {
// return &MemDB{tmDb: tmDb}
//}
func WrapCometBftDB(cDb cdb.DB) *MemDB {
return &MemDB{cDb: cDb}
}
func (w *MemDB) AsCometBFT() cdb.DB {
return w
}
//func (w *MemDB) AsTendermint() tdb.DB {
// return w.tmDb
//}
func (w *MemDB) Get(bytes []byte) ([]byte, error) {
return w.cDb.Get(bytes)
}
func (w *MemDB) Has(key []byte) (bool, error) {
return w.cDb.Has(key)
}
func (w *MemDB) Set(bytes []byte, bytes2 []byte) error {
return w.cDb.Set(bytes, bytes2)
}
func (w *MemDB) SetSync(bytes []byte, bytes2 []byte) error {
return w.cDb.SetSync(bytes, bytes2)
}
func (w *MemDB) Delete(bytes []byte) error {
return w.cDb.Delete(bytes)
}
func (w *MemDB) DeleteSync(bytes []byte) error {
return w.cDb.DeleteSync(bytes)
}
func (w *MemDB) Iterator(start, end []byte) (cdb.Iterator, error) {
return w.cDb.Iterator(start, end)
}
func (w *MemDB) ReverseIterator(start, end []byte) (cdb.Iterator, error) {
return w.cDb.ReverseIterator(start, end)
}
func (w *MemDB) Close() error {
return w.cDb.Close()
}
func (w *MemDB) NewBatch() cdb.Batch {
return w.cDb.NewBatch()
}
func (w *MemDB) Print() error {
return w.cDb.Print()
}
func (w *MemDB) Stats() map[string]string {
return w.cDb.Stats()
}