Commit graph

20267 commits

Author SHA1 Message Date
James O'Beirne
188ca75e5f disable HAVE_THREAD_LOCAL on unreliable platforms
Note that this doesn't affect anything unless
DEBUG_LOCKCONTENTION is defined.

See discussions here:

- https://github.com/bitcoin/bitcoin/pull/11722#pullrequestreview-79322658
- https://github.com/bitcoin/bitcoin/pull/13168#issuecomment-387181155
2019-04-26 13:46:07 -04:00
MarcoFalke
d76b72a454
Merge #15267: doc: explain AcceptToMemoryPoolWorker's coins_to_uncache
5d26205272 doc: explain AcceptToMemoryPoolWorker's coins_to_uncache (James O'Beirne)

Pull request description:

  I found ATMPW's `coins_to_uncache` a little hard to understand (see #15264). This adds some doc for posterity.

ACKs for commit 5d2620:
  jnewbery:
    ACK 5d26205272

Tree-SHA512: 088508fa78012fab8680663c4e30f5cee29768416c2ca8b8b2abc29b6ac7067c5a589674f0254474a7ccc95477889d41719760f5796792bf492f51b3dd499c6c
2019-04-26 13:09:30 -04:00
MarcoFalke
faebd8ca11
appveyor: Write @PACKAGE_NAME@ to config 2019-04-26 13:07:11 -04:00
MarcoFalke
b1e013e4fa
Merge #13788: Fix --disable-asm for newer assembly checks/code
4207c1b35c configure: Initialise assembly enable_* variables (Luke Dashjr)
afe0875577 configure: Skip assembly support checks, when assembly is disabled (Luke Dashjr)
d8ab8dc12d configure: Invert --enable-asm help string since default is now enabled (Luke Dashjr)

Pull request description:

  Fixes #13759

  Also inverts the help (so it shows `--disable-asm` like other enabled-by-default options, and initialises the flag variables.

ACKs for commit 4207c1:
  laanwj:
    makes sense, utACK 4207c1b35c
  achow101:
    utACK 4207c1b35c
  ken2812221:
    ACK 4207c1b35c
  practicalswift:
    tACK 4207c1b35c

Tree-SHA512: a30be1008fd8f019db34073f78e90a3c4ad3767d88d7c20ebb83e99c7abc23552f7da3ac8bd20f727405799aff1ecb6044cf869653f8db70478a074d0b877e0a
2019-04-26 12:44:38 -04:00
James O'Beirne
5d26205272 doc: explain AcceptToMemoryPoolWorker's coins_to_uncache 2019-04-26 10:01:45 -04:00
MarcoFalke
5046d4e911
Merge #15896: QA: feature_filelock, interface_bitcoin_cli: Use PACKAGE_NAME in messages rather than hardcoding Bitcoin Core
fcc443b636 QA: feature_filelock, interface_bitcoin_cli: Use PACKAGE_NAME in messages rather than hardcoding Bitcoin Core (Luke Dashjr)

Pull request description:

ACKs for commit fcc443:
  practicalswift:
    utACK fcc443b636

Tree-SHA512: f87cfea3cb2ac716a5c9a507141dcba18cb0e3cbe17a4114ed11fa283c3d38551cc245ef68f8816c51538d492991e71019d20a9ca4acd22af4f99e631c04d33e
2019-04-26 08:16:38 -04:00
MarcoFalke
f73a3c618b
Merge #15895: QA: Avoid re-reading config.ini unnecessarily
a014373d81 QA: Avoid re-reading config.ini unnecessarily (Luke Dashjr)

Pull request description:

  BitcoinTestFramework.main already loads and stores config.ini on the object itself; just access that instead of re-reading the file to check for features

ACKs for commit a01437:
  practicalswift:
    utACK a014373d81
  hebasto:
    utACK a014373d81

Tree-SHA512: 36e3dda36cf4fae243feb1655da2891d1b78c86319be9bd9809c20054fa0cb75749370b05aa9d589a4dcab6322d8cdf4e874c5175144ed23ba63b2ed338538ca
2019-04-26 07:49:43 -04:00
MarcoFalke
653b2b4426
Merge #15893: Add test for superfluous witness record in deserialization
cc556e4a30 Add test for superfluous witness record in deserialization (Gregory Sanders)
25b0786581 Fix missing input template by making minimal tx (Gregory Sanders)

Pull request description:

  Adds coverage for changed behavior in https://github.com/bitcoin/bitcoin/pull/14039

ACKs for commit cc556e:
  MarcoFalke:
    utACK cc556e4a30

Tree-SHA512: 3404c8f75e87503983fac5ae27d877309eb3b902f2ec993762911c71610ca449bef0ed98bd17e029414828025b2713e1bd012e63b2a06497e34f1056acaa6321
2019-04-26 07:27:18 -04:00
Gregory Sanders
cc556e4a30 Add test for superfluous witness record in deserialization 2019-04-25 21:01:09 -04:00
Gregory Sanders
25b0786581 Fix missing input template by making minimal tx 2019-04-25 21:01:09 -04:00
Luke Dashjr
9f9db39041 QA/mininode: Send all headers upfront in send_blocks_and_test to avoid sending an unconnected one 2019-04-25 20:47:07 +00:00
Luke Dashjr
fcc443b636 QA: feature_filelock, interface_bitcoin_cli: Use PACKAGE_NAME in messages rather than hardcoding Bitcoin Core 2019-04-25 20:43:04 +00:00
Luke Dashjr
a014373d81 QA: Avoid re-reading config.ini unnecessarily
BitcoinTestFramework.main already loads and stores config.ini on the object itself; just access that instead of re-reading the file to check for features
2019-04-25 20:41:17 +00:00
MarcoFalke
c65c77c721
Merge #14039: Disallow extended encoding for non-witness transactions
bb530efa18 Disallow extended encoding for non-witness transactions (Pieter Wuille)

Pull request description:

  BIP144 specifies that transactions without witness should use the legacy encoding, which is currently not enforced.

  This rule was present in the original SegWit implementation (https://github.com/bitcoin/bitcoin/pull/8149), but was subsequently dropped (https://github.com/bitcoin/bitcoin/pull/8589).

  As all hashes, txids, and weights are always computed over a reserialized version of a transaction, it is mostly harmless to permit extended encoding for non-segwit transactions, but I'd rather strictly follow the BIP.

ACKs for commit bb530e:
  instagibbs:
    utACK bb530efa18
  stevenroose:
    utACK bb530efa18

Tree-SHA512: 1aeccd6a555f43784fefb076ce2e8ad2f5ba7be49840544a50050d0390f82373f87201bf56cf8bb30841b4f9cd893b382261a080da875d4e11ab7051f8640dbe
2019-04-25 14:15:43 -04:00
MarcoFalke
8cca1fbea9
Merge #14818: Bugfix: test/functional/rpc_psbt: Remove check for specific error message that depends on uncertain assumptions
c87fc71f7e Bugfix: test/functional/rpc_psbt: Correct test description comment (Luke Dashjr)
097c4aa379 Bugfix: test/functional/rpc_psbt: Remove check for specific error message that depends on uncertain assumptions (Luke Dashjr)

Pull request description:

  When converttopsbt is called with a signed transaction, it either fails with "TX decode failed" if one or more inputs were segwit, or "Inputs must not have scriptSigs and scriptWitnesses" otherwise.
  Since no effort is made by the test to ensure the inputs are segwit or not, avoid checking the exact message used.
  The error code is still checked to ensure it is of the correct kind of failure.

ACKs for commit c87fc7:
  instagibbs:
    utACK  c87fc71f7e
  achow101:
    utACK c87fc71f7e

Tree-SHA512: 61312b5d49aa50652902f30ba9693dfba9e5b7e6478f23becda20202d8b328ddb3e040f2199b617a68df133a5f1f8b5d68bc19d4621303f17c1963dca01bd9ef
2019-04-25 11:24:14 -04:00
Hennadii Stepanov
201393f932
Align code example with clang-format 2019-04-25 00:10:06 +03:00
keepkeyjon
64491cb376
doc: Fix -dustrelayfee= argument docs grammar 2019-04-23 14:07:06 -06:00
Antoine Riard
422677963a refactor: replace isPotentialtip/waitForNotifications by higher method
Add GUARDED_BY(cs_wallet) annotation to m_last_block_processed, given
that its now guarded by cs_wallet instead of cs_main
2019-04-23 13:53:46 -04:00
MarcoFalke
40a720acb8
Merge #15697: qa: Make swap_magic_bytes in p2p_invalid_messages atomic
faca95effd qa: Make swap_magic_bytes in p2p_invalid_messages atomic (MarcoFalke)

Pull request description:

  Otherwise, this will lead to errors logged in the network thread:

  https://travis-ci.org/MarcoFalke/bitcoin/jobs/513076282#L2765

ACKs for commit faca95:

Tree-SHA512: 8bc8280f9c0e8d40bc68c0ff1cab1c3386cbfef0728dbab5f29c2606dd65a9ac3c695b0c286be707a9f2bd62a6f87ac2032d7749fc2cf8b9fa1eba3c4cf70933
2019-04-23 13:12:54 -04:00
MarcoFalke
4bd7187da8
Merge #15699: Remove no-op CClientUIInterface::[signal_name]_disconnect. Disconnect BlockNotifyGenesisWait and RPCNotifyBlockChange properly.
6dd469a3be Disconnect BlockNotifyGenesisWait and RPCNotifyBlockChange properly. Remove no-op CClientUIInterface::[signal_name]_disconnect. (practicalswift)

Pull request description:

  Resolves #15698.

  Changes:
  * Remove no-op `CClientUIInterface::[signal_name]_disconnect`.
  * Disconnect `BlockNotifyGenesisWait` and `RPCNotifyBlockChange` properly.

ACKs for commit 6dd469:
  MarcoFalke:
    utACK 6dd469a3be

Tree-SHA512: 0b50d658fa72261332bc57ddea379fd08f4bc1de392c10c628e20142d6fd244b606c39fd0665d6bc39324c1aa8c8814ac942b4659106279e33b90206aaf37411
2019-04-23 13:03:41 -04:00
Jonas Schnelli
e9e777e21b
Merge #15874: Resolve the qt/guiutil <-> qt/optionsmodel CD
fa1c8e297 Resolve the qt/guiutil <-> qt/optionsmodal CD (251)

Pull request description:

  This pull request attempts to resolve the `qt/guiutil` <-> `qt/optionsmodel` circular dependency.

  The `Intro` class in `qt/intro` has a static member function `getDefaultDataDirectory` which is used by `qt/optionsmodel` and creates the circular dependency
  `qt/guiutil -> qt/walletmodel -> qt/optionsmodel -> qt/intro -> qt/guiutil`.

  This circular dependency is resolved by moving `Intro::getDefaultDataDirectory` to `GUIUtil::getDefaultDataDirectory` without modifying the implementation.

ACKs for commit fa1c8e:
  MarcoFalke:
    utACK fa1c8e2978
  promag:
    utACK fa1c8e2.
  hebasto:
    utACK fa1c8e2978
  practicalswift:
    utACK fa1c8e2978
  jonasschnelli:
    utACK fa1c8e2978

Tree-SHA512: 58cc4aee937c943d8de9dc97ef1789decfddb0287308f44e7e3a3b497c19e51da184988e17207544fff410168ec98dd49a3e62c47e84ad1f0cf6ef7247a80fb5
2019-04-23 18:11:01 +02:00
MarcoFalke
cd14d210c4
Merge #15463: rpc: Speedup getaddressesbylabel
710a7136f9 rpc: Speedup getaddressesbylabel (João Barbosa)

Pull request description:

  Fixes #15447. Same approach of #14984, this change avoids duplicate key check when building the JSON response in memory.

ACKs for commit 710a71:
  MarcoFalke:
    utACK 710a7136f9
  ryanofsky:
    utACK 710a7136f9. Just new comments and assert since last review.

Tree-SHA512: 77c95df9ff3793e348619aa070e6fd36df9da1b461d708ab146652cb3699f1a472ef6eb38dafdb8374375cbc97daef07635fcb0501961f167a023309513742e2
2019-04-23 10:59:41 -04:00
Wladimir J. van der Laan
2d5419feed
Merge #15780: wallet: add cachable amounts for caching credit/debit values
c9e6e7ed7 wallet: add cachable amounts for caching credit/debit values (Karl-Johan Alm)

Pull request description:

  This is a refactoring that will make #13756 a lot cleaner and straight-forward, since it adds another combination to the pile (watch-only * spendable * reused).

  It's also a nice change in general.

Tree-SHA512: 6c876d58bbffd5cb85ef632dea4fd6afed163904bbde5efdb307fa119af178ed3cb5df047255da7e9a9136fed876922f1116fce61a3710f308c72275f9b7d18b
2019-04-23 16:43:10 +02:00
MarcoFalke
caceff5546
Merge #15866: test: Add missing syncwithvalidationinterfacequeue to wallet_import_rescan
fa465e4da4 test: Add missing syncwithvalidationinterfacequeue to wallet_import_rescan (MarcoFalke)

Pull request description:

  Fixes #15865

ACKs for commit fa465e:
  promag:
    utACK fa465e4da4.

Tree-SHA512: efc1d82b92aefb1f0e6c54ed0a2d69c547cd9dee7ff8d57a665022fefce01bcf726d394f0665abe4fbd3451abf3cb08eed6ff45def831857f917a988e13a1055
2019-04-23 09:43:15 -04:00
251
fa1c8e2978 Resolve the qt/guiutil <-> qt/optionsmodal CD
This pull request attempts to resolve the `qt/guiutil` <-> `qt/optionsmodel`
circular dependency.

The circular dependency is resolved by moving the `Intro::getDefaultDataDirectory`
member function to `GUIUtil::getDefaultDataDirectory`.
2019-04-23 13:26:06 +02:00
Karl-Johan Alm
c9e6e7ed79
wallet: add cachable amounts for caching credit/debit values 2019-04-23 08:18:58 +09:00
MarcoFalke
fa465e4da4
test: Add missing syncwithvalidationinterfacequeue to wallet_import_rescan 2019-04-22 09:01:19 -04:00
Russell Yanofsky
151f3e9cf1 Add settings merge test to prevent regresssions 2019-04-22 08:10:05 -04:00
MarcoFalke
08bd21a3bd
Merge #15826: Pure python EC
b67978529a Add comments to Python ECDSA implementation (John Newbery)
8c7b9324ca Pure python EC (Pieter Wuille)

Pull request description:

  This removes the dependency on OpenSSL for the interaction tests, by providing a pure-Python
  toy implementation of secp256k1.

ACKs for commit b67978:
  jnewbery:
    utACK b67978529a

Tree-SHA512: 181445eb08b316c46937b80dc10aa50d103ab1fdddaf834896c0ea22204889f7b13fd33cbcbd00ddba15f7e4686fe0d9f8e8bb4c0ad0e9587490c90be83966dc
2019-04-22 08:10:05 -04:00
João Barbosa
710a7136f9 rpc: Speedup getaddressesbylabel 2019-04-22 10:00:07 +01:00
Antoine Riard
edfe9438ca Add WITH_LOCK macro: run code while locking a mutex
Results from ryanofksy suggestion on isPotentialTip/
waitForNotifications refactoring
2019-04-20 08:13:34 -04:00
MarcoFalke
56376f3365
Merge #15670: refactor: combine Chain::findFirstBlockWithTime/findFirstBlockWithTimeAndHeight
765c0b364d refactor: combine Chain::findFirstBlockWithTime/findFirstBlockWithTimeAndHeight (Antoine Riard)

Pull request description:

  As suggested in #14711, pass height to CChain::FindEarliestAtLeast to
  simplify Chain interface by combining findFirstBlockWithTime and
  findFirstBlockWithTimeAndHeight into one

ACKs for commit 765c0b:
  jnewbery:
    utACK 765c0b364d. Nice work @ariard!
  ryanofsky:
    utACK 765c0b364d. Looks good, thanks for implementing the suggestion!

Tree-SHA512: 63f98252a93da95f08c0b6325ea98f717aa9ae4036d17eaa6edbec68e5ddd65672d66a6af267b80c36311fffa9b415a47308e95ea7718b300b685e23d4e9e6ec
2019-04-19 12:03:12 -04:00
MarcoFalke
b6a5583c4f
Merge #15853: wallet: Remove unused import checkpoints.h
fadf7d1390 wallet: Remove unused import checkpoints.h (MarcoFalke)

Pull request description:

  Yet another silent merge conflict. This one was caused by unsorted includes.

ACKs for commit fadf7d:

Tree-SHA512: b5bcbddfa0c443bd179cd239cb1d9942d904303d59ca72f97bcac8711f8d9cbdf96821c7fd33ed6c0f4ec9ec1ad72af176ffae11c5f19db861a0486022e321a5
2019-04-19 10:20:16 -04:00
MarcoFalke
fadf7d1390
wallet: Remove unused import checkpoints.h 2019-04-19 09:50:23 -04:00
MarcoFalke
ae2c19f578
Merge #15655: Resolve the checkpoints <-> validation circular dependency
418d3230f8 Resolve the checkpoints <-> validation CD. (251)

Pull request description:

  This pull request attempts to resolve the `checkpoints -> validation -> checkpoints` circular dependency.

  The circular dependency is resolved by moving the `CheckPoints::GetLastCheckpoint(const CCheckpointData& data)` function to `validation.cpp` where it used exclusively by the private function `ContextualCheckBlockHeader(const CBlockHeader& block, CValidationState& state, const CChainParams& params, const CBlockIndex* pindexPrev, int64_t nAdjustedTime)`.

ACKs for commit 418d32:
  promag:
    utACK 418d323, only `GetLastCheckpoint` usage is in `validation.cpp` and so makes sense to move it there.
  practicalswift:
    utACK 418d3230f8
  MarcoFalke:
    utACK 418d3230f8
  sipa:
    utACK 418d3230f8

Tree-SHA512: 03c3556bc192e65f5e3fa76fd545d4ee7d63d3fb06b132f7a1fa6131aa21ddd2e5b2d19e2222dfe524f422daaca30efde219bed188db8c74ff4b088876b5bc16
2019-04-19 09:34:01 -04:00
John Newbery
b67978529a Add comments to Python ECDSA implementation 2019-04-18 13:23:26 -07:00
MarcoFalke
d1c2ed8dd7
Merge #15821: doc: Remove upgrade note in release notes from EOL versions
fa346fe883 doc: Remove upgrade note in release notes from EOL versions (MarcoFalke)

Pull request description:

  Remove the bloat on how to upgrade from version that are EOL

ACKs for commit fa346f:
  fanquake:
    re-utACK fa346fe

Tree-SHA512: 201e8594ef13523a04c7546995462d15d19bb80dbbca8d5cbf439cfd04af290ffd44f00a2e52ca1b88f1f17bf8bb09e9c4384cf1183d744d5301633e9b9507c0
2019-04-18 16:09:15 -04:00
Pieter Wuille
c634b1e207 [POLICY] Make sending to future native witness outputs standard 2019-04-18 12:46:07 -07:00
Pieter Wuille
8c7b9324ca Pure python EC
This removes the dependency on OpenSSL for the interaction tests, by providing a pure-Python
toy implementation of secp256k1.
2019-04-18 11:58:32 -07:00
Wladimir J. van der Laan
2d4f70cabd
Merge #15838: scripts and tools: Fetch missing review comments in github-merge.py
942ff2054b contrib: gh-merge: Use pagination to fetch all review comments (nkostoulas)

Pull request description:

  Use GitHub API pagination to do multiple requests if required.

  Tested with some PRs that have a large number of comments.

  For issue #15816

ACKs for commit 942ff2:
  MarcoFalke:
    utACK 942ff2054b
  laanwj:
    utACK 942ff2054b

Tree-SHA512: cf0dcdc40212a7c5cfcd1afe873e068399bc6499fd2e32207c5516595c93e5cb478178b04185ce21c3de0312621e05fda268411e59864d51046fb7a049989f42
2019-04-18 19:54:32 +02:00
Wladimir J. van der Laan
84adc79e10
Merge #15829: qt: update request payment button text and tab description
81b2830b15 qt: update request payment button text and tab description (Tobias Kaderle)

Pull request description:

  Rebased and squashed version of #14484.

  ![create new address](https://user-images.githubusercontent.com/863730/56212202-1f665980-608c-11e9-80d8-87a6211a9def.png)

  ![addresses dialog](https://user-images.githubusercontent.com/863730/56212205-22614a00-608c-11e9-83e4-efe531ea6070.png)

ACKs for commit 81b283:
  MarcoFalke:
    utACK 81b2830b15
  jonasschnelli:
    utACK 81b2830b15
  meshcollider:
    utACK 81b2830b15

Tree-SHA512: 96c6dc1f08560066110ec916b0a8879265db46174a5c5993332509b6bceb93ed6a8e06e3e8bd382e35aacc1c4d4a2458ec1d065213060db34ded4f0b2683964a
2019-04-18 19:48:11 +02:00
Wladimir J. van der Laan
6ce77a3668
Merge #15833: [doc] remove out-of-date comment on pay-to-witness support
2d8ba4f867 remove out-of-date comment on pay-to-witness support (r8921039)

Pull request description:

  The comment below on function 'ExtractDestinations' was added 2017-08-15 while the support was added later on 2017-08-25 through function 'ExtractDestination'.

  ```
  Currently does not extract address from pay-to-witness scripts
  ```

ACKs for commit 2d8ba4:

Tree-SHA512: ce8eb9660c56a8998cc94c8cbc5d47f875045b4aa558f2325cb125ec77794a100f7b73ead12a48a7630aa80483237bb67eb8ee6b0f9a527275ed546718b7a0e1
2019-04-18 19:45:45 +02:00
Wladimir J. van der Laan
f5aaeae0cd
Merge #15801: Bugfix: GUI: Options: Initialise prune setting range before loading current value, and remove upper bound limit
8a33f4d63f GUI: Options: Remove the upper-bound limit from pruning size setting (Luke Dashjr)
4ddeb2f860 GUI: Options: Set the range of pruning size before loading its value (Luke Dashjr)

Pull request description:

  This fixes two bugs:

  1. The prune setting range was set *after* loading the current value. If users had a prune of (eg) 200, it would get limited to 99 before the range was raised. This is fixed by setting the range first.
  2. The prune setting was limited to <= the chainparams' "assumed blockchain size". There's no reason for this limit (the UX is the same either way), and there are use cases it breaks (eg, setting a prune size such that it begins pruning at some future point). Therefore, I raised it to the max value.

  This is a daggy fix, so should cleanly merge to both master and 0.18 branches.

ACKs for commit 8a33f4:
  MarcoFalke:
    utACK 8a33f4d63f
  laanwj:
    utACK 8a33f4d63f
  promag:
    utACK 8a33f4d.

Tree-SHA512: 480570fa243ab5cc76af76fded18cb8cb2d3194b9f050fec5e03ca551edeeda72ee8b06312e200a9e49404ec1cdffa62f7150cf9982ec1b282f17d90879ce438
2019-04-18 17:46:38 +02:00
John Newbery
5c759c73b2 [wallet] Move maxTxFee to wallet
This commit moves the maxtxfee setting to the wallet. There is only
one minor behavior change:

- an error message in feebumper now refers to -maxtxfee instead of
maxTxFee.
2019-04-18 11:34:42 -04:00
MarcoFalke
693c743a32
Merge #15843: tests: fix outdated include in blockfilter_index_tests
89e8df1674 tests: fix outdate include in blockfilter_index_tests (James O'Beirne)

Pull request description:

  Build is currently failing due to bad merge of #15788 and #14121.

ACKs for commit 89e8df:
  fanquake:
    tACK 89e8df1

Tree-SHA512: d3fea861f80d660b4a2827ca7241237311b68de4175d3db938a9a1d538e1325822410c98d84ba0734208af8163fbcc42cf2732788311ea22f3834c95eeb330b8
2019-04-18 10:34:53 -04:00
James O'Beirne
89e8df1674 tests: fix outdate include in blockfilter_index_tests 2019-04-18 10:25:47 -04:00
MarcoFalke
e4beef611a
Merge #14121: Index for BIP 157 block filters
c7efb652f3 blockfilter: Update BIP 158 test vectors. (Jim Posen)
19308c9e21 rpc: Add getblockfilter RPC method. (Jim Posen)
ff35105096 init: Add CLI option to enable block filter index. (Jim Posen)
accc8b8b18 index: Access functions for global block filter indexes. (Jim Posen)
2bc90e4e7b test: Unit test for block filter index reorg handling. (Jim Posen)
6bcf0998c0 test: Unit tests for block index filter. (Jim Posen)
b5e8200db7 index: Implement lookup methods on block filter index. (Jim Posen)
75a76e3619 index: Implement block filter index with write operations. (Jim Posen)
2ad2338ef9 serialize: Serialization support for big-endian 32-bit ints. (Jim Posen)
ba6ff9a6f7 blockfilter: Functions to translate filter types to/from names. (Jim Posen)
62b7a4f094 index: Ensure block locator is not stale after chain reorg. (Jim Posen)
4368384f1d index: Allow atomic commits of index state to be extended. (Jim Posen)

Pull request description:

  This introduces a new BlockFilterIndex class, which is required for BIP 157 support.

  The index is uses the asynchronous BaseIndex infrastructure driven by the ValidationInterface callbacks. Filters are stored sequentially in flat files and the disk location of each filter is indexed in LevelDB along with the filter hash and header. The index is designed to ensure persistence of filters reorganized out of the main chain to simplify the BIP 157 net implementation.

  Stats (block height = 565500):
  - Syncing the index from scratch takes 45m
  - Total index size is 3.8 GiB

ACKs for commit c7efb6:
  MarcoFalke:
    utACK c7efb652f3
  ryanofsky:
    Slightly tested ACK c7efb652f3 (I just rebuilt the index with the updated PR and tested the RPC). Changes since last review: rebase, fixed compile errors in internal commits, new comments, updated error messages, tweaked cache size logic, renamed commit method, renamed constants and globals, fixed whitespace, extra BlockFilterIndex::Init error check.

Tree-SHA512: f8ed7a9b6f76df45933aa5eba92b27b3af83f6df2ccb3728a5c89eec80f654344dc14f055f6f63eb9b3a7649dd8af6553fe14969889e7e2fd2f8461574d18f28
2019-04-18 09:48:25 -04:00
MarcoFalke
fa90a89eee
[test] combine_logs: append node stderr and stdout if it exists 2019-04-17 17:11:55 -04:00
nkostoulas
942ff2054b
contrib: gh-merge: Use pagination to fetch all review comments 2019-04-17 20:21:45 +01:00
MarcoFalke
dae72998e8
Merge #15779: test: Add wallet_balance benchmark
fad7c33342 refactor: Add handleNotifications method to wallet (MarcoFalke)
fa46ac3127 bench: Add wallet_balance benchmarks (MarcoFalke)

Pull request description:

ACKs for commit fad7c3:
  ryanofsky:
    utACK fad7c33342. I might squash or rearrange the commits to avoid adding code in one commit that just gets deleted in the next one. But overall this looks good and the cleanup is nice.

Tree-SHA512: 231faac168cbe9bb0ab4bf10ac1d5b042c610364406d75061fba27f1e9d16c71867e74cc4606e9f42659aa980d7133c00e29fcc18bbba7da2fa7a80178b3246c
2019-04-17 15:14:12 -04:00