improve payreq signing message
This commit is contained in:
parent
677f235e4b
commit
7588519e8e
|
@ -730,7 +730,22 @@ class ElectrumWindow(QMainWindow):
|
||||||
i = self.expires_combo.currentIndex()
|
i = self.expires_combo.currentIndex()
|
||||||
expiration = map(lambda x: x[1], expiration_values)[i]
|
expiration = map(lambda x: x[1], expiration_values)[i]
|
||||||
req = self.wallet.make_payment_request(addr, amount, message, expiration)
|
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:
|
if requestor:
|
||||||
req['requestor'] = requestor
|
req['requestor'] = requestor
|
||||||
req['signature'] = pr.signature.encode('hex')
|
req['signature'] = pr.signature.encode('hex')
|
||||||
|
@ -740,16 +755,6 @@ class ElectrumWindow(QMainWindow):
|
||||||
self.save_request_button.setEnabled(False)
|
self.save_request_button.setEnabled(False)
|
||||||
return pr
|
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):
|
def export_payment_request(self, addr):
|
||||||
r = self.wallet.receive_requests.get(addr)
|
r = self.wallet.receive_requests.get(addr)
|
||||||
|
|
Loading…
Reference in New Issue