1
0

add dnssec verification to payment requests

This commit is contained in:
ThomasV
2015-07-07 08:59:03 +02:00
parent 652f0d0b7f
commit f3c4a55e77
3 changed files with 76 additions and 26 deletions

View File

@@ -720,8 +720,18 @@ class ElectrumWindow(QMainWindow):
self.save_request_button.setEnabled(False)
def export_payment_request(self, addr):
alias = str(self.config.get('alias'))
alias_privkey = None
if alias:
alias_info = self.contacts.resolve_openalias(alias)
if alias_info:
alias_addr, alias_name = alias_info
if alias_addr and self.wallet.is_mine(alias_addr):
password = self.password_dialog()
alias_privkey = self.wallet.get_private_key(alias_addr, password)[0]
r = self.wallet.get_payment_request(addr, self.config)
pr = paymentrequest.make_request(self.config, r)
pr = paymentrequest.make_request(self.config, r, alias, alias_privkey)
name = r['id'] + '.bip70'
fileName = self.getSaveFileName(_("Select where to save your payment request"), name, "*.bip70")
if fileName:
@@ -1272,7 +1282,7 @@ class ElectrumWindow(QMainWindow):
def get_payment_request_thread():
self.payment_request = get_payment_request(request_url)
if self.payment_request.verify():
if self.payment_request.verify(self.contacts):
self.emit(SIGNAL('payment_request_ok'))
else:
self.emit(SIGNAL('payment_request_error'))
@@ -1485,7 +1495,7 @@ class ElectrumWindow(QMainWindow):
def show_invoice(self, key):
pr = self.invoices.get(key)
pr.verify()
pr.verify(self.contacts)
self.show_pr_details(pr)
def show_pr_details(self, pr):
@@ -1521,7 +1531,7 @@ class ElectrumWindow(QMainWindow):
pr = self.invoices.get(key)
self.payment_request = pr
self.prepare_for_payment_request()
if pr.verify():
if pr.verify(self.contacts):
self.payment_request_ok()
else:
self.payment_request_error()