bitcoin/src/kernel
Ava Chow 33adc7521c
Merge bitcoin/bitcoin#30765: refactor: Allow CScript's operator<< to accept spans, not just vectors
5e190cd11f Replace CScript _hex_v_u8 appends with _hex (Lőrinc)
cac846c2fb Allow CScript's operator<< to accept spans, not just vectors (Lőrinc)
c78d8ff4cb prevector: avoid GCC bogus warnings in insert method (Lőrinc)

Pull request description:

  Split out of https://github.com/bitcoin/bitcoin/pull/30377#discussion_r1722326803.

  Replace `_hex_v_u8` for `CScript` appends to `_hex`, to skip vector conversion before serializing to the `prevector` in `CScript`.

  To enable both `unsigned char` and `std::byte` values, I've extracted the existing serialization to append the size & data in separate private methods to clarify that it does more than just a simple data insertion.

  There were also discussion on eliminating the operators here completely to obviate when we're serializing fixed-size collections as raw bytes, and when we're prefixing them with their size - should also be done in a separate PR.

ACKs for top commit:
  achow101:
    ACK 5e190cd11f
  ryanofsky:
    Code review ACK 5e190cd11f. Looks good!
  hodlinator:
    re-ACK 5e190cd11f

Tree-SHA512: 27a646629e017b2a05416d5eb964dda8b25b900d466221eff7bfa1339ded443e1c5c4cf8ff20cb3bba915a2603787a9fa6f6ec12bc0b9415d9eb07b57289192b
2024-09-20 15:16:53 -04:00
..
bitcoinkernel.cpp
blockmanager_opts.h Add -blocksxor boolean option 2024-07-26 17:30:53 +02:00
chain.cpp validation: add ChainstateRole 2023-09-30 06:38:47 -04:00
chain.h validation: add ChainstateRole 2023-09-30 06:38:47 -04:00
chainparams.cpp Replace CScript _hex_v_u8 appends with _hex 2024-09-11 17:41:27 +02:00
chainparams.h testnet: Introduce Testnet4 2024-08-06 01:38:10 +02:00
chainstatemanager_opts.h kernel: De-globalize signature cache 2024-07-05 09:03:04 +02:00
checks.cpp kernel: Remove key module from kernel library 2024-05-09 15:56:08 +02:00
checks.h fix includes for touched header files (iwyu) 2023-05-29 13:26:31 +02:00
CMakeLists.txt Merge bitcoin/bitcoin#30814: kernel: Create usable static kernel library 2024-09-12 16:39:34 +01:00
coinstats.cpp scripted-diff: Replace error() with LogError() 2024-03-11 13:49:37 +01:00
coinstats.h coinstats: Fix hash_serialized2 calculation 2023-10-20 22:53:05 +02:00
context.cpp kernel: Only setup kernel context globals once 2024-07-30 18:07:21 +02:00
context.h kernel: Remove key module from kernel library 2024-05-09 15:56:08 +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
disconnected_transactions.cpp bugfix: correct DisconnectedBlockTransactions memory usage 2023-10-19 16:14:36 +01:00
disconnected_transactions.h bugfix: correct DisconnectedBlockTransactions memory usage 2023-10-19 16:14:36 +01:00
mempool_entry.h tx fees: update m_from_disconnected_block to m_mempool_limit_bypassed 2024-01-02 12:41:01 +01:00
mempool_limits.h refactor: mempool: add MemPoolLimits::NoLimits() 2022-10-05 13:07:11 +01:00
mempool_options.h policy: enable full-rbf by default 2024-08-02 20:22:20 +00: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 tidy: modernize-use-equals-default 2024-07-08 11:12:01 +02:00
warning.h introduce and use the generalized node::Warnings interface 2024-06-13 11:20:48 +01:00