💬 tdb3 commented on pull request "rpc: add getdescriptoractivity":
(https://github.com/bitcoin/bitcoin/pull/30708#discussion_r1766056564)
If this gets touched again, could add asserts to check that the unconfirmed tx has blank blockhash and -1 height. Could be left for a follow-up PR.
(https://github.com/bitcoin/bitcoin/pull/30708#discussion_r1766056564)
If this gets touched again, could add asserts to check that the unconfirmed tx has blank blockhash and -1 height. Could be left for a follow-up PR.
💬 tdb3 commented on pull request "rpc: add getdescriptoractivity":
(https://github.com/bitcoin/bitcoin/pull/30708#discussion_r1766035266)
nit: if another update occurs, may want to use `STR_HEX` for `scriptpubkey_hex`
(https://github.com/bitcoin/bitcoin/pull/30708#discussion_r1766035266)
nit: if another update occurs, may want to use `STR_HEX` for `scriptpubkey_hex`
✅ LuizWT closed a pull request: "Optimize: convert trusted keys list to a set for better performance"
(https://github.com/bitcoin/bitcoin/pull/30925)
(https://github.com/bitcoin/bitcoin/pull/30925)
💬 LuizWT commented on pull request "Optimize: convert trusted keys list to a set for better performance":
(https://github.com/bitcoin/bitcoin/pull/30925#discussion_r1766112838)
> This is not even an equivalent expression. When you convert a list to a set, the order of the lines is lost. Therefore, accessing the first element with [0] could give you any of the lines randomly, not necessarily the first line from the original file. In this case you needed index 0 ( root ).
You're right. It makes no sense to use a set in this context. Thanks for pointing this out
(https://github.com/bitcoin/bitcoin/pull/30925#discussion_r1766112838)
> This is not even an equivalent expression. When you convert a list to a set, the order of the lines is lost. Therefore, accessing the first element with [0] could give you any of the lines randomly, not necessarily the first line from the original file. In this case you needed index 0 ( root ).
You're right. It makes no sense to use a set in this context. Thanks for pointing this out
💬 maflcko commented on pull request "test: generalize HasReason and use it in FailFmtWithError":
(https://github.com/bitcoin/bitcoin/pull/30921#issuecomment-2360050658)
> Is there a way to see complete force-push history?
GitHub sometimes(?) sends commit hashes by email, it was 8ffb79805d3589a86ca97e976b9d271cd8062ae8
(https://github.com/bitcoin/bitcoin/pull/30921#issuecomment-2360050658)
> Is there a way to see complete force-push history?
GitHub sometimes(?) sends commit hashes by email, it was 8ffb79805d3589a86ca97e976b9d271cd8062ae8
💬 maflcko commented on pull request "AssumeUTXO: Don't Assume m_chain_tx_count in GuessVerificationProgress":
(https://github.com/bitcoin/bitcoin/pull/30909#issuecomment-2360075066)
> Well, the approach seems to be similar with pruning:
Sure, if that is the case, the pull request description should mention it. Also, the error message could probably be updated, because it only mentions pruning, no AU. (Note to self: Reminds me of https://github.com/bitcoin/bitcoin/pull/26282)
(https://github.com/bitcoin/bitcoin/pull/30909#issuecomment-2360075066)
> Well, the approach seems to be similar with pruning:
Sure, if that is the case, the pull request description should mention it. Also, the error message could probably be updated, because it only mentions pruning, no AU. (Note to self: Reminds me of https://github.com/bitcoin/bitcoin/pull/26282)
💬 maflcko commented on issue "Race condition between ZMQ UpdateTip and getblocktemplate":
(https://github.com/bitcoin/bitcoin/issues/30862#issuecomment-2360121854)
> ### Expected behaviour
>
> `getblocktemplate` should return a result consistent with the information announced via ZMQ and correctly reflect the current chain tip.
So to clarify my previous reply. What you describe as "expected behavior" is impossible to achieve. A `C` message just contains the block hash of a previous `BlockConnected` event. While often this will be equal to the result of an RPC `getbestblockhash` or `getblocktemplate` done after receiving the `C` message, there isn't (
...
(https://github.com/bitcoin/bitcoin/issues/30862#issuecomment-2360121854)
> ### Expected behaviour
>
> `getblocktemplate` should return a result consistent with the information announced via ZMQ and correctly reflect the current chain tip.
So to clarify my previous reply. What you describe as "expected behavior" is impossible to achieve. A `C` message just contains the block hash of a previous `BlockConnected` event. While often this will be equal to the result of an RPC `getbestblockhash` or `getblocktemplate` done after receiving the `C` message, there isn't (
...
💬 l0rinc commented on pull request "refactor: prohibit direct flags access in CCoinsCacheEntry and remove invalid tests":
(https://github.com/bitcoin/bitcoin/pull/30906#discussion_r1766285389)
`FRESH` is definitely a [very confusing concept](https://github.com/bitcoin/bitcoin/blob/master/src/coins.h#L143-L151)
> the parent cache does not have this coin or that it is a spent coin in the parent cache
Maybe after https://github.com/bitcoin/bitcoin/pull/30673 we can find a better name (and description) for it
(https://github.com/bitcoin/bitcoin/pull/30906#discussion_r1766285389)
`FRESH` is definitely a [very confusing concept](https://github.com/bitcoin/bitcoin/blob/master/src/coins.h#L143-L151)
> the parent cache does not have this coin or that it is a spent coin in the parent cache
Maybe after https://github.com/bitcoin/bitcoin/pull/30673 we can find a better name (and description) for it
🤔 vasild reviewed a pull request: "Fix display issues for IPv6 proxy setup in Options Dialog (UI only, no functionality impact)"
(https://github.com/bitcoin-core/gui/pull/836#pullrequestreview-2314606389)
Approach ACK a7d8de94adc3e94ea33d698c307a87ab775c3d20
(https://github.com/bitcoin-core/gui/pull/836#pullrequestreview-2314606389)
Approach ACK a7d8de94adc3e94ea33d698c307a87ab775c3d20
💬 vasild commented on pull request "Fix display issues for IPv6 proxy setup in Options Dialog (UI only, no functionality impact)":
(https://github.com/bitcoin-core/gui/pull/836#discussion_r1766284649)
`SplitHostPort()` returns "true if port-portion is absent or within its allowed range". Here we want the port to be present and with its allowed range. So if we check that `SplitHostPort()` is true, that is not sufficient. For our usecase `SplitHostPort()` must be true and the port must be present. How to check whether the port is present? That would be `port != 0`. So that condition should be:
```suggestion
if (SplitHostPort(proxy.toStdString(), port, hostname) && port != 0) {
...
(https://github.com/bitcoin-core/gui/pull/836#discussion_r1766284649)
`SplitHostPort()` returns "true if port-portion is absent or within its allowed range". Here we want the port to be present and with its allowed range. So if we check that `SplitHostPort()` is true, that is not sufficient. For our usecase `SplitHostPort()` must be true and the port must be present. How to check whether the port is present? That would be `port != 0`. So that condition should be:
```suggestion
if (SplitHostPort(proxy.toStdString(), port, hostname) && port != 0) {
...
💬 Muskreeve commented on issue "Testnet4 consensus failure due to timewarp related "softfork"":
(https://github.com/bitcoin/bitcoin/issues/30786#issuecomment-2360191658)

(https://github.com/bitcoin/bitcoin/issues/30786#issuecomment-2360191658)

💬 l0rinc commented on pull request "refactor: prohibit direct flags access in CCoinsCacheEntry and remove invalid tests":
(https://github.com/bitcoin/bitcoin/pull/30906#discussion_r1766373294)
Had a few versions before, played around with it a bit more, thanks for the pointers, what do you think of the new structure and names.
(https://github.com/bitcoin/bitcoin/pull/30906#discussion_r1766373294)
Had a few versions before, played around with it a bit more, thanks for the pointers, what do you think of the new structure and names.
💬 ryanofsky commented on pull request "multiprocess: Add IPC wrapper for Mining interface":
(https://github.com/bitcoin/bitcoin/pull/30510#issuecomment-2360294161)
Rebased f9245e4bb880a6d76bbb994a6e1907c6f8c9f205 -> 54611e99f5009def3a4559874823ed7fd91c9252 ([`pr/mine-types.12`](https://github.com/ryanofsky/bitcoin/commits/pr/mine-types.12) -> [`pr/mine-types.13`](https://github.com/ryanofsky/bitcoin/commits/pr/mine-types.13), [compare](https://github.com/ryanofsky/bitcoin/compare/pr/mine-types.12-rebase..pr/mine-types.13)) due to conflict with #30875
(https://github.com/bitcoin/bitcoin/pull/30510#issuecomment-2360294161)
Rebased f9245e4bb880a6d76bbb994a6e1907c6f8c9f205 -> 54611e99f5009def3a4559874823ed7fd91c9252 ([`pr/mine-types.12`](https://github.com/ryanofsky/bitcoin/commits/pr/mine-types.12) -> [`pr/mine-types.13`](https://github.com/ryanofsky/bitcoin/commits/pr/mine-types.13), [compare](https://github.com/ryanofsky/bitcoin/compare/pr/mine-types.12-rebase..pr/mine-types.13)) due to conflict with #30875
💬 l0rinc commented on pull request "refactor: prohibit direct flags access in CCoinsCacheEntry and remove invalid tests":
(https://github.com/bitcoin/bitcoin/pull/30906#discussion_r1766374252)
Clever, thanks!
(https://github.com/bitcoin/bitcoin/pull/30906#discussion_r1766374252)
Clever, thanks!
💬 l0rinc commented on pull request "test: generalize HasReason and use it in FailFmtWithError":
(https://github.com/bitcoin/bitcoin/pull/30921#issuecomment-2360387991)
> changing HasReason::m_reason itself into a string_view as well(?), which I agree would increase the risk of dangling issues
While string literals have static storage duration, referencing them via `std::string_view` should be safe (i.e. for `HasReason` storage as `const std::string_view m_reason`).
But you're both right that lifetime management can be more complex than what we have in this test, so using an `std::string` copy avoids dangling references.
Thanks for the reviews, pushed.
(https://github.com/bitcoin/bitcoin/pull/30921#issuecomment-2360387991)
> changing HasReason::m_reason itself into a string_view as well(?), which I agree would increase the risk of dangling issues
While string literals have static storage duration, referencing them via `std::string_view` should be safe (i.e. for `HasReason` storage as `const std::string_view m_reason`).
But you're both right that lifetime management can be more complex than what we have in this test, so using an `std::string` copy avoids dangling references.
Thanks for the reviews, pushed.
🤔 ryanofsky reviewed a pull request: "multiprocess: Add IPC wrapper for Mining interface"
(https://github.com/bitcoin/bitcoin/pull/30510#pullrequestreview-2314893465)
Updated 54611e99f5009def3a4559874823ed7fd91c9252 -> d59f5a31a1b888051eb47e2f8a5fb8d901de1d10 ([`pr/mine-types.13`](https://github.com/ryanofsky/bitcoin/commits/pr/mine-types.13) -> [`pr/mine-types.14`](https://github.com/ryanofsky/bitcoin/commits/pr/mine-types.14), [compare](https://github.com/ryanofsky/bitcoin/compare/pr/mine-types.13..pr/mine-types.14)) addressing review comments to clarify code
(https://github.com/bitcoin/bitcoin/pull/30510#pullrequestreview-2314893465)
Updated 54611e99f5009def3a4559874823ed7fd91c9252 -> d59f5a31a1b888051eb47e2f8a5fb8d901de1d10 ([`pr/mine-types.13`](https://github.com/ryanofsky/bitcoin/commits/pr/mine-types.13) -> [`pr/mine-types.14`](https://github.com/ryanofsky/bitcoin/commits/pr/mine-types.14), [compare](https://github.com/ryanofsky/bitcoin/compare/pr/mine-types.13..pr/mine-types.14)) addressing review comments to clarify code
💬 ryanofsky commented on pull request "multiprocess: Add IPC wrapper for Mining interface":
(https://github.com/bitcoin/bitcoin/pull/30510#discussion_r1766453086)
re: [#30510 (comment)](https://github.com/bitcoin/bitcoin/pull/30510#discussion_r1708942643)
> Nit: it would be nice to give this the global `g_` prefix (though it is not introduced in this PR).
Added :: prefix to clarify it is a global
(https://github.com/bitcoin/bitcoin/pull/30510#discussion_r1766453086)
re: [#30510 (comment)](https://github.com/bitcoin/bitcoin/pull/30510#discussion_r1708942643)
> Nit: it would be nice to give this the global `g_` prefix (though it is not introduced in this PR).
Added :: prefix to clarify it is a global
💬 ryanofsky commented on pull request "multiprocess: Add IPC wrapper for Mining interface":
(https://github.com/bitcoin/bitcoin/pull/30510#discussion_r1766451969)
re: [#30510 (comment)](https://github.com/bitcoin/bitcoin/pull/30510#discussion_r1715214130)
> I should add a comment explaining this better
Improved comment now
(https://github.com/bitcoin/bitcoin/pull/30510#discussion_r1766451969)
re: [#30510 (comment)](https://github.com/bitcoin/bitcoin/pull/30510#discussion_r1715214130)
> I should add a comment explaining this better
Improved comment now
💬 pablomartin4btc commented on pull request "Fix display issues for IPv6 proxy setup in Options Dialog (UI only, no functionality impact)":
(https://github.com/bitcoin-core/gui/pull/836#discussion_r1766515133)
After playing with the function and the tests (`netbase_tests` - `TestSplitHost` - & `net_tests` - `addr.IsValid()`), what you propose looks more correct/ understandable to me as the use cases we were looking at were "::1:1080" (which passed to `SplitHostPort()` returns valid/ true and port 0) vs "[::1]:1080" (returning true and port 1080).
> If there is a bug in SplitHostPort() that should be fixed separately.
I think it's clear to me now that if you have multiple ":" it's because it's an
...
(https://github.com/bitcoin-core/gui/pull/836#discussion_r1766515133)
After playing with the function and the tests (`netbase_tests` - `TestSplitHost` - & `net_tests` - `addr.IsValid()`), what you propose looks more correct/ understandable to me as the use cases we were looking at were "::1:1080" (which passed to `SplitHostPort()` returns valid/ true and port 0) vs "[::1]:1080" (returning true and port 1080).
> If there is a bug in SplitHostPort() that should be fixed separately.
I think it's clear to me now that if you have multiple ":" it's because it's an
...
🚀 fanquake merged a pull request: "ci: Print inner env, Make ccache config more flexible"
(https://github.com/bitcoin/bitcoin/pull/30869)
(https://github.com/bitcoin/bitcoin/pull/30869)