Skip to content

Bugfix on TransactionsView - Disable if privacy mode is set during wallet selection#815

Merged
hebasto merged 1 commit intobitcoin-core:masterfrom
pablomartin4btc:gui-disable-mask-values-and-tx-view-if-no-wallet-selected
Mar 22, 2026
Merged

Bugfix on TransactionsView - Disable if privacy mode is set during wallet selection#815
hebasto merged 1 commit intobitcoin-core:masterfrom
pablomartin4btc:gui-disable-mask-values-and-tx-view-if-no-wallet-selected

Conversation

@pablomartin4btc
Copy link
Copy Markdown
Contributor

Currenlty on master, when the "mask values" checkbox is ticked if the user selects a different wallet, the history action is enable and if the user clicks on it can see all the transactions in the transaction view.

Peek 2024-04-09 17-37

This PR fixes it.

Peek 2024-04-09 17-45

Note for maintainers: this needs to be backported to 25.x and 26.x.

@DrahtBot
Copy link
Copy Markdown
Contributor

DrahtBot commented Apr 9, 2024

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Reviews

See the guideline for information on the review process.

Type Reviewers
ACK hebasto
Stale ACK alfonsoromanz

If your review is incorrectly listed, please copy-paste <!--meta-tag:bot-skip--> into the comment that the bot should ignore.

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #898 (Add coins (UTXOs) tab and makes it view-only by apogio)

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

Copy link
Copy Markdown
Contributor

@alfonsoromanz alfonsoromanz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested ACK d3da502

Copy link
Copy Markdown
Member

@luke-jr luke-jr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This feels like the wrong place to fix it. Why not inside setWalletActionsEnabled (or whatever is enabling it to begin with)?

@pablomartin4btc
Copy link
Copy Markdown
Contributor Author

This feels like the wrong place to fix it. Why not inside setWalletActionsEnabled (or whatever is enabling it to begin with)?

Yeah, it makes more sense, I'll rework it. Thanks!

@pablomartin4btc pablomartin4btc force-pushed the gui-disable-mask-values-and-tx-view-if-no-wallet-selected branch from d3da502 to 6c3b027 Compare May 22, 2024 10:39
@pablomartin4btc
Copy link
Copy Markdown
Contributor Author

Updates:

Copy link
Copy Markdown
Member

@luke-jr luke-jr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm pretty sure you can just modify the existing line in setWalletActionsEnabled to:

    historyAction->setEnabled(enabled && !isPrivacyModeActivated());

Comment thread src/qt/bitcoingui.cpp Outdated
Comment thread src/qt/bitcoingui.cpp Outdated
@pablomartin4btc
Copy link
Copy Markdown
Contributor Author

pablomartin4btc commented May 23, 2024

    historyAction->setEnabled(enabled && !isPrivacyModeActivated());

Just replacing the operator with || (e.g. when the user closes all wallets, all tabs will be disabled except for Transactions).

@pablomartin4btc pablomartin4btc force-pushed the gui-disable-mask-values-and-tx-view-if-no-wallet-selected branch from 6c3b027 to 6180086 Compare May 23, 2024 08:35
@pablomartin4btc
Copy link
Copy Markdown
Contributor Author

Updates:

@luke-jr
Copy link
Copy Markdown
Member

luke-jr commented May 23, 2024

This one-line change works without anything else:

#815 (review)

@pablomartin4btc
Copy link
Copy Markdown
Contributor Author

This one-line change works without anything else:

#815 (review)

Sorry, I made another mistake, thanks for double checking.

To other reviewers: please hold on till next push, thanks.

@pablomartin4btc pablomartin4btc force-pushed the gui-disable-mask-values-and-tx-view-if-no-wallet-selected branch from 6180086 to 260d6eb Compare May 24, 2024 11:03
@pablomartin4btc
Copy link
Copy Markdown
Contributor Author

Updates:

@hebasto
Copy link
Copy Markdown
Member

hebasto commented Jul 15, 2024

@pablomartin4btc Did you consider bitcoinknots/bitcoin#83?

@pablomartin4btc
Copy link
Copy Markdown
Contributor Author

@pablomartin4btc Did you consider bitcoinknots/bitcoin#83?

Yeah, in fact the "switch to Overview" tab when changing/ selecting wallets, was introduced in #718, I can fix it here in a 2nd. commit which will do soon.

@hebasto
Copy link
Copy Markdown
Member

hebasto commented Jul 15, 2024

@pablomartin4btc

... was introduced in #718...

Sure about PR number? ('cause there is no such a number in this repo)

@pablomartin4btc
Copy link
Copy Markdown
Contributor Author

@pablomartin4btc

... was introduced in #718...

Sure about PR number? ('cause there is no such a number in this repo)

oh! my bad.. a typo there... how lucky! I'll play the lottery with that one today... I meant #708, I think it's the only place related to the "mask value" where I switched to the overview tab when the mask value checkbox on the menu is ticked but still need to check it.

@pablomartin4btc
Copy link
Copy Markdown
Contributor Author

@hebasto, I couldn't reproduce the issue described in bitcoinknots/bitcoin#83, trying both master and this PR, also checked the fix in knots which is similar to this PR code change. It would be good to know what was the state of the "mask value" during the use case described in bitcoinknots/bitcoin#83, the only thing I can think of it's that the issue is the same one described above on this PR but when that happens loading a second wallet would disable the Transactions view tab so it can't be selected. Perhaps @luke-jr can describe the steps to reproduce it.

@pablomartin4btc
Copy link
Copy Markdown
Contributor Author

pablomartin4btc commented Jul 30, 2024

@hebasto, the issue mentioned in bitcoinknots/bitcoin#83 is fixed by this PR.
I've done a bit of investigation and the problem (in master, not on this PR) was not "switching" between wallets (selecting another wallet from the combo box won't show the overview page while the user is landing on the transactions tab), but when the user opens another wallet (which hasn't been loaded before) and the current wallet view is on the transactions/ history tab, then the system sets the overview page as a "default view" lets say (the problematic call has been removed from this PR and it was introduced by #708 originally).

@DrahtBot
Copy link
Copy Markdown
Contributor

🤔 There hasn't been much activity lately and the CI seems to be failing.

If no one reviewed the current pull request by commit hash, a rebase can be considered. While the CI failure may be a false positive, the CI hasn't been running for some time, so there may be a real issue hiding as well. A rebase triggers the latest CI and makes sure that no silent merge conflicts have snuck in.

Making sure that if the privacy mode is activaded during
the wallet selection, the transaction view is not shown.
@pablomartin4btc pablomartin4btc force-pushed the gui-disable-mask-values-and-tx-view-if-no-wallet-selected branch from 260d6eb to 0dc337f Compare January 15, 2025 18:56
@pablomartin4btc
Copy link
Copy Markdown
Contributor Author

Updates:

  • Rebased (fixed previous CI failure - ASan + LSan + UBSan... ).

@DrahtBot
Copy link
Copy Markdown
Contributor

DrahtBot commented Aug 4, 2025

There hasn't been much activity lately. What is the status here?

Finding reviewers may take time. However, if the patch is no longer relevant, please close this pull request. If the author lost interest or time to work on this, please close it and mark it 'Up for grabs' with the label, so that it can be picked up in the future.

Copy link
Copy Markdown
Member

@hebasto hebasto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 0dc337f, tested on Fedora 43.

I agree with this comment. Following this direction, further improvements to the m_mask_values_action connections could be made by switching to a lambda.

@fanquake
Copy link
Copy Markdown
Member

fanquake commented Mar 22, 2026

Backported to 31.x in bitcoin/bitcoin#34800.

achow101 added a commit to bitcoin/bitcoin that referenced this pull request Mar 25, 2026
b241f3c doc: update example bitcoin conf for 31.0rc2 (fanquake)
718c31c doc: update manual pages for v31.0rc2 (fanquake)
a30e505 build: bump version to v31.0rc2 (fanquake)
ac13aca test: scale IPC mining wait timeouts by timeout_factor (Enoch Azariah)
39c8762 test: verify IPC error handling for invalid coinbase (Enoch Azariah)
6609473 test: move make_mining_ctx to ipc_util.py (Enoch Azariah)
acd7e3d test: verify createNewBlock wakes promptly when tip advances (Enoch Azariah)
e3d5716 test: Remove confusing assert_debug_log in wallet_reindex.py (MarcoFalke)
87d1691 wallet: feebumper, fix crash when combined bump fee is unavailable (furszy)
11b6992 wallet: fix amount computed as boolean in coin selection (furszy)
d171afa ci: Temporarily use clang in valgrind tasks (MarcoFalke)
198bc4d ci: Clarify why valgrind task has gui disabled (MarcoFalke)
6993aa1 test: Scale feature_dbcrash.py timeout with factor (MarcoFalke)
051afe9 depends: Remove no longer necessary `dsymutil` (Hennadii Stepanov)
3b79852 depends: Fix cross-compiling on macOS for Windows (Hennadii Stepanov)
e53c20d gui: Fix TransactionsView on setCurrentWallet (pablomartin4btc)
7118559 tests: applied PYTHON_GIL to the env for every test (kevkevinpal)
d9a5791 ci: Avoid intermittent Windows generate download failures (MarcoFalke)
335a098 kernel: acquire coinstats cursor and block info atomically (w0xlt)
e930c6d rpc: fix race condition in gettxoutsetinfo (w0xlt)
ca781e4 cmake: Migrate away from deprecated SQLite3 target (Daniel Pfeifer)
0689512 test: [refactor] Use verbosity=0 named arg (MarcoFalke)
8379f00 test: Fix intermittent issue in feature_assumeutxo.py (MarcoFalke)
72d6c88 test: Move event loop creation to network thread (MarcoFalke)
c7127f2 test: Use asyncio.SelectorEventLoop() over deprecated asyncio.WindowsSelectorEventLoopPolicy() (MarcoFalke)
a69f8c3 ci: Use arch-appropriate binaries in lint install (will)
e3383ac ci: check macos bundle structure and codesigning (fanquake)
ab37d3d macdeploy: use plugins dir to find plugins (fanquake)
bb9fcff macdeploy: subprocess out to zip rather than shutil.make_archive (fanquake)
d20ba02 build: Set AUTHOR_WARNING on warnings (MarcoFalke)
2724c39 guix: Make guix-clean less destructive (Hodlinator)
a28d78c test: use static methods and clarify comment in addr_relay (stratospher)
5642a2b test: protect outbound connection from eviction in getaddr_test (stratospher)
a3c1eda test: fix addr relay test silent pass and wrong peerinfo index (stratospher)
207087b ci: bump cirruslabs actions versions (will)
a74dfe3 lint: Temporarily revert to vulture==2.14 (MarcoFalke)
f7f7e68 ci: Bump GHA actions versions (MarcoFalke)
a3ffff0 depends: delete Boost extra files (fanquake)
9852bbd depends: disable Qt sbom generation (fanquake)

Pull request description:

  Backports:
  * #33144
  * #34451
  * #34589
  * #34727
  * #34750
  * #34755
  * #34776
  * #34787
  * #34802
  * #34814
  * #34815
  * #34820
  * #34852
  * #34832
  * #34848
  * #34850
  * #34857
  * #34859
  * #34869
  * #34870
  * #34878
  * #34888

  Gui:
  * bitcoin-core/gui#815

ACKs for top commit:
  Sjors:
    ACK b241f3c
  achow101:
    ACK b241f3c

Tree-SHA512: bb68f5b6e569781805c741d63a6ad6f955c1964d9186defa892936160e8444900f1e4175a1ef4fff268b655d664ddf0b914795ef554ea60cb23a054b080b4805
sedited pushed a commit to sedited/rust-bitcoinkernel that referenced this pull request Apr 25, 2026
…be35bb2

0abbe35bb2 Merge bitcoin/bitcoin#35148: refactor: Remove confusing DataStream::in_avail() alias
6322c1697d Merge bitcoin/bitcoin#33920: Export embedded ASMap RPC
28a523fb94 Merge bitcoin/bitcoin#35097: util: Return uint64_t from _MiB and _GiB operators
fa43da21f1 refactor: Run ShouldWarnOversizedDbCache calculation in u64
fa5801762e util: Return uint64_t from _MiB and _GiB operators
fa204100e1 streams: Remove confusing DataStream::in_avail()
fa5ab0220e move-only: Extract ProcessPong() helper
2d5ab09f0d Merge bitcoin/bitcoin#35124: bench: fix benchmark fixtures and setup checks
1aef4d53ff Merge bitcoin/bitcoin#34885: kernel: expose btck_block_tree_entry_get_ancestor
e6430b2773 bench: make `setup()` use single-iteration epochs
ba0078e3bf bench: fix ephemeral spend inputs
b8b7f896e8 bench: drop duplicate balance benchmark
290e48fbf0 Merge bitcoin/bitcoin#35128: dbwrapper: avoid copying `CDBIterator` keys in `GetKey()`
f17cd18d02 Merge bitcoin/bitcoin#35116: net: cleanup SOCKS5 auth logging
fa9ddb01c9 test: Use MiB operator directly in cuckoocache_tests
8a843a1b7c Merge bitcoin/bitcoin#34865: logging: better use of log::Entry internally
cd7865b0ce Merge bitcoin/bitcoin#33671: wallet: Add separate balance info for non-mempool wallet txs
0cbd220294 Merge bitcoin/bitcoin#34440: refactor: Change CChain methods to use references, add tests
bb90899955 Merge bitcoin/bitcoin#34435: refactor: use `_MiB`/`_GiB` consistently for byte conversions
8a05adc5f8 Merge bitcoin/bitcoin#35138: doc: add missed advisory to 31.0 rel notes
c95968f780 doc: add missed advisory to 31.0 rel notes
3f09a4703f Merge bitcoin/bitcoin#35132: doc: update release process to mention security advisories pre-announcements
1a4371cc3d Merge bitcoin/bitcoin#34882: refactor: Use NodeClock::time_point in more places
4abc0c2e04 doc: update release process to mention security advisories pre-announcements
875faa29e1 Merge bitcoin/bitcoin#35087: tor: limit torcontrol line size that is processed to prevent OOM
2a90b6132a Add release notes for exportasmap
8cb2d926b4 rpc: Add exportasmap RPC
e32bc7f817 Merge bitcoin/bitcoin#35025: refactor: use `SpanReader` in deserialization benchmarks
13c8df4d5a refactor: replace `DataStream` with `SpanReader` in block deserialization tests
2529f25555 refactor: use `SpanReader` in `PrevectorDeserialize`
b8eb6c2081 refactor: use `SpanReader` in `TestBlockAndIndex`
61d678a6e3 refactor: use `DataStream::clear` in `::read` and `::ignore`
5de2f97a05 dbwrapper: use `SpanReader` for iterator keys
f0e498af5c test: cover failed `CDBIterator::GetKey()` deserialization
d3a40dd9de Merge bitcoin/bitcoin#35127: fuzz: remove redundant CScript method calls from script harness
c9d8582235 fuzz: remove redundant CScript method calls from script harness
89e7c4274c Merge bitcoin/bitcoin#31449: coins,refactor: Reduce `getblockstats` RPC UTXO overhead estimation
6b3dd6314f Merge bitcoin/bitcoin#34863: test: Clean shutdown in Socks5Server
64a88c8c1e Merge bitcoin/bitcoin#35096: kernel: align height parameters to int32_t in btck API
0c0f75eaaf Merge bitcoin/bitcoin#35091: doc: archive release notes for v31.0
5c50a03309 Merge bitcoin/bitcoin#35006: cli, rpc: add -rpcid option for custom request IDs
b6d1b65062 Merge bitcoin/bitcoin#34908: rpc, refactor: gettxoutsetinfo race condition fix follow-ups
af0ee28eb6 refactor: use _MiB consistently for Mebibyte conversions
b3edd30aa2 util: add _GiB for Gibibyte conversions
7c75244ade Change pindexMostWork parameter of ActivateBestChainStep() to reference
c5eb283bca Change CChain::FindFork() to take ref
20b58e281a Change CChain::Next() to take reference
fe2d6e25e0 Change CChain::Contains() to take reference
db56bcd692 test: Add CChain::FindFork() tests
8333abdd91 test: Add CChain basic tests
3bf3b6d59a net: log SOCKS5 auth before sending
b2debc9276 net: cleanup SOCKS5 auth logging
ad0545ba96 Merge bitcoin/bitcoin#35024: ci: Mitigate network issues in native Windows job
a51ec89e0c Merge bitcoin/bitcoin#35099: ci: drop `-lstdc++` from msan fuzz job
963ea38c0c Merge bitcoin/bitcoin#35038: bench: add script verification benchmark for P2TR script-path spends
0bdf21022c Merge bitcoin/bitcoin#35089: test: Allow to set height in create_block
ac9ce25b5f Merge bitcoin/bitcoin#34425: test: Fix all races after a socket is closed gracefully
2f9aa400d9 Merge bitcoin/bitcoin#33032: wallet, test: Replace MockableDatabase with in-memory SQLiteDatabase
378e17f703 Merge bitcoin/bitcoin#33477: Rollback for dumptxoutset without invalidating blocks
654556e631 Merge bitcoin/bitcoin#35086: test: interface_http follow-ups
9fe5896a44 tor: torcontrol disconnect on too many lines to avoid OOM
8b68287bf9 test: Make torcontrol max line length test stricter and test boundaries.
c5ec2d5313 logging: replace FormatLogStrInPlace with Format
3b92ec2036 logging: replace BufferedLog with log::Entry
07b9b13b45 doc: add integer type conventions in btck api remarks
f49a2afd94 test: interface_http follow-ups
ba6287a449 kernel: align height parameters to int32_t in btck API
df44afdc98 kernel: expose btck_block_tree_entry_get_ancestor
8115001cd4 logging: pass log::Entry through to logging functions
b414913c73 util: add timestamp and thread_name to log::Entry
8a55b17751 util: make SourceLocation constructor explicit
b02d6b0567 ci: drop -lstdc++ usage in msan fuzz job
655a39ee14 ci: use llvm 22.1.3
1fa34f90a2 Merge bitcoin/bitcoin#35095: doc: fix typos and minor formatting issues
bdc8e496da doc: fix typos and formatting in CONTRIBUTING, i2p, bitcoin-conf, files
ab5889796f refactor: torcontrol add connection checks to restart_with_mock
e7d647388c Merge bitcoin/bitcoin#34923: depends: remove workaround for Make older than 4.2.90
c4361e53cd Merge bitcoin/bitcoin#34757: guix: re-enable riscv exported symbol checking
fa16bc53d7 test: Require named arg for create_block ntime arg
fab352053d test: Remove unused create_coinbase imports
fad6deb3cb scripted-diff: Use new create_block height option
fa5eb74b96 test: Allow to set height in create_block
c54f37c1ba cli, rpc: add -rpcid option for custom request IDs
4d040b7d62 doc: archive release notes for v31.0
44ac0c32b9 Merge bitcoin/bitcoin#34401: kernel:  add serialization method for btck_BlockHeader API
53f4743c21 Merge bitcoin/bitcoin#35080: test: Add missing self.options.timeout_factor scale in tool_bitcoin_chainstate.py
edcf84c73a Merge bitcoin/bitcoin#35077: kernel: build: remove unused serfloat dependency
fa02eb87df test: Add missing self.options.timeout_factor scale in tool_bitcoin_chainstate.py
49895b9cbd kernel: build: remove unused serfloat dependency
577a3e74c8 test: Add check for return type in `HasToBytes` concept
1ad551281a kernel: Add Block Header serialization method
86662623ec Add `SpanWriter` class for zero-allocation stream writing
fbffe8a64a bench: improve `VerifyNestedIfScript` benchmark precision (make stack clearing untimed)
616ee6fe74 bench: add script verification benchmark for P2TR script-path spends
7844a2f083 Merge bitcoin/bitcoin#34772: test: modernize interface_http and cover more libevent behavior
6ac49373aa test: Add clean shutdown to Socks5Server
976985eccd Merge bitcoin/bitcoin#34124: validation: make `CCoinsView` a pure virtual interface
09c0e37789 ci: Rename vcpkg binary cache entity to force rebuild
fa1015bbcb refactor: Use NodeClock::time_point for m_connected
7aa033d3d4 Merge bitcoin/bitcoin#34773: test: migrate functional test equality asserts to `assert_equal`
34c3279d25 Merge bitcoin/bitcoin#34623: Update secp256k1 subtree to latest master
7e3e22e1f7 Merge bitcoin/bitcoin#35047: doc: fix typo 'parlor' to 'parlance' in developer-notes
ea893cff07 doc: fix typo 'parlor' to 'parlance' in developer-notes
58dccd27e1 Merge bitcoin/bitcoin#34858: test: Use NodeClockContext in more tests
fe3d2be1d6 Merge bitcoin/bitcoin#32757: net: Fix Discover() not running when using -bind=0.0.0.0:port
7015f70920 Merge bitcoin/bitcoin#34886: test: Rework Single Random Draw coin selection tests
7c6f1ab654 Merge bitcoin/bitcoin#35032: net_processing: don't modify addrman for private broadcast connections
94f1d35145 Merge bitcoin/bitcoin#34922: test: Use BasicTestingSetup when sufficient
dc93091083 ci: Cache `vcpkg/downloads` folder in native Windows CI job
88bbf2ad33 ci, refactor: Reuse primary key in `actions/cache/save`
141fbe4d53 Merge bitcoin/bitcoin#34884: validation: remove unused code in FindMostWorkChain
1ed1a12402 net_processing: don't modify addrman for private broadcast connections
2b541eeb36 Merge bitcoin/bitcoin#34495: Replace boost signals with minimal compatible implementation
f8ab0b778c Merge bitcoin/bitcoin#34905: Update string and net utils for future HTTP operations
b7f9178976 Update secp256k1 subtree to latest master
dfd54c959e Squashed 'src/secp256k1/' changes from 57315a6985..7262adb4b4
ab304b0ef2 Merge bitcoin/bitcoin#35031: ci: Match `VCPKG_HOST_TRIPLET` to `VCPKG_TARGET_TRIPLET`
80572c7555 Merge bitcoin/bitcoin#34158: torcontrol: Remove libevent usage
8783cc8056 refactor: inline `CCoinsViewBacked` implementation
86296f276d coins: make `CCoinsView` methods pure virtual
b637566c8d coins: add explicit `CoinsViewEmpty` noop backend
90c635c01c fuzz: keep backend assertions aligned to active backend
a9f92e3497 refactor: normalize CCoinsView whitespace and signatures
38a99f3344 scripted-diff: normalize `CCoinsView` naming
06172ef0d5 refactor: rename `hashBlock` to `m_block_hash` to avoid shadowing
0e712b3812 Make DynSock accepted sockets queue optional, with precise lifetime
3de02abf3f util/test: Add string_view constructor to LineReader and remove StringToBuffer
b0ca400612 string: replace AsciiCaseInsensitiveKeyEqual with CaseInsensitiveEqual
8172099293 util: get number of bytes consumed from buffer by LineReader
ba01b00d45 refactor: use for loops in FindMostWorkChain
aa0eef735b test: add InvalidateBlock/ReconsiderBlock asymmetry test
1b0b3e2c2c validation: remove redundant marking in FindMostWorkChain
c74c6cfd84 ci: Match `VCPKG_HOST_TRIPLET` to `VCPKG_TARGET_TRIPLET`
d2844c6a4f Merge bitcoin/bitcoin#35014: test: remove macOS REDUCE_EXPORTS exception workaround
858a0a9c96 test: Add SRD maximum weight tests
fe9f53bf0b test: Add SRD success tests
2840f041c5 test: Rework SRD insufficient balance test
64ab97466f Test: Add new minimum to tested feerates
65900f8dc6 test: Init coin selection params with feerate
82235bbf2b Merge bitcoin/bitcoin#34988: rpc: fix initialization-order-fiasco by lazy-init of decodepsbt_inputs
b555a0b789 test: remove macOS REDUCE_EXPORTS exception workaround
1d7edee34c Merge bitcoin/bitcoin#34977: Update libmultiprocess subtree to fix test timeout
2af003ae37 test: Use BasicTestingSetup when TestingSetup is not necessary
9ee77701dd refactor(test): Only specify TestChain100Setup in test cases
d868667fdc Merge bitcoin/bitcoin#34985: fuzz: remove GetDescriptorChecksum from string harness
66b4e30ec8 Merge commit '7a6d210989af56a03d7efa79f1f3a90047bb88fe' into 2026/04/libmultiprocess-subtree
7a6d210989 Squashed 'src/ipc/libmultiprocess/' changes from 70f632bda8..3edbe8f67c
422ca211ec test: ensure HTTP server enforces limits on headers and body size
485ebad1ee Merge bitcoin/bitcoin#33385: contrib: Add bash completion for new bitcoin command
3fd68a95e6 scripted-diff: replace remaining Python test equality asserts
301b1d7b1f test: add missing `assert_equal` imports
06a4176c42 test: convert truthy asserts in `wallet_miniscript` and `rpc_psbt`
d9a3cf20a4 test: convert simple equality asserts in excluded files
23c06d4e6d test: convert equality asserts with comments or special chars
dcd90fbe54 test: prep manual equality assert conversions
4f4516e3f6 test: split equality asserts joined by `and`
76a5570b36 test: use `in` for two-value equality asserts
996e4f7edd Merge bitcoin/bitcoin#35001: validation: Remove stale `BlockManager` param from `ContextualCheckBlockHeader`
b730dc3301 Merge bitcoin/bitcoin#34208: bench: add fluent API for untimed `setup` steps in nanobench
0c1a07e890 test: ensure HTTP server timeout is not caused by a delayed response
f06de5c1ea test: clean up and modernize interface_http
74e7518088 Merge bitcoin/bitcoin#34989: doc: remove stale shortid collision TODO
8edb13dbdd Merge bitcoin/bitcoin#34967: doc: Discourage trailing doxygen comments, and fix the broken ones
19e99be011 guix: remove riscv exclusion from symbol check
47b7a9f666 guix: binutils 2.46.0
851152e42a validation: Remove stale BlockManager param in ContextualCheckBlockHeader
a7c30da1f6 Merge bitcoin/bitcoin#34873: net: fix premature stale flagging of unpicked private broadcast txs
1401011f71 test: Add test for exceeding max line length in torcontrol
84c1f32071 test: Add torcontrol coverage for PoW defense enablement
7dff9ec298 test: Add test for partial message handling in torcontrol
569383356e test: Add simple functional test for torcontrol
4117b92e67 fuzz: Improve torcontrol fuzz test
b1869e9a2d torcontrol: Move tor controller into node context
eae193e750 torcontrol: Remove libevent usage
242b0ebb5c btcsignals: use a single shared_ptr for liveness and callback
b12f43a0a8 signals: remove boost::signals2 from depends and vcpkg
a4b1607983 signals: remove boost::signals2 mentions in linters and docs
375397ebd9 signals: remove boost includes where possible
091736a153 signals: re-add forward-declares to interface headers
9958f4fe49 Revert "signals: Temporarily add boost headers to bitcoind and bitcoin-node builds"
34eabd77a2 signals: remove boost compatibility guards
e60a0b9a22 signals: Add a simplified boost-compatible implementation
63c68e2a3f signals: add signals tests
d517fa0a94 rpc: fix initialization-order-fiasco by lazy-init of decodepsbt_inputs
f1e14dfbe9 depends: remove workaround for Make older than 4.2.90
fa1f4feac4 Merge bitcoin/bitcoin#34965: cli: Return more helpful authentication errors
4b98962731 Merge bitcoin/bitcoin#34448: ci, iwyu: Fix warnings in `src/util` and treat them as errors
59199fa5ea Merge bitcoin/bitcoin#33908: kernel: add context‑free block validation API (`btck_check_block_context_free`) with POW/Merkle flags
fc736013a5 rpc: Add in_memory option to dumptxoutset with rollback
d0fd718948 test: Extend named pipe sqlite tool test to use rollback
ab9463efac test: Add dumptxoutset fork test
49d5e835a8 rpc: Don't invalidate blocks in dumptxoutset
fe58eb9850 blockstorage: Add DeletePruneLock
037ea2c714 walletdb: Remove m_mock from SQLiteDatabase
59484e2fdb wallet: Make Mockable{Database,Batch} subclasses of SQLite classes
b69f989dc5 wallet, bench: Use TestingSetup in CoinSelection benchmark
e7d67c9fd9 test: Make duplicating MockableDatabases use cursor and batch
964eafb71c bench, wallet: Make WalletMigration's setup WalletBatch scoped
facaeb9c76 doc: Discourage trailing doxygen comments, and fix the broken ones
8cc690ea9b Merge bitcoin/bitcoin#34379: wallet: fix `gethdkeys` RPC for descriptors with partial xprvs
194f57109d Merge bitcoin/bitcoin#34976: lint: Clarify rmtree/remove_all error message with preferred alternatives
fc9987dfc6 doc: remove stale shortid collision TODO
1189702d2f Merge bitcoin/bitcoin#34982: kernel: Remove NONNULL annotation from destroy method
52c3381fa8 Merge bitcoin/bitcoin#33506: test: sock: Enable all socket tests on Windows
24609389a4 Merge bitcoin/bitcoin#34986: docs: remove duplicate ///@} from bitcoinkernel.h
7abf6f6fb6 docs: remove duplicate ///@} from bitcoinkernel.h
91cd0e3aaa fuzz: remove GetDescriptorChecksum from string harness
75608547b4 kernel: Remove NONNULL annotation from destroy method
fa955af618 lint: Clarify rmtree/remove_all error message with preferred alternatives
8e789322c5 Merge bitcoin/bitcoin#34944: guix: Clean up module list in manifest
8b461c530e Merge bitcoin/bitcoin#34956: depends, qt: Fix build on aarch64 macOS 26.4
aeb667f6b7 Merge bitcoin/bitcoin#33343: help: enrich help text for `-loadblock`
0831173c01 Merge bitcoin/bitcoin#34640: wallet: rpc: Improve error message for low feerates.
d0ed369b3b Merge bitcoin/bitcoin#34049: rpc: Disallow captures in RPCMethodImpl
5deed3deab Merge bitcoin/bitcoin#34958: test: mining: add coverage for GBT's "coinbasevalue" result field
54fa356365 Merge bitcoin/bitcoin#34957: policy: remove incorrect `MANDATORY_SCRIPT_VERIFY_FLAGS` comment
4757b71aa7 Merge bitcoin/bitcoin#34938: refactor: Return std::optional over bool+mut&
257769a7ce qa: Improve error message
20a94c1524 cli: Clearer error messages on authentication failure
84c3f8d325 refactor(rpc): GenerateAuthCookieResult -> AuthCookieResult
fa244b984c refactor: Use NodeClock::time_point for m_last_send/recv and m_ping_start
fa2605b204 refactor: Use NodeClock::time_point for CNetMessage::m_time
c97ac44c34 Merge bitcoin/bitcoin#32297: bitcoin-cli: Add -ipcconnect option
a846a7c805 Merge bitcoin/bitcoin#34811: doc: update cjdns.md for current cjdns installation and peering
12c3c3f81d test: mining: add coverage for GBT's "coinbasevalue" result field
8b49e2dd4e ci, iwyu: Fix warnings in `src/util` and treat them as errors
6953363be8 refactor: Move license info into new module
eb750d277b iwyu: Remove workaround for issue that has been fixed upstream
5fa6898818 policy: remove incorrect MANDATORY_SCRIPT_VERIFY_FLAGS comment
3aeccb7d73 depends, qt: Fix build on aarch64 macOS 26.4
f6e6fad0d9 Merge bitcoin/bitcoin#34867: wallet: document importdescriptors error object fields
0e2122c62e Merge bitcoin/bitcoin#32875: index: handle case where pindex_prev equals chain tip in NextSyncBlock()
550f603025 Merge bitcoin/bitcoin#34382: test: wallet: Check fallbackfee default argument behavior.
b0f68f0a3a Merge bitcoin/bitcoin#34804: Update libmultiprocess subtree to fix race conditions on disconnects
325f743eed guix: Clean up module list in manifest
fabab69e9e refactor: Return std::optional from ParseDouble
fa0a09441d refactor: Return std::optional from GetWalletNameFromJSONRPCRequest
fafb0c4cbe refactor: Return std::optional from GetLogCategory
826819a510 Merge bitcoin/bitcoin#34939: fuzz: Use CAmount for storing best_waste
2b6af628b1 Merge bitcoin/bitcoin#34491: ci: add FreeBSD Clang cross job
e602ad62d0 Merge bitcoin/bitcoin#34919: test: script: boundary at exactly 65535 bytes must use OP_PUSHDATA2
954374d405 Merge bitcoin/bitcoin#34926: test: Replace DEBUG_LOG_OUT with -printtoconsole=1
890a09b1e4 fuzz: Use CAmount for storing best_waste
fae807ed25 test: Remove unused, confusing and brittle connect_nodes.wait_for_connect
fab2772647 test: Fix all races after a socket is closed gracefully
fa21edddb2 test: Stricter checks in rpc_setban.py
faa404e119 test: Add is_connected_to helper
613a548648 Merge commit '2478a15ef966cc93d47dd0f461a44be39bc51534' into pr/subtree-9
2478a15ef9 Squashed 'src/ipc/libmultiprocess/' changes from 1868a84451f..70f632bda8f
fa644e625b refactor: Use NodeClock::duration for m_last_ping_time/m_min_ping_time/m_ping_wait
333316f6be doc: Fix typo "eviction criterium" -> "eviction criterion"
fa54fb0129 refactor: gui: Accept up to nanoseconds in formatDurationStr, but clarify they are ignored
fab88884b7 refactor: Avoid manual chrono casts with * or /
facfce37f6 util: Add NodeClock::epoch alias
fa41e072b3 refactor: Use NodeClock alias over deprecated GetTime
4f8bd396f8 Merge bitcoin/bitcoin#34913: fuzz: Use time helpers in node_eviction
21da421b42 Merge bitcoin/bitcoin#34439: qa: Drop recursive deletes from test code, add lint checks.
8a8edc8d88 Merge bitcoin/bitcoin#34741: refactor: Return std::optional from GetNameProxy/GetProxy
a5609fc249 Merge bitcoin/bitcoin#34458: net: Don't log own ips during discover
261d229455 test: Replace DEBUG_LOG_OUT with -printtoconsole=1
3dcdb2b9ba test: wallet: Warning for excessive fallback fee.
6664e41e56 test: wallet: -fallbackfee default is 0
d28c989243 test: wallet: refactor: fallbackfee extract common send failure checks.
99f99c989e Merge bitcoin/bitcoin#34918: fuzz: [refactor] Remove unused g_setup pointers
fde37778ba Merge bitcoin/bitcoin#34915: doc: archive release notes for v28.4
6d54365c3e Merge bitcoin/bitcoin#34920: wallet: drop stale TODOs
fa1ebde1ad fuzz: Use time helpers in node_eviction
325afe664d net: delay stale evaluation and expose time_added in private broadcast
1438165b1f wallet: drop stale TODOs
fabbfec3b0 fuzz: Remove unused g_setup pointers
f899674639 test: script: boundary at exactly 65535 bytes must use OP_PUSHDATA2
5a81d73a81 scripted-diff: rpc: Don't pointlessly capture in RPCMethod lambdas
4e789299af scripted-diff: rpc: Rename RPCHelpMan to RPCMethod
3e089038aa doc: archive release notes for v28.4
2fe76ed832 Merge bitcoin/bitcoin#34896: ci: Upgrade IWYU to 0.26 compatible with Clang 22
c61c504f27 Merge bitcoin/bitcoin#34883: ci: vcpkg-specific cleanups
0d1301b47a test: functional: drop rmtree usage and add lint check
8bfb422de8 test: functional: drop unused --keepcache argument
a7e4a59d6d qa: Remove all instances of `remove_all` except test cleanup
38886a6710 Merge bitcoin/bitcoin#34786: validation: do not add the snapshot to candidates set of the background chainstate
6b99a3e4f0 doc: update cjdns.md for current upstream changes
0587c56091 kernel: Expose context-free block validation
bfc84eb2ea Merge bitcoin/bitcoin#33259: rpc, logging: add backgroundvalidation to getblockchaininfo
1ef7166029 Merge bitcoin/bitcoin#34891: doc: Note that generateblock does not collect transaction fees
4ecf473c36 Merge bitcoin/bitcoin#34727: test: Add IPC wake-up test and reuse mining context
3129d4a693 ci: Rename `TIDY_LLVM_V` to `IWYU_LLVM_V` in IWYU-specific code
71f827c3c2 kernel: Expose consensus parameters (`btck_ConsensusParams`)
999d18ab1c net: introduce TxSendStatus internal state container
667e081a2a Merge bitcoin/bitcoin#34598: bench: use larger payload in HexStrBench
25f69d970a release note
af629821cf test: add background validation test for getblockchaininfo
a3d6f32a39 rpc, log: add backgroundvalidation to getblockchaininfo
5b2e4c4a88 log: update progress calculations for background validation
3e5dc61035 rpc, refactor: gettxoutsetinfo race condition fix follow-ups
400aa68b4a Merge bitcoin/bitcoin#34809: threadsafety: Add STDLOCK() macro for StdMutex
fa73ed467c refactor: Fix redundant conversion to std::string and then to std::string_view [performance-string-view-conversions]
16613c9de9 Merge bitcoin/bitcoin#34857: test: Remove confusing assert_debug_log in wallet_reindex.py
65379bb8d0 ci: add FreeBSD cross CI job
f44191f163 depends: build qrencode for Freebsd
7f7018738e depends: FreeBSD cross with Clang
6464f14081 depends: disable inotify in Freebsd Qt build
fbabe86190 Merge bitcoin/bitcoin#34870: wallet: feebumper, fix crash when combined bump fee is unavailable
696b5457c5 Merge bitcoin/bitcoin#34667: test: ensure FastWalletRescanFilter is correctly updated during scanning
9a03ba1e3a Merge bitcoin/bitcoin#34888: wallet: fix amount computed as boolean in coin selection
8444efbd4a refactor: Get rid of unnecessary newlines in logs
6bcb60354e refactor: Modernize member variable names in torcontrol
a36591d194 refactor: Use constexpr in torcontrol where possible
1a1f584360 Merge bitcoin/bitcoin#29963: depends: Do not consider `CC` environment variable for detecting system
28b93af19d Merge bitcoin/bitcoin#33414: tor: enable PoW defenses for automatically created hidden services
8d2f06853a sync: Use StdMutex for thread safety annotations
cbc231ed8e scripted-diff: logging: Switch from StdLockGuard to STDLOCK
f808786f48 logging: Add missing thread safety annotations
e196cf26e0 util/stdmutex.h: Add STDLOCK() and improve annotation checking for StdMutex
a703c70bb8 Merge bitcoin/bitcoin#34589: ci: Temporarily use clang in valgrind tasks
cdaf2f20ae Merge bitcoin/bitcoin#34850: depends: Remove no longer necessary `dsymutil`
3d1b7d0f6a Merge bitcoin/bitcoin#34639: iwyu: Document or remove some `pragma: export` and other improvements
559df68240 Merge bitcoin/bitcoin#34878: depends: Fix cross-compiling on macOS for Windows
999c42484f Merge bitcoin-core/gui#815: Bugfix on TransactionsView - Disable if privacy mode is set during wallet selection
0b489886f8 ci: Upgrade IWYU to 0.26 compatible with Clang 22
0026b330c4 wallet: fix amount computed as boolean in coin selection
3136559923 doc: Note that generateblock does not collect transaction fees
483769c046 Merge bitcoin/bitcoin#26201: Remove Taproot BIP 9 deployment
2d5cedfe12 ci: Switch to VS-vendored vcpkg instance
ad75b147b5 test: scale IPC mining wait timeouts by timeout_factor
e7a918b69a test: verify IPC error handling for invalid coinbase
63684d6922 test: move make_mining_ctx to ipc_util.py
4ada575d6c test: verify createNewBlock wakes promptly when tip advances
0fe6fccec2 doc: Document rationale for using `IWYU pragma: export`
cfa3b10d50 iwyu, doc: Document `IWYU pragma: export` for `<logging/categories.h>`
015bea05e6 iwyu, doc: Document `IWYU pragma: export` for `<chrono>`
48bfcfedec iwyu, doc: Document `IWYU pragma: export` for `<threadsafety.h>`
179abb387f refactor: Move `StdMutex` to its own header
9aa5b3c3a3 ci: Switch to `x64-windows-release` triplet
65882fa68f ci: Remove upstreamed vcpkg workaround
19c9474742 Merge bitcoin/bitcoin#34791: test: Suppress another unsolicited `mock_process/*` output
7a9304f887 depends: Fix cross-compiling on macOS for Windows
faad08e59c test: Use NodeClockContext in more tests
fa8fe0941e fuzz: Use NodeClockContext
6e295d8ad5 Merge bitcoin/bitcoin#34059: refactor: Use NodeClock::time_point for m_addr_token_timestamp
fa9f434df8 test: Allow time_point in boost checks
faaea7895f refactor: Use current_time over redundant call to Now()
3333c5023f refactor: Use NodeClock::time_point for m_addr_token_timestamp
f80bf5128d Merge bitcoin/bitcoin#34869: tests: applied PYTHON_GIL to the env for every test
b425a81f07 Merge bitcoin/bitcoin#34868: scripted-diff: Rename `WAIT_TIMEOUT` to `TEST_WAIT_TIMEOUT`
d14293c3a9 Merge bitcoin/bitcoin#34859: ci: Retry on intermittent Windows generate download failures
d58e0ad0a4 Merge bitcoin/bitcoin#33215: Fix compatibility with `-debuglogfile` command-line option
93e8bcc077 Merge bitcoin/bitcoin#32442: doc: guix: Troubleshooting zdiff3 issue and uninstalling.
14053d8520 Merge bitcoin/bitcoin#34550: guix: update time-machine to c5eee3336cc1d10a3cc1c97fde2809c3451624d3
bc1c540920 Merge bitcoin/bitcoin#29060: Policy: Report debug message why inputs are non standard
3ca3e519b6 Merge bitcoin/bitcoin#34684: refactor: Enable -Wswitch in exhaustive switch'es, Enable -Wcovered-switch-default
b14f2c76a1 tests: applied PYTHON_GIL to the env for every test
6d2952c3c3 serialize: Add missing `<span>` header
6072a2a6a1 wallet: feebumper, fix crash when combined bump fee is unavailable
c53021b0ec Merge bitcoin/bitcoin#34499: miniscript: Use valid script in test, etc (#31713 follow-ups)
3c9e421942 Merge bitcoin/bitcoin#34846: kernel: Add API getter functions for timelock fields (`nLockTime`, `nSequence`)
658e68f95b scripted-diff: Rename `WAIT_TIMEOUT` to `TEST_WAIT_TIMEOUT`
445143bfc6 wallet: document structured importdescriptors errors
c0d3d493a9 Merge bitcoin/bitcoin#34704: validation: Explicitly move blocks to validation signals
7e18e2b16f Merge bitcoin/bitcoin#32624: fuzz: wallet: add target for `MigrateToDescriptor`
3a4a863d19 Merge bitcoin/bitcoin#34823: threading: never require logging from sync.h (take 2)
4169e72d9e Merge bitcoin/bitcoin#34451: rpc: fix race condition in gettxoutsetinfo
fa71c6e84c ci: Avoid intermittent Windows generate download failures
fa30951af5 test: Remove confusing assert_debug_log in wallet_reindex.py
a7514c1aa9 Merge bitcoin/bitcoin#34848: cmake: Migrate away from deprecated SQLite3 target
81bf3ebff7 Merge bitcoin/bitcoin#34852: test: Fix intermittent issue in feature_assumeutxo.py
d81b562fca Merge bitcoin/bitcoin#34799: rpc: Run type check on decodepsbt result
33eaf910bd Merge bitcoin/bitcoin#34820: test: Use asyncio.SelectorEventLoop() over deprecated asyncio.WindowsSelectorEventLoopPolicy(), move loop creation
faf71d6cb4 test: [refactor] Use verbosity=0 named arg
99996f6c06 test: Fix intermittent issue in feature_assumeutxo.py
5cf6ea24d3 Merge bitcoin/bitcoin#34479: fuzz: Add and use NodeClockContext
578525d31d depends: Remove no longer necessary `dsymutil`
ca85b8c22d Merge bitcoin/bitcoin#34742: fuzz: set whitelist permissions on connman target
d6f680b427 validation: Move block into BlockDisconnected signal
4d02d2b316 validation: Move block into BlockConnected signal
8b0fb64c02 validation: Move validation signal events to task runner
498b6eb6b5 cmake: Migrate away from deprecated SQLite3 target
fa70b9ebaa ci: Temporarily use clang in valgrind tasks
faf3ef4ee7 ci: Clarify why valgrind task has gui disabled
9f28120a5b kernel: Add API function for getting a tx input's nSequence
6b64b181d5 kernel: Add API function for getting a tx's nLockTime
04480c2558 Merge bitcoin/bitcoin#34830: fuzz: set fSuccessfullyConnected in connman harness
3293e9a61f guix: document when GCC SSA gen patch can be removed
978023fd9e guix: use latest glibc 2.31
ab9a98b1e4 guix: combine gcc-libgcc-patches with base-gcc
2276426bb1 guix: switch to upstream python-oscrypto package
feea2a850e ci: use LIEF 0.17.5 in lint job
a7524f57ba guix: switch to upstream python-lief package
2bf97e813d guix: switch to upstream osslsigncode package
dc0ddab389 guix: drop CMake workaround
31eb46f054 guix: update to c5eee3336cc1d10a3cc1c97fde2809c3451624d3
0f323e1075 guix: add --no-same-owner to TAR_OPTIONS
dc104cc333 Merge bitcoin/bitcoin#34832: lint: detect arch for mlc binary
db3c25cfae index: add explicit early exit in NextSyncBlock() when the input is the chain tip
551875360c ci: Use arch-appropriate binaries in lint install
52e8c1ce32 Merge bitcoin/bitcoin#34825: depends: capnp 1.4.0
8d55154655 Merge bitcoin/bitcoin#34602: test: addrman: successive failures in the last week for IsTerrible
bac8046fce Merge bitcoin/bitcoin#34831: lint: remove excluded files from whitespace check
79467e3ec7 threading: never require logging from sync.h
f55c891a65 lint: more reuse of SHARED_EXCLUDED_SUBTREES
8864917d8b lint: add missing ipc/test to grep_boost_fixture_test_suite
ecefc12927 lint: fix lint issue in lint script
ee8c22eb6a contrib: fix whitespace issues in scripts
fa55723b8f move-only: Extract ProcessAddrs() helper
92287ae753 test/wallet: ensure FastWalletRescanFilter is updated during scanning
04e2118372 lint: remove excluded .cpp/.h files from whitespace check
685a44c601 fuzz: set fSuccessfullyConnected in connman harness
fadf901fd4 rpc: Run type check on decodepsbt result
ff7cdf633e Merge bitcoin/bitcoin#34816: test: Remove vulture from ci, Remove some --min-confidence=60 unused code
bde35d61f9 depends: capnp 1.4.0
92a3d30f38 Merge bitcoin/bitcoin#34418: qa: Make wallet_multiwallet.py Windows crossbuild-compatible
abaadc3d5b Merge bitcoin/bitcoin#31774: crypto: Use secure_allocator for `AES256_ctx`
16a02bf5af Merge bitcoin/bitcoin#33451: doc: Add `INSTALL.md` to Linux release tarballs
fa050da980 test: Move event loop creation to network thread
a1f22a0a6b test: Suppress another unsolicited `mock_process/*` output
fa9168ffcd test: Use asyncio.SelectorEventLoop() over deprecated asyncio.WindowsSelectorEventLoopPolicy()
390e7d61bd Merge bitcoin/bitcoin#34787: build: fix native macOS deployment
5440280891 Merge bitcoin/bitcoin#34745: refactor: replace `ArgsManager::cs_args RecursiveMutex` with `Mutex`
fa4ec13b44 build: Enable -Wcovered-switch-default
fa2670bd4b refactor: Enable -Wswitch in exhaustive switch
5f75d90c38 Merge bitcoin/bitcoin#34813: threads: qa: Add lock order annotation for `TxMempool::cs`
f1e0245f89 Merge bitcoin/bitcoin#34818: doc: fix process name typo in multiprocess.md
c2732146d1 doc: fix process name typo in multiprocess.md
faea12ecd9 test: Fixup docs for NodeClockContext and SteadyClockContext
5608b8ce9e Merge bitcoin/bitcoin#34750: test: fix addr relay test silently passing and other improvements
fa90b21430 test: Remove unused feature_segwit.py functions
fa6b05c96f test: Remove unused CUSTOM_._COUNT
fa7bac94d8 test: Remove unused wait_for_addr, firstAddrnServices, on_addr
fa388a3585 test: Remove unused self.p2p_conn_index = 1
fa803710e2 test: Remove unused AddressType
e31ab8040f Merge bitcoin/bitcoin#34749: rpc: Refactor gettxspendingprevout to be easier to parse
fab5072ce1 ci: Remove vulture
56983a4d4d Merge bitcoin/bitcoin#34815: ci: bump cirruslabs actions versions
136132e075 Merge bitcoin/bitcoin#34776: guix: Make guix-clean more careful
d236415649 rpc: Refactor gettxspendingprevout to be easier to parse
e19df67332 Merge bitcoin/bitcoin#33144: build: Set AUTHOR_WARNING on warnings
ab64277375 Merge bitcoin/bitcoin#34708: validation: refactor: remove ConnectTrace
44ddc9c93f Merge bitcoin/bitcoin#31560: rpc: allow writing UTXO set to a named pipe
1a2f4e9750 Merge bitcoin/bitcoin#34814: lint: Temporarily revert to vulture==2.14
9a968ad35e ci: bump cirruslabs actions versions
51a4dc5515 Merge bitcoin/bitcoin#34796: rpc, net: remove `startingheight` field of `getpeerinfo` RPC and from node state
2efb8c44bb Merge bitcoin/bitcoin#34807: kernel: doc: explain return value for `btck_WriteBytes` callback
faae981d35 lint: Temporarily revert to vulture==2.14
9085dee476 qa: Add lock order annotation for TxMempool::cs
32325d1777 tests: Add test for mempool-invalid wallet tx
25e063d950 wallet: Add separate balance info for non-mempool wallet txs
ec4ec91d59 kernel: doc: explain return value for `btck_WriteBytes` callback
b19caeea09 doc: add release note for #31560 (named pipe support for `dumptxoutset` RPC)
e98d36715e Merge bitcoin/bitcoin#34802: ci: Bump GHA actions versions
61a5460d0d test: add test for utxo-to-sqlite conversion using named pipe
2e8072edbe rpc: support writing UTXO set dump (`dumptxoutset`) to a named pipe
745ad941de p2p: remove m_starting_height field from node state (only show once in debug log)
b267efcdaf rpc, net: completely remove `startingheight` field of `getpeerinfo` RPC
fadaa7db33 ci: Bump GHA actions versions
ce6f182091 Merge bitcoin/bitcoin#33902: doc: Document compiler configuration for native depends packages
e96d9e6492 Merge bitcoin/bitcoin#34389: net/log: standardize peer+addr log formatting via `LogPeer`
281c0cce73 Merge bitcoin/bitcoin#34301: wallet: remove outdated `RewriteDB` calls from SPKM & `DBErrors::NEED_REWRITE` enum value
524aa1e533 Merge bitcoin/bitcoin#34576: threadpool: add ranged Submit overload
4c07cf87e2 doc: document depends compiler configuration
f25843d8ad Merge bitcoin/bitcoin#34441: ci: Allow running iwyu CI in worktree
fa4d5891b9 refactor: Introduce TxDocOptions
b8c84ec5a6 Merge bitcoin/bitcoin#34788: fuzz: register PeerManager in process_message(s)
fa8250e961 refactor: Add and use RPCResultOptions
d03e3be246 ci: check macos bundle structure and codesigning
66d80d57b4 macdeploy: use plugins dir to find plugins
ab137cbfe2 macdeploy: subprocess out to zip rather than shutil.make_archive
b62abc7eec Merge bitcoin/bitcoin#34436: refactor: add overflow-safe `CeilDiv` helper and use it in unsigned callsites
7c21413616 Merge bitcoin/bitcoin#34755: depends: cleanup meta files
63f27721c2 Merge bitcoin/bitcoin#32985: wallet: Always rewrite tx records during migration
9df4f9d100 Merge bitcoin/bitcoin#34472: bench: add script verification benchmark for P2TR key path spends
3201abe3ea Merge bitcoin/bitcoin#34359: test: add test for rebroadcast of transaction received via p2p
410f2a0d20 Merge bitcoin/bitcoin#33772: prevector: simplify operator==
3dcba2eff0 Merge bitcoin/bitcoin#26988: cli: rework -addrinfo cli to use addresses which aren’t filtered for quality/recency
af0da2fce2 crypto: Use `secure_allocator` for `AES256CBC*::iv`
d53852be31 crypto: Use `secure_allocator` for `AES256_ctx`
8c6fedaa81 build: `lockedpool.cpp` kernel -> crypto
51ac1abf6f bench: Add wallet encryption benchmark
9a15872516 wallet: Make encryption derivation clock mockable
b97abdcdf1 Merge bitcoin/bitcoin#34766: Pre-31.x branching updates
ae5485fa0d refactor: Generalize derivation target calculation
eed3161893 Merge bitcoin/bitcoin#34792: clusterlin: update SFL comments for deterministic order
98fcd7af23 wallet: rpc: Improve error message for low feerates.
f3bf63ec4f kernel: acquire coinstats cursor and block info atomically
5e77072fa6 rpc: fix race condition in gettxoutsetinfo
730308386a Merge bitcoin/bitcoin#34696: Update embedded asmap to 1772726400 for v31
951863d022 Merge bitcoin/bitcoin#34769: doc: update http worker thread names
79571b9181 threadpool: add ranged Submit overload
fa270fdacf refactor: Return std::optional from GetProxy
faeac1a931 refactor: Return std::optional from GetNameProxy
d67c8ed788 clusterlin: update SFL comments for deterministic order
0690a5d0f2 Update embedded asmap to 1772726400
20fb7618b0 args: make most ArgsManager members private
22b40f34f3 args: replace cs_args RecursiveMutex with Mutex
3a16ec8582 test: scope cs_args locks to avoid recursive locking
70b51fef7a args: eliminate all recursive locking of cs_args
7d61e03c70 args: extract lock-requiring internal helpers
f82d076771 Merge bitcoin/bitcoin#34784: ci: use latest versions of lint deps
74f71c5054 Remove Taproot activation height
a9baf19172 Merge bitcoin/bitcoin#34789: doc: update build guides pre v31
48f26e2040 Merge bitcoin/bitcoin#34751: doc: Update asmap-data repository rule for file inclusion
6b20ad84e0 doc: update build guides pre v31
b503768819 fuzz: register PeerManager in process_message(s)
195306c359 Merge bitcoin/bitcoin#34785: ci: remove TODOs from retry
ddf2a064de Fix compatibility with `-debuglogfile` command-line option
c08f0c3c29 ci: remove TODOs from retry
9f3752c437 ci: use latest versions of lint deps
544c15ff4e Merge bitcoin/bitcoin#34759: walletdb: hash pubkey/privkey in one shot to avoid leaking secret data
9aea2905fe Merge bitcoin/bitcoin#34783: depends: link to upstream qt issue
fadb77169b test: Scale feature_dbcrash.py timeout with factor
3a83715c2a depends: link to upstream qt issue
8dcd79949f Merge bitcoin/bitcoin#34718: Release: 31.0 translations update
5f9068bdcd Merge bitcoin/bitcoin#34781: test: Remove fixed TODO in address_to_scriptpubkey
eeeeb2a0b9 fuzz: Use NodeClockContext
fa4fae6227 test: Add NodeClockContext
d21afb297c qt: 31.0 translations update
fa0587a306 test: Remove fixed TODO in address_to_scriptpubkey
46189fd526 doc: update http worker thread names
be6d24ec22 guix: Make guix-clean less destructive
d3056bc149 Merge bitcoin/bitcoin#34606: doc: clarify swapping impact on IBD performance
f201ccc800 Merge bitcoin/bitcoin#34673: contrib: Update fixed seeds pre-31.0
42f97c542d Merge bitcoin/bitcoin#34705: kernel: Use fs:: namespace and unicode path in kernel tests
7691e8a005 Merge bitcoin/bitcoin#34471: refactor: Use aliasing shared_ptr in Sock::Wait
49bd12bd89 Merge bitcoin/bitcoin#34693: doc: Use relative markdown links
aefa8e6d14 Merge bitcoin/bitcoin#34361: test: clean up tx resurrection (re-org) test in feature_block.py
3a222507fd Merge bitcoin/bitcoin#34037: wallet, doc: clarify the coin selection filters that enforce cluster count
69baddc910 validation: do not add the snapshot block to candidates of bg chainstate
501a3dd4ad walletdb: hash pubkey/privkey in one shot to avoid leaking secret data
d198635fa2 Merge bitcoin/bitcoin#34677: kernel: Chainparams and headerssync updates pre-31.0
9833ef5f86 Merge bitcoin/bitcoin#34702: doc: Fix fee field in getblock RPC result
f2f0a0ca4c Merge bitcoin/bitcoin#34700: script: Fix undefined behavior in Clone() -- std::transform writes past end of empty vector
8825051e08 refactor: improve benchmark setup and execution for various tests
83b8528ddb bench: add fluent API for untimed setup steps in `nanobench`
48b952cbb6 build: bump to 31.99
1b3d58f128 docs Remove 31.0 release notes fragments
b7cf2f87d0 docs: Update bips.md
c7a3ea2483 Merge bitcoin/bitcoin#34692: Bump dbcache to 1 GiB
8b70ed6996 Merge bitcoin/bitcoin#34521: validation: fix UB in `LoadChainTip`
0ebc6891e2 depends: delete Boost extra files
168997e9b5 depends: disable Qt sbom generation
f6d3201e14 Merge bitcoin/bitcoin#33929: test: Remove `system_tests/run_command` runtime dependencies
b5737b755d Merge bitcoin/bitcoin#34650: depends: Update Qt to version 6.8.3
c0802e20be Merge bitcoin/bitcoin#34734: test: Fix shutdown vptr race in BlockFilterIndexSync bench
2ac4f6e019 Merge bitcoin/bitcoin#34612: leveldb: remove unused files
d97df29d5d Merge bitcoin/bitcoin#34747: test: Sync mempools and wait for txospender index to be synced in rpc_gettxspendingprevout
c12be53f85 Merge bitcoin/bitcoin#34635: rpc, index: txospenderindex improve formatting, docs and test coverage
8bc62ce173 doc: Update asmap-data repository rule for file inclusion
57bfa864fe test: use static methods and clarify comment in addr_relay
7ee8c0abc6 test: protect outbound connection from eviction in getaddr_test
ecb5ce6e76 test: fix addr relay test silent pass and wrong peerinfo index
15c4889497 index: document TxoSpenderIndex::FindSpender
f8b9595aaa test: Add missing txospenderindex coverage in feature_init
9316d96240 test: sock: Enable socket pair tests on Windows
cbdb891de2 test: Wait for txospender index to be synced in rpc_gettxspendingprevout
2db5c049bb test: Sync mempools after tx creation in rpc_gettxspendingprevout
ca45461ddb Merge bitcoin/bitcoin#33986: doc: improvements to doc/descriptors.md
fc39a4f568 Merge bitcoin/bitcoin#34713: depends: Allow building Qt packages after interruption
39668f1eeb contrib: Add bash completion for new bitcoin command
32debfa1ed fuzz: set whitelist permissions on connman target
a1074d852a index, rpc, test: Misc formatting fixes
7e91060ec7 Merge bitcoin/bitcoin#34733: subprocess: replace __USING_WINDOWS__ with WIN32
69b2c813f0 Merge bitcoin/bitcoin#34591: cmake: Improve `install_name_tool` workaround
2e041b4905 help: enrich help text for `-loadblock`
f2f5619360 Merge bitcoin/bitcoin#34709: wallet, test: improve wallet functional tests
2f8f2e9001 validation: remove ConnectTrace wrapper class
083242aac8 Merge bitcoin/bitcoin#34725: fuzz: assert we accept any PSBT serialization we create
20ae9b98ea Extend functional test for setBlockIndexCandidates UB
4c40a923f0 Merge bitcoin/bitcoin#34728: test: Fix intermittent issue in wallet_assumeutxo.py
854a6d5a9a validation: fix UB in LoadChainTip
fa79098ce2 test: Fix shutdown vptr race in BlockFilterIndexSync bench
9249e6089e validation: remove LoadChainTip call from ActivateSnapshot
d76ec4de14 fuzz: make sure PSBT serialization roundtrips
faa68ed4bd test: Fix intermittent issue in wallet_assumeutxo.py
bff8a7a80d subprocess: replace __USING_WINDOWS__ with WIN32
e09b81638b Merge bitcoin/bitcoin#34219: psbt: validate pubkeys in MuSig2 pubnonce/partial sig deserialization
89386e700e kernel: Use fs:: namespace and unicode path in kernel tests
2678abe902 prevector: simplify `operator==`
01dcb2fcc5 Merge bitcoin/bitcoin#34715: test: avoid interface_ipc.py race and null pointer dereference
dc109e1b34 Merge bitcoin/bitcoin#34706: doc: Improve dependencies.md IPC documentation
0a6724aaae doc: Update Windows build notes
473e5f8efc qt: Add patch to fix SFINAE warnings in QAnyStringView with gcc16
3cb4d6066b qt: add patches to fix SFINAE errors/warnings with gcc16
d7e972a90d qt: add patch to fix build with gcc16
19693a8c91 depends: Update Qt to 6.8.3
c55584575a cmake: Fix `FindQt` module
2eaf701bc0 Merge bitcoin/bitcoin#34679: ci: Download script_assets_test.json for Windows CI
17a04039bc Merge bitcoin/bitcoin#34662: ci: use LLVM/Clang 22 in tidy job
5e35a9069d interpreter: remove clang-tidy suppression
4089682f5c ci: use Clang 22 in tidy task
7ea076f996 tidy: remove deprecated header
eb17f29aa5 tidy: clang-tidy is required
bf9ef4f043 Merge bitcoin/bitcoin#34422: Update libmultiprocess subtree to be more stable with rust IPC client
b83de7f28e validation: remove sentinel block from ConnectTrace
d8f4e7caf0 doc: add release notes
248c175e3d test: ensure `ValidateInputsStandardness` optionally returns debug string
d2716e9e5b policy: update `AreInputsStandard` to return error string
2702711c3a Merge bitcoin/bitcoin#34642: wallet: call SyncWithValidationInterfaceQueue after disconnecting chain notifications
1c1de334e9 test: avoid interface_ipc.py race and null pointer dereference
2a7a4f608a depends: Allow building Qt packages after interruption
6b0a980de9 Merge bitcoin/bitcoin#34410: test: let connections happen in any order in p2p_private_broadcast.py
a61907e5d9 doc: explain swapping in `reduce-memory.md`
5c005363a8 test: improve `wallet_backup` test
04d9515748 test: improve `wallet_assumeutxo` func test
b87a1c27c9 doc: Improve dependencies.md IPC documentation
f580cc7e9f doc: Fix `fee` field in `getblock` RPC result
4ae9a10ada doc: add release notes for dbcache bump
37d49f5de6 doc: mention Miniscript expressions inside reference
771f7642bc doc: fix typo in descriptors.md
708b84999b doc: reference descriptor BIPs in descriptors.md
8f2a869a19 doc: do not list descriptor RPCs or history
65a8b6c2ef doc: mention musig() in descriptors.md
c510d126ef doc: update dbcache default in reduce-memory.md
027cac8527 qt: show GetDefaultDBCache() in settings
5b34f25184 dbcache: bump default from 450MB -> 1024MB if enough memory
44feab23a7 script: Fix undefined behavior in Clone() -- std::transform writes past end of empty vector
4565cff72c bitcoin-gui: Implement missing Init::makeMining method
9cad97f6cd Merge bitcoin/bitcoin#34690: test: Add missing timeout_factor to zmq socket
fbea576c26 test: add interface_ipc_cli.py testing bitcoin-cli -ipcconnect
0448a19b1b ipc: Improve -ipcconnect error checking
8d614bfa47 bitcoin-cli: Add -ipcconnect option
6a54834895 ipc: Expose an RPC interface over the -ipcbind socket
df76891a3b refactor: Add ExecuteHTTPRPC function
3cd1cd3ad3 ipc: Add MakeBasicInit function
5a6dd7c693 Merge bitcoin/bitcoin#34661: ipc mining: Prevent ``Assertion `m_node.chainman' failed`` errors on early startup
779e7825db fuzz: wallet: add target for `MigrateToDescriptor`
98e8af4bb9 wallet: Drain validation interface queue after notifications disconnect
52992ebe1c interfaces: Add waitForNotifications() to call SyncWithValidationInterfaceQueue()
fa9d0623a3 doc: Use relative markdown links
ceff6771b8 Merge bitcoin/bitcoin#34583: ci: [refactor] Drop last use of pwsh
b0833b560a Merge bitcoin/bitcoin#34668: test: Add missing resolve() to valgrind.supp file for test shell
fa48f8c865 test: Add missing timeout_factor to zmq socket
3a8b4e89f6 Merge bitcoin/bitcoin#34687: ci: Set TEST_RUNNER_PORT_MIN in test-each after cirrus runner switch
286de1e7b3 Merge bitcoin/bitcoin#34093: netif: fix compilation warning in QueryDefaultGatewayImpl()
73e3853110 test: add test for rebroadcast of transaction received via p2p
fab51e470e test: Move valgrind.supp to the other sanitizer_suppressions files
fa9cf81d39 test: Add missing resolve() to valgrind.supp file
05cd3b00b9 Merge bitcoin/bitcoin#34597: util: Fix UB in SetStdinEcho when ENOTTY
3c7b0f97e0 Merge bitcoin/bitcoin#34656: doc: clarify confusing `git range-diff` add/delete output
701b8d7148 Merge bitcoin/bitcoin#34609: test: remove appveyor reference in comment
fa18be2f2b test: Fix typo
fac932698f ci: Set TEST_RUNNER_PORT_MIN in test-each after cirrus runner switch
c1361fc42d netif: fix compilation warning in QueryDefaultGatewayImpl()
b6b8f8ac55 Merge bitcoin/bitcoin#34562: ThreadPool follow-ups, proactive shutdown and HasReason dependency cleanup
8834e4e86c test: remove appveyor reference in comment
fa7612f253 ci: Download script_assets_test.json for Windows CI
bb3ac00cf8 Merge bitcoin/bitcoin#34001: test: fix test_limit_enforcement_package
107a204d24 Merge bitcoin/bitcoin#34682: ci: fix vcpkg tools cache key collision between windows matrix jobs
7777a13306 test: Move Fetching-print to download_from_url util
faf96286ce test: move-only download_from_url to stand-alone util file
17a079c2fb ci: fix vcpkg tools cache key collision between windows matrix jobs
408d5b12e8 test: include response body in non-JSON HTTP error msg
9dc653b3b4 test: threadpool, add coverage for all Submit() errors
ce2a984ee3 test: cleanup, use HasReason in threadpool_tests.cpp
d9c6769d03 test: refactor, decouple HasReason from test framework machinery
dbbb780af0 test: move and simplify BOOST_CHECK ostream helpers
3b7cbcafcb test: ensure Stop() thread helps drain the queue
ca101a2315 test: coverage for queued tasks completion after interrupt
bf2c607aaa threadpool: active-wait during shutdown
e88d274430 test: add threadpool Start-Stop race coverage
af99643454 Merge bitcoin/bitcoin#34054: net processing: Add ibd check before processing block for txdownloadman
fa0cc1c5a4 test: [doc] Remove outdated comment
44538f8ada kernel: Add recent assumeutxo snapshot info
58c2e23fca kernel: Update headerssync params
cf261b071f kernel: update chainTxData
8eaf1d26d4 kernel: update defaultAssumeValid and minimumChainWork
5ca0c55517 kernel: update assumed blockchain and chainstate sizes
fec58229fa contrib: Update fixed feeds
27fbdb009f makeseeds: Choose node info with most recent success when deduplicating
982883a1bc makeseeds: Update known user agents
707ad46696 Merge bitcoin/bitcoin#34671: doc: Update Guix install for Debian/Ubuntu
faa70ca764 doc: Update Guix install for Debian/Ubuntu
7c80301439 Merge bitcoin/bitcoin#33616: policy: don't CheckEphemeralSpends on reorg
b7ca3bf061 Squashed 'src/ipc/libmultiprocess/' changes from 1fc65008f7d..1868a84451f
8fe91f3719 test: Updates needed after bitcoin-core/libmultiprocess#240
cb15f5a317 Merge commit 'b7ca3bf061b51108d155283c1ad503c0af7eab0d' into pr/subtree-8
33fbaed310 policy: don't CheckEphemeralSpends on reorg
b9bf24cfe2 Merge bitcoin/bitcoin#34616: Cluster mempool: SFL cost model (take 2)
403523127b Merge bitcoin/bitcoin#34608: test: Fix broken --valgrind handling after bitcoin wrapper
a49f97ff4a net: Don't log own ips during discover
76eb04b16f Merge bitcoin/bitcoin#34655: fuzz: keep `coins_view` fuzzers within caller contracts
21cd1ba182 Merge bitcoin/bitcoin#34286: test: verify node state after restart in assumeutxo
f3887cf694 Merge bitcoin/bitcoin#34561: wallet: rpc: manpage: fix example missing `fee_rate` argument
8cd4a4363f threadpool: guard against Start-Stop race
9ff1e82e7d test: cleanup, block threads via semaphore instead of shared_future
f50d53c847 Merge bitcoin/bitcoin#34627: guix: use a temporary file over sponge, drop moreutils
c88c916e72 Merge bitcoin/bitcoin#34653: test: improve txospender index tests code
744d47fcee clusterlin: adopt trained cost model (feature)
4eefdfc5b7 clusterlin: rescale costs (preparation)
bbc8f1e0a7 ipc mining: Prevent ``Assertion `m_node.chainman' failed`` errors on early startup
a7cabf92e4 init refactor: Only initialize node.notifications one time
ecc9a84f85 clusterlin: use 'cost' terminology instead of 'iters' (refactor)
9e7129df29 clusterlin: introduce CostModel class (preparation)
e8f8b74a46 test: index, improve txospenderindex_initial_sync() test code
c8e332cb33 init refactor: Remove node.init accesss in AppInitInterfaces
5db78c84ad Merge bitcoin/bitcoin#34660: ci: use LLVM 22 in sanitizer tasks
fa5d478853 test: valgrind --trace-children=yes for bitcoin wrapper
fa29fb72cb test: Remove redundant warning about missing binaries
fa03fbf7e3 test: Fix broken --valgrind handling after bitcoin wrapper
bd9e0e65f5 Merge bitcoin/bitcoin#34184: mining: add cooldown to createNewBlock() immediately after IBD
a28eedb8c2 ci: use LLVM 22 in sanitizer tasks
ab8a7af742 Merge bitcoin/bitcoin#34646: Fix two issues in p2p_private_broadcast.py
9581a0a5b1 Merge bitcoin/bitcoin#34615: mempool: expose optimality of mempool to log / rpc
3281824ecf fuzz: prevent invalid `FRESH` entries and surface `BatchWrite` errors
780f460635 fuzz: avoid invalid `AddCoin` overwrites
d7e0d510f2 fuzz: make `AddCoins` query view for overwrites
b8fa6f0f70 util: introduce `TrySub` to prevent unsigned underflow
ac3bea07cd test: improve rpc_gettxspendingprevout.py code
da7f70a532 test: use port 0 for I2P addresses in p2p_private_broadcast.py
a8ebcfd34c test: let connections happen in any order in p2p_private_broadcast.py
45133c589a doc: clarify `git range-diff` add/delete output
e5f0613503 net processing: Check if we are in ibd before processing block for txdownloadman
ce8b692897 Add functional test exercising tx downloadman recently confirmed filter
c462e54f9d test: don't always assert NUM_PRIVATE_BROADCAST_PER_TX broadcasts
3710566305 test: move abortprivatebroadcast test at the end
38a7a67126 cmake: Provide `install_name_tool` stub instead of disabling it
fcaec2544b doc: release note for IPC cooldown and interrupt
1e82fa498c mining: add interrupt()
a11297a904 mining: add cooldown argument to createNewBlock()
a9e59f7d95 rpc: add optimal result to getmempoolinfo
a3fb3dd55c mempool: log if we detect a non-optimal mempool
3feabb203a leveldb: remove unused files
c86bce597a guix: use a temporary file over sponge
6202acd284 test: addrman: successive failures in the last week for IsTerrible
c68e3d2c57 doc: add release notes for Tor PoW defenses
4bae84c94a doc: add a hint to enable PoW defenses to manual hidden services
4c6798a3d3 tor: enable PoW defenses for automatically created hidden services
fb993f7604 tor, fuzz: reuse constants instead of duplicating
111864ac30 qa: Avoid duplicating output in case the diff is the same
c2e28d455a ci: Enable `wallet_multiwallet.py` in "Windows, test cross-built" job
850a80c199 qa: Disable parts of the test when running under Windows or root
fb803e3c79 qa: Test scanning errors individually
ed43ce57cc qa: Check for platform-independent part of error message
64a098a9b6 refactor(qa): Break apart ginormous run_test()
bb1aff7ed7 move-only(qa): Move wallet creation check down to others
d1a4ddb58e refactor(qa): Lift out functions to outer scopes
c811e47367 scripted-diff: self.nodes[0] => node
73cf858911 refactor(qa): Remove unused option
fa6af85634 refactor: Use static_cast<decltype(...)> to suppress integer sanitizer warning
fa692974ac util: Fix UB in SetStdinEcho when ENOTTY
97e7e79435 test: Enable `system_tests/run_command` "stdin" test on Windows
a4324ce095 test: Remove `system_tests/run_command` runtime dependencies
fa36adeb71 ci: [refactor] Drop last use of pwsh
fae31b1e2f ci: [refactor] Move github_import_vs_env to python script
fafdb8f635 ci: Allow running iwyu ci in worktree
fab73e213d ci: Reject unsafe execution of shell scripts
f611d3bdaf refactor: addrman: move consts to .h
353c660be5 bench: use deterministic `HexStr` payload
22335474d7 net: format peer+addr logs with `LogPeer`
e55ea534f7 test: add pre-`LogPeer` net log assertion
736b17c0f0 log: fix minor formatting in debug logs
9cf82bed32 log: show placeholders for missing peer fields
bb00fd2142 test: use dynamic ports and add coverage in feature_bind_port_discover
4f19508ae7 test: dont connect nodes in feature_bind_port_discover
b8827ce619 net: Fix Discover() not running when using -bind=0.0.0.0:port
80dc4359b8 cmake: Apply workaround for `install_name_tool` conditionally
a067ca3410 [doc] coin selection filters by max cluster count, not descendant
02d047fd5b refactor: add overflow-safe `CeilDiv` helper
50cf6838e6 wallet: rpc: manpage: fix example missing `fee_rate` argument
f7be5fb8fc [refactor] rename variable to clarify it is unused and cluster count
39e3295c71 test(miniscript): Check for depth rather than script size
5f36e0ff1e rpc: fix getblockstats UTXO overhead accounting
76190489e6 coins: pack `Coin` height/coinbase consistently
1f309d1aa2 coins: make `Coin::fCoinBase` a bool
d339884f1d bench: add script verification benchmark for P2TR key path spends
edc2978058 signals: use an alias for the boost::signals2 namespace
9ade3929aa signals: remove forward-declare for signals
037e58b57b signals: use forwarding header for boost signals
c6a6435ced wallet: remove `DBErrors::NEED_REWRITE` enum value
61039d72a5 wallet: remove unimplemented `RewriteDB` calls from SPKM
5af5e87646 test(miniscript): Make tested script valid
fd7c494c6b doc(miniscript): Explain why we operate on vectors
dd93362a1d bench: simplify script verification benchmark, generalize signing
faa016af54 refactor: Use aliasing shared_ptr in Sock::Wait
2150153f37 signals: Temporarily add boost headers to bitcoind and bitcoin-node builds
fd5e9d9904 signals: Use a lambda to avoid connecting a signal to another signal
da51b5e4d2 refactor(miniscript): Move keys to avoid copy
67696b207f net: extend log message to include attempted connection type
5cd57943b8 test: verify node state after restart in assumeutxo
43c528aba9 wallet, test: update `gethdkeys` functional test
6e3a0afc2f wallet: fix `gethdkeys` RPC for descriptors with partial xprvs
5b2c3960b9 test: clean up tx resurrection (re-org) test in feature_block.py
b149a28f6b depends: Do not consider `CC` environment variable when detecting system
1fea3bae5c ipc, test: Add tests for unclean disconnect and thread busy behavior
f51665bee7 psbt: validate pubkeys in MuSig2 pubnonce/partial sig deserialization
b3046cca71 doc: add release notes for #26988
e76e886581 guix: doc: zdiff3 doesn't work
ea1be38677 guix: doc: Suggest guix-install.sh --uninstall
0a8d303d66 test: fix test_limit_enforcement_package
81e763f1e5 wallet: Have GetBalance report used amount directly without two calls
675be93024 cli: modify -addrinfo to use getaddrmaninfo RPC endpoint
d62f46eed4 doc: Add `INSTALL.md` to Linux release tarballs
fa6497ba71 build: Set AUTHOR_WARNING on warnings
af041c4057 wallet: Always rewrite tx records during migration
0dc337f73d gui: Fix TransactionsView on setCurrentWallet

git-subtree-dir: libbitcoinkernel-sys/bitcoin
git-subtree-split: 0abbe35bb20cd7dae70b9a4d69e70472a9f6f680
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants