Browse Source

trezor: minor things for better model "safe 3" support

master
SomberNight 2 years ago
parent
commit
6172898a03
No known key found for this signature in database
GPG Key ID: B33B5F232C6271E9
  1. 14
      electrum/plugins/trezor/clientbase.py
  2. 11
      electrum/plugins/trezor/qt.py

14
electrum/plugins/trezor/clientbase.py

@ -203,7 +203,7 @@ class TrezorClientBase(HardwareClientBase, Logger):
return self.client.version >= self.plugin.minimum_firmware return self.client.version >= self.plugin.minimum_firmware
def get_trezor_model(self): def get_trezor_model(self):
"""Returns '1' for Trezor One, 'T' for Trezor T.""" """Returns '1' for Trezor One, 'T' for Trezor T, etc."""
return self.features.model return self.features.model
def device_model_name(self): def device_model_name(self):
@ -212,6 +212,8 @@ class TrezorClientBase(HardwareClientBase, Logger):
return "Trezor One" return "Trezor One"
elif model == 'T': elif model == 'T':
return "Trezor T" return "Trezor T"
elif model == "Safe 3":
return "Trezor Safe 3"
return None return None
@runs_in_hwd_thread @runs_in_hwd_thread
@ -290,10 +292,12 @@ class TrezorClientBase(HardwareClientBase, Logger):
# check PIN length. Depends on model and firmware version # check PIN length. Depends on model and firmware version
# https://github.com/trezor/trezor-firmware/issues/1167 # https://github.com/trezor/trezor-firmware/issues/1167
limit = 9 limit = 9
if self.features.model == "1" and (1, 10, 0) <= self.client.version: if self.get_trezor_model() == "1":
limit = 50 if (1, 10, 0) <= self.client.version:
elif self.features.model == "T" and (2, 4, 0) <= self.client.version: limit = 50
limit = 50 else:
if (2, 4, 0) <= self.client.version:
limit = 50
if len(pin) > limit: if len(pin) > limit:
self.handler.show_error(_('The PIN cannot be longer than {} characters.').format(limit)) self.handler.show_error(_('The PIN cannot be longer than {} characters.').format(limit))
raise Cancelled raise Cancelled

11
electrum/plugins/trezor/qt.py

@ -425,8 +425,15 @@ class InitSettingsLayout(QVBoxLayout):
if method == TIM_NEW: if method == TIM_NEW:
self.cb_no_backup = QCheckBox(_('Enable seedless mode')) self.cb_no_backup = QCheckBox(_('Enable seedless mode'))
self.cb_no_backup.setChecked(False) self.cb_no_backup.setChecked(False)
if (model == '1' and fw_version >= (1, 7, 1) supports_no_backup = False
or model == 'T' and fw_version >= (2, 0, 9)): if model == '1':
if fw_version >= (1, 7, 1):
supports_no_backup = True
else:
if fw_version >= (2, 0, 9):
supports_no_backup = True
if supports_no_backup:
self.cb_no_backup.setEnabled(True)
self.cb_no_backup.setToolTip(SEEDLESS_MODE_WARNING) self.cb_no_backup.setToolTip(SEEDLESS_MODE_WARNING)
else: else:
self.cb_no_backup.setEnabled(False) self.cb_no_backup.setEnabled(False)

Loading…
Cancel
Save