bitcoin/src
glozow 77a36033b5
Merge bitcoin/bitcoin#26551: p2p: Track orphans by who provided them
c58c249a5b net_processing: indicate more work to do when orphans are ready to reconsider (Anthony Towns)
ecb0a3e425 net_processing: Don't process tx after processing orphans (Anthony Towns)
c583775706 net_processing: only process orphans before messages (Anthony Towns)
be2304676b txorphange: Drop redundant originator arg from GetTxToReconsider (Anthony Towns)
a4fe09973a txorphanage: index workset by originating peer (Anthony Towns)

Pull request description:

  We currently process orphans by assigning them to the peer that provided a missing parent; instead assign them to the peer that provided the orphan in the first place. This prevents a peer from being able to marginally delay another peer's transactions and also simplifies the internal API slightly. Because we're now associating orphan processing with the peer that provided the orphan originally, we no longer process orphans immediately after receiving the parent, but defer until a future call to `ProcessMessage`.

  Based on #26295

ACKs for top commit:
  naumenkogs:
    utACK c58c249a5b
  glozow:
    ACK c58c249a5b
  mzumsande:
    Code Review ACK c58c249a5b

Tree-SHA512: 3186c346f21e60440266a2a80a9d23d7b96071414e14b2b3bfe50457c04c18b1eab109c3d8c2a7726a6b10a2eda1f0512510a52c102da112820a26f5d96f12de
2023-01-26 10:36:18 +00:00
..
bench Merge bitcoin/bitcoin#26251: refactor: add kernel/cs_main.h 2023-01-16 13:44:56 +01:00
common scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
compat compat: use STDIN_FILENO over 0 2023-01-04 12:00:25 +00:00
config
consensus Merge bitcoin/bitcoin#26603: doc: CalculateSequenceLocks: prevHeights entries are set to 0, not removed 2023-01-04 18:07:31 +00:00
crc32c Update crc32c subtree to latest upstream master 2022-08-13 13:55:38 +01:00
crypto refactor: use braced init for integer constants instead of c style casts 2023-01-03 19:31:29 -06:00
index scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
init scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
interfaces Merge bitcoin/bitcoin#26752: wallet: Remove mempool_sequence from interface methods 2023-01-04 17:53:58 +00:00
ipc scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
kernel mempool: Don't share mempool with dbcache in blocksonly 2023-01-20 12:53:13 +00:00
leveldb Update leveldb-subtree subtree to latest upstream 2022-09-29 16:43:30 +01:00
logging scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
minisketch Update minisketch subtree to latest upstream 2022-10-23 15:03:04 +01:00
node Merge bitcoin/bitcoin#26251: refactor: add kernel/cs_main.h 2023-01-16 13:44:56 +01:00
policy Merge bitcoin/bitcoin#26289: Use util::Result in for calculating mempool ancestors 2023-01-03 16:30:55 -05:00
primitives scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
qt Merge bitcoin-core/gui#686: clang-tidy: Force checks for headers in src/qt 2023-01-17 09:54:56 +00:00
rpc Merge bitcoin/bitcoin#26929: rpc: Throw more user friendly arg type check error (1.5/2) 2023-01-25 15:25:49 +00:00
script Merge bitcoin/bitcoin#26707: clang-tidy: Fix performance-*move* warnings in headers 2023-01-24 16:28:08 +01:00
secp256k1 Update secp256k1 subtree to upstream libsecp256k1 version 0.2.0 2022-12-12 23:40:36 -05:00
support Add missing includes to fix gcc-13 compile error 2023-01-19 19:30:10 +01:00
test Merge bitcoin/bitcoin#26551: p2p: Track orphans by who provided them 2023-01-26 10:36:18 +00:00
univalue scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
util refactor: Remove c_str from util/check 2023-01-24 12:09:29 +01:00
wallet Merge bitcoin/bitcoin#26960: refactor: Remove c_str from util/check 2023-01-26 09:02:36 +01:00
zmq refactor: add kernel/cs_main.* 2023-01-05 09:05:14 +00:00
.bear-tidy-config
.clang-format
.clang-tidy refactor: Remove duplication of clang-tidy's check names 2023-01-17 15:40:29 +00:00
addrdb.cpp addrdb: Only call Serialize() once 2023-01-17 17:20:03 -05:00
addrdb.h
addrman.cpp addrdb: Only call Serialize() once 2023-01-17 17:20:03 -05:00
addrman.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
addrman_impl.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
arith_uint256.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
arith_uint256.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
attributes.h
banman.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
banman.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00: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
bitcoin-chainstate.cpp scripted-diff: rename CChainState -> Chainstate 2022-09-09 11:47:27 -04:00
bitcoin-cli-res.rc
bitcoin-cli.cpp Merge bitcoin/bitcoin#26328: doc: fix -netinfo relaytxes help 2023-01-11 16:39:11 +00:00
bitcoin-tx-res.rc
bitcoin-tx.cpp Merge bitcoin/bitcoin#26691: Update secp256k1 subtree to libsecp256k1 version 0.2.0 2023-01-13 09:40:57 +00:00
bitcoin-util-res.rc
bitcoin-util.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
bitcoin-wallet-res.rc
bitcoin-wallet.cpp Merge bitcoin/bitcoin#26691: Update secp256k1 subtree to libsecp256k1 version 0.2.0 2023-01-13 09:40:57 +00:00
bitcoind-res.rc
bitcoind.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
blockencodings.cpp [block encodings] Avoid fuzz blocking asserts in PartiallyDownloadedBlock 2023-01-23 17:18:35 +01:00
blockencodings.h [block encodings] Make CheckBlock mockable for PartiallyDownloadedBlock 2023-01-23 17:18:35 +01:00
blockfilter.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
blockfilter.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
chain.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
chain.h refactor: add kernel/cs_main.* 2023-01-05 09:05:14 +00:00
chainparams.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
chainparams.h
chainparamsbase.cpp
chainparamsbase.h
chainparamsseeds.h Merge bitcoin/bitcoin#25853: net: update testnet torv3 hardcoded seeds for 24.x 2022-09-09 10:07:39 +02:00
checkqueue.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00: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 scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
coins.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
compressor.cpp
compressor.h
core_io.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
core_memusage.h
core_read.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
core_write.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
cuckoocache.h refactor: use braced init for integer constants instead of c style casts 2023-01-03 19:31:29 -06:00
dbwrapper.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
dbwrapper.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
deploymentinfo.cpp
deploymentinfo.h
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
external_signer.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
external_signer.h
flatfile.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
flatfile.h
fs.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
fs.h clang-tidy: Fix performance-move-const-arg in headers 2023-01-18 15:47:06 +00:00
hash.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
hash.h hash: add HashedSourceWriter 2023-01-17 17:19:56 -05:00
headerssync.cpp Move headerssync logging to BCLog::NET 2022-08-30 12:09:04 -04:00
headerssync.h Track headers presync progress and log it 2022-08-29 08:10:35 -04:00
httprpc.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
httprpc.h
httpserver.cpp refactor: Make ThreadHTTP return void 2023-01-05 17:54:08 +00:00
httpserver.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
i2p.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
i2p.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
indirectmap.h
init.cpp Merge bitcoin/bitcoin#26829: init: Remove unnecessary sensitive flag from rpcbind 2023-01-25 15:32:41 +01:00
init.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
key.cpp Merge bitcoin/bitcoin#26691: Update secp256k1 subtree to libsecp256k1 version 0.2.0 2023-01-13 09:40:57 +00:00
key.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
key_io.cpp
key_io.h
logging.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
logging.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
Makefile.am build: move rpc/request from util lib to common 2023-01-17 11:02:08 +00:00
Makefile.bench.include Merge bitcoin/bitcoin#16981: Improve runtime performance of --reindex 2022-11-15 19:23:39 -05:00
Makefile.crc32c.include
Makefile.leveldb.include Use more specific path when including memenv.h header 2022-06-23 15:33:01 +02:00
Makefile.minisketch.include
Makefile.qt.include build: extract $(BOOST_CPPFLAGS) from $(BITCOIN_INCLUDES) 2022-09-13 17:15:17 +01:00
Makefile.qt_locale.include
Makefile.qttest.include build: extract $(BOOST_CPPFLAGS) from $(BITCOIN_INCLUDES) 2022-09-13 17:15:17 +01:00
Makefile.test.include [fuzz] Add PartiallyDownloadedBlock target 2023-01-23 17:29:41 +01:00
Makefile.test_fuzz.include [fuzz] Move ConsumeNetAddr to fuzz/util/net.h 2022-11-17 14:52:45 +00:00
Makefile.test_util.include refactor: unify test/util/wallet.h with wallet/test/util.h 2022-11-21 17:30:00 -03:00
Makefile.univalue.include
mapport.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
mapport.h
memusage.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
merkleblock.cpp
merkleblock.h
net.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
net.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
net_permissions.cpp
net_permissions.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
net_processing.cpp Merge bitcoin/bitcoin#26551: p2p: Track orphans by who provided them 2023-01-26 10:36:18 +00:00
net_processing.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
net_types.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
net_types.h
netaddress.cpp doc: net: fix link to onion address encoding scheme [ONIONADDRESS] 2023-01-10 14:23:27 +01:00
netaddress.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
netbase.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
netbase.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
netgroup.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
netgroup.h
netmessagemaker.h
noui.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
noui.h
outputtype.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
outputtype.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00: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 scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
protocol.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
protocol.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
psbt.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
psbt.h Merge bitcoin/bitcoin#25877: refactor: Do not use CScript for tapleaf scripts until the tapleaf version is known 2023-01-19 17:51:21 -05:00
pubkey.cpp Merge bitcoin/bitcoin#26691: Update secp256k1 subtree to libsecp256k1 version 0.2.0 2023-01-13 09:40:57 +00:00
pubkey.h Merge bitcoin/bitcoin#26691: Update secp256k1 subtree to libsecp256k1 version 0.2.0 2023-01-13 09:40:57 +00:00
random.cpp doc: remove usages of C++11 2023-01-12 13:42:44 +00:00
random.h doc: remove usages of C++11 2023-01-12 13:42:44 +00:00
randomenv.cpp Merge bitcoin/bitcoin#26826: refactor: remove windows-only compat.h usage in randomenv 2023-01-23 16:36:27 +01:00
randomenv.h
rest.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
rest.h
reverse_iterator.h doc: remove usages of C++11 2023-01-12 13:42:44 +00:00
scheduler.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
scheduler.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
serialize.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
shutdown.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
shutdown.h
signet.cpp
signet.h
span.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
streams.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
sync.cpp
sync.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
threadsafety.h
timedata.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
timedata.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
tinyformat.h clang-tidy: Fix modernize-use-nullptr in headers 2022-12-15 20:58:19 +00:00
torcontrol.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
torcontrol.h
txdb.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
txdb.h refactor: add kernel/cs_main.* 2023-01-05 09:05:14 +00:00
txmempool.cpp refactor: Work around Werror=free-nonheap-object in AssumeCalculateMemPoolAncestors 2023-01-05 19:48:14 +01:00
txmempool.h refactor: add kernel/cs_main.* 2023-01-05 09:05:14 +00:00
txorphanage.cpp Merge bitcoin/bitcoin#26551: p2p: Track orphans by who provided them 2023-01-26 10:36:18 +00:00
txorphanage.h Merge bitcoin/bitcoin#26551: p2p: Track orphans by who provided them 2023-01-26 10:36:18 +00:00
txrequest.cpp
txrequest.h
uint256.cpp
uint256.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
undo.h
validation.cpp Merge bitcoin/bitcoin#26251: refactor: add kernel/cs_main.h 2023-01-16 13:44:56 +01:00
validation.h Merge bitcoin/bitcoin#26251: refactor: add kernel/cs_main.h 2023-01-16 13:44:56 +01:00
validationinterface.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
validationinterface.h refactor: add kernel/cs_main.* 2023-01-05 09:05:14 +00:00
version.h
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 scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
warnings.h