Bitcoin Core Github
44 subscribers
121K links
Download Telegram
💬 mzumsande commented on pull request "test: Don't enforce BIP94 on regtest unless specified by arg":
(https://github.com/bitcoin/bitcoin/pull/31156#discussion_r1820928668)
Just following the process described in https://github.com/bitcoin/bitcoin/blob/master/doc/developer-notes.md#release-notes - a change to that process should be discussed in a separate issue / PR - whatever works best for the maintainers I guess, personally I don't care at all.
💬 hebasto commented on pull request "refactor: Clean up messy strformat and bilingual_str usages":
(https://github.com/bitcoin/bitcoin/pull/31072#issuecomment-2444460496)
Concept ACK.
💬 l0rinc commented on pull request "tinyformat: Add compile-time checking for literal format strings":
(https://github.com/bitcoin/bitcoin/pull/31174#discussion_r1820938133)
we still have unbounded increment without checking the end (I though we've fixed this already, maybe it got stuck in the comments...)
💬 mzumsande commented on pull request "test: Don't enforce BIP94 on regtest unless specified by arg":
(https://github.com/bitcoin/bitcoin/pull/31156#discussion_r1820940387)
By the way, the reason I added a release note is that there also was one in the [28.0 release notes](https://bitcoincore.org/en/releases/28.0/) about introducing this.
💬 l0rinc commented on pull request "test: cover base32/base58/base64 with symmetric roundtrip fuzz (and padding) tests":
(https://github.com/bitcoin/bitcoin/pull/30746#discussion_r1820941193)
[Done](https://github.com/bitcoin/bitcoin/compare/5bc0a8daab37a826a59ed83eb59aef4081f1fe19..6fd185c035c1cc4dd961cf14a2087e97fb069440), thanks
💬 rkrux commented on pull request "test: Don't enforce BIP94 on regtest unless specified by arg":
(https://github.com/bitcoin/bitcoin/pull/31156#discussion_r1820949739)
> Just following the process described in https://github.com/bitcoin/bitcoin/blob/master/doc/developer-notes.md#release-notes - a change to that process should be discussed in a separate issue / PR - whatever works best for the maintainers I guess, personally I don't care at all.

Thanks for sharing, I didn't know there is a process already for this.
👍 laanwj approved a pull request: "key: clear out secret data in `DecodeExtKey`"
(https://github.com/bitcoin/bitcoin/pull/31166#pullrequestreview-2402172194)
Code review ACK 559a8dd9c0aafcecf00f9ccd9aabe5720bcebe8c
💬 hebasto commented on pull request "Improve parallel script validation error debug logging":
(https://github.com/bitcoin/bitcoin/pull/31112#issuecomment-2444512400)
Concept ACK.
💬 hebasto commented on pull request "Dialog for allowing the user to choose the change output when bumping a tx":
(https://github.com/bitcoin-core/gui/pull/700#issuecomment-2444551530)
`test_bitcoin-qt` fails in the CI: https://github.com/bitcoin-core/gui/actions/runs/11186485220.
💬 hodlinator commented on pull request "build: increase minimum supported Windows to 10.0":
(https://github.com/bitcoin/bitcoin/pull/31172#issuecomment-2444563081)
Using GUIX to produce binaries, I'm able to run the base commit of this PR (bitcoin-da10e0bab4a3-win64-setup-unsigned.exe), but unable to run the binaries installed from the current PR commit (bitcoin-7dd0ee89a092-win64-setup-unsigned.exe):
<img width="297" alt="Screenshot 2024-10-29 160928" src="https://github.com/user-attachments/assets/1d4d0731-898f-4925-8146-9030484b7245">

System:
Edition Windows 11 Home
Version 23H2
OS build 22631.4317
💬 l0rinc commented on pull request "refactor: prohibit direct flags access in CCoinsCacheEntry and remove invalid tests":
(https://github.com/bitcoin/bitcoin/pull/30906#discussion_r1821014127)
It seems this [was introduced in 2017](https://github.com/bitcoin/bitcoin/commit/50830796889ecaa458871f1db878c255dd2554cb#diff-f0ed73d62dae6ca28ebd3045e5fc0d5d02eaaacadb4c2a292985a3fbd7e1c77cR100), when the project was still on [C++11](https://github.com/bitcoin/bitcoin/blob/342b9bc3907edf8eae64440397a32833ed44fae4/configure.ac#L58), but `try_emplace` was only introduced in [C++17](https://en.cppreference.com/w/cpp/container/map/try_emplace).

When this was split out to [`EmplaceCoinInternalDA
...
stickies-v closed a pull request: "tinyformat: enforce compile-time checks for format string literals"
(https://github.com/bitcoin/bitcoin/pull/31149)
💬 stickies-v commented on pull request "tinyformat: enforce compile-time checks for format string literals":
(https://github.com/bitcoin/bitcoin/pull/31149#issuecomment-2444579999)
Closing this PR in favour of https://github.com/bitcoin/bitcoin/pull/31174, which I think achieves mostly the same goal but does so in a much more elegant way. Thanks for your review and suggestion @ryanofsky, and everyone else here for the persistent re-review as this work is evolving.

> and the other changes here are basically just a side-effect of the approach taken to implement it.

I think there is merit in making the less safe (i.e. `std::string` overload) less convenient to use so th
...
🤔 mzumsande reviewed a pull request: "rpc: Remove submitblock pre-checks"
(https://github.com/bitcoin/bitcoin/pull/31175#pullrequestreview-2402259498)
Haven't looked deeply yet, just wanted to mention #10146, which introduced the coinbase check and was even backported (see also #10190 for a regression test). Makes me wonder if there is more historical context to this.
💬 fanquake commented on pull request "cmake: Set top-level target output locations":
(https://github.com/bitcoin/bitcoin/pull/31161#issuecomment-2444644193)
This seems fine, but it'd be good to primarily list the benefits to our project, rather than justifying making changes based on if some other open source project happens to do it, as other projects may have different constraints, or various reasoning for making the same change. Also, in this PR you say `This approach is widely adopted by the large projects, such as LLVM`, but in the secp256k1 thread for the same change you said that our current behaviour is ["the default behaviour adopted by man
...
💬 hebasto commented on pull request "cmake: Set top-level target output locations":
(https://github.com/bitcoin/bitcoin/pull/31161#issuecomment-2444666677)
> My understanding is that this change is mostly a convenience change for native Windows developers, so that it becomes easier to run binaries after compilation (without installing?).

Correct.

> What I don't really understand is how every other project that uses CMake as we do now, has solved this issue, if they haven't made the same change as in this PR (or why this wouldn't be the default CMake behaviour, if it otherwise results in broken (native) Windows binaries).

There are alternat
...
💬 ryanofsky commented on pull request "tinyformat: Add compile-time checking for literal format strings":
(https://github.com/bitcoin/bitcoin/pull/31174#discussion_r1821063869)
re: https://github.com/bitcoin/bitcoin/pull/31174#discussion_r1820938133

> we still have unbounded increment without checking the end (I though we've fixed this already, maybe it got stuck in the comments...)

Thanks. I fixed this by just switching the string type to `const char*` instead of `string_view` since tinyformat already assumes the string is null terminated.

I think it would be possible to write a clean version of this code that used `string_view`, but it would have to be struc
...
💬 ryanofsky commented on pull request "tinyformat: Add compile-time checking for literal format strings":
(https://github.com/bitcoin/bitcoin/pull/31174#discussion_r1820947389)
re: https://github.com/bitcoin/bitcoin/pull/31174#discussion_r1820457426

Thanks, I added the suggested test cases. The suggested tests that "should fail" didn't actually fail with 97dd5fe5128592332c83998825bbeda063815120 because it accepted `\0` as a valid specifier character, so I added an extra check to prevent that. I also added extra code to consume digits after `.` otherwise format strings like `"%1.2"` would be accepted treating `2` as the specifier.
💬 ryanofsky commented on pull request "tinyformat: Add compile-time checking for literal format strings":
(https://github.com/bitcoin/bitcoin/pull/31174#discussion_r1820954447)
re: https://github.com/bitcoin/bitcoin/pull/31174#discussion_r1820543443

Thanks, applied patch. The reason for having a `FormatString` class was to provide a cleaner escape from compile-time checks `strprintf(FormatString{"%*s"}, width, str)` before the first commit was implemented. But it's no longer necessary after that commit.
🤔 ryanofsky reviewed a pull request: "tinyformat: Add compile-time checking for literal format strings"
(https://github.com/bitcoin/bitcoin/pull/31174#pullrequestreview-2402142576)
Updated 1d16d6e6bac994fed7c695f530b9984edcd290bd -> e6086e00e32e486aaeeeb346ccca1377bbf647b2 ([`pr/tcheck.1`](https://github.com/ryanofsky/bitcoin/commits/pr/tcheck.1) -> [`pr/tcheck.2`](https://github.com/ryanofsky/bitcoin/commits/pr/tcheck.2), [compare](https://github.com/ryanofsky/bitcoin/compare/pr/tcheck.1..pr/tcheck.2)) addressing comments and making `ConstEvalFormatString` parsing stricter to reject incomplete specifiers.