privacy analysis: add warning about tx downstream of address reuse
This commit is contained in:
@@ -84,6 +84,7 @@ class UTXODialog(WindowModalDialog):
|
||||
ASCII_PIPE = '│'
|
||||
ASCII_SPACE = ' '
|
||||
|
||||
self.num_reuse = 0
|
||||
def print_ascii_tree(_txid, prefix, is_last, is_uncle):
|
||||
if _txid not in parents:
|
||||
return
|
||||
@@ -95,6 +96,7 @@ class UTXODialog(WindowModalDialog):
|
||||
c = '' if _txid == txid else (ASCII_EDGE if is_last else ASCII_BRANCH)
|
||||
cursor.insertText(prefix + c, ext)
|
||||
if is_uncle:
|
||||
self.num_reuse += 1
|
||||
lnk = QTextCharFormat(self.txo_color_uncle.text_char_format)
|
||||
else:
|
||||
lnk = QTextCharFormat(self.txo_color_parent.text_char_format)
|
||||
@@ -119,7 +121,10 @@ class UTXODialog(WindowModalDialog):
|
||||
vbox = QVBoxLayout()
|
||||
vbox.addWidget(QLabel(_("Output point") + ": " + str(self.utxo.short_id)))
|
||||
vbox.addWidget(QLabel(_("Amount") + ": " + self.main_window.format_amount_and_units(self.utxo.value_sats())))
|
||||
vbox.addWidget(QLabel(_("This UTXO has {} parent transactions in your wallet").format(num_parents)))
|
||||
msg = _("This UTXO has {} parent transactions in your wallet.").format(num_parents)
|
||||
if self.num_reuse:
|
||||
msg += '\n' + _('This does not include transactions that are downstream of address reuse.')
|
||||
vbox.addWidget(WWLabel(msg))
|
||||
vbox.addWidget(self.parents_list)
|
||||
legend_hbox = QHBoxLayout()
|
||||
legend_hbox.setContentsMargins(0, 0, 0, 0)
|
||||
@@ -128,7 +133,7 @@ class UTXODialog(WindowModalDialog):
|
||||
legend_hbox.addWidget(self.txo_color_uncle.legend_label)
|
||||
vbox.addLayout(legend_hbox)
|
||||
self.txo_color_parent.legend_label.setVisible(True)
|
||||
self.txo_color_uncle.legend_label.setVisible(True)
|
||||
self.txo_color_uncle.legend_label.setVisible(bool(self.num_reuse))
|
||||
vbox.addLayout(Buttons(CloseButton(self)))
|
||||
self.setLayout(vbox)
|
||||
# set cursor to top
|
||||
|
||||
@@ -262,7 +262,7 @@ class UTXOList(MyTreeView):
|
||||
tx = self.wallet.adb.get_transaction(txid)
|
||||
if tx:
|
||||
label = self.wallet.get_label_for_txid(txid)
|
||||
menu.addAction(_("View parents"), lambda: self.parent.show_utxo(utxo))
|
||||
menu.addAction(_("Privacy analysis"), lambda: self.parent.show_utxo(utxo))
|
||||
# fully spend
|
||||
menu_spend = menu.addMenu(_("Fully spend") + '…')
|
||||
m = menu_spend.addAction(_("send to address in clipboard"), lambda: self.pay_to_clipboard_address(coins))
|
||||
|
||||
Reference in New Issue
Block a user