mirror of
https://github.com/monero-project/monero.git
synced 2024-12-23 12:09:54 +00:00
Merge pull request #3130
5ae617d5
simplewallet: single out 0 amount destinations as dummy ones (moneromooo-monero)c1d19f3c
wallet2: fix sweep_all sending an atomic unit (moneromooo-monero)
This commit is contained in:
commit
09d19c9139
2 changed files with 16 additions and 4 deletions
|
@ -4677,12 +4677,24 @@ bool simple_wallet::accept_loaded_tx(const std::function<size_t()> get_num_txes,
|
||||||
payment_id_string = "no payment ID";
|
payment_id_string = "no payment ID";
|
||||||
|
|
||||||
std::string dest_string;
|
std::string dest_string;
|
||||||
|
size_t n_dummy_outputs = 0;
|
||||||
for (auto i = dests.begin(); i != dests.end(); )
|
for (auto i = dests.begin(); i != dests.end(); )
|
||||||
{
|
{
|
||||||
dest_string += (boost::format(tr("sending %s to %s")) % print_money(i->second.second) % i->second.first).str();
|
if (i->second.second > 0)
|
||||||
|
{
|
||||||
|
if (!dest_string.empty())
|
||||||
|
dest_string += ", ";
|
||||||
|
dest_string += (boost::format(tr("sending %s to %s")) % print_money(i->second.second) % i->second.first).str();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
++n_dummy_outputs;
|
||||||
++i;
|
++i;
|
||||||
if (i != dests.end())
|
}
|
||||||
|
if (n_dummy_outputs > 0)
|
||||||
|
{
|
||||||
|
if (!dest_string.empty())
|
||||||
dest_string += ", ";
|
dest_string += ", ";
|
||||||
|
dest_string += std::to_string(n_dummy_outputs) + tr(" dummy output(s)");
|
||||||
}
|
}
|
||||||
if (dest_string.empty())
|
if (dest_string.empty())
|
||||||
dest_string = tr("with no destinations");
|
dest_string = tr("with no destinations");
|
||||||
|
|
|
@ -7126,7 +7126,7 @@ std::vector<wallet2::pending_tx> wallet2::create_transactions_from(const crypton
|
||||||
|
|
||||||
THROW_WALLET_EXCEPTION_IF(needed_fee > available_for_fee, error::wallet_internal_error, "Transaction cannot pay for itself");
|
THROW_WALLET_EXCEPTION_IF(needed_fee > available_for_fee, error::wallet_internal_error, "Transaction cannot pay for itself");
|
||||||
|
|
||||||
while (needed_fee > test_ptx.fee) {
|
do {
|
||||||
LOG_PRINT_L2("We made a tx, adjusting fee and saving it");
|
LOG_PRINT_L2("We made a tx, adjusting fee and saving it");
|
||||||
tx.dsts[0].amount = available_for_fee - needed_fee;
|
tx.dsts[0].amount = available_for_fee - needed_fee;
|
||||||
if (use_rct)
|
if (use_rct)
|
||||||
|
@ -7139,7 +7139,7 @@ std::vector<wallet2::pending_tx> wallet2::create_transactions_from(const crypton
|
||||||
needed_fee = calculate_fee(fee_per_kb, txBlob, fee_multiplier);
|
needed_fee = calculate_fee(fee_per_kb, txBlob, fee_multiplier);
|
||||||
LOG_PRINT_L2("Made an attempt at a final " << get_size_string(txBlob) << " tx, with " << print_money(test_ptx.fee) <<
|
LOG_PRINT_L2("Made an attempt at a final " << get_size_string(txBlob) << " tx, with " << print_money(test_ptx.fee) <<
|
||||||
" fee and " << print_money(test_ptx.change_dts.amount) << " change");
|
" fee and " << print_money(test_ptx.change_dts.amount) << " change");
|
||||||
}
|
} while (needed_fee > test_ptx.fee);
|
||||||
|
|
||||||
LOG_PRINT_L2("Made a final " << get_size_string(txBlob) << " tx, with " << print_money(test_ptx.fee) <<
|
LOG_PRINT_L2("Made a final " << get_size_string(txBlob) << " tx, with " << print_money(test_ptx.fee) <<
|
||||||
" fee and " << print_money(test_ptx.change_dts.amount) << " change");
|
" fee and " << print_money(test_ptx.change_dts.amount) << " change");
|
||||||
|
|
Loading…
Reference in a new issue