URI: 
       tHardware wallets don't have seeds - electrum - Electrum Bitcoin wallet
  HTML git clone https://git.parazyd.org/electrum
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
       ---
   DIR commit b8f2d9dfd486ddc653adc4235b3ccae454450c73
   DIR parent f263f8b0fd7df4777d1f3672cdc5c722d58621c8
  HTML Author: Neil Booth <kyuupichan@gmail.com>
       Date:   Thu, 31 Dec 2015 09:56:05 +0900
       
       Hardware wallets don't have seeds
       
       Diffstat:
         M plugins/ledger/ledger.py            |       5 +----
         M plugins/trezor/plugin.py            |       5 +----
       
       2 files changed, 2 insertions(+), 8 deletions(-)
       ---
   DIR diff --git a/plugins/ledger/ledger.py b/plugins/ledger/ledger.py
       t@@ -70,6 +70,7 @@ class BTChipWallet(BIP32_HD_Wallet):
                return False
        
            def is_watching_only(self):
       +        assert not self.has_seed()
                return self.force_watching_only
        
            def get_client(self, noPin=False):
       t@@ -206,8 +207,6 @@ class BTChipWallet(BIP32_HD_Wallet):
                self.give_error("Not supported")
        
            def sign_message(self, address, message, password):
       -        if self.has_seed():
       -            return BIP32_HD_Wallet.sign_message(self, address, message, password)
                use2FA = False
                self.signing = True
                self.get_client() # prompt for the PIN before displaying the dialog if necessary
       t@@ -258,8 +257,6 @@ class BTChipWallet(BIP32_HD_Wallet):
                return chr(27 + 4 + (signature[0] & 0x01)) + r + s
        
            def sign_transaction(self, tx, password):
       -        if self.has_seed():
       -            return BIP32_HD_Wallet.sign_transaction(self, tx, password)
                if tx.is_complete():
                    return
                self.signing = True
   DIR diff --git a/plugins/trezor/plugin.py b/plugins/trezor/plugin.py
       t@@ -36,6 +36,7 @@ class TrezorCompatibleWallet(BIP44_Wallet):
                return False
        
            def is_watching_only(self):
       +        assert not self.has_seed()
                return not self.proper_device
        
            def can_change_password(self):
       t@@ -68,8 +69,6 @@ class TrezorCompatibleWallet(BIP44_Wallet):
                raise RuntimeError(_('Decrypt method is not implemented'))
        
            def sign_message(self, address, message, password):
       -        if self.has_seed():
       -            return BIP32_HD_Wallet.sign_message(self, address, message, password)
                self.check_proper_device()
                try:
                    address_path = self.address_id(address)
       t@@ -88,8 +87,6 @@ class TrezorCompatibleWallet(BIP44_Wallet):
            def sign_transaction(self, tx, password):
                if tx.is_complete() or self.is_watching_only():
                    return
       -        if self.has_seed():
       -            return BIP32_HD_Wallet.sign_transaction(self, tx, password)
                self.check_proper_device()
                # previous transactions used as inputs
                prev_tx = {}