diff --git a/build_msvc/libbitcoin_qt/libbitcoin_qt.vcxproj b/build_msvc/libbitcoin_qt/libbitcoin_qt.vcxproj
index 9f9dc9d5fa0..487f476908c 100644
--- a/build_msvc/libbitcoin_qt/libbitcoin_qt.vcxproj
+++ b/build_msvc/libbitcoin_qt/libbitcoin_qt.vcxproj
@@ -23,6 +23,8 @@
+
+
@@ -79,6 +81,8 @@
+
+
diff --git a/build_msvc/test_bitcoin-qt/test_bitcoin-qt.vcxproj b/build_msvc/test_bitcoin-qt/test_bitcoin-qt.vcxproj
index ac4518e0f2a..a0feeb86f34 100644
--- a/build_msvc/test_bitcoin-qt/test_bitcoin-qt.vcxproj
+++ b/build_msvc/test_bitcoin-qt/test_bitcoin-qt.vcxproj
@@ -13,6 +13,9 @@
+
+
+
@@ -22,6 +25,9 @@
+
+
+
@@ -94,6 +100,9 @@
+
+
+
diff --git a/src/Makefile.am b/src/Makefile.am
index 6d55602a0d5..83fd438e9b1 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -332,6 +332,7 @@ BITCOIN_CORE_H = \
wallet/external_signer_scriptpubkeyman.h \
wallet/feebumper.h \
wallet/fees.h \
+ wallet/imports.h \
wallet/load.h \
wallet/receive.h \
wallet/rpc/util.h \
@@ -484,6 +485,7 @@ libbitcoin_wallet_a_SOURCES = \
wallet/external_signer_scriptpubkeyman.cpp \
wallet/feebumper.cpp \
wallet/fees.cpp \
+ wallet/imports.cpp \
wallet/interfaces.cpp \
wallet/load.cpp \
wallet/receive.cpp \
diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include
index 7852d1a2fa9..4137ca78c0e 100644
--- a/src/Makefile.qt.include
+++ b/src/Makefile.qt.include
@@ -20,6 +20,8 @@ QT_FORMS_UI = \
qt/forms/createwalletdialog.ui \
qt/forms/editaddressdialog.ui \
qt/forms/helpmessagedialog.ui \
+ qt/forms/importdialog.ui \
+ qt/forms/importentry.ui \
qt/forms/intro.ui \
qt/forms/modaloverlay.ui \
qt/forms/openuridialog.ui \
@@ -51,6 +53,8 @@ QT_MOC_CPP = \
qt/moc_csvmodelwriter.cpp \
qt/moc_editaddressdialog.cpp \
qt/moc_guiutil.cpp \
+ qt/moc_importdialog.cpp \
+ qt/moc_importentry.cpp \
qt/moc_initexecutor.cpp \
qt/moc_intro.cpp \
qt/moc_macdockiconhandler.cpp \
@@ -123,6 +127,8 @@ BITCOIN_QT_H = \
qt/editaddressdialog.h \
qt/guiconstants.h \
qt/guiutil.h \
+ qt/importdialog.h \
+ qt/importentry.h \
qt/initexecutor.h \
qt/intro.h \
qt/macdockiconhandler.h \
@@ -256,6 +262,8 @@ BITCOIN_QT_WALLET_CPP = \
qt/coincontroltreewidget.cpp \
qt/createwalletdialog.cpp \
qt/editaddressdialog.cpp \
+ qt/importdialog.cpp \
+ qt/importentry.cpp \
qt/openuridialog.cpp \
qt/overviewpage.cpp \
qt/paymentserver.cpp \
diff --git a/src/Makefile.qttest.include b/src/Makefile.qttest.include
index 89c659d4b92..743c8ea2824 100644
--- a/src/Makefile.qttest.include
+++ b/src/Makefile.qttest.include
@@ -14,12 +14,18 @@ TEST_QT_MOC_CPP = \
if ENABLE_WALLET
TEST_QT_MOC_CPP += \
qt/test/moc_addressbooktests.cpp \
+ qt/test/moc_importdescriptorstests.cpp \
+ qt/test/moc_importlegacytests.cpp \
+ qt/test/moc_importmultitests.cpp \
qt/test/moc_wallettests.cpp
endif # ENABLE_WALLET
TEST_QT_H = \
qt/test/addressbooktests.h \
qt/test/apptests.h \
+ qt/test/importdescriptorstests.h \
+ qt/test/importlegacytests.h \
+ qt/test/importmultitests.h \
qt/test/optiontests.h \
qt/test/rpcnestedtests.h \
qt/test/uritests.h \
@@ -36,12 +42,15 @@ qt_test_test_bitcoin_qt_SOURCES = \
qt/test/rpcnestedtests.cpp \
qt/test/test_main.cpp \
qt/test/uritests.cpp \
- qt/test/util.cpp \
$(TEST_QT_H)
if ENABLE_WALLET
qt_test_test_bitcoin_qt_SOURCES += \
qt/test/addressbooktests.cpp \
+ qt/test/importdescriptorstests.cpp \
+ qt/test/importlegacytests.cpp \
+ qt/test/importmultitests.cpp \
qt/test/wallettests.cpp \
+ qt/test/util.cpp \
wallet/test/wallet_test_fixture.cpp
endif # ENABLE_WALLET
diff --git a/src/interfaces/wallet.h b/src/interfaces/wallet.h
index 8c31112fc94..741f4df8273 100644
--- a/src/interfaces/wallet.h
+++ b/src/interfaces/wallet.h
@@ -8,6 +8,8 @@
#include
#include // For ChainClient
#include // For CKeyID and CScriptID (definitions needed in CTxDestination instantiation)
+#include