Skip to content

Commit fee187d

Browse files
Improve client using ragger defined firmware instead of strings
1 parent 3fdd0bc commit fee187d

File tree

2 files changed

+21
-22
lines changed

2 files changed

+21
-22
lines changed

client/src/ledger_app_clients/ethereum/eip712/InputData.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
from client import keychain
1111
from client.client import EthAppClient, EIP712FieldType
1212

13+
from ragger.firmware import Firmware
1314

1415
# global variables
1516
app_client: EthAppClient = None
@@ -391,7 +392,7 @@ def next_timeout(_signum: int, _frame):
391392

392393

393394
def enable_autonext():
394-
if app_client._client.firmware.device in ("stax", "flex"):
395+
if app_client._client.firmware in (Firmware.STAX, Firmware.FLEX):
395396
delay = 1/3
396397
else:
397398
delay = 1/4

client/src/ledger_app_clients/ethereum/settings.py

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -11,31 +11,29 @@ class SettingID(Enum):
1111
DEBUG_DATA = auto()
1212

1313

14-
def get_device_settings(device: str) -> list[SettingID]:
15-
if device == "nanos":
14+
def get_device_settings(firmware: Firmware) -> list[SettingID]:
15+
if firmware == Firmware.NANOS:
1616
return [
1717
SettingID.NONCE,
1818
SettingID.DEBUG_DATA,
1919
]
20-
if device in ("nanox", "nanosp", "stax", "flex"):
21-
return [
22-
SettingID.VERBOSE_ENS,
23-
SettingID.VERBOSE_EIP712,
24-
SettingID.NONCE,
25-
SettingID.DEBUG_DATA,
26-
]
27-
return []
20+
return [
21+
SettingID.VERBOSE_ENS,
22+
SettingID.VERBOSE_EIP712,
23+
SettingID.NONCE,
24+
SettingID.DEBUG_DATA,
25+
]
2826

2927

30-
def get_setting_per_page(device: str) -> int:
31-
if device == "stax":
28+
def get_setting_per_page(firmware: Firmware) -> int:
29+
if firmware == Firmware.STAX:
3230
return 3
3331
return 2
3432

3533

36-
def get_setting_position(device: str, setting: Union[NavInsID, SettingID]) -> tuple[int, int]:
37-
settings_per_page = get_setting_per_page(device)
38-
if device == "stax":
34+
def get_setting_position(firmware: Firmware, setting: Union[NavInsID, SettingID]) -> tuple[int, int]:
35+
settings_per_page = get_setting_per_page(firmware)
36+
if firmware == Firmware.STAX:
3937
screen_height = 672 # px
4038
header_height = 88 # px
4139
footer_height = 92 # px
@@ -47,15 +45,15 @@ def get_setting_position(device: str, setting: Union[NavInsID, SettingID]) -> tu
4745
option_offset = 420 # px
4846
usable_height = screen_height - (header_height + footer_height)
4947
setting_height = usable_height // settings_per_page
50-
index_in_page = get_device_settings(device).index(SettingID(setting)) % settings_per_page
48+
index_in_page = get_device_settings(firmware).index(SettingID(setting)) % settings_per_page
5149
return option_offset, header_height + (setting_height * index_in_page) + (setting_height // 2)
5250

5351

54-
def settings_toggle(fw: Firmware, nav: Navigator, to_toggle: list[SettingID]):
52+
def settings_toggle(firmware: Firmware, nav: Navigator, to_toggle: list[SettingID]):
5553
moves: list[Union[NavIns, NavInsID]] = list()
56-
settings = get_device_settings(fw.device)
54+
settings = get_device_settings(firmware)
5755
# Assume the app is on the home page
58-
if fw.device.startswith("nano"):
56+
if firmware.is_nano:
5957
moves += [NavInsID.RIGHT_CLICK] * 2
6058
moves += [NavInsID.BOTH_CLICK]
6159
for setting in settings:
@@ -65,12 +63,12 @@ def settings_toggle(fw: Firmware, nav: Navigator, to_toggle: list[SettingID]):
6563
moves += [NavInsID.BOTH_CLICK] # Back
6664
else:
6765
moves += [NavInsID.USE_CASE_HOME_SETTINGS]
68-
settings_per_page = get_setting_per_page(fw.device)
66+
settings_per_page = get_setting_per_page(firmware)
6967
for setting in settings:
7068
setting_idx = settings.index(setting)
7169
if (setting_idx > 0) and (setting_idx % settings_per_page) == 0:
7270
moves += [NavInsID.USE_CASE_SETTINGS_NEXT]
7371
if setting in to_toggle:
74-
moves += [NavIns(NavInsID.TOUCH, get_setting_position(fw.device, setting))]
72+
moves += [NavIns(NavInsID.TOUCH, get_setting_position(firmware, setting))]
7573
moves += [NavInsID.USE_CASE_SETTINGS_MULTI_PAGE_EXIT]
7674
nav.navigate(moves, screen_change_before_first_instruction=False)

0 commit comments

Comments
 (0)