Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test, tracing: don't use problematic bpf_usdt_readarg_p() #31848

Merged
merged 3 commits into from
Mar 5, 2025

Conversation

0xB10C
Copy link
Contributor

@0xB10C 0xB10C commented Feb 12, 2025

Instead of using the undocumented bcc helper bpf_usdt_readarg_p(), use bpf_usdt_readarg() and bpf_probe_read_user()/bpf_probe_read_user_str() as documented in the bcc USDT reference guide.

Note that the bpf_probe_read_user() documentation says the following:

For safety, all user address space memory reads must pass through bpf_probe_read_user().

It's assumed that using bpf_usdt_readarg_p() caused a lifetime issue. With bpf_usdt_readarg() and bpf_probe_read_user(), this doesn't seem to be a problem anymore.

This allows to revert faed533 and closes #27380.

Instead of using the undocumented bcc helper bpf_usdt_readarg_p(),
use bpf_usdt_readarg() [1] and bpf_probe_read_user{_str}() [2, 3] as
documented in the bcc USDT reference guide [1].

Note that the bpf_probe_read_user() documentation says the following:

> For safety, all user address space memory reads must pass through bpf_probe_read_user().

It's assumed that using bpf_usdt_readarg_p() caused a lifetime issue.
See bitcoin#27380 (comment)
With bpf_usdt_readarg() and bpf_probe_read_user(), this doesn't seem
to be a problem anymore. See bitcoin#27380 (comment)

[1]: https://github.com/iovisor/bcc/blob/master/docs/reference_guide.md#6-usdt-probes
[2]: https://github.com/iovisor/bcc/blob/master/docs/reference_guide.md#10-bpf_probe_read_user
[3]: https://github.com/iovisor/bcc/blob/master/docs/reference_guide.md#11-bpf_probe_read_user_str
This reverts commit faed533.

This commit worked around a lifetime issue likely caused by using
bpf_usdt_readarg_p(). Since we don't use bpf_usdt_readarg_p() anymore
this commit can be reverted.

See the discussion in bitcoin#27380 (comment)
@DrahtBot
Copy link
Contributor

DrahtBot commented Feb 12, 2025

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

Code Coverage & Benchmarks

For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/31848.

Reviews

See the guideline for information on the review process.

Type Reviewers
ACK i-am-yuvi, willcl-ark

If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

@0xB10C
Copy link
Contributor Author

0xB10C commented Feb 12, 2025

I did >15 re-runs of master...0xB10C:bitcoin:2024-12-dont-use-bpf_usdt_readarg_p-testing similar to the 20 runs in #27380 (comment) to make sure this won't intermittently fail again.

@willcl-ark
Copy link
Member

Approach ACK

So if I understand the change correctly, the new (documented/recommended) behaviour is to always first read_arg() which gets the memory location of the data, then read_user[_str]() which then actually performs the copy from user memory to the BPF memory space.

If I have this correct, then using the documented, seemingly more-reliable, and more explicit approach seems fine to me.

Not sure how I could test the reliability of this myself, but #31848 (comment) looks promising.

@0xB10C
Copy link
Contributor Author

0xB10C commented Feb 13, 2025

So if I understand the change correctly, the new (documented/recommended) behaviour is to always first read_arg() which gets the memory location of the data, then read_user{_str}() which then actually performs the copy from user memory to the BPF memory space.

Correct. Here's an example from the mempool:added tracepoint test.

  • (1) initialize a null-pointer phash
  • (2) read the first tracepoint argument (a user-space address) into the phash pointer
  • (3) copy the value behind the phash pointer into added.hash
  void *phash = NULL;                                              // (1)
  bpf_usdt_readarg(1, ctx, &phash);                                // (2)
  bpf_probe_read_user(&added.hash, sizeof(added.hash), phash);     // (3)

bpf_usdt_readarg_p() is a helper that does this, but apparently not safely enough

@laanwj
Copy link
Member

laanwj commented Feb 13, 2025

bpf_usdt_readarg_p() is a helper that does this, but apparently not safely enough

i looked into it a bit; the implementation of bpf_usdt_readarg_p is here:
https://github.com/iovisor/bcc/blob/master/src/cc/frontends/clang/b_frontend_action.cc#L1270

It's a macro implemented in the clang frontend:

        } else if (Decl->getName() == "bpf_usdt_readarg_p") {
          text = "({ u64 __addr = 0x0; ";
          text += "_bpf_readarg_" + current_fn_ + "_" + args[0] + "(" +
                  args[1] + ", &__addr, sizeof(__addr));";

          bool overlap_addr = false;
          text += check_bpf_probe_read_user(StringRef("bpf_probe_read_user"),
                  overlap_addr);
          if (overlap_addr) {
            error(GET_BEGINLOC(Call), "bpf_probe_read_user not found. Use latest kernel");
            return false;
          }

          text += "(" + args[2] + ", " + args[3] + ", (void *)__addr);";
          text += "})";
          rewriter_.ReplaceText(expansionRange(Call->getSourceRange()), text);
        }

At first glance it generates the exact same code: a bpf_readarg folllowed by bpf_probe_read_user of that address. So it's unclear why the explicit formulation would change anything.

However, check_bpf_probe_read_user does not always return bpf_probe_read_user! If the symbol cannot be resolved for the specific kernel it returns bpf_probe_read instead.
Maybe that's it, and calling check_bpf_probe_read_user works around it? Not sure.

On the other hand there's also some #defining going on which does the same (but not sure it's under the same conditions).

bpf_usdt_readarg_p(3, ctx, &msg->peer_conn_type, MAX_PEER_CONN_TYPE_LENGTH);
bpf_usdt_readarg_p(4, ctx, &msg->msg_type, MAX_MSG_TYPE_LENGTH);
bpf_usdt_readarg(2, ctx, &paddr);
bpf_probe_read_user_str(&msg->peer_addr, sizeof(msg->peer_addr), paddr);
Copy link
Member

@laanwj laanwj Feb 13, 2025

Choose a reason for hiding this comment

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

Using bpf_probe_read_user_str here at least makes sure that only until the zero-terminator is read and not the entire buffer. That's a clear improvement.

@fanquake fanquake added this to the 29.0 milestone Feb 25, 2025
@DrahtBot DrahtBot requested a review from willcl-ark February 27, 2025 06:48
Copy link
Contributor

@i-am-yuvi i-am-yuvi 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 a0b66b4

  • I've tested all the functional tests and it passes (5/5)

    • interface_usdt_coinselection.py ✅
    • interface_usdt_mempool.py ✅
    • interface_usdt_net.py ✅
    • interface_usdt_utxo.py ✅
    • interface_usdt_validation.py ✅
  • All tracing tools works fine (3/3)

  • Did 5-6 runs of CI similar to this one, which can be seen here all of them succeeded.

  • The issue comment looks promising to me!

Note: All of the tests has been executed in a fully synced node

Copy link
Member

@willcl-ark willcl-ark left a comment

Choose a reason for hiding this comment

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

tACK a0b66b4

I also re-ran CI on this PR 10 times, of which all passed.

The code changes all look correct to me too, following the principle of the pointers being null initialized, having addressed assigned to them, and then the value being copied.

Hopefully this can finally end the intermittent failures 🤞🏼

@DrahtBot DrahtBot requested a review from willcl-ark March 4, 2025 14:53
@glozow
Copy link
Member

glozow commented Mar 4, 2025

@willcl-ark you acked your commit on top of the PR. It is effectively an ack, but do you mind editing your comment?

@willcl-ark
Copy link
Member

Thanks Gloria, nice catch :)

Comment amended.

@glozow glozow merged commit 0391d7e into bitcoin:master Mar 5, 2025
18 checks passed
@laanwj
Copy link
Member

laanwj commented Mar 5, 2025

Post-merge code review ACK a0b66b4

@0xB10C 0xB10C deleted the 2025-01-dont-use-bpf_usdt_readarg_p branch March 5, 2025 17:02
TheCharlatan added a commit to TheCharlatan/rust-bitcoinkernel that referenced this pull request Mar 16, 2025
…91a69ee00

5991a69ee00 kernel: Add pure kernel bitcoin-chainstate
05b7d136684 kernel: Add functions to get the block hash from a block
f18c792d843 kernel: Add block index utility functions to C header
89f5bf04673 kernel: Add function to read block undo data from disk to C header
b4f71fc64e7 kernel: Add functions to read block from disk to C header
41306f081ad kernel: Add function for copying  block data to C header
9385d9fc87e kernel: Add functions for the block validation state to C header
0bd9a710358 kernel: Add validation interface to C header
432710f3fc3 kernel: Add interrupt function to C header
cb164ae1eb2 kernel: Add import blocks function to C header
abd67fd93d0 kernel: Add chainstate load options for in-memory dbs in C header
b98c2748e94 kernel: Add options for reindexing in C header
9d0efe1fc86 kernel: Add block validation to C header
87e364fc1ec kernel: Add chainstate loading when instantiating a ChainstateManager
df1599b2d2a kernel: Add chainstate manager option for setting worker threads
fb767002e97 kernel: Add chainstate manager object to C header
10b0fad2fd3 kernel: Add notifications context option to C header
39e7ad8d0dc kernel: Add chain params context option to C header
6285c353b89 kernel: Add kernel library context object
98d10160b6a kernel: Add logging to kernel library C header
4d663446de1 kernel: Introduce initial kernel C header API
698f86964c6 Merge bitcoin/bitcoin#31961: Require sqlite when building the wallet
f4b3a5858ae Merge bitcoin/bitcoin#32064: build: Remove manpages when making MacOS app
92f553eaa92 Merge bitcoin/bitcoin#32038: depends: remove `NO_HARDEN` option
80b5e7f2cb7 build: Remove manpages when making MacOS app
1b251f6b679 Merge bitcoin/bitcoin#31649: consensus: Remove checkpoints (take 2)
5c2f04413e4 Merge bitcoin/bitcoin#32049: contrib: Fix `gen-bitcoin-conf.sh`
5d96c2eab9f Merge bitcoin/bitcoin#31907: qa: clarify and document one assumeutxo test case with malleated snapshot
57d611e53b3 Merge bitcoin/bitcoin#31757: wallet: fix crash on double block disconnection
199d47d9629 Merge bitcoin/bitcoin#32056: doc: Adjust path in comment
de1ada079bf doc: Adjust path in comment
72c150dfe76 Merge bitcoin/bitcoin#32055: contrib: Fix deterministic-unittest-coverage tool path
3c5d1a46819 Remove checkpoints
632ae47372d update comment on MinimumChainWork check
893ca545850 contrib: Fix deterministic-unittest-coverage tool path
c20a5ce106b Merge bitcoin/bitcoin#31901: contrib: Add deterministic-unittest-coverage
a50af6e4c49 Merge bitcoin/bitcoin#32044: ci: Revert "Temporary workaround for old CCACHE_DIR cirrus env"
a5a582d852e Merge bitcoin/bitcoin#31998: depends: patch around PlacementNew issue in capnp
a24419f8bed contrib: Fix `gen-bitcoin-conf.sh`.
eb9730ab658 Merge bitcoin/bitcoin#31987: wallet: Replace "non-0" with "non-zero" in translatable error message
f347d7980e8 Merge bitcoin/bitcoin#31283: Add waitNext() to BlockTemplate interface
fa21597064b ci: Revert "Temporary workaround for old CCACHE_DIR cirrus env"
aa68ed27b89 Merge bitcoin/bitcoin#32041: build: bump CLIENT_VERSION_MAJOR to 29
a3f0e9a4336 [build] bump CLIENT_VERSION_MAJOR to 29
36b6f36ac47 build: require sqlite when building the wallet
5dfef6b9b37 depends: remove NO_HARDEN option
8cb6ab0b971 Merge bitcoin/bitcoin#32025: validation, fix: Use wtxid instead of txid in `CheckEphemeralSpends`
7bb4c82d8ba Merge bitcoin/bitcoin#32021: qa: Enable feature_init.py on Windows
1ef22ce3351 depends: patch around PlacementNew issue in capnp
502d47203e7 Merge bitcoin/bitcoin#31161: cmake: Set top-level target output locations
e38f09b776c Merge bitcoin/bitcoin#31955: test: Fix authproxy named args debug logging
1d0a1a60e83 Merge bitcoin/bitcoin#32004: qt: 29.0 translations update
91328249470 qt: 29.0 translations update
e637dc2c01c refactor: Replace uint256 type with Wtxid in PackageMempoolAcceptResult struct
a3baead7cb8 validation: use wtxid instead of txid in CheckEphemeralSpends
dbc89b604c4 Merge bitcoin/bitcoin#31960: seeds: add signet/testnet4, update makeseeds regex, minblocks, fixed seeds
45719390a14 Merge bitcoin/bitcoin#32011: Docs: fix typos in documentation files
4637cb1eec4 Merge bitcoin/bitcoin#32002: doc: add note to Windows build about stripping bins
5f732089d67 Merge bitcoin/bitcoin#32017: doc: warn against having qt6 installed on macOS
a1aea3ea742 Merge bitcoin/bitcoin#31996: doc: link to benchcoin over bitcoinperf
5601bab4f8b Docs: fix typos in documentation files
59c4930394c qa: Enable feature_init.py on Windows
c94195c077f doc: add note to windows build about stripping bin
ee68b05f3d6 Merge bitcoin/bitcoin#32014: ci: Do not try to install for fuzz builds
093c757d7cf Merge bitcoin/bitcoin#32000: Update minisketch subtree to d1e6bb8bbf8ef104b9dd002cab14a71b91061177
a3c3f37e71e ci: Do not try to install for fuzz builds
d79dab0fa99 doc: warn against having qt6 installed on macOS
f0b659716bd seeds: update .gitignore with signet and testnet4
48f07ac9da4 chainparams: remove hardcoded signet seeds
d4ab1150c40 chainparams: add signet fixed seeds if default network
49f155efbfb seeds: update fixed dns seeds
236687083fb makeseeds: regex improvements
98f84d6c233 generate-seeds: update and add signet
c4ed23e5398 seeds: add testnet4 seeds
60f17dd8167 seeds: add signet seeds
2bcccaa4107 makeseeds: align I2P column header
94e21aa5fc5 makeseeds: update MIN_BLOCKS, add reminder to README
6ae7a3bc4e7 makeseeds: update user agent regex
9b0d2e50946 makeseeds: fix incorrect regex
a9a2b669f3e Merge bitcoin/bitcoin#32003: doc: remove note about macOS self-signing
c7d216ac946 Merge bitcoin/bitcoin#31993: ci: use LLVM 20.1.0 for MSAN
9f3dcacef73 Merge bitcoin/bitcoin#31978: kernel: pre-29.x chainparams and headerssync update
c873ab6f23e doc: remove note about macOS self-signing
bd0ee07310c Merge bitcoin/bitcoin#31407: guix: Notarize MacOS app bundle and codesign all MacOS and Windows binaries
11f8ab140fe test: wallet, coverage for crash on dup block disconnection during unclean shutdown
4fde88bc469 Update minisketch subtree to latest master
f5d8b66a8cf Squashed 'src/minisketch/' changes from eb37a9b8e7..d1e6bb8bbf
0391d7e4c24 Merge bitcoin/bitcoin#31848: test, tracing: don't use problematic `bpf_usdt_readarg_p()`
36d4bd7fe32 Merge bitcoin/bitcoin#31997: doc: update location of minisketch repository
0c0a2717bc3 Merge bitcoin/bitcoin#31954: doc: update fuzz instructions when on macOS
a2ab2faf4a8 Merge bitcoin/bitcoin#31982: scripted-diff: rename libmultiprocess repository
972b604dc42 doc: update location of minisketch repository
611999e0977 doc: link to benchcoin over bitcoinperf
d76647eb8f1 ci: use LLVM 20.1.0 for MSAN
c2341ebb5bb Merge bitcoin/bitcoin#31983: build: don't show ccache summary with MSVC
88debb3e429 Merge bitcoin/bitcoin#31940: Add assumeutxo chainparams to release-process.md
c8dcb61172e Merge bitcoin/bitcoin#31985: doc: Bring reduce-memory.md up to date
11a2d3a63e9 [headerssync] update headerssync config for v29
dd23c532581 [kernel] update chainTxData for v29
80926af8c26 [kernel] update assumevalid and minimumChainWork for v29
0683b8ebf33 [kernel] update assumed blockchain and chainstate sizes for v29
e13c18f6ce5 Merge bitcoin/bitcoin#31969: Add mainnet assumeutxo param at height 880,000
e5ff4e416ec qa: use a clearer and documented amount error in malleated snapshot
b34fdb5ade0 test: introduce output amount (de)compression routines
18e83534ace wallet: Replace "non-0" with "non-zero" in translatable error message
a7911ed101f test: introduce VARINT (de)serialization routines
c718bffc361 build: don't use ccache with MSVC
fff4f93dff8 doc: Bring reduce-memory.md up to date
75486c8ed87 doc: update fuzz instructions when on macOS
18749efb072 scripted-diff: rename libmultiprocess repository
02fae336351 doc: add assumeutxo chainparams to release proc
15717f0ef39 Merge bitcoin/bitcoin#31916: init: Handle dropped UPnP support more gracefully
afde95b4601 Merge bitcoin/bitcoin#31976: delete release note fragments for v29
ae92bd8e1b2 delete release note fragments for v29
79bbb381a1f Merge bitcoin/bitcoin#30901: cmake: Revamp handling of data files
14f16748557 chainparams: add mainnet assumeutxo param at height 880_000
3c1f72a3670 Merge bitcoin/bitcoin#31930: doc: Update translation generation instructions
75d5d235a6b doc: Update translation generation instructions
6876e5076ec Merge bitcoin/bitcoin#31943: test: add coverage for abandoning unconfirmed transaction
44041ae0eca init: Handle dropped UPnP support more gracefully
fac1dd9dffb test: Fix authproxy named args debug logging
0bb8a01810e Merge bitcoin/bitcoin#31880: cmake: Add optional sources to `minisketch` library directly
3bb679e5de2 Merge bitcoin/bitcoin#31952: chore: remove redundant word
d9ba427f9d0 chore: remove redundant word
c12a2528ce6 Merge bitcoin/bitcoin#31415: test: fix TestShell initialization and reset()
ba0a4391ff3 Merge bitcoin/bitcoin#31945: depends: Update libmultiprocess library to fix CI failures
fa99c3b544b test: Exclude SeedStartup from coverage counts
fa579d663d7 contrib: Add deterministic-unittest-coverage
fa3940b1cbc contrib: deterministic-fuzz-coverage fixups
faf905b9b69 doc: Remove unused -fPIC
073a017016e test: add coverage for abandoning unconfirmed transaction
e486597f9a5 Merge bitcoin/bitcoin#31918: fuzz: add basic TxOrphanage::EraseForBlock cov
01f77157660 depends: Update libmultiprocess library to fix CI failure
279ab20bbd3 Merge bitcoin/bitcoin#31925: contrib: update `utxo_to_sqlite` tool documentation and comment
f0ac24846f1 Merge bitcoin/bitcoin#31928: ci: Fix filtering out Qt-generated files from `compile_commands.json`
44bd3159244 Merge bitcoin/bitcoin#31676: fuzz: add targets for PCP and NAT-PMP port mapping requests
d82dc104152 ci: Fix filtering out Qt generated files from `compile_commands.json`
e747ed989eb contrib: fix read metadata related comment
d3095ac35a8 contrib: update `dumptxoutset` command in utxo_to_sqlite doc
ecf54a32ed2 cmake: Add support for builtin `codegen` target
a8c78a0574d cmake: Revamp handling of data files
5b8fd7c3a6b Merge bitcoin-core/gui#854: qt: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
568fcdddaec scripted-diff: Adjust documentation per top-level target output location
026bb226e96 cmake: Set top-level target output locations
db63bfbe7cf Merge bitcoin/bitcoin#31580: test: Remove non-portable IPv6 test
da3ed8b970a Merge bitcoin/bitcoin#31662: cmake: Do not modify `CMAKE_TRY_COMPILE_TARGET_TYPE` globally
9d7672bbcae Merge bitcoin/bitcoin#31742: contrib: fix BUILDDIR in gen-bitcoin-conf script and gen-manpages.py
77bf99012ae Merge bitcoin/bitcoin#30302: doc: clarify loadwallet path loading for wallets
8400b742fa6 fuzz: add basic TxOrphanage::EraseForBlock cov
46a9c73083e Merge bitcoin/bitcoin#31906: ci: Switch to gcr.io mirror to avoid rate limits
7267ed05182 qt: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
2c4b229c906 cmake: Introduce `FUZZ_LIBS`
ea929c0848e scripted-diff: Rename CMake helper module
8d238c1dfde cmake: Delete `check_cxx_source_links*` macros
71bf8294a98 cmake: Convert `check_cxx_source_compiles_with_flags` to a function
88ee6800c96 cmake: Delete `check_cxx_source_links_with_flags` macro
09e8fd25b1a build: Don't override CMake's default try_compile target
303f8cca056 test: fix TestShell initialization and reset()
e181bda061c guix: Apply all codesignatures to Windows binaries
aafbd23fd97 guix: Apply codesignatures to all MacOS binaries
3656b828dc2 contrib: Sign all Windows binaries too
31d325464d0 contrib: Sign and notarize all MacOS binaries
cadbd4137d8 miner: have waitNext return after 20 min on testnet
d4020f502a6 Add waitNext() to BlockTemplate interface
fa8de4706a0 ci: Switch to gcr.io mirror to avoid rate limits
9ef429b6ae6 wallet: fix crash on double block disconnection
ca6aa0b9bee doc: loadwallet loads from relative walletdir
710d5b5149d guix: Update signapple
fa1e0a72281 gitignore: target/
9919e92022b cmake: Add optional sources to `minisketch` library directly
c73b59d47f1 fuzz: implement targets for PCP and NAT-PMP port mapping requests
1695c8ab5bd fuzz: in FuzzedSock::GetSockName(), return a random-length name
0d472c19533 fuzz: never return an uninitialized sockaddr in FuzzedSock::GetSockName
39b7e2b5905 fuzz: add steady clock mocking to FuzzedSock
6fe1c35c05b pcp: make NAT-PMP error codes uint16_t
01906ce912e pcp: make the ToString method const
a0b66b4bffa Revert "test: Disable known broken USDT test for now"
ec47ba349d0 contrib: don't use bpf_usdt_readarg_p
35ae6ff60f6 test: don't use bpf_usdt_readarg_p
e8b3c44da6e build: Include all Windows binaries for codesigning
dd4ec840eeb build: Include all MacOS binaries for codesigning
4e5c9ceb9dd guix: Rename Windows unsigned binaries to unsigned.zip
d9d49cd533b guix: Rename MacOS binaries to unsigned.tar.gz
c214e5268fa guix: Rename unsigned.tar.gz to codesigning.tar.gz
63a8791e15c contrib: fix BUILDDIR in gen-bitcoin-conf script and gen-manpages.py
d871d778251 test: Remove non-portable IPv6 test
REVERT: 29513955891 kernel: Add pure kernel bitcoin-chainstate
REVERT: 9c40433bd4a kernel: Add functions to get the block hash from a block
REVERT: 942df8f287f kernel: Add block index utility functions to C header
REVERT: 87102db87ac kernel: Add function to read block undo data from disk to C header
REVERT: 12b8c9442ad kernel: Add functions to read block from disk to C header
REVERT: d977db3feb2 kernel: Add function for copying  block data to C header
REVERT: 8ae33627743 kernel: Add functions for the block validation state to C header
REVERT: 0565a0bbc01 kernel: Add validation interface to C header
REVERT: 837e5a0f536 kernel: Add interrupt function to C header
REVERT: a80b7bfe3de kernel: Add import blocks function to C header
REVERT: 54d1a1231ec kernel: Add chainstate load options for in-memory dbs in C header
REVERT: 659efa9969c kernel: Add options for reindexing in C header
REVERT: 2179127c079 kernel: Add block validation to C header
REVERT: 26143992693 kernel: Add chainstate loading when instantiating a ChainstateManager
REVERT: 82d2bebbe54 kernel: Add chainstate manager option for setting worker threads
REVERT: e875f520851 kernel: Add chainstate manager object to C header
REVERT: 4e486059178 kernel: Add notifications context option to C header
REVERT: a5eb699b978 kernel: Add chain params context option to C header
REVERT: 0818b8d2c07 kernel: Add kernel library context object
REVERT: 71c24c95b31 kernel: Add logging to kernel library C header
REVERT: 0cc810386f7 kernel: Introduce initial kernel C header API

git-subtree-dir: libbitcoinkernel-sys/bitcoin
git-subtree-split: 5991a69ee0000de551955846d7d21733c326a748
stickies-v added a commit to stickies-v/py-bitcoinkernel that referenced this pull request Mar 17, 2025
5991a69ee00 kernel: Add pure kernel bitcoin-chainstate
05b7d136684 kernel: Add functions to get the block hash from a block
f18c792d843 kernel: Add block index utility functions to C header
89f5bf04673 kernel: Add function to read block undo data from disk to C header
b4f71fc64e7 kernel: Add functions to read block from disk to C header
41306f081ad kernel: Add function for copying  block data to C header
9385d9fc87e kernel: Add functions for the block validation state to C header
0bd9a710358 kernel: Add validation interface to C header
432710f3fc3 kernel: Add interrupt function to C header
cb164ae1eb2 kernel: Add import blocks function to C header
abd67fd93d0 kernel: Add chainstate load options for in-memory dbs in C header
b98c2748e94 kernel: Add options for reindexing in C header
9d0efe1fc86 kernel: Add block validation to C header
87e364fc1ec kernel: Add chainstate loading when instantiating a ChainstateManager
df1599b2d2a kernel: Add chainstate manager option for setting worker threads
fb767002e97 kernel: Add chainstate manager object to C header
10b0fad2fd3 kernel: Add notifications context option to C header
39e7ad8d0dc kernel: Add chain params context option to C header
6285c353b89 kernel: Add kernel library context object
98d10160b6a kernel: Add logging to kernel library C header
4d663446de1 kernel: Introduce initial kernel C header API
698f86964c6 Merge bitcoin/bitcoin#31961: Require sqlite when building the wallet
f4b3a5858ae Merge bitcoin/bitcoin#32064: build: Remove manpages when making MacOS app
92f553eaa92 Merge bitcoin/bitcoin#32038: depends: remove `NO_HARDEN` option
80b5e7f2cb7 build: Remove manpages when making MacOS app
1b251f6b679 Merge bitcoin/bitcoin#31649: consensus: Remove checkpoints (take 2)
5c2f04413e4 Merge bitcoin/bitcoin#32049: contrib: Fix `gen-bitcoin-conf.sh`
5d96c2eab9f Merge bitcoin/bitcoin#31907: qa: clarify and document one assumeutxo test case with malleated snapshot
57d611e53b3 Merge bitcoin/bitcoin#31757: wallet: fix crash on double block disconnection
199d47d9629 Merge bitcoin/bitcoin#32056: doc: Adjust path in comment
de1ada079bf doc: Adjust path in comment
72c150dfe76 Merge bitcoin/bitcoin#32055: contrib: Fix deterministic-unittest-coverage tool path
3c5d1a46819 Remove checkpoints
632ae47372d update comment on MinimumChainWork check
893ca545850 contrib: Fix deterministic-unittest-coverage tool path
c20a5ce106b Merge bitcoin/bitcoin#31901: contrib: Add deterministic-unittest-coverage
a50af6e4c49 Merge bitcoin/bitcoin#32044: ci: Revert "Temporary workaround for old CCACHE_DIR cirrus env"
a5a582d852e Merge bitcoin/bitcoin#31998: depends: patch around PlacementNew issue in capnp
a24419f8bed contrib: Fix `gen-bitcoin-conf.sh`.
eb9730ab658 Merge bitcoin/bitcoin#31987: wallet: Replace "non-0" with "non-zero" in translatable error message
f347d7980e8 Merge bitcoin/bitcoin#31283: Add waitNext() to BlockTemplate interface
fa21597064b ci: Revert "Temporary workaround for old CCACHE_DIR cirrus env"
aa68ed27b89 Merge bitcoin/bitcoin#32041: build: bump CLIENT_VERSION_MAJOR to 29
a3f0e9a4336 [build] bump CLIENT_VERSION_MAJOR to 29
36b6f36ac47 build: require sqlite when building the wallet
5dfef6b9b37 depends: remove NO_HARDEN option
8cb6ab0b971 Merge bitcoin/bitcoin#32025: validation, fix: Use wtxid instead of txid in `CheckEphemeralSpends`
7bb4c82d8ba Merge bitcoin/bitcoin#32021: qa: Enable feature_init.py on Windows
1ef22ce3351 depends: patch around PlacementNew issue in capnp
502d47203e7 Merge bitcoin/bitcoin#31161: cmake: Set top-level target output locations
e38f09b776c Merge bitcoin/bitcoin#31955: test: Fix authproxy named args debug logging
1d0a1a60e83 Merge bitcoin/bitcoin#32004: qt: 29.0 translations update
91328249470 qt: 29.0 translations update
e637dc2c01c refactor: Replace uint256 type with Wtxid in PackageMempoolAcceptResult struct
a3baead7cb8 validation: use wtxid instead of txid in CheckEphemeralSpends
dbc89b604c4 Merge bitcoin/bitcoin#31960: seeds: add signet/testnet4, update makeseeds regex, minblocks, fixed seeds
45719390a14 Merge bitcoin/bitcoin#32011: Docs: fix typos in documentation files
4637cb1eec4 Merge bitcoin/bitcoin#32002: doc: add note to Windows build about stripping bins
5f732089d67 Merge bitcoin/bitcoin#32017: doc: warn against having qt6 installed on macOS
a1aea3ea742 Merge bitcoin/bitcoin#31996: doc: link to benchcoin over bitcoinperf
5601bab4f8b Docs: fix typos in documentation files
59c4930394c qa: Enable feature_init.py on Windows
c94195c077f doc: add note to windows build about stripping bin
ee68b05f3d6 Merge bitcoin/bitcoin#32014: ci: Do not try to install for fuzz builds
093c757d7cf Merge bitcoin/bitcoin#32000: Update minisketch subtree to d1e6bb8bbf8ef104b9dd002cab14a71b91061177
a3c3f37e71e ci: Do not try to install for fuzz builds
d79dab0fa99 doc: warn against having qt6 installed on macOS
f0b659716bd seeds: update .gitignore with signet and testnet4
48f07ac9da4 chainparams: remove hardcoded signet seeds
d4ab1150c40 chainparams: add signet fixed seeds if default network
49f155efbfb seeds: update fixed dns seeds
236687083fb makeseeds: regex improvements
98f84d6c233 generate-seeds: update and add signet
c4ed23e5398 seeds: add testnet4 seeds
60f17dd8167 seeds: add signet seeds
2bcccaa4107 makeseeds: align I2P column header
94e21aa5fc5 makeseeds: update MIN_BLOCKS, add reminder to README
6ae7a3bc4e7 makeseeds: update user agent regex
9b0d2e50946 makeseeds: fix incorrect regex
a9a2b669f3e Merge bitcoin/bitcoin#32003: doc: remove note about macOS self-signing
c7d216ac946 Merge bitcoin/bitcoin#31993: ci: use LLVM 20.1.0 for MSAN
9f3dcacef73 Merge bitcoin/bitcoin#31978: kernel: pre-29.x chainparams and headerssync update
c873ab6f23e doc: remove note about macOS self-signing
bd0ee07310c Merge bitcoin/bitcoin#31407: guix: Notarize MacOS app bundle and codesign all MacOS and Windows binaries
11f8ab140fe test: wallet, coverage for crash on dup block disconnection during unclean shutdown
4fde88bc469 Update minisketch subtree to latest master
f5d8b66a8cf Squashed 'src/minisketch/' changes from eb37a9b8e7..d1e6bb8bbf
0391d7e4c24 Merge bitcoin/bitcoin#31848: test, tracing: don't use problematic `bpf_usdt_readarg_p()`
36d4bd7fe32 Merge bitcoin/bitcoin#31997: doc: update location of minisketch repository
0c0a2717bc3 Merge bitcoin/bitcoin#31954: doc: update fuzz instructions when on macOS
a2ab2faf4a8 Merge bitcoin/bitcoin#31982: scripted-diff: rename libmultiprocess repository
972b604dc42 doc: update location of minisketch repository
611999e0977 doc: link to benchcoin over bitcoinperf
d76647eb8f1 ci: use LLVM 20.1.0 for MSAN
c2341ebb5bb Merge bitcoin/bitcoin#31983: build: don't show ccache summary with MSVC
88debb3e429 Merge bitcoin/bitcoin#31940: Add assumeutxo chainparams to release-process.md
c8dcb61172e Merge bitcoin/bitcoin#31985: doc: Bring reduce-memory.md up to date
11a2d3a63e9 [headerssync] update headerssync config for v29
dd23c532581 [kernel] update chainTxData for v29
80926af8c26 [kernel] update assumevalid and minimumChainWork for v29
0683b8ebf33 [kernel] update assumed blockchain and chainstate sizes for v29
e13c18f6ce5 Merge bitcoin/bitcoin#31969: Add mainnet assumeutxo param at height 880,000
e5ff4e416ec qa: use a clearer and documented amount error in malleated snapshot
b34fdb5ade0 test: introduce output amount (de)compression routines
18e83534ace wallet: Replace "non-0" with "non-zero" in translatable error message
a7911ed101f test: introduce VARINT (de)serialization routines
c718bffc361 build: don't use ccache with MSVC
fff4f93dff8 doc: Bring reduce-memory.md up to date
75486c8ed87 doc: update fuzz instructions when on macOS
18749efb072 scripted-diff: rename libmultiprocess repository
02fae336351 doc: add assumeutxo chainparams to release proc
15717f0ef39 Merge bitcoin/bitcoin#31916: init: Handle dropped UPnP support more gracefully
afde95b4601 Merge bitcoin/bitcoin#31976: delete release note fragments for v29
ae92bd8e1b2 delete release note fragments for v29
79bbb381a1f Merge bitcoin/bitcoin#30901: cmake: Revamp handling of data files
14f16748557 chainparams: add mainnet assumeutxo param at height 880_000
3c1f72a3670 Merge bitcoin/bitcoin#31930: doc: Update translation generation instructions
75d5d235a6b doc: Update translation generation instructions
6876e5076ec Merge bitcoin/bitcoin#31943: test: add coverage for abandoning unconfirmed transaction
44041ae0eca init: Handle dropped UPnP support more gracefully
fac1dd9dffb test: Fix authproxy named args debug logging
0bb8a01810e Merge bitcoin/bitcoin#31880: cmake: Add optional sources to `minisketch` library directly
3bb679e5de2 Merge bitcoin/bitcoin#31952: chore: remove redundant word
d9ba427f9d0 chore: remove redundant word
c12a2528ce6 Merge bitcoin/bitcoin#31415: test: fix TestShell initialization and reset()
ba0a4391ff3 Merge bitcoin/bitcoin#31945: depends: Update libmultiprocess library to fix CI failures
fa99c3b544b test: Exclude SeedStartup from coverage counts
fa579d663d7 contrib: Add deterministic-unittest-coverage
fa3940b1cbc contrib: deterministic-fuzz-coverage fixups
faf905b9b69 doc: Remove unused -fPIC
073a017016e test: add coverage for abandoning unconfirmed transaction
e486597f9a5 Merge bitcoin/bitcoin#31918: fuzz: add basic TxOrphanage::EraseForBlock cov
01f77157660 depends: Update libmultiprocess library to fix CI failure
279ab20bbd3 Merge bitcoin/bitcoin#31925: contrib: update `utxo_to_sqlite` tool documentation and comment
f0ac24846f1 Merge bitcoin/bitcoin#31928: ci: Fix filtering out Qt-generated files from `compile_commands.json`
44bd3159244 Merge bitcoin/bitcoin#31676: fuzz: add targets for PCP and NAT-PMP port mapping requests
d82dc104152 ci: Fix filtering out Qt generated files from `compile_commands.json`
e747ed989eb contrib: fix read metadata related comment
d3095ac35a8 contrib: update `dumptxoutset` command in utxo_to_sqlite doc
ecf54a32ed2 cmake: Add support for builtin `codegen` target
a8c78a0574d cmake: Revamp handling of data files
5b8fd7c3a6b Merge bitcoin-core/gui#854: qt: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
568fcdddaec scripted-diff: Adjust documentation per top-level target output location
026bb226e96 cmake: Set top-level target output locations
db63bfbe7cf Merge bitcoin/bitcoin#31580: test: Remove non-portable IPv6 test
da3ed8b970a Merge bitcoin/bitcoin#31662: cmake: Do not modify `CMAKE_TRY_COMPILE_TARGET_TYPE` globally
9d7672bbcae Merge bitcoin/bitcoin#31742: contrib: fix BUILDDIR in gen-bitcoin-conf script and gen-manpages.py
77bf99012ae Merge bitcoin/bitcoin#30302: doc: clarify loadwallet path loading for wallets
8400b742fa6 fuzz: add basic TxOrphanage::EraseForBlock cov
46a9c73083e Merge bitcoin/bitcoin#31906: ci: Switch to gcr.io mirror to avoid rate limits
82ba9257157 Merge bitcoin/bitcoin#31366: cmake: Check `-Wno-*` compiler options for `leveldb` target
f236854a5bd Merge bitcoin/bitcoin#31731: doc: update translation generation cmake example
eb51963d870 Merge bitcoin/bitcoin#31884: cmake: Make implicit `libbitcoinkernel` dependencies explicit
7267ed05182 qt: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
58f15d4b215 Merge bitcoin/bitcoin#31379: cmake: Fix passing `APPEND_*FLAGS` to `secp256k1` subtree
2c4b229c906 cmake: Introduce `FUZZ_LIBS`
ea929c0848e scripted-diff: Rename CMake helper module
8d238c1dfde cmake: Delete `check_cxx_source_links*` macros
71bf8294a98 cmake: Convert `check_cxx_source_compiles_with_flags` to a function
88ee6800c96 cmake: Delete `check_cxx_source_links_with_flags` macro
09e8fd25b1a build: Don't override CMake's default try_compile target
303f8cca056 test: fix TestShell initialization and reset()
e606c577cb2 Merge bitcoin/bitcoin#31899: cmake: Exclude generated sources from translation
758a93d6215 doc: update translation generation cmake example
fd14995b6a8 Merge bitcoin/bitcoin#31908: Revert merge of PR #31826
e181bda061c guix: Apply all codesignatures to Windows binaries
aafbd23fd97 guix: Apply codesignatures to all MacOS binaries
3656b828dc2 contrib: Sign all Windows binaries too
31d325464d0 contrib: Sign and notarize all MacOS binaries
cadbd4137d8 miner: have waitNext return after 20 min on testnet
d4020f502a6 Add waitNext() to BlockTemplate interface
3e9b12b3e0f Revert "Merge bitcoin/bitcoin#31826: random: Check `GetRNDRRS` is supported in `InitHardwareRand` to avoid infinite loop"
fa8de4706a0 ci: Switch to gcr.io mirror to avoid rate limits
9ef429b6ae6 wallet: fix crash on double block disconnection
785649f3977 Merge bitcoin/bitcoin#29881: guix: use GCC 13 to build releases
139640079ff Merge bitcoin/bitcoin#31826: random: Check `GetRNDRRS` is supported in `InitHardwareRand` to avoid infinite loop
dc3a7146337 Merge bitcoin/bitcoin#31794: wallet: abandon orphan coinbase txs, and their descendants, during startup
06757af2da5 Merge bitcoin/bitcoin#29156: tests: add functional test for miniscript decaying multisig
ca6aa0b9bee doc: loadwallet loads from relative walletdir
710d5b5149d guix: Update signapple
fa1e0a72281 gitignore: target/
ff4ddd3d2e3 Revert "cmake: Ensure generated sources are up to date for `translate` target"
03b3166aac5 cmake: Exclude generated sources from translation
43e287b3ff5 Merge bitcoin/bitcoin#31892: build: remove ENABLE_HARDENING condition from check-security
63d625f7610 Merge bitcoin/bitcoin#31893: test: remove scanning check on `wallet_importdescriptors`
9919e92022b cmake: Add optional sources to `minisketch` library directly
3b42e05aa9e cmake: Make implicit `libbitcoinkernel` dependencies explicit
3fd64efb437 cmake: Avoid using `OBJECT` libraries
28dec6c5f8b Merge bitcoin/bitcoin#31268: cmake: add optional source files to bitcoin_crypto and crc32c directly
50afaf3a389 Merge bitcoin/bitcoin#31836: contrib: Add deterministic-fuzz-coverage
405dd0e647e test: remove scanning check on `wallet_importdescriptors`
113a7a363fa build: remove ENABLE_HARDENING cond from check-security
9da0820ec55 Merge bitcoin/bitcoin#31869: cmake: Add `libbitcoinkernel` target
db36a92c02b Merge bitcoin/bitcoin#31879: doc: add release note for #27432 (utxo-to-sqlite tool)
95722d048a8 doc: add release note for #27432 (utxo-to-sqlite tool)
e4dd5a351bd test: wallet, abandon coinbase txs and their descendants during startup
09b150bb8ad In `InitHardwareRand`, do trail test for `RNDRRS` by `VerifyRNDRRS`
43e71f74988 Merge bitcoin/bitcoin#27432: contrib: add tool to convert compact-serialized UTXO set to SQLite database
e53310c47ab Merge bitcoin/bitcoin#30529: Fix -norpcwhitelist, -norpcallowip, and similar corner case behavior
254fd89d39f Merge bitcoin/bitcoin#31863: random: Initialize variables in hardware RNG functions
75f8396c907 Merge bitcoin/bitcoin#30746: test: cover base[32|58|64] with symmetric roundtrip fuzz (and padding) tests
c4b46b45898 Merge bitcoin/bitcoin#31629: wallet: fix rescanning inconsistency
d0dfd6d3f60 Merge bitcoin/bitcoin#31865: build: move `rpc/external_signer` to node library
ce4dbfc3590 Merge bitcoin/bitcoin#31851: doc: build: Fix instructions for msvc gui builds
504d0c21e26 Merge bitcoin/bitcoin#31439: validation: In case of a continued reindex, only activate chain in the end
0b48f77e101 Merge bitcoin/bitcoin#31413: rpc: Remove deprecated dummy alias for listtransactions::label
21a0efaf8c9 Merge bitcoin/bitcoin#29858: test: Add test for rpcwhitelistdefault
8a00b755e98 Merge bitcoin/bitcoin#31634: doc: Improve dependencies documentation
e58605e04f3 Merge bitcoin/bitcoin#31854: net: reduce CAddress usage to CService or CNetAddr
3a914ab96bd cmake: Rename `bitcoinkernel` component to `libbitcoinkernel`
06b9236f432 Merge bitcoin/bitcoin#31359: cmake: Add `CheckLinkerSupportsPIE` module
7ce09a59921 cmake: Add `libbitcoinkernel` target
e501246e77c build: move rpc/external_signer to node library
73e2ec13737 Merge bitcoin/bitcoin#31844: cmake: add a component for each binary
99755e04ffa random: Initialize variables in hardware RNG functions
7bbd761e816 Merge bitcoin/bitcoin#31421: cmake: Improve compatibility with Python version managers
9491676438a Merge bitcoin/bitcoin#31157: Cleanups to port mapping module post UPnP drop
109bfe9573b Merge bitcoin/bitcoin#31857: depends: avoid an unset `CMAKE_OBJDUMP`
14d1d8e2120 Merge bitcoin/bitcoin#31758: test: deduplicates p2p_tx_download constants
fa3e409c9a0 contrib: Add deterministic-fuzz-coverage
2549fc6fd1c Merge bitcoin/bitcoin#31768: test: check `scanning` field from `getwalletinfo`
9b033bebb18 cmake: rename Kernel component to bitcoinkernel for consistency
2e0c92558e9 cmake: add and use install_binary_component
a85e8c0e615 doc: Add some general documentation about negated options
96d30ed4f96 Merge bitcoin/bitcoin#31495: wallet: Utilize IsMine() and CanProvide() in migration to cover edge cases
490c8fa1782 doc: Add release notes summarizing negated option behavior changes.
458ef0a11b5 refactor: Avoid using IsArgSet() on -connect list option
752ab9c3c65 test: Add test to make sure -noconnect disables -dnsseed and -listen by default
3c2920ec98f refactor: Avoid using IsArgSet() on -signetseednode and -signetchallenge list options
d05668922a2 refactor: Avoid using IsArgSet() on -debug, -loglevel, and -vbparams list options
3d1e8ca53a0 Normalize inconsistent -noexternalip behavior
ecd590d4c1e Normalize inconsistent -noonlynet behavior
5544a19f863 Fix nonsensical bitcoin-cli -norpcwallet behavior
6e8e7f433fc Fix nonsensical -noasmap behavior
b6ab3508064 Fix nonsensical -notest behavior
6768389917a Fix nonsensical -norpcwhitelist behavior
e03409c70f7 Fix nonsensical -norpcbind and -norpcallowip behavior
40c4899bc20 Fix nonsensical -nobind and -nowhitebind behavior
5453e66fd91 Fix nonsensical -noseednode behavior
c242fa5be35 Merge bitcoin/bitcoin#31858: chore: remove redundant word
4c62b37fcd2 chore: remove redundant word
251ea7367cf Merge bitcoin/bitcoin#31767: logging: Ensure -debug=0/none behaves consistently with -nodebug
2434aeab62b depends: avoid an unset CMAKE_OBJDUMP
a5b0a441f85 Merge bitcoin/bitcoin#31855: chore: remove redundant word
cd4bfaee103 net: reduce CAddress usage to CService or CNetAddr
033acdf03da chore: remove redundant word
55cf39e4c54 Merge bitcoin/bitcoin#31722: cmake: Copy `cov_tool_wrapper.sh.in` to the build tree
c3fa043ae56 doc: build: Fix instructions for msvc gui builds
048ef98626b Merge bitcoin/bitcoin#31840: depends: add missing Darwin objcopy
c73b59d47f1 fuzz: implement targets for PCP and NAT-PMP port mapping requests
1695c8ab5bd fuzz: in FuzzedSock::GetSockName(), return a random-length name
713bf66b1f7 Merge bitcoin/bitcoin#31500: depends: Fix compiling `libevent` package on NetBSD
0d472c19533 fuzz: never return an uninitialized sockaddr in FuzzedSock::GetSockName
39b7e2b5905 fuzz: add steady clock mocking to FuzzedSock
6fe1c35c05b pcp: make NAT-PMP error codes uint16_t
01906ce912e pcp: make the ToString method const
a0b66b4bffa Revert "test: Disable known broken USDT test for now"
ec47ba349d0 contrib: don't use bpf_usdt_readarg_p
35ae6ff60f6 test: don't use bpf_usdt_readarg_p
ede388d03df Merge bitcoin/bitcoin#30911: build: simplify by flattening the dependency graph
534414ca9d4 Merge bitcoin/bitcoin#31678: ci: Skip read-write of default env vars
87ce116058f Merge bitcoin/bitcoin#31846: test: Remove stale gettime test
fa3a4eafa11 test: Remove stale gettime test
42251e00e8b Merge bitcoin/bitcoin#30584: depends: Make default `host` and `build` comparable
0b6ed342b57 Merge bitcoin/bitcoin#31711: build: set build type and per-build-type flags as early as possible
a44ccedcc2c Merge bitcoin/bitcoin#31818: guix: remove test-security/symbol-check scripts
e8b3c44da6e build: Include all Windows binaries for codesigning
dd4ec840eeb build: Include all MacOS binaries for codesigning
4e5c9ceb9dd guix: Rename Windows unsigned binaries to unsigned.zip
d9d49cd533b guix: Rename MacOS binaries to unsigned.tar.gz
c214e5268fa guix: Rename unsigned.tar.gz to codesigning.tar.gz
0264c5d86c7 cmake: use per-target components for bitcoin-qt and bitcoin-gui
fb0546b1c5e ci: don't try to install for a fuzz build
c65233230f1 Merge bitcoin/bitcoin#31022: test: Add mockable steady clock, tests for PCP and NATPMP implementations
86528937e5c Merge bitcoin/bitcoin#31834: build: disable bitcoin-node if daemon is not built
7afeaa24693 test: `-debug=0` and `-debug=none` behave similarly to `-nodebug`
a8fedb36a71 logging: Ensure -debug=0/none behaves consistently with -nodebug
d39d521d86a test: `-nodebug` clears previously set debug options
3edaf0b4286 depends: add missing Darwin objcopy
2507ebdf1b2 Merge bitcoin/bitcoin#31837: test: add missing sync to p2p_tx_download.py
79f02d56ef7 Merge bitcoin/bitcoin#30623: test: Fuzz the human-readable part of bech32 as well
ff3171f96d3 Merge bitcoin/bitcoin#31614: test: expect that files may disappear from /proc/PID/fd/
56a9b847bba build: set build type and per-build-type flags as early as possible
8fe552fe6e0 test: add missing sync to p2p_tx_download.py
af76664b12d test: Test migration of a solvable script with no privkeys
17f01b0795e test: Test migration of taproot output scripts
1eb9a2a39fd test: Test migration of miniscript in legacy wallets
e8c3efc7d8f wallet migration: Determine Solvables with CanProvide
fa1b7cd6e2c migration: Skip descriptors which do not parse
440ea1ab639 legacy spkm: use IsMine() to extract watched output scripts
b777e84cd70 legacy spkm: Move CanProvide to LegacyDataSPKM
b1ab927bbf2 tests: Test migration of additional P2WSH scripts
1d813e4bf52 Merge bitcoin/bitcoin#31819: doc: swap CPPFLAGS for APPEND_CPPFLAGS
2ffea09820e build: disable bitcoin-node if daemon is not built
f8d3e0edf47 Merge bitcoin/bitcoin#30205: test: add mocked Sock that can read/write custom data and/or CNetMessages
6b165f5906f Merge bitcoin/bitcoin#31384: mining: bugfix: Fix duplicate coinbase tx weight reservation
6a46be75c43 Merge bitcoin/bitcoin#31793: ci: Use clang-20 for sanitizer tasks
76c090145e9 guix: remove test-security/symbol-check scripts
329b60f595e Merge bitcoin/bitcoin#31810: TxOrphanage: account for size of orphans and count announcements
bc3f59ca530 Merge bitcoin/bitcoin#31820: build: consistently use `CLIENT_NAME` in libbitcoinkernel.pc.in
dead9086543 cmake: Improve compatibility with Python version managers
e107bf78f9d [fuzz] TxOrphanage::SanityCheck accounting
fb0ada982a7 Merge bitcoin/bitcoin#31811: test: test_inv_block, use mocktime instead of waiting
f5b9a2f68c9 build: use CLIENT_NAME in libbitcoinkernel.pc.in
ea687d20293 doc: swap CPPFLAGS for APPEND_CPPFLAGS
81eb6cc2c60 Merge bitcoin/bitcoin#31800: depends: Avoid using the `-ffile-prefix-map` compiler option
2f98d1e06ed Merge bitcoin/bitcoin#31814: ci: Bump fuzz task timeout
9cf746d6631 cmake: add optional source files to crc32c directly
9c7823c5b53 cmake: add optional source files to bitcoin_crypto directly
faca7ac1321 ci: Bump fuzz task timeout
22dccea5532 [fuzz] txorphan byte accounting
982ce101781 add orphanage byte accounting to TxDownloadManagerImpl::CheckIsEmpty()
c289217c014 [txorphanage] track the total number of announcements
e5ea7daee01 [txorphanage] add per-peer weight accounting
672c69c688f [refactor] change per-peer workset to info map within orphanage
59cd0f0e091 [txorphanage] account for weight of orphans
f93d6cb0caa Merge bitcoin/bitcoin#31809: Prepare "Open Transifex translations for v29.0" release step
f605f7a9c26 build: refactor: set debug definitions in main CMakeLists
2706c5b7c8e test: test_inv_block, use mocktime instead of waiting
0a02e7fdeac test: deduplicates p2p_tx_download constants
2f27c910869 qt: Update the `src/qt/locale/bitcoin_en.xlf` translation source file
864386a7444 cmake: Ensure generated sources are up to date for `translate` target
d6c229d8bd4 Merge bitcoin/bitcoin#31804: ci: Remove no longer needed `-Wno-error=documentation`
2b51dd384b4 Update Transifex slug for 29.x
82ba5051342 Merge bitcoin/bitcoin#31759: test: fixes p2p_ibd_txrelay wait time
ae9eaa063b6 Merge bitcoin/bitcoin#31760: test: make sure we are on sync with a peer before checking if they have sent a message
f1d7a6dfa14 ci: Remove no longer needed '-Wno-error=documentation'
a43f08c4ae3 Merge bitcoin/bitcoin#25832: tracing: network connection tracepoints
407062f2ac9 depends: Avoid using the `-ffile-prefix-map` compiler option
b9c241804c0 Merge bitcoin/bitcoin#30226: test: add validation for gettxout RPC response
1334ca6c070 Merge bitcoin/bitcoin#31437: func test: Expand tx download preference tests
33932d30e38 Merge bitcoin/bitcoin#31784: test: added additional coverage to waitforblock and waitforblockheight rpc's
2aa7be1744a Merge bitcoin/bitcoin#31358: depends: Avoid hardcoding `host_prefix` in toolchain file
386eecff5f1 doc: add release notes
3eaa0a3b663 miner: init: add `-blockreservedweight` startup option
777434a2cd1 doc: rpc: improve `getmininginfo` help text
c8acd4032d5 init: fail to start when `-blockmaxweight` exceeds `MAX_BLOCK_WEIGHT`
5bb31633cc9 test: add `-blockmaxweight` startup option functional test
2c7d90a6d67 miner: bugfix: fix duplicate weight reservation in block assembler
fa5a02bcfa2 ci: Use clang-20 for sanitizer tasks
474139aa9bf wallet: abandon inactive coinbase tx and their descendants during startup
bb0879ddabc test: check `scanning` field from `getwalletinfo`
94ca99ac51d Merge bitcoin/bitcoin#31666: multi-peer orphan resolution followups
6f5ae1a5745 Merge bitcoin/bitcoin#31653: lint: Call more checks from test_runner
e3622a96929 tracing: document that peer addrs can be >68 chars
b19b526758f tracing: log_p2p_connections.bt example
caa5486574b tracing: connection closed tracepoint
b2ad6ede95e tracing: add misbehaving conn tracepoint
68c1ef4f19b tracing: add inbound connection eviction tracepoint
4d61d52f438 tracing: add outbound connection tracepoint
85b2603eec6 tracing: add inbound connection tracepoint
7e0db87d4ff test: added additional coverage to waitforblock and waitforblockheight rpc's
f89f16846ec depends: Fix compiling `libevent` package on NetBSD
1172bc4157e Merge bitcoin-core/gui#850: psbt: Use SIGHASH_DEFAULT when signing PSBTs
85f96b01b77 Merge bitcoin/bitcoin#30909: wallet, assumeutxo: Don't Assume m_chain_tx_count, Improve wallet RPC errors
601a6a69172 Merge bitcoin/bitcoin#30965: kernel: Move block tree db open to block manager
eaf4b928e72 Merge bitcoin/bitcoin#31746: test: Added coverage to the waitfornewblock rpc
992f37f2e10 Merge bitcoin/bitcoin#31600: rpc: have getblocktemplate mintime account for timewarp
12fa9511b5f build: simplify dependency graph
c4e498300c7 build: avoid unnecessary dependencies on generated headers
8fa10edcd17 Merge bitcoin/bitcoin#31428: ci: Allow build dir on CI host
809d7e763cc Merge bitcoin/bitcoin#31751: test: fix intermittent timeout in p2p_1p1c_network.py
7426afbe624 [p2p] assign just 1 random announcer in AddChildrenToWorkSet
4c1fa6b28c2 test fix: make peer who sends MSG_TX announcement non-wtxidrelay
2da46b88f09 pass P2PTxInvStore init args to P2PInterface init
e3bd51e4b52 [doc] how unique_parents can be empty
32eb6dc758a [refactor] assign local variable for wtxid
18820ccf6b2 multi-announcer orphan handling test fixups
c4cc61db98f [fuzz] GetCandidatePeers
7704139cf0d [refactor] make GetCandidatePeers take uint256 and in-out vector
6e4d392a753 [refactor] rename to OrphanResolutionCandidate to MaybeAdd*
57221ad9797 [refactor] move parent inv-adding to OrphanResolutionCandidate
6835e9686c4 Merge bitcoin/bitcoin#31545: ci: optionally use local docker build cache
c7869cb2143 Merge bitcoin/bitcoin#30844: RPC: improve SFFO arg parsing, error catching and coverage
1e0c5bd74ae Merge bitcoin/bitcoin#30125: test: improve BDB parser (handle internal/overflow pages, support all page sizes)
1d6c6e98c13 Merge bitcoin/bitcoin#31633: net: Disconnect message follow-ups to #28521
3f4b104b1b7 test: make sure we are on sync with a peer before checking if they have sent a message
1973a9e4f1d test: fixes p2p_ibd_txrelay wait time
152a2dcdefa test: fix intermittent timeout in p2p_1p1c_network.py
ad2f9324c61 Merge bitcoin/bitcoin#31740: depends: Update libmultiprocess library before converting to subtree
e1676b08f7b doc: release notes
0082f6acc1d rpc: have mintime account for timewarp rule
79d45b10f1b rpc: clarify BIP94 behavior for curtime
07135481378 refactor: add GetMinimumTime() helper
93747d934b8 test: Added coverage to the waitfornewblock rpc
b432e367427 Merge bitcoin/bitcoin#31736: doc: update links in ci.yml
74ea7edafae Merge bitcoin/bitcoin#31522: ci: Enable DEBUG=1 for one GCC-12+ build to catch 117966 regressions
f34c580bd81 Merge bitcoin/bitcoin#31620: test: Remove --noshutdown flag, Tidy startup failures
1681c08d42c doc: update links in ci.yml
b0869648aa9 Merge bitcoin/bitcoin#21590: Safegcd-based modular inverses in MuHash3072
63a8791e15c contrib: fix BUILDDIR in gen-bitcoin-conf script and gen-manpages.py
4e0aa1835b3 test: Add test for IPC serialization bug
2221c8814d7 depends: Update libmultiprocess library before converting to subtree
0a931a9787b Merge bitcoin/bitcoin#31599: qa: Improve framework.generate* enforcement (#31403 follow-up)
4ac1efb147d Merge bitcoin/bitcoin#30322: test: raise an error in `_bulk_tx_` when `target_vsize` is too low
8775731e6d4 Merge bitcoin/bitcoin#31241: wallet: remove BDB dependency from wallet migration benchmark
9ecc7af41f6 Merge bitcoin/bitcoin#31674: init: Lock blocksdir in addition to datadir
551a09486c4 net: Switch to DisconnectMsg in CConnman
723440c5b8e test framework, wallet: rename get_scriptPubKey method to get_output_script
fa0232a3e07 test: add validation for gettxout RPC response
2d07384243c Merge bitcoin/bitcoin#31658: test: p2p: fix sending of manual INVs in tx download test
796e1a4c5d1 Merge bitcoin/bitcoin#31718: Docs: fix typos in documentation files
81b9800c87e fix typos
d5a2ba44ba4 Merge bitcoin/bitcoin#31416: doc: Fix incorrect send RPC docs
81c174e3186 cmake: Refer to the configure log instead of printing PIE test error
9914e737297 Merge bitcoin/bitcoin#31704: doc: add a section in the fuzzing documentation about using MSan
faf2f2c654d test: Avoid redundant stop and error spam on shutdown
188b02116d8 Merge bitcoin/bitcoin#31635: test: add coverage for unknown address type for `createwalletdescriptor`
2317e6cf2da Merge bitcoin/bitcoin#31696: test: Check that reindex with prune wipes blk files
94f0adcc31d Merge bitcoin/bitcoin#31541: qa: Use `sys.executable` when invoking other Python scripts
59876b3ad71 Merge bitcoin/bitcoin#31376: Miner: never create a template which exploits the timewarp bug
e3c01527696 cmake: Copy `cov_tool_wrapper.sh.in` to the build tree
faf8fc5487d lint: Call lint_commit_msg from test_runner
fa99728b0c8 lint: Move commit range printing to test_runner
fa673cf3449 lint: Call lint_scripted_diff from test_runner
449a25b9582 Merge bitcoin/bitcoin#31709: cmake: Fail if `Libmultiprocess` is missing when `WITH_MULTIPROCESS=ON`
5acf12bafeb Merge bitcoin/bitcoin#31583: rpc: add target to getmininginfo field and show next block info
78fa88c53ad Merge bitcoin/bitcoin#31548: fuzz: Abort when global PRNG is used before SeedRand::ZEROS
c31166ac77a cmake: Fail if `Libmultiprocess` is missing when `WITH_MULTIPROCESS=ON`
5d6f6fd00d7 Merge bitcoin/bitcoin#31490: refactor: inline `UndoWriteToDisk` and `WriteBlockToDisk` to reduce serialization calls
7b4d072e4fa Merge bitcoin/bitcoin#31690: doc: Amend notes on benchmarking
bb633c9407c tests: add functional test for miniscript decaying multisig
e94c9d17123 [doc] Amend notes on benchmarking
5c3e4d8b293 doc: add a section about using MSan
a4df12323c4 doc: add release notes
c75872ffdd9 test: use DIFF_1_N_BITS in tool_signet_miner
4131f322ac0 test: check difficulty adjustment using alternate mainnet
c4f68c12e22 Use OP_0 for BIP34 padding in signet and tests
cf0a62878be rpc: add next to getmininginfo
2d18a078a2d rpc: add target and bits to getchainstates
f153f57acc9 rpc: add target and bits to getblockchaininfo
523520f8279 Merge bitcoin/bitcoin#30866: descriptor: Add proper Clone function to miniscript::Node
baa504fdfaf rpc: add target to getmininginfo result
2a7bfebd5e7 Add target to getblock(header) in RPC and REST
341f9325167 rpc: add GetTarget helper
d20d96fa41c test: use REGTEST_N_BITS in feature_block
7ddbed4f9fc rpc: add nBits to getmininginfo
ba7b9f3d7bf build: move pow and chain to bitcoin_common
c4cc9e3e9df consensus: add DeriveTarget() to pow.h
fa9aced8006 test: Check that reindex with prune wipes blk files
66d21d0eb65 qa: check parsed multipath descriptors dont share references
09a1875ad8c miniscript: Make NodeRef a unique_ptr
9ccb46f91ac miniscript: Ensure there is no NodeRef copy constructor or assignment operator
6d11c9c60b5 descriptor: Add proper Clone function to miniscript::Node
5691fa93c48 Merge bitcoin/bitcoin#31661: depends: Override default build type for `libevent`
8fc7140846f Merge bitcoin/bitcoin#31671: Update leveldb subtree to latest upstream
a9edec94198 Merge bitcoin/bitcoin#31701: test: Bump sync_mempools timeout in p2p_1p1c_network.py
fa80a7dac4b test: Bump sync_mempools timeout in p2p_1p1c_network.py
1111b0ac196 ci: Add missing --combinedlogslen to test-each-commit task
d44626a9c2e depends: Override default build type for `libevent`
d7f56cc5d9e Merge bitcoin/bitcoin#31590: descriptors: Try pubkeys of both parities when retrieving the private keys for an xonly pubkey in a descriptor
fa9593efc2e test: Use high-level python types
c39b3cfcd1b test: Extra verification that migratewallet migrates
0cdddeb2240 kernel: Move block tree db open to BlockManager constructor
7fbb1bc44b1 kernel: Move block tree db open to block manager
0c1b29a0577 ci: use GCC 13 for some jobs
fa8ade300f4 refactor: Avoid GCC false positive error
fa40807fa83 ci: Enable DEBUG=1 for one GCC-12+ build to catch 117966 regressions
cbc65b3ad5a guix: use GCC 13.3.0 for base toolchain.
4601b7ca611 Merge bitcoin/bitcoin#31125: depends: add *FLAGS to gen_id
fa952acdb6e ci: Skip read-write of default env vars
eb243ff06c4 Merge bitcoin/bitcoin#31593: ci: Bump centos stream 10
6dc60126701 Merge bitcoin/bitcoin#31657: ci: Supply `--platform` argument to `docker` commands.
a759ea3e920 doc: Improve dependencies documentation
4e52a634430 Merge bitcoin/bitcoin#31691: util: fix compiler warning about deprecated space before _MiB
2e839dd641d Merge bitcoin/bitcoin#30774: depends: Qt 5.15.16
d3339a7cd5f util: fix compiler warning about deprecated space before _MiB
f0e5e4cdbec test: Add test for rpcwhitelistdefault
6e29de21010 ci: Supply `platform` argument to docker commands.
faaabfaea76 ci: Bump centos stream 10
89720b7a1b3 Merge bitcoin/bitcoin#31543: cmake: Always provide `RPATH` on NetBSD
5b3a81f44da Merge bitcoin/bitcoin#31626: depends: Use base system's `sha256sum` utility on FreeBSD
832d5730730 Merge bitcoin/bitcoin#31651: ci: Turn CentOS task into native one
5ac1e0814ae Merge bitcoin/bitcoin#31621: doc: Update dependency installation for Debian/Ubuntu
370b9c1a0b9 Merge bitcoin/bitcoin#31675: [test] fix p2p_orphan_handling.py empty orphanage check
8996fef8aeb test: p2p: check that INV messages not matching wtxidrelay are ignored
2656a5658c1 tests: add a test for the new blocksdir lock
bdc0a68e676 init: lock blocksdir in addition to datadir
cabb2e5c242 refactor: introduce a more general LockDirectories for init
1db331ba764 init: allow a new xor key to be written if the blocksdir is newly created
2e75ebb6169 [test] fix p2p_orphan_handling.py empty orphanage check
f9032a4abb7 Merge bitcoin/bitcoin#31242: wallet, desc spkm: Return SigningProvider only if we have the privkey
9dc4eedb670 Merge bitcoin/bitcoin#31673: doc: fix minor typos in comments
b30cc71e853 doc: fix typos
57ba59c0cdf refactor: Remove redundant reindex check
160c27ec078 doc: Update dependency installation for Debian/Ubuntu and CI
df8bf657450 Merge bitcoin/bitcoin#31483: kernel: Move kernel-related cache constants to kernel cache
0f716f28896 qa: cover PROTOCOL_ERROR variant in PCP unit tests
fc700bb47fd test: Add tests for PCP and NATPMP implementations
335798c4963 Merge bitcoin/bitcoin#31397: p2p: track and use all potential peers for orphan resolution
98939ce7b74 Merge bitcoin/bitcoin#31655: refactor: Avoid UB in SHA3_256::Write
910a11fa663 build: remove LEVELDB_IS_BIG_ENDIAN
9ec64253ab6 Update leveldb subtree to latest upstream
d336b7ab85d Squashed 'src/leveldb/' changes from 688561cba8..04b5790928
65a0920ca6b cmake: Add `CheckLinkerSupportsPIE` module
712cab3a8f8 Merge bitcoin/bitcoin#31061: refactor: Check translatable format strings at compile-time
2a92702bafc init: Use size_t consistently for cache sizes
65cde3621db kernel: Move default cache constants to caches
8826cae2854 kernel: Move non-kernel db cache size constants
e758b26b85d kernel: Move kernel-specific cache size options to kernel
d5e2c4a4097 fuzz: Add fuzz test for checked and saturating add and left shift
c03a2795a8e util: Add integer left shift helpers
31a0e5f0905 depends: Qt 5.15.16
fa3efb57290 refactor: Introduce struct to hold a runtime format string
fa6adb01344 lint: Remove unused and broken format string linter
fadc6b9bac8 refactor: Check translatable format strings at compile-time
fa1d5acb8d8 refactor: Use TranslateFn type consistently
e0b33368222 test: p2p: fix sending of manual INVs in tx download test
e7c47949550 Merge bitcoin/bitcoin#31630: doc: Archive 28.1 release notes
7cd862aab94 Merge bitcoin/bitcoin#31646: test: avoid internet traffic
eeee6cf2ffb refactor: Delay translation of _() literals
fabeca3458b refactor: Avoid UB in SHA3_256::Write
fad4032b219 refactor: Drop unused UCharCast
2ed161c5ce6 test: avoid generating non-loopback traffic from p2p_dns_seeds.py
a5746dc559c test: avoid generating non-loopback traffic from feature_config_args.py
6b3f6eae70b test: avoid generating non-loopback traffic from p2p_seednode.py
fabefd99158 ci: Turn CentOS task into native one
caf95210331 net: Use mockable steady clock in PCP implementation
03648321ecb util: Add mockable steady_clock
ab1d3ece026 net: Add optional length checking to CService::SetSockAddr
bb5f76ee013 doc: Archive 28.1 release notes
35bf426e022 Merge bitcoin/bitcoin#28724: wallet: Cleanup accidental encryption keys in watchonly wallets
4da7bfdcc90 test: add coverage for unknown address type for `createwalletdescriptor`
21684065978 Merge bitcoin/bitcoin#31608: doc: Clarify min macOS and Xcode version
2f6c7e7f6c0 Merge bitcoin/bitcoin#31612: ci: build msan's libc++ with _LIBCPP_ABI_BOUNDED_*
01df180bfb8 depends: add mold & ld.lld to gen_id
d032ac80633 depends: add *FLAGS to gen_id
528354e213a Merge bitcoin/bitcoin#31616: init,log: Unify block index log line
4bedfb5c833 Merge bitcoin/bitcoin#31623: tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs
e5c268084eb Merge bitcoin/bitcoin#31627: depends: Fix spacing issue
d695d139171 Merge bitcoin/bitcoin#31611: doc: upgrade license to 2025.
bbac17608d1 net: Bring back log message when resetting socket
04b848e4827 net: Specify context in disconnecting log message
0c4954ac7d9 net_processing: Add missing use of DisconnectMsg
37af8bfb34d Merge bitcoin/bitcoin#31549: fuzz: Abort if system time is called without mock time being set
54115d8de5c Merge bitcoin/bitcoin#31617: build, test: Build `db_tests.cpp` regardless of `USE_BDB`
0a77441158c Merge bitcoin/bitcoin#31451: wallet: migration, avoid loading legacy wallet after failure when BDB isn't compiled
56725f88293 Merge bitcoin/bitcoin#31462: test: raise explicit error if any of the needed release binaries is missing
727c5427696 depends: Use base system's `sha256sum` utility
4818da809f0 wallet: fix rescanning inconsistency
f5883286e32 Add a fuzz test for Num3072 multiplication and inversion
a26ce628942 Safegcd based modular inverse for Num3072
91ce8cef2d8 Add benchmark for MuHash finalization
223081ece65 scripted-diff: rename block and undo functions for consistency
baaa3b28467 refactor,blocks: remove costly asserts and modernize affected logs
fa39f27a0f8 refactor,blocks: deduplicate block's serialized size calculations
8a46286da66 depends: Fix spacing issue
e04be3731f4 init,log: Unify block index and chainstate loading log line
dfb2f9d0048 refactor,blocks: inline `WriteBlockToDisk`
42bc4914658 refactor,blocks: inline `UndoWriteToDisk`
86b85bb11f8 bench: add SaveBlockBench
34f9a0157aa refactor,bench: rename bench/readblock.cpp to bench/readwriteblock.cpp
8bd5f8a38ce [refactor] init: Simplify coinsdb cache calculation
f93f0c93961 tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs
66aa6a47bd8 Merge bitcoin/bitcoin#30391: BlockAssembler: return selected packages virtual size and fee
fa3c787b62a fuzz: Abort when global PRNG is used before SeedRand::ZEROS
92787dd52cd test: raise an error when target_vsize is below tx virtual size
a8780c937f7 test: raise an error if output value is <= 0 in `create_self_transfer`
f6e88931f07 test: test that `create_self_transfer_multi` respects `target_vsize`
fae3bf6b870 test: Avoid redundant stop and error spam on startup failure
fa0dc09b900 test: Remove --noshutdown flag
fad441fba07 test: Treat leftover process as error
7c123c08ddc  miner: add package feerate vector to CBlockTemplate
fd2d96d9087 build, test: Build `db_tests.cpp` regardless of `USE_BDB`
fb37acd932b ci: build msan's libc++ with _LIBCPP_ABI_BOUNDED_*
b2e9fdc00f5 test: expect that files may disappear from /proc/PID/fd/
1ea7e45a1f4 test: raise explicit error if any of the needed release binaries is missing
c0045e6cee0 Add test for multipath miniscript expression
b4ac48090f2 descriptor: Use InferXOnlyPubkey for miniscript XOnly pubkey from script
433412fd847 Merge bitcoin/bitcoin#31596: doc: Clarify comments about endianness after #30526
c506f2cee7b Merge bitcoin/bitcoin#31581: test: have miner_tests use  Mining interface
3e97ff9c5ea gui, psbt: Use SIGHASH_DEFAULT when signing PSBTs
4c50c21f6bf tests: Check ExpandPrivate matches for both parsed descriptors
092569e8580 descriptor: Try the other parity in ConstPubkeyProvider::GetPrivKey()
a96b84cb1b7 fuzz: Abort when calling system time without setting mock time
ff21870e20b fuzz: Add SetMockTime() to necessary targets
1b51616f2e3 test: improve rogue calls in mining functions
41a2ce9b7d7 Merge bitcoin/bitcoin#31464: util: Add missing types in make_secure_unique
86d7135e36e [p2p] only attempt 1p1c when both txns provided by the same peer
f7658d9b147 [cleanup] remove p2p_inv from AddTxAnnouncement
063c1324c14 [functional test] getorphantxs reflects multiple announcers
0da693f7e12 [functional test] orphan handling with multiple announcers
b6ea4a9afe2 [p2p] try multiple peers for orphan resolution
1d2e1d709ce [refactor] move creation of unique_parents to helper function
c6893b0f0b7 [txdownload] remove unique_parents that we already have
163aaf285af [fuzz] orphanage multiple announcer functions
22b023b09da [unit test] multiple orphan announcers
96c1a822a27 [unit test] TxOrphanage EraseForBlock
04448ce32a3 [txorphanage] add GetTx so that orphan vin can be read
e810842acda [txorphanage] support multiple announcers
62a9ff18707 [refactor] change type of unique_parents to Txid
6951ddcefd9 [txrequest] GetCandidatePeers
6475849c402 Merge bitcoin/bitcoin#31435: lint: Move assertion linter into lint runner
b537a2c02a9 doc: upgrade license to 2025.
49fc2258cf3 Merge bitcoin/bitcoin#31526: doc: Install `net/py-pyzmq` port on FreeBSD for `interface_zmq.py`
ac918c7cc0e Merge bitcoin/bitcoin#31552: depends: Update capnproto to 1.1.0
fa029a78780 doc: Clarify min macOS and Xcode version
a0f0c48ae20 Merge bitcoin/bitcoin#31584: txmempool: fix typos in comments
558783625ca Merge bitcoin/bitcoin#31586: doc: Update NetBSD Build Guide
3e936789b16 Merge bitcoin/bitcoin#31592: ci: Run functional tests in msan task
5af642bf48b Merge bitcoin/bitcoin#31604: test: fix typo in mempool_ephemeral_dust
8888ee4403f ci: Allow build dir on CI host
9d2d9f7ce29 rpc: Include assumeutxo as a failure reason of rescanblockchain
595edee1690 test, assumeutxo: import descriptors during background sync
d73ae603d44 rpc: Improve importdescriptor RPC error messages
27f99b6d63b validation: Don't assume m_chain_tx_count in GuessVerificationProgress
42d5d533631 interfaces: Add helper function for wallet on pruning
29bca9713d2 test: fix typo in mempool_ephemeral_dust
f919d919eb8 fuzz: Add fuzzing for max_ret_len in DecodeBase58/DecodeBase58Check
635bc58f46b test: Fuzz Base32/Base58/Base64 roundtrip conversions
5dd3a0d8a89 test: Extend base58_encode_decode.json with edge cases
ae40cf1a8e1 test: Add padding tests for Base32/Base64
4036ee3f2bf Merge bitcoin/bitcoin#31542: test: Embed univalue json tests in binary
f6a6d912059 test: add check for getting SigningProvider for a CPubKey
62a95f5af9b test: refactor: move `CreateDescriptor` helper to wallet test util module
5db7d4d3d28 doc: Correct docstring describing max block tree db cache
6aa0e70ccbd Merge bitcoin/bitcoin#31524: refactor: Allow std::byte in Read(LE/BE)
3e0a992a3f0 doc: Clarify comments about endianness after #30526
604bf2ea37f Merge bitcoin/bitcoin#28121: include verbose "reject-details" field in testmempoolaccept response
04249682e38 test: use Mining interface in miner_tests
fa0411ee305 ci: Run functional tests in msan task
2bdaf52ed12 doc: Update NetBSD Build Guide
34e8ee23b83 txmempool: fix typos in comments
228aba2c4d9 Merge bitcoin/bitcoin#31555: descriptor: remove unreachable verification for `pkh`
9b9752217f2 Merge bitcoin/bitcoin#31570: test: descriptor: fix test for `MaxSatisfactionWeight`
87c9ebd8892 Merge bitcoin/bitcoin#31563: rpc: Extend scope of validation mutex in generateblock
df5c643f92d Merge bitcoin/bitcoin#31556: validation: Send correct notification during snapshot completion
fa3de038f74 Merge bitcoin/bitcoin#31537: qa: Limit `-maxconnections` in tests
ba0cb7d5a54 Merge bitcoin/bitcoin#31468: test: Avoid intermittent error in assert_equal(pruneheight_new, 248)
69e35f5c60a Merge bitcoin/bitcoin#31403: test: Call generate RPCs through test framework only
17db84dbb8d Merge bitcoin/bitcoin#31251: test: report detailed msg during utf8 response decoding error
e6f14241f6d Merge bitcoin/bitcoin#31540: refactor: std::span compat fixes
a137b0bd6b2 Merge bitcoin/bitcoin#31215: rpc: increase the defaults for -rpcthreads and -rpcworkqueue
67bfe28995e Merge bitcoin/bitcoin#31531: rpc: Add signet_challenge field to getblockchaininfo and getmininginfo
ad174c28175 Merge bitcoin/bitcoin#31497: Remove unused variable assignment
d871d778251 test: Remove non-portable IPv6 test
4080b66cbec test: add test for utxo-to-sqlite conversion script
ec99ed73808 contrib: add tool to convert compact-serialized UTXO set to SQLite database
b29d68f942e test: descriptor: fix test for `MaxSatisfactionWeight`
9355578a779 Merge bitcoin/bitcoin#31534: coins: warn on shutdown for big UTXO set flushes
f95fb793726 Merge bitcoin/bitcoin#28521: net, net_processing: additional and consistent disconnect logging
bc43ecaf6dc test: add functional test for balance after snapshot completion
226d03dd610 validation: Send correct notification during snapshot completion
fa63b8232f3 test: generateblocks called by multiple threads
fa62c8b1f04 rpc: Extend scope of validation mutex in generateblock
366ae00b779 descriptor: Assume `ParseScript` is not being called with a P2WPKH context
b448b014947 test: add a mocked Sock that allows inspecting what has been Send() to it
f1864148c4a test: put the generic parts from StaticContentsSock into a separate class
e3664085908 descriptor: remove unreachable verification for `pkh`
5709718b830 coins: warn on shutdown for big UTXO set flushes
b0b8d96d93e depends: Update capnproto to 1.1.0
e87429a2d0f ci: optionally use local docker build cache
fc7b2148470 Merge bitcoin/bitcoin#31529: guix: latest 2.31 glibc
273440d5c9d Merge bitcoin/bitcoin#31535: doc: Install `py3-zmq` port on OpenBSD for `interface_zmq.py`
4cdf50c4ba8 Merge bitcoin/bitcoin#31544: cmake: Remove unused `BUILD_TESTING` variable from "dev-mode" preset
faf7eac364f test: clang-format -i src/univalue/test/unitester.cpp
fafa9cc7a59 test: Embed univalue json tests in binary
fa044857caf test: Re-enable univalue test fail18.json
63b6b638aa5 build: Use character literals for generated headers to avoid narrowing
ecaa786cc10 rpc: add signet_challenge field to getblockchaininfo and getmininginfo
e196190a284 cmake: Remove unused `BUILD_TESTING` variable from "dev-mode" preset
11115e9aa84 cmake: Always provide `RPATH` on NetBSD
d38ade7bc40 qa: Use `sys.executable` when invoking other Python scripts
bb57017b294 Merge bitcoin/bitcoin#31521: fuzz: Fix misplaced SeedRand::ZEROS
5bbbc0d0eeb Merge bitcoin/bitcoin#31325: Make m_tip_block std::optional
d9d5bc2e746 qa: Limit `-maxconnections` in tests
fa494a1d53f refactor: Specify const in std::span constructor, where needed
faaf4800aa7 Allow std::span in stream serialization
faa5391f770 refactor: test: Return std::span from StringBytes
fa862234753 refactor: Avoid passing span iterators when data pointers are expected
faae6fa5f61 refactor: Simplify SpanPopBack
facc4f120b0 refactor: Replace fwd-decl with proper include
fac3a782eaf refactor: Avoid needless, unsafe c-style cast
c1252b14d71 Merge bitcoin/bitcoin#31520: #31318 followups
be1a2e5dfbd doc: Install `py3-zmq` port on OpenBSD for `interface_zmq.py`
fa0c473d4c8 Merge bitcoin/bitcoin#31196: Prune mining interface
ea53568a068 Merge bitcoin/bitcoin#31393: refactor: Move GuessVerificationProgress into ChainstateManager
b8710201fbd guix: disable timezone tools & profiling in glibc
23b8a424fb0 guix: bump glibc 2.31 to 7b27c450c34563a28e634cccb399cd415e71ebfe
0a76c292ac8 doc: Install `net/py-pyzmq` port on FreeBSD for `interface_zmq.py`
fadd568931a fuzz: Fix misplaced SeedRand::ZEROS
fa83bec78ef refactor: Allow std::byte in Read(LE/BE)
4f06ae05ed6 refactor: fix typo in node/types.h
366fbf152c6 test: drop extraneous bracket in mining util
c991cea1a0c Remove processNewBlock() from mining interface
9a47852d88c Remove getTransactionsUpdated() from mining interface
bfc4e029d41 Remove testBlockValidity() from mining interface
477b3574607 Merge bitcoin/bitcoin#31493: refactor: Use immediate lambda to work around GCC bug 117966
a60d5702fd5 Merge bitcoin/bitcoin#31486: fuzz: Abort when using global PRNG without re-seed
a95a8ba3a3f Merge bitcoin/bitcoin#31197: refactor: mining interface 30955 followups
cd3d9fa5ea8 Merge bitcoin/bitcoin#31318: Drop script_pub_key arg from createNewBlock
c9136ca9060 validation: fix issue with an interrupted -reindex
a2675897e2a validation: Don't loop over all chainstates in LoadExternalBlock
785486a9755 Merge bitcoin/bitcoin#31489: fuzz: Fix test_runner error reporting
1251a236420 Merge bitcoin/bitcoin#31458: build: use `-mbig-obj` for Windows debug builds
d2136d32bb4 Merge bitcoin/bitcoin#31502: depends: Fix `CXXFLAGS` on NetBSD
58436d4af38 Merge bitcoin/bitcoin#31503: cmake: Link `bitcoin_consensus` as a library
38dcf0f9827 Merge bitcoin/bitcoin#31498: depends: Ignore prefix directory on OpenBSD
fae63bf1303 fuzz: Clarify that only SeedRandomStateForTest(SeedRand::ZEROS) is allowed
81cea5d4ee0 Ensure m_tip_block is never ZERO
e058544d0e8 Make m_tip_block an std::optional
f86678156a3 Check leaves size maximum in MerkleComputation
4d572882463 refactor: use CTransactionRef in submitSolution
2e81791d907 Drop TransactionMerklePath default position arg
39d3b538e6a Rename merkle branch to path
fa18acb457e fuzz: Abort when using global PRNG without re-seed
fa9e0489f57 refactor: Use immediate lambda to work around GCC bug 117966
46e207d3296 cmake: Link `bitcoin_consensus` as a library
a10bb400e8c depends: Fix CXXFLAGS on NetBSD
3353d4a5e9f depends: Ignore prefix directory on OpenBSD
b9766c9977e Remove unused variable assignment
b042c4f0538 Merge bitcoin/bitcoin#31223: net, init: derive default onion port if a user specified a -port
e8f0e6efaf5 lint: output-only - Avoid repeated arrows, trim
facb4d010ca refactor: Move GuessVerificationProgress into ChainstateManager
2b9ff4a66d3 build: use `-mbig-obj` for mingw-w64 Debug builds
fa0e30b93aa fuzz: Fix test_runner error reporting
d73f37dda22 Merge bitcoin/bitcoin#31346: Set notifications m_tip_block in LoadChainTip()
fa7809aeab8 fuzz: Add missing SeedRandomStateForTest(SeedRand::ZEROS)
78f1bff7099 Merge bitcoin/bitcoin#31477: ci: Bump centos gcc to 12
84890e0291f Merge bitcoin/bitcoin#31484: depends: update capnproto to 1.0.2
d5ab5a47f0e Merge bitcoin/bitcoin#31452: wallet: Migrate non-HD keys to combo() descriptor
fa0998f0a02 test: Avoid intermittent error in assert_equal(pruneheight_new, 248)
fa9aacf614f lint: Move assertion linter into lint runner
beac62e541c Merge bitcoin/bitcoin#31480: refactor: Fix "modernize-use-starts-ends-with" clang-tidy warning
5cd9e95eea1 depends: update capnproto to 1.0.2
df27ee9f024 refactor: Fix "modernize-use-starts-ends-with" clang-tidy warning
435ad572a1a Merge bitcoin/bitcoin#31479: lint: Disable signature output in git log
ea9e64ff3cb Merge bitcoin/bitcoin#31461: depends: add `-g` to *BSD_debug flags
29ddee1796a Merge bitcoin/bitcoin#31478: docs: remove repetitive words
e2d3372e558 lint: Disable signature output in git log
fa47baa03bc ci: Bump centos gcc
015aad8d6a6 docs: remove repetitive words
589ed1a8eaf wallet: migration, avoid loading wallet after failure when it wasn't loaded before
62bd61de110 Merge bitcoin/bitcoin#31450: guix: disable gcov in base-linux-gcc
676936845b1 Merge bitcoin/bitcoin#30933: test: Prove+document ConstevalFormatString/tinyformat parity
8ad2c902742 Merge bitcoin/bitcoin#31343: test: avoid internet traffic in rpc_net.py
a582ee681c7 Merge bitcoin/bitcoin#29982: test: Fix intermittent issue in wallet_backwards_compatibility.py
fa397177acf util: Add missing types in make_secure_unique
b6f0593f433 doc: add release note about testmempoolaccept debug-message
f9cac635237 test: cover testmempoolaccept debug-message in RBF test
b7ec69c25cf depends: add -g to *BSD_debug flags
37e49c2c7ca Merge bitcoin/bitcoin#31448: fuzz: add cstdlib to FuzzedDataProvider
62b2d23edba wallet: Migrate non-HD keys to combo() descriptor
9039d8f1a1d Merge bitcoin/bitcoin#31374: wallet: fix crash during watch-only wallet migration
bb7e686341e fuzz: add cstdlib to FuzzedDataProvider
f6496a83882 guix: disable gcov in base-linux-gcc
846a1387280 func test: Expand tx download preference tests
35000e34cf3 Merge bitcoin/bitcoin#31433: test: #31212 follow up (spelling, refactor)
18d0cfb194c Merge bitcoin/bitcoin#31306: ci: Update Clang in "tidy" job
c93bf0e6e2c test: Add missing %c character test
76cca4aa6fc test: Document non-parity between tinyformat and ConstevalFormatstring
533013cba20 test: Prove+document ConstevalFormatString/tinyformat parity
b81a4659950 refactor test: Profit from using namespace + using detail function
cdd207c0e48 test: add coverage for migrating standalone imported keys
297a876c980 test: add coverage for migrating watch-only script
932cd1e92b6 wallet: fix crash during watch-only wallet migration
18619b47325 wallet: remove BDB dependency from wallet migration benchmark
41d934c72df chore: Typo Overriden -> Overridden
c9fb38a590e refactor test: Cleaner combine_logs.py logic
22723c809a8 Merge bitcoin/bitcoin#31072: refactor: Clean up messy strformat and bilingual_str usages
b1f0f3c288a Merge bitcoin/bitcoin#31406: test: fix `test_invalid_tx_in_compactblock` in `p2p_compactblocks`
1a35447595d Merge bitcoin/bitcoin#31417: test: Avoid F541 (f-string without any placeholders)
eb2ebe6f30a Merge bitcoin/bitcoin#31231: cmake: Fix `IF_CHECK_PASSED` option handling
5b283fa1477 Merge bitcoin/bitcoin#31431: util: use explicit cast in MultiIntBitSet::Fill()
37946c0aafe Set notifications m_tip_block in LoadChainTip()
fa6e599cf9f test: Call generate through test framework only
2eccb8bc5e2 Merge bitcoin/bitcoin#31248: test: Rework wallet_migration.py to use previous releases
7239ddb7cec test: make sure node has all transactions
6d973f86f75 Merge bitcoin/bitcoin#31408: test: Avoid logging error when logging error
6a1e613e853 Merge bitcoin/bitcoin#31427: lint: bump MLC to v0.19.0
edb41e4814c util: use explicit cast in MultiIntBitSet::Fill()
31e59d94c67 iwyu: Drop backported mapping
fe9bc5abef3 ci: Update Clang in "tidy" job
083770adbe7 Merge bitcoin/bitcoin#31414: test: orphan parent is re-requested from 2nd peer
f6afca46a1d lint: use clearer wording on error message
811a65d3c6b lint: bump MLC to v0.19.0
fae76393bdb test: Avoid F541 (f-string without any placeholders)
e8cc790fe2a Merge bitcoin/bitcoin#30445: test: addrman: tried 3 times and never a success so `isTerrible=true`
f9650e18ea6 rbf: remove unecessary newline at end of error string
221c789e916 rpc: include verbose reject-details field in testmempoolaccept response
0184d33b3d2 scripted-diff: Replace strprintf(Untranslated) with Untranslated(strprintf)
17372d788e6 Merge bitcoin/bitcoin#30906: refactor: prohibit direct flags access in CCoinsCacheEntry and remove invalid tests
006e4d1d598 refactor: Use + instead of strformat to concatenate translated & untranslated strings
831d2bfcf94 refactor: Don't embed translated string in untranslated string.
058021969b5 refactor: Avoid concatenation of format strings
11f68cc8108 Merge bitcoin/bitcoin#31212: util: Improve documentation and negation of args
893ccea7e47 Merge bitcoin/bitcoin#31419: test: fix MIN macro redefinition
39950e148d8 Merge bitcoin/bitcoin#31295: refactor: Prepare compile-time check of bilingual format strings
fad83e759a4 doc: Fix incorrect send RPC docs
00c1dbd26dd test: fix MIN macro-redefinition
ae69fc37e4f Merge bitcoin/bitcoin#31391: util: Drop boost posix_time in ParseISO8601DateTime
52fd1511a77 test: drop scriptPubKeyIn arg from CreateNewBlock
ff41b9e296a Drop script_pub_key arg from createNewBlock
7ab733ede44 rpc: rename coinbase_script to coinbase_output_script
c4c5cf17488 cmake: Fix passing `APPEND_*FLAGS` to `secp256k1` subtree
eb540a26295 cmake: Remove `core_sanitizer_{cxx,linker}_flags` helper variables
0f84cdd2661 func: test orphan parent is re-requested from 2nd peer
fa8e0956c23 rpc: Remove deprecated dummy alias for listtransactions::label
95a0104f2e9 test: Add tests for directories in place of config files
e85abe92c7c args: Catch directories in place of config files
e4b6b1822ce test: Add tests for -noconf
483f0dacc41 args: Properly support -noconf
312ec64cc06 test refactor: feature_config_args.py - Stop nodes at the end of tests, not at the beginning
7402658bc2b test: -norpccookiefile
39cbd4f37c3 args: Support -norpccookiefile for bitcoind and bitcoin-cli
e82ad88452b logs: Use correct path and more appropriate macros in cookie-related code
6e28c76907c test: Harden testing of cookie file existence
75bacabb55f test: combine_logs.py - Output debug.log paths on error
cccca8a77f3 test: Avoid logging error when logging error
ee1b9bef000 test: replace `is not` to `!=` when comparing block hash
faf70cc9941 Remove wallet::ParseISO8601DateTime, use ParseISO8601DateTime instead
50cce20013c test, refactor: Compact ccoins_access and ccoins_spend
0a159f09147 test, refactor: Remove remaining unbounded flags from coins_tests
c0b4b2c1eef test: Validate error messages on fail
d5f8d607ab1 test: Group values and states in tests into CoinEntry wrappers
ca74aa7490a test, refactor: Migrate GetCoinsMapEntry to return MaybeCoin
15aaa81c381 coins, refactor: Remove direct GetFlags access
6b733699cfc coins, refactor: Assume state after SetClean in AddFlags to prevent dangling pointers
fc8c282022e coins, refactor: Make AddFlags, SetDirty, SetFresh static
cd0498eabc9 coins, refactor: Split up AddFlags to remove invalid states
2222aecd5f8 util: Implement ParseISO8601DateTime based on C++20
733fa0b0a14 miner: never create a template which exploits the timewarp bug
06443b8f28b net: clarify if we ever sent or received from peer
1d01ad4d73e net: add LogIP() helper, use in net_processing
937ef9eb408 net_processing: use CNode::DisconnectMsg helper
ad224429f82 net: additional disconnection logging
9e4a4b48322 cmake: Check `-Wno-*` compiler options for `leveldb` target
988721d37a3 test: avoid internet traffic in rpc_net.py
d9c8aacce38 depends, refactor: Avoid hardcoding `host_prefix` in toolchain file
bffd92f00f5 args: Support -nopid
12f8d848fd9 args: Disallow -nodatadir
6ff96627600 scripted-diff: Avoid printing version information for -noversion
1807df3d9fb test: addrman: tried 3 times and never a success so `isTerrible=true`
55347a5018b test: Rework migratewallet to use previous release (v28.0)
e8a2054edc8 doc args: Document narrow scope of -color
4b58d55878d test: move the implementation of StaticContentsSock to .cpp
1dd3af8fbc3 Add release note for #31223
997757dd2b4 test: add functional test for -port behavior
fa3e0743047 refactor: Tidy fixups
fa72646f2b1 move-only: Detail_CheckNumFormatSpecifiers and G_TRANSLATION_FUN
faff8403f0a refactor: Pick translated string after format
0e2b12b92a2 net, init: derive default onion port if a user specified a -port
f42ec0f3bfb wallet: Check specified wallet exists before migration
a2c45ae5480 test: report failure during utf8 response decoding
493656763f7 desc spkm: Return SigningProvider only if we have the privkey
97a18c85458 cmake: Fix `IF_CHECK_PASSED` option handling
70398ae05bc mapport: make ProcessPCP void
e56fc7ce6a9 rpc: increase the defaults for -rpcthreads and -rpcworkqueue
9e6cba29882 mapport: remove unnecessary 'g_mapport_enabled'
8fb45fcda07 mapport: remove unnecessary 'g_mapport_current' variable
1b223cb19b4 mapport: merge DispatchMapPort into StartMapPort
9bd936fa34a mapport: drop unnecessary function
2a6536ceda7 mapport: rename 'use_pcp' to 'enable'
c4e82b854cd mapport: make 'enabled' and 'current' bool
d45eb3964f6 test: compare BDB dumps of test framework parser and wallet tool
01ddd9f646a test: complete BDB parser (handle internal/overflow pages, support all page sizes)
9b7023d31a3 Fuzz HRP of bech32 as well
c1a5d5c100b Split out bech32 separator char to header
b28917be363 depends: Make default `host` and `build` comparable
69e95c2b4f9 tests: Test cleanup of mkeys from wallets without privkeys
2b9279b50a3 wallet: Remove unused encryption keys from watchonly wallets
813a16a4633 wallet: Add HasCryptedKeys
cddcbaf81e8 RPC: improve SFFO arg parsing, error catching and coverage
4f4cd353194 rpc: decouple sendtoaddress 'subtractfeefromamount' boolean parsing
ec777917d6e test: Fix intermittent issue in wallet_backwards_compatibility.py
REVERT: f157b0cbc7d kernel: Add pure kernel bitcoin-chainstate
REVERT: 692d1c23c27 kernel: Add functions to get the block hash from a block
REVERT: aad02fb561a kernel: Add block index utility functions to C header
REVERT: 13f4911b064 kernel: Add function to read block undo data from disk to C header
REVERT: 29fdbf26034 kernel: Add functions to read block from disk to C header
REVERT: 2ca304c1def kernel: Add function for copying  block data to C header
REVERT: 705c7f125fd kernel: Add functions for the block validation state to C header
REVERT: 92363c9469c kernel: Add validation interface to C header
REVERT: 7c539908113 kernel: Add interrupt function to C header
REVERT: 522d0886d8f kernel: Add import blocks function to C header
REVERT: 1ae86e2ffe1 kernel: Add chainstate load options for in-memory dbs in C header
REVERT: 09620eeeae6 kernel: Add options for reindexing in C header
REVERT: b4fbf193172 kernel: Add block validation to C header
REVERT: ce6ddde95ee Kernel: Add chainstate loading to kernel C header
REVERT: f5d21c94dc5 kernel: Add chainstate manager option for setting worker threads
REVERT: 783f56f0a29 kernel: Add chainstate manager object to C header
REVERT: 262039e4094 kernel: Add notifications context option to C header
REVERT: dc0d406dd5e kerenl: Add chain params context option to C header
REVERT: b5f84de7ad2 kernel: Add kernel library context object
REVERT: dad0009c86c kernel: Add logging to kernel library C header
REVERT: 27e25aa941c kernel: Introduce initial kernel C header API

git-subtree-dir: depend/bitcoin
git-subtree-split: 5991a69ee0000de551955846d7d21733c326a748
stickies-v added a commit to stickies-v/py-bitcoinkernel that referenced this pull request Mar 17, 2025
5991a69ee00 kernel: Add pure kernel bitcoin-chainstate
05b7d136684 kernel: Add functions to get the block hash from a block
f18c792d843 kernel: Add block index utility functions to C header
89f5bf04673 kernel: Add function to read block undo data from disk to C header
b4f71fc64e7 kernel: Add functions to read block from disk to C header
41306f081ad kernel: Add function for copying  block data to C header
9385d9fc87e kernel: Add functions for the block validation state to C header
0bd9a710358 kernel: Add validation interface to C header
432710f3fc3 kernel: Add interrupt function to C header
cb164ae1eb2 kernel: Add import blocks function to C header
abd67fd93d0 kernel: Add chainstate load options for in-memory dbs in C header
b98c2748e94 kernel: Add options for reindexing in C header
9d0efe1fc86 kernel: Add block validation to C header
87e364fc1ec kernel: Add chainstate loading when instantiating a ChainstateManager
df1599b2d2a kernel: Add chainstate manager option for setting worker threads
fb767002e97 kernel: Add chainstate manager object to C header
10b0fad2fd3 kernel: Add notifications context option to C header
39e7ad8d0dc kernel: Add chain params context option to C header
6285c353b89 kernel: Add kernel library context object
98d10160b6a kernel: Add logging to kernel library C header
4d663446de1 kernel: Introduce initial kernel C header API
698f86964c6 Merge bitcoin/bitcoin#31961: Require sqlite when building the wallet
f4b3a5858ae Merge bitcoin/bitcoin#32064: build: Remove manpages when making MacOS app
92f553eaa92 Merge bitcoin/bitcoin#32038: depends: remove `NO_HARDEN` option
80b5e7f2cb7 build: Remove manpages when making MacOS app
1b251f6b679 Merge bitcoin/bitcoin#31649: consensus: Remove checkpoints (take 2)
5c2f04413e4 Merge bitcoin/bitcoin#32049: contrib: Fix `gen-bitcoin-conf.sh`
5d96c2eab9f Merge bitcoin/bitcoin#31907: qa: clarify and document one assumeutxo test case with malleated snapshot
57d611e53b3 Merge bitcoin/bitcoin#31757: wallet: fix crash on double block disconnection
199d47d9629 Merge bitcoin/bitcoin#32056: doc: Adjust path in comment
de1ada079bf doc: Adjust path in comment
72c150dfe76 Merge bitcoin/bitcoin#32055: contrib: Fix deterministic-unittest-coverage tool path
3c5d1a46819 Remove checkpoints
632ae47372d update comment on MinimumChainWork check
893ca545850 contrib: Fix deterministic-unittest-coverage tool path
c20a5ce106b Merge bitcoin/bitcoin#31901: contrib: Add deterministic-unittest-coverage
a50af6e4c49 Merge bitcoin/bitcoin#32044: ci: Revert "Temporary workaround for old CCACHE_DIR cirrus env"
a5a582d852e Merge bitcoin/bitcoin#31998: depends: patch around PlacementNew issue in capnp
a24419f8bed contrib: Fix `gen-bitcoin-conf.sh`.
eb9730ab658 Merge bitcoin/bitcoin#31987: wallet: Replace "non-0" with "non-zero" in translatable error message
f347d7980e8 Merge bitcoin/bitcoin#31283: Add waitNext() to BlockTemplate interface
fa21597064b ci: Revert "Temporary workaround for old CCACHE_DIR cirrus env"
aa68ed27b89 Merge bitcoin/bitcoin#32041: build: bump CLIENT_VERSION_MAJOR to 29
a3f0e9a4336 [build] bump CLIENT_VERSION_MAJOR to 29
36b6f36ac47 build: require sqlite when building the wallet
5dfef6b9b37 depends: remove NO_HARDEN option
8cb6ab0b971 Merge bitcoin/bitcoin#32025: validation, fix: Use wtxid instead of txid in `CheckEphemeralSpends`
7bb4c82d8ba Merge bitcoin/bitcoin#32021: qa: Enable feature_init.py on Windows
1ef22ce3351 depends: patch around PlacementNew issue in capnp
502d47203e7 Merge bitcoin/bitcoin#31161: cmake: Set top-level target output locations
e38f09b776c Merge bitcoin/bitcoin#31955: test: Fix authproxy named args debug logging
1d0a1a60e83 Merge bitcoin/bitcoin#32004: qt: 29.0 translations update
91328249470 qt: 29.0 translations update
e637dc2c01c refactor: Replace uint256 type with Wtxid in PackageMempoolAcceptResult struct
a3baead7cb8 validation: use wtxid instead of txid in CheckEphemeralSpends
dbc89b604c4 Merge bitcoin/bitcoin#31960: seeds: add signet/testnet4, update makeseeds regex, minblocks, fixed seeds
45719390a14 Merge bitcoin/bitcoin#32011: Docs: fix typos in documentation files
4637cb1eec4 Merge bitcoin/bitcoin#32002: doc: add note to Windows build about stripping bins
5f732089d67 Merge bitcoin/bitcoin#32017: doc: warn against having qt6 installed on macOS
a1aea3ea742 Merge bitcoin/bitcoin#31996: doc: link to benchcoin over bitcoinperf
5601bab4f8b Docs: fix typos in documentation files
59c4930394c qa: Enable feature_init.py on Windows
c94195c077f doc: add note to windows build about stripping bin
ee68b05f3d6 Merge bitcoin/bitcoin#32014: ci: Do not try to install for fuzz builds
093c757d7cf Merge bitcoin/bitcoin#32000: Update minisketch subtree to d1e6bb8bbf8ef104b9dd002cab14a71b91061177
a3c3f37e71e ci: Do not try to install for fuzz builds
d79dab0fa99 doc: warn against having qt6 installed on macOS
f0b659716bd seeds: update .gitignore with signet and testnet4
48f07ac9da4 chainparams: remove hardcoded signet seeds
d4ab1150c40 chainparams: add signet fixed seeds if default network
49f155efbfb seeds: update fixed dns seeds
236687083fb makeseeds: regex improvements
98f84d6c233 generate-seeds: update and add signet
c4ed23e5398 seeds: add testnet4 seeds
60f17dd8167 seeds: add signet seeds
2bcccaa4107 makeseeds: align I2P column header
94e21aa5fc5 makeseeds: update MIN_BLOCKS, add reminder to README
6ae7a3bc4e7 makeseeds: update user agent regex
9b0d2e50946 makeseeds: fix incorrect regex
a9a2b669f3e Merge bitcoin/bitcoin#32003: doc: remove note about macOS self-signing
c7d216ac946 Merge bitcoin/bitcoin#31993: ci: use LLVM 20.1.0 for MSAN
9f3dcacef73 Merge bitcoin/bitcoin#31978: kernel: pre-29.x chainparams and headerssync update
c873ab6f23e doc: remove note about macOS self-signing
bd0ee07310c Merge bitcoin/bitcoin#31407: guix: Notarize MacOS app bundle and codesign all MacOS and Windows binaries
11f8ab140fe test: wallet, coverage for crash on dup block disconnection during unclean shutdown
4fde88bc469 Update minisketch subtree to latest master
f5d8b66a8cf Squashed 'src/minisketch/' changes from eb37a9b8e7..d1e6bb8bbf
0391d7e4c24 Merge bitcoin/bitcoin#31848: test, tracing: don't use problematic `bpf_usdt_readarg_p()`
36d4bd7fe32 Merge bitcoin/bitcoin#31997: doc: update location of minisketch repository
0c0a2717bc3 Merge bitcoin/bitcoin#31954: doc: update fuzz instructions when on macOS
a2ab2faf4a8 Merge bitcoin/bitcoin#31982: scripted-diff: rename libmultiprocess repository
972b604dc42 doc: update location of minisketch repository
611999e0977 doc: link to benchcoin over bitcoinperf
d76647eb8f1 ci: use LLVM 20.1.0 for MSAN
c2341ebb5bb Merge bitcoin/bitcoin#31983: build: don't show ccache summary with MSVC
88debb3e429 Merge bitcoin/bitcoin#31940: Add assumeutxo chainparams to release-process.md
c8dcb61172e Merge bitcoin/bitcoin#31985: doc: Bring reduce-memory.md up to date
11a2d3a63e9 [headerssync] update headerssync config for v29
dd23c532581 [kernel] update chainTxData for v29
80926af8c26 [kernel] update assumevalid and minimumChainWork for v29
0683b8ebf33 [kernel] update assumed blockchain and chainstate sizes for v29
e13c18f6ce5 Merge bitcoin/bitcoin#31969: Add mainnet assumeutxo param at height 880,000
e5ff4e416ec qa: use a clearer and documented amount error in malleated snapshot
b34fdb5ade0 test: introduce output amount (de)compression routines
18e83534ace wallet: Replace "non-0" with "non-zero" in translatable error message
a7911ed101f test: introduce VARINT (de)serialization routines
c718bffc361 build: don't use ccache with MSVC
fff4f93dff8 doc: Bring reduce-memory.md up to date
75486c8ed87 doc: update fuzz instructions when on macOS
18749efb072 scripted-diff: rename libmultiprocess repository
02fae336351 doc: add assumeutxo chainparams to release proc
15717f0ef39 Merge bitcoin/bitcoin#31916: init: Handle dropped UPnP support more gracefully
afde95b4601 Merge bitcoin/bitcoin#31976: delete release note fragments for v29
ae92bd8e1b2 delete release note fragments for v29
79bbb381a1f Merge bitcoin/bitcoin#30901: cmake: Revamp handling of data files
14f16748557 chainparams: add mainnet assumeutxo param at height 880_000
3c1f72a3670 Merge bitcoin/bitcoin#31930: doc: Update translation generation instructions
75d5d235a6b doc: Update translation generation instructions
6876e5076ec Merge bitcoin/bitcoin#31943: test: add coverage for abandoning unconfirmed transaction
44041ae0eca init: Handle dropped UPnP support more gracefully
fac1dd9dffb test: Fix authproxy named args debug logging
0bb8a01810e Merge bitcoin/bitcoin#31880: cmake: Add optional sources to `minisketch` library directly
3bb679e5de2 Merge bitcoin/bitcoin#31952: chore: remove redundant word
d9ba427f9d0 chore: remove redundant word
c12a2528ce6 Merge bitcoin/bitcoin#31415: test: fix TestShell initialization and reset()
ba0a4391ff3 Merge bitcoin/bitcoin#31945: depends: Update libmultiprocess library to fix CI failures
fa99c3b544b test: Exclude SeedStartup from coverage counts
fa579d663d7 contrib: Add deterministic-unittest-coverage
fa3940b1cbc contrib: deterministic-fuzz-coverage fixups
faf905b9b69 doc: Remove unused -fPIC
073a017016e test: add coverage for abandoning unconfirmed transaction
e486597f9a5 Merge bitcoin/bitcoin#31918: fuzz: add basic TxOrphanage::EraseForBlock cov
01f77157660 depends: Update libmultiprocess library to fix CI failure
279ab20bbd3 Merge bitcoin/bitcoin#31925: contrib: update `utxo_to_sqlite` tool documentation and comment
f0ac24846f1 Merge bitcoin/bitcoin#31928: ci: Fix filtering out Qt-generated files from `compile_commands.json`
44bd3159244 Merge bitcoin/bitcoin#31676: fuzz: add targets for PCP and NAT-PMP port mapping requests
d82dc104152 ci: Fix filtering out Qt generated files from `compile_commands.json`
e747ed989eb contrib: fix read metadata related comment
d3095ac35a8 contrib: update `dumptxoutset` command in utxo_to_sqlite doc
ecf54a32ed2 cmake: Add support for builtin `codegen` target
a8c78a0574d cmake: Revamp handling of data files
5b8fd7c3a6b Merge bitcoin-core/gui#854: qt: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
568fcdddaec scripted-diff: Adjust documentation per top-level target output location
026bb226e96 cmake: Set top-level target output locations
db63bfbe7cf Merge bitcoin/bitcoin#31580: test: Remove non-portable IPv6 test
da3ed8b970a Merge bitcoin/bitcoin#31662: cmake: Do not modify `CMAKE_TRY_COMPILE_TARGET_TYPE` globally
9d7672bbcae Merge bitcoin/bitcoin#31742: contrib: fix BUILDDIR in gen-bitcoin-conf script and gen-manpages.py
77bf99012ae Merge bitcoin/bitcoin#30302: doc: clarify loadwallet path loading for wallets
8400b742fa6 fuzz: add basic TxOrphanage::EraseForBlock cov
46a9c73083e Merge bitcoin/bitcoin#31906: ci: Switch to gcr.io mirror to avoid rate limits
82ba9257157 Merge bitcoin/bitcoin#31366: cmake: Check `-Wno-*` compiler options for `leveldb` target
f236854a5bd Merge bitcoin/bitcoin#31731: doc: update translation generation cmake example
eb51963d870 Merge bitcoin/bitcoin#31884: cmake: Make implicit `libbitcoinkernel` dependencies explicit
7267ed05182 qt: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
58f15d4b215 Merge bitcoin/bitcoin#31379: cmake: Fix passing `APPEND_*FLAGS` to `secp256k1` subtree
2c4b229c906 cmake: Introduce `FUZZ_LIBS`
ea929c0848e scripted-diff: Rename CMake helper module
8d238c1dfde cmake: Delete `check_cxx_source_links*` macros
71bf8294a98 cmake: Convert `check_cxx_source_compiles_with_flags` to a function
88ee6800c96 cmake: Delete `check_cxx_source_links_with_flags` macro
09e8fd25b1a build: Don't override CMake's default try_compile target
303f8cca056 test: fix TestShell initialization and reset()
e606c577cb2 Merge bitcoin/bitcoin#31899: cmake: Exclude generated sources from translation
758a93d6215 doc: update translation generation cmake example
fd14995b6a8 Merge bitcoin/bitcoin#31908: Revert merge of PR #31826
e181bda061c guix: Apply all codesignatures to Windows binaries
aafbd23fd97 guix: Apply codesignatures to all MacOS binaries
3656b828dc2 contrib: Sign all Windows binaries too
31d325464d0 contrib: Sign and notarize all MacOS binaries
cadbd4137d8 miner: have waitNext return after 20 min on testnet
d4020f502a6 Add waitNext() to BlockTemplate interface
3e9b12b3e0f Revert "Merge bitcoin/bitcoin#31826: random: Check `GetRNDRRS` is supported in `InitHardwareRand` to avoid infinite loop"
fa8de4706a0 ci: Switch to gcr.io mirror to avoid rate limits
9ef429b6ae6 wallet: fix crash on double block disconnection
785649f3977 Merge bitcoin/bitcoin#29881: guix: use GCC 13 to build releases
139640079ff Merge bitcoin/bitcoin#31826: random: Check `GetRNDRRS` is supported in `InitHardwareRand` to avoid infinite loop
dc3a7146337 Merge bitcoin/bitcoin#31794: wallet: abandon orphan coinbase txs, and their descendants, during startup
06757af2da5 Merge bitcoin/bitcoin#29156: tests: add functional test for miniscript decaying multisig
ca6aa0b9bee doc: loadwallet loads from relative walletdir
710d5b5149d guix: Update signapple
fa1e0a72281 gitignore: target/
ff4ddd3d2e3 Revert "cmake: Ensure generated sources are up to date for `translate` target"
03b3166aac5 cmake: Exclude generated sources from translation
43e287b3ff5 Merge bitcoin/bitcoin#31892: build: remove ENABLE_HARDENING condition from check-security
63d625f7610 Merge bitcoin/bitcoin#31893: test: remove scanning check on `wallet_importdescriptors`
9919e92022b cmake: Add optional sources to `minisketch` library directly
3b42e05aa9e cmake: Make implicit `libbitcoinkernel` dependencies explicit
3fd64efb437 cmake: Avoid using `OBJECT` libraries
28dec6c5f8b Merge bitcoin/bitcoin#31268: cmake: add optional source files to bitcoin_crypto and crc32c directly
50afaf3a389 Merge bitcoin/bitcoin#31836: contrib: Add deterministic-fuzz-coverage
405dd0e647e test: remove scanning check on `wallet_importdescriptors`
113a7a363fa build: remove ENABLE_HARDENING cond from check-security
9da0820ec55 Merge bitcoin/bitcoin#31869: cmake: Add `libbitcoinkernel` target
db36a92c02b Merge bitcoin/bitcoin#31879: doc: add release note for #27432 (utxo-to-sqlite tool)
95722d048a8 doc: add release note for #27432 (utxo-to-sqlite tool)
e4dd5a351bd test: wallet, abandon coinbase txs and their descendants during startup
09b150bb8ad In `InitHardwareRand`, do trail test for `RNDRRS` by `VerifyRNDRRS`
43e71f74988 Merge bitcoin/bitcoin#27432: contrib: add tool to convert compact-serialized UTXO set to SQLite database
e53310c47ab Merge bitcoin/bitcoin#30529: Fix -norpcwhitelist, -norpcallowip, and similar corner case behavior
254fd89d39f Merge bitcoin/bitcoin#31863: random: Initialize variables in hardware RNG functions
75f8396c907 Merge bitcoin/bitcoin#30746: test: cover base[32|58|64] with symmetric roundtrip fuzz (and padding) tests
c4b46b45898 Merge bitcoin/bitcoin#31629: wallet: fix rescanning inconsistency
d0dfd6d3f60 Merge bitcoin/bitcoin#31865: build: move `rpc/external_signer` to node library
ce4dbfc3590 Merge bitcoin/bitcoin#31851: doc: build: Fix instructions for msvc gui builds
504d0c21e26 Merge bitcoin/bitcoin#31439: validation: In case of a continued reindex, only activate chain in the end
0b48f77e101 Merge bitcoin/bitcoin#31413: rpc: Remove deprecated dummy alias for listtransactions::label
21a0efaf8c9 Merge bitcoin/bitcoin#29858: test: Add test for rpcwhitelistdefault
8a00b755e98 Merge bitcoin/bitcoin#31634: doc: Improve dependencies documentation
e58605e04f3 Merge bitcoin/bitcoin#31854: net: reduce CAddress usage to CService or CNetAddr
3a914ab96bd cmake: Rename `bitcoinkernel` component to `libbitcoinkernel`
06b9236f432 Merge bitcoin/bitcoin#31359: cmake: Add `CheckLinkerSupportsPIE` module
7ce09a59921 cmake: Add `libbitcoinkernel` target
e501246e77c build: move rpc/external_signer to node library
73e2ec13737 Merge bitcoin/bitcoin#31844: cmake: add a component for each binary
99755e04ffa random: Initialize variables in hardware RNG functions
7bbd761e816 Merge bitcoin/bitcoin#31421: cmake: Improve compatibility with Python version managers
9491676438a Merge bitcoin/bitcoin#31157: Cleanups to port mapping module post UPnP drop
109bfe9573b Merge bitcoin/bitcoin#31857: depends: avoid an unset `CMAKE_OBJDUMP`
14d1d8e2120 Merge bitcoin/bitcoin#31758: test: deduplicates p2p_tx_download constants
fa3e409c9a0 contrib: Add deterministic-fuzz-coverage
2549fc6fd1c Merge bitcoin/bitcoin#31768: test: check `scanning` field from `getwalletinfo`
9b033bebb18 cmake: rename Kernel component to bitcoinkernel for consistency
2e0c92558e9 cmake: add and use install_binary_component
a85e8c0e615 doc: Add some general documentation about negated options
96d30ed4f96 Merge bitcoin/bitcoin#31495: wallet: Utilize IsMine() and CanProvide() in migration to cover edge cases
490c8fa1782 doc: Add release notes summarizing negated option behavior changes.
458ef0a11b5 refactor: Avoid using IsArgSet() on -connect list option
752ab9c3c65 test: Add test to make sure -noconnect disables -dnsseed and -listen by default
3c2920ec98f refactor: Avoid using IsArgSet() on -signetseednode and -signetchallenge list options
d05668922a2 refactor: Avoid using IsArgSet() on -debug, -loglevel, and -vbparams list options
3d1e8ca53a0 Normalize inconsistent -noexternalip behavior
ecd590d4c1e Normalize inconsistent -noonlynet behavior
5544a19f863 Fix nonsensical bitcoin-cli -norpcwallet behavior
6e8e7f433fc Fix nonsensical -noasmap behavior
b6ab3508064 Fix nonsensical -notest behavior
6768389917a Fix nonsensical -norpcwhitelist behavior
e03409c70f7 Fix nonsensical -norpcbind and -norpcallowip behavior
40c4899bc20 Fix nonsensical -nobind and -nowhitebind behavior
5453e66fd91 Fix nonsensical -noseednode behavior
c242fa5be35 Merge bitcoin/bitcoin#31858: chore: remove redundant word
4c62b37fcd2 chore: remove redundant word
251ea7367cf Merge bitcoin/bitcoin#31767: logging: Ensure -debug=0/none behaves consistently with -nodebug
2434aeab62b depends: avoid an unset CMAKE_OBJDUMP
a5b0a441f85 Merge bitcoin/bitcoin#31855: chore: remove redundant word
cd4bfaee103 net: reduce CAddress usage to CService or CNetAddr
033acdf03da chore: remove redundant word
55cf39e4c54 Merge bitcoin/bitcoin#31722: cmake: Copy `cov_tool_wrapper.sh.in` to the build tree
c3fa043ae56 doc: build: Fix instructions for msvc gui builds
048ef98626b Merge bitcoin/bitcoin#31840: depends: add missing Darwin objcopy
c73b59d47f1 fuzz: implement targets for PCP and NAT-PMP port mapping requests
1695c8ab5bd fuzz: in FuzzedSock::GetSockName(), return a random-length name
713bf66b1f7 Merge bitcoin/bitcoin#31500: depends: Fix compiling `libevent` package on NetBSD
0d472c19533 fuzz: never return an uninitialized sockaddr in FuzzedSock::GetSockName
39b7e2b5905 fuzz: add steady clock mocking to FuzzedSock
6fe1c35c05b pcp: make NAT-PMP error codes uint16_t
01906ce912e pcp: make the ToString method const
a0b66b4bffa Revert "test: Disable known broken USDT test for now"
ec47ba349d0 contrib: don't use bpf_usdt_readarg_p
35ae6ff60f6 test: don't use bpf_usdt_readarg_p
ede388d03df Merge bitcoin/bitcoin#30911: build: simplify by flattening the dependency graph
534414ca9d4 Merge bitcoin/bitcoin#31678: ci: Skip read-write of default env vars
87ce116058f Merge bitcoin/bitcoin#31846: test: Remove stale gettime test
fa3a4eafa11 test: Remove stale gettime test
42251e00e8b Merge bitcoin/bitcoin#30584: depends: Make default `host` and `build` comparable
0b6ed342b57 Merge bitcoin/bitcoin#31711: build: set build type and per-build-type flags as early as possible
a44ccedcc2c Merge bitcoin/bitcoin#31818: guix: remove test-security/symbol-check scripts
e8b3c44da6e build: Include all Windows binaries for codesigning
dd4ec840eeb build: Include all MacOS binaries for codesigning
4e5c9ceb9dd guix: Rename Windows unsigned binaries to unsigned.zip
d9d49cd533b guix: Rename MacOS binaries to unsigned.tar.gz
c214e5268fa guix: Rename unsigned.tar.gz to codesigning.tar.gz
0264c5d86c7 cmake: use per-target components for bitcoin-qt and bitcoin-gui
fb0546b1c5e ci: don't try to install for a fuzz build
c65233230f1 Merge bitcoin/bitcoin#31022: test: Add mockable steady clock, tests for PCP and NATPMP implementations
86528937e5c Merge bitcoin/bitcoin#31834: build: disable bitcoin-node if daemon is not built
7afeaa24693 test: `-debug=0` and `-debug=none` behave similarly to `-nodebug`
a8fedb36a71 logging: Ensure -debug=0/none behaves consistently with -nodebug
d39d521d86a test: `-nodebug` clears previously set debug options
3edaf0b4286 depends: add missing Darwin objcopy
2507ebdf1b2 Merge bitcoin/bitcoin#31837: test: add missing sync to p2p_tx_download.py
79f02d56ef7 Merge bitcoin/bitcoin#30623: test: Fuzz the human-readable part of bech32 as well
ff3171f96d3 Merge bitcoin/bitcoin#31614: test: expect that files may disappear from /proc/PID/fd/
56a9b847bba build: set build type and per-build-type flags as early as possible
8fe552fe6e0 test: add missing sync to p2p_tx_download.py
af76664b12d test: Test migration of a solvable script with no privkeys
17f01b0795e test: Test migration of taproot output scripts
1eb9a2a39fd test: Test migration of miniscript in legacy wallets
e8c3efc7d8f wallet migration: Determine Solvables with CanProvide
fa1b7cd6e2c migration: Skip descriptors which do not parse
440ea1ab639 legacy spkm: use IsMine() to extract watched output scripts
b777e84cd70 legacy spkm: Move CanProvide to LegacyDataSPKM
b1ab927bbf2 tests: Test migration of additional P2WSH scripts
1d813e4bf52 Merge bitcoin/bitcoin#31819: doc: swap CPPFLAGS for APPEND_CPPFLAGS
2ffea09820e build: disable bitcoin-node if daemon is not built
f8d3e0edf47 Merge bitcoin/bitcoin#30205: test: add mocked Sock that can read/write custom data and/or CNetMessages
6b165f5906f Merge bitcoin/bitcoin#31384: mining: bugfix: Fix duplicate coinbase tx weight reservation
6a46be75c43 Merge bitcoin/bitcoin#31793: ci: Use clang-20 for sanitizer tasks
76c090145e9 guix: remove test-security/symbol-check scripts
329b60f595e Merge bitcoin/bitcoin#31810: TxOrphanage: account for size of orphans and count announcements
bc3f59ca530 Merge bitcoin/bitcoin#31820: build: consistently use `CLIENT_NAME` in libbitcoinkernel.pc.in
dead9086543 cmake: Improve compatibility with Python version managers
e107bf78f9d [fuzz] TxOrphanage::SanityCheck accounting
fb0ada982a7 Merge bitcoin/bitcoin#31811: test: test_inv_block, use mocktime instead of waiting
f5b9a2f68c9 build: use CLIENT_NAME in libbitcoinkernel.pc.in
ea687d20293 doc: swap CPPFLAGS for APPEND_CPPFLAGS
81eb6cc2c60 Merge bitcoin/bitcoin#31800: depends: Avoid using the `-ffile-prefix-map` compiler option
2f98d1e06ed Merge bitcoin/bitcoin#31814: ci: Bump fuzz task timeout
9cf746d6631 cmake: add optional source files to crc32c directly
9c7823c5b53 cmake: add optional source files to bitcoin_crypto directly
faca7ac1321 ci: Bump fuzz task timeout
22dccea5532 [fuzz] txorphan byte accounting
982ce101781 add orphanage byte accounting to TxDownloadManagerImpl::CheckIsEmpty()
c289217c014 [txorphanage] track the total number of announcements
e5ea7daee01 [txorphanage] add per-peer weight accounting
672c69c688f [refactor] change per-peer workset to info map within orphanage
59cd0f0e091 [txorphanage] account for weight of orphans
f93d6cb0caa Merge bitcoin/bitcoin#31809: Prepare "Open Transifex translations for v29.0" release step
f605f7a9c26 build: refactor: set debug definitions in main CMakeLists
2706c5b7c8e test: test_inv_block, use mocktime instead of waiting
0a02e7fdeac test: deduplicates p2p_tx_download constants
2f27c910869 qt: Update the `src/qt/locale/bitcoin_en.xlf` translation source file
864386a7444 cmake: Ensure generated sources are up to date for `translate` target
d6c229d8bd4 Merge bitcoin/bitcoin#31804: ci: Remove no longer needed `-Wno-error=documentation`
2b51dd384b4 Update Transifex slug for 29.x
82ba5051342 Merge bitcoin/bitcoin#31759: test: fixes p2p_ibd_txrelay wait time
ae9eaa063b6 Merge bitcoin/bitcoin#31760: test: make sure we are on sync with a peer before checking if they have sent a message
f1d7a6dfa14 ci: Remove no longer needed '-Wno-error=documentation'
a43f08c4ae3 Merge bitcoin/bitcoin#25832: tracing: network connection tracepoints
407062f2ac9 depends: Avoid using the `-ffile-prefix-map` compiler option
b9c241804c0 Merge bitcoin/bitcoin#30226: test: add validation for gettxout RPC response
1334ca6c070 Merge bitcoin/bitcoin#31437: func test: Expand tx download preference tests
33932d30e38 Merge bitcoin/bitcoin#31784: test: added additional coverage to waitforblock and waitforblockheight rpc's
2aa7be1744a Merge bitcoin/bitcoin#31358: depends: Avoid hardcoding `host_prefix` in toolchain file
386eecff5f1 doc: add release notes
3eaa0a3b663 miner: init: add `-blockreservedweight` startup option
777434a2cd1 doc: rpc: improve `getmininginfo` help text
c8acd4032d5 init: fail to start when `-blockmaxweight` exceeds `MAX_BLOCK_WEIGHT`
5bb31633cc9 test: add `-blockmaxweight` startup option functional test
2c7d90a6d67 miner: bugfix: fix duplicate weight reservation in block assembler
fa5a02bcfa2 ci: Use clang-20 for sanitizer tasks
474139aa9bf wallet: abandon inactive coinbase tx and their descendants during startup
bb0879ddabc test: check `scanning` field from `getwalletinfo`
94ca99ac51d Merge bitcoin/bitcoin#31666: multi-peer orphan resolution followups
6f5ae1a5745 Merge bitcoin/bitcoin#31653: lint: Call more checks from test_runner
e3622a96929 tracing: document that peer addrs can be >68 chars
b19b526758f tracing: log_p2p_connections.bt example
caa5486574b tracing: connection closed tracepoint
b2ad6ede95e tracing: add misbehaving conn tracepoint
68c1ef4f19b tracing: add inbound connection eviction tracepoint
4d61d52f438 tracing: add outbound connection tracepoint
85b2603eec6 tracing: add inbound connection tracepoint
7e0db87d4ff test: added additional coverage to waitforblock and waitforblockheight rpc's
f89f16846ec depends: Fix compiling `libevent` package on NetBSD
1172bc4157e Merge bitcoin-core/gui#850: psbt: Use SIGHASH_DEFAULT when signing PSBTs
85f96b01b77 Merge bitcoin/bitcoin#30909: wallet, assumeutxo: Don't Assume m_chain_tx_count, Improve wallet RPC errors
601a6a69172 Merge bitcoin/bitcoin#30965: kernel: Move block tree db open to block manager
eaf4b928e72 Merge bitcoin/bitcoin#31746: test: Added coverage to the waitfornewblock rpc
992f37f2e10 Merge bitcoin/bitcoin#31600: rpc: have getblocktemplate mintime account for timewarp
12fa9511b5f build: simplify dependency graph
c4e498300c7 build: avoid unnecessary dependencies on generated headers
8fa10edcd17 Merge bitcoin/bitcoin#31428: ci: Allow build dir on CI host
809d7e763cc Merge bitcoin/bitcoin#31751: test: fix intermittent timeout in p2p_1p1c_network.py
7426afbe624 [p2p] assign just 1 random announcer in AddChildrenToWorkSet
4c1fa6b28c2 test fix: make peer who sends MSG_TX announcement non-wtxidrelay
2da46b88f09 pass P2PTxInvStore init args to P2PInterface init
e3bd51e4b52 [doc] how unique_parents can be empty
32eb6dc758a [refactor] assign local variable for wtxid
18820ccf6b2 multi-announcer orphan handling test fixups
c4cc61db98f [fuzz] GetCandidatePeers
7704139cf0d [refactor] make GetCandidatePeers take uint256 and in-out vector
6e4d392a753 [refactor] rename to OrphanResolutionCandidate to MaybeAdd*
57221ad9797 [refactor] move parent inv-adding to OrphanResolutionCandidate
6835e9686c4 Merge bitcoin/bitcoin#31545: ci: optionally use local docker build cache
c7869cb2143 Merge bitcoin/bitcoin#30844: RPC: improve SFFO arg parsing, error catching and coverage
1e0c5bd74ae Merge bitcoin/bitcoin#30125: test: improve BDB parser (handle internal/overflow pages, support all page sizes)
1d6c6e98c13 Merge bitcoin/bitcoin#31633: net: Disconnect message follow-ups to #28521
3f4b104b1b7 test: make sure we are on sync with a peer before checking if they have sent a message
1973a9e4f1d test: fixes p2p_ibd_txrelay wait time
152a2dcdefa test: fix intermittent timeout in p2p_1p1c_network.py
ad2f9324c61 Merge bitcoin/bitcoin#31740: depends: Update libmultiprocess library before converting to subtree
e1676b08f7b doc: release notes
0082f6acc1d rpc: have mintime account for timewarp rule
79d45b10f1b rpc: clarify BIP94 behavior for curtime
07135481378 refactor: add GetMinimumTime() helper
93747d934b8 test: Added coverage to the waitfornewblock rpc
b432e367427 Merge bitcoin/bitcoin#31736: doc: update links in ci.yml
74ea7edafae Merge bitcoin/bitcoin#31522: ci: Enable DEBUG=1 for one GCC-12+ build to catch 117966 regressions
f34c580bd81 Merge bitcoin/bitcoin#31620: test: Remove --noshutdown flag, Tidy startup failures
1681c08d42c doc: update links in ci.yml
b0869648aa9 Merge bitcoin/bitcoin#21590: Safegcd-based modular inverses in MuHash3072
63a8791e15c contrib: fix BUILDDIR in gen-bitcoin-conf script and gen-manpages.py
4e0aa1835b3 test: Add test for IPC serialization bug
2221c8814d7 depends: Update libmultiprocess library before converting to subtree
0a931a9787b Merge bitcoin/bitcoin#31599: qa: Improve framework.generate* enforcement (#31403 follow-up)
4ac1efb147d Merge bitcoin/bitcoin#30322: test: raise an error in `_bulk_tx_` when `target_vsize` is too low
8775731e6d4 Merge bitcoin/bitcoin#31241: wallet: remove BDB dependency from wallet migration benchmark
9ecc7af41f6 Merge bitcoin/bitcoin#31674: init: Lock blocksdir in addition to datadir
551a09486c4 net: Switch to DisconnectMsg in CConnman
723440c5b8e test framework, wallet: rename get_scriptPubKey method to get_output_script
fa0232a3e07 test: add validation for gettxout RPC response
2d07384243c Merge bitcoin/bitcoin#31658: test: p2p: fix sending of manual INVs in tx download test
796e1a4c5d1 Merge bitcoin/bitcoin#31718: Docs: fix typos in documentation files
81b9800c87e fix typos
d5a2ba44ba4 Merge bitcoin/bitcoin#31416: doc: Fix incorrect send RPC docs
81c174e3186 cmake: Refer to the configure log instead of printing PIE test error
9914e737297 Merge bitcoin/bitcoin#31704: doc: add a section in the fuzzing documentation about using MSan
faf2f2c654d test: Avoid redundant stop and error spam on shutdown
188b02116d8 Merge bitcoin/bitcoin#31635: test: add coverage for unknown address type for `createwalletdescriptor`
2317e6cf2da Merge bitcoin/bitcoin#31696: test: Check that reindex with prune wipes blk files
94f0adcc31d Merge bitcoin/bitcoin#31541: qa: Use `sys.executable` when invoking other Python scripts
59876b3ad71 Merge bitcoin/bitcoin#31376: Miner: never create a template which exploits the timewarp bug
e3c01527696 cmake: Copy `cov_tool_wrapper.sh.in` to the build tree
faf8fc5487d lint: Call lint_commit_msg from test_runner
fa99728b0c8 lint: Move commit range printing to test_runner
fa673cf3449 lint: Call lint_scripted_diff from test_runner
449a25b9582 Merge bitcoin/bitcoin#31709: cmake: Fail if `Libmultiprocess` is missing when `WITH_MULTIPROCESS=ON`
5acf12bafeb Merge bitcoin/bitcoin#31583: rpc: add target to getmininginfo field and show next block info
78fa88c53ad Merge bitcoin/bitcoin#31548: fuzz: Abort when global PRNG is used before SeedRand::ZEROS
c31166ac77a cmake: Fail if `Libmultiprocess` is missing when `WITH_MULTIPROCESS=ON`
5d6f6fd00d7 Merge bitcoin/bitcoin#31490: refactor: inline `UndoWriteToDisk` and `WriteBlockToDisk` to reduce serialization calls
7b4d072e4fa Merge bitcoin/bitcoin#31690: doc: Amend notes on benchmarking
bb633c9407c tests: add functional test for miniscript decaying multisig
e94c9d17123 [doc] Amend notes on benchmarking
5c3e4d8b293 doc: add a section about using MSan
a4df12323c4 doc: add release notes
c75872ffdd9 test: use DIFF_1_N_BITS in tool_signet_miner
4131f322ac0 test: check difficulty adjustment using alternate mainnet
c4f68c12e22 Use OP_0 for BIP34 padding in signet and tests
cf0a62878be rpc: add next to getmininginfo
2d18a078a2d rpc: add target and bits to getchainstates
f153f57acc9 rpc: add target and bits to getblockchaininfo
523520f8279 Merge bitcoin/bitcoin#30866: descriptor: Add proper Clone function to miniscript::Node
baa504fdfaf rpc: add target to getmininginfo result
2a7bfebd5e7 Add target to getblock(header) in RPC and REST
341f9325167 rpc: add GetTarget helper
d20d96fa41c test: use REGTEST_N_BITS in feature_block
7ddbed4f9fc rpc: add nBits to getmininginfo
ba7b9f3d7bf build: move pow and chain to bitcoin_common
c4cc9e3e9df consensus: add DeriveTarget() to pow.h
fa9aced8006 test: Check that reindex with prune wipes blk files
66d21d0eb65 qa: check parsed multipath descriptors dont share references
09a1875ad8c miniscript: Make NodeRef a unique_ptr
9ccb46f91ac miniscript: Ensure there is no NodeRef copy constructor or assignment operator
6d11c9c60b5 descriptor: Add proper Clone function to miniscript::Node
5691fa93c48 Merge bitcoin/bitcoin#31661: depends: Override default build type for `libevent`
8fc7140846f Merge bitcoin/bitcoin#31671: Update leveldb subtree to latest upstream
a9edec94198 Merge bitcoin/bitcoin#31701: test: Bump sync_mempools timeout in p2p_1p1c_network.py
fa80a7dac4b test: Bump sync_mempools timeout in p2p_1p1c_network.py
1111b0ac196 ci: Add missing --combinedlogslen to test-each-commit task
d44626a9c2e depends: Override default build type for `libevent`
d7f56cc5d9e Merge bitcoin/bitcoin#31590: descriptors: Try pubkeys of both parities when retrieving the private keys for an xonly pubkey in a descriptor
fa9593efc2e test: Use high-level python types
c39b3cfcd1b test: Extra verification that migratewallet migrates
0cdddeb2240 kernel: Move block tree db open to BlockManager constructor
7fbb1bc44b1 kernel: Move block tree db open to block manager
0c1b29a0577 ci: use GCC 13 for some jobs
fa8ade300f4 refactor: Avoid GCC false positive error
fa40807fa83 ci: Enable DEBUG=1 for one GCC-12+ build to catch 117966 regressions
cbc65b3ad5a guix: use GCC 13.3.0 for base toolchain.
4601b7ca611 Merge bitcoin/bitcoin#31125: depends: add *FLAGS to gen_id
fa952acdb6e ci: Skip read-write of default env vars
eb243ff06c4 Merge bitcoin/bitcoin#31593: ci: Bump centos stream 10
6dc60126701 Merge bitcoin/bitcoin#31657: ci: Supply `--platform` argument to `docker` commands.
a759ea3e920 doc: Improve dependencies documentation
4e52a634430 Merge bitcoin/bitcoin#31691: util: fix compiler warning about deprecated space before _MiB
2e839dd641d Merge bitcoin/bitcoin#30774: depends: Qt 5.15.16
d3339a7cd5f util: fix compiler warning about deprecated space before _MiB
f0e5e4cdbec test: Add test for rpcwhitelistdefault
6e29de21010 ci: Supply `platform` argument to docker commands.
faaabfaea76 ci: Bump centos stream 10
89720b7a1b3 Merge bitcoin/bitcoin#31543: cmake: Always provide `RPATH` on NetBSD
5b3a81f44da Merge bitcoin/bitcoin#31626: depends: Use base system's `sha256sum` utility on FreeBSD
832d5730730 Merge bitcoin/bitcoin#31651: ci: Turn CentOS task into native one
5ac1e0814ae Merge bitcoin/bitcoin#31621: doc: Update dependency installation for Debian/Ubuntu
370b9c1a0b9 Merge bitcoin/bitcoin#31675: [test] fix p2p_orphan_handling.py empty orphanage check
8996fef8aeb test: p2p: check that INV messages not matching wtxidrelay are ignored
2656a5658c1 tests: add a test for the new blocksdir lock
bdc0a68e676 init: lock blocksdir in addition to datadir
cabb2e5c242 refactor: introduce a more general LockDirectories for init
1db331ba764 init: allow a new xor key to be written if the blocksdir is newly created
2e75ebb6169 [test] fix p2p_orphan_handling.py empty orphanage check
f9032a4abb7 Merge bitcoin/bitcoin#31242: wallet, desc spkm: Return SigningProvider only if we have the privkey
9dc4eedb670 Merge bitcoin/bitcoin#31673: doc: fix minor typos in comments
b30cc71e853 doc: fix typos
57ba59c0cdf refactor: Remove redundant reindex check
160c27ec078 doc: Update dependency installation for Debian/Ubuntu and CI
df8bf657450 Merge bitcoin/bitcoin#31483: kernel: Move kernel-related cache constants to kernel cache
0f716f28896 qa: cover PROTOCOL_ERROR variant in PCP unit tests
fc700bb47fd test: Add tests for PCP and NATPMP implementations
335798c4963 Merge bitcoin/bitcoin#31397: p2p: track and use all potential peers for orphan resolution
98939ce7b74 Merge bitcoin/bitcoin#31655: refactor: Avoid UB in SHA3_256::Write
910a11fa663 build: remove LEVELDB_IS_BIG_ENDIAN
9ec64253ab6 Update leveldb subtree to latest upstream
d336b7ab85d Squashed 'src/leveldb/' changes from 688561cba8..04b5790928
65a0920ca6b cmake: Add `CheckLinkerSupportsPIE` module
712cab3a8f8 Merge bitcoin/bitcoin#31061: refactor: Check translatable format strings at compile-time
2a92702bafc init: Use size_t consistently for cache sizes
65cde3621db kernel: Move default cache constants to caches
8826cae2854 kernel: Move non-kernel db cache size constants
e758b26b85d kernel: Move kernel-specific cache size options to kernel
d5e2c4a4097 fuzz: Add fuzz test for checked and saturating add and left shift
c03a2795a8e util: Add integer left shift helpers
31a0e5f0905 depends: Qt 5.15.16
fa3efb57290 refactor: Introduce struct to hold a runtime format string
fa6adb01344 lint: Remove unused and broken format string linter
fadc6b9bac8 refactor: Check translatable format strings at compile-time
fa1d5acb8d8 refactor: Use TranslateFn type consistently
e0b33368222 test: p2p: fix sending of manual INVs in tx download test
e7c47949550 Merge bitcoin/bitcoin#31630: doc: Archive 28.1 release notes
7cd862aab94 Merge bitcoin/bitcoin#31646: test: avoid internet traffic
eeee6cf2ffb refactor: Delay translation of _() literals
fabeca3458b refactor: Avoid UB in SHA3_256::Write
fad4032b219 refactor: Drop unused UCharCast
2ed161c5ce6 test: avoid generating non-loopback traffic from p2p_dns_seeds.py
a5746dc559c test: avoid generating non-loopback traffic from feature_config_args.py
6b3f6eae70b test: avoid generating non-loopback traffic from p2p_seednode.py
fabefd99158 ci: Turn CentOS task into native one
caf95210331 net: Use mockable steady clock in PCP implementation
03648321ecb util: Add mockable steady_clock
ab1d3ece026 net: Add optional length checking to CService::SetSockAddr
bb5f76ee013 doc: Archive 28.1 release notes
35bf426e022 Merge bitcoin/bitcoin#28724: wallet: Cleanup accidental encryption keys in watchonly wallets
4da7bfdcc90 test: add coverage for unknown address type for `createwalletdescriptor`
21684065978 Merge bitcoin/bitcoin#31608: doc: Clarify min macOS and Xcode version
2f6c7e7f6c0 Merge bitcoin/bitcoin#31612: ci: build msan's libc++ with _LIBCPP_ABI_BOUNDED_*
01df180bfb8 depends: add mold & ld.lld to gen_id
d032ac80633 depends: add *FLAGS to gen_id
528354e213a Merge bitcoin/bitcoin#31616: init,log: Unify block index log line
4bedfb5c833 Merge bitcoin/bitcoin#31623: tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs
e5c268084eb Merge bitcoin/bitcoin#31627: depends: Fix spacing issue
d695d139171 Merge bitcoin/bitcoin#31611: doc: upgrade license to 2025.
bbac17608d1 net: Bring back log message when resetting socket
04b848e4827 net: Specify context in disconnecting log message
0c4954ac7d9 net_processing: Add missing use of DisconnectMsg
37af8bfb34d Merge bitcoin/bitcoin#31549: fuzz: Abort if system time is called without mock time being set
54115d8de5c Merge bitcoin/bitcoin#31617: build, test: Build `db_tests.cpp` regardless of `USE_BDB`
0a77441158c Merge bitcoin/bitcoin#31451: wallet: migration, avoid loading legacy wallet after failure when BDB isn't compiled
56725f88293 Merge bitcoin/bitcoin#31462: test: raise explicit error if any of the needed release binaries is missing
727c5427696 depends: Use base system's `sha256sum` utility
4818da809f0 wallet: fix rescanning inconsistency
f5883286e32 Add a fuzz test for Num3072 multiplication and inversion
a26ce628942 Safegcd based modular inverse for Num3072
91ce8cef2d8 Add benchmark for MuHash finalization
223081ece65 scripted-diff: rename block and undo functions for consistency
baaa3b28467 refactor,blocks: remove costly asserts and modernize affected logs
fa39f27a0f8 refactor,blocks: deduplicate block's serialized size calculations
8a46286da66 depends: Fix spacing issue
e04be3731f4 init,log: Unify block index and chainstate loading log line
dfb2f9d0048 refactor,blocks: inline `WriteBlockToDisk`
42bc4914658 refactor,blocks: inline `UndoWriteToDisk`
86b85bb11f8 bench: add SaveBlockBench
34f9a0157aa refactor,bench: rename bench/readblock.cpp to bench/readwriteblock.cpp
8bd5f8a38ce [refactor] init: Simplify coinsdb cache calculation
f93f0c93961 tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs
66aa6a47bd8 Merge bitcoin/bitcoin#30391: BlockAssembler: return selected packages virtual size and fee
fa3c787b62a fuzz: Abort when global PRNG is used before SeedRand::ZEROS
92787dd52cd test: raise an error when target_vsize is below tx virtual size
a8780c937f7 test: raise an error if output value is <= 0 in `create_self_transfer`
f6e88931f07 test: test that `create_self_transfer_multi` respects `target_vsize`
fae3bf6b870 test: Avoid redundant stop and error spam on startup failure
fa0dc09b900 test: Remove --noshutdown flag
fad441fba07 test: Treat leftover process as error
7c123c08ddc  miner: add package feerate vector to CBlockTemplate
fd2d96d9087 build, test: Build `db_tests.cpp` regardless of `USE_BDB`
fb37acd932b ci: build msan's libc++ with _LIBCPP_ABI_BOUNDED_*
b2e9fdc00f5 test: expect that files may disappear from /proc/PID/fd/
1ea7e45a1f4 test: raise explicit error if any of the needed release binaries is missing
c0045e6cee0 Add test for multipath miniscript expression
b4ac48090f2 descriptor: Use InferXOnlyPubkey for miniscript XOnly pubkey from script
433412fd847 Merge bitcoin/bitcoin#31596: doc: Clarify comments about endianness after #30526
c506f2cee7b Merge bitcoin/bitcoin#31581: test: have miner_tests use  Mining interface
3e97ff9c5ea gui, psbt: Use SIGHASH_DEFAULT when signing PSBTs
4c50c21f6bf tests: Check ExpandPrivate matches for both parsed descriptors
092569e8580 descriptor: Try the other parity in ConstPubkeyProvider::GetPrivKey()
a96b84cb1b7 fuzz: Abort when calling system time without setting mock time
ff21870e20b fuzz: Add SetMockTime() to necessary targets
1b51616f2e3 test: improve rogue calls in mining functions
41a2ce9b7d7 Merge bitcoin/bitcoin#31464: util: Add missing types in make_secure_unique
86d7135e36e [p2p] only attempt 1p1c when both txns provided by the same peer
f7658d9b147 [cleanup] remove p2p_inv from AddTxAnnouncement
063c1324c14 [functional test] getorphantxs reflects multiple announcers
0da693f7e12 [functional test] orphan handling with multiple announcers
b6ea4a9afe2 [p2p] try multiple peers for orphan resolution
1d2e1d709ce [refactor] move creation of unique_parents to helper function
c6893b0f0b7 [txdownload] remove unique_parents that we already have
163aaf285af [fuzz] orphanage multiple announcer functions
22b023b09da [unit test] multiple orphan announcers
96c1a822a27 [unit test] TxOrphanage EraseForBlock
04448ce32a3 [txorphanage] add GetTx so that orphan vin can be read
e810842acda [txorphanage] support multiple announcers
62a9ff18707 [refactor] change type of unique_parents to Txid
6951ddcefd9 [txrequest] GetCandidatePeers
6475849c402 Merge bitcoin/bitcoin#31435: lint: Move assertion linter into lint runner
b537a2c02a9 doc: upgrade license to 2025.
49fc2258cf3 Merge bitcoin/bitcoin#31526: doc: Install `net/py-pyzmq` port on FreeBSD for `interface_zmq.py`
ac918c7cc0e Merge bitcoin/bitcoin#31552: depends: Update capnproto to 1.1.0
fa029a78780 doc: Clarify min macOS and Xcode version
a0f0c48ae20 Merge bitcoin/bitcoin#31584: txmempool: fix typos in comments
558783625ca Merge bitcoin/bitcoin#31586: doc: Update NetBSD Build Guide
3e936789b16 Merge bitcoin/bitcoin#31592: ci: Run functional tests in msan task
5af642bf48b Merge bitcoin/bitcoin#31604: test: fix typo in mempool_ephemeral_dust
8888ee4403f ci: Allow build dir on CI host
9d2d9f7ce29 rpc: Include assumeutxo as a failure reason of rescanblockchain
595edee1690 test, assumeutxo: import descriptors during background sync
d73ae603d44 rpc: Improve importdescriptor RPC error messages
27f99b6d63b validation: Don't assume m_chain_tx_count in GuessVerificationProgress
42d5d533631 interfaces: Add helper function for wallet on pruning
29bca9713d2 test: fix typo in mempool_ephemeral_dust
f919d919eb8 fuzz: Add fuzzing for max_ret_len in DecodeBase58/DecodeBase58Check
635bc58f46b test: Fuzz Base32/Base58/Base64 roundtrip conversions
5dd3a0d8a89 test: Extend base58_encode_decode.json with edge cases
ae40cf1a8e1 test: Add padding tests for Base32/Base64
4036ee3f2bf Merge bitcoin/bitcoin#31542: test: Embed univalue json tests in binary
f6a6d912059 test: add check for getting SigningProvider for a CPubKey
62a95f5af9b test: refactor: move `CreateDescriptor` helper to wallet test util module
5db7d4d3d28 doc: Correct docstring describing max block tree db cache
6aa0e70ccbd Merge bitcoin/bitcoin#31524: refactor: Allow std::byte in Read(LE/BE)
3e0a992a3f0 doc: Clarify comments about endianness after #30526
604bf2ea37f Merge bitcoin/bitcoin#28121: include verbose "reject-details" field in testmempoolaccept response
04249682e38 test: use Mining interface in miner_tests
fa0411ee305 ci: Run functional tests in msan task
2bdaf52ed12 doc: Update NetBSD Build Guide
34e8ee23b83 txmempool: fix typos in comments
228aba2c4d9 Merge bitcoin/bitcoin#31555: descriptor: remove unreachable verification for `pkh`
9b9752217f2 Merge bitcoin/bitcoin#31570: test: descriptor: fix test for `MaxSatisfactionWeight`
87c9ebd8892 Merge bitcoin/bitcoin#31563: rpc: Extend scope of validation mutex in generateblock
df5c643f92d Merge bitcoin/bitcoin#31556: validation: Send correct notification during snapshot completion
fa3de038f74 Merge bitcoin/bitcoin#31537: qa: Limit `-maxconnections` in tests
ba0cb7d5a54 Merge bitcoin/bitcoin#31468: test: Avoid intermittent error in assert_equal(pruneheight_new, 248)
69e35f5c60a Merge bitcoin/bitcoin#31403: test: Call generate RPCs through test framework only
17db84dbb8d Merge bitcoin/bitcoin#31251: test: report detailed msg during utf8 response decoding error
e6f14241f6d Merge bitcoin/bitcoin#31540: refactor: std::span compat fixes
a137b0bd6b2 Merge bitcoin/bitcoin#31215: rpc: increase the defaults for -rpcthreads and -rpcworkqueue
67bfe28995e Merge bitcoin/bitcoin#31531: rpc: Add signet_challenge field to getblockchaininfo and getmininginfo
ad174c28175 Merge bitcoin/bitcoin#31497: Remove unused variable assignment
d871d778251 test: Remove non-portable IPv6 test
4080b66cbec test: add test for utxo-to-sqlite conversion script
ec99ed73808 contrib: add tool to convert compact-serialized UTXO set to SQLite database
b29d68f942e test: descriptor: fix test for `MaxSatisfactionWeight`
9355578a779 Merge bitcoin/bitcoin#31534: coins: warn on shutdown for big UTXO set flushes
f95fb793726 Merge bitcoin/bitcoin#28521: net, net_processing: additional and consistent disconnect logging
bc43ecaf6dc test: add functional test for balance after snapshot completion
226d03dd610 validation: Send correct notification during snapshot completion
fa63b8232f3 test: generateblocks called by multiple threads
fa62c8b1f04 rpc: Extend scope of validation mutex in generateblock
366ae00b779 descriptor: Assume `ParseScript` is not being called with a P2WPKH context
b448b014947 test: add a mocked Sock that allows inspecting what has been Send() to it
f1864148c4a test: put the generic parts from StaticContentsSock into a separate class
e3664085908 descriptor: remove unreachable verification for `pkh`
5709718b830 coins: warn on shutdown for big UTXO set flushes
b0b8d96d93e depends: Update capnproto to 1.1.0
e87429a2d0f ci: optionally use local docker build cache
fc7b2148470 Merge bitcoin/bitcoin#31529: guix: latest 2.31 glibc
273440d5c9d Merge bitcoin/bitcoin#31535: doc: Install `py3-zmq` port on OpenBSD for `interface_zmq.py`
4cdf50c4ba8 Merge bitcoin/bitcoin#31544: cmake: Remove unused `BUILD_TESTING` variable from "dev-mode" preset
faf7eac364f test: clang-format -i src/univalue/test/unitester.cpp
fafa9cc7a59 test: Embed univalue json tests in binary
fa044857caf test: Re-enable univalue test fail18.json
63b6b638aa5 build: Use character literals for generated headers to avoid narrowing
ecaa786cc10 rpc: add signet_challenge field to getblockchaininfo and getmininginfo
e196190a284 cmake: Remove unused `BUILD_TESTING` variable from "dev-mode" preset
11115e9aa84 cmake: Always provide `RPATH` on NetBSD
d38ade7bc40 qa: Use `sys.executable` when invoking other Python scripts
bb57017b294 Merge bitcoin/bitcoin#31521: fuzz: Fix misplaced SeedRand::ZEROS
5bbbc0d0eeb Merge bitcoin/bitcoin#31325: Make m_tip_block std::optional
d9d5bc2e746 qa: Limit `-maxconnections` in tests
fa494a1d53f refactor: Specify const in std::span constructor, where needed
faaf4800aa7 Allow std::span in stream serialization
faa5391f770 refactor: test: Return std::span from StringBytes
fa862234753 refactor: Avoid passing span iterators when data pointers are expected
faae6fa5f61 refactor: Simplify SpanPopBack
facc4f120b0 refactor: Replace fwd-decl with proper include
fac3a782eaf refactor: Avoid needless, unsafe c-style cast
c1252b14d71 Merge bitcoin/bitcoin#31520: #31318 followups
be1a2e5dfbd doc: Install `py3-zmq` port on OpenBSD for `interface_zmq.py`
fa0c473d4c8 Merge bitcoin/bitcoin#31196: Prune mining interface
ea53568a068 Merge bitcoin/bitcoin#31393: refactor: Move GuessVerificationProgress into ChainstateManager
b8710201fbd guix: disable timezone tools & profiling in glibc
23b8a424fb0 guix: bump glibc 2.31 to 7b27c450c34563a28e634cccb399cd415e71ebfe
0a76c292ac8 doc: Install `net/py-pyzmq` port on FreeBSD for `interface_zmq.py`
fadd568931a fuzz: Fix misplaced SeedRand::ZEROS
fa83bec78ef refactor: Allow std::byte in Read(LE/BE)
4f06ae05ed6 refactor: fix typo in node/types.h
366fbf152c6 test: drop extraneous bracket in mining util
c991cea1a0c Remove processNewBlock() from mining interface
9a47852d88c Remove getTransactionsUpdated() from mining interface
bfc4e029d41 Remove testBlockValidity() from mining interface
477b3574607 Merge bitcoin/bitcoin#31493: refactor: Use immediate lambda to work around GCC bug 117966
a60d5702fd5 Merge bitcoin/bitcoin#31486: fuzz: Abort when using global PRNG without re-seed
a95a8ba3a3f Merge bitcoin/bitcoin#31197: refactor: mining interface 30955 followups
cd3d9fa5ea8 Merge bitcoin/bitcoin#31318: Drop script_pub_key arg from createNewBlock
c9136ca9060 validation: fix issue with an interrupted -reindex
a2675897e2a validation: Don't loop over all chainstates in LoadExternalBlock
785486a9755 Merge bitcoin/bitcoin#31489: fuzz: Fix test_runner error reporting
1251a236420 Merge bitcoin/bitcoin#31458: build: use `-mbig-obj` for Windows debug builds
d2136d32bb4 Merge bitcoin/bitcoin#31502: depends: Fix `CXXFLAGS` on NetBSD
58436d4af38 Merge bitcoin/bitcoin#31503: cmake: Link `bitcoin_consensus` as a library
38dcf0f9827 Merge bitcoin/bitcoin#31498: depends: Ignore prefix directory on OpenBSD
fae63bf1303 fuzz: Clarify that only SeedRandomStateForTest(SeedRand::ZEROS) is allowed
81cea5d4ee0 Ensure m_tip_block is never ZERO
e058544d0e8 Make m_tip_block an std::optional
f86678156a3 Check leaves size maximum in MerkleComputation
4d572882463 refactor: use CTransactionRef in submitSolution
2e81791d907 Drop TransactionMerklePath default position arg
39d3b538e6a Rename merkle branch to path
fa18acb457e fuzz: Abort when using global PRNG without re-seed
fa9e0489f57 refactor: Use immediate lambda to work around GCC bug 117966
46e207d3296 cmake: Link `bitcoin_consensus` as a library
a10bb400e8c depends: Fix CXXFLAGS on NetBSD
3353d4a5e9f depends: Ignore prefix directory on OpenBSD
b9766c9977e Remove unused variable assignment
b042c4f0538 Merge bitcoin/bitcoin#31223: net, init: derive default onion port if a user specified a -port
e8f0e6efaf5 lint: output-only - Avoid repeated arrows, trim
facb4d010ca refactor: Move GuessVerificationProgress into ChainstateManager
2b9ff4a66d3 build: use `-mbig-obj` for mingw-w64 Debug builds
fa0e30b93aa fuzz: Fix test_runner error reporting
d73f37dda22 Merge bitcoin/bitcoin#31346: Set notifications m_tip_block in LoadChainTip()
fa7809aeab8 fuzz: Add missing SeedRandomStateForTest(SeedRand::ZEROS)
78f1bff7099 Merge bitcoin/bitcoin#31477: ci: Bump centos gcc to 12
84890e0291f Merge bitcoin/bitcoin#31484: depends: update capnproto to 1.0.2
d5ab5a47f0e Merge bitcoin/bitcoin#31452: wallet: Migrate non-HD keys to combo() descriptor
fa0998f0a02 test: Avoid intermittent error in assert_equal(pruneheight_new, 248)
fa9aacf614f lint: Move assertion linter into lint runner
beac62e541c Merge bitcoin/bitcoin#31480: refactor: Fix "modernize-use-starts-ends-with" clang-tidy warning
5cd9e95eea1 depends: update capnproto to 1.0.2
df27ee9f024 refactor: Fix "modernize-use-starts-ends-with" clang-tidy warning
435ad572a1a Merge bitcoin/bitcoin#31479: lint: Disable signature output in git log
ea9e64ff3cb Merge bitcoin/bitcoin#31461: depends: add `-g` to *BSD_debug flags
29ddee1796a Merge bitcoin/bitcoin#31478: docs: remove repetitive words
e2d3372e558 lint: Disable signature output in git log
fa47baa03bc ci: Bump centos gcc
015aad8d6a6 docs: remove repetitive words
589ed1a8eaf wallet: migration, avoid loading wallet after failure when it wasn't loaded before
62bd61de110 Merge bitcoin/bitcoin#31450: guix: disable gcov in base-linux-gcc
676936845b1 Merge bitcoin/bitcoin#30933: test: Prove+document ConstevalFormatString/tinyformat parity
8ad2c902742 Merge bitcoin/bitcoin#31343: test: avoid internet traffic in rpc_net.py
a582ee681c7 Merge bitcoin/bitcoin#29982: test: Fix intermittent issue in wallet_backwards_compatibility.py
fa397177acf util: Add missing types in make_secure_unique
b6f0593f433 doc: add release note about testmempoolaccept debug-message
f9cac635237 test: cover testmempoolaccept debug-message in RBF test
b7ec69c25cf depends: add -g to *BSD_debug flags
37e49c2c7ca Merge bitcoin/bitcoin#31448: fuzz: add cstdlib to FuzzedDataProvider
62b2d23edba wallet: Migrate non-HD keys to combo() descriptor
9039d8f1a1d Merge bitcoin/bitcoin#31374: wallet: fix crash during watch-only wallet migration
bb7e686341e fuzz: add cstdlib to FuzzedDataProvider
f6496a83882 guix: disable gcov in base-linux-gcc
846a1387280 func test: Expand tx download preference tests
35000e34cf3 Merge bitcoin/bitcoin#31433: test: #31212 follow up (spelling, refactor)
18d0cfb194c Merge bitcoin/bitcoin#31306: ci: Update Clang in "tidy" job
c93bf0e6e2c test: Add missing %c character test
76cca4aa6fc test: Document non-parity between tinyformat and ConstevalFormatstring
533013cba20 test: Prove+document ConstevalFormatString/tinyformat parity
b81a4659950 refactor test: Profit from using namespace + using detail function
cdd207c0e48 test: add coverage for migrating standalone imported keys
297a876c980 test: add coverage for migrating watch-only script
932cd1e92b6 wallet: fix crash during watch-only wallet migration
18619b47325 wallet: remove BDB dependency from wallet migration benchmark
41d934c72df chore: Typo Overriden -> Overridden
c9fb38a590e refactor test: Cleaner combine_logs.py logic
22723c809a8 Merge bitcoin/bitcoin#31072: refactor: Clean up messy strformat and bilingual_str usages
b1f0f3c288a Merge bitcoin/bitcoin#31406: test: fix `test_invalid_tx_in_compactblock` in `p2p_compactblocks`
1a35447595d Merge bitcoin/bitcoin#31417: test: Avoid F541 (f-string without any placeholders)
eb2ebe6f30a Merge bitcoin/bitcoin#31231: cmake: Fix `IF_CHECK_PASSED` option handling
5b283fa1477 Merge bitcoin/bitcoin#31431: util: use explicit cast in MultiIntBitSet::Fill()
37946c0aafe Set notifications m_tip_block in LoadChainTip()
fa6e599cf9f test: Call generate through test framework only
2eccb8bc5e2 Merge bitcoin/bitcoin#31248: test: Rework wallet_migration.py to use previous releases
7239ddb7cec test: make sure node has all transactions
6d973f86f75 Merge bitcoin/bitcoin#31408: test: Avoid logging error when logging error
6a1e613e853 Merge bitcoin/bitcoin#31427: lint: bump MLC to v0.19.0
edb41e4814c util: use explicit cast in MultiIntBitSet::Fill()
31e59d94c67 iwyu: Drop backported mapping
fe9bc5abef3 ci: Update Clang in "tidy" job
083770adbe7 Merge bitcoin/bitcoin#31414: test: orphan parent is re-requested from 2nd peer
f6afca46a1d lint: use clearer wording on error message
811a65d3c6b lint: bump MLC to v0.19.0
fae76393bdb test: Avoid F541 (f-string without any placeholders)
e8cc790fe2a Merge bitcoin/bitcoin#30445: test: addrman: tried 3 times and never a success so `isTerrible=true`
f9650e18ea6 rbf: remove unecessary newline at end of error string
221c789e916 rpc: include verbose reject-details field in testmempoolaccept response
0184d33b3d2 scripted-diff: Replace strprintf(Untranslated) with Untranslated(strprintf)
17372d788e6 Merge bitcoin/bitcoin#30906: refactor: prohibit direct flags access in CCoinsCacheEntry and remove invalid tests
006e4d1d598 refactor: Use + instead of strformat to concatenate translated & untranslated strings
831d2bfcf94 refactor: Don't embed translated string in untranslated string.
058021969b5 refactor: Avoid concatenation of format strings
11f68cc8108 Merge bitcoin/bitcoin#31212: util: Improve documentation and negation of args
893ccea7e47 Merge bitcoin/bitcoin#31419: test: fix MIN macro redefinition
39950e148d8 Merge bitcoin/bitcoin#31295: refactor: Prepare compile-time check of bilingual format strings
fad83e759a4 doc: Fix incorrect send RPC docs
00c1dbd26dd test: fix MIN macro-redefinition
ae69fc37e4f Merge bitcoin/bitcoin#31391: util: Drop boost posix_time in ParseISO8601DateTime
52fd1511a77 test: drop scriptPubKeyIn arg from CreateNewBlock
ff41b9e296a Drop script_pub_key arg from createNewBlock
7ab733ede44 rpc: rename coinbase_script to coinbase_output_script
c4c5cf17488 cmake: Fix passing `APPEND_*FLAGS` to `secp256k1` subtree
eb540a26295 cmake: Remove `core_sanitizer_{cxx,linker}_flags` helper variables
0f84cdd2661 func: test orphan parent is re-requested from 2nd peer
fa8e0956c23 rpc: Remove deprecated dummy alias for listtransactions::label
95a0104f2e9 test: Add tests for directories in place of config files
e85abe92c7c args: Catch directories in place of config files
e4b6b1822ce test: Add tests for -noconf
483f0dacc41 args: Properly support -noconf
312ec64cc06 test refactor: feature_config_args.py - Stop nodes at the end of tests, not at the beginning
7402658bc2b test: -norpccookiefile
39cbd4f37c3 args: Support -norpccookiefile for bitcoind and bitcoin-cli
e82ad88452b logs: Use correct path and more appropriate macros in cookie-related code
6e28c76907c test: Harden testing of cookie file existence
75bacabb55f test: combine_logs.py - Output debug.log paths on error
cccca8a77f3 test: Avoid logging error when logging error
ee1b9bef000 test: replace `is not` to `!=` when comparing block hash
faf70cc9941 Remove wallet::ParseISO8601DateTime, use ParseISO8601DateTime instead
50cce20013c test, refactor: Compact ccoins_access and ccoins_spend
0a159f09147 test, refactor: Remove remaining unbounded flags from coins_tests
c0b4b2c1eef test: Validate error messages on fail
d5f8d607ab1 test: Group values and states in tests into CoinEntry wrappers
ca74aa7490a test, refactor: Migrate GetCoinsMapEntry to return MaybeCoin
15aaa81c381 coins, refactor: Remove direct GetFlags access
6b733699cfc coins, refactor: Assume state after SetClean in AddFlags to prevent dangling pointers
fc8c282022e coins, refactor: Make AddFlags, SetDirty, SetFresh static
cd0498eabc9 coins, refactor: Split up AddFlags to remove invalid states
2222aecd5f8 util: Implement ParseISO8601DateTime based on C++20
733fa0b0a14 miner: never create a template which exploits the timewarp bug
06443b8f28b net: clarify if we ever sent or received from peer
1d01ad4d73e net: add LogIP() helper, use in net_processing
937ef9eb408 net_processing: use CNode::DisconnectMsg helper
ad224429f82 net: additional disconnection logging
9e4a4b48322 cmake: Check `-Wno-*` compiler options for `leveldb` target
988721d37a3 test: avoid internet traffic in rpc_net.py
d9c8aacce38 depends, refactor: Avoid hardcoding `host_prefix` in toolchain file
bffd92f00f5 args: Support -nopid
12f8d848fd9 args: Disallow -nodatadir
6ff96627600 scripted-diff: Avoid printing version information for -noversion
1807df3d9fb test: addrman: tried 3 times and never a success so `isTerrible=true`
55347a5018b test: Rework migratewallet to use previous release (v28.0)
e8a2054edc8 doc args: Document narrow scope of -color
4b58d55878d test: move the implementation of StaticContentsSock to .cpp
1dd3af8fbc3 Add release note for #31223
997757dd2b4 test: add functional test for -port behavior
fa3e0743047 refactor: Tidy fixups
fa72646f2b1 move-only: Detail_CheckNumFormatSpecifiers and G_TRANSLATION_FUN
faff8403f0a refactor: Pick translated string after format
0e2b12b92a2 net, init: derive default onion port if a user specified a -port
f42ec0f3bfb wallet: Check specified wallet exists before migration
a2c45ae5480 test: report failure during utf8 response decoding
493656763f7 desc spkm: Return SigningProvider only if we have the privkey
97a18c85458 cmake: Fix `IF_CHECK_PASSED` option handling
70398ae05bc mapport: make ProcessPCP void
e56fc7ce6a9 rpc: increase the defaults for -rpcthreads and -rpcworkqueue
9e6cba29882 mapport: remove unnecessary 'g_mapport_enabled'
8fb45fcda07 mapport: remove unnecessary 'g_mapport_current' variable
1b223cb19b4 mapport: merge DispatchMapPort into StartMapPort
9bd936fa34a mapport: drop unnecessary function
2a6536ceda7 mapport: rename 'use_pcp' to 'enable'
c4e82b854cd mapport: make 'enabled' and 'current' bool
d45eb3964f6 test: compare BDB dumps of test framework parser and wallet tool
01ddd9f646a test: complete BDB parser (handle internal/overflow pages, support all page sizes)
9b7023d31a3 Fuzz HRP of bech32 as well
c1a5d5c100b Split out bech32 separator char to header
b28917be363 depends: Make default `host` and `build` comparable
69e95c2b4f9 tests: Test cleanup of mkeys from wallets without privkeys
2b9279b50a3 wallet: Remove unused encryption keys from watchonly wallets
813a16a4633 wallet: Add HasCryptedKeys
cddcbaf81e8 RPC: improve SFFO arg parsing, error catching and coverage
4f4cd353194 rpc: decouple sendtoaddress 'subtractfeefromamount' boolean parsing
ec777917d6e test: Fix intermittent issue in wallet_backwards_compatibility.py
REVERT: f157b0cbc7d kernel: Add pure kernel bitcoin-chainstate
REVERT: 692d1c23c27 kernel: Add functions to get the block hash from a block
REVERT: aad02fb561a kernel: Add block index utility functions to C header
REVERT: 13f4911b064 kernel: Add function to read block undo data from disk to C header
REVERT: 29fdbf26034 kernel: Add functions to read block from disk to C header
REVERT: 2ca304c1def kernel: Add function for copying  block data to C header
REVERT: 705c7f125fd kernel: Add functions for the block validation state to C header
REVERT: 92363c9469c kernel: Add validation interface to C header
REVERT: 7c539908113 kernel: Add interrupt function to C header
REVERT: 522d0886d8f kernel: Add import blocks function to C header
REVERT: 1ae86e2ffe1 kernel: Add chainstate load options for in-memory dbs in C header
REVERT: 09620eeeae6 kernel: Add options for reindexing in C header
REVERT: b4fbf193172 kernel: Add block validation to C header
REVERT: ce6ddde95ee Kernel: Add chainstate loading to kernel C header
REVERT: f5d21c94dc5 kernel: Add chainstate manager option for setting worker threads
REVERT: 783f56f0a29 kernel: Add chainstate manager object to C header
REVERT: 262039e4094 kernel: Add notifications context option to C header
REVERT: dc0d406dd5e kerenl: Add chain params context option to C header
REVERT: b5f84de7ad2 kernel: Add kernel library context object
REVERT: dad0009c86c kernel: Add logging to kernel library C header
REVERT: 27e25aa941c kernel: Introduce initial kernel C header API

git-subtree-dir: depend/bitcoin
git-subtree-split: 5991a69ee0000de551955846d7d21733c326a748
stickies-v added a commit to stickies-v/py-bitcoinkernel that referenced this pull request Mar 17, 2025
5991a69ee00 kernel: Add pure kernel bitcoin-chainstate
05b7d136684 kernel: Add functions to get the block hash from a block
f18c792d843 kernel: Add block index utility functions to C header
89f5bf04673 kernel: Add function to read block undo data from disk to C header
b4f71fc64e7 kernel: Add functions to read block from disk to C header
41306f081ad kernel: Add function for copying  block data to C header
9385d9fc87e kernel: Add functions for the block validation state to C header
0bd9a710358 kernel: Add validation interface to C header
432710f3fc3 kernel: Add interrupt function to C header
cb164ae1eb2 kernel: Add import blocks function to C header
abd67fd93d0 kernel: Add chainstate load options for in-memory dbs in C header
b98c2748e94 kernel: Add options for reindexing in C header
9d0efe1fc86 kernel: Add block validation to C header
87e364fc1ec kernel: Add chainstate loading when instantiating a ChainstateManager
df1599b2d2a kernel: Add chainstate manager option for setting worker threads
fb767002e97 kernel: Add chainstate manager object to C header
10b0fad2fd3 kernel: Add notifications context option to C header
39e7ad8d0dc kernel: Add chain params context option to C header
6285c353b89 kernel: Add kernel library context object
98d10160b6a kernel: Add logging to kernel library C header
4d663446de1 kernel: Introduce initial kernel C header API
698f86964c6 Merge bitcoin/bitcoin#31961: Require sqlite when building the wallet
f4b3a5858ae Merge bitcoin/bitcoin#32064: build: Remove manpages when making MacOS app
92f553eaa92 Merge bitcoin/bitcoin#32038: depends: remove `NO_HARDEN` option
80b5e7f2cb7 build: Remove manpages when making MacOS app
1b251f6b679 Merge bitcoin/bitcoin#31649: consensus: Remove checkpoints (take 2)
5c2f04413e4 Merge bitcoin/bitcoin#32049: contrib: Fix `gen-bitcoin-conf.sh`
5d96c2eab9f Merge bitcoin/bitcoin#31907: qa: clarify and document one assumeutxo test case with malleated snapshot
57d611e53b3 Merge bitcoin/bitcoin#31757: wallet: fix crash on double block disconnection
199d47d9629 Merge bitcoin/bitcoin#32056: doc: Adjust path in comment
de1ada079bf doc: Adjust path in comment
72c150dfe76 Merge bitcoin/bitcoin#32055: contrib: Fix deterministic-unittest-coverage tool path
3c5d1a46819 Remove checkpoints
632ae47372d update comment on MinimumChainWork check
893ca545850 contrib: Fix deterministic-unittest-coverage tool path
c20a5ce106b Merge bitcoin/bitcoin#31901: contrib: Add deterministic-unittest-coverage
a50af6e4c49 Merge bitcoin/bitcoin#32044: ci: Revert "Temporary workaround for old CCACHE_DIR cirrus env"
a5a582d852e Merge bitcoin/bitcoin#31998: depends: patch around PlacementNew issue in capnp
a24419f8bed contrib: Fix `gen-bitcoin-conf.sh`.
eb9730ab658 Merge bitcoin/bitcoin#31987: wallet: Replace "non-0" with "non-zero" in translatable error message
f347d7980e8 Merge bitcoin/bitcoin#31283: Add waitNext() to BlockTemplate interface
fa21597064b ci: Revert "Temporary workaround for old CCACHE_DIR cirrus env"
aa68ed27b89 Merge bitcoin/bitcoin#32041: build: bump CLIENT_VERSION_MAJOR to 29
a3f0e9a4336 [build] bump CLIENT_VERSION_MAJOR to 29
36b6f36ac47 build: require sqlite when building the wallet
5dfef6b9b37 depends: remove NO_HARDEN option
8cb6ab0b971 Merge bitcoin/bitcoin#32025: validation, fix: Use wtxid instead of txid in `CheckEphemeralSpends`
7bb4c82d8ba Merge bitcoin/bitcoin#32021: qa: Enable feature_init.py on Windows
1ef22ce3351 depends: patch around PlacementNew issue in capnp
502d47203e7 Merge bitcoin/bitcoin#31161: cmake: Set top-level target output locations
e38f09b776c Merge bitcoin/bitcoin#31955: test: Fix authproxy named args debug logging
1d0a1a60e83 Merge bitcoin/bitcoin#32004: qt: 29.0 translations update
91328249470 qt: 29.0 translations update
e637dc2c01c refactor: Replace uint256 type with Wtxid in PackageMempoolAcceptResult struct
a3baead7cb8 validation: use wtxid instead of txid in CheckEphemeralSpends
dbc89b604c4 Merge bitcoin/bitcoin#31960: seeds: add signet/testnet4, update makeseeds regex, minblocks, fixed seeds
45719390a14 Merge bitcoin/bitcoin#32011: Docs: fix typos in documentation files
4637cb1eec4 Merge bitcoin/bitcoin#32002: doc: add note to Windows build about stripping bins
5f732089d67 Merge bitcoin/bitcoin#32017: doc: warn against having qt6 installed on macOS
a1aea3ea742 Merge bitcoin/bitcoin#31996: doc: link to benchcoin over bitcoinperf
5601bab4f8b Docs: fix typos in documentation files
59c4930394c qa: Enable feature_init.py on Windows
c94195c077f doc: add note to windows build about stripping bin
ee68b05f3d6 Merge bitcoin/bitcoin#32014: ci: Do not try to install for fuzz builds
093c757d7cf Merge bitcoin/bitcoin#32000: Update minisketch subtree to d1e6bb8bbf8ef104b9dd002cab14a71b91061177
a3c3f37e71e ci: Do not try to install for fuzz builds
d79dab0fa99 doc: warn against having qt6 installed on macOS
f0b659716bd seeds: update .gitignore with signet and testnet4
48f07ac9da4 chainparams: remove hardcoded signet seeds
d4ab1150c40 chainparams: add signet fixed seeds if default network
49f155efbfb seeds: update fixed dns seeds
236687083fb makeseeds: regex improvements
98f84d6c233 generate-seeds: update and add signet
c4ed23e5398 seeds: add testnet4 seeds
60f17dd8167 seeds: add signet seeds
2bcccaa4107 makeseeds: align I2P column header
94e21aa5fc5 makeseeds: update MIN_BLOCKS, add reminder to README
6ae7a3bc4e7 makeseeds: update user agent regex
9b0d2e50946 makeseeds: fix incorrect regex
a9a2b669f3e Merge bitcoin/bitcoin#32003: doc: remove note about macOS self-signing
c7d216ac946 Merge bitcoin/bitcoin#31993: ci: use LLVM 20.1.0 for MSAN
9f3dcacef73 Merge bitcoin/bitcoin#31978: kernel: pre-29.x chainparams and headerssync update
c873ab6f23e doc: remove note about macOS self-signing
bd0ee07310c Merge bitcoin/bitcoin#31407: guix: Notarize MacOS app bundle and codesign all MacOS and Windows binaries
11f8ab140fe test: wallet, coverage for crash on dup block disconnection during unclean shutdown
4fde88bc469 Update minisketch subtree to latest master
f5d8b66a8cf Squashed 'src/minisketch/' changes from eb37a9b8e7..d1e6bb8bbf
0391d7e4c24 Merge bitcoin/bitcoin#31848: test, tracing: don't use problematic `bpf_usdt_readarg_p()`
36d4bd7fe32 Merge bitcoin/bitcoin#31997: doc: update location of minisketch repository
0c0a2717bc3 Merge bitcoin/bitcoin#31954: doc: update fuzz instructions when on macOS
a2ab2faf4a8 Merge bitcoin/bitcoin#31982: scripted-diff: rename libmultiprocess repository
972b604dc42 doc: update location of minisketch repository
611999e0977 doc: link to benchcoin over bitcoinperf
d76647eb8f1 ci: use LLVM 20.1.0 for MSAN
c2341ebb5bb Merge bitcoin/bitcoin#31983: build: don't show ccache summary with MSVC
88debb3e429 Merge bitcoin/bitcoin#31940: Add assumeutxo chainparams to release-process.md
c8dcb61172e Merge bitcoin/bitcoin#31985: doc: Bring reduce-memory.md up to date
11a2d3a63e9 [headerssync] update headerssync config for v29
dd23c532581 [kernel] update chainTxData for v29
80926af8c26 [kernel] update assumevalid and minimumChainWork for v29
0683b8ebf33 [kernel] update assumed blockchain and chainstate sizes for v29
e13c18f6ce5 Merge bitcoin/bitcoin#31969: Add mainnet assumeutxo param at height 880,000
e5ff4e416ec qa: use a clearer and documented amount error in malleated snapshot
b34fdb5ade0 test: introduce output amount (de)compression routines
18e83534ace wallet: Replace "non-0" with "non-zero" in translatable error message
a7911ed101f test: introduce VARINT (de)serialization routines
c718bffc361 build: don't use ccache with MSVC
fff4f93dff8 doc: Bring reduce-memory.md up to date
75486c8ed87 doc: update fuzz instructions when on macOS
18749efb072 scripted-diff: rename libmultiprocess repository
02fae336351 doc: add assumeutxo chainparams to release proc
15717f0ef39 Merge bitcoin/bitcoin#31916: init: Handle dropped UPnP support more gracefully
afde95b4601 Merge bitcoin/bitcoin#31976: delete release note fragments for v29
ae92bd8e1b2 delete release note fragments for v29
79bbb381a1f Merge bitcoin/bitcoin#30901: cmake: Revamp handling of data files
14f16748557 chainparams: add mainnet assumeutxo param at height 880_000
3c1f72a3670 Merge bitcoin/bitcoin#31930: doc: Update translation generation instructions
75d5d235a6b doc: Update translation generation instructions
6876e5076ec Merge bitcoin/bitcoin#31943: test: add coverage for abandoning unconfirmed transaction
44041ae0eca init: Handle dropped UPnP support more gracefully
fac1dd9dffb test: Fix authproxy named args debug logging
0bb8a01810e Merge bitcoin/bitcoin#31880: cmake: Add optional sources to `minisketch` library directly
3bb679e5de2 Merge bitcoin/bitcoin#31952: chore: remove redundant word
d9ba427f9d0 chore: remove redundant word
c12a2528ce6 Merge bitcoin/bitcoin#31415: test: fix TestShell initialization and reset()
ba0a4391ff3 Merge bitcoin/bitcoin#31945: depends: Update libmultiprocess library to fix CI failures
fa99c3b544b test: Exclude SeedStartup from coverage counts
fa579d663d7 contrib: Add deterministic-unittest-coverage
fa3940b1cbc contrib: deterministic-fuzz-coverage fixups
faf905b9b69 doc: Remove unused -fPIC
073a017016e test: add coverage for abandoning unconfirmed transaction
e486597f9a5 Merge bitcoin/bitcoin#31918: fuzz: add basic TxOrphanage::EraseForBlock cov
01f77157660 depends: Update libmultiprocess library to fix CI failure
279ab20bbd3 Merge bitcoin/bitcoin#31925: contrib: update `utxo_to_sqlite` tool documentation and comment
f0ac24846f1 Merge bitcoin/bitcoin#31928: ci: Fix filtering out Qt-generated files from `compile_commands.json`
44bd3159244 Merge bitcoin/bitcoin#31676: fuzz: add targets for PCP and NAT-PMP port mapping requests
d82dc104152 ci: Fix filtering out Qt generated files from `compile_commands.json`
e747ed989eb contrib: fix read metadata related comment
d3095ac35a8 contrib: update `dumptxoutset` command in utxo_to_sqlite doc
ecf54a32ed2 cmake: Add support for builtin `codegen` target
a8c78a0574d cmake: Revamp handling of data files
5b8fd7c3a6b Merge bitcoin-core/gui#854: qt: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
568fcdddaec scripted-diff: Adjust documentation per top-level target output location
026bb226e96 cmake: Set top-level target output locations
db63bfbe7cf Merge bitcoin/bitcoin#31580: test: Remove non-portable IPv6 test
da3ed8b970a Merge bitcoin/bitcoin#31662: cmake: Do not modify `CMAKE_TRY_COMPILE_TARGET_TYPE` globally
9d7672bbcae Merge bitcoin/bitcoin#31742: contrib: fix BUILDDIR in gen-bitcoin-conf script and gen-manpages.py
77bf99012ae Merge bitcoin/bitcoin#30302: doc: clarify loadwallet path loading for wallets
8400b742fa6 fuzz: add basic TxOrphanage::EraseForBlock cov
46a9c73083e Merge bitcoin/bitcoin#31906: ci: Switch to gcr.io mirror to avoid rate limits
82ba9257157 Merge bitcoin/bitcoin#31366: cmake: Check `-Wno-*` compiler options for `leveldb` target
f236854a5bd Merge bitcoin/bitcoin#31731: doc: update translation generation cmake example
eb51963d870 Merge bitcoin/bitcoin#31884: cmake: Make implicit `libbitcoinkernel` dependencies explicit
7267ed05182 qt: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
58f15d4b215 Merge bitcoin/bitcoin#31379: cmake: Fix passing `APPEND_*FLAGS` to `secp256k1` subtree
2c4b229c906 cmake: Introduce `FUZZ_LIBS`
ea929c0848e scripted-diff: Rename CMake helper module
8d238c1dfde cmake: Delete `check_cxx_source_links*` macros
71bf8294a98 cmake: Convert `check_cxx_source_compiles_with_flags` to a function
88ee6800c96 cmake: Delete `check_cxx_source_links_with_flags` macro
09e8fd25b1a build: Don't override CMake's default try_compile target
303f8cca056 test: fix TestShell initialization and reset()
e606c577cb2 Merge bitcoin/bitcoin#31899: cmake: Exclude generated sources from translation
758a93d6215 doc: update translation generation cmake example
fd14995b6a8 Merge bitcoin/bitcoin#31908: Revert merge of PR #31826
e181bda061c guix: Apply all codesignatures to Windows binaries
aafbd23fd97 guix: Apply codesignatures to all MacOS binaries
3656b828dc2 contrib: Sign all Windows binaries too
31d325464d0 contrib: Sign and notarize all MacOS binaries
cadbd4137d8 miner: have waitNext return after 20 min on testnet
d4020f502a6 Add waitNext() to BlockTemplate interface
3e9b12b3e0f Revert "Merge bitcoin/bitcoin#31826: random: Check `GetRNDRRS` is supported in `InitHardwareRand` to avoid infinite loop"
fa8de4706a0 ci: Switch to gcr.io mirror to avoid rate limits
9ef429b6ae6 wallet: fix crash on double block disconnection
785649f3977 Merge bitcoin/bitcoin#29881: guix: use GCC 13 to build releases
139640079ff Merge bitcoin/bitcoin#31826: random: Check `GetRNDRRS` is supported in `InitHardwareRand` to avoid infinite loop
dc3a7146337 Merge bitcoin/bitcoin#31794: wallet: abandon orphan coinbase txs, and their descendants, during startup
06757af2da5 Merge bitcoin/bitcoin#29156: tests: add functional test for miniscript decaying multisig
ca6aa0b9bee doc: loadwallet loads from relative walletdir
710d5b5149d guix: Update signapple
fa1e0a72281 gitignore: target/
ff4ddd3d2e3 Revert "cmake: Ensure generated sources are up to date for `translate` target"
03b3166aac5 cmake: Exclude generated sources from translation
43e287b3ff5 Merge bitcoin/bitcoin#31892: build: remove ENABLE_HARDENING condition from check-security
63d625f7610 Merge bitcoin/bitcoin#31893: test: remove scanning check on `wallet_importdescriptors`
9919e92022b cmake: Add optional sources to `minisketch` library directly
3b42e05aa9e cmake: Make implicit `libbitcoinkernel` dependencies explicit
3fd64efb437 cmake: Avoid using `OBJECT` libraries
28dec6c5f8b Merge bitcoin/bitcoin#31268: cmake: add optional source files to bitcoin_crypto and crc32c directly
50afaf3a389 Merge bitcoin/bitcoin#31836: contrib: Add deterministic-fuzz-coverage
405dd0e647e test: remove scanning check on `wallet_importdescriptors`
113a7a363fa build: remove ENABLE_HARDENING cond from check-security
9da0820ec55 Merge bitcoin/bitcoin#31869: cmake: Add `libbitcoinkernel` target
db36a92c02b Merge bitcoin/bitcoin#31879: doc: add release note for #27432 (utxo-to-sqlite tool)
95722d048a8 doc: add release note for #27432 (utxo-to-sqlite tool)
e4dd5a351bd test: wallet, abandon coinbase txs and their descendants during startup
09b150bb8ad In `InitHardwareRand`, do trail test for `RNDRRS` by `VerifyRNDRRS`
43e71f74988 Merge bitcoin/bitcoin#27432: contrib: add tool to convert compact-serialized UTXO set to SQLite database
e53310c47ab Merge bitcoin/bitcoin#30529: Fix -norpcwhitelist, -norpcallowip, and similar corner case behavior
254fd89d39f Merge bitcoin/bitcoin#31863: random: Initialize variables in hardware RNG functions
75f8396c907 Merge bitcoin/bitcoin#30746: test: cover base[32|58|64] with symmetric roundtrip fuzz (and padding) tests
c4b46b45898 Merge bitcoin/bitcoin#31629: wallet: fix rescanning inconsistency
d0dfd6d3f60 Merge bitcoin/bitcoin#31865: build: move `rpc/external_signer` to node library
ce4dbfc3590 Merge bitcoin/bitcoin#31851: doc: build: Fix instructions for msvc gui builds
504d0c21e26 Merge bitcoin/bitcoin#31439: validation: In case of a continued reindex, only activate chain in the end
0b48f77e101 Merge bitcoin/bitcoin#31413: rpc: Remove deprecated dummy alias for listtransactions::label
21a0efaf8c9 Merge bitcoin/bitcoin#29858: test: Add test for rpcwhitelistdefault
8a00b755e98 Merge bitcoin/bitcoin#31634: doc: Improve dependencies documentation
e58605e04f3 Merge bitcoin/bitcoin#31854: net: reduce CAddress usage to CService or CNetAddr
3a914ab96bd cmake: Rename `bitcoinkernel` component to `libbitcoinkernel`
06b9236f432 Merge bitcoin/bitcoin#31359: cmake: Add `CheckLinkerSupportsPIE` module
7ce09a59921 cmake: Add `libbitcoinkernel` target
e501246e77c build: move rpc/external_signer to node library
73e2ec13737 Merge bitcoin/bitcoin#31844: cmake: add a component for each binary
99755e04ffa random: Initialize variables in hardware RNG functions
7bbd761e816 Merge bitcoin/bitcoin#31421: cmake: Improve compatibility with Python version managers
9491676438a Merge bitcoin/bitcoin#31157: Cleanups to port mapping module post UPnP drop
109bfe9573b Merge bitcoin/bitcoin#31857: depends: avoid an unset `CMAKE_OBJDUMP`
14d1d8e2120 Merge bitcoin/bitcoin#31758: test: deduplicates p2p_tx_download constants
fa3e409c9a0 contrib: Add deterministic-fuzz-coverage
2549fc6fd1c Merge bitcoin/bitcoin#31768: test: check `scanning` field from `getwalletinfo`
9b033bebb18 cmake: rename Kernel component to bitcoinkernel for consistency
2e0c92558e9 cmake: add and use install_binary_component
a85e8c0e615 doc: Add some general documentation about negated options
96d30ed4f96 Merge bitcoin/bitcoin#31495: wallet: Utilize IsMine() and CanProvide() in migration to cover edge cases
490c8fa1782 doc: Add release notes summarizing negated option behavior changes.
458ef0a11b5 refactor: Avoid using IsArgSet() on -connect list option
752ab9c3c65 test: Add test to make sure -noconnect disables -dnsseed and -listen by default
3c2920ec98f refactor: Avoid using IsArgSet() on -signetseednode and -signetchallenge list options
d05668922a2 refactor: Avoid using IsArgSet() on -debug, -loglevel, and -vbparams list options
3d1e8ca53a0 Normalize inconsistent -noexternalip behavior
ecd590d4c1e Normalize inconsistent -noonlynet behavior
5544a19f863 Fix nonsensical bitcoin-cli -norpcwallet behavior
6e8e7f433fc Fix nonsensical -noasmap behavior
b6ab3508064 Fix nonsensical -notest behavior
6768389917a Fix nonsensical -norpcwhitelist behavior
e03409c70f7 Fix nonsensical -norpcbind and -norpcallowip behavior
40c4899bc20 Fix nonsensical -nobind and -nowhitebind behavior
5453e66fd91 Fix nonsensical -noseednode behavior
c242fa5be35 Merge bitcoin/bitcoin#31858: chore: remove redundant word
4c62b37fcd2 chore: remove redundant word
251ea7367cf Merge bitcoin/bitcoin#31767: logging: Ensure -debug=0/none behaves consistently with -nodebug
2434aeab62b depends: avoid an unset CMAKE_OBJDUMP
a5b0a441f85 Merge bitcoin/bitcoin#31855: chore: remove redundant word
cd4bfaee103 net: reduce CAddress usage to CService or CNetAddr
033acdf03da chore: remove redundant word
55cf39e4c54 Merge bitcoin/bitcoin#31722: cmake: Copy `cov_tool_wrapper.sh.in` to the build tree
c3fa043ae56 doc: build: Fix instructions for msvc gui builds
048ef98626b Merge bitcoin/bitcoin#31840: depends: add missing Darwin objcopy
c73b59d47f1 fuzz: implement targets for PCP and NAT-PMP port mapping requests
1695c8ab5bd fuzz: in FuzzedSock::GetSockName(), return a random-length name
713bf66b1f7 Merge bitcoin/bitcoin#31500: depends: Fix compiling `libevent` package on NetBSD
0d472c19533 fuzz: never return an uninitialized sockaddr in FuzzedSock::GetSockName
39b7e2b5905 fuzz: add steady clock mocking to FuzzedSock
6fe1c35c05b pcp: make NAT-PMP error codes uint16_t
01906ce912e pcp: make the ToString method const
a0b66b4bffa Revert "test: Disable known broken USDT test for now"
ec47ba349d0 contrib: don't use bpf_usdt_readarg_p
35ae6ff60f6 test: don't use bpf_usdt_readarg_p
ede388d03df Merge bitcoin/bitcoin#30911: build: simplify by flattening the dependency graph
534414ca9d4 Merge bitcoin/bitcoin#31678: ci: Skip read-write of default env vars
87ce116058f Merge bitcoin/bitcoin#31846: test: Remove stale gettime test
fa3a4eafa11 test: Remove stale gettime test
42251e00e8b Merge bitcoin/bitcoin#30584: depends: Make default `host` and `build` comparable
0b6ed342b57 Merge bitcoin/bitcoin#31711: build: set build type and per-build-type flags as early as possible
a44ccedcc2c Merge bitcoin/bitcoin#31818: guix: remove test-security/symbol-check scripts
e8b3c44da6e build: Include all Windows binaries for codesigning
dd4ec840eeb build: Include all MacOS binaries for codesigning
4e5c9ceb9dd guix: Rename Windows unsigned binaries to unsigned.zip
d9d49cd533b guix: Rename MacOS binaries to unsigned.tar.gz
c214e5268fa guix: Rename unsigned.tar.gz to codesigning.tar.gz
0264c5d86c7 cmake: use per-target components for bitcoin-qt and bitcoin-gui
fb0546b1c5e ci: don't try to install for a fuzz build
c65233230f1 Merge bitcoin/bitcoin#31022: test: Add mockable steady clock, tests for PCP and NATPMP implementations
86528937e5c Merge bitcoin/bitcoin#31834: build: disable bitcoin-node if daemon is not built
7afeaa24693 test: `-debug=0` and `-debug=none` behave similarly to `-nodebug`
a8fedb36a71 logging: Ensure -debug=0/none behaves consistently with -nodebug
d39d521d86a test: `-nodebug` clears previously set debug options
3edaf0b4286 depends: add missing Darwin objcopy
2507ebdf1b2 Merge bitcoin/bitcoin#31837: test: add missing sync to p2p_tx_download.py
79f02d56ef7 Merge bitcoin/bitcoin#30623: test: Fuzz the human-readable part of bech32 as well
ff3171f96d3 Merge bitcoin/bitcoin#31614: test: expect that files may disappear from /proc/PID/fd/
56a9b847bba build: set build type and per-build-type flags as early as possible
8fe552fe6e0 test: add missing sync to p2p_tx_download.py
af76664b12d test: Test migration of a solvable script with no privkeys
17f01b0795e test: Test migration of taproot output scripts
1eb9a2a39fd test: Test migration of miniscript in legacy wallets
e8c3efc7d8f wallet migration: Determine Solvables with CanProvide
fa1b7cd6e2c migration: Skip descriptors which do not parse
440ea1ab639 legacy spkm: use IsMine() to extract watched output scripts
b777e84cd70 legacy spkm: Move CanProvide to LegacyDataSPKM
b1ab927bbf2 tests: Test migration of additional P2WSH scripts
1d813e4bf52 Merge bitcoin/bitcoin#31819: doc: swap CPPFLAGS for APPEND_CPPFLAGS
2ffea09820e build: disable bitcoin-node if daemon is not built
f8d3e0edf47 Merge bitcoin/bitcoin#30205: test: add mocked Sock that can read/write custom data and/or CNetMessages
6b165f5906f Merge bitcoin/bitcoin#31384: mining: bugfix: Fix duplicate coinbase tx weight reservation
6a46be75c43 Merge bitcoin/bitcoin#31793: ci: Use clang-20 for sanitizer tasks
76c090145e9 guix: remove test-security/symbol-check scripts
329b60f595e Merge bitcoin/bitcoin#31810: TxOrphanage: account for size of orphans and count announcements
bc3f59ca530 Merge bitcoin/bitcoin#31820: build: consistently use `CLIENT_NAME` in libbitcoinkernel.pc.in
dead9086543 cmake: Improve compatibility with Python version managers
e107bf78f9d [fuzz] TxOrphanage::SanityCheck accounting
fb0ada982a7 Merge bitcoin/bitcoin#31811: test: test_inv_block, use mocktime instead of waiting
f5b9a2f68c9 build: use CLIENT_NAME in libbitcoinkernel.pc.in
ea687d20293 doc: swap CPPFLAGS for APPEND_CPPFLAGS
81eb6cc2c60 Merge bitcoin/bitcoin#31800: depends: Avoid using the `-ffile-prefix-map` compiler option
2f98d1e06ed Merge bitcoin/bitcoin#31814: ci: Bump fuzz task timeout
9cf746d6631 cmake: add optional source files to crc32c directly
9c7823c5b53 cmake: add optional source files to bitcoin_crypto directly
faca7ac1321 ci: Bump fuzz task timeout
22dccea5532 [fuzz] txorphan byte accounting
982ce101781 add orphanage byte accounting to TxDownloadManagerImpl::CheckIsEmpty()
c289217c014 [txorphanage] track the total number of announcements
e5ea7daee01 [txorphanage] add per-peer weight accounting
672c69c688f [refactor] change per-peer workset to info map within orphanage
59cd0f0e091 [txorphanage] account for weight of orphans
f93d6cb0caa Merge bitcoin/bitcoin#31809: Prepare "Open Transifex translations for v29.0" release step
f605f7a9c26 build: refactor: set debug definitions in main CMakeLists
2706c5b7c8e test: test_inv_block, use mocktime instead of waiting
0a02e7fdeac test: deduplicates p2p_tx_download constants
2f27c910869 qt: Update the `src/qt/locale/bitcoin_en.xlf` translation source file
864386a7444 cmake: Ensure generated sources are up to date for `translate` target
d6c229d8bd4 Merge bitcoin/bitcoin#31804: ci: Remove no longer needed `-Wno-error=documentation`
2b51dd384b4 Update Transifex slug for 29.x
82ba5051342 Merge bitcoin/bitcoin#31759: test: fixes p2p_ibd_txrelay wait time
ae9eaa063b6 Merge bitcoin/bitcoin#31760: test: make sure we are on sync with a peer before checking if they have sent a message
f1d7a6dfa14 ci: Remove no longer needed '-Wno-error=documentation'
a43f08c4ae3 Merge bitcoin/bitcoin#25832: tracing: network connection tracepoints
407062f2ac9 depends: Avoid using the `-ffile-prefix-map` compiler option
b9c241804c0 Merge bitcoin/bitcoin#30226: test: add validation for gettxout RPC response
1334ca6c070 Merge bitcoin/bitcoin#31437: func test: Expand tx download preference tests
33932d30e38 Merge bitcoin/bitcoin#31784: test: added additional coverage to waitforblock and waitforblockheight rpc's
2aa7be1744a Merge bitcoin/bitcoin#31358: depends: Avoid hardcoding `host_prefix` in toolchain file
386eecff5f1 doc: add release notes
3eaa0a3b663 miner: init: add `-blockreservedweight` startup option
777434a2cd1 doc: rpc: improve `getmininginfo` help text
c8acd4032d5 init: fail to start when `-blockmaxweight` exceeds `MAX_BLOCK_WEIGHT`
5bb31633cc9 test: add `-blockmaxweight` startup option functional test
2c7d90a6d67 miner: bugfix: fix duplicate weight reservation in block assembler
fa5a02bcfa2 ci: Use clang-20 for sanitizer tasks
474139aa9bf wallet: abandon inactive coinbase tx and their descendants during startup
bb0879ddabc test: check `scanning` field from `getwalletinfo`
94ca99ac51d Merge bitcoin/bitcoin#31666: multi-peer orphan resolution followups
6f5ae1a5745 Merge bitcoin/bitcoin#31653: lint: Call more checks from test_runner
e3622a96929 tracing: document that peer addrs can be >68 chars
b19b526758f tracing: log_p2p_connections.bt example
caa5486574b tracing: connection closed tracepoint
b2ad6ede95e tracing: add misbehaving conn tracepoint
68c1ef4f19b tracing: add inbound connection eviction tracepoint
4d61d52f438 tracing: add outbound connection tracepoint
85b2603eec6 tracing: add inbound connection tracepoint
7e0db87d4ff test: added additional coverage to waitforblock and waitforblockheight rpc's
f89f16846ec depends: Fix compiling `libevent` package on NetBSD
1172bc4157e Merge bitcoin-core/gui#850: psbt: Use SIGHASH_DEFAULT when signing PSBTs
85f96b01b77 Merge bitcoin/bitcoin#30909: wallet, assumeutxo: Don't Assume m_chain_tx_count, Improve wallet RPC errors
601a6a69172 Merge bitcoin/bitcoin#30965: kernel: Move block tree db open to block manager
eaf4b928e72 Merge bitcoin/bitcoin#31746: test: Added coverage to the waitfornewblock rpc
992f37f2e10 Merge bitcoin/bitcoin#31600: rpc: have getblocktemplate mintime account for timewarp
12fa9511b5f build: simplify dependency graph
c4e498300c7 build: avoid unnecessary dependencies on generated headers
8fa10edcd17 Merge bitcoin/bitcoin#31428: ci: Allow build dir on CI host
809d7e763cc Merge bitcoin/bitcoin#31751: test: fix intermittent timeout in p2p_1p1c_network.py
7426afbe624 [p2p] assign just 1 random announcer in AddChildrenToWorkSet
4c1fa6b28c2 test fix: make peer who sends MSG_TX announcement non-wtxidrelay
2da46b88f09 pass P2PTxInvStore init args to P2PInterface init
e3bd51e4b52 [doc] how unique_parents can be empty
32eb6dc758a [refactor] assign local variable for wtxid
18820ccf6b2 multi-announcer orphan handling test fixups
c4cc61db98f [fuzz] GetCandidatePeers
7704139cf0d [refactor] make GetCandidatePeers take uint256 and in-out vector
6e4d392a753 [refactor] rename to OrphanResolutionCandidate to MaybeAdd*
57221ad9797 [refactor] move parent inv-adding to OrphanResolutionCandidate
6835e9686c4 Merge bitcoin/bitcoin#31545: ci: optionally use local docker build cache
c7869cb2143 Merge bitcoin/bitcoin#30844: RPC: improve SFFO arg parsing, error catching and coverage
1e0c5bd74ae Merge bitcoin/bitcoin#30125: test: improve BDB parser (handle internal/overflow pages, support all page sizes)
1d6c6e98c13 Merge bitcoin/bitcoin#31633: net: Disconnect message follow-ups to #28521
3f4b104b1b7 test: make sure we are on sync with a peer before checking if they have sent a message
1973a9e4f1d test: fixes p2p_ibd_txrelay wait time
152a2dcdefa test: fix intermittent timeout in p2p_1p1c_network.py
ad2f9324c61 Merge bitcoin/bitcoin#31740: depends: Update libmultiprocess library before converting to subtree
e1676b08f7b doc: release notes
0082f6acc1d rpc: have mintime account for timewarp rule
79d45b10f1b rpc: clarify BIP94 behavior for curtime
07135481378 refactor: add GetMinimumTime() helper
93747d934b8 test: Added coverage to the waitfornewblock rpc
b432e367427 Merge bitcoin/bitcoin#31736: doc: update links in ci.yml
74ea7edafae Merge bitcoin/bitcoin#31522: ci: Enable DEBUG=1 for one GCC-12+ build to catch 117966 regressions
f34c580bd81 Merge bitcoin/bitcoin#31620: test: Remove --noshutdown flag, Tidy startup failures
1681c08d42c doc: update links in ci.yml
b0869648aa9 Merge bitcoin/bitcoin#21590: Safegcd-based modular inverses in MuHash3072
63a8791e15c contrib: fix BUILDDIR in gen-bitcoin-conf script and gen-manpages.py
4e0aa1835b3 test: Add test for IPC serialization bug
2221c8814d7 depends: Update libmultiprocess library before converting to subtree
0a931a9787b Merge bitcoin/bitcoin#31599: qa: Improve framework.generate* enforcement (#31403 follow-up)
4ac1efb147d Merge bitcoin/bitcoin#30322: test: raise an error in `_bulk_tx_` when `target_vsize` is too low
8775731e6d4 Merge bitcoin/bitcoin#31241: wallet: remove BDB dependency from wallet migration benchmark
9ecc7af41f6 Merge bitcoin/bitcoin#31674: init: Lock blocksdir in addition to datadir
551a09486c4 net: Switch to DisconnectMsg in CConnman
723440c5b8e test framework, wallet: rename get_scriptPubKey method to get_output_script
fa0232a3e07 test: add validation for gettxout RPC response
2d07384243c Merge bitcoin/bitcoin#31658: test: p2p: fix sending of manual INVs in tx download test
796e1a4c5d1 Merge bitcoin/bitcoin#31718: Docs: fix typos in documentation files
81b9800c87e fix typos
d5a2ba44ba4 Merge bitcoin/bitcoin#31416: doc: Fix incorrect send RPC docs
81c174e3186 cmake: Refer to the configure log instead of printing PIE test error
9914e737297 Merge bitcoin/bitcoin#31704: doc: add a section in the fuzzing documentation about using MSan
faf2f2c654d test: Avoid redundant stop and error spam on shutdown
188b02116d8 Merge bitcoin/bitcoin#31635: test: add coverage for unknown address type for `createwalletdescriptor`
2317e6cf2da Merge bitcoin/bitcoin#31696: test: Check that reindex with prune wipes blk files
94f0adcc31d Merge bitcoin/bitcoin#31541: qa: Use `sys.executable` when invoking other Python scripts
59876b3ad71 Merge bitcoin/bitcoin#31376: Miner: never create a template which exploits the timewarp bug
e3c01527696 cmake: Copy `cov_tool_wrapper.sh.in` to the build tree
faf8fc5487d lint: Call lint_commit_msg from test_runner
fa99728b0c8 lint: Move commit range printing to test_runner
fa673cf3449 lint: Call lint_scripted_diff from test_runner
449a25b9582 Merge bitcoin/bitcoin#31709: cmake: Fail if `Libmultiprocess` is missing when `WITH_MULTIPROCESS=ON`
5acf12bafeb Merge bitcoin/bitcoin#31583: rpc: add target to getmininginfo field and show next block info
78fa88c53ad Merge bitcoin/bitcoin#31548: fuzz: Abort when global PRNG is used before SeedRand::ZEROS
c31166ac77a cmake: Fail if `Libmultiprocess` is missing when `WITH_MULTIPROCESS=ON`
5d6f6fd00d7 Merge bitcoin/bitcoin#31490: refactor: inline `UndoWriteToDisk` and `WriteBlockToDisk` to reduce serialization calls
7b4d072e4fa Merge bitcoin/bitcoin#31690: doc: Amend notes on benchmarking
bb633c9407c tests: add functional test for miniscript decaying multisig
e94c9d17123 [doc] Amend notes on benchmarking
5c3e4d8b293 doc: add a section about using MSan
a4df12323c4 doc: add release notes
c75872ffdd9 test: use DIFF_1_N_BITS in tool_signet_miner
4131f322ac0 test: check difficulty adjustment using alternate mainnet
c4f68c12e22 Use OP_0 for BIP34 padding in signet and tests
cf0a62878be rpc: add next to getmininginfo
2d18a078a2d rpc: add target and bits to getchainstates
f153f57acc9 rpc: add target and bits to getblockchaininfo
523520f8279 Merge bitcoin/bitcoin#30866: descriptor: Add proper Clone function to miniscript::Node
baa504fdfaf rpc: add target to getmininginfo result
2a7bfebd5e7 Add target to getblock(header) in RPC and REST
341f9325167 rpc: add GetTarget helper
d20d96fa41c test: use REGTEST_N_BITS in feature_block
7ddbed4f9fc rpc: add nBits to getmininginfo
ba7b9f3d7bf build: move pow and chain to bitcoin_common
c4cc9e3e9df consensus: add DeriveTarget() to pow.h
fa9aced8006 test: Check that reindex with prune wipes blk files
66d21d0eb65 qa: check parsed multipath descriptors dont share references
09a1875ad8c miniscript: Make NodeRef a unique_ptr
9ccb46f91ac miniscript: Ensure there is no NodeRef copy constructor or assignment operator
6d11c9c60b5 descriptor: Add proper Clone function to miniscript::Node
5691fa93c48 Merge bitcoin/bitcoin#31661: depends: Override default build type for `libevent`
8fc7140846f Merge bitcoin/bitcoin#31671: Update leveldb subtree to latest upstream
a9edec94198 Merge bitcoin/bitcoin#31701: test: Bump sync_mempools timeout in p2p_1p1c_network.py
fa80a7dac4b test: Bump sync_mempools timeout in p2p_1p1c_network.py
1111b0ac196 ci: Add missing --combinedlogslen to test-each-commit task
d44626a9c2e depends: Override default build type for `libevent`
d7f56cc5d9e Merge bitcoin/bitcoin#31590: descriptors: Try pubkeys of both parities when retrieving the private keys for an xonly pubkey in a descriptor
fa9593efc2e test: Use high-level python types
c39b3cfcd1b test: Extra verification that migratewallet migrates
0cdddeb2240 kernel: Move block tree db open to BlockManager constructor
7fbb1bc44b1 kernel: Move block tree db open to block manager
0c1b29a0577 ci: use GCC 13 for some jobs
fa8ade300f4 refactor: Avoid GCC false positive error
fa40807fa83 ci: Enable DEBUG=1 for one GCC-12+ build to catch 117966 regressions
cbc65b3ad5a guix: use GCC 13.3.0 for base toolchain.
4601b7ca611 Merge bitcoin/bitcoin#31125: depends: add *FLAGS to gen_id
fa952acdb6e ci: Skip read-write of default env vars
eb243ff06c4 Merge bitcoin/bitcoin#31593: ci: Bump centos stream 10
6dc60126701 Merge bitcoin/bitcoin#31657: ci: Supply `--platform` argument to `docker` commands.
a759ea3e920 doc: Improve dependencies documentation
4e52a634430 Merge bitcoin/bitcoin#31691: util: fix compiler warning about deprecated space before _MiB
2e839dd641d Merge bitcoin/bitcoin#30774: depends: Qt 5.15.16
d3339a7cd5f util: fix compiler warning about deprecated space before _MiB
f0e5e4cdbec test: Add test for rpcwhitelistdefault
6e29de21010 ci: Supply `platform` argument to docker commands.
faaabfaea76 ci: Bump centos stream 10
89720b7a1b3 Merge bitcoin/bitcoin#31543: cmake: Always provide `RPATH` on NetBSD
5b3a81f44da Merge bitcoin/bitcoin#31626: depends: Use base system's `sha256sum` utility on FreeBSD
832d5730730 Merge bitcoin/bitcoin#31651: ci: Turn CentOS task into native one
5ac1e0814ae Merge bitcoin/bitcoin#31621: doc: Update dependency installation for Debian/Ubuntu
370b9c1a0b9 Merge bitcoin/bitcoin#31675: [test] fix p2p_orphan_handling.py empty orphanage check
8996fef8aeb test: p2p: check that INV messages not matching wtxidrelay are ignored
2656a5658c1 tests: add a test for the new blocksdir lock
bdc0a68e676 init: lock blocksdir in addition to datadir
cabb2e5c242 refactor: introduce a more general LockDirectories for init
1db331ba764 init: allow a new xor key to be written if the blocksdir is newly created
2e75ebb6169 [test] fix p2p_orphan_handling.py empty orphanage check
f9032a4abb7 Merge bitcoin/bitcoin#31242: wallet, desc spkm: Return SigningProvider only if we have the privkey
9dc4eedb670 Merge bitcoin/bitcoin#31673: doc: fix minor typos in comments
b30cc71e853 doc: fix typos
57ba59c0cdf refactor: Remove redundant reindex check
160c27ec078 doc: Update dependency installation for Debian/Ubuntu and CI
df8bf657450 Merge bitcoin/bitcoin#31483: kernel: Move kernel-related cache constants to kernel cache
0f716f28896 qa: cover PROTOCOL_ERROR variant in PCP unit tests
fc700bb47fd test: Add tests for PCP and NATPMP implementations
335798c4963 Merge bitcoin/bitcoin#31397: p2p: track and use all potential peers for orphan resolution
98939ce7b74 Merge bitcoin/bitcoin#31655: refactor: Avoid UB in SHA3_256::Write
910a11fa663 build: remove LEVELDB_IS_BIG_ENDIAN
9ec64253ab6 Update leveldb subtree to latest upstream
d336b7ab85d Squashed 'src/leveldb/' changes from 688561cba8..04b5790928
65a0920ca6b cmake: Add `CheckLinkerSupportsPIE` module
712cab3a8f8 Merge bitcoin/bitcoin#31061: refactor: Check translatable format strings at compile-time
2a92702bafc init: Use size_t consistently for cache sizes
65cde3621db kernel: Move default cache constants to caches
8826cae2854 kernel: Move non-kernel db cache size constants
e758b26b85d kernel: Move kernel-specific cache size options to kernel
d5e2c4a4097 fuzz: Add fuzz test for checked and saturating add and left shift
c03a2795a8e util: Add integer left shift helpers
31a0e5f0905 depends: Qt 5.15.16
fa3efb57290 refactor: Introduce struct to hold a runtime format string
fa6adb01344 lint: Remove unused and broken format string linter
fadc6b9bac8 refactor: Check translatable format strings at compile-time
fa1d5acb8d8 refactor: Use TranslateFn type consistently
e0b33368222 test: p2p: fix sending of manual INVs in tx download test
e7c47949550 Merge bitcoin/bitcoin#31630: doc: Archive 28.1 release notes
7cd862aab94 Merge bitcoin/bitcoin#31646: test: avoid internet traffic
eeee6cf2ffb refactor: Delay translation of _() literals
fabeca3458b refactor: Avoid UB in SHA3_256::Write
fad4032b219 refactor: Drop unused UCharCast
2ed161c5ce6 test: avoid generating non-loopback traffic from p2p_dns_seeds.py
a5746dc559c test: avoid generating non-loopback traffic from feature_config_args.py
6b3f6eae70b test: avoid generating non-loopback traffic from p2p_seednode.py
fabefd99158 ci: Turn CentOS task into native one
caf95210331 net: Use mockable steady clock in PCP implementation
03648321ecb util: Add mockable steady_clock
ab1d3ece026 net: Add optional length checking to CService::SetSockAddr
bb5f76ee013 doc: Archive 28.1 release notes
35bf426e022 Merge bitcoin/bitcoin#28724: wallet: Cleanup accidental encryption keys in watchonly wallets
4da7bfdcc90 test: add coverage for unknown address type for `createwalletdescriptor`
21684065978 Merge bitcoin/bitcoin#31608: doc: Clarify min macOS and Xcode version
2f6c7e7f6c0 Merge bitcoin/bitcoin#31612: ci: build msan's libc++ with _LIBCPP_ABI_BOUNDED_*
01df180bfb8 depends: add mold & ld.lld to gen_id
d032ac80633 depends: add *FLAGS to gen_id
528354e213a Merge bitcoin/bitcoin#31616: init,log: Unify block index log line
4bedfb5c833 Merge bitcoin/bitcoin#31623: tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs
e5c268084eb Merge bitcoin/bitcoin#31627: depends: Fix spacing issue
d695d139171 Merge bitcoin/bitcoin#31611: doc: upgrade license to 2025.
bbac17608d1 net: Bring back log message when resetting socket
04b848e4827 net: Specify context in disconnecting log message
0c4954ac7d9 net_processing: Add missing use of DisconnectMsg
37af8bfb34d Merge bitcoin/bitcoin#31549: fuzz: Abort if system time is called without mock time being set
54115d8de5c Merge bitcoin/bitcoin#31617: build, test: Build `db_tests.cpp` regardless of `USE_BDB`
0a77441158c Merge bitcoin/bitcoin#31451: wallet: migration, avoid loading legacy wallet after failure when BDB isn't compiled
56725f88293 Merge bitcoin/bitcoin#31462: test: raise explicit error if any of the needed release binaries is missing
727c5427696 depends: Use base system's `sha256sum` utility
4818da809f0 wallet: fix rescanning inconsistency
f5883286e32 Add a fuzz test for Num3072 multiplication and inversion
a26ce628942 Safegcd based modular inverse for Num3072
91ce8cef2d8 Add benchmark for MuHash finalization
223081ece65 scripted-diff: rename block and undo functions for consistency
baaa3b28467 refactor,blocks: remove costly asserts and modernize affected logs
fa39f27a0f8 refactor,blocks: deduplicate block's serialized size calculations
8a46286da66 depends: Fix spacing issue
e04be3731f4 init,log: Unify block index and chainstate loading log line
dfb2f9d0048 refactor,blocks: inline `WriteBlockToDisk`
42bc4914658 refactor,blocks: inline `UndoWriteToDisk`
86b85bb11f8 bench: add SaveBlockBench
34f9a0157aa refactor,bench: rename bench/readblock.cpp to bench/readwriteblock.cpp
8bd5f8a38ce [refactor] init: Simplify coinsdb cache calculation
f93f0c93961 tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs
66aa6a47bd8 Merge bitcoin/bitcoin#30391: BlockAssembler: return selected packages virtual size and fee
fa3c787b62a fuzz: Abort when global PRNG is used before SeedRand::ZEROS
92787dd52cd test: raise an error when target_vsize is below tx virtual size
a8780c937f7 test: raise an error if output value is <= 0 in `create_self_transfer`
f6e88931f07 test: test that `create_self_transfer_multi` respects `target_vsize`
fae3bf6b870 test: Avoid redundant stop and error spam on startup failure
fa0dc09b900 test: Remove --noshutdown flag
fad441fba07 test: Treat leftover process as error
7c123c08ddc  miner: add package feerate vector to CBlockTemplate
fd2d96d9087 build, test: Build `db_tests.cpp` regardless of `USE_BDB`
fb37acd932b ci: build msan's libc++ with _LIBCPP_ABI_BOUNDED_*
b2e9fdc00f5 test: expect that files may disappear from /proc/PID/fd/
1ea7e45a1f4 test: raise explicit error if any of the needed release binaries is missing
c0045e6cee0 Add test for multipath miniscript expression
b4ac48090f2 descriptor: Use InferXOnlyPubkey for miniscript XOnly pubkey from script
433412fd847 Merge bitcoin/bitcoin#31596: doc: Clarify comments about endianness after #30526
c506f2cee7b Merge bitcoin/bitcoin#31581: test: have miner_tests use  Mining interface
3e97ff9c5ea gui, psbt: Use SIGHASH_DEFAULT when signing PSBTs
4c50c21f6bf tests: Check ExpandPrivate matches for both parsed descriptors
092569e8580 descriptor: Try the other parity in ConstPubkeyProvider::GetPrivKey()
a96b84cb1b7 fuzz: Abort when calling system time without setting mock time
ff21870e20b fuzz: Add SetMockTime() to necessary targets
1b51616f2e3 test: improve rogue calls in mining functions
41a2ce9b7d7 Merge bitcoin/bitcoin#31464: util: Add missing types in make_secure_unique
86d7135e36e [p2p] only attempt 1p1c when both txns provided by the same peer
f7658d9b147 [cleanup] remove p2p_inv from AddTxAnnouncement
063c1324c14 [functional test] getorphantxs reflects multiple announcers
0da693f7e12 [functional test] orphan handling with multiple announcers
b6ea4a9afe2 [p2p] try multiple peers for orphan resolution
1d2e1d709ce [refactor] move creation of unique_parents to helper function
c6893b0f0b7 [txdownload] remove unique_parents that we already have
163aaf285af [fuzz] orphanage multiple announcer functions
22b023b09da [unit test] multiple orphan announcers
96c1a822a27 [unit test] TxOrphanage EraseForBlock
04448ce32a3 [txorphanage] add GetTx so that orphan vin can be read
e810842acda [txorphanage] support multiple announcers
62a9ff18707 [refactor] change type of unique_parents to Txid
6951ddcefd9 [txrequest] GetCandidatePeers
6475849c402 Merge bitcoin/bitcoin#31435: lint: Move assertion linter into lint runner
b537a2c02a9 doc: upgrade license to 2025.
49fc2258cf3 Merge bitcoin/bitcoin#31526: doc: Install `net/py-pyzmq` port on FreeBSD for `interface_zmq.py`
ac918c7cc0e Merge bitcoin/bitcoin#31552: depends: Update capnproto to 1.1.0
fa029a78780 doc: Clarify min macOS and Xcode version
a0f0c48ae20 Merge bitcoin/bitcoin#31584: txmempool: fix typos in comments
558783625ca Merge bitcoin/bitcoin#31586: doc: Update NetBSD Build Guide
3e936789b16 Merge bitcoin/bitcoin#31592: ci: Run functional tests in msan task
5af642bf48b Merge bitcoin/bitcoin#31604: test: fix typo in mempool_ephemeral_dust
8888ee4403f ci: Allow build dir on CI host
9d2d9f7ce29 rpc: Include assumeutxo as a failure reason of rescanblockchain
595edee1690 test, assumeutxo: import descriptors during background sync
d73ae603d44 rpc: Improve importdescriptor RPC error messages
27f99b6d63b validation: Don't assume m_chain_tx_count in GuessVerificationProgress
42d5d533631 interfaces: Add helper function for wallet on pruning
29bca9713d2 test: fix typo in mempool_ephemeral_dust
f919d919eb8 fuzz: Add fuzzing for max_ret_len in DecodeBase58/DecodeBase58Check
635bc58f46b test: Fuzz Base32/Base58/Base64 roundtrip conversions
5dd3a0d8a89 test: Extend base58_encode_decode.json with edge cases
ae40cf1a8e1 test: Add padding tests for Base32/Base64
4036ee3f2bf Merge bitcoin/bitcoin#31542: test: Embed univalue json tests in binary
f6a6d912059 test: add check for getting SigningProvider for a CPubKey
62a95f5af9b test: refactor: move `CreateDescriptor` helper to wallet test util module
5db7d4d3d28 doc: Correct docstring describing max block tree db cache
6aa0e70ccbd Merge bitcoin/bitcoin#31524: refactor: Allow std::byte in Read(LE/BE)
3e0a992a3f0 doc: Clarify comments about endianness after #30526
604bf2ea37f Merge bitcoin/bitcoin#28121: include verbose "reject-details" field in testmempoolaccept response
04249682e38 test: use Mining interface in miner_tests
fa0411ee305 ci: Run functional tests in msan task
2bdaf52ed12 doc: Update NetBSD Build Guide
34e8ee23b83 txmempool: fix typos in comments
228aba2c4d9 Merge bitcoin/bitcoin#31555: descriptor: remove unreachable verification for `pkh`
9b9752217f2 Merge bitcoin/bitcoin#31570: test: descriptor: fix test for `MaxSatisfactionWeight`
87c9ebd8892 Merge bitcoin/bitcoin#31563: rpc: Extend scope of validation mutex in generateblock
df5c643f92d Merge bitcoin/bitcoin#31556: validation: Send correct notification during snapshot completion
fa3de038f74 Merge bitcoin/bitcoin#31537: qa: Limit `-maxconnections` in tests
ba0cb7d5a54 Merge bitcoin/bitcoin#31468: test: Avoid intermittent error in assert_equal(pruneheight_new, 248)
69e35f5c60a Merge bitcoin/bitcoin#31403: test: Call generate RPCs through test framework only
17db84dbb8d Merge bitcoin/bitcoin#31251: test: report detailed msg during utf8 response decoding error
e6f14241f6d Merge bitcoin/bitcoin#31540: refactor: std::span compat fixes
a137b0bd6b2 Merge bitcoin/bitcoin#31215: rpc: increase the defaults for -rpcthreads and -rpcworkqueue
67bfe28995e Merge bitcoin/bitcoin#31531: rpc: Add signet_challenge field to getblockchaininfo and getmininginfo
ad174c28175 Merge bitcoin/bitcoin#31497: Remove unused variable assignment
d871d778251 test: Remove non-portable IPv6 test
4080b66cbec test: add test for utxo-to-sqlite conversion script
ec99ed73808 contrib: add tool to convert compact-serialized UTXO set to SQLite database
b29d68f942e test: descriptor: fix test for `MaxSatisfactionWeight`
9355578a779 Merge bitcoin/bitcoin#31534: coins: warn on shutdown for big UTXO set flushes
f95fb793726 Merge bitcoin/bitcoin#28521: net, net_processing: additional and consistent disconnect logging
bc43ecaf6dc test: add functional test for balance after snapshot completion
226d03dd610 validation: Send correct notification during snapshot completion
fa63b8232f3 test: generateblocks called by multiple threads
fa62c8b1f04 rpc: Extend scope of validation mutex in generateblock
366ae00b779 descriptor: Assume `ParseScript` is not being called with a P2WPKH context
b448b014947 test: add a mocked Sock that allows inspecting what has been Send() to it
f1864148c4a test: put the generic parts from StaticContentsSock into a separate class
e3664085908 descriptor: remove unreachable verification for `pkh`
5709718b830 coins: warn on shutdown for big UTXO set flushes
b0b8d96d93e depends: Update capnproto to 1.1.0
e87429a2d0f ci: optionally use local docker build cache
fc7b2148470 Merge bitcoin/bitcoin#31529: guix: latest 2.31 glibc
273440d5c9d Merge bitcoin/bitcoin#31535: doc: Install `py3-zmq` port on OpenBSD for `interface_zmq.py`
4cdf50c4ba8 Merge bitcoin/bitcoin#31544: cmake: Remove unused `BUILD_TESTING` variable from "dev-mode" preset
faf7eac364f test: clang-format -i src/univalue/test/unitester.cpp
fafa9cc7a59 test: Embed univalue json tests in binary
fa044857caf test: Re-enable univalue test fail18.json
63b6b638aa5 build: Use character literals for generated headers to avoid narrowing
ecaa786cc10 rpc: add signet_challenge field to getblockchaininfo and getmininginfo
e196190a284 cmake: Remove unused `BUILD_TESTING` variable from "dev-mode" preset
11115e9aa84 cmake: Always provide `RPATH` on NetBSD
d38ade7bc40 qa: Use `sys.executable` when invoking other Python scripts
bb57017b294 Merge bitcoin/bitcoin#31521: fuzz: Fix misplaced SeedRand::ZEROS
5bbbc0d0eeb Merge bitcoin/bitcoin#31325: Make m_tip_block std::optional
d9d5bc2e746 qa: Limit `-maxconnections` in tests
fa494a1d53f refactor: Specify const in std::span constructor, where needed
faaf4800aa7 Allow std::span in stream serialization
faa5391f770 refactor: test: Return std::span from StringBytes
fa862234753 refactor: Avoid passing span iterators when data pointers are expected
faae6fa5f61 refactor: Simplify SpanPopBack
facc4f120b0 refactor: Replace fwd-decl with proper include
fac3a782eaf refactor: Avoid needless, unsafe c-style cast
c1252b14d71 Merge bitcoin/bitcoin#31520: #31318 followups
be1a2e5dfbd doc: Install `py3-zmq` port on OpenBSD for `interface_zmq.py`
fa0c473d4c8 Merge bitcoin/bitcoin#31196: Prune mining interface
ea53568a068 Merge bitcoin/bitcoin#31393: refactor: Move GuessVerificationProgress into ChainstateManager
b8710201fbd guix: disable timezone tools & profiling in glibc
23b8a424fb0 guix: bump glibc 2.31 to 7b27c450c34563a28e634cccb399cd415e71ebfe
0a76c292ac8 doc: Install `net/py-pyzmq` port on FreeBSD for `interface_zmq.py`
fadd568931a fuzz: Fix misplaced SeedRand::ZEROS
fa83bec78ef refactor: Allow std::byte in Read(LE/BE)
4f06ae05ed6 refactor: fix typo in node/types.h
366fbf152c6 test: drop extraneous bracket in mining util
c991cea1a0c Remove processNewBlock() from mining interface
9a47852d88c Remove getTransactionsUpdated() from mining interface
bfc4e029d41 Remove testBlockValidity() from mining interface
477b3574607 Merge bitcoin/bitcoin#31493: refactor: Use immediate lambda to work around GCC bug 117966
a60d5702fd5 Merge bitcoin/bitcoin#31486: fuzz: Abort when using global PRNG without re-seed
a95a8ba3a3f Merge bitcoin/bitcoin#31197: refactor: mining interface 30955 followups
cd3d9fa5ea8 Merge bitcoin/bitcoin#31318: Drop script_pub_key arg from createNewBlock
c9136ca9060 validation: fix issue with an interrupted -reindex
a2675897e2a validation: Don't loop over all chainstates in LoadExternalBlock
785486a9755 Merge bitcoin/bitcoin#31489: fuzz: Fix test_runner error reporting
1251a236420 Merge bitcoin/bitcoin#31458: build: use `-mbig-obj` for Windows debug builds
d2136d32bb4 Merge bitcoin/bitcoin#31502: depends: Fix `CXXFLAGS` on NetBSD
58436d4af38 Merge bitcoin/bitcoin#31503: cmake: Link `bitcoin_consensus` as a library
38dcf0f9827 Merge bitcoin/bitcoin#31498: depends: Ignore prefix directory on OpenBSD
fae63bf1303 fuzz: Clarify that only SeedRandomStateForTest(SeedRand::ZEROS) is allowed
81cea5d4ee0 Ensure m_tip_block is never ZERO
e058544d0e8 Make m_tip_block an std::optional
f86678156a3 Check leaves size maximum in MerkleComputation
4d572882463 refactor: use CTransactionRef in submitSolution
2e81791d907 Drop TransactionMerklePath default position arg
39d3b538e6a Rename merkle branch to path
fa18acb457e fuzz: Abort when using global PRNG without re-seed
fa9e0489f57 refactor: Use immediate lambda to work around GCC bug 117966
46e207d3296 cmake: Link `bitcoin_consensus` as a library
a10bb400e8c depends: Fix CXXFLAGS on NetBSD
3353d4a5e9f depends: Ignore prefix directory on OpenBSD
b9766c9977e Remove unused variable assignment
b042c4f0538 Merge bitcoin/bitcoin#31223: net, init: derive default onion port if a user specified a -port
e8f0e6efaf5 lint: output-only - Avoid repeated arrows, trim
facb4d010ca refactor: Move GuessVerificationProgress into ChainstateManager
2b9ff4a66d3 build: use `-mbig-obj` for mingw-w64 Debug builds
fa0e30b93aa fuzz: Fix test_runner error reporting
d73f37dda22 Merge bitcoin/bitcoin#31346: Set notifications m_tip_block in LoadChainTip()
fa7809aeab8 fuzz: Add missing SeedRandomStateForTest(SeedRand::ZEROS)
78f1bff7099 Merge bitcoin/bitcoin#31477: ci: Bump centos gcc to 12
84890e0291f Merge bitcoin/bitcoin#31484: depends: update capnproto to 1.0.2
d5ab5a47f0e Merge bitcoin/bitcoin#31452: wallet: Migrate non-HD keys to combo() descriptor
fa0998f0a02 test: Avoid intermittent error in assert_equal(pruneheight_new, 248)
fa9aacf614f lint: Move assertion linter into lint runner
beac62e541c Merge bitcoin/bitcoin#31480: refactor: Fix "modernize-use-starts-ends-with" clang-tidy warning
5cd9e95eea1 depends: update capnproto to 1.0.2
df27ee9f024 refactor: Fix "modernize-use-starts-ends-with" clang-tidy warning
435ad572a1a Merge bitcoin/bitcoin#31479: lint: Disable signature output in git log
ea9e64ff3cb Merge bitcoin/bitcoin#31461: depends: add `-g` to *BSD_debug flags
29ddee1796a Merge bitcoin/bitcoin#31478: docs: remove repetitive words
e2d3372e558 lint: Disable signature output in git log
fa47baa03bc ci: Bump centos gcc
015aad8d6a6 docs: remove repetitive words
589ed1a8eaf wallet: migration, avoid loading wallet after failure when it wasn't loaded before
62bd61de110 Merge bitcoin/bitcoin#31450: guix: disable gcov in base-linux-gcc
676936845b1 Merge bitcoin/bitcoin#30933: test: Prove+document ConstevalFormatString/tinyformat parity
8ad2c902742 Merge bitcoin/bitcoin#31343: test: avoid internet traffic in rpc_net.py
a582ee681c7 Merge bitcoin/bitcoin#29982: test: Fix intermittent issue in wallet_backwards_compatibility.py
fa397177acf util: Add missing types in make_secure_unique
b6f0593f433 doc: add release note about testmempoolaccept debug-message
f9cac635237 test: cover testmempoolaccept debug-message in RBF test
b7ec69c25cf depends: add -g to *BSD_debug flags
37e49c2c7ca Merge bitcoin/bitcoin#31448: fuzz: add cstdlib to FuzzedDataProvider
62b2d23edba wallet: Migrate non-HD keys to combo() descriptor
9039d8f1a1d Merge bitcoin/bitcoin#31374: wallet: fix crash during watch-only wallet migration
bb7e686341e fuzz: add cstdlib to FuzzedDataProvider
f6496a83882 guix: disable gcov in base-linux-gcc
846a1387280 func test: Expand tx download preference tests
35000e34cf3 Merge bitcoin/bitcoin#31433: test: #31212 follow up (spelling, refactor)
18d0cfb194c Merge bitcoin/bitcoin#31306: ci: Update Clang in "tidy" job
c93bf0e6e2c test: Add missing %c character test
76cca4aa6fc test: Document non-parity between tinyformat and ConstevalFormatstring
533013cba20 test: Prove+document ConstevalFormatString/tinyformat parity
b81a4659950 refactor test: Profit from using namespace + using detail function
cdd207c0e48 test: add coverage for migrating standalone imported keys
297a876c980 test: add coverage for migrating watch-only script
932cd1e92b6 wallet: fix crash during watch-only wallet migration
18619b47325 wallet: remove BDB dependency from wallet migration benchmark
41d934c72df chore: Typo Overriden -> Overridden
c9fb38a590e refactor test: Cleaner combine_logs.py logic
22723c809a8 Merge bitcoin/bitcoin#31072: refactor: Clean up messy strformat and bilingual_str usages
b1f0f3c288a Merge bitcoin/bitcoin#31406: test: fix `test_invalid_tx_in_compactblock` in `p2p_compactblocks`
1a35447595d Merge bitcoin/bitcoin#31417: test: Avoid F541 (f-string without any placeholders)
eb2ebe6f30a Merge bitcoin/bitcoin#31231: cmake: Fix `IF_CHECK_PASSED` option handling
5b283fa1477 Merge bitcoin/bitcoin#31431: util: use explicit cast in MultiIntBitSet::Fill()
37946c0aafe Set notifications m_tip_block in LoadChainTip()
fa6e599cf9f test: Call generate through test framework only
2eccb8bc5e2 Merge bitcoin/bitcoin#31248: test: Rework wallet_migration.py to use previous releases
7239ddb7cec test: make sure node has all transactions
6d973f86f75 Merge bitcoin/bitcoin#31408: test: Avoid logging error when logging error
6a1e613e853 Merge bitcoin/bitcoin#31427: lint: bump MLC to v0.19.0
edb41e4814c util: use explicit cast in MultiIntBitSet::Fill()
31e59d94c67 iwyu: Drop backported mapping
fe9bc5abef3 ci: Update Clang in "tidy" job
083770adbe7 Merge bitcoin/bitcoin#31414: test: orphan parent is re-requested from 2nd peer
f6afca46a1d lint: use clearer wording on error message
811a65d3c6b lint: bump MLC to v0.19.0
fae76393bdb test: Avoid F541 (f-string without any placeholders)
e8cc790fe2a Merge bitcoin/bitcoin#30445: test: addrman: tried 3 times and never a success so `isTerrible=true`
f9650e18ea6 rbf: remove unecessary newline at end of error string
221c789e916 rpc: include verbose reject-details field in testmempoolaccept response
0184d33b3d2 scripted-diff: Replace strprintf(Untranslated) with Untranslated(strprintf)
17372d788e6 Merge bitcoin/bitcoin#30906: refactor: prohibit direct flags access in CCoinsCacheEntry and remove invalid tests
006e4d1d598 refactor: Use + instead of strformat to concatenate translated & untranslated strings
831d2bfcf94 refactor: Don't embed translated string in untranslated string.
058021969b5 refactor: Avoid concatenation of format strings
11f68cc8108 Merge bitcoin/bitcoin#31212: util: Improve documentation and negation of args
893ccea7e47 Merge bitcoin/bitcoin#31419: test: fix MIN macro redefinition
39950e148d8 Merge bitcoin/bitcoin#31295: refactor: Prepare compile-time check of bilingual format strings
fad83e759a4 doc: Fix incorrect send RPC docs
00c1dbd26dd test: fix MIN macro-redefinition
ae69fc37e4f Merge bitcoin/bitcoin#31391: util: Drop boost posix_time in ParseISO8601DateTime
52fd1511a77 test: drop scriptPubKeyIn arg from CreateNewBlock
ff41b9e296a Drop script_pub_key arg from createNewBlock
7ab733ede44 rpc: rename coinbase_script to coinbase_output_script
c4c5cf17488 cmake: Fix passing `APPEND_*FLAGS` to `secp256k1` subtree
eb540a26295 cmake: Remove `core_sanitizer_{cxx,linker}_flags` helper variables
0f84cdd2661 func: test orphan parent is re-requested from 2nd peer
fa8e0956c23 rpc: Remove deprecated dummy alias for listtransactions::label
95a0104f2e9 test: Add tests for directories in place of config files
e85abe92c7c args: Catch directories in place of config files
e4b6b1822ce test: Add tests for -noconf
483f0dacc41 args: Properly support -noconf
312ec64cc06 test refactor: feature_config_args.py - Stop nodes at the end of tests, not at the beginning
7402658bc2b test: -norpccookiefile
39cbd4f37c3 args: Support -norpccookiefile for bitcoind and bitcoin-cli
e82ad88452b logs: Use correct path and more appropriate macros in cookie-related code
6e28c76907c test: Harden testing of cookie file existence
75bacabb55f test: combine_logs.py - Output debug.log paths on error
cccca8a77f3 test: Avoid logging error when logging error
ee1b9bef000 test: replace `is not` to `!=` when comparing block hash
faf70cc9941 Remove wallet::ParseISO8601DateTime, use ParseISO8601DateTime instead
50cce20013c test, refactor: Compact ccoins_access and ccoins_spend
0a159f09147 test, refactor: Remove remaining unbounded flags from coins_tests
c0b4b2c1eef test: Validate error messages on fail
d5f8d607ab1 test: Group values and states in tests into CoinEntry wrappers
ca74aa7490a test, refactor: Migrate GetCoinsMapEntry to return MaybeCoin
15aaa81c381 coins, refactor: Remove direct GetFlags access
6b733699cfc coins, refactor: Assume state after SetClean in AddFlags to prevent dangling pointers
fc8c282022e coins, refactor: Make AddFlags, SetDirty, SetFresh static
cd0498eabc9 coins, refactor: Split up AddFlags to remove invalid states
2222aecd5f8 util: Implement ParseISO8601DateTime based on C++20
733fa0b0a14 miner: never create a template which exploits the timewarp bug
06443b8f28b net: clarify if we ever sent or received from peer
1d01ad4d73e net: add LogIP() helper, use in net_processing
937ef9eb408 net_processing: use CNode::DisconnectMsg helper
ad224429f82 net: additional disconnection logging
9e4a4b48322 cmake: Check `-Wno-*` compiler options for `leveldb` target
988721d37a3 test: avoid internet traffic in rpc_net.py
d9c8aacce38 depends, refactor: Avoid hardcoding `host_prefix` in toolchain file
bffd92f00f5 args: Support -nopid
12f8d848fd9 args: Disallow -nodatadir
6ff96627600 scripted-diff: Avoid printing version information for -noversion
1807df3d9fb test: addrman: tried 3 times and never a success so `isTerrible=true`
55347a5018b test: Rework migratewallet to use previous release (v28.0)
e8a2054edc8 doc args: Document narrow scope of -color
4b58d55878d test: move the implementation of StaticContentsSock to .cpp
1dd3af8fbc3 Add release note for #31223
997757dd2b4 test: add functional test for -port behavior
fa3e0743047 refactor: Tidy fixups
fa72646f2b1 move-only: Detail_CheckNumFormatSpecifiers and G_TRANSLATION_FUN
faff8403f0a refactor: Pick translated string after format
0e2b12b92a2 net, init: derive default onion port if a user specified a -port
f42ec0f3bfb wallet: Check specified wallet exists before migration
a2c45ae5480 test: report failure during utf8 response decoding
493656763f7 desc spkm: Return SigningProvider only if we have the privkey
97a18c85458 cmake: Fix `IF_CHECK_PASSED` option handling
70398ae05bc mapport: make ProcessPCP void
e56fc7ce6a9 rpc: increase the defaults for -rpcthreads and -rpcworkqueue
9e6cba29882 mapport: remove unnecessary 'g_mapport_enabled'
8fb45fcda07 mapport: remove unnecessary 'g_mapport_current' variable
1b223cb19b4 mapport: merge DispatchMapPort into StartMapPort
9bd936fa34a mapport: drop unnecessary function
2a6536ceda7 mapport: rename 'use_pcp' to 'enable'
c4e82b854cd mapport: make 'enabled' and 'current' bool
d45eb3964f6 test: compare BDB dumps of test framework parser and wallet tool
01ddd9f646a test: complete BDB parser (handle internal/overflow pages, support all page sizes)
9b7023d31a3 Fuzz HRP of bech32 as well
c1a5d5c100b Split out bech32 separator char to header
b28917be363 depends: Make default `host` and `build` comparable
69e95c2b4f9 tests: Test cleanup of mkeys from wallets without privkeys
2b9279b50a3 wallet: Remove unused encryption keys from watchonly wallets
813a16a4633 wallet: Add HasCryptedKeys
cddcbaf81e8 RPC: improve SFFO arg parsing, error catching and coverage
4f4cd353194 rpc: decouple sendtoaddress 'subtractfeefromamount' boolean parsing
ec777917d6e test: Fix intermittent issue in wallet_backwards_compatibility.py
REVERT: f157b0cbc7d kernel: Add pure kernel bitcoin-chainstate
REVERT: 692d1c23c27 kernel: Add functions to get the block hash from a block
REVERT: aad02fb561a kernel: Add block index utility functions to C header
REVERT: 13f4911b064 kernel: Add function to read block undo data from disk to C header
REVERT: 29fdbf26034 kernel: Add functions to read block from disk to C header
REVERT: 2ca304c1def kernel: Add function for copying  block data to C header
REVERT: 705c7f125fd kernel: Add functions for the block validation state to C header
REVERT: 92363c9469c kernel: Add validation interface to C header
REVERT: 7c539908113 kernel: Add interrupt function to C header
REVERT: 522d0886d8f kernel: Add import blocks function to C header
REVERT: 1ae86e2ffe1 kernel: Add chainstate load options for in-memory dbs in C header
REVERT: 09620eeeae6 kernel: Add options for reindexing in C header
REVERT: b4fbf193172 kernel: Add block validation to C header
REVERT: ce6ddde95ee Kernel: Add chainstate loading to kernel C header
REVERT: f5d21c94dc5 kernel: Add chainstate manager option for setting worker threads
REVERT: 783f56f0a29 kernel: Add chainstate manager object to C header
REVERT: 262039e4094 kernel: Add notifications context option to C header
REVERT: dc0d406dd5e kerenl: Add chain params context option to C header
REVERT: b5f84de7ad2 kernel: Add kernel library context object
REVERT: dad0009c86c kernel: Add logging to kernel library C header
REVERT: 27e25aa941c kernel: Introduce initial kernel C header API

git-subtree-dir: depend/bitcoin
git-subtree-split: 5991a69ee0000de551955846d7d21733c326a748
stickies-v added a commit to stickies-v/py-bitcoinkernel that referenced this pull request Mar 17, 2025
5991a69ee00 kernel: Add pure kernel bitcoin-chainstate
05b7d136684 kernel: Add functions to get the block hash from a block
f18c792d843 kernel: Add block index utility functions to C header
89f5bf04673 kernel: Add function to read block undo data from disk to C header
b4f71fc64e7 kernel: Add functions to read block from disk to C header
41306f081ad kernel: Add function for copying  block data to C header
9385d9fc87e kernel: Add functions for the block validation state to C header
0bd9a710358 kernel: Add validation interface to C header
432710f3fc3 kernel: Add interrupt function to C header
cb164ae1eb2 kernel: Add import blocks function to C header
abd67fd93d0 kernel: Add chainstate load options for in-memory dbs in C header
b98c2748e94 kernel: Add options for reindexing in C header
9d0efe1fc86 kernel: Add block validation to C header
87e364fc1ec kernel: Add chainstate loading when instantiating a ChainstateManager
df1599b2d2a kernel: Add chainstate manager option for setting worker threads
fb767002e97 kernel: Add chainstate manager object to C header
10b0fad2fd3 kernel: Add notifications context option to C header
39e7ad8d0dc kernel: Add chain params context option to C header
6285c353b89 kernel: Add kernel library context object
98d10160b6a kernel: Add logging to kernel library C header
4d663446de1 kernel: Introduce initial kernel C header API
698f86964c6 Merge bitcoin/bitcoin#31961: Require sqlite when building the wallet
f4b3a5858ae Merge bitcoin/bitcoin#32064: build: Remove manpages when making MacOS app
92f553eaa92 Merge bitcoin/bitcoin#32038: depends: remove `NO_HARDEN` option
80b5e7f2cb7 build: Remove manpages when making MacOS app
1b251f6b679 Merge bitcoin/bitcoin#31649: consensus: Remove checkpoints (take 2)
5c2f04413e4 Merge bitcoin/bitcoin#32049: contrib: Fix `gen-bitcoin-conf.sh`
5d96c2eab9f Merge bitcoin/bitcoin#31907: qa: clarify and document one assumeutxo test case with malleated snapshot
57d611e53b3 Merge bitcoin/bitcoin#31757: wallet: fix crash on double block disconnection
199d47d9629 Merge bitcoin/bitcoin#32056: doc: Adjust path in comment
de1ada079bf doc: Adjust path in comment
72c150dfe76 Merge bitcoin/bitcoin#32055: contrib: Fix deterministic-unittest-coverage tool path
3c5d1a46819 Remove checkpoints
632ae47372d update comment on MinimumChainWork check
893ca545850 contrib: Fix deterministic-unittest-coverage tool path
c20a5ce106b Merge bitcoin/bitcoin#31901: contrib: Add deterministic-unittest-coverage
a50af6e4c49 Merge bitcoin/bitcoin#32044: ci: Revert "Temporary workaround for old CCACHE_DIR cirrus env"
a5a582d852e Merge bitcoin/bitcoin#31998: depends: patch around PlacementNew issue in capnp
a24419f8bed contrib: Fix `gen-bitcoin-conf.sh`.
eb9730ab658 Merge bitcoin/bitcoin#31987: wallet: Replace "non-0" with "non-zero" in translatable error message
f347d7980e8 Merge bitcoin/bitcoin#31283: Add waitNext() to BlockTemplate interface
fa21597064b ci: Revert "Temporary workaround for old CCACHE_DIR cirrus env"
aa68ed27b89 Merge bitcoin/bitcoin#32041: build: bump CLIENT_VERSION_MAJOR to 29
a3f0e9a4336 [build] bump CLIENT_VERSION_MAJOR to 29
36b6f36ac47 build: require sqlite when building the wallet
5dfef6b9b37 depends: remove NO_HARDEN option
8cb6ab0b971 Merge bitcoin/bitcoin#32025: validation, fix: Use wtxid instead of txid in `CheckEphemeralSpends`
7bb4c82d8ba Merge bitcoin/bitcoin#32021: qa: Enable feature_init.py on Windows
1ef22ce3351 depends: patch around PlacementNew issue in capnp
502d47203e7 Merge bitcoin/bitcoin#31161: cmake: Set top-level target output locations
e38f09b776c Merge bitcoin/bitcoin#31955: test: Fix authproxy named args debug logging
1d0a1a60e83 Merge bitcoin/bitcoin#32004: qt: 29.0 translations update
91328249470 qt: 29.0 translations update
e637dc2c01c refactor: Replace uint256 type with Wtxid in PackageMempoolAcceptResult struct
a3baead7cb8 validation: use wtxid instead of txid in CheckEphemeralSpends
dbc89b604c4 Merge bitcoin/bitcoin#31960: seeds: add signet/testnet4, update makeseeds regex, minblocks, fixed seeds
45719390a14 Merge bitcoin/bitcoin#32011: Docs: fix typos in documentation files
4637cb1eec4 Merge bitcoin/bitcoin#32002: doc: add note to Windows build about stripping bins
5f732089d67 Merge bitcoin/bitcoin#32017: doc: warn against having qt6 installed on macOS
a1aea3ea742 Merge bitcoin/bitcoin#31996: doc: link to benchcoin over bitcoinperf
5601bab4f8b Docs: fix typos in documentation files
59c4930394c qa: Enable feature_init.py on Windows
c94195c077f doc: add note to windows build about stripping bin
ee68b05f3d6 Merge bitcoin/bitcoin#32014: ci: Do not try to install for fuzz builds
093c757d7cf Merge bitcoin/bitcoin#32000: Update minisketch subtree to d1e6bb8bbf8ef104b9dd002cab14a71b91061177
a3c3f37e71e ci: Do not try to install for fuzz builds
d79dab0fa99 doc: warn against having qt6 installed on macOS
f0b659716bd seeds: update .gitignore with signet and testnet4
48f07ac9da4 chainparams: remove hardcoded signet seeds
d4ab1150c40 chainparams: add signet fixed seeds if default network
49f155efbfb seeds: update fixed dns seeds
236687083fb makeseeds: regex improvements
98f84d6c233 generate-seeds: update and add signet
c4ed23e5398 seeds: add testnet4 seeds
60f17dd8167 seeds: add signet seeds
2bcccaa4107 makeseeds: align I2P column header
94e21aa5fc5 makeseeds: update MIN_BLOCKS, add reminder to README
6ae7a3bc4e7 makeseeds: update user agent regex
9b0d2e50946 makeseeds: fix incorrect regex
a9a2b669f3e Merge bitcoin/bitcoin#32003: doc: remove note about macOS self-signing
c7d216ac946 Merge bitcoin/bitcoin#31993: ci: use LLVM 20.1.0 for MSAN
9f3dcacef73 Merge bitcoin/bitcoin#31978: kernel: pre-29.x chainparams and headerssync update
c873ab6f23e doc: remove note about macOS self-signing
bd0ee07310c Merge bitcoin/bitcoin#31407: guix: Notarize MacOS app bundle and codesign all MacOS and Windows binaries
11f8ab140fe test: wallet, coverage for crash on dup block disconnection during unclean shutdown
4fde88bc469 Update minisketch subtree to latest master
f5d8b66a8cf Squashed 'src/minisketch/' changes from eb37a9b8e7..d1e6bb8bbf
0391d7e4c24 Merge bitcoin/bitcoin#31848: test, tracing: don't use problematic `bpf_usdt_readarg_p()`
36d4bd7fe32 Merge bitcoin/bitcoin#31997: doc: update location of minisketch repository
0c0a2717bc3 Merge bitcoin/bitcoin#31954: doc: update fuzz instructions when on macOS
a2ab2faf4a8 Merge bitcoin/bitcoin#31982: scripted-diff: rename libmultiprocess repository
972b604dc42 doc: update location of minisketch repository
611999e0977 doc: link to benchcoin over bitcoinperf
d76647eb8f1 ci: use LLVM 20.1.0 for MSAN
c2341ebb5bb Merge bitcoin/bitcoin#31983: build: don't show ccache summary with MSVC
88debb3e429 Merge bitcoin/bitcoin#31940: Add assumeutxo chainparams to release-process.md
c8dcb61172e Merge bitcoin/bitcoin#31985: doc: Bring reduce-memory.md up to date
11a2d3a63e9 [headerssync] update headerssync config for v29
dd23c532581 [kernel] update chainTxData for v29
80926af8c26 [kernel] update assumevalid and minimumChainWork for v29
0683b8ebf33 [kernel] update assumed blockchain and chainstate sizes for v29
e13c18f6ce5 Merge bitcoin/bitcoin#31969: Add mainnet assumeutxo param at height 880,000
e5ff4e416ec qa: use a clearer and documented amount error in malleated snapshot
b34fdb5ade0 test: introduce output amount (de)compression routines
18e83534ace wallet: Replace "non-0" with "non-zero" in translatable error message
a7911ed101f test: introduce VARINT (de)serialization routines
c718bffc361 build: don't use ccache with MSVC
fff4f93dff8 doc: Bring reduce-memory.md up to date
75486c8ed87 doc: update fuzz instructions when on macOS
18749efb072 scripted-diff: rename libmultiprocess repository
02fae336351 doc: add assumeutxo chainparams to release proc
15717f0ef39 Merge bitcoin/bitcoin#31916: init: Handle dropped UPnP support more gracefully
afde95b4601 Merge bitcoin/bitcoin#31976: delete release note fragments for v29
ae92bd8e1b2 delete release note fragments for v29
79bbb381a1f Merge bitcoin/bitcoin#30901: cmake: Revamp handling of data files
14f16748557 chainparams: add mainnet assumeutxo param at height 880_000
3c1f72a3670 Merge bitcoin/bitcoin#31930: doc: Update translation generation instructions
75d5d235a6b doc: Update translation generation instructions
6876e5076ec Merge bitcoin/bitcoin#31943: test: add coverage for abandoning unconfirmed transaction
44041ae0eca init: Handle dropped UPnP support more gracefully
fac1dd9dffb test: Fix authproxy named args debug logging
0bb8a01810e Merge bitcoin/bitcoin#31880: cmake: Add optional sources to `minisketch` library directly
3bb679e5de2 Merge bitcoin/bitcoin#31952: chore: remove redundant word
d9ba427f9d0 chore: remove redundant word
c12a2528ce6 Merge bitcoin/bitcoin#31415: test: fix TestShell initialization and reset()
ba0a4391ff3 Merge bitcoin/bitcoin#31945: depends: Update libmultiprocess library to fix CI failures
fa99c3b544b test: Exclude SeedStartup from coverage counts
fa579d663d7 contrib: Add deterministic-unittest-coverage
fa3940b1cbc contrib: deterministic-fuzz-coverage fixups
faf905b9b69 doc: Remove unused -fPIC
073a017016e test: add coverage for abandoning unconfirmed transaction
e486597f9a5 Merge bitcoin/bitcoin#31918: fuzz: add basic TxOrphanage::EraseForBlock cov
01f77157660 depends: Update libmultiprocess library to fix CI failure
279ab20bbd3 Merge bitcoin/bitcoin#31925: contrib: update `utxo_to_sqlite` tool documentation and comment
f0ac24846f1 Merge bitcoin/bitcoin#31928: ci: Fix filtering out Qt-generated files from `compile_commands.json`
44bd3159244 Merge bitcoin/bitcoin#31676: fuzz: add targets for PCP and NAT-PMP port mapping requests
d82dc104152 ci: Fix filtering out Qt generated files from `compile_commands.json`
e747ed989eb contrib: fix read metadata related comment
d3095ac35a8 contrib: update `dumptxoutset` command in utxo_to_sqlite doc
ecf54a32ed2 cmake: Add support for builtin `codegen` target
a8c78a0574d cmake: Revamp handling of data files
5b8fd7c3a6b Merge bitcoin-core/gui#854: qt: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
568fcdddaec scripted-diff: Adjust documentation per top-level target output location
026bb226e96 cmake: Set top-level target output locations
db63bfbe7cf Merge bitcoin/bitcoin#31580: test: Remove non-portable IPv6 test
da3ed8b970a Merge bitcoin/bitcoin#31662: cmake: Do not modify `CMAKE_TRY_COMPILE_TARGET_TYPE` globally
9d7672bbcae Merge bitcoin/bitcoin#31742: contrib: fix BUILDDIR in gen-bitcoin-conf script and gen-manpages.py
77bf99012ae Merge bitcoin/bitcoin#30302: doc: clarify loadwallet path loading for wallets
8400b742fa6 fuzz: add basic TxOrphanage::EraseForBlock cov
46a9c73083e Merge bitcoin/bitcoin#31906: ci: Switch to gcr.io mirror to avoid rate limits
82ba9257157 Merge bitcoin/bitcoin#31366: cmake: Check `-Wno-*` compiler options for `leveldb` target
f236854a5bd Merge bitcoin/bitcoin#31731: doc: update translation generation cmake example
eb51963d870 Merge bitcoin/bitcoin#31884: cmake: Make implicit `libbitcoinkernel` dependencies explicit
7267ed05182 qt: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
58f15d4b215 Merge bitcoin/bitcoin#31379: cmake: Fix passing `APPEND_*FLAGS` to `secp256k1` subtree
2c4b229c906 cmake: Introduce `FUZZ_LIBS`
ea929c0848e scripted-diff: Rename CMake helper module
8d238c1dfde cmake: Delete `check_cxx_source_links*` macros
71bf8294a98 cmake: Convert `check_cxx_source_compiles_with_flags` to a function
88ee6800c96 cmake: Delete `check_cxx_source_links_with_flags` macro
09e8fd25b1a build: Don't override CMake's default try_compile target
303f8cca056 test: fix TestShell initialization and reset()
e606c577cb2 Merge bitcoin/bitcoin#31899: cmake: Exclude generated sources from translation
758a93d6215 doc: update translation generation cmake example
fd14995b6a8 Merge bitcoin/bitcoin#31908: Revert merge of PR #31826
e181bda061c guix: Apply all codesignatures to Windows binaries
aafbd23fd97 guix: Apply codesignatures to all MacOS binaries
3656b828dc2 contrib: Sign all Windows binaries too
31d325464d0 contrib: Sign and notarize all MacOS binaries
cadbd4137d8 miner: have waitNext return after 20 min on testnet
d4020f502a6 Add waitNext() to BlockTemplate interface
3e9b12b3e0f Revert "Merge bitcoin/bitcoin#31826: random: Check `GetRNDRRS` is supported in `InitHardwareRand` to avoid infinite loop"
fa8de4706a0 ci: Switch to gcr.io mirror to avoid rate limits
9ef429b6ae6 wallet: fix crash on double block disconnection
785649f3977 Merge bitcoin/bitcoin#29881: guix: use GCC 13 to build releases
139640079ff Merge bitcoin/bitcoin#31826: random: Check `GetRNDRRS` is supported in `InitHardwareRand` to avoid infinite loop
dc3a7146337 Merge bitcoin/bitcoin#31794: wallet: abandon orphan coinbase txs, and their descendants, during startup
06757af2da5 Merge bitcoin/bitcoin#29156: tests: add functional test for miniscript decaying multisig
ca6aa0b9bee doc: loadwallet loads from relative walletdir
710d5b5149d guix: Update signapple
fa1e0a72281 gitignore: target/
ff4ddd3d2e3 Revert "cmake: Ensure generated sources are up to date for `translate` target"
03b3166aac5 cmake: Exclude generated sources from translation
43e287b3ff5 Merge bitcoin/bitcoin#31892: build: remove ENABLE_HARDENING condition from check-security
63d625f7610 Merge bitcoin/bitcoin#31893: test: remove scanning check on `wallet_importdescriptors`
9919e92022b cmake: Add optional sources to `minisketch` library directly
3b42e05aa9e cmake: Make implicit `libbitcoinkernel` dependencies explicit
3fd64efb437 cmake: Avoid using `OBJECT` libraries
28dec6c5f8b Merge bitcoin/bitcoin#31268: cmake: add optional source files to bitcoin_crypto and crc32c directly
50afaf3a389 Merge bitcoin/bitcoin#31836: contrib: Add deterministic-fuzz-coverage
405dd0e647e test: remove scanning check on `wallet_importdescriptors`
113a7a363fa build: remove ENABLE_HARDENING cond from check-security
9da0820ec55 Merge bitcoin/bitcoin#31869: cmake: Add `libbitcoinkernel` target
db36a92c02b Merge bitcoin/bitcoin#31879: doc: add release note for #27432 (utxo-to-sqlite tool)
95722d048a8 doc: add release note for #27432 (utxo-to-sqlite tool)
e4dd5a351bd test: wallet, abandon coinbase txs and their descendants during startup
09b150bb8ad In `InitHardwareRand`, do trail test for `RNDRRS` by `VerifyRNDRRS`
43e71f74988 Merge bitcoin/bitcoin#27432: contrib: add tool to convert compact-serialized UTXO set to SQLite database
e53310c47ab Merge bitcoin/bitcoin#30529: Fix -norpcwhitelist, -norpcallowip, and similar corner case behavior
254fd89d39f Merge bitcoin/bitcoin#31863: random: Initialize variables in hardware RNG functions
75f8396c907 Merge bitcoin/bitcoin#30746: test: cover base[32|58|64] with symmetric roundtrip fuzz (and padding) tests
c4b46b45898 Merge bitcoin/bitcoin#31629: wallet: fix rescanning inconsistency
d0dfd6d3f60 Merge bitcoin/bitcoin#31865: build: move `rpc/external_signer` to node library
ce4dbfc3590 Merge bitcoin/bitcoin#31851: doc: build: Fix instructions for msvc gui builds
504d0c21e26 Merge bitcoin/bitcoin#31439: validation: In case of a continued reindex, only activate chain in the end
0b48f77e101 Merge bitcoin/bitcoin#31413: rpc: Remove deprecated dummy alias for listtransactions::label
21a0efaf8c9 Merge bitcoin/bitcoin#29858: test: Add test for rpcwhitelistdefault
8a00b755e98 Merge bitcoin/bitcoin#31634: doc: Improve dependencies documentation
e58605e04f3 Merge bitcoin/bitcoin#31854: net: reduce CAddress usage to CService or CNetAddr
3a914ab96bd cmake: Rename `bitcoinkernel` component to `libbitcoinkernel`
06b9236f432 Merge bitcoin/bitcoin#31359: cmake: Add `CheckLinkerSupportsPIE` module
7ce09a59921 cmake: Add `libbitcoinkernel` target
e501246e77c build: move rpc/external_signer to node library
73e2ec13737 Merge bitcoin/bitcoin#31844: cmake: add a component for each binary
99755e04ffa random: Initialize variables in hardware RNG functions
7bbd761e816 Merge bitcoin/bitcoin#31421: cmake: Improve compatibility with Python version managers
9491676438a Merge bitcoin/bitcoin#31157: Cleanups to port mapping module post UPnP drop
109bfe9573b Merge bitcoin/bitcoin#31857: depends: avoid an unset `CMAKE_OBJDUMP`
14d1d8e2120 Merge bitcoin/bitcoin#31758: test: deduplicates p2p_tx_download constants
fa3e409c9a0 contrib: Add deterministic-fuzz-coverage
2549fc6fd1c Merge bitcoin/bitcoin#31768: test: check `scanning` field from `getwalletinfo`
9b033bebb18 cmake: rename Kernel component to bitcoinkernel for consistency
2e0c92558e9 cmake: add and use install_binary_component
a85e8c0e615 doc: Add some general documentation about negated options
96d30ed4f96 Merge bitcoin/bitcoin#31495: wallet: Utilize IsMine() and CanProvide() in migration to cover edge cases
490c8fa1782 doc: Add release notes summarizing negated option behavior changes.
458ef0a11b5 refactor: Avoid using IsArgSet() on -connect list option
752ab9c3c65 test: Add test to make sure -noconnect disables -dnsseed and -listen by default
3c2920ec98f refactor: Avoid using IsArgSet() on -signetseednode and -signetchallenge list options
d05668922a2 refactor: Avoid using IsArgSet() on -debug, -loglevel, and -vbparams list options
3d1e8ca53a0 Normalize inconsistent -noexternalip behavior
ecd590d4c1e Normalize inconsistent -noonlynet behavior
5544a19f863 Fix nonsensical bitcoin-cli -norpcwallet behavior
6e8e7f433fc Fix nonsensical -noasmap behavior
b6ab3508064 Fix nonsensical -notest behavior
6768389917a Fix nonsensical -norpcwhitelist behavior
e03409c70f7 Fix nonsensical -norpcbind and -norpcallowip behavior
40c4899bc20 Fix nonsensical -nobind and -nowhitebind behavior
5453e66fd91 Fix nonsensical -noseednode behavior
c242fa5be35 Merge bitcoin/bitcoin#31858: chore: remove redundant word
4c62b37fcd2 chore: remove redundant word
251ea7367cf Merge bitcoin/bitcoin#31767: logging: Ensure -debug=0/none behaves consistently with -nodebug
2434aeab62b depends: avoid an unset CMAKE_OBJDUMP
a5b0a441f85 Merge bitcoin/bitcoin#31855: chore: remove redundant word
cd4bfaee103 net: reduce CAddress usage to CService or CNetAddr
033acdf03da chore: remove redundant word
55cf39e4c54 Merge bitcoin/bitcoin#31722: cmake: Copy `cov_tool_wrapper.sh.in` to the build tree
c3fa043ae56 doc: build: Fix instructions for msvc gui builds
048ef98626b Merge bitcoin/bitcoin#31840: depends: add missing Darwin objcopy
c73b59d47f1 fuzz: implement targets for PCP and NAT-PMP port mapping requests
1695c8ab5bd fuzz: in FuzzedSock::GetSockName(), return a random-length name
713bf66b1f7 Merge bitcoin/bitcoin#31500: depends: Fix compiling `libevent` package on NetBSD
0d472c19533 fuzz: never return an uninitialized sockaddr in FuzzedSock::GetSockName
39b7e2b5905 fuzz: add steady clock mocking to FuzzedSock
6fe1c35c05b pcp: make NAT-PMP error codes uint16_t
01906ce912e pcp: make the ToString method const
a0b66b4bffa Revert "test: Disable known broken USDT test for now"
ec47ba349d0 contrib: don't use bpf_usdt_readarg_p
35ae6ff60f6 test: don't use bpf_usdt_readarg_p
ede388d03df Merge bitcoin/bitcoin#30911: build: simplify by flattening the dependency graph
534414ca9d4 Merge bitcoin/bitcoin#31678: ci: Skip read-write of default env vars
87ce116058f Merge bitcoin/bitcoin#31846: test: Remove stale gettime test
fa3a4eafa11 test: Remove stale gettime test
42251e00e8b Merge bitcoin/bitcoin#30584: depends: Make default `host` and `build` comparable
0b6ed342b57 Merge bitcoin/bitcoin#31711: build: set build type and per-build-type flags as early as possible
a44ccedcc2c Merge bitcoin/bitcoin#31818: guix: remove test-security/symbol-check scripts
e8b3c44da6e build: Include all Windows binaries for codesigning
dd4ec840eeb build: Include all MacOS binaries for codesigning
4e5c9ceb9dd guix: Rename Windows unsigned binaries to unsigned.zip
d9d49cd533b guix: Rename MacOS binaries to unsigned.tar.gz
c214e5268fa guix: Rename unsigned.tar.gz to codesigning.tar.gz
0264c5d86c7 cmake: use per-target components for bitcoin-qt and bitcoin-gui
fb0546b1c5e ci: don't try to install for a fuzz build
c65233230f1 Merge bitcoin/bitcoin#31022: test: Add mockable steady clock, tests for PCP and NATPMP implementations
86528937e5c Merge bitcoin/bitcoin#31834: build: disable bitcoin-node if daemon is not built
7afeaa24693 test: `-debug=0` and `-debug=none` behave similarly to `-nodebug`
a8fedb36a71 logging: Ensure -debug=0/none behaves consistently with -nodebug
d39d521d86a test: `-nodebug` clears previously set debug options
3edaf0b4286 depends: add missing Darwin objcopy
2507ebdf1b2 Merge bitcoin/bitcoin#31837: test: add missing sync to p2p_tx_download.py
79f02d56ef7 Merge bitcoin/bitcoin#30623: test: Fuzz the human-readable part of bech32 as well
ff3171f96d3 Merge bitcoin/bitcoin#31614: test: expect that files may disappear from /proc/PID/fd/
56a9b847bba build: set build type and per-build-type flags as early as possible
8fe552fe6e0 test: add missing sync to p2p_tx_download.py
af76664b12d test: Test migration of a solvable script with no privkeys
17f01b0795e test: Test migration of taproot output scripts
1eb9a2a39fd test: Test migration of miniscript in legacy wallets
e8c3efc7d8f wallet migration: Determine Solvables with CanProvide
fa1b7cd6e2c migration: Skip descriptors which do not parse
440ea1ab639 legacy spkm: use IsMine() to extract watched output scripts
b777e84cd70 legacy spkm: Move CanProvide to LegacyDataSPKM
b1ab927bbf2 tests: Test migration of additional P2WSH scripts
1d813e4bf52 Merge bitcoin/bitcoin#31819: doc: swap CPPFLAGS for APPEND_CPPFLAGS
2ffea09820e build: disable bitcoin-node if daemon is not built
f8d3e0edf47 Merge bitcoin/bitcoin#30205: test: add mocked Sock that can read/write custom data and/or CNetMessages
6b165f5906f Merge bitcoin/bitcoin#31384: mining: bugfix: Fix duplicate coinbase tx weight reservation
6a46be75c43 Merge bitcoin/bitcoin#31793: ci: Use clang-20 for sanitizer tasks
76c090145e9 guix: remove test-security/symbol-check scripts
329b60f595e Merge bitcoin/bitcoin#31810: TxOrphanage: account for size of orphans and count announcements
bc3f59ca530 Merge bitcoin/bitcoin#31820: build: consistently use `CLIENT_NAME` in libbitcoinkernel.pc.in
dead9086543 cmake: Improve compatibility with Python version managers
e107bf78f9d [fuzz] TxOrphanage::SanityCheck accounting
fb0ada982a7 Merge bitcoin/bitcoin#31811: test: test_inv_block, use mocktime instead of waiting
f5b9a2f68c9 build: use CLIENT_NAME in libbitcoinkernel.pc.in
ea687d20293 doc: swap CPPFLAGS for APPEND_CPPFLAGS
81eb6cc2c60 Merge bitcoin/bitcoin#31800: depends: Avoid using the `-ffile-prefix-map` compiler option
2f98d1e06ed Merge bitcoin/bitcoin#31814: ci: Bump fuzz task timeout
9cf746d6631 cmake: add optional source files to crc32c directly
9c7823c5b53 cmake: add optional source files to bitcoin_crypto directly
faca7ac1321 ci: Bump fuzz task timeout
22dccea5532 [fuzz] txorphan byte accounting
982ce101781 add orphanage byte accounting to TxDownloadManagerImpl::CheckIsEmpty()
c289217c014 [txorphanage] track the total number of announcements
e5ea7daee01 [txorphanage] add per-peer weight accounting
672c69c688f [refactor] change per-peer workset to info map within orphanage
59cd0f0e091 [txorphanage] account for weight of orphans
f93d6cb0caa Merge bitcoin/bitcoin#31809: Prepare "Open Transifex translations for v29.0" release step
f605f7a9c26 build: refactor: set debug definitions in main CMakeLists
2706c5b7c8e test: test_inv_block, use mocktime instead of waiting
0a02e7fdeac test: deduplicates p2p_tx_download constants
2f27c910869 qt: Update the `src/qt/locale/bitcoin_en.xlf` translation source file
864386a7444 cmake: Ensure generated sources are up to date for `translate` target
d6c229d8bd4 Merge bitcoin/bitcoin#31804: ci: Remove no longer needed `-Wno-error=documentation`
2b51dd384b4 Update Transifex slug for 29.x
82ba5051342 Merge bitcoin/bitcoin#31759: test: fixes p2p_ibd_txrelay wait time
ae9eaa063b6 Merge bitcoin/bitcoin#31760: test: make sure we are on sync with a peer before checking if they have sent a message
f1d7a6dfa14 ci: Remove no longer needed '-Wno-error=documentation'
a43f08c4ae3 Merge bitcoin/bitcoin#25832: tracing: network connection tracepoints
407062f2ac9 depends: Avoid using the `-ffile-prefix-map` compiler option
b9c241804c0 Merge bitcoin/bitcoin#30226: test: add validation for gettxout RPC response
1334ca6c070 Merge bitcoin/bitcoin#31437: func test: Expand tx download preference tests
33932d30e38 Merge bitcoin/bitcoin#31784: test: added additional coverage to waitforblock and waitforblockheight rpc's
2aa7be1744a Merge bitcoin/bitcoin#31358: depends: Avoid hardcoding `host_prefix` in toolchain file
386eecff5f1 doc: add release notes
3eaa0a3b663 miner: init: add `-blockreservedweight` startup option
777434a2cd1 doc: rpc: improve `getmininginfo` help text
c8acd4032d5 init: fail to start when `-blockmaxweight` exceeds `MAX_BLOCK_WEIGHT`
5bb31633cc9 test: add `-blockmaxweight` startup option functional test
2c7d90a6d67 miner: bugfix: fix duplicate weight reservation in block assembler
fa5a02bcfa2 ci: Use clang-20 for sanitizer tasks
474139aa9bf wallet: abandon inactive coinbase tx and their descendants during startup
bb0879ddabc test: check `scanning` field from `getwalletinfo`
94ca99ac51d Merge bitcoin/bitcoin#31666: multi-peer orphan resolution followups
6f5ae1a5745 Merge bitcoin/bitcoin#31653: lint: Call more checks from test_runner
e3622a96929 tracing: document that peer addrs can be >68 chars
b19b526758f tracing: log_p2p_connections.bt example
caa5486574b tracing: connection closed tracepoint
b2ad6ede95e tracing: add misbehaving conn tracepoint
68c1ef4f19b tracing: add inbound connection eviction tracepoint
4d61d52f438 tracing: add outbound connection tracepoint
85b2603eec6 tracing: add inbound connection tracepoint
7e0db87d4ff test: added additional coverage to waitforblock and waitforblockheight rpc's
f89f16846ec depends: Fix compiling `libevent` package on NetBSD
1172bc4157e Merge bitcoin-core/gui#850: psbt: Use SIGHASH_DEFAULT when signing PSBTs
85f96b01b77 Merge bitcoin/bitcoin#30909: wallet, assumeutxo: Don't Assume m_chain_tx_count, Improve wallet RPC errors
601a6a69172 Merge bitcoin/bitcoin#30965: kernel: Move block tree db open to block manager
eaf4b928e72 Merge bitcoin/bitcoin#31746: test: Added coverage to the waitfornewblock rpc
992f37f2e10 Merge bitcoin/bitcoin#31600: rpc: have getblocktemplate mintime account for timewarp
12fa9511b5f build: simplify dependency graph
c4e498300c7 build: avoid unnecessary dependencies on generated headers
8fa10edcd17 Merge bitcoin/bitcoin#31428: ci: Allow build dir on CI host
809d7e763cc Merge bitcoin/bitcoin#31751: test: fix intermittent timeout in p2p_1p1c_network.py
7426afbe624 [p2p] assign just 1 random announcer in AddChildrenToWorkSet
4c1fa6b28c2 test fix: make peer who sends MSG_TX announcement non-wtxidrelay
2da46b88f09 pass P2PTxInvStore init args to P2PInterface init
e3bd51e4b52 [doc] how unique_parents can be empty
32eb6dc758a [refactor] assign local variable for wtxid
18820ccf6b2 multi-announcer orphan handling test fixups
c4cc61db98f [fuzz] GetCandidatePeers
7704139cf0d [refactor] make GetCandidatePeers take uint256 and in-out vector
6e4d392a753 [refactor] rename to OrphanResolutionCandidate to MaybeAdd*
57221ad9797 [refactor] move parent inv-adding to OrphanResolutionCandidate
6835e9686c4 Merge bitcoin/bitcoin#31545: ci: optionally use local docker build cache
c7869cb2143 Merge bitcoin/bitcoin#30844: RPC: improve SFFO arg parsing, error catching and coverage
1e0c5bd74ae Merge bitcoin/bitcoin#30125: test: improve BDB parser (handle internal/overflow pages, support all page sizes)
1d6c6e98c13 Merge bitcoin/bitcoin#31633: net: Disconnect message follow-ups to #28521
3f4b104b1b7 test: make sure we are on sync with a peer before checking if they have sent a message
1973a9e4f1d test: fixes p2p_ibd_txrelay wait time
152a2dcdefa test: fix intermittent timeout in p2p_1p1c_network.py
ad2f9324c61 Merge bitcoin/bitcoin#31740: depends: Update libmultiprocess library before converting to subtree
e1676b08f7b doc: release notes
0082f6acc1d rpc: have mintime account for timewarp rule
79d45b10f1b rpc: clarify BIP94 behavior for curtime
07135481378 refactor: add GetMinimumTime() helper
93747d934b8 test: Added coverage to the waitfornewblock rpc
b432e367427 Merge bitcoin/bitcoin#31736: doc: update links in ci.yml
74ea7edafae Merge bitcoin/bitcoin#31522: ci: Enable DEBUG=1 for one GCC-12+ build to catch 117966 regressions
f34c580bd81 Merge bitcoin/bitcoin#31620: test: Remove --noshutdown flag, Tidy startup failures
1681c08d42c doc: update links in ci.yml
b0869648aa9 Merge bitcoin/bitcoin#21590: Safegcd-based modular inverses in MuHash3072
63a8791e15c contrib: fix BUILDDIR in gen-bitcoin-conf script and gen-manpages.py
4e0aa1835b3 test: Add test for IPC serialization bug
2221c8814d7 depends: Update libmultiprocess library before converting to subtree
0a931a9787b Merge bitcoin/bitcoin#31599: qa: Improve framework.generate* enforcement (#31403 follow-up)
4ac1efb147d Merge bitcoin/bitcoin#30322: test: raise an error in `_bulk_tx_` when `target_vsize` is too low
8775731e6d4 Merge bitcoin/bitcoin#31241: wallet: remove BDB dependency from wallet migration benchmark
9ecc7af41f6 Merge bitcoin/bitcoin#31674: init: Lock blocksdir in addition to datadir
551a09486c4 net: Switch to DisconnectMsg in CConnman
723440c5b8e test framework, wallet: rename get_scriptPubKey method to get_output_script
fa0232a3e07 test: add validation for gettxout RPC response
2d07384243c Merge bitcoin/bitcoin#31658: test: p2p: fix sending of manual INVs in tx download test
796e1a4c5d1 Merge bitcoin/bitcoin#31718: Docs: fix typos in documentation files
81b9800c87e fix typos
d5a2ba44ba4 Merge bitcoin/bitcoin#31416: doc: Fix incorrect send RPC docs
81c174e3186 cmake: Refer to the configure log instead of printing PIE test error
9914e737297 Merge bitcoin/bitcoin#31704: doc: add a section in the fuzzing documentation about using MSan
faf2f2c654d test: Avoid redundant stop and error spam on shutdown
188b02116d8 Merge bitcoin/bitcoin#31635: test: add coverage for unknown address type for `createwalletdescriptor`
2317e6cf2da Merge bitcoin/bitcoin#31696: test: Check that reindex with prune wipes blk files
94f0adcc31d Merge bitcoin/bitcoin#31541: qa: Use `sys.executable` when invoking other Python scripts
59876b3ad71 Merge bitcoin/bitcoin#31376: Miner: never create a template which exploits the timewarp bug
e3c01527696 cmake: Copy `cov_tool_wrapper.sh.in` to the build tree
faf8fc5487d lint: Call lint_commit_msg from test_runner
fa99728b0c8 lint: Move commit range printing to test_runner
fa673cf3449 lint: Call lint_scripted_diff from test_runner
449a25b9582 Merge bitcoin/bitcoin#31709: cmake: Fail if `Libmultiprocess` is missing when `WITH_MULTIPROCESS=ON`
5acf12bafeb Merge bitcoin/bitcoin#31583: rpc: add target to getmininginfo field and show next block info
78fa88c53ad Merge bitcoin/bitcoin#31548: fuzz: Abort when global PRNG is used before SeedRand::ZEROS
c31166ac77a cmake: Fail if `Libmultiprocess` is missing when `WITH_MULTIPROCESS=ON`
5d6f6fd00d7 Merge bitcoin/bitcoin#31490: refactor: inline `UndoWriteToDisk` and `WriteBlockToDisk` to reduce serialization calls
7b4d072e4fa Merge bitcoin/bitcoin#31690: doc: Amend notes on benchmarking
bb633c9407c tests: add functional test for miniscript decaying multisig
e94c9d17123 [doc] Amend notes on benchmarking
5c3e4d8b293 doc: add a section about using MSan
a4df12323c4 doc: add release notes
c75872ffdd9 test: use DIFF_1_N_BITS in tool_signet_miner
4131f322ac0 test: check difficulty adjustment using alternate mainnet
c4f68c12e22 Use OP_0 for BIP34 padding in signet and tests
cf0a62878be rpc: add next to getmininginfo
2d18a078a2d rpc: add target and bits to getchainstates
f153f57acc9 rpc: add target and bits to getblockchaininfo
523520f8279 Merge bitcoin/bitcoin#30866: descriptor: Add proper Clone function to miniscript::Node
baa504fdfaf rpc: add target to getmininginfo result
2a7bfebd5e7 Add target to getblock(header) in RPC and REST
341f9325167 rpc: add GetTarget helper
d20d96fa41c test: use REGTEST_N_BITS in feature_block
7ddbed4f9fc rpc: add nBits to getmininginfo
ba7b9f3d7bf build: move pow and chain to bitcoin_common
c4cc9e3e9df consensus: add DeriveTarget() to pow.h
fa9aced8006 test: Check that reindex with prune wipes blk files
66d21d0eb65 qa: check parsed multipath descriptors dont share references
09a1875ad8c miniscript: Make NodeRef a unique_ptr
9ccb46f91ac miniscript: Ensure there is no NodeRef copy constructor or assignment operator
6d11c9c60b5 descriptor: Add proper Clone function to miniscript::Node
5691fa93c48 Merge bitcoin/bitcoin#31661: depends: Override default build type for `libevent`
8fc7140846f Merge bitcoin/bitcoin#31671: Update leveldb subtree to latest upstream
a9edec94198 Merge bitcoin/bitcoin#31701: test: Bump sync_mempools timeout in p2p_1p1c_network.py
fa80a7dac4b test: Bump sync_mempools timeout in p2p_1p1c_network.py
1111b0ac196 ci: Add missing --combinedlogslen to test-each-commit task
d44626a9c2e depends: Override default build type for `libevent`
d7f56cc5d9e Merge bitcoin/bitcoin#31590: descriptors: Try pubkeys of both parities when retrieving the private keys for an xonly pubkey in a descriptor
fa9593efc2e test: Use high-level python types
c39b3cfcd1b test: Extra verification that migratewallet migrates
0cdddeb2240 kernel: Move block tree db open to BlockManager constructor
7fbb1bc44b1 kernel: Move block tree db open to block manager
0c1b29a0577 ci: use GCC 13 for some jobs
fa8ade300f4 refactor: Avoid GCC false positive error
fa40807fa83 ci: Enable DEBUG=1 for one GCC-12+ build to catch 117966 regressions
cbc65b3ad5a guix: use GCC 13.3.0 for base toolchain.
4601b7ca611 Merge bitcoin/bitcoin#31125: depends: add *FLAGS to gen_id
fa952acdb6e ci: Skip read-write of default env vars
eb243ff06c4 Merge bitcoin/bitcoin#31593: ci: Bump centos stream 10
6dc60126701 Merge bitcoin/bitcoin#31657: ci: Supply `--platform` argument to `docker` commands.
a759ea3e920 doc: Improve dependencies documentation
4e52a634430 Merge bitcoin/bitcoin#31691: util: fix compiler warning about deprecated space before _MiB
2e839dd641d Merge bitcoin/bitcoin#30774: depends: Qt 5.15.16
d3339a7cd5f util: fix compiler warning about deprecated space before _MiB
f0e5e4cdbec test: Add test for rpcwhitelistdefault
6e29de21010 ci: Supply `platform` argument to docker commands.
faaabfaea76 ci: Bump centos stream 10
89720b7a1b3 Merge bitcoin/bitcoin#31543: cmake: Always provide `RPATH` on NetBSD
5b3a81f44da Merge bitcoin/bitcoin#31626: depends: Use base system's `sha256sum` utility on FreeBSD
832d5730730 Merge bitcoin/bitcoin#31651: ci: Turn CentOS task into native one
5ac1e0814ae Merge bitcoin/bitcoin#31621: doc: Update dependency installation for Debian/Ubuntu
370b9c1a0b9 Merge bitcoin/bitcoin#31675: [test] fix p2p_orphan_handling.py empty orphanage check
8996fef8aeb test: p2p: check that INV messages not matching wtxidrelay are ignored
2656a5658c1 tests: add a test for the new blocksdir lock
bdc0a68e676 init: lock blocksdir in addition to datadir
cabb2e5c242 refactor: introduce a more general LockDirectories for init
1db331ba764 init: allow a new xor key to be written if the blocksdir is newly created
2e75ebb6169 [test] fix p2p_orphan_handling.py empty orphanage check
f9032a4abb7 Merge bitcoin/bitcoin#31242: wallet, desc spkm: Return SigningProvider only if we have the privkey
9dc4eedb670 Merge bitcoin/bitcoin#31673: doc: fix minor typos in comments
b30cc71e853 doc: fix typos
57ba59c0cdf refactor: Remove redundant reindex check
160c27ec078 doc: Update dependency installation for Debian/Ubuntu and CI
df8bf657450 Merge bitcoin/bitcoin#31483: kernel: Move kernel-related cache constants to kernel cache
0f716f28896 qa: cover PROTOCOL_ERROR variant in PCP unit tests
fc700bb47fd test: Add tests for PCP and NATPMP implementations
335798c4963 Merge bitcoin/bitcoin#31397: p2p: track and use all potential peers for orphan resolution
98939ce7b74 Merge bitcoin/bitcoin#31655: refactor: Avoid UB in SHA3_256::Write
910a11fa663 build: remove LEVELDB_IS_BIG_ENDIAN
9ec64253ab6 Update leveldb subtree to latest upstream
d336b7ab85d Squashed 'src/leveldb/' changes from 688561cba8..04b5790928
65a0920ca6b cmake: Add `CheckLinkerSupportsPIE` module
712cab3a8f8 Merge bitcoin/bitcoin#31061: refactor: Check translatable format strings at compile-time
2a92702bafc init: Use size_t consistently for cache sizes
65cde3621db kernel: Move default cache constants to caches
8826cae2854 kernel: Move non-kernel db cache size constants
e758b26b85d kernel: Move kernel-specific cache size options to kernel
d5e2c4a4097 fuzz: Add fuzz test for checked and saturating add and left shift
c03a2795a8e util: Add integer left shift helpers
31a0e5f0905 depends: Qt 5.15.16
fa3efb57290 refactor: Introduce struct to hold a runtime format string
fa6adb01344 lint: Remove unused and broken format string linter
fadc6b9bac8 refactor: Check translatable format strings at compile-time
fa1d5acb8d8 refactor: Use TranslateFn type consistently
e0b33368222 test: p2p: fix sending of manual INVs in tx download test
e7c47949550 Merge bitcoin/bitcoin#31630: doc: Archive 28.1 release notes
7cd862aab94 Merge bitcoin/bitcoin#31646: test: avoid internet traffic
eeee6cf2ffb refactor: Delay translation of _() literals
fabeca3458b refactor: Avoid UB in SHA3_256::Write
fad4032b219 refactor: Drop unused UCharCast
2ed161c5ce6 test: avoid generating non-loopback traffic from p2p_dns_seeds.py
a5746dc559c test: avoid generating non-loopback traffic from feature_config_args.py
6b3f6eae70b test: avoid generating non-loopback traffic from p2p_seednode.py
fabefd99158 ci: Turn CentOS task into native one
caf95210331 net: Use mockable steady clock in PCP implementation
03648321ecb util: Add mockable steady_clock
ab1d3ece026 net: Add optional length checking to CService::SetSockAddr
bb5f76ee013 doc: Archive 28.1 release notes
35bf426e022 Merge bitcoin/bitcoin#28724: wallet: Cleanup accidental encryption keys in watchonly wallets
4da7bfdcc90 test: add coverage for unknown address type for `createwalletdescriptor`
21684065978 Merge bitcoin/bitcoin#31608: doc: Clarify min macOS and Xcode version
2f6c7e7f6c0 Merge bitcoin/bitcoin#31612: ci: build msan's libc++ with _LIBCPP_ABI_BOUNDED_*
01df180bfb8 depends: add mold & ld.lld to gen_id
d032ac80633 depends: add *FLAGS to gen_id
528354e213a Merge bitcoin/bitcoin#31616: init,log: Unify block index log line
4bedfb5c833 Merge bitcoin/bitcoin#31623: tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs
e5c268084eb Merge bitcoin/bitcoin#31627: depends: Fix spacing issue
d695d139171 Merge bitcoin/bitcoin#31611: doc: upgrade license to 2025.
bbac17608d1 net: Bring back log message when resetting socket
04b848e4827 net: Specify context in disconnecting log message
0c4954ac7d9 net_processing: Add missing use of DisconnectMsg
37af8bfb34d Merge bitcoin/bitcoin#31549: fuzz: Abort if system time is called without mock time being set
54115d8de5c Merge bitcoin/bitcoin#31617: build, test: Build `db_tests.cpp` regardless of `USE_BDB`
0a77441158c Merge bitcoin/bitcoin#31451: wallet: migration, avoid loading legacy wallet after failure when BDB isn't compiled
56725f88293 Merge bitcoin/bitcoin#31462: test: raise explicit error if any of the needed release binaries is missing
727c5427696 depends: Use base system's `sha256sum` utility
4818da809f0 wallet: fix rescanning inconsistency
f5883286e32 Add a fuzz test for Num3072 multiplication and inversion
a26ce628942 Safegcd based modular inverse for Num3072
91ce8cef2d8 Add benchmark for MuHash finalization
223081ece65 scripted-diff: rename block and undo functions for consistency
baaa3b28467 refactor,blocks: remove costly asserts and modernize affected logs
fa39f27a0f8 refactor,blocks: deduplicate block's serialized size calculations
8a46286da66 depends: Fix spacing issue
e04be3731f4 init,log: Unify block index and chainstate loading log line
dfb2f9d0048 refactor,blocks: inline `WriteBlockToDisk`
42bc4914658 refactor,blocks: inline `UndoWriteToDisk`
86b85bb11f8 bench: add SaveBlockBench
34f9a0157aa refactor,bench: rename bench/readblock.cpp to bench/readwriteblock.cpp
8bd5f8a38ce [refactor] init: Simplify coinsdb cache calculation
f93f0c93961 tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs
66aa6a47bd8 Merge bitcoin/bitcoin#30391: BlockAssembler: return selected packages virtual size and fee
fa3c787b62a fuzz: Abort when global PRNG is used before SeedRand::ZEROS
92787dd52cd test: raise an error when target_vsize is below tx virtual size
a8780c937f7 test: raise an error if output value is <= 0 in `create_self_transfer`
f6e88931f07 test: test that `create_self_transfer_multi` respects `target_vsize`
fae3bf6b870 test: Avoid redundant stop and error spam on startup failure
fa0dc09b900 test: Remove --noshutdown flag
fad441fba07 test: Treat leftover process as error
7c123c08ddc  miner: add package feerate vector to CBlockTemplate
fd2d96d9087 build, test: Build `db_tests.cpp` regardless of `USE_BDB`
fb37acd932b ci: build msan's libc++ with _LIBCPP_ABI_BOUNDED_*
b2e9fdc00f5 test: expect that files may disappear from /proc/PID/fd/
1ea7e45a1f4 test: raise explicit error if any of the needed release binaries is missing
c0045e6cee0 Add test for multipath miniscript expression
b4ac48090f2 descriptor: Use InferXOnlyPubkey for miniscript XOnly pubkey from script
433412fd847 Merge bitcoin/bitcoin#31596: doc: Clarify comments about endianness after #30526
c506f2cee7b Merge bitcoin/bitcoin#31581: test: have miner_tests use  Mining interface
3e97ff9c5ea gui, psbt: Use SIGHASH_DEFAULT when signing PSBTs
4c50c21f6bf tests: Check ExpandPrivate matches for both parsed descriptors
092569e8580 descriptor: Try the other parity in ConstPubkeyProvider::GetPrivKey()
a96b84cb1b7 fuzz: Abort when calling system time without setting mock time
ff21870e20b fuzz: Add SetMockTime() to necessary targets
1b51616f2e3 test: improve rogue calls in mining functions
41a2ce9b7d7 Merge bitcoin/bitcoin#31464: util: Add missing types in make_secure_unique
86d7135e36e [p2p] only attempt 1p1c when both txns provided by the same peer
f7658d9b147 [cleanup] remove p2p_inv from AddTxAnnouncement
063c1324c14 [functional test] getorphantxs reflects multiple announcers
0da693f7e12 [functional test] orphan handling with multiple announcers
b6ea4a9afe2 [p2p] try multiple peers for orphan resolution
1d2e1d709ce [refactor] move creation of unique_parents to helper function
c6893b0f0b7 [txdownload] remove unique_parents that we already have
163aaf285af [fuzz] orphanage multiple announcer functions
22b023b09da [unit test] multiple orphan announcers
96c1a822a27 [unit test] TxOrphanage EraseForBlock
04448ce32a3 [txorphanage] add GetTx so that orphan vin can be read
e810842acda [txorphanage] support multiple announcers
62a9ff18707 [refactor] change type of unique_parents to Txid
6951ddcefd9 [txrequest] GetCandidatePeers
6475849c402 Merge bitcoin/bitcoin#31435: lint: Move assertion linter into lint runner
b537a2c02a9 doc: upgrade license to 2025.
49fc2258cf3 Merge bitcoin/bitcoin#31526: doc: Install `net/py-pyzmq` port on FreeBSD for `interface_zmq.py`
ac918c7cc0e Merge bitcoin/bitcoin#31552: depends: Update capnproto to 1.1.0
fa029a78780 doc: Clarify min macOS and Xcode version
a0f0c48ae20 Merge bitcoin/bitcoin#31584: txmempool: fix typos in comments
558783625ca Merge bitcoin/bitcoin#31586: doc: Update NetBSD Build Guide
3e936789b16 Merge bitcoin/bitcoin#31592: ci: Run functional tests in msan task
5af642bf48b Merge bitcoin/bitcoin#31604: test: fix typo in mempool_ephemeral_dust
8888ee4403f ci: Allow build dir on CI host
9d2d9f7ce29 rpc: Include assumeutxo as a failure reason of rescanblockchain
595edee1690 test, assumeutxo: import descriptors during background sync
d73ae603d44 rpc: Improve importdescriptor RPC error messages
27f99b6d63b validation: Don't assume m_chain_tx_count in GuessVerificationProgress
42d5d533631 interfaces: Add helper function for wallet on pruning
29bca9713d2 test: fix typo in mempool_ephemeral_dust
f919d919eb8 fuzz: Add fuzzing for max_ret_len in DecodeBase58/DecodeBase58Check
635bc58f46b test: Fuzz Base32/Base58/Base64 roundtrip conversions
5dd3a0d8a89 test: Extend base58_encode_decode.json with edge cases
ae40cf1a8e1 test: Add padding tests for Base32/Base64
4036ee3f2bf Merge bitcoin/bitcoin#31542: test: Embed univalue json tests in binary
f6a6d912059 test: add check for getting SigningProvider for a CPubKey
62a95f5af9b test: refactor: move `CreateDescriptor` helper to wallet test util module
5db7d4d3d28 doc: Correct docstring describing max block tree db cache
6aa0e70ccbd Merge bitcoin/bitcoin#31524: refactor: Allow std::byte in Read(LE/BE)
3e0a992a3f0 doc: Clarify comments about endianness after #30526
604bf2ea37f Merge bitcoin/bitcoin#28121: include verbose "reject-details" field in testmempoolaccept response
04249682e38 test: use Mining interface in miner_tests
fa0411ee305 ci: Run functional tests in msan task
2bdaf52ed12 doc: Update NetBSD Build Guide
34e8ee23b83 txmempool: fix typos in comments
228aba2c4d9 Merge bitcoin/bitcoin#31555: descriptor: remove unreachable verification for `pkh`
9b9752217f2 Merge bitcoin/bitcoin#31570: test: descriptor: fix test for `MaxSatisfactionWeight`
87c9ebd8892 Merge bitcoin/bitcoin#31563: rpc: Extend scope of validation mutex in generateblock
df5c643f92d Merge bitcoin/bitcoin#31556: validation: Send correct notification during snapshot completion
fa3de038f74 Merge bitcoin/bitcoin#31537: qa: Limit `-maxconnections` in tests
ba0cb7d5a54 Merge bitcoin/bitcoin#31468: test: Avoid intermittent error in assert_equal(pruneheight_new, 248)
69e35f5c60a Merge bitcoin/bitcoin#31403: test: Call generate RPCs through test framework only
17db84dbb8d Merge bitcoin/bitcoin#31251: test: report detailed msg during utf8 response decoding error
e6f14241f6d Merge bitcoin/bitcoin#31540: refactor: std::span compat fixes
a137b0bd6b2 Merge bitcoin/bitcoin#31215: rpc: increase the defaults for -rpcthreads and -rpcworkqueue
67bfe28995e Merge bitcoin/bitcoin#31531: rpc: Add signet_challenge field to getblockchaininfo and getmininginfo
ad174c28175 Merge bitcoin/bitcoin#31497: Remove unused variable assignment
d871d778251 test: Remove non-portable IPv6 test
4080b66cbec test: add test for utxo-to-sqlite conversion script
ec99ed73808 contrib: add tool to convert compact-serialized UTXO set to SQLite database
b29d68f942e test: descriptor: fix test for `MaxSatisfactionWeight`
9355578a779 Merge bitcoin/bitcoin#31534: coins: warn on shutdown for big UTXO set flushes
f95fb793726 Merge bitcoin/bitcoin#28521: net, net_processing: additional and consistent disconnect logging
bc43ecaf6dc test: add functional test for balance after snapshot completion
226d03dd610 validation: Send correct notification during snapshot completion
fa63b8232f3 test: generateblocks called by multiple threads
fa62c8b1f04 rpc: Extend scope of validation mutex in generateblock
366ae00b779 descriptor: Assume `ParseScript` is not being called with a P2WPKH context
b448b014947 test: add a mocked Sock that allows inspecting what has been Send() to it
f1864148c4a test: put the generic parts from StaticContentsSock into a separate class
e3664085908 descriptor: remove unreachable verification for `pkh`
5709718b830 coins: warn on shutdown for big UTXO set flushes
b0b8d96d93e depends: Update capnproto to 1.1.0
e87429a2d0f ci: optionally use local docker build cache
fc7b2148470 Merge bitcoin/bitcoin#31529: guix: latest 2.31 glibc
273440d5c9d Merge bitcoin/bitcoin#31535: doc: Install `py3-zmq` port on OpenBSD for `interface_zmq.py`
4cdf50c4ba8 Merge bitcoin/bitcoin#31544: cmake: Remove unused `BUILD_TESTING` variable from "dev-mode" preset
faf7eac364f test: clang-format -i src/univalue/test/unitester.cpp
fafa9cc7a59 test: Embed univalue json tests in binary
fa044857caf test: Re-enable univalue test fail18.json
63b6b638aa5 build: Use character literals for generated headers to avoid narrowing
ecaa786cc10 rpc: add signet_challenge field to getblockchaininfo and getmininginfo
e196190a284 cmake: Remove unused `BUILD_TESTING` variable from "dev-mode" preset
11115e9aa84 cmake: Always provide `RPATH` on NetBSD
d38ade7bc40 qa: Use `sys.executable` when invoking other Python scripts
bb57017b294 Merge bitcoin/bitcoin#31521: fuzz: Fix misplaced SeedRand::ZEROS
5bbbc0d0eeb Merge bitcoin/bitcoin#31325: Make m_tip_block std::optional
d9d5bc2e746 qa: Limit `-maxconnections` in tests
fa494a1d53f refactor: Specify const in std::span constructor, where needed
faaf4800aa7 Allow std::span in stream serialization
faa5391f770 refactor: test: Return std::span from StringBytes
fa862234753 refactor: Avoid passing span iterators when data pointers are expected
faae6fa5f61 refactor: Simplify SpanPopBack
facc4f120b0 refactor: Replace fwd-decl with proper include
fac3a782eaf refactor: Avoid needless, unsafe c-style cast
c1252b14d71 Merge bitcoin/bitcoin#31520: #31318 followups
be1a2e5dfbd doc: Install `py3-zmq` port on OpenBSD for `interface_zmq.py`
fa0c473d4c8 Merge bitcoin/bitcoin#31196: Prune mining interface
ea53568a068 Merge bitcoin/bitcoin#31393: refactor: Move GuessVerificationProgress into ChainstateManager
b8710201fbd guix: disable timezone tools & profiling in glibc
23b8a424fb0 guix: bump glibc 2.31 to 7b27c450c34563a28e634cccb399cd415e71ebfe
0a76c292ac8 doc: Install `net/py-pyzmq` port on FreeBSD for `interface_zmq.py`
fadd568931a fuzz: Fix misplaced SeedRand::ZEROS
fa83bec78ef refactor: Allow std::byte in Read(LE/BE)
4f06ae05ed6 refactor: fix typo in node/types.h
366fbf152c6 test: drop extraneous bracket in mining util
c991cea1a0c Remove processNewBlock() from mining interface
9a47852d88c Remove getTransactionsUpdated() from mining interface
bfc4e029d41 Remove testBlockValidity() from mining interface
477b3574607 Merge bitcoin/bitcoin#31493: refactor: Use immediate lambda to work around GCC bug 117966
a60d5702fd5 Merge bitcoin/bitcoin#31486: fuzz: Abort when using global PRNG without re-seed
a95a8ba3a3f Merge bitcoin/bitcoin#31197: refactor: mining interface 30955 followups
cd3d9fa5ea8 Merge bitcoin/bitcoin#31318: Drop script_pub_key arg from createNewBlock
c9136ca9060 validation: fix issue with an interrupted -reindex
a2675897e2a validation: Don't loop over all chainstates in LoadExternalBlock
785486a9755 Merge bitcoin/bitcoin#31489: fuzz: Fix test_runner error reporting
1251a236420 Merge bitcoin/bitcoin#31458: build: use `-mbig-obj` for Windows debug builds
d2136d32bb4 Merge bitcoin/bitcoin#31502: depends: Fix `CXXFLAGS` on NetBSD
58436d4af38 Merge bitcoin/bitcoin#31503: cmake: Link `bitcoin_consensus` as a library
38dcf0f9827 Merge bitcoin/bitcoin#31498: depends: Ignore prefix directory on OpenBSD
fae63bf1303 fuzz: Clarify that only SeedRandomStateForTest(SeedRand::ZEROS) is allowed
81cea5d4ee0 Ensure m_tip_block is never ZERO
e058544d0e8 Make m_tip_block an std::optional
f86678156a3 Check leaves size maximum in MerkleComputation
4d572882463 refactor: use CTransactionRef in submitSolution
2e81791d907 Drop TransactionMerklePath default position arg
39d3b538e6a Rename merkle branch to path
fa18acb457e fuzz: Abort when using global PRNG without re-seed
fa9e0489f57 refactor: Use immediate lambda to work around GCC bug 117966
46e207d3296 cmake: Link `bitcoin_consensus` as a library
a10bb400e8c depends: Fix CXXFLAGS on NetBSD
3353d4a5e9f depends: Ignore prefix directory on OpenBSD
b9766c9977e Remove unused variable assignment
b042c4f0538 Merge bitcoin/bitcoin#31223: net, init: derive default onion port if a user specified a -port
e8f0e6efaf5 lint: output-only - Avoid repeated arrows, trim
facb4d010ca refactor: Move GuessVerificationProgress into ChainstateManager
2b9ff4a66d3 build: use `-mbig-obj` for mingw-w64 Debug builds
fa0e30b93aa fuzz: Fix test_runner error reporting
d73f37dda22 Merge bitcoin/bitcoin#31346: Set notifications m_tip_block in LoadChainTip()
fa7809aeab8 fuzz: Add missing SeedRandomStateForTest(SeedRand::ZEROS)
78f1bff7099 Merge bitcoin/bitcoin#31477: ci: Bump centos gcc to 12
84890e0291f Merge bitcoin/bitcoin#31484: depends: update capnproto to 1.0.2
d5ab5a47f0e Merge bitcoin/bitcoin#31452: wallet: Migrate non-HD keys to combo() descriptor
fa0998f0a02 test: Avoid intermittent error in assert_equal(pruneheight_new, 248)
fa9aacf614f lint: Move assertion linter into lint runner
beac62e541c Merge bitcoin/bitcoin#31480: refactor: Fix "modernize-use-starts-ends-with" clang-tidy warning
5cd9e95eea1 depends: update capnproto to 1.0.2
df27ee9f024 refactor: Fix "modernize-use-starts-ends-with" clang-tidy warning
435ad572a1a Merge bitcoin/bitcoin#31479: lint: Disable signature output in git log
ea9e64ff3cb Merge bitcoin/bitcoin#31461: depends: add `-g` to *BSD_debug flags
29ddee1796a Merge bitcoin/bitcoin#31478: docs: remove repetitive words
e2d3372e558 lint: Disable signature output in git log
fa47baa03bc ci: Bump centos gcc
015aad8d6a6 docs: remove repetitive words
589ed1a8eaf wallet: migration, avoid loading wallet after failure when it wasn't loaded before
62bd61de110 Merge bitcoin/bitcoin#31450: guix: disable gcov in base-linux-gcc
676936845b1 Merge bitcoin/bitcoin#30933: test: Prove+document ConstevalFormatString/tinyformat parity
8ad2c902742 Merge bitcoin/bitcoin#31343: test: avoid internet traffic in rpc_net.py
a582ee681c7 Merge bitcoin/bitcoin#29982: test: Fix intermittent issue in wallet_backwards_compatibility.py
fa397177acf util: Add missing types in make_secure_unique
b6f0593f433 doc: add release note about testmempoolaccept debug-message
f9cac635237 test: cover testmempoolaccept debug-message in RBF test
b7ec69c25cf depends: add -g to *BSD_debug flags
37e49c2c7ca Merge bitcoin/bitcoin#31448: fuzz: add cstdlib to FuzzedDataProvider
62b2d23edba wallet: Migrate non-HD keys to combo() descriptor
9039d8f1a1d Merge bitcoin/bitcoin#31374: wallet: fix crash during watch-only wallet migration
bb7e686341e fuzz: add cstdlib to FuzzedDataProvider
f6496a83882 guix: disable gcov in base-linux-gcc
846a1387280 func test: Expand tx download preference tests
35000e34cf3 Merge bitcoin/bitcoin#31433: test: #31212 follow up (spelling, refactor)
18d0cfb194c Merge bitcoin/bitcoin#31306: ci: Update Clang in "tidy" job
c93bf0e6e2c test: Add missing %c character test
76cca4aa6fc test: Document non-parity between tinyformat and ConstevalFormatstring
533013cba20 test: Prove+document ConstevalFormatString/tinyformat parity
b81a4659950 refactor test: Profit from using namespace + using detail function
cdd207c0e48 test: add coverage for migrating standalone imported keys
297a876c980 test: add coverage for migrating watch-only script
932cd1e92b6 wallet: fix crash during watch-only wallet migration
18619b47325 wallet: remove BDB dependency from wallet migration benchmark
41d934c72df chore: Typo Overriden -> Overridden
c9fb38a590e refactor test: Cleaner combine_logs.py logic
22723c809a8 Merge bitcoin/bitcoin#31072: refactor: Clean up messy strformat and bilingual_str usages
b1f0f3c288a Merge bitcoin/bitcoin#31406: test: fix `test_invalid_tx_in_compactblock` in `p2p_compactblocks`
1a35447595d Merge bitcoin/bitcoin#31417: test: Avoid F541 (f-string without any placeholders)
eb2ebe6f30a Merge bitcoin/bitcoin#31231: cmake: Fix `IF_CHECK_PASSED` option handling
5b283fa1477 Merge bitcoin/bitcoin#31431: util: use explicit cast in MultiIntBitSet::Fill()
37946c0aafe Set notifications m_tip_block in LoadChainTip()
fa6e599cf9f test: Call generate through test framework only
2eccb8bc5e2 Merge bitcoin/bitcoin#31248: test: Rework wallet_migration.py to use previous releases
7239ddb7cec test: make sure node has all transactions
6d973f86f75 Merge bitcoin/bitcoin#31408: test: Avoid logging error when logging error
6a1e613e853 Merge bitcoin/bitcoin#31427: lint: bump MLC to v0.19.0
edb41e4814c util: use explicit cast in MultiIntBitSet::Fill()
31e59d94c67 iwyu: Drop backported mapping
fe9bc5abef3 ci: Update Clang in "tidy" job
083770adbe7 Merge bitcoin/bitcoin#31414: test: orphan parent is re-requested from 2nd peer
f6afca46a1d lint: use clearer wording on error message
811a65d3c6b lint: bump MLC to v0.19.0
fae76393bdb test: Avoid F541 (f-string without any placeholders)
e8cc790fe2a Merge bitcoin/bitcoin#30445: test: addrman: tried 3 times and never a success so `isTerrible=true`
f9650e18ea6 rbf: remove unecessary newline at end of error string
221c789e916 rpc: include verbose reject-details field in testmempoolaccept response
0184d33b3d2 scripted-diff: Replace strprintf(Untranslated) with Untranslated(strprintf)
17372d788e6 Merge bitcoin/bitcoin#30906: refactor: prohibit direct flags access in CCoinsCacheEntry and remove invalid tests
006e4d1d598 refactor: Use + instead of strformat to concatenate translated & untranslated strings
831d2bfcf94 refactor: Don't embed translated string in untranslated string.
058021969b5 refactor: Avoid concatenation of format strings
11f68cc8108 Merge bitcoin/bitcoin#31212: util: Improve documentation and negation of args
893ccea7e47 Merge bitcoin/bitcoin#31419: test: fix MIN macro redefinition
39950e148d8 Merge bitcoin/bitcoin#31295: refactor: Prepare compile-time check of bilingual format strings
fad83e759a4 doc: Fix incorrect send RPC docs
00c1dbd26dd test: fix MIN macro-redefinition
ae69fc37e4f Merge bitcoin/bitcoin#31391: util: Drop boost posix_time in ParseISO8601DateTime
52fd1511a77 test: drop scriptPubKeyIn arg from CreateNewBlock
ff41b9e296a Drop script_pub_key arg from createNewBlock
7ab733ede44 rpc: rename coinbase_script to coinbase_output_script
c4c5cf17488 cmake: Fix passing `APPEND_*FLAGS` to `secp256k1` subtree
eb540a26295 cmake: Remove `core_sanitizer_{cxx,linker}_flags` helper variables
0f84cdd2661 func: test orphan parent is re-requested from 2nd peer
fa8e0956c23 rpc: Remove deprecated dummy alias for listtransactions::label
95a0104f2e9 test: Add tests for directories in place of config files
e85abe92c7c args: Catch directories in place of config files
e4b6b1822ce test: Add tests for -noconf
483f0dacc41 args: Properly support -noconf
312ec64cc06 test refactor: feature_config_args.py - Stop nodes at the end of tests, not at the beginning
7402658bc2b test: -norpccookiefile
39cbd4f37c3 args: Support -norpccookiefile for bitcoind and bitcoin-cli
e82ad88452b logs: Use correct path and more appropriate macros in cookie-related code
6e28c76907c test: Harden testing of cookie file existence
75bacabb55f test: combine_logs.py - Output debug.log paths on error
cccca8a77f3 test: Avoid logging error when logging error
ee1b9bef000 test: replace `is not` to `!=` when comparing block hash
faf70cc9941 Remove wallet::ParseISO8601DateTime, use ParseISO8601DateTime instead
50cce20013c test, refactor: Compact ccoins_access and ccoins_spend
0a159f09147 test, refactor: Remove remaining unbounded flags from coins_tests
c0b4b2c1eef test: Validate error messages on fail
d5f8d607ab1 test: Group values and states in tests into CoinEntry wrappers
ca74aa7490a test, refactor: Migrate GetCoinsMapEntry to return MaybeCoin
15aaa81c381 coins, refactor: Remove direct GetFlags access
6b733699cfc coins, refactor: Assume state after SetClean in AddFlags to prevent dangling pointers
fc8c282022e coins, refactor: Make AddFlags, SetDirty, SetFresh static
cd0498eabc9 coins, refactor: Split up AddFlags to remove invalid states
2222aecd5f8 util: Implement ParseISO8601DateTime based on C++20
733fa0b0a14 miner: never create a template which exploits the timewarp bug
06443b8f28b net: clarify if we ever sent or received from peer
1d01ad4d73e net: add LogIP() helper, use in net_processing
937ef9eb408 net_processing: use CNode::DisconnectMsg helper
ad224429f82 net: additional disconnection logging
9e4a4b48322 cmake: Check `-Wno-*` compiler options for `leveldb` target
988721d37a3 test: avoid internet traffic in rpc_net.py
d9c8aacce38 depends, refactor: Avoid hardcoding `host_prefix` in toolchain file
bffd92f00f5 args: Support -nopid
12f8d848fd9 args: Disallow -nodatadir
6ff96627600 scripted-diff: Avoid printing version information for -noversion
1807df3d9fb test: addrman: tried 3 times and never a success so `isTerrible=true`
55347a5018b test: Rework migratewallet to use previous release (v28.0)
e8a2054edc8 doc args: Document narrow scope of -color
4b58d55878d test: move the implementation of StaticContentsSock to .cpp
1dd3af8fbc3 Add release note for #31223
997757dd2b4 test: add functional test for -port behavior
fa3e0743047 refactor: Tidy fixups
fa72646f2b1 move-only: Detail_CheckNumFormatSpecifiers and G_TRANSLATION_FUN
faff8403f0a refactor: Pick translated string after format
0e2b12b92a2 net, init: derive default onion port if a user specified a -port
f42ec0f3bfb wallet: Check specified wallet exists before migration
a2c45ae5480 test: report failure during utf8 response decoding
493656763f7 desc spkm: Return SigningProvider only if we have the privkey
97a18c85458 cmake: Fix `IF_CHECK_PASSED` option handling
70398ae05bc mapport: make ProcessPCP void
e56fc7ce6a9 rpc: increase the defaults for -rpcthreads and -rpcworkqueue
9e6cba29882 mapport: remove unnecessary 'g_mapport_enabled'
8fb45fcda07 mapport: remove unnecessary 'g_mapport_current' variable
1b223cb19b4 mapport: merge DispatchMapPort into StartMapPort
9bd936fa34a mapport: drop unnecessary function
2a6536ceda7 mapport: rename 'use_pcp' to 'enable'
c4e82b854cd mapport: make 'enabled' and 'current' bool
d45eb3964f6 test: compare BDB dumps of test framework parser and wallet tool
01ddd9f646a test: complete BDB parser (handle internal/overflow pages, support all page sizes)
9b7023d31a3 Fuzz HRP of bech32 as well
c1a5d5c100b Split out bech32 separator char to header
b28917be363 depends: Make default `host` and `build` comparable
69e95c2b4f9 tests: Test cleanup of mkeys from wallets without privkeys
2b9279b50a3 wallet: Remove unused encryption keys from watchonly wallets
813a16a4633 wallet: Add HasCryptedKeys
cddcbaf81e8 RPC: improve SFFO arg parsing, error catching and coverage
4f4cd353194 rpc: decouple sendtoaddress 'subtractfeefromamount' boolean parsing
ec777917d6e test: Fix intermittent issue in wallet_backwards_compatibility.py
REVERT: f157b0cbc7d kernel: Add pure kernel bitcoin-chainstate
REVERT: 692d1c23c27 kernel: Add functions to get the block hash from a block
REVERT: aad02fb561a kernel: Add block index utility functions to C header
REVERT: 13f4911b064 kernel: Add function to read block undo data from disk to C header
REVERT: 29fdbf26034 kernel: Add functions to read block from disk to C header
REVERT: 2ca304c1def kernel: Add function for copying  block data to C header
REVERT: 705c7f125fd kernel: Add functions for the block validation state to C header
REVERT: 92363c9469c kernel: Add validation interface to C header
REVERT: 7c539908113 kernel: Add interrupt function to C header
REVERT: 522d0886d8f kernel: Add import blocks function to C header
REVERT: 1ae86e2ffe1 kernel: Add chainstate load options for in-memory dbs in C header
REVERT: 09620eeeae6 kernel: Add options for reindexing in C header
REVERT: b4fbf193172 kernel: Add block validation to C header
REVERT: ce6ddde95ee Kernel: Add chainstate loading to kernel C header
REVERT: f5d21c94dc5 kernel: Add chainstate manager option for setting worker threads
REVERT: 783f56f0a29 kernel: Add chainstate manager object to C header
REVERT: 262039e4094 kernel: Add notifications context option to C header
REVERT: dc0d406dd5e kerenl: Add chain params context option to C header
REVERT: b5f84de7ad2 kernel: Add kernel library context object
REVERT: dad0009c86c kernel: Add logging to kernel library C header
REVERT: 27e25aa941c kernel: Introduce initial kernel C header API

git-subtree-dir: depend/bitcoin
git-subtree-split: 5991a69ee0000de551955846d7d21733c326a748
stickies-v added a commit to stickies-v/py-bitcoinkernel that referenced this pull request Mar 17, 2025
5991a69ee00 kernel: Add pure kernel bitcoin-chainstate
05b7d136684 kernel: Add functions to get the block hash from a block
f18c792d843 kernel: Add block index utility functions to C header
89f5bf04673 kernel: Add function to read block undo data from disk to C header
b4f71fc64e7 kernel: Add functions to read block from disk to C header
41306f081ad kernel: Add function for copying  block data to C header
9385d9fc87e kernel: Add functions for the block validation state to C header
0bd9a710358 kernel: Add validation interface to C header
432710f3fc3 kernel: Add interrupt function to C header
cb164ae1eb2 kernel: Add import blocks function to C header
abd67fd93d0 kernel: Add chainstate load options for in-memory dbs in C header
b98c2748e94 kernel: Add options for reindexing in C header
9d0efe1fc86 kernel: Add block validation to C header
87e364fc1ec kernel: Add chainstate loading when instantiating a ChainstateManager
df1599b2d2a kernel: Add chainstate manager option for setting worker threads
fb767002e97 kernel: Add chainstate manager object to C header
10b0fad2fd3 kernel: Add notifications context option to C header
39e7ad8d0dc kernel: Add chain params context option to C header
6285c353b89 kernel: Add kernel library context object
98d10160b6a kernel: Add logging to kernel library C header
4d663446de1 kernel: Introduce initial kernel C header API
698f86964c6 Merge bitcoin/bitcoin#31961: Require sqlite when building the wallet
f4b3a5858ae Merge bitcoin/bitcoin#32064: build: Remove manpages when making MacOS app
92f553eaa92 Merge bitcoin/bitcoin#32038: depends: remove `NO_HARDEN` option
80b5e7f2cb7 build: Remove manpages when making MacOS app
1b251f6b679 Merge bitcoin/bitcoin#31649: consensus: Remove checkpoints (take 2)
5c2f04413e4 Merge bitcoin/bitcoin#32049: contrib: Fix `gen-bitcoin-conf.sh`
5d96c2eab9f Merge bitcoin/bitcoin#31907: qa: clarify and document one assumeutxo test case with malleated snapshot
57d611e53b3 Merge bitcoin/bitcoin#31757: wallet: fix crash on double block disconnection
199d47d9629 Merge bitcoin/bitcoin#32056: doc: Adjust path in comment
de1ada079bf doc: Adjust path in comment
72c150dfe76 Merge bitcoin/bitcoin#32055: contrib: Fix deterministic-unittest-coverage tool path
3c5d1a46819 Remove checkpoints
632ae47372d update comment on MinimumChainWork check
893ca545850 contrib: Fix deterministic-unittest-coverage tool path
c20a5ce106b Merge bitcoin/bitcoin#31901: contrib: Add deterministic-unittest-coverage
a50af6e4c49 Merge bitcoin/bitcoin#32044: ci: Revert "Temporary workaround for old CCACHE_DIR cirrus env"
a5a582d852e Merge bitcoin/bitcoin#31998: depends: patch around PlacementNew issue in capnp
a24419f8bed contrib: Fix `gen-bitcoin-conf.sh`.
eb9730ab658 Merge bitcoin/bitcoin#31987: wallet: Replace "non-0" with "non-zero" in translatable error message
f347d7980e8 Merge bitcoin/bitcoin#31283: Add waitNext() to BlockTemplate interface
fa21597064b ci: Revert "Temporary workaround for old CCACHE_DIR cirrus env"
aa68ed27b89 Merge bitcoin/bitcoin#32041: build: bump CLIENT_VERSION_MAJOR to 29
a3f0e9a4336 [build] bump CLIENT_VERSION_MAJOR to 29
36b6f36ac47 build: require sqlite when building the wallet
5dfef6b9b37 depends: remove NO_HARDEN option
8cb6ab0b971 Merge bitcoin/bitcoin#32025: validation, fix: Use wtxid instead of txid in `CheckEphemeralSpends`
7bb4c82d8ba Merge bitcoin/bitcoin#32021: qa: Enable feature_init.py on Windows
1ef22ce3351 depends: patch around PlacementNew issue in capnp
502d47203e7 Merge bitcoin/bitcoin#31161: cmake: Set top-level target output locations
e38f09b776c Merge bitcoin/bitcoin#31955: test: Fix authproxy named args debug logging
1d0a1a60e83 Merge bitcoin/bitcoin#32004: qt: 29.0 translations update
91328249470 qt: 29.0 translations update
e637dc2c01c refactor: Replace uint256 type with Wtxid in PackageMempoolAcceptResult struct
a3baead7cb8 validation: use wtxid instead of txid in CheckEphemeralSpends
dbc89b604c4 Merge bitcoin/bitcoin#31960: seeds: add signet/testnet4, update makeseeds regex, minblocks, fixed seeds
45719390a14 Merge bitcoin/bitcoin#32011: Docs: fix typos in documentation files
4637cb1eec4 Merge bitcoin/bitcoin#32002: doc: add note to Windows build about stripping bins
5f732089d67 Merge bitcoin/bitcoin#32017: doc: warn against having qt6 installed on macOS
a1aea3ea742 Merge bitcoin/bitcoin#31996: doc: link to benchcoin over bitcoinperf
5601bab4f8b Docs: fix typos in documentation files
59c4930394c qa: Enable feature_init.py on Windows
c94195c077f doc: add note to windows build about stripping bin
ee68b05f3d6 Merge bitcoin/bitcoin#32014: ci: Do not try to install for fuzz builds
093c757d7cf Merge bitcoin/bitcoin#32000: Update minisketch subtree to d1e6bb8bbf8ef104b9dd002cab14a71b91061177
a3c3f37e71e ci: Do not try to install for fuzz builds
d79dab0fa99 doc: warn against having qt6 installed on macOS
f0b659716bd seeds: update .gitignore with signet and testnet4
48f07ac9da4 chainparams: remove hardcoded signet seeds
d4ab1150c40 chainparams: add signet fixed seeds if default network
49f155efbfb seeds: update fixed dns seeds
236687083fb makeseeds: regex improvements
98f84d6c233 generate-seeds: update and add signet
c4ed23e5398 seeds: add testnet4 seeds
60f17dd8167 seeds: add signet seeds
2bcccaa4107 makeseeds: align I2P column header
94e21aa5fc5 makeseeds: update MIN_BLOCKS, add reminder to README
6ae7a3bc4e7 makeseeds: update user agent regex
9b0d2e50946 makeseeds: fix incorrect regex
a9a2b669f3e Merge bitcoin/bitcoin#32003: doc: remove note about macOS self-signing
c7d216ac946 Merge bitcoin/bitcoin#31993: ci: use LLVM 20.1.0 for MSAN
9f3dcacef73 Merge bitcoin/bitcoin#31978: kernel: pre-29.x chainparams and headerssync update
c873ab6f23e doc: remove note about macOS self-signing
bd0ee07310c Merge bitcoin/bitcoin#31407: guix: Notarize MacOS app bundle and codesign all MacOS and Windows binaries
11f8ab140fe test: wallet, coverage for crash on dup block disconnection during unclean shutdown
4fde88bc469 Update minisketch subtree to latest master
f5d8b66a8cf Squashed 'src/minisketch/' changes from eb37a9b8e7..d1e6bb8bbf
0391d7e4c24 Merge bitcoin/bitcoin#31848: test, tracing: don't use problematic `bpf_usdt_readarg_p()`
36d4bd7fe32 Merge bitcoin/bitcoin#31997: doc: update location of minisketch repository
0c0a2717bc3 Merge bitcoin/bitcoin#31954: doc: update fuzz instructions when on macOS
a2ab2faf4a8 Merge bitcoin/bitcoin#31982: scripted-diff: rename libmultiprocess repository
972b604dc42 doc: update location of minisketch repository
611999e0977 doc: link to benchcoin over bitcoinperf
d76647eb8f1 ci: use LLVM 20.1.0 for MSAN
c2341ebb5bb Merge bitcoin/bitcoin#31983: build: don't show ccache summary with MSVC
88debb3e429 Merge bitcoin/bitcoin#31940: Add assumeutxo chainparams to release-process.md
c8dcb61172e Merge bitcoin/bitcoin#31985: doc: Bring reduce-memory.md up to date
11a2d3a63e9 [headerssync] update headerssync config for v29
dd23c532581 [kernel] update chainTxData for v29
80926af8c26 [kernel] update assumevalid and minimumChainWork for v29
0683b8ebf33 [kernel] update assumed blockchain and chainstate sizes for v29
e13c18f6ce5 Merge bitcoin/bitcoin#31969: Add mainnet assumeutxo param at height 880,000
e5ff4e416ec qa: use a clearer and documented amount error in malleated snapshot
b34fdb5ade0 test: introduce output amount (de)compression routines
18e83534ace wallet: Replace "non-0" with "non-zero" in translatable error message
a7911ed101f test: introduce VARINT (de)serialization routines
c718bffc361 build: don't use ccache with MSVC
fff4f93dff8 doc: Bring reduce-memory.md up to date
75486c8ed87 doc: update fuzz instructions when on macOS
18749efb072 scripted-diff: rename libmultiprocess repository
02fae336351 doc: add assumeutxo chainparams to release proc
15717f0ef39 Merge bitcoin/bitcoin#31916: init: Handle dropped UPnP support more gracefully
afde95b4601 Merge bitcoin/bitcoin#31976: delete release note fragments for v29
ae92bd8e1b2 delete release note fragments for v29
79bbb381a1f Merge bitcoin/bitcoin#30901: cmake: Revamp handling of data files
14f16748557 chainparams: add mainnet assumeutxo param at height 880_000
3c1f72a3670 Merge bitcoin/bitcoin#31930: doc: Update translation generation instructions
75d5d235a6b doc: Update translation generation instructions
6876e5076ec Merge bitcoin/bitcoin#31943: test: add coverage for abandoning unconfirmed transaction
44041ae0eca init: Handle dropped UPnP support more gracefully
fac1dd9dffb test: Fix authproxy named args debug logging
0bb8a01810e Merge bitcoin/bitcoin#31880: cmake: Add optional sources to `minisketch` library directly
3bb679e5de2 Merge bitcoin/bitcoin#31952: chore: remove redundant word
d9ba427f9d0 chore: remove redundant word
c12a2528ce6 Merge bitcoin/bitcoin#31415: test: fix TestShell initialization and reset()
ba0a4391ff3 Merge bitcoin/bitcoin#31945: depends: Update libmultiprocess library to fix CI failures
fa99c3b544b test: Exclude SeedStartup from coverage counts
fa579d663d7 contrib: Add deterministic-unittest-coverage
fa3940b1cbc contrib: deterministic-fuzz-coverage fixups
faf905b9b69 doc: Remove unused -fPIC
073a017016e test: add coverage for abandoning unconfirmed transaction
e486597f9a5 Merge bitcoin/bitcoin#31918: fuzz: add basic TxOrphanage::EraseForBlock cov
01f77157660 depends: Update libmultiprocess library to fix CI failure
279ab20bbd3 Merge bitcoin/bitcoin#31925: contrib: update `utxo_to_sqlite` tool documentation and comment
f0ac24846f1 Merge bitcoin/bitcoin#31928: ci: Fix filtering out Qt-generated files from `compile_commands.json`
44bd3159244 Merge bitcoin/bitcoin#31676: fuzz: add targets for PCP and NAT-PMP port mapping requests
d82dc104152 ci: Fix filtering out Qt generated files from `compile_commands.json`
e747ed989eb contrib: fix read metadata related comment
d3095ac35a8 contrib: update `dumptxoutset` command in utxo_to_sqlite doc
ecf54a32ed2 cmake: Add support for builtin `codegen` target
a8c78a0574d cmake: Revamp handling of data files
5b8fd7c3a6b Merge bitcoin-core/gui#854: qt: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
568fcdddaec scripted-diff: Adjust documentation per top-level target output location
026bb226e96 cmake: Set top-level target output locations
db63bfbe7cf Merge bitcoin/bitcoin#31580: test: Remove non-portable IPv6 test
da3ed8b970a Merge bitcoin/bitcoin#31662: cmake: Do not modify `CMAKE_TRY_COMPILE_TARGET_TYPE` globally
9d7672bbcae Merge bitcoin/bitcoin#31742: contrib: fix BUILDDIR in gen-bitcoin-conf script and gen-manpages.py
77bf99012ae Merge bitcoin/bitcoin#30302: doc: clarify loadwallet path loading for wallets
8400b742fa6 fuzz: add basic TxOrphanage::EraseForBlock cov
46a9c73083e Merge bitcoin/bitcoin#31906: ci: Switch to gcr.io mirror to avoid rate limits
82ba9257157 Merge bitcoin/bitcoin#31366: cmake: Check `-Wno-*` compiler options for `leveldb` target
f236854a5bd Merge bitcoin/bitcoin#31731: doc: update translation generation cmake example
eb51963d870 Merge bitcoin/bitcoin#31884: cmake: Make implicit `libbitcoinkernel` dependencies explicit
7267ed05182 qt: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
58f15d4b215 Merge bitcoin/bitcoin#31379: cmake: Fix passing `APPEND_*FLAGS` to `secp256k1` subtree
2c4b229c906 cmake: Introduce `FUZZ_LIBS`
ea929c0848e scripted-diff: Rename CMake helper module
8d238c1dfde cmake: Delete `check_cxx_source_links*` macros
71bf8294a98 cmake: Convert `check_cxx_source_compiles_with_flags` to a function
88ee6800c96 cmake: Delete `check_cxx_source_links_with_flags` macro
09e8fd25b1a build: Don't override CMake's default try_compile target
303f8cca056 test: fix TestShell initialization and reset()
e606c577cb2 Merge bitcoin/bitcoin#31899: cmake: Exclude generated sources from translation
758a93d6215 doc: update translation generation cmake example
fd14995b6a8 Merge bitcoin/bitcoin#31908: Revert merge of PR #31826
e181bda061c guix: Apply all codesignatures to Windows binaries
aafbd23fd97 guix: Apply codesignatures to all MacOS binaries
3656b828dc2 contrib: Sign all Windows binaries too
31d325464d0 contrib: Sign and notarize all MacOS binaries
cadbd4137d8 miner: have waitNext return after 20 min on testnet
d4020f502a6 Add waitNext() to BlockTemplate interface
3e9b12b3e0f Revert "Merge bitcoin/bitcoin#31826: random: Check `GetRNDRRS` is supported in `InitHardwareRand` to avoid infinite loop"
fa8de4706a0 ci: Switch to gcr.io mirror to avoid rate limits
9ef429b6ae6 wallet: fix crash on double block disconnection
785649f3977 Merge bitcoin/bitcoin#29881: guix: use GCC 13 to build releases
139640079ff Merge bitcoin/bitcoin#31826: random: Check `GetRNDRRS` is supported in `InitHardwareRand` to avoid infinite loop
dc3a7146337 Merge bitcoin/bitcoin#31794: wallet: abandon orphan coinbase txs, and their descendants, during startup
06757af2da5 Merge bitcoin/bitcoin#29156: tests: add functional test for miniscript decaying multisig
ca6aa0b9bee doc: loadwallet loads from relative walletdir
710d5b5149d guix: Update signapple
fa1e0a72281 gitignore: target/
ff4ddd3d2e3 Revert "cmake: Ensure generated sources are up to date for `translate` target"
03b3166aac5 cmake: Exclude generated sources from translation
43e287b3ff5 Merge bitcoin/bitcoin#31892: build: remove ENABLE_HARDENING condition from check-security
63d625f7610 Merge bitcoin/bitcoin#31893: test: remove scanning check on `wallet_importdescriptors`
9919e92022b cmake: Add optional sources to `minisketch` library directly
3b42e05aa9e cmake: Make implicit `libbitcoinkernel` dependencies explicit
3fd64efb437 cmake: Avoid using `OBJECT` libraries
28dec6c5f8b Merge bitcoin/bitcoin#31268: cmake: add optional source files to bitcoin_crypto and crc32c directly
50afaf3a389 Merge bitcoin/bitcoin#31836: contrib: Add deterministic-fuzz-coverage
405dd0e647e test: remove scanning check on `wallet_importdescriptors`
113a7a363fa build: remove ENABLE_HARDENING cond from check-security
9da0820ec55 Merge bitcoin/bitcoin#31869: cmake: Add `libbitcoinkernel` target
db36a92c02b Merge bitcoin/bitcoin#31879: doc: add release note for #27432 (utxo-to-sqlite tool)
95722d048a8 doc: add release note for #27432 (utxo-to-sqlite tool)
e4dd5a351bd test: wallet, abandon coinbase txs and their descendants during startup
09b150bb8ad In `InitHardwareRand`, do trail test for `RNDRRS` by `VerifyRNDRRS`
43e71f74988 Merge bitcoin/bitcoin#27432: contrib: add tool to convert compact-serialized UTXO set to SQLite database
e53310c47ab Merge bitcoin/bitcoin#30529: Fix -norpcwhitelist, -norpcallowip, and similar corner case behavior
254fd89d39f Merge bitcoin/bitcoin#31863: random: Initialize variables in hardware RNG functions
75f8396c907 Merge bitcoin/bitcoin#30746: test: cover base[32|58|64] with symmetric roundtrip fuzz (and padding) tests
c4b46b45898 Merge bitcoin/bitcoin#31629: wallet: fix rescanning inconsistency
d0dfd6d3f60 Merge bitcoin/bitcoin#31865: build: move `rpc/external_signer` to node library
ce4dbfc3590 Merge bitcoin/bitcoin#31851: doc: build: Fix instructions for msvc gui builds
504d0c21e26 Merge bitcoin/bitcoin#31439: validation: In case of a continued reindex, only activate chain in the end
0b48f77e101 Merge bitcoin/bitcoin#31413: rpc: Remove deprecated dummy alias for listtransactions::label
21a0efaf8c9 Merge bitcoin/bitcoin#29858: test: Add test for rpcwhitelistdefault
8a00b755e98 Merge bitcoin/bitcoin#31634: doc: Improve dependencies documentation
e58605e04f3 Merge bitcoin/bitcoin#31854: net: reduce CAddress usage to CService or CNetAddr
3a914ab96bd cmake: Rename `bitcoinkernel` component to `libbitcoinkernel`
06b9236f432 Merge bitcoin/bitcoin#31359: cmake: Add `CheckLinkerSupportsPIE` module
7ce09a59921 cmake: Add `libbitcoinkernel` target
e501246e77c build: move rpc/external_signer to node library
73e2ec13737 Merge bitcoin/bitcoin#31844: cmake: add a component for each binary
99755e04ffa random: Initialize variables in hardware RNG functions
7bbd761e816 Merge bitcoin/bitcoin#31421: cmake: Improve compatibility with Python version managers
9491676438a Merge bitcoin/bitcoin#31157: Cleanups to port mapping module post UPnP drop
109bfe9573b Merge bitcoin/bitcoin#31857: depends: avoid an unset `CMAKE_OBJDUMP`
14d1d8e2120 Merge bitcoin/bitcoin#31758: test: deduplicates p2p_tx_download constants
fa3e409c9a0 contrib: Add deterministic-fuzz-coverage
2549fc6fd1c Merge bitcoin/bitcoin#31768: test: check `scanning` field from `getwalletinfo`
9b033bebb18 cmake: rename Kernel component to bitcoinkernel for consistency
2e0c92558e9 cmake: add and use install_binary_component
a85e8c0e615 doc: Add some general documentation about negated options
96d30ed4f96 Merge bitcoin/bitcoin#31495: wallet: Utilize IsMine() and CanProvide() in migration to cover edge cases
490c8fa1782 doc: Add release notes summarizing negated option behavior changes.
458ef0a11b5 refactor: Avoid using IsArgSet() on -connect list option
752ab9c3c65 test: Add test to make sure -noconnect disables -dnsseed and -listen by default
3c2920ec98f refactor: Avoid using IsArgSet() on -signetseednode and -signetchallenge list options
d05668922a2 refactor: Avoid using IsArgSet() on -debug, -loglevel, and -vbparams list options
3d1e8ca53a0 Normalize inconsistent -noexternalip behavior
ecd590d4c1e Normalize inconsistent -noonlynet behavior
5544a19f863 Fix nonsensical bitcoin-cli -norpcwallet behavior
6e8e7f433fc Fix nonsensical -noasmap behavior
b6ab3508064 Fix nonsensical -notest behavior
6768389917a Fix nonsensical -norpcwhitelist behavior
e03409c70f7 Fix nonsensical -norpcbind and -norpcallowip behavior
40c4899bc20 Fix nonsensical -nobind and -nowhitebind behavior
5453e66fd91 Fix nonsensical -noseednode behavior
c242fa5be35 Merge bitcoin/bitcoin#31858: chore: remove redundant word
4c62b37fcd2 chore: remove redundant word
251ea7367cf Merge bitcoin/bitcoin#31767: logging: Ensure -debug=0/none behaves consistently with -nodebug
2434aeab62b depends: avoid an unset CMAKE_OBJDUMP
a5b0a441f85 Merge bitcoin/bitcoin#31855: chore: remove redundant word
cd4bfaee103 net: reduce CAddress usage to CService or CNetAddr
033acdf03da chore: remove redundant word
55cf39e4c54 Merge bitcoin/bitcoin#31722: cmake: Copy `cov_tool_wrapper.sh.in` to the build tree
c3fa043ae56 doc: build: Fix instructions for msvc gui builds
048ef98626b Merge bitcoin/bitcoin#31840: depends: add missing Darwin objcopy
c73b59d47f1 fuzz: implement targets for PCP and NAT-PMP port mapping requests
1695c8ab5bd fuzz: in FuzzedSock::GetSockName(), return a random-length name
713bf66b1f7 Merge bitcoin/bitcoin#31500: depends: Fix compiling `libevent` package on NetBSD
0d472c19533 fuzz: never return an uninitialized sockaddr in FuzzedSock::GetSockName
39b7e2b5905 fuzz: add steady clock mocking to FuzzedSock
6fe1c35c05b pcp: make NAT-PMP error codes uint16_t
01906ce912e pcp: make the ToString method const
a0b66b4bffa Revert "test: Disable known broken USDT test for now"
ec47ba349d0 contrib: don't use bpf_usdt_readarg_p
35ae6ff60f6 test: don't use bpf_usdt_readarg_p
ede388d03df Merge bitcoin/bitcoin#30911: build: simplify by flattening the dependency graph
534414ca9d4 Merge bitcoin/bitcoin#31678: ci: Skip read-write of default env vars
87ce116058f Merge bitcoin/bitcoin#31846: test: Remove stale gettime test
fa3a4eafa11 test: Remove stale gettime test
42251e00e8b Merge bitcoin/bitcoin#30584: depends: Make default `host` and `build` comparable
0b6ed342b57 Merge bitcoin/bitcoin#31711: build: set build type and per-build-type flags as early as possible
a44ccedcc2c Merge bitcoin/bitcoin#31818: guix: remove test-security/symbol-check scripts
e8b3c44da6e build: Include all Windows binaries for codesigning
dd4ec840eeb build: Include all MacOS binaries for codesigning
4e5c9ceb9dd guix: Rename Windows unsigned binaries to unsigned.zip
d9d49cd533b guix: Rename MacOS binaries to unsigned.tar.gz
c214e5268fa guix: Rename unsigned.tar.gz to codesigning.tar.gz
0264c5d86c7 cmake: use per-target components for bitcoin-qt and bitcoin-gui
fb0546b1c5e ci: don't try to install for a fuzz build
c65233230f1 Merge bitcoin/bitcoin#31022: test: Add mockable steady clock, tests for PCP and NATPMP implementations
86528937e5c Merge bitcoin/bitcoin#31834: build: disable bitcoin-node if daemon is not built
7afeaa24693 test: `-debug=0` and `-debug=none` behave similarly to `-nodebug`
a8fedb36a71 logging: Ensure -debug=0/none behaves consistently with -nodebug
d39d521d86a test: `-nodebug` clears previously set debug options
3edaf0b4286 depends: add missing Darwin objcopy
2507ebdf1b2 Merge bitcoin/bitcoin#31837: test: add missing sync to p2p_tx_download.py
79f02d56ef7 Merge bitcoin/bitcoin#30623: test: Fuzz the human-readable part of bech32 as well
ff3171f96d3 Merge bitcoin/bitcoin#31614: test: expect that files may disappear from /proc/PID/fd/
56a9b847bba build: set build type and per-build-type flags as early as possible
8fe552fe6e0 test: add missing sync to p2p_tx_download.py
af76664b12d test: Test migration of a solvable script with no privkeys
17f01b0795e test: Test migration of taproot output scripts
1eb9a2a39fd test: Test migration of miniscript in legacy wallets
e8c3efc7d8f wallet migration: Determine Solvables with CanProvide
fa1b7cd6e2c migration: Skip descriptors which do not parse
440ea1ab639 legacy spkm: use IsMine() to extract watched output scripts
b777e84cd70 legacy spkm: Move CanProvide to LegacyDataSPKM
b1ab927bbf2 tests: Test migration of additional P2WSH scripts
1d813e4bf52 Merge bitcoin/bitcoin#31819: doc: swap CPPFLAGS for APPEND_CPPFLAGS
2ffea09820e build: disable bitcoin-node if daemon is not built
f8d3e0edf47 Merge bitcoin/bitcoin#30205: test: add mocked Sock that can read/write custom data and/or CNetMessages
6b165f5906f Merge bitcoin/bitcoin#31384: mining: bugfix: Fix duplicate coinbase tx weight reservation
6a46be75c43 Merge bitcoin/bitcoin#31793: ci: Use clang-20 for sanitizer tasks
76c090145e9 guix: remove test-security/symbol-check scripts
329b60f595e Merge bitcoin/bitcoin#31810: TxOrphanage: account for size of orphans and count announcements
bc3f59ca530 Merge bitcoin/bitcoin#31820: build: consistently use `CLIENT_NAME` in libbitcoinkernel.pc.in
dead9086543 cmake: Improve compatibility with Python version managers
e107bf78f9d [fuzz] TxOrphanage::SanityCheck accounting
fb0ada982a7 Merge bitcoin/bitcoin#31811: test: test_inv_block, use mocktime instead of waiting
f5b9a2f68c9 build: use CLIENT_NAME in libbitcoinkernel.pc.in
ea687d20293 doc: swap CPPFLAGS for APPEND_CPPFLAGS
81eb6cc2c60 Merge bitcoin/bitcoin#31800: depends: Avoid using the `-ffile-prefix-map` compiler option
2f98d1e06ed Merge bitcoin/bitcoin#31814: ci: Bump fuzz task timeout
9cf746d6631 cmake: add optional source files to crc32c directly
9c7823c5b53 cmake: add optional source files to bitcoin_crypto directly
faca7ac1321 ci: Bump fuzz task timeout
22dccea5532 [fuzz] txorphan byte accounting
982ce101781 add orphanage byte accounting to TxDownloadManagerImpl::CheckIsEmpty()
c289217c014 [txorphanage] track the total number of announcements
e5ea7daee01 [txorphanage] add per-peer weight accounting
672c69c688f [refactor] change per-peer workset to info map within orphanage
59cd0f0e091 [txorphanage] account for weight of orphans
f93d6cb0caa Merge bitcoin/bitcoin#31809: Prepare "Open Transifex translations for v29.0" release step
f605f7a9c26 build: refactor: set debug definitions in main CMakeLists
2706c5b7c8e test: test_inv_block, use mocktime instead of waiting
0a02e7fdeac test: deduplicates p2p_tx_download constants
2f27c910869 qt: Update the `src/qt/locale/bitcoin_en.xlf` translation source file
864386a7444 cmake: Ensure generated sources are up to date for `translate` target
d6c229d8bd4 Merge bitcoin/bitcoin#31804: ci: Remove no longer needed `-Wno-error=documentation`
2b51dd384b4 Update Transifex slug for 29.x
82ba5051342 Merge bitcoin/bitcoin#31759: test: fixes p2p_ibd_txrelay wait time
ae9eaa063b6 Merge bitcoin/bitcoin#31760: test: make sure we are on sync with a peer before checking if they have sent a message
f1d7a6dfa14 ci: Remove no longer needed '-Wno-error=documentation'
a43f08c4ae3 Merge bitcoin/bitcoin#25832: tracing: network connection tracepoints
407062f2ac9 depends: Avoid using the `-ffile-prefix-map` compiler option
b9c241804c0 Merge bitcoin/bitcoin#30226: test: add validation for gettxout RPC response
1334ca6c070 Merge bitcoin/bitcoin#31437: func test: Expand tx download preference tests
33932d30e38 Merge bitcoin/bitcoin#31784: test: added additional coverage to waitforblock and waitforblockheight rpc's
2aa7be1744a Merge bitcoin/bitcoin#31358: depends: Avoid hardcoding `host_prefix` in toolchain file
386eecff5f1 doc: add release notes
3eaa0a3b663 miner: init: add `-blockreservedweight` startup option
777434a2cd1 doc: rpc: improve `getmininginfo` help text
c8acd4032d5 init: fail to start when `-blockmaxweight` exceeds `MAX_BLOCK_WEIGHT`
5bb31633cc9 test: add `-blockmaxweight` startup option functional test
2c7d90a6d67 miner: bugfix: fix duplicate weight reservation in block assembler
fa5a02bcfa2 ci: Use clang-20 for sanitizer tasks
474139aa9bf wallet: abandon inactive coinbase tx and their descendants during startup
bb0879ddabc test: check `scanning` field from `getwalletinfo`
94ca99ac51d Merge bitcoin/bitcoin#31666: multi-peer orphan resolution followups
6f5ae1a5745 Merge bitcoin/bitcoin#31653: lint: Call more checks from test_runner
e3622a96929 tracing: document that peer addrs can be >68 chars
b19b526758f tracing: log_p2p_connections.bt example
caa5486574b tracing: connection closed tracepoint
b2ad6ede95e tracing: add misbehaving conn tracepoint
68c1ef4f19b tracing: add inbound connection eviction tracepoint
4d61d52f438 tracing: add outbound connection tracepoint
85b2603eec6 tracing: add inbound connection tracepoint
7e0db87d4ff test: added additional coverage to waitforblock and waitforblockheight rpc's
f89f16846ec depends: Fix compiling `libevent` package on NetBSD
1172bc4157e Merge bitcoin-core/gui#850: psbt: Use SIGHASH_DEFAULT when signing PSBTs
85f96b01b77 Merge bitcoin/bitcoin#30909: wallet, assumeutxo: Don't Assume m_chain_tx_count, Improve wallet RPC errors
601a6a69172 Merge bitcoin/bitcoin#30965: kernel: Move block tree db open to block manager
eaf4b928e72 Merge bitcoin/bitcoin#31746: test: Added coverage to the waitfornewblock rpc
992f37f2e10 Merge bitcoin/bitcoin#31600: rpc: have getblocktemplate mintime account for timewarp
12fa9511b5f build: simplify dependency graph
c4e498300c7 build: avoid unnecessary dependencies on generated headers
8fa10edcd17 Merge bitcoin/bitcoin#31428: ci: Allow build dir on CI host
809d7e763cc Merge bitcoin/bitcoin#31751: test: fix intermittent timeout in p2p_1p1c_network.py
7426afbe624 [p2p] assign just 1 random announcer in AddChildrenToWorkSet
4c1fa6b28c2 test fix: make peer who sends MSG_TX announcement non-wtxidrelay
2da46b88f09 pass P2PTxInvStore init args to P2PInterface init
e3bd51e4b52 [doc] how unique_parents can be empty
32eb6dc758a [refactor] assign local variable for wtxid
18820ccf6b2 multi-announcer orphan handling test fixups
c4cc61db98f [fuzz] GetCandidatePeers
7704139cf0d [refactor] make GetCandidatePeers take uint256 and in-out vector
6e4d392a753 [refactor] rename to OrphanResolutionCandidate to MaybeAdd*
57221ad9797 [refactor] move parent inv-adding to OrphanResolutionCandidate
6835e9686c4 Merge bitcoin/bitcoin#31545: ci: optionally use local docker build cache
c7869cb2143 Merge bitcoin/bitcoin#30844: RPC: improve SFFO arg parsing, error catching and coverage
1e0c5bd74ae Merge bitcoin/bitcoin#30125: test: improve BDB parser (handle internal/overflow pages, support all page sizes)
1d6c6e98c13 Merge bitcoin/bitcoin#31633: net: Disconnect message follow-ups to #28521
3f4b104b1b7 test: make sure we are on sync with a peer before checking if they have sent a message
1973a9e4f1d test: fixes p2p_ibd_txrelay wait time
152a2dcdefa test: fix intermittent timeout in p2p_1p1c_network.py
ad2f9324c61 Merge bitcoin/bitcoin#31740: depends: Update libmultiprocess library before converting to subtree
e1676b08f7b doc: release notes
0082f6acc1d rpc: have mintime account for timewarp rule
79d45b10f1b rpc: clarify BIP94 behavior for curtime
07135481378 refactor: add GetMinimumTime() helper
93747d934b8 test: Added coverage to the waitfornewblock rpc
b432e367427 Merge bitcoin/bitcoin#31736: doc: update links in ci.yml
74ea7edafae Merge bitcoin/bitcoin#31522: ci: Enable DEBUG=1 for one GCC-12+ build to catch 117966 regressions
f34c580bd81 Merge bitcoin/bitcoin#31620: test: Remove --noshutdown flag, Tidy startup failures
1681c08d42c doc: update links in ci.yml
b0869648aa9 Merge bitcoin/bitcoin#21590: Safegcd-based modular inverses in MuHash3072
63a8791e15c contrib: fix BUILDDIR in gen-bitcoin-conf script and gen-manpages.py
4e0aa1835b3 test: Add test for IPC serialization bug
2221c8814d7 depends: Update libmultiprocess library before converting to subtree
0a931a9787b Merge bitcoin/bitcoin#31599: qa: Improve framework.generate* enforcement (#31403 follow-up)
4ac1efb147d Merge bitcoin/bitcoin#30322: test: raise an error in `_bulk_tx_` when `target_vsize` is too low
8775731e6d4 Merge bitcoin/bitcoin#31241: wallet: remove BDB dependency from wallet migration benchmark
9ecc7af41f6 Merge bitcoin/bitcoin#31674: init: Lock blocksdir in addition to datadir
551a09486c4 net: Switch to DisconnectMsg in CConnman
723440c5b8e test framework, wallet: rename get_scriptPubKey method to get_output_script
fa0232a3e07 test: add validation for gettxout RPC response
2d07384243c Merge bitcoin/bitcoin#31658: test: p2p: fix sending of manual INVs in tx download test
796e1a4c5d1 Merge bitcoin/bitcoin#31718: Docs: fix typos in documentation files
81b9800c87e fix typos
d5a2ba44ba4 Merge bitcoin/bitcoin#31416: doc: Fix incorrect send RPC docs
81c174e3186 cmake: Refer to the configure log instead of printing PIE test error
9914e737297 Merge bitcoin/bitcoin#31704: doc: add a section in the fuzzing documentation about using MSan
faf2f2c654d test: Avoid redundant stop and error spam on shutdown
188b02116d8 Merge bitcoin/bitcoin#31635: test: add coverage for unknown address type for `createwalletdescriptor`
2317e6cf2da Merge bitcoin/bitcoin#31696: test: Check that reindex with prune wipes blk files
94f0adcc31d Merge bitcoin/bitcoin#31541: qa: Use `sys.executable` when invoking other Python scripts
59876b3ad71 Merge bitcoin/bitcoin#31376: Miner: never create a template which exploits the timewarp bug
e3c01527696 cmake: Copy `cov_tool_wrapper.sh.in` to the build tree
faf8fc5487d lint: Call lint_commit_msg from test_runner
fa99728b0c8 lint: Move commit range printing to test_runner
fa673cf3449 lint: Call lint_scripted_diff from test_runner
449a25b9582 Merge bitcoin/bitcoin#31709: cmake: Fail if `Libmultiprocess` is missing when `WITH_MULTIPROCESS=ON`
5acf12bafeb Merge bitcoin/bitcoin#31583: rpc: add target to getmininginfo field and show next block info
78fa88c53ad Merge bitcoin/bitcoin#31548: fuzz: Abort when global PRNG is used before SeedRand::ZEROS
c31166ac77a cmake: Fail if `Libmultiprocess` is missing when `WITH_MULTIPROCESS=ON`
5d6f6fd00d7 Merge bitcoin/bitcoin#31490: refactor: inline `UndoWriteToDisk` and `WriteBlockToDisk` to reduce serialization calls
7b4d072e4fa Merge bitcoin/bitcoin#31690: doc: Amend notes on benchmarking
bb633c9407c tests: add functional test for miniscript decaying multisig
e94c9d17123 [doc] Amend notes on benchmarking
5c3e4d8b293 doc: add a section about using MSan
a4df12323c4 doc: add release notes
c75872ffdd9 test: use DIFF_1_N_BITS in tool_signet_miner
4131f322ac0 test: check difficulty adjustment using alternate mainnet
c4f68c12e22 Use OP_0 for BIP34 padding in signet and tests
cf0a62878be rpc: add next to getmininginfo
2d18a078a2d rpc: add target and bits to getchainstates
f153f57acc9 rpc: add target and bits to getblockchaininfo
523520f8279 Merge bitcoin/bitcoin#30866: descriptor: Add proper Clone function to miniscript::Node
baa504fdfaf rpc: add target to getmininginfo result
2a7bfebd5e7 Add target to getblock(header) in RPC and REST
341f9325167 rpc: add GetTarget helper
d20d96fa41c test: use REGTEST_N_BITS in feature_block
7ddbed4f9fc rpc: add nBits to getmininginfo
ba7b9f3d7bf build: move pow and chain to bitcoin_common
c4cc9e3e9df consensus: add DeriveTarget() to pow.h
fa9aced8006 test: Check that reindex with prune wipes blk files
66d21d0eb65 qa: check parsed multipath descriptors dont share references
09a1875ad8c miniscript: Make NodeRef a unique_ptr
9ccb46f91ac miniscript: Ensure there is no NodeRef copy constructor or assignment operator
6d11c9c60b5 descriptor: Add proper Clone function to miniscript::Node
5691fa93c48 Merge bitcoin/bitcoin#31661: depends: Override default build type for `libevent`
8fc7140846f Merge bitcoin/bitcoin#31671: Update leveldb subtree to latest upstream
a9edec94198 Merge bitcoin/bitcoin#31701: test: Bump sync_mempools timeout in p2p_1p1c_network.py
fa80a7dac4b test: Bump sync_mempools timeout in p2p_1p1c_network.py
1111b0ac196 ci: Add missing --combinedlogslen to test-each-commit task
d44626a9c2e depends: Override default build type for `libevent`
d7f56cc5d9e Merge bitcoin/bitcoin#31590: descriptors: Try pubkeys of both parities when retrieving the private keys for an xonly pubkey in a descriptor
fa9593efc2e test: Use high-level python types
c39b3cfcd1b test: Extra verification that migratewallet migrates
0cdddeb2240 kernel: Move block tree db open to BlockManager constructor
7fbb1bc44b1 kernel: Move block tree db open to block manager
0c1b29a0577 ci: use GCC 13 for some jobs
fa8ade300f4 refactor: Avoid GCC false positive error
fa40807fa83 ci: Enable DEBUG=1 for one GCC-12+ build to catch 117966 regressions
cbc65b3ad5a guix: use GCC 13.3.0 for base toolchain.
4601b7ca611 Merge bitcoin/bitcoin#31125: depends: add *FLAGS to gen_id
fa952acdb6e ci: Skip read-write of default env vars
eb243ff06c4 Merge bitcoin/bitcoin#31593: ci: Bump centos stream 10
6dc60126701 Merge bitcoin/bitcoin#31657: ci: Supply `--platform` argument to `docker` commands.
a759ea3e920 doc: Improve dependencies documentation
4e52a634430 Merge bitcoin/bitcoin#31691: util: fix compiler warning about deprecated space before _MiB
2e839dd641d Merge bitcoin/bitcoin#30774: depends: Qt 5.15.16
d3339a7cd5f util: fix compiler warning about deprecated space before _MiB
f0e5e4cdbec test: Add test for rpcwhitelistdefault
6e29de21010 ci: Supply `platform` argument to docker commands.
faaabfaea76 ci: Bump centos stream 10
89720b7a1b3 Merge bitcoin/bitcoin#31543: cmake: Always provide `RPATH` on NetBSD
5b3a81f44da Merge bitcoin/bitcoin#31626: depends: Use base system's `sha256sum` utility on FreeBSD
832d5730730 Merge bitcoin/bitcoin#31651: ci: Turn CentOS task into native one
5ac1e0814ae Merge bitcoin/bitcoin#31621: doc: Update dependency installation for Debian/Ubuntu
370b9c1a0b9 Merge bitcoin/bitcoin#31675: [test] fix p2p_orphan_handling.py empty orphanage check
8996fef8aeb test: p2p: check that INV messages not matching wtxidrelay are ignored
2656a5658c1 tests: add a test for the new blocksdir lock
bdc0a68e676 init: lock blocksdir in addition to datadir
cabb2e5c242 refactor: introduce a more general LockDirectories for init
1db331ba764 init: allow a new xor key to be written if the blocksdir is newly created
2e75ebb6169 [test] fix p2p_orphan_handling.py empty orphanage check
f9032a4abb7 Merge bitcoin/bitcoin#31242: wallet, desc spkm: Return SigningProvider only if we have the privkey
9dc4eedb670 Merge bitcoin/bitcoin#31673: doc: fix minor typos in comments
b30cc71e853 doc: fix typos
57ba59c0cdf refactor: Remove redundant reindex check
160c27ec078 doc: Update dependency installation for Debian/Ubuntu and CI
df8bf657450 Merge bitcoin/bitcoin#31483: kernel: Move kernel-related cache constants to kernel cache
0f716f28896 qa: cover PROTOCOL_ERROR variant in PCP unit tests
fc700bb47fd test: Add tests for PCP and NATPMP implementations
335798c4963 Merge bitcoin/bitcoin#31397: p2p: track and use all potential peers for orphan resolution
98939ce7b74 Merge bitcoin/bitcoin#31655: refactor: Avoid UB in SHA3_256::Write
910a11fa663 build: remove LEVELDB_IS_BIG_ENDIAN
9ec64253ab6 Update leveldb subtree to latest upstream
d336b7ab85d Squashed 'src/leveldb/' changes from 688561cba8..04b5790928
65a0920ca6b cmake: Add `CheckLinkerSupportsPIE` module
712cab3a8f8 Merge bitcoin/bitcoin#31061: refactor: Check translatable format strings at compile-time
2a92702bafc init: Use size_t consistently for cache sizes
65cde3621db kernel: Move default cache constants to caches
8826cae2854 kernel: Move non-kernel db cache size constants
e758b26b85d kernel: Move kernel-specific cache size options to kernel
d5e2c4a4097 fuzz: Add fuzz test for checked and saturating add and left shift
c03a2795a8e util: Add integer left shift helpers
31a0e5f0905 depends: Qt 5.15.16
fa3efb57290 refactor: Introduce struct to hold a runtime format string
fa6adb01344 lint: Remove unused and broken format string linter
fadc6b9bac8 refactor: Check translatable format strings at compile-time
fa1d5acb8d8 refactor: Use TranslateFn type consistently
e0b33368222 test: p2p: fix sending of manual INVs in tx download test
e7c47949550 Merge bitcoin/bitcoin#31630: doc: Archive 28.1 release notes
7cd862aab94 Merge bitcoin/bitcoin#31646: test: avoid internet traffic
eeee6cf2ffb refactor: Delay translation of _() literals
fabeca3458b refactor: Avoid UB in SHA3_256::Write
fad4032b219 refactor: Drop unused UCharCast
2ed161c5ce6 test: avoid generating non-loopback traffic from p2p_dns_seeds.py
a5746dc559c test: avoid generating non-loopback traffic from feature_config_args.py
6b3f6eae70b test: avoid generating non-loopback traffic from p2p_seednode.py
fabefd99158 ci: Turn CentOS task into native one
caf95210331 net: Use mockable steady clock in PCP implementation
03648321ecb util: Add mockable steady_clock
ab1d3ece026 net: Add optional length checking to CService::SetSockAddr
bb5f76ee013 doc: Archive 28.1 release notes
35bf426e022 Merge bitcoin/bitcoin#28724: wallet: Cleanup accidental encryption keys in watchonly wallets
4da7bfdcc90 test: add coverage for unknown address type for `createwalletdescriptor`
21684065978 Merge bitcoin/bitcoin#31608: doc: Clarify min macOS and Xcode version
2f6c7e7f6c0 Merge bitcoin/bitcoin#31612: ci: build msan's libc++ with _LIBCPP_ABI_BOUNDED_*
01df180bfb8 depends: add mold & ld.lld to gen_id
d032ac80633 depends: add *FLAGS to gen_id
528354e213a Merge bitcoin/bitcoin#31616: init,log: Unify block index log line
4bedfb5c833 Merge bitcoin/bitcoin#31623: tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs
e5c268084eb Merge bitcoin/bitcoin#31627: depends: Fix spacing issue
d695d139171 Merge bitcoin/bitcoin#31611: doc: upgrade license to 2025.
bbac17608d1 net: Bring back log message when resetting socket
04b848e4827 net: Specify context in disconnecting log message
0c4954ac7d9 net_processing: Add missing use of DisconnectMsg
37af8bfb34d Merge bitcoin/bitcoin#31549: fuzz: Abort if system time is called without mock time being set
54115d8de5c Merge bitcoin/bitcoin#31617: build, test: Build `db_tests.cpp` regardless of `USE_BDB`
0a77441158c Merge bitcoin/bitcoin#31451: wallet: migration, avoid loading legacy wallet after failure when BDB isn't compiled
56725f88293 Merge bitcoin/bitcoin#31462: test: raise explicit error if any of the needed release binaries is missing
727c5427696 depends: Use base system's `sha256sum` utility
4818da809f0 wallet: fix rescanning inconsistency
f5883286e32 Add a fuzz test for Num3072 multiplication and inversion
a26ce628942 Safegcd based modular inverse for Num3072
91ce8cef2d8 Add benchmark for MuHash finalization
223081ece65 scripted-diff: rename block and undo functions for consistency
baaa3b28467 refactor,blocks: remove costly asserts and modernize affected logs
fa39f27a0f8 refactor,blocks: deduplicate block's serialized size calculations
8a46286da66 depends: Fix spacing issue
e04be3731f4 init,log: Unify block index and chainstate loading log line
dfb2f9d0048 refactor,blocks: inline `WriteBlockToDisk`
42bc4914658 refactor,blocks: inline `UndoWriteToDisk`
86b85bb11f8 bench: add SaveBlockBench
34f9a0157aa refactor,bench: rename bench/readblock.cpp to bench/readwriteblock.cpp
8bd5f8a38ce [refactor] init: Simplify coinsdb cache calculation
f93f0c93961 tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs
66aa6a47bd8 Merge bitcoin/bitcoin#30391: BlockAssembler: return selected packages virtual size and fee
fa3c787b62a fuzz: Abort when global PRNG is used before SeedRand::ZEROS
92787dd52cd test: raise an error when target_vsize is below tx virtual size
a8780c937f7 test: raise an error if output value is <= 0 in `create_self_transfer`
f6e88931f07 test: test that `create_self_transfer_multi` respects `target_vsize`
fae3bf6b870 test: Avoid redundant stop and error spam on startup failure
fa0dc09b900 test: Remove --noshutdown flag
fad441fba07 test: Treat leftover process as error
7c123c08ddc  miner: add package feerate vector to CBlockTemplate
fd2d96d9087 build, test: Build `db_tests.cpp` regardless of `USE_BDB`
fb37acd932b ci: build msan's libc++ with _LIBCPP_ABI_BOUNDED_*
b2e9fdc00f5 test: expect that files may disappear from /proc/PID/fd/
1ea7e45a1f4 test: raise explicit error if any of the needed release binaries is missing
c0045e6cee0 Add test for multipath miniscript expression
b4ac48090f2 descriptor: Use InferXOnlyPubkey for miniscript XOnly pubkey from script
433412fd847 Merge bitcoin/bitcoin#31596: doc: Clarify comments about endianness after #30526
c506f2cee7b Merge bitcoin/bitcoin#31581: test: have miner_tests use  Mining interface
3e97ff9c5ea gui, psbt: Use SIGHASH_DEFAULT when signing PSBTs
4c50c21f6bf tests: Check ExpandPrivate matches for both parsed descriptors
092569e8580 descriptor: Try the other parity in ConstPubkeyProvider::GetPrivKey()
a96b84cb1b7 fuzz: Abort when calling system time without setting mock time
ff21870e20b fuzz: Add SetMockTime() to necessary targets
1b51616f2e3 test: improve rogue calls in mining functions
41a2ce9b7d7 Merge bitcoin/bitcoin#31464: util: Add missing types in make_secure_unique
86d7135e36e [p2p] only attempt 1p1c when both txns provided by the same peer
f7658d9b147 [cleanup] remove p2p_inv from AddTxAnnouncement
063c1324c14 [functional test] getorphantxs reflects multiple announcers
0da693f7e12 [functional test] orphan handling with multiple announcers
b6ea4a9afe2 [p2p] try multiple peers for orphan resolution
1d2e1d709ce [refactor] move creation of unique_parents to helper function
c6893b0f0b7 [txdownload] remove unique_parents that we already have
163aaf285af [fuzz] orphanage multiple announcer functions
22b023b09da [unit test] multiple orphan announcers
96c1a822a27 [unit test] TxOrphanage EraseForBlock
04448ce32a3 [txorphanage] add GetTx so that orphan vin can be read
e810842acda [txorphanage] support multiple announcers
62a9ff18707 [refactor] change type of unique_parents to Txid
6951ddcefd9 [txrequest] GetCandidatePeers
6475849c402 Merge bitcoin/bitcoin#31435: lint: Move assertion linter into lint runner
b537a2c02a9 doc: upgrade license to 2025.
49fc2258cf3 Merge bitcoin/bitcoin#31526: doc: Install `net/py-pyzmq` port on FreeBSD for `interface_zmq.py`
ac918c7cc0e Merge bitcoin/bitcoin#31552: depends: Update capnproto to 1.1.0
fa029a78780 doc: Clarify min macOS and Xcode version
a0f0c48ae20 Merge bitcoin/bitcoin#31584: txmempool: fix typos in comments
558783625ca Merge bitcoin/bitcoin#31586: doc: Update NetBSD Build Guide
3e936789b16 Merge bitcoin/bitcoin#31592: ci: Run functional tests in msan task
5af642bf48b Merge bitcoin/bitcoin#31604: test: fix typo in mempool_ephemeral_dust
8888ee4403f ci: Allow build dir on CI host
9d2d9f7ce29 rpc: Include assumeutxo as a failure reason of rescanblockchain
595edee1690 test, assumeutxo: import descriptors during background sync
d73ae603d44 rpc: Improve importdescriptor RPC error messages
27f99b6d63b validation: Don't assume m_chain_tx_count in GuessVerificationProgress
42d5d533631 interfaces: Add helper function for wallet on pruning
29bca9713d2 test: fix typo in mempool_ephemeral_dust
f919d919eb8 fuzz: Add fuzzing for max_ret_len in DecodeBase58/DecodeBase58Check
635bc58f46b test: Fuzz Base32/Base58/Base64 roundtrip conversions
5dd3a0d8a89 test: Extend base58_encode_decode.json with edge cases
ae40cf1a8e1 test: Add padding tests for Base32/Base64
4036ee3f2bf Merge bitcoin/bitcoin#31542: test: Embed univalue json tests in binary
f6a6d912059 test: add check for getting SigningProvider for a CPubKey
62a95f5af9b test: refactor: move `CreateDescriptor` helper to wallet test util module
5db7d4d3d28 doc: Correct docstring describing max block tree db cache
6aa0e70ccbd Merge bitcoin/bitcoin#31524: refactor: Allow std::byte in Read(LE/BE)
3e0a992a3f0 doc: Clarify comments about endianness after #30526
604bf2ea37f Merge bitcoin/bitcoin#28121: include verbose "reject-details" field in testmempoolaccept response
04249682e38 test: use Mining interface in miner_tests
fa0411ee305 ci: Run functional tests in msan task
2bdaf52ed12 doc: Update NetBSD Build Guide
34e8ee23b83 txmempool: fix typos in comments
228aba2c4d9 Merge bitcoin/bitcoin#31555: descriptor: remove unreachable verification for `pkh`
9b9752217f2 Merge bitcoin/bitcoin#31570: test: descriptor: fix test for `MaxSatisfactionWeight`
87c9ebd8892 Merge bitcoin/bitcoin#31563: rpc: Extend scope of validation mutex in generateblock
df5c643f92d Merge bitcoin/bitcoin#31556: validation: Send correct notification during snapshot completion
fa3de038f74 Merge bitcoin/bitcoin#31537: qa: Limit `-maxconnections` in tests
ba0cb7d5a54 Merge bitcoin/bitcoin#31468: test: Avoid intermittent error in assert_equal(pruneheight_new, 248)
69e35f5c60a Merge bitcoin/bitcoin#31403: test: Call generate RPCs through test framework only
17db84dbb8d Merge bitcoin/bitcoin#31251: test: report detailed msg during utf8 response decoding error
e6f14241f6d Merge bitcoin/bitcoin#31540: refactor: std::span compat fixes
a137b0bd6b2 Merge bitcoin/bitcoin#31215: rpc: increase the defaults for -rpcthreads and -rpcworkqueue
67bfe28995e Merge bitcoin/bitcoin#31531: rpc: Add signet_challenge field to getblockchaininfo and getmininginfo
ad174c28175 Merge bitcoin/bitcoin#31497: Remove unused variable assignment
d871d778251 test: Remove non-portable IPv6 test
4080b66cbec test: add test for utxo-to-sqlite conversion script
ec99ed73808 contrib: add tool to convert compact-serialized UTXO set to SQLite database
b29d68f942e test: descriptor: fix test for `MaxSatisfactionWeight`
9355578a779 Merge bitcoin/bitcoin#31534: coins: warn on shutdown for big UTXO set flushes
f95fb793726 Merge bitcoin/bitcoin#28521: net, net_processing: additional and consistent disconnect logging
bc43ecaf6dc test: add functional test for balance after snapshot completion
226d03dd610 validation: Send correct notification during snapshot completion
fa63b8232f3 test: generateblocks called by multiple threads
fa62c8b1f04 rpc: Extend scope of validation mutex in generateblock
366ae00b779 descriptor: Assume `ParseScript` is not being called with a P2WPKH context
b448b014947 test: add a mocked Sock that allows inspecting what has been Send() to it
f1864148c4a test: put the generic parts from StaticContentsSock into a separate class
e3664085908 descriptor: remove unreachable verification for `pkh`
5709718b830 coins: warn on shutdown for big UTXO set flushes
b0b8d96d93e depends: Update capnproto to 1.1.0
e87429a2d0f ci: optionally use local docker build cache
fc7b2148470 Merge bitcoin/bitcoin#31529: guix: latest 2.31 glibc
273440d5c9d Merge bitcoin/bitcoin#31535: doc: Install `py3-zmq` port on OpenBSD for `interface_zmq.py`
4cdf50c4ba8 Merge bitcoin/bitcoin#31544: cmake: Remove unused `BUILD_TESTING` variable from "dev-mode" preset
faf7eac364f test: clang-format -i src/univalue/test/unitester.cpp
fafa9cc7a59 test: Embed univalue json tests in binary
fa044857caf test: Re-enable univalue test fail18.json
63b6b638aa5 build: Use character literals for generated headers to avoid narrowing
ecaa786cc10 rpc: add signet_challenge field to getblockchaininfo and getmininginfo
e196190a284 cmake: Remove unused `BUILD_TESTING` variable from "dev-mode" preset
11115e9aa84 cmake: Always provide `RPATH` on NetBSD
d38ade7bc40 qa: Use `sys.executable` when invoking other Python scripts
bb57017b294 Merge bitcoin/bitcoin#31521: fuzz: Fix misplaced SeedRand::ZEROS
5bbbc0d0eeb Merge bitcoin/bitcoin#31325: Make m_tip_block std::optional
d9d5bc2e746 qa: Limit `-maxconnections` in tests
fa494a1d53f refactor: Specify const in std::span constructor, where needed
faaf4800aa7 Allow std::span in stream serialization
faa5391f770 refactor: test: Return std::span from StringBytes
fa862234753 refactor: Avoid passing span iterators when data pointers are expected
faae6fa5f61 refactor: Simplify SpanPopBack
facc4f120b0 refactor: Replace fwd-decl with proper include
fac3a782eaf refactor: Avoid needless, unsafe c-style cast
c1252b14d71 Merge bitcoin/bitcoin#31520: #31318 followups
be1a2e5dfbd doc: Install `py3-zmq` port on OpenBSD for `interface_zmq.py`
fa0c473d4c8 Merge bitcoin/bitcoin#31196: Prune mining interface
ea53568a068 Merge bitcoin/bitcoin#31393: refactor: Move GuessVerificationProgress into ChainstateManager
b8710201fbd guix: disable timezone tools & profiling in glibc
23b8a424fb0 guix: bump glibc 2.31 to 7b27c450c34563a28e634cccb399cd415e71ebfe
0a76c292ac8 doc: Install `net/py-pyzmq` port on FreeBSD for `interface_zmq.py`
fadd568931a fuzz: Fix misplaced SeedRand::ZEROS
fa83bec78ef refactor: Allow std::byte in Read(LE/BE)
4f06ae05ed6 refactor: fix typo in node/types.h
366fbf152c6 test: drop extraneous bracket in mining util
c991cea1a0c Remove processNewBlock() from mining interface
9a47852d88c Remove getTransactionsUpdated() from mining interface
bfc4e029d41 Remove testBlockValidity() from mining interface
477b3574607 Merge bitcoin/bitcoin#31493: refactor: Use immediate lambda to work around GCC bug 117966
a60d5702fd5 Merge bitcoin/bitcoin#31486: fuzz: Abort when using global PRNG without re-seed
a95a8ba3a3f Merge bitcoin/bitcoin#31197: refactor: mining interface 30955 followups
cd3d9fa5ea8 Merge bitcoin/bitcoin#31318: Drop script_pub_key arg from createNewBlock
c9136ca9060 validation: fix issue with an interrupted -reindex
a2675897e2a validation: Don't loop over all chainstates in LoadExternalBlock
785486a9755 Merge bitcoin/bitcoin#31489: fuzz: Fix test_runner error reporting
1251a236420 Merge bitcoin/bitcoin#31458: build: use `-mbig-obj` for Windows debug builds
d2136d32bb4 Merge bitcoin/bitcoin#31502: depends: Fix `CXXFLAGS` on NetBSD
58436d4af38 Merge bitcoin/bitcoin#31503: cmake: Link `bitcoin_consensus` as a library
38dcf0f9827 Merge bitcoin/bitcoin#31498: depends: Ignore prefix directory on OpenBSD
fae63bf1303 fuzz: Clarify that only SeedRandomStateForTest(SeedRand::ZEROS) is allowed
81cea5d4ee0 Ensure m_tip_block is never ZERO
e058544d0e8 Make m_tip_block an std::optional
f86678156a3 Check leaves size maximum in MerkleComputation
4d572882463 refactor: use CTransactionRef in submitSolution
2e81791d907 Drop TransactionMerklePath default position arg
39d3b538e6a Rename merkle branch to path
fa18acb457e fuzz: Abort when using global PRNG without re-seed
fa9e0489f57 refactor: Use immediate lambda to work around GCC bug 117966
46e207d3296 cmake: Link `bitcoin_consensus` as a library
a10bb400e8c depends: Fix CXXFLAGS on NetBSD
3353d4a5e9f depends: Ignore prefix directory on OpenBSD
b9766c9977e Remove unused variable assignment
b042c4f0538 Merge bitcoin/bitcoin#31223: net, init: derive default onion port if a user specified a -port
e8f0e6efaf5 lint: output-only - Avoid repeated arrows, trim
facb4d010ca refactor: Move GuessVerificationProgress into ChainstateManager
2b9ff4a66d3 build: use `-mbig-obj` for mingw-w64 Debug builds
fa0e30b93aa fuzz: Fix test_runner error reporting
d73f37dda22 Merge bitcoin/bitcoin#31346: Set notifications m_tip_block in LoadChainTip()
fa7809aeab8 fuzz: Add missing SeedRandomStateForTest(SeedRand::ZEROS)
78f1bff7099 Merge bitcoin/bitcoin#31477: ci: Bump centos gcc to 12
84890e0291f Merge bitcoin/bitcoin#31484: depends: update capnproto to 1.0.2
d5ab5a47f0e Merge bitcoin/bitcoin#31452: wallet: Migrate non-HD keys to combo() descriptor
fa0998f0a02 test: Avoid intermittent error in assert_equal(pruneheight_new, 248)
fa9aacf614f lint: Move assertion linter into lint runner
beac62e541c Merge bitcoin/bitcoin#31480: refactor: Fix "modernize-use-starts-ends-with" clang-tidy warning
5cd9e95eea1 depends: update capnproto to 1.0.2
df27ee9f024 refactor: Fix "modernize-use-starts-ends-with" clang-tidy warning
435ad572a1a Merge bitcoin/bitcoin#31479: lint: Disable signature output in git log
ea9e64ff3cb Merge bitcoin/bitcoin#31461: depends: add `-g` to *BSD_debug flags
29ddee1796a Merge bitcoin/bitcoin#31478: docs: remove repetitive words
e2d3372e558 lint: Disable signature output in git log
fa47baa03bc ci: Bump centos gcc
015aad8d6a6 docs: remove repetitive words
589ed1a8eaf wallet: migration, avoid loading wallet after failure when it wasn't loaded before
62bd61de110 Merge bitcoin/bitcoin#31450: guix: disable gcov in base-linux-gcc
676936845b1 Merge bitcoin/bitcoin#30933: test: Prove+document ConstevalFormatString/tinyformat parity
8ad2c902742 Merge bitcoin/bitcoin#31343: test: avoid internet traffic in rpc_net.py
a582ee681c7 Merge bitcoin/bitcoin#29982: test: Fix intermittent issue in wallet_backwards_compatibility.py
fa397177acf util: Add missing types in make_secure_unique
b6f0593f433 doc: add release note about testmempoolaccept debug-message
f9cac635237 test: cover testmempoolaccept debug-message in RBF test
b7ec69c25cf depends: add -g to *BSD_debug flags
37e49c2c7ca Merge bitcoin/bitcoin#31448: fuzz: add cstdlib to FuzzedDataProvider
62b2d23edba wallet: Migrate non-HD keys to combo() descriptor
9039d8f1a1d Merge bitcoin/bitcoin#31374: wallet: fix crash during watch-only wallet migration
bb7e686341e fuzz: add cstdlib to FuzzedDataProvider
f6496a83882 guix: disable gcov in base-linux-gcc
846a1387280 func test: Expand tx download preference tests
35000e34cf3 Merge bitcoin/bitcoin#31433: test: #31212 follow up (spelling, refactor)
18d0cfb194c Merge bitcoin/bitcoin#31306: ci: Update Clang in "tidy" job
c93bf0e6e2c test: Add missing %c character test
76cca4aa6fc test: Document non-parity between tinyformat and ConstevalFormatstring
533013cba20 test: Prove+document ConstevalFormatString/tinyformat parity
b81a4659950 refactor test: Profit from using namespace + using detail function
cdd207c0e48 test: add coverage for migrating standalone imported keys
297a876c980 test: add coverage for migrating watch-only script
932cd1e92b6 wallet: fix crash during watch-only wallet migration
18619b47325 wallet: remove BDB dependency from wallet migration benchmark
41d934c72df chore: Typo Overriden -> Overridden
c9fb38a590e refactor test: Cleaner combine_logs.py logic
22723c809a8 Merge bitcoin/bitcoin#31072: refactor: Clean up messy strformat and bilingual_str usages
b1f0f3c288a Merge bitcoin/bitcoin#31406: test: fix `test_invalid_tx_in_compactblock` in `p2p_compactblocks`
1a35447595d Merge bitcoin/bitcoin#31417: test: Avoid F541 (f-string without any placeholders)
eb2ebe6f30a Merge bitcoin/bitcoin#31231: cmake: Fix `IF_CHECK_PASSED` option handling
5b283fa1477 Merge bitcoin/bitcoin#31431: util: use explicit cast in MultiIntBitSet::Fill()
37946c0aafe Set notifications m_tip_block in LoadChainTip()
fa6e599cf9f test: Call generate through test framework only
2eccb8bc5e2 Merge bitcoin/bitcoin#31248: test: Rework wallet_migration.py to use previous releases
7239ddb7cec test: make sure node has all transactions
6d973f86f75 Merge bitcoin/bitcoin#31408: test: Avoid logging error when logging error
6a1e613e853 Merge bitcoin/bitcoin#31427: lint: bump MLC to v0.19.0
edb41e4814c util: use explicit cast in MultiIntBitSet::Fill()
31e59d94c67 iwyu: Drop backported mapping
fe9bc5abef3 ci: Update Clang in "tidy" job
083770adbe7 Merge bitcoin/bitcoin#31414: test: orphan parent is re-requested from 2nd peer
f6afca46a1d lint: use clearer wording on error message
811a65d3c6b lint: bump MLC to v0.19.0
fae76393bdb test: Avoid F541 (f-string without any placeholders)
e8cc790fe2a Merge bitcoin/bitcoin#30445: test: addrman: tried 3 times and never a success so `isTerrible=true`
f9650e18ea6 rbf: remove unecessary newline at end of error string
221c789e916 rpc: include verbose reject-details field in testmempoolaccept response
0184d33b3d2 scripted-diff: Replace strprintf(Untranslated) with Untranslated(strprintf)
17372d788e6 Merge bitcoin/bitcoin#30906: refactor: prohibit direct flags access in CCoinsCacheEntry and remove invalid tests
006e4d1d598 refactor: Use + instead of strformat to concatenate translated & untranslated strings
831d2bfcf94 refactor: Don't embed translated string in untranslated string.
058021969b5 refactor: Avoid concatenation of format strings
11f68cc8108 Merge bitcoin/bitcoin#31212: util: Improve documentation and negation of args
893ccea7e47 Merge bitcoin/bitcoin#31419: test: fix MIN macro redefinition
39950e148d8 Merge bitcoin/bitcoin#31295: refactor: Prepare compile-time check of bilingual format strings
fad83e759a4 doc: Fix incorrect send RPC docs
00c1dbd26dd test: fix MIN macro-redefinition
ae69fc37e4f Merge bitcoin/bitcoin#31391: util: Drop boost posix_time in ParseISO8601DateTime
52fd1511a77 test: drop scriptPubKeyIn arg from CreateNewBlock
ff41b9e296a Drop script_pub_key arg from createNewBlock
7ab733ede44 rpc: rename coinbase_script to coinbase_output_script
c4c5cf17488 cmake: Fix passing `APPEND_*FLAGS` to `secp256k1` subtree
eb540a26295 cmake: Remove `core_sanitizer_{cxx,linker}_flags` helper variables
0f84cdd2661 func: test orphan parent is re-requested from 2nd peer
fa8e0956c23 rpc: Remove deprecated dummy alias for listtransactions::label
95a0104f2e9 test: Add tests for directories in place of config files
e85abe92c7c args: Catch directories in place of config files
e4b6b1822ce test: Add tests for -noconf
483f0dacc41 args: Properly support -noconf
312ec64cc06 test refactor: feature_config_args.py - Stop nodes at the end of tests, not at the beginning
7402658bc2b test: -norpccookiefile
39cbd4f37c3 args: Support -norpccookiefile for bitcoind and bitcoin-cli
e82ad88452b logs: Use correct path and more appropriate macros in cookie-related code
6e28c76907c test: Harden testing of cookie file existence
75bacabb55f test: combine_logs.py - Output debug.log paths on error
cccca8a77f3 test: Avoid logging error when logging error
ee1b9bef000 test: replace `is not` to `!=` when comparing block hash
faf70cc9941 Remove wallet::ParseISO8601DateTime, use ParseISO8601DateTime instead
50cce20013c test, refactor: Compact ccoins_access and ccoins_spend
0a159f09147 test, refactor: Remove remaining unbounded flags from coins_tests
c0b4b2c1eef test: Validate error messages on fail
d5f8d607ab1 test: Group values and states in tests into CoinEntry wrappers
ca74aa7490a test, refactor: Migrate GetCoinsMapEntry to return MaybeCoin
15aaa81c381 coins, refactor: Remove direct GetFlags access
6b733699cfc coins, refactor: Assume state after SetClean in AddFlags to prevent dangling pointers
fc8c282022e coins, refactor: Make AddFlags, SetDirty, SetFresh static
cd0498eabc9 coins, refactor: Split up AddFlags to remove invalid states
2222aecd5f8 util: Implement ParseISO8601DateTime based on C++20
733fa0b0a14 miner: never create a template which exploits the timewarp bug
06443b8f28b net: clarify if we ever sent or received from peer
1d01ad4d73e net: add LogIP() helper, use in net_processing
937ef9eb408 net_processing: use CNode::DisconnectMsg helper
ad224429f82 net: additional disconnection logging
9e4a4b48322 cmake: Check `-Wno-*` compiler options for `leveldb` target
988721d37a3 test: avoid internet traffic in rpc_net.py
d9c8aacce38 depends, refactor: Avoid hardcoding `host_prefix` in toolchain file
bffd92f00f5 args: Support -nopid
12f8d848fd9 args: Disallow -nodatadir
6ff96627600 scripted-diff: Avoid printing version information for -noversion
1807df3d9fb test: addrman: tried 3 times and never a success so `isTerrible=true`
55347a5018b test: Rework migratewallet to use previous release (v28.0)
e8a2054edc8 doc args: Document narrow scope of -color
4b58d55878d test: move the implementation of StaticContentsSock to .cpp
1dd3af8fbc3 Add release note for #31223
997757dd2b4 test: add functional test for -port behavior
fa3e0743047 refactor: Tidy fixups
fa72646f2b1 move-only: Detail_CheckNumFormatSpecifiers and G_TRANSLATION_FUN
faff8403f0a refactor: Pick translated string after format
0e2b12b92a2 net, init: derive default onion port if a user specified a -port
f42ec0f3bfb wallet: Check specified wallet exists before migration
a2c45ae5480 test: report failure during utf8 response decoding
493656763f7 desc spkm: Return SigningProvider only if we have the privkey
97a18c85458 cmake: Fix `IF_CHECK_PASSED` option handling
70398ae05bc mapport: make ProcessPCP void
e56fc7ce6a9 rpc: increase the defaults for -rpcthreads and -rpcworkqueue
9e6cba29882 mapport: remove unnecessary 'g_mapport_enabled'
8fb45fcda07 mapport: remove unnecessary 'g_mapport_current' variable
1b223cb19b4 mapport: merge DispatchMapPort into StartMapPort
9bd936fa34a mapport: drop unnecessary function
2a6536ceda7 mapport: rename 'use_pcp' to 'enable'
c4e82b854cd mapport: make 'enabled' and 'current' bool
d45eb3964f6 test: compare BDB dumps of test framework parser and wallet tool
01ddd9f646a test: complete BDB parser (handle internal/overflow pages, support all page sizes)
9b7023d31a3 Fuzz HRP of bech32 as well
c1a5d5c100b Split out bech32 separator char to header
b28917be363 depends: Make default `host` and `build` comparable
69e95c2b4f9 tests: Test cleanup of mkeys from wallets without privkeys
2b9279b50a3 wallet: Remove unused encryption keys from watchonly wallets
813a16a4633 wallet: Add HasCryptedKeys
cddcbaf81e8 RPC: improve SFFO arg parsing, error catching and coverage
4f4cd353194 rpc: decouple sendtoaddress 'subtractfeefromamount' boolean parsing
ec777917d6e test: Fix intermittent issue in wallet_backwards_compatibility.py
REVERT: f157b0cbc7d kernel: Add pure kernel bitcoin-chainstate
REVERT: 692d1c23c27 kernel: Add functions to get the block hash from a block
REVERT: aad02fb561a kernel: Add block index utility functions to C header
REVERT: 13f4911b064 kernel: Add function to read block undo data from disk to C header
REVERT: 29fdbf26034 kernel: Add functions to read block from disk to C header
REVERT: 2ca304c1def kernel: Add function for copying  block data to C header
REVERT: 705c7f125fd kernel: Add functions for the block validation state to C header
REVERT: 92363c9469c kernel: Add validation interface to C header
REVERT: 7c539908113 kernel: Add interrupt function to C header
REVERT: 522d0886d8f kernel: Add import blocks function to C header
REVERT: 1ae86e2ffe1 kernel: Add chainstate load options for in-memory dbs in C header
REVERT: 09620eeeae6 kernel: Add options for reindexing in C header
REVERT: b4fbf193172 kernel: Add block validation to C header
REVERT: ce6ddde95ee Kernel: Add chainstate loading to kernel C header
REVERT: f5d21c94dc5 kernel: Add chainstate manager option for setting worker threads
REVERT: 783f56f0a29 kernel: Add chainstate manager object to C header
REVERT: 262039e4094 kernel: Add notifications context option to C header
REVERT: dc0d406dd5e kerenl: Add chain params context option to C header
REVERT: b5f84de7ad2 kernel: Add kernel library context object
REVERT: dad0009c86c kernel: Add logging to kernel library C header
REVERT: 27e25aa941c kernel: Introduce initial kernel C header API

git-subtree-dir: depend/bitcoin
git-subtree-split: 5991a69ee0000de551955846d7d21733c326a748
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Intermittent failures in interface_usdt_mempool.py
7 participants