improve payreq signing message

This commit is contained in:
ThomasV 2015-07-14 16:03:42 +02:00
parent 677f235e4b
commit 7588519e8e
1 changed files with 16 additions and 11 deletions

View File

@ -730,7 +730,22 @@ class ElectrumWindow(QMainWindow):
i = self.expires_combo.currentIndex()
expiration = map(lambda x: x[1], expiration_values)[i]
req = self.wallet.make_payment_request(addr, amount, message, expiration)
pr, requestor = self.make_bip70_request(req)
alias = self.config.get('alias')
alias_privkey = None
if alias and self.alias_info:
alias_addr, alias_name, validated = self.alias_info
if alias_addr:
if self.wallet.is_mine(alias_addr):
msg = _('This payment request will be signed.') + '\n' + _('Please enter your password')
password = self.password_dialog(msg)
if password:
alias_privkey = self.wallet.get_private_key(alias_addr, password)[0]
else:
return
else:
if not self.question(_('This request will not be signed; the Bitcoin address returned by your alias does not belong to your wallet')):
return
pr, requestor = paymentrequest.make_request(self.config, req, alias, alias_privkey)
if requestor:
req['requestor'] = requestor
req['signature'] = pr.signature.encode('hex')
@ -740,16 +755,6 @@ class ElectrumWindow(QMainWindow):
self.save_request_button.setEnabled(False)
return pr
def make_bip70_request(self, req):
alias_privkey = None
alias = self.config.get('alias')
if alias and self.alias_info:
alias_addr, alias_name, validated = self.alias_info
if alias_addr and self.wallet.is_mine(alias_addr):
password = self.password_dialog(_('Please enter your password in order to sign your payment request.'))
if password:
alias_privkey = self.wallet.get_private_key(alias_addr, password)[0]
return paymentrequest.make_request(self.config, req, alias, alias_privkey)
def export_payment_request(self, addr):
r = self.wallet.receive_requests.get(addr)