Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // ErrFilterNotFound is returned when a filter for a target block hash is // unable to be located. ErrFilterNotFound = fmt.Errorf("unable to find filter") )
Functions ¶
This section is empty.
Types ¶
type FilterDatabase ¶
type FilterDatabase interface { // PutFilter stores a filter with the given hash and type to persistent // storage. PutFilter(*chainhash.Hash, *gcs.Filter, FilterType) error // FetchFilter attempts to fetch a filter with the given hash and type // from persistent storage. In the case that a filter matching the // target block hash cannot be found, then ErrFilterNotFound is to be // returned. FetchFilter(*chainhash.Hash, FilterType) (*gcs.Filter, error) }
FilterDatabase is an interface which represents an object that is capable of storing and retiring filters according to their corresponding block hash and also their filter type.
TODO(roasbeef): similar interface for headerfs?
type FilterStore ¶
type FilterStore struct {
// contains filtered or unexported fields
}
FilterStore is an implementation of the FilterDatabase interface which is backed by boltdb.
func New ¶
New creates a new instance of the FilterStore given an already open database, and the target chain parameters.
func (*FilterStore) FetchFilter ¶
func (f *FilterStore) FetchFilter(blockHash *chainhash.Hash, filterType FilterType) (*gcs.Filter, error)
FetchFilter attempts to fetch a filter with the given hash and type from persistent storage.
NOTE: This method is a part of the FilterDatabase interface.
func (*FilterStore) PutFilter ¶
func (f *FilterStore) PutFilter(hash *chainhash.Hash, filter *gcs.Filter, fType FilterType) error
PutFilter stores a filter with the given hash and type to persistent storage.
NOTE: This method is a part of the FilterDatabase interface.
type FilterType ¶
type FilterType uint8
FilterType is a enum-like type that represents the various filter types currently defined.
const ( // RegularFilter is the filter type of regular filters which contain // outputs and pkScript data pushes. RegularFilter FilterType = iota // ExtendedFilter is the filter type of extended filters which contain // txids, and witness data. ExtendedFilter )