refactor: drop protocol.h include header in rpc/util.h

as it was only needed for GetServicesNames(). This potentially avoids needlessly
compiling the 500 lines of protocol.h in the 35 files other than rpc/net.cpp
that include rpc/util.h.

Drop an unneeded CPubKey forward declaration. The other IWYU suggestions would
require more extensive changes in other files.

Add 3 already-missing include headers in other translation units that are needed
to compile without protocol.h in rpc/util.h, as it includes netaddress.h, which
in turn includes util/strencodings.h.
pull/28136/head
Jon Atack 1 year ago
parent 1dd62c5295
commit bbb68ffdbd

@ -8,6 +8,7 @@
#include <crypto/hmac_sha256.h>
#include <httpserver.h>
#include <logging.h>
#include <netaddress.h>
#include <rpc/protocol.h>
#include <rpc/server.h>
#include <util/strencodings.h>

@ -26,6 +26,7 @@
#include <txmempool.h>
#include <util/any.h>
#include <util/check.h>
#include <util/strencodings.h>
#include <validation.h>
#include <version.h>

@ -21,6 +21,7 @@
#include <univalue.h>
#include <util/fs.h>
#include <util/moneystr.h>
#include <util/strencodings.h>
#include <util/time.h>
#include <utility>

@ -9,7 +9,6 @@
#include <consensus/amount.h>
#include <node/transaction.h>
#include <outputtype.h>
#include <protocol.h>
#include <pubkey.h>
#include <rpc/protocol.h>
#include <rpc/request.h>
@ -59,7 +58,6 @@ extern const std::string UNIX_EPOCH_TIME;
extern const std::string EXAMPLE_ADDRESS[2];
class FillableSigningProvider;
class CPubKey;
class CScript;
struct Sections;

Loading…
Cancel
Save