Bitcoin Core Github
44 subscribers
121K links
Download Telegram
πŸš€ fanquake merged a pull request: "test: Perform backup filename checks in migrate_and_get_rpc in wallet_migration.py"
(https://github.com/bitcoin/bitcoin/pull/33104)
πŸš€ fanquake merged a pull request: "qa: test that we do not disconnect a peer for submitting an invalid compact block"
(https://github.com/bitcoin/bitcoin/pull/33083)
πŸ’¬ hebasto commented on pull request "cmake: Proactively avoid use of `SECP256K1_DISABLE_SHARED`":
(https://github.com/bitcoin/bitcoin/pull/33101#issuecomment-3143906959)
Rebased due to a conflict with merged #31244.
πŸ’¬ stickies-v commented on pull request "kernel: improve BlockChecked ownership semantics":
(https://github.com/bitcoin/bitcoin/pull/33078#issuecomment-3143922871)
Note: I have updated the PR description with benchmark results for this change, indicating a modest (~10%) performance decrease which I think is acceptable?
πŸ“ fanquake opened a pull request: "build: note that sysctl was removed from Linux"
(https://github.com/bitcoin/bitcoin/pull/33111)
https://kernelnewbies.org/Linux_5.5#Core_.28various.29.

The checks need to hang around until we no-longer support kernels older than 5.5.
πŸ“ Sjors opened a pull request: "wallet: relax external_signer flag constraints"
(https://github.com/bitcoin/bitcoin/pull/33112)
The `external_signer` indicates that an external signer device may be called via [HWI](https://github.com/bitcoin-core/HWI) or [equivalent](https://github.com/bitcoin/bitcoin/blob/master/doc/external-signer.md#signer-api) application.

When it was initially introduced some additional constraints were placed on wallets with this flag: it had to be a descriptor wallet and watch-only. Also the flag could not be added or removed later.

The constraints aren't a problem for the main supported and
...
πŸ’¬ fanquake commented on pull request "wallet: relax external_signer flag constraints":
(https://github.com/bitcoin/bitcoin/pull/33112#issuecomment-3144087512)
https://cirrus-ci.com/task/6572167942373376?logs=ci#L1621:
```bash
[06:14:38.327] /ci_container_base/src/wallet/rpc/wallet.cpp: In function β€˜wallet::createwallet()::<lambda(const RPCHelpMan&, const JSONRPCRequest&)>’:
[06:14:38.327] /ci_container_base/src/wallet/rpc/wallet.cpp:420:45: error: β€˜*(unsigned char*)((char*)&disable_private_keys + offsetof(std::optional<bool>,std::optional<bool>::<unnamed>.std::_Optional_base<bool, true, true>::<unnamed>))’ may be used uninitialized in this function
...
πŸ’¬ ArmchairCryptologist commented on pull request "[WIP] policy: lower the default blockmintxfee, incrementalrelayfee, minrelaytxfee":
(https://github.com/bitcoin/bitcoin/pull/33106#issuecomment-3144090821)
Concept ACK, FWIW. The long and short of it is that mempool/relay (fee) policy is ineffective as a "spam filter", since the node will have to accept the transaction anyway if it is mined, so trying to use it as such is futile. Meanwhile, rejecting transactions that are being mined is detrimental to block propagation in particular and overall node/network performance in general. As such, changing the defaults to match what is actually being mined is warranted as long as the DoS resistance is not
...
πŸ’¬ maflcko commented on pull request "wallet: relax external_signer flag constraints":
(https://github.com/bitcoin/bitcoin/pull/33112#discussion_r2247694580)
nit: Would be good to use named args, while touching this: `self.MaybeArg<bool>("disable_private_keys")`
πŸ’¬ maflcko commented on pull request "wallet: relax external_signer flag constraints":
(https://github.com/bitcoin/bitcoin/pull/33112#discussion_r2247696728)
not sure if this fixes the `maybe-uninitialized` false-positive from gcc, but you can try ` if (disable_private_keys.has_value() && disable_private_keys.value()) {`, or add `-Wno-error=maybe-uninitialized` to the ci task config.
πŸ’¬ Sjors commented on pull request "wallet: relax external_signer flag constraints":
(https://github.com/bitcoin/bitcoin/pull/33112#discussion_r2247704528)
That looks much nicer indeed.
πŸ“ hebasto opened a pull request: "refactor: Use immediate lambda to work around GCC bug 117966"
(https://github.com/bitcoin/bitcoin/pull/33113)
This PR is a follow-up to the recently merged [#31244](https://github.com/bitcoin/bitcoin/pull/31244), and provides a workaround for affected GCC compilers, similar to https://github.com/bitcoin/bitcoin/pull/31493.

Without this workaround, building the master branch using GCC 13 or 14 with the `-D_GLIBCXX_DEBUG` flag fails with the following error:
```
$ cmake -B build -DAPPEND_CPPFLAGS="-D_GLIBCXX_DEBUG"
-- The CXX compiler identification is GNU 13.3.0
<snip>
$ cmake --build build
[2/1
...
πŸ’¬ maflcko commented on pull request "kernel: improve BlockChecked ownership semantics":
(https://github.com/bitcoin/bitcoin/pull/33078#discussion_r2247724075)
I haven't compiled or benchmarked this, but using `const std::shared_ptr<const CBlock> &` could avoid the copy and then subscribers are free to decide if they want read-only access, or if they want to create a copy themselves. That would also be in symmetry with the other block signals?
πŸ’¬ maflcko commented on pull request "refactor: Use immediate lambda to work around GCC bug 117966":
(https://github.com/bitcoin/bitcoin/pull/33113#issuecomment-3144261838)
Seems fine, but it can't hurt to enforce it in CI again?

```diff




ci: Re-enable DEBUG=1 in centos task

This reverts the workaround in commit fa079538e32d20aec6786c93e1117da1e8ea0cab, as it is no longer needed.

diff --git a/ci/test/00_setup_env_native_centos.sh b/ci/test/00_setup_env_native_centos.sh
index 25b9923dc7..94002b6349 100755
--- a/ci/test/00_setup_env_native_centos.sh
+++ b/ci/test/00_setup_env_native_centos.sh
@@ -10,11 +10,11 @@ export CONTAINER_NAME=
...
πŸ’¬ janb84 commented on pull request "refactor: unify container presence checks":
(https://github.com/bitcoin/bitcoin/pull/33094#issuecomment-3144285086)
Nit; Missed?:
[bitcoin-cli.cpp L11117](https://github.com/l0rinc/bitcoin/blob/71911a5912c0778b10308b4e28ff183921f4a275/src/bitcoin-cli.cpp#L1117)
``` C++
if (proxy_networks.find(proxy) == proxy_networks.end()) ordered_proxies.push_back(proxy);
```
=>

``` C++
if (!proxy_networks.contains(proxy)) ordered_proxies.push_back(proxy);
```
πŸ’¬ Sjors commented on pull request "wallet: relax external_signer flag constraints":
(https://github.com/bitcoin/bitcoin/pull/33112#discussion_r2247780935)
I'll try `value_or(false)`
⚠️ maflcko opened an issue: "intermittent issue in wallet_sendall.py", line 440, in sendall_anti_fee_sniping assert_greater_than(tx_from_wallet["decoded"]["locktime"], tx_from_wallet["blockheight"]"
(https://github.com/bitcoin/bitcoin/issues/33114)
https://github.com/bitcoin/bitcoin/actions/runs/16636698220/job/47078938995#step:7:16110:

```
test 2025-07-31T01:37:44.029094Z TestFramework (ERROR): Unexpected exception
Traceback (most recent call last):
File "/home/runner/work/bitcoin/bitcoin/test/functional/test_framework/test_framework.py", line 195, in main
self.run_test()
File "/home/runne
...
πŸ’¬ rkrux commented on pull request "scripted-diff: Update DeriveType enum values to mention ranged derivations":
(https://github.com/bitcoin/bitcoin/pull/32745#issuecomment-3144357117)
Rebased over master to incorporate changes from #31244.
πŸ’¬ Sjors commented on issue "External signer: in case of error shows only "External signer failure"":
(https://github.com/bitcoin/bitcoin/issues/31004#issuecomment-3144372615)
v27.1 is quite old and I think we've made some improvements since. Can you try again with [v29.0](https://bitcoincore.org/en/download/) or ideally [v29.1rc1](https://bitcoincore.org/bin/bitcoin-core-29.1/test.rc1/)?
πŸ’¬ Sjors commented on issue "Docs: "External signer" documentation is outdated. (plz close if unwanted request)":
(https://github.com/bitcoin/bitcoin/issues/31005#issuecomment-3144377397)
Feel free to open a PR to update these docs.