bitcoin/src
furszy 9f36e591c5
net: move state dependent peer services flags
No behavior change. Just an intermediate refactoring.

By relocating the peer desirable services flags into the peer
manager, we allow the connections acceptance process to handle
post-IBD potential stalling scenarios.

In the follow-up commit(s), the desirable service flags will be
dynamically adjusted to detect post-IBD stalling scenarios (such
as a +48-hour inactive node that must prefer full node connections
instead of limited peer connections because they cannot provide
historical blocks). Additionally, this encapsulation enable us
to customize the connections decision-making process based on
new user's configurations in the future.
2024-01-15 10:28:20 -03:00
..
bench Merge bitcoin/bitcoin#29040: refactor: Remove pre-C++20 code, fs::path cleanup 2023-12-14 16:46:54 -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 Update crc32c subtree to latest upstream master 2022-08-13 13:55:38 +01:00
crypto Add ability to specify SHA256 implementation for benchmark purposes 2023-09-20 21:11:55 +01:00
index refactor: Remove calls to StartShutdown from KernelNotifications 2023-12-04 15:39:15 -04:00
init refactor: Add InitContext function to initialize NodeContext with global pointers 2023-12-04 15:39:15 -04:00
interfaces wallet, mempool: propagete checkChainLimits error message to wallet 2023-12-17 21:13:44 +01:00
ipc refactor: Move system from util to common library 2023-05-20 12:08:13 +02:00
kernel Get rid of shutdown.cpp/shutdown.h, use SignalInterrupt directly 2023-12-04 15:39:15 -04:00
leveldb Update leveldb-subtree subtree to latest upstream 2022-09-29 16:43:30 +01:00
logging Use steady clock for logging timer 2023-01-31 18:48:50 +01:00
minisketch Update minisketch subtree to latest upstream 2022-10-23 15:03:04 +01:00
node wallet, mempool: propagete checkChainLimits error message to wallet 2023-12-17 21:13:44 +01:00
policy tx fees, policy: CBlockPolicyEstimator update from CValidationInterface notifications 2023-11-22 11:48:21 +01:00
primitives Merge bitcoin/bitcoin#28766: Improve peformance of CTransaction::HasWitness (28107 follow-up) 2023-11-28 08:44:41 -05:00
qt Merge bitcoin/bitcoin#29040: refactor: Remove pre-C++20 code, fs::path cleanup 2023-12-14 16:46:54 -05:00
rpc Merge bitcoin/bitcoin#29040: refactor: Remove pre-C++20 code, fs::path cleanup 2023-12-14 16:46:54 -05:00
script Fix IWYU for the script_flags fuzz target 2023-11-23 17:57:53 +01:00
secp256k1 Update secp256k1 subtree to upstream release 0.4.0 2023-09-04 12:51:20 -04:00
support pool: make sure PoolAllocator uses the correct alignment 2023-11-19 18:43:29 +01:00
test net: move state dependent peer services flags 2024-01-15 10:28:20 -03:00
univalue Remove unused raw-pointer read helper from univalue 2023-07-27 14:24:52 +02:00
util Merge bitcoin/bitcoin#29040: refactor: Remove pre-C++20 code, fs::path cleanup 2023-12-14 16:46:54 -05:00
wallet wallet, mempool: propagete checkChainLimits error message to wallet 2023-12-17 21:13:44 +01:00
zmq CValidationInterface: modify the parameter of TransactionAddedToMempool 2023-11-22 11:48:21 +01:00
.bear-tidy-config tidy: modernize-use-emplace 2023-10-12 11:27:19 +02:00
.clang-format build: Require C++20 compiler 2023-12-07 11:05:33 +01:00
.clang-tidy refactor: Fix bugprone-string-constructor warning 2023-10-30 14:59:17 +01:00
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 Merge bitcoin/bitcoin#27581: net: Continuous ASMap health check 2023-12-06 11:22:42 -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 scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
base58.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
bech32.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
bech32.h Make Bech32 LocateErrors return error list rather than using out-arg 2021-12-06 14:17:41 +13:00
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 refactor: Move system from util to common library 2023-05-20 12:08:13 +02: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 scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
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 scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
clientversion.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
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 scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
core_io.h Use ParamsWrapper for witness serialization 2023-11-14 08:45:30 +10:00
core_memusage.h
core_read.cpp Include version.h in fewer places 2023-11-16 11:36:22 +10:00
core_write.cpp Use ParamsWrapper for witness serialization 2023-11-14 08:45:30 +10:00
cuckoocache.h clang-tidy: Fix modernize-use-default-member-init in headers 2023-01-31 11:50:10 +00:00
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 scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
deploymentstatus.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
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 scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00: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 [headerssync] Make m_commit_offset protected 2022-12-12 21:06:04 +00:00
httprpc.cpp refactor: drop protocol.h include header in rpc/util.h 2023-09-19 15:54:17 -06:00
httprpc.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
httpserver.cpp refactor: Remove call to ShutdownRequested from HTTPRequest 2023-12-04 15:39:15 -04:00
httpserver.h refactor: Remove call to ShutdownRequested from HTTPRequest 2023-12-04 15:39:15 -04:00
i2p.cpp Merge bitcoin/bitcoin#28695: net: Sanity check private keys received from SAM proxy 2023-10-30 14:44:40 +01: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 net: store best block tip time inside PeerManager 2024-01-15 10:28:20 -03:00
init.h Get rid of shutdown.cpp/shutdown.h, use SignalInterrupt directly 2023-12-04 15:39:15 -04:00
key.cpp key: don't allocate secure mem for null (invalid) key 2023-09-27 15:05:26 -04:00
key.h key: don't allocate secure mem for null (invalid) key 2023-09-27 15:05:26 -04:00
key_io.cpp Merge bitcoin/bitcoin#28246: wallet: Use CTxDestination in CRecipient instead of just scriptPubKey 2023-09-19 16:48:43 +00:00
key_io.h Clean up things that include script/standard.h 2023-08-14 17:38:27 -04:00
logging.cpp [log] add category TXPACKAGES for orphanage and package relay 2023-08-29 16:41:22 +01:00
logging.h [log] add category TXPACKAGES for orphanage and package relay 2023-08-29 16:41:22 +01:00
Makefile.am Merge bitcoin/bitcoin#28051: Get rid of shutdown.cpp/shutdown.h, use SignalInterrupt directly 2023-12-14 15:14:00 -05:00
Makefile.bench.include bench: add benchmark for wallet creation procedure 2023-11-16 11:27:17 -03:00
Makefile.crc32c.include build: Create .la library for crc32c 2022-04-26 16:25:38 -04:00
Makefile.leveldb.include Use more specific path when including memenv.h header 2022-06-23 15:33:01 +02:00
Makefile.minisketch.include build: Build minisketch test in make check, not in make 2022-07-21 10:42:09 +01:00
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 build: extract $(BOOST_CPPFLAGS) from $(BITCOIN_INCLUDES) 2022-09-13 17:15:17 +01:00
Makefile.test.include fuzz: add target for DescriptorScriptPubKeyMan 2023-11-20 15:57:56 -03: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
mapport.cpp Remove the syscall sandbox 2023-06-16 10:38:19 +01:00
mapport.h Remove configure-time setting of DEFAULT_UPNP 2023-01-28 15:24:13 +00:00
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 net: move state dependent peer services flags 2024-01-15 10:28:20 -03:00
net.h net: move state dependent peer services flags 2024-01-15 10:28:20 -03:00
net_permissions.cpp Merge bitcoin/bitcoin#26078: p2p: return CSubNet in LookupSubNet 2023-10-26 14:29:47 -04:00
net_permissions.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
net_processing.cpp net: move state dependent peer services flags 2024-01-15 10:28:20 -03:00
net_processing.h net: move state dependent peer services flags 2024-01-15 10:28:20 -03:00
net_types.cpp p2p: return CSubNet in LookupSubNet 2023-05-30 16:27:21 -03:00
net_types.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
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 scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
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 scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
pow.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
prevector.h util: implement prevector's move ctor & move assignment 2023-03-26 15:49:52 +02:00
protocol.cpp net: move state dependent peer services flags 2024-01-15 10:28:20 -03:00
protocol.h net: move state dependent peer services flags 2024-01-15 10:28:20 -03: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 pubkey: introduce a GetEvenCorrespondingCPubKey helper 2023-10-08 02:43:19 +02: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 scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
rest.cpp refactor: rpc: Pass CBlockIndex by reference instead of pointer 2023-12-07 12:05:21 +01:00
rest.h Handle query string when parsing data format 2022-03-10 12:01:53 +01:00
reverse_iterator.h doc: remove usages of C++11 2023-01-12 13:42:44 +00:00
scheduler.cpp Remove the syscall sandbox 2023-06-16 10:38:19 +01:00
scheduler.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
serialize.h Remove unused SER_NETWORK, SER_DISK 2023-11-30 11:28:17 +01:00
signet.cpp refactor: SpanReader without nVersion 2023-11-28 12:42:07 +01:00
signet.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
span.h span: Make Span template deduction guides work in SFINAE context 2023-10-20 10:30:16 -04: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: unpublish LocksHeld() which is used only in sync.cpp 2023-02-17 11:42:41 +01:00
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 scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
tinyformat.h clang-tidy: Fix modernize-use-default-member-init in headers 2023-01-31 11:50:10 +00:00
torcontrol.cpp doc: fix typos 2023-11-07 10:21:51 +09: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 wallet, mempool: propagete checkChainLimits error message to wallet 2023-12-17 21:13:44 +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 refactor: modernize the implementation of uint256.* 2022-12-10 14:34:44 -06:00
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 wallet, mempool: propagete checkChainLimits error message to wallet 2023-12-17 21:13:44 +01: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 CValidationInterface: modify the parameter of TransactionAddedToMempool 2023-11-22 11:48:21 +01:00
versionbits.cpp refactor: use braced init for integer constants instead of c style casts 2023-01-03 19:31:29 -06:00
versionbits.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
walletinitinterface.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
warnings.cpp refactor: Move system from util to common library 2023-05-20 12:08:13 +02:00
warnings.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00