bitcoin/src
fanquake 03c5b0064d
Merge bitcoin/bitcoin#29085: refactor: C++20: Use std::rotl
6044628543 crypto, hash: replace custom rotl32 with std::rotl (Fabian Jahr)

Pull request description:

  While exploring some C++20 changes and checking against our code I found this potential improvement:

  1. We can replace our custom implementation of `rotl32` in crypto/chacha20 with `std::rotl` from the [new `bit` header](https://en.cppreference.com/w/cpp/header/bit).

ACKs for top commit:
  fanquake:
    ACK 6044628543

Tree-SHA512: db55b366f20fca2ef62e5f10a838f8a709d531678c35c1dba20898754029c788a2fd47995208ed6d187cf814109a7ca397bc2c301504500aee79da04c95d6895
2024-01-18 09:40:44 +00:00
..
bench Merge bitcoin/bitcoin#26684: bench: add readblock benchmark 2024-01-02 11:12:32 -05:00
common ArgsManager: return path by value from GetBlocksDirPath() 2023-12-11 17:42:17 +01:00
compat Remove __cplusplus from compat/assumptions.h 2023-10-04 11:11:37 +02:00
config
consensus Include version.h in fewer places 2023-11-16 11:36:22 +10:00
crc32c
crypto crypto, hash: replace custom rotl32 with std::rotl 2024-01-05 17:12:38 +01:00
index refactor: Remove calls to StartShutdown from KernelNotifications 2023-12-04 15:39:15 -04:00
init doc: add unconditional info loglevel following merge of PR 28318 2024-01-11 11:01:28 -06:00
interfaces Merge bitcoin/bitcoin#28890: rpc: Remove deprecated -rpcserialversion 2024-01-05 10:42:10 +00:00
ipc refactor: Move system from util to common library 2023-05-20 12:08:13 +02:00
kernel [log] mempool loading 2024-01-12 13:48:02 +00:00
leveldb
logging
minisketch
node Merge bitcoin/bitcoin#28890: rpc: Remove deprecated -rpcserialversion 2024-01-05 10:42:10 +00:00
policy Merge bitcoin/bitcoin#29013: test: doc: follow-up #28368 2024-01-03 11:23:27 +00:00
primitives Merge bitcoin/bitcoin#28766: Improve peformance of CTransaction::HasWitness (28107 follow-up) 2023-11-28 08:44:41 -05:00
qt refactor: share and use `GenerateRandomKey` helper 2023-12-23 13:26:00 +01:00
rpc Make v2transport default for addnode RPC when enabled 2024-01-12 09:31:31 -05:00
script wallet: fix key parsing check for miniscript expressions in `ParseScript` 2023-12-08 06:54:00 -03:00
secp256k1 Update secp256k1 subtree to latest master 2024-01-04 14:40:28 +00:00
support pool: make sure PoolAllocator uses the correct alignment 2023-11-19 18:43:29 +01:00
test Merge bitcoin/bitcoin#29213: doc, test: test and explain service flag handling 2024-01-16 13:35:45 -05:00
univalue Remove unused raw-pointer read helper from univalue 2023-07-27 14:24:52 +02:00
util doc: Clarify C++20 comments 2024-01-05 11:22:31 +01:00
wallet refactor: Allow std::span construction from CKey 2024-01-16 15:29:18 +01:00
zmq Remove deprecated -rpcserialversion 2023-12-11 18:22:13 +01:00
.bear-tidy-config tidy: modernize-use-emplace 2023-10-12 11:27:19 +02:00
.clang-format refactor: Print verbose serialize compiler error messages 2023-12-15 15:20:54 +01:00
.clang-tidy refactor: Fix bugprone-string-constructor warning 2023-10-30 14:59:17 +01:00
Makefile.am build: remove --enable-lto 2024-01-05 15:17:50 +00:00
Makefile.bench.include Merge bitcoin/bitcoin#26684: bench: add readblock benchmark 2024-01-02 11:12:32 -05:00
Makefile.crc32c.include
Makefile.leveldb.include
Makefile.minisketch.include
Makefile.qt.include Merge bitcoin/bitcoin#22764: build: Include qt sources for parsing with extract_strings.py 2023-10-19 13:25:49 +01:00
Makefile.qt_locale.include qt: Translation updates from Transifex 2023-09-01 07:39:00 +01:00
Makefile.qttest.include
Makefile.test.include Revert "build: Fix undefined reference to __mulodi4" 2024-01-09 15:38:57 +01:00
Makefile.test_fuzz.include fuzz: move `MockedDescriptorConverter` to `fuzz/util` 2023-11-20 15:57:50 -03:00
Makefile.test_util.include Merge bitcoin/bitcoin#27425: test: move remaining rand code from util/setup_common to util/random 2023-07-19 10:26:11 +01:00
Makefile.univalue.include
addrdb.cpp build: Bump minimum supported Clang to clang-13 2023-10-24 18:52:00 +02:00
addrdb.h Use serialization parameters for CAddress serialization 2023-09-05 10:13:25 +02:00
addresstype.cpp Add PubKeyDestination for P2PK scripts 2023-09-12 12:14:31 -04:00
addresstype.h bugfix: Mark CNoDestination and PubKeyDestination constructor explicit 2023-10-25 22:46:55 +02:00
addrman.cpp Merge bitcoin/bitcoin#27581: net: Continuous ASMap health check 2023-12-06 11:22:42 -05:00
addrman.h doc, test: Test and explain service flag handling 2024-01-15 16:19:53 -05:00
addrman_impl.h net: Optionally include terrible addresses in GetAddr results 2023-10-04 18:08:49 +02:00
arith_uint256.cpp refactor: Remove unused and fragile string interface from arith_uint256 2023-11-21 17:37:25 +01:00
arith_uint256.h refactor: Remove unused and fragile string interface from arith_uint256 2023-11-21 17:37:25 +01:00
attributes.h Introduce platform-agnostic `ALWAYS_INLINE` macro 2023-05-04 20:57:51 +01:00
banman.cpp Merge bitcoin/bitcoin#24097: Replace RecursiveMutex m_cs_banned with Mutex, and rename it 2023-11-02 14:09:27 -04:00
banman.h Merge bitcoin/bitcoin#24097: Replace RecursiveMutex m_cs_banned with Mutex, and rename it 2023-11-02 14:09:27 -04:00
base58.cpp
base58.h
bech32.cpp
bech32.h
bip324.cpp net: merge V2Transport constructors, move key gen 2023-09-10 16:11:52 -04:00
bip324.h net: merge V2Transport constructors, move key gen 2023-09-10 16:11:52 -04:00
bitcoin-chainstate.cpp refactor: Add NodeContext::shutdown member 2023-12-04 15:39:15 -04:00
bitcoin-cli-res.rc
bitcoin-cli.cpp Fix -netinfo backward compat with getpeerinfo pre-v26 2024-01-09 15:27:08 -06:00
bitcoin-tx-res.rc
bitcoin-tx.cpp doc: Update bitcoin-tx replaceable documentation 2023-12-11 13:08:46 -05:00
bitcoin-util-res.rc
bitcoin-util.cpp Include version.h in fewer places 2023-11-16 11:36:22 +10:00
bitcoin-wallet-res.rc
bitcoin-wallet.cpp refactor: Move system from util to common library 2023-05-20 12:08:13 +02:00
bitcoind-res.rc
bitcoind.cpp Get rid of shutdown.cpp/shutdown.h, use SignalInterrupt directly 2023-12-04 15:39:15 -04:00
blockencodings.cpp serialize: Drop useless version param from GetSerializeSize() 2023-11-16 11:14:13 +10:00
blockencodings.h Use ParamsWrapper for witness serialization 2023-11-14 08:45:30 +10:00
blockfilter.cpp refactor: SpanReader without nVersion 2023-11-28 12:42:07 +01:00
blockfilter.h Remove unused includes from blockfilter.h 2023-08-17 18:28:15 +02:00
chain.cpp
chain.h refactor: Remove CBlockFileInfo::SetNull 2023-10-20 16:29:02 +02:00
chainparams.cpp test: Throw error when -signetchallenge is non-hex 2023-05-25 19:24:05 +02:00
chainparams.h test: Throw error when -signetchallenge is non-hex 2023-05-25 19:24:05 +02:00
chainparamsbase.cpp refactor: Use ChainType enum exhaustively 2023-05-10 10:39:58 +02:00
chainparamsbase.h refactor: Use ChainType enum exhaustively 2023-05-10 10:39:58 +02:00
chainparamsseeds.h p2p: update hardcoded mainnet seeds for 25.x 2023-04-20 06:08:22 -07:00
checkqueue.h refactor: Make `CCheckQueue` non-copyable and non-movable explicitly 2023-10-03 10:52:17 +01:00
clientversion.cpp
clientversion.h
coins.cpp Use Txid in COutpoint 2023-11-21 13:15:44 +00:00
coins.h Merge bitcoin/bitcoin#28922: Use Txid in COutpoint 2023-11-24 14:41:58 +00:00
compressor.cpp Clean up things that include script/standard.h 2023-08-14 17:38:27 -04:00
compressor.h
core_io.h Remove deprecated -rpcserialversion 2023-12-11 18:22:13 +01:00
core_memusage.h
core_read.cpp Include version.h in fewer places 2023-11-16 11:36:22 +10:00
core_write.cpp Remove deprecated -rpcserialversion 2023-12-11 18:22:13 +01:00
cuckoocache.h
dbwrapper.cpp dbwrapper: Use DataStream for batch operations 2023-09-12 12:07:39 +02:00
dbwrapper.h dbwrapper: Use DataStream for batch operations 2023-09-12 12:07:39 +02:00
deploymentinfo.cpp Decouple RegTestChainParams from ArgsManager 2023-03-15 16:42:42 +01:00
deploymentinfo.h Decouple RegTestChainParams from ArgsManager 2023-03-15 16:42:42 +01:00
deploymentstatus.cpp
deploymentstatus.h
dummywallet.cpp move-only: Extract common/args and common/config.cpp from util/system 2023-04-19 10:48:30 +02:00
external_signer.cpp Remove unused version.h include 2023-11-30 11:28:19 +01:00
external_signer.h refactor: Move system from util to common library 2023-05-20 12:08:13 +02:00
flatfile.cpp refactor: Extract util/fs_helpers from util/system 2023-03-23 12:52:00 +01:00
flatfile.h Merge bitcoin/bitcoin#27254: refactor: Extract util/fs from util/system 2023-04-03 14:41:22 +01:00
hash.cpp crypto, hash: replace custom rotl32 with std::rotl 2024-01-05 17:12:38 +01:00
hash.h Include version.h in fewer places 2023-11-16 11:36:22 +10:00
headerssync.cpp tidy: modernize-use-emplace 2023-10-12 11:27:19 +02:00
headerssync.h
httprpc.cpp refactor: drop protocol.h include header in rpc/util.h 2023-09-19 15:54:17 -06:00
httprpc.h
httpserver.cpp Merge bitcoin/bitcoin#28318: logging: Simplify API for level based logging 2024-01-10 14:11:32 -05:00
httpserver.h refactor: Remove call to ShutdownRequested from HTTPRequest 2023-12-04 15:39:15 -04:00
i2p.cpp net: create I2P sessions with both ECIES-X25519 and ElGamal encryption 2024-01-07 16:24:08 -06:00
i2p.h i2p: destroy the session if we get an unexpected error from the I2P router 2023-10-05 14:11:13 +02:00
indirectmap.h
init.cpp Merge bitcoin/bitcoin#28318: logging: Simplify API for level based logging 2024-01-10 14:11:32 -05:00
init.h Get rid of shutdown.cpp/shutdown.h, use SignalInterrupt directly 2023-12-04 15:39:15 -04:00
key.cpp refactor: Allow std::span construction from CKey 2024-01-16 15:29:18 +01:00
key.h refactor: Allow std::span construction from CKey 2024-01-16 15:29:18 +01:00
key_io.cpp refactor: Allow std::span construction from CKey 2024-01-16 15:29:18 +01:00
key_io.h Clean up things that include script/standard.h 2023-08-14 17:38:27 -04:00
logging.cpp logging: add -loglevelalways=1 option 2023-12-15 11:03:25 +10:00
logging.h logging: add LogError, LogWarning, LogInfo, LogDebug, LogTrace 2023-12-20 15:59:48 +10:00
mapport.cpp Remove the syscall sandbox 2023-06-16 10:38:19 +01:00
mapport.h
memusage.h add std::list to memusage 2023-09-13 11:37:45 +01:00
merkleblock.cpp refactor: Use Txid in CMerkleBlock 2023-11-28 17:49:41 +01:00
merkleblock.h refactor: Use Txid in CMerkleBlock 2023-11-28 17:49:41 +01:00
net.cpp Merge bitcoin/bitcoin#29058: net, cli: use v2transport for manual/addrfetch connections, add to -netinfo 2024-01-09 12:46:52 -05:00
net.h net: attempt v2 transport for manual connections if we support it 2023-12-27 16:39:32 -05:00
net_permissions.cpp Merge bitcoin/bitcoin#26078: p2p: return `CSubNet` in `LookupSubNet` 2023-10-26 14:29:47 -04:00
net_permissions.h
net_processing.cpp Merge bitcoin/bitcoin#29213: doc, test: test and explain service flag handling 2024-01-16 13:35:45 -05:00
net_processing.h refactor: P2P transport without serialize version and type 2023-11-23 13:43:39 +01:00
net_types.cpp p2p: return `CSubNet` in `LookupSubNet` 2023-05-30 16:27:21 -03:00
net_types.h
netaddress.cpp Inline short, often-called, rarely-changed basic CNetAddr getters 2023-07-19 12:43:05 -06:00
netaddress.h net: put CJDNS prefix byte in a constant 2023-10-05 15:10:32 +02:00
netbase.cpp Merge bitcoin/bitcoin#28649: Do the SOCKS5 handshake reliably 2023-11-07 14:11:58 -05:00
netbase.h Merge bitcoin/bitcoin#28649: Do the SOCKS5 handshake reliably 2023-11-07 14:11:58 -05:00
netgroup.cpp Merge bitcoin/bitcoin#27581: net: Continuous ASMap health check 2023-12-06 11:22:42 -05:00
netgroup.h net: Add continuous ASMap health check logging 2023-12-02 22:03:08 +01:00
netmessagemaker.h refactor: NetMsg::Make() without nVersion 2023-11-20 14:02:27 +01:00
noui.cpp
noui.h
outputtype.cpp Clean up things that include script/standard.h 2023-08-14 17:38:27 -04:00
outputtype.h Move CTxDestination to its own file 2023-08-14 17:38:27 -04:00
pow.cpp
pow.h
prevector.h util: implement prevector's move ctor & move assignment 2023-03-26 15:49:52 +02:00
protocol.cpp refactor: Initialize magic bytes in constructor initializer 2023-11-13 14:17:59 +01:00
protocol.h scripted-diff: Use ser params operator 2023-10-13 10:30:49 +02:00
psbt.cpp Remove unused version.h include 2023-11-30 11:28:19 +01:00
psbt.h refactor: SpanReader without nVersion 2023-11-28 12:42:07 +01:00
pubkey.cpp pubkey: introduce a GetEvenCorrespondingCPubKey helper 2023-10-08 02:43:19 +02:00
pubkey.h Add missing XOnlyPubKey::data() to get mutable data 2024-01-16 10:58:57 +01:00
random.cpp Merge bitcoin/bitcoin#26839: Add support for RNDR/RNDRRS for AArch64 on Linux 2023-11-07 15:00:38 -05:00
random.h crypto: refactor ChaCha20 classes to use Span<std::byte> interface 2023-08-17 15:26:34 -04:00
randomenv.cpp [refactor] Remove compat.h from kernel headers 2023-09-12 22:51:48 +02:00
randomenv.h
rest.cpp Merge bitcoin/bitcoin#28890: rpc: Remove deprecated -rpcserialversion 2024-01-05 10:42:10 +00:00
rest.h
reverse_iterator.h
scheduler.cpp Remove the syscall sandbox 2023-06-16 10:38:19 +01:00
scheduler.h
serialize.h Allow std::byte C-style array serialization 2023-12-15 15:21:22 +01:00
signet.cpp refactor: SpanReader without nVersion 2023-11-28 12:42:07 +01:00
signet.h
span.h refactor: Print verbose serialize compiler error messages 2023-12-15 15:20:54 +01:00
streams.cpp streams: Teach AutoFile how to XOR 2023-07-19 18:12:42 +02:00
streams.h Remove unused CDataStream 2023-11-30 11:27:54 +01:00
sync.cpp
sync.h Merge bitcoin/bitcoin#27116: doc: clarify that LOCK() internally checks whether the mutex is held 2023-10-26 15:02:13 -04:00
threadsafety.h
timedata.cpp move-only: Extract common/args and common/config.cpp from util/system 2023-04-19 10:48:30 +02:00
timedata.h
tinyformat.h
torcontrol.cpp Merge bitcoin/bitcoin#28318: logging: Simplify API for level based logging 2024-01-10 14:11:32 -05:00
torcontrol.h doc, refactor: Changing -torcontrol help to specify that a default port is used 2023-08-17 23:58:47 -05:00
txdb.cpp Merge bitcoin/bitcoin#28195: blockstorage: Drop legacy -txindex check 2023-09-05 11:37:35 +01:00
txdb.h move-only: Move CBlockTreeDB to node/blockstorage 2023-08-01 15:27:33 +02:00
txmempool.cpp wallet, mempool: propagete `checkChainLimits` error message to wallet 2023-12-17 21:13:44 +01:00
txmempool.h [doc]: add doxygen return comment for CheckPackageLimits 2023-12-19 17:12:45 +01:00
txorphanage.cpp fuzz: Improve fuzzing stability for txorphan harness 2023-12-08 13:14:46 +00:00
txorphanage.h fuzz: Improve fuzzing stability for txorphan harness 2023-12-08 13:14:46 +00:00
txrequest.cpp refactor: modernize-use-default-member-init for bit-fields (C++20) 2023-12-07 11:06:01 +01:00
txrequest.h
uint256.cpp
uint256.h Merge bitcoin/bitcoin#27927: util: Allow std::byte and char Span serialization 2023-06-28 15:12:12 -04:00
undo.h Include version.h in fewer places 2023-11-16 11:36:22 +10:00
validation.cpp Merge bitcoin/bitcoin#28791: snapshots: don't core dump when running -checkblockindex after `loadtxoutset` 2024-01-16 15:02:53 -05:00
validation.h Merge bitcoin/bitcoin#26762: bugfix: Make `CCheckQueue` RAII-styled (attempt 2) 2023-11-30 14:28:46 -05:00
validationinterface.cpp CValidationInterface: modify the parameter of `TransactionAddedToMempool` 2023-11-22 11:48:21 +01:00
validationinterface.h doc: fix typo and update incorrect comment 2024-01-02 12:40:11 +01:00
versionbits.cpp
versionbits.h
walletinitinterface.h
warnings.cpp refactor: Move system from util to common library 2023-05-20 12:08:13 +02:00
warnings.h