mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-05-23 04:16:52 +02:00
d506765199[refactor] Remove compat.h from kernel headers (TheCharlatan)36193af47c[refactor] Remove netaddress.h from kernel headers (TheCharlatan)2b08c55f01[refactor] Add CChainParams member to CConnman (TheCharlatan)f0d1d8b35c[refactor] Add missing includes for next commit (TheCharlatan)534b314a74kernel: Move MessageStartChars to its own file (TheCharlatan)9be330b654[refactor] Define MessageStartChars as std::array (TheCharlatan)37e2b01113[refactor] Allow std::array<std::byte, N> in serialize.h (MarcoFalke) Pull request description: This removes the non-consensus critical `protocol.h` and `netaddress.h` headers from the kernel headers. With this patch, they are no longer required to include in order to use the libbitcoinkernel library. This also allows for the removal of the `compat.h` header from the kernel headers. As an added future benefit it also reduces the number of of kernel headers that include the platform specific `bitcoin-config.h`. For those interested, the currently required kernel headers can be inspected visually with the [sourcetrail](https://github.com/CoatiSoftware/Sourcetrail) tool by looking at the required includes of `bitcoin-chainstate.cpp`. --- This is part of the [libbitcoinkernel project](https://github.com/bitcoin/bitcoin/issues/27587), namely its stage 1 step 3: Decouple most non-consensus headers from libbitcoinkernel. ACKs for top commit: stickies-v: re-ACKd506765hebasto: ACKd506765199. ajtowns: utACKd506765199MarcoFalke: lgtm ACKd506765199🍛 Tree-SHA512: 6f90ea510a302c2927e84d16900e89997c39b8ff3ce9d4effeb8a134bd29cc52bd9e81e51aaa11f7496bad00025b78a58b88c5a9e0bb3f4ebbe9a76309215fb7