From 76926f89048d4bfffb74fcfab6e94752b2d7b34a Mon Sep 17 00:00:00 2001 From: pedro martelletto Date: Thu, 12 Jan 2017 13:25:45 +0000 Subject: [PATCH] Roll in a dbFetchCBFIndexEntry() --- blockchain/indexers/cbfindex.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/blockchain/indexers/cbfindex.go b/blockchain/indexers/cbfindex.go index 41bb4513..967ca762 100644 --- a/blockchain/indexers/cbfindex.go +++ b/blockchain/indexers/cbfindex.go @@ -10,6 +10,7 @@ import ( "fmt" "github.com/btcsuite/btcd/blockchain" + "github.com/btcsuite/btcd/chaincfg/chainhash" "github.com/btcsuite/btcd/database" "github.com/btcsuite/btcutil" "github.com/btcsuite/btcutil/gcs" @@ -32,6 +33,18 @@ var ( errCBFEntry = errors.New("no entry in the block ID index") ) +func dbFetchCBFIndexEntry(dbTx database.Tx, blockHash *chainhash.Hash) ([]byte, + error) { + // Load the record from the database and return now if it doesn't exist. + index := dbTx.Metadata().Bucket(cbfIndexKey) + serializedFilter := index.Get(blockHash.CloneBytes()) + if len(serializedFilter) == 0 { + return nil, nil + } + + return serializedFilter, nil +} + // The serialized format for keys and values in the block hash to CBF bucket is: // = //