wallet: use original user address if we have a short payment id

This commit is contained in:
moneromooo-monero 2019-03-24 08:56:52 +00:00
parent cd776b1933
commit 16eda54b38
No known key found for this signature in database
GPG Key ID: 686F07454D6CEFC3
2 changed files with 2 additions and 2 deletions

View File

@ -6569,7 +6569,7 @@ bool simple_wallet::accept_loaded_tx(const std::function<size_t()> get_num_txes,
{ {
const tx_destination_entry &entry = cd.splitted_dsts[d]; const tx_destination_entry &entry = cd.splitted_dsts[d];
std::string address, standard_address = get_account_address_as_str(m_wallet->nettype(), entry.is_subaddress, entry.addr); std::string address, standard_address = get_account_address_as_str(m_wallet->nettype(), entry.is_subaddress, entry.addr);
if (has_encrypted_payment_id && !entry.is_subaddress) if (has_encrypted_payment_id && !entry.is_subaddress && standard_address != entry.original)
{ {
address = get_account_integrated_address_as_str(m_wallet->nettype(), entry.addr, payment_id8); address = get_account_integrated_address_as_str(m_wallet->nettype(), entry.addr, payment_id8);
address += std::string(" (" + standard_address + " with encrypted payment id " + epee::string_tools::pod_to_hex(payment_id8) + ")"); address += std::string(" (" + standard_address + " with encrypted payment id " + epee::string_tools::pod_to_hex(payment_id8) + ")");

View File

@ -1173,7 +1173,7 @@ namespace tools
{ {
const cryptonote::tx_destination_entry &entry = cd.splitted_dsts[d]; const cryptonote::tx_destination_entry &entry = cd.splitted_dsts[d];
std::string address = cryptonote::get_account_address_as_str(m_wallet->nettype(), entry.is_subaddress, entry.addr); std::string address = cryptonote::get_account_address_as_str(m_wallet->nettype(), entry.is_subaddress, entry.addr);
if (has_encrypted_payment_id && !entry.is_subaddress) if (has_encrypted_payment_id && !entry.is_subaddress && address != entry.original)
address = cryptonote::get_account_integrated_address_as_str(m_wallet->nettype(), entry.addr, payment_id8); address = cryptonote::get_account_integrated_address_as_str(m_wallet->nettype(), entry.addr, payment_id8);
auto i = dests.find(entry.addr); auto i = dests.find(entry.addr);
if (i == dests.end()) if (i == dests.end())