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]) return "%s/%s/%s" % (self.label(), self.device_id(), self.path[0])
def label(self): def label(self):
'''The name given by the user to the device.'''
return self.features.label return self.features.label
def device_id(self): def device_id(self):
'''The device serial number.'''
return self.features.device_id return self.features.device_id
def is_initialized(self):
'''True if initialized, False if wiped.'''
return self.features.initialized
def handler(self): def handler(self):
assert self.wallet and self.wallet.handler assert self.wallet and self.wallet.handler
return self.wallet.handler return self.wallet.handler

View File

@ -49,10 +49,11 @@ class TrezorCompatibleWallet(BIP44_Wallet):
return False return False
def is_watching_only(self): def is_watching_only(self):
'''The wallet is watching-only if its trezor device is not '''The wallet is watching-only if its trezor device is not connected,
connected. This result is dynamic and changes over time.''' or if it is connected but uninitialized.'''
assert not self.has_seed() 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): def can_change_password(self):
return False return False