aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-12-07node/chainstate: Decouple from ShutdownRequestedCarl Dong
...instead allow optionally passing in a std::function<bool()>
2021-12-07node/chainstate: Decouple from GetTimeCarl Dong
...instead pass in a std::function<int64_t()> Note that the static_cast is needed (apparently) for the compiler to know which overloaded GetTime to choose.
2021-12-07init: Delay RPC block notif until warmup finishedCarl Dong
See added code comment for more details.
2021-12-06Move -checkblocks LogPrintf to AppInitMainCarl Dong
2021-12-06node/chainstate: Reduce coupling of LogPrintfCarl Dong
...by moving the try/catch out of LoadChainstate I strongly recommend reviewing with the following git-diff flags: --color-moved=dimmed_zebra --color-moved-ws=allow-indentation-change
2021-12-06node/chainstate: Decouple from concept of uiInterfaceCarl Dong
...instead allow the caller to optionally pass in callbacks which are triggered for certain events. Behaviour change: The string "Verifying blocks..." was previously printed for each chainstate in chainman which did not have an effectively empty coinsview, now it will be printed once unconditionally before we call VerifyLoadedChain.
2021-12-06Split off VerifyLoadedChainstateCarl Dong
2021-12-06node/chainstate: Remove do/while loopCarl Dong
I strongly recommend reviewing with the following git-diff flags: --ignore-space-change
2021-12-06Move init logistics message for BAD_GENESIS_BLOCK to init.cppCarl Dong
2021-12-06Move mempool nullptr Assert out of LoadChainstateCarl Dong
2021-12-06node/chainstate: Decouple from concept of NodeContextCarl Dong
...instead pass in only the necessary information Also allow mempool to be a nullptr
2021-12-06node/chainstate: Decouple from ArgsManagerCarl Dong
...instead pass in only the necessary information
2021-12-06node/chainstate: Decouple from stringy errorsCarl Dong
This allows us to separate the initialization code from translations and error reporting. This change changes the caller semantics of LoadChainstate quite drastically. To see that this change doesn't change behaviour, observe that: 1. Prior to this change, LoadChainstate returned false only in the "bad genesis block" failure case (by returning InitError()), indicating that the caller should immediately bail. After this change, the corresponding ERROR_BAD_GENESIS_BLOCK handler in src/init.cpp maintains behavioue by also bailing immediately. 2. The failed_* temporary booleans were only used to break out of the outer do/while(false) loop. They can therefore be safely removed.
2021-12-06node/chainstate: Decouple from GetTimeMillisCarl Dong
...instead just move it out
2021-12-06node: Extract chainstate loading sequenceCarl Dong
I strongly recommend reviewing with the following git-diff flags: --color-moved=dimmed_zebra --color-moved-ws=allow-indentation-change [META] This commit is intended to be as close to a move-only commit as possible, and lingering ugliness will be resolved in subsequent commits. A few variables that are passed in by value instead of by reference deserve explanation: - fReset and fReindexChainstate are both local variables in AppInitMain and are not modified in the sequence - fPruneMode, despite being a global, is only modified in AppInitParameterInteraction, long before LoadChainstate is called ---- [META] This semantic will change in a future commit named "node/chainstate: Decouple from stringy errors"
2021-12-06Merge bitcoin/bitcoin#17160: refactor: net: subnet lookup: use single-result ↵W. J. van der Laan
LookupHost() a989f98d240a84b5c798252acaa4a316ac711189 refactor: net: subnet lookup: use single-result LookupHost() (Sebastian Falbesoner) Pull request description: plus describe single IP subnet case for more clarity ACKs for top commit: jonatack: utACK a989f98d240a84b5c798252acaa4a316ac711189 the patch rebases cleanly to master, the debug build is green, and it is essentially the same patch as c8991f0251dd2a modulo local variable naming, braced initialization, and a comment vasild: ACK a989f98d240a84b5c798252acaa4a316ac711189 Tree-SHA512: 082d3481b1fa5e5f3267b7c4a812954b67b36d1f94c5296fe20110699f053e5042dfa13f728ae20249e9b8d71e930c3b119410125d0faeccdfbdc259223ee3a6
2021-12-06Merge bitcoin/bitcoin#23486: rpc: Only allow specific types to be P2(W)SH ↵W. J. van der Laan
wrapped in decodescript 99993425afc2c352b26e678b7ffbc74362ac3527 rpc: Only allow specific types to be P2(W)SH wrapped in decodescript (MarcoFalke) Pull request description: It seems confusing to return a P2SH wrapping address that is eventually either policy- or consensus-unspendable. ACKs for top commit: laanwj: Code review re-ACK 99993425afc2c352b26e678b7ffbc74362ac3527 Tree-SHA512: 3cd530442acee7c295d244995f0f17b2cae7212f1e0970bb5807621f8ff8e4308a3236b385d77087cd493d32ee524813d8edd15e91d937ef9a800094b7bc4946
2021-12-06Merge bitcoin/bitcoin#23661: cover DisconnectBlock with lock annotationMarcoFalke
7da4a8ffb3c9807c59f8ba63781169e4045594ba cover DisconnectBlock with lock annotation (James O'Beirne) Pull request description: While reviewing #23630, I noticed that `DisconnectBlock` is uncovered by lock annotations. CoinsTip() access requires cs_main and therefore so should this function. ACKs for top commit: jonatack: ACK 7da4a8ffb3c9807c59f8ba63781169e4045594ba Tree-SHA512: 3e2b0247c138b31deeadcd48eb3f7bc8d32c0b6bb6d6e94ccf8ea0cbbc50b1b35d83f662eee432f2bd2d87a3fe9c94604da806ec711df93298bfb0ab34a5a05b
2021-12-06Merge bitcoin/bitcoin#23614: test: add unit test for block-relay-only evictionMarcoFalke
4740fe8212da21e86664355b4c6d0d7d838e4382 test: Add test for block relay only eviction (Martin Zumsande) Pull request description: Adds a unit test for block-relay-only eviction logic added in #19858, which was not covered by any tests before. The added test is very similar to the existing `stale_tip_peer_management` unit test, which tests the analogous logic for regular outbound peers. ACKs for top commit: glozow: reACK 4740fe8212da21e86664355b4c6d0d7d838e4382 rajarshimaitra: tACK https://github.com/bitcoin/bitcoin/pull/23614/commits/4740fe8212da21e86664355b4c6d0d7d838e4382 shaavan: ACK 4740fe8212da21e86664355b4c6d0d7d838e4382. Great work @ mzumsande! LarryRuane: ACK 4740fe8212da21e86664355b4c6d0d7d838e4382 Tree-SHA512: 5985afd7d8f7ae311903dbbf6b7d526e16309c83c88ae6dd6551960c0b186156310a6be0cf6b684f82ac1378d0fc5aa3717f0139e078471013fceb6aebe81bf6
2021-12-06Merge bitcoin/bitcoin#23596: test: fix `wallet_transactiontime_rescan.py ↵MarcoFalke
--descriptors` and add to test runner e4a54af6b851b9f884500087c44f75815d40c559 test: add wallet_transactiontime_rescan.py --descriptors to test_runner.py (Sebastian Falbesoner) b60e02e993ce9fc3520e1ec5e85423dcefb06f2d test: fix test wallet_transactiontime_rescan.py for descriptor wallets (Sebastian Falbesoner) a905ed1a61da2fc278f4bc9fa523e81604f61a5e test: refactor: use `set_node_times` helper in wallet_transactiontime_rescan.py (Sebastian Falbesoner) Pull request description: The functional test wallet_transactiontime_rescan.py currently fails on master branch, if descriptor wallets are used (argument `--descriptors`). This is due to the fact that in this case, the test framework maps the importaddress RPC calls to the importdescriptors RPC (rescan=False -> timestamp='now'), which always rescans blocks of the past 2 hours, based on the current MTP timestamp. In order to avoid importing the last address (wo3), we generate 10 more blocks with advanced time, to ensure that the balance after importing is zero: https://github.com/bitcoin/bitcoin/blob/681b25e3cd7d084f642693152322ed9a40f33ba0/test/functional/wallet_transactiontime_rescan.py#L125-L134 Calling this test with descriptor wallets is also added to test runner. Fixes #23562. ACKs for top commit: Sjors: tACK e4a54af brunoerg: tACK e4a54af6b851b9f884500087c44f75815d40c559 Tree-SHA512: 9fd8e298d48dd7947b1218d61a1a66c1241b3dbb14451b0ec7cd30caa74ee540e7ee5a7bd10d421b9e3b6e549fa5c3e85bd02496436128b433b328118642f600
2021-12-06Merge bitcoin/bitcoin#23577: Follow-ups to Bech32 error detectionW. J. van der Laan
a4fe70171b6fa570eda71d86b59d0fb24c2f0614 Make Bech32 LocateErrors return error list rather than using out-arg (Samuel Dobson) 2fa4fd196176160a5ad0a25da173ff93252b8103 Use std::iota instead of manually pushing range (Samuel Dobson) 405c96fc9fd909ccc461f10d55dfdd822b76f5bf Use bounds-checked array lookups in Bech32 error detection code (Samuel Dobson) 28d9c2857f1c430069bffe0547d12800c84ed9ec Simplify encoding of e in GF(1024) tables to (1,0) (Samuel Dobson) 14358a029def2334ac60d6eb630c60db6dc06f9d Replace GF1024 tables and syndrome constants with compile-time generated constexprs. (Samuel Dobson) 63f7b6977989b93e13c3afd8dfd22b524842b9d7 Update release note for bech32 error detection (Samuel Dobson) c8b9a224e70f70ccc638b2c4200a505cdf024efd Report encoding type in bech32 error message (Samuel Dobson) 92f0cafdca11a9463b6f04229c1c47805c97c1b5 Improve Bech32 boost tests (Samuel Dobson) bb4d3e9b970be2a8de3e146623801fc8cbbeb0c7 Address review comments for Bech32 error validation (Samuel Dobson) Pull request description: A number of follow-ups and improvements to the bech32 error location code, introduced in #16807. Notably, this removes the hardcoded GF1024 tables in favour of constexpr table generation. ACKs for top commit: laanwj: Re-ACK a4fe70171b6fa570eda71d86b59d0fb24c2f0614 Tree-SHA512: 6312373c20ebd6636f5797304876fa0d70fa777de2f6c507245f51a652b3d1224ebc55b236c9e11e6956c1e88e65faadab51d53587078efccb451455aa2e2276
2021-12-06rpc: Only allow specific types to be P2(W)SH wrapped in decodescriptMarcoFalke
2021-12-06Merge bitcoin/bitcoin#23672: tests: Add data-driven testcases to ↵MarcoFalke
rpc_decodescript.py b35942e500159ce601e909375fdafd8497f23b36 tests: Add data-driven testcases to rpc_decodescript.py (Dimitri) Pull request description: closes #23641 Top commit has no ACKs. Tree-SHA512: 2f494c78ad085d523fae15befaadb9e0fc382b5310e3a95395ecf06a90968b15b6d232f7564098ed0a68419e27aa2e5260fe691cf2ce84af9fb6b65634e54d77
2021-12-06Merge bitcoin/bitcoin#23681: test: Remove false coinstatsindex testMarcoFalke
c055f6b216659b844c8dcd4ff2a977f181099678 test: Remove false coinstatsindex test (Fabian Jahr) Pull request description: This test never actually tested the behavior that it describes in the comments. This was discovered in #21590 which seems to speed up muhash which lead to the test failing. I can vaguely remember that the described behavior was desired by some reviewers of `coinstatsindex`: That `coinstatsindex` should be aware of stale blocks and able to return statistics on them as well. The index actually does this for blocks that it sees while the index is active, i.e. while running `coinstatsindex` all blocks will be indexed and even when they become stale the index (via `gettxoutsetinfo`) will still return a result for them when given the right hash. But this currently does not work for blocks that the node saw and that became stale _before_ the node activated `coinstatsindex`. While the index syncs initially everything but the active chain is ignored and I don't see any indication that this ever worked differently in the past. Introducing this behavior seems non-trivial at first glance so, while I will give this a shot, I think the test should be removed so it does not confuse users and does not block #21590. Top commit has no ACKs. Tree-SHA512: b05f5dfeea3e453c8bb7c761501d0d896d4412a3f0c08037955951fae9fe388c63402da401792591e18da8fb67734f47f1a297d573cdb66e0ced451698718067
2021-12-06Make Bech32 LocateErrors return error list rather than using out-argSamuel Dobson
2021-12-05test: Remove false coinstatsindex testFabian Jahr
2021-12-05tests: Add data-driven testcases to rpc_decodescript.pyDimitri
2021-12-05Merge bitcoin-core/gui#493: qt: Handle Android back key in the Node windowHennadii Stepanov
a56a1049380b0acb532681484fbb675c3b2ff365 qt: Handle Android back key in the Node window (Hennadii Stepanov) f045f987171c3960c12813538b9f19a54a50b4f8 qt, android: Add GUIUtil::IsEscapeOrBack helper (Hennadii Stepanov) Pull request description: On master (4633199cc8a466b8a2cfa14ba9d7793dd4c469f4) there are no means to return from the Node window to the main one on Android. This PR assigns this functionality to the Android back key: ![Screenshot_1638395318](https://user-images.githubusercontent.com/32963518/144320316-af5599ac-0379-40e6-9887-7f5ee30b97ae.png) ACKs for top commit: icota: utACK https://github.com/bitcoin-core/gui/commit/a56a1049380b0acb532681484fbb675c3b2ff365 Tree-SHA512: 379c1ad8c6bffa037e861b88c66eb33872d7f7d54aa2f76289a51c55d79a37a0c16262b20f22d00fda11522c7df1f3561c1ceae34cd7a85da94aee4c6cdcfaaf
2021-12-03cover DisconnectBlock with lock annotationJames O'Beirne
CoinsTip() access requires cs_main and therefore so should this function.
2021-12-03Merge bitcoin/bitcoin#23654: fuzz: Rework rpc fuzz targetMarcoFalke
fa52a86fd3acbcfc4b5ca1304c19d81df66d85d7 fuzz: Rework rpc fuzz target (MarcoFalke) Pull request description: Changes (reason): * Return `void` in `CallRPC` (the result is unused anyway) * Reduce the `catch`-scope of `std::runtime_error` to `RPCConvertValues` (Code clarity and easier bug-finding) * Crash when an internal bug is detected (bugs are bad) ACKs for top commit: shaavan: Code Review ACK fa52a86fd3acbcfc4b5ca1304c19d81df66d85d7 Tree-SHA512: 576411a0e50bca9be3e6ffaf745001b1808fd37029251f8ec2c279e0671efe91d43dd81fd4ca26871c28b119e593ee2a0043d4b75f44da578f17541ee3afd696
2021-12-03Merge bitcoin/bitcoin#23489: build: Qt 5.15.2fanquake
c0a1c3ca0894d4bb932bc13c6b92babe6df65030 ci: Bump Qt to 5.15.2 in the native Windows task (Hennadii Stepanov) 06aca8aacbf5f5561d4bdaadf1b89a436961df04 doc: Update `build_msvc/README.md` for Qt 5.15.2 (Hennadii Stepanov) 1732eaba4f853814a3c3b770462f14eee55a8c98 build, qt: Fix regression in rendering on macOS Big Sur (Hennadii Stepanov) c870027cc261ebe6e0e2030df06619a8f663e80a build: qt 5.15.2 (fanquake) 904ba2aa40c5399b956fd97c8b38bca8a1aa32c7 build: add libxcb_util_wm 0.4.1 (fanquake) 0e2ca89a78156d362249369f011cac73d24aeef3 build: add libxcb_util_image 0.4.0 (fanquake) 36af9b6c94b911daf4c1d5b1d65e9386d540990f build: add libxcb_util_keysyms 0.4.0 (fanquake) b3cfbf5af29be1a03efcae04eb0242fc6bca95e4 build: add libxcb_util_render 0.3.9 (fanquake) e545b56dc599a5aca25f4a0f84430440653b09e4 build: add libxcb_util 0.4.0 (fanquake) 937b36b5f07f085d25d7f28036e98123837bee13 build: libxcb 1.14 (fanquake) 01544dd78ccc0b0474571da854e27adef97137fb build: freetype 2.11.0 (fanquake) 10ac182f4cfbb7d3494576f68f9aa2e33403f4cb build: expat 2.4.1 (fanquake) d3d547c545021d8339db666d36e48f10ea478f9c build: xcb_proto 1.14.1 (fanquake) fc65127244320500022c3772141850eda28b99af build: libXau 1.0.9 (fanquake) 06975573210d9662485f057949829fef8dde7ef1 build: xproto 7.0.31 (fanquake) Pull request description: Hebasto asked for this branch to be resurrected, so here it is. Guix Builds: ```bash 9bbbec69cc56255fbe0dd6f63d26b6d76ebc071275cd603a2388baf028a2e5fe guix-build-c0a1c3ca0894/output/aarch64-linux-gnu/SHA256SUMS.part 57aee87dedbf3c41e52e7bb18cb52e96a656696699ce0663a35cf6c030ca048a guix-build-c0a1c3ca0894/output/aarch64-linux-gnu/bitcoin-c0a1c3ca0894-aarch64-linux-gnu-debug.tar.gz 8d2842ff0995bf53f4ed6f67e3db3d33f4cd1d117b15122d750875a3681dba21 guix-build-c0a1c3ca0894/output/aarch64-linux-gnu/bitcoin-c0a1c3ca0894-aarch64-linux-gnu.tar.gz 67b342e95d8fa5d897d84e53f5bb5cc8323921d31c51497196b54d2c2d62e915 guix-build-c0a1c3ca0894/output/arm-linux-gnueabihf/SHA256SUMS.part f52e8b2e28236a7fb0dd26989c39ef18472161a892f90e62cea26ae7c2daadaf guix-build-c0a1c3ca0894/output/arm-linux-gnueabihf/bitcoin-c0a1c3ca0894-arm-linux-gnueabihf-debug.tar.gz 1dce8e6953e52874b98a0f5dafaebf068584984e2c3cd40d3110dd3c5c0d2f8d guix-build-c0a1c3ca0894/output/arm-linux-gnueabihf/bitcoin-c0a1c3ca0894-arm-linux-gnueabihf.tar.gz f8328d777b0f1be68408c2df5907c4dd890dd0617b1aa747b3bf140f84c0f61d guix-build-c0a1c3ca0894/output/dist-archive/bitcoin-c0a1c3ca0894.tar.gz b3e71decb914c3be9c88586084853ab086d77929707c1a7649991b75c734f3e2 guix-build-c0a1c3ca0894/output/powerpc64-linux-gnu/SHA256SUMS.part 30a8ad718f848297ac1dc8f48eadb37b983d5837f807ecfedb6723932cb5e84a guix-build-c0a1c3ca0894/output/powerpc64-linux-gnu/bitcoin-c0a1c3ca0894-powerpc64-linux-gnu-debug.tar.gz 111444d627aa837e8a7f450dfe304ff20139ca018a293c9a5e8c5aec33ab75a9 guix-build-c0a1c3ca0894/output/powerpc64-linux-gnu/bitcoin-c0a1c3ca0894-powerpc64-linux-gnu.tar.gz ef815b019722b774995e2a999cdbd79b34b8636f92f62b2f8e6b99b294ad1bc5 guix-build-c0a1c3ca0894/output/powerpc64le-linux-gnu/SHA256SUMS.part 5521bf88d0febd79301dbed30205c1bef6257eb03ae5d4a5227bac3b66b0b427 guix-build-c0a1c3ca0894/output/powerpc64le-linux-gnu/bitcoin-c0a1c3ca0894-powerpc64le-linux-gnu-debug.tar.gz 6d2ae36ec34e7b5d3d84d6a50595c39c1d89b2659ed9eba5e7c8b21a9cbb8f04 guix-build-c0a1c3ca0894/output/powerpc64le-linux-gnu/bitcoin-c0a1c3ca0894-powerpc64le-linux-gnu.tar.gz 8aa9cb8a5585d8b27feafa8403fcba803152fb154d7c308f6759670c11107cfa guix-build-c0a1c3ca0894/output/riscv64-linux-gnu/SHA256SUMS.part 7abbf8efdc91399ab0d2dde18b3be19734f956a07ed1cc19f8f5178647f9ac94 guix-build-c0a1c3ca0894/output/riscv64-linux-gnu/bitcoin-c0a1c3ca0894-riscv64-linux-gnu-debug.tar.gz 1dfd20f75feb316882043dd081f0ee4bd2032481e17d40f7ae9f2b430c316754 guix-build-c0a1c3ca0894/output/riscv64-linux-gnu/bitcoin-c0a1c3ca0894-riscv64-linux-gnu.tar.gz 1949530e8e68b68c72f627296995b93e9ec048c2740274a8874fe9565eca4a46 guix-build-c0a1c3ca0894/output/x86_64-apple-darwin19/SHA256SUMS.part ab2e63f9f58834ddc0fc5f83a2a7938ffcf8057392f0c5ce92a8d456e9b8e4af guix-build-c0a1c3ca0894/output/x86_64-apple-darwin19/bitcoin-c0a1c3ca0894-osx-unsigned.dmg 38958a096117542cde4dcac318d116fdeec3237c95ebf88fff0e76570002109e guix-build-c0a1c3ca0894/output/x86_64-apple-darwin19/bitcoin-c0a1c3ca0894-osx-unsigned.tar.gz 8841df372ef1ea670dc8d4f82b007420140a39454371be47193e484a4f95fd76 guix-build-c0a1c3ca0894/output/x86_64-apple-darwin19/bitcoin-c0a1c3ca0894-osx64.tar.gz 4e0d6b6a715d987ff025e45782dd6a47cfdac904a26d932c9c84de7eb8b699d4 guix-build-c0a1c3ca0894/output/x86_64-linux-gnu/SHA256SUMS.part 3ac4c326313650c0d0a35560c4073f0c3fcbf7002c5b5c918e7186627c8ed392 guix-build-c0a1c3ca0894/output/x86_64-linux-gnu/bitcoin-c0a1c3ca0894-x86_64-linux-gnu-debug.tar.gz fcd45fe54cb86a7e9240a6bbe2170926e6db32ee55b821af332348d4c4e1d3a4 guix-build-c0a1c3ca0894/output/x86_64-linux-gnu/bitcoin-c0a1c3ca0894-x86_64-linux-gnu.tar.gz 72deb4fc1c5b70ae329ab04862e822911708f3c4a4d8a0bbb5796d9a64985414 guix-build-c0a1c3ca0894/output/x86_64-w64-mingw32/SHA256SUMS.part 78ae8f495bfb02198b00b7fc72b67fb0595f81dd9e3aef45e5103efea90451d9 guix-build-c0a1c3ca0894/output/x86_64-w64-mingw32/bitcoin-c0a1c3ca0894-win-unsigned.tar.gz 962fcf4ce63e5a89fb1e74e19dbc1aeffc4d5b753ab8e19fcf2249ce21766c5b guix-build-c0a1c3ca0894/output/x86_64-w64-mingw32/bitcoin-c0a1c3ca0894-win64-debug.zip 3929916755d599b133304acd94462afad1ba73d5516f6f9786aff565c6ac8818 guix-build-c0a1c3ca0894/output/x86_64-w64-mingw32/bitcoin-c0a1c3ca0894-win64-setup-unsigned.exe 66e2030476de85437e1593b7d2f4efd4a8837de8b2479217f9246d8028256e08 guix-build-c0a1c3ca0894/output/x86_64-w64-mingw32/bitcoin-c0a1c3ca0894-win64.zip ``` ACKs for top commit: hebasto: re-ACK c0a1c3ca0894d4bb932bc13c6b92babe6df65030 Tree-SHA512: 33e7a3e022dfc3a7e93f4bc2acf887c7c2afacc182352f4dfb5917342d5923e0a8d17eaf10928e68b666db6ab748cc02d3d3dfb41e4aad7d296a403b79b3e63d
2021-12-03Merge bitcoin/bitcoin#23630: Remove GetSpendHeightfanquake
fa3942fc4c66d7624bd3578d1e7f4a6a7721c11a Remove GetSpendHeight (MarcoFalke) Pull request description: It is unclear what the goal of the helper is, as the caller already knows the spend height before calling the helper. Also, in case the coins view is corrupted, LookupBlockIndex will return nullptr. Dereferencing a nullptr is UB. Fix both issues by removing it. Also, add a sanity check, which aborts if the coins view is corrupted. ACKs for top commit: laanwj: Code review ACK fa3942fc4c66d7624bd3578d1e7f4a6a7721c11a ryanofsky: Code review ACK fa3942fc4c66d7624bd3578d1e7f4a6a7721c11a. I'm not aware of cases where coins GetBestBlock could be different from active chain tip, and asset seems sufficient to guarantee PR doesn't change behavior if that doesn't happen. Tree-SHA512: 29f65d72e116ec5a4509e0947ceeaa5bb6b7dfd5d174d3c7945cb15fa266d590c4f8b48e6385de74ef7d7c84ebd2255de902ad9c87c24955348a91b12e5bffd5
2021-12-03Merge bitcoin/bitcoin#23413: Replace MakeSpan helper with Span deduction guideMarcoFalke
11daf6ceb1d9ea1f8d638b123eecfe39d162a7c3 More Span simplifications (Pieter Wuille) 568dd2f83900a11a4dbba1250722791a135bf0a9 Replace MakeSpan helper with Span deduction guide (Pieter Wuille) Pull request description: C++17 supports [user-defined deduction guides](https://en.cppreference.com/w/cpp/language/class_template_argument_deduction), allowing class constructors to be invoked without specifying class template arguments. Instead, the code can contain rules to infer the template arguments from the constructor argument types. This alleviates the need for the `MakeSpan` helper. Convert the existing MakeSpan rules into deduction rules for `Span` itself, and replace all invocations of `MakeSpan` with just `Span` ones. ACKs for top commit: MarcoFalke: re-ACK 11daf6ceb1d9ea1f8d638b123eecfe39d162a7c3 Only change is removing a hunk in the tests 🌕 Tree-SHA512: 10f3e82e4338f39d9b7b407cd11aac7ebe1e9191b58e3d7f4e5e338a4636c0e126b4a1d912127c7446f57ba356c8d6544482e47f97901efea6a54fffbfd7895f
2021-12-03Merge bitcoin/bitcoin#23653: Generalize/simplify VectorReader into SpanReaderMarcoFalke
2c35a93b3cc19dc71d5664f9f61c24a04f419e35 Generalize/simplify VectorReader into SpanReader (Pieter Wuille) Pull request description: Originally written for #21590 (safegcd-based MuHash inverses), but then found a better way that removed the need for it, so I'm submitting it independently. ACKs for top commit: MarcoFalke: re-ACK 2c35a93b3cc19dc71d5664f9f61c24a04f419e35 🖨 shaavan: ACK 2c35a93b3cc19dc71d5664f9f61c24a04f419e35 Tree-SHA512: 959e3251e0cfe20e13a50639b617c9dc2a561d613a0884d983c93d15dacb6d2305d760aa933d18ba055cef8a1651a344bcb6b3f93051ecf26d3f2efc5779efa4
2021-12-03Merge bitcoin/bitcoin#23652: doc: Document optional RPC result fieldsMarcoFalke
fab6c43b40773555b3f919c1403b8f3f48e92d5c doc: Document optional result fields in validateaddress (MarcoFalke) faee2656a8de3979ec7392d32dbd3a9a5776befb doc: Document optional result fields in getpeerinfo (MarcoFalke) Pull request description: ACKs for top commit: shaavan: ACK fab6c43b40773555b3f919c1403b8f3f48e92d5c Tree-SHA512: 78458d0c4deb9253fbfe37fa5736a7db14eb0478bcc4adeba10ba6945e83d8eac92048293f50c054ea612609939151b4a2e1226c06f6067901f3d58c127c7e18
2021-12-03Merge bitcoin/bitcoin#23647: MOVEONLY: Move wallet backup and encryption ↵MarcoFalke
RPCs out of rpcwallet 5b2167fd30ea4384b93a0226e9fbef4650aa9438 MOVEONLY: Move LoadWalletHelper to wallet/rpc/util (Samuel Dobson) 8b73640152dbe7201e740019f4c2554e9ba8cc99 MOVEONLY: Move wallet encryption RPCs to encrypt.cpp (Samuel Dobson) 803b30502b8134ee6edd5bdda3e4e3e22e76b393 MOVEONLY: Move backupwallet and restorewallet to rpc/backup.cpp (Samuel Dobson) 3a9d39324e71ddf1682db5b248eb05758bed0f52 MOVEONLY: Move rpcdump.cpp to wallet/rpc/backup.cpp (Samuel Dobson) Pull request description: As part of an effort to split rpcwallet as per #23622, this moves `rpcdump.cpp` into the new wallet/rpc directory as well as moving backup and encryption RPCs out of rpcwallet. ACKs for top commit: MarcoFalke: ACK 5b2167fd30ea4384b93a0226e9fbef4650aa9438 🎭 Tree-SHA512: aa8054767927fa56b5c51edc91a2d94fe9f1cca198e1b2cac1ebd464f6956a89c782a7b6de4409361adca6ca1377272b6e2af660b737c4849ee323f899945ad9
2021-12-03ci: Bump Qt to 5.15.2 in the native Windows taskHennadii Stepanov
2021-12-03doc: Update `build_msvc/README.md` for Qt 5.15.2Hennadii Stepanov
2021-12-03build, qt: Fix regression in rendering on macOS Big SurHennadii Stepanov
2021-12-03build: qt 5.15.2fanquake
2021-12-03build: add libxcb_util_wm 0.4.1fanquake
Required for xcb_icccm.
2021-12-03build: add libxcb_util_image 0.4.0fanquake
2021-12-03build: add libxcb_util_keysyms 0.4.0fanquake
2021-12-03build: add libxcb_util_render 0.3.9fanquake
2021-12-03build: add libxcb_util 0.4.0fanquake
2021-12-03build: libxcb 1.14fanquake
Minimum required libxcb to build qt 5.15.x is 1.11. https://codereview.qt.nokia.com/c/qt/qtbase/+/253905 Some plugins have been re-enabled as they are required by Qt.
2021-12-03build: freetype 2.11.0fanquake
Co-authored-by: mammix2 <mammix2@hotmail.com>
2021-12-03build: expat 2.4.1fanquake
2021-12-03build: xcb_proto 1.14.1fanquake
2021-12-03build: libXau 1.0.9fanquake