Commit graph

2919 commits

Author SHA1 Message Date
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
pedro martelletto 95cbe2a911 Add the skeleton of a CBF indexer 2018-05-23 16:46:15 -07:00
pedro martelletto c8627cbee4 Use a harcoded key to generate filters
Pointed out by alex@. Using a dummy key for now.
2018-05-23 16:46:15 -07:00
pedro martelletto dc25da8296 Generate a filter for a given block 2018-05-23 16:46:15 -07:00
pedro martelletto e9298934b9 Add a stub GetCBFilter message.
Actual semantic and payload format yet to be defined.
2018-05-23 16:46:15 -07:00
pedro martelletto 333af136ef Create a knob to switch CBFs off.
While having them on by default. We may want to revisit this and
make no CBFs the default.
2018-05-23 16:46:15 -07:00
pedro martelletto d82e76cec9 Introduce a service flag for CBFs.
Add a service flag for CBFs in the wire protocol.
2018-05-23 16:46:15 -07:00
Olaoluwa Osuntokun 1432d294a5 build: update glide to point to latest btcutil
In this commit, we update the glide.lock file to be pinned against the
latest btcutil commit hash. btcutil has recently been updated to pull in
all changes from roasbeef's fork. Notably, it now includes the code
necessary for creating GCS filters (BIP 158).
2018-05-15 21:01:05 -07:00
Olaoluwa Osuntokun 4b968f7e18 btcec: remove obsolete test 2018-05-15 20:47:29 -07:00
Olaoluwa Osuntokun 2842f933bb server: fix linter error 2018-05-15 20:47:29 -07:00
Olaoluwa Osuntokun 04f0b5338a build: switch to stable version of gometalinter 2018-05-15 20:47:29 -07:00
Olaoluwa Osuntokun 253b37c17f btcec: format btcec_test.go with gofmt -s 2018-05-15 20:47:29 -07:00
Olaoluwa Osuntokun 7580169cb6 build: update build to use go 1.9.5 and 1.10.1 2018-05-15 20:47:29 -07:00
Vadym Popov 675abc5df3 chaincfg: change hrp prefix for regtest network 2018-04-17 20:01:12 -07:00
Dave Collins 2be2f12b35 rpcclient: Update for go1.10 breaking changes.
Go 1.10 made some changes such that json.Unmarshal can no longer
unmarshal into exported fields that are themselves embedded via an
uninitialized unexported pointer.

Since rpcclient previously relied on this behavior, this updates the
client to create the pointers before unmarshalling into the struct.
2018-02-19 18:56:35 -06:00
Josh Rickmar 1cd648d784 Require atomic swap contracts to specify the secret size.
This allows redeeming parties to audit the secret size and ensure it
will be usable once revealed.
2018-02-16 16:18:43 -05:00
Kai 9866016012 Fix sub packages links 2018-02-13 13:36:48 -06:00
benma 99a26bf7e0 wire: typo in BlockHeader PrevBlock comment 2018-02-13 13:04:12 -06:00
Jim Posen 0ef0d8c59b blockchain: Initialize database with genesis block.
This fixes a bug introduced by #1066.
2018-02-09 11:34:30 -05:00
Alex Manuskin 50de9da05b blockchain: Fix typo in example_test.go. 2018-01-31 02:40:46 -06:00
Jim Posen 9aa9e79ebf blockchain: Enhance migration to v2 block index bucket.
This updates the block index migration to also store entries with
valid status bytes.
2018-01-28 23:34:56 -06:00
Jim Posen 52cddc19cd blockchain: Persist block status changes to disk.
The block index now tracks the set of dirty block nodes with status
changes that haven't been persisted and flushes the changes to the DB
at the appropriate times.
2018-01-28 23:34:56 -06:00