add trezor support to sweep_single

This commit is contained in:
Dusan Klinec 2020-06-21 23:17:58 +02:00
parent 93257997bd
commit f9e3fcdf3e
No known key found for this signature in database
GPG Key ID: 6337E118CCBCE103
1 changed files with 26 additions and 0 deletions

View File

@ -7376,6 +7376,32 @@ bool simple_wallet::sweep_single(const std::vector<std::string> &args_)
success_msg_writer(true) << tr("Unsigned transaction(s) successfully written to file: ") << "multisig_monero_tx"; success_msg_writer(true) << tr("Unsigned transaction(s) successfully written to file: ") << "multisig_monero_tx";
} }
} }
else if (m_wallet->get_account().get_device().has_tx_cold_sign())
{
try
{
tools::wallet2::signed_tx_set signed_tx;
std::vector<cryptonote::address_parse_info> dsts_info;
dsts_info.push_back(info);
if (!cold_sign_tx(ptx_vector, signed_tx, dsts_info, [&](const tools::wallet2::signed_tx_set &tx){ return accept_loaded_tx(tx); })){
fail_msg_writer() << tr("Failed to cold sign transaction with HW wallet");
return true;
}
commit_or_save(signed_tx.ptx, m_do_not_relay);
success_msg_writer(true) << tr("Money successfully sent, transaction: ") << get_transaction_hash(ptx_vector[0].tx);
}
catch (const std::exception& e)
{
handle_transfer_exception(std::current_exception(), m_wallet->is_trusted_daemon());
}
catch (...)
{
LOG_ERROR("Unknown error");
fail_msg_writer() << tr("unknown error");
}
}
else if (m_wallet->watch_only()) else if (m_wallet->watch_only())
{ {
bool r = m_wallet->save_tx(ptx_vector, "unsigned_monero_tx"); bool r = m_wallet->save_tx(ptx_vector, "unsigned_monero_tx");