From fc5da520f5c72287f59823b8a6d748dda49c574a Mon Sep 17 00:00:00 2001 From: Sjors Provoost Date: Thu, 31 Oct 2019 10:27:27 +0100 Subject: wallet: add GetExternalSigner() --- src/wallet/wallet.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/wallet/wallet.cpp') diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index 26c52773b5..ddb74a710b 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -3573,6 +3573,19 @@ void ReserveDestination::ReturnDestination() address = CNoDestination(); } +#ifdef ENABLE_EXTERNAL_SIGNER +ExternalSigner CWallet::GetExternalSigner() +{ + const std::string command = gArgs.GetArg("-signer", ""); + if (command == "") throw std::runtime_error(std::string(__func__) + ": restart bitcoind with -signer="); + std::vector signers; + ExternalSigner::Enumerate(command, signers, Params().NetworkIDString()); + if (signers.empty()) throw std::runtime_error(std::string(__func__) + ": No external signers found"); + // TODO: add fingerprint argument in case of multiple signers + return signers[0]; +} +#endif + void CWallet::LockCoin(const COutPoint& output) { AssertLockHeld(cs_wallet); -- cgit v1.2.3