aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-10-28Merge #17279: refactor: Remove redundant c_str() calls in formattingMarcoFalke
c72906dcc11a73fa06a0adf97557fa756b551bee refactor: Remove redundant c_str() calls in formatting (Wladimir J. van der Laan) Pull request description: Our formatter, tinyformat, *never* needs `c_str()` for strings. Still, many places call it redundantly, resulting in longer code and a slight overhead. Remove redundant `c_str()` calls for: - `strprintf` - `LogPrintf` - `tfm::format` (also, combined with #17095, I think this improves logging in case of unexpected embedded NULL characters) ACKs for top commit: ryanofsky: Code review ACK c72906dcc11a73fa06a0adf97557fa756b551bee. Easy to review with `git log -p -n1 --word-diff-regex=. -U0 c72906dcc11a73fa06a0adf97557fa756b551bee` Tree-SHA512: 9e21e7bed8aaff59b8b8aa11571396ddc265fb29608c2545b1fcdbbb36d65b37eb361db6688dd36035eab0c110f8de255375cfda50df3d9d7708bc092f67fefc
2019-10-28Merge #17266: util: Rename DecodeDumpTime to ParseISO8601DateTimeMarcoFalke
e7b02b54ccfb6b2e119a67799220f8d8d8b5cccd Add roundtrip and more tests to ParseISO8601DateTime and FormatISO8601DateTime (Elichai Turkel) 9e2c623be50ee7e586a411923b9ed136acfa2b3f Rename DecodeDumpTime to ParseISO8601DateTime and move to time.cpp (Elichai Turkel) Pull request description: As discussed in #17245. 1. Renamed the function. 2. Moved it from `rpcdump.cpp` to `time.cpp`. 3. Added a check if the time is less then epoch return 0 to prevent an overflow. 4. Added more edge cases tests and a roundtrip test. ACKs for top commit: laanwj: ACK e7b02b54ccfb6b2e119a67799220f8d8d8b5cccd MarcoFalke: ACK e7b02b54ccfb6b2e119a67799220f8d8d8b5cccd promag: Code review ACK e7b02b54ccfb6b2e119a67799220f8d8d8b5cccd. Moved code is correct, left a comment regarding the test change. Tree-SHA512: 703c21e09b2aabc992235149e67acba63d9d77a593ec8f6d2fec3eb63a7e5c406d56cbce6c6513ab32fba43367d073d2345f3b589843e3c5fe4f55ea3e00bf29
2019-10-28Merge #16986: doc: Doxygen-friendly CuckooCache commentsfanquake
7aad3b68e7e1680870ca70d945eee88f790d6454 doc: Doxygen-friendly CuckooCache comments (Jon Layton) Pull request description: Similar theme to #16947. - `invalid`, `contains` now appear in Doxygen docs - `setup` refers to correct argument name `b` - Argument references in `code blocks ` - Lists markdown conformant, uniform line endings Tested with `make docs` ACKs for top commit: laanwj: ACK 7aad3b68e7e1680870ca70d945eee88f790d6454 practicalswift: ACK 7aad3b68e7e1680870ca70d945eee88f790d6454 Tree-SHA512: 70b38c10e534bad9c6ffcd88cc7a4797644afba5956d47a6c7cc655fcd5857a91f315d6da60e28ce9678d420ed4a51e22267eb8b89e26002b99cad63373dd349
2019-10-28Merge #16202: p2p: Refactor network message deserializationfanquake
ed2dc5e48abed1cde6ab98025dc8212917d47d21 Add override/final modifiers to V1TransportDeserializer (Pieter Wuille) f342a5e61a73e1edf389b662d265d20cf26a1d51 Make resetting implicit in TransportDeserializer::Read() (Pieter Wuille) 6a91499496d76c2b3e84489e9723b60514fb08db Remove oversized message detection from log and interface (Pieter Wuille) b0e10ff4df3d4c70fb172ea8c3128c82e6e368bb Force CNetMessage::m_recv to use std::move (Jonas Schnelli) efecb74677222f6c70adf7f860c315f430d39ec4 Use adapter pattern for the network deserializer (Jonas Schnelli) 1a5c656c3169ba525f84145d19ce8c64f2cf1efb Remove transport protocol knowhow from CNetMessage / net processing (Jonas Schnelli) 6294ecdb8bb4eb7049a18c721ee8cb4a53d80a06 Refactor: split network transport deserializing from message container (Jonas Schnelli) Pull request description: **This refactors the network message deserialization.** * It transforms the `CNetMessage` into a transport protocol agnostic message container. * A new class `TransportDeserializer` (unique pointer of `CNode`) is introduced, handling the network buffer reading and the decomposing to a `CNetMessage` * **No behavioral changes** (in terms of disconnecting, punishing) * Moves the checksum finalizing into the `SocketHandler` thread (finalizing was in `ProcessMessages` before) The **optional last commit** makes the `TransportDeserializer` following an adapter pattern (polymorphic interface) to make it easier to later add a V2 transport protocol deserializer. Intentionally not touching the sending part. Pre-Requirement for BIP324 (v2 message transport protocol). Replacement for #14046 and inspired by a [comment](https://github.com/bitcoin/bitcoin/pull/14046#issuecomment-431528330) from sipa ACKs for top commit: promag: Code review ACK ed2dc5e48abed1cde6ab98025dc8212917d47d21. marcinja: Code review ACK ed2dc5e48abed1cde6ab98025dc8212917d47d21 ryanofsky: Code review ACK ed2dc5e48abed1cde6ab98025dc8212917d47d21. 4 cleanup commits added since last review. Unaddressed comments: ariard: Code review and tested ACK ed2dc5e. Tree-SHA512: bab8d87464e2e8742529e488ddcdc8650f0c2025c9130913df00a0b17ecdb9a525061cbbbd0de0251b76bf75a8edb72e3ad0dbf5b79e26f2ad05d61b4e4ded6d
2019-10-28Merge #17267: bench: Fix negative values and zero for -evals flagWladimir J. van der Laan
3bb0a4674f74d22043c7911ea76ab8a4d93fed62 bench: Fix negative values and zero for -evals flag (nijynot) Pull request description: This PR makes `bench_bitcoin -evals=0` evaluate at once and throws when `-evals` is a negative integer. --- Currently when you run `bench_bitcoin -evals=0`, it'll get stuck at ``` # Benchmark, evals, iterations, total, min, max, median ``` . This is not intuitively expected and should instead evaluate instantly as it's set to zero. Negative integers for `-evals` does not make sense either and should throw if set. ACKs for top commit: laanwj: ACK 3bb0a4674f74d22043c7911ea76ab8a4d93fed62 Tree-SHA512: 03cd4c7c55134c7ffd8cdb6ee993551ce41061a73e13c3c047247af9df1fd7ed07d798272b643ec864099036922aaadbdcd2b798d710406f48df60b9d5448c26
2019-10-28refactor: Remove redundant c_str() calls in formattingWladimir J. van der Laan
Our formatter, tinyformat, *never* needs `c_str()` for strings. Remove redundant `c_str()` calls for: - `strprintf` - `LogPrintf` - `tfm::format`
2019-10-28bench: Fix negative values and zero for -evals flagnijynot
2019-10-28Merge #17250: Avoid unused call to GuessVerificationProgress in NotifyHeaderTipWladimir J. van der Laan
fa398091b7ad683dfd3cd3c2cd030eaf9f336737 Avoid unused call to GuessVerificationProgress in NotifyHeaderTip (MarcoFalke) Pull request description: `GuessVerificationProgress` for a header (not a block) is always 0 because the number of txs in the block can not be determined from the header alone. Anyway, this result was never used, so we can optimize this call by hardcoding 0. This is the next commit in a series of changes toward removing nChainTx (see #14863, #13875) ACKs for top commit: promag: Code review ACK fa398091b7ad683dfd3cd3c2cd030eaf9f336737, missed that. laanwj: ACK fa398091b7ad683dfd3cd3c2cd030eaf9f336737 Tree-SHA512: 11016f8dbb1af1cf75241948d1ad35eac0c79d1311cd0db8c6ec806df2a9e3dc5f998dbd66ccbad5d84564e6cec7fe21ce7a2a13c2b34c746e2d3b31aa1db53a
2019-10-28Merge #17192: util: Add CHECK_NONFATAL and use it in src/rpcWladimir J. van der Laan
faeb6665362e35f573ad715ade0ef2db62d71839 util: Add CHECK_NONFATAL and use it in src/rpc (MarcoFalke) Pull request description: Fixes #17181 Currently, we use `assert` in RPC code to document logic and code assumptions. However, it seems a bit extreme to abort all of Bitcoin Core on an assert failure in one of the RPC threads. I suggest to replace all `assert`s with a macro `CHECK_NONFATAL(condition)` that throws a runtime error when the condition evaluates to `false`. That runtime error will then be returned to the rpc caller and will include instructions to report the error to our issue tracker. ACKs for top commit: practicalswift: ACK faeb6665362e35f573ad715ade0ef2db62d71839 laanwj: ACK faeb6665362e35f573ad715ade0ef2db62d71839 ryanofsky: Code review ACK faeb6665362e35f573ad715ade0ef2db62d71839 Tree-SHA512: 9b748715a5e0767ac11f1324a95a3a6ec672a0e0658013492219223bda83ce4b1b447fd8183bbb235f7df5ef7dddda7666ad569544b4d61cc65f232ca7a800ec
2019-10-27Add roundtrip and more tests to ParseISO8601DateTime and FormatISO8601DateTimeElichai Turkel
2019-10-27Rename DecodeDumpTime to ParseISO8601DateTime and move to time.cppElichai Turkel
2019-10-26Merge #17257: gui: disable font antialiasing for QR image addressWladimir J. van der Laan
e156b9d8b974f57253306b693a03aa80322ebc6c gui: disable font antialiasing for QR image address (fanquake) Pull request description: The address text inside the QR code is currently fairly blurry / unreadable. Explicitly disabling font antialiasing improves that somewhat. master (693e40090ae7af52585ce1a6136a4bd56318fac7): ![macOS_master](https://user-images.githubusercontent.com/863730/67591414-644e0580-f72b-11e9-8399-2cd0584e7d62.png) PR (e156b9d8b974f57253306b693a03aa80322ebc6c): ![macOS_pr](https://user-images.githubusercontent.com/863730/67591424-6dd76d80-f72b-11e9-86b6-b3911f8e07e6.png) ACKs for top commit: laanwj: ACK e156b9d8b974f57253306b693a03aa80322ebc6c Tree-SHA512: 32aeb2ffe8164a1006f80e76c6e413fcb88e32ced42d2b2af69cca908bd32673f3e379184be917f1870864b940db943e7f46a7ecb0779343d5d129b381660c38
2019-10-26Merge #17120: gui: Fix start timer from non QThreadWladimir J. van der Laan
a8f5026d6d992fd8d72908c848c5028f0f9a8cd1 gui: Fix start timer from non QThread (João Barbosa) Pull request description: Fixes #16296. ACKs for top commit: laanwj: code review ACK a8f5026d6d992fd8d72908c848c5028f0f9a8cd1 Tree-SHA512: d7b05ac88e188de16cbbe80cb2f773b7976ee07ee876ac94a93f9351856c4f3a9d66a531d3f3748d2dccff8c8d77d9d8227433069ed5909c32be2efeaa32f655
2019-10-26Merge #17249: rpc: Add missing deque include to fix buildWladimir J. van der Laan
a5929130223973636f3fd25fbfaf2953f2ec96a9 http: add missing header bootlegged by boost < 1.72 (Jan Beich) Pull request description: Regressed by boostorg/filesystem@9a14c37d6f95. See [error log](https://github.com/bitcoin/bitcoin/files/3772177/bitcoin-0.18.1.log). ```c++ httpserver.cpp:74:10: error: no template named 'deque' in namespace 'std' std::deque<std::unique_ptr<WorkItem>> queue; ~~~~~^ ``` ACKs for top commit: laanwj: ACK a5929130223973636f3fd25fbfaf2953f2ec96a9 Tree-SHA512: fb0aee6a698c7aaa6a73baad7adc4f891be573af0d3cf6f4f59bc825afe5c0bc439c668077ff1990a6135522a0533a1a867430eebad28f0ade93fd79a95e179b
2019-10-26Merge #17135: gui: Make polling in ClientModel asynchronousWladimir J. van der Laan
6b6be41c36e4fe9a74bed50e7f0a06532ab1260b gui: Make polling in ClientModel asynchronous (João Barbosa) Pull request description: After #14193 `ClientModel::updateTimer` can take some time, as such the GUI hangs, like #17112. Fixes this by polling in a background thread and updating the GUI asynchronously. ACKs for top commit: laanwj: ACK 6b6be41c36e4fe9a74bed50e7f0a06532ab1260b Sjors: Code review re-ACK 6b6be41; only replaced the scary cast with `{ timer->start(); }` Tree-SHA512: fd98b0c6535441aee3ee03c48b58b4b1f9bdd172ec6b8150da883022f719df34cabfd4c133412bf410e7f709f7bf1e9ef16dca05ef1f3689d526ceaeee51de38
2019-10-26Merge #17165: Remove BIP70 supportWladimir J. van der Laan
8c6081a884cd0969160955ce8687d4d4ed074db3 compat: remove bswap_* check on macOS (fanquake) 2cba35ab38b492768e85bd77442a566dda169466 build: skip building OpenSSL lib_ssl (fanquake) 45a2d3c5526551c279b624e111fe83d1f30b10db build: remove OpenSSL from Qt build (fanquake) befbc40eb5928ac20a85fd3446946895cd2e66cb build: remove EVP_MD_CTX_new detection (fanquake) fcee10c2d028cba11416d902f5abf13fea7a65f4 build: remove SSL lib detection (fanquake) c7f30dbca8034f70488cb494b4d1736c961301b9 gui: Update BIP70 support message (fanquake) a3e810326d7e70a774ece9e9aa0c571cc9216aab build: remove BIP70 entries from macOS Info.plist (fanquake) 72fe13a58d5894afbaf1bb6789ee9b9b6576f20f gui: remove payment request file handling from OpenURI dialog (fanquake) 3548e4aac72e9148d41b440052a89d89328f7661 Remove BIP70 Support (fanquake) 1cb9a4e28cccd3056e2b8d9cdabc45bf3e4dd2a6 docs: remove protobuf from docs (fanquake) 67328bb7ca57fa0df867ec73dbeeb97d61450a4e build: remove protobuf from depends (fanquake) Pull request description: This removes [BIP70](https://github.com/bitcoin/bips/blob/master/bip-0070.mediawiki) support. It also removes OpenSSL linking from Qt and building OpenSSLs `lib_ssl` in depends, as well as SSL lib detection from the build system. It's something that I'd optimistically like to do for `0.20.0`. ACKs for top commit: laanwj: Code review ACK 8c6081a884cd0969160955ce8687d4d4ed074db3 MarcoFalke: ACK 8c6081a884cd0969160955ce8687d4d4ed074db3 fjahr: ACK 8c6081a Tree-SHA512: 9dd9153afa4eca1a795f983e5b31f5fee9fa9a064c2a95d2f98810689add3ad0bf221c4608282299e66e4d1ec31cd556d4b16eea55de7912c3b9931f64735883
2019-10-25Merge #17251: net: SocketHandler logs peer id for close and disconnectfanquake
04dbdd613fe5c0a742de915e07553614cd4cbf46 [net] SocketHandler: log peer id for close and disconnect (Sjors Provoost) Pull request description: When combined with `-logips` this makes it easier to diagnose disconnects. To test on macOS, find a connection you want to disrupt: ``` lsof -nP -iTCP:8333 -sTCP:ESTABLISHED ``` To shut it down gracefully you can use tcpkill or this Python script: https://github.com/google/tcp_killer The log should say: ``` 2019-10-25T13:26:55Z socket closed for peer=1 2019-10-25T13:26:55Z disconnecting peer=1 2019-10-25T13:26:55Z Cleared nodestate for peer=1 ``` To shut it down ungracefully I made a patch to the above script, adding a `-force` argument. _Careful, this may result in data corruption_. Then the log should say: ``` 2019-10-25T13:39:57Z socket select error Bad file descriptor (9) 2019-10-25T13:39:57Z socket recv error for peer=0: Bad file descriptor (9) 2019-10-25T13:39:57Z disconnecting peer=0 2019-10-25T13:39:57Z Socket close failed: 35. Error: Bad file descriptor (9) 2019-10-25T13:39:57Z Cleared nodestate for peer=0 ``` ACKs for top commit: MarcoFalke: unsigned ACK 04dbdd613fe5c0a742de915e07553614cd4cbf46 TheBlueMatt: unsigned ACK 04dbdd613fe5c0a742de915e07553614cd4cbf46 LGTM! theuni: unsigned ACK 04dbdd613fe5c0a742de915e07553614cd4cbf46. Tree-SHA512: 415313908484f97ffe11a48b4ed6afab3ab0be660c788adb9ad975f88b69aa1cfd5ccbe5859350cdf19ef8fde191fd530fb22cef34e70638defdc9f3d761c71d
2019-10-25[net] SocketHandler: log peer id for close and disconnectSjors Provoost
2019-10-25gui: disable font antialiasing for QR image addressfanquake
More info available here: https://doc.qt.io/qt-5/qfont.html#StyleStrategy-enum
2019-10-25Merge #17083: tests: Add fuzzing harness for various CScript related functionsMarcoFalke
dc2fdb99072b87d34620084b82a494a5e698c279 tests: Add fuzzing harness for various CScript related functions (practicalswift) Pull request description: Add fuzzing harness for various `CScript` related functions. **Testing this PR** Run: ``` $ CC=clang CXX=clang++ ./configure --enable-fuzz --with-sanitizers=address,fuzzer,undefined $ make $ src/test/fuzz/script … # And to to quickly verify that the relevant code regions are triggered, that the # fuzzing throughput seems reasonable, etc. $ contrib/devtools/test_fuzzing_harnesses.sh '^script$' ``` `test_fuzzing_harnesses.sh` can be found in PR #17000. Top commit has no ACKs. Tree-SHA512: a0c5dca3b64ae177020b2ca299a29015d70755231b6bf01edbfc67c8aac90c44b1b4d57350c3aebef6e031108e6ae8e5fa0987c67707831c314f5d3090e0cee8
2019-10-25gui: Make polling in ClientModel asynchronousJoão Barbosa
With this change polling runs in a different thread to prevent disturbing the event loop.
2019-10-25Avoid unused call to GuessVerificationProgress in NotifyHeaderTipMarcoFalke
2019-10-25http: add missing header bootlegged by boost < 1.72Jan Beich
httpserver.cpp:74:10: error: no template named 'deque' in namespace 'std' std::deque<std::unique_ptr<WorkItem>> queue; ~~~~~^
2019-10-25Merge #17242: refactor: Remove unused cacheSigStore from ↵fanquake
CheckInputsFromMempooAndCache 0a433fc876d82df1005f175c1254fff62f0f36f8 [validation] Remove unused cacheSigStore from CheckInputsFromMempoolAndCache (John Newbery) Pull request description: CheckInputsFromMempoolAndCache() is only called in one place, and cacheSigStore is set to true in that call site. Remove the argument entirely. Also improve commenting. ACKs for top commit: MarcoFalke: unsigned ACK 0a433fc876d82df1005f175c1254fff62f0f36f8 Comment looks good jamesob: ACK https://github.com/bitcoin/bitcoin/pull/17242/commits/0a433fc876d82df1005f175c1254fff62f0f36f8 laanwj: ACK 0a433fc876d82df1005f175c1254fff62f0f36f8 fanquake: ACK 0a433fc876d82df1005f175c1254fff62f0f36f8. Checked that `CheckInputsFromMempoolAndCache` is only called once, in `MemPoolAccept::ConsensusScriptChecks`, and that `cacheSigStore` is true. Tree-SHA512: e4b4d2550e35df55c8f8fa4c539174cc2d3728112ddb937cb2ff759d8630a01566b5ec42a70a82e33994e6586f5a457a75a59f64b15d27c65331c723cbb097af
2019-10-25Merge #17220: tests: Add unit testing for the CompressScript functionWladimir J. van der Laan
b05ec410f2d9f209796a5df31860e23efd729dfe Add unit testing for the CompressScript functions (marcaiaf) Pull request description: Salvaging #15104 which adds unit tests for CompressScript function in `compressor.cpp` Tested following cases for the CScript: - CKeyID - CScriptID - Uncompressed CPubKey (of size: 65) - Compressed CPubKey (of size: 32) ACKs for top commit: theStack: ACK https://github.com/bitcoin/bitcoin/commit/b05ec410f2d9f209796a5df31860e23efd729dfe Tree-SHA512: 7e23ace39383122802dfe5f7d38190d772f5db4045a67b7a9bd4c06797a17e0cdc41d6fac92d448057eb7df50172155dc824587c16c68c79fd1a4de37b772001
2019-10-25Merge #17080: consensus: Explain why fCheckDuplicateInputs can not be ↵Wladimir J. van der Laan
skipped and remove it fa928134075220254a15107c1d9702f4e66271f8 consensus: Explain why fCheckDuplicateInputs can not be skipped and remove it (MarcoFalke) Pull request description: As a follow up to CVE-2018-17144, this removes the unused `fCheckDuplicateInputs` parameter and explains why the test can not be disabled. Apart from protecting against a dumb accident in the future, this should document the logic in the code. There is a technical write-up that explains how the underlying coins database behaves if this test is skipped: https://bitcoincore.org/en/2018/09/20/notice/#technical-details. However, it does not explicitly mention why the test can not be skipped. I hope my code comment does that. ACKs for top commit: jnewbery: ACK fa928134075220254a15107c1d9702f4e66271f8 amitiuttarwar: utACK fa928134075220254a15107c1d9702f4e66271f8 Empact: Code review ACK https://github.com/bitcoin/bitcoin/commit/fa928134075220254a15107c1d9702f4e66271f8 promag: ACK fa928134075220254a15107c1d9702f4e66271f8. Tree-SHA512: fc1ef670f1a467c543b84f704b9bd8cc7a59a9f707be048bd9b4e85fe70830702aa560a880efa2c840bb43818ab44dfdc611104df04db2ddc14ff92f46bfb28e
2019-10-25Merge #17231: depends: fix boost mac cross build with clang 9+Wladimir J. van der Laan
50037e97d11356218c4b36767232e47b74742b0b depends: fix boost mac cross build with clang 9+ (Cory Fields) Pull request description: The ancient "darwin-4.9.1" profile has long been used to match against clang, which prior to version 9, reported 4.9.1 as its version when invoking "clang++ -dumpversion". Presumably this was a historical compatibility quirk related to Apple's switch from gcc to clang. This was "fixed" in clang 9.0, so that -dumpversion reports the real version. Unfortunately that had the side-effect of breaking the (brittle) boost compiler detection. Move to the seemingly more-correct "clang-darwin" profile, which passes the checks and builds correctly. Also switch to using ar rather than libtool for archiving, as it's what the clang-darwin profile expects to be using. Note that because this is using a different profile, some of the final command-line arguments end up changing. Those changes look sane at a glance. ACKs for top commit: fanquake: ACK 50037e97d11356218c4b36767232e47b74742b0b - tested on on macOS, will wait for the gitian build. Tree-SHA512: eac1f353513a445add6fbece7fc78dd3dbdde5e2219bfb7739b82f40bb14de449667a94d2e303d43c67d9b38e7ceb0ba5f0d8fe20b40be2017b1ca0875467c2c
2019-10-25tests: Add fuzzing harness for various CScript related functionspracticalswift
2019-10-24Merge #16851: Continue relaying transactions after they expire from mapRelayMarcoFalke
168b781fe7f3f13b24c52a151f36de4cdd0a340a Continue relaying transactions after they expire from mapRelay (Anthony Towns) Pull request description: This change allows peers to request transactions even after they've expired from mapRelay and even if they're not doing mempool requests. This is intended to allow for CPFP of old transactions -- if parent tx P wasn't relayed due to low fees, then a higher fee rate child C is relayed, peers will currently request the parent P, but we prior to this patch, we will not relay it due to it not being in mapRelay. ACKs for top commit: MarcoFalke: re-ACK 168b781fe7f3f13b24c52a151f36de4cdd0a340a (only change is comment fixup) sdaftuar: re-ACK 168b781fe7f3f13b24c52a151f36de4cdd0a340a sipa: ACK 168b781fe7f3f13b24c52a151f36de4cdd0a340a Tree-SHA512: b206666dd1450cd0a161ae55fd1a7eda2c3d226842ba27d91fe463b551fd924b65b92551b14d6786692e15cf9a9a989666550dfc980b48ab0f8d4ca305bc7762
2019-10-24Merge #17212: refactor: Remove unused CExt{Pub,}Key (de)serialization methodsMarcoFalke
5b44a75493a1a098404d5e21dc384e74eae1892e refactor: Remove unused CExt{Pub,}Key (de)serialization methods (Sebastian Falbesoner) Pull request description: As pointed out in issue #17130, the serialization/deserialization methods for the classes `CExtKey` and `CExtPubKey` are only used in the BIP32 unit tests and hence can be removed (see comments https://github.com/bitcoin/bitcoin/issues/17130#issuecomment-543750290, https://github.com/bitcoin/bitcoin/issues/17130#issuecomment-543794408 and https://github.com/bitcoin/bitcoin/issues/17130#issuecomment-543814727). ACKs for top commit: practicalswift: ACK 5b44a75493a1a098404d5e21dc384e74eae1892e -- -60 LOC diff looks correct :) promag: ACK 5b44a75493a1a098404d5e21dc384e74eae1892e. MarcoFalke: unsigned ACK 5b44a75493a1a098404d5e21dc384e74eae1892e fjahr: ACK 5b44a75 jonatack: Light ACK 5b44a75493a1a098404d5e21dc384e74eae1892e. Built, ran tests and bitcoind. `git blame` shows most of the last changes are from commit 90604f16af63ec066d6561337f476ccd8acec326 in 2015 to add bip32 pubkey serialization. Tree-SHA512: 6887573b76b9e54e117a076557407b6f7908719b2202fb9eea498522baf9f30198b3f78b87a62efcd17ad1ab0886196f099239992ce7cbbaee79979ffe9e5f2c
2019-10-24compat: remove bswap_* check on macOSfanquake
This was originally added in #9366 to fix the gui build, as Protobuf would also define these macros. Now that we're no-longer using Protobuf, remove the additional check.
2019-10-24build: skip building OpenSSL lib_sslfanquake
2019-10-24build: remove OpenSSL from Qt buildfanquake
More info available from: https://doc.qt.io/qt-5/ssl.html#enabling-and-disabling-ssl-support
2019-10-24build: remove EVP_MD_CTX_new detectionfanquake
This was added in #9475 to fix LibreSSL compatibility for BIP70, so is no longer required.
2019-10-24build: remove SSL lib detectionfanquake
2019-10-24gui: Update BIP70 support messagefanquake
2019-10-24build: remove BIP70 entries from macOS Info.plistfanquake
2019-10-24gui: remove payment request file handling from OpenURI dialogfanquake
2019-10-24Remove BIP70 Supportfanquake
2019-10-24docs: remove protobuf from docsfanquake
2019-10-24build: remove protobuf from dependsfanquake
2019-10-24consensus: Explain why fCheckDuplicateInputs can not be skipped and remove itMarcoFalke
2019-10-24Merge #17240: ci: Disable functional tests on mac hostWladimir J. van der Laan
fa710066b9c992ccde7149cfa8da923bcc08bc22 ci: Disable functional tests on mac host (MarcoFalke) Pull request description: Judging from the lack of responses to https://github.com/bitcoin/bitcoin/issues/15400#issuecomment-543745053, no one can reproduce the failures locally. Thus, disable the tests on the ci mac host. Otherwise they cause ci failures to be ignored or overwritten by a blind re-run. ACKs for top commit: laanwj: ok, ACK fa710066b9c992ccde7149cfa8da923bcc08bc22 in that case ryanofsky: Code review ACK fa710066b9c992ccde7149cfa8da923bcc08bc22. I've been blindly restarting these but can confirm it seemed like random test failures. Tree-SHA512: 805f552124409f6e79b16b419826d334307202b8e3636edc8a91dadffe9949554d924c00cb16bb09473ec1aaaf2d8eaf7a97c7c2b8c11bf6372135d39bba802b
2019-10-24[validation] Remove unused cacheSigStore from CheckInputsFromMempoolAndCacheJohn Newbery
CheckInputsFromMempoolAndCache() is only called in one place, and cacheSigStore is set to true in that call site. Remove the argument entirely. Also improve commenting.
2019-10-24ci: Disable functional tests on mac hostMarcoFalke
2019-10-24Merge #17239: doc: Changed miniupnp links to httpsfanquake
6f6852335fc236dd6ec161162f49bfd813036acc doc: Changed miniupnp links to https (Marius Kjærstad) Pull request description: doc: Changed miniupnp links to https ACKs for top commit: fjahr: ACK 6f68523 fanquake: ACK 6f6852335fc236dd6ec161162f49bfd813036acc - as mentioned in this [comment](https://github.com/bitcoin/bitcoin/pull/17166#issuecomment-545906845), in future, there's no need to open a new PR instead than squashing. One of the requirements of contributing to Bitcoin Core is some basic `git` usage, and we have some documentation on that in our [CONTRIBUTING.md](https://github.com/bitcoin/bitcoin/blob/master/CONTRIBUTING.md#squashing-commits) (which also mentions not to open multiple PRs). Tree-SHA512: 1e806326552b94dc1c2f105bed822a1dd56127d42bbb0c15a16623ff084b2047331f2f1ad5303c99b0d68c70ad2caf8e8028eb354ba4379973b9e1198676ce72
2019-10-24doc: Changed miniupnp links to httpsMarius Kjærstad
doc: Changed miniupnp links to https
2019-10-24Merge #17235: tests: Skip unnecessary fuzzer initialisation. Hold ↵MarcoFalke
ECCVerifyHandle only when needed. c2f964a6745be085f2891c909d6c998687de9080 tests: Remove Cygwin WinMain workaround (practicalswift) db4bd32cc31789fc017f5db0b86a69ee43e41575 tests: Skip unnecessary fuzzer initialisation. Hold ECCVerifyHandle only when needed. (practicalswift) Pull request description: Skip unnecessary fuzzer initialisation. Hold `ECCVerifyHandle` only when needed. As suggested by MarcoFalke in https://github.com/bitcoin/bitcoin/pull/17018#discussion_r336645391. Top commit has no ACKs. Tree-SHA512: 598da44859d736e3fdc143b93e07f444d8ad19dfdab0cfe7c6ccff8644e862664d869337dfe6b49416ed09a0024e4a5f2220ca6246de568f9e9227d721baa28e
2019-10-24Merge #17226: gui: Fix payAmount tooltip in SendCoinsEntryWladimir J. van der Laan
0fc81a1e8724547a226e5fae5c32fc32d8dfb733 gui: Fix payAmount tooltip in SendCoinsEntry (João Barbosa) Pull request description: Before the tooltip shows in wrong places: ![Screenshot 2019-10-23 at 11 33 49](https://user-images.githubusercontent.com/3534524/67384904-f6b6a380-f589-11e9-832c-ec1643014b96.png) ![Screenshot 2019-10-23 at 11 33 23](https://user-images.githubusercontent.com/3534524/67384905-f74f3a00-f589-11e9-9944-a52fee097e02.png) Now only shows in the amount field: ![Screenshot 2019-10-23 at 11 35 30](https://user-images.githubusercontent.com/3534524/67384919-ff0ede80-f589-11e9-8ce4-c122e11fe885.png) ACKs for top commit: laanwj: ACK 0fc81a1e8724547a226e5fae5c32fc32d8dfb733 Tree-SHA512: 0857e568c21d380a68c81e9be3212b1745d7d3199a1d5fdef9afc8feed0272f215726fa98bbf8a3fb332389c5454f2316bc1581f1a2ccd76cef46a0e3ac6f99f
2019-10-24Merge #17004: validation: Remove REJECT code from CValidationStateWladimir J. van der Laan
9075d13153ce06cd59a45644831ecc43126e1e82 [docs] Add release notes for removal of REJECT reasons (John Newbery) 04a2f326ec0f06fb4fce1c4f93500752f05dede8 [validation] Fix REJECT message comments (John Newbery) e9d5a59e34ff2d538d8f5315efd9908bf24d0fdc [validation] Remove REJECT code from CValidationState (John Newbery) 0053e16714323c1694c834fdca74f064a1a33529 [logging] Don't log REJECT code when transaction is rejected (John Newbery) a1a07cfe99fc8cee30ba5976dc36b47b1f6532ab [validation] Fix peer punishment for bad blocks (John Newbery) Pull request description: We no longer send BIP 61 REJECT messages, so there's no need to set a REJECT code in the CValidationState object. Note that there is a minor bug fix in p2p behaviour here. Because the call to `MaybePunishNode()` in `PeerLogicValidation::BlockChecked()` only previously happened if the REJECT code was > 0 and < `REJECT_INTERNAL`, then there are cases were `MaybePunishNode()` can get called where it wasn't previously: - when `AcceptBlockHeader()` fails with `CACHED_INVALID`. - when `AcceptBlockHeader()` fails with `BLOCK_MISSING_PREV`. Note that `BlockChecked()` cannot fail with an 'internal' reject code. The only internal reject code was `REJECT_HIGHFEE`, which was only set in ATMP. This reverts a minor bug introduced in 5d08c9c579ba8cc7b684105c6a08263992b08d52. ACKs for top commit: ariard: ACK 9075d13, changes since last reviewed are splitting them in separate commits to ease understanding and fix nits fjahr: ACK 9075d13153ce06cd59a45644831ecc43126e1e82, confirmed diff to last review was fixing nits in docs/comments. ryanofsky: Code review ACK 9075d13153ce06cd59a45644831ecc43126e1e82. Only changes since last review are splitting the main commit and updating comments Tree-SHA512: 58e8a1a4d4e6f156da5d29fb6ad6a62fc9c594bbfc6432b3252e962d0e9e10149bf3035185dc5320c46c09f3e49662bc2973ec759679c0f3412232087cb8a3a7