Test if initialized to determine watching only

Prepares for device wipe functionality
This commit is contained in:
Neil Booth 2016-01-03 09:18:29 +09:00
parent f3e6bf0280
commit 9eaf510ac6
2 changed files with 10 additions and 3 deletions

View File

@ -80,11 +80,17 @@ def trezor_client_class(protocol_mixin, base_client, proto):
return "%s/%s/%s" % (self.label(), self.device_id(), self.path[0])
def label(self):
'''The name given by the user to the device.'''
return self.features.label
def device_id(self):
'''The device serial number.'''
return self.features.device_id
def is_initialized(self):
'''True if initialized, False if wiped.'''
return self.features.initialized
def handler(self):
assert self.wallet and self.wallet.handler
return self.wallet.handler

View File

@ -49,10 +49,11 @@ class TrezorCompatibleWallet(BIP44_Wallet):
return False
def is_watching_only(self):
'''The wallet is watching-only if its trezor device is not
connected. This result is dynamic and changes over time.'''
'''The wallet is watching-only if its trezor device is not connected,
or if it is connected but uninitialized.'''
assert not self.has_seed()
return self.plugin.lookup_client(self) is None
client = self.plugin.lookup_client(self)
return not (client and client.is_initialized())
def can_change_password(self):
return False