Commit Graph

46001 Commits

Author SHA1 Message Date
will
2c990d84a3 ci: force reinstall of kernel headers in asan
When using hosted runners in combination with cached docker images,
there is the possibility that the host runner image is updated,
rendering the linux-headers package (stored in the cached docker image)
incompatible.

Fix this by doing a re-install of the headers package in
03_test_script.sh.

If the underlying runner kernel has not changed thie has no effect, but
prevents the job from failing if it has.
2025-09-01 16:22:19 +01:00
will
884251441b ci: update asan-lsan-ubsan
Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
2025-09-01 16:22:18 +01:00
will
f253031cb8 ci: port arm 32-bit job
Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
2025-09-01 16:22:17 +01:00
will
04e7bfbceb ci: update windows-cross job
Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
2025-09-01 10:32:06 +01:00
will
cc1735d777 ci: add job to determine runner type
To remove multiple occurances of the respository name, against which we
compare `${{ github.repository }}` to check if we should use Cirrus
Runners, introduce a helper job which can check a single environment
variable and output this as an input to subsequent jobs.

Forks can maintain a trivial patch of their repo name against the
`REPO_USE_CIRRUS_RUNNERS` variable in ci.yml if they have Cirrus Runners
of their own, which will then enable cache actions and docker build
cache to use Cirrus Cache.

It's not possible to use `${{ env.USE_CIRRUS_RUNNERS }}` in the
`runs-on:` directive as the context is not supported by GitHub.

If it was, this job would no longer be necessary.
2025-09-01 10:32:05 +01:00
will
020069e6b7 ci: add Cirrus cache host
Whilst the action cirruslabs/actions/cache will automatically set this
host, the docker `gha` build cache backend will not be aware of it.

Set the value here, which will later be used in the docker build args to
enable docker build cache on the cirrus cache.
2025-09-01 10:32:04 +01:00
will
9c2b96e0d0 ci: have base install run in right dir
This sets the build dir at build time so that Apple SDK gets installed
in the correct/expected location for the runtime to find it.

Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
2025-09-01 10:32:03 +01:00
will
18f6be09d0 ci: use docker build cache arg directly
Reverts: e87429a2d0

This was added in PR #31545 with the intention that self-hosted runners
might use it to save build cache.

As we are not using hosted runners with a registry build cache, the bulk
of this commit can be reverted, simply using the value of
$DOCKER_BUILD_CACHE_ARG in the script.

link: https://github.com/bitcoin/bitcoin/pull/31545
2025-09-01 10:32:02 +01:00
will
94a0932547 ci: use buildx in ci
Using buildx is required to properly load the correct driver, for use
with registry caching. Neither build, nor BUILDKIT=1 currently do this
properly.

Use of `docker buildx build` is compatible with podman.
2025-09-01 10:32:01 +01:00
will
fdf64e5532 ci: add configure-docker action
Another action to reduce boilerplate in the main ci.yml file.

This action will set up a docker builder compatible with caching build
layers to a container registry using the `gha` build driver.

It will then configure the docker build cache args.
2025-09-01 10:32:00 +01:00
will
33ba073df7 ci: add REPO_USE_CIRRUS_RUNNERS
If set, Cirrus runners will be used on pushes to, and pull requests
against, this repository.

Forks can set this if they have their own cirrus runners.
2025-09-01 10:31:59 +01:00
will
b232b0fa5e ci: add caching actions
Add "Restore" and "Save" caching actions.

These actions reduce boilerplate in the main ci.yml configuration file.

These actions are implemented so that caches will be saved on `push`
only.

When a pull request is opened it will cache hit on the caches from the
lastest push, or in the case of depends will hit on any matching depends
hash, falling back to partial matches.

Depends caches are hashed using
`$(git ls-tree HEAD depends "ci/test/$FILE_ENV" | sha256sum | cut -d' ' -f1)`
and this hash is passed in as an input to the actions. This means we
direct cache hit in cases where depends would not be re-built, otherwise
falling back to a partial match.

Previous releases cache is hashed similarly to depends, but using the
test/get_previous_releases.py file.

The cirruslabs cache action will fallback transparently to GitHub's
cache in the case that the job is not being run on a Cirrus Runner,
making these compatible with running on forks (on free GH hardware).
2025-09-01 10:31:58 +01:00
will
b8fcc9fcbc ci: add configure environment action 2025-09-01 10:31:58 +01:00
Ava Chow
7cc9a08706 Merge bitcoin/bitcoin#33253: Revert compact block cache inefficiencies
b7b249d3ad Revert "[refactor] rewrite vTxHashes as a vector of CTransactionRef" (Anthony Towns)
b9300d8d0a Revert "refactor: Simplify `extra_txn` to be a vec of CTransactionRef instead of a vec of pair<Wtxid, CTransactionRef>" (Anthony Towns)
df5a50e5de bench/blockencodings: add compact block reconstruction benchmark (Anthony Towns)

Pull request description:

  Reconstructing compact blocks is on the hot path for block relay, so revert changes from #28391 and #29752 that made it slower. Also add a benchmark to validate reconstruction performance, and a comment giving some background as to the approach.

ACKs for top commit:
  achow101:
    ACK b7b249d3ad
  polespinasa:
    lgtm code review and tested ACK b7b249d3ad
  cedwies:
    code-review ACK b7b249d
  davidgumberg:
    crACK b7b249d3ad
  instagibbs:
    ACK b7b249d3ad

Tree-SHA512: dc266e7ac08281a5899fb1d8d0ad43eb4085f8ec42606833832800a568f4a43e3931f942d4dc53cf680af620b7e893e80c9fe9220f83894b4609184b1b3b3b42
2025-08-28 16:10:42 -07:00
merge-script
084fd68fda Merge bitcoin/bitcoin#33258: ci: use LLVM 21
4cf0ae474b ci: use LLVM 21 (fanquake)

Pull request description:

  Use LLVM 21 in the *san & fuzz CIs.

ACKs for top commit:
  maflcko:
    lgtm ACK 4cf0ae474b
  janb84:
    ACK 4cf0ae474b
  l0rinc:
    utACK 4cf0ae474b

Tree-SHA512: bc91982060fd0cdf0fb3b2cc895a53ca374bd76f4d75c493087e23309d3f5ea870a12d9c29ac3309b338d9508dd3f0045ae524965d2875ec9174da04e13436a0
2025-08-28 19:45:06 +01:00
merge-script
6ff2d42362 Merge bitcoin/bitcoin#33189: rpc: followups for 33106
daa40a3ff9 doc fixups for 33106 (glozow)
c568511e8c test fixup for incremental feerate (glozow)
636fa219d3 test fixups (glozow)
9169a50d52 [rpc] expose blockmintxfee via getmininginfo (glozow)

Pull request description:

  Followups from #33106:
  - https://github.com/bitcoin/bitcoin/pull/33106#discussion_r2271855287
  - https://github.com/bitcoin/bitcoin/pull/33106#discussion_r2271909132
  - https://github.com/bitcoin/bitcoin/pull/33106#discussion_r2274373368
  - https://github.com/bitcoin/bitcoin/pull/33106#discussion_r2275327727
  - https://github.com/bitcoin/bitcoin/pull/33106#discussion_r2275120698
  - https://github.com/bitcoin/bitcoin/pull/33106#discussion_r2275470140
  - https://github.com/bitcoin/bitcoin/pull/33106#discussion_r2271864670
  - https://github.com/bitcoin/bitcoin/pull/33106#discussion_r2275120698
  - https://github.com/bitcoin/bitcoin/pull/33106#discussion_r2277786375
  - https://github.com/bitcoin/bitcoin/pull/33106#discussion_r2277669475
  - https://github.com/bitcoin/bitcoin/pull/33106#discussion_r2279251263

ACKs for top commit:
  ajtowns:
    ACK daa40a3ff9 ; cursory review, seems reasonable
  davidgumberg:
    ACK daa40a3ff9
  instagibbs:
    ACK daa40a3ff9

Tree-SHA512: d6f0ae5d00dadfbaf0998ac332c8536c997628de4f2b9947eb57712f05d3afa19a823c9cc007435be320640cd13a4c500db20c9606988cdd371934496dec009d
2025-08-28 19:44:31 +01:00
merge-script
4d54bb2b92 Merge bitcoin/bitcoin#33264: threading: reduce the scope of lock in getblocktemplate
493ba0f688 threading: reduce the scope of lock in getblocktemplate (kevkevinpal)

Pull request description:

  This change was motivated by https://github.com/bitcoin/bitcoin/pull/32592#discussion_r2294770722

  It does exactly what is said in the comment. Reducing the scope of the lock by a bit before it is needed

ACKs for top commit:
  stickies-v:
    re-ACK 493ba0f688
  maflcko:
    lgtm ACK 493ba0f688

Tree-SHA512: aa3a21ef3da6be6c0af78aa2dda61ee21c3f6d4d9c897413dba9e7d7d2a91e9e069bbc6b6684b45aadaa28d8603dd310f2c2d2e58c31bb4d864204e468fefaf1
2025-08-28 19:35:48 +01:00
merge-script
9ae23950ef Merge bitcoin/bitcoin#33261: ci: return to using dash in CentOS job
509ffea40a ci: return to using dash in CentOS job (fanquake)

Pull request description:

  `dash` is available again: https://bugzilla.redhat.com/show_bug.cgi?id=2335416.

ACKs for top commit:
  maflcko:
    lgtm ACK 509ffea40a
  davidgumberg:
    ACK 509ffea40a
  janb84:
    crACK 509ffea40a

Tree-SHA512: c57194b6158f6453cadb2487be232af5e37aa2234852f04a76fc80909fbfa48c7f8dd30e7be41be67dedb7ec4886930e165fdbaf746d358bb94c6ccc49d6bde6
2025-08-28 19:28:01 +01:00
kevkevinpal
493ba0f688 threading: reduce the scope of lock in getblocktemplate 2025-08-28 08:43:21 -04:00
fanquake
509ffea40a ci: return to using dash in CentOS job 2025-08-27 11:56:44 +01:00
Anthony Towns
b7b249d3ad Revert "[refactor] rewrite vTxHashes as a vector of CTransactionRef"
This reverts commit a03aef9cec.
2025-08-27 03:33:32 +10:00
Anthony Towns
b9300d8d0a Revert "refactor: Simplify extra_txn to be a vec of CTransactionRef instead of a vec of pair<Wtxid, CTransactionRef>"
This reverts commit a8203e9412.
2025-08-27 03:33:32 +10:00
Anthony Towns
df5a50e5de bench/blockencodings: add compact block reconstruction benchmark 2025-08-27 03:33:32 +10:00
fanquake
4cf0ae474b ci: use LLVM 21 2025-08-26 17:11:45 +01:00
Ava Chow
6ca6f3b37b Merge bitcoin/bitcoin#33241: Update libmultiprocess subtree to fix build issues
dd68d0f40b Squashed 'src/ipc/libmultiprocess/' changes from b4120d34bad2..1b8d4a6f1e54 (Ryan Ofsky)

Pull request description:

  Includes:

  - https://github.com/bitcoin-core/libmultiprocess/pull/193
  - https://github.com/bitcoin-core/libmultiprocess/pull/195
  - https://github.com/bitcoin-core/libmultiprocess/pull/194

  These changes are needed to build fix libmultiprocess build issue that happens on OpenBSD and work around an incompatibility between GCC versions <14 and cap'nproto versions  <0.9 when compiling with c++20 that was fixed upstream in https://github.com/capnproto/capnproto/pull/1170. The issues were reported:

  - https://github.com/bitcoin/bitcoin/issues/33219
  - https://github.com/bitcoin/bitcoin/issues/33176
  - https://github.com/willcl-ark/bitcoin-core-docker/pull/43

  The fixes added CI jobs upstream to catch these issues earlier.

  The changes can be verified by running `test/lint/git-subtree-check.sh src/ipc/libmultiprocess` as described in [developer notes](https://github.com/bitcoin/bitcoin/blob/master/doc/developer-notes.md#subtrees) and [lint instructions](https://github.com/bitcoin/bitcoin/tree/master/test/lint#git-subtree-checksh)

ACKs for top commit:
  Sjors:
    ACK 323b3fd272
  achow101:
    ACK 323b3fd272
  hebasto:
    ACK 323b3fd272, I've reproduced the subtree update locally. The two issues noted in this PR are unrelated to its changes and can be addressed separately.

Tree-SHA512: 3d03693d269c04d9ed10e8dd03e8059062929f37616d974c6fdf346ee62737c990ec550e013575e7474bfa4efcead3938bf9b259d62c073d76e720ebafe4ff66
2025-08-25 14:11:42 -07:00
merge-script
9703b7e6d5 Merge bitcoin/bitcoin#32592: threading: remove ancient CRITICAL_SECTION macros
46ca7712cb threading: remove unused template instantiations (Cory Fields)
b537a6a6db threading: remove obsolete critsect macros (Cory Fields)
0d0e0a39b4 threading: use a reverse lock rather than manual critsect macros (Cory Fields)
3ddd554d31 tests: Add Assertions in reverse_lock tests to exercise thread-safety annotations (Cory Fields)
c88b1cbf57 tests: get rid of remaining manual critsect usage (Cory Fields)

Pull request description:

  Now that #32467 is merged, the only remaining usage of our old `CRITICAL_SECTION` macros (other than tests) is in `getblocktemplate()` and it can safely be replaced with a `REVERSE_LOCK`.

  This PR makes that replacement, replaces the old `CRITICAL_SECTION` macro usage in tests, then deletes the macros themselves.

  ~While testing this a few weeks ago, I noticed that `REVERSE_LOCK` does not currently work properly with our thread-safety annotations as after the `REVERSE_LOCK` is acquired, clang still believes that the mutex is locked. #32465 fixes this problem. Without that fix, this PR would potentially allow a false-negative if code were added in the future to this chunk of `getblocktemplate` which required `cs_main` to be locked.~

  ~I added a test for the reverse lock here in the form of a compiler warning in `reverselock_tests.cpp` to simulate that possibility. This PR will therefore cause a new warning (and should fail a warnings-as-errors ci check) until #32465 is merged and this is rebased on top of it.~

  Edit: Rebased on top of #32465, so this should now pass tests.

ACKs for top commit:
  maflcko:
    review ACK 46ca7712cb 📌
  fjahr:
    Code review ACK 46ca7712cb
  TheCharlatan:
    ACK 46ca7712cb
  furszy:
    ACK 46ca7712cb

Tree-SHA512: 5e423c8539ed5ddd784f5c3657bbd63be509d54942c25149f04e3764bcdf897bebf655553338d5af7b8c4f546fc1d4dd4176c2bce6f4683e76ae4bb91ba2ec80
2025-08-23 17:18:29 +01:00
Ryan Ofsky
323b3fd272 Merge commit 'dd68d0f40b614474f24469fbe1ba02f8f9146b31' into pr/subtree-3 2025-08-22 17:15:44 -04:00
Ryan Ofsky
dd68d0f40b Squashed 'src/ipc/libmultiprocess/' changes from b4120d34bad2..1b8d4a6f1e54
1b8d4a6f1e54 Merge bitcoin-core/libmultiprocess#194: mpgen: Work around c++20 / capnproto 0.8 incompatibility
f1fad396bf5f Merge bitcoin-core/libmultiprocess#195: ci: Add openbsd
eed42f210d17 ci: Bump all tasks to actions/checkout@v5
486a510bbeff ci: Remove ancient and problematic -lstdc++fs in mpexample
dd40897efe79 Add missing thread include
98414e7d2867 ci: Add openbsd
dc3ba2204606 cmake, doc: Add check for CVE-2022-46149
cb170d4913a2 Merge bitcoin-core/libmultiprocess#193: build: require CapnProto 0.7.0 or better
8ceeaa6ae401 ci: Add olddeps job to test old dependencies versions
c4cb758eccb5 mpgen: Work around c++20 / capnproto 0.8 incompatibility
30930dff7b06 build: require CapnProto 0.7.0 or better

git-subtree-dir: src/ipc/libmultiprocess
git-subtree-split: 1b8d4a6f1e54b92708bd2ad627ec6d440a1daf3d
2025-08-22 17:15:44 -04:00
merge-script
73220fc0f9 Merge bitcoin/bitcoin#33212: index: Don't commit state in BaseIndex::Rewind
a602f6fb7b test: index with an unclean restart after a reorg (Martin Zumsande)
01b95ac6f4 index: don't commit state in BaseIndex::Rewind (Martin Zumsande)

Pull request description:

  The committed state of an index should never be ahead of the flushed chainstate.
  Otherwise, in the case of an unclean shutdown, the blocks necessary to revert
  from the prematurely committed state are not be available, which would corrupt the coinstatsindex in particular.
  Instead, the index state will be committed with the next ChainStateFlushed notification.

  Fixes #33208

ACKs for top commit:
  achow101:
    ACK a602f6fb7b
  stickies-v:
    re-ACK a602f6fb7b

Tree-SHA512: 2559ea3fe066caf746a54ad7daac5031332f3976848e937c3dc8b35fa2ce925674115d8742458bf3703b3916f04f851c26523b6b94aeb1da651ba5a1b167a419
2025-08-22 15:51:41 +01:00
Cory Fields
46ca7712cb threading: remove unused template instantiations
These were only required for the ENTER_CRITICAL_SECTION macro.
2025-08-22 14:25:39 +00:00
Cory Fields
b537a6a6db threading: remove obsolete critsect macros 2025-08-22 14:25:39 +00:00
Cory Fields
0d0e0a39b4 threading: use a reverse lock rather than manual critsect macros
No functional change.
2025-08-22 14:25:39 +00:00
Cory Fields
3ddd554d31 tests: Add Assertions in reverse_lock tests to exercise thread-safety annotations 2025-08-22 14:25:39 +00:00
Cory Fields
c88b1cbf57 tests: get rid of remaining manual critsect usage 2025-08-22 14:25:39 +00:00
merge-script
2c223de2af Merge bitcoin/bitcoin#33237: doc: use new block_to_connect parameter name
1c3db0ed8e doc: use new block_to_connect parameter name (stickies-v)

Pull request description:

  The parameter name was previously changed from `pblock` to `block_to_connect` in 9ba1fff29e, without updating the documentation.

  Addresses https://github.com/bitcoin/bitcoin/pull/33078#discussion_r2279914775.

ACKs for top commit:
  purpleKarrot:
    ACK 1c3db0ed8e
  janb84:
    ACK 1c3db0ed8e
  musaHaruna:
    ACK [1c3db0e](1c3db0ed8e)

Tree-SHA512: 8b12243f1d9e5586e487dd705dc5b40ff12025bb5539eb4195f7fde4df38a9fe8eb0a9570a72f9463a2420f7307358409804fcb23bb73e32ff691ac4ef5bc35a
2025-08-22 14:13:20 +01:00
merge-script
02f6758e0c Merge bitcoin/bitcoin#33233: doc: follow-ups to "Add bitcoin-{node,gui} to release binaries for IPC"
de65c86572 doc: capnproto instruction for Alpine and Arch (Sjors Provoost)
49d1a1a363 doc: add capnproto-devel to Fedora build instruction (Sjors Provoost)
eab5518913 doc: mark bitcoin-{node,gui} installed in files.md (Sjors Provoost)
2a815d126b doc: link to capnp version bump PR (Sjors Provoost)

Pull request description:

  - have `dependencies.md` link to the PR that updated the capnp version: https://github.com/bitcoin/bitcoin/pull/31802#discussion_r2290393840

ACKs for top commit:
  maflcko:
    lgtm ACK de65c86572
  janb84:
    re ACK de65c86572

Tree-SHA512: 842d7a89ef18a8c597ca05720c41a72e67500bc93430cf2c3b074cb2f4b936f1df58b5b1e99010e1ea5c1f8a9f8875fb9c20398f915feeacecee9b2fed3cb03c
2025-08-22 12:46:15 +01:00
merge-script
682bd04462 Merge bitcoin/bitcoin#33236: doc: Remove wrong and redundant doxygen tag
966666de9a doc: Remove wrong and redundant doxygen tag (MarcoFalke)

Pull request description:

  `param@[in]` is not a valid doxygen tag. Also, no other function in this file uses the annotations, and they are redundant with the line above, so just remove them in `feerate` to fix all issues.

  In other places, fix them.

ACKs for top commit:
  cedwies:
    ACK 966666d
  janb84:
    ACK 966666de9a
  pablomartin4btc:
    ACK 966666de9a
  w0xlt:
    ACK 966666de9a

Tree-SHA512: fcb6aa75c0f03b36f3caad023854ba276e0335cf47908a77006e182633b6a68f7b7d3115ef9fb97d143ca23730def05550f970265bb1fde97594ba68e724bde9
2025-08-22 11:27:10 +01:00
merge-script
a9701de0c9 Merge bitcoin/bitcoin#33217: depends: remove xinerama extension from libxcb
decc3671c8 guix: remove libxcb-xinerama.so.0 from allowed libs (fanquake)
3d9314f383 depends: remove xinerama extension from libxcb (fanquake)

Pull request description:

  This is listed on https://doc.qt.io/qt-5.15/linux-requirements.html as "recommended", and doesn't seem to be needed (only used for windowing over multiple screens support?) , and the fact that it's no-longer installed by default on modern linux distros (i.e Ubuntu), is annoying/confusing for users. See:

  https://github.com/bitcoin/bitcoin/issues/30061
  https://github.com/bitcoin/bitcoin/issues/32097
  https://github.com/bitcoin/bitcoin/pull/33197
  https://bitcoin.stackexchange.com/questions/122646/libxcb-xinerama0-library-required-by-bitcoin-qt

  I haven't tested the GUI with these changes. Just opening an alternative to #33197. Note that we also already have `libxcb-cursor0` documented as a potentially missing runtime dependency (see `build-unix.md`).

ACKs for top commit:
  hebasto:
    ACK decc3671c8.

Tree-SHA512: 4131e665a0c48a866d2a6d1d3909a19481c20cf69c19ab14de63b379f73bff5151759b63504857f5ed2e01f58b895def1b7db532323ecc353fcd11493aa45c90
2025-08-22 11:06:53 +01:00
Ava Chow
78351ed083 Merge bitcoin/bitcoin#33222: miner: clamp options instead of asserting
7392b8b084 miner: clamp options instead of asserting (Pieter Wuille)

Pull request description:

  The `BlockAssembler::ClampOptions` function currently doesn't actually clamp most of the provided settings, but asserts that some are in range. This made sense while it was a purely internal interface.

  However, with the mining IPC interface exposed in #30510, these options are now externally accessible, and it is not entirely intuitive how to set them. In particular, calling `Mining::createNewBlock` with a default-constructed `BlockCreateOptions` will right now instantly crash the bitcoin node.

  This isn't a security issue, as the IPC interface is considered trusted, but it is highly unexpected I think, and rather unergonomical to have the node crash while developing against the interface.

  An alternative would be exposing a way for the interface to return a failure, but I think in this case, just correcting to reasonable values is acceptable.

ACKs for top commit:
  Sjors:
    ACK 7392b8b084
  achow101:
    ACK 7392b8b084
  stickies-v:
    ACK 7392b8b084
  ryanofsky:
    Code review ACK 7392b8b084. I think ideally this would throw an exception and return a clear error to the caller, or maybe log as stickies suggested, but clamping is much better than crashing.

Tree-SHA512: 7a1e05b68edbf57beb682ee63e27666f42af6a2b70a81874d368a2cb10d107a589e0a388658c1039330b8cc9f6048479870095a9d552ca387a250ac118c1abf2
2025-08-21 13:58:23 -07:00
Sjors Provoost
de65c86572 doc: capnproto instruction for Alpine and Arch 2025-08-21 18:29:21 +02:00
Sjors Provoost
49d1a1a363 doc: add capnproto-devel to Fedora build instruction
Co-authored-by: maflcko <6399679+maflcko@users.noreply.github.com>
2025-08-21 18:15:50 +02:00
Martin Zumsande
a602f6fb7b test: index with an unclean restart after a reorg
This test fails without the previous commit.
2025-08-21 17:42:04 +02:00
Martin Zumsande
01b95ac6f4 index: don't commit state in BaseIndex::Rewind
The committed state of an index should never
be ahead of the flushed chainstate. Otherwise, in the case
of an unclean shutdown, the blocks necessary to revert
from the prematurely committed state would not be
available, which would corrupt the coinstatsindex in particular.
Instead, the index state will be committed with the next
ChainStateFlushed notification.
2025-08-21 17:41:42 +02:00
stickies-v
1c3db0ed8e doc: use new block_to_connect parameter name
This was previously changed in 9ba1fff29e,
without updating the documentation.

Co-authored-by: stringintech <stringintech@gmail.com>
2025-08-21 15:54:02 +01:00
merge-script
8333aa5302 Merge bitcoin/bitcoin#32523: wallet: Remove isminetypes
be776a1443 wallet: Remove isminetype (Ava Chow)
009a69a616 wallet: Remove ISMINE_USED (Ava Chow)
6a7aa01574 wallet: Remove COutput::spendable and AvailableCoinsListUnspent (Ava Chow)
620abe985e interfaces, gui: Remove is_mine output parameter from getAddress (Ava Chow)

Pull request description:

  The remaining isminetypes are `ISMINE_SPENDABLE` and `ISMINE_USED`.

  `ISMINE_USED` is only used as a filter for caching balances and is never actually returned from `IsMine`. Since we do still want this behavior, This PR changes the caching to utilize bools and explicit members variables to account for the avoid_reuse case. This allows us to remove `ISMINE_USED`.

  `ISMINE_SPENDABLE` and `ISMINE_NO` are the only things that are returned by `IsMine`. This is a bool, so it can be replaced as such.

  After removing `ISMINE_USED` and `ISMINE_SPENDABLE`, we are able to remove isminetypes altogether.

ACKs for top commit:
  murchandamus:
    ACK be776a1443
  fjahr:
    reACK be776a1443
  davidgumberg:
    crACK be776a1443
  enirox001:
    re-ACK be776a1
  jlest01:
    reACK be776a1443

Tree-SHA512: 689759f6a6ba20a1ae988b0c3abacb15424844f29a1ec2fcb2d1ca9d87b44ae68313e8f61d6fd310281b681144f0ade67e90fcfab807e982b52ed99441d9c987
2025-08-21 15:52:49 +01:00
Sjors Provoost
eab5518913 doc: mark bitcoin-{node,gui} installed in files.md 2025-08-21 15:20:20 +02:00
MarcoFalke
966666de9a doc: Remove wrong and redundant doxygen tag
Remove it in feerate.

Fix it in the other places.
2025-08-21 15:16:54 +02:00
Sjors Provoost
2a815d126b doc: link to capnp version bump PR 2025-08-21 12:10:06 +02:00
fanquake
decc3671c8 guix: remove libxcb-xinerama.so.0 from allowed libs 2025-08-20 23:04:20 +01:00
fanquake
3d9314f383 depends: remove xinerama extension from libxcb
This is listed on https://doc.qt.io/qt-5.15/linux-requirements.html as
"recommended", however doesn't seem to be needed, and the fact that it's
no-longer installed by default on modern linux distros, is
annoying/confusing for users. See:

https://github.com/bitcoin/bitcoin/issues/30061
https://bitcoin.stackexchange.com/questions/122646/libxcb-xinerama0-library-required-by-bitcoin-qt
https://github.com/bitcoin/bitcoin/pull/33197
https://github.com/bitcoin/bitcoin/issues/32097
2025-08-20 23:04:19 +01:00