{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":272700405,"defaultBranch":"master","name":"gui","ownerLogin":"bitcoin-core","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-06-16T12:20:07.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/13464320?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1621257589.5340319","currentOid":""},"activityList":{"items":[{"before":"4c387cb64ff4c74f911b1559fb0ef143ee6c268b","after":"327f08bb0cd91a22249395adeb34549e3c86ca76","ref":"refs/heads/master","pushedAt":"2024-05-24T17:15:59.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#30169: fuzz: Fix wallet_bdb_parser stdlib error matching\n\nfac72985292b516919a216d9a78cf84418cd7f96 fuzz: Fix wallet_bdb_parser stdlib error matching (MarcoFalke)\n\nPull request description:\n\n The stdlib error string is an implementation detail and can not be relied upon.\n\n Ref: `libc++abi: terminating due to uncaught exception of type std::runtime_error: AutoFile::read: end of file: unspecified iostream_category error`\n\nACKs for top commit:\n achow101:\n ACK fac72985292b516919a216d9a78cf84418cd7f96\n\nTree-SHA512: 588acc71a05d97855d6bb65380411e8486692536434eadee7697de09f80b128ff2f90a31fd0e8384d084b554d2f3978efd076082e070e721cf05b07c94cc83b1","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30169: fuzz: Fix wallet_bdb_parser stdlib error…"}},{"before":"413844f1c2a3d8f7cfef822f348f26df488b03c7","after":"4c387cb64ff4c74f911b1559fb0ef143ee6c268b","ref":"refs/heads/master","pushedAt":"2024-05-24T09:25:25.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"glozow","name":"Gloria Zhao","path":"/glozow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25183001?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30072: refactor prep for package rbf\n\n2fd34ba504957331f5a08614b6e1f8317260f04d Add sanity checks for various ATMPArgs booleans (Greg Sanders)\n20d8936d8bb6137a5a3722d34e0d7ae756031009 [refactor] make some members MemPoolAccept-wide (glozow)\ncbbfe719b223b9e05398227cef68c99eb97670bd cpfp carveout is excluded in packages (glozow)\n69f7ab05bafec1cf06fd7a58351f78e32bbfa2cf Add m_allow_sibling_eviction as separate ATMPArgs flag (Greg Sanders)\n57ee3029ddadaee5cb48224e0a87f704b7971bd8 Add description for m_test_accept (Greg Sanders)\n\nPull request description:\n\n First few commits of https://github.com/bitcoin/bitcoin/pull/28984 to set the stage for the package RBF logic.\n\n These refactors are preparation for evaluating an RBF in a multi-proposed-transaction context instead of only a single proposed transaction. Also, carveouts and sibling evictions only should work in single RBF cases so add logic to preclude multi-tx cases in the future.\n\n No behavior changes aside from bailing earlier from failed carve-outs.\n\nACKs for top commit:\n glozow:\n reACK 2fd34ba504957331f5a08614b6e1f8317260f04d via range-diff\n sr-gi:\n utACK [2fd34ba](https://github.com/bitcoin/bitcoin/pull/30072/commits/2fd34ba504957331f5a08614b6e1f8317260f04d)\n theStack:\n re-ACK 2fd34ba504957331f5a08614b6e1f8317260f04d\n\nTree-SHA512: 5071c5b8d9b8d2c9faa278c8c4df31de288cb407a68e4d55544c588caff6c86160cce7825453549c6ed69e29d9ccb5ee2d4a518b18f563bfb12f2ced073fe42a","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30072: refactor prep for package rbf"}},{"before":"915d7276e4060999bac2a42c533b6fb8bdbe5b3d","after":"413844f1c2a3d8f7cfef822f348f26df488b03c7","ref":"refs/heads/master","pushedAt":"2024-05-23T16:31:33.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#29612: rpc: Optimize serialization and enhance metadata of dumptxoutset output\n\n542e13b2937356810bda2c41be83c3b1675e2f2f rpc: Enhance metadata of the dumptxoutset output (Fabian Jahr)\n4d8e5edbaa94805be41ae4c8aa2f4bf7aaa276fe assumeutxo: Add documentation on dumptxoutset serialization format (Fabian Jahr)\nc14ed7f384075330361df636f40121cf25a066d6 assumeutxo: Add test for changed coin size value (Fabian Jahr)\nde95953d870c41436de67d56c93259bc66fe1434 rpc: Optimize serialization disk space of dumptxoutset (Fabian Jahr)\n\nPull request description:\n\n The second attempt at implementing the `dumptxoutset` space optimization as suggested in #25675. Closes #25675.\n\n This builds on the work done in #26045, addresses open feedback, adds some further improvements (most importantly usage of compact size), documentation, and an additional test.\n\n The [original snapshot at height 830,000](https://github.com/bitcoin/bitcoin/pull/29551) came in at 10.82 GB. With this change, the same snapshot is 8.94 GB, a reduction of 17.4%.\n\n This also enhances the metadata of the output file and adds the following data to allow for better error handling and make future upgrades easier:\n - A newly introduced utxo set magic\n - A version number\n - The network magic\n - The block height\n\nACKs for top commit:\n achow101:\n ACK 542e13b2937356810bda2c41be83c3b1675e2f2f\n TheCharlatan:\n Re-ACK 542e13b2937356810bda2c41be83c3b1675e2f2f\n theStack:\n ACK 542e13b2937356810bda2c41be83c3b1675e2f2f\n\nTree-SHA512: 0825d30e5c3c364062db3c6cbca4e3c680e6e6d3e259fa70c0c2b2a7020f24a47406a623582040988d5c7745b08649c31110df4c10656aa25f3f27eb35843d99","shortMessageHtmlLink":"Merge bitcoin/bitcoin#29612: rpc: Optimize serialization and enhance …"}},{"before":"867f6af803dcc9f0f754bf5cc683c853bb09051b","after":"915d7276e4060999bac2a42c533b6fb8bdbe5b3d","ref":"refs/heads/master","pushedAt":"2024-05-23T16:12:07.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#27064: system: use %LOCALAPPDATA% as default datadir on windows\n\n84900ac34f6888b7a851d0a6a5885192155f865c doc: add release-notes-27064.md (Matthew Zipkin)\n855dd8d592c951a2b3239867ffbf66bb8677d470 system: use %LOCALAPPDATA% as default datadir on windows (Matthew Zipkin)\n\nPull request description:\n\n Closes https://github.com/bitcoin/bitcoin/issues/2391\n\n This PR changes the default datadir location on Windows from `C:\\Users\\Username\\AppData\\Roaming\\Bitcoin` to `C:\\Users\\Username\\AppData\\Local\\Bitcoin`. This change only applies to fresh installs. To preserve backwards compatibility, on startup we check for the existence of `C:\\Users\\Username\\AppData\\Roaming\\Bitcoin\\chainstate` and if it is there, we continue using the \"Roaming\" directory as the default datadir location.\n\n [Note that in Windows 11 this change may be moot:](https://learn.microsoft.com/en-us/uwp/api/windows.storage.applicationdata.roamingfolder?view=winrt-22621)\n\n > Roaming data and settings is no longer supported as of Windows 11. The recommended replacement is [Azure App Service](https://learn.microsoft.com/en-us/azure/app-service/). Azure App Service is widely supported, well documented, reliable, and supports cross-platform/cross-ecosystem scenarios such as iOS, Android and web. Settings stored here no longer roam (as of Windows 11), but the settings store is still available.\n\nACKs for top commit:\n achow101:\n ACK 84900ac34f6888b7a851d0a6a5885192155f865c\n BenWestgate:\n crACK https://github.com/bitcoin/bitcoin/commit/84900ac34f6888b7a851d0a6a5885192155f865c\n hebasto:\n re-ACK 84900ac34f6888b7a851d0a6a5885192155f865c, only addressed feedback since my recent [review](https://github.com/bitcoin/bitcoin/pull/27064#pullrequestreview-2028718273).\n\nTree-SHA512: 807c6e89571287e2c8f4934229aec91ef28e7d0a675234acf1b7d085c24c7b73a08b6e345fbfc9038e6239187b6b69c08490ddaa1c057de5ea975c4a000bba42","shortMessageHtmlLink":"Merge bitcoin/bitcoin#27064: system: use %LOCALAPPDATA% as default da…"}},{"before":"6300438a2e0b6ee21fe210072b7b8be2f4845c17","after":"867f6af803dcc9f0f754bf5cc683c853bb09051b","ref":"refs/heads/master","pushedAt":"2024-05-23T15:54:42.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#29873: policy: restrict all TRUC (v3) transactions to 10kvB\n\n154b2b2296edccb5ed24e829798dacb6195edc11 [fuzz] V3_MAX_VSIZE and effective ancestor/descendant size limits (glozow)\na29f1df289cf27c6cbd565448548b3dc1392a9b0 [policy] restrict all v3 transactions to 10kvB (glozow)\nd578e2e3540e085942001350ff3aeb047bdac973 [policy] explicitly require non-v3 for CPFP carve out (glozow)\n\nPull request description:\n\n Opening for discussion / conceptual review.\n\n We like the idea of a smaller maximum transaction size because:\n - It lowers potential replacement cost (i.e. harder to do Rule 3 pinning via gigantic transaction)\n - They are easier to bin-pack in block template production\n - They equate to a tighter memory limit in data structures that are bounded by a number of transactions (e.g. orphanage and vExtraTxnForCompact). For example, the current memory bounds for orphanage is 100KvB * 100 = 40MB, and guaranteeing 1 tx per peer would require reserving a pretty large space.\n\n History for `MAX_STANDARD_TX_WEIGHT=100KvB` (copied from https://github.com/bitcoin/bitcoin/pull/29873#issuecomment-2115459510):\n - 2010-09-13 In https://github.com/bitcoin/bitcoin/commit/3df62878c3cece15a8921fbbdee7859ee9368768 satoshi added a 100kB (MAX_BLOCK_SIZE_GEN/5 with MBS_GEN = MAX_BLOCK_SIZE/2) limit on new transactions in CreateTransaction()\n - 2013-02-04 https://github.com/bitcoin/bitcoin/pull/2273 In gavin gave that constant a name, and made it apply to transaction relay as well\n\n Lowering `MAX_STANDARD_TX_WEIGHT` for all txns is not being proposed, as there are existing apps/protocols that rely on large transactions. However, it's been brought up that we should consider this for TRUCs (which is especially designed to avoid Rule 3 pinning).\n\n This reduction should be ok because using nVersion=3 isn't standard yet, so this wouldn't break somebody's existing use case. If we find that this is too small, we can always increase it later. Decreasing would be much more difficult.\n ~[Expected size of a commitment transaction](https://github.com/lightning/bolts/blob/master/03-transactions.md#expected-weight-of-the-commitment-transaction) is within (900 + 172 * 483 + 224) / 4 = 21050vB~ EDIT: this is incorrect, but perhaps not something that should affect how we choose this number.\n\nACKs for top commit:\n sdaftuar:\n ACK 154b2b2296edccb5ed24e829798dacb6195edc11\n achow101:\n ACK 154b2b2296edccb5ed24e829798dacb6195edc11\n instagibbs:\n ACK 154b2b2296edccb5ed24e829798dacb6195edc11\n t-bast:\n ACK https://github.com/bitcoin/bitcoin/commit/154b2b2296edccb5ed24e829798dacb6195edc11\n murchandamus:\n crACK 154b2b2296edccb5ed24e829798dacb6195edc11\n\nTree-SHA512: 89392a460908a8ea9f547d90e00f5181de0eaa9d2c4f2766140a91294ade3229b3d181833cad9afc93a0d0e8c4b96ee2f5aeda7c50ad7e6f3a8320b9e0c5ae97","shortMessageHtmlLink":"Merge bitcoin/bitcoin#29873: policy: restrict all TRUC (v3) transacti…"}},{"before":"e163d864d380956a4c0f89a4d80a76f5aefc9a08","after":"6300438a2e0b6ee21fe210072b7b8be2f4845c17","ref":"refs/heads/master","pushedAt":"2024-05-23T14:53:50.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"ryanofsky","name":"Ryan Ofsky","path":"/ryanofsky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7133040?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30115: rpc: avoid copying into UniValue\n\nd7707d9843b03f20d2a8c5a45d7b3db58e169e6f rpc: avoid copying into UniValue (Cory Fields)\n\nPull request description:\n\n These are the simple (and hopefully obviously correct) copies that can be moves instead.\n\n This is a follow-up from https://github.com/bitcoin/bitcoin/pull/30094#issuecomment-2108751842\n\n As it turns out, there are hundreds of places where we copy UniValues needlessly. It should be the case that moves are always preferred over copies, so there should be no downside to these changes.\n\n willcl-ark, however, noticed that memory usage may increase in some cases. Logically this makes no sense to me. The only plausible explanation imo is that because the moves are faster, more ops/second occur in some cases.\n\n This list of moves was obtained by changing the function signatures of the UniValue functions to accept only rvalues, then compiling and fixing them up one by one. There still exist many places where copies are being made. These can/should be fixed up, but weren't done here for the sake of doing the easy ones first.\n\n I ran these changes through clang-tidy with `performance-move-const-arg` and `bugprone-use-after-move` and no bugs were detected (though that's obviously not to say it can be trusted 100%).\n\n As stated above, there are still lots of other less trivial fixups to do after these including:\n - Using non-const UniValues where possible so that moves can happen\n - Refactoring code in order to be able to move a UniValue without introducing a use-after-move\n - Refactoring functions to accept UniValues by value rather than by const reference\n\nACKs for top commit:\n achow101:\n ACK d7707d9843b03f20d2a8c5a45d7b3db58e169e6f\n ryanofsky:\n Code review ACK d7707d9843b03f20d2a8c5a45d7b3db58e169e6f. No changes since last review other than rebase. I agree benchmarks showing increased peak memory usage and RSS are surprising, but number of allocations is down as expected, and runtime is also decreased.\n willcl-ark:\n ACK d7707d9843b03f20d2a8c5a45d7b3db58e169e6f\n\nTree-SHA512: 7f511be73984553c278186286a7d161a34b2574c7f5f1a0edc87c2913b4c025a0af5241ef9af2df17547f2e4ef79710aa5bbb762fc9472435781c0488dba3435","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30115: rpc: avoid copying into UniValue"}},{"before":"f15778536ad421f9805f0c005f0eb7b84dda1b4e","after":"e163d864d380956a4c0f89a4d80a76f5aefc9a08","ref":"refs/heads/master","pushedAt":"2024-05-23T14:00:50.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#30118: test: improve robustness of connect_nodes()\n\n6629d1d0f8285d1bf2d87341a856abe903f26c13 test: improve robustness of connect_nodes() (furszy)\n\nPull request description:\n\n Decoupled from #27837 because this can help other too, found it investigating a CI failure https://cirrus-ci.com/task/5805115213348864?logs=ci#L3200.\n\n The `connect_nodes` function in the test framework relies on a stable number of peer\n connections to verify that the new connection between the nodes is successfully established.\n This approach is fragile, as any of the peers involved in the process can drop, lose, or\n create a connection at any step, causing subsequent `wait_until` checks to stall indefinitely\n even when the peers in question were connected successfully.\n\n This commit improves the situation by using the nodes' subversion and the connection\n direction (inbound/outbound) to identify the exact peer connection and perform the\n checks exclusively on it.\n\nACKs for top commit:\n stratospher:\n reACK 6629d1d.\n achow101:\n ACK 6629d1d0f8285d1bf2d87341a856abe903f26c13\n maflcko:\n utACK 6629d1d0f8285d1bf2d87341a856abe903f26c13\n AngusP:\n re-ACK 6629d1d0f8285d1bf2d87341a856abe903f26c13\n\nTree-SHA512: 5f345c0ce49ea81b643e97c5cffd133e182838752c27592fcdeac14ad10919fb4b7ff38e289e42a7c3c638a170bd0d0b7a9cd493898997a2082a7b7ceef4aeeb","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30118: test: improve robustness of connect_nodes()"}},{"before":"83ae1bac9d3e01de994734b4bc7002deaf19bc67","after":"f15778536ad421f9805f0c005f0eb7b84dda1b4e","ref":"refs/heads/master","pushedAt":"2024-05-23T12:25:20.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#30149: contrib: Renew Windows code signing certificate\n\n9f4ff1e9659597307f62510f1885ad8da3a1d9a3 windeploy: Renew certificate (Ava Chow)\n\nPull request description:\n\n Renewed the Windows code signing certificate for another 3 years.\n\nACKs for top commit:\n fanquake:\n ACK 9f4ff1e9659597307f62510f1885ad8da3a1d9a3\n glozow:\n tested ACK 9f4ff1e96595\n\nTree-SHA512: 6441aa55fa1aa4e532bbe1ce1ad8b9be8a197d8de0aa57a8b02d41681a433599f305eb0a519e90782cebe20f473322be519ff6398933f525c39cc3476e860283","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30149: contrib: Renew Windows code signing cert…"}},{"before":"ef44726918c05e158246cb695ae358db603653e9","after":"83ae1bac9d3e01de994734b4bc7002deaf19bc67","ref":"refs/heads/master","pushedAt":"2024-05-23T11:08:50.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#30062: net: add ASMap info in `getrawaddrman` RPC\n\n1e54d61c4698debf3329d1960e06078ccbf8063c test: add coverage for `mapped_as` from `getrawaddrman` (brunoerg)\n8c2714907d1e1ffc58487b3b43e018c1ec10065b net: rpc: return peer's mapped AS in getrawaddrman (brunoerg)\n\nPull request description:\n\n This PR adds two new fields in `getrawaddrman` RPC: \"mapped_as\" and \"source_mapped_as\". These fields are used to return the ASN (Autonomous System Number) mapped to the peer and its source. With these informations we can have a better view of the bucketing logic with ASMap specially in projects like [addrman-observer](https://github.com/0xb10c/addrman-observer).\n\nACKs for top commit:\n fjahr:\n Code review ACK 1e54d61c4698debf3329d1960e06078ccbf8063c\n virtu:\n ACK [1e54d61](https://github.com/bitcoin/bitcoin/commit/1e54d61c4698debf3329d1960e06078ccbf8063c)\n 0xB10C:\n ACK 1e54d61c4698debf3329d1960e06078ccbf8063c\n glozow:\n ACK 1e54d61c4698debf3329d1960e06078ccbf8063c\n\nTree-SHA512: af86bcc7a2e69bebd3fa9eaa2e527e0758c44c0a958de7292514d5f99f8f01f5df3bae11400451268e0255f738ff3acccc77f48fe129937512f1e9d9963c4c5e","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30062: net: add ASMap info in getrawaddrman RPC"}},{"before":"6f36624147dfb59603698db647b4ad612b771810","after":"ef44726918c05e158246cb695ae358db603653e9","ref":"refs/heads/master","pushedAt":"2024-05-23T08:39:54.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#30151: depends: Fetch miniupnpc sources from an alternative website\n\n21b8a14d37c19ce292d5529597e0d52338db48a9 depends: Fetch miniupnpc sources from an alternative website (Hennadii Stepanov)\n\nPull request description:\n\n The https://miniupnp.tuxfamily.org website is unavailable now.\n\nACKs for top commit:\n achow101:\n ACK 21b8a14d37c19ce292d5529597e0d52338db48a9\n edilmedeiros:\n utACK 21b8a14d37c19ce292d5529597e0d52338db48a9\n theuni:\n utACK 21b8a14d37c19ce292d5529597e0d52338db48a9\n\nTree-SHA512: 141427447d5f1902f17fe3774fadf0ac912f663d7fd6467dff42fd6131f6884906b77cf49bbe7387f118fd9e9d52af1d36778624f9f02237d2ba3387fc974be6","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30151: depends: Fetch miniupnpc sources from an…"}},{"before":"93bec6e953172c14fc65aa1e9e363a5a9188ba37","after":"6f36624147dfb59603698db647b4ad612b771810","ref":"refs/heads/master","pushedAt":"2024-05-22T13:43:39.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#30150: doc: Correct pull request prefix for scripts and tools\n\nfa3e1151a28345edff8f371283745bdd647f9a74 doc: Correct pull request prefix for scripts and tools (MarcoFalke)\n\nPull request description:\n\n `script` is confusing, because in the context of Bitcoin, it usually means Bitcoin script (c.f. `CScript` in `script.h`, or pull requests such as https://github.com/bitcoin/bitcoin/pull/27122 using the prefix).\n\n This could be fixed by renaming it to `scripts` (with a plural `s` at the end), however, looking at the current usage `contrib` and `cli` seem more common (https://github.com/bitcoin/bitcoin/pull/29687, https://github.com/bitcoin/bitcoin/pull/26953, https://github.com/bitcoin/bitcoin/pull/26584, https://github.com/bitcoin/bitcoin/pull/24864, https://github.com/bitcoin/bitcoin/pull/30074, https://github.com/bitcoin/bitcoin/pull/29433 ...)\n\nACKs for top commit:\n fanquake:\n ACK fa3e1151a28345edff8f371283745bdd647f9a74\n willcl-ark:\n ACK fa3e1151a28345edff8f371283745bdd647f9a74\n hebasto:\n ACK fa3e1151a28345edff8f371283745bdd647f9a74.\n theuni:\n ACK fa3e1151a28345edff8f371283745bdd647f9a74\n\nTree-SHA512: fb3a3892ca5f859e590c8a620350c397ef1f9eafd9e174c70ef50095d401a396758d6c93ad41888da8025c41e25e691f30c18f9e974af13597f2266bb2c53b6d","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30150: doc: Correct pull request prefix for scr…"}},{"before":"fa8cb0516d4198c56d3dc1252a5a899959e279aa","after":"93bec6e953172c14fc65aa1e9e363a5a9188ba37","ref":"refs/heads/master","pushedAt":"2024-05-22T12:43:39.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#30131: wallet, tests: Avoid stringop-overflow warning in PollutePubKey\n\n2289d4524053ab71c0d9133987cb36412797c1a2 wallet, tests: Avoid stringop-overflow warning in PollutePubKey (Ava Chow)\n\nPull request description:\n\n Fixes #30114\n\nACKs for top commit:\n maflcko:\n ACK 2289d4524053ab71c0d9133987cb36412797c1a2 with g++ 14.1.1 🦄\n theStack:\n utACK 2289d4524053ab71c0d9133987cb36412797c1a2\n laanwj:\n ACK 2289d4524053ab71c0d9133987cb36412797c1a2\n\nTree-SHA512: 173c3c299bdd890f73e8a67a37880dbf816265e8b3c8298557ef2fc4670f5447005c0d2d81726f9bc43f6a69d677365d90a604354b3cbab0e3c52c4526d0407e","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30131: wallet, tests: Avoid stringop-overflow w…"}},{"before":"0388dd702b8d76c83bd17fc339d8c63904234fb0","after":"fa8cb0516d4198c56d3dc1252a5a899959e279aa","ref":"refs/heads/master","pushedAt":"2024-05-22T08:20:50.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#30144: ci: Add mising -Wno-error=maybe-uninitialized to armhf task\n\nfa73431dd4709754c34a4d5ad1c940ff9e628cf3 ci: Add mising -Wno-error=maybe-uninitialized to armhf task (MarcoFalke)\n\nPull request description:\n\n This happens after bd597c33e3e58cd3c6b22ed42f8f1fd7ff886bb2 in many pull requests as a silent merge conflict. For example:\n\n * https://github.com/bitcoin/bitcoin/pull/29720#issuecomment-2120847661\n * https://github.com/bitcoin/bitcoin/pull/29521#issuecomment-2106542236\n * (Probably many undetected, because the CI task was not yet re-run)\n * ...\n\nACKs for top commit:\n fjahr:\n utACK fa73431dd4709754c34a4d5ad1c940ff9e628cf3\n fanquake:\n ACK fa73431dd4709754c34a4d5ad1c940ff9e628cf3 - many fixed with 13.x\n\nTree-SHA512: 6e6ff8dc6f3c6a2abcd04c4203d3468f6e98c1ad3a4da4ad0037a9ee2cbec6bec079a5f778aba0273e38e173849927abcdfcfba7643d08ed66c1168cb89fab08","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30144: ci: Add mising -Wno-error=maybe-uninitia…"}},{"before":"2ec0a28a37dbb50d463899f53c28fb96905d97b7","after":"0388dd702b8d76c83bd17fc339d8c63904234fb0","ref":"refs/heads/master","pushedAt":"2024-05-22T07:50:49.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"fanquake","name":"fanquake","path":"/fanquake","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863730?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30120: Update libsecp256k1 subtree to current master\n\na057869aa3c42457570765966cb66accb2375b13 build: pass --with-ecmult-gen-kb=86 to secp256k1 (fanquake)\nca3d945dc66e177e8fa3e83c77236de89cc0072a Squashed 'src/secp256k1/' changes from d8311688bd..06bff6dec8 (fanquake)\n\nPull request description:\n\n This includes changes from the 0.5.0 release: https://github.com/bitcoin-core/secp256k1/releases/tag/v0.5.0\n\n > New function secp256k1_ec_pubkey_sort that sorts public keys using lexicographic (of compressed serialization) order.\n\n > The implementation of the point multiplication algorithm used for signing and public key generation was changed, resulting in improved performance for those operations.\n > The related configure option --ecmult-gen-precision was replaced with --ecmult-gen-kb (ECMULT_GEN_KB for CMake).\n > This changes the supported precomputed table sizes for these operations. The new supported sizes are 2 KiB, 22 KiB, or 86 KiB (while the old supported sizes were 32 KiB, 64 KiB, or 512 KiB).\n\nACKs for top commit:\n hebasto:\n ACK a057869aa3c42457570765966cb66accb2375b13, I've got a zero diff with my local branch, which reproduces the subtree update, and `ecmult gen table size = 86 KiB` in the configure summary.\n jonasnick:\n utACK a057869aa3c42457570765966cb66accb2375b13\n\nTree-SHA512: 907012b0d7e0a6bd68b245c238e968f2318d8ac5de5ec9070245de8391c996eb5ec6428184d028f6f0f54d3b2f5a8292ad7081177e1c331397879505436dc38e","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30120: Update libsecp256k1 subtree to current m…"}},{"before":"6c13b1375f8fd810f46f5650e01a464ee63cfa46","after":"2ec0a28a37dbb50d463899f53c28fb96905d97b7","ref":"refs/heads/master","pushedAt":"2024-05-21T20:14:37.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"fanquake","name":"fanquake","path":"/fanquake","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863730?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30137: build: Remove `--enable-threadlocal`\n\n17fe948cce2eb75f0f3f4b0db9d0d90648c7d4af build: remove --enable-threadlocal (fanquake)\n1e7c20bc19a216269c646177ab90cfa084c096a5 doc: remove comment about using thread_local (fanquake)\n5bba43312c0ceccfe18bd4d086e12ec0497ed926 build: Enable `thread_local` for MinGW-w64 builds (Hennadii Stepanov)\n\nPull request description:\n\n Includes a commit from #30099.\n Closes #29952.\n\nACKs for top commit:\n laanwj:\n Code review ACK 17fe948cce2eb75f0f3f4b0db9d0d90648c7d4af\n maflcko:\n utACK 17fe948cce2eb75f0f3f4b0db9d0d90648c7d4af\n hebasto:\n ACK 17fe948cce2eb75f0f3f4b0db9d0d90648c7d4af.\n theuni:\n utACK 17fe948cce2eb75f0f3f4b0db9d0d90648c7d4af\n\nTree-SHA512: 2aad6d19e79c4d6d7aefd0f41b215ac8d9320f5908808221d78e6ee1c77503832a02759bee2ad397e235b6739e22aca8dcf5c5ef8854deb8c697b18ac56a06da","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30137: build: Remove --enable-threadlocal"}},{"before":"a786fd2041913d82ca90b561de309421bd24e41b","after":"6c13b1375f8fd810f46f5650e01a464ee63cfa46","ref":"refs/heads/master","pushedAt":"2024-05-21T17:59:47.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#29421: net: make the list of known message types a compile time constant\n\nb3efb486732f3caf8b8a8e9d744e6d20ae4255ef protocol: make message types constexpr (Vasil Dimov)\n2fa9de06c2c8583ee8e2434dc97014b26e218ab5 net: make the list of known message types a compile time constant (Vasil Dimov)\n\nPull request description:\n\n Turn the `std::vector` to `std::array` because it is cheaper and allows us to have the number of the messages as a compile time constant: `ALL_NET_MESSAGE_TYPES.size()` which can be used in future code to build other `std::array`s with that size.\n\n ---\n\n This change is part of https://github.com/bitcoin/bitcoin/pull/29418 but it makes sense on its own and would be good to have it, regardless of the fate of https://github.com/bitcoin/bitcoin/pull/29418. Also, if this is merged, that would reduce the size of https://github.com/bitcoin/bitcoin/pull/29418, thus the current standalone PR.\n\nACKs for top commit:\n achow101:\n ACK b3efb486732f3caf8b8a8e9d744e6d20ae4255ef\n jonatack:\n ACK b3efb486732f3caf8b8a8e9d744e6d20ae4255ef\n maflcko:\n utACK b3efb486732f3caf8b8a8e9d744e6d20ae4255ef 🎊\n willcl-ark:\n ACK b3efb486732f3caf8b8a8e9d744e6d20ae4255ef\n\nTree-SHA512: 6d3860c138c64514ebab13d97ea67893e2d346dfac30a48c3d9bc769a1970407375ea4170afdb522411ced306a14a9af4eede99e964d1fb1ea3efff5d5eb57af","shortMessageHtmlLink":"Merge bitcoin/bitcoin#29421: net: make the list of known message type…"}},{"before":"8804ec736adaacf5392392add003e679069ad527","after":"a786fd2041913d82ca90b561de309421bd24e41b","ref":"refs/heads/master","pushedAt":"2024-05-21T09:26:54.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#30143: doc: Update NetBSD Build Guide\n\n85e480a41ad0901a8b46759e921c187ebbbcccdf doc: Update NetBSD Build Guide (Hennadii Stepanov)\n\nPull request description:\n\n This PR updates the NetBSD Build Guide to reflect:\n - the recent NetBSD Release\n - GCC minimum supported version update (https://github.com/bitcoin/bitcoin/pull/28348 and https://github.com/bitcoin/bitcoin/pull/29091)\n - Python minimum supported version update (https://github.com/bitcoin/bitcoin/pull/28211)\n\n Also a smaller package set has been suggested:\n - `boost-headers` instead of the full `boost`\n - `qt5-qtbase qt5-qttools` instead of the full `qt5` (similar to https://github.com/bitcoin/bitcoin/pull/29932 and https://github.com/bitcoin/bitcoin/pull/29947).\n\nACKs for top commit:\n maflcko:\n utACK 85e480a41ad0901a8b46759e921c187ebbbcccdf\n\nTree-SHA512: 0848b6f169a00f2da78eea452fd116193aece853680f4e615ba1df654246ec2a9d1600a4cfb238eb9305b72bbe4b2873519bf1e2987eaaf48aba900c64e85a48","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30143: doc: Update NetBSD Build Guide"}},{"before":"5acdc2b97dcd756a15d28d75bce9a9d3e3953f9f","after":"8804ec736adaacf5392392add003e679069ad527","ref":"refs/heads/master","pushedAt":"2024-05-21T09:26:01.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#30095: util: avoid using thread_local variable that has a destructor\n\nd35ba1b3f16071b8fe9b36398ba15352dbf2a54d util: avoid using thread_local variable that has a destructor (Vasil Dimov)\n\nPull request description:\n\n Store the thread name in a `thread_local` variable of type `char[]` instead of `std::string`. This avoids calling the destructor when the thread exits. This is a workaround for\n https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=278701\n\n For type-safety, return `std::string` from\n `util::ThreadGetInternalName()` instead of `char[]`.\n\n As a side effect of this change, we no longer store a reference to a `thread_local` variable in `CLockLocation`. This was dangerous because if the thread quits while the reference still exists (in the global variable `lock_data`, see inside `GetLockData()`) then the reference will become dangling.\n\nACKs for top commit:\n laanwj:\n Code review ACK d35ba1b3f16071b8fe9b36398ba15352dbf2a54d\n hebasto:\n re-ACK d35ba1b3f16071b8fe9b36398ba15352dbf2a54d.\n theuni:\n utACK d35ba1b3f16071b8fe9b36398ba15352dbf2a54d\n\nTree-SHA512: a2a3bc4401654d6e99db5b9c46a7051855f5a26886142298662e681b78dd581ff4c6bebe42f649b8e1fb8a78d569c6117302db2cd6362e884a22f2a5839b7d43","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30095: util: avoid using thread_local variable …"}},{"before":"ecd23656db174adef61d3bd753d02698c3528192","after":"5acdc2b97dcd756a15d28d75bce9a9d3e3953f9f","ref":"refs/heads/master","pushedAt":"2024-05-21T09:05:16.000Z","pushType":"push","commitsCount":17,"pusher":{"login":"fanquake","name":"fanquake","path":"/fanquake","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863730?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#26606: wallet: Implement independent BDB parser\n\nd51fbab4b32d56765e8faab6ad01245fb259b0ca wallet, test: Be able to always swap BDB endianness (Ava Chow)\n0b753156ce60c29efb2386954ba7555ad8f642f5 test: Test bdb_ro dump of wallet without reset LSNs (Ava Chow)\nc1984f128284589423b7e0cc06c9a3b23a242d95 test: Test dumping dbs with overflow pages (Ava Chow)\nfd7b16e391ed320e35255157a28be14c947ef30a test: Test dumps of other endian BDB files (Ava Chow)\n6ace3e953f0864bd7818f040c59a1bc70aa47512 bdb: Be able to make byteswapped databases (Ava Chow)\nd9878903fb34939dee8e1462f079acc68110253d Error if LSNs are not reset (Ava Chow)\n4d7a3ae78e55f25868979f1bd920857a4aecb825 Berkeley RO Database fuzz test (TheCharlatan)\n3568dce9e93295674cdf5458c5bdf93ff01fd0a2 tests: Add BerkeleyRO to db prefix tests (Ava Chow)\n70cfbfdadf16d3b115309c6938f07ef5b96c7cc1 wallettool: Optionally use BERKELEY_RO as format when dumping BDB wallets (Ava Chow)\ndd57713f6ede3d46e97ee7df87c10001b0bf4c3d Add MakeBerkeleyRODatabase (Ava Chow)\n6e50bee67d1d58aecd8a0ce8b7c3f5a7979365f5 Implement handling of other endianness in BerkeleyRODatabase (Ava Chow)\ncdd61c9cc108df8e13f4e3891ff2c96355b3ee38 wallet: implement independent BDB deserializer in BerkeleyRODatabase (Ava Chow)\necba23097955dad7208baa687fc405c846aee794 wallet: implement BerkeleyRODatabase::Backup (Ava Chow)\n0c8e72847603540bb29b8b8aeb80fa3f2e3a2c9a wallet: implement BerkeleyROBatch (Ava Chow)\n756ff9b478484b17c4a6e65c171c2e4fecb21ad4 wallet: add dummy BerkeleyRODatabase and BerkeleyROBatch classes (Ava Chow)\nca18aea5c4975ace4e307be96c74641d203fa389 Add AutoFile::seek and tell (Ava Chow)\n\nPull request description:\n\n Split from #26596\n\n This PR adds `BerkeleyRODatabase` which is an independent implementation of a BDB file parser. It provides read only access to a BDB file, and can therefore be used as a read only database backend for wallets. This will be used for dumping legacy wallet records and migrating legacy wallets without the need for BDB itself.\n\n Wallettool's `dump` command is changed to use `BerkeleyRODatabase` instead of `BerkeleyDatabase` (and `CWallet` itself) to demonstrate that this parser works and to test it against the existing wallettool functional tests.\n\nACKs for top commit:\n josibake:\n reACK https://github.com/bitcoin/bitcoin/commit/d51fbab4b32d56765e8faab6ad01245fb259b0ca\n TheCharlatan:\n Re-ACK d51fbab4b32d56765e8faab6ad01245fb259b0ca\n furszy:\n reACK d51fbab4b32d56765e8faab6ad01245fb259b0ca\n laanwj:\n re-ACK d51fbab4b32d56765e8faab6ad01245fb259b0ca\n theStack:\n ACK d51fbab4b32d56765e8faab6ad01245fb259b0ca\n\nTree-SHA512: 1e7b97edf223b2974eed2e9eac1179fc82bb6359e0a66b7d2a0c8b9fa515eae9ea036f1edf7c76cdab2e75ad994962b134b41056ccfbc33b8d54f0859e86657b","shortMessageHtmlLink":"Merge bitcoin/bitcoin#26606: wallet: Implement independent BDB parser"}},{"before":"063bb2fbb571b9ee4940dacbf56f36b15f6aa501","after":"ecd23656db174adef61d3bd753d02698c3528192","ref":"refs/heads/master","pushedAt":"2024-05-20T08:47:58.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#30133: test: remove unneeded `-maxorphantx=1000` settings\n\n8950053636cb38ed85fe2d58b53e5d0acb35c390 test: remove unneeded `-maxorphantx=1000` settings (Sebastian Falbesoner)\n\nPull request description:\n\n It's unclear what the motivation for increasing the orphan pool is here, and it seems that this not needed at all. None of these tests involve orphan transactions explicitly, and if they would occur occasionally, there is no good reason to prefer a value of 1000 over the default of 100 (see DEFAULT_MAX_ORPHAN_TRANSACTIONS).\n\nACKs for top commit:\n maflcko:\n utACK 8950053636cb38ed85fe2d58b53e5d0acb35c390\n edilmedeiros:\n Tested ACK 8950053636cb38ed85fe2d58b53e5d0acb35c390\n AngusP:\n tACK 8950053636cb38ed85fe2d58b53e5d0acb35c390\n glozow:\n ACK 8950053636cb38ed85fe2d58b53e5d0acb35c390 From skimming the tests, it appears that none of these need a larger `-maxorphantx`.\n\nTree-SHA512: 81d4a4fb2ea92b97119f21cbc6c4b1240d863269932e6adf4982aead9726f20652523a4707add3ad38eb332d4452de41de6735265f22e62298f3b4b45de75a57","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30133: test: remove unneeded `-maxorphantx=1000…"}},{"before":"058af75874ffa2b4064e3d6d30cc50f0ec754ba8","after":"063bb2fbb571b9ee4940dacbf56f36b15f6aa501","ref":"refs/heads/master","pushedAt":"2024-05-20T08:28:11.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#30066: test: add conflicting topology test case\n\n9365baa489e123d9bcaf986e4311d3fa3f1e3f88 test: add conflicting topology test case (Greg Sanders)\n\nPull request description:\n\n We want to ensure that even if topologies\n that are acceptable are relaxed, like\n removing package-not-child-with-unconfirmed-parents, that we don't end up accepting packages we shouldn't.\n\nACKs for top commit:\n glozow:\n reACK 9365baa489\n rkrux:\n reACK [9365baa](https://github.com/bitcoin/bitcoin/pull/30066/commits/9365baa489e123d9bcaf986e4311d3fa3f1e3f88)\n\nTree-SHA512: d58661064ca099ac0447c331a5020c74c0cdfe24259aa875592805bbd63de1bf23aa7ced9ff485fef90dc0602fcb997e631aaf1aa2e9805d2cf5f0e5c9b2f0e2","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30066: test: add conflicting topology test case"}},{"before":"4877fcdb4263fc3582184fdab3e5d1533c64a7d5","after":"058af75874ffa2b4064e3d6d30cc50f0ec754ba8","ref":"refs/heads/master","pushedAt":"2024-05-17T19:51:08.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#29817: kernel: De-globalize fReindex\n\nb47bd959207e82555f07e028cc2246943d32d4c3 kernel: De-globalize fReindex (TheCharlatan)\n\nPull request description:\n\n fReindex is one of the last remaining globals exposed by the kernel library, so move it into the blockstorage class to reduce the amount of global mutable state and make the kernel library a bit less awkward to use.\n\n ---\n\n This pull request is part of the [libbitcoinkernel project](https://github.com/bitcoin/bitcoin/issues/27587).\n\nACKs for top commit:\n achow101:\n ACK b47bd959207e82555f07e028cc2246943d32d4c3\n ryanofsky:\n Code review ACK b47bd959207e82555f07e028cc2246943d32d4c3. I rereviewed the whole PR, but the only change since last review was reverting the bugfix https://github.com/bitcoin/bitcoin/pull/29817#discussion_r1578327024 and make the change a pure refactoring.\n mzumsande:\n Code Review ACK b47bd959207e82555f07e028cc2246943d32d4c3\n stickies-v:\n ACK b47bd959207e82555f07e028cc2246943d32d4c3\n\nTree-SHA512: f7399d01f93bc0c0c7428fe95d19b9d29b4ed00a4f1deabca78fb0c4fecb434ec971e890feecb105938b5247c926850b1b7b4a4a9caa333a061e40777d0c8463","shortMessageHtmlLink":"Merge bitcoin/bitcoin#29817: kernel: De-globalize fReindex"}},{"before":"2f53f2273da020d7fabd7c65a1bc7e69a31249b2","after":"4877fcdb4263fc3582184fdab3e5d1533c64a7d5","ref":"refs/heads/master","pushedAt":"2024-05-17T18:11:09.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#30048: crypto: add `NUMS_H` const\n\n9408a04e424cee0d226bde79171bd4954f9caeb0 tests, fuzz: use new NUMS_H const (josibake)\nb946f8a4c51be42e52d63a6d578158c0b2a6b7ed crypto: add NUMS_H const (josibake)\n\nPull request description:\n\n Broken out from #28122\n\n ---\n\n [BIP341](https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki#constructing-and-spending-taproot-outputs) defines a NUMS point `H` as *H = lift_x(0x50929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0)* which is [constructed](https://github.com/ElementsProject/secp256k1-zkp/blob/11af7015de624b010424273be3d91f117f172c82/src/modules/rangeproof/main_impl.h#L16) by taking the hash of the standard uncompressed encoding of the [secp256k1](https://www.secg.org/sec2-v2.pdf) base point G as X coordinate.\"\n\n Add this as a constant so it can be used in our codebase. My primary motivation is BIP352 specifies a special case for when taproot spends use `H` as the internal key, but outside of BIP352 it seems generally useful to have `H` in the codebase, for testing or other use cases.\n\nACKs for top commit:\n paplorinc:\n re-ACK 9408a04e424cee0d226bde79171bd4954f9caeb0\n achow101:\n ACK 9408a04e424cee0d226bde79171bd4954f9caeb0\n theStack:\n Code-review ACK 9408a04e424cee0d226bde79171bd4954f9caeb0\n\nTree-SHA512: ad84492f5d635c0cb05bd82546079ded7e5138e95361f20d8285a9ad6e69c10ee2cc3fe46e16b46ef03c4253c8bee1051911c6b91264c90c3b1ad33a824bff4b","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30048: crypto: add NUMS_H const"}},{"before":"75118a608fc22a57567743000d636bc1f969f748","after":"2f53f2273da020d7fabd7c65a1bc7e69a31249b2","ref":"refs/heads/master","pushedAt":"2024-05-16T15:16:16.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#29975: blockstorage: Separate reindexing from saving new blocks\n\ne41667b720372dae8438ea86e9819027e62b54e0 blockstorage: Don't move cursor backwards in UpdateBlockInfo (Ryan Ofsky)\n17103637c6fa2dfcf5374ebb0cd715e540dd4ce1 blockstorage: Rename FindBlockPos and have it return a FlatFilePos (Martin Zumsande)\nd9e477c4dc39d9623ed66c35c06e28f94ae62ad5 validation, blockstorage: Separate code paths for reindex and saving new blocks (Martin Zumsande)\n064859bbad6984a6ec85c744064abdf757807c58 blockstorage: split up FindBlockPos function (Martin Zumsande)\nfdae638e83522c28a1222e65c43d1cbca3e34cba doc: Improve doc for functions involved in saving blocks to disk (Martin Zumsande)\n0d114e3cb20cb9e03fc9ba8daf3d03436b491742 blockstorage: Add Assume for fKnown / snapshot chainstate (Martin Zumsande)\n\nPull request description:\n\n `SaveBlockToDisk` / `FindBlockPos` are used for two purposes, depending on whether they are called during reindexing (`dbp` set,  `fKnown = true`) or in the \"normal\" case when adding new blocks (`dbp == nullptr`,  `fKnown = false`).\n The actual tasks are quite different\n - In normal mode, preparations for saving a new block are made, which is then saved: find the correct position on disk (maybe skipping to a new blk file), check for available disk space, update the blockfile info db, save the block.\n - during reindex, most of this is not necessary (the block is already on disk after all), only the blockfile info needs to rebuilt because reindex wiped the leveldb it's saved in.\n\n Using one function with many conditional statements for this leads to code that is hard to read / understand and bug-prone:\n - many code paths in `FindBlockPos` are conditional on `fKnown` or `!fKnown`\n - It's not really clear what actually needs to be done during reindex (we don't need to \"save a block to disk\" or \"find a block pos\" as the function names suggest)\n - logic that should be applied to only one of the two modes is sometimes applied to both (see first commit, or #27039)\n\n #24858 and #27039 were recent bugs directly related to the differences between reindexing and normal mode, and in both cases the simple fix took a long time to be reviewed and merged.\n\n This PR proposes to clean this code up by splitting out the reindex logic into a separate function (`UpdateBlockInfo`) which will be called directly from validation. As a result, `SaveBlockToDisk` and `FindBlockPos` only need to cover the non-reindex logic.\n\nACKs for top commit:\n paplorinc:\n ACK e41667b720372dae8438ea86e9819027e62b54e0\n TheCharlatan:\n Re-ACK e41667b720372dae8438ea86e9819027e62b54e0\n ryanofsky:\n Code review ACK e41667b720372dae8438ea86e9819027e62b54e0. Just improvements to comments since last review.\n\nTree-SHA512: a14ff9a0facf6b1e3c1cd724a2d19a79a25d4b48de64398fdd172671532a472bc10a20cbb64ac3a3e55814dcc877d0597a3e1699cabc4f9d9a86b439b6eaba20","shortMessageHtmlLink":"Merge bitcoin/bitcoin#29975: blockstorage: Separate reindexing from s…"}},{"before":"dd42a5ddea6a72e1e9cad54f8352c76b0b701973","after":"75118a608fc22a57567743000d636bc1f969f748","ref":"refs/heads/master","pushedAt":"2024-05-16T14:18:12.000Z","pushType":"push","commitsCount":10,"pusher":{"login":"ryanofsky","name":"Ryan Ofsky","path":"/ryanofsky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7133040?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#27101: Support JSON-RPC 2.0 when requested by client\n\ncbc6c440e3811d342fa570713702900b3e3e75b9 doc: add comments and release-notes for JSON-RPC 2.0 (Matthew Zipkin)\ne7ee80dcf2b68684eae96070875ea13a60e3e7b0 rpc: JSON-RPC 2.0 should not respond to \"notifications\" (Matthew Zipkin)\nbf1a1f1662427fbf1a43bb951364eface469bdb7 rpc: Avoid returning HTTP errors for JSON-RPC 2.0 requests (Matthew Zipkin)\n466b90562f4785de74b548f7c4a256069e2aaf43 rpc: Add \"jsonrpc\" field and drop null \"result\"/\"error\" fields (Matthew Zipkin)\n2ca1460ae3a7217eaa8c5972515bf622bedadfce rpc: identify JSON-RPC 2.0 requests (Matthew Zipkin)\na64a2b77e09bff784a2635ba19ff4aa6582bb5a5 rpc: refactor single/batch requests (Matthew Zipkin)\ndf6e3756d6feaf1856e7886820b70874209fd90b rpc: Avoid copies in JSONRPCReplyObj() (Matthew Zipkin)\n09416f9ec445e4d6bb277400758083b0b4e8b174 test: cover JSONRPC 2.0 requests, batches, and notifications (Matthew Zipkin)\n4202c170da37a3203e05a9f39f303d7df19b6d81 test: refactor interface_rpc.py (Matthew Zipkin)\n\nPull request description:\n\n Closes https://github.com/bitcoin/bitcoin/issues/2960\n\n Bitcoin Core's JSONRPC server behaves with a special blend of 1.0, 1.1 and 2.0 behaviors. This introduces compliance issues with more strict clients. There are the major misbehaviors that I found:\n - returning non-200 HTTP codes for RPC errors like \"Method not found\" (this is not a server error or an HTTP error)\n - returning both `\"error\"` and `\"result\"` fields together in a response object.\n - different error-handling behavior for single and batched RPC requests (batches contain errors in the response but single requests will actually throw HTTP errors)\n\n https://github.com/bitcoin/bitcoin/pull/15495 added regression tests after a discussion in https://github.com/bitcoin/bitcoin/pull/15381 to kinda lock in our RPC behavior to preserve backwards compatibility.\n\n https://github.com/bitcoin/bitcoin/pull/12435 was an attempt to allow strict 2.0 compliance behind a flag, but was abandoned.\n\n The approach in this PR is not strict and preserves backwards compatibility in a familiar bitcoin-y way: all old behavior is preserved, but new rules are applied to clients that opt in. One of the rules in the [JSON RPC 2.0 spec](https://www.jsonrpc.org/specification#request_object) is that the kv pair `\"jsonrpc\": \"2.0\"` must be present in the request. Well, let's just use that to trigger strict 2.0 behavior! When that kv pair is included in a request object, the [response will adhere to strict JSON-RPC 2.0 rules](https://www.jsonrpc.org/specification#response_object), essentially:\n\n - always return HTTP 200 \"OK\" unless there really is a server error or malformed request\n - either return `\"error\"` OR `\"result\"` but never both\n - same behavior for single and batch requests\n\n If this is merged next steps can be:\n\n - Refactor bitcoin-cli to always use strict 2.0\n - Refactor the python test framework to always use strict 2.0 for everything\n - Begin deprecation process for 1.0/1.1 behavior (?)\n\n If we can one day remove the old 1.0/1.1 behavior we can clean up the rpc code quite a bit.\n\nACKs for top commit:\n cbergqvist:\n re ACK cbc6c440e3811d342fa570713702900b3e3e75b9\n ryanofsky:\n Code review ACK cbc6c440e3811d342fa570713702900b3e3e75b9. Just suggested changes since the last review: changing uncaught exception error code from PARSE_ERROR to MISC_ERROR, renaming a few things, and adding comments.\n tdb3:\n re ACK for cbc6c440e3811d342fa570713702900b3e3e75b9\n\nTree-SHA512: 0b702ed32368b34b29ad570d090951a7aeb56e3b0f2baf745bd32fdc58ef68fee6b0b8fad901f1ca42573ed714b150303829cddad4a34ca7ad847350feeedb36","shortMessageHtmlLink":"Merge bitcoin/bitcoin#27101: Support JSON-RPC 2.0 when requested by c…"}},{"before":"ae2658caacc1f3d8ab48d6b8ece481b1e9707fbb","after":"dd42a5ddea6a72e1e9cad54f8352c76b0b701973","ref":"refs/heads/master","pushedAt":"2024-05-16T03:18:38.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#30085: p2p: detect addnode cjdns peers in GetAddedNodeInfo()\n\nd0b047494c28381942c09d0cca45baa323bfcffc test: add GetAddedNodeInfo() CJDNS regression unit test (Jon Atack)\n684da9707040ce25d95b2954eda50b811136d92c p2p, bugfix: detect addnode cjdns peers in GetAddedNodeInfo() (Jon Atack)\n\nPull request description:\n\n Addnode peers connected to us via the cjdns network are currently not detected by `CConnman::GetAddedNodeInfo()`, i.e. `fConnected` is always false. This causes the following issues:\n\n - RPC `getaddednodeinfo` incorrectly shows them as not connected\n\n - `CConnman::ThreadOpenAddedConnections()` continually retries to connect them\n\n Fix the issue and add a unit regression test. Extracted from #28248. Suggest running the test with:\n\n `./src/test/test_bitcoin -t net_peer_connection_tests -l test_suite`\n\nACKs for top commit:\n mzumsande:\n utACK d0b047494c28381942c09d0cca45baa323bfcffc\n brunoerg:\n crACK d0b047494c28381942c09d0cca45baa323bfcffc\n pinheadmz:\n ACK d0b047494c28381942c09d0cca45baa323bfcffc\n\nTree-SHA512: a4d81425f79558f5792585611f3fe8ab999b82144daeed5c3ec619861c69add934c2b2afdad24c8488a0ade94f5ce8112f5555d60a1ce913d4f5a1cf5dbba55a","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30085: p2p: detect addnode cjdns peers in GetAd…"}},{"before":"71f0f2273f6258e466c7b299c11982b4a04ae0d7","after":"ae2658caacc1f3d8ab48d6b8ece481b1e9707fbb","ref":"refs/heads/master","pushedAt":"2024-05-16T00:40:46.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#30097: crypto: disable asan for sha256_sse4 with clang and -O0\n\n141df0a28810470e53fdbc6d32d3cb4020fe3ca1 crypto: disable asan for sha256_sse4 with clang and -O0 (Cory Fields)\n\nPull request description:\n\n Clang is unable to compile the Transform function for that combination of options.\n\n Fixes #29801.\n\nACKs for top commit:\n achow101:\n ACK 141df0a28810470e53fdbc6d32d3cb4020fe3ca1\n\nTree-SHA512: d74fdac5840ad7524edfde069fb43ae75c31146e90ecc58bbc7912ff57a02b068547431b1766afeed782272c0b93b0b41a286c1cf26ec55ce332d94ce917d810","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30097: crypto: disable asan for sha256_sse4 wit…"}},{"before":"7a40f2a3f1cf744d136ecf534979114e79c5e71d","after":"71f0f2273f6258e466c7b299c11982b4a04ae0d7","ref":"refs/heads/master","pushedAt":"2024-05-15T19:10:16.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"achow101","name":"Ava Chow","path":"/achow101","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3782274?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#28929: serialization: Support for multiple parameters\n\n8d491ae9ecf1948ea29f67b50ca7259123f602aa serialization: Add ParamsStream GetStream() method (Ryan Ofsky)\n951203bcc496c4415b7754cd764544659b76067f net: Simplify ParamsStream usage (Ryan Ofsky)\ne6794e475c84d9edca4a2876e2342cbb1d85f804 serialization: Accept multiple parameters in ParamsStream constructor (Ryan Ofsky)\ncb28849a88339c1e7ba03ffc7e38998339074e6e serialization: Reverse ParamsStream constructor order (Ryan Ofsky)\n83436d14f06551026bcf5529df3b63b4e8a679fb serialization: Drop unnecessary ParamsStream references (Ryan Ofsky)\n84502b755bcc35413ad466047893b5edf134c53f serialization: Drop references to GetVersion/GetType (Ryan Ofsky)\nf3a2b5237688e9f574444e793724664b00fb7f2a serialization: Support for multiple parameters (Ryan Ofsky)\n\nPull request description:\n\n Currently it is only possible to attach one serialization parameter to a stream at a time. For example, it is not possible to set a parameter controlling the transaction format and a parameter controlling the address format at the same time because one parameter will override the other.\n\n This limitation is inconvenient for multiprocess code since it is not possible to create just one type of stream and serialize any object to it. Instead it is necessary to create different streams for different object types, which requires extra boilerplate and makes using the new parameter fields a lot more awkward than the older version and type fields.\n\n Fix this problem by allowing an unlimited number of serialization stream parameters to be set, and allowing them to be requested by type. Later parameters will still override earlier parameters, but only if they have the same type.\n\n For an example of different ways multiple parameters can be set, see the new [`with_params_multi`](https://github.com/bitcoin/bitcoin/blob/40f505583f4edeb2859aeb70da20c6374d331a4f/src/test/serialize_tests.cpp#L394-L410) unit test.\n\n This change requires replacing the `stream.GetParams()` method with a `stream.GetParams()` method in order for serialization code to retrieve the desired parameters. The change is more verbose, but probably a good thing for readability because previously it could be difficult to know what type the `GetParams()` method would return, and now it is more obvious.\n\n ---\n\n This PR is part of the [process separation project](https://github.com/bitcoin/bitcoin/issues/28722).\n\nACKs for top commit:\n maflcko:\n ACK 8d491ae9ecf1948ea29f67b50ca7259123f602aa 🔵\n sipa:\n utACK 8d491ae9ecf1948ea29f67b50ca7259123f602aa\n TheCharlatan:\n ACK 8d491ae9ecf1948ea29f67b50ca7259123f602aa\n\nTree-SHA512: 40b7041ee01c0372b1f86f7fd6f3b6af56ef24a6383f91ffcedd04d388e63407006457bf7ed056b0e37b4dec9ffd5ca006cb8192e488ea2c64678567e38d4647","shortMessageHtmlLink":"Merge bitcoin/bitcoin#28929: serialization: Support for multiple para…"}},{"before":"33303b2b296cdb21b6ade3e95663e9ed58c08753","after":"7a40f2a3f1cf744d136ecf534979114e79c5e71d","ref":"refs/heads/master","pushedAt":"2024-05-15T17:41:51.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hebasto","name":"Hennadii Stepanov","path":"/hebasto","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32963518?s=80&v=4"},"commit":{"message":"Merge bitcoin-core/gui#722: wallet: Allow user to navigate options while encrypting at creation\n\ncccddc03f0c625daeac7158eb20c1508aea5df39 Wallet encrypt on create, allow to navigate options (Hernan Marino)\n\nPull request description:\n\n This fixes https://github.com/bitcoin-core/gui/issues/394.\n It adds a \"Go back\" button to the \"Confirm wallet encryption\" window, allowing the users to change the password if they want to. It also adds a Cancel button to the \"Wallet to be encrypted\" window.\n Prior to this change users had no option to alter the password, and were forced to either go ahead with wallet creation or cancel the whole process. Also, at the final window, they were shown a warning but with no option to cancel.\n The new workflow for wallet encryption and creation is similar to the following:\n\n ![videoNavigation](https://user-images.githubusercontent.com/87907936/225705434-22d3c678-fa01-4079-ba10-ca5a0e8d3922.gif)\n\nACKs for top commit:\n alfonsoromanz:\n Re-Tested ACK https://github.com/bitcoin-core/gui/commit/cccddc03f0c625daeac7158eb20c1508aea5df39\n BrandonOdiwuor:\n re-Tested ACK cccddc03f0c625daeac7158eb20c1508aea5df39\n hebasto:\n ACK cccddc03f0c625daeac7158eb20c1508aea5df39, tested on Ubuntu 24.04.\n\nTree-SHA512: d2856d75f75acbd7d51ede62b4abd317f6ed6a9b890fe0b73b63b921b4b3d61b49477e35dc74466a056a9e8c0c1598df7601111d36c57ef18fdfdf0b18f503e6","shortMessageHtmlLink":"Merge #722: wallet: Allow user to navigate options while encrypting a…"}},{"before":"42d5a1ff25a8045b6f4c09fa1fb71736dbccc034","after":"33303b2b296cdb21b6ade3e95663e9ed58c08753","ref":"refs/heads/master","pushedAt":"2024-05-15T13:56:26.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"ryanofsky","name":"Ryan Ofsky","path":"/ryanofsky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7133040?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30000: p2p: index TxOrphanage by wtxid, allow entries with same txid\n\n0fb17bf61a40b73a2b81a18e70b3de180c917f22 [log] updates in TxOrphanage (glozow)\nb16da7eda76944719713be68b61f03d4acdd3e16 [functional test] attackers sending mutated orphans (glozow)\n6675f6428d653bf7a53537bd773114f4fb5ba53f [unit test] TxOrphanage handling of same-txid-different-witness txns (glozow)\n8923edfc1f12ebc6a074651c084ba7d249074799 [p2p] allow entries with the same txid in TxOrphanage (glozow)\nc31f148166f01a9167d82501a77823785d28a841 [refactor] TxOrphanage::EraseTx by wtxid (glozow)\nefcc5930175f31b685adb4627a038d9f0848eb1f [refactor] TxOrphanage::HaveTx only by wtxid (glozow)\n7e475b9648bbee04f5825b922ba0399373eaa5a9 [p2p] don't query orphanage by txid (glozow)\n\nPull request description:\n\n Part of #27463 in the \"make orphan handling more robust\" section.\n\n Currently the main map in `TxOrphanage` is indexed by txid; we do not allow 2 transactions with the same txid into TxOrphanage. This means that if we receive a transaction and want to store it in orphanage, we'll fail to do so if a same-txid-different-witness version of the tx already exists in the orphanage. The existing orphanage entry can stay until it expires 20 minutes later, or until we find that it is invalid.\n\n This means an attacker can try to block/delay us accepting an orphan transaction by sending a mutated version of the child ahead of time. See included test.\n\n Prior to #28970, we don't rely on the orphanage for anything and it would be relatively difficult to guess what transaction will go to a node's orphanage. After the parent(s) are accepted, if anybody sends us the correct transaction, we'll end up accepting it. However, this is a bit more painful for 1p1c: it's easier for an attacker to tell when a tx is going to hit a node's orphanage, and we need to store the correct orphan + receive the parent before we'll consider the package. If we start out with a bad orphan, we can't evict it until we receive the parent + try the 1p1c, and then we'll need to download the real child, put it in orphanage, download the parent again, and then retry 1p1c.\n\nACKs for top commit:\n AngusP:\n ACK 0fb17bf61a40b73a2b81a18e70b3de180c917f22\n itornaza:\n trACK 0fb17bf61a40b73a2b81a18e70b3de180c917f22\n instagibbs:\n ACK 0fb17bf61a40b73a2b81a18e70b3de180c917f22\n theStack:\n ACK 0fb17bf61a40b73a2b81a18e70b3de180c917f22\n sr-gi:\n crACK [0fb17bf](https://github.com/bitcoin/bitcoin/pull/30000/commits/0fb17bf61a40b73a2b81a18e70b3de180c917f22)\n stickies-v:\n ACK 0fb17bf61a40b73a2b81a18e70b3de180c917f22\n\nTree-SHA512: edcbac7287c628bc27036920c2d4e4f63ec65087fbac1de9319c4f541515d669fc4e5fdc30c8b9a248b720da42b89153d388e91c7bf5caf4bc5b3b931ded1f59","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30000: p2p: index TxOrphanage by wtxid, allow e…"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEU0L6YQA","startCursor":null,"endCursor":null}},"title":"Activity · bitcoin-core/gui"}