Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
effe81f750 Move g_is_mempool_loaded into CTxMemPool::m_is_loaded (Ben Woosley)
bb8ae2c419 rpc: Expose g_is_mempool_loaded via getmempoolinfo and /rest/mempool/info.json (Ben Woosley)
Pull request description:
And use it to fix a race condition in mempool_persist.py:
https://travis-ci.org/Empact/bitcoin/jobs/487577243
Since e.g. getrawmempool returns errors based on this status, this
enables users to test it for readiness.
Fixes #12863
ACKs for commit effe81:
MarcoFalke:
utACK effe81f750
jnewbery:
utACK effe81f7503d2ca3c88cfdea687f9f997f353e0d
Tree-SHA512: 74328b0c17a97efb8a000d4ee49b9a673c2b6dde7ea30c43a6a2eff961a233351c9471f9a42344412135786c02bdf2ee1b2526651bb8fed68bd94d2120c4ef86
|
|
|
|
8722e54e56 threads: add thread names to deadlock debugging message (James O'Beirne)
383b186c28 threads: prefix log messages with thread names (James O'Beirne)
ddd95ccb80 tests: add threadutil tests (James O'Beirne)
ae5f2b6a6c threads: introduce util/threadnames, refactor thread naming (James O'Beirne)
188ca75e5f disable HAVE_THREAD_LOCAL on unreliable platforms (James O'Beirne)
Pull request description:
I'm resurrecting this one (from #13168) because I need it to make progress on #15735.
It's now off by default and can be turned on with `-logthreadnames=1`.
Ran some benchmarks (IBD from local peer from 500_000 -> 504_000) and it's within spitting distance either on or off:
### threadnames off (default)
#### 2018-05-threadnames.3 vs. master (absolute)
| name | iterations | 2018-05-threadnames.3 | master |
|------------------------------------------------|-----------:|----------------------------|----------------------------|
| ibd.local.500000.504000.dbcache=2048 | 3 | 376.1584 (± 9.2944) | 392.3414 (± 13.4238) |
| ibd.local.500000.504000.dbcache=2048.mem-usage | 3 | 2236117.3333 (± 1845.9623) | 2238690.6667 (± 2669.3487) |
#### 2018-05-threadnames.3 vs. master (relative)
| name | iterations | 2018-05-threadnames.3 | master |
|------------------------------------------------|-----------:|----------------------:|-------:|
| ibd.local.500000.504000.dbcache=2048 | 3 | 1 | 1.043 |
| ibd.local.500000.504000.dbcache=2048.mem-usage | 3 | 1 | 1.001 |
### threadnames on
#### 2018-05-threadnames-take-2 vs. master (absolute)
| name | iterations | 2018-05-threadnames-take-2 | master |
|------------------------------------------------|-----------:|----------------------------|----------------------------|
| ibd.local.500000.504000.dbcache=2048 | 3 | 367.6861 (± 0.3941) | 364.1667 (± 0.9776) |
| ibd.local.500000.504000.dbcache=2048.mem-usage | 3 | 2238461.3333 (± 3697.8730) | 2237014.6667 (± 3307.6966) |
#### 2018-05-threadnames-take-2 vs. master (relative)
| name | iterations | 2018-05-threadnames-take-2 | master |
|------------------------------------------------|-----------:|---------------------------:|-------:|
| ibd.local.500000.504000.dbcache=2048 | 3 | 1.010 | 1.00 |
| ibd.local.500000.504000.dbcache=2048.mem-usage | 3 | 1.001 | 1.00 |
```
ACKs for commit 8722e5:
Empact:
utACK https://github.com/bitcoin/bitcoin/pull/15849/commits/8722e54e56fd959fd4ff2321b36a7640dee440c5
jnewbery:
utACK 8722e54e56fd959fd4ff2321b36a7640dee440c5
MarcoFalke:
re-utACK 8722e54e56fd959fd4ff2321b36a7640dee440c5 (Only change since my previous review is DEFAULT_LOGTHREADNAMES=false and stylistic updates
Tree-SHA512: 50af992708295b8d680cf10025262dd964e599a356bdfc1dfc84fb18c00afabcb34d3d12d551b0677ff81f8fccad0e17c1d5b24dfecb953a913bc77fdd1a4577
|
|
151f3e9cf1 Add settings merge test to prevent regresssions (Russell Yanofsky)
Pull request description:
Test-only change. Motivation: I'm trying to clean up settings code and add support for read/write settings without changing existing behavior, but current tests are very scattershot and don't actually cover a lot of current behavior.
ACKs for commit 151f3e:
jonasschnelli:
utACK 151f3e9cf1bbcf30a4fc7749682e66b4a73ddfc2.
MarcoFalke:
utACK 151f3e9cf1bbcf30a4fc7749682e66b4a73ddfc2
Tree-SHA512: f9062f078da02855cdbdcae37d0cea5684e82adbe5c701a8eb042ee4a57d899f0ffb6a9db3bcf58b639dff22b2b2d8a75f9a7917402df58904036753d65a1e3e
|
|
Boost Filesystem basename() function is deprecated since v1.36.0.
Also, defining BOOST_FILESYSTEM_NO_DEPRECATED before including
filesystem headers is strongly recommended. This prevents inadvertent
use of old features, particularly legacy function names, that have been
replaced and are going to go away in the future.
|
|
SplitWalletPath() garanties the walletFile is a plain filename without a
directory.
|
|
Also refactor CLockLocation to use an initialization list.
|
|
Introduce a new flag (`-logthreadnames`) which allows toggling
of this behavior.
|
|
|
|
This work is prerequisite to attaching thread names to log lines and deadlock
debug utilities. This code allows setting of an "internal" threadname per
thread on platforms where thread_local is available.
This commit also moves RenameThread() out of a more general module and adds a
numeric suffix to disambiguate between threads with the same name. It
explicitly names a few main threads using the new util::ThreadRename().
|
|
|
|
|
|
64491cb376 doc: Fix -dustrelayfee= argument docs grammar (keepkeyjon)
Pull request description:
ACKs for commit 64491c:
fanquake:
utACK 64491cb
Tree-SHA512: 562180e5bb065c71cda89555afd1cd5a54a98b058ab9006af3a6437fbbde46c7f3930b3fe98900bbb18f329057e00da81bc8290bdf6160d7eccc97d255b30e4b
|
|
OpenSSL is used
a34081b7c3 Remove unused OpenSSL includes to make it more clear where OpenSSL is used (practicalswift)
Pull request description:
Remove unused OpenSSL includes to make it more clear where OpenSSL is used.
Before this patch:
```
$ git grep '#include <openssl/' -- "*.cpp" "*.h"
src/init.cpp:#include <openssl/crypto.h>
src/qt/paymentrequestplus.cpp:#include <openssl/x509_vfy.h>
src/qt/paymentrequestplus.h:#include <openssl/x509.h>
src/qt/paymentserver.cpp:#include <openssl/x509_vfy.h>
src/qt/rpcconsole.cpp:#include <openssl/crypto.h>
src/qt/test/paymentservertests.cpp:#include <openssl/x509.h>
src/qt/test/paymentservertests.cpp:#include <openssl/x509_vfy.h>
src/qt/test/test_main.cpp:#include <openssl/ssl.h>
src/qt/winshutdownmonitor.cpp:#include <openssl/rand.h>
src/random.cpp:#include <openssl/err.h>
src/random.cpp:#include <openssl/rand.h>
src/random.cpp:#include <openssl/conf.h>
src/test/crypto_tests.cpp:#include <openssl/aes.h>
src/test/crypto_tests.cpp:#include <openssl/evp.h>
```
After this patch:
```
$ git grep '#include <openssl/' -- "*.cpp" "*.h"
src/qt/paymentrequestplus.cpp:#include <openssl/x509_vfy.h>
src/qt/paymentrequestplus.h:#include <openssl/x509.h>
src/qt/paymentserver.cpp:#include <openssl/x509_vfy.h>
src/qt/test/paymentservertests.cpp:#include <openssl/x509.h>
src/qt/test/paymentservertests.cpp:#include <openssl/x509_vfy.h>
src/qt/test/test_main.cpp:#include <openssl/ssl.h>
src/qt/winshutdownmonitor.cpp:#include <openssl/rand.h>
src/random.cpp:#include <openssl/err.h>
src/random.cpp:#include <openssl/rand.h>
src/random.cpp:#include <openssl/conf.h>
```
Removed:
* `src/init.cpp:#include <openssl/crypto.h>` (unused since 5ecfa36fd01fc27475abbfcd53b4efb9da4a7398 (2016))
* `src/qt/rpcconsole.cpp:#include <openssl/crypto.h>` (unused since 5ecfa36fd01fc27475abbfcd53b4efb9da4a7398 (2016))
* `src/test/crypto_tests.cpp:#include <openssl/aes.h>` (introduced unused in daa384120a63542257d4ca73047d775f16fac654 (2015))
* `src/test/crypto_tests.cpp:#include <openssl/evp.h>` (introduced unused in daa384120a63542257d4ca73047d775f16fac654 (2015))
ACKs for commit a34081:
MarcoFalke:
utACK a34081b7c398847c37a587029c7ad7f3a3396c8e
real-or-random:
utACK a34081b
fanquake:
utACK a34081b
Tree-SHA512: 8ab9699c063f2d0ed2d71738f20ac5c21336585f7f62fd3a4b23199a125ea3224725591d64171347465762181788fac1bc4ce13d8824090bf1a5ac71a66d6538
|
|
ignored wallet options
765d5890be Bugfix: dummywallet: Add -ignorepartialspends to list of ignored wallet options (Luke Dashjr)
0f09eb779d dummywallet: Reformat ignored wallet options list (Luke Dashjr)
Pull request description:
When building w/o wallet support, we add all the wallet options as hidden options to avoid throwing errors/warnings that they're unknown.
`-ignorepartialspends` is missing from this list. This PR adds it.
(This seems like a good candidate for a linter? Or maybe we can autogenerate it?)
Also reformats the dummywallet options list across multiple lines to make conflicts less often.
ACKs for commit 765d58:
meshcollider:
utACK https://github.com/bitcoin/bitcoin/pull/15913/commits/765d5890be46ed5f5557c1d2b3cb931e6b8eb3b0
MarcoFalke:
utACK 765d5890be46ed5f5557c1d2b3cb931e6b8eb3b0
promag:
utACK 765d589.
practicalswift:
utACK 765d5890be46ed5f5557c1d2b3cb931e6b8eb3b0
fanquake:
utACK 765d589
Tree-SHA512: 37c8037148bdc1b7a8bde201eff51ee6a64c042c17eb8b6c68faef490d16575348c2f22ab81f48302b8ad80a5559222af23b721a8b5acc1d89c0757fb88796a6
|
|
70c1cf8c1c wallet: Avoid logging no_such_file_or_directory error (João Barbosa)
Pull request description:
Avoid logging `IsBerkeleyBtree: No such file or directory ...`. The result of `IsBerkeleyBtree` is the same since `fs::file_size()` returns 0 for non existent files.
Fix #15912.
ACKs for commit 70c1cf:
practicalswift:
utACK 70c1cf8c1c07091544d060191715027282e87b57
jonasschnelli:
utACK 70c1cf8c1c07091544d060191715027282e87b57
Empact:
utACK https://github.com/bitcoin/bitcoin/pull/15917/commits/70c1cf8c1c07091544d060191715027282e87b57
Tree-SHA512: 964a64fff9a17b805a1570884cdb2beb82283498f790b0464e011791803ae7f37dba213320c76a920dd92b2b972a7640e6277ecf470400734149dc8f9f9f1d6d
|
|
|
|
3407b446c gui: Uppercase bech32 addresses in qr codes (Ben Carman)
Pull request description:
Closes #12191
ACKs for commit 3407b4:
meshcollider:
utACK https://github.com/bitcoin/bitcoin/pull/15371/commits/3407b446cc5ec0725c0505e3b933f43d86286ad5
jonasschnelli:
Re utACK 3407b446cc5ec0725c0505e3b933f43d86286ad5
Tree-SHA512: d63ecf8e9805c46c9f554cc929661a37837bc3ba9b7b931331c2a5c2b81468742e1819c9add73966083011709cc15ae1870a454348af8591b3d75d3765dca568
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5c759c73b2 [wallet] Move maxTxFee to wallet (John Newbery)
Pull request description:
Closes #15355
Moves the `-maxtxfee` from the node to the wallet. See discussion in issue for details.
This is a cleanup. There is no change in behaviour.
Completes #15620
ACKs for commit 5c759c:
MarcoFalke:
utACK 5c759c73b2602c7fde1c50dbafe5525904c1b64c
ryanofsky:
utACK 5c759c73b2602c7fde1c50dbafe5525904c1b64c. Changes since last review: updated commit message and an error message and method name.
meshcollider:
utACK https://github.com/bitcoin/bitcoin/pull/15778/commits/5c759c73b2602c7fde1c50dbafe5525904c1b64c
Tree-SHA512: 2f9b2729da3940a5cda994d3f3bc11ee1a52fcc1c5e9842ea0ea63e4eb0300e8416853046776311298bc449ba07554aa46f0f245ce28598a5b0bd7347c12e752
|
|
c634b1e20 [POLICY] Make sending to future native witness outputs standard (Pieter Wuille)
Pull request description:
As discussed in the April 18 2019 IRC meeting.
This makes sending to future Segwit versions via native outputs (bech32) standard for relay, mempool acceptance, and mining. The reasons are:
* This may interfere with smooth adoption of future segwit versions, if they're defined (by the sender wallet/node).
* It violates BIP173 ("Version 0 witness addresses are always 42 or 62 characters, but implementations MUST allow the use of any version."), though admittedly this code was written before BIP173.
* It doesn't protect much, as P2SH-embedded segwit cannot be filtered in this way.
* As a general policy, the sender shouldn't care what the receiver likes his outputs to be.
Note that _spending_ such outputs (including P2SH-embedded ones) remains nonstandard, as that is actually required for softfork safety.
ACKs for commit c634b1:
MarcoFalke:
utACK c634b1e2076d8e15a8284638475e26c691d4e100
harding:
Tested ACK c634b1e2076d8e15a8284638475e26c691d4e100
meshcollider:
utACK https://github.com/bitcoin/bitcoin/pull/15846/commits/c634b1e2076d8e15a8284638475e26c691d4e100
Tree-SHA512: e37168a1be9f445a04d4280593f0a92bdae33eee00ecd803d5eb16acb5c9cfc0f1f0a1dfbd5a0cc73da2c9928ec11cbdac7911513a78f85b789ae0d00e1b5962
|
|
99e88a372 rpc: Remove dependency on interfaces::Chain in SignTransaction (Antoine Riard)
Pull request description:
Assuming wallet RPCs and node RPCs will go into different processes, signrawtransactionwithkey doesn't need to access Coins via interfaces::Chain, it may use directly utility in node/coins.cpp
Obviously will need rebase after #15638
Tree-SHA512: 42ee8fcbcd38643bbd82210db6f68249bed5ee036a4c930a1db534d0469a133e287b8869c977bf0cc79a7296dde04f72adb74d24e1cd20f4a280f4c2b7fceb74
|
|
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 5d262052728acdaa2d108a35ba9921a23b3d761a
Tree-SHA512: 088508fa78012fab8680663c4e30f5cee29768416c2ca8b8b2abc29b6ac7067c5a589674f0254474a7ccc95477889d41719760f5796792bf492f51b3dd499c6c
|
|
|
|
This prevents a bug where the in-flight queue for our peers will not be
drained, resulting in not downloading any new transactions from our peers.
Thanks to ajtowns for reporting this bug.
|
|
Previously there was an implicit bound based on the handling of m_tx_announced,
but that approach is error-prone (particularly if we start automatically
removing things from that set).
|
|
|
|
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 https://github.com/bitcoin/bitcoin/pull/14039/commits/bb530efa1872ec963417f61da9a95185c7a7a7d6
stevenroose:
utACK bb530efa1872ec963417f61da9a95185c7a7a7d6
Tree-SHA512: 1aeccd6a555f43784fefb076ce2e8ad2f5ba7be49840544a50050d0390f82373f87201bf56cf8bb30841b4f9cd893b382261a080da875d4e11ab7051f8640dbe
|
|
Updates text since -whitelistforcerelay was set to false by default in
PR #15193.
|
|
|
|
The property-based API has been used. Added support for the
`informativeText` and `detailedText` properties.
|
|
|
|
Add GUARDED_BY(cs_wallet) annotation to m_last_block_processed, given
that its now guarded by cs_wallet instead of cs_main
|
|
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 6dd469a3bea60d8857ec0be625c2ef8a7716c148
Tree-SHA512: 0b50d658fa72261332bc57ddea379fd08f4bc1de392c10c628e20142d6fd244b606c39fd0665d6bc39324c1aa8c8814ac942b4659106279e33b90206aaf37411
|
|
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 fa1c8e297825fbaeda049c8bf36f39de919a9989
promag:
utACK fa1c8e2.
hebasto:
utACK fa1c8e297825fbaeda049c8bf36f39de919a9989
practicalswift:
utACK fa1c8e297825fbaeda049c8bf36f39de919a9989
jonasschnelli:
utACK fa1c8e297825fbaeda049c8bf36f39de919a9989
Tree-SHA512: 58cc4aee937c943d8de9dc97ef1789decfddb0287308f44e7e3a3b497c19e51da184988e17207544fff410168ec98dd49a3e62c47e84ad1f0cf6ef7247a80fb5
|
|
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 710a7136f93133bf256d37dc8c8faf5a6b9ba89d
ryanofsky:
utACK 710a7136f93133bf256d37dc8c8faf5a6b9ba89d. Just new comments and assert since last review.
Tree-SHA512: 77c95df9ff3793e348619aa070e6fd36df9da1b461d708ab146652cb3699f1a472ef6eb38dafdb8374375cbc97daef07635fcb0501961f167a023309513742e2
|
|
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
|
|
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`.
|
|
|
|
|
|
|