{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":1181927,"defaultBranch":"master","name":"bitcoin","ownerLogin":"bitcoin","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2010-12-19T15:16:43.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/528860?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1713369113.0","currentOid":""},"activityList":{"items":[{"before":"75118a608fc22a57567743000d636bc1f969f748","after":"2f53f2273da020d7fabd7c65a1bc7e69a31249b2","ref":"refs/heads/master","pushedAt":"2024-05-16T15:16:14.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 #29975: blockstorage: Separate reindexing from saving new blocks"}},{"before":"dd42a5ddea6a72e1e9cad54f8352c76b0b701973","after":"75118a608fc22a57567743000d636bc1f969f748","ref":"refs/heads/master","pushedAt":"2024-05-16T14:18:10.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 #27101: Support JSON-RPC 2.0 when requested by client"}},{"before":"ae2658caacc1f3d8ab48d6b8ece481b1e9707fbb","after":"dd42a5ddea6a72e1e9cad54f8352c76b0b701973","ref":"refs/heads/master","pushedAt":"2024-05-16T03:18:34.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 #30085: p2p: detect addnode cjdns peers in GetAddedNodeInfo()"}},{"before":"71f0f2273f6258e466c7b299c11982b4a04ae0d7","after":"ae2658caacc1f3d8ab48d6b8ece481b1e9707fbb","ref":"refs/heads/master","pushedAt":"2024-05-16T00:40:41.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"fanquake","name":"fanquake","path":"/fanquake","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863730?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#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 #30097: crypto: disable asan for sha256_sse4 with clang and -O0"}},{"before":"7a40f2a3f1cf744d136ecf534979114e79c5e71d","after":"71f0f2273f6258e466c7b299c11982b4a04ae0d7","ref":"refs/heads/master","pushedAt":"2024-05-15T19:10:15.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 #28929: serialization: Support for multiple parameters"}},{"before":"33303b2b296cdb21b6ade3e95663e9ed58c08753","after":"7a40f2a3f1cf744d136ecf534979114e79c5e71d","ref":"refs/heads/master","pushedAt":"2024-05-15T17:41:49.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 bitcoin-core/gui#722: wallet: Allow user to navigate options wh…"}},{"before":"42d5a1ff25a8045b6f4c09fa1fb71736dbccc034","after":"33303b2b296cdb21b6ade3e95663e9ed58c08753","ref":"refs/heads/master","pushedAt":"2024-05-15T13:56:24.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 #30000: p2p: index TxOrphanage by wtxid, allow entries with sam…"}},{"before":"3d24189664e696a2ca1aee2b5ea57b245344e2d4","after":"42d5a1ff25a8045b6f4c09fa1fb71736dbccc034","ref":"refs/heads/master","pushedAt":"2024-05-15T08:31:34.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#30060: ci: Roll clang in test-each-commit task\n\nfa90ad23c0cb99bde305af156c978c066f7bacb8 ci: Roll test-each-commit Ubuntu (MarcoFalke)\nfa6c82dd9b0ef9687c28ddd6b57065d0ba7de85b ci: Remove clang version pin in test-each-commit (MarcoFalke)\n\nPull request description:\n\n Needed for https://github.com/bitcoin/bitcoin/pull/29077#issuecomment-2099704210\n\nACKs for top commit:\n hebasto:\n re-ACK fa90ad23c0cb99bde305af156c978c066f7bacb8.\n\nTree-SHA512: 753a3a77d967f308b5b5dd0bc7ea9f3268fc93c5ac978da3d79b85461cb1e994c6ac481888dc472b9a08be45ad0fad66ad3fda241a8955f999b7c2cb2a2b1f58","shortMessageHtmlLink":"Merge #30060: ci: Roll clang in test-each-commit task"}},{"before":"695d80126f75a99c80d5d6c18ebaaabf7410b989","after":"3d24189664e696a2ca1aee2b5ea57b245344e2d4","ref":"refs/heads/master","pushedAt":"2024-05-15T04:48:44.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"fanquake","name":"fanquake","path":"/fanquake","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863730?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#30098: refactor: simplify `FormatSubVersion` using strprintf/Join\n\n12d82817bf32396b58c8c65645012def606680b6 refactor: simplify `FormatSubVersion` using strprintf/Join (Sebastian Falbesoner)\n\nPull request description:\n\n Rather than using std::ostringstream and manually joining the comments, use strprintf and our own `Join` helper.\n\nACKs for top commit:\n maflcko:\n utACK 12d82817bf32396b58c8c65645012def606680b6\n TheCharlatan:\n tACK 12d82817bf32396b58c8c65645012def606680b6\n hebasto:\n ACK 12d82817bf32396b58c8c65645012def606680b6, I have reviewed the code and it looks OK.\n tdb3:\n ACK for 12d82817bf32396b58c8c65645012def606680b6.\n\nTree-SHA512: b9b965c4416a4c0c8727e3c4b40da4be04b14067200220492e9bed4fa35c1907fb5cdec2a30052b9e762f71da3d3cf042f43c96ab1f2523df5bb9920b44ea2a5","shortMessageHtmlLink":"Merge #30098: refactor: simplify FormatSubVersion using strprintf/Join"}},{"before":"f5fc3190fbe3a42670ef96b2ad8b4914b9eac813","after":"695d80126f75a99c80d5d6c18ebaaabf7410b989","ref":"refs/heads/master","pushedAt":"2024-05-15T01:02:39.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#30074: contrib: use ENV flags in get_arch\n\nb59a027d957a4cffd225a681e6c85f9ae7fd77f3 contrib: drop dead get_machine from test sym check (fanquake)\ne6aba463adeb88fc707342a12fef658f68b0a0ea contrib: use env_flags in get_arch (fanquake)\n\nPull request description:\n\n This isn't an issue right now (because the get_arch check is simple), but becomes one as soon as we want to use `lld` for linking, and need LDFLAGS (otherwise we call `ld` and fail, see it's usage in #21778). So I've split this out for review. It also makes sense to use the same flags for all compilation in these checks.\n\n Also drops some dead code in test-symbol-check.\n\nACKs for top commit:\n TheCharlatan:\n ACK b59a027d957a4cffd225a681e6c85f9ae7fd77f3\n\nTree-SHA512: d8afc4144815369aae63cf6dc6e983af46f208c7043d6ea5c9c811152649c256a8e67eb6864ea9d385d87b6b049fece07710a84b90da325da7fc3f05efcaacd6","shortMessageHtmlLink":"Merge #30074: contrib: use ENV flags in get_arch"}},{"before":"dbb3113082a75035b14d20021036d2166171976e","after":"f5fc3190fbe3a42670ef96b2ad8b4914b9eac813","ref":"refs/heads/master","pushedAt":"2024-05-15T00:00:45.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#29086: refactor: Simply include CTxMemPool::Options in CTxMemPool directly rather than duplicating definition\n\ncc67d33fdac45357b593b1faff3d1735e5fe91ba refactor: Simply include CTxMemPool::Options in CTxMemPool directly rather than duplicating definition (Luke Dashjr)\n\nPull request description:\n\n Instead of duplicating mempool options two places, just include the Options struct directly on the CTxMemPool\n\nACKs for top commit:\n achow101:\n ACK cc67d33fdac45357b593b1faff3d1735e5fe91ba\n kristapsk:\n cr utACK cc67d33fdac45357b593b1faff3d1735e5fe91ba\n jonatack:\n ACK cc67d33fdac45357b593b1faff3d1735e5fe91ba\n\nTree-SHA512: 9deb5ea6f85eeb1c7e04536cded65303b0ec459936a97e4f257aff2c50b0984a4ddbf69a4651f48455b9c80200a1fd24e9c74926874fdd9be436bbbe406251ce","shortMessageHtmlLink":"Merge #29086: refactor: Simply include CTxMemPool::Options in CTxMemP…"}},{"before":"7fcf4e99791ca5be0b068ac03a81a50ece11dba3","after":"dbb3113082a75035b14d20021036d2166171976e","ref":"refs/heads/master","pushedAt":"2024-05-14T15:20:39.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#30083: kernel: Remove batchpriority from kernel library\n\nd4b17c7d46ad8e2833ade99d5b4c9741c913e84d kernel: Remove batchpriority from kernel library (TheCharlatan)\n\nPull request description:\n\n The current usage of ScheduleBatchPriority is not transparent. Once the thread scheduling is changed, it remains unchanged for the remainder of the thread's lifetime. So move the call from `ImportBlocks` to the init code where it is clearer that its effect lasts for the entire lifetime of the thread.\n\n Users of the kernel library might not expect `ImportBlocks` to have an influence on the thread it is called in. Particularly since it is only a compile time option and cannot be controlled at runtime. With this patch users of the kernel library can now freely choose their own scheduling policy.\n\n This PR is easier reviewed with `git diff --color-moved-ws=ignore-all-space --color-moved=dimmed-zebra`\n\n ---\n This PR is part of the [libbitcoinkernel project](https://github.com/bitcoin/bitcoin/issues/27587).\n\nACKs for top commit:\n maflcko:\n ACK d4b17c7d46ad8e2833ade99d5b4c9741c913e84d 📭\n ryanofsky:\n Code review ACK d4b17c7d46ad8e2833ade99d5b4c9741c913e84d, just added suggested comment since last review\n hebasto:\n ACK d4b17c7d46ad8e2833ade99d5b4c9741c913e84d, I have reviewed the code and it looks OK.\n\nTree-SHA512: cafedecd9affad58ddd7f30f68bba71291ca951bb186ff4b2da04b7f21f0b26e5e3143846d032b9e391bd5ce6c7466b97aa3758d2a85ebd7353eb8b69139641a","shortMessageHtmlLink":"Merge #30083: kernel: Remove batchpriority from kernel library"}},{"before":"d6069cb8d6bad2da111e9db0f6ba587855349bc8","after":"7fcf4e99791ca5be0b068ac03a81a50ece11dba3","ref":"refs/heads/master","pushedAt":"2024-05-14T03:47:16.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#30078: depends: set AR & RANLIB for CMake\n\n019ad7327c397094d7648b55503bf5373b108a57 depends: set RANLIB for CMake (fanquake)\n43cfb428cba04b8db98d4d0d56ffe28ad686e58c depends: set NM for CMake (fanquake)\n1e4412b317f74dd64069309544fe73c95e2c10e7 depends: set AR for CMake (fanquake)\n\nPull request description:\n\n Needed for #21778. Should be more correct in any case.\n\nACKs for top commit:\n theuni:\n utACK 019ad7327c397094d7648b55503bf5373b108a57. I didn't test, but I tried this approach on a few deps and it seemed to work as expected.\n TheCharlatan:\n ACK 019ad7327c397094d7648b55503bf5373b108a57\n\nTree-SHA512: 78cc8981456f7476cafca0e40fcc569e474b92004c8024d1c4268b6aab53175074a06ab17ebded8d706bf0a7f77401642dd38bb7ce2e4b04abdcd149d3d69969","shortMessageHtmlLink":"Merge #30078: depends: set AR & RANLIB for CMake"}},{"before":"0503cbea9aab47ec0a87d34611e5453158727169","after":"d6069cb8d6bad2da111e9db0f6ba587855349bc8","ref":"refs/heads/master","pushedAt":"2024-05-13T20:31:56.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#28233: validation: don't clear cache on periodic flush: >2x block connection speed\n\n4a6d1d1e3bc3d559cd13d134b4b827f22635ac4b validation: don't clear cache on periodic flush (Andrew Toth)\n\nPull request description:\n\n Since https://github.com/bitcoin/bitcoin/pull/17487 we no longer need to clear the coins cache when syncing to disk. A warm coins cache significantly speeds up block connection, and only needs to be fully flushed when nearing the `dbcache` limit.\n\n Periodic flushes occur every 24 hours, which empties the cache and causes block connection to slow down. By keeping the cache through periodic flushes a node can run for several days with an increasingly hotter cache and connect blocks much more quickly. Now not only can setting a higher `dbcache` value be beneficial for IBD, it can also be beneficial for connecting blocks faster.\n\n To benchmark in real world usage, I spun up 6 identical `t2.small` AWS EC2 instances, all running in the same region in the same VPC. I configured 2 instances to run master, 2 instances to run the change in this PR, and 2 instances to run the change in this PR but with `dbcache=1000`. All instances had `prune=5000` and a 20 GB `gp2` `EBS` volume. A 7th EC2 instance in the same VPC ran master and connected only to some trusted nodes in the outside network. Each of the 6 nodes under test only connected directly to this 7th instance. I manually pruned as much as possible and uploaded the same `blocks`, `chainstate` and `mempool.dat` to all instances. I started all 6 peers simultaneously at block height `835245` and ran them for over a week until block `836534`.\n\n The results were much faster block connection times for this branch compared to master, and much faster for this branch with `dbcache=1000` compared to default `dbcache`.\n\n | branch |speed |\n |-----------:|----------:|\n | master 1 | 1995.49ms/blk |\n | master 2 | 2129.78ms/blk |\n | branch default dbcache 1 | 1189.65ms/blk |\n | branch default dbcache 2 | 1037.74ms/blk |\n | branch dbcache=1000 1 | 393.69ms/blk |\n | branch dbcache=1000 2 | 427.77ms/blk |\n\n The log files of all 6 instances are [here](https://gist.github.com/andrewtoth/03c95033e7581d5dbc5be028639a1a91).\n There is a lot of noise with the exact times of blocks being connected, so I plotted the rolling 20 block connect time averages. The large dots are the times where the cache is emptied. For the red master nodes, this happens every 24 hours. The blue branch nodes with default `dbcache` only filled up and emptied the caches once, which is seen in the middle. The green branch nodes with 1000 `dbcache` never emptied the cache. It is very clear from the chart that whenever the cache is emptied, connect block speed degrades significantly.\n\n ![plot](https://github.com/bitcoin/bitcoin/assets/237213/802cb28d-1ad4-47c3-a886-c5366b423eca)\n\n Also note that this still clears the cache for pruning flushes. Having frequent pruning flushes with a large cache that doesn't clear is less performant than the status quo https://github.com/bitcoin/bitcoin/pull/15265#issuecomment-458657451. See https://github.com/bitcoin/bitcoin/pull/28280.\n\nACKs for top commit:\n sipa:\n utACK 4a6d1d1e3bc3d559cd13d134b4b827f22635ac4b\n achow101:\n ACK 4a6d1d1e3bc3d559cd13d134b4b827f22635ac4b\n brunoerg:\n crACK 4a6d1d1e3bc3d559cd13d134b4b827f22635ac4b\n\nTree-SHA512: 05dbc677bc309bbcf89c52a6c5e853e2816b0ef0b5ee3719b30696df315a0427e244bb82da9ad828ec0e7ea8764552f8affe14c0184b52adf1909f5d8c1b4f9e","shortMessageHtmlLink":"Merge #28233: validation: don't clear cache on periodic flush: >2x bl…"}},{"before":"ff8c606cf1eaefd0eab9f144561120ae6c5a498f","after":"0503cbea9aab47ec0a87d34611e5453158727169","ref":"refs/heads/master","pushedAt":"2024-05-13T20:16:00.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#30094: rpc: move UniValue in blockToJSON\n\nb77bad309e92f176f340598eec056eb7bff86f5f rpc: move UniValue in blockToJSON (willcl-ark)\n\nPull request description:\n\n Fixes: #24542\n Fixes: #30052\n\n Without explicitly declaring the move, these `UniValues` get copied, causing increased memory usage. Fix this by explicitly moving the `UniValue` objects.\n\n Used by `rest_block` and `getblock` RPC.\n\nACKs for top commit:\n maflcko:\n review ACK b77bad309e92f176f340598eec056eb7bff86f5f\n ismaelsadeeq:\n ACK b77bad309e92f176f340598eec056eb7bff86f5f\n TheCharlatan:\n ACK b77bad309e92f176f340598eec056eb7bff86f5f\n theuni:\n utACK b77bad309e92f176f340598eec056eb7bff86f5f\n hebasto:\n ACK b77bad309e92f176f340598eec056eb7bff86f5f, I have reviewed the code and it looks OK.\n BrandonOdiwuor:\n ACK b77bad309e92f176f340598eec056eb7bff86f5f\n\nTree-SHA512: 767608331040f9cfe5c3568ed0e3c338920633472a1a50d4bbb47d1dc69d2bb11466d611f050ac8ad1a894b47fe1ea4d968cf34cbd44d4bb8d479fc5c7475f6d","shortMessageHtmlLink":"Merge #30094: rpc: move UniValue in blockToJSON"}},{"before":"c7deb761187e052ec25f94d855befdd1ff2e73fd","after":"ff8c606cf1eaefd0eab9f144561120ae6c5a498f","ref":"refs/heads/master","pushedAt":"2024-05-13T15:01:41.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#29974: fuzz: txorphan tests fixups\n\n58594c7040241f2312b0b8735a8baf0412674613 fuzz: txorphan tests fixups (Sergi Delgado Segura)\n\nPull request description:\n\n Motivated by https://github.com/bitcoin/bitcoin/pull/28970#discussion_r1576401327\n\n Adds the following fixups in txorphan fuzz tests:\n\n - Don't bond the output count of the created orphans to the number of available coins\n - Allow duplicate inputs but don't store duplicate outpoints\n\n Most significantly, this gets rid of the `duplicate_input` flag altogether, making the test easier to reason about. Notice how, under normal conditions, duplicate inputs would be caught by `MemPoolAccept::PreChecks`, however, no validations checks are run on the test before adding data to the orphanage (neither were they before this patch)\n\n ## Rationale\n\n The way the test is currently written, duplicate inputs are allowed based on a random flag (`duplicate_input`). If the flag is unset, upon selecting an outpoint as input for a new transaction, the input is popped to prevent re-selection and later re-added to the collection (once all inputs have been picked). However, the re-addition to the collection is performed independently of whether the flag was set or not. This means that, if the flag is set, the selected inputs are duplicated which in turn makes these inputs more likely to be re-picked in the following iteration of the loop.\n\n Additionally, both the input and output count of the transaction are bonded to the number of available outpoints. This makes sense for the former, but the latter shouldn't be.\n\nACKs for top commit:\n maflcko:\n utACK 58594c7040241f2312b0b8735a8baf0412674613\n glozow:\n ACK 58594c7\n instagibbs:\n ACK 58594c7040241f2312b0b8735a8baf0412674613\n\nTree-SHA512: e97cc2a43e388f87b64d2e4e45f929dd5b0dd85d668dd693b75e4c9ceea734cd7645952385d428208d07b70e1aafbec84cc2ec264a2e07d36fc8ba3e97885a8d","shortMessageHtmlLink":"Merge #29974: fuzz: txorphan tests fixups"}},{"before":"b94061902e52132489fe296c12396798700f1f35","after":"c7deb761187e052ec25f94d855befdd1ff2e73fd","ref":"refs/heads/master","pushedAt":"2024-05-13T14:59:03.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#29994: doc: removed help text saying that peers may not connect automatically\n\n95897ff181c0757e445f0e066a2a590a0a0120d2 doc: removed help text saying that peers may not connect automatically (kevkevin)\n\nPull request description:\n\n Introduced in https://github.com/bitcoin/bitcoin/pull/23542 and released in version 23.0 there has been significant time since this change (2 years).\n\n This should be removed as it is no longer relevant\n\nACKs for top commit:\n stickies-v:\n ACK 95897ff181c0757e445f0e066a2a590a0a0120d2\n tdb3:\n ACK for 95897ff181c0757e445f0e066a2a590a0a0120d2.\n vasild:\n ACK 95897ff181c0757e445f0e066a2a590a0a0120d2\n jonatack:\n ACK 95897ff181c0757e445f0e066a2a590a0a0120d2\n kristapsk:\n ACK 95897ff181c0757e445f0e066a2a590a0a0120d2. According to https://bitnodes.io/dashboard/#user-agents stats, most nodes on the network are v23+.\n\nTree-SHA512: 9e35194f8a1e06f1447450af2ea30cdc43722665c2d2e4b7aa9a52afac5c1e83fed744742c836743a555cc180c90f9eebdc6637eba6190010d693eef9c5834f7","shortMessageHtmlLink":"Merge #29994: doc: removed help text saying that peers may not connec…"}},{"before":"d82283950f5ff3b2116e705f931c6e89e5fdd0be","after":"c7885ecd778d7e42bc07a0ba73156525e86a8aae","ref":"refs/heads/27.x","pushedAt":"2024-05-13T03:53:34.000Z","pushType":"push","commitsCount":14,"pusher":{"login":"fanquake","name":"fanquake","path":"/fanquake","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/863730?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#29888: [27.x] Backports\n\nbd5860bc7a892c6bcffe313246dd6b81b973b9c6 [WIP] doc: release notes for 27.x (fanquake)\n475aac41fba0b55a487c7fe21a1f540d3f0bb7b6 doc: add LLVM instruction for macOS < 13 (Sjors Provoost)\na995902d604c701be4f46087057b907de9a0ecca depends: Fix build of Qt for 32-bit platforms (laanwj)\n0fcceefe22532dc6389a95d2e058599e9496003b Fix #29767, set m_synced = true after Commit() (nanlour)\nae9a2ed40a4f40bce822fb7cb47804c45e394e11 sign: don't assume we are parsing a sane Miniscript (Antoine Poinsot)\na6a59cfebc81d82fefb69c6592f4c75fcdde902f rpc: Reword SighashFromStr error message (MarcoFalke)\n364bf01ff254f9fa01e14f24002af682a51b4883 build: Fix false positive `CHECK_ATOMIC` test for clang-15 (Hennadii Stepanov)\n9277793b4ee70a6f0d471cf3ff3051f2eebdbb15 test: Fix failing univalue float test (MarcoFalke)\n5c097910e03229150ed9b5fdae65173cfbf66740 doc: archive 27.0 release notes (fanquake)\n897e5af58a1a02e3b555c52eefb8f7cb61a7a91a [rpc, bugfix] Enforce maximum value for setmocktime (dergoegge)\n602cfd580a8f44a8f49b59b2a6660c54f6aec1ca ci: Bump s390x to ubuntu:24.04 (MarcoFalke)\n20e6e8dc805036730672b64b768ea771a1000fd8 Change Luke Dashjr seed to dashjr-list-of-p2p-nodes.us (Luke Dashjr)\na6862c50c52f1606f8ad143da8d8f3c7e8f3f5c3 depends: fix mingw-w64 Qt DEBUG=1 build (fanquake)\n\nPull request description:\n\n Backports:\n * https://github.com/bitcoin/bitcoin/pull/29691\n * https://github.com/bitcoin/bitcoin/pull/29747\n * https://github.com/bitcoin/bitcoin/pull/29776\n * https://github.com/bitcoin/bitcoin/pull/29853\n * https://github.com/bitcoin/bitcoin/pull/29856\n * https://github.com/bitcoin/bitcoin/pull/29859\n * https://github.com/bitcoin/bitcoin/pull/29869\n * https://github.com/bitcoin/bitcoin/pull/29870\n * https://github.com/bitcoin/bitcoin/pull/29886\n * https://github.com/bitcoin/bitcoin/pull/29892\n * https://github.com/bitcoin/bitcoin/pull/29934\n * https://github.com/bitcoin/bitcoin/pull/29985\n\nACKs for top commit:\n willcl-ark:\n reACK bd5860bc7a892c6bcffe313246dd6b81b973b9c6\n stickies-v:\n re-ACK bd5860bc7a892c6bcffe313246dd6b81b973b9c6\n TheCharlatan:\n ACK bd5860bc7a892c6bcffe313246dd6b81b973b9c6\n\nTree-SHA512: a1a40de70cf52b5fc01d9dcc772421751a18c6a48a726c4c05c0371c585a53a27902e17daed9e0d721ab7763c94bb32de05c146bd6bc73fd558edd08b31e8547","shortMessageHtmlLink":"Merge #29888: [27.x] Backports"}},{"before":"ee9491369faaa755ae1d248b8f32456fd656a5f4","after":"b94061902e52132489fe296c12396798700f1f35","ref":"refs/heads/master","pushedAt":"2024-05-12T14:30:57.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#812: Fix create unsigned transaction fee bump\n\n671b7a32516d62e1e79393ded4b45910bd08010a gui: fix create unsigned transaction fee bump (furszy)\n\nPull request description:\n\n Fixes #810.\n\n Not much to explain; we were requiring the wallet to be unlocked for the unsigned transaction creation process.\n Fix this by moving the unlock wallet request to the signed transaction creation process.\n\nACKs for top commit:\n pablomartin4btc:\n tACK 671b7a32516d62e1e79393ded4b45910bd08010a\n hebasto:\n ACK 671b7a32516d62e1e79393ded4b45910bd08010a, tested on Ubuntu 24.04.\n\nTree-SHA512: 5b9ec5a1b91c014c05c83c63daaa8ba33f9dc1bfa930442315a0913db710df17a1b6bb4ad39f1419a7054f37ebedb7ad52e1c5d3d2fb444b1676162e89a4efd2","shortMessageHtmlLink":"Merge bitcoin-core/gui#812: Fix create unsigned transaction fee bump"}},{"before":"32072866809ade129a3219105f0851606dc9fd38","after":"ee9491369faaa755ae1d248b8f32456fd656a5f4","ref":"refs/heads/master","pushedAt":"2024-05-12T13:22:02.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/bitcoin#29658: Bugfix: GUI: Help messages already have a trailing newline, so don't add an extra one\n\nd1ed09a7643b567e021b2ecb756bc925c48fc708 Bugfix: GUI: Help messages already have a trailing newline, so don't add an extra one (Luke Dashjr)\n\nPull request description:\n\n Reviewing #29585, I noticed that `bitcoin-qt` adds an extra newline for `-help` and `-version` beyond the other binaries'.\n\nACKs for top commit:\n hebasto:\n ACK d1ed09a7643b567e021b2ecb756bc925c48fc708, tested on Ubuntu 24.04.\n\nTree-SHA512: 15ee9d1060c2492bb3b04a0ac4cb53f7b959bbe32bce415793da0c221f1c963c8f2bb3996ea07d1a7c192bfc2e23be2cd7d4e5649c592eb3fc03906c2763f1aa","shortMessageHtmlLink":"Merge #29658: Bugfix: GUI: Help messages already have a trailing newl…"}},{"before":"182983c6ab2e037d65303fa13148f39236f2734a","after":"32072866809ade129a3219105f0851606dc9fd38","ref":"refs/heads/master","pushedAt":"2024-05-11T18:34:29.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#813: Don't permit port in proxy IP option\n\n10c5275ba4532fb1bf54057d2f61fc35b51f1e85 gui: don't permit port in proxy IP option (willcl-ark)\n\nPull request description:\n\n Fixes: https://github.com/bitcoin-core/gui/issues/809\n\n Previously it was possible through the GUI to enter an IP address:port into the \"Proxy IP\" configuration box. After the node was restarted the errant setting would prevent the node starting back up until manually removed from settings.json.\n\n Prevent this with a simple check for \":\" in the string. This is acceptable here in the GUI setting because we already fail on a hostname such as \"http://x.x.x.x\", so it won't cause false positives.\n\nACKs for top commit:\n furszy:\n utACK 10c5275ba45\n hebasto:\n ACK 10c5275ba4532fb1bf54057d2f61fc35b51f1e85, tested on Ubuntu 24.04.\n\nTree-SHA512: ed83590630cf693680a3221f701ecd18dd08710a17b726dc4978a3a6e330a34fb77d73a4f710c01bcb3faf88b6604ff37bcdbb191ce1623348ca5b92fd6fe9a7","shortMessageHtmlLink":"Merge bitcoin-core/gui#813: Don't permit port in proxy IP option"}},{"before":"b47c393d8a39b48a8f17f2d8abae9ba2f2bf5a61","after":"182983c6ab2e037d65303fa13148f39236f2734a","ref":"refs/heads/master","pushedAt":"2024-05-11T18:13:56.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#788: debugwindow: update session ID tooltip\n\n3bf00e13609eefa6ddb11353519bb1aec2342513 gui: debugwindow: update session ID tooltip (Marnix)\n\nPull request description:\n\n When you have a v2 connection, there is always a session ID.\n\n the _if any_ is a leftover from https://github.com/bitcoin-core/gui/pull/754, where the session ID property initially would always be displayed (transport v1 and v2).\n So the session ID could be empty when you have a v1 connection.\n\n As now the _Session ID_ property only is displayed for v2 connection, there will always be a session ID.\n\n master\n\n ![sessionIDifany](https://github.com/bitcoin-core/gui/assets/93143998/d4d7df43-8281-4b1e-83fc-5a3788d7724e)\n\n PR\n\n ![sessionID](https://github.com/bitcoin-core/gui/assets/93143998/221f6831-7d12-4913-be76-325a87baad2e)\n\n Session ID not shown when transport v1\n\n ![transportv1](https://github.com/bitcoin-core/gui/assets/93143998/6c067a08-4be4-4ce1-b514-80654ca5cd43)\n\n \n\n \n\n \n\nACKs for top commit:\n vostrnad:\n ACK 3bf00e13609eefa6ddb11353519bb1aec2342513\n kristapsk:\n ACK 3bf00e13609eefa6ddb11353519bb1aec2342513\n jarolrod:\n ACK 3bf00e13609eefa6ddb11353519bb1aec2342513\n pablomartin4btc:\n tACK 3bf00e13609eefa6ddb11353519bb1aec2342513\n hebasto:\n ACK 3bf00e13609eefa6ddb11353519bb1aec2342513.\n\nTree-SHA512: 4de0c56c070dc5d1cee73b629bdf3d1778c6d90d512337aa6cfd3eed4ce95cbcfbe5713e2942f6fc22907b2c4d9df7979ba8e9f91f7cc173b42699ea35113f96","shortMessageHtmlLink":"Merge bitcoin-core/gui#788: debugwindow: update session ID tooltip"}},{"before":"4d3f1d08db4198b13056c5bb44530dae9507dcf3","after":"b47c393d8a39b48a8f17f2d8abae9ba2f2bf5a61","ref":"refs/heads/master","pushedAt":"2024-05-11T10:37:56.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#30081: refactor: Remove unused code from `subprocess.h` header\n\n5a11d3023f7d0cde777f3496c0f3aa381823d749 refactor, subprocess: Remove unused stream API calls (Hennadii Stepanov)\n05b6f8793c6d5f17d1cb413e2884f1fb0f367ad8 refactor, subprocess: Remove unused `Popen::child_created_` data member (Hennadii Stepanov)\n9e1ccf55e178144804e30cfe94757b6da2a6ca28 refactor, subprocess: Remove unused `Popen::poll()` (Hennadii Stepanov)\n24b53fc84af301fff592e06723b980e29aa68289 refactor, subprocess: Remove `Popen::pid()` (Hennadii Stepanov)\n\nPull request description:\n\n This PR continues https://github.com/bitcoin/bitcoin/pull/29961.\n\n Please note that `Popen::poll()` is not required for https://github.com/bitcoin/bitcoin/pull/29868 anymore.\n\nACKs for top commit:\n theuni:\n Easy code review ACK 5a11d3023f7d0cde777f3496c0f3aa381823d749 since it's all removals :)\n theStack:\n Code-review ACK 5a11d3023f7d0cde777f3496c0f3aa381823d749\n\nTree-SHA512: 11f984f8384c337782d058afa80011e88087a1b5a3ed6e4678d492e6c232b706a26312463c5dd8c529aa477497c8afca9f54574e0e36e3edd5675bd5d8424bbb","shortMessageHtmlLink":"Merge #30081: refactor: Remove unused code from subprocess.h header"}},{"before":"2cedb42a928fbf3a1e0e8715e918497cbe64af0d","after":"4d3f1d08db4198b13056c5bb44530dae9507dcf3","ref":"refs/heads/master","pushedAt":"2024-05-11T10:34:49.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#29739: build: swap cctools otool for llvm-objdump\n\n7f5ac4520d1553170b1053a9ffcd58179386a6d2 build: swap otool for (llvm-)objdump (fanquake)\n\nPull request description:\n\n This tool is used in GUI packaging on macOS, and also somewhat of a blocker for #21778. The main issue is that some distros don't really ship this tool in a standard ways, i.e Ubuntu only ships `llvm-otool` with a version suffix, i.e `llvm-otool-17`, which makes it hard to find and use. Rather than trying to deal with that mess, switch to using the equivalent LLVM tool (objdump), which is a drop-in replacement.\n\nACKs for top commit:\n TheCharlatan:\n ACK 7f5ac4520d1553170b1053a9ffcd58179386a6d2\n theuni:\n ACK 7f5ac4520d1553170b1053a9ffcd58179386a6d2. Tested `make deploy` on native macOS. Looks good.\n hebasto:\n ACK 7f5ac4520d1553170b1053a9ffcd58179386a6d2.\n\nTree-SHA512: ac978043f14fb448010542a4a7ce8c6c74b4cbd90f83b4cb4d0bff55974010f10a70b5354f65b239a8bd961d7a3aca22ca165b42954ca87879b9e0524db5f879","shortMessageHtmlLink":"Merge #29739: build: swap cctools otool for llvm-objdump"}},{"before":"7066980273aa5f405ae34b71ead7f0bf0132e1b7","after":"2cedb42a928fbf3a1e0e8715e918497cbe64af0d","ref":"refs/heads/master","pushedAt":"2024-05-10T17:18:14.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"achow101","name":"Ava Chow","path":"/achow101","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3782274?s=80&v=4"},"commit":{"message":"Merge bitcoin/bitcoin#29252: kernel: Remove key module from kernel library\n\n96378fe734e5fb6167eb20036d7170572a647edb Refactor: Remove ECC_Start and ECC_Stop from key header (TheCharlatan)\n41eba5bd716bea47c8731d156d053afee92a7f12 kernel: Remove key module from kernel library (TheCharlatan)\na08d2b3cb971c68e9a50b991b2953fa4541cf48a tools: Use ECC_Context helper in bitcoin-tx and bitcoin-wallet tools (Ryan Ofsky)\n28905c1a64a87a56f16aea8a4d23dea7eec9ca59 test: Use ECC_Context helper in bench and fuzz tests (Ryan Ofsky)\n538fedde1d9c96a2bbe06cacc0cd6903135fbc83 common: Add ECC_Context RAII wrapper for ECC_Start/ECC_Stop (Ryan Ofsky)\n\nPull request description:\n\n The key module's functionality is not used by the kernel library, but currently kernel users are still required to initialize the key module's `secp256k1_context_sign` global as part of the `kernel::Context` through `ECC_Start`. So move the `ECC_Start` call to the `NodeContext` ctor instead to completely remove the key module from the kernel library.\n\n The gui tests currently keep multiple `NodeContext` objects in memory, so call `ECC_Stop` manually to avoid triggering an assertion on `ECC_Start`.\n\n ---\n\n This PR is part of the [libbitcoinkernel project](https://github.com/bitcoin/bitcoin/issues/27587). It removes a module from the kernel library.\n\nACKs for top commit:\n achow101:\n ACK 96378fe734e5fb6167eb20036d7170572a647edb\n ryanofsky:\n Code review ACK 96378fe734e5fb6167eb20036d7170572a647edb. Just suggested comment changes since last review.\n theuni:\n utACK 96378fe734e5fb6167eb20036d7170572a647edb\n\nTree-SHA512: 40be427e8e2c920c0e3ce64a9bdd90551be27a89af11440bfb6ab0dd3a1d1ccb7cf1f82383cd782818cd1bb44d5ae5d2161cf4d78d3127ce4987342007090bab","shortMessageHtmlLink":"Merge #29252: kernel: Remove key module from kernel library"}},{"before":"98dd4e712efaa2b77cb168426756879c6405c3f4","after":"7066980273aa5f405ae34b71ead7f0bf0132e1b7","ref":"refs/heads/master","pushedAt":"2024-05-10T16:45:06.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#29948: test: add missing comparison of node1's mempool in MempoolPackagesTest\n\ne912717ff63f111d8f1cd7ed1fcf054e28f36409 test: add missing comparison of node1's mempool in MempoolPackagesTest (umiumi)\n\nPull request description:\n\n #29941 Recreated a pull request because there was a conflict. Trying to resolve the conflict but the old one automatically closed.\n\n Add missing comparison for TODO comments in `mempool_packages.py`\n\n Also, notice that the ancestor size limits and descendant size limits actually implemented in #21800 , so I removed the todo for those two size limits.\n\nACKs for top commit:\n kevkevinpal:\n ACK [e912717](https://github.com/bitcoin/bitcoin/pull/29948/commits/e912717ff63f111d8f1cd7ed1fcf054e28f36409)\n achow101:\n ACK e912717ff63f111d8f1cd7ed1fcf054e28f36409\n alfonsoromanz:\n Tested ACK e912717ff63f111d8f1cd7ed1fcf054e28f36409. The code looks good to me and the test execution is successful.\n rkrux:\n tACK [e912717](https://github.com/bitcoin/bitcoin/pull/29948/commits/e912717ff63f111d8f1cd7ed1fcf054e28f36409)\n\nTree-SHA512: 8cb51746b0547369344c9ceef59599bfe9c91d424687af5e24dc6641f9e99fb433515d79c724e71fd3d5e02994f0cef623d3674367b8296b05c3c6fcdde282ef","shortMessageHtmlLink":"Merge #29948: test: add missing comparison of node1's mempool in Memp…"}},{"before":"24572cf768167c0e82a688e7eaef865a5cbc4ffd","after":"98dd4e712efaa2b77cb168426756879c6405c3f4","ref":"refs/heads/master","pushedAt":"2024-05-09T22:31:21.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#30006: test: use sleepy wait-for-log in reindex readonly\n\nfd6a7d3a13d89d74e161095b0e9bd3570210a40c test: use sleepy wait-for-log in reindex readonly (Matthew Zipkin)\n\nPull request description:\n\n Also rename the busy wait-for-log method to prevent recurrence. See https://github.com/bitcoin/bitcoin/pull/27039#discussion_r1532578152\n\nACKs for top commit:\n maflcko:\n utACK fd6a7d3a13d89d74e161095b0e9bd3570210a40c\n achow101:\n ACK fd6a7d3a13d89d74e161095b0e9bd3570210a40c\n tdb3:\n ACK for fd6a7d3a13d89d74e161095b0e9bd3570210a40c\n rkrux:\n ACK [fd6a7d3](https://github.com/bitcoin/bitcoin/pull/30006/commits/fd6a7d3a13d89d74e161095b0e9bd3570210a40c)\n\nTree-SHA512: 7ff0574833df1ec843159b35ee88b8bb345a513ac13ed0b72abd1bf330c454a3f9df4d927871b9e3d37bfcc07542b06ef63acef8e822cd18499adae8cbb0cda8","shortMessageHtmlLink":"Merge #30006: test: use sleepy wait-for-log in reindex readonly"}},{"before":"012e540acee4c06dbade5451e76c606f987e5957","after":"24572cf768167c0e82a688e7eaef865a5cbc4ffd","ref":"refs/heads/master","pushedAt":"2024-05-09T20:54:28.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#29939: test: add MiniWallet tagging support to avoid UTXO mixing, use in `fill_mempool`\n\ndd8fa861939d5b8bdd844ad7cab015d08533a91a test: use tagged ephemeral MiniWallet instance in fill_mempool (Sebastian Falbesoner)\nb2037ad4aeb4e16c7eb1e5756d0d1ee20172344b test: add MiniWallet tagging support to avoid UTXO mixing (Sebastian Falbesoner)\nc8e6d08236ff225db445009bf513d6d25def8eb2 test: refactor: eliminate COINBASE_MATURITY magic number in fill_mempool (Sebastian Falbesoner)\n4f347140b1a31237597dd1821adcde8bd5761edc test: refactor: move fill_mempool to new module mempool_util (Sebastian Falbesoner)\n\nPull request description:\n\n Different MiniWallet instances using the same mode (either ADDRESS_OP_TRUE, RAW_OP_TRUE or RAW_P2PK) currently always create and spend UTXOs with identical output scripts, which can cause unintentional tx dependencies (see e.g. the discussion in https://github.com/bitcoin/bitcoin/pull/29827#discussion_r1565443465). In order to avoid mixing of UTXOs between instances, this PR introduces the possibility to provide a MiniWallet tag name, that is used to derive a different internal key for the taproot construction, leading to a different P2TR output script. Note that since we use script-path spending and only the key-path is changed here, no changes in the MiniWallet spending logic are needed.\n\n The new tagging option is then used in the `fill_mempool` helper to create an ephemeral wallet for the filling txs, as suggested in https://github.com/bitcoin/bitcoin/pull/29827#discussion_r1565964264. To avoid circular dependencies, `fill_mempool` is moved to a new module `mempool_util.py` first.\n\n I'm still not sure if a generic word like \"tag\" is the right term for what this tries to achieve, happy to pick up better suggestions. Also, maybe passing a tag name is overkill and a boolean flag like \"random_output_script\" is sufficient?\n\nACKs for top commit:\n glozow:\n ACK dd8fa861939\n achow101:\n ACK dd8fa861939d5b8bdd844ad7cab015d08533a91a\n rkrux:\n tACK [dd8fa86](https://github.com/bitcoin/bitcoin/pull/29939/commits/dd8fa861939d5b8bdd844ad7cab015d08533a91a)\n brunoerg:\n utACK dd8fa861939d5b8bdd844ad7cab015d08533a91a\n\nTree-SHA512: 5ef3558c3ef5ac32cfa79c8f751972ca6bceaa332cd7daac7e93412a88e30dec472cb041c0845b04abf8a317036d31ebddfc3234e609ed442417894c2bdeeac9","shortMessageHtmlLink":"Merge #29939: test: add MiniWallet tagging support to avoid UTXO mixi…"}},{"before":"ceb1e078f8c0ae58ff72748b039184a205efe337","after":"012e540acee4c06dbade5451e76c606f987e5957","ref":"refs/heads/master","pushedAt":"2024-05-09T20:20:54.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#29122: test: adds outbound eviction functional tests, updates comment in ConsiderEviction\n\nd53d84834747c37f4060a9ef379e0a6b50155246 test: adds outbound eviction tests for non outbound-full-relay peers (Sergi Delgado Segura)\na8d9a0edc7cef2c31a557ef53eb45520976b0d65 test: adds outbound eviction functional tests, updates comment in ConsiderEviction (Sergi Delgado Segura)\n\nPull request description:\n\n ## Motivation\n\n While checking the outbound eviction code I realized a case was not considered within the comments, which in turn made me realize we had no functional tests for the outbound eviction case (when I went to check/add the test case).\n\n This PR updates the aforementioned comment and adds functional tests to cover the outbound eviction logic, in addition to the existing unit tests found at `src/test/denialofservice_tests.cpp`.\n\nACKs for top commit:\n davidgumberg:\n reACK https://github.com/bitcoin/bitcoin/commit/d53d84834747c37f4060a9ef379e0a6b50155246\n tdb3:\n Re ACK for d53d84834747c37f4060a9ef379e0a6b50155246\n achow101:\n ACK d53d84834747c37f4060a9ef379e0a6b50155246\n cbergqvist:\n ACK d53d84834747c37f4060a9ef379e0a6b50155246\n\nTree-SHA512: 633b84bb1229fe21e2f650c1beada33ca7f190b64eafd64df2266516d21175e5d652e019ff7114f00cb8bd19f5817dc19e65adf75767a88e24dc0842ce40c63e","shortMessageHtmlLink":"Merge #29122: test: adds outbound eviction functional tests, updates …"}},{"before":"921c61e9a5c8592cc9e07986612d3f4f31d663fc","after":"ceb1e078f8c0ae58ff72748b039184a205efe337","ref":"refs/heads/master","pushedAt":"2024-05-09T15:57:38.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#28793: contrib: Add asmap-tool\n\n6abe772a17e09fe96e68cd3311280d5a30f6378b contrib: Add asmap-tool (Fabian Jahr)\n\nPull request description:\n\n This adds `asmap.py` and `asmap-tool.py` from sipa's `nextgen` branch: https://github.com/sipa/asmap/tree/nextgen\n\n The motivation is that we should maintain the tooling for de- and encoding asmap files within the bitcoin core repository because it is not possible to use an asmap file that is not encoded.\n\n We already had an earlier version of `asmap.py` within the seeds contrib tools. The newer version only had a small amount of changes and is still compatible, so the old version is removed from contrib/seeds and the new version is made available to `makeseeds.py`.\n\nACKs for top commit:\n virtu:\n ACK [6abe772](https://github.com/bitcoin/bitcoin/commit/6abe772a17e09fe96e68cd3311280d5a30f6378b)\n 0xB10C:\n ACK 6abe772a17e09fe96e68cd3311280d5a30f6378b\n achow101:\n ACK 6abe772a17e09fe96e68cd3311280d5a30f6378b\n brunoerg:\n ACK 6abe772a17e09fe96e68cd3311280d5a30f6378b\n\nTree-SHA512: cc2a82ffa4eb46fa0ce4ca769dd82f8d0d2f37fc3652aa748eeb060e1142f9da4035008fe89433e2fd524a4dc153b7b9c085748944b49137b37009b0c0be8afb","shortMessageHtmlLink":"Merge #28793: contrib: Add asmap-tool"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAES8iU9QA","startCursor":null,"endCursor":null}},"title":"Activity · bitcoin/bitcoin"}