filterdb

package
v1.9.19 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 11, 2021 License: Unlicense, MIT Imports: 7 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
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 retrieving 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

func New(db walletdb.DB, params netparams.Params) (*FilterStore, error)

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,
) (e 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
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL