Skip to content

Conversation

Sjors
Copy link
Member

@Sjors Sjors commented Feb 5, 2025

Have depends make libmultiprocess by default. This PR causes the following behavior changes:

  1. bitcoin-node and bitcoin-gui binaries are included in releases, due to ENABLE_IPC option being switched on by default in depends builds
  2. ENABLE_IPC is also switched on by default in non-depends builds (instructions updated, build: Enable ENABLE_IPC option by default #33190 does this as a standalone PR)
  3. Various changes to CI: switching on ENABLE_IPC on in most configurations and using bitcoin-node binary (bitcoin -m) for functional tests in two of them.
  4. The bitcoin-node and bitcoin-gui are added to Maintenance.cmake (since they're now in the release)

This PR doesn't need to do all of these things at once. However it's is simpler, avoids code churn (especially in CI), and probably less confusing to make all these changes in the same PR.

Windows is not supported yet, so ENABLE_IPC is off by default for it. It can be enabled after #32387.

The initial main use case for IPC is to enable experimental support for the Mining IPC interface. A working example of a Stratum v2 Template Provider client using this interface can be found here: Sjors#48.

See #31756 for discussion of when this should happen. Supersedes #30975.

Wait what, why?

The Stratum v2 spec has been around for a few years now, mostly stable but with ongoing activity to clarify and fix more subtle issues encountered by implementers. Most of the implementation is built in Rust in a project called the Stratum Reference Implementation (SRI).

Braiins added Stratum v2 support to both their (custom) firmware and pool several years ago, though they have fallen behind on recent spec changes (update: it seems they've fixed that). Apparently new hardware is underway that supports Stratum v2 without the need for custom firmware.

DMND pool is Stratum v2 native from the start and employs several of the SRI developers (they haven't fully launched though). The industry is rather secretive, but apparently there is more underway.

What does Bitcoin Core have to do with this? Well, in Stratum v2 jargon we are the Template Provider.

Or at least, the Template Provider role needs us to make block templates. Initially back in 2023 the plan was to have Bitcoin Core implement this role entirely, see #23049. It would speak the sv2 encrypted message protocol. In fact the spec was designed around this assumption, making sure to only use cryptographic primitives already in our codebase.

I took over that effort in late 2023, but during 2024 it became quite clear there was strong resistance to the idea of including all this new code, opening another network ports, etc.

At the same time there was the long running multiprocess / IPC project #10102, and the idea was born to apply that here: instead of including Stratum v2 specific stuff, we offer a general Mining interface via an IPC connection that can e.g. push out fresh block templates as fees rise above a threshold (something not possible and/or very inefficient with getblocktemplate). A client sidecar application then sits between the Stratum v2 world and our node.

Currently there's only one such sidecar application, maintained by me, and reusing the same codebase from the integrated approach. An attempt has been made to connect to our interface from Rust bitcoin-core/libmultiprocess#174, which would pave the way for SRI include the Template Provider role. Plebhash below indicates he's also working on that: #31802 (comment).

So with this new approach in mind, between mid 2024 until spring 2025, I introduced a new Mining interface (#30200 - #31785). At the same time Russ Ryanosky worked on more tight integration of libmultiprocess, including making it a subtree in #31741. See design/multiprocess.md.

Meanwhile I've been maintaining a fork of Bitcoin Core that includes the Template Provider, in the original integrated approach (Sjors#68) as well as an IPC + sidecar variant (Sjors#48). I've been shipping regular releases, mostly after bug fixes or major rebases. The SRI team has been testing both variants, though the "official" instruction on their web page is to stick to integrated version. Bug reports on my repo fork as well as on the SRI repo are evidence of actual testing happening.

But as Pavlenex writes below:

one recurring feedback I kept getting regardless of the size/type of miner is that the need to run a forked version of Bitcoin Core remains a significant barrier to adoption

This PR gets rids of that significant barrier. People can download a "pristine" version of Bitcoin Core and the only change is to start it with bitcoin node -m -ipcconnect=unix instead of the usual bitcoind.

Once that's released, I can dramatically simplify my sidecar codebase (Sjors#48) by removing pretty much all Bitcoin Core code that it doesn't need. My plan is to then make that a separate repository, which should be much easier to contribute to. I can then also make (deterministically built) signed releases, while making it clear that sidecar code has nothing to do with Bitcoin Core. Perhaps later on SRI implements the same and I can stop maintaining that project.

Conceptually the situation will be a lot clearer;

  • today: download forked version of bitcoind (or a forked version of bitcoin-node, plus bitcoin-mine), install SRI stuff
  • tomorrow: download Bitcoin Core v30, install bitcoin-mine and SRI
  • future: download Bitcoin Core v30 and SRI
Guix hashes:
find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
6dbf29baecb1d1593087ef1306ae7c78aa160c8beb04dc016e02549ae2d6d90d  guix-build-ce7d94a492e6/output/aarch64-linux-gnu/SHA256SUMS.part
4b465e5e8f9652c176aa57cfe5c289267c28c3a3c684034a9ce471b529b95275  guix-build-ce7d94a492e6/output/aarch64-linux-gnu/bitcoin-ce7d94a492e6-aarch64-linux-gnu-debug.tar.gz
85bc6fa008b83419d96443d9dcc212b46f0992387fd58fd2dda5da76536ee22c  guix-build-ce7d94a492e6/output/aarch64-linux-gnu/bitcoin-ce7d94a492e6-aarch64-linux-gnu.tar.gz
5ed9ea52a8bd55361d2d9c01fbd1b25ec9970530c2776e6c1959424ba1689f52  guix-build-ce7d94a492e6/output/arm-linux-gnueabihf/SHA256SUMS.part
2e483011fac64462d3aa000b577c3c05c825506032d879e39612e096d7a6c65b  guix-build-ce7d94a492e6/output/arm-linux-gnueabihf/bitcoin-ce7d94a492e6-arm-linux-gnueabihf-debug.tar.gz
7ff1e3ba54944a2be89dd7d68cb91dff6f8950de9d7b521e15dfb746965f81bd  guix-build-ce7d94a492e6/output/arm-linux-gnueabihf/bitcoin-ce7d94a492e6-arm-linux-gnueabihf.tar.gz
abdf89e701b21b8c1238a8cec46aeaa55e0c3a0b88ad718636e89cde9813ca08  guix-build-ce7d94a492e6/output/arm64-apple-darwin/SHA256SUMS.part
fb55cff0296cd5474811fe5cedcf28603628729dd085eeefa007c72582459b33  guix-build-ce7d94a492e6/output/arm64-apple-darwin/bitcoin-ce7d94a492e6-arm64-apple-darwin-codesigning.tar.gz
e9aa566b1e79c467d7987b7c68fa608db788e6ddf89c4d90e524cd47b4faaf86  guix-build-ce7d94a492e6/output/arm64-apple-darwin/bitcoin-ce7d94a492e6-arm64-apple-darwin-unsigned.tar.gz
bb428fc62a1230a55f49fa3b5c7ba8d588e8fed491357f890d5a6724a38b14e9  guix-build-ce7d94a492e6/output/arm64-apple-darwin/bitcoin-ce7d94a492e6-arm64-apple-darwin-unsigned.zip
5ef4b75e94b2c8265fbc588bbb42467a84438af969fddac0ea61ced3e4113345  guix-build-ce7d94a492e6/output/dist-archive/bitcoin-ce7d94a492e6.tar.gz
4f55d56a108c8f312a502cd5dfdf0840b091861a6d502df31caf4636a203697a  guix-build-ce7d94a492e6/output/powerpc64-linux-gnu/SHA256SUMS.part
66c5b1242c60e37098885a00e24efe19baee4afcd2e3d6407207523d8872f055  guix-build-ce7d94a492e6/output/powerpc64-linux-gnu/bitcoin-ce7d94a492e6-powerpc64-linux-gnu-debug.tar.gz
d9dbbee7217544eda26e77158cd82caeaef2b40fb9fc7033323e7ffe64264109  guix-build-ce7d94a492e6/output/powerpc64-linux-gnu/bitcoin-ce7d94a492e6-powerpc64-linux-gnu.tar.gz
d9b808cc5685c819abcebb4ace65f003ebc4bfedf3fca046b34de37994358782  guix-build-ce7d94a492e6/output/riscv64-linux-gnu/SHA256SUMS.part
eeeea470b1cf76515bfae14c779a3ea356d89f719d1fef1a81e8f0d6b04ab747  guix-build-ce7d94a492e6/output/riscv64-linux-gnu/bitcoin-ce7d94a492e6-riscv64-linux-gnu-debug.tar.gz
9993da4eb51618b8bd25ec88cc576496720e5589315e9eba6f3ddab25f9c3e60  guix-build-ce7d94a492e6/output/riscv64-linux-gnu/bitcoin-ce7d94a492e6-riscv64-linux-gnu.tar.gz
1b5a676580e0e79598d182f6ebbb05fb8aee2381edc3c09c042cae2600f448ab  guix-build-ce7d94a492e6/output/x86_64-apple-darwin/SHA256SUMS.part
9152122d95a34d5df75305c6883c87707e7b09033fffd08e264d703ed177ef12  guix-build-ce7d94a492e6/output/x86_64-apple-darwin/bitcoin-ce7d94a492e6-x86_64-apple-darwin-codesigning.tar.gz
2793f75730dbef6bdf12b5ed7135e22ed21178abff2926dee92843837d4ab544  guix-build-ce7d94a492e6/output/x86_64-apple-darwin/bitcoin-ce7d94a492e6-x86_64-apple-darwin-unsigned.tar.gz
e89aafd7e4a330a41f470e8f0a91ea876fad7d19547b404600867413f1a8ccb7  guix-build-ce7d94a492e6/output/x86_64-apple-darwin/bitcoin-ce7d94a492e6-x86_64-apple-darwin-unsigned.zip
955b27f881927a86da3c566357ad8ca68dbe17e9652bde8c482a57ceacba92cb  guix-build-ce7d94a492e6/output/x86_64-linux-gnu/SHA256SUMS.part
fd012be97bdf5c75ac12ddef21526bfdb5e17ecc77cde9c34d832194b0dc3293  guix-build-ce7d94a492e6/output/x86_64-linux-gnu/bitcoin-ce7d94a492e6-x86_64-linux-gnu-debug.tar.gz
0ecf7f80e9049369760d0e27fe6c026391ab25eae0f42336bef43e51a2621726  guix-build-ce7d94a492e6/output/x86_64-linux-gnu/bitcoin-ce7d94a492e6-x86_64-linux-gnu.tar.gz
2e8085f5fecc246d841b0bf6f28ecd0684a6cee49252fc88c1019d7586c7b7a2  guix-build-ce7d94a492e6/output/x86_64-w64-mingw32/SHA256SUMS.part
c60041e8137eda352557254c5f67fb83eeb97ecfec342ee528451bd44ee4523a  guix-build-ce7d94a492e6/output/x86_64-w64-mingw32/bitcoin-ce7d94a492e6-win64-codesigning.tar.gz
b1be6b2f4de1c69c2e0e4de6dd97a4891ae9eb50d89435ef47247b5a187915a9  guix-build-ce7d94a492e6/output/x86_64-w64-mingw32/bitcoin-ce7d94a492e6-win64-debug.zip
bfe143f41a20c537145c7044aca889b28efe19072b0150042a3bd865983b3d7e  guix-build-ce7d94a492e6/output/x86_64-w64-mingw32/bitcoin-ce7d94a492e6-win64-setup-unsigned.exe
94a906b83d84db7b25f7e3cfdce2a2030243f2ee6cc70b1fc088459f0b2f382d  guix-build-ce7d94a492e6/output/x86_64-w64-mingw32/bitcoin-ce7d94a492e6-win64-unsigned.zip

@DrahtBot
Copy link
Contributor

DrahtBot commented Feb 5, 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/31802.

Reviews

See the guideline for information on the review process.

Type Reviewers
ACK ryanofsky, ismaelsadeeq, josibake, janb84, achow101
Concept NACK fanquake
Concept ACK TheCharlatan
Stale ACK vasild, BrandonOdiwuor

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

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #33201 (Add functional test for IPC interface by sipa)
  • #32989 (ci: Migrate CI to hosted Cirrus Runners by willcl-ark)
  • #32162 (depends: Switch from multilib to platform-specific toolchains by hebasto)

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

@sipa
Copy link
Member

sipa commented Feb 7, 2025

Some chatter from IRC:

17:21:41 < darosior> It might be confusing to release both a bitcoin-wallet utility and a bitcoin-wallet binary as part of multiprocess?
17:24:08 < darosior> We could rename the utility, but then it would be nice to at least have one deprecation cycle. Given recent momentum i estimate it's possible we might release multiprocess in 
                     30.0, which means if we want to deprecate the bitcoin-wallet utility name we should do it.. now?
17:33:31 < sipa> bitcoin-wallet-util ?
...
23:38:57 < _aj_> darosior: bitcoin-wallet-process, bitcoin-gui-process, etc? it's multi *-process!
03:04:34 < Sjors[m]> darosior: at the moment there is no wallet binary if were to enable multiprocess. That won't happen until #19460.
...
03:05:18 < Sjors[m]> Or maybe already in #10102
...
03:05:50 < Sjors[m]> In any case #31802 only adds bitcoin-node and bitcoin-gui.
...
03:07:19 < Sjors[m]> Though if we want to rename the utility eventually, it's always better to do it early.

@Sjors
Copy link
Member Author

Sjors commented Feb 8, 2025

@sipa I opened #31827

onlinesipahimithu

This comment was marked as spam.

@Sjors
Copy link
Member Author

Sjors commented Aug 21, 2025

@fanquake @maflcko I opened a PR to temporarily disable IPC build for oss-fuzz, please take a look: google/oss-fuzz#13854

DavidKorczynski pushed a commit to google/oss-fuzz that referenced this pull request Aug 21, 2025
bitcoin/bitcoin#31802 builds libmultiprocess and
enables IPC by default, but my understanding is that this breaks
oss-fuzz. One proposed solution is
#13018.

This PR builds depends with `NO_IPC=1`, which disables the feature, for
now while we work on an actual fix.
fanquake added a commit that referenced this pull request Aug 22, 2025
…inaries for IPC"

de65c86 doc: capnproto instruction for Alpine and Arch (Sjors Provoost)
49d1a1a doc: add capnproto-devel to Fedora build instruction (Sjors Provoost)
eab5518 doc: mark bitcoin-{node,gui} installed in files.md (Sjors Provoost)
2a815d1 doc: link to capnp version bump PR (Sjors Provoost)

Pull request description:

  - have `dependencies.md` link to the PR that updated the capnp version: #31802 (comment)

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

Tree-SHA512: 842d7a89ef18a8c597ca05720c41a72e67500bc93430cf2c3b074cb2f4b936f1df58b5b1e99010e1ea5c1f8a9f8875fb9c20398f915feeacecee9b2fed3cb03c
hebasto added a commit to hebasto/bitcoin-core-nightly that referenced this pull request Aug 23, 2025
hebasto added a commit to hebasto/bitcoin-core-nightly that referenced this pull request Aug 23, 2025
hebasto added a commit to hebasto/bitcoin-core-nightly that referenced this pull request Aug 23, 2025
hebasto added a commit to hebasto/bitcoin-core-nightly that referenced this pull request Aug 23, 2025
hebasto added a commit to hebasto/bitcoin-core-nightly that referenced this pull request Aug 23, 2025
hebasto added a commit to hebasto/bitcoin-core-nightly that referenced this pull request Aug 23, 2025
hebasto added a commit to hebasto/bitcoin-core-nightly that referenced this pull request Aug 24, 2025
@Sjors
Copy link
Member Author

Sjors commented Aug 27, 2025

The sidecar Template Provider application now has its own repo: https://github.com/Sjors/sv2-tp (release coming soon)

I suspect that the SRI team will have a Rust alternative soon(tm) as well.

alexanderwiederin added a commit to alexanderwiederin/rust-bitcoinkernel that referenced this pull request Sep 16, 2025
…c35e5bbe6

adc35e5bbe6 add btck_blockreader_read_block method
d43ca58d363 add get_validated_chain method
4ba83d59f27 Add first methods to blockreader
4b980dd5e81 add Handler to blockreader.cpp
1049f29c921 add impl for blockreader
0909723f63d add blockreader header file
b22200af854 add blockreader_opts
6c5488893b4 add basic methods to c header
97ad9f574d3 WIP: scaffolding
ffa2b746dda Add directory locking and read-only mode for BlockTreeStore
ce5b80db176 Flush disk writes when not in initial block download
f2926f8e2bf fix: remove in memory test for kernel
b93a169b1dc blockstorage: Remove BlockTreeDB dead code
7cab96bc99e kernel: Add assumed header store to chainparams
065b02d2e1b kernel: Remove block tree db params
7a6d0c725ca blockstorage: Replace BlockTreeDB with BlockTreeStore
b63afb30249 fuzz: Use BlockTreeStore in block index fuzz test
131f742bcb9 kernel: Add blocktreestorage module
e450549ae94 kernel: Fix bitcoin-chainstate for windows
c7cd7331be5 kernel: Add Purpose section to header documentation
de793c8255c kernel: Allowing reducing exports
a71138dfa54 kernel: Add pure kernel bitcoin-chainstate
a81e68c5be3 kernel: Add functions to get the block hash from a block
84ab95e70f4 kernel: Add block index utility functions to C header
461e4e75700 kernel: Add function to read block undo data from disk to C header
16aa4f40a8f kernel: Add functions to read block from disk to C header
c78602e0042 kernel: Add function for copying block data to C header
b51c9ac6319 kernel: Add functions for the block validation state to C header
8b9ca40af60 kernel: Add validation interface to C header
a7e2388a232 kernel: Add interrupt function to C header
99ef8fd4846 kernel: Add import blocks function to C header
e0f41a82d1e kernel: Add chainstate load options for in-memory dbs in C header
99995495565 kernel: Add options for reindexing in C header
f2f8ec99b7c kernel: Add block validation to C header
2779ed23f6e kernel: Add chainstate loading when instantiating a ChainstateManager
69311cfdef9 kernel: Add chainstate manager option for setting worker threads
b02f62573d5 kernel: Add chainstate manager object to C header
dc4c23c0ada kernel: Add notifications context option to C header
190395959d0 kernel: Add chain params context option to C header
137a10c2939 kernel: Add kernel library context object
d61fc331241 kernel: Add logging to kernel library C header
7d4163c0afa kernel: Introduce initial kernel C header API
d20f10affba Merge bitcoin/bitcoin#33268: wallet: Identify transactions spending 0-value outputs, and add tests for anchor outputs in a wallet
9a5ba154bea Merge bitcoin/bitcoin#33310: trace: Workaround GCC bug compiling with old systemtap
853f0d88114 Merge bitcoin/bitcoin#33364: ci: always use tag for LLVM checkout
b81445333a1 Merge bitcoin/bitcoin#33243: test: Fix CLI_MAX_ARG_SIZE issues
f757da87f59 Merge bitcoin/bitcoin#33332: common: Make arith_uint256 trivially copyable
e416dc2fbbb Merge bitcoin/bitcoin#33321: kernel: make blockTip index const
176fac0f16d Merge bitcoin/bitcoin#33141: test: Remove polling loop from test_runner (take 2)
593d5fe37d7 Merge bitcoin/bitcoin#33354: txgraph: use enum Level instead of bool main_only
653a9849d5f common: Make arith_uint256 trivially copyable
b736052e39f ci: always use tag for LLVM checkout
d45f3717d2c txgraph: use enum Level instead of bool main_only
ee42d59d4de Merge bitcoin-core/gui#886: Avoid pathological QT text/markdown behavior...
2c8a478db4b Merge bitcoin/bitcoin#33231: net: Prevent node from binding to the same `CService`
591eea7b5ac Merge bitcoin/bitcoin#33082: wallet, refactor: Remove Legacy check and error
6a371b70c87 gui: Avoid pathological QT text/markdown behavior...
c0894a0a2be Merge bitcoin/bitcoin#33348: contrib: add bitcoin binary to gen-manpages
53e6db91ef5 contrib: add placeholder manpage for bitcoin binary
f5887a8de4c contrib: add bitcoin binary to gen-manpages
314c42b55bd Merge bitcoin/bitcoin#33347: build: bump `CLIENT_VERSION_MAJOR` to 30
9f744fffc39 build: bump CLIENT_VERSION_MAJOR to 30
042817ddb84 Merge bitcoin/bitcoin#33346: doc: remove release note fragment
0f0e6fe7f5f doc: remove release note fragment
84cf5420398 Merge bitcoin/bitcoin#33275: Release: 30.0 translations update
13809b867ad Merge bitcoin/bitcoin#33303: ci: Checkout latest merged pulls
e749205f83d Merge bitcoin/bitcoin#33319: ci: reduce runner sizes on various jobs
9cbd346daa5 Merge bitcoin/bitcoin#33340: Fix benchmark CSV output
4776179be9f Merge bitcoin/bitcoin#33342: guix: strip binaries in libexec
0ba44d9c38a Merge bitcoin/bitcoin#33296: net: check for empty header before calling FillBlock
1861030bea7 Merge bitcoin/bitcoin#30469: index: Fix coinstats overflow
8b626476803 test: send duplicate blocktxn message in p2p_compactblocks.py
5e585a0fc4f net: check for empty header before calling FillBlock
cb825a07ac6 Merge bitcoin/bitcoin#33338: net: Add interrupt to pcp retry loop
0b0bd74c3e9 Merge bitcoin/bitcoin#33312: clang-tidy: Disable `UndefinedBinaryOperatorResult` check in `src/ipc`
790b440197b Fix benchmark CSV output
3cceda9f485 guix: strip binaries in libexec
3eea9fd3953 Merge bitcoin/bitcoin#33308: doc: fix `LIBRARY_PATH` comment
0b38cc9bf7a Merge bitcoin/bitcoin#33339: doc: move release notes to wiki pre branch off
b320f5efa17 qt: 30.0 translations update
905c1a77f51 doc: move release notes to wiki pre branch off
2d799590fee Merge bitcoin/bitcoin#33283: contrib: update fixed seeds
188de70c864 net: Add interrupt to pcp retry loop
9c6fa07b124 Merge bitcoin/bitcoin#33322: Update libmultiprocess subtree to improve build and logs
c7679748115 clang-tidy: Fix critical warnings
54dc34ec227 index: Remove unused coinstatsindex recovery code
37c4fba1f4c index: Check BIP30 blocks when rewinding Coinstatsindex
51df9de8e5b doc: Add release note for 30469
bb8d6731832 test: Add coinstatsindex compatibility test
b2e8b64ddc3 index, refactor: Append blocks to coinstatsindex without db read
431a076ae6e index: Fix coinstatsindex overflow issue
fa8f081af31 ci: Checkout latest merged pulls
36e40417de3 Merge bitcoin-core/gui#884: Fix compatibility with `-debuglogfile` command-line option
a4ee70e5b69 Merge commit 'a334bbe9b79ddf1999003c792bc8945639b7e9c1' into pr/subtree-4
a334bbe9b79 Squashed 'src/ipc/libmultiprocess/' changes from 1b8d4a6f1e54..13424cf2ecc1
e04cb9c1bdf Merge bitcoin/bitcoin#33201: Add functional test for IPC interface
75d9b724757 kernel: make blockTip index const
a341e11ac92 ci: test IPC on additional hosts
6aee573bfcf ci: enable IPC tests in CI
8d2ee88fa2a tests: add functional tests for IPC interface
3cc9a06c8dd test: Add TestNode ipcbind option
3cceb60a715 test: Provide path to `bitcoin` binary
8c7f0056291 test: add is_ipc_compiled() and skip_if_no_ipc() functions
37c21ebe407 Merge bitcoin/bitcoin#33309: doc: archive v29.1 release notes
32e2484b67e Merge bitcoin/bitcoin#33304: depends: strip when installing qt binaries
4d4789dffad net: Prevent node from binding to the same CService
647cdb4f7e8 Merge bitcoin/bitcoin#33311: net: Quiet down logging when router doesn't support natpmp/pcp
589b65f06c3 clang-tidy: Disable `UndefinedBinaryOperatorResult` check in `src/ipc`
4f1a4cbccd7 net: Quiet down logging when router doesn't support natpmp/pcp
93a29ff2830 trace: Workaround GCC bug compiling with old systemtap
5eeb2facbbb ci: reduce runner sizes on various jobs
61ec8866c63 [doc] archive v29.1 release notes
a2a35b58cb9 doc: fix LIBRARY_PATH comment
e1ce0c525c7 Merge bitcoin/bitcoin#33291: ci: cd into BASE_BUILD_DIR for GetCMakeLogFiles
84e813a02bb index, refactor: DRY coinbase check
fab842b3248 index, refactor: Rename ReverseBlock to RevertBlock
2d8f5b91881 Merge bitcoin/bitcoin#33136: ci: Remove redundant RUN_UNIT_TESTS_SEQUENTIAL
c9d5f211c11 depends: strip when installing qt
fae610d8581 ci: Remove redundant RUN_UNIT_TESTS_SEQUENTIAL
2562fe1b2b6 Merge bitcoin/bitcoin#32159: net, pcp: handle multi-part responses and filter for default route while querying default gateway
ed2ff3c63d8 Merge bitcoin/bitcoin#33235: build: set ENABLE_IPC to OFF when fuzzing
88db09bafe9 net: handle multi-part netlink responses
113a4228229 wallet: Add m_cached_from_me to cache "from me" status
609d265ebc5 test: Add a test for anchor outputs in the wallet
c40dc822d74 wallet: Throw an error in sendall if the tx size cannot be calculated
39a7dbdd277 wallet: Determine IsFromMe by checking for TXOs of inputs
e76c2f7a411 test: Test wallet 'from me' status change
689a3219763 Merge bitcoin/bitcoin#33220: doc: truc packages allow sub min feerate transactions
9b76eef2d2b ci: cd into BASE_BUILD_DIR for GetCMakeLogFiles
939678940f6 contrib: update fixed seeds
6cdd8ee6761 contrib: update makeseeds minblocks
b8da9f4034e contrib: update makeseeds UA regex
ba0b4304ece Merge bitcoin/bitcoin#32989: ci: Migrate CI to hosted Cirrus Runners
0eb3eae5486 Merge bitcoin/bitcoin#33274: kernel: chainparams & headersync updates for 30.0
fa4885ef2fd test: Remove polling loop from test_runner
7270839af42 doc: truc packages allow sub min feerate transactions
46369583f3a Merge bitcoin/bitcoin#33224: doc: unify `datacarriersize` warning with release notes
755152ac819 kernel: add testnet4 assumeutxo param at height 90'000
a6512686e33 kernel: add mainnet assumeutxo param at height 910'000
943de66b504 kernel: update headersync params
66fb9624264 kernel: update chainTxData
c3cb26e0283 kernel: update assumevalid and minimumChainWork
b4adae76d46 kernel: update assumed blockchain & chainstate sizes
7e58c94112d Merge bitcoin/bitcoin#33269: test: Fixup fill_mempool docstring
3c5da69a232 ci: remove un-needed lint_run*.sh files
2aa288efdda ci: fix annoying docker warning
dd1c5903e8d ci: add ccache hit-rate warning when < 75%
f4272844833 doc: Detail configuration of hosted CI runners
3f339e99e00 ci: dynamically match makejobs with cores
4393ffdd837 ci: remove .cirrus.yml
bc41848d00f ci: port lint
d290a8e6eab ci: port msan-depends
9bbae61e3b4 ci: port tsan-depends
bf7d5364527 ci: port tidy
549074bc643 ci: port centos-depends-gui
58e38c3a042 ci: port previous-releases-depends-debug
341196d75c3 ci: port fuzzer-address-undefined-integer-nodepends
f2068f26c12 ci: port no-IPC-i686-DEBUG
2a00b12d73b ci: port nowallet-libbitcoinkernel
9c2514de534 ci: port mac-cross-gui-notests
2c990d84a3d ci: force reinstall of kernel headers in asan
884251441bb ci: update asan-lsan-ubsan
f253031cb8e ci: port arm 32-bit job
04e7bfbceb0 ci: update windows-cross job
cc1735d7771 ci: add job to determine runner type
020069e6b71 ci: add Cirrus cache host
9c2b96e0d03 ci: have base install run in right dir
18f6be09d02 ci: use docker build cache arg directly
94a09325475 ci: use buildx in ci
fdf64e55324 ci: add configure-docker action
33ba073df7a ci: add REPO_USE_CIRRUS_RUNNERS
b232b0fa5e9 ci: add caching actions
b8fcc9fcbcd ci: add configure environment action
fa3f682032a test: Fixup fill_mempool docstring
7cc9a087069 Merge bitcoin/bitcoin#33253: Revert compact block cache inefficiencies
084fd68fda2 Merge bitcoin/bitcoin#33258: ci: use LLVM 21
6ff2d423625 Merge bitcoin/bitcoin#33189: rpc: followups for 33106
4d54bb2b92c Merge bitcoin/bitcoin#33264: threading: reduce the scope of lock in getblocktemplate
9ae23950ef8 Merge bitcoin/bitcoin#33261: ci: return to using dash in CentOS job
493ba0f6883 threading: reduce the scope of lock in getblocktemplate
509ffea40ab ci: return to using dash in CentOS job
b7b249d3adf Revert "[refactor] rewrite vTxHashes as a vector of CTransactionRef"
b9300d8d0a7 Revert "refactor: Simplify `extra_txn` to be a vec of CTransactionRef instead of a vec of pair<Wtxid, CTransactionRef>"
df5a50e5de2 bench/blockencodings: add compact block reconstruction benchmark
4cf0ae474ba ci: use LLVM 21
fa96a4afea2 ci: Enable CI_LIMIT_STACK_SIZE=1 in i686_no_ipc task
facfde2cdce test: Fix CLI_MAX_ARG_SIZE issues
6ca6f3b37b9 Merge bitcoin/bitcoin#33241: Update libmultiprocess subtree to fix build issues
9703b7e6d56 Merge bitcoin/bitcoin#32592: threading: remove ancient CRITICAL_SECTION macros
dd68d0f40b6 Squashed 'src/ipc/libmultiprocess/' changes from b4120d34bad2..1b8d4a6f1e54
323b3fd2728 Merge commit 'dd68d0f40b614474f24469fbe1ba02f8f9146b31' into pr/subtree-3
d3c5e47391e wallet, refactor: Remove Legacy check and error
73220fc0f95 Merge bitcoin/bitcoin#33212: index: Don't commit state in BaseIndex::Rewind
46ca7712cb5 threading: remove unused template instantiations
b537a6a6dbd threading: remove obsolete critsect macros
0d0e0a39b4a threading: use a reverse lock rather than manual critsect macros
3ddd554d318 tests: Add Assertions in reverse_lock tests to exercise thread-safety annotations
c88b1cbf57a tests: get rid of remaining manual critsect usage
2c223de2af7 Merge bitcoin/bitcoin#33237: doc: use new block_to_connect parameter name
02f6758e0ce Merge bitcoin/bitcoin#33233: doc: follow-ups to "Add bitcoin-{node,gui} to release binaries for IPC"
682bd04462d Merge bitcoin/bitcoin#33236: doc: Remove wrong and redundant doxygen tag
a9701de0c9f Merge bitcoin/bitcoin#33217: depends: remove xinerama extension from libxcb
78351ed083b Merge bitcoin/bitcoin#33222: miner: clamp options instead of asserting
de65c86572c doc: capnproto instruction for Alpine and Arch
49d1a1a3630 doc: add capnproto-devel to Fedora build instruction
a602f6fb7bf test: index with an unclean restart after a reorg
01b95ac6f49 index: don't commit state in BaseIndex::Rewind
1c3db0ed8e6 doc: use new block_to_connect parameter name
8333aa53029 Merge bitcoin/bitcoin#32523: wallet: Remove isminetypes
eab5518913a doc: mark bitcoin-{node,gui} installed in files.md
966666de9a6 doc: Remove wrong and redundant doxygen tag
af4156ab755 build: set ENABLE_IPC to OFF when fuzzing
2a815d126bc doc: link to capnp version bump PR
decc3671c88 guix: remove libxcb-xinerama.so.0 from allowed libs
3d9314f3838 depends: remove xinerama extension from libxcb
7d9789401be Merge bitcoin/bitcoin#31802: Add bitcoin-{node,gui} to release binaries for IPC
2885bd0e1c4 doc: unify `datacarriersize` warning with release notes
be776a1443f wallet: Remove isminetype
009a69a616c wallet: Remove ISMINE_USED
6a7aa015747 wallet: Remove COutput::spendable and AvailableCoinsListUnspent
7392b8b084b miner: clamp options instead of asserting
620abe985e5 interfaces, gui: Remove is_mine output parameter from getAddress
c0d28c8f5b1 qt: Fix compatibility with `-debuglogfile` command-line option
daa40a3ff97 doc fixups for 33106
c568511e8ce test fixup for incremental feerate
636fa219d37 test fixups
9169a50d529 [rpc] expose blockmintxfee via getmininginfo
ce7d94a492e doc: add release note
71f29d4fa90 doc: update build and dependencies docs for IPC
3cbf747c328 cmake: set ENABLE_IPC by default
32a90e1b901 ci: use bitcoin-node for one depends job
b333cc14d50 ci: build one depends job without multiprocess
16bce9ac4cd build: depends makes libmultiprocess by default
30c6f64eed3 test: Remove unnecessary LoadWallet() calls
42e99ad7739 net: skip non-route netlink responses
57ce645f05d net: filter for default routes in netlink responses
REVERT: 1857296c067 kernel: Fix bitcoin-chainstate for windows
REVERT: b14455e3fcc kernel: Add Purpose section to header documentation
REVERT: b6bc17b703d kernel: Allowing reducing exports
REVERT: b1ef48b2073 kernel: Add pure kernel bitcoin-chainstate
REVERT: b8e4169e453 kernel: Add functions to get the block hash from a block
REVERT: ea03b539a2f kernel: Add block index utility functions to C header
REVERT: 10e8bc69571 kernel: Add function to read block undo data from disk to C header
REVERT: 49743bf8c13 kernel: Add functions to read block from disk to C header
REVERT: 11588ec6537 kernel: Add function for copying block data to C header
REVERT: de24590872f kernel: Add functions for the block validation state to C header
REVERT: dcba34ad8f8 kernel: Add validation interface to C header
REVERT: 527435ebcc7 kernel: Add interrupt function to C header
REVERT: c6a3da91764 kernel: Add import blocks function to C header
REVERT: f7d879349a6 kernel: Add chainstate load options for in-memory dbs in C header
REVERT: 9b0116f0ada kernel: Add options for reindexing in C header
REVERT: 4bbd99b0300 kernel: Add block validation to C header
REVERT: 8dbc8230f11 kernel: Add chainstate loading when instantiating a ChainstateManager
REVERT: f1a9d6f4dff kernel: Add chainstate manager option for setting worker threads
REVERT: 864008a1a71 kernel: Add chainstate manager object to C header
REVERT: b160f13ed14 kernel: Add notifications context option to C header
REVERT: d465a997f2e kernel: Add chain params context option to C header
REVERT: e61538b88b3 kernel: Add kernel library context object
REVERT: 3963f4c9de7 kernel: Add logging to kernel library C header
REVERT: f3acc94b4b7 kernel: Introduce initial kernel C header API

git-subtree-dir: libbitcoinkernel-sys/bitcoin
git-subtree-split: adc35e5bbe604e9a1022207217c2b23fb1fb0c3d
alexanderwiederin added a commit to alexanderwiederin/rust-bitcoinkernel that referenced this pull request Sep 17, 2025
…d06944a6666

0d06944a6666 implement blockreader and expose key methods on the c api
bbbc6afa401a Add directory locking and read-only mode for BlockTreeStore
1bcbdfd8ae66 flush disk writes when not in initial block download
f2926f8e2bfa fix: remove in memory test for kernel
b93a169b1dc4 blockstorage: Remove BlockTreeDB dead code
7cab96bc99e6 kernel: Add assumed header store to chainparams
065b02d2e1b4 kernel: Remove block tree db params
7a6d0c725ca8 blockstorage: Replace BlockTreeDB with BlockTreeStore
b63afb30249c fuzz: Use BlockTreeStore in block index fuzz test
131f742bcb96 kernel: Add blocktreestorage module
e450549ae947 kernel: Fix bitcoin-chainstate for windows
c7cd7331be5c kernel: Add Purpose section to header documentation
de793c8255c7 kernel: Allowing reducing exports
a71138dfa549 kernel: Add pure kernel bitcoin-chainstate
a81e68c5be3a kernel: Add functions to get the block hash from a block
84ab95e70f41 kernel: Add block index utility functions to C header
461e4e75700d kernel: Add function to read block undo data from disk to C header
16aa4f40a8fe kernel: Add functions to read block from disk to C header
c78602e0042d kernel: Add function for copying block data to C header
b51c9ac63196 kernel: Add functions for the block validation state to C header
8b9ca40af60c kernel: Add validation interface to C header
a7e2388a2326 kernel: Add interrupt function to C header
99ef8fd48469 kernel: Add import blocks function to C header
e0f41a82d1ef kernel: Add chainstate load options for in-memory dbs in C header
999954955651 kernel: Add options for reindexing in C header
f2f8ec99b7c4 kernel: Add block validation to C header
2779ed23f6e5 kernel: Add chainstate loading when instantiating a ChainstateManager
69311cfdef9f kernel: Add chainstate manager option for setting worker threads
b02f62573d57 kernel: Add chainstate manager object to C header
dc4c23c0adaa kernel: Add notifications context option to C header
190395959d07 kernel: Add chain params context option to C header
137a10c29397 kernel: Add kernel library context object
d61fc3312412 kernel: Add logging to kernel library C header
7d4163c0afa1 kernel: Introduce initial kernel C header API
d20f10affba8 Merge bitcoin/bitcoin#33268: wallet: Identify transactions spending 0-value outputs, and add tests for anchor outputs in a wallet
9a5ba154bea1 Merge bitcoin/bitcoin#33310: trace: Workaround GCC bug compiling with old systemtap
853f0d881142 Merge bitcoin/bitcoin#33364: ci: always use tag for LLVM checkout
b81445333a10 Merge bitcoin/bitcoin#33243: test: Fix CLI_MAX_ARG_SIZE issues
f757da87f59d Merge bitcoin/bitcoin#33332: common: Make arith_uint256 trivially copyable
e416dc2fbbb7 Merge bitcoin/bitcoin#33321: kernel: make blockTip index const
176fac0f16d5 Merge bitcoin/bitcoin#33141: test: Remove polling loop from test_runner (take 2)
593d5fe37d7a Merge bitcoin/bitcoin#33354: txgraph: use enum Level instead of bool main_only
653a9849d5f9 common: Make arith_uint256 trivially copyable
b736052e39f1 ci: always use tag for LLVM checkout
d45f3717d2c6 txgraph: use enum Level instead of bool main_only
ee42d59d4de9 Merge bitcoin-core/gui#886: Avoid pathological QT text/markdown behavior...
2c8a478db4b8 Merge bitcoin/bitcoin#33231: net: Prevent node from binding to the same `CService`
591eea7b5ac5 Merge bitcoin/bitcoin#33082: wallet, refactor: Remove Legacy check and error
6a371b70c87a gui: Avoid pathological QT text/markdown behavior...
c0894a0a2be0 Merge bitcoin/bitcoin#33348: contrib: add bitcoin binary to gen-manpages
53e6db91ef59 contrib: add placeholder manpage for bitcoin binary
f5887a8de4c8 contrib: add bitcoin binary to gen-manpages
314c42b55bda Merge bitcoin/bitcoin#33347: build: bump `CLIENT_VERSION_MAJOR` to 30
9f744fffc39d build: bump CLIENT_VERSION_MAJOR to 30
042817ddb84c Merge bitcoin/bitcoin#33346: doc: remove release note fragment
0f0e6fe7f5f4 doc: remove release note fragment
84cf5420398c Merge bitcoin/bitcoin#33275: Release: 30.0 translations update
13809b867ad9 Merge bitcoin/bitcoin#33303: ci: Checkout latest merged pulls
e749205f83dd Merge bitcoin/bitcoin#33319: ci: reduce runner sizes on various jobs
9cbd346daa50 Merge bitcoin/bitcoin#33340: Fix benchmark CSV output
4776179be9fb Merge bitcoin/bitcoin#33342: guix: strip binaries in libexec
0ba44d9c38af Merge bitcoin/bitcoin#33296: net: check for empty header before calling FillBlock
1861030bea7f Merge bitcoin/bitcoin#30469: index: Fix coinstats overflow
8b6264768030 test: send duplicate blocktxn message in p2p_compactblocks.py
5e585a0fc4fd net: check for empty header before calling FillBlock
cb825a07ac6d Merge bitcoin/bitcoin#33338: net: Add interrupt to pcp retry loop
0b0bd74c3e9a Merge bitcoin/bitcoin#33312: clang-tidy: Disable `UndefinedBinaryOperatorResult` check in `src/ipc`
790b440197bd Fix benchmark CSV output
3cceda9f4855 guix: strip binaries in libexec
3eea9fd39532 Merge bitcoin/bitcoin#33308: doc: fix `LIBRARY_PATH` comment
0b38cc9bf7a3 Merge bitcoin/bitcoin#33339: doc: move release notes to wiki pre branch off
b320f5efa175 qt: 30.0 translations update
905c1a77f51c doc: move release notes to wiki pre branch off
2d799590feea Merge bitcoin/bitcoin#33283: contrib: update fixed seeds
188de70c8641 net: Add interrupt to pcp retry loop
9c6fa07b1248 Merge bitcoin/bitcoin#33322: Update libmultiprocess subtree to improve build and logs
c76797481155 clang-tidy: Fix critical warnings
54dc34ec2279 index: Remove unused coinstatsindex recovery code
37c4fba1f4c1 index: Check BIP30 blocks when rewinding Coinstatsindex
51df9de8e5b9 doc: Add release note for 30469
bb8d67318329 test: Add coinstatsindex compatibility test
b2e8b64ddc35 index, refactor: Append blocks to coinstatsindex without db read
431a076ae6e3 index: Fix coinstatsindex overflow issue
fa8f081af31c ci: Checkout latest merged pulls
36e40417de3f Merge bitcoin-core/gui#884: Fix compatibility with `-debuglogfile` command-line option
a4ee70e5b69c Merge commit 'a334bbe9b79ddf1999003c792bc8945639b7e9c1' into pr/subtree-4
a334bbe9b79d Squashed 'src/ipc/libmultiprocess/' changes from 1b8d4a6f1e54..13424cf2ecc1
e04cb9c1bdf2 Merge bitcoin/bitcoin#33201: Add functional test for IPC interface
75d9b7247570 kernel: make blockTip index const
a341e11ac92b ci: test IPC on additional hosts
6aee573bfcf6 ci: enable IPC tests in CI
8d2ee88fa2a5 tests: add functional tests for IPC interface
3cc9a06c8dd5 test: Add TestNode ipcbind option
3cceb60a7153 test: Provide path to `bitcoin` binary
8c7f0056291d test: add is_ipc_compiled() and skip_if_no_ipc() functions
37c21ebe4078 Merge bitcoin/bitcoin#33309: doc: archive v29.1 release notes
32e2484b67e6 Merge bitcoin/bitcoin#33304: depends: strip when installing qt binaries
4d4789dffad5 net: Prevent node from binding to the same CService
647cdb4f7e80 Merge bitcoin/bitcoin#33311: net: Quiet down logging when router doesn't support natpmp/pcp
589b65f06c33 clang-tidy: Disable `UndefinedBinaryOperatorResult` check in `src/ipc`
4f1a4cbccd78 net: Quiet down logging when router doesn't support natpmp/pcp
93a29ff28301 trace: Workaround GCC bug compiling with old systemtap
5eeb2facbbbb ci: reduce runner sizes on various jobs
61ec8866c639 [doc] archive v29.1 release notes
a2a35b58cb95 doc: fix LIBRARY_PATH comment
e1ce0c525c7f Merge bitcoin/bitcoin#33291: ci: cd into BASE_BUILD_DIR for GetCMakeLogFiles
84e813a02bb7 index, refactor: DRY coinbase check
fab842b32487 index, refactor: Rename ReverseBlock to RevertBlock
2d8f5b91881e Merge bitcoin/bitcoin#33136: ci: Remove redundant RUN_UNIT_TESTS_SEQUENTIAL
c9d5f211c119 depends: strip when installing qt
fae610d8581a ci: Remove redundant RUN_UNIT_TESTS_SEQUENTIAL
2562fe1b2b63 Merge bitcoin/bitcoin#32159: net, pcp: handle multi-part responses and filter for default route while querying default gateway
ed2ff3c63d83 Merge bitcoin/bitcoin#33235: build: set ENABLE_IPC to OFF when fuzzing
88db09bafe9e net: handle multi-part netlink responses
113a4228229b wallet: Add m_cached_from_me to cache "from me" status
609d265ebc51 test: Add a test for anchor outputs in the wallet
c40dc822d74a wallet: Throw an error in sendall if the tx size cannot be calculated
39a7dbdd277d wallet: Determine IsFromMe by checking for TXOs of inputs
e76c2f7a4111 test: Test wallet 'from me' status change
689a32197638 Merge bitcoin/bitcoin#33220: doc: truc packages allow sub min feerate transactions
9b76eef2d2b4 ci: cd into BASE_BUILD_DIR for GetCMakeLogFiles
939678940f6c contrib: update fixed seeds
6cdd8ee67618 contrib: update makeseeds minblocks
b8da9f4034e1 contrib: update makeseeds UA regex
ba0b4304ecee Merge bitcoin/bitcoin#32989: ci: Migrate CI to hosted Cirrus Runners
0eb3eae54865 Merge bitcoin/bitcoin#33274: kernel: chainparams & headersync updates for 30.0
fa4885ef2fde test: Remove polling loop from test_runner
7270839af425 doc: truc packages allow sub min feerate transactions
46369583f3a9 Merge bitcoin/bitcoin#33224: doc: unify `datacarriersize` warning with release notes
755152ac819a kernel: add testnet4 assumeutxo param at height 90'000
a6512686e335 kernel: add mainnet assumeutxo param at height 910'000
943de66b5043 kernel: update headersync params
66fb96242648 kernel: update chainTxData
c3cb26e02834 kernel: update assumevalid and minimumChainWork
b4adae76d466 kernel: update assumed blockchain & chainstate sizes
7e58c94112d0 Merge bitcoin/bitcoin#33269: test: Fixup fill_mempool docstring
3c5da69a232b ci: remove un-needed lint_run*.sh files
2aa288efdda2 ci: fix annoying docker warning
dd1c5903e8d8 ci: add ccache hit-rate warning when < 75%
f4272844833d doc: Detail configuration of hosted CI runners
3f339e99e00b ci: dynamically match makejobs with cores
4393ffdd837b ci: remove .cirrus.yml
bc41848d00f7 ci: port lint
d290a8e6eab7 ci: port msan-depends
9bbae61e3b40 ci: port tsan-depends
bf7d5364527c ci: port tidy
549074bc643f ci: port centos-depends-gui
58e38c3a0425 ci: port previous-releases-depends-debug
341196d75c30 ci: port fuzzer-address-undefined-integer-nodepends
f2068f26c123 ci: port no-IPC-i686-DEBUG
2a00b12d73bb ci: port nowallet-libbitcoinkernel
9c2514de5343 ci: port mac-cross-gui-notests
2c990d84a3db ci: force reinstall of kernel headers in asan
884251441bb7 ci: update asan-lsan-ubsan
f253031cb8e4 ci: port arm 32-bit job
04e7bfbceb03 ci: update windows-cross job
cc1735d77714 ci: add job to determine runner type
020069e6b718 ci: add Cirrus cache host
9c2b96e0d030 ci: have base install run in right dir
18f6be09d02b ci: use docker build cache arg directly
94a09325475d ci: use buildx in ci
fdf64e553245 ci: add configure-docker action
33ba073df7a8 ci: add REPO_USE_CIRRUS_RUNNERS
b232b0fa5e96 ci: add caching actions
b8fcc9fcbcdd ci: add configure environment action
fa3f682032a3 test: Fixup fill_mempool docstring
7cc9a087069b Merge bitcoin/bitcoin#33253: Revert compact block cache inefficiencies
084fd68fda2c Merge bitcoin/bitcoin#33258: ci: use LLVM 21
6ff2d423625d Merge bitcoin/bitcoin#33189: rpc: followups for 33106
4d54bb2b92cc Merge bitcoin/bitcoin#33264: threading: reduce the scope of lock in getblocktemplate
9ae23950ef80 Merge bitcoin/bitcoin#33261: ci: return to using dash in CentOS job
493ba0f68831 threading: reduce the scope of lock in getblocktemplate
509ffea40abb ci: return to using dash in CentOS job
b7b249d3adfb Revert "[refactor] rewrite vTxHashes as a vector of CTransactionRef"
b9300d8d0a74 Revert "refactor: Simplify `extra_txn` to be a vec of CTransactionRef instead of a vec of pair<Wtxid, CTransactionRef>"
df5a50e5de20 bench/blockencodings: add compact block reconstruction benchmark
4cf0ae474ba0 ci: use LLVM 21
fa96a4afea2a ci: Enable CI_LIMIT_STACK_SIZE=1 in i686_no_ipc task
facfde2cdce6 test: Fix CLI_MAX_ARG_SIZE issues
6ca6f3b37b99 Merge bitcoin/bitcoin#33241: Update libmultiprocess subtree to fix build issues
9703b7e6d563 Merge bitcoin/bitcoin#32592: threading: remove ancient CRITICAL_SECTION macros
dd68d0f40b61 Squashed 'src/ipc/libmultiprocess/' changes from b4120d34bad2..1b8d4a6f1e54
323b3fd27283 Merge commit 'dd68d0f40b614474f24469fbe1ba02f8f9146b31' into pr/subtree-3
d3c5e47391e2 wallet, refactor: Remove Legacy check and error
73220fc0f958 Merge bitcoin/bitcoin#33212: index: Don't commit state in BaseIndex::Rewind
46ca7712cb5f threading: remove unused template instantiations
b537a6a6dbd3 threading: remove obsolete critsect macros
0d0e0a39b4a5 threading: use a reverse lock rather than manual critsect macros
3ddd554d3181 tests: Add Assertions in reverse_lock tests to exercise thread-safety annotations
c88b1cbf57a3 tests: get rid of remaining manual critsect usage
2c223de2af72 Merge bitcoin/bitcoin#33237: doc: use new block_to_connect parameter name
02f6758e0ce8 Merge bitcoin/bitcoin#33233: doc: follow-ups to "Add bitcoin-{node,gui} to release binaries for IPC"
682bd04462d2 Merge bitcoin/bitcoin#33236: doc: Remove wrong and redundant doxygen tag
a9701de0c9fd Merge bitcoin/bitcoin#33217: depends: remove xinerama extension from libxcb
78351ed083b1 Merge bitcoin/bitcoin#33222: miner: clamp options instead of asserting
de65c86572c5 doc: capnproto instruction for Alpine and Arch
49d1a1a36306 doc: add capnproto-devel to Fedora build instruction
a602f6fb7bf5 test: index with an unclean restart after a reorg
01b95ac6f496 index: don't commit state in BaseIndex::Rewind
1c3db0ed8e6f doc: use new block_to_connect parameter name
8333aa530290 Merge bitcoin/bitcoin#32523: wallet: Remove isminetypes
eab5518913a6 doc: mark bitcoin-{node,gui} installed in files.md
966666de9a62 doc: Remove wrong and redundant doxygen tag
af4156ab7556 build: set ENABLE_IPC to OFF when fuzzing
2a815d126bc9 doc: link to capnp version bump PR
decc3671c88b guix: remove libxcb-xinerama.so.0 from allowed libs
3d9314f3838c depends: remove xinerama extension from libxcb
7d9789401be4 Merge bitcoin/bitcoin#31802: Add bitcoin-{node,gui} to release binaries for IPC
2885bd0e1c4f doc: unify `datacarriersize` warning with release notes
be776a1443fd wallet: Remove isminetype
009a69a616cf wallet: Remove ISMINE_USED
6a7aa015747e wallet: Remove COutput::spendable and AvailableCoinsListUnspent
7392b8b084be miner: clamp options instead of asserting
620abe985e51 interfaces, gui: Remove is_mine output parameter from getAddress
c0d28c8f5b15 qt: Fix compatibility with `-debuglogfile` command-line option
daa40a3ff973 doc fixups for 33106
c568511e8ced test fixup for incremental feerate
636fa219d37f test fixups
9169a50d529e [rpc] expose blockmintxfee via getmininginfo
ce7d94a492e6 doc: add release note
71f29d4fa90a doc: update build and dependencies docs for IPC
3cbf747c328f cmake: set ENABLE_IPC by default
32a90e1b9017 ci: use bitcoin-node for one depends job
b333cc14d50b ci: build one depends job without multiprocess
16bce9ac4cd0 build: depends makes libmultiprocess by default
30c6f64eed30 test: Remove unnecessary LoadWallet() calls
42e99ad77396 net: skip non-route netlink responses
57ce645f05d1 net: filter for default routes in netlink responses
REVERT: 1857296c067b kernel: Fix bitcoin-chainstate for windows
REVERT: b14455e3fcc5 kernel: Add Purpose section to header documentation
REVERT: b6bc17b703dd kernel: Allowing reducing exports
REVERT: b1ef48b20730 kernel: Add pure kernel bitcoin-chainstate
REVERT: b8e4169e453a kernel: Add functions to get the block hash from a block
REVERT: ea03b539a2fa kernel: Add block index utility functions to C header
REVERT: 10e8bc695713 kernel: Add function to read block undo data from disk to C header
REVERT: 49743bf8c133 kernel: Add functions to read block from disk to C header
REVERT: 11588ec6537c kernel: Add function for copying block data to C header
REVERT: de24590872f8 kernel: Add functions for the block validation state to C header
REVERT: dcba34ad8f86 kernel: Add validation interface to C header
REVERT: 527435ebcc73 kernel: Add interrupt function to C header
REVERT: c6a3da91764a kernel: Add import blocks function to C header
REVERT: f7d879349a61 kernel: Add chainstate load options for in-memory dbs in C header
REVERT: 9b0116f0adad kernel: Add options for reindexing in C header
REVERT: 4bbd99b03001 kernel: Add block validation to C header
REVERT: 8dbc8230f110 kernel: Add chainstate loading when instantiating a ChainstateManager
REVERT: f1a9d6f4dfff kernel: Add chainstate manager option for setting worker threads
REVERT: 864008a1a71a kernel: Add chainstate manager object to C header
REVERT: b160f13ed141 kernel: Add notifications context option to C header
REVERT: d465a997f2e9 kernel: Add chain params context option to C header
REVERT: e61538b88b32 kernel: Add kernel library context object
REVERT: 3963f4c9de73 kernel: Add logging to kernel library C header
REVERT: f3acc94b4b7e kernel: Introduce initial kernel C header API

git-subtree-dir: libbitcoinkernel-sys/bitcoin
git-subtree-split: 0d06944a66664815b8b279be69a72723e01a5903
alexanderwiederin added a commit to alexanderwiederin/rust-bitcoinkernel that referenced this pull request Sep 17, 2025
…fc068b735d2

0fc068b735d2 kernel: Fix bitcoin-chainstate for windows
f6715d22de18 kernel: Add Purpose section to header documentation
737304906303 kernel: Allowing reducing exports
9ce6ef9e2ae3 kernel: Add pure kernel bitcoin-chainstate
27df296c3c55 kernel: Add functions to get the block hash from a block
f013c2963042 kernel: Add block index utility functions to C header
91d571ab3aaa kernel: Add function to read block undo data from disk to C header
c4b6912a4bf8 kernel: Add functions to read block from disk to C header
ef25a7cfff19 kernel: Add function for copying block data to C header
79499fc875be kernel: Add functions for the block validation state to C header
aace9f3da57e kernel: Add validation interface to C header
2a6652522d12 kernel: Add interrupt function to C header
c29e530dd301 kernel: Add import blocks function to C header
b06a333711ee kernel: Add chainstate load options for in-memory dbs in C header
3fc6a85f30d7 kernel: Add options for reindexing in C header
6e86239dee91 kernel: Add block validation to C header
d05b07565679 kernel: Add chainstate loading when instantiating a ChainstateManager
2508d94192f2 kernel: Add chainstate manager option for setting worker threads
514bbe5ad804 kernel: Add chainstate manager object to C header
341b00345cee kernel: Add notifications context option to C header
3cde1d242b85 kernel: Add chain params context option to C header
51f3d54d0d44 kernel: Add kernel library context object
c3424d8750e8 kernel: Add logging to kernel library C header
7d4163c0afa1 kernel: Introduce initial kernel C header API
d20f10affba8 Merge bitcoin/bitcoin#33268: wallet: Identify transactions spending 0-value outputs, and add tests for anchor outputs in a wallet
9a5ba154bea1 Merge bitcoin/bitcoin#33310: trace: Workaround GCC bug compiling with old systemtap
853f0d881142 Merge bitcoin/bitcoin#33364: ci: always use tag for LLVM checkout
b81445333a10 Merge bitcoin/bitcoin#33243: test: Fix CLI_MAX_ARG_SIZE issues
f757da87f59d Merge bitcoin/bitcoin#33332: common: Make arith_uint256 trivially copyable
e416dc2fbbb7 Merge bitcoin/bitcoin#33321: kernel: make blockTip index const
176fac0f16d5 Merge bitcoin/bitcoin#33141: test: Remove polling loop from test_runner (take 2)
593d5fe37d7a Merge bitcoin/bitcoin#33354: txgraph: use enum Level instead of bool main_only
653a9849d5f9 common: Make arith_uint256 trivially copyable
b736052e39f1 ci: always use tag for LLVM checkout
d45f3717d2c6 txgraph: use enum Level instead of bool main_only
ee42d59d4de9 Merge bitcoin-core/gui#886: Avoid pathological QT text/markdown behavior...
2c8a478db4b8 Merge bitcoin/bitcoin#33231: net: Prevent node from binding to the same `CService`
591eea7b5ac5 Merge bitcoin/bitcoin#33082: wallet, refactor: Remove Legacy check and error
6a371b70c87a gui: Avoid pathological QT text/markdown behavior...
c0894a0a2be0 Merge bitcoin/bitcoin#33348: contrib: add bitcoin binary to gen-manpages
53e6db91ef59 contrib: add placeholder manpage for bitcoin binary
f5887a8de4c8 contrib: add bitcoin binary to gen-manpages
314c42b55bda Merge bitcoin/bitcoin#33347: build: bump `CLIENT_VERSION_MAJOR` to 30
9f744fffc39d build: bump CLIENT_VERSION_MAJOR to 30
042817ddb84c Merge bitcoin/bitcoin#33346: doc: remove release note fragment
0f0e6fe7f5f4 doc: remove release note fragment
84cf5420398c Merge bitcoin/bitcoin#33275: Release: 30.0 translations update
13809b867ad9 Merge bitcoin/bitcoin#33303: ci: Checkout latest merged pulls
e749205f83dd Merge bitcoin/bitcoin#33319: ci: reduce runner sizes on various jobs
9cbd346daa50 Merge bitcoin/bitcoin#33340: Fix benchmark CSV output
4776179be9fb Merge bitcoin/bitcoin#33342: guix: strip binaries in libexec
0ba44d9c38af Merge bitcoin/bitcoin#33296: net: check for empty header before calling FillBlock
1861030bea7f Merge bitcoin/bitcoin#30469: index: Fix coinstats overflow
8b6264768030 test: send duplicate blocktxn message in p2p_compactblocks.py
5e585a0fc4fd net: check for empty header before calling FillBlock
cb825a07ac6d Merge bitcoin/bitcoin#33338: net: Add interrupt to pcp retry loop
0b0bd74c3e9a Merge bitcoin/bitcoin#33312: clang-tidy: Disable `UndefinedBinaryOperatorResult` check in `src/ipc`
790b440197bd Fix benchmark CSV output
3cceda9f4855 guix: strip binaries in libexec
3eea9fd39532 Merge bitcoin/bitcoin#33308: doc: fix `LIBRARY_PATH` comment
0b38cc9bf7a3 Merge bitcoin/bitcoin#33339: doc: move release notes to wiki pre branch off
b320f5efa175 qt: 30.0 translations update
905c1a77f51c doc: move release notes to wiki pre branch off
2d799590feea Merge bitcoin/bitcoin#33283: contrib: update fixed seeds
188de70c8641 net: Add interrupt to pcp retry loop
9c6fa07b1248 Merge bitcoin/bitcoin#33322: Update libmultiprocess subtree to improve build and logs
c76797481155 clang-tidy: Fix critical warnings
54dc34ec2279 index: Remove unused coinstatsindex recovery code
37c4fba1f4c1 index: Check BIP30 blocks when rewinding Coinstatsindex
51df9de8e5b9 doc: Add release note for 30469
bb8d67318329 test: Add coinstatsindex compatibility test
b2e8b64ddc35 index, refactor: Append blocks to coinstatsindex without db read
431a076ae6e3 index: Fix coinstatsindex overflow issue
fa8f081af31c ci: Checkout latest merged pulls
36e40417de3f Merge bitcoin-core/gui#884: Fix compatibility with `-debuglogfile` command-line option
a4ee70e5b69c Merge commit 'a334bbe9b79ddf1999003c792bc8945639b7e9c1' into pr/subtree-4
a334bbe9b79d Squashed 'src/ipc/libmultiprocess/' changes from 1b8d4a6f1e54..13424cf2ecc1
e04cb9c1bdf2 Merge bitcoin/bitcoin#33201: Add functional test for IPC interface
75d9b7247570 kernel: make blockTip index const
a341e11ac92b ci: test IPC on additional hosts
6aee573bfcf6 ci: enable IPC tests in CI
8d2ee88fa2a5 tests: add functional tests for IPC interface
3cc9a06c8dd5 test: Add TestNode ipcbind option
3cceb60a7153 test: Provide path to `bitcoin` binary
8c7f0056291d test: add is_ipc_compiled() and skip_if_no_ipc() functions
37c21ebe4078 Merge bitcoin/bitcoin#33309: doc: archive v29.1 release notes
32e2484b67e6 Merge bitcoin/bitcoin#33304: depends: strip when installing qt binaries
4d4789dffad5 net: Prevent node from binding to the same CService
647cdb4f7e80 Merge bitcoin/bitcoin#33311: net: Quiet down logging when router doesn't support natpmp/pcp
589b65f06c33 clang-tidy: Disable `UndefinedBinaryOperatorResult` check in `src/ipc`
4f1a4cbccd78 net: Quiet down logging when router doesn't support natpmp/pcp
93a29ff28301 trace: Workaround GCC bug compiling with old systemtap
5eeb2facbbbb ci: reduce runner sizes on various jobs
61ec8866c639 [doc] archive v29.1 release notes
a2a35b58cb95 doc: fix LIBRARY_PATH comment
e1ce0c525c7f Merge bitcoin/bitcoin#33291: ci: cd into BASE_BUILD_DIR for GetCMakeLogFiles
84e813a02bb7 index, refactor: DRY coinbase check
fab842b32487 index, refactor: Rename ReverseBlock to RevertBlock
2d8f5b91881e Merge bitcoin/bitcoin#33136: ci: Remove redundant RUN_UNIT_TESTS_SEQUENTIAL
c9d5f211c119 depends: strip when installing qt
fae610d8581a ci: Remove redundant RUN_UNIT_TESTS_SEQUENTIAL
2562fe1b2b63 Merge bitcoin/bitcoin#32159: net, pcp: handle multi-part responses and filter for default route while querying default gateway
ed2ff3c63d83 Merge bitcoin/bitcoin#33235: build: set ENABLE_IPC to OFF when fuzzing
88db09bafe9e net: handle multi-part netlink responses
113a4228229b wallet: Add m_cached_from_me to cache "from me" status
609d265ebc51 test: Add a test for anchor outputs in the wallet
c40dc822d74a wallet: Throw an error in sendall if the tx size cannot be calculated
39a7dbdd277d wallet: Determine IsFromMe by checking for TXOs of inputs
e76c2f7a4111 test: Test wallet 'from me' status change
689a32197638 Merge bitcoin/bitcoin#33220: doc: truc packages allow sub min feerate transactions
9b76eef2d2b4 ci: cd into BASE_BUILD_DIR for GetCMakeLogFiles
939678940f6c contrib: update fixed seeds
6cdd8ee67618 contrib: update makeseeds minblocks
b8da9f4034e1 contrib: update makeseeds UA regex
ba0b4304ecee Merge bitcoin/bitcoin#32989: ci: Migrate CI to hosted Cirrus Runners
0eb3eae54865 Merge bitcoin/bitcoin#33274: kernel: chainparams & headersync updates for 30.0
fa4885ef2fde test: Remove polling loop from test_runner
7270839af425 doc: truc packages allow sub min feerate transactions
46369583f3a9 Merge bitcoin/bitcoin#33224: doc: unify `datacarriersize` warning with release notes
755152ac819a kernel: add testnet4 assumeutxo param at height 90'000
a6512686e335 kernel: add mainnet assumeutxo param at height 910'000
943de66b5043 kernel: update headersync params
66fb96242648 kernel: update chainTxData
c3cb26e02834 kernel: update assumevalid and minimumChainWork
b4adae76d466 kernel: update assumed blockchain & chainstate sizes
7e58c94112d0 Merge bitcoin/bitcoin#33269: test: Fixup fill_mempool docstring
3c5da69a232b ci: remove un-needed lint_run*.sh files
2aa288efdda2 ci: fix annoying docker warning
dd1c5903e8d8 ci: add ccache hit-rate warning when < 75%
f4272844833d doc: Detail configuration of hosted CI runners
3f339e99e00b ci: dynamically match makejobs with cores
4393ffdd837b ci: remove .cirrus.yml
bc41848d00f7 ci: port lint
d290a8e6eab7 ci: port msan-depends
9bbae61e3b40 ci: port tsan-depends
bf7d5364527c ci: port tidy
549074bc643f ci: port centos-depends-gui
58e38c3a0425 ci: port previous-releases-depends-debug
341196d75c30 ci: port fuzzer-address-undefined-integer-nodepends
f2068f26c123 ci: port no-IPC-i686-DEBUG
2a00b12d73bb ci: port nowallet-libbitcoinkernel
9c2514de5343 ci: port mac-cross-gui-notests
2c990d84a3db ci: force reinstall of kernel headers in asan
884251441bb7 ci: update asan-lsan-ubsan
f253031cb8e4 ci: port arm 32-bit job
04e7bfbceb03 ci: update windows-cross job
cc1735d77714 ci: add job to determine runner type
020069e6b718 ci: add Cirrus cache host
9c2b96e0d030 ci: have base install run in right dir
18f6be09d02b ci: use docker build cache arg directly
94a09325475d ci: use buildx in ci
fdf64e553245 ci: add configure-docker action
33ba073df7a8 ci: add REPO_USE_CIRRUS_RUNNERS
b232b0fa5e96 ci: add caching actions
b8fcc9fcbcdd ci: add configure environment action
fa3f682032a3 test: Fixup fill_mempool docstring
7cc9a087069b Merge bitcoin/bitcoin#33253: Revert compact block cache inefficiencies
084fd68fda2c Merge bitcoin/bitcoin#33258: ci: use LLVM 21
6ff2d423625d Merge bitcoin/bitcoin#33189: rpc: followups for 33106
4d54bb2b92cc Merge bitcoin/bitcoin#33264: threading: reduce the scope of lock in getblocktemplate
9ae23950ef80 Merge bitcoin/bitcoin#33261: ci: return to using dash in CentOS job
493ba0f68831 threading: reduce the scope of lock in getblocktemplate
509ffea40abb ci: return to using dash in CentOS job
b7b249d3adfb Revert "[refactor] rewrite vTxHashes as a vector of CTransactionRef"
b9300d8d0a74 Revert "refactor: Simplify `extra_txn` to be a vec of CTransactionRef instead of a vec of pair<Wtxid, CTransactionRef>"
df5a50e5de20 bench/blockencodings: add compact block reconstruction benchmark
4cf0ae474ba0 ci: use LLVM 21
fa96a4afea2a ci: Enable CI_LIMIT_STACK_SIZE=1 in i686_no_ipc task
facfde2cdce6 test: Fix CLI_MAX_ARG_SIZE issues
6ca6f3b37b99 Merge bitcoin/bitcoin#33241: Update libmultiprocess subtree to fix build issues
9703b7e6d563 Merge bitcoin/bitcoin#32592: threading: remove ancient CRITICAL_SECTION macros
dd68d0f40b61 Squashed 'src/ipc/libmultiprocess/' changes from b4120d34bad2..1b8d4a6f1e54
323b3fd27283 Merge commit 'dd68d0f40b614474f24469fbe1ba02f8f9146b31' into pr/subtree-3
d3c5e47391e2 wallet, refactor: Remove Legacy check and error
73220fc0f958 Merge bitcoin/bitcoin#33212: index: Don't commit state in BaseIndex::Rewind
46ca7712cb5f threading: remove unused template instantiations
b537a6a6dbd3 threading: remove obsolete critsect macros
0d0e0a39b4a5 threading: use a reverse lock rather than manual critsect macros
3ddd554d3181 tests: Add Assertions in reverse_lock tests to exercise thread-safety annotations
c88b1cbf57a3 tests: get rid of remaining manual critsect usage
2c223de2af72 Merge bitcoin/bitcoin#33237: doc: use new block_to_connect parameter name
02f6758e0ce8 Merge bitcoin/bitcoin#33233: doc: follow-ups to "Add bitcoin-{node,gui} to release binaries for IPC"
682bd04462d2 Merge bitcoin/bitcoin#33236: doc: Remove wrong and redundant doxygen tag
a9701de0c9fd Merge bitcoin/bitcoin#33217: depends: remove xinerama extension from libxcb
78351ed083b1 Merge bitcoin/bitcoin#33222: miner: clamp options instead of asserting
de65c86572c5 doc: capnproto instruction for Alpine and Arch
49d1a1a36306 doc: add capnproto-devel to Fedora build instruction
a602f6fb7bf5 test: index with an unclean restart after a reorg
01b95ac6f496 index: don't commit state in BaseIndex::Rewind
1c3db0ed8e6f doc: use new block_to_connect parameter name
8333aa530290 Merge bitcoin/bitcoin#32523: wallet: Remove isminetypes
eab5518913a6 doc: mark bitcoin-{node,gui} installed in files.md
966666de9a62 doc: Remove wrong and redundant doxygen tag
af4156ab7556 build: set ENABLE_IPC to OFF when fuzzing
2a815d126bc9 doc: link to capnp version bump PR
decc3671c88b guix: remove libxcb-xinerama.so.0 from allowed libs
3d9314f3838c depends: remove xinerama extension from libxcb
7d9789401be4 Merge bitcoin/bitcoin#31802: Add bitcoin-{node,gui} to release binaries for IPC
2885bd0e1c4f doc: unify `datacarriersize` warning with release notes
be776a1443fd wallet: Remove isminetype
009a69a616cf wallet: Remove ISMINE_USED
6a7aa015747e wallet: Remove COutput::spendable and AvailableCoinsListUnspent
7392b8b084be miner: clamp options instead of asserting
620abe985e51 interfaces, gui: Remove is_mine output parameter from getAddress
c0d28c8f5b15 qt: Fix compatibility with `-debuglogfile` command-line option
daa40a3ff973 doc fixups for 33106
c568511e8ced test fixup for incremental feerate
636fa219d37f test fixups
9169a50d529e [rpc] expose blockmintxfee via getmininginfo
ce7d94a492e6 doc: add release note
71f29d4fa90a doc: update build and dependencies docs for IPC
3cbf747c328f cmake: set ENABLE_IPC by default
32a90e1b9017 ci: use bitcoin-node for one depends job
b333cc14d50b ci: build one depends job without multiprocess
16bce9ac4cd0 build: depends makes libmultiprocess by default
30c6f64eed30 test: Remove unnecessary LoadWallet() calls
42e99ad77396 net: skip non-route netlink responses
57ce645f05d1 net: filter for default routes in netlink responses
REVERT: 1857296c067b kernel: Fix bitcoin-chainstate for windows
REVERT: b14455e3fcc5 kernel: Add Purpose section to header documentation
REVERT: b6bc17b703dd kernel: Allowing reducing exports
REVERT: b1ef48b20730 kernel: Add pure kernel bitcoin-chainstate
REVERT: b8e4169e453a kernel: Add functions to get the block hash from a block
REVERT: ea03b539a2fa kernel: Add block index utility functions to C header
REVERT: 10e8bc695713 kernel: Add function to read block undo data from disk to C header
REVERT: 49743bf8c133 kernel: Add functions to read block from disk to C header
REVERT: 11588ec6537c kernel: Add function for copying block data to C header
REVERT: de24590872f8 kernel: Add functions for the block validation state to C header
REVERT: dcba34ad8f86 kernel: Add validation interface to C header
REVERT: 527435ebcc73 kernel: Add interrupt function to C header
REVERT: c6a3da91764a kernel: Add import blocks function to C header
REVERT: f7d879349a61 kernel: Add chainstate load options for in-memory dbs in C header
REVERT: 9b0116f0adad kernel: Add options for reindexing in C header
REVERT: 4bbd99b03001 kernel: Add block validation to C header
REVERT: 8dbc8230f110 kernel: Add chainstate loading when instantiating a ChainstateManager
REVERT: f1a9d6f4dfff kernel: Add chainstate manager option for setting worker threads
REVERT: 864008a1a71a kernel: Add chainstate manager object to C header
REVERT: b160f13ed141 kernel: Add notifications context option to C header
REVERT: d465a997f2e9 kernel: Add chain params context option to C header
REVERT: e61538b88b32 kernel: Add kernel library context object
REVERT: 3963f4c9de73 kernel: Add logging to kernel library C header
REVERT: f3acc94b4b7e kernel: Introduce initial kernel C header API

git-subtree-dir: libbitcoinkernel-sys/bitcoin
git-subtree-split: 0fc068b735d267c7ef4a3b23e32dab1771df2509
stringintech added a commit to stringintech/go-bitcoinkernel that referenced this pull request Sep 17, 2025
0fc068b735d kernel: Fix bitcoin-chainstate for windows
f6715d22de1 kernel: Add Purpose section to header documentation
73730490630 kernel: Allowing reducing exports
9ce6ef9e2ae kernel: Add pure kernel bitcoin-chainstate
27df296c3c5 kernel: Add functions to get the block hash from a block
f013c296304 kernel: Add block index utility functions to C header
91d571ab3aa kernel: Add function to read block undo data from disk to C header
c4b6912a4bf kernel: Add functions to read block from disk to C header
ef25a7cfff1 kernel: Add function for copying block data to C header
79499fc875b kernel: Add functions for the block validation state to C header
aace9f3da57 kernel: Add validation interface to C header
2a6652522d1 kernel: Add interrupt function to C header
c29e530dd30 kernel: Add import blocks function to C header
b06a333711e kernel: Add chainstate load options for in-memory dbs in C header
3fc6a85f30d kernel: Add options for reindexing in C header
6e86239dee9 kernel: Add block validation to C header
d05b0756567 kernel: Add chainstate loading when instantiating a ChainstateManager
2508d94192f kernel: Add chainstate manager option for setting worker threads
514bbe5ad80 kernel: Add chainstate manager object to C header
341b00345ce kernel: Add notifications context option to C header
3cde1d242b8 kernel: Add chain params context option to C header
51f3d54d0d4 kernel: Add kernel library context object
c3424d8750e kernel: Add logging to kernel library C header
7d4163c0afa kernel: Introduce initial kernel C header API
d20f10affba Merge bitcoin/bitcoin#33268: wallet: Identify transactions spending 0-value outputs, and add tests for anchor outputs in a wallet
9a5ba154bea Merge bitcoin/bitcoin#33310: trace: Workaround GCC bug compiling with old systemtap
853f0d88114 Merge bitcoin/bitcoin#33364: ci: always use tag for LLVM checkout
b81445333a1 Merge bitcoin/bitcoin#33243: test: Fix CLI_MAX_ARG_SIZE issues
f757da87f59 Merge bitcoin/bitcoin#33332: common: Make arith_uint256 trivially copyable
e416dc2fbbb Merge bitcoin/bitcoin#33321: kernel: make blockTip index const
176fac0f16d Merge bitcoin/bitcoin#33141: test: Remove polling loop from test_runner (take 2)
593d5fe37d7 Merge bitcoin/bitcoin#33354: txgraph: use enum Level instead of bool main_only
653a9849d5f common: Make arith_uint256 trivially copyable
b736052e39f ci: always use tag for LLVM checkout
d45f3717d2c txgraph: use enum Level instead of bool main_only
ee42d59d4de Merge bitcoin-core/gui#886: Avoid pathological QT text/markdown behavior...
2c8a478db4b Merge bitcoin/bitcoin#33231: net: Prevent node from binding to the same `CService`
591eea7b5ac Merge bitcoin/bitcoin#33082: wallet, refactor: Remove Legacy check and error
6a371b70c87 gui: Avoid pathological QT text/markdown behavior...
c0894a0a2be Merge bitcoin/bitcoin#33348: contrib: add bitcoin binary to gen-manpages
53e6db91ef5 contrib: add placeholder manpage for bitcoin binary
f5887a8de4c contrib: add bitcoin binary to gen-manpages
314c42b55bd Merge bitcoin/bitcoin#33347: build: bump `CLIENT_VERSION_MAJOR` to 30
9f744fffc39 build: bump CLIENT_VERSION_MAJOR to 30
042817ddb84 Merge bitcoin/bitcoin#33346: doc: remove release note fragment
0f0e6fe7f5f doc: remove release note fragment
84cf5420398 Merge bitcoin/bitcoin#33275: Release: 30.0 translations update
13809b867ad Merge bitcoin/bitcoin#33303: ci: Checkout latest merged pulls
e749205f83d Merge bitcoin/bitcoin#33319: ci: reduce runner sizes on various jobs
9cbd346daa5 Merge bitcoin/bitcoin#33340: Fix benchmark CSV output
4776179be9f Merge bitcoin/bitcoin#33342: guix: strip binaries in libexec
0ba44d9c38a Merge bitcoin/bitcoin#33296: net: check for empty header before calling FillBlock
1861030bea7 Merge bitcoin/bitcoin#30469: index: Fix coinstats overflow
8b626476803 test: send duplicate blocktxn message in p2p_compactblocks.py
5e585a0fc4f net: check for empty header before calling FillBlock
cb825a07ac6 Merge bitcoin/bitcoin#33338: net: Add interrupt to pcp retry loop
0b0bd74c3e9 Merge bitcoin/bitcoin#33312: clang-tidy: Disable `UndefinedBinaryOperatorResult` check in `src/ipc`
790b440197b Fix benchmark CSV output
3cceda9f485 guix: strip binaries in libexec
3eea9fd3953 Merge bitcoin/bitcoin#33308: doc: fix `LIBRARY_PATH` comment
0b38cc9bf7a Merge bitcoin/bitcoin#33339: doc: move release notes to wiki pre branch off
b320f5efa17 qt: 30.0 translations update
905c1a77f51 doc: move release notes to wiki pre branch off
2d799590fee Merge bitcoin/bitcoin#33283: contrib: update fixed seeds
188de70c864 net: Add interrupt to pcp retry loop
9c6fa07b124 Merge bitcoin/bitcoin#33322: Update libmultiprocess subtree to improve build and logs
c7679748115 clang-tidy: Fix critical warnings
54dc34ec227 index: Remove unused coinstatsindex recovery code
37c4fba1f4c index: Check BIP30 blocks when rewinding Coinstatsindex
51df9de8e5b doc: Add release note for 30469
bb8d6731832 test: Add coinstatsindex compatibility test
b2e8b64ddc3 index, refactor: Append blocks to coinstatsindex without db read
431a076ae6e index: Fix coinstatsindex overflow issue
fa8f081af31 ci: Checkout latest merged pulls
36e40417de3 Merge bitcoin-core/gui#884: Fix compatibility with `-debuglogfile` command-line option
a4ee70e5b69 Merge commit 'a334bbe9b79ddf1999003c792bc8945639b7e9c1' into pr/subtree-4
a334bbe9b79 Squashed 'src/ipc/libmultiprocess/' changes from 1b8d4a6f1e54..13424cf2ecc1
e04cb9c1bdf Merge bitcoin/bitcoin#33201: Add functional test for IPC interface
75d9b724757 kernel: make blockTip index const
a341e11ac92 ci: test IPC on additional hosts
6aee573bfcf ci: enable IPC tests in CI
8d2ee88fa2a tests: add functional tests for IPC interface
3cc9a06c8dd test: Add TestNode ipcbind option
3cceb60a715 test: Provide path to `bitcoin` binary
8c7f0056291 test: add is_ipc_compiled() and skip_if_no_ipc() functions
37c21ebe407 Merge bitcoin/bitcoin#33309: doc: archive v29.1 release notes
32e2484b67e Merge bitcoin/bitcoin#33304: depends: strip when installing qt binaries
4d4789dffad net: Prevent node from binding to the same CService
647cdb4f7e8 Merge bitcoin/bitcoin#33311: net: Quiet down logging when router doesn't support natpmp/pcp
589b65f06c3 clang-tidy: Disable `UndefinedBinaryOperatorResult` check in `src/ipc`
4f1a4cbccd7 net: Quiet down logging when router doesn't support natpmp/pcp
93a29ff2830 trace: Workaround GCC bug compiling with old systemtap
5eeb2facbbb ci: reduce runner sizes on various jobs
61ec8866c63 [doc] archive v29.1 release notes
a2a35b58cb9 doc: fix LIBRARY_PATH comment
e1ce0c525c7 Merge bitcoin/bitcoin#33291: ci: cd into BASE_BUILD_DIR for GetCMakeLogFiles
84e813a02bb index, refactor: DRY coinbase check
fab842b3248 index, refactor: Rename ReverseBlock to RevertBlock
2d8f5b91881 Merge bitcoin/bitcoin#33136: ci: Remove redundant RUN_UNIT_TESTS_SEQUENTIAL
c9d5f211c11 depends: strip when installing qt
fae610d8581 ci: Remove redundant RUN_UNIT_TESTS_SEQUENTIAL
2562fe1b2b6 Merge bitcoin/bitcoin#32159: net, pcp: handle multi-part responses and filter for default route while querying default gateway
ed2ff3c63d8 Merge bitcoin/bitcoin#33235: build: set ENABLE_IPC to OFF when fuzzing
88db09bafe9 net: handle multi-part netlink responses
113a4228229 wallet: Add m_cached_from_me to cache "from me" status
609d265ebc5 test: Add a test for anchor outputs in the wallet
c40dc822d74 wallet: Throw an error in sendall if the tx size cannot be calculated
39a7dbdd277 wallet: Determine IsFromMe by checking for TXOs of inputs
e76c2f7a411 test: Test wallet 'from me' status change
689a3219763 Merge bitcoin/bitcoin#33220: doc: truc packages allow sub min feerate transactions
9b76eef2d2b ci: cd into BASE_BUILD_DIR for GetCMakeLogFiles
939678940f6 contrib: update fixed seeds
6cdd8ee6761 contrib: update makeseeds minblocks
b8da9f4034e contrib: update makeseeds UA regex
ba0b4304ece Merge bitcoin/bitcoin#32989: ci: Migrate CI to hosted Cirrus Runners
0eb3eae5486 Merge bitcoin/bitcoin#33274: kernel: chainparams & headersync updates for 30.0
fa4885ef2fd test: Remove polling loop from test_runner
7270839af42 doc: truc packages allow sub min feerate transactions
46369583f3a Merge bitcoin/bitcoin#33224: doc: unify `datacarriersize` warning with release notes
755152ac819 kernel: add testnet4 assumeutxo param at height 90'000
a6512686e33 kernel: add mainnet assumeutxo param at height 910'000
943de66b504 kernel: update headersync params
66fb9624264 kernel: update chainTxData
c3cb26e0283 kernel: update assumevalid and minimumChainWork
b4adae76d46 kernel: update assumed blockchain & chainstate sizes
7e58c94112d Merge bitcoin/bitcoin#33269: test: Fixup fill_mempool docstring
3c5da69a232 ci: remove un-needed lint_run*.sh files
2aa288efdda ci: fix annoying docker warning
dd1c5903e8d ci: add ccache hit-rate warning when < 75%
f4272844833 doc: Detail configuration of hosted CI runners
3f339e99e00 ci: dynamically match makejobs with cores
4393ffdd837 ci: remove .cirrus.yml
bc41848d00f ci: port lint
d290a8e6eab ci: port msan-depends
9bbae61e3b4 ci: port tsan-depends
bf7d5364527 ci: port tidy
549074bc643 ci: port centos-depends-gui
58e38c3a042 ci: port previous-releases-depends-debug
341196d75c3 ci: port fuzzer-address-undefined-integer-nodepends
f2068f26c12 ci: port no-IPC-i686-DEBUG
2a00b12d73b ci: port nowallet-libbitcoinkernel
9c2514de534 ci: port mac-cross-gui-notests
2c990d84a3d ci: force reinstall of kernel headers in asan
884251441bb ci: update asan-lsan-ubsan
f253031cb8e ci: port arm 32-bit job
04e7bfbceb0 ci: update windows-cross job
cc1735d7771 ci: add job to determine runner type
020069e6b71 ci: add Cirrus cache host
9c2b96e0d03 ci: have base install run in right dir
18f6be09d02 ci: use docker build cache arg directly
94a09325475 ci: use buildx in ci
fdf64e55324 ci: add configure-docker action
33ba073df7a ci: add REPO_USE_CIRRUS_RUNNERS
b232b0fa5e9 ci: add caching actions
b8fcc9fcbcd ci: add configure environment action
fa3f682032a test: Fixup fill_mempool docstring
7cc9a087069 Merge bitcoin/bitcoin#33253: Revert compact block cache inefficiencies
084fd68fda2 Merge bitcoin/bitcoin#33258: ci: use LLVM 21
6ff2d423625 Merge bitcoin/bitcoin#33189: rpc: followups for 33106
4d54bb2b92c Merge bitcoin/bitcoin#33264: threading: reduce the scope of lock in getblocktemplate
9ae23950ef8 Merge bitcoin/bitcoin#33261: ci: return to using dash in CentOS job
493ba0f6883 threading: reduce the scope of lock in getblocktemplate
509ffea40ab ci: return to using dash in CentOS job
b7b249d3adf Revert "[refactor] rewrite vTxHashes as a vector of CTransactionRef"
b9300d8d0a7 Revert "refactor: Simplify `extra_txn` to be a vec of CTransactionRef instead of a vec of pair<Wtxid, CTransactionRef>"
df5a50e5de2 bench/blockencodings: add compact block reconstruction benchmark
4cf0ae474ba ci: use LLVM 21
fa96a4afea2 ci: Enable CI_LIMIT_STACK_SIZE=1 in i686_no_ipc task
facfde2cdce test: Fix CLI_MAX_ARG_SIZE issues
6ca6f3b37b9 Merge bitcoin/bitcoin#33241: Update libmultiprocess subtree to fix build issues
9703b7e6d56 Merge bitcoin/bitcoin#32592: threading: remove ancient CRITICAL_SECTION macros
dd68d0f40b6 Squashed 'src/ipc/libmultiprocess/' changes from b4120d34bad2..1b8d4a6f1e54
323b3fd2728 Merge commit 'dd68d0f40b614474f24469fbe1ba02f8f9146b31' into pr/subtree-3
d3c5e47391e wallet, refactor: Remove Legacy check and error
73220fc0f95 Merge bitcoin/bitcoin#33212: index: Don't commit state in BaseIndex::Rewind
46ca7712cb5 threading: remove unused template instantiations
b537a6a6dbd threading: remove obsolete critsect macros
0d0e0a39b4a threading: use a reverse lock rather than manual critsect macros
3ddd554d318 tests: Add Assertions in reverse_lock tests to exercise thread-safety annotations
c88b1cbf57a tests: get rid of remaining manual critsect usage
2c223de2af7 Merge bitcoin/bitcoin#33237: doc: use new block_to_connect parameter name
02f6758e0ce Merge bitcoin/bitcoin#33233: doc: follow-ups to "Add bitcoin-{node,gui} to release binaries for IPC"
682bd04462d Merge bitcoin/bitcoin#33236: doc: Remove wrong and redundant doxygen tag
a9701de0c9f Merge bitcoin/bitcoin#33217: depends: remove xinerama extension from libxcb
78351ed083b Merge bitcoin/bitcoin#33222: miner: clamp options instead of asserting
de65c86572c doc: capnproto instruction for Alpine and Arch
49d1a1a3630 doc: add capnproto-devel to Fedora build instruction
a602f6fb7bf test: index with an unclean restart after a reorg
01b95ac6f49 index: don't commit state in BaseIndex::Rewind
1c3db0ed8e6 doc: use new block_to_connect parameter name
8333aa53029 Merge bitcoin/bitcoin#32523: wallet: Remove isminetypes
eab5518913a doc: mark bitcoin-{node,gui} installed in files.md
966666de9a6 doc: Remove wrong and redundant doxygen tag
af4156ab755 build: set ENABLE_IPC to OFF when fuzzing
2a815d126bc doc: link to capnp version bump PR
decc3671c88 guix: remove libxcb-xinerama.so.0 from allowed libs
3d9314f3838 depends: remove xinerama extension from libxcb
7d9789401be Merge bitcoin/bitcoin#31802: Add bitcoin-{node,gui} to release binaries for IPC
2885bd0e1c4 doc: unify `datacarriersize` warning with release notes
be776a1443f wallet: Remove isminetype
009a69a616c wallet: Remove ISMINE_USED
6a7aa015747 wallet: Remove COutput::spendable and AvailableCoinsListUnspent
7392b8b084b miner: clamp options instead of asserting
620abe985e5 interfaces, gui: Remove is_mine output parameter from getAddress
c0d28c8f5b1 qt: Fix compatibility with `-debuglogfile` command-line option
daa40a3ff97 doc fixups for 33106
c568511e8ce test fixup for incremental feerate
636fa219d37 test fixups
9169a50d529 [rpc] expose blockmintxfee via getmininginfo
ce7d94a492e doc: add release note
71f29d4fa90 doc: update build and dependencies docs for IPC
3cbf747c328 cmake: set ENABLE_IPC by default
32a90e1b901 ci: use bitcoin-node for one depends job
b333cc14d50 ci: build one depends job without multiprocess
16bce9ac4cd build: depends makes libmultiprocess by default
30c6f64eed3 test: Remove unnecessary LoadWallet() calls
42e99ad7739 net: skip non-route netlink responses
57ce645f05d net: filter for default routes in netlink responses
REVERT: bce88ae28ab kernel: Fix bitcoin-chainstate for windows
REVERT: 3a7e9f0eafa kernel: Add Purpose section to header documentation
REVERT: 5bae79ace52 kernel: Allowing reducing exports
REVERT: d0308a2489f kernel: Add pure kernel bitcoin-chainstate
REVERT: 05a569070c8 kernel: Add functions to get the block hash from a block
REVERT: 8566ec6e839 kernel: Add block index utility functions to C header
REVERT: b4d0e80f846 kernel: Add function to read block undo data from disk to C header
REVERT: 488999ac77f kernel: Add functions to read block from disk to C header
REVERT: 3dc76bb7f79 kernel: Add function for copying block data to C header
REVERT: 6151b45a426 kernel: Add functions for the block validation state to C header
REVERT: 5d00432f270 kernel: Add validation interface to C header
REVERT: facf209aee4 kernel: Add interrupt function to C header
REVERT: 129f553e4ef kernel: Add import blocks function to C header
REVERT: f7ed7b944df kernel: Add chainstate load options for in-memory dbs in C header
REVERT: 67d9f53a986 kernel: Add options for reindexing in C header
REVERT: ebc826319fc kernel: Add block validation to C header
REVERT: 511a1c8a785 kernel: Add chainstate loading when instantiating a ChainstateManager
REVERT: aad295899ea kernel: Add chainstate manager option for setting worker threads
REVERT: c701cb2405e kernel: Add chainstate manager object to C header
REVERT: 1df8b876024 kernel: Add notifications context option to C header
REVERT: 571c1a2acb9 kernel: Add chain params context option to C header
REVERT: a2cab9f1cd6 kernel: Add kernel library context object
REVERT: 944ef6b630a kernel: Add logging to kernel library C header
REVERT: d0cb841fbae kernel: Introduce initial kernel C header API

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

Successfully merging this pull request may close these issues.