Commit graph

226 commits

Author SHA1 Message Date
Byron Hambly
69492d27da
Merge 08ea835220 into merged_master (Bitcoin PR bitcoin/bitcoin#28583) 2025-08-07 10:05:15 +02:00
Byron Hambly
7fc909ab98
Merge e7b0004b37 into merged_master (Bitcoin PR bitcoin/bitcoin#27596)
ELEMENTS TODO assumeutxo for liquidv1
2025-08-06 14:33:15 +02:00
Byron Hambly
0aec781a49
Merge 459272d639 into merged_master (Bitcoin PR bitcoin/bitcoin#26152) 2025-08-01 09:39:10 +02:00
Byron Hambly
f95cdcb6d6 Merge 723f1c669f into merged_master (Bitcoin PR bitcoin/bitcoin#28218) 2025-07-04 21:40:54 +02:00
Byron Hambly
27a302a296 Merge a62f5ee86c into merged_master (Bitcoin PR bitcoin/bitcoin#27675) 2025-07-04 09:56:00 +02:00
Byron Hambly
5ee80641fe Merge b565485c24 into merged_master (Bitcoin PR bitcoin/bitcoin#28186) 2025-07-03 20:58:01 +02:00
Byron Hambly
e999ab6070 Merge caff95a023 into merged_master (Bitcoin PR bitcoin/bitcoin#27896) 2025-06-28 11:08:01 +02:00
Byron Hambly
30814e6064 Merge c92fd63886 into merged_master (Bitcoin PR bitcoin/bitcoin#27708) 2025-06-27 14:01:27 +02:00
Byron Hambly
3af56ffbe7 Merge 153a6882f4 into merged_master (Bitcoin PR bitcoin/bitcoin#27576) 2025-06-27 13:00:41 +02:00
Byron Hambly
b1d470027d Merge c2f2abd0a4 into merged_master (Bitcoin PR bitcoin/bitcoin#27125) 2025-06-20 10:46:05 +02:00
Byron Hambly
cbd7b123d9 Merge fc06881f13 into merged_master (Bitcoin PR bitcoin/bitcoin#27491) 2025-06-19 16:08:36 +02:00
Byron Hambly
5ac82e15a9 Merge 669af32632 into merged_master (Bitcoin PR bitcoin/bitcoin#27419) 2025-05-09 11:47:45 +02:00
Byron Hambly
e04de3e652 Merge 3963067555 into merged_master (Bitcoin PR bitcoin/bitcoin#26642) 2025-04-11 22:28:06 +02:00
Byron Hambly
59a4dcb178 Merge cbfbf46e57 into merged_master (Bitcoin PR bitcoin/bitcoin#25781) 2025-04-10 09:10:09 +02:00
Byron Hambly
28ddb39e46 Merge 40d0b0a524 into merged_master (Bitcoin PR bitcoin/bitcoin#27239) 2025-04-10 07:04:03 +02:00
Byron Hambly
a429c96e07 Merge 1bcabe6f2a into merged_master (Bitcoin PR bitcoin-core/gui#697) 2025-04-05 15:06:43 +02:00
Tom Trevethan
5b2b315520 Merge 9a288430df into merged_master (Bitcoin PR bitcoin/bitcoin#26900) 2025-04-04 14:21:48 +00:00
Tom Trevethan
147febdae3 Merge 65ecf24b5c into merged_master (Bitcoin PR bitcoin/bitcoin#26752) 2025-04-01 13:25:03 +00:00
Byron Hambly
80b3fcae86 Merge 80fc1af096 into merged_master (Bitcoin PR bitcoin/bitcoin#26289) 2025-04-01 09:10:14 +02:00
Byron Hambly
b4405ba453 Merge e9262ea32a into merged_master (Bitcoin PR bitcoin/bitcoin#26750) 2025-03-31 16:37:52 +02:00
Tom Trevethan
3f43afa4b9 Merge 7d51560003 into merged_master (Bitcoin PR bitcoin/bitcoin#26298) 2025-03-25 12:09:21 +00:00
Tom Trevethan
387af571cd Merge 1ff79292e3 into merged_master (Bitcoin PR bitcoin/bitcoin#26609) 2025-03-24 23:33:59 +00:00
Byron Hambly
da8b6f2f7f
Merge d0b1f613c2 into merged_master (Bitcoin PR bitcoin/bitcoin#17786) 2025-03-03 11:12:31 +02:00
Byron Hambly
ca0a68b350
Merge UP TO 551c8e9526 into merged_master (UP TO bitcoin/bitcoin#26349)
Includes FIXMEs for a few functional tests
2025-02-05 09:50:17 +02:00
Byron Hambly
8499b13762
lint: fix lint issues 2024-12-03 14:02:33 +02:00
Byron Hambly
54b236050d Merge e9035f867a into merged_master (Bitcoin PR bitcoin/bitcoin#25717)
The new minchainwork test was modified to use bitcoin regtest instead of
elements, which required a few changes and a FIXME.
2024-11-22 14:26:38 +02:00
Byron Hambly
12dbf6cb9d Merge f6fdedf850 into merged_master (Bitcoin PR bitcoin/bitcoin#25648) 2024-10-24 20:20:13 +02:00
Byron Hambly
f88268fb7c Merge da23320998 into merged_master (Bitcoin PR bitcoin/bitcoin#25651) 2024-10-24 14:21:48 +02:00
Byron Hambly
715350d30c Merge 1eedde157f into merged_master (Bitcoin PR bitcoin/bitcoin#25638) 2024-10-17 17:43:57 +02:00
Byron Hambly
2081703f71 Merge 92c8e1849d into merged_master (Bitcoin PR bitcoin/bitcoin#25494) 2024-10-17 17:06:13 +02:00
Byron Hambly
b81762fcb2 Merge 8d4a058ac4 into merged_master (Bitcoin PR bitcoin/bitcoin#23997) 2024-10-17 10:15:38 +02:00
James Dorfman
f6f9f6b155 Merge 7ba0850c49 into merged_master (Bitcoin PR bitcoin/bitcoin#25036) 2024-10-15 17:03:37 +00:00
James Dorfman
17851700b4 Merge e4e201dfd9 into merged_master (Bitcoin PR bitcoin/bitcoin#25290) 2024-09-19 18:56:19 +00:00
James Dorfman
c6fee1dac3 Merge 38c63e3683 into merged_master (Bitcoin PR bitcoin/bitcoin#25338) 2024-09-10 18:55:20 +00:00
James Dorfman
5c24574c48 Merge aac9c259b0 into merged_master (Bitcoin PR bitcoin/bitcoin#25065) 2024-09-09 16:46:26 +00:00
James Dorfman
8667ac6db7 Merge 2642dee136 into merged_master (Bitcoin PR bitcoin/bitcoin#15936) 2024-09-06 15:45:51 +00:00
James Dorfman
bfb0f5d1e1 Merge 640eb772e5 into merged_master (Bitcoin PR bitcoin/bitcoin#25064) 2024-08-13 21:57:29 +00:00
James Dorfman
66bc45020f Merge 4d0c00dffd into merged_master (Bitcoin PR bitcoin/bitcoin#25168) 2024-08-13 20:10:21 +00:00
James Dorfman
06a6044137 Merge 0de36941ec into merged_master (Bitcoin PR bitcoin/bitcoin#25153) 2024-08-13 06:00:38 +00:00
James Dorfman
d4aa6eba2f Merge dbdc83ae01 into merged_master (Bitcoin PR bitcoin/bitcoin#24909) 2024-08-01 18:03:20 +00:00
James Dorfman
847807539e Merge c5c4fb3182 into merged_master (Bitcoin PR bitcoin/bitcoin#24758) 2024-07-29 16:46:56 +00:00
James Dorfman
b3a377c2d0 Merge 0da559e02e into merged_master (Bitcoin PR bitcoin/bitcoin#24661) 2024-07-08 15:17:32 +00:00
Byron Hambly
fa21dc5b5d Merge 601bfc417d into merged_master (Bitcoin PR bitcoin/bitcoin#24515) 2023-10-16 10:58:18 +00:00
MarcoFalke
fa05a726c2
tidy: modernize-use-emplace 2023-10-12 11:27:19 +02:00
James O'Beirne
4d8f4dcb45 validation: pass ChainstateRole for validationinterface calls
This allows consumers to decide how to handle events from background or
assumedvalid chainstates.
2023-09-30 06:38:47 -04:00
glozow
c57889da66
[node] interface to get bump fees 2023-09-13 14:33:55 -04:00
Ryan Ofsky
94a98fbd1d assumeutxo cleanup: Move IsInitialBlockDownload & NotifyHeaderTip to ChainstateManager
This change makes IsInitialBlockDownload and NotifyHeaderTip functions no
longer tied to individual Chainstate objects. It makes them work with the
ChainstateManager object instead so code is simpler and it is no longer
possible to call them incorrectly with an inactive Chainstate.

This change also makes m_cached_finished_ibd caching easier to reason about,
because now there is only one cached value instead of two (for background and
snapshot chainstates) so the cached IBD state now no longer gets reset when a
snapshot is loaded.

There should be no change in behavior because these functions were always
called on the active ChainState objects.

These changes were discussed previously
https://github.com/bitcoin/bitcoin/pull/27746#discussion_r1246868905 and
https://github.com/bitcoin/bitcoin/pull/27746#discussion_r1237552792 as
possible followups for that PR.
2023-08-18 12:52:30 -04:00
fanquake
a62f5ee86c
Merge bitcoin/bitcoin#27675: p2p: Drop m_recently_announced_invs bloom filter
fb02ba3c5f mempool_entry: improve struct packing (Anthony Towns)
1a118062fb net_processing: Clean up INVENTORY_BROADCAST_MAX constants (Anthony Towns)
6fa49937e4 test: Check tx from disconnected block is immediately requestable (glozow)
e4ffabbffa net_processing: don't add txids to m_tx_inventory_known_filter (Anthony Towns)
6ec1809d33 net_processing: drop m_recently_announced_invs bloom filter (Anthony Towns)
a70beafdb2 validation: when adding txs due to a block reorg, allow immediate relay (Anthony Towns)
1e9684f39f mempool_entry: add mempool entry sequence number (Anthony Towns)

Pull request description:

  This PR replaces the `m_recently_announced_invs` bloom filter with a simple sequence number tracking the mempool state when we last considered sending an INV message to a node. This saves 33kB per peer (or more if we raise the rate at which we relay transactions over the network, in which case we would need to increase the size of the bloom filter proportionally).

  The philosophy here (compare with #18861 and #19109) is that we consider the rate limiting on INV messages to only be about saving bandwidth and not protecting privacy, and therefore after you receive an INV message, it's immediately fair game to request any transaction that was in the mempool at the time the INV message was sent. We likewise consider the BIP 133 feefilter and BIP 37 bloom filters to be bandwidth optimisations here, and treat transactions as requestable if they would have been announced without those filters. Given that philosophy, tracking the timestamp of the last INV message and comparing that against the mempool entry time allows removal of each of `m_recently_announced_invs`, `m_last_mempool_req` and `UNCONDITIONAL_RELAY_DELAY` and associated logic.

ACKs for top commit:
  naumenkogs:
    ACK fb02ba3c5f
  amitiuttarwar:
    review ACK fb02ba3c5f
  glozow:
    reACK fb02ba3c5f

Tree-SHA512: cbba5ee04c86df26b6057f3654c00a2b45ec94d354f4f157a769cecdaa0b509edaac02b3128afba39b023e82473fc5e28c915a787f84457ffe66638c6ac9c2d4
2023-08-17 10:52:06 +01:00
TheCharlatan
a5c2eb5748
refactor: Fix logging.h includes
These were uncovered as missing by the next commit.
2023-08-05 10:42:56 +02:00
Anthony Towns
1e9684f39f mempool_entry: add mempool entry sequence number 2023-08-03 13:42:45 +10:00