Bitcoin Core Github
44 subscribers
121K links
Download Telegram
💬 Sjors commented on pull request "qt: 29.0 translations update":
(https://github.com/bitcoin/bitcoin/pull/32004#issuecomment-2714215851)
Based on `git show --stat`, looking for files with massive deletions:

- `src/qt/locale/bitcoin_cs.ts`
- `src/qt/locale/bitcoin_da.ts`
- `src/qt/locale/bitcoin_nl.ts`
💬 l0rinc commented on pull request "Don't zero-after-free `DataStream`: Faster IBD on some configurations":
(https://github.com/bitcoin/bitcoin/pull/30987#issuecomment-2714223061)
While the performance increase likely isn't a measurable, it could still make sense to remove the memory zeroing - at least for most serializations, if for no other reason, it's doing useless work and it's easier to understand the behavior without it.
For cases where we're not sure if zeroing makes sense, we could keep the old behavior - as suggested by @laanwj - making this a cleanup/refactor, rather than an optimization.
💬 mzumsande commented on issue "Fully validated AssumeUTXO starts revalidating after restart":
(https://github.com/bitcoin/bitcoin/issues/32029#issuecomment-2714230274)
I'm pretty sure this is being done on purpose, see [this comment](https://github.com/bitcoin/bitcoin/blob/45719390a1434ad7377a5ed05dcd73028130cf2d/src/node/chainstate.cpp#L185-L193), so I wouldn't call it a bug.

But that doesn't mean it's ideal - if we want to skip the second UTXO stats check after restart, I think it would be wrong to just skip it from the init code path - instead I think we'd need to persist additional validation progress to disk (so that a user that Ctrl+C's out of the firs
...
🤔 BrandonOdiwuor reviewed a pull request: "qa: Enable feature_init.py on Windows"
(https://github.com/bitcoin/bitcoin/pull/32021#pullrequestreview-2674560829)
Code Review ACK 59c4930394cafc939eb396224b3d60d01ba0ce37
💬 Sjors commented on issue "Fully validated AssumeUTXO starts revalidating after restart":
(https://github.com/bitcoin/bitcoin/issues/32029#issuecomment-2714283026)
@mzumsande from that code comment it seems cleaning up is intentional, but not redoing validation.
💬 fjahr commented on issue "Fully validated AssumeUTXO starts revalidating after restart":
(https://github.com/bitcoin/bitcoin/issues/32029#issuecomment-2714303553)
> I'm pretty sure this is being done on purpose, see [this comment](https://github.com/bitcoin/bitcoin/blob/45719390a1434ad7377a5ed05dcd73028130cf2d/src/node/chainstate.cpp#L185-L193), so I wouldn't call it a bug.

Yes, and there is more context in the comment on the implementation: https://github.com/bitcoin/bitcoin/blob/45719390a1434ad7377a5ed05dcd73028130cf2d/src/validation.cpp#L6102
👍 brunoerg approved a pull request: "wallet: Disable creating and loading legacy wallets"
(https://github.com/bitcoin/bitcoin/pull/31250#pullrequestreview-2674582400)
code review ACK ba2042c31f1630678a1f08bb68e01c1d98cc9abc
no blockers!

- 8afd005cbf9209e90a5cc1bcdb2c0ff400c2de33: checked it removes disable RPCs related to legacy wallets (import/dump stuff) - I had same doubt of https://github.com/bitcoin/bitcoin/pull/31250/commits/8afd005cbf9209e90a5cc1bcdb2c0ff400c2de33#r1985126112
- 56e9bef655673becb3e265948143a9e860a5c68b: checked it removes legacy wallet functional tests and get rid off --descriptor --legacy-wallet. Left a nit about a comment that m
...
💬 fjahr commented on issue "Fully validated AssumeUTXO starts revalidating after restart":
(https://github.com/bitcoin/bitcoin/issues/32029#issuecomment-2714343635)
I guess that the revalidation is expected could be added in the design doc here as well: https://github.com/bitcoin/bitcoin/blob/45719390a1434ad7377a5ed05dcd73028130cf2d/doc/design/assumeutxo.md#bitcoind-restarts-sometime-after-snapshot-validation-has-completed
💬 hebasto commented on pull request "qt: 29.0 translations update":
(https://github.com/bitcoin/bitcoin/pull/32004#issuecomment-2714345545)
> Based on `git show --stat`, looking for files with massive deletions:
>
> * `src/qt/locale/bitcoin_cs.ts`
>
> * `src/qt/locale/bitcoin_da.ts`
>
> * `src/qt/locale/bitcoin_nl.ts`
>
>
> When I undo the changes to those files, at least Dutch looks fine to me.

Thanks! Updated.
📝 fjahr opened a pull request: "test: Check datadir cleanup after assumeutxo was successful"
(https://github.com/bitcoin/bitcoin/pull/32033)
I noticed that the proper datadir cleanup after a successful restart of an assumutxo node does not seem to be covered in our tests. This is added here.
💬 ryanofsky commented on pull request "ci: Test cross-built Windows executables on Windows natively":
(https://github.com/bitcoin/bitcoin/pull/31176#issuecomment-2714361350)
> but the wine tests seem to have been fundamentally broken anyways, both brittle and not catching real [bugs](https://github.com/bitcoin/bitcoin/commit/7b16ae23fba38eaf58c0efec4d1a47214e4b1930), so not a real solution.

It's true that wine tests can't catch every bug that could happen on windows since Wine is another platform and "Is Not an Emulator." But calling the wine tests "fundamentally broken" would seem to imply that there were bugs in wine or in the wine test setup, and I haven't see
...
💬 laanwj commented on issue "guix: re-enable exported symbol checking for RISC-V":
(https://github.com/bitcoin/bitcoin/issues/28095#issuecomment-2714382203)
It almost looks like ld flag `--no-export-dynamic`, which is the default, doesn't work on RISC-V. Not even if added explicitly. Without `--exclude-libs ALL`, all weak symbols imported from libraries end up in the exported binary. With `--exclude-libs ALL` only the ones that are exported by the `.o` file (the behavior we're seeing).

Passing `--export-dynamic` to the x86_64 build approximates what we're seeing on RISC-V. But not entirely, we get more symbols than that. So *some* filtering is happ
...
🚀 glozow merged a pull request: "seeds: add signet/testnet4, update makeseeds regex, minblocks, fixed seeds"
(https://github.com/bitcoin/bitcoin/pull/31960)
👍 pinheadmz approved a pull request: "wallet: fix crash on double block disconnection"
(https://github.com/bitcoin/bitcoin/pull/31757#pullrequestreview-2674634683)
ACK 11f8ab140fe63857f6a93b81021efda8f90ceeda

Built on arm/macos. Confirmed the functional tests passes on the branch, on master bitcoind fails the test with a crash:

> stderr Assertion failed: (TxStateSerializedIndex(wtx.m_state) == TxStateSerializedIndex(state)), function AddToWallet, file wallet.cpp, line 1114.

Also confirmed that if the assertion is commented out, the test still passes on both master and branch, indicating that the new state (abandoned) is already correct.

The cod
...
💬 pinheadmz commented on pull request "wallet: fix crash on double block disconnection":
(https://github.com/bitcoin/bitcoin/pull/31757#discussion_r1989334604)
nanonit: funny, the only occurrences of `assert(...` (with parenthesis instead of just a space) are in this test ;-)
👍 brunoerg approved a pull request: "Require sqlite when building the wallet"
(https://github.com/bitcoin/bitcoin/pull/31961#pullrequestreview-2674676295)
code review ACK ac6cde731314d981391bc313c98d671c68211d33
🤔 rkrux reviewed a pull request: "psbt: MuSig2 Fields"
(https://github.com/bitcoin/bitcoin/pull/31247#pullrequestreview-2674241033)
Partial review.

Some of the suggested comments I have not categorised as nits so that the newer changes are consistent with the rest of the wallet codebase. However, I'm open to them not being implemented if the PR author and other reviewers believe so.
💬 rkrux commented on pull request "psbt: MuSig2 Fields":
(https://github.com/bitcoin/bitcoin/pull/31247#discussion_r1989154933)
Here and in other similar occurrences of 33.

```diff
-while (s_val.size() >= 33) {
+while (s_val.size() >= CPubKey::COMPRESSED_SIZE) {
```
💬 rkrux commented on pull request "psbt: MuSig2 Fields":
(https://github.com/bitcoin/bitcoin/pull/31247#discussion_r1989175187)
Using `CPubKey::COMPRESSED_SIZE + 1` here instead of `34` would make it more explicit and reader-friendly (similarly in the other key unserialization flows below) like done for `PSBT_IN_PARTIAL_SIG` and `PSBT_IN_RIPEMD160` cases previously.
💬 rkrux commented on pull request "psbt: MuSig2 Fields":
(https://github.com/bitcoin/bitcoin/pull/31247#discussion_r1989129187)
I think these 2 can be benefited with some documentation something like below. It was only after I read the below serialisation code that I understood this type.

```cpp
/** key is a pair of aggregate public key and leaf hash, value is a map of participant pubkey to pubnonce */
std::map<std::pair<CPubKey, uint256>, std::map<CPubKey, std::vector<uint8_t>>> m_musig2_pubnonces;
/** key is a pair of aggregate public key and leaf hash, value is a map of participant pubkey to partial sig */
std:
...