aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-04-02Merge bitcoin/bitcoin#29787: guix: remove errant leftover from #29648fanquake
fd8527a20ebc490df030b3a91c1161f00c8a29b6 guix: remove errant leftover from #29648 (fanquake) Pull request description: We no longer build a lib, so a non-existent dir is causing builds to fail. ACKs for top commit: josibake: ACK https://github.com/bitcoin/bitcoin/pull/29787/commits/fd8527a20ebc490df030b3a91c1161f00c8a29b6 hebasto: ACK fd8527a20ebc490df030b3a91c1161f00c8a29b6. TheCharlatan: ACK fd8527a20ebc490df030b3a91c1161f00c8a29b6 Tree-SHA512: 9175a0de3f95f56939b3eaa3e89dca2cfae4996bcd84ef6b8e2872672bef39cb0550c9f4a79475d887eb8fac92c15dfa8c352648ff167d54a0b736978412226c
2024-04-02Merge bitcoin/bitcoin#29419: log: deduplicate category names and improve ↵Ryan Ofsky
logging.cpp b0344c219a641b759fb0cc4f53afebe675b8ca27 logging: remove unused BCLog::UTIL (Vasil Dimov) d3b3af90343b7671231afd7dff87e87ff86d31d7 log: deduplicate category names and improve logging.cpp (Vasil Dimov) Pull request description: The code in `logging.cpp` needs to: * Get the category name given the flag (e.g. `BCLog::PRUNE` -> `"prune"`) * Get the flag given the category name (e.g. `"prune"` -> `BCLog::PRUNE`) * Get the list of category names sorted in alphabetical order Achieve this by using the proper std containers. The result is * less code (the diff of the first commit is +62 / -129) * faster code (to linear search and no copy+sort) * more maintainable code (the categories are no longer duplicated in `LogCategories[]` and `LogCategoryToStr()`) This behavior is preserved: `BCLog::NONE` -> `""` (lookup by `LogCategoryToStr()`) `""` -> `BCLog::ALL` (lookup by `GetLogCategory("")`) --- Also remove unused `BCLog::UTIL`. --- These changes (modulo the `BCLog::UTIL` removal) are part of https://github.com/bitcoin/bitcoin/pull/29415 but they make sense on their own and would be good to have them, regardless of the fate of https://github.com/bitcoin/bitcoin/pull/29415. Also, if this is merged, that would reduce the size of https://github.com/bitcoin/bitcoin/pull/29415, thus the current standalone PR. ACKs for top commit: davidgumberg: crACK https://github.com/bitcoin/bitcoin/pull/29419/commits/b0344c219a641b759fb0cc4f53afebe675b8ca27 pinheadmz: ACK b0344c219a641b759fb0cc4f53afebe675b8ca27 ryanofsky: Code review ACK b0344c219a641b759fb0cc4f53afebe675b8ca27. Nice cleanup! Having to maintain multiple copies of the same mapping seemed messy and a like a possible footgun. I checked old and new mappings in both directions and confirmed no behavior should be changing. Tree-SHA512: 57f87a090932f9b33dc8e075d1855dba9b71a3243a0758511745483dec2d9c46d3b532eadab297e78164c9b7caba370986ee380696a45f0778a841082f8e21a7
2024-04-02Merge bitcoin/bitcoin#29784: [doc] add historical release notes for 26.1fanquake
d32346c39e9ddb2a58a4bb77061044ac3008ca7e [doc] add historical release notes for 26.1 (glozow) Pull request description: Need for github release ACKs for top commit: fanquake: ACK d32346c39e9ddb2a58a4bb77061044ac3008ca7e - looks like just a newline difference. Tree-SHA512: 567647bdab8b5a8405b43682e3a0f86282eb0b866c83423a7866fef872307a7ca88d564604f1cfe53d6ce48407aa6cf88bdf18b35c16c959e2a36062bff39a50
2024-04-02Merge bitcoin/bitcoin#29733: build, macos: Drop unused `osx_volname` targetfanquake
eff19fa1c8d736d30dea937ebce0b372c19b7559 build, macos: Drop unused `osx_volname` target (Hennadii Stepanov) Pull request description: The `osx_volname` makefile target was introduced in https://github.com/bitcoin/bitcoin/pull/7192 and was used to pass the package name to Gitian scripts as a content of the `osx_volname` file. With the current Guix scripts, the `osx_volname` file is never read. Therefore, its creation might be omitted. My Guix builds: ``` x86_64 5e2d254e207d53784621c8df331c9bf4a969da667d185992402f48a5ac49f563 guix-build-eff19fa1c8d7/output/arm64-apple-darwin/SHA256SUMS.part 089dba70685893aca5e7c8ce1d53a07380e87ca50eda8b3a2a75aeaeb1d28e48 guix-build-eff19fa1c8d7/output/arm64-apple-darwin/bitcoin-eff19fa1c8d7-arm64-apple-darwin-unsigned.tar.gz 390c57197c6ab4aefdde1c665d5e4ebdfb4ae5e553f8f93b017f2fad1093d110 guix-build-eff19fa1c8d7/output/arm64-apple-darwin/bitcoin-eff19fa1c8d7-arm64-apple-darwin-unsigned.zip e1edde7ca28bf26aea8d956b1d3c1725a475f2a9c148f5c36b651db4b814091c guix-build-eff19fa1c8d7/output/arm64-apple-darwin/bitcoin-eff19fa1c8d7-arm64-apple-darwin.tar.gz d0096ea73a5f75cc4d3cef4ef1761ae3e48c8a63aff918f07371c5c88896e4e6 guix-build-eff19fa1c8d7/output/dist-archive/bitcoin-eff19fa1c8d7.tar.gz 51b4affb9fd6f8aea05b7d25d29f017d0a0a145395f457caa14b9af9646b035b guix-build-eff19fa1c8d7/output/x86_64-apple-darwin/SHA256SUMS.part b1df081ecf636a92754e673e5388d1d988653d4646f0b0446a4c9f14d865a265 guix-build-eff19fa1c8d7/output/x86_64-apple-darwin/bitcoin-eff19fa1c8d7-x86_64-apple-darwin-unsigned.tar.gz 62e09926029d176da950d3e3db7ff8ae6cbe4c0b2ea17b084fc1d28565f91475 guix-build-eff19fa1c8d7/output/x86_64-apple-darwin/bitcoin-eff19fa1c8d7-x86_64-apple-darwin-unsigned.zip 477dcb2382cbd447bd88a3b644b4bd736f5b67d66d42cb73fe31ffc153d3e181 guix-build-eff19fa1c8d7/output/x86_64-apple-darwin/bitcoin-eff19fa1c8d7-x86_64-apple-darwin.tar.gz ``` ACKs for top commit: Empact: ACK https://github.com/bitcoin/bitcoin/pull/29733/commits/eff19fa1c8d736d30dea937ebce0b372c19b7559 Sjors: tACK eff19fa1c8d736d30dea937ebce0b372c19b7559 TheCharlatan: ACK eff19fa1c8d736d30dea937ebce0b372c19b7559 Tree-SHA512: 29714be5c58caa07b3eb99846d71bb83366dade769af022059bb3c499878adcd34cdf03b006c5da561291f373ccc59abdb83c925057ec0049465eaa8dd6ef4e1
2024-04-02guix: remove errant leftover from #29648fanquake
We no longer build a lib, so a non-existent dir is causing builds to fail.
2024-04-02Merge bitcoin/bitcoin#29687: cli: improve bitcoin-cli error when not connectedfanquake
69d6fd676e9c15ef41a03722d51ed0b13c3e4320 cli: improve bitcoin-cli error when not connected (willcl-ark) Pull request description: Closes: #29555 Simply adds an additional suggestion to check `bitcoin-cli -help`. ACKs for top commit: maflcko: lgtm ACK 69d6fd676e9c15ef41a03722d51ed0b13c3e4320 itornaza: tested ACK 69d6fd676e9c15ef41a03722d51ed0b13c3e4320 tdb3: ACK for 69d6fd676e9c15ef41a03722d51ed0b13c3e4320 Tree-SHA512: af0c712bcc9b1267f81a8316d015bef99ab788ef43e3b450cdc4a9cb74004727d757d48f50d3af2b28b01be2931578623311677a79f1b148a53f364bd4279a0c
2024-04-02Merge bitcoin/bitcoin#29750: test: makes timeout a forced named argument in ↵fanquake
tests methods that use it 61560d5e939034e1a94d95cdc5c498095ab4fddb test: makes timeout a forced named argument in tests methods that use it (Sergi Delgado Segura) Pull request description: This makes calls to such methods more explicit and less error-prone. Motivated by https://github.com/bitcoin/bitcoin/pull/29736#discussion_r1540654057 ACKs for top commit: maflcko: lgtm ACK 61560d5e939034e1a94d95cdc5c498095ab4fddb brunoerg: ACK 61560d5e939034e1a94d95cdc5c498095ab4fddb BrandonOdiwuor: crACK 61560d5e939034e1a94d95cdc5c498095ab4fddb AngusP: ACK 61560d5e939034e1a94d95cdc5c498095ab4fddb stratospher: tested ACK 61560d5. Tree-SHA512: 8d6ec3fe1076c868ddbd3050f3c242dbd83cc123f560db3d3b0ed74968e6050dc9ebf4e7c716af9cc1b290c97d736c2fc2ac936b0b69ebdbceed934dae7d55d9
2024-04-02[doc] add historical release notes for 26.1glozow
2024-04-01Merge bitcoin/bitcoin#29753: test: fix StopIteration exception in ↵fanquake
p2p_node_network_limited.py 2eb5175de87c798af328de3f2147aac7879eaa10 test: fix StopIteration exception in p2p_node_network_limited.py (furszy) Pull request description: Fixes #29731 The `next()` call throws an exception if the default parameter is omitted and the iterator is exhausted. Fix it by providing a default value. The failure can be tested by commenting out lines 90 and 91 in the test (the `self.connect_nodes(2, 0)`). Since there is no connection, the node in question retrieves a single element in the 'getchaintips()' call. This scenario without the fix, aborts the test right away, throwing an `StopIteration` exception, and with the fix, the test properly waits until the timeout (`wait_until()` call). ACKs for top commit: maflcko: review ACK 2eb5175de87c798af328de3f2147aac7879eaa10 brunoerg: crACK 2eb5175de87c798af328de3f2147aac7879eaa10 BrandonOdiwuor: crACK 2eb5175de87c798af328de3f2147aac7879eaa10 tdb3: Tested ACK for 2eb5175de87c798af328de3f2147aac7879eaa10. Tree-SHA512: b0873eb4d3334146fd250cd2cd23add3e744877033c8bfa4eb8dff36633100604adf49dd7846856ddfa88c9768663f095db705c00eef3641618df8fc13f8c2c5
2024-04-01Merge bitcoin/bitcoin#29648: Remove libbitcoinconsensusfanquake
80f8b92f4f2311b9e9a25361c9dd973244e6f95c remove libbitcoinconsensus (fanquake) Pull request description: This was deprecated in `v27.0`, for removal in `v28.0`. See discussion in PR #29189. ACKs for top commit: theuni: Concept ACK and light review ACK 80f8b92f4f2311b9e9a25361c9dd973244e6f95c. My only hesitation here is that (afaics?) there's now nothing keeping undesired features like threading or globals from working their way into the interpreter in future commits. m3dwards: Concept ACK https://github.com/bitcoin/bitcoin/pull/29648/commits/80f8b92f4f2311b9e9a25361c9dd973244e6f95c TheCharlatan: ACK 80f8b92f4f2311b9e9a25361c9dd973244e6f95c hebasto: ACK 80f8b92f4f2311b9e9a25361c9dd973244e6f95c, I have reviewed the code and it looks OK. Tree-SHA512: 17a62118aeb088f2695c892bb32794dfea3061e3cb7d9e8e9f1c06c3ff6f63a7587fa532e37edbb91fbc5a19b12c9a0f8e05fa9e8864aa07f92665375d847e80
2024-04-01Merge bitcoin/bitcoin#29756: doc: Override `-g` properly to skip debugging ↵fanquake
information f8f5cece4dfda5c614e087be75af074181a36c39 doc: Override `-g` properly to skip debugging information (Hennadii Stepanov) Pull request description: Fix https://github.com/bitcoin/bitcoin/issues/29755. ACKs for top commit: TheCharlatan: ACK f8f5cece4dfda5c614e087be75af074181a36c39 Tree-SHA512: 02bff5fc41859deb914531ef01ea1ac88ab2e138219fe175472962192b11feefe772128da03f466ec765c1b35b21eead31a42cc76e62ecb7ea5dc947cf568d61
2024-04-01Merge bitcoin/bitcoin#29765: ci: Use clang-18fanquake
fa75220ac5e0ea401a26dd2f16a88627e51c240a ci: Use clang-18 in asan/fuzz/tsan task (MarcoFalke) fad23a06469607689c4f637bb407c96af4902a27 ci: Bump clang+llvm in i686_multiprocess task (MarcoFalke) Pull request description: Use clang-18, which comes with bugfixes and sanitizer upgrades. ACKs for top commit: fanquake: ACK fa75220ac5e0ea401a26dd2f16a88627e51c240a Tree-SHA512: da251eb55d3a7e537110b03fb0fc10fc6e2f4406d55bdb33bdc91459daabfd3b8d1d20859a66718bb1b09126e11495f6584c52504a85eb09bde9eafafdaf0b0b
2024-04-01Merge bitcoin/bitcoin#29732: depends: qt 5.15.13fanquake
430f319f73894499c56021b70f2827475c3f0433 depends: qt 5.15.13 (fanquake) Pull request description: I need to try and patch around Qts buildsystem to keep #21778 moving along (the issue being that even when you tell Qt to build using Clang on Linux, it still calls out to GCC, breaking our ability to have a macOS release build env that doesn't have a GCC toolchain installed, and thus no `ld` binary). Before trying to patch Qt any further, update to the latest LTS release, and update the current patch set. ACKs for top commit: TheCharlatan: Re-ACK 430f319f73894499c56021b70f2827475c3f0433 hebasto: re-ACK 430f319f73894499c56021b70f2827475c3f0433. Tree-SHA512: 11122c04d63f4ec79e5d7945e1686eaf308cb1f98c3ff8bc52e265d7353cd4f1a532f4d78d55b43183245aeebf93cc1092087d9fe83e42eefa8a69ad9017d2da
2024-04-01Merge bitcoin/bitcoin#29764: doc: Suggest installing dev packages for ↵fanquake
debian/ubuntu qt5 build 6c2990416e2dabd845f5ec50ec6ff138136c9b08 ci: Pull in qtbase5-dev instead of seperate low-level libraries (laanwj) a3c6a13cb23999fa70c428f1229acbf1b3883f11 doc: Suggest installing dev packages for debian/ubuntu qt5 build (laanwj) Pull request description: Pretty much all library packages were renamed in the 64-bit time_t migration to add `t64` (even on 64-bit platforms). Instead of complicating the doc with conditional package names, suggest installing the `-dev` packages which still have the same name, and besides that, are the right way to go about it as they contain the "user facing" C++ headers needed to build against Qt5. They pull in the necessary library packages through dependencies. For Fedora, devel packages are already suggested. This affects Ubuntu 24.04 and Debian Testing. ACKs for top commit: maflcko: lgtm ACK 6c2990416e2dabd845f5ec50ec6ff138136c9b08 hebasto: ACK 6c2990416e2dabd845f5ec50ec6ff138136c9b08. Tree-SHA512: dae21b7d08fdb221b7b72c323fdaaa6d1a8b014f90e24d2beae64b1ae229fdbeb93d726a61e826447813e52a3cb9775426aefc6c44a4c5ccc541afabb89cb135
2024-04-01Merge bitcoin/bitcoin#29738: doc: fix typosfanquake
601edd8ee8810b5c6b2184ce8d7f7b45e70913cf ci: use codespell 2.2.6 (fanquake) 52fa0d285f4e8109ebdd8b1e43c897f6bfaa8e65 doc: fix some typos (crazeteam) b5ed13a2408a141d737341137b26b2f0249c8167 doc: Fix typos (RoboSchmied) Pull request description: Combines the recent PRs to fix typos so they can be merged. ACKs for top commit: brunoerg: crACK 601edd8ee8810b5c6b2184ce8d7f7b45e70913cf tdb3: crACK 601edd8ee8810b5c6b2184ce8d7f7b45e70913cf kristapsk: cr utACK 601edd8ee8810b5c6b2184ce8d7f7b45e70913cf Tree-SHA512: d054b1dad1336d6b9291cc5d5252d4debf6424a993d4edd6a97d7c15055a7fc48a333d30967f72e7dc9c6c1d9a9038ca8bb5e219c529f4c2365ea48404a508d0
2024-03-29Merge bitcoin/bitcoin#29724: 29242 Diagram check followupsAva Chow
ee1b9b231a0a7e89b77cbf8ea54e0534f0970dd0 CalculateFeerateDiagramsForRBF: update misleading description of old diagram contents (Greg Sanders) a9d42b9aa579f54922ffd17fdeb61e704539b92c CompareFeerateDiagram: short-circuit comparison when detected as incomparable (Greg Sanders) cebcced65e8fdbd54893d4852d5ed6b85a8b0c45 remove erroneous CompareFeerateDiagram comment about slope (Greg Sanders) a0376e106182075634e50c14da00e84b4069b985 unit test: clarify unstated assumption for calc_feerate_diagram_rbf chunking (Greg Sanders) 890cb015f3b99c4f2f57a1bbc69e5cf2045c2739 s/effected/affected/ (Greg Sanders) d9391ec0952920bdbb10d3f6e9e706e85f717ec0 CalculateFeerateDiagramsForRBF: remove size tie-breaking from chunking conflicts (Greg Sanders) b684d82d7e093889a8dc7678c6d6605ca4cd9fa4 fuzz: Add more invariant checks for package_rbf (Greg Sanders) 2a3ada8b2181b45165608947c7c42b341d0a54dd fuzz: finer grained ImprovesFeerateDiagram check on error result (Greg Sanders) c377ae9ba08150c467e8b6cfaac7865f4d31457c unit test: improve ImprovesFeerateDiagram coverage with one less vb case (Greg Sanders) d2bf923eb19f6330bad673b71faadec582780aa1 unit test: make calc_feerate_diagram_rbf less brittle (Greg Sanders) defe023f6ec49dd64c6e03880cee0e9299b45762 fuzz: add PrioritiseTransaction coverage in diagram checks (Greg Sanders) 216d5ff1627be6562312b5afb477078ed8495999 unit test: add coverage showing priority affects diagram check results (Greg Sanders) a80d80936a8de487569d00755d0fbcd058a94823 unit test: add CheckConflictTopology case for not the only child (Greg Sanders) 69bd18ca80007584be4089b3f42650d351854bb3 unit test: check tx4 conflict error message (Greg Sanders) c0c37f07eb0fb4027faa04e5457f8421264e8ad5 unit test: have CompareFeerateDiagram tested with diagrams both ways (Greg Sanders) b62e2c0fa5f6010ff1fc60c59418d0796b83c5de ImprovesFeerateDiagram: Spelling fix and removal of unused diagram vectors (Greg Sanders) bb424029459af691c4d07988f3d76afeaee21644 doc: fix comment about non-existing CompareFeeFrac (Greg Sanders) Pull request description: Follow-ups to https://github.com/bitcoin/bitcoin/pull/29242 ACKs for top commit: glozow: ACK ee1b9b231a0a7e89b77cbf8ea54e0534f0970dd0, reviewed the changes and package_rbf fuzzer seems to run fine murchandamus: crACK ee1b9b231a0a7e89b77cbf8ea54e0534f0970dd0 ismaelsadeeq: Code review ACK ee1b9b231a0a7e89b77cbf8ea54e0534f0970dd0 willcl-ark: ACK ee1b9b231a0a7e89b77cbf8ea54e0534f0970dd0 Tree-SHA512: 8399fe12064fb49b0e4c73258968b57be1d9c2e35701b2d3b0bb67e2e4052e44216358238f92508e4697d0fb6176518d5b885474054d3deda242f669e99262a7
2024-03-29ci: Use clang-18 in asan/fuzz/tsan taskMarcoFalke
2024-03-29ci: Bump clang+llvm in i686_multiprocess taskMarcoFalke
2024-03-29Merge bitcoin/bitcoin#29130: wallet: Add `createwalletdescriptor` and ↵Ryan Ofsky
`gethdkeys` RPCs for adding new automatically generated descriptors 746b6d88395607abbd3c13bbdcdd4ca83e9bc9e4 test: Add test for createwalletdescriptor (Ava Chow) 2402b6306215a9ee8d5f4068ea81f4e7f324adeb wallet: Test upgrade of pre-taproot wallet to have tr() descriptors (Ava Chow) 460ae1bf67c0051033c1802d44787d173abb9248 wallet, rpc: Add createwalletdescriptor RPC (Ava Chow) 8e1a475062e62321e58a0624385cc3fa0885aa12 wallet: Be able to retrieve single key from descriptors (Ava Chow) 85b1fb19dd3a3f3c68da1c5e60a6eb911e1119a6 wallet: Add GetActiveHDPubKeys to retrieve xpubs from active descriptors (Ava Chow) 73926f2d31b61ff78d5f0c8f9b5e3130fb1f9620 wallet, descspkm: Refactor wallet descriptor generation to standalone func (Andrew Chow) 54e74f46ea10e479be682750c1279165f29bb2f4 wallet: Refactor function for single DescSPKM setup (Andrew Chow) 3b09d0eb7f2c1d6ebdab73d18db28e5bf7d74f18 tests: Test for gethdkeys (Ava Chow) 5febe28c9e131fb93fac9c35f80c42759654f150 wallet, rpc: Add gethdkeys RPC (Ava Chow) 66632e5c24c1b59afef1e89b562fbd0117ab6ef5 wallet: Add IsActiveScriptPubKeyMan (Ava Chow) fa6a259985b61235ebc21eae2a76014cc9437d5f desc spkm: Add functions to retrieve specific private keys (Ava Chow) fe67841464cc0f970a1c233caba92cb78e9c78dc descriptor: Be able to get the pubkeys involved in a descriptor (Ava Chow) ef6745879d87cdb6f1061337867a689167e965a1 key: Add constructor for CExtKey that takes CExtPubKey and CKey (Ava Chow) Pull request description: This PR adds a `createwalletdescriptor` RPC which allows users to add new automatically generated descriptors to their wallet, e.g. to upgrade a 0.21.x wallet to contain a taproot descriptor. This RPC takes 3 arguments: the output type to create a descriptor for, whether the descriptor will be internal or external, and the HD key to use if the user wishes to use a specific key. The HD key is an optional parameter. If it is not specified, the wallet will use the key shared by the active descriptors, if they are all single key. For most users in the expected upgrade scenario, this should be sufficient. In more advanced cases, the user must specify the HD key to use. Currently, specified HD keys must already exist in the wallet. To make it easier for the user to know, `gethdkeys` is also added to list out the HD keys in use by all of the descriptors in the wallet. This will include all HD keys, whether we have the private key, for it, which descriptors use it and their activeness, and optionally the extended private key. In this way, users with more complex wallets will be still be able to get HD keys from their wallet for use in other scenarios, and if they want to use `createwalletdescriptor`, they can easily get the keys that they can specify to it. See also https://github.com/bitcoin/bitcoin/pull/26728#issuecomment-1866961865 ACKs for top commit: Sjors: re-utACK 746b6d88395607abbd3c13bbdcdd4ca83e9bc9e4 furszy: ACK 746b6d8 ryanofsky: Code review ACK 746b6d88395607abbd3c13bbdcdd4ca83e9bc9e4, and this looks ready to merge. There were various suggested changes since last review where main change seems to be switching `gethdkeys` output to use normalized descriptors (removing hardened path components). Tree-SHA512: f2849101e6fbf1f59cb031eaaaee97af5b1ae92aaab54c5716940d210f08ab4fc952df2725b636596cd5747b8f5beb1a7a533425bc10d09da02659473516fbda
2024-03-29ci: Pull in qtbase5-dev instead of seperate low-level librarieslaanwj
Fix CI build for t64 migration.
2024-03-29doc: Suggest installing dev packages for debian/ubuntu qt5 buildlaanwj
Pretty much all library packages were renamed in the 64-bit time_t migration to add `t64` (even on 64-bit platforms). Instead of complicating the doc with conditional package names, suggest installing the `-dev` packages which still have the same name, and besides that, are the right way to go about it as they contain the "user facing" C++ headers needed to build against Qt5. For Fedora, devel packages are already suggested. This affects Ubuntu 24.04 and Debian Testing.
2024-03-28doc: Override `-g` properly to skip debugging informationHennadii Stepanov
2024-03-28Merge bitcoin/bitcoin#29402: mempool: Log added for dumping mempool ↵glozow
transactions to disk 4d5b55735bcf82847d748d24da5dbdbd1de8ef41 log: renamed disk to file so wording was more accurate (kevkevin) b9f04be870c948f071216fba8402a2c5395a336b mempool: Log added for dumping mempool transactions to disk (kevkevin) Pull request description: Sometimes when shutting off bitcoind it can take a while to dump the mempool transaction onto the disk so this change adds additional logging to the `DumpMempool` method in `kernel/mempool_persist.cpp` Motivated by https://github.com/bitcoin/bitcoin/pull/29227 this change - adds a single new line for the amount of transactions being dumped and the amount of memory being dumped to file This is in response to https://github.com/bitcoin/bitcoin/pull/29227#issuecomment-1893375082 The logs will now look like this ``` 2024-02-09T23:41:52Z DumpAnchors: Flush 2 outbound block-relay-only peer addresses to anchors.dat completed (0.02s) 2024-02-09T23:41:52Z scheduler thread exit 2024-02-09T23:41:52Z Writing 29 mempool transactions to file... 2024-02-09T23:41:52Z Writing 0 unbroadcast transactions to file. 2024-02-09T23:41:52Z Dumped mempool: 0.000s to copy, 0.022s to dump, 0.015 MB dumped to file 2024-02-09T23:41:52Z Flushed fee estimates to fee_estimates.dat. 2024-02-09T23:41:53Z Shutdown: done ``` ACKs for top commit: maflcko: cr-ACK 4d5b55735bcf82847d748d24da5dbdbd1de8ef41 glozow: reACK 4d5b557 Tree-SHA512: 049191e140d00c1ea57debe0138f1c9eb0f9bb0ef8138e2568e6d89e64f45a5d5853ce3b9cc0b28566aab97555b47ddfb0f9199fc8cea6b81e53f50592d5ae6a
2024-03-27test: fix StopIteration exception in p2p_node_network_limited.pyfurszy
The `next()` call throws an exception if the default parameter is omitted and the iterator is exhausted. Fix it by providing a default value. The failure can be tested by commenting out lines 90 and 91 in the test (the `self.connect_nodes(2, 0)``). Since there is no connection, the node in question retrieves a single element in the 'getchaintips()' call. This scenario without the fix, aborts the test right away, throwing an StopIteration exception, and with the fix, the test properly waits until the timeout (wait_until() call).
2024-03-27depends: qt 5.15.13fanquake
I need to try and patch around Qts buildsystem to keep #21778 moving along (the issue being that even when you tell Qt to build using Clang on Linux, it still calls out to GCC, breaking our ability to have a macOS release build env that doesn't have a GCC toolchain installed, and thus no ld binary). Before trying to patch Qt any further, update to the latest LTS release, and update the current patch set.
2024-03-27Merge bitcoin/bitcoin#27307: wallet: track mempool conflicts with wallet ↵Ryan Ofsky
transactions 5952292133d6cc889f51ae771f2e0557311e1efe wallet, rpc: show mempool conflicts in `gettransaction` result (ishaanam) 54e07ee22ff16fc68583ade0d2b8ffffc81d444a wallet: track mempool conflicts (ishaanam) d64922b5903e5ffc8d2ce0e6761f99f173b60800 wallet refactor: use CWalletTx member functions to determine tx state (ishaanam) ffe5ff1fb622a8da11b66289e1b778e45e449811 scripted-diff: wallet: s/TxStateConflicted/TxStateBlockConflicted (ishaanam) 180973a94180f9849bf7cb0dab7c9177a942efb8 test: Add tests for wallet mempool conflicts (ishaanam) Pull request description: The `mempool_conflicts` variable is added to `CWalletTx`, it is a set of txids of txs in the mempool conflicting with the wallet tx or a wallet tx's parent. This PR only changes how mempool-conflicted txs are dealt with in memory. `IsSpent` now returns false for an output being spent by a mempool conflicted transaction where it previously returned true. A txid is added to `mempool_conflicts` during `transactionAddedToMempool`. A txid is removed from `mempool_conflicts` during `transactionRemovedFromMempool`. This PR also adds a `mempoolconflicts` field to the `gettransaction` wallet RPC result. Builds on #27145 Second attempt at #18600 ACKs for top commit: achow101: ACK 5952292133d6cc889f51ae771f2e0557311e1efe ryanofsky: Code review ACK 5952292133d6cc889f51ae771f2e0557311e1efe. Just small suggested changes since last review furszy: ACK 59522921 Tree-SHA512: 615779606723dbb6c2e302681d8e58ae2052ffee52d721ee0389746ddbbcf4b4c4afacf01ddf42b6405bc6f883520524186a955bf6b628fe9b3ae54cffc56a29
2024-03-27Merge bitcoin/bitcoin#29747: depends: fix mingw-w64 Qt DEBUG=1 buildfanquake
b7e7e727abd86104ee58beb648a94e2f453d1f6d depends: fix mingw-w64 Qt DEBUG=1 build (fanquake) Pull request description: The issue is that compilation is done with `x86_64-w64-mingw32-g++-posix`, but then linking is done with `x86_64-w64-mingw32-g++`. I'm guessing this has been broken since #24131 (01d1845a80ae48d741deea695ddce95d940ab0d8), but have not checked. Fixes #29734. Unblocks #29527 (`DEBUG=1` builds can be tested). ACKs for top commit: hebasto: ACK b7e7e727abd86104ee58beb648a94e2f453d1f6d, tested on Ubuntu 22.04 with the [installed](https://github.com/bitcoin/bitcoin/issues/29734#issuecomment-2022852344) `g++-mingw-w64-x86-64` package. TheCharlatan: ACK b7e7e727abd86104ee58beb648a94e2f453d1f6d Tree-SHA512: 9e24e84046c0489c20971bb9c68d1a643c233837193c184f61bff79dfc8d7397a5c5526ac1a205ad423920f2589559cd01cb104ceb7f89515bb6421510d82ca9
2024-03-27test: makes timeout a forced named argument in tests methods that use itSergi Delgado Segura
This makes calls to such methods more explicit and less error prone
2024-03-27log: renamed disk to file so wording was more accuratekevkevin
2024-03-27mempool: Log added for dumping mempool transactions to diskkevkevin
2024-03-27Merge bitcoin/bitcoin#29479: test: Refactor subtree exclusion in lint testsfanquake
80fa7da21c470302165c47cc4a6a62fb44f997ef test: Refactor subtree exclusion in lint tests (Brandon Odiwuor) Pull request description: Fixes https://github.com/bitcoin/bitcoin/issues/17413 Refactor subtree exclusion in lint tests to one place Second attempt after PR: https://github.com/bitcoin/bitcoin/pull/24435 ACKs for top commit: fjahr: re-ACK 80fa7da21c470302165c47cc4a6a62fb44f997ef maflcko: lgtm ACK 80fa7da21c470302165c47cc4a6a62fb44f997ef davidgumberg: ACK https://github.com/bitcoin/bitcoin/commit/80fa7da21c470302165c47cc4a6a62fb44f997ef Tree-SHA512: deff7457dd19ca5ea440d3d53feae047e8863b9ddeb6494a3c94605a5d16edc91db8f99a435b4fab2ef89aedee42439562be006da647fb85bbf3def903a3ce50
2024-03-27Merge bitcoin/bitcoin#29740: ci: Print tsan errors to stderrfanquake
fa22a438fa8f1c9cd4b4c44ff45cefd178bf5999 ci: Print tsan errors to stderr (MarcoFalke) Pull request description: This fixes a bug introduced in https://github.com/bitcoin/bitcoin/pull/27667 All sanitizers print their errors to stderr, except for tsan, which prints to a file and expects the file to be read. Fix this by not using a log file in any sanitizer. ACKs for top commit: dergoegge: utACK fa22a438fa8f1c9cd4b4c44ff45cefd178bf5999 Tree-SHA512: 15dca57932a21bda145335fab6367bbf2ae67b25e0b7b61044d2c06ab7a8db3a452f057f6656b81a031726375b7bb238f5ced18ab8894f005e7ab254c7d1ef06
2024-03-27depends: fix mingw-w64 Qt DEBUG=1 buildfanquake
The issue is that compilation is done with `x86_64-w64-mingw32-g++-posix`, but then linking is done with `x86_64-w64-mingw32-g++`. I'm guessing this has been broken since #24131 (01d1845a80ae48d741deea695ddce95d940ab0d8), but have not checked. Fixes #29734. Unblocks #29527 (now DEBUG=1 builds can be tested).
2024-03-26ci: Print tsan errors to stderrMarcoFalke
2024-03-26ci: use codespell 2.2.6fanquake
2024-03-26doc: fix some typoscrazeteam
Signed-off-by: crazeteam <lilujing@outlook.com>
2024-03-26doc: Fix typosRoboSchmied
Fix three typos.
2024-03-26CalculateFeerateDiagramsForRBF: update misleading description of old diagram ↵Greg Sanders
contents
2024-03-26Merge bitcoin/bitcoin#29695: guix: build GCC with ↵fanquake
--enable-standard-branch-protection 7850c5fe20a034438e00f6c12ce51efc6af3a1aa guix: build GCC with --enable-standard-branch-protection (fanquake) Pull request description: This is one change extracted from #24123 (which now produces fully BTI & PAC enabled bins), which will mean that everything in depends, for Guix builds, is compiled using `-mbranch-protection=standard`. Turning this on by default, is similar to what we already do with `--enable-default-ssp`, `--enable-default-pie` etc. See: https://gcc.gnu.org/install/specific.html#aarch64-x-x > To enable Branch Target Identification Mechanism and Return Address Signing by default at configure time use the `--enable-standard-branch-protection` option. > This is equivalent to having `-mbranch-protection=standard` during compilation. This can be explicitly disabled during compilation by passing the `-mbranch-protection=none` option which turns off all types of branch protections. ACKs for top commit: TheCharlatan: ACK 7850c5fe20a034438e00f6c12ce51efc6af3a1aa Tree-SHA512: 18f898da27021bab502e708ea5fa9b325352f8f6e23d9488a2a0feda87e0af2ac0e4f87b3af9ad6a9a37bbfc99ab0285de4f0bdc174dcd38163d92c122e958e2
2024-03-26CompareFeerateDiagram: short-circuit comparison when detected as incomparableGreg Sanders
2024-03-26remove erroneous CompareFeerateDiagram comment about slopeGreg Sanders
2024-03-26unit test: clarify unstated assumption for calc_feerate_diagram_rbf chunkingGreg Sanders
2024-03-26s/effected/affected/Greg Sanders
2024-03-26CalculateFeerateDiagramsForRBF: remove size tie-breaking from chunking conflictsGreg Sanders
2024-03-26fuzz: Add more invariant checks for package_rbfGreg Sanders
2024-03-26fuzz: finer grained ImprovesFeerateDiagram check on error resultGreg Sanders
2024-03-26unit test: improve ImprovesFeerateDiagram coverage with one less vb caseGreg Sanders
2024-03-26unit test: make calc_feerate_diagram_rbf less brittleGreg Sanders
2024-03-26fuzz: add PrioritiseTransaction coverage in diagram checksGreg Sanders
2024-03-26unit test: add coverage showing priority affects diagram check resultsGreg Sanders