diff options
author | Riccardo Spagni <ric@spagni.net> | 2016-04-26 18:04:00 +0200 |
---|---|---|
committer | Riccardo Spagni <ric@spagni.net> | 2016-04-26 18:04:00 +0200 |
commit | 7098ad68043d2491eb82ee986b6fcec2ea4d4f3a (patch) | |
tree | f5e5dd96a3a61c76108e7d93ec39bf6f21240056 /src/wallet/wallet2.h | |
parent | Merge pull request #813 (diff) | |
parent | modified: src/wallet/wallet2.cpp (diff) | |
download | monero-7098ad68043d2491eb82ee986b6fcec2ea4d4f3a.tar.xz |
Merge pull request #814
68cbe15 modified: src/wallet/wallet2.cpp modified: src/wallet/wallet2.h (awfulcrawler)
4b325bd modified: src/simplewallet/simplewallet.cpp modified: src/wallet/wallet2.cpp modified: src/wallet/wallet2.h (awfulcrawler)
Diffstat (limited to 'src/wallet/wallet2.h')
-rw-r--r-- | src/wallet/wallet2.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/wallet/wallet2.h b/src/wallet/wallet2.h index 0bd1f0fd3..89c157c16 100644 --- a/src/wallet/wallet2.h +++ b/src/wallet/wallet2.h @@ -143,6 +143,7 @@ namespace tools { cryptonote::transaction tx; uint64_t dust, fee; + bool dust_added_to_fee; cryptonote::tx_destination_entry change_dts; std::list<transfer_container::iterator> selected_transfers; std::string key_images; @@ -715,10 +716,16 @@ namespace tools return true; }); THROW_WALLET_EXCEPTION_IF(!all_are_txin_to_key, error::unexpected_txin_type, tx); + + bool dust_sent_elsewhere = (dust_policy.addr_for_dust.m_view_public_key != change_dts.addr.m_view_public_key + || dust_policy.addr_for_dust.m_spend_public_key != change_dts.addr.m_spend_public_key); + + if (dust_policy.add_to_fee || dust_sent_elsewhere) change_dts.amount -= dust; ptx.key_images = key_images; - ptx.fee = fee; - ptx.dust = dust; + ptx.fee = (dust_policy.add_to_fee ? fee+dust : fee); + ptx.dust = ((dust_policy.add_to_fee || dust_sent_elsewhere) ? dust : 0); + ptx.dust_added_to_fee = dust_policy.add_to_fee; ptx.tx = tx; ptx.change_dts = change_dts; ptx.selected_transfers = selected_transfers; |