aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Chow <github@achow101.com>2023-07-27 11:22:24 -0400
committerAndrew Chow <github@achow101.com>2023-07-27 11:33:47 -0400
commit272c4f3f10410fcd70d4ac0ad68b6e01d1ea341b (patch)
treea377d5d513a0205587933f68e4c7fb092e3488e3
parentdfe2dc1d84436d4eae351612dbf0b92f032389be (diff)
parent8a3159728ae84cb8093e2e9fa5d2c2b0a7d545da (diff)
downloadbitcoin-272c4f3f10410fcd70d4ac0ad68b6e01d1ea341b.tar.xz
Merge bitcoin/bitcoin#28148: refactor: consistently use ApplyArgsManOptions for PeerManager::Options
8a3159728ae84cb8093e2e9fa5d2c2b0a7d545da refactor: deduplicate ignores_incoming_txs (stickies-v) 5f41afcc46913dbd4b5f08e622c5f74cd1eb50a5 refactor: set ignore_incoming_txs in ApplyArgsManOptions (stickies-v) Pull request description: Consistently use `ApplyArgsManOptions` for `PeerManager::Options`, and initialize `PeerManager::Options` early to avoid reading `"-blocksonly"` twice. Suggested in https://github.com/bitcoin/bitcoin/pull/27499#discussion_r1268400386 and also requested in https://github.com/bitcoin/bitcoin/pull/27499#discussion_r1273346189. No behaviour change, but the [`TestingSetup`](https://github.com/bitcoin/bitcoin/blob/e35fb7bc48d360585b80d0c7f89ac5087c1d405e/src/test/util/setup_common.cpp#L255-L256) is now also able to access `"-blocksonly"`. ACKs for top commit: MarcoFalke: lgtm ACK 8a3159728ae84cb8093e2e9fa5d2c2b0a7d545da achow101: ACK 8a3159728ae84cb8093e2e9fa5d2c2b0a7d545da TheCharlatan: ACK 8a3159728ae84cb8093e2e9fa5d2c2b0a7d545da dergoegge: utACK 8a3159728ae84cb8093e2e9fa5d2c2b0a7d545da Tree-SHA512: 6cb489d79ac2a87e8faedb76c96973ab3fc597426f274a90a3ffd0bc5fe3f2b25db9c7ec2e55a0c806c2bcbc0fdded6e228adb43d2cd81f14fd6552863847698
-rw-r--r--src/init.cpp12
-rw-r--r--src/node/peerman_args.cpp2
2 files changed, 6 insertions, 8 deletions
diff --git a/src/init.cpp b/src/init.cpp
index 997996ef12..c11f100139 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -1168,7 +1168,9 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info)
fListen = args.GetBoolArg("-listen", DEFAULT_LISTEN);
fDiscover = args.GetBoolArg("-discover", true);
- const bool ignores_incoming_txs{args.GetBoolArg("-blocksonly", DEFAULT_BLOCKSONLY)};
+
+ PeerManager::Options peerman_opts{};
+ ApplyArgsManOptions(args, peerman_opts);
{
@@ -1216,7 +1218,7 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info)
assert(!node.fee_estimator);
// Don't initialize fee estimation with old data if we don't relay transactions,
// as they would never get updated.
- if (!ignores_incoming_txs) {
+ if (!peerman_opts.ignore_incoming_txs) {
bool read_stale_estimates = args.GetBoolArg("-acceptstalefeeestimates", DEFAULT_ACCEPT_STALE_FEE_ESTIMATES);
if (read_stale_estimates && (chainparams.GetChainType() != ChainType::REGTEST)) {
return InitError(strprintf(_("acceptstalefeeestimates is not supported on %s chain."), chainparams.GetChainTypeString()));
@@ -1539,12 +1541,6 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info)
ChainstateManager& chainman = *Assert(node.chainman);
-
- PeerManager::Options peerman_opts{
- .ignore_incoming_txs = ignores_incoming_txs,
- };
- ApplyArgsManOptions(args, peerman_opts);
-
assert(!node.peerman);
node.peerman = PeerManager::make(*node.connman, *node.addrman,
node.banman.get(), chainman,
diff --git a/src/node/peerman_args.cpp b/src/node/peerman_args.cpp
index e5868ead12..e0dcf21c33 100644
--- a/src/node/peerman_args.cpp
+++ b/src/node/peerman_args.cpp
@@ -18,6 +18,8 @@ void ApplyArgsManOptions(const ArgsManager& argsman, PeerManager::Options& optio
}
if (auto value{argsman.GetBoolArg("-capturemessages")}) options.capture_messages = *value;
+
+ if (auto value{argsman.GetBoolArg("-blocksonly")}) options.ignore_incoming_txs = *value;
}
} // namespace node