From fa9e6d80d1c55f8b1bb2691bfd67e8c2b7189b38 Mon Sep 17 00:00:00 2001 From: dergoegge Date: Thu, 20 Apr 2023 13:13:11 +0200 Subject: [PATCH] [net processing] Move -txreconciliation to PeerManager::Options --- src/init.cpp | 1 - src/net_processing.cpp | 2 +- src/net_processing.h | 3 +++ src/node/peerman_args.cpp | 1 + src/node/txreconciliation.h | 2 -- 5 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/init.cpp b/src/init.cpp index 5f47b1c0f6f..997996ef12a 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -51,7 +51,6 @@ #include #include #include -#include #include #include #include diff --git a/src/net_processing.cpp b/src/net_processing.cpp index 4b7b114fa46..a1889ae2b5c 100644 --- a/src/net_processing.cpp +++ b/src/net_processing.cpp @@ -1826,7 +1826,7 @@ PeerManagerImpl::PeerManagerImpl(CConnman& connman, AddrMan& addrman, { // While Erlay support is incomplete, it must be enabled explicitly via -txreconciliation. // This argument can go away after Erlay support is complete. - if (gArgs.GetBoolArg("-txreconciliation", DEFAULT_TXRECONCILIATION_ENABLE)) { + if (opts.reconcile_txs) { m_txreconciliation = std::make_unique(TXRECONCILIATION_VERSION); } } diff --git a/src/net_processing.h b/src/net_processing.h index b88ed0c5554..87c65baf017 100644 --- a/src/net_processing.h +++ b/src/net_processing.h @@ -14,6 +14,8 @@ class CChainParams; class CTxMemPool; class ChainstateManager; +/** Whether transaction reconciliation protocol should be enabled by default. */ +static constexpr bool DEFAULT_TXRECONCILIATION_ENABLE{false}; /** Default for -maxorphantx, maximum number of orphan transactions kept in memory */ static const unsigned int DEFAULT_MAX_ORPHAN_TRANSACTIONS = 100; /** Default number of orphan+recently-replaced txn to keep around for block reconstruction */ @@ -46,6 +48,7 @@ public: struct Options { /** Whether this node is running in -blocksonly mode */ bool ignore_incoming_txs{DEFAULT_BLOCKSONLY}; + bool reconcile_txs{DEFAULT_TXRECONCILIATION_ENABLE}; }; static std::unique_ptr make(CConnman& connman, AddrMan& addrman, diff --git a/src/node/peerman_args.cpp b/src/node/peerman_args.cpp index b490d1d0796..b1242d0fdfe 100644 --- a/src/node/peerman_args.cpp +++ b/src/node/peerman_args.cpp @@ -7,6 +7,7 @@ namespace node { void ApplyArgsManOptions(const ArgsManager& argsman, PeerManager::Options& options) { + if(auto value{argsman.GetBoolArg("-txreconciliation")}) options.reconcile_txs = *value; } } // namespace node diff --git a/src/node/txreconciliation.h b/src/node/txreconciliation.h index 4591dd5df7c..3bbb0773664 100644 --- a/src/node/txreconciliation.h +++ b/src/node/txreconciliation.h @@ -11,8 +11,6 @@ #include #include -/** Whether transaction reconciliation protocol should be enabled by default. */ -static constexpr bool DEFAULT_TXRECONCILIATION_ENABLE{false}; /** Supported transaction reconciliation protocol version */ static constexpr uint32_t TXRECONCILIATION_VERSION{1};