elements/src/kernel
fanquake 9564f98fee
Merge bitcoin/bitcoin#27636: kernel: Remove util/system from kernel library, interface_ui from validation.
7d3b35004b refactor: Move system from util to common library (TheCharlatan)
7eee356c0a refactor: Split util::AnyPtr into its own file (TheCharlatan)
44de325d95 refactor: Split util::insert into its own file (TheCharlatan)
9ec5da36b6 refactor: Move ScheduleBatchPriority to its own file (TheCharlatan)
f871c69191 kernel: Add warning method to notifications (TheCharlatan)
4452707ede kernel: Add progress method to notifications (TheCharlatan)
84d71457e7 kernel: Add headerTip method to notifications (TheCharlatan)
447761c822 kernel: Add notification interface (TheCharlatan)

Pull request description:

  This pull request is part of the `libbitcoinkernel` project https://github.com/bitcoin/bitcoin/issues/27587 https://github.com/bitcoin/bitcoin/projects/18 and more specifically its "Step 2: Decouple most non-consensus code from libbitcoinkernel".

  ---

  It removes the kernel library's dependency on `util/system` and `interface_ui`. `util/system` contains networking and shell-related code that should not be part of the kernel library. The following pull requests prepared `util/system` for this final step: https://github.com/bitcoin/bitcoin/pull/27419 https://github.com/bitcoin/bitcoin/pull/27254 https://github.com/bitcoin/bitcoin/pull/27238.

  `interface_ui` defines functions for a more general node interface and has a dependency on `boost/signals2`. After applying the patches from this pull request, the kernel's reliance on boost is down to `boost::multiindex`.

  The approach implemented here introduces some indirection, which makes the code a bit harder to read. Any suggestions for improving or reworking this pull request to make it more concise, or even reworking it into a more proper interface, are appreciated.

ACKs for top commit:
  MarcoFalke:
    re-ACK 7d3b35004b (no change) 🎋
  stickies-v:
    Code Review ACK 7d3b35004b
  hebasto:
    re-ACK 7d3b35004b, only last two commits dropped since my [recent](https://github.com/bitcoin/bitcoin/pull/27636#pullrequestreview-1435394620) review.

Tree-SHA512: c8cfc698dc9d78e20191c444708f2d957501229abe95e5806106d1126fb9c5fbcee686fb55645658c0107ce71f10646f37a2fdf7fde16bbf22cbf1ac885dd08d
2023-05-30 14:57:22 +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, blockstorage: Replace stopafterblockimport arg 2023-05-10 19:07:46 +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 scripted-diff: Remove unused chainparamsbase includes 2023-05-09 15:49:19 +02:00
chainparams.h refactor: Replace string chain name constants with ChainTypes 2023-05-09 15:49:14 +02:00
chainstatemanager_opts.h kernel: Add notification interface 2023-05-20 12:03:22 +02:00
checks.cpp refactor: Replace std::optional<bilingual_str> with util::Result 2023-05-24 08:55:47 -04:00
checks.h refactor: Replace std::optional<bilingual_str> with util::Result 2023-05-24 08:55:47 -04: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 Adapt to libsecp256k1 API changes 2022-12-13 15:08:24 -05:00
context.h Adapt to libsecp256k1 API changes 2022-12-13 15:08:24 -05: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 refactor: Move txmempool_entry.h --> kernel/mempool_entry.h 2022-11-30 10:37:57 +00:00
mempool_limits.h refactor: mempool: add MemPoolLimits::NoLimits() 2022-10-05 13:07:11 +01:00
mempool_options.h doc: Fix comment syntax error 2023-01-30 10:26:02 +00:00
mempool_persist.cpp refactor: Move fs.* to util/fs.* 2023-03-23 12:55:18 +01:00
mempool_persist.h refactor: Move fs.* to util/fs.* 2023-03-23 12:55:18 +01:00
notifications_interface.h kernel: Add warning method to notifications 2023-05-20 12:03:28 +02:00
validation_cache_sizes.h validationcaches: Use size_t for sizes 2022-08-03 12:03:28 -04:00