{"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":"1db0be83535fc5cab6d2b42db27a38c155e15b4e","after":"46878326808f643f08ec3f69dcec5c8fafeb7b59","ref":"refs/heads/master","pushedAt":"2024-07-16T14:14:31.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"ryanofsky","name":"Ryan Ofsky","path":"/ryanofsky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7133040?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30425: kernel: De-globalize static validation variables\n\n51fa26239af9bbfd44029aaf595cb4c6a8d4a75d refactor: Mark some static global vars as const (TheCharlatan)\n39f9b80fba85d9818222c4d76e99ea1a804f5dda refactor: De-globalize last notified header index (TheCharlatan)\n3443943f86678eb27d9895f3871fcf3945eb1c4f refactor: De-globalize validation benchmark timekeeping (TheCharlatan)\n\nPull request description:\n\n In future, users of the kernel library might run multiple chainstates in parallel, or create and destroy multiple chainstates over the lifetime of a process. Having static, mutable variables could lead to state inconsistencies in these scenarios.\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 dergoegge:\n Code review ACK 51fa26239af9bbfd44029aaf595cb4c6a8d4a75d\n maflcko:\n ACK 51fa26239af9bbfd44029aaf595cb4c6a8d4a75d 🍚\n tdb3:\n code review ACK 51fa26239af9bbfd44029aaf595cb4c6a8d4a75d\n\nTree-SHA512: da91aa7ffa343325cabb8764ef03c8358845662cf0ba8a6cc1dd38e40e5462d88734f2b459c2de8e7a041551eda9143d92487842609f7f30636f61a0cd3c57ee","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30425: kernel: De-globalize static validation v…"}},{"before":"5f538f2a7caf81078beab708f0233170baa60d40","after":"1db0be83535fc5cab6d2b42db27a38c155e15b4e","ref":"refs/heads/master","pushedAt":"2024-07-16T11:13:08.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#28263: Add fuzz test for FSChaCha20Poly1305, AEADChacha20Poly1305\n\n8607773750e60931e51a33e48cd077a1dedf9db3 Add fuzz test for FSChaCha20Poly1305 (stratospher)\nc807f3322897ca8c0da114556e5936e389da5059 Add fuzz test for AEADChacha20Poly1305 (stratospher)\n\nPull request description:\n\n This PR adds fuzz tests for `AEADChaCha20Poly1305` and `FSChaCha20Poly1305` introduced in #28008.\n\n Run using:\n ```\n $ FUZZ=crypto_aeadchacha20poly1305 src/test/fuzz/fuzz\n $ FUZZ=crypto_fschacha20poly1305 src/test/fuzz/fuzz\n ```\n\nACKs for top commit:\n dergoegge:\n tACK 8607773750e60931e51a33e48cd077a1dedf9db3\n marcofleon:\n Tested ACK 8607773750e60931e51a33e48cd077a1dedf9db3. Ran both targets for ~200 CPU hours. Coverage of intended targets looks good to me. The simulation of damaged keys and checks that follow seem useful as well.\n\nTree-SHA512: b6b85661d896e653caeed330f941fde665fc2bbd97ecd340808a3f365c469fe9134aa77316569a771dc36d1158cac1a5f76700bcfc45fff12aef07562e48feb9","shortMessageHtmlLink":"Merge bitcoin/bitcoin#28263: Add fuzz test for FSChaCha20Poly1305, AE…"}},{"before":"35dddbccf1fba3239b836c210c6a5eca88bf2311","after":"5f538f2a7caf81078beab708f0233170baa60d40","ref":"refs/heads/master","pushedAt":"2024-07-16T08:48:17.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#30387: contrib: use c++ compiler rather than c compiler for binary checks\n\n9010b1343b9f931f771d3d49dd03b57868c24d5d contrib: c++ify test stubs after switching to c++ compilers (Cory Fields)\n261f77033349a83f14d39b8bb8a2df46085b47ad contrib: rename cc to cxx in binary checking scripts (Cory Fields)\na38c9600059a1583be244e0df198ffd9da375ba9 contrib: use c++ rather than c for binary tests (Cory Fields)\n\nPull request description:\n\n From hebasto's CMake repo. See discussion here: https://github.com/hebasto/bitcoin/pull/252#discussion_r1664657488\n\n Use CXX/CXXFLAGS rather than CC/CFLAGS to test our actual compiler for binary checks rather than the one we only forward to secp256k1.\n\nACKs for top commit:\n hebasto:\n ACK 9010b1343b9f931f771d3d49dd03b57868c24d5d.\n fanquake:\n ACK 9010b1343b9f931f771d3d49dd03b57868c24d5d\n\nTree-SHA512: 7b8788d7d3760103062eff10056c995e1ad14c0c487d9414683ad54d816c255d0ca751f4d0e2d2ad7f9e8a7101d8c7f1e9333fa5b137558ed68fa593c4b4ce6d","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30387: contrib: use c++ compiler rather than c …"}},{"before":"d41f4a69e7beecec8de7c0cdeb1b97bf8d7cf04e","after":"35dddbccf1fba3239b836c210c6a5eca88bf2311","ref":"refs/heads/master","pushedAt":"2024-07-16T08:42:15.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#30394: net: fix race condition in self-connect detection\n\n16bd283b3ad05daa41259a062aee0fc05b463fa6 Reapply \"test: p2p: check that connecting to ourself leads to disconnect\" (Sebastian Falbesoner)\n0dbcd4c14855fe2cba15a32245572b693dc18c4e net: prevent sending messages in `NetEventsInterface::InitializeNode` (Sebastian Falbesoner)\n66673f1c1302c986e344c7f44bb0b352213d5dc8 net: fix race condition in self-connect detection (Sebastian Falbesoner)\n\nPull request description:\n\n This PR fixes a recently discovered race condition in the self-connect detection (see #30362 and #30368).\n\n Initiating an outbound network connection currently involves the following steps after the socket connection is established (see [`CConnman::OpenNetworkConnection`](https://github.com/bitcoin/bitcoin/blob/bd5d1688b4311e21c0e0ff89a3ae02ef7d0543b8/src/net.cpp#L2923-L2930) method):\n 1. set up node state\n 2. queue VERSION message (both steps 1 and 2 happen in [`InitializeNode`](https://github.com/bitcoin/bitcoin/blob/bd5d1688b4311e21c0e0ff89a3ae02ef7d0543b8/src/net_processing.cpp#L1662-L1683))\n 3. add new node to vector `m_nodes`\n\n If we connect to ourself, it can happen that the sent VERSION message (step 2) is received and processed locally *before* the node object is added to the connection manager's `m_nodes` vector (step 3). In this case, the self-connect remains undiscovered, as the detection doesn't find the outbound peer in `m_nodes` yet (see `CConnman::CheckIncomingNonce`).\n\n Fix this by swapping the order of 2. and 3., by taking the `PushNodeVersion` call out of `InitializeNode` and doing that in the `SendMessages` method instead, which is only called for `CNode` instances in `m_nodes`.\n\n The temporarily reverted test introduced in #30362 is readded. Fixes #30368.\n\n Thanks go to vasild, mzumsande and dergoegge for suggestions on how to fix this (see https://github.com/bitcoin/bitcoin/issues/30368#issuecomment-2200625017 ff. and https://github.com/bitcoin/bitcoin/pull/30394#discussion_r1668290789).\n\nACKs for top commit:\n naiyoma:\n tested ACK [https://github.com/bitcoin/bitcoin/pull/30394/commits/16bd283b3ad05daa41259a062aee0fc05b463fa6](https://github.com/bitcoin/bitcoin/pull/30394/commits/16bd283b3ad05daa41259a062aee0fc05b463fa6), built and tested locally, test passes successfully.\n mzumsande:\n ACK 16bd283b3ad05daa41259a062aee0fc05b463fa6\n tdb3:\n ACK 16bd283b3ad05daa41259a062aee0fc05b463fa6\n glozow:\n ACK 16bd283b3ad05daa41259a062aee0fc05b463fa6\n dergoegge:\n ACK 16bd283b3ad05daa41259a062aee0fc05b463fa6\n\nTree-SHA512: 5b8aced6cda8deb38d4cd3fe4980b8af505d37ffa0925afaa734c5d81efe9d490dc48a42e1d0d45dd2961c0e1172a3d5b6582ae9a2d642f2592a17fbdc184445","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30394: net: fix race condition in self-connect …"}},{"before":"8426e018bf22b5e7e1ffa4b42e06813c470b1cc6","after":"d41f4a69e7beecec8de7c0cdeb1b97bf8d7cf04e","ref":"refs/heads/master","pushedAt":"2024-07-16T07:58:55.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#30420: test: Fix intermittent failure in p2p_v2_misbehaving.py\n\nc6d43367a1ec47c004991143f031417c4e4b8095 test: Fix intermittent failure in p2p_v2_misbehaving.py (stratospher)\n\nPull request description:\n\n Fixes #30419.\n\n Make sure that ellswift computation is complete in the `NetworkThread` in `test/functional/p2p_v2_misbehaving.py` before sending the ellswift in the `MainThread`.\n\n One way to reproduce this failure on master would be:\n\n ```diff\n diff --git a/test/functional/test_framework/v2_p2p.py b/test/functional/test_framework/v2_p2p.py\n index 87600c36de..ea0615ef3b 100644\n --- a/test/functional/test_framework/v2_p2p.py\n +++ b/test/functional/test_framework/v2_p2p.py\n @@ -111,6 +111,7 @@ class EncryptedP2PState:\n\n def generate_keypair_and_garbage(self, garbage_len=None):\n \"\"\"Generates ellswift keypair and 4095 bytes garbage at max\"\"\"\n + import time; time.sleep(3)\n self.privkey_ours, self.ellswift_ours = ellswift_create()\n if garbage_len is None:\n garbage_len = random.randrange(MAX_GARBAGE_LEN + 1)\n\n ```\n\nACKs for top commit:\n maflcko:\n ACK c6d43367a1ec47c004991143f031417c4e4b8095\n mzumsande:\n Code Review ACK c6d43367a1ec47c004991143f031417c4e4b8095\n tdb3:\n cr and t ACK c6d43367a1ec47c004991143f031417c4e4b8095\n\nTree-SHA512: dfc3a6afa09773b7e84d35aff0aa14e0b8a4475860e0b31ab5c1a8d54911c814f07138f624fea651fba90cc5c526c0d05c3fe33d2ce0ad833b2be3a3caa9f522","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30420: test: Fix intermittent failure in p2p_v2…"}},{"before":"ff827a8f46e504712285c145e13e72e1b19eb169","after":"8426e018bf22b5e7e1ffa4b42e06813c470b1cc6","ref":"refs/heads/master","pushedAt":"2024-07-15T17:43:05.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"ryanofsky","name":"Ryan Ofsky","path":"/ryanofsky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7133040?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30428: log: LogError with FlatFilePos in UndoReadFromDisk\n\nfa14e1d9d5c5dc44396a01583ae94480b7bc29ee log: Fix __func__ in LogError in blockstorage module (MarcoFalke)\nfad59a2f0f37f5b7f6076fd91be43448e35f4b7e log: LogError with FlatFilePos in UndoReadFromDisk (MarcoFalke)\naaaa3323f37526862ebf2a2a4bf522c661e6976e refactor: Mark IsBlockPruned const (MarcoFalke)\n\nPull request description:\n\n These errors should never happen in normal operation. If they do,\n knowing the `FlatFilePos` may be useful to determine if data corruption\n happened. Also, handle the error `pos.IsNull()` as part of `OpenUndoFile`,\n because it may as well have happened due to data corruption.\n\n This mirrors the `LogError` behavior from `ReadBlockFromDisk`.\n\n Also, two other fixup commits in this module.\n\nACKs for top commit:\n kevkevinpal:\n ACK [fa14e1d](https://github.com/bitcoin/bitcoin/pull/30428/commits/fa14e1d9d5c5dc44396a01583ae94480b7bc29ee)\n tdb3:\n cr and light test ACK fa14e1d9d5c5dc44396a01583ae94480b7bc29ee\n ryanofsky:\n Code review ACK fa14e1d9d5c5dc44396a01583ae94480b7bc29ee. This should make logging clearer and more consistent\n\nTree-SHA512: abb492a919b4796698d1de0a7874c8eae355422b992aa80dcd6b59c2de1ee0d2949f62b3cf649cd62892976fee640358f7522867ed9d48a595d6f8f4e619df50","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30428: log: LogError with FlatFilePos in UndoRe…"}},{"before":"262260ce1e919613ba60194a5861b0b0a51dfe01","after":"ff827a8f46e504712285c145e13e72e1b19eb169","ref":"refs/heads/master","pushedAt":"2024-07-15T16:22:00.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#30407: test: [refactor] Pass TestOpts\n\nfa690c8e532672f7ab53be6f7a0bb3070858745e test: [refactor] Pass TestOpts (MarcoFalke)\n\nPull request description:\n\n Currently optional test context setup settings are passed by adding a new optional argument to the constructors. For example `extra_args`. This is problematic, because:\n\n * Adding more optional settings in the future requires touching all affected constructors, increasing their verbosity.\n * Setting only a later option requires setting the earlier ones.\n * Clang-tidy named args passed to `std::make_unique` are not checked.\n\n Fix all issues by adding a new struct `TestOpts`, which holds all options. Notes:\n\n * The chain type is not an option in the struct for now, because the default values vary.\n * The struct holds all possible test options globally. Not all fields may be used by all constructors. Albeit harmless, it is up to the test author to not set a field that is unused.\n\nACKs for top commit:\n kevkevinpal:\n utACK [fa690c8](https://github.com/bitcoin/bitcoin/pull/30407/commits/fa690c8e532672f7ab53be6f7a0bb3070858745e)\n dergoegge:\n utACK fa690c8e532672f7ab53be6f7a0bb3070858745e\n TheCharlatan:\n Nice, ACK fa690c8e532672f7ab53be6f7a0bb3070858745e\n\nTree-SHA512: 8db8efa5dff854a73757d3f454f8f902e41bb4358f5f9bae29dbb3e251e20ee93489605de51d0822ba31d97835cd15526a29c075278dd6a8bbde26134feb4f49","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30407: test: [refactor] Pass TestOpts"}},{"before":"84063a4c4c0a5c8e39de1500b835c3a318eea089","after":"262260ce1e919613ba60194a5861b0b0a51dfe01","ref":"refs/heads/master","pushedAt":"2024-07-15T13:11: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#30197: fuzz: bound some miniscript operations to avoid fuzz timeouts\n\nbc34bc288824978ef4b98e8802b47cb863c8a8c2 fuzz: limit the number of nested wrappers in descriptors (Antoine Poinsot)\n8d7340105f5299e9a45e84f1704b8b4545cb85f0 fuzz: limit the number of sub-fragments per fragment for descriptors (Antoine Poinsot)\n\nPull request description:\n\n Some of the logic in the miniscript module is quadratic. It only becomes an issue for very large uninteresting descriptors (like a `thresh` with 130k sub-fragments or a fragment with more than 60k nested `j:` wrappers).\n\n This PR fixes the two types of fuzz timeouts reported by Marco in https://github.com/bitcoin/bitcoin/issues/28812 by trying to pinpoint the problematic descriptors through a simple analysis of the string, without limiting the size of the string itself. This is the same approach as was adopted for limiting the depth of derivation paths.\n\nACKs for top commit:\n dergoegge:\n utACK bc34bc288824978ef4b98e8802b47cb863c8a8c2\n stickies-v:\n Light ACK bc34bc288824978ef4b98e8802b47cb863c8a8c2\n marcofleon:\n Code review ACK bc34bc288824978ef4b98e8802b47cb863c8a8c2. The added comments are useful, thanks for those. Tested on the three inputs in https://github.com/bitcoin/bitcoin/issues/28812 that caused the timeouts.\n\nTree-SHA512: 8811c7b225684c5ecc1eb1256cf39dfa60d4518161e70210086c8a01b38927481ebe747af86aa5f4803187672d43fadabcfdfbf4e3b049738d629a25143f0e77","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30197: fuzz: bound some miniscript operations t…"}},{"before":"35102d492830a2b6b1855df3e89dab1177ed9d84","after":"84063a4c4c0a5c8e39de1500b835c3a318eea089","ref":"refs/heads/master","pushedAt":"2024-07-15T11:15:43.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#827: OptionsDialog: Prefer to stretch actual options area rather than waste space\n\nb71bfd9eef8b0017cef3c05361c02ddbd837e6ac GUI/OptionsDialog: Prefer to stretch actual options area rather than waste space (Luke Dashjr)\n\nPull request description:\n\nACKs for top commit:\n hebasto:\n ACK b71bfd9eef8b0017cef3c05361c02ddbd837e6ac\n\nTree-SHA512: b706a07292fe81379e303f9069fca6efd5ceb15ee5bb77c6aeddbf63f736494ce877b76767ff17d7becf98d07209e51c74bdb99365596b7b9f4904a30438d72d","shortMessageHtmlLink":"Merge #827: OptionsDialog: Prefer to stretch actual options area rath…"}},{"before":"6ae903e24afa95214e59a9dc87dc74db3535a5b5","after":"35102d492830a2b6b1855df3e89dab1177ed9d84","ref":"refs/heads/master","pushedAt":"2024-07-15T10:40:17.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#30373: fuzz: fix key size in `crypter`\n\n4383dc90bac1b5def73352fe222f99807d8ca4dd fuzz: fix key size in crypter target (brunoerg)\n\nPull request description:\n\n Fixes #30251\n\n This PR:\n 1. Limits `cipher_text_ed` and `random_string` (`SecureString`) size.\n 2. Replace `ConsumeRandomLengthByteVector` for keys to `ConsumeFixedLengthByteVector` with `WALLET_CRYPTO_KEY_SIZE`.\n 3. Replace `ConsumeRandomLengthByteVector` for `chSalt` to `ConsumeFixedLengthByteVector` with `WALLET_CRYPTO_SALT_SIZE`.\n\nACKs for top commit:\n marcofleon:\n Tested ACK 4383dc90bac1b5def73352fe222f99807d8ca4dd. I ran this:\n dergoegge:\n utACK 4383dc90bac1b5def73352fe222f99807d8ca4dd\n\nTree-SHA512: 6f09cca0b4627f49152b685ac03659c01004f2131c6aada7654606ea01f6619b1611b1d17624d2cddce277c1afdddda5f656d99f6ca8f72a22f5c0541762c964","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30373: fuzz: fix key size in crypter"}},{"before":"01ed4927f09fc8408bd81b8286303dfeefd0523f","after":"6ae903e24afa95214e59a9dc87dc74db3535a5b5","ref":"refs/heads/master","pushedAt":"2024-07-15T09:47:31.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#795: Keep focus on \"Hide\" while ModalOverlay is visible\n\n992b1bbd5da95ee782515fb0f5674bb7a02684b2 qt: keep focus on \"Hide\" while ModalOverlay is visible (Jadi)\n\nPull request description:\n\n During the initial sync, the Tab moves the focus to the widgets of the main window, even when the ModalOverlay is visible. This creates some weird rectangular *selections on the screen*.\n\n This PR fixes this by keeping the focus on the \"Hide\" button while the ModalOverlay is visible.\n\n Fixes #783\n\nACKs for top commit:\n pablomartin4btc:\n Concept & approach ACK 992b1bbd5da95ee782515fb0f5674bb7a02684b2\n hebasto:\n re-ACK 992b1bbd5da95ee782515fb0f5674bb7a02684b2\n\nTree-SHA512: f702a3fd51db4bc10780bccf76394e35a6b5fb45db72c9c23cd10d777106b08c61077d2d989003838921e76d2cb44f809399f31df76448e4305a6c2a71b5c6a3","shortMessageHtmlLink":"Merge #795: Keep focus on \"Hide\" while ModalOverlay is visible"}},{"before":"ff100bb549f21dc0136af9241fd2de6daffb19a2","after":"01ed4927f09fc8408bd81b8286303dfeefd0523f","ref":"refs/heads/master","pushedAt":"2024-07-15T08:59:49.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#30412: MiniMiner: use FeeFrac in AncestorFeerateComparator\n\n09370529fb9f6d06f6d16bdb1fb336f7a265d8ba fuzz: mini_miner_selection fixups. (glozow)\nde273d53004f48e4c8c965f7ce0bd375fd8d0d69 MiniMiner: use FeeFrac in AncestorFeerateComparator (glozow)\n\nPull request description:\n\n Closes #30284. Closes #30367, see https://github.com/bitcoin/bitcoin/issues/30367#issuecomment-2217459257\n\n Previously, we were only comparing feerates up to 1/1000 precision, since CFeeRate comparison just looks at their respective nSatoshisPerK. This could lead to MiniMiner selecting packages in the wrong order (i.e. by txid) if their feerates were less than 0.001sat/vB different. Fix this by creating + comparing `FeeFrac`s instead.\n\n Also, `FeeFrac::Mul` doesn't have the overflow problem.\n\n Also added a few minor fuzzer fixups that caught my eye while I was debugging this.\n\nACKs for top commit:\n ismaelsadeeq:\n Tested ACK 09370529fb9f6d06f6d16bdb1fb336f7a265d8ba\n murchandamus:\n ACK 09370529fb9f6d06f6d16bdb1fb336f7a265d8ba with nits\n dergoegge:\n tACK 09370529fb9f6d06f6d16bdb1fb336f7a265d8ba\n\nTree-SHA512: e5b6d6c3f7289f30cd8280d0a47cd852d0180b83d1b27ff9514f50c97103b0f069484e48cba2ca3a57419beadc1996c1b9dd8d0a0f34bc4f4223d8adaf414ce5","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30412: MiniMiner: use FeeFrac in AncestorFeerat…"}},{"before":"c4d45b695ef27e21d35e886b08887e2ecf272ce7","after":"ff100bb549f21dc0136af9241fd2de6daffb19a2","ref":"refs/heads/master","pushedAt":"2024-07-14T12:08:20.000Z","pushType":"push","commitsCount":3,"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#825: Show maximum mempool size in information window\n\n4a028cf54c0502bc9ba0804bf1ae413b20a007cb gui: show maximum mempool size in information window (Sebastian Falbesoner)\nbbde6ffefea9587b07a9f8d4043b2dd23ef8c3c5 add node interface method for getting maximum mempool size (Sebastian Falbesoner)\n\nPull request description:\n\n This PR adds the maximum mempool size to the information window (Menu \"Window\" -> \"Information\" -> section \"Memory Pool\" -> line \"Memory usage\").\n\n master:\n\n ![image](https://github.com/bitcoin-core/gui/assets/91535/157e92f5-7d06-4303-b4ef-bcdfac5527e3)\n\n PR:\n\n ![image](https://github.com/bitcoin-core/gui/assets/91535/796322aa-9f16-4b09-9893-bf52a3898a5c)\n\nACKs for top commit:\n MarnixCroes:\n tested ACK 4a028cf54c0502bc9ba0804bf1ae413b20a007cb\n pablomartin4btc:\n tACK 4a028cf54c0502bc9ba0804bf1ae413b20a007cb\n luke-jr:\n tACK 4a028cf54c0502bc9ba0804bf1ae413b20a007cb & in Knots\n hebasto:\n ACK 4a028cf54c0502bc9ba0804bf1ae413b20a007cb, tested on Ubuntu 24.04.\n\nTree-SHA512: c10fb23605d060cea19a86d11822fc4d12496b19547870052aace503670e62e4c4e19ae4c2c4fbf7420a472adb071c9ddebe82447e0cfbce5a6fb9fcd7b9eda3","shortMessageHtmlLink":"Merge #825: Show maximum mempool size in information window"}},{"before":"4d6af61d879914a660e73db5c2f2e6c4d0aa8243","after":"c4d45b695ef27e21d35e886b08887e2ecf272ce7","ref":"refs/heads/master","pushedAt":"2024-07-12T16:15:33.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"fanquake","name":"fanquake","path":"/fanquake","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863730?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30295: #28984 package rbf followups\n\n3f00aae14092ca076cff7f9ddf6155c601979fcd package rbf: cpfp structure requires package > parent feerate (Greg Sanders)\nad7f1f697f01845470f8df0944a94012fabcba09 test package rbf boundary conditions more closely (Greg Sanders)\nff4558d441f377a372647972d35b5476b94579c9 doc: reword package RBF documentation (Greg Sanders)\nde669a883bf65c576cc596b20a576d7bb1618182 doc: replace mention of V3 with TRUC (Greg Sanders)\n\nPull request description:\n\n Some suggested nits/changes from #28984\n\nACKs for top commit:\n glozow:\n ACK 3f00aae1409\n murchandamus:\n ACK 3f00aae14092ca076cff7f9ddf6155c601979fcd\n\nTree-SHA512: 79434cc8aba25a43e99793298cdc99cad807db2c3a2e780a31953f244b95eecd97b90559abd67fbf30996c00966675fa257253a7812ec4727420226162c629ae","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30295: #28984 package rbf followups"}},{"before":"66114cd45bcf37cd3cd6b2152311585d5e5560f6","after":"4d6af61d879914a660e73db5c2f2e6c4d0aa8243","ref":"refs/heads/master","pushedAt":"2024-07-12T09:28:48.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#30372: util: Use SteadyClock in RandAddSeedPerfmon\n\nfa360b047fc578fd855b8f7420d84dc967884f4a util: Use SteadyClock in RandAddSeedPerfmon (MarcoFalke)\n\nPull request description:\n\n `GetTime` is mockable in tests and system-changeable in production. This should be fine and not lead to issues, but using `SteadyClock` is more correct in this context to do an expensive task only so often.\n\nACKs for top commit:\n sipa:\n utACK fa360b047fc578fd855b8f7420d84dc967884f4a\n TheCharlatan:\n ACK fa360b047fc578fd855b8f7420d84dc967884f4a\n\nTree-SHA512: 1958b9e9e356c9801ac981014b4b528cfc8ce6612853d8b45f6519b16f0b1839ff765abb8b3368b86f00958ddc6a686f6b90278c57a7ad4858bdf3ea33775cca","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30372: util: Use SteadyClock in RandAddSeedPerfmon"}},{"before":"33af14e31b9fa436029a2bb8c2b11de8feb32f86","after":"66114cd45bcf37cd3cd6b2152311585d5e5560f6","ref":"refs/heads/master","pushedAt":"2024-07-12T08:40: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#30336: depends: update doc in Qt pwd patch\n\nf170fe04ca03fe4021cbff7c5450ce3cc7fda17f depends: update doc in Qt pwd patch (fanquake)\n\nPull request description:\n\n Now that upstream has gotten around to fixing this. We don't need any more of the patch, and it likely wont apply to our version of Qt in any case. See: https://github.com/qt/qtbase/commit/3388de698bfb9bbc456c08f03e83bf3e749df35c.\n\nACKs for top commit:\n theuni:\n ACK f170fe04ca03fe4021cbff7c5450ce3cc7fda17f\n\nTree-SHA512: f6db8ccad591b1bf144ce71f873f42a115d394c432a95b6b855e3e32751e6331145e0d9676657599b25fd369af8c72c1bd34e192a7a1062c15f152421422a9ed","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30336: depends: update doc in Qt pwd patch"}},{"before":"00feabf6c59c954c1e3a5a46e58cb80cd8d55911","after":"33af14e31b9fa436029a2bb8c2b11de8feb32f86","ref":"refs/heads/master","pushedAt":"2024-07-11T19:08:22.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#30353: test: fix inconsistency in fundrawtransaction weight limits test\n\n00b8e26bd6a47a8207c7571ca7ef9643f0ee2668 test: fix inconsistency in fundrawtransaction weight limits test (furszy)\n\nPull request description:\n\n Fix https://github.com/bitcoin/bitcoin/pull/30309#discussion_r1657628378 inconsistency.\n\n Currently, the test is passing due to a mistake in the test inputs\n selection process. We are selecting the parent transaction change\n output as one of the inputs of the transaction to fund, which\n helps to surpass the target amount when it shouldn't due to the\n fee reduction.\n\n The failure arises when the test behaves as intended by its coder;\n that is, when it does not select the change output. In this case,\n the pre-selected inputs aren't enough to cover the target amount.\n\n Fix this by excluding the parent transaction's change output from\n the inputs selection and including an extra input to cover the tx\n fee.\n\n The CI failure can be replicated with the following patch in master:\n\n ```diff\n diff --git a/test/functional/wallet_fundrawtransaction.py b/test/functional/wallet_fundrawtransaction.py\n --- a/test/functional/wallet_fundrawtransaction.py(revision 9b480f7a25a737c9c4ebc33401e94d66c2da9ec3)\n +++ b/test/functional/wallet_fundrawtransaction.py(date 1720652934739)\n @@ -1322,7 +1322,7 @@\n outputs = []\n for _ in range(1472):\n outputs.append({wallet.getnewaddress(address_type=\"legacy\"): 0.1})\n - txid = self.nodes[0].send(outputs=outputs)[\"txid\"]\n + txid = self.nodes[0].send(outputs=outputs, change_position=0)[\"txid\"]\n self.generate(self.nodes[0], 1)\n\n # 272 WU per input (273 when high-s); picking 1471 inputs will exceed the max standard tx weight.\n @@ -1330,7 +1330,7 @@\n\n # 1) Try to fund transaction only using the preset inputs\n input_weights = []\n - for i in range(1471):\n + for i in range(1, 1472): # skip first output as it is the parent tx change output\n input_weights.append({\"txid\": txid, \"vout\": i, \"weight\": 273})\n assert_raises_rpc_error(-4, \"Transaction too large\", wallet.fundrawtransaction, hexstring=rawtx, input_weights=input_weights)\n ```\n\nACKs for top commit:\n achow101:\n ACK 00b8e26bd6a47a8207c7571ca7ef9643f0ee2668\n ismaelsadeeq:\n Code review and Tested ACK 00b8e26bd6a47a8207c7571ca7ef9643f0ee2668\n\nTree-SHA512: 5ef792961b7fad4999fc30aa03366432103ddf672ca5cbb366c9eab4c2e46d5ae1ab0c073dfc4fbb2b4e63203653bc0e54463c731c5f8655140207ba5f8e542e","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30353: test: fix inconsistency in fundrawtransa…"}},{"before":"01dc38bd01b05953585b1b6ec0468ec9d516e9a3","after":"00feabf6c59c954c1e3a5a46e58cb80cd8d55911","ref":"refs/heads/master","pushedAt":"2024-07-11T18:21:18.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#30234: Enable clang-tidy checks for self-assignment\n\n26a7f70b5d2b1cbfbf03e0b57b9b5ea92dafbb19 ci: enable self-assignment clang-tidy check (Cory Fields)\n32b1d1379258aa57c2a7e278f60d1117fcf17953 refactor: add self-assign checks to classes which violate the clang-tidy check (Cory Fields)\n\nPull request description:\n\n See comment here: https://github.com/bitcoin/bitcoin/pull/30161#issuecomment-2148229582\n\n Our code failed these checks in three places, which have been fixed up here. Though these appear to have been harmless, adding the check avoids the copy in the self-assignment case so there should be no downside.\n\n ~Additionally, minisketch failed the check as well. See https://github.com/sipa/minisketch/pull/87~\n Edit: Done\n\n After fixing up the violations, turn on the aggressive clang-tidy check.\n\n Note for reviewers: `git diff -w` makes this trivial to review.\n\nACKs for top commit:\n hebasto:\n ACK 26a7f70b5d2b1cbfbf03e0b57b9b5ea92dafbb19, I have reviewed the code and it looks OK.\n TheCharlatan:\n ACK 26a7f70b5d2b1cbfbf03e0b57b9b5ea92dafbb19\n\nTree-SHA512: 74d8236a1b5a698f2f61c4740c4fc77788b7f882c4b395acc4e6bfef1ec8a4554ea8821a26b14d70cfa6c8e2e9ea305deeea3fbf323967fa19343c007a53c5ba","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30234: Enable clang-tidy checks for self-assign…"}},{"before":"c2c0b4f0029957ecd3870fadd62b822f26f3aa7a","after":"01dc38bd01b05953585b1b6ec0468ec9d516e9a3","ref":"refs/heads/master","pushedAt":"2024-07-11T18:08: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#30406: refactor: modernize-use-equals-default\n\n3333bae9b2a6c1ee2314d33361c93944c12001f9 tidy: modernize-use-equals-default (MarcoFalke)\n\nPull request description:\n\n Prior to C++20, `modernize-use-equals-default` could have been problematic because it could turn a non-aggregate into an aggregate. The risk would be that aggregate initialization would be enabled where the author did not intend to enable it.\n\n With C++20, aggregate for those is forbidden either way. (https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1008r1.pdf)\n\n So enabled it for code clarity, consistency, and possibly unlocking compiler optimizations. See https://clang.llvm.org/extra/clang-tidy/checks/modernize/use-equals-default.html\n\nACKs for top commit:\n stickies-v:\n ACK 3333bae9b2a6c1ee2314d33361c93944c12001f9\n\nTree-SHA512: ab42ff01be7ca7e7d8b4c6a485e68426f59627d83dd827cf292304829562348dc17a52ee009f5f6f3c1c2081d7166ffac4baef23197ebeba8de7767c6ddfe255","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30406: refactor: modernize-use-equals-default"}},{"before":"a231cfe9642060b31fb5dc8dd00a09eb9e460d1e","after":"c2c0b4f0029957ecd3870fadd62b822f26f3aa7a","ref":"refs/heads/master","pushedAt":"2024-07-11T17:59: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#30146: Add clang-tidy check for thread_local vars\n\n34c9cee380e7276cf3f85f2ce56a293e57afd676 clang-tidy: add check for non-trivial thread_local vars (Cory Fields)\n\nPull request description:\n\n Forbid thread_local vars with non-trivial destructors.\n\n This is a follow-up from: https://github.com/bitcoin/bitcoin/pull/30095#discussion_r1608423170\n\nACKs for top commit:\n maflcko:\n ACK 34c9cee380e7276cf3f85f2ce56a293e57afd676\n TheCharlatan:\n Re-ACK 34c9cee380e7276cf3f85f2ce56a293e57afd676\n\nTree-SHA512: 3a798607fb189a5bbc714ed6e86dea462fe29d366b790e96d10a7b4ffcf1f194da9b8f4cd0b82154408709b8e3c58d3f613d6311903bd65a76d8b556ab230d21","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30146: Add clang-tidy check for thread_local vars"}},{"before":"e51653985cc882904cfea0be14cd3eeeebaabf23","after":"a231cfe9642060b31fb5dc8dd00a09eb9e460d1e","ref":"refs/heads/master","pushedAt":"2024-07-11T17:51: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#30383: util: Catch translation string errors at compile time\n\nfa601ab9f7142cdb18c18c1128fc893cdffb3463 util: Catch translation string errors at compile time (MarcoFalke)\n\nPull request description:\n\n The translation helper function `_()` has many problems. For example, the following compiles:\n\n ```cpp\n auto ptr{\"wrong\"};\n _(ptr);\n _(nullptr);\n _(0);\n _(NULL);\n ```\n\n However, it is wrong, because none of the arguments passed to the function can be picked up by the translation tooling for transifex.\n\n Fix all issues by enforcing only real string literals can be passed to the function.\n\nACKs for top commit:\n ryanofsky:\n Code review ACK fa601ab9f7142cdb18c18c1128fc893cdffb3463\n hebasto:\n ACK fa601ab9f7142cdb18c18c1128fc893cdffb3463.\n\nTree-SHA512: 33aed02d7e8fc9bfb8f90746f5c8072a8c0910fa900ec3516af2e732780b0fee8b07b6596c0fc210b018c0869111d6c34bf8d083de0e88ecdb4dee88e809186d","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30383: util: Catch translation string errors at…"}},{"before":"e5a5497d9815ec3fc2f2d89e2dcf28eada408881","after":"e51653985cc882904cfea0be14cd3eeeebaabf23","ref":"refs/heads/master","pushedAt":"2024-07-11T17:37:25.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#30397: refactor: Use designated initializer in test/util/net.cpp\n\ne233ec036dc972a5847ab769ad22d418fd9404d1 refactor: Use designated initializer (Hodlinator)\n\nPull request description:\n\n Block was recently touched (e2d1f84858485650ff743753ffa5c679f210a992) and the codebase recently switched to C++20 which allows this to improve robustness.\n\n Follow-up suggested in https://github.com/bitcoin/bitcoin/pull/29625#discussion_r1664818014\n\nACKs for top commit:\n maflcko:\n ACK e233ec036dc972a5847ab769ad22d418fd9404d1\n\nTree-SHA512: ce3a18f513421e923710a43c8f97db1badb7ff5c6bdbfd62d9543312d2225731db5c14bef16feb47c43b84fad4dc24485086634b680feba422d2b7b363e13fa6","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30397: refactor: Use designated initializer in …"}},{"before":"d9aa7b23e438fc381c6bddecfe53943d63b1a1fd","after":"e5a5497d9815ec3fc2f2d89e2dcf28eada408881","ref":"refs/heads/master","pushedAt":"2024-07-11T16:36:05.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#30427: remove truc_policy from libbitcoin_common_a_SOURCES\n\ne8c3b7172c33929e4e5bf6059da2d25a4ea8779c remove truc_policy.cpp from libbitcoin_common_a_SOURCES (glozow)\n\nPull request description:\n\n Hebasto pointed out that it doesn't need to be there since it's in `libbitcoin_node_a_SOURCES`\n\nACKs for top commit:\n maflcko:\n ACK e8c3b7172c33929e4e5bf6059da2d25a4ea8779c\n hebasto:\n ACK e8c3b7172c33929e4e5bf6059da2d25a4ea8779c, this change follows the design [docs](https://github.com/bitcoin/bitcoin/blob/master/doc/design/libraries.md).\n ismaelsadeeq:\n ACK e8c3b7172c33929e4e5bf6059da2d25a4ea8779c\n\nTree-SHA512: ebe6b0dda2d097d88c37d2b071ac99da3e9c519ec473d4b8f870a50f1b24d00e2e5deef317fb0f6a91c96103e7f37468cb8f13395818eab55a42af48df4e0fc6","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30427: remove truc_policy from libbitcoin_commo…"}},{"before":"9b480f7a25a737c9c4ebc33401e94d66c2da9ec3","after":"d9aa7b23e438fc381c6bddecfe53943d63b1a1fd","ref":"refs/heads/master","pushedAt":"2024-07-11T15:47:38.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"glozow","name":"Gloria Zhao","path":"/glozow","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25183001?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#26596: wallet: Migrate legacy wallets to descriptor wallets without requiring BDB\n\n8ce3739edbcf6437bf2695087e0ebe8c633df19b test: verify wallet is still active post-migration failure (furszy)\n771bc60f134c002a027e799639f0fed59ae8123d wallet: Use LegacyDataSPKM when loading (Ava Chow)\n61d872f1b3d0dbfd0de4ff9b7deff40eeffa6a14 wallet: Move MigrateToDescriptor and DeleteRecords to LegacyDataSPKM (Ava Chow)\nb231f4d556876ae70305e8710e31d53525ded8ae wallet: Move LegacyScriptPubKeyMan::IsMine to LegacyDataSPKM (Ava Chow)\n7461d0c006c92ede2f2595b79a5509eaf3509fb7 wallet: Move LegacySPKM data storage and handling to LegacyDataSPKM (Ava Chow)\n517e204bacd9dcea6612aae57d5a2813b89cd01d Change MigrateLegacyToDescriptor to reopen wallet as BERKELEY_RO (Ava Chow)\n\nPull request description:\n\n #26606 introduced `BerkeleyRODatabase` which is an independent parser for BDB files. This PR uses this in legacy wallet migration so that migration will continue to work once the legacy wallet and BDB are removed. `LegacyDataSPKM` is introduced to have the minimum data and functions necessary for a legacy wallet to be loaded for migration.\n\nACKs for top commit:\n cbergqvist:\n ACK 8ce3739edbcf6437bf2695087e0ebe8c633df19b\n theStack:\n Code-review ACK 8ce3739edbcf6437bf2695087e0ebe8c633df19b\n furszy:\n Code review ACK 8ce3739edbcf6437bf2695087e0ebe8c633df19b\n\nTree-SHA512: dccea12d6c597de15e3e42f97ab483cfd069e103611200279a177e021e8e9c4e74387c4f45d2e58b3a1e7e2bdb32a1d2d2060b1f8086c03eeaa0c68579d9d54e","shortMessageHtmlLink":"Merge bitcoin/bitcoin#26596: wallet: Migrate legacy wallets to descri…"}},{"before":"f4849f692270f341f353806c44f2c1849879a6bf","after":"9b480f7a25a737c9c4ebc33401e94d66c2da9ec3","ref":"refs/heads/master","pushedAt":"2024-07-10T22:41:11.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#30414: [doc] archive v26.2 release notes\n\n3c61cf3986d40ce0eae794f8a9571247f8af99e4 [doc] archive v26.2 release notes (glozow)\n\nPull request description:\n\n To create the github release\n\nACKs for top commit:\n achow101:\n ACK 3c61cf3986d40ce0eae794f8a9571247f8af99e4\n stickies-v:\n ACK 3c61cf3986d40ce0eae794f8a9571247f8af99e4\n\nTree-SHA512: 70c316c68f73baae4abf4e5c8999620a7d7aa869a1dd51a4f72dc9093f24a52916249ee460648fe82bc6c1e5d568b9dca185b10b8faa86b499d84e30c65be3fa","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30414: [doc] archive v26.2 release notes"}},{"before":"394651ff10ff00d3e779b2df8645547ee2b1934c","after":"f4849f692270f341f353806c44f2c1849879a6bf","ref":"refs/heads/master","pushedAt":"2024-07-10T19:27:19.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#29668: prune, rpc: Check undo data when finding pruneheight\n\n8789dc8f315a9d9ad7142d831bc9412f780248e7 doc: Add note to getblockfrompeer on missing undo data (Fabian Jahr)\n4a1975008b602aeacdad9a74d1837a7455148074 rpc: Make pruneheight also reflect undo data presence (Fabian Jahr)\n96b4facc912927305b06a233cb8b36e7e5964c08 refactor, blockstorage: Generalize GetFirstStoredBlock (Fabian Jahr)\n\nPull request description:\n\n The function `GetFirstStoredBlock()` helps us find the first block for which we have data. So far this function only looked for a block with `BLOCK_HAVE_DATA`. However, this doesn't mean that we also have the undo data of that block, and undo data might be required for what a user would like to do with those blocks. One example of how this might happen is if some blocks were fetched using the `getblockfrompeer` RPC. Blocks fetched from a peer will have data but no undo data.\n\n The first commit here allows `GetFirstStoredBlock()` to check for undo data as well by passing a parameter. This alone is useful for #29553 and I would use it there.\n\n In the second commit I am applying the undo check to the RPCs that report `pruneheight` to the user. I find this much more intuitive because I think the user expects to be able to do all operations on blocks up until the `pruneheight` but that is not the case if undo data is missing. I personally ran into this once before and now again when testing for assumeutxo when I had used `getblockfrompeer`. The following commit adds test coverage for this change of behavior.\n\n The last commit adds a note in the docs of `getblockfrompeer` that undo data will not be available.\n\nACKs for top commit:\n achow101:\n ACK 8789dc8f315a9d9ad7142d831bc9412f780248e7\n furszy:\n Code review ACK 8789dc8f315a9d9ad7142d831bc9412f780248e7.\n stickies-v:\n ACK 8789dc8f315a9d9ad7142d831bc9412f780248e7\n\nTree-SHA512: 90ae8bdd07a496ade579aa25240609c61c9ed173ad38d30533f6c631fe674e5a41727478ade69ca4b71a571ad94c9da4b33ebba6b5d8821109313c2de3bdfb3d","shortMessageHtmlLink":"Merge bitcoin/bitcoin#29668: prune, rpc: Check undo data when finding…"}},{"before":"45f757c72672fc351bf669e731744f2f5e269233","after":"394651ff10ff00d3e779b2df8645547ee2b1934c","ref":"refs/heads/master","pushedAt":"2024-07-10T19:18:44.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#29996: Assumeutxo: bugfix on loadtxoutset with a divergent chain + test\n\n5b7f70ba2661a194a3c476b81e03785feddb4e1c test: loadtxoutset in divergent chain with less work (Alfonso Roman Zubeldia)\nd35efe1efc0dbeae0667baade2a40be08511c13e p2p: Start downloading historical blocks from common ancestor (Martin Zumsande)\n\nPull request description:\n\n This PR adds a test to cover the scenario of loading an assumeutxo snapshot when the current chain tip is not an ancestor of the snapshot block but has less work.\n\n During the review process, a bug was discovered where blocks between the last common ancestor and the background tip were not being requested if the background tip was not an ancestor of the snapshot block. mzumsande suggested a fix (65343ec49a6b73c4197dfc38e1c2f433b0a3838a) to start downloading historical blocks from the last common ancestor to address this issue. This fix has been incorporated into the PR with a slight modification.\n\n Related to https://github.com/bitcoin/bitcoin/issues/28648\n\nACKs for top commit:\n fjahr:\n tACK 5b7f70ba2661a194a3c476b81e03785feddb4e1c\n achow101:\n ACK 5b7f70ba2661a194a3c476b81e03785feddb4e1c\n mzumsande:\n Code Review ACK 5b7f70ba2661a194a3c476b81e03785feddb4e1c\n\nTree-SHA512: f8957349686a6a1292165ea9e0fd8c912d21466072632a10f8ef9d852a5f430bc6b2a531e6884a4dbf2e3adb28b3d512b25919e78f5804a67320ef54c3b1aaf6","shortMessageHtmlLink":"Merge bitcoin/bitcoin#29996: Assumeutxo: bugfix on loadtxoutset with …"}},{"before":"9adebe145557ef410964dd48a02f3d239f488cd0","after":"45f757c72672fc351bf669e731744f2f5e269233","ref":"refs/heads/master","pushedAt":"2024-07-10T17:23:30.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"ryanofsky","name":"Ryan Ofsky","path":"/ryanofsky","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/7133040?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#29274: Fix issues with CI on forks\n\n576828e732bacb61b608cd89f669a2936d3e8d00 ci: test-each-commit merge base optional (Sjors Provoost)\ne9bfbb5414ab14ca14d8edcfdf77f28c9ed67c33 ci: forks can opt-out of CI branch push (Cirrus only) (Sjors Provoost)\n\nPull request description:\n\n Maintainer note: `SKIP_BRANCH_PUSH=true` must be set in Cirrus for `bitcoin-core/gui` before merging this. See `https://cirrus-ci.com/github/bitcoin-core/gui` -> Settings.\n\n ---\n\n I find myself making pull requests against my fork (mostly on top of https://github.com/bitcoin/bitcoin/pull/28983, or asking others to do so. Currently only the Github actions are run on forks, because we use self-hosted runners for the Cirrus tasks.\n\n While setting up my own self-hosted runners for my fork, I ran into a number of issues. Some of those were addressed by https://github.com/bitcoin/bitcoin/pull/29441, but remaining issues are:\n\n 1. When PRs are opened in the fork, cirrus CI jobs are run twice because PRs and branches reside in the same repository, rather than a main repository and a fork repository, as is the case with bitcoin/bitcoin PRs. Fix this by adding a `SKIP_BRANCH_PUSH` configuration option that allows skipping CI runs not directly associated with a PR. The fix is a generalization of [#20328](https://github.com/bitcoin/bitcoin/pull/20328), which fixed a similar problem for the bitcoin-core/gui mirror repository, and it allows removing a hardcoded reference to that repository.\n\n Github actions jobs will still run twice despite this change, see [#29274 (comment)](https://github.com/bitcoin/bitcoin/pull/29274#issuecomment-2188840483). Initially this PR tried to prevent that with https://github.com/bitcoin/bitcoin/commit/b9fdd0dc75b5b4944dffc700b0391b38465f754a, but this had some potentially negative side effects, see [#29274 (comment)](https://github.com/bitcoin/bitcoin/pull/29274#discussion_r1457587805), so that commit was dropped for now.\n\n 2. When PRs are opened in the fork, the \"test-each-commit\" github action can fail due to not being able to find a recent merge commit. This problem doesn't happen in the bitcoin/bitcoin repository because branches in this repository used as the base for pull requests always point at merge commits.\n\n This PR replaces https://github.com/bitcoin/bitcoin/pull/29259 using the self hosted workers via Cirrus instead of Github.\n\n You can see this PR in action on this pull request to my fork: https://github.com/Sjors/bitcoin/pull/30\n\n To test it yourself:\n\n 1. spin up at least two [self hosted runners](https://github.com/cirruslabs/cirrus-cli/blob/master/PERSISTENT-WORKERS.md). Either use a seperate VM for each, or give them their own user.\n 3. Install Podman and other CI dependencies (see .cirrus.yml)\n 4. Give Cirrus access to your fork at https://cirrus-ci.com/settings/github/YOU\n 5. Get a token from Cirrus and use it to start your worker(s)\n 6. Optionally set SKIP_BRANCH_PUSH=true ~and NO_ARM=true~ env variables (see .cirrus.yml)\n make a pull request to your own fork, with this PR as the base branch\n\n Security wise: when dealing with code from strangers on the internet, review it first before running the CI. There's a Cirrus check-box that requires approval for people without write access to trigger CI.\n\nACKs for top commit:\n maflcko:\n ACK 576828e732bacb61b608cd89f669a2936d3e8d00\n ryanofsky:\n Code review ACK 576828e732bacb61b608cd89f669a2936d3e8d00.\n\nTree-SHA512: fb6be2f228aa62f45a65ce5c613c979b6f387df396f9601ce4622b27aa317a66f198e7d7a194592b0bb397b32a2f50f8be47065834d74af4ea09407c5c8d306d","shortMessageHtmlLink":"Merge bitcoin/bitcoin#29274: Fix issues with CI on forks"}},{"before":"10677713ca32eea76167383d4be2242e140d9029","after":"9adebe145557ef410964dd48a02f3d239f488cd0","ref":"refs/heads/master","pushedAt":"2024-07-10T00:09:15.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#29154: tests: improve wallet multisig descriptor test and docs\n\nd93b79470916b1e6f85c55cc6beb1e41b382196f tests: improve wallet multisig descriptor test and docs (Michael Dietz)\n\nPull request description:\n\n It is best to store all key origin information\n (master key fingerprint and all derivation steps)\n in the multisig descriptor. Being explicit with\n this information should be beneficial if this approach is used with other wallets/signers (whether hardware or software). There is no harm including all of this with xpubs (if anything it simplifies the test code) and makes this example/docs more complete and safer incase it is referenced by others.\n\nACKs for top commit:\n S3RK:\n Code Review ACK d93b79470916b1e6f85c55cc6beb1e41b382196f\n achow101:\n ACK d93b79470916b1e6f85c55cc6beb1e41b382196f\n\nTree-SHA512: 0e5c4d13f060489405e6cf50c8a09911f5a0cee71023649235afd80a5e3aae38d52c6e12ad4660205b9357b09f45596941391bdcf6fceccbe07c4e5a1592a482","shortMessageHtmlLink":"Merge bitcoin/bitcoin#29154: tests: improve wallet multisig descripto…"}},{"before":"c51c694ede0806872ad27e245146f4c82d62e582","after":"10677713ca32eea76167383d4be2242e140d9029","ref":"refs/heads/master","pushedAt":"2024-07-09T21:52:58.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#30396: random: add benchmarks and drop unnecessary Shuffle function\n\n6ecda04fefad980872c72fba89844393f5581120 random: drop ad-hoc Shuffle in favor of std::shuffle (Pieter Wuille)\nda28a26aae3178fb7663efbe20bb650857ace775 bench random: benchmark more functions, and add InsecureRandomContext (Pieter Wuille)\n0a9bbc64c157a314e5472ecd98300e30b12d3fdf random bench refactor: move to new bench/random.cpp (Pieter Wuille)\n\nPull request description:\n\n This adds benchmarks for various operations on `FastRandomContext` and `InsecureRandomContext`, and then removes the ad-hoc `Shuffle` functions, now that it appears that standard library `std::shuffle` has comparable performance. The other reason for keeping `Shuffle`, namely the fact that libstdc++ used self-move (which debug mode panics on) has been fixed as well (see https://github.com/bitcoin/bitcoin/pull/29625#discussion_r1658344049).\n\nACKs for top commit:\n achow101:\n ACK 6ecda04fefad980872c72fba89844393f5581120\n hodlinator:\n ACK 6ecda04fefad980872c72fba89844393f5581120\n dergoegge:\n Code review ACK 6ecda04fefad980872c72fba89844393f5581120\n\nTree-SHA512: 2560b7312410581ff2b9bd0716e0f1558d910b5eadb9544785c972384985ac0f11f72d6b2797cfe2e7eb71fa57c30cffd98cc009cb4ee87a18b1524694211417","shortMessageHtmlLink":"Merge bitcoin/bitcoin#30396: random: add benchmarks and drop unnecess…"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEgNyrbwA","startCursor":null,"endCursor":null}},"title":"Activity · bitcoin-core/gui"}