diff --git a/src/interfaces/chain.cpp b/src/interfaces/chain.cpp index e568448564..4795e5b9d4 100644 --- a/src/interfaces/chain.cpp +++ b/src/interfaces/chain.cpp @@ -333,7 +333,6 @@ public: LOCK(cs_main); return ::fHavePruned; } - bool p2pEnabled() override { return m_node.connman != nullptr; } bool isReadyToBroadcast() override { return !::fImporting && !::fReindex && !::ChainstateActive().IsInitialBlockDownload(); } bool isInitialBlockDownload() override { return ::ChainstateActive().IsInitialBlockDownload(); } bool shutdownRequested() override { return ShutdownRequested(); } diff --git a/src/interfaces/chain.h b/src/interfaces/chain.h index 115db1e37d..1028208697 100644 --- a/src/interfaces/chain.h +++ b/src/interfaces/chain.h @@ -189,9 +189,6 @@ public: //! Check if any block has been pruned. virtual bool havePruned() = 0; - //! Check if p2p enabled. - virtual bool p2pEnabled() = 0; - //! Check if the node is ready to broadcast transactions. virtual bool isReadyToBroadcast() = 0; diff --git a/src/node/transaction.cpp b/src/node/transaction.cpp index e44ae99197..21d762c51d 100644 --- a/src/node/transaction.cpp +++ b/src/node/transaction.cpp @@ -17,6 +17,9 @@ TransactionError BroadcastTransaction(NodeContext& node, const CTransactionRef tx, std::string& err_string, const CAmount& max_tx_fee, bool relay, bool wait_callback, bool bypass_limits) { + // BroadcastTransaction can be called by either sendrawtransaction RPC or wallet RPCs. + // g_connman is assigned both before chain clients and before RPC server is accepting calls, + // and reset after chain clients and RPC sever are stopped. g_connman should never be null here. assert(node.connman); assert(node.mempool); std::promise promise; diff --git a/src/wallet/rpcwallet.cpp b/src/wallet/rpcwallet.cpp index 7bee95b7f8..b174178ae4 100644 --- a/src/wallet/rpcwallet.cpp +++ b/src/wallet/rpcwallet.cpp @@ -324,10 +324,6 @@ static CTransactionRef SendMoney(CWallet* const pwallet, const CTxDestination& a if (nValue > curBalance) throw JSONRPCError(RPC_WALLET_INSUFFICIENT_FUNDS, "Insufficient funds"); - if (pwallet->GetBroadcastTransactions() && !pwallet->chain().p2pEnabled()) { - throw JSONRPCError(RPC_CLIENT_P2P_DISABLED, "Error: Peer-to-peer functionality missing or disabled"); - } - if (coin_control.IsUsingCoinJoin()) { mapValue["DS"] = "1"; } @@ -883,10 +879,6 @@ static UniValue sendmany(const JSONRPCRequest& request) LOCK(pwallet->cs_wallet); - if (pwallet->GetBroadcastTransactions() && !pwallet->chain().p2pEnabled()) { - throw JSONRPCError(RPC_CLIENT_P2P_DISABLED, "Error: Peer-to-peer functionality missing or disabled"); - } - if (!request.params[0].isNull() && !request.params[0].get_str().empty()) { throw JSONRPCError(RPC_INVALID_PARAMETER, "Dummy value must be set to \"\""); }