bitcoin/src
Pieter Wuille 64f69ec8c3 txgraph: Make max cluster count configurable and "oversize" state (feature)
Instead of leaving the responsibility on higher layers to guarantee that
no connected component within TxGraph (a barely exposed concept, except through
GetCluster()) exceeds the cluster count limit, move this responsibility to
TxGraph itself:
* TxGraph retains a cluster count limit, but it becomes configurable at construction
  time (this primarily helps with testing that it is properly enforced).
* It is always allowed to perform mutators on TxGraph, even if they would cause the
  cluster count limit to be exceeded. Instead, TxGraph exposes an IsOversized()
  function, which queries whether it is in a special "oversize" state.
* During oversize state, many inspectors are unavailable, but mutators remain valid,
  so the higher layer can "fix" the oversize state before continuing.
2025-03-24 10:01:51 -04:00
..
bench scripted-diff: (refactor) ClusterIndex -> DepGraphIndex 2025-03-24 09:34:54 -04:00
common scripted-diff: Bump copyright headers after std::span changes 2025-03-12 19:46:54 +01:00
compat netbase: refactor CreateSock() to accept sa_family_t 2024-03-01 13:13:07 -05:00
consensus Remove checkpoints 2025-03-13 11:13:13 +00:00
crc32c Update crc32c subtree to latest upstream master 2024-02-27 18:28:19 +00:00
crypto scripted-diff: Bump copyright headers after std::span changes 2025-03-12 19:46:54 +01:00
index scripted-diff: rename block and undo functions for consistency 2025-01-09 15:17:02 +01:00
init refactor: Avoid using IsArgSet() on -debug, -loglevel, and -vbparams list options 2025-02-13 12:30:15 -05:00
interfaces Merge bitcoin/bitcoin#31904: refactor: modernize outdated trait patterns using helper aliases (C++14/C++17) 2025-03-17 13:10:10 +08:00
ipc Add waitNext() to BlockTemplate interface 2025-02-19 17:20:57 +01:00
kernel Merge bitcoin/bitcoin#31910: qa: fix an off-by-one in utxo snapshot fuzz target and sanity check its snapshot data 2025-03-21 16:46:54 +08:00
leveldb Update leveldb subtree to latest upstream 2025-03-17 15:59:05 +08:00
logging scripted-diff: modernize outdated trait patterns - values 2025-02-21 10:43:01 +01:00
minisketch Update minisketch subtree to latest master 2025-03-05 15:36:56 +00:00
node Remove checkpoints 2025-03-13 11:13:13 +00:00
policy scripted-diff: Bump copyright headers after std::span changes 2025-03-12 19:46:54 +01:00
primitives tidy: modernize-use-equals-default 2024-07-08 11:12:01 +02:00
qt qt: doc: adapt outdated binary paths to CMake changes 2025-03-16 17:15:04 +01:00
rpc Merge bitcoin/bitcoin#31519: refactor: Use std::span over Span 2025-03-20 13:41:54 +08:00
script Merge bitcoin/bitcoin#31519: refactor: Use std::span over Span 2025-03-20 13:41:54 +08:00
secp256k1 Update secp256k1 subtree to v0.6.0 2024-11-04 14:59:46 -05:00
support util: Add missing types in make_secure_unique 2024-12-10 21:51:48 +01:00
test txgraph: Make max cluster count configurable and "oversize" state (feature) 2025-03-24 10:01:51 -04:00
univalue Merge bitcoin/bitcoin#31904: refactor: modernize outdated trait patterns using helper aliases (C++14/C++17) 2025-03-17 13:10:10 +08:00
util feefrac: Introduce tagged wrappers to distinguish vsize/WU rates 2025-03-24 09:34:54 -04:00
wallet Merge bitcoin/bitcoin#31870: fuzz: split coinselection harness 2025-03-21 18:40:09 +08:00
zmq cmake: Add FindZeroMQ module 2024-10-25 18:09:36 +01:00
.clang-format refactor: Print verbose serialize compiler error messages 2023-12-15 15:20:54 +01:00
.clang-tidy tidy: add clang-tidy modernize-use-starts-ends-with check 2024-09-14 20:33:32 +03:00
addrdb.cpp scripted-diff: Rename PACKAGE_* variables to CLIENT_* 2024-10-28 12:36:19 +00:00
addrdb.h
addresstype.cpp policy: Add OP_1 <0x4e73> as a standard output type 2024-07-30 14:06:58 -04:00
addresstype.h policy: Add OP_1 <0x4e73> as a standard output type 2024-07-30 14:06:58 -04:00
addrman.cpp addrman: cap the max_pct to not exceed the maximum number of addresses 2024-11-11 12:47:53 -03:00
addrman.h addrman: cap the max_pct to not exceed the maximum number of addresses 2024-11-11 12:47:53 -03:00
addrman_impl.h Merge bitcoin/bitcoin#30568: addrman: change internal id counting to int64_t 2024-09-20 12:55:22 -04:00
arith_uint256.cpp Add a fuzz test for Num3072 multiplication and inversion 2025-01-09 10:11:46 -05:00
arith_uint256.h doc: Clarify comments about endianness after #30526 2025-01-03 09:19:53 -05:00
attributes.h
banman.cpp refactor: Delay translation of _() literals 2025-01-14 19:21:37 +01:00
banman.h doc: banman: reference past vuln due to unbounded banlist 2025-02-12 15:10:28 -05:00
base58.cpp scripted-diff: Bump copyright headers after std::span changes 2025-03-12 19:46:54 +01:00
base58.h scripted-diff: Bump copyright headers after std::span changes 2025-03-12 19:46:54 +01:00
bech32.cpp Split out bech32 separator char to header 2024-10-19 18:49:53 +02:00
bech32.h Split out bech32 separator char to header 2024-10-19 18:49:53 +02:00
bip324.cpp scripted-diff: Bump copyright headers after std::span changes 2025-03-12 19:46:54 +01:00
bip324.h scripted-diff: Bump copyright headers after std::span changes 2025-03-12 19:46:54 +01:00
bitcoin-chainstate.cpp Remove checkpoints 2025-03-13 11:13:13 +00:00
bitcoin-cli-res.rc scripted-diff: Rename PACKAGE_* variables to CLIENT_* 2024-10-28 12:36:19 +00:00
bitcoin-cli.cpp cli, bugfix: for -getinfo, replace IsArgSet() with GetBoolArg() 2025-03-12 14:33:45 -06:00
bitcoin-tx-res.rc scripted-diff: Rename PACKAGE_* variables to CLIENT_* 2024-10-28 12:36:19 +00:00
bitcoin-tx.cpp refactor: Use TranslateFn type consistently 2025-01-15 12:15:40 +01:00
bitcoin-util-res.rc scripted-diff: Rename PACKAGE_* variables to CLIENT_* 2024-10-28 12:36:19 +00:00
bitcoin-util.cpp refactor: Use TranslateFn type consistently 2025-01-15 12:15:40 +01:00
bitcoin-wallet-res.rc scripted-diff: Rename PACKAGE_* variables to CLIENT_* 2024-10-28 12:36:19 +00:00
bitcoin-wallet.cpp refactor: Use TranslateFn type consistently 2025-01-15 12:15:40 +01:00
bitcoind-res.rc scripted-diff: Rename PACKAGE_* variables to CLIENT_* 2024-10-28 12:36:19 +00:00
bitcoind.cpp refactor: introduce a more general LockDirectories for init 2025-01-16 21:06:21 +00:00
blockencodings.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
blockencodings.h tidy: modernize-use-equals-default 2024-07-08 11:12:01 +02:00
blockfilter.cpp util: Move util/string.h functions to util namespace 2024-05-16 10:16:08 -05:00
blockfilter.h
chain.cpp
chain.h Remove checkpoints 2025-03-13 11:13:13 +00:00
chainparams.cpp refactor: Avoid using IsArgSet() on -signetseednode and -signetchallenge list options 2025-02-13 12:30:15 -05:00
chainparams.h
chainparamsbase.cpp net, init: derive default onion port if a user specified a -port 2024-11-14 13:41:02 -05:00
chainparamsbase.h net, init: derive default onion port if a user specified a -port 2024-11-14 13:41:02 -05:00
chainparamsseeds.h seeds: update fixed dns seeds 2025-03-06 15:39:58 -06:00
checkqueue.h Merge bitcoin/bitcoin#31313: refactor: Clamp worker threads in ChainstateManager constructor 2024-12-03 18:02:37 -05:00
clientversion.cpp refactor: Delay translation of _() literals 2025-01-14 19:21:37 +01:00
clientversion.h scripted-diff: Clarify "user agent" variable name 2024-10-28 12:35:49 +00:00
cluster_linearize.h scripted-diff: (refactor) ClusterIndex -> DepGraphIndex 2025-03-24 09:34:54 -04:00
CMakeLists.txt txgraph: Add initial version (feature) 2025-03-24 09:49:46 -04:00
coins.cpp Merge bitcoin/bitcoin#30906: refactor: prohibit direct flags access in CCoinsCacheEntry and remove invalid tests 2024-12-04 14:09:05 -05:00
coins.h coins, refactor: Remove direct GetFlags access 2024-12-02 13:52:34 +01:00
compressor.cpp
compressor.h scripted-diff: Bump copyright headers after std::span changes 2025-03-12 19:46:54 +01:00
core_io.h rpc: add getdescriptoractivity 2024-11-26 20:47:08 -05:00
core_memusage.h
core_read.cpp ci: Update Clang in "tidy" job 2024-12-05 14:37:47 +00:00
core_write.cpp refactor: Rename CTransaction::nVersion to version 2024-06-07 13:55:23 -04:00
cuckoocache.h validation: Don't error if maxsigcachesize exceeds uint32::max 2024-07-04 22:35:29 +02:00
dbwrapper.cpp scripted-diff: Bump copyright headers after std::span changes 2025-03-12 19:46:54 +01:00
dbwrapper.h scripted-diff: Bump copyright headers after std::span changes 2025-03-12 19:46:54 +01:00
deploymentinfo.cpp
deploymentinfo.h
deploymentstatus.cpp scripted-diff: modernize outdated trait patterns - types 2025-02-21 10:41:27 +01:00
deploymentstatus.h
dummywallet.cpp wallet, test: Be able to always swap BDB endianness 2024-05-16 15:03:13 -04:00
external_signer.cpp refactor: Remove Span operator==, Use std::ranges::equal 2024-08-13 07:44:31 +02:00
external_signer.h
flatfile.cpp scripted-diff: LogPrint -> LogDebug 2024-08-29 13:49:57 +02:00
flatfile.h refactor: Add FlatFileSeq member variables in BlockManager 2024-07-24 09:39:35 +02:00
hash.cpp scripted-diff: Bump copyright headers after std::span changes 2025-03-12 19:46:54 +01:00
hash.h scripted-diff: Bump copyright headers after std::span changes 2025-03-12 19:46:54 +01:00
headerssync.cpp [headerssync] update headerssync config for v29 2025-03-04 14:23:18 -05:00
headerssync.h tidy: modernize-use-equals-default 2024-07-08 11:12:01 +02:00
httprpc.cpp Fix nonsensical -norpcwhitelist behavior 2025-02-13 12:30:15 -05:00
httprpc.h
httpserver.cpp Fix nonsensical -norpcbind and -norpcallowip behavior 2025-02-13 12:30:15 -05:00
httpserver.h rpc: increase the defaults for -rpcthreads and -rpcworkqueue 2024-11-04 17:08:21 +01:00
i2p.cpp refactor: Avoid false-positive gcc warning 2025-03-12 19:47:01 +01:00
i2p.h i2p: log errors properly according to their severity 2024-06-12 16:19:50 -03:00
indirectmap.h
init.cpp Remove checkpoints 2025-03-13 11:13:13 +00:00
init.h refactor: introduce a more general LockDirectories for init 2025-01-16 21:06:21 +00:00
key.cpp scripted-diff: Bump copyright headers after std::span changes 2025-03-12 19:46:54 +01:00
key.h scripted-diff: Bump copyright headers after std::span changes 2025-03-12 19:46:54 +01:00
key_io.cpp key: clear out secret data in DecodeExtKey 2024-10-27 15:38:54 +01:00
key_io.h
logging.cpp log: Enforce trailing newline, Remove redundant m_started_new_line 2024-10-01 11:31:39 +02:00
logging.h log: Enforce trailing newline, Remove redundant m_started_new_line 2024-10-01 11:31:39 +02:00
mapport.cpp mapport: make ProcessPCP void 2024-11-04 14:19:40 -05:00
mapport.h mapport: rename 'use_pcp' to 'enable' 2024-10-29 11:58:51 -04:00
memusage.h memusage: Add DynamicUsage for std::string 2024-11-04 18:46:40 +01:00
merkleblock.cpp [clang-tidy] Enable the misc-no-recursion check 2024-04-07 14:04:45 +01:00
merkleblock.h tidy: modernize-use-equals-default 2024-07-08 11:12:01 +02:00
net.cpp Merge bitcoin/bitcoin#30538: Doc: add a comment referencing past vulnerability next to where it was fixed 2025-03-23 11:12:33 -04:00
net.h scripted-diff: Bump copyright headers after std::span changes 2025-03-12 19:46:54 +01:00
net_permissions.cpp util: move fees.h and error.h to common/messages.h 2024-05-16 10:16:08 -05:00
net_permissions.h scripted-diff: modernize outdated trait patterns - types 2025-02-21 10:41:27 +01:00
net_processing.cpp Merge bitcoin/bitcoin#30538: Doc: add a comment referencing past vulnerability next to where it was fixed 2025-03-23 11:12:33 -04:00
net_processing.h net: add GetOrphanTransactions() to PeerManager 2024-10-01 21:55:18 -04:00
net_types.cpp rpc: avoid copying into UniValue 2024-05-20 16:48:19 +00:00
net_types.h tidy: modernize-use-equals-default 2024-07-08 11:12:01 +02:00
netaddress.cpp scripted-diff: Bump copyright headers after std::span changes 2025-03-12 19:46:54 +01:00
netaddress.h scripted-diff: Bump copyright headers after std::span changes 2025-03-12 19:46:54 +01:00
netbase.cpp scripted-diff: drop config/ subdir for bitcoin-config.h, rename to bitcoin-build-config.h 2024-10-10 12:22:12 +02:00
netbase.h scripted-diff: modernize outdated trait patterns - types 2025-02-21 10:41:27 +01:00
netgroup.cpp
netgroup.h
netmessagemaker.h
noui.cpp node: Use log levels in noui_ThreadSafeMessageBox 2024-03-21 16:41:16 +01:00
noui.h
outputtype.cpp fix incorrect multisig redeem script size limit for segwit 2024-05-03 14:20:44 -03:00
outputtype.h fix incorrect multisig redeem script size limit for segwit 2024-05-03 14:20:44 -03:00
pow.cpp consensus: add DeriveTarget() to pow.h 2025-01-22 11:29:05 +01:00
pow.h consensus: add DeriveTarget() to pow.h 2025-01-22 11:29:05 +01:00
prevector.h prevector: avoid GCC bogus warnings in insert method 2024-09-11 17:41:26 +02:00
protocol.cpp scripted-diff: get rid of remaining "command" terminology in protocol.{h,cpp} 2024-10-26 23:44:15 +02:00
protocol.h scripted-diff: get rid of remaining "command" terminology in protocol.{h,cpp} 2024-10-26 23:44:15 +02:00
psbt.cpp scripted-diff: Bump copyright headers after std::span changes 2025-03-12 19:46:54 +01:00
psbt.h scripted-diff: Bump copyright headers after std::span changes 2025-03-12 19:46:54 +01:00
pubkey.cpp scripted-diff: Bump copyright headers after std::span changes 2025-03-12 19:46:54 +01:00
pubkey.h scripted-diff: Bump copyright headers after std::span changes 2025-03-12 19:46:54 +01:00
random.cpp scripted-diff: Bump copyright headers after std::span changes 2025-03-12 19:46:54 +01:00
random.h Merge bitcoin/bitcoin#31519: refactor: Use std::span over Span 2025-03-20 13:41:54 +08:00
randomenv.cpp refactor: modernize remaining outdated trait patterns 2025-02-21 10:43:41 +01:00
randomenv.h
rest.cpp Merge bitcoin/bitcoin#31583: rpc: add target to getmininginfo field and show next block info 2025-01-22 15:01:23 -05:00
rest.h
scheduler.cpp scripted-diff: Rename SingleThreadedSchedulerClient to SerialTaskRunner 2024-02-15 14:43:14 +01:00
scheduler.h kernel: Remove dependency on CScheduler 2024-02-16 17:12:52 +01:00
serialize.h Merge bitcoin/bitcoin#31519: refactor: Use std::span over Span 2025-03-20 13:41:54 +08:00
signet.cpp scripted-diff: Bump copyright headers after std::span changes 2025-03-12 19:46:54 +01:00
signet.h
span.h scripted-diff: Bump copyright headers after std::span changes 2025-03-12 19:46:54 +01:00
streams.cpp scripted-diff: Use std::span over Span 2025-03-12 19:45:37 +01:00
streams.h scripted-diff: Bump copyright headers after std::span changes 2025-03-12 19:46:54 +01:00
sync.cpp scripted-diff: modernize outdated trait patterns - values 2025-02-21 10:43:01 +01:00
sync.h tidy: modernize-use-equals-default 2024-07-08 11:12:01 +02:00
threadsafety.h tidy: modernize-use-equals-default 2024-07-08 11:12:01 +02:00
tinyformat.h refactor: Introduce struct to hold a runtime format string 2025-01-15 12:16:08 +01:00
torcontrol.cpp torcontrol: Limit reconnect timeout to max seconds and log delay in whole seconds 2025-03-05 11:42:07 +08:00
torcontrol.h net, init: derive default onion port if a user specified a -port 2024-11-14 13:41:02 -05:00
txdb.cpp refactor: Rely on returned value of GetCoin instead of parameter 2024-09-18 20:03:47 +02:00
txdb.h kernel: Move default cache constants to caches 2025-01-15 15:44:55 +01:00
txgraph.cpp txgraph: Make max cluster count configurable and "oversize" state (feature) 2025-03-24 10:01:51 -04:00
txgraph.h txgraph: Make max cluster count configurable and "oversize" state (feature) 2025-03-24 10:01:51 -04:00
txmempool.cpp txmempool: fix typos in comments 2024-12-31 00:04:20 -03:00
txmempool.h txmempool: fix typos in comments 2024-12-31 00:04:20 -03:00
txorphanage.cpp [fuzz] TxOrphanage::SanityCheck accounting 2025-02-07 13:55:57 -05:00
txorphanage.h [fuzz] TxOrphanage::SanityCheck accounting 2025-02-07 13:55:57 -05:00
txrequest.cpp [refactor] make GetCandidatePeers take uint256 and in-out vector 2025-01-29 18:05:16 -05:00
txrequest.h doc: txrequest: point to past censorship vulnerability in tx re-request handling 2025-02-12 15:10:28 -05:00
uint256.cpp scripted-diff: Rename SetHex to SetHexDeprecated 2024-07-24 09:15:34 +02:00
uint256.h scripted-diff: Use std::span over Span 2025-03-12 19:45:37 +01:00
undo.h
validation.cpp Merge bitcoin/bitcoin#30538: Doc: add a comment referencing past vulnerability next to where it was fixed 2025-03-23 11:12:33 -04:00
validation.h refactor: Replace uint256 type with Wtxid in PackageMempoolAcceptResult struct 2025-03-11 16:00:54 +00:00
validationinterface.cpp refactor: include the proper header rather than forward-declaring RemovalReasonToString 2024-10-08 15:25:47 +00:00
validationinterface.h [refactor] change ActiveTipChange to use CBlockIndex ref instead of ptr 2024-07-25 11:01:22 +01:00
versionbits.cpp
versionbits.h
walletinitinterface.h tidy: modernize-use-equals-default 2024-07-08 11:12:01 +02:00