X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=gui%2Fqt%2Fmain_window.py;h=c83a6f78cef63aa57f9ca7c3acb616bb9f6c9cd8;hb=042c65939dde0eae0736f778703ae734e513e142;hp=cd46e8908be7d692268ecae6f427b0483084e94f;hpb=101fe08ac8270631e484ab06785d663d3f872673;p=electrum-nvc.git diff --git a/gui/qt/main_window.py b/gui/qt/main_window.py index cd46e89..c83a6f7 100644 --- a/gui/qt/main_window.py +++ b/gui/qt/main_window.py @@ -765,7 +765,7 @@ class ElectrumWindow(QMainWindow): self.receive_requests = self.wallet.storage.get('receive_requests',{}) domain = self.wallet.get_account_addresses(self.current_account, include_change=False) for addr in domain: - if not self.wallet.address_is_old(addr) and addr not in self.receive_requests.keys(): + if not self.wallet.history.get(addr) and addr not in self.receive_requests.keys(): break else: addr = '' @@ -991,20 +991,20 @@ class ElectrumWindow(QMainWindow): QMessageBox.warning(self, _('Error'), _('No outputs'), _('OK')) return - for addr, x in outputs: + for type, addr, amount in outputs: if addr is None: QMessageBox.warning(self, _('Error'), _('Bitcoin Address is None'), _('OK')) return - if addr.startswith('OP_RETURN:'): + if type == 'op_return': continue - if not bitcoin.is_address(addr): + if type == 'address' and not bitcoin.is_address(addr): QMessageBox.warning(self, _('Error'), _('Invalid Bitcoin Address'), _('OK')) return - if x is None: + if amount is None: QMessageBox.warning(self, _('Error'), _('Invalid Amount'), _('OK')) return - amount = sum(map(lambda x:x[1], outputs)) + amount = sum(map(lambda x:x[2], outputs)) fee = self.fee_e.get_amount() if fee is None: @@ -1013,7 +1013,7 @@ class ElectrumWindow(QMainWindow): confirm_amount = self.config.get('confirm_amount', 100000000) if amount >= confirm_amount: - o = '\n'.join(map(lambda x:x[0], outputs)) + o = '\n'.join(map(lambda x:x[1], outputs)) if not self.question(_("send %(amount)s to %(address)s?")%{ 'amount' : self.format_amount(amount) + ' '+ self.base_unit(), 'address' : o}): return @@ -1060,6 +1060,7 @@ class ElectrumWindow(QMainWindow): self.wallet.add_keypairs(tx, keypairs, password) self.wallet.sign_transaction(tx, keypairs, password) except Exception as e: + traceback.print_exc(file=sys.stdout) tx.error = str(e) return tx @@ -1775,7 +1776,7 @@ class ElectrumWindow(QMainWindow): self.wallet.create_pending_account(name, password) self.update_address_tab() - self.tabs.setCurrentIndex(2) + self.tabs.setCurrentIndex(3) @@ -1987,7 +1988,7 @@ class ElectrumWindow(QMainWindow): pubkey_e = QLineEdit() if address: - pubkey = self.wallet.getpubkeys(address)[0] + pubkey = self.wallet.get_public_keys(address)[0] pubkey_e.setText(pubkey) layout.addWidget(QLabel(_('Public key')), 2, 0) layout.addWidget(pubkey_e, 2, 1) @@ -2063,7 +2064,7 @@ class ElectrumWindow(QMainWindow): if is_hex: try: - return Transaction(txt) + return Transaction.deserialize(txt) except: traceback.print_exc(file=sys.stdout) QMessageBox.critical(None, _("Unable to parse transaction"), _("Electrum was unable to parse your transaction")) @@ -2072,7 +2073,7 @@ class ElectrumWindow(QMainWindow): try: tx_dict = json.loads(str(txt)) assert "hex" in tx_dict.keys() - tx = Transaction(tx_dict["hex"]) + tx = Transaction.deserialize(tx_dict["hex"]) #if tx_dict.has_key("input_info"): # input_info = json.loads(tx_dict['input_info']) # tx.add_input_info(input_info) @@ -2123,7 +2124,7 @@ class ElectrumWindow(QMainWindow): if ok and txid: r = self.network.synchronous_get([ ('blockchain.transaction.get',[str(txid)]) ])[0] if r: - tx = transaction.Transaction(r) + tx = transaction.Transaction.deserialize(r) if tx: self.show_transaction(tx) else: @@ -2136,12 +2137,12 @@ class ElectrumWindow(QMainWindow): try: for position, row in enumerate(csvReader): address = row[0] - if not is_valid(address): + if not is_address(address): errors.append((position, address)) continue amount = Decimal(row[1]) amount = int(100000000*amount) - outputs.append((address, amount)) + outputs.append(('address', address, amount)) except (ValueError, IOError, os.error), reason: QMessageBox.critical(None, _("Unable to read file or no transaction found"), _("Electrum was unable to open your transaction file") + "\n" + str(reason)) return