Commit graph

2940 commits

Author SHA1 Message Date
Olaoluwa Osuntokun 9b9ef42f8a blockchain/indexers: proper handling of empty filters 2018-05-23 16:46:15 -07:00
Olaoluwa Osuntokun e0943a84bd blockchain/indexers: add a bit more line spacing to cfindex.go 2018-05-23 16:46:15 -07:00
Alex 1c5f25bbf2 blockchain/cfindex: Factor out filter/header calc. 2018-05-23 16:46:15 -07:00
Alex f11e87c957 rpcserver: Fix getcfilterheader RPC method's hex encoding for hash. 2018-05-23 16:46:15 -07:00
Alex 92f1de6dd9 Fix case where 0 headers are retrieved. 2018-05-23 16:46:15 -07:00
Alex dabb8000fb Add Extended flag to cfilter and cfheaders messages 2018-05-23 16:46:15 -07:00
Alex 936caad9c2 Add last blockhash to cfheaders and blockhash to cfilter messages 2018-05-23 16:46:15 -07:00
Alex ba4a2f77a5 wire/server: allocate hash once per loop to prevent overwriting 2018-05-23 16:46:15 -07:00
Alex 71ccc95502 wire: Fix MsgCFHeaders.Decode() 2018-05-23 16:46:15 -07:00
Alex 29b5ece196 Changed getcfheaders/cfheaders messages to get multiple headers. 2018-05-23 16:46:15 -07:00
Alex 860100019f blockchain: fix --dropcfindex 2018-05-23 16:46:15 -07:00
Alex 8ad7aa5d5d Rename CFilterHeader to CFHeader on P2P side; fix some bugs/tests 2018-05-23 16:46:15 -07:00
Alex ba7b5f3308 Use NBytes() instead of Bytes() in CFIndex 2018-05-23 16:46:15 -07:00
pedro martelletto 0c08ba2786 define MsgCFilterHeader.Deserialize(), required by btcrpcclient 2018-05-23 16:46:15 -07:00
pedro martelletto b5de49aa73 define MsgCFilter.Deserialize(), required by btcrpcclient 2018-05-23 16:46:15 -07:00
Alex 9780ef5997 Skip TxIn on coinbase transaction when indexing 2018-05-23 16:46:15 -07:00
pedro martelletto b8c3be740f Add CFilterHeader p2p counterparts 2018-05-23 16:46:15 -07:00
Alex 6102e129c5 Fixed a couple of bugs and added --dropcfindex option 2018-05-23 16:46:15 -07:00
pedro martelletto 763842329b Implement a GetCFilterHeader RPC command 2018-05-23 16:46:15 -07:00
pedro martelletto a5bf8941d5 Define FilterHeaderByBlockHash() 2018-05-23 16:46:15 -07:00
pedro martelletto e620538343 Generate and store filter headers 2018-05-23 16:46:15 -07:00
pedro martelletto b53c42f5dc Define dbFetch{Basic,Extended}Header() 2018-05-23 16:46:15 -07:00
pedro martelletto 7673859108 Create db buckets for committed filter hashes 2018-05-23 16:46:15 -07:00
pedro martelletto ddfaed7f6f Delete extended filters in DisconnectBlock() 2018-05-23 16:46:15 -07:00
pedro martelletto 0a841fefcf Generate and store extended filters in ConnectBlock() 2018-05-23 16:46:15 -07:00
pedro martelletto cdb3d44fa8 p2p needs a new message to return committed filters 2018-05-23 16:46:15 -07:00
pedro martelletto 71c421db66 Differentiate between basic/extended filters in p2p/RPC 2018-05-23 16:46:15 -07:00
pedro martelletto f703e18652 Populate filter #1 (extended) 2018-05-23 16:46:15 -07:00
pedro martelletto f16da156c9 Include data pushes from pkscripts 2018-05-23 16:46:15 -07:00
pedro martelletto 396d28955c better separation between filters; comments 2018-05-23 16:46:15 -07:00
pedro martelletto 57995fd111 Start preparing the ground for layer {0,1} filters 2018-05-23 16:46:15 -07:00
pedro martelletto 472141f88d Switch to new GCS builder interface 2018-05-23 16:46:15 -07:00
pedro martelletto 6d6677b797 zap errCFEntry 2018-05-23 16:46:15 -07:00
pedro martelletto 92c8ec4094 cbfindex.go -> cfindex.go 2018-05-23 16:46:15 -07:00
pedro martelletto 6e5f650be9 CBFilter -> CFilter, discussed with davec@ 2018-05-23 16:46:15 -07:00
pedro martelletto a77b1e00d5 FilterByBlockHash(), pointed out by davec@ 2018-05-23 16:46:15 -07:00
pedro martelletto 9f02951b0e CloneBytes() -> [:], pointed out by davec@ 2018-05-23 16:46:15 -07:00
pedro martelletto 8b8c7bcf05 Implement DisconnectBlock() for the CBF Indexer 2018-05-23 16:46:15 -07:00
pedro martelletto 618306116b Return filter in handleGetCBFilter() 2018-05-23 16:46:15 -07:00
pedro martelletto cd7857b883 GetCBFilter RPC returns a string, not a []byte 2018-05-23 16:46:15 -07:00
pedro martelletto f6dff40733 Instrument GetCBFilter RPC 2018-05-23 16:46:15 -07:00
pedro martelletto 76378e7167 Add a GetCBFilter RPC command 2018-05-23 16:46:15 -07:00
pedro martelletto 43bf8db793 Look up filters from p2p GetCBF message 2018-05-23 16:46:15 -07:00
pedro martelletto 76926f8904 Roll in a dbFetchCBFIndexEntry() 2018-05-23 16:46:15 -07:00
pedro martelletto 3b0038093a Hook CBF indexer to server code 2018-05-23 16:46:15 -07:00
pedro martelletto 9809f4ffdd Instrument basic logging 2018-05-23 16:46:15 -07:00
pedro martelletto cf74c8c3ca Abstract filter generation to a separate function 2018-05-23 16:46:15 -07:00
pedro martelletto 05d2fdeb11 Rename a variable in CBF's ConnectBlock() 2018-05-23 16:46:15 -07:00
pedro martelletto 620ad5b6fb Store filter in a db block index 2018-05-23 16:46:15 -07:00
pedro martelletto b2990e7999 Move filter generating code to CBF indexer 2018-05-23 16:46:15 -07:00