🤔 optout21 reviewed a pull request: "refactor: unify container presence checks"
(https://github.com/bitcoin/bitcoin/pull/33094#pullrequestreview-3093962887)
ACK 05153600af10c322e40d107b8cf0c8e69b8b0aeb
- The changes increase code readability, as 'contains' expresses the code logic / intent more specifically
- It also results in higher performance, due to potential early exit. The improvement is probably negligible though.
- Changes are localized (each to a single line), local impact only
(I've reviewed the proposed changed, but didn't look for other potential changes)
(https://github.com/bitcoin/bitcoin/pull/33094#pullrequestreview-3093962887)
ACK 05153600af10c322e40d107b8cf0c8e69b8b0aeb
- The changes increase code readability, as 'contains' expresses the code logic / intent more specifically
- It also results in higher performance, due to potential early exit. The improvement is probably negligible though.
- Changes are localized (each to a single line), local impact only
(I've reviewed the proposed changed, but didn't look for other potential changes)
🤔 glozow reviewed a pull request: "wallet, rpc: add v3 transaction creation and wallet support"
(https://github.com/bitcoin/bitcoin/pull/32896#pullrequestreview-3093839590)
ACK 43a479ca688, only minor nits
(https://github.com/bitcoin/bitcoin/pull/32896#pullrequestreview-3093839590)
ACK 43a479ca688, only minor nits
💬 glozow commented on pull request "wallet, rpc: add v3 transaction creation and wallet support":
(https://github.com/bitcoin/bitcoin/pull/32896#discussion_r2258108951)
Could make this version 2 to be explicit
Also, could make this more efficient by reusing the outputs vector
(https://github.com/bitcoin/bitcoin/pull/32896#discussion_r2258108951)
Could make this version 2 to be explicit
Also, could make this more efficient by reusing the outputs vector
💬 glozow commented on pull request "wallet, rpc: add v3 transaction creation and wallet support":
(https://github.com/bitcoin/bitcoin/pull/32896#discussion_r2258016408)
Is this supposed to say "we are spending an unconfirmed TRUC transaction" ? Also, can be one line?
(https://github.com/bitcoin/bitcoin/pull/32896#discussion_r2258016408)
Is this supposed to say "we are spending an unconfirmed TRUC transaction" ? Also, can be one line?
💬 glozow commented on pull request "wallet, rpc: add v3 transaction creation and wallet support":
(https://github.com/bitcoin/bitcoin/pull/32896#discussion_r2258128435)
nit: These last 2 subtests don't have a log associated with them
(https://github.com/bitcoin/bitcoin/pull/32896#discussion_r2258128435)
nit: These last 2 subtests don't have a log associated with them
💬 glozow commented on pull request "wallet, rpc: add v3 transaction creation and wallet support":
(https://github.com/bitcoin/bitcoin/pull/32896#discussion_r2258112001)
```suggestion
def va_tx_spends_confirmed_vb_tx(self, version_a, version_b):
```
(https://github.com/bitcoin/bitcoin/pull/32896#discussion_r2258112001)
```suggestion
def va_tx_spends_confirmed_vb_tx(self, version_a, version_b):
```
💬 glozow commented on pull request "wallet, rpc: add v3 transaction creation and wallet support":
(https://github.com/bitcoin/bitcoin/pull/32896#discussion_r2258125275)
nit: this format seems to be an outlier
```suggestion
self.log.info("Test setting version to 3 with send")
```
(https://github.com/bitcoin/bitcoin/pull/32896#discussion_r2258125275)
nit: this format seems to be an outlier
```suggestion
self.log.info("Test setting version to 3 with send")
```
💬 Sammie05 commented on pull request "CI: silent merge check":
(https://github.com/bitcoin/bitcoin/pull/33145#issuecomment-3161405159)
Nice work on this! The label-based trigger for PeriodicMergeCICheck is a clean approach.
One thought though since this is driven by label events, do we need to consider cases where multiple labels are applied at once? Would the condition still behave as expected?
Also agree with the suggestion from @maflcko having a vector of task names could as well improve flexibility
(https://github.com/bitcoin/bitcoin/pull/33145#issuecomment-3161405159)
Nice work on this! The label-based trigger for PeriodicMergeCICheck is a clean approach.
One thought though since this is driven by label events, do we need to consider cases where multiple labels are applied at once? Would the condition still behave as expected?
Also agree with the suggestion from @maflcko having a vector of task names could as well improve flexibility
👍 pinheadmz approved a pull request: "ipc: Handle unclean shutdowns better"
(https://github.com/bitcoin/bitcoin/pull/32345#pullrequestreview-3093848042)
ACK 0a9a194078
Built and tested on macos/arm64, reviewed each commit. Adds a unit test for node initialization, refactors IPC on some upstream changes in libmultiprocess, and ensures a clean shutdown when IPC clients are connected. I'm going to locally rebase https://github.com/bitcoin/bitcoin/pull/32297 on this and [try to break it](https://github.com/bitcoin/bitcoin/pull/32297#issuecomment-3074628613) again but I suspect it'll hold up a lot better.
(https://github.com/bitcoin/bitcoin/pull/32345#pullrequestreview-3093848042)
ACK 0a9a194078
Built and tested on macos/arm64, reviewed each commit. Adds a unit test for node initialization, refactors IPC on some upstream changes in libmultiprocess, and ensures a clean shutdown when IPC clients are connected. I'm going to locally rebase https://github.com/bitcoin/bitcoin/pull/32297 on this and [try to break it](https://github.com/bitcoin/bitcoin/pull/32297#issuecomment-3074628613) again but I suspect it'll hold up a lot better.
💬 pinheadmz commented on pull request "ipc: Handle unclean shutdowns better":
(https://github.com/bitcoin/bitcoin/pull/32345#discussion_r2258021983)
637502894db32a1d532601ecc70d18f9b8a35f19
nit: comment above should stay attached to line below
(https://github.com/bitcoin/bitcoin/pull/32345#discussion_r2258021983)
637502894db32a1d532601ecc70d18f9b8a35f19
nit: comment above should stay attached to line below
💬 pinheadmz commented on pull request "ipc: Handle unclean shutdowns better":
(https://github.com/bitcoin/bitcoin/pull/32345#discussion_r2258088297)
637502894db32a1d532601ecc70d18f9b8a35f19
Confirmed the test failure by removing these two lines, but that kinda surprised me because I assumed the test environment gets reset between modules anyway...?
```
Assertion failed: (m_buffering), function StartLogging, file logging.cpp, line 56.
```
(https://github.com/bitcoin/bitcoin/pull/32345#discussion_r2258088297)
637502894db32a1d532601ecc70d18f9b8a35f19
Confirmed the test failure by removing these two lines, but that kinda surprised me because I assumed the test environment gets reset between modules anyway...?
```
Assertion failed: (m_buffering), function StartLogging, file logging.cpp, line 56.
```
💬 pinheadmz commented on pull request "ipc: Handle unclean shutdowns better":
(https://github.com/bitcoin/bitcoin/pull/32345#discussion_r2258111912)
ff1c9278e7aee8be094c63e90ca37b644f55cc7a
If there is no parent connection does that mean for sure there are no other incoming connections? The implication on line 68 is that the first incoming connection is always the parent process which skips its removal.
(https://github.com/bitcoin/bitcoin/pull/32345#discussion_r2258111912)
ff1c9278e7aee8be094c63e90ca37b644f55cc7a
If there is no parent connection does that mean for sure there are no other incoming connections? The implication on line 68 is that the first incoming connection is always the parent process which skips its removal.
🤔 furszy reviewed a pull request: "index: Deduplicate HashKey / HeightKey handling"
(https://github.com/bitcoin/bitcoin/pull/32997#pullrequestreview-3094087935)
As `DBHeightKey` and `DBHashKey` are pretty similar. What do you think about a generic template for both? https://github.com/furszy/bitcoin-core/commit/e5dd2b02f15f9f68fbe84cc30255573ad23dbf2c.
The only specialization I had to make was for the field serialization.
(https://github.com/bitcoin/bitcoin/pull/32997#pullrequestreview-3094087935)
As `DBHeightKey` and `DBHashKey` are pretty similar. What do you think about a generic template for both? https://github.com/furszy/bitcoin-core/commit/e5dd2b02f15f9f68fbe84cc30255573ad23dbf2c.
The only specialization I had to make was for the field serialization.
💬 murchandamus commented on issue "Slow unit tests delay functional tests and leave CPU unused":
(https://github.com/bitcoin/bitcoin/issues/32770#issuecomment-3161509474)
I started looking into that as it aligns well with one of my projects to migrate the `coinselector_tests` to an updated test suite `coinselection_tests`.
(https://github.com/bitcoin/bitcoin/issues/32770#issuecomment-3161509474)
I started looking into that as it aligns well with one of my projects to migrate the `coinselector_tests` to an updated test suite `coinselection_tests`.
💬 pinheadmz commented on pull request "Add Docker support with multi-arch build and user permissions handling":
(https://github.com/bitcoin/bitcoin/pull/33139#issuecomment-3161538060)
> With this commit, anyone can build and run their own image directly from source.
That's what the release binaries are for? The security is the same: verifying a signature from a trusted developer either on a guix build or a commit in this repository.
(https://github.com/bitcoin/bitcoin/pull/33139#issuecomment-3161538060)
> With this commit, anyone can build and run their own image directly from source.
That's what the release binaries are for? The security is the same: verifying a signature from a trusted developer either on a guix build or a commit in this repository.
💬 achow101 commented on pull request "cmake: Install internal binaries to <prefix>/libexec/":
(https://github.com/bitcoin/bitcoin/pull/31679#issuecomment-3161544820)
ACK f49840dd902cd9b14b6aadb431b16a4aeb719c3f
```
$ find guix-build-f49840dd902c/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum 01:40:49 PM
9080e91998fa6f384c00a2e3aab6316fdd2174a89a303b0a602880daf515defb guix-build-f49840dd902c/output/aarch64-linux-gnu/SHA256SUMS.part
c4061ae7a239ea148d2423f7414d9dd03cefbdfd25c2142476fc400b57ccfef8 guix-build-f49840dd902c/output/aarch64-linux-gnu/bitcoin-f49840dd902c-aarch64-linux-gnu-debu
...
(https://github.com/bitcoin/bitcoin/pull/31679#issuecomment-3161544820)
ACK f49840dd902cd9b14b6aadb431b16a4aeb719c3f
```
$ find guix-build-f49840dd902c/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum 01:40:49 PM
9080e91998fa6f384c00a2e3aab6316fdd2174a89a303b0a602880daf515defb guix-build-f49840dd902c/output/aarch64-linux-gnu/SHA256SUMS.part
c4061ae7a239ea148d2423f7414d9dd03cefbdfd25c2142476fc400b57ccfef8 guix-build-f49840dd902c/output/aarch64-linux-gnu/bitcoin-f49840dd902c-aarch64-linux-gnu-debu
...
💬 stickies-v commented on pull request "log: rate limiting followups":
(https://github.com/bitcoin/bitcoin/pull/33011#issuecomment-3161571573)
re-ACK 8dd5c0a0447bbb6fe597aabfa725b397276da166
Thanks for addressing all comments and keeping everything super organized all the time. A pleasure to review your PR, again.
(https://github.com/bitcoin/bitcoin/pull/33011#issuecomment-3161571573)
re-ACK 8dd5c0a0447bbb6fe597aabfa725b397276da166
Thanks for addressing all comments and keeping everything super organized all the time. A pleasure to review your PR, again.
💬 Sammie05 commented on pull request "build: Set AUTHOR_WARNING on warnings":
(https://github.com/bitcoin/bitcoin/pull/33144#issuecomment-3161583815)
<pre> ```diff diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -186,6 +186,7 @@ string(APPEND CMAKE_CXX_LINK_EXECUTABLE " ${APPEND_LDFLAGS}") set(configure_warnings) +list(APPEND
configure_warnings "Testing https://github.com/bitcoin/bitcoin/pull/33144") include(CheckLinkerSupportsPIE) check_linker_supports_pie(configure_warnings) ``` </pre>
Tested locally — ACK
(https://github.com/bitcoin/bitcoin/pull/33144#issuecomment-3161583815)
<pre> ```diff diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -186,6 +186,7 @@ string(APPEND CMAKE_CXX_LINK_EXECUTABLE " ${APPEND_LDFLAGS}") set(configure_warnings) +list(APPEND
configure_warnings "Testing https://github.com/bitcoin/bitcoin/pull/33144") include(CheckLinkerSupportsPIE) check_linker_supports_pie(configure_warnings) ``` </pre>
Tested locally — ACK
💬 darosior commented on pull request "validation: detect witness stripping without re-running Script checks":
(https://github.com/bitcoin/bitcoin/pull/33105#issuecomment-3161593678)
> maybe you're referring to not adding even more errors that can be converted into witness-stripped?
Yes this is what i meant. There are cases today where we would return WITNESS_STRIPPED for an otherwise invalid transaction (such as it could only be made valid by changing its txid, and we are missing the opportunity of adding its txid to the reject filter). This PR adds more such cases. This is minimized in the latest iteration (https://github.com/bitcoin/bitcoin/pull/33105#issuecomment-3156
...
(https://github.com/bitcoin/bitcoin/pull/33105#issuecomment-3161593678)
> maybe you're referring to not adding even more errors that can be converted into witness-stripped?
Yes this is what i meant. There are cases today where we would return WITNESS_STRIPPED for an otherwise invalid transaction (such as it could only be made valid by changing its txid, and we are missing the opportunity of adding its txid to the reject filter). This PR adds more such cases. This is minimized in the latest iteration (https://github.com/bitcoin/bitcoin/pull/33105#issuecomment-3156
...
💬 Sammie05 commented on pull request "build: Set AUTHOR_WARNING on warnings":
(https://github.com/bitcoin/bitcoin/pull/33144#issuecomment-3161615471)
diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -186,6 +186,7 @@
string(APPEND CMAKE_CXX_LINK_EXECUTABLE " ${APPEND_LDFLAGS}")
set(configure_warnings)
+list(APPEND configure_warnings "Verifying AUTHOR_WARNING behavior (#33144)")
include(CheckLinkerSupportsPIE)
check_linker_supports_pie(configure_warnings)
Tested locally ACK
(https://github.com/bitcoin/bitcoin/pull/33144#issuecomment-3161615471)
diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -186,6 +186,7 @@
string(APPEND CMAKE_CXX_LINK_EXECUTABLE " ${APPEND_LDFLAGS}")
set(configure_warnings)
+list(APPEND configure_warnings "Verifying AUTHOR_WARNING behavior (#33144)")
include(CheckLinkerSupportsPIE)
check_linker_supports_pie(configure_warnings)
Tested locally ACK