wallet_api: catch getTxKey exception

- getTxKey method throws an exception, e.g., when user declines txKey export
This commit is contained in:
Dusan Klinec 2019-06-19 12:07:50 +02:00
parent 6335509727
commit 097cca59c1
No known key found for this signature in database
GPG Key ID: 6337E118CCBCE103
1 changed files with 17 additions and 8 deletions

View File

@ -1729,18 +1729,27 @@ std::string WalletImpl::getTxKey(const std::string &txid_str) const
crypto::secret_key tx_key; crypto::secret_key tx_key;
std::vector<crypto::secret_key> additional_tx_keys; std::vector<crypto::secret_key> additional_tx_keys;
if (m_wallet->get_tx_key(txid, tx_key, additional_tx_keys)) try
{ {
clearStatus(); clearStatus();
std::ostringstream oss; if (m_wallet->get_tx_key(txid, tx_key, additional_tx_keys))
oss << epee::string_tools::pod_to_hex(tx_key); {
for (size_t i = 0; i < additional_tx_keys.size(); ++i) clearStatus();
oss << epee::string_tools::pod_to_hex(additional_tx_keys[i]); std::ostringstream oss;
return oss.str(); oss << epee::string_tools::pod_to_hex(tx_key);
for (size_t i = 0; i < additional_tx_keys.size(); ++i)
oss << epee::string_tools::pod_to_hex(additional_tx_keys[i]);
return oss.str();
}
else
{
setStatusError(tr("no tx keys found for this txid"));
return "";
}
} }
else catch (const std::exception &e)
{ {
setStatusError(tr("no tx keys found for this txid")); setStatusError(e.what());
return ""; return "";
} }
} }