if self.gui_object.payment_request:
outputs = self.gui_object.payment_request.outputs
- amount = self.gui_object.payment_request.get_amount()
else:
outputs = self.payto_e.get_outputs()
- amount = sum(map(lambda x:x[1], outputs))
+
+ if not outputs:
+ QMessageBox.warning(self, _('Error'), _('No outputs'), _('OK'))
+ return
+
+ for addr, x in outputs:
+ if addr is None or not bitcoin.is_address(addr):
+ QMessageBox.warning(self, _('Error'), _('Invalid Bitcoin Address'), _('OK'))
+ return
+ if type(x) is not int:
+ QMessageBox.warning(self, _('Error'), _('Invalid Amount'), _('OK'))
+ return
+
+ amount = sum(map(lambda x:x[1], outputs))
try:
fee = self.fee_e.get_amount()
self.setMaximumHeight(27)
self.c = None
self.textChanged.connect(self.check_text)
+ self.outputs = []
def lock_amount(self):
self.amount_edit.setFrozen(True)
self.payto_address = self.parse_address(lines[0])
except:
pass
+
if self.payto_address:
self.unlock_amount()
+ try:
+ amount = self.amount_edit.get_amount()
+ except:
+ amount = None
+
+ self.outputs = [(self.payto_address, amount)]
return
for line in lines:
self.unlock_amount()
-
def get_outputs(self):
-
- if self.payto_address:
-
- if not bitcoin.is_address(self.payto_address):
- QMessageBox.warning(self, _('Error'), _('Invalid Bitcoin Address') + ':\n' + self.payto_address, _('OK'))
- return
-
- try:
- amount = self.amount_edit.get_amount()
- except Exception:
- QMessageBox.warning(self, _('Error'), _('Invalid Amount'), _('OK'))
- return
-
- outputs = [(self.payto_address, amount)]
- return outputs
-
return self.outputs