simplewallet: fix sweep_all misreporting sweeped amount for rct outputs

RingCT outputs will be 0 in the vin, so we need to get the actual
amount from elsewhere.
This commit is contained in:
moneromooo-monero 2016-10-15 19:18:52 +01:00
parent 985f61a4ec
commit 8231997b66
No known key found for this signature in database
GPG key ID: 686F07454D6CEFC3
3 changed files with 11 additions and 10 deletions

View file

@ -2897,11 +2897,8 @@ bool simple_wallet::sweep_unmixable(const std::vector<std::string> &args_)
for (size_t n = 0; n < ptx_vector.size(); ++n)
{
total_fee += ptx_vector[n].fee;
for (const auto &vin: ptx_vector[n].tx.vin)
{
if (vin.type() == typeid(txin_to_key))
total_unmixable += boost::get<txin_to_key>(vin).amount;
}
for (auto i: ptx_vector[n].selected_transfers)
total_unmixable += m_wallet->get_transfer_details(i).amount();
}
std::string prompt_str = tr("Sweeping ") + print_money(total_unmixable);
@ -3152,11 +3149,8 @@ bool simple_wallet::sweep_all(const std::vector<std::string> &args_)
for (size_t n = 0; n < ptx_vector.size(); ++n)
{
total_fee += ptx_vector[n].fee;
for (const auto &vin: ptx_vector[n].tx.vin)
{
if (vin.type() == typeid(txin_to_key))
total_sent += boost::get<txin_to_key>(vin).amount;
}
for (auto i: ptx_vector[n].selected_transfers)
total_sent += m_wallet->get_transfer_details(i).amount();
}
std::string prompt_str;