Conner Fromknecht
347cd3839f
btcec/signature_test: adds small pubkey recovery tests
2018-06-12 17:31:03 -07:00
Conner Fromknecht
bd1d6c9148
btcec/pubkey: verify decompressed y-coord is sqroot
2018-05-29 17:06:32 -07:00
Conner Fromknecht
bc09449045
glide: update btcutil deps
2018-05-23 20:51:14 -07:00
Olaoluwa Osuntokun
d52471044a
build: update glide to point to latest btcutil
2018-05-23 16:46:15 -07:00
Olaoluwa Osuntokun
4cb1c950e0
rpc: add help for new gcs commands
2018-05-23 16:46:15 -07:00
Olaoluwa Osuntokun
5596b63846
multi: fix linter warnings
2018-05-23 16:46:15 -07:00
Olaoluwa Osuntokun
2b7326ae52
blockchain/indexers: use latest API for cf indexing
2018-05-23 16:46:15 -07:00
Olaoluwa Osuntokun
f48bc43421
build: restore glide.lock
2018-05-23 16:46:15 -07:00
Olaoluwa Osuntokun
b72e16f0d6
multi: correct all import paths
2018-05-23 16:46:15 -07:00
Johan T. Halseth
3082ae92c3
rpcwebsocket: notify spends already in the mempool
...
This commit adds a logic to the addSpentRequests that inspects the
mempool for any spends of the outputs. Before this commit, a spend would
only be checked when a transaction was first accepted into the mempool.
2018-05-23 16:46:15 -07:00
Johan T. Halseth
c758834800
mempool_test: add TestCheckSpend
2018-05-23 16:46:15 -07:00
Johan T. Halseth
5394ca1afe
mempool: add CheckSpend method
...
This commit adds a new method CheckSpend to the mempool, which takes an
outpoint and returns any transaction in the mempool that spends this
outpoint.
2018-05-23 16:46:15 -07:00
Olaoluwa Osuntokun
ceb1caeb24
wire: increase MaxGetCFiltersReqRange from 100 to 1000
2018-05-23 16:46:15 -07:00
Jim Posen
7b67f61fa6
rpcclient: Put CFHeader in PrevFilterHeader field in RPC response.
2018-05-23 16:46:15 -07:00
Jim Posen
4d0e856ea1
server: Handler for getcfcheckpt messages.
2018-05-23 16:46:15 -07:00
Jim Posen
0581e18840
wire: Define CFCheckpt message.
2018-05-23 16:46:15 -07:00
Jim Posen
336b18c584
wire: Define GetCFCheckpt message.
2018-05-23 16:46:15 -07:00
Jim Posen
4c991c8783
wire: Populate cfheaders message with filter hashes instead of headers.
2018-05-23 16:46:15 -07:00
Jim Posen
175af18043
multi: Modify CFHeaders message to have a PrevFilterHeader field.
2018-05-23 16:46:15 -07:00
Jim Posen
7a53a05878
multi: Redefine GetCFHeaders to have StartHeight and StopHash.
2018-05-23 16:46:15 -07:00
Jim Posen
daac60675e
multi: Redefine GetCFilters to have StartHeight and StopHash.
2018-05-23 16:46:15 -07:00
Jim Posen
3425d33506
blockchain/indexers: Add methods on CfIndex for batch retrieval.
...
Fetching all items in one db transaction will save time when
responding to getcfilters or getcfheaders requests.
2018-05-23 16:46:15 -07:00
Jim Posen
e617483b44
blockchain/indexers: Store filter hashes with cfindex.
2018-05-23 16:46:15 -07:00
Jim Posen
d07fd2f333
blockchain/indexers: Reduce duplication in cfindex.
...
The index will hold three types of entries for each filter type, block
pair: filter, header, and hash. Since they all have similar methods
and implementations, refactor to reduce duplication.
2018-05-23 16:46:15 -07:00
Jim Posen
185577f4c2
blockchain: Implement IntervalBlockHashes method.
...
This will be used to respond to getcfcheckpt queries.
2018-05-23 16:46:15 -07:00
Jim Posen
07393c0dab
blockchain: HeightToHashRange function for pulling range of hashes.
...
This functionality is required to implement BIP 157.
2018-05-23 16:46:15 -07:00
Jim Posen
621f347929
wire: Remove cftypes and getcftypes commands.
2018-05-23 16:46:15 -07:00
Olaoluwa Osuntokun
34d82682b0
mempool: switch fee estimation to use vsize as a base
...
In this commit, we modify the fee estimation to use vsize as a base
rather than size. A recent commit landed to track the fee rate using
vsize in the mempool, and also correct some incorrect unit math. This is
a follow up to that commit to ensure that fee estimation is uniform
throughout.
2018-05-23 16:46:15 -07:00
Johan T. Halseth
56be349be3
mempool: use vsize when setting FeePerKB for mempool txs
2018-05-23 16:46:15 -07:00
Johan T. Halseth
b7930a11ab
mempool/estimatefee: make 1 Kb = 1000 bytes
...
This commit changes the value of bytesPerKb to 1000 from 1024.
This is done to ensure consistency between the fee estimator
and the mempool, where the feeRate is set to
fee * 1000 / serializedSize
2018-05-23 16:46:15 -07:00
Conner Fromknecht
b26daffac9
connmgr: adds cancellation of pending requests
...
This commit extends the work started by roasbeef in the
previous commit to bring full cancellation of pending
connection requests. It also adds minor refactors to
channel send/receives to help cleanup potentially
lingering go routines.
2018-05-23 16:46:15 -07:00
Olaoluwa Osuntokun
548c0f499b
connmgr: add ability to remove pending connections
...
This commit adds the ability for callers to remove pending connections
via a call to the Remove() method. With this change, upstream users of
this package can use the connmgr for more elaborate connectivity needs
as they can now cancel pending connections that are no longer needed.
2018-05-23 16:46:15 -07:00
Olaoluwa Osuntokun
ffe4c2f0ad
integration/rpctest: if unable to build btcd, use one in PATH
2018-05-23 16:46:15 -07:00
Olaoluwa Osuntokun
5291c455c2
server: properly set feeEstimator in newServer
2018-05-23 16:46:15 -07:00
Daniel Krawisz
47113d428c
It is now possible to save and restore the state of the FeeEstimator
...
and the server searches the database for a previous state to load
when the program is turned on.
2018-05-23 16:46:15 -07:00
Daniel Krawisz
4fd446028f
Enable estimatefee rpc command.
2018-05-23 16:46:15 -07:00
Daniel Krawisz
1333ad7f78
FeeEstimator added to server. Mempool alerts the fee estimator of
...
new txs that it observes. The block manager alerts the fee estimator
of new and orphaned blocks.
Check for invalid state and recreate FeeEstimator if necessary.
2018-05-23 16:46:15 -07:00
Daniel Krawisz
e6d8b869aa
feeEstimator changed to FeeEstimator. A number of optimizations and improvements.
...
Rollback takes a block hash rather than a BlockStamp.
Increase rounds in TestEstimateFeeRollback to test dropping txs that have been in the mempool too long.
2018-05-23 16:46:15 -07:00
Daniel Krawisz
4042921791
feeEstimator class added with tests. The feeEstimator can keep track
...
of how long it takes for unconfirmed txs to be mined into blocks. It
can also roll itself back in the case of an orphan block.
2018-05-23 16:46:15 -07:00
Olaoluwa Osuntokun
10432160d5
multi: rebase to upstream, update API's
2018-05-23 16:46:15 -07:00
Olaoluwa Osuntokun
6f32a79fd6
log: update to latest log rotator API
2018-05-23 16:46:15 -07:00
Alex
f4060b107c
blockchain/indexers: check for ErrNoData
in extended filters
...
Since the tx hash has moved to the basic filter, generating an extended filter
can result in `ErrNoData`. This is handled by writing a nil filter and giving
it a zero hash.
2018-05-23 16:46:15 -07:00
Alex
e0a357abb5
server: add TODO for querying supported filter types
2018-05-23 16:46:15 -07:00
Alex
c7e7acc7fd
multi: use hidden varint for cftypes count; make filter type enum, not uint8
2018-05-23 16:46:15 -07:00
Alex
8d2ce855eb
wire: update service bits for xthin, bit 5, cfilters, and segwit2x
2018-05-23 16:46:15 -07:00
Alex
5772bdde86
server: add OnGetCFTypes callback to serverPeer
2018-05-23 16:46:15 -07:00
Alex
2b7ebfd698
peer: add OnCFTypes and OnGetCFTypes callbacks
2018-05-23 16:46:15 -07:00
Alex
5c93ca639a
rpcclient: change "bool" to "uint8" for cfilter/cfheader type
2018-05-23 16:46:15 -07:00
Alex
5fb5acd643
btcjson: fix cfilter tests
2018-05-23 16:46:15 -07:00
Alex
1aa7a6166d
wire: update messages to conform to BIP and fix comments
2018-05-23 16:46:15 -07:00