{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":1181927,"defaultBranch":"master","name":"bitcoin","ownerLogin":"bitcoin","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2010-12-19T15:16:43.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/528860?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1718112182.0","currentOid":""},"activityList":{"items":[{"before":"891e4bf3740774485c40d1c1a54075a1b69d6dde","after":"91e0beede2859dea987ba6db746e95dca0ceb024","ref":"refs/heads/master","pushedAt":"2024-06-11T21:28:57.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"achow101","name":"Ava Chow","path":"/achow101","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3782274?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30160: util: add BitSet\n\n47f705b33fc1381d96c99038e2110e6fe2b2f883 tests: add fuzz tests for BitSet (Pieter Wuille)\n59a6df6bd584701f820ad60a10d9d477bf0236b5 util: add BitSet (Pieter Wuille)\n\nPull request description:\n\n Extracted from #30126.\n\n This introduces the `BitSet` data structure, inspired by `std::bitset`, but with a few features that cannot be implemented on top without efficiency loss:\n * Finding the first set bit (`First`)\n * Finding the last set bit (`Last`)\n * Iterating over all set bits (`begin` and `end`).\n\n And a few other operators/member functions that help readability for #30126:\n * `operator-` for set subtraction\n * `Overlaps()` for testing whether intersection is non-empty\n * `IsSupersetOf()` for testing (non-strict) supersetness\n * `IsSubsetOf()` for testing (non-strict) subsetness\n * `Fill()` to construct a set with all numbers from 0 to n-1, inclusive\n * `Singleton()` to construct a set with one specific element.\n\n Everything is tested through a simulation-based fuzz test that compares the behavior with normal `std::bitset` equivalent operations.\n\nACKs for top commit:\n instagibbs:\n ACK https://github.com/bitcoin/bitcoin/pull/30160/commits/47f705b33fc1381d96c99038e2110e6fe2b2f883\n achow101:\n ACK 47f705b33fc1381d96c99038e2110e6fe2b2f883\n cbergqvist:\n re-ACK 47f705b33fc1381d96c99038e2110e6fe2b2f883\n theStack:\n Code-review ACK 47f705b33fc1381d96c99038e2110e6fe2b2f883\n\nTree-SHA512: e451bf4b801f193239ee434b6b614f5a2ac7bb49c70af5aba24c2ac0c54acbef4672556800e4ac799ae835632bdba716209c5ca8c37433a6883dab4eb7cd67c1","shortMessageHtmlLink":"Merge #30160: util: add BitSet"}},{"before":"1bcc91a52c61c4235766f71a21383d00b8f4955e","after":"891e4bf3740774485c40d1c1a54075a1b69d6dde","ref":"refs/heads/master","pushedAt":"2024-06-11T20:41:51.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"achow101","name":"Ava Chow","path":"/achow101","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3782274?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#28339: validation: improve performance of CheckBlockIndex\n\n5bc2077e8f592442b089affdf0b5795fbc053bb8 validation: allow to specify frequency for -checkblockindex (Martin Zumsande)\nd5a631b9597e5029a5048d9b8ad84ea4536bbac0 validation: improve performance of CheckBlockIndex (Martin Zumsande)\n32c80413fdb063199f3bee719c4651bd63f05fce bench: add benchmark for checkblockindex (Martin Zumsande)\n\nPull request description:\n\n `CheckBlockIndex() ` are consistency checks that are currently enabled by default on regtest.\n\n The function is rather slow, which is annoying if you\n * attempt to run it on other networks, especially if not fully synced\n * want to generate a long chain on regtest and see block generation slow down because you forgot to disable `-checkblockindex` or don't know it existed.\n\n One reason why it's slow is that in order to be able to traverse the block tree depth-first from genesis, it inserts pointers to all block indices into a `std::multimap` - for which inserts and lookups become slow once there are hundred thousands of entries.\n However, typically the block index is mostly chain-like with just a few forks so a multimap isn't really needed for the most part. This PR suggests to store the block indices of the chain ending in the best header in a vector instead, and store only the rest of the indices in a multimap. This does not change the actual consistency checks that are being performed for each index, just the way the block index tree is stored and traversed.\n\n This adds a bit of complication to make sure each block is visited (note that there are asserts that check it), making sure that the two containers are traversed correctly, but it speeds up the function considerably:\n\n On master, a single invocation of `CheckBlockIndex` takes ~1.4s on mainnet for me (4.9s on testnet which has >2.4 million blocks).\n With this branch, the runtime goes down to ~0.27s (0.85s on testnet).This is a speedup by a factor ~5.\n\nACKs for top commit:\n achow101:\n ACK 5bc2077e8f592442b089affdf0b5795fbc053bb8\n furszy:\n ACK 5bc2077e8f592442b089affdf0b5795fbc053bb8\n ryanofsky:\n Code review ACK 5bc2077e8f592442b089affdf0b5795fbc053bb8. Just added suggested assert and simplification since last review\n\nTree-SHA512: 6b9c3e3e5069d6152b45a09040f962380d114851ff0f9ff1771cf8cad7bb4fa0ba25cd787ceaa3dfa5241fb249748e2ee6987af0ccb24b786a5301b2836f8487","shortMessageHtmlLink":"Merge #28339: validation: improve performance of CheckBlockIndex"}},{"before":"2251460f3efc68af9891505757280b773db68a09","after":"1bcc91a52c61c4235766f71a21383d00b8f4955e","ref":"refs/heads/master","pushedAt":"2024-06-11T19:55:27.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"achow101","name":"Ava Chow","path":"/achow101","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3782274?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#29521: cli: Detect port errors in rpcconnect and rpcport\n\n24bc46c83b39149f4845a575a82337eb46d91bdb cli: Add warning for duplicate port definition (tdb3)\ne208fb5d3bea4c1fb750cb0028819635ecdeb415 cli: Sanitize ports in rpcconnect and rpcport (tdb3)\n\nPull request description:\n\n Adds invalid port detection to bitcoin-cli for -rpcconnect and -rpcport.\n\n In addition to detecting malformed/invalid ports (e.g. those outside of the 16-bit port range, not numbers, etc.), bitcoin-cli also now considers usage of port 0 to be invalid. bitcoin-cli previously considered port 0 to be valid and attempted to use it to reach bitcoind.\n\n Functional tests were added for invalid port detection as well as port prioritization.\n Additionally, a warning is provided when a port is specified in both -rpcconnect and -rpcport.\n\n This PR is an alternate approach to PR #27820 (e.g. SplitHostPort is unmodified).\n\n Considered an alternative to 127.0.0.1 being specified in functional tests, but at first glance, this might need an update to test_framework/util.py (e.g. rpc_url), which might be left to a future PR.\n\nACKs for top commit:\n S3RK:\n light code review ACK 24bc46c83b39149f4845a575a82337eb46d91bdb\n achow101:\n ACK 24bc46c83b39149f4845a575a82337eb46d91bdb\n cbergqvist:\n re ACK 24bc46c83b39149f4845a575a82337eb46d91bdb\n\nTree-SHA512: c83ab6a30a08dd1ac8b368a7dcc2b4f23170f0b61dd67ffcad7bcda05096d333bcb9821fba11018151f55b2929c0a333bfec15b8bb863d83f41fc1974c6efca5","shortMessageHtmlLink":"Merge #29521: cli: Detect port errors in rpcconnect and rpcport"}},{"before":"337f9d44c28b1d3563a0063a8805b418d506698d","after":"2251460f3efc68af9891505757280b773db68a09","ref":"refs/heads/master","pushedAt":"2024-06-11T19:25:00.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"achow101","name":"Ava Chow","path":"/achow101","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3782274?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#28830: [refactor] Check CTxMemPool options in ctor\n\n09ef322acc0a88a9e119f74923399598984c68f6 [[refactor]] Check CTxMemPool options in constructor (TheCharlatan)\n\nPull request description:\n\n The tests should run the same checks on the mempool options that the init code also applies. The downside to this patch is that the log line may now be printed more than once in the for loop.\n\n This was originally noticed here https://github.com/bitcoin/bitcoin/pull/25290#discussion_r900272797.\n\nACKs for top commit:\n stickies-v:\n re-ACK 09ef322acc0a88a9e119f74923399598984c68f6 . Fixed unreachable assert and updated docstring, and also added an exception for \"-maxmempool must be at least \" in the `tx_pool` fuzz test, which makes sense when looking at how the mempool options are constructed in `SetMempoolConstraints`.\n achow101:\n ACK 09ef322acc0a88a9e119f74923399598984c68f6\n ryanofsky:\n Code review ACK 09ef322acc0a88a9e119f74923399598984c68f6. Just fuzz test error checking fix and updated comment since last review\n\nTree-SHA512: eb3361411c2db70be17f912e3b14d9cb9c60fb0697a1eded952c3b7e8675b7d783780d45c52e091931d1d80fe0f0280cee98dd57a3100def13af20259d9d1b9e","shortMessageHtmlLink":"Merge #28830: [refactor] Check CTxMemPool options in ctor"}},{"before":"5bc9b644a4b6af15a10ebd791c11d9340d01957f","after":"337f9d44c28b1d3563a0063a8805b418d506698d","ref":"refs/heads/master","pushedAt":"2024-06-11T15:40:48.000Z","pushType":"push","commitsCount":9,"pusher":{"login":"fanquake","name":"fanquake","path":"/fanquake","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863730?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30201: depends: remove `FORCE_USE_SYSTEM_CLANG`\n\n7cbfd7a7ce45ac68d6041f42f468862f5c193d8c refactor: rename (macho) ld64 to lld (fanquake)\nd851451705aa67175cbafb06f455e6969131f90f ci: update deps for macOS cross build (fanquake)\n9ebdd5e9e04be3355309d3096da00db37b4d540c depends: update install docs for macOS cross compilation (fanquake)\nfb74fd66cb2b016f07e47dc58d81b33034ce851b depends: remove no-longer used llvm_* vars from macOS build (fanquake)\n9043f12425d869d8bf7f2be1bb12368e41d09c5d depends: no-longer pass -B to clang in macOS cross-compile (fanquake)\nf9994b025e1d72b4c0f5267de54caa2bfae136a3 depends: remove native LLVM package (fanquake)\ne9a44faf14854c5b05a297df182d10706f438a83 depends: remove FORCE_USE_SYSTEM_CLANG (fanquake)\n9946618f6174422d9ba93bf96c278269bebacf39 guix: use clang-toolchain-18 for macOS build (fanquake)\n\nPull request description:\n\n Remove `FORCE_USE_SYSTEM_CLANG` in favour of always using the system Clang and lld for macOS cross-compilation; rather than downloading precompiled blobs.\n\n For example, anyone using Ubuntu 24.04 should be able to `apt install clang llvm lld .. etc`, and then cross-compile for macOS using:\n ```bash\n # clang --version\n Ubuntu clang version 18.1.3 (1)\n make -C depends HOST=arm64-apple-darwin FORCE_USE_SYSTEM_CLANG=1\n ./autogen.sh\n CONFIG_SITE=/path/to/depends/arm64-apple-darwin/share/config.site ./configure\n make\n # file src/qt/bitcoin-qt\n src/qt/bitcoin-qt: Mach-O 64-bit arm64 executable, flags:\n ```\n\n Note that the minimum supported version of Clang we will support for macOS cross-compilation will likely be more recent than our other minimum supported version of Clang, due to compiler/linker option usage.\n\nACKs for top commit:\n Sjors:\n tACK 7cbfd7a7ce45ac68d6041f42f468862f5c193d8c\n theuni:\n ACK 7cbfd7a7ce45ac68d6041f42f468862f5c193d8c\n TheCharlatan:\n Nice, ACK 7cbfd7a7ce45ac68d6041f42f468862f5c193d8c\n\nTree-SHA512: 1499e29b3b238c5c85278c38e8fb6bb5e7883db3443f62b6bf397c5d761bedbc054962be645a9defce15266f0a969bb4b3ccd28b6e4dd874472857b928f185d1","shortMessageHtmlLink":"Merge #30201: depends: remove FORCE_USE_SYSTEM_CLANG"}},{"before":"0fbb8043ce0d6a931d5ce4bc877b6b596976a908","after":"5bc9b644a4b6af15a10ebd791c11d9340d01957f","ref":"refs/heads/master","pushedAt":"2024-06-11T14:29:21.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"fanquake","name":"fanquake","path":"/fanquake","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863730?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30264: test: add coverage for errors for `combinerawtransaction`\n\nab98e6fd03970d6b5a593674c84e762a47b90ea6 test: add coverage for errors for `combinerawtransaction` RPC (brunoerg)\n\nPull request description:\n\n This PR adds test coverage for the following errors for the `combinerawtransaction` RPC:\n\n * Tx decode failed\n * Missing transactions\n * Input not found or already spent\n\n For reference: https://maflcko.github.io/b-c-cov/total.coverage/src/rpc/rawtransaction.cpp.gcov.html\n\nACKs for top commit:\n maflcko:\n lgtm ACK ab98e6fd03970d6b5a593674c84e762a47b90ea6\n tdb3:\n ACK ab98e6fd03970d6b5a593674c84e762a47b90ea6\n\nTree-SHA512: 8a133c25dad2e1b236e0278a88796f60f763e3fd6fbbc080f926bb23f9dcc55599aa242d6e0c4ec15a179d9ded10a1f17ee5b6063719107ea84e6099f10416b2","shortMessageHtmlLink":"Merge #30264: test: add coverage for errors for combinerawtransaction"}},{"before":"fccd32efe6e2950b2c74fdec2ade54040ca32a2c","after":"1088a98f5aad080cc6cca2da174f206509fcda6c","ref":"refs/heads/27.x","pushedAt":"2024-06-11T13:19:04.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"fanquake","name":"fanquake","path":"/fanquake","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863730?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30222: [27.1] Finalize\n\nd756a384d2bebe85f2ce0d192e4d31bbbbe750a1 doc: update manual pages for 27.1 (fanquake)\n93bb18f1c837a90916bd02ac80bd4b639c17d904 build: bump version to v27.1 final (fanquake)\nfcf12419714218122e4abb3f6d7f008dadbf4ed9 doc: update release notes for v27.1 final (fanquake)\nf2e05cd2a9bdc42fa45d284a5162f1f670d07ab6 depends: Update Boost download link (Hennadii Stepanov)\nba359205421e2f765391a8330e8a61055acd87fc build: Fix building `fuzz` binary on on SunOS / illumos (Hennadii Stepanov)\n\nPull request description:\n\n Backports:\n * https://github.com/bitcoin/bitcoin/pull/30216\n * https://github.com/bitcoin/bitcoin/pull/30217\n\n I don't think either of these changes warrants an `rc2` cycle.\n\nACKs for top commit:\n stickies-v:\n ACK d756a384d2bebe85f2ce0d192e4d31bbbbe750a1\n willcl-ark:\n ACK d756a384d2bebe85f2ce0d192e4d31bbbbe750a1\n\nTree-SHA512: b5662143283a49156403d865dee25f3b6c22741345a4c8ff10f16845ea7a1a6d9d1319a70a44d07f31263bf1a6d85701146e9cc697b82a5a58922c48504a552c","shortMessageHtmlLink":"Merge #30222: [27.1] Finalize"}},{"before":"e6e4c18a9be21c6bad78778ed919299617d40f7a","after":"0fbb8043ce0d6a931d5ce4bc877b6b596976a908","ref":"refs/heads/master","pushedAt":"2024-06-11T13:11:38.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"fanquake","name":"fanquake","path":"/fanquake","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863730?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30252: test: Remove redundant verack check\n\n0000276b31cea5e443a59d94a98c569293ada951 test: Remove redundant verack check (MarcoFalke)\n\nPull request description:\n\n Currently the sync in `connect_nodes` mentions the `version` and `verack` message types, but only checks the `verack`. Neither check is required, as the `pong` check implies both. In case of failure, the debug log will have to be consulted anyway, so the redundant check doesn't add value.\n\n Also clarify in the comments that the goal is to check the flag `fSuccessfullyConnected` indirectly.\n\nACKs for top commit:\n furszy:\n utACK 0000276b31ce\n brunoerg:\n ACK 0000276b31cea5e443a59d94a98c569293ada951\n tdb3:\n ACK 0000276b31cea5e443a59d94a98c569293ada951\n\nTree-SHA512: f9ddcb1436d2f70da462a8dd470ecfc90a534dd6507c23877ef7626e7c02326c077001a42ad0171a87fba5c5275d1970d8c5e5d82c56c8412de944856fdfd6db","shortMessageHtmlLink":"Merge #30252: test: Remove redundant verack check"}},{"before":"ba5dd96298559d1f078c397048ce6703b90c067c","after":"e6e4c18a9be21c6bad78778ed919299617d40f7a","ref":"refs/heads/master","pushedAt":"2024-06-11T12:03:10.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"glozow","name":"Gloria Zhao","path":"/glozow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25183001?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30162: test: MiniWallet: respect passed feerate for padded txs (using `target_weight`)\n\n39d135e79f3f0c40dfd8fad2c53723d533cd19b4 test: MiniWallet: respect fee_rate for target_weight, use in mempool_limit.py (Sebastian Falbesoner)\nb2f0a9f8b0776d49ef1639310311ca50435a2a0a test: add framework functional test for MiniWallet's tx padding (Sebastian Falbesoner)\nc17550bc3a68faa1eb82d1bdb767b41d8cd85a6b test: MiniWallet: fix tx padding (`target_weight`) for large sizes, improve accuracy (Sebastian Falbesoner)\n\nPull request description:\n\n MiniWallet allows to create padded transactions that are equal or slightly above a certain `target_weight` (first introduced in PR #25379, commit 1d6b438ef0ccd05e1522ac38b44f847c1d93e72f), which can be useful especially for mempool-related tests, e.g. for policy limit checks or scenarios to trigger mempool eviction. Currently the `target_weight` parameter doesn't play together with `fee_rate` though, as the fee calculation is incorrectly based on the tx vsize before the padding output is added, so the fee-rate is consequently far off. This means users are forced to pass an absolute fee, which can be quite inconvenient and leads to lots of duplicated \"calculate absolute fee from fee-rate and vsize\" code with the pattern `fee = (feerate / 1000) * (weight // 4)` on the call-sites.\n\n This PR first improves the tx padding itself to be more accurate, adds a functional test for it, and fixes the `fee_rate` treatment for the `{create,send}_self_transfer` methods. (Next step would be to enable this also for the `_self_transfer_multi` methods, but those currently don't even offer a `fee_rate` parameter). Finally, the ability to pass both `target_weight` and `fee_rate` is used in the `mempool_limit.py` functional test. There might be more use-cases in other tests, that could be done in a follow-up.\n\nACKs for top commit:\n rkrux:\n tACK [39d135e](https://github.com/bitcoin/bitcoin/pull/30162/commits/39d135e79f3f0c40dfd8fad2c53723d533cd19b4)\n ismaelsadeeq:\n Code Review ACK 39d135e79f3f0c40dfd8fad2c53723d533cd19b4 🚀\n glozow:\n light review ACK 39d135e79f3f0c40dfd8fad2c53723d533cd19b4\n\nTree-SHA512: 6bf8e853a921576d463291d619cdfd6a7e74cf92f61933a563800ac0b3c023a06569b581243166906f56b3c5e8858fec2d8a6910d55899e904221f847eb0953d","shortMessageHtmlLink":"Merge #30162: test: MiniWallet: respect passed feerate for padded txs…"}},{"before":"b1ba1b178f501daa1afdd91f9efec34e5ec1e294","after":"ba5dd96298559d1f078c397048ce6703b90c067c","ref":"refs/heads/master","pushedAt":"2024-06-11T10:43:21.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"glozow","name":"Gloria Zhao","path":"/glozow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25183001?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30254: test: doc: fix units in tx-size standardness test (s/vbytes/weight units)\n\nd1581c6048478cf70c5fb9ec5ebc178f16b376b8 test: doc: fix units in tx size standardness test (s/vbytes/weight units) (Sebastian Falbesoner)\n\nPull request description:\n\n This small fixup PR is a late follow-up for #17947 (commit 4537ba5f21ad8afb705325cd8e15dd43877eb28f), where the wrong units has been used in the comments for the large tx composition.\n\nACKs for top commit:\n tdb3:\n ACK d1581c6048478cf70c5fb9ec5ebc178f16b376b8\n ismaelsadeeq:\n ACK d1581c6048478cf70c5fb9ec5ebc178f16b376b8\n glozow:\n ACK d1581c6048478cf70c5fb9ec5ebc178f16b376b8\n\nTree-SHA512: ea2de42174f9dca0608275ea377c852ebddc5a04a2b32248ce808aea33d7e00cdee3a225b24c0cf426c69646cccbbc31273c62f7bc1647bb3443a61de3b15670","shortMessageHtmlLink":"Merge #30254: test: doc: fix units in tx-size standardness test (s/vb…"}},{"before":"cad127235e307d7de0e9cc04708dbd31aa6c24b0","after":"b1ba1b178f501daa1afdd91f9efec34e5ec1e294","ref":"refs/heads/master","pushedAt":"2024-06-10T14:12:42.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"ryanofsky","name":"Ryan Ofsky","path":"/ryanofsky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7133040?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30132: indexes: Don't wipe indexes again when continuing a prior reindex\n\nf68cba29b3be0dec7877022b18a193a3b78c1099 blockman: Replace m_reindexing with m_blockfiles_indexed (Ryan Ofsky)\n1b1c6dcca0cc891bd35d29b61628c39098cd94ce test: Add functional test for continuing a reindex (TheCharlatan)\n201c1a92824c71ae646d5bba9963871b1d704cc1 indexes: Don't wipe indexes again when already reindexing (TheCharlatan)\n804f09dfa116300914e2aeef05ed9710dd504e8c kernel: Add less confusing reindex options (Ryan Ofsky)\ne17255322378076edce3ef6f06cd36ca58d2e236 validation: Remove needs_init from LoadBlockIndex (TheCharlatan)\n533eab7d67d78f217f74909662133086b79ea808 bugfix: Streamline setting reindex option (TheCharlatan)\n\nPull request description:\n\n When restarting `bitcoind` during an ongoing reindex without setting the `-reindex` flag again, the block and coins db is left intact, but any data from the optional indexes is discarded. While not a bug per se, wiping the data again is\n wasteful, both in terms of having to write it again, as well as potentially leading to longer startup times. So keep the index data instead when continuing a prior reindex.\n\n Also includes a bugfix and smaller code cleanups around the reindexing code. The bug was introduced in b47bd959207e82555f07e028cc2246943d32d4c3: \"kernel: De-globalize fReindex\".\n\nACKs for top commit:\n stickies-v:\n ACK f68cba29b3be0dec7877022b18a193a3b78c1099\n fjahr:\n Code review ACK f68cba29b3be0dec7877022b18a193a3b78c1099\n furszy:\n Code review ACK f68cba29b3be0dec7877022b18a193a3b78c1099\n ryanofsky:\n Code review ACK f68cba29b3be0dec7877022b18a193a3b78c1099. Only changes since last review were cherry-picking suggested commits that rename variables, improving comments, and making some tweaks to test code.\n\nTree-SHA512: b252228cc76e9f1eaac56d5bd9e4eac23408e0fc04aeffd97a85417f046229364673ee1ca7410b9b6e7b692b03f13ece17c42a10176da0d7e975a8915deb98ca","shortMessageHtmlLink":"Merge #30132: indexes: Don't wipe indexes again when continuing a pri…"}},{"before":"bd642ee15bda313bcf801cf63e4428c7a7d252c8","after":"cad127235e307d7de0e9cc04708dbd31aa6c24b0","ref":"refs/heads/master","pushedAt":"2024-06-10T11:01:28.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"fanquake","name":"fanquake","path":"/fanquake","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863730?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30257: build: Remove --enable-gprof\n\nfa780e1c25e8e98253e32d93db65f78a0092433f build: Remove --enable-gprof (MarcoFalke)\n\nPull request description:\n\n It is unclear what benefit this option has, given that:\n\n * `gprof` requires re-compilation (`perf` and other tools can instead be used on existing executables)\n * `gprof` requires hardening to be disabled\n * `gprof` doesn't work with `clang`\n * `perf` is documented in the dev-notes, and test notes, and embedded into the functional test framework; `gprof` isn't\n * Anyone really wanting to use it could pass the required flags to `./configure`\n * I couldn't find any mention of the use of `gprof` in the discussions in this repo, apart from the initial pull request adding it (cfaac2a60f3ac63ae8deccb03d88bd559449b78c)\n * Keeping it means that it needs to be maintained and ported to CMake\n\n Fix all issues by removing it.\n\nACKs for top commit:\n TheCharlatan:\n ACK fa780e1c25e8e98253e32d93db65f78a0092433f\n hebasto:\n ACK fa780e1c25e8e98253e32d93db65f78a0092433f, I have reviewed the code and it looks OK.\n willcl-ark:\n crACK fa780e1c25e8e98253e32d93db65f78a0092433f\n\nTree-SHA512: 0a9ff363ac2bec8b743878a4e3147f18bc16823d00c5007568432c36320bd0199b13b6d0ce828a9a83c2cc434c058afaa64eb2eccfbd93ed85b81ce10c41760c","shortMessageHtmlLink":"Merge #30257: build: Remove --enable-gprof"}},{"before":"dc4eca407330b93d45f42437325342835f9cc114","after":"bd642ee15bda313bcf801cf63e4428c7a7d252c8","ref":"refs/heads/master","pushedAt":"2024-06-10T09:51:14.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"fanquake","name":"fanquake","path":"/fanquake","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863730?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30227: doc: fixup deps doc after #30198\n\ne6636ff4ec594a38f2e2c4bda3a9549bbc07118e doc: fixup deps doc after #30198 (fanquake)\n\nPull request description:\n\n Forgotten in #30198.\n Addresses: https://github.com/bitcoin/bitcoin/pull/30198#issuecomment-2148087913.\n\nACKs for top commit:\n TheCharlatan:\n ACK e6636ff4ec594a38f2e2c4bda3a9549bbc07118e\n\nTree-SHA512: 138cba946d0482f11b604a8197177e74f4384c1962dee1d50af6baad40ceb9d064a148244d652d8e140f955f95457f7d0ffdb0e179f8622e71c57cb91c44af29","shortMessageHtmlLink":"Merge #30227: doc: fixup deps doc after #30198"}},{"before":"7fd4905c403ccb233f489e2f6a6aa3cd53b033ed","after":"dc4eca407330b93d45f42437325342835f9cc114","ref":"refs/heads/master","pushedAt":"2024-06-10T09:49:58.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"fanquake","name":"fanquake","path":"/fanquake","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863730?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30242: ci: Native Windows CI job cleanup\n\n0d3ef83433805d3f367130fd5bd227a8ed5a7ccd ci: Use relative paths in `win64-native` CI job consistently (Hennadii Stepanov)\n501aceefcf7536cbdead5bcb53b13f2fec7ab6be ci: Remove no longer needed workaround for GHA Windows images (Hennadii Stepanov)\n\nPull request description:\n\n This PR:\n\n 1. Removes no longer needed workaround for GHA Windows images.\n\n GHA Windows images previously had multiple VC Build Tools installed, which required specifying the `VCPKG_PLATFORM_TOOLSET_VERSION` explicitly to avoid linker errors. This issue has been resolved as per\n https://github.com/actions/runner-images/issues/9701.\n\n 2. Switches all references to temporary files to relative ones for consistency and readability.\n\nACKs for top commit:\n sipsorcery:\n ACK 0d3ef83433805d3f367130fd5bd227a8ed5a7ccd.\n maflcko:\n ACK 0d3ef83433805d3f367130fd5bd227a8ed5a7ccd\n\nTree-SHA512: e832b87fc6dee1e9d1eb452797f16b732e776c2ecdbe3dc9e64cc48ce9b5b89c569d5b96b999423ae1261ff4bf684b7003af84d8024ef5260682f531c4e8ff5e","shortMessageHtmlLink":"Merge #30242: ci: Native Windows CI job cleanup"}},{"before":"ea88a7596e37c41ad5c3c73265eb9c54ae211da5","after":"7fd4905c403ccb233f489e2f6a6aa3cd53b033ed","ref":"refs/heads/master","pushedAt":"2024-06-10T08:36:10.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"fanquake","name":"fanquake","path":"/fanquake","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863730?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30235: build: warn on self-assignment\n\n15796d4b61342f75548b20a18c670ed21d102ba8 build: warn on self-assignment (Cory Fields)\n53372f21767be449bb452fc3f5fe7f16286ae371 refactor: disable self-assign warning for tests (Cory Fields)\n\nPull request description:\n\n Belt-and suspenders after #30234. Self-assignment should be safe _and_ discouraged.\n\n We used to opt out of this warning because something deep in our serialization/byteswapping code could self-assign, but that doesn't appear to be the case anymore.\n\nACKs for top commit:\n maflcko:\n ACK 15796d4b61342f75548b20a18c670ed21d102ba8\n fanquake:\n ACK 15796d4b61342f75548b20a18c670ed21d102ba8 - not a huge fan of inline pragma usage, but this seems fine, given it's to work around an already-fixed compiler bug, and we'll only be carrying it for a shortish time in any case.\n\nTree-SHA512: 1f95f7c730b974ad1da55ebd381040bac312f2f380fff9d569ebab91d7c1963592a84d1613d81d96238c6f5a66aa40deebba68a76f6b24b02150d0a77c769654","shortMessageHtmlLink":"Merge #30235: build: warn on self-assignment"}},{"before":"a44b0f771f2130b89b608f39055a355693c91a8c","after":"ea88a7596e37c41ad5c3c73265eb9c54ae211da5","ref":"refs/heads/master","pushedAt":"2024-06-10T08:21:22.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"fanquake","name":"fanquake","path":"/fanquake","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863730?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30253: refactor: performance-for-range-copy in psbt.h\n\nfab01b5220c28a334b451ed9625bd3914c48e6af refactor: performance-for-range-copy in psbt.h (MarcoFalke)\n\nPull request description:\n\n A copy of the partial signatures is not required before serializing them.\n\n For reference, this was found by switching the codebase to `std::span` (not sure why it wasn't found with `Span` though):\n\n ```\n ./psbt.h:240:23: error: loop variable is copied but only used as const reference; consider making it a const reference [performance-for-range-copy,-warnings-as-errors]\n 240 | for (auto sig_pair : partial_sigs) {\n | ^\n | const &\n\nACKs for top commit:\n tdb3:\n ACK fab01b5220c28a334b451ed9625bd3914c48e6af\n theStack:\n utACK fab01b5220c28a334b451ed9625bd3914c48e6af\n\nTree-SHA512: b55513d8191118499716684190ee568d171b50ae9171d246ca6e047f0cfd3ec14c9453d721e88af55e47bb41fa66cbafdbfb47bc5f9b8d82789e0a9b634b371b","shortMessageHtmlLink":"Merge #30253: refactor: performance-for-range-copy in psbt.h"}},{"before":"2ad6e8efa3b4bc828ecca982e5a9f0e4470b5098","after":"a44b0f771f2130b89b608f39055a355693c91a8c","ref":"refs/heads/master","pushedAt":"2024-06-08T08:33:53.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"fanquake","name":"fanquake","path":"/fanquake","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863730?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30238: json-rpc 2.0 followups: docs, tests, cli\n\n1f6ab1215bbb1f8a5f1743c3c413b95ad08090df minor: remove unnecessary semicolons from RPC content type examples (Matthew Zipkin)\nb22529529823c0cb5916ac318c8536e9107b7e78 test: use json-rpc 2.0 in all functional tests by default (Matthew Zipkin)\n391843b0297db03d71a8d88ab77609e2ad230bf2 bitcoin-cli: use json-rpc 2.0 (Matthew Zipkin)\nd39bdf339772166a5545ae811e58b7764af093a8 test: remove unused variable in interface_rpc.py (Matthew Zipkin)\n0ead71df8c83a2f9eae1220544ec84dcf38a0326 doc: update and link for JSON-RPC 2.0 (Matthew Zipkin)\n\nPull request description:\n\n This is a follow-up to #27101.\n\n - Addresses [post-merge comments ](https://github.com/bitcoin/bitcoin/pull/27101#discussion_r1606723428)\n - bitcoin-cli uses JSON-RPC 2.0\n - functional tests use JSON-RPC 2.0 by default (exceptions are in the regression tests added by #27101)\n\nACKs for top commit:\n tdb3:\n ACK 1f6ab1215bbb1f8a5f1743c3c413b95ad08090df\n cbergqvist:\n ACK 1f6ab1215bbb1f8a5f1743c3c413b95ad08090df\n\nTree-SHA512: 49bf14c70464081280216ece538a2f5ec810bac80a86a83ad3284f0f1b017edf755a1a74a45be279effe00218170cafde7c2de58aed07097a95c2c6b837a6b6c","shortMessageHtmlLink":"Merge #30238: json-rpc 2.0 followups: docs, tests, cli"}},{"before":"6e4d18f37f42894fe9a0d7948c1da3f061fc6b60","after":"2ad6e8efa3b4bc828ecca982e5a9f0e4470b5098","ref":"refs/heads/master","pushedAt":"2024-06-08T08:29:44.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"fanquake","name":"fanquake","path":"/fanquake","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863730?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30231: guix: bump time-machine to f0bb724211872cd6158fce6162e0b8c73efed126\n\n2599655c1fb8e7d0b8407d2be249977372cb73ff guix: bump time-machine to f0bb724211872cd6158fce6162e0b8c73efed126 (fanquake)\n\nPull request description:\n\n Includes:\n LLVM 18.1.x (#30201)\n GCC 13.x (#29881)\n\n git-minimal 2.41.0 -> 2.45.1\n Kernel Headers 6.1.80 -> 6.1.92\n moreutils 0.68 -> 0.69\n\n Commits like https://git.savannah.gnu.org/cgit/guix.git/commit/?id=7b0f145802f0c2c785014293d748721678fef824, which should improve the bootstrap situation (#30042). This can somewhat be visualised by comparing the (simplified) dependencies of guix itself, between the two time-machines.\n\n Master:\n ![master_2](https://github.com/bitcoin/bitcoin/assets/863730/714402a2-345e-43c7-974b-5112d03d44c2)\n\n PR:\n ![pr](https://github.com/bitcoin/bitcoin/assets/863730/7079a155-e013-4d59-9ea1-21a64d71e2d8)\n\n Note that in the case of this PR, we are better off, no-longer having to build a number of tex packages, ruby, cairo, graphics libs, openssl 1.x etc.\n\nACKs for top commit:\n TheCharlatan:\n ACK 2599655c1fb8e7d0b8407d2be249977372cb73ff\n\nTree-SHA512: 9c5675a5d563c17744c89c8a392bc7865aa1c9e71a5e3044c23f31e51458dac28c0c238d2055c86dc732df595dae60bcbc8b85266b23b7991c4c770d56f7d23a","shortMessageHtmlLink":"Merge #30231: guix: bump time-machine to f0bb724211872cd6158fce6162e0…"}},{"before":"feab35189bc00bc4cf15e9dcb5cf6b34ff3a1e91","after":"6e4d18f37f42894fe9a0d7948c1da3f061fc6b60","ref":"refs/heads/master","pushedAt":"2024-06-07T16:30:55.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"achow101","name":"Ava Chow","path":"/achow101","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3782274?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#29496: policy: bump TX_MAX_STANDARD_VERSION to 3\n\n30a01134cdec37e7467fcd6eee8b0ae3890a131c [doc] update bips.md for 431 (glozow)\n9dbe6a03f0d6e70ccdf8e8715f888c0c17216bee [test] wallet uses CURRENT_VERSION which is 2 (glozow)\n539404fe0fc0346b3aa77c330b38a5a0ad6565b2 [policy] make v3 transactions standard (glozow)\n052ede75aff5c9f3a0a422ef413852eabeecc665 [refactor] use TRUC_VERSION in place of 3 (glozow)\n\nPull request description:\n\n Make `nVersion=3` (which is currently nonstandard on mainnet) standard.\n\n Note that we will treat these transactions as Topologically Restricted Until Confirmation (TRUC). Spec is in BIP 431 and implementation is in #28948, #29306, and #29873\n\n See #27463 for overall project tracking, and #29319 for information about relevance to cluster mempool.\n\nACKs for top commit:\n sdaftuar:\n utACK 30a01134c\n achow101:\n ACK 30a01134cdec37e7467fcd6eee8b0ae3890a131c\n instagibbs:\n utACK 30a01134cdec37e7467fcd6eee8b0ae3890a131c\n murchandamus:\n ACK 30a01134cdec37e7467fcd6eee8b0ae3890a131c\n ismaelsadeeq:\n ACK 30a01134cdec37e7467fcd6eee8b0ae3890a131c 🛰️\n\nTree-SHA512: 2a4aec0442c860e792a061d83e36483c1f1b426f946efbdf664c8db97a596e498b535707e1d3a900218429486ea69fd4552e3d476526a6883cbd5556c6534b48","shortMessageHtmlLink":"Merge #29496: policy: bump TX_MAX_STANDARD_VERSION to 3"}},{"before":"4a020ca443ba370bf41583962d16aa8551876f53","after":"feab35189bc00bc4cf15e9dcb5cf6b34ff3a1e91","ref":"refs/heads/master","pushedAt":"2024-06-07T13:33:19.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"glozow","name":"Gloria Zhao","path":"/glozow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25183001?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30161: util: add VecDeque\n\n7b8eea067f188c0b0e52ef21b01aedd37667a237 tests: add fuzz tests for VecDeque (Pieter Wuille)\n62fd24af6a3fe1569662c2802f59bb68a0172087 util: add VecDeque (Pieter Wuille)\n\nPull request description:\n\n Extracted from #30126.\n\n This adds a `VecDeque` data type, inspired by `std::deque`, but backed by a single allocated memory region used as a ring buffer instead of a linked list of arrays. This gives better memory locality and less allocation overhead, plus better guarantees (some C++ standard library implementations, though not libstdc++ and libc++, use a separate allocation per element in a deque).\n\n It is intended for the candidate set search queue in #30126, but may be useful as a replacement for `std::deque` in other places too. It's not a full drop-in replacement, as I did not add iteration support which is unnecessary for the intended use case, but nothing prevents adding that if needed.\n\n Everything is tested through a simulation-based fuzz test that compares the behavior with normal `std::deque` equivalent operations, both for trivially-copyable/destructible types and others.\n\nACKs for top commit:\n instagibbs:\n reACK https://github.com/bitcoin/bitcoin/pull/30161/commits/7b8eea067f188c0b0e52ef21b01aedd37667a237\n cbergqvist:\n re-ACK 7b8eea067f188c0b0e52ef21b01aedd37667a237\n hebasto:\n re-ACK 7b8eea067f188c0b0e52ef21b01aedd37667a237, I've verified changes since my recent [review](https://github.com/bitcoin/bitcoin/pull/30161#pullrequestreview-2103018546) with\n glozow:\n ACK 7b8eea067f\n\nTree-SHA512: 1b62f3ba1a43a1293d8c9de047e2399442e74c46de2df81406151fe27538716ce265f35fb6779ee56d77a39cddf8fb4b4e15bda8f04ebf3b149e2f05fa55cb21","shortMessageHtmlLink":"Merge #30161: util: add VecDeque"}},{"before":"1040a1fc807ed984020eeaa6e90b5bf070b61b05","after":"4a020ca443ba370bf41583962d16aa8551876f53","ref":"refs/heads/master","pushedAt":"2024-06-06T23:19:06.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"achow101","name":"Ava Chow","path":"/achow101","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3782274?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#29401: test: Remove struct.pack from almost all places\n\nfa52e13ee81fcc7543890dbd6986fcb55168583f test: Remove struct.pack from almost all places (MarcoFalke)\nfa826db477a981b48bff53021f9695a5f6682dc0 scripted-diff: test: Use int.to_bytes over struct packing (MarcoFalke)\nfaf2a975ad46799d075e3a70c699da0d8182aab9 test: Use int.to_bytes over struct packing (MarcoFalke)\nfaf3cd659a72473a1aa73c4367a145f4ec64f146 test: Normalize struct.pack format (MarcoFalke)\n\nPull request description:\n\n `struct.pack` has many issues:\n\n * The format string consists of characters that may be confusing and may need to be looked up in the documentation, as opposed to using easy to understand self-documenting code.\n\n This lead to many test bugs, which weren't hit, which is fine, but still confusing. Ref: https://github.com/bitcoin/bitcoin/pull/29400, https://github.com/bitcoin/bitcoin/pull/29399, https://github.com/bitcoin/bitcoin/pull/29363, fa3886b7c69cbbe564478f30bb2c35e9e6b1cffa, ...\n\n Fix all issues by using the built-in `int` helpers `to_bytes` via a scripted diff.\n\n Review notes:\n\n * For `struct.pack` and `int.to_bytes` the error behavior is the same, although the error messages are not identical.\n * Two `struct.pack` remain. One for float serialization in a C++ code comment, and one for native serialization.\n\nACKs for top commit:\n achow101:\n ACK fa52e13ee81fcc7543890dbd6986fcb55168583f\n rkrux:\n tACK [fa52e13](https://github.com/bitcoin/bitcoin/pull/29401/commits/fa52e13ee81fcc7543890dbd6986fcb55168583f)\n theStack:\n Code-review ACK fa52e13ee81fcc7543890dbd6986fcb55168583f\n\nTree-SHA512: ee80d935b68ae43d1654b047e84ceb80abbd20306df35cca848b3f7874634b518560ddcbc7e714e2e7a19241e153dee64556dc4701287ae811e26e4f8c57fe3e","shortMessageHtmlLink":"Merge #29401: test: Remove struct.pack from almost all places"}},{"before":"f47cd649e970b37fcd1fc31bbadaebf49566ee73","after":"1040a1fc807ed984020eeaa6e90b5bf070b61b05","ref":"refs/heads/master","pushedAt":"2024-06-06T09:59:31.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"fanquake","name":"fanquake","path":"/fanquake","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863730?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30228: build: no-longer allow GCC-10 in C++20 check\n\n232928b58a82e3f15307deba1ae921ae2960ccc8 build: no-longer allow GCC-10 in C++20 check (fanquake)\n\nPull request description:\n\n Reverts part of fa67f096bdea9db59dd20c470c9e32f3dac5be94, now that we require a minimum of GCC 11.\n\n See also:\n https://github.com/bitcoin/bitcoin/pull/28349#issuecomment-1745143612.\n\nACKs for top commit:\n maflcko:\n utACK 232928b58a82e3f15307deba1ae921ae2960ccc8\n theuni:\n utACK 232928b58a82e3f15307deba1ae921ae2960ccc8\n\nTree-SHA512: 10e0adac2dd6e455aaf97ebfe73c7586430349fc27ac435bc6c0d99a4934a380398d14467aacd9cedf371345da291366b3ab2c3be7db5d97e21ad6212b2c7890","shortMessageHtmlLink":"Merge #30228: build: no-longer allow GCC-10 in C++20 check"}},{"before":"ff7d2054c4f1d7ff98078b9695e7c36e79a476c6","after":"f47cd649e970b37fcd1fc31bbadaebf49566ee73","ref":"refs/heads/master","pushedAt":"2024-06-06T09:49:41.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"fanquake","name":"fanquake","path":"/fanquake","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863730?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30236: build: re-enable deprecated warning copy\n\nc3a5e8a0639ff2505adb4a4e7776db87d5ebafd3 build: re-enable deprecated warning copy (Cory Fields)\n\nPull request description:\n\n Noticed while looking at the `-wno-*` flags in #30235.\n\n This was disabled in #18738 due to the combo of old gcc and qt. We no longer support the affected gcc, and the old qt should no longer be relevant to us anyway.\n\n See old fixes in:\n https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88136\n and\n https://bugreports.qt.io/browse/QTBUG-75210\n and\n https://codereview.qt-project.org/c/qt/qtbase/+/245434\n\nACKs for top commit:\n maflcko:\n ACK c3a5e8a0639ff2505adb4a4e7776db87d5ebafd3\n fanquake:\n ACK c3a5e8a0639ff2505adb4a4e7776db87d5ebafd3 - this is in `-Wextra` for Clang and GCC.\n\nTree-SHA512: bd008dc50134d15ca3bb0c4f78d910db5b7a0ee98b04c159122a6f13a24b18827806492f053293d9cc1f1528ba60dea6d9ed31a366f63840ccb7c55f002d263b","shortMessageHtmlLink":"Merge #30236: build: re-enable deprecated warning copy"}},{"before":"74dc8585b38df405ab78018a4faaa4a25f8fc7a4","after":"ff7d2054c4f1d7ff98078b9695e7c36e79a476c6","ref":"refs/heads/master","pushedAt":"2024-06-05T10:40:52.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"fanquake","name":"fanquake","path":"/fanquake","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863730?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30185: guix: show `*_FLAGS` variables in pre-build output\n\n5f2c1d84e37697f4f8a20e3c12f37bba71b3c2a6 guix: show *_FLAGS variables in pre-build output (fanquake)\n\nPull request description:\n\n For example:\n ```bash\n # ADDITIONAL_GUIX_COMMON_FLAGS set in the ENV\n ADDITIONAL_GUIX_ENVIRONMENT_FLAGS=\"--emulate-fhs\" ./contrib/guix/guix-build\n \n INFO: Building f751991 for platform triple x86_64-linux-gnu:\n ...using reference timestamp: 1716905119\n ...running at most 10 jobs\n ...from worktree directory: '/bitcoin'\n ...bind-mounted in container to: '/bitcoin'\n ...in build directory: '/bitcoin/guix-build-f75199182133/distsrc-f75199182133-x86_64-linux-gnu'\n ...bind-mounted in container to: '/distsrc-base/distsrc-f75199182133-x86_64-linux-gnu'\n ...outputting in: '/bitcoin/guix-build-f75199182133/output/x86_64-linux-gnu'\n ...bind-mounted in container to: '/outdir-base/x86_64-linux-gnu'\n ADDITIONAL FLAGS (if set)\n ADDITIONAL_GUIX_COMMON_FLAGS: --no-substitutes\n ADDITIONAL_GUIX_ENVIRONMENT_FLAGS: --emulate-fhs\n ADDITIONAL_GUIX_TIMEMACHINE_FLAGS:\n ```\n\nACKs for top commit:\n hebasto:\n ACK 5f2c1d84e37697f4f8a20e3c12f37bba71b3c2a6.\n\nTree-SHA512: 85a6d508499b4ec1d6166343a1707b682d327b2fcfb2fb438571894478aac0062d21e1239b5092091ff98711c5c747151973c4f325a7a7c447d0e807166fcb07","shortMessageHtmlLink":"Merge #30185: guix: show *_FLAGS variables in pre-build output"}},{"before":"23b3dc2dd13dc9bf13790a87b046a64cbbfccc43","after":"74dc8585b38df405ab78018a4faaa4a25f8fc7a4","ref":"refs/heads/master","pushedAt":"2024-06-05T10:37:20.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"fanquake","name":"fanquake","path":"/fanquake","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863730?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30174: test: Set mocktime in p2p_disconnect_ban.py to avoid intermittent test failure\n\n4444de152f01368e603f2b089679a86eae02e34a test: Set mocktime in p2p_disconnect_ban.py to avoid intermittent test failure (MarcoFalke)\nfa6aa4027cecd819c1210d6959af364d5bf9f608 test: Fix typos and use names args (MarcoFalke)\n\nPull request description:\n\n Otherwise, the test may fail on slow hardware when running in valgrind.\n\n Also, use named args for the absolute timepoint, while touching this file.\n\nACKs for top commit:\n tdb3:\n ACK for 4444de152f01368e603f2b089679a86eae02e34a\n AngusP:\n re-ACK 4444de152f01368e603f2b089679a86eae02e34a\n\nTree-SHA512: 660269c8dd18887d69b284f38656899caf028159ce83ddf921f3e9c080a5d0e663989f0e42b4baf4c4939f20f34da0e7e844dff9b7c91d0cab570c60958bd0e1","shortMessageHtmlLink":"Merge #30174: test: Set mocktime in p2p_disconnect_ban.py to avoid in…"}},{"before":"c29314ecfcc09db4f3d3656a825c13158974578c","after":"23b3dc2dd13dc9bf13790a87b046a64cbbfccc43","ref":"refs/heads/master","pushedAt":"2024-06-05T01:57:52.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"achow101","name":"Ava Chow","path":"/achow101","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3782274?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30218: refactor: remove unused `CKey::Negate` method\n\n8801e319d51209fe3a3b06e2aab5f96ceead290d refactor: remove unused `CKey::Negate` method (Sebastian Falbesoner)\n\nPull request description:\n\n This method was introduced as a pre-requirement for the v2 transport protocol back then (see PR #14047, commit 463921bb), when it was still BIP151. With the replacement BIP324, this is not needed anymore, and it's also unlikely that for any other proposal we'd ever need to negate private keys at this abstraction level. I'd argue that this operation is usually something that should happen within a secp256k1 module (like e.g. done in MuSig2, Silent Payments...).\n\n (If there is really demand in the future, it's also trivial to reintroduce the method.)\n\nACKs for top commit:\n laanwj:\n ACK 8801e319d51209fe3a3b06e2aab5f96ceead290d\n sipa:\n ACK 8801e319d51209fe3a3b06e2aab5f96ceead290d\n achow101:\n ACK 8801e319d51209fe3a3b06e2aab5f96ceead290d\n\nTree-SHA512: 7bc1566399635c5c6e4940a2724c865d5443eb190024379099330c023c516f1e4f423ed9e8c42bc93413b723a5464ec79d3f879f58c0e598fe24f495238df4ec","shortMessageHtmlLink":"Merge #30218: refactor: remove unused CKey::Negate method"}},{"before":"76a33be21d4243f9e8f18c164f776adf7c99a56c","after":"c29314ecfcc09db4f3d3656a825c13158974578c","ref":"refs/heads/master","pushedAt":"2024-06-05T01:47:31.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"achow101","name":"Ava Chow","path":"/achow101","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3782274?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#29998: functional test: ensure confirmed utxo being sourced for 2nd chain\n\n07aba8dd215b23b06853b1a9fe04ac8b08f62932 functional test: ensure confirmed utxo being sourced for 2nd chain (Greg Sanders)\n\nPull request description:\n\n The test could fail/stop testing what we want if non-confirmed utxos become sourced through some internal change to `MiniWallet`; better to just fetch confirmed explicitly.\n\nACKs for top commit:\n achow101:\n ACK 07aba8dd215b23b06853b1a9fe04ac8b08f62932\n ismaelsadeeq:\n utACK 07aba8dd215b23b06853b1a9fe04ac8b08f62932\n theStack:\n ACK 07aba8dd215b23b06853b1a9fe04ac8b08f62932\n\nTree-SHA512: 66795fdf881139ed91bde0f8239a46bd9bc70bb311fa97c0e2b5537e1fd2a1fd36bf3a225fc77b9695deb835a9d6d29879aa1e05ea5054b9a33a400e199da014","shortMessageHtmlLink":"Merge #29998: functional test: ensure confirmed utxo being sourced fo…"}},{"before":"b3a61bd7b10211124613d18a524ec86781a30e9e","after":"76a33be21d4243f9e8f18c164f776adf7c99a56c","ref":"refs/heads/master","pushedAt":"2024-06-05T01:40:04.000Z","pushType":"push","commitsCount":11,"pusher":{"login":"achow101","name":"Ava Chow","path":"/achow101","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3782274?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#28307: rpc, wallet: fix incorrect segwit redeem script size limit\n\n2451a217dd2c21b6d2f2b2699ceddd0bf9073019 test: addmultisigaddress, coverage for script size limits (furszy)\n53302a09817e5b799d345dfea432546a55a9d727 bugfix: addmultisigaddress, add unsupported operation for redeem scripts over 520 bytes (furszy)\n9be6065cc03f2408f290a332b203eef9c9cebf24 test: coverage for 16-20 segwit multisig scripts (furszy)\n9d9a91c4ea6b3bb32ef4131bca86f1d6683fc901 rpc: bugfix, incorrect segwit redeem script size used in signrawtransactionwithkey (furszy)\n0c9fedfc45fa7cbd6801ca5fd756863ec9a6911c fix incorrect multisig redeem script size limit for segwit (furszy)\nf7a173b5785cda460470df9a74a0e0f94d7f9a18 test: rpc_createmultisig, decouple 'test_sortedmulti_descriptors_bip67' (furszy)\n4f33dbd8f8c0e29f37b04e6af6d2c7905ecceaf6 test: rpc_createmultisig, decouple 'test_mixing_uncompressed_and_compressed_keys' (furszy)\n25a81705d376e8c96dad45436ae3fca975b3daf5 test: rpc_createmultisig, remove unnecessary checkbalances() (furszy)\nb5a328943362cfac6e90fd4e1b167c357d53b7d4 test: refactor, multiple cleanups in rpc_createmultisig.py (furszy)\n3635d432681847313c098f9827483372a840e70f test: rpc_createmultisig, remove manual wallet initialization (furszy)\n\nPull request description:\n\n Fixing https://github.com/bitcoin/bitcoin/issues/28250#issuecomment-1674830104 and more.\n\n Currently, redeem scripts longer than 520 bytes, which are technically valid under segwit rules, have flaws in the following processes:\n 1) The multisig creation process fails to deduce the output descriptor, resulting in the generation of an incorrect descriptor. Additionally, the accompanying user warning is also inaccurate.\n 2) The `signrawtransactionwithkey` RPC command fail to sign them.\n 3) The legacy wallet `addmultisigaddress` wrongly discards them.\n\n The issue arises because most of these flows are utilizing the legacy spkm keystore, which imposes\n the [p2sh max redeem script size rule](https://github.com/bitcoin/bitcoin/blob/ded687334031f4790ef6a36b999fb30a79dcf7b3/src/script/signingprovider.cpp#L160) on all scripts. Which blocks segwit redeem scripts longer than\n the max element size in all the previously mentioned processes (`createmultisig`, `addmultisigaddress`, and\n `signrawtransactionwithkey`).\n\n This PR fixes the problem, enabling the creation of multisig output descriptors involving more than 15 keys and\n allowing the signing of these scripts, along with other post-segwit redeem scripts that surpass the 520-byte\n p2sh limit.\n\n Important note:\n Instead of adding support for these longer redeem scripts in the legacy wallet, an \"unsupported operation\"\n error has been added. The reasons behind this decision are:\n\n 1) The introduction of this feature brings about a compatibility-breaking change that requires downgrade\n protection; older wallets would be unable to interact with these \"new\" legacy wallets.\n\n 2) Considering the ongoing deprecation of the legacy spkm, this issue provides another compelling\n reason to transition towards descriptors.\n\n Testing notes:\n To easily verify each of the fixes, I decoupled the tests into standalone commits. So they can be\n cherry-picked on top of master. Where `rpc_createmultisig.py` (with and without the `--legacy-wallet`\n arg) will fail without the bugs fixes commits.\n\n Extra note:\n The initial commits improves the `rpc_createmultisig.py` test in many ways. I found this test very\n antiquated, screaming for an update and cleanup.\n\nACKs for top commit:\n pinheadmz:\n ACK 2451a217dd2c21b6d2f2b2699ceddd0bf9073019\n theStack:\n Code-review ACK 2451a217dd2c21b6d2f2b2699ceddd0bf9073019\n achow101:\n ACK 2451a217dd2c21b6d2f2b2699ceddd0bf9073019\n\nTree-SHA512: 71794533cbd46b3a1079fb4e9d190d3ea3b615de0cbfa443466e14f05e4616ca90e12ce2bf07113515ea8113e64a560ad572bb9ea9d4835b6fb67b6ae596167f","shortMessageHtmlLink":"Merge #28307: rpc, wallet: fix incorrect segwit redeem script size limit"}},{"before":"55cf34a5c30f1aee0737b48fa2814996359eca89","after":"b3a61bd7b10211124613d18a524ec86781a30e9e","ref":"refs/heads/master","pushedAt":"2024-06-05T01:26:58.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"achow101","name":"Ava Chow","path":"/achow101","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3782274?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#28074: fuzz: wallet, add target for `Crypter`\n\nd7290d662f494503f28e087dd728b492c0bb2c5f fuzz: wallet, add target for Crypter (Ayush Singh)\n\nPull request description:\n\n This PR adds fuzz coverage for `wallet/crypter`.\n\n Motivation: Issue [27272](https://github.com/bitcoin/bitcoin/issues/27272#issue-1628327906)\n\n I ran this for a long time with Sanitizers on and had no crashes; the average `exec/sec` also looks good to me. However, I would really appreciate it if some of the reviewers could try it on their machines too, and give their feedback.\n\nACKs for top commit:\n maflcko:\n utACK d7290d662f494503f28e087dd728b492c0bb2c5f\n achow101:\n ACK d7290d662f494503f28e087dd728b492c0bb2c5f\n brunoerg:\n utACK d7290d662f494503f28e087dd728b492c0bb2c5f\n\nTree-SHA512: f5c496cabdd3263a7e1ad49eeff702725336f76bf19a82e5dbbead082e990889dd43c851d0d2d6ab740f44b8ec2aa06defd9ff6b02be68b5f8b4eaf963f88599","shortMessageHtmlLink":"Merge #28074: fuzz: wallet, add target for Crypter"}},{"before":"09fe1435d9cae5d32fa4e24042d7a862b7c7bf22","after":"55cf34a5c30f1aee0737b48fa2814996359eca89","ref":"refs/heads/master","pushedAt":"2024-06-05T00:32:41.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"achow101","name":"Ava Chow","path":"/achow101","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3782274?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30047: refactor: Model the bech32 charlimit as an Enum\n\n7f3f6c6dc80247e6dfb0d406dc53bc8198f029fd refactor: replace hardcoded numbers (Lőrinc)\n5676aec1e1a6d2c6fd3099e120e263a0a7def089 refactor: Model the bech32 charlimit as an Enum (josibake)\n\nPull request description:\n\n Broken out from #28122\n\n ---\n\n Bech32(m) was defined with a 90 character limit so that certain guarantees for error detection could be made for segwit addresses (see https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki#checksum-design).\n\n However, there is nothing about the encoding scheme itself that requires a limit of 90 and in practice bech32(m) is being used without the 90 char limit (e.g. lightning invoices, silent payments). Further, increasing the character limit doesn't do away with error detection, it simply changes the guarantee.\n\n The primary motivation for this change is for being able to parse BIP352 v0 silent payment addresses (see https://github.com/bitcoin/bitcoin/pull/28122/commits/622c7a98b9f08177a3cfb601306daabb101af1fd), which require up to 118 characters. In addition to BIP352, modeling the character limit as an enum allows us to easily support new address types that use bech32m and specify their own character limit.\n\nACKs for top commit:\n paplorinc:\n re-ACK 7f3f6c6dc80247e6dfb0d406dc53bc8198f029fd\n achow101:\n ACK 7f3f6c6dc80247e6dfb0d406dc53bc8198f029fd\n theuni:\n utACK 7f3f6c6dc80247e6dfb0d406dc53bc8198f029fd\n\nTree-SHA512: 9c793d657448c1f795093b9f7d4d6dfa431598f48d54e1c899a69fb2f43aeb68b40ca2ff08864eefeeb6627d4171877234b5df0056ff2a2b84415bc3558bd280","shortMessageHtmlLink":"Merge #30047: refactor: Model the bech32 charlimit as an Enum"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEYqy0wwA","startCursor":null,"endCursor":null}},"title":"Activity · bitcoin/bitcoin"}