https://travis-ci.org/github/bitcoin/bitcoin/jobs/679885530#L8791
{
    const std::string command = gArgs.GetArg("-signer", "");
    if (command == "") throw std::runtime_error(std::string(__func__) + ": restart bitcoind with -signer=<cmd>");
    std::vector<ExternalSigner> signers;
    ExternalSigner::Enumerate(command, signers, Params().NetworkIDString());
    if (signers.empty()) throw std::runtime_error(std::string(__func__) + ": No external signers found");
    
    return signers[0];
}
#endif
bool CWallet::DisplayAddress(const CTxDestination& dest)
{
#ifdef ENABLE_EXTERNAL_SIGNER
    CScript scriptPubKey = GetScriptForDestination(dest);
    const auto spk_man = GetScriptPubKeyMan(scriptPubKey);
    if (spk_man == nullptr) {
        return false;
    }
    auto signer_spk_man = dynamic_cast<ExternalSignerScriptPubKeyMan*>(spk_man);
    if (signer_spk_man == nullptr) {
        return false;
    }
    ExternalSigner signer = GetExternalSigner(); 
    return signer_spk_man->DisplayAddress(scriptPubKey, signer);
#else
    return false;
#endif
}
void CWallet::LockCoin(const COutPoint& output)