tDefault to unused address for privkey sweeps - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit 97568bedf59d6c738b19691c81b2ecd74035c08c DIR parent 7d0d2f20976c7f0867f88f28b0d000ec9158b9ad HTML Author: Neil Booth <kyuupichan@gmail.com> Date: Mon, 26 Oct 2015 20:31:41 +0900 Default to unused address for privkey sweeps Fixes #1506 - New function wallet.get_unused_addresses - Have wallet.get_unused_address use it - Use it for the sweep key dialog Diffstat: M gui/qt/main_window.py | 3 ++- M lib/wallet.py | 12 ++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) --- DIR diff --git a/gui/qt/main_window.py b/gui/qt/main_window.py t@@ -2482,7 +2482,8 @@ class ElectrumWindow(QMainWindow, PrintError): keys_e.setTabChangesFocus(True) vbox.addWidget(keys_e) - h, address_e = address_field(self.wallet.addresses(False)) + addresses = self.wallet.get_unused_addresses(self.current_account) + h, address_e = address_field(addresses) vbox.addLayout(h) vbox.addStretch(1) DIR diff --git a/lib/wallet.py b/lib/wallet.py t@@ -1258,12 +1258,16 @@ class Abstract_Wallet(PrintError): def can_change_password(self): return not self.is_watching_only() - def get_unused_address(self, account): + def get_unused_addresses(self, account): # fixme: use slots from expired requests domain = self.get_account_addresses(account, include_change=False) - for addr in domain: - if not self.history.get(addr) and addr not in self.receive_requests.keys(): - return addr + return [addr for addr in domain if not self.history.get(addr) + and addr not in self.receive_requests.keys()] + + def get_unused_address(self, account): + addrs = self.get_unused_addresses(account) + if addrs: + return addrs[0] def get_payment_request(self, addr, config): import util