wallet: warn when payment IDs are used
Subaddresses are better for privacy
This commit is contained in:
parent
eed4dba880
commit
2951436704
|
@ -3955,6 +3955,24 @@ void simple_wallet::on_money_received(uint64_t height, const crypto::hash &txid,
|
||||||
tr("txid ") << txid << ", " <<
|
tr("txid ") << txid << ", " <<
|
||||||
print_money(amount) << ", " <<
|
print_money(amount) << ", " <<
|
||||||
tr("idx ") << subaddr_index;
|
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)
|
if (m_auto_refresh_refreshing)
|
||||||
m_cmd_binder.print_prompt();
|
m_cmd_binder.print_prompt();
|
||||||
else
|
else
|
||||||
|
@ -4553,6 +4571,7 @@ bool simple_wallet::transfer_main(int transfer_type, const std::vector<std::stri
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
payment_id_seen = 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;
|
uint64_t locked_blocks = 0;
|
||||||
|
|
|
@ -1553,6 +1553,7 @@ void wallet2::process_new_transaction(const crypto::hash &txid, const cryptonote
|
||||||
{
|
{
|
||||||
// We got a payment ID to go with this tx
|
// We got a payment ID to go with this tx
|
||||||
LOG_PRINT_L2("Found encrypted payment ID: " << payment_id8);
|
LOG_PRINT_L2("Found encrypted payment ID: " << payment_id8);
|
||||||
|
MINFO("Consider using subaddresses instead of encrypted payment IDs");
|
||||||
if (tx_pub_key != null_pkey)
|
if (tx_pub_key != null_pkey)
|
||||||
{
|
{
|
||||||
if (!m_account.get_device().decrypt_payment_id(payment_id8, tx_pub_key, m_account.get_keys().m_view_secret_key))
|
if (!m_account.get_device().decrypt_payment_id(payment_id8, tx_pub_key, m_account.get_keys().m_view_secret_key))
|
||||||
|
@ -1576,12 +1577,9 @@ void wallet2::process_new_transaction(const crypto::hash &txid, const cryptonote
|
||||||
else if (get_payment_id_from_tx_extra_nonce(extra_nonce.nonce, payment_id))
|
else if (get_payment_id_from_tx_extra_nonce(extra_nonce.nonce, payment_id))
|
||||||
{
|
{
|
||||||
LOG_PRINT_L2("Found unencrypted payment ID: " << payment_id);
|
LOG_PRINT_L2("Found unencrypted payment ID: " << payment_id);
|
||||||
|
MWARNING("Found unencrypted payment ID: these are bad for privacy, consider using subaddresses instead");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (get_payment_id_from_tx_extra_nonce(extra_nonce.nonce, payment_id))
|
|
||||||
{
|
|
||||||
LOG_PRINT_L2("Found unencrypted payment ID: " << payment_id);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (const auto& i : tx_money_got_in_outs)
|
for (const auto& i : tx_money_got_in_outs)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue