Commit graph

1258 commits

Author SHA1 Message Date
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
7fc66b1618 Merge cfda740b33 into merged_master (Bitcoin PR bitcoin/bitcoin#25174) 2024-11-22 10:06:47 +02:00
Byron Hambly
3fd262a515 Merge 0f35f4ddf4 into merged_master (Bitcoin PR bitcoin/bitcoin#25786) 2024-11-04 12:32:04 +02:00
Byron Hambly
793d471d13 Merge a75b7796b7 into merged_master (Bitcoin PR bitcoin/bitcoin#25077) 2024-11-03 16:10:34 +02:00
Byron Hambly
3aec1a9069 Merge 22d96d76ab into merged_master (Bitcoin PR bitcoin/bitcoin#25720) 2024-11-02 16:49:35 +02:00
Byron Hambly
5d174dc4d0 Merge e038605585 into merged_master (Bitcoin PR bitcoin/bitcoin#24662) 2024-10-25 12:07:59 +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
35cc1e213b Merge b1c8ea45c9 into merged_master (Bitcoin PR bitcoin/bitcoin#25683) 2024-10-24 12:20:41 +02:00
Byron Hambly
da5b3cf786 Merge 9ba73758c9 into merged_master (Bitcoin PR bitcoin/bitcoin#24697)
Also removes the redundant redeclaration of CheckMinimalPush from
interpreter.h that was moved to script.h in f4e289f384
2024-10-20 20:19:04 +02:00
Byron Hambly
299207b5d6 Merge 2bdce7f7ad into merged_master (Bitcoin PR bitcoin/bitcoin#25514)
Note I did manually run the trim headers functional test successfully on
this commit, since it touched some of trim headers code.
2024-10-17 10:44:56 +02:00
James Dorfman
3e5580265d Merge 8efa73e7ce into merged_master (Bitcoin PR bitcoin/bitcoin#25557) 2024-10-16 06:40:15 +00:00
James Dorfman
6e9f70937f Merge 87d012324a into merged_master (Bitcoin PR bitcoin/bitcoin#25454) 2024-10-09 18:16:23 +00:00
James Dorfman
61b0543ba7 Merge cdcc74bbcc into merged_master (Elements PR #1270) 2024-09-23 16:51:13 +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
438cb545b7 Merge 2364d17a31 into merged_master (Bitcoin PR bitcoin/bitcoin#25480) 2024-09-19 15:22:38 +00:00
James Dorfman
88a98fd4b3 Merge 2fe27029f5 into merged_master (Bitcoin PR bitcoin/bitcoin#25404) 2024-09-17 18:36:02 +00:00
James Dorfman
fb17f731bd Merge 50a3921c96 into merged_master (Bitcoin PR bitcoin/bitcoin#25144) 2024-09-16 06:44:24 +00:00
James Dorfman
1c386ceb80 Merge e05564d706 into merged_master (Bitcoin PR bitcoin/bitcoin#25446) 2024-09-16 05:06:26 +00:00
James Dorfman
fe8d041f9f Merge 489b587669 into merged_master (Bitcoin PR bitcoin/bitcoin#25215) 2024-09-10 20:19:35 +00:00
James Dorfman
115b62e5ec Merge ede9089096 into merged_master (Bitcoin PR bitcoin/bitcoin#25156) 2024-09-10 19:08:58 +00:00
James Dorfman
c472e94b84 Merge 8f3ab9a1b1 into merged_master (Bitcoin PR bitcoin/bitcoin#24931) 2024-09-09 21:13:17 +00:00
James Dorfman
caa3ef8844 Merge 2ab4a80480 into merged_master (Bitcoin PR bitcoin/bitcoin#25254)
This commit moved DEFAULT_MIN_RELAY_TX_FEE to a different file.
Please confirm that the new value is equal to the old one.
2024-09-09 18:21:18 +00:00
James Dorfman
033f17b1df Merge 00ce8543f1 into merged_master (Bitcoin PR bitcoin/bitcoin#24171)
Please review the changes to src/net_processing.cpp carefully, I'm not sure
if I adapted new IBD logic to work properly for elements.
2024-09-09 16:33:14 +00:00
James Dorfman
1aff5fa9e9 Merge 5f65afff9c into merged_master (Bitcoin PR bitcoin/bitcoin#24178) 2024-09-06 18:21:45 +00:00
James Dorfman
9cb0f04edb Merge aac99faa66 into merged_master (Bitcoin PR bitcoin/bitcoin#25175) 2024-08-13 20:39:38 +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
0e02561a73 Merge fdb82a30be into merged_master (Bitcoin PR bitcoin/bitcoin#25147) 2024-08-13 05:07:06 +00:00
James Dorfman
cef04ed2a5 Merge 986bae8e72 into merged_master (Bitcoin PR bitcoin/bitcoin#22778) 2024-08-13 04:41:52 +00:00
James Dorfman
57c149aa06 Merge 0be1dc1f56 into merged_master (Bitcoin PR bitcoin/bitcoin#24062) 2024-08-12 04:44:23 +00:00
James Dorfman
09739a82e2 Merge aa3200d896 into merged_master (Bitcoin PR bitcoin/bitcoin#25109) 2024-08-12 03:41:59 +00:00
James Dorfman
ab65a98a04 Merge dc0ee57373 into merged_master (Bitcoin PR bitcoin/bitcoin#20799) 2024-08-12 03:28:06 +00:00
James Dorfman
5854eae590 Merge 25dd4d8513 into merged_master (Bitcoin PR bitcoin/bitcoin#24595) 2024-08-12 02:29:42 +00:00
James Dorfman
7effbfd139 Merge a2a8e919ee into merged_master (Bitcoin PR bitcoin/bitcoin#24925) 2024-08-09 21:08:52 +00:00
James Dorfman
56ea06cc37 Merge 5d53cf3878 into merged_master (Bitcoin PR bitcoin/bitcoin#24543) 2024-08-08 19:37:59 +00:00
James Dorfman
e7759695ba Merge f0a834e2f1 into merged_master (Bitcoin PR bitcoin/bitcoin#18642) 2024-08-06 18:37:18 +00:00
James Dorfman
f86857195f Merge 43bb106613 into merged_master (Bitcoin PR bitcoin/bitcoin#24213) 2024-08-01 20:20:30 +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
b3a377c2d0 Merge 0da559e02e into merged_master (Bitcoin PR bitcoin/bitcoin#24661) 2024-07-08 15:17:32 +00:00
James Dorfman
9c1d4cc8ff Merge a4d7ac7bbe into merged_master (Elements PR #1317) 2024-05-24 16:13:46 +00:00
James Dorfman
e860ace1e4 Merge f089a0802c into merged_master (Bitcoin PR bitcoin/bitcoin#24692) 2024-05-23 23:51:34 +00:00
Pablo Greco
6367320f70 Restore NODE_NETWORK functionality with trim_headers 2024-05-21 05:34:30 +00:00
Byron Hambly
c85f0d4fda
discount: implement net processing 2024-05-14 19:03:36 +02:00
James Dorfman
363d930f8e Merge 9344697e57 into merged_master (Bitcoin PR bitcoin/bitcoin#21160) 2024-03-19 20:07:00 +00:00
Byron Hambly
9af9536b24 Merge 213e98ca82 into merged_master (Bitcoin PR bitcoin/bitcoin#24169) 2024-02-02 11:12:43 +02:00
Byron Hambly
6768c48aee Merge 6c72f3192a into merged_master (Bitcoin PR bitcoin/bitcoin#23880) 2023-10-16 12:54:38 +00:00
Byron Hambly
c1a9e05f44 Merge 384866e870 into merged_master (Bitcoin PR bitcoin/bitcoin#24427) 2023-10-13 08:48:05 +00:00
James Dorfman
0b913592b2 Merge f20016d1ab into merged_master (Elements PR #1252) 2023-08-29 04:36:30 +00:00
fanquake
624333455a
Merge bitcoin/bitcoin#26296: ci: Integrate bitcoin-tidy clang-tidy plugin
1c976c691c tidy: Integrate bicoin-tidy clang-tidy plugin (fanquake)
7de23cceb8 refactor: fix unterminated LogPrintf()s (fanquake)
0a1029aa29 lint: remove  /* Continued */ markers from codebase (fanquake)
910007995d lint: remove lint-logs.py (fanquake)
d86a83d6b8 lint: drop DIR_IWYU global (fanquake)

Pull request description:

  Demo of integrating the [bitcoin-tidy](https://github.com/theuni/bitcoin-tidy-plugin), [clang-tidy plugin](https://clang.llvm.org/extra/clang-tidy/) written by theuni into our tidy CI job.

  The plugin currently has a single check, `bitcoin-unterminated-logprintf`. This would replace our current Python driven, `git-grep`-based, `.cpp` file only, lint-logs linter.

ACKs for top commit:
  TheCharlatan:
    ACK 1c976c691c
  theuni:
    ACK 1c976c691c
  MarcoFalke:
    re-ACK 1c976c691c  👠

Tree-SHA512: 725b45c70e431d48e6f276671e05c694e10b6047cae1a31906ac3ee9093bc8105fb226b36a5bac6709557526ca6007222112d66aecec05a574434edc4897e4b8
2023-08-07 17:14:07 +02:00
fanquake
be44332803
Merge bitcoin/bitcoin#28191: refactor: Remove unused MessageStartChars parameters from BlockManager methods
fa69e3a95c Remove unused MessageStartChars parameters from BlockManager methods (MarcoFalke)

Pull request description:

  Seems odd to expose these for mocking, when it is not needed.

  Fix this by removing the the unused parameters and use the already existing member field instead.

ACKs for top commit:
  Empact:
    utACK fa69e3a95c
  dergoegge:
    utACK fa69e3a95c

Tree-SHA512: 7814e9560abba8d9c0926bcffc70f92e502d22f543af43671248f6fcd1433f35238553c0f05123fde6d8e0f80261af0ab0500927548115153bd68d57fe2da746
2023-08-07 10:57:39 +02:00
fanquake
b7138252ac
Merge bitcoin/bitcoin#27213: p2p: Diversify automatic outbound connections with respect to networks
1b52d16d07 p2p: network-specific management of outbound connections (Martin Zumsande)
65cff00cee test: Add test for outbound protection by network (Martin Zumsande)
034f61f83b p2p: Protect extra full outbound peers by network (Martin Zumsande)
654d9bc276 p2p: Introduce data struct to track connection counts by network (Amiti Uttarwar)

Pull request description:

  This is joint work with mzumsande.

  This is a proposal to diversify outbound connections with respect to reachable networks. The existing logic evaluates peers for connection based purely on the frequency of available addresses in `AddrMan`. This PR adds logic to automatically connect to alternate reachable networks and adds eviction logic that protects one existing connection to each network.

  For instance, if `AddrMan` is populated primarily with IPv4 and IPv6 addresses and only a handful of onion addresses, it is likely that we won't establish any automatic outbound connections to Tor, even if we're capable of doing so. For smaller networks like CJDNS, this is even more of an issue and often requires adding manual peers to ensure regularly being connected to the network.

  Connecting to multiple networks improves resistance to eclipse attacks for individual nodes. It also benefits the entire p2p network by increasing partition resistance and privacy in general.

  The automatic connections to alternate networks is done defensively, by first filling all outbound slots with random addresses (as in the status quo) and then adding additional peers from reachable networks the node is currently not connected to. This approach ensures that outbound slots are not left unfilled while attempting to connect to a network that may be unavailable due to a technical issue or misconfiguration that bitcoind cannot detect.

  Once an additional peer is added and we have one more outbound connection than we want, outbound eviction ensures that peers are protected if they are the only ones for their network.

  Manual connections are also taken into account: If a user already establishes manual connections to a trusted peer from a network, there is no longer a need to make extra efforts to ensure we also have an automatic connection to it (although this may of course happen by random selection).

ACKs for top commit:
  naumenkogs:
    ACK 1b52d16d07
  vasild:
    ACK 1b52d16d07

Tree-SHA512: 5616c038a5fbb868d4c46c5963cfd53e4599feee25db04b0e18da426d77d22e0994dc4e1da0b810f5b457f424ebbed3db1704f371aa6cad002b3565b20170ec0
2023-08-06 18:44:42 +02:00