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