1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-02-11 23:22:50 +00:00
trezor-firmware/tests/upgrade_tests/recovery_old.py

47 lines
1.2 KiB
Python
Raw Permalink Normal View History

from typing import TYPE_CHECKING
from .. import buttons
if TYPE_CHECKING:
from trezorlib.debuglink import DebugLink, LayoutContent
def _enter_word(
debug: "DebugLink", word: str, is_slip39: bool = False
) -> "LayoutContent":
typed_word = word[:4]
for coords in buttons.type_word(typed_word, is_slip39=is_slip39):
debug.click(coords)
debug.read_layout(wait=False)
debug.click(buttons.CONFIRM_WORD)
return debug.read_layout(wait=True)
def confirm_recovery(debug: "DebugLink") -> None:
2023-11-21 12:51:59 +00:00
debug.click(buttons.OK)
debug.read_layout(wait=True)
2023-11-21 12:51:59 +00:00
def select_number_of_words(debug: "DebugLink", num_of_words: int = 20) -> None:
debug.click(buttons.OK)
debug.read_layout(wait=True)
# click the number
word_option_offset = 6
word_options = (12, 18, 20, 24, 33)
index = word_option_offset + word_options.index(
num_of_words
) # raises if num of words is invalid
coords = buttons.grid34(index % 3, index // 3)
2023-11-21 12:51:59 +00:00
debug.click(coords)
debug.read_layout(wait=True)
def enter_share(debug: "DebugLink", share: str) -> "LayoutContent":
debug.click(buttons.OK)
for word in share.split(" "):
_enter_word(debug, word, is_slip39=True)
return debug.read_layout(wait=True)