Skip to content

Conversation

sipa
Copy link
Member

@sipa sipa commented Oct 1, 2025

In theory, the LastCommonAncestor function in chain.cpp can take $\mathcal{O}(n)$ time, walking over the entire chain, if the forking point is very early, which could take ~milliseconds. I expect this to be very rare in normal occurrences, but it seems nontrivial to reason about worst cases as it's accessible from several places in net_processing.

This PR modifies the algorithm to make use of the CBlockIndex::pskip skip pointers to find the forking point in sublinear time (a simulation shows that for heights up to $34 \cdot 4^k - 2$ and $k \geq 8$, no more than $k^2 + 10k + 13$ steps are ever needed), in a way that should be nearly free - at worst the same number of memory accesses should be made, with a tiny increase in computation.

As it appears we didn't really have tests for this function, unit tests are added for that function as well as CBlockIndex::GetAncestor().

This is inspired by #32180 (comment)

@DrahtBot
Copy link
Contributor

DrahtBot commented Oct 1, 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/33515.

Reviews

See the guideline for information on the review process.

Type Reviewers
ACK vasild, mzumsande, furszy, optout21, stratospher, achow101

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

Copy link
Member

@furszy furszy left a comment

Choose a reason for hiding this comment

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

Code review ACK 4fe3de2

Copy link
Contributor

@vasild vasild left a comment

Choose a reason for hiding this comment

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

Approach ACK 4fe3de2

Comment on lines 170 to 177
while (pa->pskip != pb->pskip) {
Assume(pa->nHeight == pb->nHeight);
pa = pa->pskip;
pb = pb->pskip;
}
Copy link
Contributor

Choose a reason for hiding this comment

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

This assumes that all blocks at the same height have equal pskip height. This is true currently, but if changed, then this code will trigger the Assume in debug and will do null pointer dereference in release builds. Looking at GetSkipHeight(), it derives its result deterministically from height only (good).

Is it worth here, if pa->pskip->nHeight != pb->pskip->nHeight, then to fall back to one-by-one iterating?

Copy link
Member Author

Choose a reason for hiding this comment

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

I don't think so - that eventuality (pskip depending on more than just height) is dealt with through the Assume(). I guess I can add a comment to clarify that.

sipa added 2 commits October 2, 2025 10:34
By using the pskip pointer, which regularly allows jumping back much faster
than pprev, the forking point between two CBlockIndex entries can be found
much faster.

A simulation shows that no more than 136 steps are needed to jump anywhere
within the first 2^20 block heights, and on average 65 jumps for uniform
forking points around that height.
Copy link
Contributor

@vasild vasild left a comment

Choose a reason for hiding this comment

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

ACK 3635d62

@DrahtBot DrahtBot requested a review from furszy October 3, 2025 08:59
Copy link
Contributor

@mzumsande mzumsande left a comment

Choose a reason for hiding this comment

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

Code Review ACK 3635d62
The added test is slightly faster with the changes.

I expect this to be very rare in normal occurrences, but it seems nontrivial to reason about worst cases as it's accessible from several places in net_processing.

I think it would require really long forked chains for this to become relevant, so basically in consensus split scenarios?!

// This logic relies on the property that equal-height blocks have equal-height skip
// pointers.
Assume(pa->nHeight == pb->nHeight);
Assume(pa->pskip->nHeight == pb->pskip->nHeight);
Copy link
Contributor

Choose a reason for hiding this comment

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

If I understand it correctly, we don't have to worry about dereferencing a nullptr here, because pskip is only nullptr for genesis, and if one of the blocks was genesis, we couldn't get to this spot.

Copy link
Member

@furszy furszy left a comment

Choose a reason for hiding this comment

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

ACK 3635d62

Comment on lines -171 to -173

// Eventually all chain branches meet at the genesis block.
assert(pa == pb);
Copy link

Choose a reason for hiding this comment

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

Why remove this? Is it just too obvious after the while (pa != pb)?

Comment on lines +171 to +172
// This logic relies on the property that equal-height blocks have equal-height skip
// pointers.
Copy link

Choose a reason for hiding this comment

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

I think what is meant here is that equal-height blocks have equal-height skip values, the pointer can be different (if on different forks). I suggest changing to "height skip values"

@optout21
Copy link

optout21 commented Oct 6, 2025

ACK 3635d62

With the new chain_test test, this optimization reduces the number of steps in LastCommonAncestor by at least 5-fold (e.g. from 5898713 to 1119703), an obvious optimization.
However, timing the tests (pre and post optimization) I could not measure a difference.
I've left two non-blocking nit comments.

@optout21
Copy link

optout21 commented Oct 6, 2025

However, timing the tests (pre and post optimization) I could not measure a difference.

Most of the CPU time in the test is taken by the NaiveGetAncestor and NaiveLastCommonAncestor naive implementations. Taken out calls to those, I have measured a 47% speedup in the execution of the test (user time).

Copy link
Contributor

@stratospher stratospher left a comment

Choose a reason for hiding this comment

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

ACK 3635d62.

Seems to work better when there are fewer but deeper forks.

Got this when running each LCA algorithm 10,000 times on the same block pairs in the same block constellation:

  • No forks - kind of same
    LastCommonAncestor : 962us
    NaiveLastCommonAncestor : 986us

  • 0.1% forks - 18x slower
    LastCommonAncestor : 1103us
    NaiveLastCommonAncestor : 20481us

  • 0.5% forks - 11x slower
    LastCommonAncestor : 1030us
    NaiveLastCommonAncestor : 11591us

  • 1% forks - 8x slower
    LastCommonAncestor : 1023us
    NaiveLastCommonAncestor : 8580us

  • 5% forks - 3.44x slower
    LastCommonAncestor : 781us
    NaiveLastCommonAncestor : 2688us

Though it doesn't matter much since deep forks are a rare scenario.

@achow101
Copy link
Member

achow101 commented Oct 7, 2025

ACK 3635d62

@achow101 achow101 merged commit de1dc6b into bitcoin:master Oct 7, 2025
20 checks passed
TheCharlatan added a commit to TheCharlatan/rust-bitcoinkernel that referenced this pull request Oct 8, 2025
…563a70c0d4c

7563a70c0d4c Add sans utxo set block validation
9cc32f782367 block header
6ee488a911d7 kernel: Fix bitcoin-chainstate for windows
f3cdc1d06830 kernel: Add Purpose section to header documentation
e12e49cd9f1a kernel: Allowing reducing exports
d12156dc9325 kernel: Add pure kernel bitcoin-chainstate
6073d024833c Kernel: Add functions for working with outpoints
1cf094c3d21d kernel: Add block hash type and block tree utility functions to C header
6d78409470ca kernel: Add function to read block undo data from disk to C header
3a97c00c393a kernel: Add functions to read block from disk to C header
c7d52b5d8546 kernel: Add function for copying block data to C header
01406a79391a kernel: Add functions for the block validation state to C header
1a4b0f99b3a1 kernel: Add validation interface to C header
b784e3dece56 kernel: Add interrupt function to C header
1b48bf08dad9 kernel: Add import blocks function to C header
c261da1804f4 kernel: Add chainstate load options for in-memory dbs in C header
898d063f1150 kernel: Add options for reindexing in C header
3f4ecce17816 kernel: Add block validation to C header
97caa08c3b6e kernel: Add chainstate loading when instantiating a ChainstateManager
b94bea810156 kernel: Add chainstate manager option for setting worker threads
eaf6829898a0 kernel: Add chainstate manager object to C header
15e4a3f26ded kernel: Add notifications context option to C header
a4cd536a8e9b kernel: Add chain params context option to C header
d7387a5b6701 kernel: Add kernel library context object
5e2d066fe861 kernel: Add logging to kernel library C header
f34e2a470df1 kernel: Introduce initial kernel C header API
9ce01e051bae doc: Add docstrings for ConnectBlock and SpendBlock
d7e812db1d37 validation: Move coin existence and spend check to SpendBlock
cf3b9c77b9c6 validation: Move SetBestBlock out of ConnectBlock
ee0c36f0b540 validation: Add SpendBlock function
78a3397898a6 validation: Use vector of outputs instead of CCoinsViewCache in CheckInputScripts
4d2a58f3f1a5 consensus: Use Coin span in CheckTxInputs
0d4274d9bdda consensus: Use Coin span in GetTransactionSigOpCost
4a3d86c6fc51 consensus: Use Coin span in GetP2SHSigOpCount
b510893d0076 Merge bitcoin/bitcoin#33494: depends: Update URL for `qrencode` package source tarball
ec5841888de7 Merge bitcoin/bitcoin#32513: ci: remove 3rd party js from windows dll gha job
d735e2e9b39a Merge bitcoin/bitcoin#32998: Bump SCRIPT_VERIFY flags to 64 bit
de1dc6b47ba7 Merge bitcoin/bitcoin#33515: Improve LastCommonAncestor performance + add tests
919e6d01e93a Merge bitcoin/bitcoin#33489: build: Drop support for EOL macOS 13
452ea5928112 Merge bitcoin/bitcoin#33454: net: support overriding the proxy selection in ConnectNode()
a33bd767a37d Merge bitcoin/bitcoin#33464: p2p: Use network-dependent timers for inbound inv scheduling
2578da69f416 Merge bitcoin/bitcoin#33485: test: set par=2 in default config for functional test framework
25dbe4bc86d3 Merge bitcoin/bitcoin#33533: test: addrman: check isTerrible when time is more than 10min in the future
cfb0d74698ad Merge bitcoin/bitcoin#33121: test: fix p2p_leak_tx.py
86eaa4d6cd5c Merge bitcoin/bitcoin#33482: contrib: fix macOS deployment with no translations
007900ee9b89 Merge bitcoin/bitcoin#33434: depends: static libxcb-cursor
8e47ed6906d5 test: addrman: check isTerrible when time is more than 10min in the future
3635d62f5a93 chain: make use of pskip in LastCommonAncestor (optimization)
2e09d66fbb7b tests: add unit tests for CBlockIndex::GetAncestor and LastCommonAncestor
156927903d64 ci: Check windows manifests for all executables
e1a1b14c9359 ci: use a more generic way of finding mt.exe
1ed00a0d39d5 Merge bitcoin/bitcoin#33504: Mempool: Do not enforce TRUC checks on reorg
c76de2eea180 net: support overriding the proxy selection in ConnectNode()
75353a016357 Merge bitcoin/bitcoin#32326: net: improve the interface around FindNode() and avoid a recursive mutex lock
87e7f37918d4 doc: clarify peer address in getpeerinfo and addnode RPC help
2a4450ccbbe3 net: change FindNode() to not return a node and rename it
4268abae1a1d net: avoid recursive m_nodes_mutex lock in DisconnectNode()
acc7f2a433b1 Merge bitcoin/bitcoin#33401: ci: Remove bash -c from cmake invocation using eval
1aaaaa078bb2 fuzz: Drop unused workaround after Apple-Clang bump
fadad7a49477 Drop support for EOL macOS 13
50194029e7c2 ci: Remove bash -c from cmake invocation using eval
f41f97240c06 Merge bitcoin/bitcoin#28584: Fuzz: extend CConnman tests
cc4a2cc6bdc4 Merge bitcoin/bitcoin#33453: docs: Undeprecate datacarrier and datacarriersize configuration options
7502d4e94038 Merge bitcoin/bitcoin#33260: test: Use extra_port() helper in feature_bind_extra.py
14ae71f323dd test: make notfound_on_unannounced more reliable
99bc552980d9 test: fix (w)txid confusion in p2p_leak_tx.py
576dd97cb91e test: increase timeout in p2p_leak_tx.py
8f73d9522146 Merge bitcoin/bitcoin#33299: wallet: reduce unconditional logging during load
0f7d4ee4e828 p2p: Use different inbound inv timer per network
93a70a42d30f depends: Update URL for `qrencode` package source tarball
6de80512632a depends: Use hash instead of file name for package download stamp
46135d90ea90 depends: Drop redundant check for downloaded file
771978952a98 depends: Fix `$(package)_fetched` target
25212dfdb4cd Merge bitcoin/bitcoin#33487: ci: use latest versions of lint deps
06df14ba75be test: add more TRUC reorg coverge
26e71c237d9d Mempool: Do not enforce TRUC checks on reorg
bbe8e9063c15 fuzz: don't bypass_limits for most mempool harnesses
d4f47f97715c ci: use latest versions of lint deps
fc861332b351 wallet, log: reduce unconditional logging during load
3a4d1a25cf94 net: merge AlreadyConnectedToAddress() and FindNode(CNetAddr)
d8fe258cd610 Merge bitcoin/bitcoin#33484: doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness)
dda5228e02ca test: set par=2 in default config for functional test framework
ff05bebcc426 doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness)
200150beba66 Merge bitcoin/bitcoin#33313: test/refactor: use test deque to avoid quadratic iteration
7e08445449fc Merge bitcoin/bitcoin#33399: key: use static context for libsecp256k1 calls where applicable
7b5261f7ef3d contrib: fix using macdploy script without translations.
65e909dfdd93 Merge bitcoin/bitcoin#33430: rpc: addpeeraddress: throw on invalid IP
31b29f8eb629 Merge bitcoin/bitcoin#33229: multiprocess: Don't require bitcoin -m argument when IPC options are used
e62e0a12b332 Merge bitcoin/bitcoin#33230: cli: Handle arguments that can be either JSON or string
7ae0497eef8f ci: remove 3rd party js from windows dll gha job
05d984b1a4fb Merge bitcoin/bitcoin#33475: bugfix: miner: fix `addPackageTxs` unsigned integer overflow
b807dfcdc592 miner: fix `addPackageTxs` unsigned integer overflow
d41b503ae128 Merge bitcoin/bitcoin#33446: rpc: fix getblock(header) returns target for tip
5ae8edbc304a Merge bitcoin/bitcoin#33158: macdeploy: avoid use of `Bitcoin Core` in Linux cross build
df67bb6fd84c test: Remove convert_to_json_for_cli
44a493e150a7 cli: Allow arguments to be both strings and json
ad4a49090da8 Merge bitcoin/bitcoin#33408: msvc: Update vcpkg manifest
dd61f08fd52b Merge bitcoin/bitcoin#33031: wallet: Set descriptor cache upgraded flag for migrated wallets
350692e561ce Merge bitcoin/bitcoin#33388: test: don't throw from the destructor of DebugLogHelper
94db966a3bb5 net: use generic network key for addrcache
eca50854e1cb depends: static libxcb_cursor
89144eb473c6 Merge bitcoin/bitcoin#33448: net/rpc: Report inv information for debugging
eaa1a3cd0b3d Merge bitcoin/bitcoin#33425: ci: remove Clang build from msan fuzz job
b77137a5644e ci: link against -lstdc++ in native fuzz with msan job
a86e1a6e32d8 Merge bitcoin/bitcoin#33427: rpc: Always return per-wtxid entries in submitpackage tx-results
6861dadfcb11 Merge bitcoin/bitcoin#33459: doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description
3b3ab3a50a0b Merge bitcoin/bitcoin#33302: ci: disable cirrus cache in 32bit arm job
2738b63e025d test: validate behaviour of getpeerinfo last_inv_sequence and inv_to_send
fbde8d9a81d8 doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description
34fefb633584 Merge bitcoin/bitcoin#33435: system: improve handling around GetTotalRAM()
56791b582958 test: split out `system_ram_tests` to signal when total ram cannot be determined
337a6e738616 system: improve handling around GetTotalRAM()
451ba9ada41f datacarrier: Undeprecate configuration option
77b2ebb81182 rpc/net: report per-peer last_inv_sequence
bf7996cbc3be rpc: fix getblock(header) returns target for tip
4c3c1f42cf70 test: add block 2016 to mock mainnet
953544d0286b Merge bitcoin/bitcoin#33429: fuzz: reduce iterations in slow targets
df101c97c260 Merge bitcoin/bitcoin#33422: build: Remove lingering Windows registry & shortcuts (#32132 follow-up)
56c6daa64f6b Merge bitcoin/bitcoin#28592: p2p: Increase tx relay rate
79752b9c0b6b build(windows): Remove lingering registry entries and shortcuts upon install
cad9a7fd7370 rpc: Always return per-wtxid entries in submitpackage tx-results
6a33970fef1b fuzz: Reduce iterations in slow targets
edb871cba22a Merge bitcoin/bitcoin#33412: Update libmultiprocess subtree to fix intermittent mptest hang
2427939935f3 test: forbid copying of DebugLogHelper
d6aa266d432f test: don't throw from the destructor of DebugLogHelper
eaf2c464758b Merge bitcoin/bitcoin#33378: Remove unnecessary casts when calling socket operations
5aec516b2ce3 Merge bitcoin/bitcoin#33333: coins: warn on oversized `-dbcache`
316a0c513278 rpc: addpeeraddress: throw on invalid IP
74fa028da1ea Merge bitcoin/bitcoin#33420: test: Avoid interface_ipc.py Duplicate ID errors
168360f4ae47 coins: warn on oversized -dbcache
6c720459beea system: add helper for fetching total system memory
e9c52272ebd7 test: Avoid interface_ipc.py Duplicate ID errors
c49a43591f88 Merge commit '535fa0ad0d2637f845beae92ea9dbbbbbe377c74' into pr/subtree-5
535fa0ad0d26 Squashed 'src/ipc/libmultiprocess/' changes from 13424cf2ecc1..47d79db8a552
453b0fa286e5 bitcoin: Make wrapper not require -m
1444ed855f43 Merge bitcoin/bitcoin#33407: cmake: Install `bitcoin` manpage
29e836fae660 test: add tool_bitcoin to test bitcoin wrapper behavior
0972f5504021 init: add exe name to bitcoind, bitcoin-node -version output to be able to distinguish these in tests
2b0cd1f3fb22 Merge bitcoin/bitcoin#33395: net: do not apply whitelist permissions to onion inbounds
ef20c2d11d96 build, msvc: Update vcpkg manifest baseline
1ff9e929489e key: use static context for libsecp256k1 calls where applicable
f563ce90818d net: Do not apply whitelist permission to onion inbounds
947bed28fe62 Merge bitcoin/bitcoin#33380: test: Add submitblock test in interface_ipc
7584a4fda95d cmake: Install `bitcoin` manpage
67f632b6deb8 net: remove unnecessary casts in socket operations
c4adfbf70626 Merge bitcoin/bitcoin#33373: depends: systemtap 5.3
5aa3d3135d25 Merge bitcoin/bitcoin#33391: test: Prevent disk space warning during node_init_tests
bdf01c6f6126 test: Prevent disk space warning during node_init_tests
0a26731c4cc1 test: Add submitblock test in interface_ipc
2d6a0c464912 Merge bitcoin/bitcoin#33379: cmake: Fix regression in `secp256k1.cmake`
9193c3e4340b cmake: Fix regression in `secp256k1.cmake`
28efd724b478 depends: systemtap 5.3
75e6984ec8c6 test/refactor: use test deque to avoid quadratic iteration
652424ad162b test: additional test coverage for script_verify_flags
00c253d49417 ci: disable cirrus cache in 32bit arm job
ff18b6bbaf32 ci: refactor docker action to return provider str
8e434a84999c macdeploy: rename macOS output to bitcoin-macos-app.zip
05353d9cf08c macdeploy: combine appname & -zip arguments
fabc2615af26 test: Use extra_port() helper in feature_bind_extra.py
417437eb01ac script/verify_flags: extend script_verify_flags to 64 bits
3cbbcb66efc3 script/interpreter: make script_verify_flag_name an ordinary enum
bddcadee82da script/verify_flags: make script_verify_flags type safe
a5ead122fe06 script/interpreter: introduce script_verify_flags typename
4577fb2b1e09 rpc: have getdeploymentinfo report script verify flags
a3986935f073 validation: export GetBlockScriptFlags()
5db8cd2d37eb Move mapFlagNames and FormatScriptFlags logic to script/interpreter.h
adefb51c5437 rpc/net: add per-peer inv_to_send sizes
88b0647f027a wallet: Always write last hardened cache flag in migrated wallets
8a08eef645ee tests: Check that the last hardened cache upgrade occurs
0802398e749c fuzz: make it possible to mock (fuzz) CThreadInterrupt
6d9e5d130d2e fuzz: add CConnman::SocketHandler() to the tests
3265df63a48d fuzz: add CConnman::InitBinds() to the tests
91cbf4dbd864 fuzz: add CConnman::CreateNodeFromAcceptedSocket() to the tests
50da7432ec1e fuzz: add CConnman::OpenNetworkConnection() to the tests
e6a917c8f8e0 fuzz: add Fuzzed NetEventsInterface and use it in connman tests
e883b3776881 fuzz: set the output argument of FuzzedSock::Accept()
b81f37031c8f p2p: Increase tx relay rate
REVERT: 64d1449ff47d kernel: Fix bitcoin-chainstate for windows
REVERT: ba247a6a7183 kernel: Add Purpose section to header documentation
REVERT: b0697ccbf7fd kernel: Allowing reducing exports
REVERT: 9d23c437bfc8 kernel: Add pure kernel bitcoin-chainstate
REVERT: 10e8e06caf15 Kernel: Add functions for working with outpoints
REVERT: ae64f8984d98 kernel: Add functions to get the block hash from a block
REVERT: 2c2f277d12fa kernel: Add block hash type and block tree utility functions to C header
REVERT: 6062e2eeca3c kernel: Add function to read block undo data from disk to C header
REVERT: e96af0baf5ef kernel: Add functions to read block from disk to C header
REVERT: 60e1515586a8 kernel: Add function for copying block data to C header
REVERT: 7b105b7d02a0 kernel: Add functions for the block validation state to C header
REVERT: 1a58dbb81583 kernel: Add validation interface to C header
REVERT: 86ed87d5a6c4 kernel: Add interrupt function to C header
REVERT: e424c4554653 kernel: Add import blocks function to C header
REVERT: cf7b562f2e31 kernel: Add chainstate load options for in-memory dbs in C header
REVERT: e26a198acfbb kernel: Add options for reindexing in C header
REVERT: 4196583e03d6 kernel: Add block validation to C header
REVERT: a7149076e233 kernel: Add chainstate loading when instantiating a ChainstateManager
REVERT: d36b447e6caf kernel: Add chainstate manager option for setting worker threads
REVERT: d4e612af6701 kernel: Add chainstate manager object to C header
REVERT: f19c80767460 kernel: Add notifications context option to C header
REVERT: cc0043d99b62 kernel: Add chain params context option to C header
REVERT: 8b3ceea4f1df kernel: Add kernel library context object
REVERT: 039e222756ef kernel: Add logging to kernel library C header
REVERT: d192006d7f4e kernel: Introduce initial kernel C header API

git-subtree-dir: libbitcoinkernel-sys/bitcoin
git-subtree-split: 7563a70c0d4cbcdef88dbddab939bf3056c63e2b
TheCharlatan added a commit to TheCharlatan/rust-bitcoinkernel that referenced this pull request Oct 8, 2025
…09748e2

a8d09748e2 Add sans utxo set block validation
42d3cb24d3 block header
6ee488a911 kernel: Fix bitcoin-chainstate for windows
f3cdc1d068 kernel: Add Purpose section to header documentation
e12e49cd9f kernel: Allowing reducing exports
d12156dc93 kernel: Add pure kernel bitcoin-chainstate
6073d02483 Kernel: Add functions for working with outpoints
1cf094c3d2 kernel: Add block hash type and block tree utility functions to C header
6d78409470 kernel: Add function to read block undo data from disk to C header
3a97c00c39 kernel: Add functions to read block from disk to C header
c7d52b5d85 kernel: Add function for copying block data to C header
01406a7939 kernel: Add functions for the block validation state to C header
1a4b0f99b3 kernel: Add validation interface to C header
b784e3dece kernel: Add interrupt function to C header
1b48bf08da kernel: Add import blocks function to C header
c261da1804 kernel: Add chainstate load options for in-memory dbs in C header
898d063f11 kernel: Add options for reindexing in C header
3f4ecce178 kernel: Add block validation to C header
97caa08c3b kernel: Add chainstate loading when instantiating a ChainstateManager
b94bea8101 kernel: Add chainstate manager option for setting worker threads
eaf6829898 kernel: Add chainstate manager object to C header
15e4a3f26d kernel: Add notifications context option to C header
a4cd536a8e kernel: Add chain params context option to C header
d7387a5b67 kernel: Add kernel library context object
5e2d066fe8 kernel: Add logging to kernel library C header
f34e2a470d kernel: Introduce initial kernel C header API
9ce01e051b doc: Add docstrings for ConnectBlock and SpendBlock
d7e812db1d validation: Move coin existence and spend check to SpendBlock
cf3b9c77b9 validation: Move SetBestBlock out of ConnectBlock
ee0c36f0b5 validation: Add SpendBlock function
78a3397898 validation: Use vector of outputs instead of CCoinsViewCache in CheckInputScripts
4d2a58f3f1 consensus: Use Coin span in CheckTxInputs
0d4274d9bd consensus: Use Coin span in GetTransactionSigOpCost
4a3d86c6fc consensus: Use Coin span in GetP2SHSigOpCount
b510893d00 Merge bitcoin/bitcoin#33494: depends: Update URL for `qrencode` package source tarball
ec5841888d Merge bitcoin/bitcoin#32513: ci: remove 3rd party js from windows dll gha job
d735e2e9b3 Merge bitcoin/bitcoin#32998: Bump SCRIPT_VERIFY flags to 64 bit
de1dc6b47b Merge bitcoin/bitcoin#33515: Improve LastCommonAncestor performance + add tests
919e6d01e9 Merge bitcoin/bitcoin#33489: build: Drop support for EOL macOS 13
452ea59281 Merge bitcoin/bitcoin#33454: net: support overriding the proxy selection in ConnectNode()
a33bd767a3 Merge bitcoin/bitcoin#33464: p2p: Use network-dependent timers for inbound inv scheduling
2578da69f4 Merge bitcoin/bitcoin#33485: test: set par=2 in default config for functional test framework
25dbe4bc86 Merge bitcoin/bitcoin#33533: test: addrman: check isTerrible when time is more than 10min in the future
cfb0d74698 Merge bitcoin/bitcoin#33121: test: fix p2p_leak_tx.py
86eaa4d6cd Merge bitcoin/bitcoin#33482: contrib: fix macOS deployment with no translations
007900ee9b Merge bitcoin/bitcoin#33434: depends: static libxcb-cursor
8e47ed6906 test: addrman: check isTerrible when time is more than 10min in the future
3635d62f5a chain: make use of pskip in LastCommonAncestor (optimization)
2e09d66fbb tests: add unit tests for CBlockIndex::GetAncestor and LastCommonAncestor
156927903d ci: Check windows manifests for all executables
e1a1b14c93 ci: use a more generic way of finding mt.exe
1ed00a0d39 Merge bitcoin/bitcoin#33504: Mempool: Do not enforce TRUC checks on reorg
c76de2eea1 net: support overriding the proxy selection in ConnectNode()
75353a0163 Merge bitcoin/bitcoin#32326: net: improve the interface around FindNode() and avoid a recursive mutex lock
87e7f37918 doc: clarify peer address in getpeerinfo and addnode RPC help
2a4450ccbb net: change FindNode() to not return a node and rename it
4268abae1a net: avoid recursive m_nodes_mutex lock in DisconnectNode()
acc7f2a433 Merge bitcoin/bitcoin#33401: ci: Remove bash -c from cmake invocation using eval
1aaaaa078b fuzz: Drop unused workaround after Apple-Clang bump
fadad7a494 Drop support for EOL macOS 13
50194029e7 ci: Remove bash -c from cmake invocation using eval
f41f97240c Merge bitcoin/bitcoin#28584: Fuzz: extend CConnman tests
cc4a2cc6bd Merge bitcoin/bitcoin#33453: docs: Undeprecate datacarrier and datacarriersize configuration options
7502d4e940 Merge bitcoin/bitcoin#33260: test: Use extra_port() helper in feature_bind_extra.py
14ae71f323 test: make notfound_on_unannounced more reliable
99bc552980 test: fix (w)txid confusion in p2p_leak_tx.py
576dd97cb9 test: increase timeout in p2p_leak_tx.py
8f73d95221 Merge bitcoin/bitcoin#33299: wallet: reduce unconditional logging during load
0f7d4ee4e8 p2p: Use different inbound inv timer per network
93a70a42d3 depends: Update URL for `qrencode` package source tarball
6de8051263 depends: Use hash instead of file name for package download stamp
46135d90ea depends: Drop redundant check for downloaded file
771978952a depends: Fix `$(package)_fetched` target
25212dfdb4 Merge bitcoin/bitcoin#33487: ci: use latest versions of lint deps
06df14ba75 test: add more TRUC reorg coverge
26e71c237d Mempool: Do not enforce TRUC checks on reorg
bbe8e9063c fuzz: don't bypass_limits for most mempool harnesses
d4f47f9771 ci: use latest versions of lint deps
fc861332b3 wallet, log: reduce unconditional logging during load
3a4d1a25cf net: merge AlreadyConnectedToAddress() and FindNode(CNetAddr)
d8fe258cd6 Merge bitcoin/bitcoin#33484: doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness)
dda5228e02 test: set par=2 in default config for functional test framework
ff05bebcc4 doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness)
200150beba Merge bitcoin/bitcoin#33313: test/refactor: use test deque to avoid quadratic iteration
7e08445449 Merge bitcoin/bitcoin#33399: key: use static context for libsecp256k1 calls where applicable
7b5261f7ef contrib: fix using macdploy script without translations.
65e909dfdd Merge bitcoin/bitcoin#33430: rpc: addpeeraddress: throw on invalid IP
31b29f8eb6 Merge bitcoin/bitcoin#33229: multiprocess: Don't require bitcoin -m argument when IPC options are used
e62e0a12b3 Merge bitcoin/bitcoin#33230: cli: Handle arguments that can be either JSON or string
7ae0497eef ci: remove 3rd party js from windows dll gha job
05d984b1a4 Merge bitcoin/bitcoin#33475: bugfix: miner: fix `addPackageTxs` unsigned integer overflow
b807dfcdc5 miner: fix `addPackageTxs` unsigned integer overflow
d41b503ae1 Merge bitcoin/bitcoin#33446: rpc: fix getblock(header) returns target for tip
5ae8edbc30 Merge bitcoin/bitcoin#33158: macdeploy: avoid use of `Bitcoin Core` in Linux cross build
df67bb6fd8 test: Remove convert_to_json_for_cli
44a493e150 cli: Allow arguments to be both strings and json
ad4a49090d Merge bitcoin/bitcoin#33408: msvc: Update vcpkg manifest
dd61f08fd5 Merge bitcoin/bitcoin#33031: wallet: Set descriptor cache upgraded flag for migrated wallets
350692e561 Merge bitcoin/bitcoin#33388: test: don't throw from the destructor of DebugLogHelper
94db966a3b net: use generic network key for addrcache
eca50854e1 depends: static libxcb_cursor
89144eb473 Merge bitcoin/bitcoin#33448: net/rpc: Report inv information for debugging
eaa1a3cd0b Merge bitcoin/bitcoin#33425: ci: remove Clang build from msan fuzz job
b77137a564 ci: link against -lstdc++ in native fuzz with msan job
a86e1a6e32 Merge bitcoin/bitcoin#33427: rpc: Always return per-wtxid entries in submitpackage tx-results
6861dadfcb Merge bitcoin/bitcoin#33459: doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description
3b3ab3a50a Merge bitcoin/bitcoin#33302: ci: disable cirrus cache in 32bit arm job
2738b63e02 test: validate behaviour of getpeerinfo last_inv_sequence and inv_to_send
fbde8d9a81 doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description
34fefb6335 Merge bitcoin/bitcoin#33435: system: improve handling around GetTotalRAM()
56791b5829 test: split out `system_ram_tests` to signal when total ram cannot be determined
337a6e7386 system: improve handling around GetTotalRAM()
451ba9ada4 datacarrier: Undeprecate configuration option
77b2ebb811 rpc/net: report per-peer last_inv_sequence
bf7996cbc3 rpc: fix getblock(header) returns target for tip
4c3c1f42cf test: add block 2016 to mock mainnet
953544d028 Merge bitcoin/bitcoin#33429: fuzz: reduce iterations in slow targets
df101c97c2 Merge bitcoin/bitcoin#33422: build: Remove lingering Windows registry & shortcuts (#32132 follow-up)
56c6daa64f Merge bitcoin/bitcoin#28592: p2p: Increase tx relay rate
79752b9c0b build(windows): Remove lingering registry entries and shortcuts upon install
cad9a7fd73 rpc: Always return per-wtxid entries in submitpackage tx-results
6a33970fef fuzz: Reduce iterations in slow targets
edb871cba2 Merge bitcoin/bitcoin#33412: Update libmultiprocess subtree to fix intermittent mptest hang
2427939935 test: forbid copying of DebugLogHelper
d6aa266d43 test: don't throw from the destructor of DebugLogHelper
eaf2c46475 Merge bitcoin/bitcoin#33378: Remove unnecessary casts when calling socket operations
5aec516b2c Merge bitcoin/bitcoin#33333: coins: warn on oversized `-dbcache`
316a0c5132 rpc: addpeeraddress: throw on invalid IP
74fa028da1 Merge bitcoin/bitcoin#33420: test: Avoid interface_ipc.py Duplicate ID errors
168360f4ae coins: warn on oversized -dbcache
6c720459be system: add helper for fetching total system memory
e9c52272eb test: Avoid interface_ipc.py Duplicate ID errors
c49a43591f Merge commit '535fa0ad0d2637f845beae92ea9dbbbbbe377c74' into pr/subtree-5
535fa0ad0d Squashed 'src/ipc/libmultiprocess/' changes from 13424cf2ecc1..47d79db8a552
453b0fa286 bitcoin: Make wrapper not require -m
1444ed855f Merge bitcoin/bitcoin#33407: cmake: Install `bitcoin` manpage
29e836fae6 test: add tool_bitcoin to test bitcoin wrapper behavior
0972f55040 init: add exe name to bitcoind, bitcoin-node -version output to be able to distinguish these in tests
2b0cd1f3fb Merge bitcoin/bitcoin#33395: net: do not apply whitelist permissions to onion inbounds
ef20c2d11d build, msvc: Update vcpkg manifest baseline
1ff9e92948 key: use static context for libsecp256k1 calls where applicable
f563ce9081 net: Do not apply whitelist permission to onion inbounds
947bed28fe Merge bitcoin/bitcoin#33380: test: Add submitblock test in interface_ipc
7584a4fda9 cmake: Install `bitcoin` manpage
67f632b6de net: remove unnecessary casts in socket operations
c4adfbf706 Merge bitcoin/bitcoin#33373: depends: systemtap 5.3
5aa3d3135d Merge bitcoin/bitcoin#33391: test: Prevent disk space warning during node_init_tests
bdf01c6f61 test: Prevent disk space warning during node_init_tests
0a26731c4c test: Add submitblock test in interface_ipc
2d6a0c4649 Merge bitcoin/bitcoin#33379: cmake: Fix regression in `secp256k1.cmake`
9193c3e434 cmake: Fix regression in `secp256k1.cmake`
28efd724b4 depends: systemtap 5.3
75e6984ec8 test/refactor: use test deque to avoid quadratic iteration
652424ad16 test: additional test coverage for script_verify_flags
00c253d494 ci: disable cirrus cache in 32bit arm job
ff18b6bbaf ci: refactor docker action to return provider str
8e434a8499 macdeploy: rename macOS output to bitcoin-macos-app.zip
05353d9cf0 macdeploy: combine appname & -zip arguments
fabc2615af test: Use extra_port() helper in feature_bind_extra.py
417437eb01 script/verify_flags: extend script_verify_flags to 64 bits
3cbbcb66ef script/interpreter: make script_verify_flag_name an ordinary enum
bddcadee82 script/verify_flags: make script_verify_flags type safe
a5ead122fe script/interpreter: introduce script_verify_flags typename
4577fb2b1e rpc: have getdeploymentinfo report script verify flags
a3986935f0 validation: export GetBlockScriptFlags()
5db8cd2d37 Move mapFlagNames and FormatScriptFlags logic to script/interpreter.h
adefb51c54 rpc/net: add per-peer inv_to_send sizes
88b0647f02 wallet: Always write last hardened cache flag in migrated wallets
8a08eef645 tests: Check that the last hardened cache upgrade occurs
0802398e74 fuzz: make it possible to mock (fuzz) CThreadInterrupt
6d9e5d130d fuzz: add CConnman::SocketHandler() to the tests
3265df63a4 fuzz: add CConnman::InitBinds() to the tests
91cbf4dbd8 fuzz: add CConnman::CreateNodeFromAcceptedSocket() to the tests
50da7432ec fuzz: add CConnman::OpenNetworkConnection() to the tests
e6a917c8f8 fuzz: add Fuzzed NetEventsInterface and use it in connman tests
e883b37768 fuzz: set the output argument of FuzzedSock::Accept()
b81f37031c p2p: Increase tx relay rate
REVERT: 64d1449ff4 kernel: Fix bitcoin-chainstate for windows
REVERT: ba247a6a71 kernel: Add Purpose section to header documentation
REVERT: b0697ccbf7 kernel: Allowing reducing exports
REVERT: 9d23c437bf kernel: Add pure kernel bitcoin-chainstate
REVERT: 10e8e06caf Kernel: Add functions for working with outpoints
REVERT: ae64f8984d kernel: Add functions to get the block hash from a block
REVERT: 2c2f277d12 kernel: Add block hash type and block tree utility functions to C header
REVERT: 6062e2eeca kernel: Add function to read block undo data from disk to C header
REVERT: e96af0baf5 kernel: Add functions to read block from disk to C header
REVERT: 60e1515586 kernel: Add function for copying block data to C header
REVERT: 7b105b7d02 kernel: Add functions for the block validation state to C header
REVERT: 1a58dbb815 kernel: Add validation interface to C header
REVERT: 86ed87d5a6 kernel: Add interrupt function to C header
REVERT: e424c45546 kernel: Add import blocks function to C header
REVERT: cf7b562f2e kernel: Add chainstate load options for in-memory dbs in C header
REVERT: e26a198acf kernel: Add options for reindexing in C header
REVERT: 4196583e03 kernel: Add block validation to C header
REVERT: a7149076e2 kernel: Add chainstate loading when instantiating a ChainstateManager
REVERT: d36b447e6c kernel: Add chainstate manager option for setting worker threads
REVERT: d4e612af67 kernel: Add chainstate manager object to C header
REVERT: f19c807674 kernel: Add notifications context option to C header
REVERT: cc0043d99b kernel: Add chain params context option to C header
REVERT: 8b3ceea4f1 kernel: Add kernel library context object
REVERT: 039e222756 kernel: Add logging to kernel library C header
REVERT: d192006d7f kernel: Introduce initial kernel C header API

git-subtree-dir: libbitcoinkernel-sys/bitcoin
git-subtree-split: a8d09748e2e8b864ee6c2049426542d012c479bb
yuvicc added a commit to yuvicc/differential-bitcoin-kernel that referenced this pull request Oct 8, 2025
2f6d5637d8c kernel: Fix bitcoin-chainstate for windows
993bacaf056 kernel: Add Purpose section to header documentation
e792dadf643 kernel: Allowing reducing exports
6cad4226aac kernel: Add pure kernel bitcoin-chainstate
41b69c4fe68 Kernel: Add functions for working with outpoints
014a5851803 kernel: Add block hash type and block tree utility functions to C header
61ef84fdfc3 kernel: Add function to read block undo data from disk to C header
86333bea808 kernel: Add functions to read block from disk to C header
f654d091b03 kernel: Add function for copying block data to C header
045cf8c026f kernel: Add functions for the block validation state to C header
823fb620462 kernel: Add validation interface to C header
b6a7894005d kernel: Add interrupt function to C header
ed612cb523f kernel: Add import blocks function to C header
a630177e29f kernel: Add chainstate load options for in-memory dbs in C header
13c9738191c kernel: Add options for reindexing in C header
1a52e3d27f6 kernel: Add block validation to C header
f2f088f7be2 kernel: Add chainstate loading when instantiating a ChainstateManager
0677fa7a702 kernel: Add chainstate manager option for setting worker threads
31782cd761f kernel: Add chainstate manager object to C header
a70b4f0cd80 kernel: Add notifications context option to C header
680dad14965 kernel: Add chain params context option to C header
fe1438d6f63 kernel: Add kernel library context object
2c686196e70 kernel: Add logging to kernel library C header
16613837485 kernel: Introduce initial kernel C header API
b510893d007 Merge bitcoin/bitcoin#33494: depends: Update URL for `qrencode` package source tarball
ec5841888de Merge bitcoin/bitcoin#32513: ci: remove 3rd party js from windows dll gha job
d735e2e9b39 Merge bitcoin/bitcoin#32998: Bump SCRIPT_VERIFY flags to 64 bit
de1dc6b47ba Merge bitcoin/bitcoin#33515: Improve LastCommonAncestor performance + add tests
919e6d01e93 Merge bitcoin/bitcoin#33489: build: Drop support for EOL macOS 13
452ea592811 Merge bitcoin/bitcoin#33454: net: support overriding the proxy selection in ConnectNode()
a33bd767a37 Merge bitcoin/bitcoin#33464: p2p: Use network-dependent timers for inbound inv scheduling
2578da69f41 Merge bitcoin/bitcoin#33485: test: set par=2 in default config for functional test framework
25dbe4bc86d Merge bitcoin/bitcoin#33533: test: addrman: check isTerrible when time is more than 10min in the future
cfb0d74698a Merge bitcoin/bitcoin#33121: test: fix p2p_leak_tx.py
86eaa4d6cd5 Merge bitcoin/bitcoin#33482: contrib: fix macOS deployment with no translations
007900ee9b8 Merge bitcoin/bitcoin#33434: depends: static libxcb-cursor
8e47ed6906d test: addrman: check isTerrible when time is more than 10min in the future
3635d62f5a9 chain: make use of pskip in LastCommonAncestor (optimization)
2e09d66fbb7 tests: add unit tests for CBlockIndex::GetAncestor and LastCommonAncestor
156927903d6 ci: Check windows manifests for all executables
e1a1b14c935 ci: use a more generic way of finding mt.exe
1ed00a0d39d Merge bitcoin/bitcoin#33504: Mempool: Do not enforce TRUC checks on reorg
c76de2eea18 net: support overriding the proxy selection in ConnectNode()
75353a01635 Merge bitcoin/bitcoin#32326: net: improve the interface around FindNode() and avoid a recursive mutex lock
87e7f37918d doc: clarify peer address in getpeerinfo and addnode RPC help
2a4450ccbbe net: change FindNode() to not return a node and rename it
4268abae1a1 net: avoid recursive m_nodes_mutex lock in DisconnectNode()
acc7f2a433b Merge bitcoin/bitcoin#33401: ci: Remove bash -c from cmake invocation using eval
1aaaaa078bb fuzz: Drop unused workaround after Apple-Clang bump
fadad7a4947 Drop support for EOL macOS 13
50194029e7c ci: Remove bash -c from cmake invocation using eval
f41f97240c0 Merge bitcoin/bitcoin#28584: Fuzz: extend CConnman tests
cc4a2cc6bdc Merge bitcoin/bitcoin#33453: docs: Undeprecate datacarrier and datacarriersize configuration options
7502d4e9403 Merge bitcoin/bitcoin#33260: test: Use extra_port() helper in feature_bind_extra.py
14ae71f323d test: make notfound_on_unannounced more reliable
99bc552980d test: fix (w)txid confusion in p2p_leak_tx.py
576dd97cb91 test: increase timeout in p2p_leak_tx.py
8f73d952214 Merge bitcoin/bitcoin#33299: wallet: reduce unconditional logging during load
0f7d4ee4e82 p2p: Use different inbound inv timer per network
93a70a42d30 depends: Update URL for `qrencode` package source tarball
6de80512632 depends: Use hash instead of file name for package download stamp
46135d90ea9 depends: Drop redundant check for downloaded file
771978952a9 depends: Fix `$(package)_fetched` target
25212dfdb4c Merge bitcoin/bitcoin#33487: ci: use latest versions of lint deps
06df14ba75b test: add more TRUC reorg coverge
26e71c237d9 Mempool: Do not enforce TRUC checks on reorg
bbe8e9063c1 fuzz: don't bypass_limits for most mempool harnesses
d4f47f97715 ci: use latest versions of lint deps
fc861332b35 wallet, log: reduce unconditional logging during load
3a4d1a25cf9 net: merge AlreadyConnectedToAddress() and FindNode(CNetAddr)
d8fe258cd61 Merge bitcoin/bitcoin#33484: doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness)
dda5228e02c test: set par=2 in default config for functional test framework
ff05bebcc42 doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness)
200150beba6 Merge bitcoin/bitcoin#33313: test/refactor: use test deque to avoid quadratic iteration
7e08445449f Merge bitcoin/bitcoin#33399: key: use static context for libsecp256k1 calls where applicable
7b5261f7ef3 contrib: fix using macdploy script without translations.
65e909dfdd9 Merge bitcoin/bitcoin#33430: rpc: addpeeraddress: throw on invalid IP
31b29f8eb62 Merge bitcoin/bitcoin#33229: multiprocess: Don't require bitcoin -m argument when IPC options are used
e62e0a12b33 Merge bitcoin/bitcoin#33230: cli: Handle arguments that can be either JSON or string
7ae0497eef8 ci: remove 3rd party js from windows dll gha job
05d984b1a4f Merge bitcoin/bitcoin#33475: bugfix: miner: fix `addPackageTxs` unsigned integer overflow
b807dfcdc59 miner: fix `addPackageTxs` unsigned integer overflow
d41b503ae12 Merge bitcoin/bitcoin#33446: rpc: fix getblock(header) returns target for tip
5ae8edbc304 Merge bitcoin/bitcoin#33158: macdeploy: avoid use of `Bitcoin Core` in Linux cross build
df67bb6fd84 test: Remove convert_to_json_for_cli
44a493e150a cli: Allow arguments to be both strings and json
ad4a49090da Merge bitcoin/bitcoin#33408: msvc: Update vcpkg manifest
dd61f08fd52 Merge bitcoin/bitcoin#33031: wallet: Set descriptor cache upgraded flag for migrated wallets
350692e561c Merge bitcoin/bitcoin#33388: test: don't throw from the destructor of DebugLogHelper
94db966a3bb net: use generic network key for addrcache
eca50854e1c depends: static libxcb_cursor
89144eb473c Merge bitcoin/bitcoin#33448: net/rpc: Report inv information for debugging
eaa1a3cd0b3 Merge bitcoin/bitcoin#33425: ci: remove Clang build from msan fuzz job
b77137a5644 ci: link against -lstdc++ in native fuzz with msan job
a86e1a6e32d Merge bitcoin/bitcoin#33427: rpc: Always return per-wtxid entries in submitpackage tx-results
6861dadfcb1 Merge bitcoin/bitcoin#33459: doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description
3b3ab3a50a0 Merge bitcoin/bitcoin#33302: ci: disable cirrus cache in 32bit arm job
2738b63e025 test: validate behaviour of getpeerinfo last_inv_sequence and inv_to_send
fbde8d9a81d doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description
34fefb63358 Merge bitcoin/bitcoin#33435: system: improve handling around GetTotalRAM()
56791b58295 test: split out `system_ram_tests` to signal when total ram cannot be determined
337a6e73861 system: improve handling around GetTotalRAM()
451ba9ada41 datacarrier: Undeprecate configuration option
77b2ebb8118 rpc/net: report per-peer last_inv_sequence
bf7996cbc3b rpc: fix getblock(header) returns target for tip
4c3c1f42cf7 test: add block 2016 to mock mainnet
953544d0286 Merge bitcoin/bitcoin#33429: fuzz: reduce iterations in slow targets
df101c97c26 Merge bitcoin/bitcoin#33422: build: Remove lingering Windows registry & shortcuts (#32132 follow-up)
56c6daa64f6 Merge bitcoin/bitcoin#28592: p2p: Increase tx relay rate
79752b9c0b6 build(windows): Remove lingering registry entries and shortcuts upon install
cad9a7fd737 rpc: Always return per-wtxid entries in submitpackage tx-results
6a33970fef1 fuzz: Reduce iterations in slow targets
edb871cba22 Merge bitcoin/bitcoin#33412: Update libmultiprocess subtree to fix intermittent mptest hang
2427939935f test: forbid copying of DebugLogHelper
d6aa266d432 test: don't throw from the destructor of DebugLogHelper
eaf2c464758 Merge bitcoin/bitcoin#33378: Remove unnecessary casts when calling socket operations
5aec516b2ce Merge bitcoin/bitcoin#33333: coins: warn on oversized `-dbcache`
316a0c51327 rpc: addpeeraddress: throw on invalid IP
74fa028da1e Merge bitcoin/bitcoin#33420: test: Avoid interface_ipc.py Duplicate ID errors
168360f4ae4 coins: warn on oversized -dbcache
6c720459bee system: add helper for fetching total system memory
e9c52272ebd test: Avoid interface_ipc.py Duplicate ID errors
c49a43591f8 Merge commit '535fa0ad0d2637f845beae92ea9dbbbbbe377c74' into pr/subtree-5
535fa0ad0d2 Squashed 'src/ipc/libmultiprocess/' changes from 13424cf2ecc1..47d79db8a552
453b0fa286e bitcoin: Make wrapper not require -m
1444ed855f4 Merge bitcoin/bitcoin#33407: cmake: Install `bitcoin` manpage
29e836fae66 test: add tool_bitcoin to test bitcoin wrapper behavior
0972f550402 init: add exe name to bitcoind, bitcoin-node -version output to be able to distinguish these in tests
2b0cd1f3fb2 Merge bitcoin/bitcoin#33395: net: do not apply whitelist permissions to onion inbounds
ef20c2d11d9 build, msvc: Update vcpkg manifest baseline
1ff9e929489 key: use static context for libsecp256k1 calls where applicable
f563ce90818 net: Do not apply whitelist permission to onion inbounds
947bed28fe6 Merge bitcoin/bitcoin#33380: test: Add submitblock test in interface_ipc
7584a4fda95 cmake: Install `bitcoin` manpage
67f632b6deb net: remove unnecessary casts in socket operations
c4adfbf7062 Merge bitcoin/bitcoin#33373: depends: systemtap 5.3
5aa3d3135d2 Merge bitcoin/bitcoin#33391: test: Prevent disk space warning during node_init_tests
bdf01c6f612 test: Prevent disk space warning during node_init_tests
0a26731c4cc test: Add submitblock test in interface_ipc
2d6a0c46491 Merge bitcoin/bitcoin#33379: cmake: Fix regression in `secp256k1.cmake`
9193c3e4340 cmake: Fix regression in `secp256k1.cmake`
28efd724b47 depends: systemtap 5.3
75e6984ec8c test/refactor: use test deque to avoid quadratic iteration
652424ad162 test: additional test coverage for script_verify_flags
00c253d4941 ci: disable cirrus cache in 32bit arm job
ff18b6bbaf3 ci: refactor docker action to return provider str
8e434a84999 macdeploy: rename macOS output to bitcoin-macos-app.zip
05353d9cf08 macdeploy: combine appname & -zip arguments
fabc2615af2 test: Use extra_port() helper in feature_bind_extra.py
417437eb01a script/verify_flags: extend script_verify_flags to 64 bits
3cbbcb66efc script/interpreter: make script_verify_flag_name an ordinary enum
bddcadee82d script/verify_flags: make script_verify_flags type safe
a5ead122fe0 script/interpreter: introduce script_verify_flags typename
4577fb2b1e0 rpc: have getdeploymentinfo report script verify flags
a3986935f07 validation: export GetBlockScriptFlags()
5db8cd2d37e Move mapFlagNames and FormatScriptFlags logic to script/interpreter.h
adefb51c543 rpc/net: add per-peer inv_to_send sizes
88b0647f027 wallet: Always write last hardened cache flag in migrated wallets
8a08eef645e tests: Check that the last hardened cache upgrade occurs
0802398e749 fuzz: make it possible to mock (fuzz) CThreadInterrupt
6d9e5d130d2 fuzz: add CConnman::SocketHandler() to the tests
3265df63a48 fuzz: add CConnman::InitBinds() to the tests
91cbf4dbd86 fuzz: add CConnman::CreateNodeFromAcceptedSocket() to the tests
50da7432ec1 fuzz: add CConnman::OpenNetworkConnection() to the tests
e6a917c8f8e fuzz: add Fuzzed NetEventsInterface and use it in connman tests
e883b377688 fuzz: set the output argument of FuzzedSock::Accept()
b81f37031c8 p2p: Increase tx relay rate
REVERT: 64d1449ff47 kernel: Fix bitcoin-chainstate for windows
REVERT: ba247a6a718 kernel: Add Purpose section to header documentation
REVERT: b0697ccbf7f kernel: Allowing reducing exports
REVERT: 9d23c437bfc kernel: Add pure kernel bitcoin-chainstate
REVERT: 10e8e06caf1 Kernel: Add functions for working with outpoints
REVERT: ae64f8984d9 kernel: Add functions to get the block hash from a block
REVERT: 2c2f277d12f kernel: Add block hash type and block tree utility functions to C header
REVERT: 6062e2eeca3 kernel: Add function to read block undo data from disk to C header
REVERT: e96af0baf5e kernel: Add functions to read block from disk to C header
REVERT: 60e1515586a kernel: Add function for copying block data to C header
REVERT: 7b105b7d02a kernel: Add functions for the block validation state to C header
REVERT: 1a58dbb8158 kernel: Add validation interface to C header
REVERT: 86ed87d5a6c kernel: Add interrupt function to C header
REVERT: e424c455465 kernel: Add import blocks function to C header
REVERT: cf7b562f2e3 kernel: Add chainstate load options for in-memory dbs in C header
REVERT: e26a198acfb kernel: Add options for reindexing in C header
REVERT: 4196583e03d kernel: Add block validation to C header
REVERT: a7149076e23 kernel: Add chainstate loading when instantiating a ChainstateManager
REVERT: d36b447e6ca kernel: Add chainstate manager option for setting worker threads
REVERT: d4e612af670 kernel: Add chainstate manager object to C header
REVERT: f19c8076746 kernel: Add notifications context option to C header
REVERT: cc0043d99b6 kernel: Add chain params context option to C header
REVERT: 8b3ceea4f1d kernel: Add kernel library context object
REVERT: 039e222756e kernel: Add logging to kernel library C header
REVERT: d192006d7f4 kernel: Introduce initial kernel C header API

git-subtree-dir: bitcoinkernel/bitcoin
git-subtree-split: 2f6d5637d8cd1dc1a1444e31fdfb2dfb13152500
TheCharlatan added a commit to TheCharlatan/rust-bitcoinkernel that referenced this pull request Oct 10, 2025
…3262e9ee5

0a3262e9ee5 Add sans utxo set block validation
965c0a099b1 block header
6ee488a911d kernel: Fix bitcoin-chainstate for windows
f3cdc1d0683 kernel: Add Purpose section to header documentation
e12e49cd9f1 kernel: Allowing reducing exports
d12156dc932 kernel: Add pure kernel bitcoin-chainstate
6073d024833 Kernel: Add functions for working with outpoints
1cf094c3d21 kernel: Add block hash type and block tree utility functions to C header
6d78409470c kernel: Add function to read block undo data from disk to C header
3a97c00c393 kernel: Add functions to read block from disk to C header
c7d52b5d854 kernel: Add function for copying block data to C header
01406a79391 kernel: Add functions for the block validation state to C header
1a4b0f99b3a kernel: Add validation interface to C header
b784e3dece5 kernel: Add interrupt function to C header
1b48bf08dad kernel: Add import blocks function to C header
c261da1804f kernel: Add chainstate load options for in-memory dbs in C header
898d063f115 kernel: Add options for reindexing in C header
3f4ecce1781 kernel: Add block validation to C header
97caa08c3b6 kernel: Add chainstate loading when instantiating a ChainstateManager
b94bea81015 kernel: Add chainstate manager option for setting worker threads
eaf6829898a kernel: Add chainstate manager object to C header
15e4a3f26de kernel: Add notifications context option to C header
a4cd536a8e9 kernel: Add chain params context option to C header
d7387a5b670 kernel: Add kernel library context object
5e2d066fe86 kernel: Add logging to kernel library C header
f34e2a470df kernel: Introduce initial kernel C header API
9ce01e051ba doc: Add docstrings for ConnectBlock and SpendBlock
d7e812db1d3 validation: Move coin existence and spend check to SpendBlock
cf3b9c77b9c validation: Move SetBestBlock out of ConnectBlock
ee0c36f0b54 validation: Add SpendBlock function
78a3397898a validation: Use vector of outputs instead of CCoinsViewCache in CheckInputScripts
4d2a58f3f1a consensus: Use Coin span in CheckTxInputs
0d4274d9bdd consensus: Use Coin span in GetTransactionSigOpCost
4a3d86c6fc5 consensus: Use Coin span in GetP2SHSigOpCount
b510893d007 Merge bitcoin/bitcoin#33494: depends: Update URL for `qrencode` package source tarball
ec5841888de Merge bitcoin/bitcoin#32513: ci: remove 3rd party js from windows dll gha job
d735e2e9b39 Merge bitcoin/bitcoin#32998: Bump SCRIPT_VERIFY flags to 64 bit
de1dc6b47ba Merge bitcoin/bitcoin#33515: Improve LastCommonAncestor performance + add tests
919e6d01e93 Merge bitcoin/bitcoin#33489: build: Drop support for EOL macOS 13
452ea592811 Merge bitcoin/bitcoin#33454: net: support overriding the proxy selection in ConnectNode()
a33bd767a37 Merge bitcoin/bitcoin#33464: p2p: Use network-dependent timers for inbound inv scheduling
2578da69f41 Merge bitcoin/bitcoin#33485: test: set par=2 in default config for functional test framework
25dbe4bc86d Merge bitcoin/bitcoin#33533: test: addrman: check isTerrible when time is more than 10min in the future
cfb0d74698a Merge bitcoin/bitcoin#33121: test: fix p2p_leak_tx.py
86eaa4d6cd5 Merge bitcoin/bitcoin#33482: contrib: fix macOS deployment with no translations
007900ee9b8 Merge bitcoin/bitcoin#33434: depends: static libxcb-cursor
8e47ed6906d test: addrman: check isTerrible when time is more than 10min in the future
3635d62f5a9 chain: make use of pskip in LastCommonAncestor (optimization)
2e09d66fbb7 tests: add unit tests for CBlockIndex::GetAncestor and LastCommonAncestor
156927903d6 ci: Check windows manifests for all executables
e1a1b14c935 ci: use a more generic way of finding mt.exe
1ed00a0d39d Merge bitcoin/bitcoin#33504: Mempool: Do not enforce TRUC checks on reorg
c76de2eea18 net: support overriding the proxy selection in ConnectNode()
75353a01635 Merge bitcoin/bitcoin#32326: net: improve the interface around FindNode() and avoid a recursive mutex lock
87e7f37918d doc: clarify peer address in getpeerinfo and addnode RPC help
2a4450ccbbe net: change FindNode() to not return a node and rename it
4268abae1a1 net: avoid recursive m_nodes_mutex lock in DisconnectNode()
acc7f2a433b Merge bitcoin/bitcoin#33401: ci: Remove bash -c from cmake invocation using eval
1aaaaa078bb fuzz: Drop unused workaround after Apple-Clang bump
fadad7a4947 Drop support for EOL macOS 13
50194029e7c ci: Remove bash -c from cmake invocation using eval
f41f97240c0 Merge bitcoin/bitcoin#28584: Fuzz: extend CConnman tests
cc4a2cc6bdc Merge bitcoin/bitcoin#33453: docs: Undeprecate datacarrier and datacarriersize configuration options
7502d4e9403 Merge bitcoin/bitcoin#33260: test: Use extra_port() helper in feature_bind_extra.py
14ae71f323d test: make notfound_on_unannounced more reliable
99bc552980d test: fix (w)txid confusion in p2p_leak_tx.py
576dd97cb91 test: increase timeout in p2p_leak_tx.py
8f73d952214 Merge bitcoin/bitcoin#33299: wallet: reduce unconditional logging during load
0f7d4ee4e82 p2p: Use different inbound inv timer per network
93a70a42d30 depends: Update URL for `qrencode` package source tarball
6de80512632 depends: Use hash instead of file name for package download stamp
46135d90ea9 depends: Drop redundant check for downloaded file
771978952a9 depends: Fix `$(package)_fetched` target
25212dfdb4c Merge bitcoin/bitcoin#33487: ci: use latest versions of lint deps
06df14ba75b test: add more TRUC reorg coverge
26e71c237d9 Mempool: Do not enforce TRUC checks on reorg
bbe8e9063c1 fuzz: don't bypass_limits for most mempool harnesses
d4f47f97715 ci: use latest versions of lint deps
fc861332b35 wallet, log: reduce unconditional logging during load
3a4d1a25cf9 net: merge AlreadyConnectedToAddress() and FindNode(CNetAddr)
d8fe258cd61 Merge bitcoin/bitcoin#33484: doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness)
dda5228e02c test: set par=2 in default config for functional test framework
ff05bebcc42 doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness)
200150beba6 Merge bitcoin/bitcoin#33313: test/refactor: use test deque to avoid quadratic iteration
7e08445449f Merge bitcoin/bitcoin#33399: key: use static context for libsecp256k1 calls where applicable
7b5261f7ef3 contrib: fix using macdploy script without translations.
65e909dfdd9 Merge bitcoin/bitcoin#33430: rpc: addpeeraddress: throw on invalid IP
31b29f8eb62 Merge bitcoin/bitcoin#33229: multiprocess: Don't require bitcoin -m argument when IPC options are used
e62e0a12b33 Merge bitcoin/bitcoin#33230: cli: Handle arguments that can be either JSON or string
7ae0497eef8 ci: remove 3rd party js from windows dll gha job
05d984b1a4f Merge bitcoin/bitcoin#33475: bugfix: miner: fix `addPackageTxs` unsigned integer overflow
b807dfcdc59 miner: fix `addPackageTxs` unsigned integer overflow
d41b503ae12 Merge bitcoin/bitcoin#33446: rpc: fix getblock(header) returns target for tip
5ae8edbc304 Merge bitcoin/bitcoin#33158: macdeploy: avoid use of `Bitcoin Core` in Linux cross build
df67bb6fd84 test: Remove convert_to_json_for_cli
44a493e150a cli: Allow arguments to be both strings and json
ad4a49090da Merge bitcoin/bitcoin#33408: msvc: Update vcpkg manifest
dd61f08fd52 Merge bitcoin/bitcoin#33031: wallet: Set descriptor cache upgraded flag for migrated wallets
350692e561c Merge bitcoin/bitcoin#33388: test: don't throw from the destructor of DebugLogHelper
94db966a3bb net: use generic network key for addrcache
eca50854e1c depends: static libxcb_cursor
89144eb473c Merge bitcoin/bitcoin#33448: net/rpc: Report inv information for debugging
eaa1a3cd0b3 Merge bitcoin/bitcoin#33425: ci: remove Clang build from msan fuzz job
b77137a5644 ci: link against -lstdc++ in native fuzz with msan job
a86e1a6e32d Merge bitcoin/bitcoin#33427: rpc: Always return per-wtxid entries in submitpackage tx-results
6861dadfcb1 Merge bitcoin/bitcoin#33459: doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description
3b3ab3a50a0 Merge bitcoin/bitcoin#33302: ci: disable cirrus cache in 32bit arm job
2738b63e025 test: validate behaviour of getpeerinfo last_inv_sequence and inv_to_send
fbde8d9a81d doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description
34fefb63358 Merge bitcoin/bitcoin#33435: system: improve handling around GetTotalRAM()
56791b58295 test: split out `system_ram_tests` to signal when total ram cannot be determined
337a6e73861 system: improve handling around GetTotalRAM()
451ba9ada41 datacarrier: Undeprecate configuration option
77b2ebb8118 rpc/net: report per-peer last_inv_sequence
bf7996cbc3b rpc: fix getblock(header) returns target for tip
4c3c1f42cf7 test: add block 2016 to mock mainnet
953544d0286 Merge bitcoin/bitcoin#33429: fuzz: reduce iterations in slow targets
df101c97c26 Merge bitcoin/bitcoin#33422: build: Remove lingering Windows registry & shortcuts (#32132 follow-up)
56c6daa64f6 Merge bitcoin/bitcoin#28592: p2p: Increase tx relay rate
79752b9c0b6 build(windows): Remove lingering registry entries and shortcuts upon install
cad9a7fd737 rpc: Always return per-wtxid entries in submitpackage tx-results
6a33970fef1 fuzz: Reduce iterations in slow targets
edb871cba22 Merge bitcoin/bitcoin#33412: Update libmultiprocess subtree to fix intermittent mptest hang
2427939935f test: forbid copying of DebugLogHelper
d6aa266d432 test: don't throw from the destructor of DebugLogHelper
eaf2c464758 Merge bitcoin/bitcoin#33378: Remove unnecessary casts when calling socket operations
5aec516b2ce Merge bitcoin/bitcoin#33333: coins: warn on oversized `-dbcache`
316a0c51327 rpc: addpeeraddress: throw on invalid IP
74fa028da1e Merge bitcoin/bitcoin#33420: test: Avoid interface_ipc.py Duplicate ID errors
168360f4ae4 coins: warn on oversized -dbcache
6c720459bee system: add helper for fetching total system memory
e9c52272ebd test: Avoid interface_ipc.py Duplicate ID errors
c49a43591f8 Merge commit '535fa0ad0d2637f845beae92ea9dbbbbbe377c74' into pr/subtree-5
535fa0ad0d2 Squashed 'src/ipc/libmultiprocess/' changes from 13424cf2ecc1..47d79db8a552
453b0fa286e bitcoin: Make wrapper not require -m
1444ed855f4 Merge bitcoin/bitcoin#33407: cmake: Install `bitcoin` manpage
29e836fae66 test: add tool_bitcoin to test bitcoin wrapper behavior
0972f550402 init: add exe name to bitcoind, bitcoin-node -version output to be able to distinguish these in tests
2b0cd1f3fb2 Merge bitcoin/bitcoin#33395: net: do not apply whitelist permissions to onion inbounds
ef20c2d11d9 build, msvc: Update vcpkg manifest baseline
1ff9e929489 key: use static context for libsecp256k1 calls where applicable
f563ce90818 net: Do not apply whitelist permission to onion inbounds
947bed28fe6 Merge bitcoin/bitcoin#33380: test: Add submitblock test in interface_ipc
7584a4fda95 cmake: Install `bitcoin` manpage
67f632b6deb net: remove unnecessary casts in socket operations
c4adfbf7062 Merge bitcoin/bitcoin#33373: depends: systemtap 5.3
5aa3d3135d2 Merge bitcoin/bitcoin#33391: test: Prevent disk space warning during node_init_tests
bdf01c6f612 test: Prevent disk space warning during node_init_tests
0a26731c4cc test: Add submitblock test in interface_ipc
2d6a0c46491 Merge bitcoin/bitcoin#33379: cmake: Fix regression in `secp256k1.cmake`
9193c3e4340 cmake: Fix regression in `secp256k1.cmake`
28efd724b47 depends: systemtap 5.3
75e6984ec8c test/refactor: use test deque to avoid quadratic iteration
652424ad162 test: additional test coverage for script_verify_flags
00c253d4941 ci: disable cirrus cache in 32bit arm job
ff18b6bbaf3 ci: refactor docker action to return provider str
8e434a84999 macdeploy: rename macOS output to bitcoin-macos-app.zip
05353d9cf08 macdeploy: combine appname & -zip arguments
fabc2615af2 test: Use extra_port() helper in feature_bind_extra.py
417437eb01a script/verify_flags: extend script_verify_flags to 64 bits
3cbbcb66efc script/interpreter: make script_verify_flag_name an ordinary enum
bddcadee82d script/verify_flags: make script_verify_flags type safe
a5ead122fe0 script/interpreter: introduce script_verify_flags typename
4577fb2b1e0 rpc: have getdeploymentinfo report script verify flags
a3986935f07 validation: export GetBlockScriptFlags()
5db8cd2d37e Move mapFlagNames and FormatScriptFlags logic to script/interpreter.h
adefb51c543 rpc/net: add per-peer inv_to_send sizes
88b0647f027 wallet: Always write last hardened cache flag in migrated wallets
8a08eef645e tests: Check that the last hardened cache upgrade occurs
0802398e749 fuzz: make it possible to mock (fuzz) CThreadInterrupt
6d9e5d130d2 fuzz: add CConnman::SocketHandler() to the tests
3265df63a48 fuzz: add CConnman::InitBinds() to the tests
91cbf4dbd86 fuzz: add CConnman::CreateNodeFromAcceptedSocket() to the tests
50da7432ec1 fuzz: add CConnman::OpenNetworkConnection() to the tests
e6a917c8f8e fuzz: add Fuzzed NetEventsInterface and use it in connman tests
e883b377688 fuzz: set the output argument of FuzzedSock::Accept()
b81f37031c8 p2p: Increase tx relay rate
REVERT: 64d1449ff47 kernel: Fix bitcoin-chainstate for windows
REVERT: ba247a6a718 kernel: Add Purpose section to header documentation
REVERT: b0697ccbf7f kernel: Allowing reducing exports
REVERT: 9d23c437bfc kernel: Add pure kernel bitcoin-chainstate
REVERT: 10e8e06caf1 Kernel: Add functions for working with outpoints
REVERT: ae64f8984d9 kernel: Add functions to get the block hash from a block
REVERT: 2c2f277d12f kernel: Add block hash type and block tree utility functions to C header
REVERT: 6062e2eeca3 kernel: Add function to read block undo data from disk to C header
REVERT: e96af0baf5e kernel: Add functions to read block from disk to C header
REVERT: 60e1515586a kernel: Add function for copying block data to C header
REVERT: 7b105b7d02a kernel: Add functions for the block validation state to C header
REVERT: 1a58dbb8158 kernel: Add validation interface to C header
REVERT: 86ed87d5a6c kernel: Add interrupt function to C header
REVERT: e424c455465 kernel: Add import blocks function to C header
REVERT: cf7b562f2e3 kernel: Add chainstate load options for in-memory dbs in C header
REVERT: e26a198acfb kernel: Add options for reindexing in C header
REVERT: 4196583e03d kernel: Add block validation to C header
REVERT: a7149076e23 kernel: Add chainstate loading when instantiating a ChainstateManager
REVERT: d36b447e6ca kernel: Add chainstate manager option for setting worker threads
REVERT: d4e612af670 kernel: Add chainstate manager object to C header
REVERT: f19c8076746 kernel: Add notifications context option to C header
REVERT: cc0043d99b6 kernel: Add chain params context option to C header
REVERT: 8b3ceea4f1d kernel: Add kernel library context object
REVERT: 039e222756e kernel: Add logging to kernel library C header
REVERT: d192006d7f4 kernel: Introduce initial kernel C header API

git-subtree-dir: libbitcoinkernel-sys/bitcoin
git-subtree-split: 0a3262e9ee55640122dd0a2bc8a08f94e8f7133b
TheCharlatan added a commit to TheCharlatan/rust-bitcoinkernel that referenced this pull request Oct 11, 2025
…cec737e68

81cec737e68 kernel: Fix bitcoin-chainstate for windows
1826c485ddc kernel: Add Purpose section to header documentation
d7e618aa981 kernel: Allowing reducing exports
fb7f5241331 kernel: Add pure kernel bitcoin-chainstate
dd0bdf279ef Kernel: Add functions for working with outpoints
eaa6abfc733 kernel: Add block hash type and block tree utility functions to C header
824ddf2885a kernel: Add function to read block undo data from disk to C header
76cab0768b1 kernel: Add functions to read block from disk to C header
e41f6f459a2 kernel: Add function for copying block data to C header
39c647647a2 kernel: Add functions for the block validation state to C header
8a19a9d6070 kernel: Add validation interface to C header
38a990dd482 kernel: Add interrupt function to C header
fee8f6ff38b kernel: Add import blocks function to C header
c29a6b87ccd kernel: Add chainstate load options for in-memory dbs in C header
e788b3ba065 kernel: Add options for reindexing in C header
2707fc515c5 kernel: Add block validation to C header
51a24c4004e kernel: Add chainstate loading when instantiating a ChainstateManager
ea01a8caf35 kernel: Add chainstate manager option for setting worker threads
add5904e0ac kernel: Add chainstate manager object to C header
37a3395d271 kernel: Add notifications context option to C header
d838a934be0 kernel: Add chain params context option to C header
dc58ae9fc04 kernel: Add kernel library context object
77449975962 kernel: Add logging to kernel library C header
dc504f57b3b kernel: Introduce initial kernel C header API
b510893d007 Merge bitcoin/bitcoin#33494: depends: Update URL for `qrencode` package source tarball
ec5841888de Merge bitcoin/bitcoin#32513: ci: remove 3rd party js from windows dll gha job
d735e2e9b39 Merge bitcoin/bitcoin#32998: Bump SCRIPT_VERIFY flags to 64 bit
de1dc6b47ba Merge bitcoin/bitcoin#33515: Improve LastCommonAncestor performance + add tests
919e6d01e93 Merge bitcoin/bitcoin#33489: build: Drop support for EOL macOS 13
452ea592811 Merge bitcoin/bitcoin#33454: net: support overriding the proxy selection in ConnectNode()
a33bd767a37 Merge bitcoin/bitcoin#33464: p2p: Use network-dependent timers for inbound inv scheduling
2578da69f41 Merge bitcoin/bitcoin#33485: test: set par=2 in default config for functional test framework
25dbe4bc86d Merge bitcoin/bitcoin#33533: test: addrman: check isTerrible when time is more than 10min in the future
cfb0d74698a Merge bitcoin/bitcoin#33121: test: fix p2p_leak_tx.py
86eaa4d6cd5 Merge bitcoin/bitcoin#33482: contrib: fix macOS deployment with no translations
007900ee9b8 Merge bitcoin/bitcoin#33434: depends: static libxcb-cursor
8e47ed6906d test: addrman: check isTerrible when time is more than 10min in the future
3635d62f5a9 chain: make use of pskip in LastCommonAncestor (optimization)
2e09d66fbb7 tests: add unit tests for CBlockIndex::GetAncestor and LastCommonAncestor
156927903d6 ci: Check windows manifests for all executables
e1a1b14c935 ci: use a more generic way of finding mt.exe
1ed00a0d39d Merge bitcoin/bitcoin#33504: Mempool: Do not enforce TRUC checks on reorg
c76de2eea18 net: support overriding the proxy selection in ConnectNode()
75353a01635 Merge bitcoin/bitcoin#32326: net: improve the interface around FindNode() and avoid a recursive mutex lock
87e7f37918d doc: clarify peer address in getpeerinfo and addnode RPC help
2a4450ccbbe net: change FindNode() to not return a node and rename it
4268abae1a1 net: avoid recursive m_nodes_mutex lock in DisconnectNode()
acc7f2a433b Merge bitcoin/bitcoin#33401: ci: Remove bash -c from cmake invocation using eval
1aaaaa078bb fuzz: Drop unused workaround after Apple-Clang bump
fadad7a4947 Drop support for EOL macOS 13
50194029e7c ci: Remove bash -c from cmake invocation using eval
f41f97240c0 Merge bitcoin/bitcoin#28584: Fuzz: extend CConnman tests
cc4a2cc6bdc Merge bitcoin/bitcoin#33453: docs: Undeprecate datacarrier and datacarriersize configuration options
7502d4e9403 Merge bitcoin/bitcoin#33260: test: Use extra_port() helper in feature_bind_extra.py
14ae71f323d test: make notfound_on_unannounced more reliable
99bc552980d test: fix (w)txid confusion in p2p_leak_tx.py
576dd97cb91 test: increase timeout in p2p_leak_tx.py
8f73d952214 Merge bitcoin/bitcoin#33299: wallet: reduce unconditional logging during load
0f7d4ee4e82 p2p: Use different inbound inv timer per network
93a70a42d30 depends: Update URL for `qrencode` package source tarball
6de80512632 depends: Use hash instead of file name for package download stamp
46135d90ea9 depends: Drop redundant check for downloaded file
771978952a9 depends: Fix `$(package)_fetched` target
25212dfdb4c Merge bitcoin/bitcoin#33487: ci: use latest versions of lint deps
06df14ba75b test: add more TRUC reorg coverge
26e71c237d9 Mempool: Do not enforce TRUC checks on reorg
bbe8e9063c1 fuzz: don't bypass_limits for most mempool harnesses
d4f47f97715 ci: use latest versions of lint deps
fc861332b35 wallet, log: reduce unconditional logging during load
3a4d1a25cf9 net: merge AlreadyConnectedToAddress() and FindNode(CNetAddr)
d8fe258cd61 Merge bitcoin/bitcoin#33484: doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness)
dda5228e02c test: set par=2 in default config for functional test framework
ff05bebcc42 doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness)
200150beba6 Merge bitcoin/bitcoin#33313: test/refactor: use test deque to avoid quadratic iteration
7e08445449f Merge bitcoin/bitcoin#33399: key: use static context for libsecp256k1 calls where applicable
7b5261f7ef3 contrib: fix using macdploy script without translations.
65e909dfdd9 Merge bitcoin/bitcoin#33430: rpc: addpeeraddress: throw on invalid IP
31b29f8eb62 Merge bitcoin/bitcoin#33229: multiprocess: Don't require bitcoin -m argument when IPC options are used
e62e0a12b33 Merge bitcoin/bitcoin#33230: cli: Handle arguments that can be either JSON or string
7ae0497eef8 ci: remove 3rd party js from windows dll gha job
05d984b1a4f Merge bitcoin/bitcoin#33475: bugfix: miner: fix `addPackageTxs` unsigned integer overflow
b807dfcdc59 miner: fix `addPackageTxs` unsigned integer overflow
d41b503ae12 Merge bitcoin/bitcoin#33446: rpc: fix getblock(header) returns target for tip
5ae8edbc304 Merge bitcoin/bitcoin#33158: macdeploy: avoid use of `Bitcoin Core` in Linux cross build
df67bb6fd84 test: Remove convert_to_json_for_cli
44a493e150a cli: Allow arguments to be both strings and json
ad4a49090da Merge bitcoin/bitcoin#33408: msvc: Update vcpkg manifest
dd61f08fd52 Merge bitcoin/bitcoin#33031: wallet: Set descriptor cache upgraded flag for migrated wallets
350692e561c Merge bitcoin/bitcoin#33388: test: don't throw from the destructor of DebugLogHelper
94db966a3bb net: use generic network key for addrcache
eca50854e1c depends: static libxcb_cursor
89144eb473c Merge bitcoin/bitcoin#33448: net/rpc: Report inv information for debugging
eaa1a3cd0b3 Merge bitcoin/bitcoin#33425: ci: remove Clang build from msan fuzz job
b77137a5644 ci: link against -lstdc++ in native fuzz with msan job
a86e1a6e32d Merge bitcoin/bitcoin#33427: rpc: Always return per-wtxid entries in submitpackage tx-results
6861dadfcb1 Merge bitcoin/bitcoin#33459: doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description
3b3ab3a50a0 Merge bitcoin/bitcoin#33302: ci: disable cirrus cache in 32bit arm job
2738b63e025 test: validate behaviour of getpeerinfo last_inv_sequence and inv_to_send
fbde8d9a81d doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description
34fefb63358 Merge bitcoin/bitcoin#33435: system: improve handling around GetTotalRAM()
56791b58295 test: split out `system_ram_tests` to signal when total ram cannot be determined
337a6e73861 system: improve handling around GetTotalRAM()
451ba9ada41 datacarrier: Undeprecate configuration option
77b2ebb8118 rpc/net: report per-peer last_inv_sequence
bf7996cbc3b rpc: fix getblock(header) returns target for tip
4c3c1f42cf7 test: add block 2016 to mock mainnet
953544d0286 Merge bitcoin/bitcoin#33429: fuzz: reduce iterations in slow targets
df101c97c26 Merge bitcoin/bitcoin#33422: build: Remove lingering Windows registry & shortcuts (#32132 follow-up)
56c6daa64f6 Merge bitcoin/bitcoin#28592: p2p: Increase tx relay rate
79752b9c0b6 build(windows): Remove lingering registry entries and shortcuts upon install
cad9a7fd737 rpc: Always return per-wtxid entries in submitpackage tx-results
6a33970fef1 fuzz: Reduce iterations in slow targets
edb871cba22 Merge bitcoin/bitcoin#33412: Update libmultiprocess subtree to fix intermittent mptest hang
2427939935f test: forbid copying of DebugLogHelper
d6aa266d432 test: don't throw from the destructor of DebugLogHelper
eaf2c464758 Merge bitcoin/bitcoin#33378: Remove unnecessary casts when calling socket operations
5aec516b2ce Merge bitcoin/bitcoin#33333: coins: warn on oversized `-dbcache`
316a0c51327 rpc: addpeeraddress: throw on invalid IP
74fa028da1e Merge bitcoin/bitcoin#33420: test: Avoid interface_ipc.py Duplicate ID errors
168360f4ae4 coins: warn on oversized -dbcache
6c720459bee system: add helper for fetching total system memory
e9c52272ebd test: Avoid interface_ipc.py Duplicate ID errors
c49a43591f8 Merge commit '535fa0ad0d2637f845beae92ea9dbbbbbe377c74' into pr/subtree-5
535fa0ad0d2 Squashed 'src/ipc/libmultiprocess/' changes from 13424cf2ecc1..47d79db8a552
453b0fa286e bitcoin: Make wrapper not require -m
1444ed855f4 Merge bitcoin/bitcoin#33407: cmake: Install `bitcoin` manpage
29e836fae66 test: add tool_bitcoin to test bitcoin wrapper behavior
0972f550402 init: add exe name to bitcoind, bitcoin-node -version output to be able to distinguish these in tests
2b0cd1f3fb2 Merge bitcoin/bitcoin#33395: net: do not apply whitelist permissions to onion inbounds
ef20c2d11d9 build, msvc: Update vcpkg manifest baseline
1ff9e929489 key: use static context for libsecp256k1 calls where applicable
f563ce90818 net: Do not apply whitelist permission to onion inbounds
947bed28fe6 Merge bitcoin/bitcoin#33380: test: Add submitblock test in interface_ipc
7584a4fda95 cmake: Install `bitcoin` manpage
67f632b6deb net: remove unnecessary casts in socket operations
c4adfbf7062 Merge bitcoin/bitcoin#33373: depends: systemtap 5.3
5aa3d3135d2 Merge bitcoin/bitcoin#33391: test: Prevent disk space warning during node_init_tests
bdf01c6f612 test: Prevent disk space warning during node_init_tests
0a26731c4cc test: Add submitblock test in interface_ipc
2d6a0c46491 Merge bitcoin/bitcoin#33379: cmake: Fix regression in `secp256k1.cmake`
9193c3e4340 cmake: Fix regression in `secp256k1.cmake`
28efd724b47 depends: systemtap 5.3
75e6984ec8c test/refactor: use test deque to avoid quadratic iteration
652424ad162 test: additional test coverage for script_verify_flags
00c253d4941 ci: disable cirrus cache in 32bit arm job
ff18b6bbaf3 ci: refactor docker action to return provider str
8e434a84999 macdeploy: rename macOS output to bitcoin-macos-app.zip
05353d9cf08 macdeploy: combine appname & -zip arguments
fabc2615af2 test: Use extra_port() helper in feature_bind_extra.py
417437eb01a script/verify_flags: extend script_verify_flags to 64 bits
3cbbcb66efc script/interpreter: make script_verify_flag_name an ordinary enum
bddcadee82d script/verify_flags: make script_verify_flags type safe
a5ead122fe0 script/interpreter: introduce script_verify_flags typename
4577fb2b1e0 rpc: have getdeploymentinfo report script verify flags
a3986935f07 validation: export GetBlockScriptFlags()
5db8cd2d37e Move mapFlagNames and FormatScriptFlags logic to script/interpreter.h
adefb51c543 rpc/net: add per-peer inv_to_send sizes
88b0647f027 wallet: Always write last hardened cache flag in migrated wallets
8a08eef645e tests: Check that the last hardened cache upgrade occurs
0802398e749 fuzz: make it possible to mock (fuzz) CThreadInterrupt
6d9e5d130d2 fuzz: add CConnman::SocketHandler() to the tests
3265df63a48 fuzz: add CConnman::InitBinds() to the tests
91cbf4dbd86 fuzz: add CConnman::CreateNodeFromAcceptedSocket() to the tests
50da7432ec1 fuzz: add CConnman::OpenNetworkConnection() to the tests
e6a917c8f8e fuzz: add Fuzzed NetEventsInterface and use it in connman tests
e883b377688 fuzz: set the output argument of FuzzedSock::Accept()
b81f37031c8 p2p: Increase tx relay rate
REVERT: 64d1449ff47 kernel: Fix bitcoin-chainstate for windows
REVERT: ba247a6a718 kernel: Add Purpose section to header documentation
REVERT: b0697ccbf7f kernel: Allowing reducing exports
REVERT: 9d23c437bfc kernel: Add pure kernel bitcoin-chainstate
REVERT: 10e8e06caf1 Kernel: Add functions for working with outpoints
REVERT: ae64f8984d9 kernel: Add functions to get the block hash from a block
REVERT: 2c2f277d12f kernel: Add block hash type and block tree utility functions to C header
REVERT: 6062e2eeca3 kernel: Add function to read block undo data from disk to C header
REVERT: e96af0baf5e kernel: Add functions to read block from disk to C header
REVERT: 60e1515586a kernel: Add function for copying block data to C header
REVERT: 7b105b7d02a kernel: Add functions for the block validation state to C header
REVERT: 1a58dbb8158 kernel: Add validation interface to C header
REVERT: 86ed87d5a6c kernel: Add interrupt function to C header
REVERT: e424c455465 kernel: Add import blocks function to C header
REVERT: cf7b562f2e3 kernel: Add chainstate load options for in-memory dbs in C header
REVERT: e26a198acfb kernel: Add options for reindexing in C header
REVERT: 4196583e03d kernel: Add block validation to C header
REVERT: a7149076e23 kernel: Add chainstate loading when instantiating a ChainstateManager
REVERT: d36b447e6ca kernel: Add chainstate manager option for setting worker threads
REVERT: d4e612af670 kernel: Add chainstate manager object to C header
REVERT: f19c8076746 kernel: Add notifications context option to C header
REVERT: cc0043d99b6 kernel: Add chain params context option to C header
REVERT: 8b3ceea4f1d kernel: Add kernel library context object
REVERT: 039e222756e kernel: Add logging to kernel library C header
REVERT: d192006d7f4 kernel: Introduce initial kernel C header API

git-subtree-dir: libbitcoinkernel-sys/bitcoin
git-subtree-split: 81cec737e68b91f5edf90179b81aa620a5a68677
stringintech added a commit to stringintech/go-bitcoinkernel that referenced this pull request Oct 14, 2025
81cec737e68 kernel: Fix bitcoin-chainstate for windows
1826c485ddc kernel: Add Purpose section to header documentation
d7e618aa981 kernel: Allowing reducing exports
fb7f5241331 kernel: Add pure kernel bitcoin-chainstate
dd0bdf279ef Kernel: Add functions for working with outpoints
eaa6abfc733 kernel: Add block hash type and block tree utility functions to C header
824ddf2885a kernel: Add function to read block undo data from disk to C header
76cab0768b1 kernel: Add functions to read block from disk to C header
e41f6f459a2 kernel: Add function for copying block data to C header
39c647647a2 kernel: Add functions for the block validation state to C header
8a19a9d6070 kernel: Add validation interface to C header
38a990dd482 kernel: Add interrupt function to C header
fee8f6ff38b kernel: Add import blocks function to C header
c29a6b87ccd kernel: Add chainstate load options for in-memory dbs in C header
e788b3ba065 kernel: Add options for reindexing in C header
2707fc515c5 kernel: Add block validation to C header
51a24c4004e kernel: Add chainstate loading when instantiating a ChainstateManager
ea01a8caf35 kernel: Add chainstate manager option for setting worker threads
add5904e0ac kernel: Add chainstate manager object to C header
37a3395d271 kernel: Add notifications context option to C header
d838a934be0 kernel: Add chain params context option to C header
dc58ae9fc04 kernel: Add kernel library context object
77449975962 kernel: Add logging to kernel library C header
dc504f57b3b kernel: Introduce initial kernel C header API
b510893d007 Merge bitcoin/bitcoin#33494: depends: Update URL for `qrencode` package source tarball
ec5841888de Merge bitcoin/bitcoin#32513: ci: remove 3rd party js from windows dll gha job
d735e2e9b39 Merge bitcoin/bitcoin#32998: Bump SCRIPT_VERIFY flags to 64 bit
de1dc6b47ba Merge bitcoin/bitcoin#33515: Improve LastCommonAncestor performance + add tests
919e6d01e93 Merge bitcoin/bitcoin#33489: build: Drop support for EOL macOS 13
452ea592811 Merge bitcoin/bitcoin#33454: net: support overriding the proxy selection in ConnectNode()
a33bd767a37 Merge bitcoin/bitcoin#33464: p2p: Use network-dependent timers for inbound inv scheduling
2578da69f41 Merge bitcoin/bitcoin#33485: test: set par=2 in default config for functional test framework
25dbe4bc86d Merge bitcoin/bitcoin#33533: test: addrman: check isTerrible when time is more than 10min in the future
cfb0d74698a Merge bitcoin/bitcoin#33121: test: fix p2p_leak_tx.py
86eaa4d6cd5 Merge bitcoin/bitcoin#33482: contrib: fix macOS deployment with no translations
007900ee9b8 Merge bitcoin/bitcoin#33434: depends: static libxcb-cursor
8e47ed6906d test: addrman: check isTerrible when time is more than 10min in the future
3635d62f5a9 chain: make use of pskip in LastCommonAncestor (optimization)
2e09d66fbb7 tests: add unit tests for CBlockIndex::GetAncestor and LastCommonAncestor
156927903d6 ci: Check windows manifests for all executables
e1a1b14c935 ci: use a more generic way of finding mt.exe
1ed00a0d39d Merge bitcoin/bitcoin#33504: Mempool: Do not enforce TRUC checks on reorg
c76de2eea18 net: support overriding the proxy selection in ConnectNode()
75353a01635 Merge bitcoin/bitcoin#32326: net: improve the interface around FindNode() and avoid a recursive mutex lock
87e7f37918d doc: clarify peer address in getpeerinfo and addnode RPC help
2a4450ccbbe net: change FindNode() to not return a node and rename it
4268abae1a1 net: avoid recursive m_nodes_mutex lock in DisconnectNode()
acc7f2a433b Merge bitcoin/bitcoin#33401: ci: Remove bash -c from cmake invocation using eval
1aaaaa078bb fuzz: Drop unused workaround after Apple-Clang bump
fadad7a4947 Drop support for EOL macOS 13
50194029e7c ci: Remove bash -c from cmake invocation using eval
f41f97240c0 Merge bitcoin/bitcoin#28584: Fuzz: extend CConnman tests
cc4a2cc6bdc Merge bitcoin/bitcoin#33453: docs: Undeprecate datacarrier and datacarriersize configuration options
7502d4e9403 Merge bitcoin/bitcoin#33260: test: Use extra_port() helper in feature_bind_extra.py
14ae71f323d test: make notfound_on_unannounced more reliable
99bc552980d test: fix (w)txid confusion in p2p_leak_tx.py
576dd97cb91 test: increase timeout in p2p_leak_tx.py
8f73d952214 Merge bitcoin/bitcoin#33299: wallet: reduce unconditional logging during load
0f7d4ee4e82 p2p: Use different inbound inv timer per network
93a70a42d30 depends: Update URL for `qrencode` package source tarball
6de80512632 depends: Use hash instead of file name for package download stamp
46135d90ea9 depends: Drop redundant check for downloaded file
771978952a9 depends: Fix `$(package)_fetched` target
25212dfdb4c Merge bitcoin/bitcoin#33487: ci: use latest versions of lint deps
06df14ba75b test: add more TRUC reorg coverge
26e71c237d9 Mempool: Do not enforce TRUC checks on reorg
bbe8e9063c1 fuzz: don't bypass_limits for most mempool harnesses
d4f47f97715 ci: use latest versions of lint deps
fc861332b35 wallet, log: reduce unconditional logging during load
3a4d1a25cf9 net: merge AlreadyConnectedToAddress() and FindNode(CNetAddr)
d8fe258cd61 Merge bitcoin/bitcoin#33484: doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness)
dda5228e02c test: set par=2 in default config for functional test framework
ff05bebcc42 doc: rpc: fix case typo in `finalizepsbt` help (final_scriptwitness)
200150beba6 Merge bitcoin/bitcoin#33313: test/refactor: use test deque to avoid quadratic iteration
7e08445449f Merge bitcoin/bitcoin#33399: key: use static context for libsecp256k1 calls where applicable
7b5261f7ef3 contrib: fix using macdploy script without translations.
65e909dfdd9 Merge bitcoin/bitcoin#33430: rpc: addpeeraddress: throw on invalid IP
31b29f8eb62 Merge bitcoin/bitcoin#33229: multiprocess: Don't require bitcoin -m argument when IPC options are used
e62e0a12b33 Merge bitcoin/bitcoin#33230: cli: Handle arguments that can be either JSON or string
7ae0497eef8 ci: remove 3rd party js from windows dll gha job
05d984b1a4f Merge bitcoin/bitcoin#33475: bugfix: miner: fix `addPackageTxs` unsigned integer overflow
b807dfcdc59 miner: fix `addPackageTxs` unsigned integer overflow
d41b503ae12 Merge bitcoin/bitcoin#33446: rpc: fix getblock(header) returns target for tip
5ae8edbc304 Merge bitcoin/bitcoin#33158: macdeploy: avoid use of `Bitcoin Core` in Linux cross build
df67bb6fd84 test: Remove convert_to_json_for_cli
44a493e150a cli: Allow arguments to be both strings and json
ad4a49090da Merge bitcoin/bitcoin#33408: msvc: Update vcpkg manifest
dd61f08fd52 Merge bitcoin/bitcoin#33031: wallet: Set descriptor cache upgraded flag for migrated wallets
350692e561c Merge bitcoin/bitcoin#33388: test: don't throw from the destructor of DebugLogHelper
94db966a3bb net: use generic network key for addrcache
eca50854e1c depends: static libxcb_cursor
89144eb473c Merge bitcoin/bitcoin#33448: net/rpc: Report inv information for debugging
eaa1a3cd0b3 Merge bitcoin/bitcoin#33425: ci: remove Clang build from msan fuzz job
b77137a5644 ci: link against -lstdc++ in native fuzz with msan job
a86e1a6e32d Merge bitcoin/bitcoin#33427: rpc: Always return per-wtxid entries in submitpackage tx-results
6861dadfcb1 Merge bitcoin/bitcoin#33459: doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description
3b3ab3a50a0 Merge bitcoin/bitcoin#33302: ci: disable cirrus cache in 32bit arm job
2738b63e025 test: validate behaviour of getpeerinfo last_inv_sequence and inv_to_send
fbde8d9a81d doc: remove unrelated `bitcoin-wallet` binary from `libbitcoin_ipc` description
34fefb63358 Merge bitcoin/bitcoin#33435: system: improve handling around GetTotalRAM()
56791b58295 test: split out `system_ram_tests` to signal when total ram cannot be determined
337a6e73861 system: improve handling around GetTotalRAM()
451ba9ada41 datacarrier: Undeprecate configuration option
77b2ebb8118 rpc/net: report per-peer last_inv_sequence
bf7996cbc3b rpc: fix getblock(header) returns target for tip
4c3c1f42cf7 test: add block 2016 to mock mainnet
953544d0286 Merge bitcoin/bitcoin#33429: fuzz: reduce iterations in slow targets
df101c97c26 Merge bitcoin/bitcoin#33422: build: Remove lingering Windows registry & shortcuts (#32132 follow-up)
56c6daa64f6 Merge bitcoin/bitcoin#28592: p2p: Increase tx relay rate
79752b9c0b6 build(windows): Remove lingering registry entries and shortcuts upon install
cad9a7fd737 rpc: Always return per-wtxid entries in submitpackage tx-results
6a33970fef1 fuzz: Reduce iterations in slow targets
edb871cba22 Merge bitcoin/bitcoin#33412: Update libmultiprocess subtree to fix intermittent mptest hang
2427939935f test: forbid copying of DebugLogHelper
d6aa266d432 test: don't throw from the destructor of DebugLogHelper
eaf2c464758 Merge bitcoin/bitcoin#33378: Remove unnecessary casts when calling socket operations
5aec516b2ce Merge bitcoin/bitcoin#33333: coins: warn on oversized `-dbcache`
316a0c51327 rpc: addpeeraddress: throw on invalid IP
74fa028da1e Merge bitcoin/bitcoin#33420: test: Avoid interface_ipc.py Duplicate ID errors
168360f4ae4 coins: warn on oversized -dbcache
6c720459bee system: add helper for fetching total system memory
e9c52272ebd test: Avoid interface_ipc.py Duplicate ID errors
c49a43591f8 Merge commit '535fa0ad0d2637f845beae92ea9dbbbbbe377c74' into pr/subtree-5
535fa0ad0d2 Squashed 'src/ipc/libmultiprocess/' changes from 13424cf2ecc1..47d79db8a552
453b0fa286e bitcoin: Make wrapper not require -m
1444ed855f4 Merge bitcoin/bitcoin#33407: cmake: Install `bitcoin` manpage
29e836fae66 test: add tool_bitcoin to test bitcoin wrapper behavior
0972f550402 init: add exe name to bitcoind, bitcoin-node -version output to be able to distinguish these in tests
2b0cd1f3fb2 Merge bitcoin/bitcoin#33395: net: do not apply whitelist permissions to onion inbounds
ef20c2d11d9 build, msvc: Update vcpkg manifest baseline
1ff9e929489 key: use static context for libsecp256k1 calls where applicable
f563ce90818 net: Do not apply whitelist permission to onion inbounds
947bed28fe6 Merge bitcoin/bitcoin#33380: test: Add submitblock test in interface_ipc
7584a4fda95 cmake: Install `bitcoin` manpage
67f632b6deb net: remove unnecessary casts in socket operations
c4adfbf7062 Merge bitcoin/bitcoin#33373: depends: systemtap 5.3
5aa3d3135d2 Merge bitcoin/bitcoin#33391: test: Prevent disk space warning during node_init_tests
bdf01c6f612 test: Prevent disk space warning during node_init_tests
0a26731c4cc test: Add submitblock test in interface_ipc
2d6a0c46491 Merge bitcoin/bitcoin#33379: cmake: Fix regression in `secp256k1.cmake`
9193c3e4340 cmake: Fix regression in `secp256k1.cmake`
28efd724b47 depends: systemtap 5.3
75e6984ec8c test/refactor: use test deque to avoid quadratic iteration
652424ad162 test: additional test coverage for script_verify_flags
00c253d4941 ci: disable cirrus cache in 32bit arm job
ff18b6bbaf3 ci: refactor docker action to return provider str
8e434a84999 macdeploy: rename macOS output to bitcoin-macos-app.zip
05353d9cf08 macdeploy: combine appname & -zip arguments
fabc2615af2 test: Use extra_port() helper in feature_bind_extra.py
417437eb01a script/verify_flags: extend script_verify_flags to 64 bits
3cbbcb66efc script/interpreter: make script_verify_flag_name an ordinary enum
bddcadee82d script/verify_flags: make script_verify_flags type safe
a5ead122fe0 script/interpreter: introduce script_verify_flags typename
4577fb2b1e0 rpc: have getdeploymentinfo report script verify flags
a3986935f07 validation: export GetBlockScriptFlags()
5db8cd2d37e Move mapFlagNames and FormatScriptFlags logic to script/interpreter.h
adefb51c543 rpc/net: add per-peer inv_to_send sizes
88b0647f027 wallet: Always write last hardened cache flag in migrated wallets
8a08eef645e tests: Check that the last hardened cache upgrade occurs
0802398e749 fuzz: make it possible to mock (fuzz) CThreadInterrupt
6d9e5d130d2 fuzz: add CConnman::SocketHandler() to the tests
3265df63a48 fuzz: add CConnman::InitBinds() to the tests
91cbf4dbd86 fuzz: add CConnman::CreateNodeFromAcceptedSocket() to the tests
50da7432ec1 fuzz: add CConnman::OpenNetworkConnection() to the tests
e6a917c8f8e fuzz: add Fuzzed NetEventsInterface and use it in connman tests
e883b377688 fuzz: set the output argument of FuzzedSock::Accept()
b81f37031c8 p2p: Increase tx relay rate
REVERT: 2ac9d60c54a kernel: Fix bitcoin-chainstate for windows
REVERT: 08e2a7ebbb9 kernel: Add Purpose section to header documentation
REVERT: 9d95715fe46 kernel: Allowing reducing exports
REVERT: 241f306df61 kernel: Add pure kernel bitcoin-chainstate
REVERT: 3ed3d6b9c25 kernel: Add functions to get the block hash from a block
REVERT: 3fe143dc6c3 kernel: Add block index utility functions to C header
REVERT: 224dbec1ce5 kernel: Add function to read block undo data from disk to C header
REVERT: 4e5b9c66d36 kernel: Add functions to read block from disk to C header
REVERT: e4ef0011f7e kernel: Add function for copying block data to C header
REVERT: 3e7711d271d kernel: Add functions for the block validation state to C header
REVERT: 984305a1afb kernel: Add validation interface to C header
REVERT: ff1fe96997b kernel: Add interrupt function to C header
REVERT: b45d0abbea2 kernel: Add import blocks function to C header
REVERT: dc939ae9471 kernel: Add chainstate load options for in-memory dbs in C header
REVERT: 0ea93d86242 kernel: Add options for reindexing in C header
REVERT: 5817e2e79bd kernel: Add block validation to C header
REVERT: 32d9e4a547b kernel: Add chainstate loading when instantiating a ChainstateManager
REVERT: e3c03bae40b kernel: Add chainstate manager option for setting worker threads
REVERT: f6978da0f73 kernel: Add chainstate manager object to C header
REVERT: 63d6e4fade2 kernel: Add notifications context option to C header
REVERT: ee9c2c7ceac kernel: Add chain params context option to C header
REVERT: 2919e083e1b kernel: Add kernel library context object
REVERT: 7967ffa7476 kernel: Add logging to kernel library C header
REVERT: c76dcaafbc7 kernel: Introduce initial kernel C header API

git-subtree-dir: depend/bitcoin
git-subtree-split: 81cec737e68b91f5edf90179b81aa620a5a68677
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants