Bitcoin Core Github
44 subscribers
121K links
Download Telegram
🚀 fanquake merged a pull request: "TxDownloadManager followups"
(https://github.com/bitcoin/bitcoin/pull/31190)
💬 sdaftuar commented on pull request "cluster mempool: Implement changeset interface for mempool":
(https://github.com/bitcoin/bitcoin/pull/31122#discussion_r1833111731)
Thanks! I've included your commit (and will mark this as resolved).
👋 edilmedeiros's pull request is ready for review: "RFC: doc: Fix dead links to mailing list archives"
(https://github.com/bitcoin/bitcoin/pull/31240)
📝 achow101 opened a pull request: "descriptors: MuSig2"
(https://github.com/bitcoin/bitcoin/pull/31244)
Implements parsing of BIP 328 `musig()` descriptors.

Depends on #31243

Split from #29675
📝 achow101 opened a pull request: "wallet: Sign transactions containing MuSig2 inputs"
(https://github.com/bitcoin/bitcoin/pull/31245)
Implements all of the signing logic for transactions containing MuSig2 inputs.

Note that this is not actually usable as the session data for MuSig2 is not stored. That will require the PSBT fields from #29675

Depends on #31242, #31243, and #31244

Split from #29675
achow101 closed a pull request: "wallet: Sign transactions containing MuSig2 inputs"
(https://github.com/bitcoin/bitcoin/pull/31245)
⚠️ achow101 opened an issue: "MuSig2 Tracking Issue"
(https://github.com/bitcoin/bitcoin/issues/31246)
Current PR to review: #31242

- [x] libsecp:
- [x] libsecp module: https://github.com/bitcoin-core/secp256k1/pull/1479
- [x] libsecp named structs: https://github.com/bitcoin-core/secp256k1/pull/1628
- [x] libsecp subtree update: #31216
- [ ] Refactors
- [ ] #31242
- [ ] #31243
- [ ] Descriptor: #31244
- [ ] PSBT:
- [ ] Signing: #29675
📝 achow101 opened a pull request: "psbt: MuSig2 Fields"
(https://github.com/bitcoin/bitcoin/pull/31247)
Implements un/serialization of MuSig2 PSBT fields and prepares PSBT to be able to sign for MuSig2 inputs.

Split from #29675
👋 achow101's pull request is ready for review: "psbt: MuSig2 Fields"
(https://github.com/bitcoin/bitcoin/pull/31247)
💬 furszy commented on pull request "wallet: remove BDB dependency from wallet migration benchmark":
(https://github.com/bitcoin/bitcoin/pull/31241#issuecomment-2462936240)
> https://cirrus-ci.com/task/4957802181951488?logs=ci#L1777:
>
> ```shell
> [17:17:27.480] Thread T4 'b-httpworker.1' (tid=27041, running) created by main thread at:
> [17:17:27.480] #0 pthread_create <null> (bitcoind+0xf7df5) (BuildId: 759dffa438a525872edb969c48b6c5c4c6341482)
> [17:17:27.480] #1 std::__1::__libcpp_thread_create[abi:ne190103](unsigned long*, void* (*)(void*), void*) /usr/lib/llvm-19/bin/../include/c++/v1/__thread/support/pthread.h:182:10 (bitcoind+0x6e06fb) (Bui
...
📝 achow101 converted_to_draft a pull request: "wallet: Be able to receive and spend inputs involving MuSig2 aggregate keys"
(https://github.com/bitcoin/bitcoin/pull/29675)
This PR implements MuSig2 descriptors (BIP 390), derivation (BIP 328), and PSBT fields (BIP 373) so that the wallet can receive and spend from taproot addresses that have keys involving a MuSig2 aggregate key.

The libsecp musig module is enabled so that it can be used for all of the MuSig2 cryptography.

Secnonces are handled in a separate class which holds the libsecp secnonce object in a `secure_unique_ptr`. Since secnonces must not be used, this class has no serialization and will only l
...
💬 achow101 commented on pull request "wallet: Be able to receive and spend inputs involving MuSig2 aggregate keys":
(https://github.com/bitcoin/bitcoin/pull/29675#issuecomment-2462937879)
Several earlier commits have been split out into separate PRs. See the tracking issue #31246 for the breakdown.
📝 achow101 opened a pull request: "test: Rework wallet_migration.py to use previous releases"
(https://github.com/bitcoin/bitcoin/pull/31248)
This PR reworks wallet_migration.py to use previous releases to produce legacy wallets for testing so that the test will continue to work once legacy wallets are removed.
💬 maflcko commented on issue "wallet: balance gone when tx broadcast failed":
(https://github.com/bitcoin/bitcoin/issues/20943#issuecomment-2462954522)
> managing to make a transaction in the GUI (presuming that was how it was made) which failed ATMP checks and triggered this.

This may happen when the mempool fee rises so much after the transaction was created that it is dropped.

Steps to reproduce:

* Create a transaction spending all your coins in the wallet
* Observe that `getbalances` is non-zero (and trusted)
* Restart with `-minrelaytxfee=0.0099` (to simulate a full mempool)
* Observe that `getbalances` is zero for all fields
📝 achow101 opened a pull request: "test: Add combinerawtransaction test to rpc_createmultisig"
(https://github.com/bitcoin/bitcoin/pull/31249)
The only coverage of combinerawtransaction is in a legacy wallet only test. So also use it in rpc_createmultisig so that this RPC remains tested after the legacy wallet is removed.

Split from #28710
📝 achow101 opened a pull request: "wallet: Disable creating and loading legacy wallets"
(https://github.com/bitcoin/bitcoin/pull/31250)
To prepare for the deletion of legacy wallet code, disable creating or loading new legacy wallets.

Tests for the legacy wallet specifically are deleted.

Depends on #31248

Split from https://github.com/bitcoin/bitcoin/pull/28710
📝 furszy opened a pull request: "test: report a more detailed failure during utf8 response decoding"
(https://github.com/bitcoin/bitcoin/pull/31251)
Useful for debugging issues such https://github.com/bitcoin/bitcoin/pull/31241#issuecomment-2462816933.

Prints the entire response content instead of printing only the position of the byte it can't be decoded.

The diff between the error messages can be seen by running the `wallet_migration.py` functional test with the following patch applied:
```
diff --git a/src/wallet/rpc/wallet.cpp b/src/wallet/rpc/wallet.cpp
--- a/src/wallet/rpc/wallet.cpp (revision d65918c5da52c7d5035b4151dee9ffb2e
...
💬 darosior commented on pull request "Improve parallel script validation error debug logging":
(https://github.com/bitcoin/bitcoin/pull/31112#discussion_r1833219801)
nit: above comment is now outdated (it wasn't very useful in the first place).
👍 TheCharlatan approved a pull request: "Safegcd-based modular inverses in MuHash3072"
(https://github.com/bitcoin/bitcoin/pull/21590#pullrequestreview-2407815626)
ACK ad67fd2e0bfa6f43f350066596b6cca146391362

Just nits, and all of them can be ignored. This was fun to review, the explanations in the `safegcd_implementation.md` are excellent. I also profited from the two review clubs and their notes that were done on the original MuHash introduction.
💬 TheCharlatan commented on pull request "Safegcd-based modular inverses in MuHash3072":
(https://github.com/bitcoin/bitcoin/pull/21590#discussion_r1824375277)
Nit: Not important, but could `inline` these same as the other functions only used within this module?