Commit Graph

44235 Commits

Author SHA1 Message Date
fac3d93c2b fuzz: Speed up *_package_eval fuzz targets a bit 2025-03-16 09:26:37 +01:00
fa40fd043a fuzz: [refactor] Avoid confusing c-style cast 2025-03-16 09:26:26 +01:00
20fe41e9e8 test: avoid disk space warning for non-regtest
feature_config_args.py incorrectly assumed that its testnet4 node
would not log a disk space warning.

0683b8ebf3 increased m_assumed_blockchain_size
on testnet4 from 1 to 11 GiB which triggers this bug on more
systems, e.g. a RAM disk.

Prevent the warning by setting -prune for these nodes.

Fix the same issue in feature_signet.py
2025-03-15 16:07:07 +01:00
2819c51482 test: Use rpc_deprecated only for testing deprecation 2025-03-14 22:48:24 +01:00
7d34c19853 ci: Drop ENABLE_HARDENING=OFF from clang-tidy
It's not clear why this was added in the first place, but it is not
necessary currently.

https://github.com/bitcoin/bitcoin/pull/32038#issuecomment-2723888193
https://github.com/bitcoin/bitcoin/pull/24753.
2025-03-14 10:31:04 -07:00
9157d9e449 build: use make < 3.82 syntax for define directive
From the GNU make 3.82 release announcement:

* The 'define' make directive now allows a variable assignment operator
  after the variable name, to allow for simple, conditional, or appending
  multi-line variable assignment.

macOS ships with 3.81. This caused the multiprocess config options
to be ignored.

Fixes #32068

Co-authored-by: Ryan Ofsky <ryan@ofsky.org>
2025-03-14 16:19:45 +01:00
36b0713edc test: fix intermittent failure in wallet_reorgsrestore.py
Wait until the node's process has fully stopped before starting a new instance.

Since the same code is used in tool_wallet.py, this consolidates the behavior
into a 'kill_process()' function.
2025-03-14 11:06:44 -04:00
fa9cf38ab6 scripted-diff: test: Rename send_message to send_without_ping
send_message only drops the bytes in a buffer and a sync is needed to
avoid intermittent test issues. Change the name of the method to make
this more apparent during review.

-BEGIN VERIFY SCRIPT-
 sed -i 's/send_message(/send_without_ping(/g' $( git grep -l 'send_message(' )
-END VERIFY SCRIPT-
2025-03-14 12:45:20 +01:00
fa4356717d test: Prefer send_and_ping over send_message+sync_with_ping
Also, add an explanation for the preference in the docs.
2025-03-14 12:44:34 +01:00
fa4fb6a8f1 fuzz: Use serial task runner to increase fuzz stability 2025-03-14 10:11:45 +01:00
698f86964c Merge bitcoin/bitcoin#31961: Require sqlite when building the wallet
36b6f36ac4 build: require sqlite when building the wallet (Sjors Provoost)

Pull request description:

  Require that sqlite is available in order to compile the wallet. Removes instances of `USE_SQLITE` since it is no longer possible to not have sqlite available.

  The `NO_SQLITE` option is dropped from depends.

  This is another step towards dropping the legacy wallet, extracted from #31250.

ACKs for top commit:
  m3dwards:
    ACK 36b6f36ac4
  davidgumberg:
    crACK 36b6f36ac4
  hebasto:
    re-ACK 36b6f36ac4.

Tree-SHA512: 870a0135671c80c4f28602119eb8637a1ed43b51b1673bfe88425782fb62ec6ef0f3d6baf0d5984d6a243779b0f63423fd4c4dc324ef87bffba13d63e05ad793
2025-03-14 11:23:35 +08:00
f4b3a5858a Merge bitcoin/bitcoin#32064: build: Remove manpages when making MacOS app
80b5e7f2cb build: Remove manpages when making MacOS app (Ava Chow)

Pull request description:

  When creating the MacOS app, the only file that should be in `Bitcoin-Qt.app/Contents/MacOS` is `Bitcoin-Qt`. Since #31844, there was also a `share/` containing the manpage for bitcoin-qt. This manpage is not useful to app users, and it is also causing code signing issues. Thus the directory should be removed when making the app.

  Fixes https://github.com/bitcoin/bitcoin/issues/32052#issuecomment-2723007926

ACKs for top commit:
  fanquake:
    ACK 80b5e7f2cb

Tree-SHA512: fd15b7f99737484e40d31c583e01acc7470d038b0c584dfaefecc740811565ceee048913b6e5e37e7935b74d8100dc8323aed3f69d9a6baa5f434754009eb18c
2025-03-14 11:13:58 +08:00
92f553eaa9 Merge bitcoin/bitcoin#32038: depends: remove NO_HARDEN option
5dfef6b9b3 depends: remove NO_HARDEN option (fanquake)

Pull request description:

  This was only needed to work around a (Libtool related iirc) Windows issue, when hardening was disabled. I can no-longer recreate this failure, so it'd be good to remove this Windows carveout.

ACKs for top commit:
  davidgumberg:
    crACK 5dfef6b9b3
  laanwj:
    Code review ACK 5dfef6b9b3

Tree-SHA512: 38657f09c537ba02ecaf0676d47087a835283cabfc81ad9b2d5e68858dcd7a610b6a1df6730920d40b48be2bbc55a45d6b8aea4364884b5f1c1bd12126940f5b
2025-03-14 11:02:02 +08:00
80b5e7f2cb build: Remove manpages when making MacOS app 2025-03-13 17:56:09 -07:00
1b251f6b67 Merge bitcoin/bitcoin#31649: consensus: Remove checkpoints (take 2)
3c5d1a4681 Remove checkpoints (marcofleon)
632ae47372 update comment on MinimumChainWork check (marcofleon)

Pull request description:

  The headers presync logic (only downloading headers that lead to a chain with sufficient work, implemented in https://github.com/bitcoin/bitcoin/pull/25717) should be enough to prevent memory DoS using low-work headers. Therefore, we no longer have any use for checkpoints.

  All checkpoints and checkpoint logic are removed in a single commit, to make it easy to revert if necessary.

  Some previous discussion can be found in https://github.com/bitcoin/bitcoin/pull/25725. The conclusion at the time was that more testing of the presync logic was needed. Now that we have [unit](https://github.com/bitcoin/bitcoin/blob/master/src/test/headers_sync_chainwork_tests.cpp), [functional](https://github.com/bitcoin/bitcoin/blob/master/test/functional/p2p_headers_sync_with_minchainwork.py), and [fuzz](https://github.com/bitcoin/bitcoin/blob/master/src/test/fuzz/p2p_headers_presync.cpp) tests for this logic, it seems safe to move forward with checkpoint removal.

ACKs for top commit:
  Sjors:
    Code review ACK 3c5d1a4681
  instagibbs:
    reACK 3c5d1a4681
  dergoegge:
    ACK 3c5d1a4681

Tree-SHA512: 051a6f9b82cd0262f4d3be4403906812fc6d1be022731fac16bb1c02bca471f31dfc7fc4b834ab2469e8f087265a6d99e84a1d665823cda1b112363a8e8f337d
2025-03-14 08:09:15 +08:00
02942056fd test: fix intermittent failure in p2p_orphan_handling.py
If we bump the mocktime before the node has successfully disconnected
the peer, the requests for both parents could be spread over
two GETDATAS, which would make the test fail.
2025-03-13 17:59:02 -04:00
5c2f04413e Merge bitcoin/bitcoin#32049: contrib: Fix gen-bitcoin-conf.sh
a24419f8be contrib: Fix `gen-bitcoin-conf.sh`. (David Gumberg)

Pull request description:

  In #31118, the format of bitcoind's `--help` output changed slightly in a way that breaks `gen-bitcoin-conf.sh`, modify the script to accommodate the new format, by starting after the line that says "Options:" and stripping the `-help` options and descriptions from the script output.

  Before this PR, all options above `-help` were excluded from the example bitcoin.conf.

ACKs for top commit:
  mabu44:
    Tested ACK a24419f8be
  glozow:
    ACK a24419f8be
  rkrux:
    tACK a24419f8be
  BrandonOdiwuor:
    crACK a24419f8be

Tree-SHA512: 2ef697166d0b37b61ec1a20e357b91d611c932a0e453c4669f74ab69e6310ea1776dce09c1b77e82746072265763cb0c750e6df4c8b4a7d39068fc03f97b221b
2025-03-13 16:58:44 -04:00
5d96c2eab9 Merge bitcoin/bitcoin#31907: qa: clarify and document one assumeutxo test case with malleated snapshot
e5ff4e416e qa: use a clearer and documented amount error in malleated snapshot (Antoine Poinsot)
b34fdb5ade test: introduce output amount (de)compression routines (Sebastian Falbesoner)
a7911ed101 test: introduce VARINT (de)serialization routines (Sebastian Falbesoner)

Pull request description:

  The `feature_assumeutxo.py` functional test checks various errors with malleated snapshots. Some of these cases are brittle or use confusing and undocumented values. Fix one of those by using a clear, documented and forward-compatible value.

  I ran across those when working on an unrelated changeset which affected the snapshot. It took me a while to understand where the seemingly magic byte string was coming from, so i figured it was worth proposing this patch on its own for the sake of making the test more maintainable.

  See commit messages for details.

ACKs for top commit:
  janb84:
    re ACK [e5ff4e4](e5ff4e416e)
  theStack:
    ACK e5ff4e416e
  fjahr:
    Code review ACK e5ff4e416e
  i-am-yuvi:
    tACK e5ff4e416e

Tree-SHA512: 60f022b7176836ce05e8f287b436329d7ca6460f3fcd95f78cd24e07a95a7d4d9cbbb68a117916a113fe451732b09a012d300fe860ff33d61823eca797ceddaf
2025-03-13 16:34:56 -04:00
57d611e53b Merge bitcoin/bitcoin#31757: wallet: fix crash on double block disconnection
11f8ab140f test: wallet, coverage for crash on dup block disconnection during unclean shutdown (Martin Zumsande)
9ef429b6ae wallet: fix crash on double block disconnection (furszy)

Pull request description:

  The wallet crashes if it processes the same block disconnection event twice in a row due
  to an incompatible coinbase transaction state.
  This happens because `disconnectBlock` provides `TxStateInactive` without the "abandoned"
  flag for coinbase transactions to `SyncTransaction`, while `AddToWallet()` internally modifies
  it to retain the abandoned state.

  The crash flow is as follows:
  1) On the first disconnection, the transaction state transitions from "confirmed" to
  "inactive," bypassing the state equality check since the provided state differs. Then,
  `AddToWallet` internally updates the state to "inactive + abandoned"

  2) On the second disconnection, as we provide only the "inactive" state
  to `SyncTransaction()`, the state equality assertion fails and crashes the wallet.

  Reviewers Note:
  The crash can easily be replicated by cherry-picking the test commit in master.

ACKs for top commit:
  mzumsande:
    Code Review ACK 11f8ab140f
  rkrux:
    ACK 11f8ab140f
  pinheadmz:
    ACK 11f8ab140f

Tree-SHA512: 971069bca562f0afb06c34a2516842d01b5cbc2b18ed851392aa3caa3bb7488f4a84a5d017ea334e6361261d3c44aa597cc67a1d4fa16781f85e081f3d1f8771
2025-03-13 15:06:49 -04:00
199d47d962 Merge bitcoin/bitcoin#32056: doc: Adjust path in comment
de1ada079b doc: Adjust path in comment (Hennadii Stepanov)

Pull request description:

  It was overlooked in bitcoin/bitcoin#31161.

ACKs for top commit:
  l0rinc:
    utACK de1ada079b
  dergoegge:
    ACK de1ada079b

Tree-SHA512: ea2b858f9c6520a71a3e14a3877ad38acfcddee6ee4aad5fa8fc1c08a0589d9d4df9b5fdbae834bd03bbb956f8b52fdd2b35144fe0bf943bc9455ed6c3fc1c80
2025-03-13 20:18:27 +08:00
de1ada079b doc: Adjust path in comment
It was overlooked in bitcoin/bitcoin#31161.
2025-03-13 11:47:41 +00:00
72c150dfe7 Merge bitcoin/bitcoin#32055: contrib: Fix deterministic-unittest-coverage tool path
893ca54585 contrib: Fix deterministic-unittest-coverage tool path (janb84)

Pull request description:

  Fix for the tooling introduced/modified in #31901 but the tool path is broken due to silent merge conflict introduced by #31161.

  The `deterministic-unittest-coverage` and `deterministic-fuzz-coverage` tools uses the `fuzz` and `test_bitcoind` binaries, for which the location was modified in #31161. This patch updates the location to align with that change.

ACKs for top commit:
  maflcko:
    lgtm ACK 893ca54585
  hebasto:
    ACK 893ca54585, I have reviewed the code and it looks OK.

Tree-SHA512: efd5a75b607a6a7889333674b9a1fccf30b6a80bb2aa941f9dcc10b2e0b6158d8c870d58aa76cef2a0280782570400730828d6a4aaf806b83959e9f4bc7313f4
2025-03-13 11:37:56 +00:00
1f9b2e150c cmake: Require zip only for deploy target 2025-03-13 11:22:30 +00:00
0aeff29951 cmake: Check for makensis tool before using it 2025-03-13 11:22:05 +00:00
3c5d1a4681 Remove checkpoints
The headers presync logic should be enough to prevent memory DoS using
low-work headers. Therefore, we no longer have any use for checkpoints.
2025-03-13 11:13:13 +00:00
632ae47372 update comment on MinimumChainWork check 2025-03-13 11:05:17 +00:00
893ca54585 contrib: Fix deterministic-unittest-coverage tool path 2025-03-13 11:56:39 +01:00
fa3b442715 ci: Use Cirrus dockerfile cache 2025-03-13 09:55:19 +01:00
c20a5ce106 Merge bitcoin/bitcoin#31901: contrib: Add deterministic-unittest-coverage
fa99c3b544 test: Exclude SeedStartup from coverage counts (MarcoFalke)
fa579d663d contrib: Add deterministic-unittest-coverage (MarcoFalke)
fa3940b1cb contrib: deterministic-fuzz-coverage fixups (MarcoFalke)
faf905b9b6 doc: Remove unused -fPIC (MarcoFalke)
fa1e0a7228 gitignore: target/ (MarcoFalke)

Pull request description:

  The `contrib/devtools/test_deterministic_coverage.sh` script is problematic:

  * It is written in bash. This can lead to issues when running with the ancient bash version shipped by macOS by default, or can lead to other compatibility issues, such as https://github.com/bitcoin/bitcoin/pull/31588#discussion_r1946784827. Also, pipefail isn't set, so IO errors may be silently ignored.
  * It is based on gcov. This can lead to issues, such as https://github.com/bitcoin/bitcoin/pull/31588#pullrequestreview-2602169248 (possibly due to prefix-map), or https://github.com/bitcoin/bitcoin/pull/31588#issuecomment-2646395385 (gcovr processing error), or https://github.com/bitcoin/bitcoin/pull/31588#pullrequestreview-2605954001 (gcovr assertion error).
  * The script is severely outdated, with the last update to `NON_DETERMINISTIC_TESTS` being in the prior decade.

  Instead of patching around all issues one-by-one, just provide a fresh rewrite, based on the recently added `deterministic-fuzz-coverage` tool based on clang, llvm-cov, and llvm-profdata. (Initial feedback indicates that this is a more promising attempt: https://github.com/bitcoin/bitcoin/pull/31588#issuecomment-2649356408 and https://github.com/bitcoin/bitcoin/pull/31588#issuecomment-2649354598).

  The new tool also sets `RANDOM_CTX_SEED=21` as suggested by hodlinator in https://github.com/bitcoin/bitcoin/pull/31588#issuecomment-2650784726.

ACKs for top commit:
  Prabhat1308:
    Concept ACK [`fa99c3b`](fa99c3b544)
  hodlinator:
    re-ACK fa99c3b544
  brunoerg:
    light ACK fa99c3b544
  dergoegge:
    tACK fa99c3b544
  janb84:
    Concept ACK [fa99c3b](fa99c3b544)

Tree-SHA512: 491d5e6413d929395a5c7caea54817bdc1a0e00562c9728a374d4e92f2e2017dba4a770ecdb2e7317e049df9fdeb390d83c90dff9aa5709f97aa3f6a0e70cdb4
2025-03-13 12:30:32 +08:00
a50af6e4c4 Merge bitcoin/bitcoin#32044: ci: Revert "Temporary workaround for old CCACHE_DIR cirrus env"
fa21597064 ci: Revert "Temporary workaround for old CCACHE_DIR cirrus env" (MarcoFalke)

Pull request description:

  Seems fine to revert this now. If this still happens it should be rare enough and trivial to fix via a new push (normal push, force-push, rebase, ...), or to just ignore the failure.

ACKs for top commit:
  fanquake:
    ACK fa21597064

Tree-SHA512: 125946dcd4025b04f11276e1df1e0f1b361fc2deed2e3919d680d58df97e6d82881b21c0c683142df6995226b4c12b2dde5415ad78474b8fcda115cc69fa0207
2025-03-13 09:00:05 +08:00
a5a582d852 Merge bitcoin/bitcoin#31998: depends: patch around PlacementNew issue in capnp
1ef22ce335 depends: patch around PlacementNew issue in capnp (fanquake)

Pull request description:

  See #31772 and https://github.com/capnproto/capnproto/pull/2235.

  Given there isn't agreement in #29796, pulled this out so it could be merged separately, and it's easier to run different test configurations externally.

  Closes #31772.

ACKs for top commit:
  ryanofsky:
    Code review ACK 1ef22ce335. Confirmed patch is identical to one merged upstream. Only change since last review was tweaking the file paths and commit data in the patch.
  TheCharlatan:
    ACK 1ef22ce335

Tree-SHA512: 9c9ecf50c43cf74315f6659afab55aeafb436f70e83b328016ad574136dce46867220c6e1a85aefd8d3d3d027cd94cc807c79721a4983da9428de70f11224e52
2025-03-13 08:52:36 +08:00
a24419f8be contrib: Fix gen-bitcoin-conf.sh.
In #31118, the format of bitcoind's `--help` output changed slightly in
a way that breaks `gen-bitcoin-conf.sh`, modify the script to accomodate
the new format, by starting after the line that says "Options:" and
strip the `-help` option and its description from the output.
2025-03-12 15:14:51 -07:00
d423fd9ec8 cli, bugfix: for -getinfo, replace IsArgSet() with GetBoolArg()
for consistency with the other CLI commands (-netinfo, -addrinfo, -generate).

This can be considered a bugfix because IsArgSet() returns whether an arg has
been set even if it has been negated. After this change, we no longer treat
-nogetinfo and -getinfo=0 the same as -getinfo and -getinfo=1, and instead as if
-getinfo was not specified.

Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz>
Co-authored-by: Ryan Ofsky <ryan@ofsky.org>
2025-03-12 14:33:45 -06:00
e99e41b307 cli, refactor: simplify public-only classes with structs
and run clang-format on it
2025-03-12 14:33:10 -06:00
fdbfd250fb cli, refactor: deduplicate NetworkStringToId() 2025-03-12 14:10:28 -06:00
be82139b2a cli, refactor: simplify DetailsRequested()
The bounds check is no longer needed after the merge of PR 21192.
2025-03-12 14:10:18 -06:00
eb9730ab65 Merge bitcoin/bitcoin#31987: wallet: Replace "non-0" with "non-zero" in translatable error message
18e83534ac wallet: Replace "non-0" with "non-zero" in translatable error message (Hennadii Stepanov)

Pull request description:

  Transifex interprets the "-0" substring as a number in translatable strings. Since not all translations preserve "-0," this triggers a corresponding warning. While this warning could be disabled globally, it is more reasonable to adjust the original string instead.

ACKs for top commit:
  davidgumberg:
    ACK 18e83534ac
  l0rinc:
    ACK 18e83534ac
  1440000bytes:
    ACK 18e83534ac
  BrandonOdiwuor:
    Code Review ACK 18e83534ac
  laanwj:
    Code review ACK 18e83534ac

Tree-SHA512: 5c38cfc4b352dbbcc8de5fb907cf988a77a7ecded7a90fe0517bfb9e4cd5097bdeb1aa6edf5d9ca37de54d1d7939d5e49533ec93c403db90d9169ad7732e5124
2025-03-12 19:32:05 +00:00
f347d7980e Merge bitcoin/bitcoin#31283: Add waitNext() to BlockTemplate interface
cadbd4137d miner: have waitNext return after 20 min on testnet (Sjors Provoost)
d4020f502a Add waitNext() to BlockTemplate interface (Sjors Provoost)

Pull request description:

  This PR introduces `waitNext()`. It waits for either the tip to update or for fees at the top of the mempool to rise sufficiently. It then returns a new template, with which the caller can rinse and repeat.

  On testnet3 and testnet4 the difficulty drops after 20 minutes, so the second ensures that a new template is returned in that case.

  Alternative approach to #31003, suggested in https://github.com/bitcoin/bitcoin/issues/31109#issuecomment-2451942362

ACKs for top commit:
  ryanofsky:
    Code review ACK cadbd4137d. Main change since last review is adding back a missing `m_interrupt` check in the waitNext loop. Also made various code cleanups in both commits.
  ismaelsadeeq:
    Code review ACK cadbd4137d
  vasild:
    ACK cadbd4137d

Tree-SHA512: c5a40053723c1c1674449ba1e4675718229a2022c8b0a4853b12a2c9180beb87536a1f99fde969a0ef099bca9ac69ca14ea4f399d277d2db7f556465ce47de95
2025-03-12 15:20:48 -04:00
ffff4a293a bench: Update span-serialize comment
Commit faecca9a85 changed the type of
block413567 from vector to span, but forgot to update the comment. Do it
now.
2025-03-12 19:47:56 +01:00
fa4d6ec97b refactor: Avoid false-positive gcc warning
GCC 14.2.1 will complain about a dangling reference after replacing Span
wiht std::span. This is a false-positive, because std::find does not
return a reference.

Remove the `&` to silence the warning. Also use ranges::find while
touching the line.

src/i2p.cpp:312:21: error: possibly dangling reference to a temporary [-Werror=dangling-reference]
  312 |         const auto& pos = std::find(kv.begin(), kv.end(), '=');
      |                     ^~~
src/i2p.cpp:312:36: note: the temporary was destroyed at the end of the full expression ‘std::find<__gnu_cxx::__normal_iterator<const char*, span<const char> >, char>((& kv)->std::span<const char>::begin(), (& kv)->std::span<const char>::end(), '=')’
  312 |         const auto& pos = std::find(kv.begin(), kv.end(), '=');
      |                           ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
2025-03-12 19:47:01 +01:00
fa942332b4 scripted-diff: Bump copyright headers after std::span changes
Historically, the headers have been bumped some time after a file has
been touched. Do it now to avoid having to touch them again in the
future for that reason.

-BEGIN VERIFY SCRIPT-
 sed -i --regexp-extended 's;( 20[0-2][0-9])(-20[0-2][0-9])? The Bitcoin Core developers;\1-present The Bitcoin Core developers;g' $( git show --pretty="" --name-only HEAD~1 )
-END VERIFY SCRIPT-
2025-03-12 19:46:54 +01:00
fa0c6b7179 refactor: Remove unused Span alias
Also, fixup some wording.
2025-03-12 19:45:49 +01:00
fade0b5e5e scripted-diff: Use std::span over Span
-BEGIN VERIFY SCRIPT-

 ren() { sed -i "s!\<$1\>!$2!g" $( git grep -l "$1" -- "./src" ":(exclude)src/span.h" ":(exclude)src/leveldb/db/log_test.cc" ) ; }

 ren Span            std::span
 ren AsBytes         std::as_bytes
 ren AsWritableBytes std::as_writable_bytes

 sed -i 's!SpanPopBack(Span!SpanPopBack(std::span!g' ./src/span.h

-END VERIFY SCRIPT-
2025-03-12 19:45:37 +01:00
fadccc26c0 refactor: Make Span an alias of std::span
This uses a macro, which can be a bit more brittle than an alias
template. However, class template argument deduction for alias templates
is only implemented in clang-19.
2025-03-12 19:44:40 +01:00
fa27e36717 test: Fix broken span_tests
* The comment is wrong claiming that void* was returned when void was
  returned in reality.
* The namespace is missing a name, leading to compile errors that are
  suppressed with non-standard pragmas, and leading to compile errors in
  future commits. Instead of using more non-standard suppressions, just
  add the missing name.
* The SpanableYes/No types are missing begin/end iterators, which will
  be needed when using std::span.
2025-03-12 19:44:30 +01:00
fadf02ef8b refactor: Return std::span from MakeUCharSpan
This is possible and safe, because std::span can implicitly convert into
Span, if needed.
2025-03-12 19:44:25 +01:00
fa720b94be refactor: Return std::span from MakeByteSpan
In theory this commit should only touch the span.h header, because
std::span can implicilty convert into Span in most places, if needed.

However, at least when using the clang compiler, there are some
false-positive lifetimebound warnings and some implicit conversions can
not be resolved.

Thus, this refactoring commit also changed the affected places to
replace Span with std::span.
2025-03-12 19:44:20 +01:00
fa21597064 ci: Revert "Temporary workaround for old CCACHE_DIR cirrus env"
This reverts commit fa9747a896.
2025-03-12 17:45:02 +01:00
aa68ed27b8 Merge bitcoin/bitcoin#32041: build: bump CLIENT_VERSION_MAJOR to 29
a3f0e9a433 [build] bump CLIENT_VERSION_MAJOR to 29 (glozow)

Pull request description:

ACKs for top commit:
  fanquake:
    ACK a3f0e9a433

Tree-SHA512: 23a421a2b457a8e9fe8d4a831fcb21b665902a522695294997cc5175af533d91467c51856001a7bb98bfa6b122022803327d4dabfb186489e24e08f48216183b
2025-03-12 23:03:48 +08:00
a3f0e9a433 [build] bump CLIENT_VERSION_MAJOR to 29 2025-03-12 10:58:37 -04:00