aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2019-05-03Merge #15932: rpc: Serialize in getblock without cs_mainMarcoFalke
faea56400d rpc: Add lock annotations to block{,header}ToJSON (MarcoFalke) fab00a5cb9 rpc: Serialize in getblock without cs_main (MarcoFalke) fa1c3591ad rpc: Use IsValidNumArgs in getblock (MarcoFalke) Pull request description: No need to hold cs_main when serializing a struct to json Fixes: #15925 ACKs for commit faea56: jnewbery: utACK faea56400d5578023133cf4d1c761cdeb0c3e3da jonasschnelli: utACK faea56400d5578023133cf4d1c761cdeb0c3e3da Tree-SHA512: 005d378cda1e6024e9f5142f99a8adbefe202cd7bfeaafee55eb909e8990a3790aa27fcf5dd16119cc9afe9dc8bd30f660de40233316781669be166bac3018e7
2019-05-02rpc: Add lock annotations to block{,header}ToJSONMarcoFalke
2019-05-02Merge #15938: refactor: Silence "control reaches end of non-void function" ↵MarcoFalke
(-Wreturn-type) in psbt.cpp beb42d71a0 Silence GCC 7 warning "control reaches end of non-void function" (-Wreturn-type) in psbt.cpp (practicalswift) Pull request description: Silence GCC 7 warning "control reaches end of non-void function" (`-Wreturn-type`) in `psbt.cpp`. Context: https://github.com/bitcoin/bitcoin/commit/ef22fe8c1f331b4f13f21a54d12030b92e83fbe7#r33370109 Before this patch: ``` $ ./configure CC=gcc-7 CXX=g++-7 $ make 2>&1 | grep -A2 "warning: " leveldb/util/logging.cc:58:40: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] (v == kMaxUint64/10 && delta > kMaxUint64%10)) { ~~~~~~^~~~~~~~~~~~~~~ -- leveldb/port/port_posix.cc:60:15: warning: ‘ecx’ may be used uninitialized in this function [-Wmaybe-uninitialized] return (ecx & (1 << 20)) != 0; ~~~~~^~~~~~~~~~~~ -- psbt.cpp:341:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ $ ``` After this patch: ``` $ ./configure CC=gcc-7 CXX=g++-7 $ make 2>&1 | grep -A2 "warning: " leveldb/util/logging.cc:58:40: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] (v == kMaxUint64/10 && delta > kMaxUint64%10)) { ~~~~~~^~~~~~~~~~~~~~~ -- leveldb/port/port_posix.cc:60:15: warning: ‘ecx’ may be used uninitialized in this function [-Wmaybe-uninitialized] return (ecx & (1 << 20)) != 0; ~~~~~^~~~~~~~~~~~ $ ``` ACKs for commit beb42d: Tree-SHA512: b068b9aef565cae0bd1fa1f79c8d422ed2c3e7645edfa14a780a36dd66095a3c627f4111a6b16e706ce6c8abafe51725af8b3bf60778821de0aa8f6193bfadf8
2019-05-02Silence GCC 7 warning "control reaches end of non-void function" ↵practicalswift
(-Wreturn-type) in psbt.cpp
2019-05-02Merge #15650: Handle the result of posix_fallocate system callMarcoFalke
5d35ae3326 Handle the result of posix_fallocate system call (Luca Venturini) Pull request description: The system call `posix_fallocate` is not supported on some filesystems. - catches the result of posix_allocate and fall back to the default behaviour if the return value is different from 0 (success) Fixes #15624 ACKs for commit 5d35ae: MarcoFalke: utACK 5d35ae3326624da3fe5dcb4047c9a7cec6665cab sipa: utACK 5d35ae3326624da3fe5dcb4047c9a7cec6665cab, though the Yoda condition is an uncommon style in this project. hebasto: utACK 5d35ae3326624da3fe5dcb4047c9a7cec6665cab practicalswift: utACK 5d35ae3326624da3fe5dcb4047c9a7cec6665cab Tree-SHA512: 7ab3b35fb633926f28a58b2b07ffde8e31bb997c80a716b1b45ee716fe9ff4ddcef0a05810bd4423530e220cfc62f8925517d27a8b92b05a524272063e43f746
2019-05-01Merge #15842: refactor: replace isPotentialtip/waitForNotifications by ↵MarcoFalke
higher method 422677963a refactor: replace isPotentialtip/waitForNotifications by higher method (Antoine Riard) edfe9438ca Add WITH_LOCK macro: run code while locking a mutex (Antoine Riard) Pull request description: In Chain interface, instead of a isPotentialTip and a WaitForNotifications method, both used only once in CWallet::BlockUntilSyncedToCurrentChain, combine them in a higher WaitForNotificationsUpToTip method. Semantic should be unchanged, wallet wait for pending notifications to be processed unless block hash points to the current chain tip or a descendant. ACKs for commit 422677: jnewbery: ACK 422677963a7b41e340b911b4cd53d29dd8d63f21 ryanofsky: utACK 422677963a7b41e340b911b4cd53d29dd8d63f21. Only change is adding the cs_wallet lock annotation. Tree-SHA512: 2834ff0218795ef607543fae822e5cce25d759c1a9cfcb1f896a4af03071faed5276fbe0966e0c6ed65dc0e88af161899c5b2ca358a2d24fe70969a550000bf2
2019-05-01rpc: Serialize in getblock without cs_mainMarcoFalke
2019-05-01rpc: Use IsValidNumArgs in getblockMarcoFalke
2019-05-01Merge #15323: rpc: Expose g_is_mempool_loaded via getmempoolinfoMarcoFalke
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
2019-04-30Merge #15849: Thread names in logs and deadlock debug toolsMarcoFalke
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
2019-04-30Merge #15869: Add settings merge test to prevent regresssionsMarcoFalke
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
2019-04-29threads: add thread names to deadlock debugging messageJames O'Beirne
Also refactor CLockLocation to use an initialization list.
2019-04-29threads: prefix log messages with thread namesJames O'Beirne
Introduce a new flag (`-logthreadnames`) which allows toggling of this behavior.
2019-04-29tests: add threadutil testsJames O'Beirne
2019-04-29threads: introduce util/threadnames, refactor thread namingJames O'Beirne
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().
2019-04-29Merge #15877: doc: Fix -dustrelayfee= argument docs grammarMarcoFalke
64491cb376 doc: Fix -dustrelayfee= argument docs grammar (keepkeyjon) Pull request description: ACKs for commit 64491c: fanquake: utACK 64491cb Tree-SHA512: 562180e5bb065c71cda89555afd1cd5a54a98b058ab9006af3a6437fbbde46c7f3930b3fe98900bbb18f329057e00da81bc8290bdf6160d7eccc97d255b30e4b
2019-04-29Merge #15919: Remove unused OpenSSL includes to make it more clear where ↵MarcoFalke
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
2019-04-29Merge #15913: Bugfix: dummywallet: Add -ignorepartialspends to list of ↵MarcoFalke
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
2019-04-29Merge #15917: wallet: Avoid logging no_such_file_or_directory errorMarcoFalke
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
2019-04-29Remove unused OpenSSL includes to make it more clear where OpenSSL is usedpracticalswift
2019-04-29Merge #15371: gui: Uppercase bech32 addresses in qr codesJonas Schnelli
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
2019-04-29wallet: Avoid logging no_such_file_or_directory errorJoão Barbosa
2019-04-28Bugfix: dummywallet: Add -ignorepartialspends to list of ignored wallet optionsLuke Dashjr
2019-04-28dummywallet: Reformat ignored wallet options listLuke Dashjr
2019-04-27remove extraneous scopeandrewtoth
2019-04-27wallet: log on rescan completionandrewtoth
2019-04-27Merge #15778: [wallet] Move maxtxfee from node to walletMarcoFalke
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
2019-04-27Merge #15846: [POLICY] Make sending to future native witness outputs standardMeshCollider
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
2019-04-27Merge #15784: rpc: Remove dependency on interfaces::Chain in SignTransactionMeshCollider
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
2019-04-26Merge #15267: doc: explain AcceptToMemoryPoolWorker's coins_to_uncacheMarcoFalke
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
2019-04-26doc: explain AcceptToMemoryPoolWorker's coins_to_uncacheJames O'Beirne
2019-04-25Merge #14039: Disallow extended encoding for non-witness transactionsMarcoFalke
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
2019-04-23doc: Fix -dustrelayfee= argument docs grammarkeepkeyjon
2019-04-23refactor: replace isPotentialtip/waitForNotifications by higher methodAntoine Riard
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-23Merge #15699: Remove no-op CClientUIInterface::[signal_name]_disconnect. ↵MarcoFalke
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
2019-04-23Merge #15874: Resolve the qt/guiutil <-> qt/optionsmodel CDJonas Schnelli
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
2019-04-23Merge #15463: rpc: Speedup getaddressesbylabelMarcoFalke
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
2019-04-23Merge #15780: wallet: add cachable amounts for caching credit/debit valuesWladimir J. van der Laan
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-23Resolve the qt/guiutil <-> qt/optionsmodal CD251
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-23wallet: add cachable amounts for caching credit/debit valuesKarl-Johan Alm
2019-04-22Add settings merge test to prevent regresssionsRussell Yanofsky
2019-04-22rpc: Speedup getaddressesbylabelJoão Barbosa
2019-04-20Add WITH_LOCK macro: run code while locking a mutexAntoine Riard
Results from ryanofksy suggestion on isPotentialTip/ waitForNotifications refactoring
2019-04-19Merge #15670: refactor: combine ↵MarcoFalke
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 765c0b364d41e9a251c3f88cbe203645854fd790. Nice work @ariard! ryanofsky: utACK 765c0b364d41e9a251c3f88cbe203645854fd790. Looks good, thanks for implementing the suggestion! Tree-SHA512: 63f98252a93da95f08c0b6325ea98f717aa9ae4036d17eaa6edbec68e5ddd65672d66a6af267b80c36311fffa9b415a47308e95ea7718b300b685e23d4e9e6ec
2019-04-19Merge #15853: wallet: Remove unused import checkpoints.hMarcoFalke
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-19wallet: Remove unused import checkpoints.hMarcoFalke
2019-04-19Merge #15655: Resolve the checkpoints <-> validation circular dependencyMarcoFalke
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 418d3230f86f77dde6e817f502baff8a54b707fa MarcoFalke: utACK 418d3230f86f77dde6e817f502baff8a54b707fa sipa: utACK 418d3230f86f77dde6e817f502baff8a54b707fa Tree-SHA512: 03c3556bc192e65f5e3fa76fd545d4ee7d63d3fb06b132f7a1fa6131aa21ddd2e5b2d19e2222dfe524f422daaca30efde219bed188db8c74ff4b088876b5bc16
2019-04-18[POLICY] Make sending to future native witness outputs standardPieter Wuille
2019-04-18Merge #15829: qt: update request payment button text and tab descriptionWladimir J. van der Laan
81b2830b1517ca36776d6afb6cc6e20b729d12c7 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 81b2830b1517ca36776d6afb6cc6e20b729d12c7 jonasschnelli: utACK 81b2830b1517ca36776d6afb6cc6e20b729d12c7 meshcollider: utACK https://github.com/bitcoin/bitcoin/commit/81b2830b1517ca36776d6afb6cc6e20b729d12c7 Tree-SHA512: 96c6dc1f08560066110ec916b0a8879265db46174a5c5993332509b6bceb93ed6a8e06e3e8bd382e35aacc1c4d4a2458ec1d065213060db34ded4f0b2683964a
2019-04-18Merge #15833: [doc] remove out-of-date comment on pay-to-witness supportWladimir J. van der Laan
2d8ba4f8678b0248a5c6b2bb7ce66b6f081c6c17 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