bitcoin/src/kernel
fanquake 1e9d367d0d
Merge bitcoin/bitcoin#28423: kernel: Remove protocol.h/netaddress.h/compat.h from kernel headers
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)
534b314a74 kernel: 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-ACK d506765
  hebasto:
    ACK d506765199.
  ajtowns:
    utACK d506765199
  MarcoFalke:
    lgtm ACK d506765199 🍛

Tree-SHA512: 6f90ea510a302c2927e84d16900e89997c39b8ff3ce9d4effeb8a134bd29cc52bd9e81e51aaa11f7496bad00025b78a58b88c5a9e0bb3f4ebbe9a76309215fb7
2023-09-14 11:11:38 +01:00
..
bitcoinkernel.cpp b-cs: Define G_TRANSLATION_FUN in bitcoinkernel.cpp 2022-04-26 16:30:53 -04:00
blockmanager_opts.h refactor: Move stopafterblockimport handling out of blockstorage 2023-07-11 12:00:57 +02:00
chain.cpp wallet: skip block scan if block was created before wallet birthday 2023-05-25 10:45:38 -03:00
chain.h interfaces, refactor: Add more block information to block connected notifications 2022-07-18 13:39:55 -05:00
chainparams.cpp kernel: Move MessageStartChars to its own file 2023-09-12 22:51:38 +02:00
chainparams.h [refactor] Remove netaddress.h from kernel headers 2023-09-12 22:51:46 +02:00
chainstatemanager_opts.h kernel: Remove StartShutdown calls from validation code 2023-07-11 12:30:56 -04:00
checks.cpp refactor: Replace std::optional<bilingual_str> with util::Result 2023-05-24 08:55:47 -04:00
checks.h fix includes for touched header files (iwyu) 2023-05-29 13:26:31 +02:00
coinstats.cpp Avoid dereferencing interruption_point if it is nullptr 2023-05-02 20:19:28 +02:00
coinstats.h Use DataStream where possible 2023-01-26 10:44:05 +01:00
context.cpp util: Add SignalInterrupt class and use in shutdown.cpp 2023-06-28 09:49:28 +02:00
context.h util: Add SignalInterrupt class and use in shutdown.cpp 2023-06-28 09:49:28 +02:00
cs_main.cpp kernel: add missing include 2023-02-22 15:46:21 +00:00
cs_main.h refactor: add kernel/cs_main.* 2023-01-05 09:05:14 +00:00
mempool_entry.h mempool_entry: improve struct packing 2023-08-07 20:24:33 +10:00
mempool_limits.h refactor: mempool: add MemPoolLimits::NoLimits() 2022-10-05 13:07:11 +01:00
mempool_options.h config: default acceptnonstdtxn=0 on all chains 2023-08-28 22:09:39 +10:00
mempool_persist.cpp Remove unused GetType() from CBufferedFile and CAutoFile 2023-09-12 12:35:13 +02:00
mempool_persist.h Add importmempool RPC 2023-08-07 11:33:34 +02:00
mempool_removal_reason.cpp move-only: Create src/kernel/mempool_removal_reason.h 2023-08-17 16:26:20 +02:00
mempool_removal_reason.h move-only: Create src/kernel/mempool_removal_reason.h 2023-08-17 16:26:20 +02:00
messagestartchars.h kernel: Move MessageStartChars to its own file 2023-09-12 22:51:38 +02:00
notifications_interface.h kernel: Remove StartShutdown calls from validation code 2023-07-11 12:30:56 -04:00
validation_cache_sizes.h validationcaches: Use size_t for sizes 2022-08-03 12:03:28 -04:00