aboutsummaryrefslogtreecommitdiff
path: root/src/simplewallet/simplewallet.cpp
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2018-07-06 18:14:08 +0100
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2018-07-12 19:37:29 +0100
commit2951436704e931e25537ca99e994186aa02c7ba6 (patch)
tree5f4b6d7504d6573c76d9836c3fb6d8efa6db15b8 /src/simplewallet/simplewallet.cpp
parentMerge pull request #4094 (diff)
downloadmonero-2951436704e931e25537ca99e994186aa02c7ba6.tar.xz
wallet: warn when payment IDs are used
Subaddresses are better for privacy
Diffstat (limited to 'src/simplewallet/simplewallet.cpp')
-rw-r--r--src/simplewallet/simplewallet.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/simplewallet/simplewallet.cpp b/src/simplewallet/simplewallet.cpp
index 16866a80d..eb30dd3f1 100644
--- a/src/simplewallet/simplewallet.cpp
+++ b/src/simplewallet/simplewallet.cpp
@@ -3955,6 +3955,24 @@ void simple_wallet::on_money_received(uint64_t height, const crypto::hash &txid,
tr("txid ") << txid << ", " <<
print_money(amount) << ", " <<
tr("idx ") << subaddr_index;
+
+ const uint64_t warn_height = m_wallet->nettype() == TESTNET ? 1000000 : m_wallet->nettype() == STAGENET ? 50000 : 1650000;
+ if (height >= warn_height)
+ {
+ std::vector<tx_extra_field> tx_extra_fields;
+ parse_tx_extra(tx.extra, tx_extra_fields); // failure ok
+ tx_extra_nonce extra_nonce;
+ if (find_tx_extra_field_by_type(tx_extra_fields, extra_nonce))
+ {
+ crypto::hash8 payment_id8 = crypto::null_hash8;
+ if (get_encrypted_payment_id_from_tx_extra_nonce(extra_nonce.nonce, payment_id8))
+ message_writer() <<
+ tr("NOTE: this transaction uses an encrypted payment ID: consider using subaddresses instead");
+ else
+ message_writer(console_color_red, false) <<
+ tr("WARNING: this transaction uses an unencrypted payment ID: consider using subaddresses instead");
+ }
+ }
if (m_auto_refresh_refreshing)
m_cmd_binder.print_prompt();
else
@@ -4553,6 +4571,7 @@ bool simple_wallet::transfer_main(int transfer_type, const std::vector<std::stri
return true;
}
payment_id_seen = true;
+ message_writer() << tr("Unencrypted payment IDs are bad for privacy: ask the recipient to use subaddresses instead");
}
uint64_t locked_blocks = 0;