🚀 fanquake merged a pull request: "util: Show descriptive error messages when FileCommit fails"
(https://github.com/bitcoin/bitcoin/pull/26654)
(https://github.com/bitcoin/bitcoin/pull/26654)
💬 MarcoFalke commented on pull request "test: Ignore UTF-8 errors in assert_debug_log":
(https://github.com/bitcoin/bitcoin/pull/28035#issuecomment-1643863154)
Split into more commits
(https://github.com/bitcoin/bitcoin/pull/28035#issuecomment-1643863154)
Split into more commits
💬 glozow commented on pull request "Use `int32_t` type for most transaction size/weight values":
(https://github.com/bitcoin/bitcoin/pull/23962#issuecomment-1643870289)
> This causes warnings when compiling for 32 bit?
@hebasto did you end up looking into this?
(https://github.com/bitcoin/bitcoin/pull/23962#issuecomment-1643870289)
> This causes warnings when compiling for 32 bit?
@hebasto did you end up looking into this?
💬 darosior commented on pull request "Descriptors: rule out unspendable miniscript descriptors":
(https://github.com/bitcoin/bitcoin/pull/27997#issuecomment-1643890926)
I forgot also checking this when parsing from Script..
(https://github.com/bitcoin/bitcoin/pull/27997#issuecomment-1643890926)
I forgot also checking this when parsing from Script..
🤔 darosior requested changes to a pull request: "descriptors: do not return top-level only funcs as sub descriptors"
(https://github.com/bitcoin/bitcoin/pull/28067#pullrequestreview-1539198512)
Concept ACK. Good catch. However i think you reintroduce the same bug in the second commit by returning early as `raw()` when in the first case it should be an address descriptor and the second it should fail if not at top-level.
<details>
<summary> This diff fixes it: </summary>
```diff
diff --git a/src/script/descriptor.cpp b/src/script/descriptor.cpp
index 9e4f775f41..09ded5fc61 100644
--- a/src/script/descriptor.cpp
+++ b/src/script/descriptor.cpp
@@ -1662,12 +1662,7 @@ std::un
...
(https://github.com/bitcoin/bitcoin/pull/28067#pullrequestreview-1539198512)
Concept ACK. Good catch. However i think you reintroduce the same bug in the second commit by returning early as `raw()` when in the first case it should be an address descriptor and the second it should fail if not at top-level.
<details>
<summary> This diff fixes it: </summary>
```diff
diff --git a/src/script/descriptor.cpp b/src/script/descriptor.cpp
index 9e4f775f41..09ded5fc61 100644
--- a/src/script/descriptor.cpp
+++ b/src/script/descriptor.cpp
@@ -1662,12 +1662,7 @@ std::un
...
💬 darosior commented on pull request "descriptors: do not return top-level only funcs as sub descriptors":
(https://github.com/bitcoin/bitcoin/pull/28067#discussion_r1269419796)
Same here but it's also incorrect because we're not necessarily at top level in this branch. This could create a `sh(raw())` which would be invalid.
(https://github.com/bitcoin/bitcoin/pull/28067#discussion_r1269419796)
Same here but it's also incorrect because we're not necessarily at top level in this branch. This could create a `sh(raw())` which would be invalid.
💬 darosior commented on pull request "descriptors: do not return top-level only funcs as sub descriptors":
(https://github.com/bitcoin/bitcoin/pull/28067#discussion_r1269418215)
This is unnecessary? It would be returned as such at the end of the function. And not as `raw()` as in your test, but as an actual address.
(https://github.com/bitcoin/bitcoin/pull/28067#discussion_r1269418215)
This is unnecessary? It would be returned as such at the end of the function. And not as `raw()` as in your test, but as an actual address.
💬 vasild commented on pull request "test: add end-to-end tests for CConnman and PeerManager":
(https://github.com/bitcoin/bitcoin/pull/26812#issuecomment-1643919170)
`612ba17fca...55c84c2d3b`: rebase due to conflicts plus reduce the changes to `DebugLogHelper`: https://github.com/bitcoin/bitcoin/pull/26812#discussion_r1263332063.
(https://github.com/bitcoin/bitcoin/pull/26812#issuecomment-1643919170)
`612ba17fca...55c84c2d3b`: rebase due to conflicts plus reduce the changes to `DebugLogHelper`: https://github.com/bitcoin/bitcoin/pull/26812#discussion_r1263332063.
📝 darosior opened a pull request: "descriptor: do not parse from script unspendable Miniscript descriptors"
(https://github.com/bitcoin/bitcoin/pull/28112)
https://github.com/bitcoin/bitcoin/pull/27997 but for Script parsing.
I've added a test demonstrating the behaviour despite the descriptor parsing also currently being incorrect (`wsh(raw())`, see #28067). I guess whichever comes after the other between this PR and #28067 would be trivial to rebase on to fix it.
(https://github.com/bitcoin/bitcoin/pull/28112)
https://github.com/bitcoin/bitcoin/pull/27997 but for Script parsing.
I've added a test demonstrating the behaviour despite the descriptor parsing also currently being incorrect (`wsh(raw())`, see #28067). I guess whichever comes after the other between this PR and #28067 would be trivial to rebase on to fix it.
💬 darosior commented on pull request "descriptor: do not parse from script unspendable Miniscript descriptors":
(https://github.com/bitcoin/bitcoin/pull/28112#issuecomment-1643924292)
Actually i'm not even sure we'd like to do this, as i don't see how it could be a footgun for a user.
(https://github.com/bitcoin/bitcoin/pull/28112#issuecomment-1643924292)
Actually i'm not even sure we'd like to do this, as i don't see how it could be a footgun for a user.
💬 vasild commented on pull request "test: add end-to-end tests for CConnman and PeerManager":
(https://github.com/bitcoin/bitcoin/pull/26812#discussion_r1269461760)
Changed to use `std::abort()` in the destructor. Reverted to the original interface:
```cpp
{
ASSERT_DEBUG_LOG("expected message");
produce log messages;
}
```
The change was necessary in order to pass the timeout to the "final check or abort" function which was the destructor and there is no way to pass parameters to the destructor. Anyway, now I pass the timeout to the constructor, save it in a member variable and use it in the destructor. With the wait it is now:
```cpp
...
(https://github.com/bitcoin/bitcoin/pull/26812#discussion_r1269461760)
Changed to use `std::abort()` in the destructor. Reverted to the original interface:
```cpp
{
ASSERT_DEBUG_LOG("expected message");
produce log messages;
}
```
The change was necessary in order to pass the timeout to the "final check or abort" function which was the destructor and there is no way to pass parameters to the destructor. Anyway, now I pass the timeout to the constructor, save it in a member variable and use it in the destructor. With the wait it is now:
```cpp
...
💬 theuni commented on issue "build: Windows debug cross-build fails with `-O0`":
(https://github.com/bitcoin/bitcoin/issues/28109#issuecomment-1643929479)
Ping @achow101.
Being unable to build with `-O0` is not a big deal.
However, that means we're relying on compiler optimizations to reduce the code size first in order for tools to be able to process them with sane defaults. Breaking up `wallet.cpp` somewhat is prudent, imo.
(https://github.com/bitcoin/bitcoin/issues/28109#issuecomment-1643929479)
Ping @achow101.
Being unable to build with `-O0` is not a big deal.
However, that means we're relying on compiler optimizations to reduce the code size first in order for tools to be able to process them with sane defaults. Breaking up `wallet.cpp` somewhat is prudent, imo.
💬 hebasto commented on pull request "Use `int32_t` type for most transaction size/weight values":
(https://github.com/bitcoin/bitcoin/pull/23962#issuecomment-1643930500)
> This causes warnings when compiling for 32 bit?
> > This causes warnings when compiling for 32 bit?
>
> @hebasto did you end up looking into this?
I apologise for forgetting to mention that #28059 addresses that warnings.
(https://github.com/bitcoin/bitcoin/pull/23962#issuecomment-1643930500)
> This causes warnings when compiling for 32 bit?
> > This causes warnings when compiling for 32 bit?
>
> @hebasto did you end up looking into this?
I apologise for forgetting to mention that #28059 addresses that warnings.
💬 darosior commented on pull request "descriptor: do not parse from script unspendable Miniscript descriptors":
(https://github.com/bitcoin/bitcoin/pull/28112#issuecomment-1643932769)
Closing this, sorry for the noise. I don't think it is useful to forbid parsing a Miniscript descriptor from Script since it cannot be a footgun for end user and it's always better to parse a Miniscript, even though unspendable, than a raw Script to be displayed in some utilities (such as `decodescript` for instance).
(https://github.com/bitcoin/bitcoin/pull/28112#issuecomment-1643932769)
Closing this, sorry for the noise. I don't think it is useful to forbid parsing a Miniscript descriptor from Script since it cannot be a footgun for end user and it's always better to parse a Miniscript, even though unspendable, than a raw Script to be displayed in some utilities (such as `decodescript` for instance).
✅ darosior closed a pull request: "descriptor: do not parse from script unspendable Miniscript descriptors"
(https://github.com/bitcoin/bitcoin/pull/28112)
(https://github.com/bitcoin/bitcoin/pull/28112)
💬 hebasto commented on pull request "refactor: Make more transaction size variables `int32_t`":
(https://github.com/bitcoin/bitcoin/pull/28059#issuecomment-1643933181)
> Not sure. The other types are 64 bit, so this will overflow eventually
> Are you still working on this?
Since the recent push the `totalSizeWithAncestors` is `int64_t`.
(https://github.com/bitcoin/bitcoin/pull/28059#issuecomment-1643933181)
> Not sure. The other types are 64 bit, so this will overflow eventually
> Are you still working on this?
Since the recent push the `totalSizeWithAncestors` is `int64_t`.
💬 darosior commented on pull request "Wallet: estimate the size of signed inputs using descriptors":
(https://github.com/bitcoin/bitcoin/pull/26567#discussion_r1269467464)
This is not true if the Miniscript descriptor was parsed from Script. I'll update this.
(https://github.com/bitcoin/bitcoin/pull/26567#discussion_r1269467464)
This is not true if the Miniscript descriptor was parsed from Script. I'll update this.
💬 furszy commented on pull request "bumpfee: Allow the user to choose which output is change":
(https://github.com/bitcoin/bitcoin/pull/26467#discussion_r1269467782)
@whitslack yes. That would be an ugly outcome. We could have fixed the RPC docs here.
Would say to work towards #27601 to fix this scenario (and others) properly.
This issue comes from a workaround code that avoids the dup change outputs bug. Basically, the change output is manually discarded from the recipients list and expected to be re-added later, with the new fees subtracted, by the inner transaction creation process logic.
With #27601, we will be able to specify the output to reduce
...
(https://github.com/bitcoin/bitcoin/pull/26467#discussion_r1269467782)
@whitslack yes. That would be an ugly outcome. We could have fixed the RPC docs here.
Would say to work towards #27601 to fix this scenario (and others) properly.
This issue comes from a workaround code that avoids the dup change outputs bug. Basically, the change output is manually discarded from the recipients list and expected to be re-added later, with the new fees subtracted, by the inner transaction creation process logic.
With #27601, we will be able to specify the output to reduce
...
💬 pinheadmz commented on pull request "test: Add unit & functional test coverage for blockstore":
(https://github.com/bitcoin/bitcoin/pull/27850#issuecomment-1643935993)
@MarcoFalke @furszy @ryanofsky thanks for the reviews, latest push addresses all comments except where noted.
(https://github.com/bitcoin/bitcoin/pull/27850#issuecomment-1643935993)
@MarcoFalke @furszy @ryanofsky thanks for the reviews, latest push addresses all comments except where noted.
👍 ryanofsky approved a pull request: "wallet: Filter-out "send" addresses from `listreceivedby*`"
(https://github.com/bitcoin/bitcoin/pull/25973#pullrequestreview-1539294064)
Code review ACK 62880a9bb167bc0569175d597a865e6baccce71b, but this needs to be rebased due to a silent conflict with #27217. This seems like a helpful fix and the test cleanup is also nice.
Another suggestion if you feel like it would be to add the new test before making the code change and have it verify the previous behavior. Then fix the bug and update the test in the same commit, so it is easier to see how behavior changes in the diff.
(https://github.com/bitcoin/bitcoin/pull/25973#pullrequestreview-1539294064)
Code review ACK 62880a9bb167bc0569175d597a865e6baccce71b, but this needs to be rebased due to a silent conflict with #27217. This seems like a helpful fix and the test cleanup is also nice.
Another suggestion if you feel like it would be to add the new test before making the code change and have it verify the previous behavior. Then fix the bug and update the test in the same commit, so it is easier to see how behavior changes in the diff.