From 292b1a3e9c98b9ba74b28d149df8554d4ad8e5c0 Mon Sep 17 00:00:00 2001 From: amadeuszpawlik Date: Sat, 28 May 2022 20:40:51 +0200 Subject: GetExternalSigner(): fail if multiple signers are found If there are multiple external signers, `GetExternalSigner()` will just pick the first one in the list. If the user has two or more hardware wallets connected at the same time, he might not notice this. This PR adds a check and fails with suitable message. --- src/qt/walletcontroller.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/qt') diff --git a/src/qt/walletcontroller.cpp b/src/qt/walletcontroller.cpp index d27ddf1aba..fae4c7cdf1 100644 --- a/src/qt/walletcontroller.cpp +++ b/src/qt/walletcontroller.cpp @@ -293,6 +293,10 @@ void CreateWalletActivity::create() } catch (const std::runtime_error& e) { QMessageBox::critical(nullptr, tr("Can't list signers"), e.what()); } + if (signers.size() > 1) { + QMessageBox::critical(nullptr, tr("Too many external signers found"), QString::fromStdString("More than one external signer found. Please connect only one at a time.")); + signers.clear(); + } m_create_wallet_dialog->setSigners(signers); m_create_wallet_dialog->setWindowModality(Qt::ApplicationModal); -- cgit v1.2.3