27 lines
818 B
Go
27 lines
818 B
Go
package storage
|
|
|
|
import (
|
|
"io"
|
|
|
|
corestore "cosmossdk.io/core/store"
|
|
"cosmossdk.io/store/v2"
|
|
)
|
|
|
|
// Database is an interface that wraps the storage database methods. A wrapper
|
|
// is useful for instances where you want to perform logic that is identical for all SS
|
|
// backends, such as restoring snapshots.
|
|
type Database interface {
|
|
NewBatch(version uint64) (store.Batch, error)
|
|
Has(storeKey []byte, version uint64, key []byte) (bool, error)
|
|
Get(storeKey []byte, version uint64, key []byte) ([]byte, error)
|
|
GetLatestVersion() (uint64, error)
|
|
SetLatestVersion(version uint64) error
|
|
|
|
Iterator(storeKey []byte, version uint64, start, end []byte) (corestore.Iterator, error)
|
|
ReverseIterator(storeKey []byte, version uint64, start, end []byte) (corestore.Iterator, error)
|
|
|
|
Prune(version uint64) error
|
|
|
|
io.Closer
|
|
}
|