diff options
author | Andrew Chow <github@achow101.com> | 2023-07-27 11:22:24 -0400 |
---|---|---|
committer | Andrew Chow <github@achow101.com> | 2023-07-27 11:33:47 -0400 |
commit | 272c4f3f10410fcd70d4ac0ad68b6e01d1ea341b (patch) | |
tree | a377d5d513a0205587933f68e4c7fb092e3488e3 | |
parent | dfe2dc1d84436d4eae351612dbf0b92f032389be (diff) | |
parent | 8a3159728ae84cb8093e2e9fa5d2c2b0a7d545da (diff) | |
download | bitcoin-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.cpp | 12 | ||||
-rw-r--r-- | src/node/peerman_args.cpp | 2 |
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 |