diff --git a/build_msvc/bitcoin-cli/bitcoin-cli.vcxproj b/build_msvc/bitcoin-cli/bitcoin-cli.vcxproj
index e5e0e978f89..738884fb410 100644
--- a/build_msvc/bitcoin-cli/bitcoin-cli.vcxproj
+++ b/build_msvc/bitcoin-cli/bitcoin-cli.vcxproj
@@ -15,6 +15,9 @@
{0667528c-d734-4009-adf9-c0d6c4a5a5a6}
+
+ {7c87e378-df58-482e-aa2f-1bc129bc19ce}
+
{6190199c-6cf4-4dad-bfbd-93fa72a760c1}
diff --git a/build_msvc/libbitcoin_common/libbitcoin_common.vcxproj.in b/build_msvc/libbitcoin_common/libbitcoin_common.vcxproj.in
index b47d62b2958..482e4333f79 100644
--- a/build_msvc/libbitcoin_common/libbitcoin_common.vcxproj.in
+++ b/build_msvc/libbitcoin_common/libbitcoin_common.vcxproj.in
@@ -8,6 +8,7 @@
StaticLibrary
+
@SOURCE_FILES@
diff --git a/build_msvc/libbitcoin_util/libbitcoin_util.vcxproj.in b/build_msvc/libbitcoin_util/libbitcoin_util.vcxproj.in
index 6ec40461c2a..adf4fa03540 100644
--- a/build_msvc/libbitcoin_util/libbitcoin_util.vcxproj.in
+++ b/build_msvc/libbitcoin_util/libbitcoin_util.vcxproj.in
@@ -8,7 +8,6 @@
StaticLibrary
-
@SOURCE_FILES@
diff --git a/ci/test/06_script_b.sh b/ci/test/06_script_b.sh
index c0b7a969c06..89e517d83c7 100755
--- a/ci/test/06_script_b.sh
+++ b/ci/test/06_script_b.sh
@@ -40,6 +40,7 @@ if [ "${RUN_TIDY}" = "true" ]; then
( CI_EXEC run-clang-tidy -quiet "${MAKEJOBS}" ) | grep -C5 "error"
export P_CI_DIR="${BASE_BUILD_DIR}/bitcoin-$HOST/"
CI_EXEC "python3 ${DIR_IWYU}/include-what-you-use/iwyu_tool.py"\
+ " src/common/url.cpp"\
" src/compat"\
" src/dbwrapper.cpp"\
" src/init"\
@@ -68,7 +69,6 @@ if [ "${RUN_TIDY}" = "true" ]; then
" src/util/strencodings.cpp"\
" src/util/string.cpp"\
" src/util/syserror.cpp"\
- " src/util/url.cpp"\
" src/zmq"\
" -p . ${MAKEJOBS} -- -Xiwyu --cxx17ns -Xiwyu --mapping_file=${BASE_BUILD_DIR}/bitcoin-$HOST/contrib/devtools/iwyu/bitcoin.core.imp"
fi
diff --git a/src/Makefile.am b/src/Makefile.am
index 6d10f86d573..d50247b52f5 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -134,6 +134,7 @@ BITCOIN_CORE_H = \
coins.h \
common/bloom.h \
common/run_command.h \
+ common/url.h \
compat/assumptions.h \
compat/byteswap.h \
compat/compat.h \
@@ -303,7 +304,6 @@ BITCOIN_CORE_H = \
util/translation.h \
util/types.h \
util/ui_change_type.h \
- util/url.h \
util/vector.h \
validation.h \
validationinterface.h \
@@ -662,6 +662,11 @@ libbitcoin_common_a_SOURCES = \
script/standard.cpp \
warnings.cpp \
$(BITCOIN_CORE_H)
+
+if USE_LIBEVENT
+libbitcoin_common_a_CPPFLAGS += $(EVENT_CFLAGS)
+libbitcoin_common_a_SOURCES += common/url.cpp
+endif
#
# util #
@@ -708,10 +713,6 @@ libbitcoin_util_a_SOURCES = \
util/time.cpp \
util/tokenpipe.cpp \
$(BITCOIN_CORE_H)
-
-if USE_LIBEVENT
-libbitcoin_util_a_SOURCES += util/url.cpp
-endif
#
# cli #
@@ -775,6 +776,7 @@ endif
bitcoin_cli_LDADD = \
$(LIBBITCOIN_CLI) \
$(LIBUNIVALUE) \
+ $(LIBBITCOIN_COMMON) \
$(LIBBITCOIN_UTIL) \
$(LIBBITCOIN_CRYPTO)
diff --git a/src/bitcoin-cli.cpp b/src/bitcoin-cli.cpp
index 6d77385584b..c06488dbe9d 100644
--- a/src/bitcoin-cli.cpp
+++ b/src/bitcoin-cli.cpp
@@ -9,6 +9,7 @@
#include
#include
+#include
#include
#include
#include
@@ -21,7 +22,6 @@
#include
#include
#include
-#include
#include
#include
diff --git a/src/bitcoin-wallet.cpp b/src/bitcoin-wallet.cpp
index d556300ee2a..78c1a2060c7 100644
--- a/src/bitcoin-wallet.cpp
+++ b/src/bitcoin-wallet.cpp
@@ -9,6 +9,7 @@
#include
#include
#include
+#include
#include
#include
#include
@@ -17,7 +18,6 @@
#include
#include
#include
-#include
#include
#include
diff --git a/src/bitcoind.cpp b/src/bitcoind.cpp
index 9f81640ddb4..d8d4e34e478 100644
--- a/src/bitcoind.cpp
+++ b/src/bitcoind.cpp
@@ -9,6 +9,7 @@
#include
#include
+#include
#include
#include
#include
@@ -25,7 +26,6 @@
#include
#include
#include
-#include
#include
#include
diff --git a/src/util/url.cpp b/src/common/url.cpp
similarity index 95%
rename from src/util/url.cpp
rename to src/common/url.cpp
index ea9323e6669..5200d55096a 100644
--- a/src/util/url.cpp
+++ b/src/common/url.cpp
@@ -2,7 +2,7 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
-#include
+#include
#include
diff --git a/src/util/url.h b/src/common/url.h
similarity index 79%
rename from src/util/url.h
rename to src/common/url.h
index 5a7b11fa041..7bbd8b60de3 100644
--- a/src/util/url.h
+++ b/src/common/url.h
@@ -2,8 +2,8 @@
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
-#ifndef BITCOIN_UTIL_URL_H
-#define BITCOIN_UTIL_URL_H
+#ifndef BITCOIN_COMMON_URL_H
+#define BITCOIN_COMMON_URL_H
#include
@@ -11,4 +11,4 @@ using UrlDecodeFn = std::string(const std::string& url_encoded);
UrlDecodeFn urlDecode;
extern UrlDecodeFn* const URL_DECODE;
-#endif // BITCOIN_UTIL_URL_H
+#endif // BITCOIN_COMMON_URL_H
diff --git a/src/qt/main.cpp b/src/qt/main.cpp
index e8f39584ad2..45131a1cf5d 100644
--- a/src/qt/main.cpp
+++ b/src/qt/main.cpp
@@ -4,9 +4,9 @@
#include
+#include
#include
#include
-#include
#include
diff --git a/src/test/fuzz/string.cpp b/src/test/fuzz/string.cpp
index 94399faf042..f6373351d82 100644
--- a/src/test/fuzz/string.cpp
+++ b/src/test/fuzz/string.cpp
@@ -4,6 +4,7 @@
#include
#include
+#include
#include
#include
#include
@@ -27,7 +28,6 @@
#include
#include
#include
-#include
#include
#include
diff --git a/src/test/util/setup_common.cpp b/src/test/util/setup_common.cpp
index 0d0db176f93..bdcff1076b9 100644
--- a/src/test/util/setup_common.cpp
+++ b/src/test/util/setup_common.cpp
@@ -9,6 +9,7 @@
#include
#include
#include
+#include
#include
#include
#include
@@ -46,7 +47,6 @@
#include
#include
#include
-#include
#include
#include
#include
diff --git a/src/wallet/rpc/util.cpp b/src/wallet/rpc/util.cpp
index 1aa2a87e99d..26270f23ed4 100644
--- a/src/wallet/rpc/util.cpp
+++ b/src/wallet/rpc/util.cpp
@@ -4,9 +4,9 @@
#include
+#include
#include
#include
-#include
#include
#include