URI: 
       tkivy: allow address reuse in imported wallets. (fix #6852) - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit 06b9d485351e48967390b3b7edac181f0579a994
   DIR parent 43614af2c4557726daa4576a381fe63f8387c542
  HTML Author: ThomasV <thomasv@electrum.org>
       Date:   Wed, 16 Dec 2020 10:05:17 +0100
       
       kivy: allow address reuse in imported wallets. (fix #6852)
       
       Diffstat:
         M electrum/gui/kivy/uix/dialogs/requ… |       4 ++++
         M electrum/gui/kivy/uix/screens.py    |       7 +++++--
       
       2 files changed, 9 insertions(+), 2 deletions(-)
       ---
   DIR diff --git a/electrum/gui/kivy/uix/dialogs/request_dialog.py b/electrum/gui/kivy/uix/dialogs/request_dialog.py
       t@@ -116,6 +116,10 @@ class RequestDialog(Factory.Popup):
                if self.status == PR_UNPAID and self.is_lightning and self.app.wallet.lnworker:
                    if self.amount_sat and self.amount_sat > self.app.wallet.lnworker.num_sats_can_receive():
                        self.warning = _('Warning') + ': ' + _('This amount exceeds the maximum you can currently receive with your channels')
       +        if self.status == PR_UNPAID and not self.is_lightning:
       +            address = req.get_address()
       +            if self.app.wallet.is_used(address):
       +                self.warning = _('Warning') + ': ' + _('This address is being reused')
        
            def on_dismiss(self):
                self.app.request_popup = None
   DIR diff --git a/electrum/gui/kivy/uix/screens.py b/electrum/gui/kivy/uix/screens.py
       t@@ -491,8 +491,11 @@ class ReceiveScreen(CScreen):
                else:
                    addr = self.address or self.app.wallet.get_unused_address()
                    if not addr:
       -                self.app.show_info(_('No address available. Please remove some of your pending requests.'))
       -                return
       +                if not self.app.wallet.is_deterministic():
       +                    addr = self.app.wallet.get_receiving_address()
       +                else:
       +                    self.app.show_info(_('No address available. Please remove some of your pending requests.'))
       +                    return
                    self.address = addr
                    req = self.app.wallet.make_payment_request(addr, amount, message, self.expiry())
                    self.app.wallet.add_payment_request(req)