💬 ryanofsky commented on pull request "refactor: Remove pre-C++20 code, fs::path cleanup":
(https://github.com/bitcoin/bitcoin/pull/29040#discussion_r1426781557)
re: https://github.com/bitcoin/bitcoin/pull/29040#discussion_r1426458856
> > Maybe declaring the fs::path& path const, and writing to m_cached_blocks_path directly could make the warning go away?
>
> Would that be like tricking the compiler, going around the warning without actually removing the underlying potential problem?
I'm actually not sure the change I'm suggesting would be enough to silence the compiler warning, so it may be a moot point. But the compiler just has incomplete inf
...
(https://github.com/bitcoin/bitcoin/pull/29040#discussion_r1426781557)
re: https://github.com/bitcoin/bitcoin/pull/29040#discussion_r1426458856
> > Maybe declaring the fs::path& path const, and writing to m_cached_blocks_path directly could make the warning go away?
>
> Would that be like tricking the compiler, going around the warning without actually removing the underlying potential problem?
I'm actually not sure the change I'm suggesting would be enough to silence the compiler warning, so it may be a moot point. But the compiler just has incomplete inf
...
💬 ryanofsky commented on pull request "refactor: Remove pre-C++20 code, fs::path cleanup":
(https://github.com/bitcoin/bitcoin/pull/29040#discussion_r1426789849)
re: https://github.com/bitcoin/bitcoin/pull/29040#discussion_r1422242907
> Not sure if it makes sense to update the whole codebase from `std::string` to `std::u8string`, just so that UniValue can accept an `std::u8string`. I think it would be fine for UniValue to accept both string types, though, then one would have to be "converted"/copied to the other (I don't think reinterpret_cast+std::move is guaranteed to work from `char` strings to `char8_t` strings, is it?)
Yeah I don't think it ma
...
(https://github.com/bitcoin/bitcoin/pull/29040#discussion_r1426789849)
re: https://github.com/bitcoin/bitcoin/pull/29040#discussion_r1422242907
> Not sure if it makes sense to update the whole codebase from `std::string` to `std::u8string`, just so that UniValue can accept an `std::u8string`. I think it would be fine for UniValue to accept both string types, though, then one would have to be "converted"/copied to the other (I don't think reinterpret_cast+std::move is guaranteed to work from `char` strings to `char8_t` strings, is it?)
Yeah I don't think it ma
...
💬 sipa commented on pull request "fuzz: Improve fuzzing stability for minisketch harness":
(https://github.com/bitcoin/bitcoin/pull/29064#issuecomment-1856018932)
@dergoegge I believe that what's going on is that the new fuzz test invokes Merge on sketching with different implementation values. The library detects this and returns 0 from `minisketch_merge`, but the C++ wrapper `Minisketch::Merge` ignores the library result.
(https://github.com/bitcoin/bitcoin/pull/29064#issuecomment-1856018932)
@dergoegge I believe that what's going on is that the new fuzz test invokes Merge on sketching with different implementation values. The library detects this and returns 0 from `minisketch_merge`, but the C++ wrapper `Minisketch::Merge` ignores the library result.
💬 hebasto commented on pull request "ci: Set `HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK` to avoid unrelated failures":
(https://github.com/bitcoin/bitcoin/pull/29080#issuecomment-1856028951)
>... so I don't understand how anything could be using this image, or how it's causing failures.
This PR does nothing about new `20231204` release, because the failure was caused by the older `20231025` one.
I think that the GHA image release process issues are irrelevant to this PR change.
> I still don't really understand this fix, and assume it could lead to obscure breakage in the future, i.e a missing dep, or a dep trying to use an outdated sub dep. (it also just makes our CI furth
...
(https://github.com/bitcoin/bitcoin/pull/29080#issuecomment-1856028951)
>... so I don't understand how anything could be using this image, or how it's causing failures.
This PR does nothing about new `20231204` release, because the failure was caused by the older `20231025` one.
I think that the GHA image release process issues are irrelevant to this PR change.
> I still don't really understand this fix, and assume it could lead to obscure breakage in the future, i.e a missing dep, or a dep trying to use an outdated sub dep. (it also just makes our CI furth
...
👍 vasild approved a pull request: "refactor: Remove pre-C++20 code, fs::path cleanup"
(https://github.com/bitcoin/bitcoin/pull/29040#pullrequestreview-1782041414)
ACK facdafaea8cfc2a37e55173d0500794c80b28f7f
To verify that nothing has been forgotten in the last commit which renames `fs::path::u8string()` to `fs::path::utf8string()` I added `std::u8string u8string() const = delete;`. The only call to that function is in `BOOST_CHECK(fs::path(str8).u8string() == str8);` which I guess is intentional.
(https://github.com/bitcoin/bitcoin/pull/29040#pullrequestreview-1782041414)
ACK facdafaea8cfc2a37e55173d0500794c80b28f7f
To verify that nothing has been forgotten in the last commit which renames `fs::path::u8string()` to `fs::path::utf8string()` I added `std::u8string u8string() const = delete;`. The only call to that function is in `BOOST_CHECK(fs::path(str8).u8string() == str8);` which I guess is intentional.
👍 maflcko approved a pull request: "logging: Simplify API for level based logging"
(https://github.com/bitcoin/bitcoin/pull/28318#pullrequestreview-1781956013)
Feel free to ignore the nits.
very nice, ACK 757b4c7776f4d11b9860bc93c514d8fea5ef1db 🎺
<details><summary>Show signature</summary>
Signature:
```
untrusted comment: signature from minisign secret key on empty file; verify via: minisign -Vm "${path_to_any_empty_file}" -P RWTRmVTMeKV5noAMqVlsMugDDCyyTSbA3Re5AkUrhvLVln0tSaFWglOw -x "${path_to_this_whole_four_line_signature_blob}"
RUTRmVTMeKV5npGrKx1nqXCw5zeVHdtdYURB/KlyA/LMFgpNCs+SkW9a8N95d+U4AP1RJMi+krxU1A3Yux4bpwZNLvVBKy0wLgM=
trus
...
(https://github.com/bitcoin/bitcoin/pull/28318#pullrequestreview-1781956013)
Feel free to ignore the nits.
very nice, ACK 757b4c7776f4d11b9860bc93c514d8fea5ef1db 🎺
<details><summary>Show signature</summary>
Signature:
```
untrusted comment: signature from minisign secret key on empty file; verify via: minisign -Vm "${path_to_any_empty_file}" -P RWTRmVTMeKV5noAMqVlsMugDDCyyTSbA3Re5AkUrhvLVln0tSaFWglOw -x "${path_to_this_whole_four_line_signature_blob}"
RUTRmVTMeKV5npGrKx1nqXCw5zeVHdtdYURB/KlyA/LMFgpNCs+SkW9a8N95d+U4AP1RJMi+krxU1A3Yux4bpwZNLvVBKy0wLgM=
trus
...
💬 maflcko commented on pull request "logging: Simplify API for level based logging":
(https://github.com/bitcoin/bitcoin/pull/28318#discussion_r1426803120)
nit in 9f71029192282baa4f7be6b5124bb7bc2491ef84: Could mark commit as "refactor", if it is one?
(https://github.com/bitcoin/bitcoin/pull/28318#discussion_r1426803120)
nit in 9f71029192282baa4f7be6b5124bb7bc2491ef84: Could mark commit as "refactor", if it is one?
💬 maflcko commented on pull request "logging: Simplify API for level based logging":
(https://github.com/bitcoin/bitcoin/pull/28318#discussion_r1426843022)
nit in db5ed8682f99c64a97e598bda69147307b447820: comma before etc?
(https://github.com/bitcoin/bitcoin/pull/28318#discussion_r1426843022)
nit in db5ed8682f99c64a97e598bda69147307b447820: comma before etc?
💬 maflcko commented on pull request "logging: Simplify API for level based logging":
(https://github.com/bitcoin/bitcoin/pull/28318#discussion_r1426847187)
nit in https://github.com/bitcoin/bitcoin/commit/db5ed8682f99c64a97e598bda69147307b447820: Clarify "production system *with enough free storage space*". IIRC ~1TB per 100 connection-years? So if you have 100 connections and run for a year, 1TB of your storage will be eaten by transaction relay `net` debug messages, or so.
(https://github.com/bitcoin/bitcoin/pull/28318#discussion_r1426847187)
nit in https://github.com/bitcoin/bitcoin/commit/db5ed8682f99c64a97e598bda69147307b447820: Clarify "production system *with enough free storage space*". IIRC ~1TB per 100 connection-years? So if you have 100 connections and run for a year, 1TB of your storage will be eaten by transaction relay `net` debug messages, or so.
💬 maflcko commented on pull request "logging: Simplify API for level based logging":
(https://github.com/bitcoin/bitcoin/pull/28318#discussion_r1426850159)
same :)
(https://github.com/bitcoin/bitcoin/pull/28318#discussion_r1426850159)
same :)
💬 maflcko commented on pull request "logging: Simplify API for level based logging":
(https://github.com/bitcoin/bitcoin/pull/28318#discussion_r1426815783)
Also, could add a test in this commit about `[info]` that will change in the next commit?
(https://github.com/bitcoin/bitcoin/pull/28318#discussion_r1426815783)
Also, could add a test in this commit about `[info]` that will change in the next commit?
💬 maflcko commented on pull request "logging: Simplify API for level based logging":
(https://github.com/bitcoin/bitcoin/pull/28318#discussion_r1426849181)
nit in https://github.com/bitcoin/bitcoin/commit/db5ed8682f99c64a97e598bda69147307b447820: Replace "disk" with "storage" or "persistent storage", so that non-spinning storage doesn't feel excluded?
(https://github.com/bitcoin/bitcoin/pull/28318#discussion_r1426849181)
nit in https://github.com/bitcoin/bitcoin/commit/db5ed8682f99c64a97e598bda69147307b447820: Replace "disk" with "storage" or "persistent storage", so that non-spinning storage doesn't feel excluded?
💬 maflcko commented on pull request "logging: Simplify API for level based logging":
(https://github.com/bitcoin/bitcoin/pull/28318#discussion_r1426853766)
nit in https://github.com/bitcoin/bitcoin/commit/db5ed8682f99c64a97e598bda69147307b447820: Replace `bitcoind` with "the program" or "Bitcoin Core", so that `bitcoin-node` or `bitcoin-qt` do not feel excluded?
(https://github.com/bitcoin/bitcoin/pull/28318#discussion_r1426853766)
nit in https://github.com/bitcoin/bitcoin/commit/db5ed8682f99c64a97e598bda69147307b447820: Replace `bitcoind` with "the program" or "Bitcoin Core", so that `bitcoin-node` or `bitcoin-qt` do not feel excluded?
💬 vasild commented on pull request "refactor: Remove pre-C++20 code, fs::path cleanup":
(https://github.com/bitcoin/bitcoin/pull/29040#discussion_r1426859372)
Or replace `UniValue` with https://github.com/nlohmann/json
(https://github.com/bitcoin/bitcoin/pull/29040#discussion_r1426859372)
Or replace `UniValue` with https://github.com/nlohmann/json
💬 sipa commented on pull request "fuzz: Improve fuzzing stability for minisketch harness":
(https://github.com/bitcoin/bitcoin/pull/29064#issuecomment-1856042019)
This fixes it I think:
```diff
--- a/src/test/fuzz/minisketch.cpp
+++ b/src/test/fuzz/minisketch.cpp
@@ -65,7 +65,9 @@ FUZZ_TARGET(minisketch)
sketch_br.Deserialize(sketch_b.Serialize());
Minisketch sketch_diff{std::move(fuzzed_data_provider.ConsumeBool() ? sketch_a : sketch_ar)};
- sketch_diff.Merge(fuzzed_data_provider.ConsumeBool() ? sketch_b : sketch_br);
+ auto& sketch_merge = fuzzed_data_provider.ConsumeBool() ? sketch_b : sketch_br;
+ if (sketch_diff.GetIm
...
(https://github.com/bitcoin/bitcoin/pull/29064#issuecomment-1856042019)
This fixes it I think:
```diff
--- a/src/test/fuzz/minisketch.cpp
+++ b/src/test/fuzz/minisketch.cpp
@@ -65,7 +65,9 @@ FUZZ_TARGET(minisketch)
sketch_br.Deserialize(sketch_b.Serialize());
Minisketch sketch_diff{std::move(fuzzed_data_provider.ConsumeBool() ? sketch_a : sketch_ar)};
- sketch_diff.Merge(fuzzed_data_provider.ConsumeBool() ? sketch_b : sketch_br);
+ auto& sketch_merge = fuzzed_data_provider.ConsumeBool() ? sketch_b : sketch_br;
+ if (sketch_diff.GetIm
...
💬 Sjors commented on pull request "Stratum v2 Template Provider (take 2)":
(https://github.com/bitcoin/bitcoin/pull/28983#issuecomment-1856045015)
I renamed `-stratumv2` to `-sv2` and `stratumv2port` to `-sv2port`. Added `-sv2interval` (default 30 seconds) and `-sv2feedelta` (default 1000 sat) to control how often templates are updated.
(https://github.com/bitcoin/bitcoin/pull/28983#issuecomment-1856045015)
I renamed `-stratumv2` to `-sv2` and `stratumv2port` to `-sv2port`. Added `-sv2interval` (default 30 seconds) and `-sv2feedelta` (default 1000 sat) to control how often templates are updated.
💬 maflcko commented on pull request "refactor: Remove pre-C++20 code, fs::path cleanup":
(https://github.com/bitcoin/bitcoin/pull/29040#discussion_r1426869879)
> In commit "ArgsManager: return path by value from GetBlocksDirPath()" (https://github.com/bitcoin/bitcoin/commit/856c88776f8486446602476a1c9e133ac0cff510)
Wrong commit? :)
> documention
Thanks, copy-pasted this and removed my one-line comment.
(https://github.com/bitcoin/bitcoin/pull/29040#discussion_r1426869879)
> In commit "ArgsManager: return path by value from GetBlocksDirPath()" (https://github.com/bitcoin/bitcoin/commit/856c88776f8486446602476a1c9e133ac0cff510)
Wrong commit? :)
> documention
Thanks, copy-pasted this and removed my one-line comment.
💬 maflcko commented on pull request "refactor: Remove pre-C++20 code, fs::path cleanup":
(https://github.com/bitcoin/bitcoin/pull/29040#issuecomment-1856053272)
> To verify that nothing has been forgotten in the last commit which renames `fs::path::u8string()` to `fs::path::utf8string()` I added `std::u8string u8string() const = delete;`
This should not be needed, because the two functions return different and incompatible types, so any oversight should result in a compile failure as-is.
(https://github.com/bitcoin/bitcoin/pull/29040#issuecomment-1856053272)
> To verify that nothing has been forgotten in the last commit which renames `fs::path::u8string()` to `fs::path::utf8string()` I added `std::u8string u8string() const = delete;`
This should not be needed, because the two functions return different and incompatible types, so any oversight should result in a compile failure as-is.
💬 sipa commented on pull request "refactor: Remove pre-C++20 code, fs::path cleanup":
(https://github.com/bitcoin/bitcoin/pull/29040#issuecomment-1856056462)
@vasild FWIW, Bitcoin Core used to use json-spirit before the introduction of UniValue. The motivating argument was being able to access the string representation of numeric value (because when amounts are passed as JSON "numbers", we don't want to roundtrip through `double` before converting to `CAmount`).
(https://github.com/bitcoin/bitcoin/pull/29040#issuecomment-1856056462)
@vasild FWIW, Bitcoin Core used to use json-spirit before the introduction of UniValue. The motivating argument was being able to access the string representation of numeric value (because when amounts are passed as JSON "numbers", we don't want to roundtrip through `double` before converting to `CAmount`).
💬 hebasto commented on pull request "ci: Set `HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK` to avoid unrelated failures":
(https://github.com/bitcoin/bitcoin/pull/29080#issuecomment-1856059883)
> I still don't really understand this fix
This fix makes Homebrew skip upgrading the `aws-sam-cli` package that we do not use.
(https://github.com/bitcoin/bitcoin/pull/29080#issuecomment-1856059883)
> I still don't really understand this fix
This fix makes Homebrew skip upgrading the `aws-sam-cli` package that we do not use.