diff --git a/docs/tests/device-tests.md b/docs/tests/device-tests.md index eddd83d705..037f63a436 100644 --- a/docs/tests/device-tests.md +++ b/docs/tests/device-tests.md @@ -120,6 +120,7 @@ Arguments can be a list of internal model names, or one of the following shortcu * `safe` - Trezor Safe family * `safe3` - Trezor Safe 3 (covers T2B1 and T2T1) * `delizia` - covers the `delizia` UI (currently T3T1 only) +* `eckhart` - covers the `eckhart` UI (currently T3W1 only) You can specify a list as positional arguments, and exclude from it via `skip` keyword argument. diff --git a/python/src/trezorlib/debuglink.py b/python/src/trezorlib/debuglink.py index 2d088be5f3..89d93e03e0 100644 --- a/python/src/trezorlib/debuglink.py +++ b/python/src/trezorlib/debuglink.py @@ -403,6 +403,20 @@ class LayoutContent(UnstructuredJSONReader): return "" return footer.get("description", "") + " " + footer.get("instruction", "") + def action_bar(self) -> str: + action_bar = self.find_unique_object_with_key_and_value( + "component", "ActionBar" + ) + if not action_bar: + return "" + right_button = action_bar.get("right_button", "") + left_button = action_bar.get("left_button", "") + if isinstance(left_button, dict): + left_button = left_button.get("text", "") + if isinstance(right_button, dict): + right_button = right_button.get("text", "") + return left_button + " " + right_button + def multipage_content(layouts: list[LayoutContent]) -> str: """Get overall content from multiple-page layout.""" @@ -829,7 +843,10 @@ class DebugUI: # Paginating (going as further as possible) and pressing Yes if br.pages is not None: for _ in range(br.pages - 1): - self.debuglink.swipe_up() + if self.debuglink.model is models.T3W1: + self.debuglink.click(self.debuglink.screen_buttons.ok()) + else: + self.debuglink.swipe_up() if self.debuglink.model is models.T3T1: layout = self.debuglink.read_layout() @@ -839,6 +856,12 @@ class DebugUI: self.debuglink.swipe_up() else: self.debuglink.press_yes() + elif self.debuglink.model is models.T3W1: + layout = self.debuglink.read_layout() + if "TextComponent" in layout.all_components(): + self.debuglink.click(self.debuglink.screen_buttons.ok()) + else: + self.debuglink.press_yes() else: self.debuglink.press_yes() @@ -1413,14 +1436,24 @@ def optiga_set_sec_max(client: "TrezorClient") -> None: class ScreenButtons: def __init__(self, layout_type: LayoutType): - assert layout_type in (LayoutType.Bolt, LayoutType.Delizia) + assert layout_type in (LayoutType.Bolt, LayoutType.Delizia, LayoutType.Eckhart) self.layout_type = layout_type def _width(self) -> int: - return 240 + if self.layout_type in (LayoutType.Bolt, LayoutType.Delizia): + return 240 + elif self.layout_type is LayoutType.Eckhart: + return 380 + else: + raise ValueError("Wrong layout type") def _height(self) -> int: - return 240 + if self.layout_type in (LayoutType.Bolt, LayoutType.Delizia): + return 240 + elif self.layout_type is LayoutType.Eckhart: + return 520 + else: + raise ValueError("Wrong layout type") def _grid(self, dim: int, grid_cells: int, cell: int) -> int: assert cell < grid_cells @@ -1430,13 +1463,24 @@ class ScreenButtons: # 3 columns, 4 rows, 1st row is input area def _grid35(self, x: int, y: int) -> Coords: + assert x < 3, y < 5 return self._grid(self._width(), 3, x), self._grid(self._height(), 5, y) + def _grid55(self, x: int, y: int) -> Coords: + assert x < 5, y < 5 + return self._grid(self._width(), 5, x), self._grid(self._height(), 5, y) + # TODO: do not expose this # 3 columns, 3 rows, 1st row is input area def grid34(self, x: int, y: int) -> Coords: + assert x < 3, y < 4 return self._grid(self._width(), 3, x), self._grid(self._height(), 4, y) + # 2 columns, 3 rows, first two are header and description + def _grid25(self, x: int, y: int) -> Coords: + assert x < 2, y < 5 + return self._grid(self._width(), 2, x), self._grid(self._height(), 5, y) + # Horizontal coordinates def _left(self) -> int: return self._grid(self._width(), 3, 0) @@ -1470,10 +1514,7 @@ class ScreenButtons: # Menu/close menu button def menu(self) -> Coords: - if self.layout_type in (LayoutType.Bolt, LayoutType.Delizia): - return (215, 25) - else: - raise ValueError("Wrong layout type") + return self._grid55(4, 0) # Center of the screen def tap_to_confirm(self) -> Coords: @@ -1482,12 +1523,20 @@ class ScreenButtons: # Yes/No decision component def ui_yes(self) -> Coords: - assert self.layout_type is LayoutType.Delizia - return self.grid34(2, 2) + if self.layout_type is LayoutType.Delizia: + return self.grid34(2, 2) + elif self.layout_type is LayoutType.Eckhart: + return self.ok() + else: + raise ValueError("Wrong layout type") def ui_no(self) -> Coords: - assert self.layout_type is LayoutType.Delizia - return self.grid34(0, 2) + if self.layout_type is LayoutType.Delizia: + return self.grid34(0, 2) + elif self.layout_type is LayoutType.Eckhart: + return self.cancel() + else: + raise ValueError("Wrong layout type") # +/- buttons in number input component def number_input_minus(self) -> Coords: @@ -1495,6 +1544,8 @@ class ScreenButtons: return (self._left(), self._grid(self._height(), 5, 1)) elif self.layout_type is LayoutType.Delizia: return (self._left(), self._grid(self._height(), 5, 3)) + elif self.layout_type is LayoutType.Eckhart: + return self.grid34(0, 2) else: raise ValueError("Wrong layout type") @@ -1503,6 +1554,8 @@ class ScreenButtons: return (self._right(), self._grid(self._height(), 5, 1)) elif self.layout_type is LayoutType.Delizia: return (self._right(), self._grid(self._height(), 5, 3)) + elif self.layout_type is LayoutType.Eckhart: + return self.grid34(2, 2) else: raise ValueError("Wrong layout type") @@ -1524,6 +1577,14 @@ class ScreenButtons: 24: self.grid34(2, 2), 33: self.grid34(2, 3), } + elif self.layout_type is LayoutType.Eckhart: + coords_map = { + 12: self._grid35(0, 2), + 18: self._grid35(2, 2), + 20: self._grid35(0, 3), + 24: self._grid35(2, 3), + 33: self._grid35(2, 4), + } else: raise ValueError("Wrong layout type") @@ -1532,10 +1593,10 @@ class ScreenButtons: def word_count_all_cancel(self) -> Coords: if self.layout_type is LayoutType.Bolt: return self.grid34(0, 3) - elif self.layout_type is LayoutType.Delizia: return self.grid34(0, 3) - + elif self.layout_type is LayoutType.Eckhart: + return self._grid35(0, 4) else: raise ValueError("Wrong layout type") @@ -1551,6 +1612,11 @@ class ScreenButtons: 20: self.grid34(0, 1), 33: self.grid34(2, 1), } + elif self.layout_type is LayoutType.Eckhart: + coords_map = { + 20: self._grid35(1, 2), + 33: self._grid35(1, 3), + } else: raise ValueError("Wrong layout type") @@ -1559,16 +1625,22 @@ class ScreenButtons: def word_count_repeated_cancel(self) -> Coords: if self.layout_type is LayoutType.Bolt: return self.grid34(0, 2) - elif self.layout_type is LayoutType.Delizia: return self.grid34(0, 3) - + elif self.layout_type is LayoutType.Eckhart: + return self._grid35(1, 4) else: raise ValueError("Wrong layout type") # select word component buttons def word_check_words(self) -> "list[Coords]": if self.layout_type in (LayoutType.Bolt, LayoutType.Delizia): + return [ + (self._mid(), self._grid(self._height(), 4, 1)), + (self._mid(), self._grid(self._height(), 4, 2)), + (self._mid(), self._grid(self._height(), 4, 3)), + ] + elif self.layout_type is LayoutType.Eckhart: return [ (self._mid(), self._grid(self._height(), 5, 2)), (self._mid(), self._grid(self._height(), 5, 3)), @@ -1579,13 +1651,20 @@ class ScreenButtons: # vertical menu buttons def vertical_menu_items(self) -> "list[Coords]": - assert self.layout_type is LayoutType.Delizia - - return [ - (self._mid(), self._grid(self._height(), 4, 1)), - (self._mid(), self._grid(self._height(), 4, 2)), - (self._mid(), self._grid(self._height(), 4, 3)), - ] + if self.layout_type is LayoutType.Delizia: + return [ + (self._mid(), self._grid(self._height(), 4, 1)), + (self._mid(), self._grid(self._height(), 4, 2)), + (self._mid(), self._grid(self._height(), 4, 3)), + ] + elif self.layout_type is LayoutType.Eckhart: + return [ + (self._mid(), self._grid(self._height(), 5, 1)), + (self._mid(), self._grid(self._height(), 5, 2)), + (self._mid(), self._grid(self._height(), 5, 3)), + ] + else: + raise ValueError("Wrong layout type") # Pin/passphrase keyboards def pin_passphrase_index(self, idx: int) -> Coords: @@ -1595,7 +1674,6 @@ class ScreenButtons: return self.pin_passphrase_grid(idx % 3, idx // 3) def pin_passphrase_grid(self, x: int, y: int) -> Coords: - assert x < 3, y < 4 y += 1 # first line is empty return self._grid35(x, y) @@ -1607,10 +1685,10 @@ class ScreenButtons: return self.pin_passphrase_grid(0, 3) def passphrase_confirm(self) -> Coords: - if self.layout_type is LayoutType.Bolt: + if self.layout_type in (LayoutType.Bolt, LayoutType.Eckhart): return self.pin_passphrase_grid(2, 3) elif self.layout_type is LayoutType.Delizia: - return (215, 25) + return self._grid55(4, 0) else: raise ValueError("Wrong layout type") @@ -1619,19 +1697,34 @@ class ScreenButtons: # Mnemonic keyboard def mnemonic_from_index(self, idx: int) -> Coords: + assert idx < 9 return self.mnemonic_grid(idx) def mnemonic_grid(self, idx: int) -> Coords: - assert idx < 9 grid_x = idx % 3 grid_y = idx // 3 + 1 # first line is empty - return self.grid34(grid_x, grid_y) + if self.layout_type in (LayoutType.Bolt, LayoutType.Delizia): + return self.grid34(grid_x, grid_y) + elif self.layout_type is LayoutType.Eckhart: + return self._grid35(grid_x, grid_y) + else: + raise ValueError("Wrong layout type") def mnemonic_erase(self) -> Coords: - return (self._left(), self._top()) + if self.layout_type in (LayoutType.Bolt, LayoutType.Delizia): + return (self._left(), self._top()) + elif self.layout_type is LayoutType.Eckhart: + return self._grid35(0, 4) + else: + raise ValueError("Wrong layout type") def mnemonic_confirm(self) -> Coords: - return (self._mid(), self._top()) + if self.layout_type in (LayoutType.Bolt, LayoutType.Delizia): + return (self._mid(), self._top()) + elif self.layout_type is LayoutType.Eckhart: + return self._grid35(2, 4) + else: + raise ValueError("Wrong layout type") BUTTON_LETTERS_BIP39 = ("abc", "def", "ghi", "jkl", "mno", "pqr", "stu", "vwx", "yz") @@ -1639,9 +1732,9 @@ BUTTON_LETTERS_SLIP39 = ("ab", "cd", "ef", "ghij", "klm", "nopq", "rs", "tuv", " # fmt: off PASSPHRASE_LOWERCASE_BOLT = (" ", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz", "*#") -PASSPHRASE_LOWERCASE_DELIZIA = ("abc", "def", "ghi", "jkl", "mno", "pq", "rst", "uvw", "xyz", " *#") +PASSPHRASE_LOWERCASE_DE = ("abc", "def", "ghi", "jkl", "mno", "pq", "rst", "uvw", "xyz", " *#") PASSPHRASE_UPPERCASE_BOLT = (" ", "ABC", "DEF", "GHI", "JKL", "MNO", "PQRS", "TUV", "WXYZ", "*#") -PASSPHRASE_UPPERCASE_DELIZIA = ("ABC", "DEF", "GHI", "JKL", "MNO", "PQ", "RST", "UVW", "XYZ", " *#") +PASSPHRASE_UPPERCASE_DE = ("ABC", "DEF", "GHI", "JKL", "MNO", "PQ", "RST", "UVW", "XYZ", " *#") PASSPHRASE_DIGITS = ("1", "2", "3", "4", "5", "6", "7", "8", "9", "0") PASSPHRASE_SPECIAL = ("_<>", ".:@", "/|\\", "!()", "+%&", "-[]", "?{}", ",'`", ";\"~", "$^=") # fmt: on @@ -1655,15 +1748,15 @@ class ButtonActions: if char in " *#" or char.islower(): if self.buttons.layout_type is LayoutType.Bolt: return PASSPHRASE_LOWERCASE_BOLT - elif self.buttons.layout_type is LayoutType.Delizia: - return PASSPHRASE_LOWERCASE_DELIZIA + elif self.buttons.layout_type in (LayoutType.Delizia, LayoutType.Eckhart): + return PASSPHRASE_LOWERCASE_DE else: raise ValueError("Wrong layout type") elif char.isupper(): if self.buttons.layout_type is LayoutType.Bolt: return PASSPHRASE_UPPERCASE_BOLT - elif self.buttons.layout_type is LayoutType.Delizia: - return PASSPHRASE_UPPERCASE_DELIZIA + elif self.buttons.layout_type in (LayoutType.Delizia, LayoutType.Eckhart): + return PASSPHRASE_UPPERCASE_DE else: raise ValueError("Wrong layout type") elif char.isdigit(): diff --git a/python/src/trezorlib/models.py b/python/src/trezorlib/models.py index e7a4d9ea75..429d011db4 100644 --- a/python/src/trezorlib/models.py +++ b/python/src/trezorlib/models.py @@ -91,7 +91,7 @@ T3B1 = TrezorModel( ) T3W1 = TrezorModel( - name="T3W1", + name="Safe 7", internal_name="T3W1", minimum_version=(2, 1, 0), vendors=VENDORS, diff --git a/tdl.txt b/tdl.txt new file mode 100644 index 0000000000..1f0779733d --- /dev/null +++ b/tdl.txt @@ -0,0 +1,35 @@ +Bolt, cs-CZ, data len: 39086 +Bolt, de-DE, data len: 29076 +Bolt, es-ES, data len: 33260 +Bolt, fr-FR, data len: 40866 +Bolt, it-IT, data len: 26968 +Bolt, pt-BR, data len: 34044 +Bolt, tr-TR, data len: 28368 +Caesar, cs-CZ, data len: 28950 +Caesar, cs-CZ, data len: 28950 +Caesar, de-DE, data len: 26652 +Caesar, de-DE, data len: 26652 +Caesar, es-ES, data len: 28400 +Caesar, es-ES, data len: 28400 +Caesar, fr-FR, data len: 30084 +Caesar, fr-FR, data len: 30084 +Caesar, it-IT, data len: 24912 +Caesar, it-IT, data len: 24912 +Caesar, pt-BR, data len: 27844 +Caesar, pt-BR, data len: 27844 +Caesar, tr-TR, data len: 24486 +Caesar, tr-TR, data len: 24486 +Delizia, cs-CZ, data len: 43128 +Delizia, de-DE, data len: 30086 +Delizia, es-ES, data len: 35370 +Delizia, fr-FR, data len: 45456 +Delizia, it-IT, data len: 27802 +Delizia, pt-BR, data len: 36456 +Delizia, tr-TR, data len: 29960 +Eckhart, cs-CZ, data len: 43128 +Eckhart, de-DE, data len: 37382 +Eckhart, es-ES, data len: 49822 +Eckhart, fr-FR, data len: 45456 +Eckhart, it-IT, data len: 34010 +Eckhart, pt-BR, data len: 55336 +Eckhart, tr-TR, data len: 29960 diff --git a/tests/click_tests/common.py b/tests/click_tests/common.py index 869e847eea..8fbb552b7c 100644 --- a/tests/click_tests/common.py +++ b/tests/click_tests/common.py @@ -47,7 +47,7 @@ def get_char_category(char: str) -> PassphraseCategory: def go_next(debug: "DebugLink") -> LayoutContent: - if debug.layout_type is LayoutType.Bolt: + if debug.layout_type in (LayoutType.Bolt, LayoutType.Eckhart): debug.click(debug.screen_buttons.ok()) elif debug.layout_type is LayoutType.Caesar: debug.press_right() @@ -59,7 +59,7 @@ def go_next(debug: "DebugLink") -> LayoutContent: def go_back(debug: "DebugLink", r_middle: bool = False) -> LayoutContent: - if debug.layout_type in (LayoutType.Bolt, LayoutType.Delizia): + if debug.layout_type in (LayoutType.Bolt, LayoutType.Delizia, LayoutType.Eckhart): debug.click(debug.screen_buttons.cancel()) elif debug.layout_type is LayoutType.Caesar: if r_middle: @@ -114,7 +114,7 @@ def _carousel_steps(current_index: int, wanted_index: int, length: int) -> int: def unlock_gesture(debug: "DebugLink") -> LayoutContent: - if debug.layout_type is LayoutType.Bolt: + if debug.layout_type in (LayoutType.Bolt, LayoutType.Eckhart): debug.click(debug.screen_buttons.ok()) elif debug.layout_type is LayoutType.Caesar: debug.press_right() diff --git a/tests/click_tests/recovery.py b/tests/click_tests/recovery.py index 6fd71b5550..5592717bc4 100644 --- a/tests/click_tests/recovery.py +++ b/tests/click_tests/recovery.py @@ -15,11 +15,15 @@ DELETE_BTN_TEXTS = ("inputs__delete", "inputs__previous") def enter_word( debug: "DebugLink", word: str, is_slip39: bool = False ) -> "LayoutContent": - if debug.layout_type in (LayoutType.Bolt, LayoutType.Delizia): + if debug.layout_type in (LayoutType.Bolt, LayoutType.Delizia, LayoutType.Eckhart): typed_word = word[:4] for coords in debug.button_actions.type_word(typed_word, is_slip39=is_slip39): debug.click(coords) - if debug.layout_type is LayoutType.Delizia and not is_slip39 and len(word) > 4: + if ( + debug.layout_type in (LayoutType.Delizia, LayoutType.Eckhart) + and not is_slip39 + and len(word) > 4 + ): # T3T1 (delizia) BIP39 keyboard allows to "confirm" only if the word is fully written, you need to click the word to auto-complete debug.click(debug.screen_buttons.mnemonic_confirm()) debug.click(debug.screen_buttons.mnemonic_confirm()) @@ -53,7 +57,7 @@ def enter_word( def confirm_recovery(debug: "DebugLink", title: str = "recovery__title") -> None: layout = debug.read_layout() assert TR.translate(title) == layout.title() - if debug.layout_type is LayoutType.Bolt: + if debug.layout_type in (LayoutType.Bolt, LayoutType.Eckhart): debug.click(debug.screen_buttons.ok()) elif debug.layout_type is LayoutType.Delizia: debug.swipe_up() @@ -80,7 +84,7 @@ def cancel_select_number_of_words( assert layout.title() == TR.word_count__title # navigate to the number and confirm it debug.press_left() - elif debug.layout_type is LayoutType.Delizia: + elif debug.layout_type in (LayoutType.Delizia, LayoutType.Eckhart): # click the button from ValuePad if unlock_repeated_backup: coords = debug.screen_buttons.word_count_repeated_cancel() @@ -99,7 +103,12 @@ def select_number_of_words( layout = debug.read_layout() assert TR.recovery__num_of_words in layout.text_content() - def select_bolt() -> "LayoutContent": + def select_bde() -> "LayoutContent": + assert debug.layout_type in ( + LayoutType.Bolt, + LayoutType.Delizia, + LayoutType.Eckhart, + ) # click the button from ValuePad if unlock_repeated_backup: coords = debug.screen_buttons.word_count_repeated_word(num_of_words) @@ -110,6 +119,7 @@ def select_number_of_words( return debug.read_layout() def select_caesar() -> "LayoutContent": + assert debug.layout_type is LayoutType.Caesar # navigate to the number and confirm it word_options = (20, 33) if unlock_repeated_backup else (12, 18, 20, 24, 33) index = word_options.index(num_of_words) @@ -118,24 +128,13 @@ def select_number_of_words( debug.press_middle() return debug.read_layout() - def select_delizia() -> "LayoutContent": - # click the button from ValuePad - if unlock_repeated_backup: - coords = debug.screen_buttons.word_count_repeated_word(num_of_words) - else: - coords = debug.screen_buttons.word_count_all_word(num_of_words) - debug.click(coords) - return debug.read_layout() - - if debug.layout_type is LayoutType.Bolt: - layout = select_bolt() + if debug.layout_type in (LayoutType.Bolt, LayoutType.Delizia, LayoutType.Eckhart): + layout = select_bde() elif debug.layout_type is LayoutType.Caesar: debug.press_right() layout = debug.read_layout() assert layout.title() == TR.word_count__title layout = select_caesar() - elif debug.layout_type is LayoutType.Delizia: - layout = select_delizia() else: raise ValueError("Unknown model") @@ -168,7 +167,11 @@ def enter_share( is_first: bool = True, before_title: str = "recovery__title_recover", ) -> "LayoutContent": - if debug.layout_type is LayoutType.Caesar: + if debug.layout_type is LayoutType.Bolt: + assert TR.translate(before_title) in debug.read_layout().title() + debug.click(debug.screen_buttons.ok()) + layout = debug.read_layout() + elif debug.layout_type is LayoutType.Caesar: assert TR.translate(before_title) in debug.read_layout().title() layout = debug.read_layout() for _ in range(layout.page_count()): @@ -177,10 +180,11 @@ def enter_share( elif debug.layout_type is LayoutType.Delizia: debug.swipe_up() layout = debug.read_layout() - else: - assert TR.translate(before_title) in debug.read_layout().title() + elif debug.layout_type is LayoutType.Eckhart: debug.click(debug.screen_buttons.ok()) layout = debug.read_layout() + else: + raise ValueError("Unknown model") assert "MnemonicKeyboard" in layout.all_components() @@ -210,12 +214,18 @@ def enter_shares( ) if index < len(shares) - 1: # FIXME: when ui-t3t1 done for shamir, we want to check the template below - assert TR.translate(enter_share_before_title) in debug.read_layout().title() - # TR.assert_in( - # debug.read_layout().text_content(), - # "recovery__x_of_y_entered_template", - # template=(index + 1, len(shares)), - # ) + if debug.layout_type is LayoutType.Eckhart: + assert ( + TR.translate("recovery__x_of_y_entered_template").format( + index + 1, len(shares) + ) + in debug.read_layout().text_content() + ) + else: + assert ( + TR.translate(enter_share_before_title) + in debug.read_layout().title() + ) assert TR.translate(after_layout_text) in debug.read_layout().text_content() @@ -231,7 +241,6 @@ def enter_seed( for word in seed_words: enter_word(debug, word, is_slip39=is_slip39) - assert TR.translate(after_layout_text) in debug.read_layout().text_content() @@ -272,8 +281,8 @@ def enter_seed_previous_correct( layout = debug.read_layout() debug.press_middle() layout = debug.read_layout() - elif debug.layout_type is LayoutType.Delizia: - debug.click(debug.screen_buttons.mnemonic_erase()) # Top-left + elif debug.layout_type in (LayoutType.Delizia, LayoutType.Eckhart): + debug.click(debug.screen_buttons.mnemonic_erase()) for _ in range(len(bad_word)): debug.click(debug.screen_buttons.mnemonic_erase()) continue @@ -299,7 +308,7 @@ def prepare_enter_seed( or TR.recovery__enter_each_word in debug.read_layout().text_content() or TR.translate(layout_text) in debug.read_layout().text_content() ) - if debug.layout_type is LayoutType.Bolt: + if debug.layout_type in (LayoutType.Bolt, LayoutType.Eckhart): debug.click(debug.screen_buttons.ok()) elif debug.layout_type is LayoutType.Delizia: debug.swipe_up() @@ -310,6 +319,8 @@ def prepare_enter_seed( debug.press_right() layout = debug.read_layout() assert "MnemonicKeyboard" in layout.all_components() + else: + raise ValueError("Unknown model") def finalize(debug: "DebugLink") -> None: @@ -336,7 +347,7 @@ def cancel_recovery(debug: "DebugLink", recovery_type: str = "dry_run") -> None: assert cancel_title in layout.title() for _ in range(layout.page_count()): debug.press_right() - elif debug.layout_type is LayoutType.Delizia: + elif debug.layout_type in (LayoutType.Delizia, LayoutType.Eckhart): # go to menu debug.click(debug.screen_buttons.menu()) layout = debug.read_layout() diff --git a/tests/click_tests/reset.py b/tests/click_tests/reset.py index 9978f33e5c..f8fdd1270d 100644 --- a/tests/click_tests/reset.py +++ b/tests/click_tests/reset.py @@ -13,7 +13,7 @@ if TYPE_CHECKING: def confirm_new_wallet(debug: "DebugLink") -> None: assert debug.read_layout().title() == TR.reset__title_create_wallet - if debug.layout_type is LayoutType.Bolt: + if debug.layout_type in (LayoutType.Bolt, LayoutType.Eckhart): debug.click(debug.screen_buttons.ok()) elif debug.layout_type is LayoutType.Delizia: debug.swipe_up() @@ -27,13 +27,13 @@ def confirm_new_wallet(debug: "DebugLink") -> None: ) if debug.layout_type is LayoutType.Delizia: debug.swipe_up() + elif debug.layout_type is LayoutType.Eckhart: + debug.click(debug.screen_buttons.ok()) def confirm_read(debug: "DebugLink", middle_r: bool = False) -> None: - if debug.layout_type is LayoutType.Bolt: + if debug.layout_type in (LayoutType.Bolt, LayoutType.Eckhart): debug.click(debug.screen_buttons.ok()) - elif debug.layout_type is LayoutType.Delizia: - debug.swipe_up() elif debug.layout_type is LayoutType.Caesar: page_count = debug.read_layout().page_count() if page_count > 1: @@ -43,6 +43,10 @@ def confirm_read(debug: "DebugLink", middle_r: bool = False) -> None: debug.press_middle() else: debug.press_right() + elif debug.layout_type is LayoutType.Delizia: + debug.swipe_up() + else: + raise RuntimeError("Unknown model") def cancel_backup( @@ -51,20 +55,29 @@ def cancel_backup( if debug.layout_type is LayoutType.Bolt: debug.click(debug.screen_buttons.cancel()) debug.click(debug.screen_buttons.cancel()) + elif debug.layout_type is LayoutType.Caesar: + debug.press_left() + debug.press_left() elif debug.layout_type is LayoutType.Delizia: debug.click(debug.screen_buttons.menu()) debug.click(debug.screen_buttons.vertical_menu_items()[0]) if confirm: debug.swipe_up() debug.click(debug.screen_buttons.tap_to_confirm()) - elif debug.layout_type is LayoutType.Caesar: - debug.press_left() - debug.press_left() + elif debug.layout_type is LayoutType.Eckhart: + debug.click(debug.screen_buttons.menu()) + debug.click(debug.screen_buttons.vertical_menu_items()[0]) + debug.click(debug.screen_buttons.ok()) + else: + raise RuntimeError("Unknown model") def set_selection(debug: "DebugLink", diff: int) -> None: - if debug.layout_type in (LayoutType.Bolt, LayoutType.Delizia): - assert "NumberInputDialog" in debug.read_layout().all_components() + if debug.layout_type in (LayoutType.Bolt, LayoutType.Delizia, LayoutType.Eckhart): + if debug.layout_type is LayoutType.Eckhart: + assert "NumberInputScreen" in debug.read_layout().all_components() + else: + assert "NumberInputDialog" in debug.read_layout().all_components() button = ( debug.screen_buttons.number_input_minus() @@ -75,7 +88,7 @@ def set_selection(debug: "DebugLink", diff: int) -> None: for _ in range(diff): debug.click(button) - if debug.layout_type is LayoutType.Bolt: + if debug.layout_type in (LayoutType.Bolt, LayoutType.Eckhart): debug.click(debug.screen_buttons.ok()) else: debug.swipe_up() @@ -96,6 +109,8 @@ def set_selection(debug: "DebugLink", diff: int) -> None: for _ in range(diff): debug.press_right() debug.press_middle() + else: + raise RuntimeError("Unknown model") def read_words(debug: "DebugLink", do_htc: bool = True) -> list[str]: @@ -105,23 +120,31 @@ def read_words(debug: "DebugLink", do_htc: bool = True) -> list[str]: debug.press_right() elif debug.layout_type is LayoutType.Delizia: debug.swipe_up() + elif debug.layout_type is LayoutType.Eckhart: + debug.click(debug.screen_buttons.ok()) # Swiping through all the pages and loading the words layout = debug.read_layout() for _ in range(layout.page_count() - 1): words.extend(layout.seed_words()) - debug.swipe_up() + if debug.layout_type is LayoutType.Eckhart: + debug.click(debug.screen_buttons.ok()) + else: + debug.swipe_up() + layout = debug.read_layout() assert layout is not None - if debug.layout_type in (LayoutType.Bolt, LayoutType.Delizia): + if debug.layout_type in (LayoutType.Bolt, LayoutType.Delizia, LayoutType.Eckhart): words.extend(layout.seed_words()) if debug.layout_type is LayoutType.Delizia: debug.swipe_up() + elif debug.layout_type is LayoutType.Eckhart: + debug.click(debug.screen_buttons.ok()) # There is hold-to-confirm button if do_htc: - if debug.layout_type is LayoutType.Bolt: + if debug.layout_type in (LayoutType.Bolt, LayoutType.Eckhart): debug.click(debug.screen_buttons.ok(), hold_ms=1500) elif debug.layout_type is LayoutType.Delizia: debug.click(debug.screen_buttons.tap_to_confirm()) @@ -138,6 +161,12 @@ def read_words(debug: "DebugLink", do_htc: bool = True) -> list[str]: def confirm_words(debug: "DebugLink", words: list[str]) -> None: if debug.layout_type is LayoutType.Delizia: debug.swipe_up() + elif debug.layout_type is LayoutType.Eckhart: + # Press ok if the select word screen is not yet present + if not TR.regexp("reset__select_word_template").match( + debug.read_layout().subtitle() + ): + debug.click(debug.screen_buttons.ok()) layout = debug.read_layout() if debug.layout_type is LayoutType.Bolt: @@ -158,22 +187,6 @@ def confirm_words(debug: "DebugLink", words: list[str]) -> None: button_pos = btn_texts.index(wanted_word) debug.click(debug.screen_buttons.word_check_words()[button_pos]) layout = debug.read_layout() - elif debug.layout_type is LayoutType.Delizia: - assert TR.regexp("reset__select_word_x_of_y_template").match(layout.subtitle()) - for _ in range(3): - # "Select word 3 of 20" - # ^ - word_pos_match = re.search(r"\d+", debug.read_layout().subtitle()) - assert word_pos_match is not None - word_pos = int(word_pos_match.group(0)) - # Unifying both the buttons and words to lowercase - btn_texts = [ - text.lower() for text in layout.tt_check_seed_button_contents() - ] - wanted_word = words[word_pos - 1].lower() - button_pos = btn_texts.index(wanted_word) - debug.click(debug.screen_buttons.vertical_menu_items()[button_pos]) - layout = debug.read_layout() elif debug.layout_type is LayoutType.Caesar: assert TR.reset__select_correct_word in layout.text_content() debug.press_right() @@ -193,6 +206,43 @@ def confirm_words(debug: "DebugLink", words: list[str]) -> None: debug.press_middle() layout = debug.read_layout() + elif debug.layout_type is LayoutType.Delizia: + assert TR.regexp("reset__select_word_x_of_y_template").match(layout.subtitle()) + for _ in range(3): + # "Select word 3 of 20" + # ^ + word_pos_match = re.search(r"\d+", debug.read_layout().subtitle()) + assert word_pos_match is not None + word_pos = int(word_pos_match.group(0)) + # Unifying both the buttons and words to lowercase + btn_texts = [ + text.lower() for text in layout.tt_check_seed_button_contents() + ] + wanted_word = words[word_pos - 1].lower() + button_pos = btn_texts.index(wanted_word) + debug.click(debug.screen_buttons.word_check_words()[button_pos]) + layout = debug.read_layout() + elif debug.layout_type is LayoutType.Eckhart: + assert TR.regexp("reset__select_word_template").match( + debug.read_layout().subtitle() + ) + + for _ in range(3): + # "Select word 3 of 20" + # ^ + word_pos_match = re.search(r"\d+", debug.read_layout().subtitle()) + assert word_pos_match is not None + word_pos = int(word_pos_match.group(0)) + # Unifying both the buttons and words to lowercase + btn_texts = [ + text.lower() for text in layout.tt_check_seed_button_contents() + ] + wanted_word = words[word_pos - 1].lower() + button_pos = btn_texts.index(wanted_word) + debug.click(debug.screen_buttons.word_check_words()[button_pos]) + layout = debug.read_layout() + else: + raise RuntimeError("Unknown model") def validate_mnemonics(mnemonics: list[str], expected_ems: bytes) -> None: diff --git a/tests/click_tests/test_autolock.py b/tests/click_tests/test_autolock.py index 9de92b57ac..9767a2c905 100644 --- a/tests/click_tests/test_autolock.py +++ b/tests/click_tests/test_autolock.py @@ -74,7 +74,7 @@ def set_autolock_delay(device_handler: "BackgroundDeviceHandler", delay_ms: int) debug.input("1234") assert TR.regexp("auto_lock__change_template").match( - debug.read_layout().text_content() + debug.read_layout().text_content().strip() ) layout = go_next(debug) @@ -113,7 +113,7 @@ def test_autolock_interrupts_signing(device_handler: "BackgroundDeviceHandler"): in debug.read_layout().text_content().replace(" ", "") ) - if debug.layout_type is LayoutType.Bolt: + if debug.layout_type in (LayoutType.Bolt, LayoutType.Eckhart): debug.click(debug.screen_buttons.ok()) debug.click(debug.screen_buttons.ok()) layout = debug.read_layout() @@ -131,6 +131,8 @@ def test_autolock_interrupts_signing(device_handler: "BackgroundDeviceHandler"): layout = debug.read_layout() assert TR.send__total_amount in layout.text_content() assert "0.0039 BTC" in layout.text_content() + else: + raise ValueError(f"Unsupported layout type: {debug.layout_type}") # wait for autolock to kick in time.sleep(10.1) @@ -168,7 +170,7 @@ def test_autolock_does_not_interrupt_signing(device_handler: "BackgroundDeviceHa in debug.read_layout().text_content().replace(" ", "") ) - if debug.layout_type is LayoutType.Bolt: + if debug.layout_type in (LayoutType.Bolt, LayoutType.Eckhart): debug.click(debug.screen_buttons.ok()) debug.click(debug.screen_buttons.ok()) layout = debug.read_layout() @@ -187,6 +189,8 @@ def test_autolock_does_not_interrupt_signing(device_handler: "BackgroundDeviceHa layout = debug.read_layout() assert TR.send__total_amount in layout.text_content() assert "0.0039 BTC" in layout.text_content() + else: + raise ValueError(f"Unsupported layout type: {debug.layout_type}") def sleepy_filter(msg: MessageType) -> MessageType: time.sleep(10.1) @@ -196,12 +200,14 @@ def test_autolock_does_not_interrupt_signing(device_handler: "BackgroundDeviceHa with device_handler.client: device_handler.client.set_filter(messages.TxAck, sleepy_filter) # confirm transaction - if debug.layout_type is LayoutType.Bolt: + if debug.layout_type in (LayoutType.Bolt, LayoutType.Eckhart): debug.click(debug.screen_buttons.ok()) - elif debug.layout_type is LayoutType.Delizia: - debug.click(debug.screen_buttons.tap_to_confirm()) elif debug.layout_type is LayoutType.Caesar: debug.press_middle() + elif debug.layout_type is LayoutType.Delizia: + debug.click(debug.screen_buttons.tap_to_confirm()) + else: + raise ValueError(f"Unsupported layout type: {debug.layout_type}") signatures, tx = device_handler.result() assert len(signatures) == 1 @@ -227,7 +233,11 @@ def test_autolock_passphrase_keyboard(device_handler: "BackgroundDeviceHandler") # enter passphrase - slowly # keep clicking for long enough to trigger the autolock if it incorrectly ignored key presses for _ in range(math.ceil(11 / 1.5)): - if debug.layout_type in (LayoutType.Bolt, LayoutType.Delizia): + if debug.layout_type in ( + LayoutType.Bolt, + LayoutType.Delizia, + LayoutType.Eckhart, + ): # click at "j" debug.click(_passphrase_j(debug)) elif debug.layout_type is LayoutType.Caesar: @@ -235,10 +245,13 @@ def test_autolock_passphrase_keyboard(device_handler: "BackgroundDeviceHandler") # NOTE: because of passphrase randomization it would be a pain to input # a specific passphrase, which is not in scope for this test. debug.press_right() + else: + raise ValueError(f"Unsupported layout type: {debug.layout_type}") + time.sleep(1.5) # Send the passphrase to the client (TT has it clicked already, TR needs to input it) - if debug.layout_type in (LayoutType.Bolt, LayoutType.Delizia): + if debug.layout_type in (LayoutType.Bolt, LayoutType.Delizia, LayoutType.Eckhart): debug.click(debug.screen_buttons.passphrase_confirm()) elif debug.layout_type is LayoutType.Caesar: debug.input("j" * 8) @@ -264,15 +277,24 @@ def test_autolock_interrupts_passphrase(device_handler: "BackgroundDeviceHandler # enter passphrase - slowly # autolock must activate even if we pressed some buttons for _ in range(math.ceil(6 / 1.5)): - if debug.layout_type in (LayoutType.Bolt, LayoutType.Delizia): + if debug.layout_type in ( + LayoutType.Bolt, + LayoutType.Delizia, + LayoutType.Eckhart, + ): debug.click(_center_button(debug)) elif debug.layout_type is LayoutType.Caesar: debug.press_middle() + else: + raise ValueError(f"Unsupported layout type: {debug.layout_type}") time.sleep(1.5) # wait for autolock to kick in time.sleep(10.1) - assert debug.read_layout().main_component() == "Lockscreen" + if debug.layout_type is LayoutType.Eckhart: + assert debug.read_layout().main_component() == "Homescreen" + else: + assert debug.read_layout().main_component() == "Lockscreen" with pytest.raises(exceptions.Cancelled): device_handler.result() @@ -303,7 +325,10 @@ def test_dryrun_locks_at_number_of_words(device_handler: "BackgroundDeviceHandle # wait for autolock to trigger time.sleep(10.1) - assert debug.read_layout().main_component() == "Lockscreen" + if debug.layout_type is LayoutType.Eckhart: + assert debug.read_layout().main_component() == "Homescreen" + else: + assert debug.read_layout().main_component() == "Lockscreen" with pytest.raises(exceptions.Cancelled): device_handler.result() @@ -333,17 +358,22 @@ def test_dryrun_locks_at_word_entry(device_handler: "BackgroundDeviceHandler"): # select 20 words recovery.select_number_of_words(debug, 20) - if debug.layout_type in (LayoutType.Bolt, LayoutType.Delizia): + if debug.layout_type in (LayoutType.Bolt, LayoutType.Delizia, LayoutType.Eckhart): layout = go_next(debug) assert layout.main_component() == "MnemonicKeyboard" elif debug.layout_type is LayoutType.Caesar: debug.press_right() layout = debug.read_layout() assert "MnemonicKeyboard" in layout.all_components() + else: + raise ValueError(f"Unsupported layout type: {debug.layout_type}") # make sure keyboard locks time.sleep(10.1) - assert debug.read_layout().main_component() == "Lockscreen" + if debug.layout_type is LayoutType.Eckhart: + assert debug.read_layout().main_component() == "Homescreen" + else: + assert debug.read_layout().main_component() == "Lockscreen" with pytest.raises(exceptions.Cancelled): device_handler.result() @@ -360,7 +390,7 @@ def test_dryrun_enter_word_slowly(device_handler: "BackgroundDeviceHandler"): # select 20 words recovery.select_number_of_words(debug, 20) - if debug.layout_type is LayoutType.Bolt: + if debug.layout_type in (LayoutType.Bolt, LayoutType.Eckhart): debug.click(debug.screen_buttons.ok()) layout = debug.read_layout() assert layout.main_component() == "MnemonicKeyboard" @@ -409,6 +439,7 @@ def test_dryrun_enter_word_slowly(device_handler: "BackgroundDeviceHandler"): @pytest.mark.setup_client(pin=PIN4) +@pytest.mark.models(skip=["eckhart"]) def test_autolock_does_not_interrupt_preauthorized( device_handler: "BackgroundDeviceHandler", ): diff --git a/tests/click_tests/test_backup_slip39_custom.py b/tests/click_tests/test_backup_slip39_custom.py index c98752d2c0..96b3365e64 100644 --- a/tests/click_tests/test_backup_slip39_custom.py +++ b/tests/click_tests/test_backup_slip39_custom.py @@ -80,7 +80,7 @@ def test_backup_slip39_custom( # confirm backup configuration if share_count > 1: assert TR.regexp("reset__create_x_of_y_multi_share_backup_template").match( - debug.read_layout().text_content() + debug.read_layout().text_content().strip() ) else: assert TR.regexp("backup__info_single_share_backup").match( @@ -106,9 +106,12 @@ def test_backup_slip39_custom( all_words.append(" ".join(words)) # confirm backup done - if debug.layout_type is LayoutType.Delizia and share_count > 1: + if ( + debug.layout_type in (LayoutType.Delizia, LayoutType.Eckhart) + and share_count > 1 + ): reset.confirm_read(debug) - elif debug.layout_type is not LayoutType.Delizia: + elif debug.layout_type not in (LayoutType.Delizia, LayoutType.Eckhart): reset.confirm_read(debug) # generate secret locally diff --git a/tests/click_tests/test_lock.py b/tests/click_tests/test_lock.py index 84c77ec3dc..ee64cc23ca 100644 --- a/tests/click_tests/test_lock.py +++ b/tests/click_tests/test_lock.py @@ -49,14 +49,14 @@ def test_hold_to_lock(device_handler: "BackgroundDeviceHandler"): models.T3B1: 1200, models.T2T1: 3500, models.T3T1: 3500, - models.T3W1: 3500, + models.T3W1: 2000, }[debug.model] def hold(duration: int) -> None: if debug.layout_type is LayoutType.Caesar: debug.press_right(hold_ms=duration) else: - debug.click((13, 37), hold_ms=duration) + debug.click(debug.screen_buttons.grid34(1, 1), hold_ms=duration) assert device_handler.features().unlocked is False diff --git a/tests/click_tests/test_passphrase_bolt_delizia.py b/tests/click_tests/test_passphrase_bde.py similarity index 95% rename from tests/click_tests/test_passphrase_bolt_delizia.py rename to tests/click_tests/test_passphrase_bde.py index f97cf12f1e..166c0f2d18 100644 --- a/tests/click_tests/test_passphrase_bolt_delizia.py +++ b/tests/click_tests/test_passphrase_bde.py @@ -31,7 +31,7 @@ if TYPE_CHECKING: from ..device_handler import BackgroundDeviceHandler -pytestmark = pytest.mark.models("t2t1", "delizia") +pytestmark = pytest.mark.models("t2t1", "delizia", "eckhart") KEYBOARD_CATEGORIES_BOLT = [ PassphraseCategory.DIGITS, @@ -40,7 +40,8 @@ KEYBOARD_CATEGORIES_BOLT = [ PassphraseCategory.SPECIAL, ] -KEYBOARD_CATEGORIES_DELIZIA = [ +# Common for Delizia and Eckhart +KEYBOARD_CATEGORIES_DE = [ PassphraseCategory.LOWERCASE, PassphraseCategory.UPPERCASE, PassphraseCategory.DIGITS, @@ -90,8 +91,8 @@ def prepare_passphrase_dialogue( def keyboard_categories(layout_type: LayoutType) -> list[PassphraseCategory]: if layout_type is LayoutType.Bolt: return KEYBOARD_CATEGORIES_BOLT - elif layout_type is LayoutType.Delizia: - return KEYBOARD_CATEGORIES_DELIZIA + elif layout_type in (LayoutType.Delizia, LayoutType.Eckhart): + return KEYBOARD_CATEGORIES_DE else: raise ValueError("Wrong layout type") @@ -157,7 +158,7 @@ def enter_passphrase(debug: "DebugLink") -> None: """Enter a passphrase""" is_empty: bool = len(debug.read_layout().passphrase()) == 0 debug.click(debug.screen_buttons.passphrase_confirm()) - if is_empty and debug.layout_type is LayoutType.Delizia: + if is_empty and debug.layout_type in (LayoutType.Delizia, LayoutType.Eckhart): debug.click(debug.screen_buttons.ui_yes()) @@ -200,7 +201,7 @@ def test_passphrase_delete(device_handler: "BackgroundDeviceHandler"): for _ in range(4): delete_char(debug) - if debug.layout_type is LayoutType.Delizia: + if debug.layout_type in (LayoutType.Delizia, LayoutType.Eckhart): debug.read_layout() input_passphrase(debug, CommonPass.SHORT[8 - 4 :]) @@ -231,7 +232,7 @@ def test_passphrase_loop_all_characters(device_handler: "BackgroundDeviceHandler PassphraseCategory.SPECIAL, ): go_to_category(debug, category) - if debug.layout_type is LayoutType.Delizia: + if debug.layout_type in (LayoutType.Delizia, LayoutType.Eckhart): debug.read_layout() enter_passphrase(debug) diff --git a/tests/click_tests/test_pin.py b/tests/click_tests/test_pin.py index b46cb32350..c1ce462ab5 100644 --- a/tests/click_tests/test_pin.py +++ b/tests/click_tests/test_pin.py @@ -95,7 +95,7 @@ def prepare( # Any action triggering the PIN dialogue device_handler.run(device.apply_settings, auto_lock_delay_ms=300_000) # type: ignore tap = True - if situation == Situation.PIN_INPUT_CANCEL: + elif situation == Situation.PIN_INPUT_CANCEL: # Any action triggering the PIN dialogue device_handler.run(device.apply_settings, auto_lock_delay_ms=300_000) # type: ignore elif situation == Situation.PIN_SETUP: @@ -105,13 +105,19 @@ def prepare( TR.pin__turn_on in debug.read_layout().text_content() or TR.pin__info in debug.read_layout().text_content() ) - if debug.layout_type in (LayoutType.Bolt, LayoutType.Delizia): + if debug.layout_type in ( + LayoutType.Bolt, + LayoutType.Delizia, + LayoutType.Eckhart, + ): go_next(debug) elif debug.layout_type is LayoutType.Caesar: go_next(debug) go_next(debug) go_next(debug) go_next(debug) + else: + raise RuntimeError("Unknown model") elif situation == Situation.PIN_CHANGE: # Change PIN device_handler.run(device.change_pin) # type: ignore @@ -153,7 +159,7 @@ def _input_pin(debug: "DebugLink", pin: str, check: bool = False) -> None: """Input the PIN""" if check: before = debug.read_layout().pin() - if debug.layout_type in (LayoutType.Bolt, LayoutType.Delizia): + if debug.layout_type in (LayoutType.Bolt, LayoutType.Delizia, LayoutType.Eckhart): digits_order = debug.read_layout().tt_pin_digits_order() for digit in pin: digit_index = digits_order.index(digit) @@ -162,6 +168,8 @@ def _input_pin(debug: "DebugLink", pin: str, check: bool = False) -> None: elif debug.layout_type is LayoutType.Caesar: for digit in pin: navigate_to_action_and_press(debug, digit, TR_PIN_ACTIONS) + else: + raise RuntimeError("Unknown model") if check: after = debug.read_layout().pin() @@ -170,10 +178,12 @@ def _input_pin(debug: "DebugLink", pin: str, check: bool = False) -> None: def _see_pin(debug: "DebugLink") -> None: """Navigate to "SHOW" and press it""" - if debug.layout_type in (LayoutType.Bolt, LayoutType.Delizia): + if debug.layout_type in (LayoutType.Bolt, LayoutType.Delizia, LayoutType.Eckhart): debug.click(debug.screen_buttons.pin_passphrase_input()) elif debug.layout_type is LayoutType.Caesar: navigate_to_action_and_press(debug, SHOW, TR_PIN_ACTIONS) + else: + raise RuntimeError("Unknown model") def _delete_pin(debug: "DebugLink", digits_to_delete: int, check: bool = True) -> None: @@ -182,10 +192,16 @@ def _delete_pin(debug: "DebugLink", digits_to_delete: int, check: bool = True) - before = debug.read_layout().pin() for _ in range(digits_to_delete): - if debug.layout_type in (LayoutType.Bolt, LayoutType.Delizia): + if debug.layout_type in ( + LayoutType.Bolt, + LayoutType.Delizia, + LayoutType.Eckhart, + ): debug.click(debug.screen_buttons.pin_passphrase_erase()) elif debug.layout_type is LayoutType.Caesar: navigate_to_action_and_press(debug, DELETE, TR_PIN_ACTIONS) + else: + raise RuntimeError("Unknown model") if check: after = debug.read_layout().pin() @@ -194,13 +210,15 @@ def _delete_pin(debug: "DebugLink", digits_to_delete: int, check: bool = True) - def _delete_all(debug: "DebugLink", check: bool = True) -> None: """Navigate to "DELETE" and hold it until all digits are deleted""" - if debug.layout_type in (LayoutType.Bolt, LayoutType.Delizia): + if debug.layout_type in (LayoutType.Bolt, LayoutType.Delizia, LayoutType.Eckhart): debug.click( debug.screen_buttons.pin_passphrase_erase(), hold_ms=1500, ) elif debug.layout_type is LayoutType.Caesar: navigate_to_action_and_press(debug, DELETE, TR_PIN_ACTIONS, hold_ms=1000) + else: + raise RuntimeError("Unknown model") if check: after = debug.read_layout().pin() @@ -221,10 +239,12 @@ def _cancel_pin(debug: "DebugLink") -> None: def _confirm_pin(debug: "DebugLink") -> None: """Navigate to "ENTER" and press it""" - if debug.layout_type in (LayoutType.Bolt, LayoutType.Delizia): + if debug.layout_type in (LayoutType.Bolt, LayoutType.Delizia, LayoutType.Eckhart): debug.click(debug.screen_buttons.pin_confirm()) elif debug.layout_type is LayoutType.Caesar: navigate_to_action_and_press(debug, ENTER, TR_PIN_ACTIONS) + else: + raise RuntimeError("Unknown model") def _input_see_confirm(debug: "DebugLink", pin: str) -> None: @@ -326,15 +346,18 @@ def test_pin_setup(device_handler: "BackgroundDeviceHandler"): def test_pin_setup_mismatch(device_handler: "BackgroundDeviceHandler"): with PIN_CANCELLED, prepare(device_handler, Situation.PIN_SETUP) as debug: _enter_two_times(debug, "1", "2") - if debug.layout_type is LayoutType.Bolt: + if debug.layout_type in ( + LayoutType.Bolt, + LayoutType.Delizia, + LayoutType.Eckhart, + ): go_next(debug) _cancel_pin(debug) elif debug.layout_type is LayoutType.Caesar: debug.press_middle() debug.press_no() - elif debug.layout_type is LayoutType.Delizia: - go_next(debug) - _cancel_pin(debug) + else: + raise RuntimeError("Unknown model") @pytest.mark.setup_client(pin="1") diff --git a/tests/common.py b/tests/common.py index 61c51fb5d9..13ae841d78 100644 --- a/tests/common.py +++ b/tests/common.py @@ -210,6 +210,8 @@ def read_and_confirm_mnemonic( mnemonic = yield from read_mnemonic_from_screen_caesar(debug) elif debug.layout_type is LayoutType.Delizia: mnemonic = yield from read_mnemonic_from_screen_delizia(debug) + elif debug.layout_type is LayoutType.Eckhart: + mnemonic = yield from read_mnemonic_from_screen_eckhart(debug) else: raise ValueError(f"Unknown model: {debug.layout_type}") @@ -277,6 +279,25 @@ def read_mnemonic_from_screen_delizia( return mnemonic +def read_mnemonic_from_screen_eckhart( + debug: "DebugLink", +) -> Generator[None, "ButtonRequest", list[str]]: + mnemonic: list[str] = [] + br = yield + assert br.pages is not None + + debug.read_layout() + debug.click(debug.screen_buttons.ok()) + + for _ in range(br.pages - 2): + words = debug.read_layout().seed_words() + mnemonic.extend(words) + debug.click(debug.screen_buttons.ok()) + + debug.press_yes() + return mnemonic + + def check_share( debug: "DebugLink", mnemonic: list[str], choose_wrong: bool = False ) -> bool: @@ -294,7 +315,7 @@ def check_share( elif debug.layout_type is LayoutType.Caesar: # other models have the instruction in the title/subtitle word_pos_match = re.search(re_num_of_word, debug.read_layout().title()) - elif debug.layout_type is LayoutType.Delizia: + elif debug.layout_type in (LayoutType.Delizia, LayoutType.Eckhart): word_pos_match = re.search(re_num_of_word, debug.read_layout().subtitle()) else: word_pos_match = None @@ -319,7 +340,7 @@ def click_info_button_bolt(debug: "DebugLink") -> Generator[Any, Any, ButtonRequ return (yield) -def click_info_button_delizia(debug: "DebugLink"): +def click_info_button_delizia_eckhart(debug: "DebugLink"): """Click Shamir backup info button and return back.""" debug.click(debug.screen_buttons.menu()) layout = debug.read_layout() diff --git a/tests/conftest.py b/tests/conftest.py index 87a308f065..12ed8ed3f1 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -180,7 +180,7 @@ class ModelsFilter: "t1": {models.T1B1}, "t2": {models.T2T1}, "tt": {models.T2T1}, - "safe": {models.T2B1, models.T3T1, models.T3B1}, + "safe": {models.T2B1, models.T3T1, models.T3B1, models.T3W1}, "safe3": {models.T2B1, models.T3B1}, "safe5": {models.T3T1}, "delizia": {models.T3T1}, diff --git a/tests/device_tests/binance/test_get_public_key.py b/tests/device_tests/binance/test_get_public_key.py index ea04fdbd88..796705a72c 100644 --- a/tests/device_tests/binance/test_get_public_key.py +++ b/tests/device_tests/binance/test_get_public_key.py @@ -27,7 +27,7 @@ BINANCE_PATH = parse_path("m/44h/714h/0h/0/0") @pytest.mark.altcoin @pytest.mark.binance -@pytest.mark.models("core") +@pytest.mark.models("core", skip=["eckhart"]) @pytest.mark.setup_client( mnemonic="offer caution gift cross surge pretty orange during eye soldier popular holiday mention east eight office fashion ill parrot vault rent devote earth cousin" ) diff --git a/tests/device_tests/binance/test_sign_tx.py b/tests/device_tests/binance/test_sign_tx.py index ceb0692465..0f307d380c 100644 --- a/tests/device_tests/binance/test_sign_tx.py +++ b/tests/device_tests/binance/test_sign_tx.py @@ -103,7 +103,7 @@ BINANCE_TEST_VECTORS = [ @pytest.mark.altcoin @pytest.mark.binance -@pytest.mark.models("core") +@pytest.mark.models("core", skip=["eckhart"]) @pytest.mark.setup_client( mnemonic="offer caution gift cross surge pretty orange during eye soldier popular holiday mention east eight office fashion ill parrot vault rent devote earth cousin" ) diff --git a/tests/device_tests/bitcoin/test_authorize_coinjoin.py b/tests/device_tests/bitcoin/test_authorize_coinjoin.py index 15028d83b3..fad7032f8a 100644 --- a/tests/device_tests/bitcoin/test_authorize_coinjoin.py +++ b/tests/device_tests/bitcoin/test_authorize_coinjoin.py @@ -34,6 +34,8 @@ from .signtx import ( request_output, ) +pytestmark = pytest.mark.models(skip=["eckhart"]) + B = messages.ButtonRequestType TX_CACHE_TESTNET = TxCache("Testnet") diff --git a/tests/device_tests/bitcoin/test_descriptors.py b/tests/device_tests/bitcoin/test_descriptors.py index 6efdd99ed8..2e504b8057 100644 --- a/tests/device_tests/bitcoin/test_descriptors.py +++ b/tests/device_tests/bitcoin/test_descriptors.py @@ -153,6 +153,9 @@ VECTORS_DESCRIPTORS = ( # coin, account, script_type, descriptors ) +pytestmark = pytest.mark.models(skip=["eckhart"]) + + def _address_n(purpose, coin, account, script_type): res = [H_(purpose), H_(0) if coin == "Bitcoin" else H_(1), H_(account)] if purpose == 10025 and script_type == messages.InputScriptType.SPENDTAPROOT: diff --git a/tests/device_tests/bitcoin/test_getaddress_show.py b/tests/device_tests/bitcoin/test_getaddress_show.py index 8770176d42..20a5847294 100644 --- a/tests/device_tests/bitcoin/test_getaddress_show.py +++ b/tests/device_tests/bitcoin/test_getaddress_show.py @@ -244,7 +244,7 @@ VECTORS_MULTISIG = ( # script_type, bip48_type, address, xpubs, ignore_xpub_mag ) -@pytest.mark.models("core") +@pytest.mark.models("core", skip=["eckhart"]) @pytest.mark.multisig @pytest.mark.parametrize( "script_type, bip48_type, address, xpubs, ignore_xpub_magic", VECTORS_MULTISIG diff --git a/tests/device_tests/bitcoin/test_nonstandard_paths.py b/tests/device_tests/bitcoin/test_nonstandard_paths.py index ac33ee8b40..07d19de2e3 100644 --- a/tests/device_tests/bitcoin/test_nonstandard_paths.py +++ b/tests/device_tests/bitcoin/test_nonstandard_paths.py @@ -24,6 +24,8 @@ from ...common import is_core from ...input_flows import InputFlowConfirmAllWarnings from .signtx import forge_prevtx +pytestmark = pytest.mark.models(skip=["eckhart"]) + VECTORS = ( # path, script_types # GreenAddress A m/[1,4]/address_index ( diff --git a/tests/device_tests/bitcoin/test_signmessage.py b/tests/device_tests/bitcoin/test_signmessage.py index fe4b78c813..ff5505f166 100644 --- a/tests/device_tests/bitcoin/test_signmessage.py +++ b/tests/device_tests/bitcoin/test_signmessage.py @@ -35,6 +35,8 @@ from ...input_flows import ( S = messages.InputScriptType +pytestmark = pytest.mark.models(skip=["eckhart"]) + def case( id: str, @@ -406,7 +408,7 @@ def test_signmessage_pagination(client: Client, message: str, is_long: bool): # We cannot differentiate between a newline and space in the message read from Trezor. # TODO: do the check also for T2B1 - if client.layout_type in (LayoutType.Bolt, LayoutType.Delizia): + if client.layout_type in (LayoutType.Bolt, LayoutType.Delizia, LayoutType.Eckhart): message_read = IF.message_read.replace(" ", "").replace("...", "") signed_message = message.replace("\n", "").replace(" ", "") assert signed_message in message_read diff --git a/tests/device_tests/bitcoin/test_signtx.py b/tests/device_tests/bitcoin/test_signtx.py index f50e93b2ca..46e5c9ba36 100644 --- a/tests/device_tests/bitcoin/test_signtx.py +++ b/tests/device_tests/bitcoin/test_signtx.py @@ -1611,9 +1611,7 @@ def test_information_cancel(client: Client): ) -@pytest.mark.models( - "core", -) +@pytest.mark.models("core") def test_information_replacement(client: Client): # Use the change output and an external output to bump the fee. # Originally fee was 3780, now 108060 (94280 from change and 10000 from external). diff --git a/tests/device_tests/bitcoin/test_signtx_payreq.py b/tests/device_tests/bitcoin/test_signtx_payreq.py index e02cb2b6c6..eaaf662822 100644 --- a/tests/device_tests/bitcoin/test_signtx_payreq.py +++ b/tests/device_tests/bitcoin/test_signtx_payreq.py @@ -33,7 +33,7 @@ PREV_HASH, PREV_TX = forge_prevtx([(INPUT_ADDRESS, 12_300_000)], network="testne PREV_TXES = {PREV_HASH: PREV_TX} -pytestmark = [pytest.mark.models("core"), pytest.mark.experimental] +pytestmark = [pytest.mark.models("core", skip=["eckhart"]), pytest.mark.experimental] def case(id, *args, altcoin: bool = False, models: str | None = None): diff --git a/tests/device_tests/bitcoin/test_signtx_replacement.py b/tests/device_tests/bitcoin/test_signtx_replacement.py index 97fe7e2d87..14a2c3e1e2 100644 --- a/tests/device_tests/bitcoin/test_signtx_replacement.py +++ b/tests/device_tests/bitcoin/test_signtx_replacement.py @@ -32,6 +32,8 @@ from .signtx import ( request_output, ) +pytestmark = pytest.mark.models(skip=["eckhart"]) + B = messages.ButtonRequestType TX_CACHE_TESTNET = TxCache("Testnet") diff --git a/tests/device_tests/bitcoin/test_verifymessage.py b/tests/device_tests/bitcoin/test_verifymessage.py index ecfd7131b4..c610a82a70 100644 --- a/tests/device_tests/bitcoin/test_verifymessage.py +++ b/tests/device_tests/bitcoin/test_verifymessage.py @@ -23,6 +23,8 @@ from trezorlib.debuglink import TrezorClientDebugLink as Client from ...input_flows import InputFlowSignVerifyMessageLong +pytestmark = pytest.mark.models(skip=["eckhart"]) + @pytest.mark.models("legacy") def test_message_long_legacy(client: Client): diff --git a/tests/device_tests/bitcoin/test_verifymessage_segwit.py b/tests/device_tests/bitcoin/test_verifymessage_segwit.py index 84f0444264..b31bcb938a 100644 --- a/tests/device_tests/bitcoin/test_verifymessage_segwit.py +++ b/tests/device_tests/bitcoin/test_verifymessage_segwit.py @@ -14,9 +14,13 @@ # You should have received a copy of the License along with this library. # If not, see . +import pytest + from trezorlib import btc from trezorlib.debuglink import TrezorClientDebugLink as Client +pytestmark = pytest.mark.models(skip=["eckhart"]) + def test_message_long(client: Client): ret = btc.verify_message( diff --git a/tests/device_tests/bitcoin/test_verifymessage_segwit_native.py b/tests/device_tests/bitcoin/test_verifymessage_segwit_native.py index 5bea51f7dc..761b06730d 100644 --- a/tests/device_tests/bitcoin/test_verifymessage_segwit_native.py +++ b/tests/device_tests/bitcoin/test_verifymessage_segwit_native.py @@ -14,9 +14,13 @@ # You should have received a copy of the License along with this library. # If not, see . +import pytest + from trezorlib import btc from trezorlib.debuglink import TrezorClientDebugLink as Client +pytestmark = pytest.mark.models(skip=["eckhart"]) + def test_message_long(client: Client): ret = btc.verify_message( diff --git a/tests/device_tests/cardano/test_address_public_key.py b/tests/device_tests/cardano/test_address_public_key.py index d7c02e6b6d..4a4b63a547 100644 --- a/tests/device_tests/cardano/test_address_public_key.py +++ b/tests/device_tests/cardano/test_address_public_key.py @@ -32,7 +32,7 @@ from ...input_flows import InputFlowShowXpubQRCode pytestmark = [ pytest.mark.altcoin, pytest.mark.cardano, - pytest.mark.models("core"), + pytest.mark.models("core", skip=["eckhart"]), ] diff --git a/tests/device_tests/cardano/test_derivations.py b/tests/device_tests/cardano/test_derivations.py index 656c31a8bd..f5b5964b9c 100644 --- a/tests/device_tests/cardano/test_derivations.py +++ b/tests/device_tests/cardano/test_derivations.py @@ -27,7 +27,7 @@ from ...common import MNEMONIC_SLIP39_BASIC_20_3of6 pytestmark = [ pytest.mark.altcoin, pytest.mark.cardano, - pytest.mark.models("core"), + pytest.mark.models("core", skip=["eckhart"]), ] ADDRESS_N = parse_path("m/1852h/1815h/0h") diff --git a/tests/device_tests/cardano/test_get_native_script_hash.py b/tests/device_tests/cardano/test_get_native_script_hash.py index 63ee56d16f..c8514d04c4 100644 --- a/tests/device_tests/cardano/test_get_native_script_hash.py +++ b/tests/device_tests/cardano/test_get_native_script_hash.py @@ -25,7 +25,7 @@ from ...common import parametrize_using_common_fixtures pytestmark = [ pytest.mark.altcoin, pytest.mark.cardano, - pytest.mark.models("core"), + pytest.mark.models("core", skip=["eckhart"]), ] diff --git a/tests/device_tests/cardano/test_sign_tx.py b/tests/device_tests/cardano/test_sign_tx.py index 5ea21449f8..3b652009b6 100644 --- a/tests/device_tests/cardano/test_sign_tx.py +++ b/tests/device_tests/cardano/test_sign_tx.py @@ -27,7 +27,7 @@ from ...input_flows import InputFlowConfirmAllWarnings pytestmark = [ pytest.mark.altcoin, pytest.mark.cardano, - pytest.mark.models("core"), + pytest.mark.models("core", skip=["eckhart"]), ] @@ -40,7 +40,7 @@ def show_details_input_flow(client: Client): elif client.layout_type is LayoutType.Caesar: # Caesar - right button for "Show all" client.debug.press_yes() - elif client.layout_type is LayoutType.Delizia: + elif client.layout_type in (LayoutType.Delizia, LayoutType.Eckhart): # Delizia - "Show all" button from context menu client.debug.click(client.debug.screen_buttons.menu()) client.debug.click(client.debug.screen_buttons.vertical_menu_items()[0]) diff --git a/tests/device_tests/eos/test_get_public_key.py b/tests/device_tests/eos/test_get_public_key.py index 1b518e95f2..97e361bf58 100644 --- a/tests/device_tests/eos/test_get_public_key.py +++ b/tests/device_tests/eos/test_get_public_key.py @@ -26,7 +26,7 @@ from ...input_flows import InputFlowShowXpubQRCode @pytest.mark.altcoin @pytest.mark.eos -@pytest.mark.models("t2t1") +@pytest.mark.models("t2t1", skip=["eckhart"]) @pytest.mark.setup_client(mnemonic=MNEMONIC12) def test_eos_get_public_key(client: Client): with client: diff --git a/tests/device_tests/eos/test_signtx.py b/tests/device_tests/eos/test_signtx.py index 57fd051bb4..f56746cf13 100644 --- a/tests/device_tests/eos/test_signtx.py +++ b/tests/device_tests/eos/test_signtx.py @@ -29,7 +29,7 @@ ADDRESS_N = parse_path("m/44h/194h/0h/0/0") pytestmark = [ pytest.mark.altcoin, pytest.mark.eos, - pytest.mark.models("t2t1"), + pytest.mark.models("t2t1", skip=["eckhart"]), pytest.mark.setup_client(mnemonic=MNEMONIC12), ] diff --git a/tests/device_tests/ethereum/test_definitions.py b/tests/device_tests/ethereum/test_definitions.py index 314189ca59..2515b8cd62 100644 --- a/tests/device_tests/ethereum/test_definitions.py +++ b/tests/device_tests/ethereum/test_definitions.py @@ -13,7 +13,11 @@ from ...input_flows import InputFlowConfirmAllWarnings from . import common from .test_sign_typed_data import DATA as TYPED_DATA -pytestmark = [pytest.mark.altcoin, pytest.mark.ethereum] +pytestmark = [ + pytest.mark.altcoin, + pytest.mark.ethereum, + pytest.mark.models(skip=["eckhart"]), +] ERC20_OPERATION = "a9059cbb000000000000000000000000574bbb36871ba6b78e27f4b4dcfb76ea0091880b0000000000000000000000000000000000000000000000000000000000000123" ERC20_BUILTIN_TOKEN = "0xdac17f958d2ee523a2206206994597c13d831ec7" # USDT diff --git a/tests/device_tests/ethereum/test_definitions_bad.py b/tests/device_tests/ethereum/test_definitions_bad.py index 3f21195643..9d256c1fc3 100644 --- a/tests/device_tests/ethereum/test_definitions_bad.py +++ b/tests/device_tests/ethereum/test_definitions_bad.py @@ -13,7 +13,11 @@ from trezorlib.tools import parse_path from .common import make_defs, make_network, make_payload, make_token, sign_payload from .test_definitions import DEFAULT_ERC20_PARAMS, ERC20_FAKE_ADDRESS -pytestmark = [pytest.mark.altcoin, pytest.mark.ethereum] +pytestmark = [ + pytest.mark.altcoin, + pytest.mark.ethereum, + pytest.mark.models(skip=["eckhart"]), +] def fails(client: Client, network: bytes, match: str) -> None: diff --git a/tests/device_tests/ethereum/test_getaddress.py b/tests/device_tests/ethereum/test_getaddress.py index 3add0ad92f..3b5faf29fe 100644 --- a/tests/device_tests/ethereum/test_getaddress.py +++ b/tests/device_tests/ethereum/test_getaddress.py @@ -23,7 +23,11 @@ from trezorlib.tools import parse_path from ...common import parametrize_using_common_fixtures from ...input_flows import InputFlowShowAddressQRCode -pytestmark = [pytest.mark.altcoin, pytest.mark.ethereum] +pytestmark = [ + pytest.mark.altcoin, + pytest.mark.ethereum, + pytest.mark.models(skip=["eckhart"]), +] @parametrize_using_common_fixtures("ethereum/getaddress.json") diff --git a/tests/device_tests/ethereum/test_getpublickey.py b/tests/device_tests/ethereum/test_getpublickey.py index 103b261f57..e96cea8225 100644 --- a/tests/device_tests/ethereum/test_getpublickey.py +++ b/tests/device_tests/ethereum/test_getpublickey.py @@ -23,7 +23,11 @@ from trezorlib.tools import parse_path from ...common import parametrize_using_common_fixtures -pytestmark = [pytest.mark.altcoin, pytest.mark.ethereum] +pytestmark = [ + pytest.mark.altcoin, + pytest.mark.ethereum, + pytest.mark.models(skip=["eckhart"]), +] @parametrize_using_common_fixtures("ethereum/getpublickey.json") diff --git a/tests/device_tests/ethereum/test_sign_typed_data.py b/tests/device_tests/ethereum/test_sign_typed_data.py index 637205ed07..4b57d720c6 100644 --- a/tests/device_tests/ethereum/test_sign_typed_data.py +++ b/tests/device_tests/ethereum/test_sign_typed_data.py @@ -23,7 +23,11 @@ from trezorlib.tools import parse_path from ...common import parametrize_using_common_fixtures from ...input_flows import InputFlowEIP712Cancel, InputFlowEIP712ShowMore -pytestmark = [pytest.mark.altcoin, pytest.mark.ethereum] +pytestmark = [ + pytest.mark.altcoin, + pytest.mark.ethereum, + pytest.mark.models(skip=["eckhart"]), +] @pytest.mark.models("core") diff --git a/tests/device_tests/ethereum/test_sign_verify_message.py b/tests/device_tests/ethereum/test_sign_verify_message.py index ebbbc1f3cc..00d53eb7af 100644 --- a/tests/device_tests/ethereum/test_sign_verify_message.py +++ b/tests/device_tests/ethereum/test_sign_verify_message.py @@ -24,7 +24,11 @@ from trezorlib.tools import parse_path from ...common import parametrize_using_common_fixtures from ...input_flows import InputFlowSignVerifyMessageLong -pytestmark = [pytest.mark.altcoin, pytest.mark.ethereum] +pytestmark = [ + pytest.mark.altcoin, + pytest.mark.ethereum, + pytest.mark.models(skip=["eckhart"]), +] @parametrize_using_common_fixtures("ethereum/signmessage.json") diff --git a/tests/device_tests/ethereum/test_signtx.py b/tests/device_tests/ethereum/test_signtx.py index d387c2523d..a79fdb21b6 100644 --- a/tests/device_tests/ethereum/test_signtx.py +++ b/tests/device_tests/ethereum/test_signtx.py @@ -37,7 +37,11 @@ from .common import encode_network TO_ADDR = "0x1d1c328764a41bda0492b66baa30c4a339ff85ef" -pytestmark = [pytest.mark.altcoin, pytest.mark.ethereum] +pytestmark = [ + pytest.mark.altcoin, + pytest.mark.ethereum, + pytest.mark.models(skip=["eckhart"]), +] def make_defs(parameters: dict) -> messages.EthereumDefinitions: diff --git a/tests/device_tests/misc/test_msg_enablelabeling.py b/tests/device_tests/misc/test_msg_enablelabeling.py index 2c33498b75..5bc57a05a0 100644 --- a/tests/device_tests/misc/test_msg_enablelabeling.py +++ b/tests/device_tests/misc/test_msg_enablelabeling.py @@ -28,7 +28,10 @@ from ...common import MNEMONIC12 def test_encrypt(client: Client): def input_flow(): assert (yield).name == "cipher_key_value" - assert client.debug.read_layout().text_content() == TR.misc__enable_labeling + assert ( + client.debug.read_layout().text_content().strip() + == TR.misc__enable_labeling + ) client.debug.swipe_up() client.debug.press_yes() diff --git a/tests/device_tests/monero/test_getaddress.py b/tests/device_tests/monero/test_getaddress.py index dfd0ce5ab0..3a56dc3de7 100644 --- a/tests/device_tests/monero/test_getaddress.py +++ b/tests/device_tests/monero/test_getaddress.py @@ -41,7 +41,7 @@ TEST_VECTORS = [ pytestmark = [ pytest.mark.altcoin, pytest.mark.monero, - pytest.mark.models("core"), + pytest.mark.models("core", skip=["eckhart"]), pytest.mark.setup_client(mnemonic=MNEMONIC12), ] diff --git a/tests/device_tests/monero/test_getwatchkey.py b/tests/device_tests/monero/test_getwatchkey.py index eee83d0445..717e20082f 100644 --- a/tests/device_tests/monero/test_getwatchkey.py +++ b/tests/device_tests/monero/test_getwatchkey.py @@ -25,7 +25,7 @@ from ...common import MNEMONIC12 @pytest.mark.altcoin @pytest.mark.monero -@pytest.mark.models("core") +@pytest.mark.models("core", skip=["eckhart"]) @pytest.mark.setup_client(mnemonic=MNEMONIC12) def test_monero_getwatchkey(client: Client): res = monero.get_watch_key(client, parse_path("m/44h/128h/0h")) diff --git a/tests/device_tests/nem/test_getaddress.py b/tests/device_tests/nem/test_getaddress.py index b2b20c529e..4c8de9f687 100644 --- a/tests/device_tests/nem/test_getaddress.py +++ b/tests/device_tests/nem/test_getaddress.py @@ -25,7 +25,7 @@ from ...common import MNEMONIC12 @pytest.mark.altcoin @pytest.mark.nem -@pytest.mark.models("t1b1", "t2t1") +@pytest.mark.models("t1b1", "t2t1", skip=["eckhart"]) @pytest.mark.setup_client(mnemonic=MNEMONIC12) @pytest.mark.parametrize("chunkify", (True, False)) def test_nem_getaddress(client: Client, chunkify: bool): diff --git a/tests/device_tests/nem/test_signtx_mosaics.py b/tests/device_tests/nem/test_signtx_mosaics.py index 51cfd556a7..60df8fe1ec 100644 --- a/tests/device_tests/nem/test_signtx_mosaics.py +++ b/tests/device_tests/nem/test_signtx_mosaics.py @@ -27,7 +27,7 @@ ADDRESS_N = parse_path("m/44h/1h/0h/0h/0h") pytestmark = [ pytest.mark.altcoin, pytest.mark.nem, - pytest.mark.models("t1b1", "t2t1"), + pytest.mark.models("t1b1", "t2t1", skip=["eckhart"]), pytest.mark.setup_client(mnemonic=MNEMONIC12), ] diff --git a/tests/device_tests/nem/test_signtx_multisig.py b/tests/device_tests/nem/test_signtx_multisig.py index d153547c42..bb3a164307 100644 --- a/tests/device_tests/nem/test_signtx_multisig.py +++ b/tests/device_tests/nem/test_signtx_multisig.py @@ -25,7 +25,7 @@ from ...common import MNEMONIC12 pytestmark = [ pytest.mark.altcoin, pytest.mark.nem, - pytest.mark.models("t1b1", "t2t1"), + pytest.mark.models("t1b1", "t2t1", skip=["eckhart"]), pytest.mark.setup_client(mnemonic=MNEMONIC12), ] diff --git a/tests/device_tests/nem/test_signtx_others.py b/tests/device_tests/nem/test_signtx_others.py index f775c60cdf..544a896e33 100644 --- a/tests/device_tests/nem/test_signtx_others.py +++ b/tests/device_tests/nem/test_signtx_others.py @@ -25,7 +25,7 @@ from ...common import MNEMONIC12 pytestmark = [ pytest.mark.altcoin, pytest.mark.nem, - pytest.mark.models("t1b1", "t2t1"), + pytest.mark.models("t1b1", "t2t1", skip=["eckhart"]), pytest.mark.setup_client(mnemonic=MNEMONIC12), ] diff --git a/tests/device_tests/nem/test_signtx_transfers.py b/tests/device_tests/nem/test_signtx_transfers.py index 0388b30ffb..6213ed8eb9 100644 --- a/tests/device_tests/nem/test_signtx_transfers.py +++ b/tests/device_tests/nem/test_signtx_transfers.py @@ -25,7 +25,7 @@ from ...common import MNEMONIC12, is_core pytestmark = [ pytest.mark.altcoin, pytest.mark.nem, - pytest.mark.models("t1b1", "t2t1"), + pytest.mark.models("t1b1", "t2t1", skip=["eckhart"]), pytest.mark.setup_client(mnemonic=MNEMONIC12), ] diff --git a/tests/device_tests/nostr/test_nostr.py b/tests/device_tests/nostr/test_nostr.py index 465ca256eb..411a627d2b 100644 --- a/tests/device_tests/nostr/test_nostr.py +++ b/tests/device_tests/nostr/test_nostr.py @@ -22,7 +22,7 @@ import pytest from trezorlib import messages, nostr from trezorlib.tools import parse_path -pytestmark = [pytest.mark.altcoin, pytest.mark.models("core")] +pytestmark = [pytest.mark.altcoin, pytest.mark.models("core", skip=["eckhart"])] # test data from NIP-06: https://github.com/nostr-protocol/nips/blob/master/06.md diff --git a/tests/device_tests/reset_recovery/test_recovery_slip39_basic.py b/tests/device_tests/reset_recovery/test_recovery_slip39_basic.py index 8dbbc84c0b..6cbbe4116f 100644 --- a/tests/device_tests/reset_recovery/test_recovery_slip39_basic.py +++ b/tests/device_tests/reset_recovery/test_recovery_slip39_basic.py @@ -34,6 +34,7 @@ from ...input_flows import ( InputFlowSlip39BasicRecoveryInvalidSecondShare, InputFlowSlip39BasicRecoveryNoAbort, InputFlowSlip39BasicRecoverySameShare, + InputFlowSlip39BasicRecoveryShareInfoBetweenShares, InputFlowSlip39BasicRecoveryWrongNthWord, ) @@ -147,6 +148,20 @@ def test_abort_between_shares(client: Client): assert client.features.recovery_status is messages.RecoveryStatus.Nothing +@pytest.mark.models("eckhart") +@pytest.mark.setup_client(uninitialized=True) +def test_share_info_between_shares(client: Client): + with client: + IF = InputFlowSlip39BasicRecoveryShareInfoBetweenShares( + client, MNEMONIC_SLIP39_BASIC_20_3of6 + ) + client.set_input_flow(IF.get()) + with pytest.raises(exceptions.Cancelled): + device.recover(client, pin_protection=False, label="label") + client.init_device() + assert client.features.initialized is False + + @pytest.mark.setup_client(uninitialized=True) def test_noabort(client: Client): with client: diff --git a/tests/device_tests/reset_recovery/test_reset_bip39_t2.py b/tests/device_tests/reset_recovery/test_reset_bip39_t2.py index fe62740067..7fe5ccaf91 100644 --- a/tests/device_tests/reset_recovery/test_reset_bip39_t2.py +++ b/tests/device_tests/reset_recovery/test_reset_bip39_t2.py @@ -255,6 +255,10 @@ def test_already_initialized(client: Client): def test_entropy_check(client: Client): with client: delizia = client.debug.layout_type is LayoutType.Delizia + delizia_eckhart = client.debug.layout_type in ( + LayoutType.Delizia, + LayoutType.Eckhart, + ) client.set_expected_responses( [ messages.ButtonRequest(name="setup_device"), @@ -271,7 +275,7 @@ def test_entropy_check(client: Client): messages.EntropyCheckReady, messages.PublicKey, messages.PublicKey, - (delizia, messages.ButtonRequest(name="backup_device")), + (delizia_eckhart, messages.ButtonRequest(name="backup_device")), messages.Success, messages.Features, ] @@ -291,13 +295,17 @@ def test_entropy_check(client: Client): @pytest.mark.setup_client(uninitialized=True) def test_no_entropy_check(client: Client): with client: + delizia_eckhart = client.debug.layout_type in ( + LayoutType.Delizia, + LayoutType.Eckhart, + ) delizia = client.debug.layout_type is LayoutType.Delizia client.set_expected_responses( [ messages.ButtonRequest(name="setup_device"), (delizia, messages.ButtonRequest(name="confirm_setup_device")), messages.EntropyRequest, - (delizia, messages.ButtonRequest(name="backup_device")), + (delizia_eckhart, messages.ButtonRequest(name="backup_device")), messages.Success, messages.Features, ] diff --git a/tests/device_tests/ripple/test_get_address.py b/tests/device_tests/ripple/test_get_address.py index 0d35b6c5b9..42a70b026f 100644 --- a/tests/device_tests/ripple/test_get_address.py +++ b/tests/device_tests/ripple/test_get_address.py @@ -31,7 +31,7 @@ CUSTOM_MNEMONIC = ( pytestmark = [ pytest.mark.altcoin, pytest.mark.ripple, - pytest.mark.models("core"), + pytest.mark.models("core", skip=["eckhart"]), ] # data from https://iancoleman.io/bip39/ diff --git a/tests/device_tests/ripple/test_sign_tx.py b/tests/device_tests/ripple/test_sign_tx.py index a03a29d4be..1bb7b2cb98 100644 --- a/tests/device_tests/ripple/test_sign_tx.py +++ b/tests/device_tests/ripple/test_sign_tx.py @@ -24,7 +24,7 @@ from trezorlib.tools import parse_path pytestmark = [ pytest.mark.altcoin, pytest.mark.ripple, - pytest.mark.models("core"), + pytest.mark.models("core", skip=["eckhart"]), ] diff --git a/tests/device_tests/solana/test_address.py b/tests/device_tests/solana/test_address.py index b3af4ea8ed..030bdd6956 100644 --- a/tests/device_tests/solana/test_address.py +++ b/tests/device_tests/solana/test_address.py @@ -25,7 +25,7 @@ from ...common import parametrize_using_common_fixtures pytestmark = [ pytest.mark.altcoin, pytest.mark.solana, - pytest.mark.models("core"), + pytest.mark.models("core", skip=["eckhart"]), ] diff --git a/tests/device_tests/solana/test_public_key.py b/tests/device_tests/solana/test_public_key.py index e12c345fc3..0afa199266 100644 --- a/tests/device_tests/solana/test_public_key.py +++ b/tests/device_tests/solana/test_public_key.py @@ -25,7 +25,7 @@ from ...common import parametrize_using_common_fixtures pytestmark = [ pytest.mark.altcoin, pytest.mark.solana, - pytest.mark.models("core"), + pytest.mark.models("core", skip=["eckhart"]), ] diff --git a/tests/device_tests/solana/test_sign_tx.py b/tests/device_tests/solana/test_sign_tx.py index 3cf1d69f8f..8e470c6d48 100644 --- a/tests/device_tests/solana/test_sign_tx.py +++ b/tests/device_tests/solana/test_sign_tx.py @@ -29,7 +29,7 @@ from .construct.transaction import Message, RawInstruction pytestmark = [ pytest.mark.altcoin, pytest.mark.solana, - pytest.mark.models("core"), + pytest.mark.models("core", skip=["eckhart"]), ] diff --git a/tests/device_tests/stellar/test_stellar.py b/tests/device_tests/stellar/test_stellar.py index 8e214ab113..61a2100fd7 100644 --- a/tests/device_tests/stellar/test_stellar.py +++ b/tests/device_tests/stellar/test_stellar.py @@ -64,6 +64,7 @@ from ...input_flows import InputFlowShowAddressQRCode pytestmark = [ pytest.mark.altcoin, pytest.mark.stellar, + pytest.mark.models(skip=["eckhart"]), ] diff --git a/tests/device_tests/test_authenticate_device.py b/tests/device_tests/test_authenticate_device.py index 3e00b8e580..a517c8219a 100644 --- a/tests/device_tests/test_authenticate_device.py +++ b/tests/device_tests/test_authenticate_device.py @@ -9,7 +9,7 @@ from trezorlib.debuglink import TrezorClientDebugLink as Client from ..common import compact_size -pytestmark = pytest.mark.models("safe") +pytestmark = pytest.mark.models("safe", skip=["eckhart"]) ROOT_PUBLIC_KEY = { models.T2B1: bytes.fromhex( diff --git a/tests/device_tests/test_busy_state.py b/tests/device_tests/test_busy_state.py index 5e67cd598e..08ed08b0fa 100644 --- a/tests/device_tests/test_busy_state.py +++ b/tests/device_tests/test_busy_state.py @@ -23,6 +23,8 @@ from trezorlib.debuglink import LayoutType from trezorlib.debuglink import TrezorClientDebugLink as Client from trezorlib.tools import parse_path +pytestmark = pytest.mark.models(skip=["eckhart"]) + PIN = "1234" diff --git a/tests/device_tests/test_cancel.py b/tests/device_tests/test_cancel.py index b72e95a88e..257cdc6371 100644 --- a/tests/device_tests/test_cancel.py +++ b/tests/device_tests/test_cancel.py @@ -70,7 +70,7 @@ def test_cancel_message_via_initialize(client: Client, message): assert isinstance(resp, m.Features) -@pytest.mark.models("core") +@pytest.mark.models("core", skip=["eckhart"]) def test_cancel_on_paginated(client: Client): """Check that device is responsive on paginated screen. See #1708.""" # In #1708, the device would ignore USB (or UDP) events while waiting for the user diff --git a/tests/device_tests/test_firmware_hash.py b/tests/device_tests/test_firmware_hash.py index a843fd7065..574853e6fd 100644 --- a/tests/device_tests/test_firmware_hash.py +++ b/tests/device_tests/test_firmware_hash.py @@ -5,6 +5,8 @@ import pytest from trezorlib import firmware, models from trezorlib.debuglink import TrezorClientDebugLink as Client +pytestmark = pytest.mark.models(skip=["eckhart"]) + # size of FIRMWARE_AREA, see core/embed/models/model_*_layout.c FIRMWARE_LENGTHS = { models.T1B1: 7 * 128 * 1024 + 64 * 1024, diff --git a/tests/device_tests/test_language.py b/tests/device_tests/test_language.py index b08c4f29df..8f9d08b0ae 100644 --- a/tests/device_tests/test_language.py +++ b/tests/device_tests/test_language.py @@ -35,7 +35,7 @@ from ..translations import ( sign_blob, ) -pytestmark = pytest.mark.models("core") +pytestmark = pytest.mark.models("core", skip=["eckhart"]) MAX_DATA_LENGTH = { diff --git a/tests/device_tests/test_msg_applysettings.py b/tests/device_tests/test_msg_applysettings.py index 9e3161bb8b..0f4604463a 100644 --- a/tests/device_tests/test_msg_applysettings.py +++ b/tests/device_tests/test_msg_applysettings.py @@ -203,7 +203,7 @@ def test_apply_homescreen_toif(client: Client): device.apply_settings(client, homescreen=img) -@pytest.mark.models(skip=["legacy", "safe3"]) +@pytest.mark.models(skip=["legacy", "safe3", "eckhart"]) def test_apply_homescreen_jpeg(client: Client): with open(HERE / "test_bg.jpg", "rb") as f: img = f.read() @@ -325,6 +325,7 @@ def test_apply_homescreen(client: Client): @pytest.mark.setup_client(pin=None) +@pytest.mark.models(skip="eckhart") def test_safety_checks(client: Client): def get_bad_address(): btc.get_address(client, "Bitcoin", parse_path("m/44h"), show_display=True) @@ -423,7 +424,7 @@ def test_label_too_long(client: Client): device.apply_settings(client, label="A" * 33) -@pytest.mark.models(skip=["legacy", "safe3"]) +@pytest.mark.models(skip=["legacy", "safe3", "eckhart"]) @pytest.mark.setup_client(pin=None) def test_set_brightness(client: Client): device.set_brightness(client, None) diff --git a/tests/device_tests/test_msg_backup_device.py b/tests/device_tests/test_msg_backup_device.py index 37b51e39d4..27ac40ab3b 100644 --- a/tests/device_tests/test_msg_backup_device.py +++ b/tests/device_tests/test_msg_backup_device.py @@ -68,6 +68,8 @@ def test_backup_bip39(client: Client): def test_backup_slip39_basic(client: Client, click_info: bool): if click_info and client.layout_type is LayoutType.Caesar: pytest.skip("click_info not implemented on T2B1") + if click_info and client.layout_type is LayoutType.Eckhart: + pytest.skip("click_info not yet implemented on T3W1") assert client.features.backup_availability == messages.BackupAvailability.Required @@ -97,7 +99,10 @@ def test_backup_slip39_single(client: Client): with client: IF = InputFlowBip39Backup( - client, confirm_success=(client.layout_type is not LayoutType.Delizia) + client, + confirm_success=( + client.layout_type not in (LayoutType.Delizia, LayoutType.Eckhart) + ), ) client.set_input_flow(IF.get()) device.backup(client) @@ -124,6 +129,8 @@ def test_backup_slip39_single(client: Client): def test_backup_slip39_advanced(client: Client, click_info: bool): if click_info and client.layout_type is LayoutType.Caesar: pytest.skip("click_info not implemented on T2B1") + if click_info and client.layout_type is LayoutType.Eckhart: + pytest.skip("click_info not yet implemented on T3W1") assert client.features.backup_availability == messages.BackupAvailability.Required diff --git a/tests/device_tests/test_msg_sd_protect.py b/tests/device_tests/test_msg_sd_protect.py index fb30561382..ae454cc001 100644 --- a/tests/device_tests/test_msg_sd_protect.py +++ b/tests/device_tests/test_msg_sd_protect.py @@ -23,7 +23,10 @@ from trezorlib.messages import SdProtectOperationType as Op from ..common import MNEMONIC12 -pytestmark = [pytest.mark.models("core", skip="safe3"), pytest.mark.sd_card] +pytestmark = [ + pytest.mark.models("core", skip=["safe3", "eckhart"]), + pytest.mark.sd_card, +] def test_enable_disable(client: Client): diff --git a/tests/device_tests/test_msg_show_device_tutorial.py b/tests/device_tests/test_msg_show_device_tutorial.py index 52904c50c5..bc06ff542e 100644 --- a/tests/device_tests/test_msg_show_device_tutorial.py +++ b/tests/device_tests/test_msg_show_device_tutorial.py @@ -21,7 +21,7 @@ from trezorlib.debuglink import TrezorClientDebugLink as Client @pytest.mark.setup_client(uninitialized=True) -@pytest.mark.models("safe") +@pytest.mark.models("safe", skip=["eckhart"]) def test_tutorial(client: Client): device.show_device_tutorial(client) assert client.features.initialized is False diff --git a/tests/device_tests/test_protection_levels.py b/tests/device_tests/test_protection_levels.py index be2a3a81e0..b4f0457b1e 100644 --- a/tests/device_tests/test_protection_levels.py +++ b/tests/device_tests/test_protection_levels.py @@ -279,6 +279,7 @@ def test_recovery_device(client: Client): ) +@pytest.mark.models(skip=["eckhart"]) def test_sign_message(client: Client): _assert_protection(client) with client: @@ -320,7 +321,7 @@ def test_verify_message_t1(client: Client): ) -@pytest.mark.models("core") +@pytest.mark.models("core", skip=["eckhart"]) def test_verify_message_t2(client: Client): _assert_protection(client) with client: diff --git a/tests/device_tests/test_sdcard.py b/tests/device_tests/test_sdcard.py index 69098d81df..3a2a2a9aaf 100644 --- a/tests/device_tests/test_sdcard.py +++ b/tests/device_tests/test_sdcard.py @@ -23,7 +23,7 @@ from trezorlib.messages import SdProtectOperationType as Op from .. import translations as TR -pytestmark = pytest.mark.models("core", skip="safe3") +pytestmark = pytest.mark.models("core", skip=["safe3", "eckhart"]) @pytest.mark.sd_card(formatted=False) diff --git a/tests/device_tests/test_session_id_and_passphrase.py b/tests/device_tests/test_session_id_and_passphrase.py index 51a2c0731f..4631c041f5 100644 --- a/tests/device_tests/test_session_id_and_passphrase.py +++ b/tests/device_tests/test_session_id_and_passphrase.py @@ -399,7 +399,11 @@ def test_hide_passphrase_from_host(client: Client): yield content = client.debug.read_layout().text_content().lower() assert TR.passphrase__from_host_not_shown[:50].lower() in content - if client.layout_type in (LayoutType.Bolt, LayoutType.Delizia): + if client.layout_type in ( + LayoutType.Bolt, + LayoutType.Delizia, + LayoutType.Eckhart, + ): client.debug.press_yes() elif client.layout_type is LayoutType.Caesar: client.debug.press_right() diff --git a/tests/device_tests/tezos/test_getaddress.py b/tests/device_tests/tezos/test_getaddress.py index 3e6b542393..742ad18e47 100644 --- a/tests/device_tests/tezos/test_getaddress.py +++ b/tests/device_tests/tezos/test_getaddress.py @@ -25,7 +25,7 @@ from ...input_flows import InputFlowShowAddressQRCode pytestmark = [ pytest.mark.altcoin, pytest.mark.tezos, - pytest.mark.models("core"), + pytest.mark.models("core", skip=["eckhart"]), ] TEST_VECTORS = [ diff --git a/tests/device_tests/tezos/test_getpublickey.py b/tests/device_tests/tezos/test_getpublickey.py index 9f5bfcd0f7..752ebeb2a8 100644 --- a/tests/device_tests/tezos/test_getpublickey.py +++ b/tests/device_tests/tezos/test_getpublickey.py @@ -23,7 +23,7 @@ from trezorlib.tools import parse_path @pytest.mark.altcoin @pytest.mark.tezos -@pytest.mark.models("core") +@pytest.mark.models("core", skip=["eckhart"]) def test_tezos_get_public_key(client: Client): path = parse_path("m/44h/1729h/0h") pk = get_public_key(client, path) diff --git a/tests/device_tests/tezos/test_sign_tx.py b/tests/device_tests/tezos/test_sign_tx.py index 06e17304db..e608fe99d7 100644 --- a/tests/device_tests/tezos/test_sign_tx.py +++ b/tests/device_tests/tezos/test_sign_tx.py @@ -28,7 +28,7 @@ TEZOS_PATH_15 = parse_path("m/44h/1729h/15h") pytestmark = [ pytest.mark.altcoin, pytest.mark.tezos, - pytest.mark.models("core"), + pytest.mark.models("core", skip=["eckhart"]), ] diff --git a/tests/device_tests/webauthn/test_msg_webauthn.py b/tests/device_tests/webauthn/test_msg_webauthn.py index 3fd7ca7fd9..798bebb7e2 100644 --- a/tests/device_tests/webauthn/test_msg_webauthn.py +++ b/tests/device_tests/webauthn/test_msg_webauthn.py @@ -27,7 +27,7 @@ from .data_webauthn import CRED1, CRED2, CRED3, CREDS RK_CAPACITY = 100 -@pytest.mark.models("core") +@pytest.mark.models("core", skip=["eckhart"]) @pytest.mark.altcoin @pytest.mark.setup_client(mnemonic=MNEMONIC12) def test_add_remove(client: Client): diff --git a/tests/device_tests/webauthn/test_u2f_counter.py b/tests/device_tests/webauthn/test_u2f_counter.py index d99467f2b9..f7cbb1c9fb 100644 --- a/tests/device_tests/webauthn/test_u2f_counter.py +++ b/tests/device_tests/webauthn/test_u2f_counter.py @@ -21,6 +21,7 @@ from trezorlib.debuglink import TrezorClientDebugLink as Client @pytest.mark.altcoin +@pytest.mark.models(skip=["eckhart"]) def test_u2f_counter(client: Client): assert fido.get_next_counter(client) == 0 assert fido.get_next_counter(client) == 1 diff --git a/tests/device_tests/zcash/test_sign_tx.py b/tests/device_tests/zcash/test_sign_tx.py index d689c8af96..8dde071aff 100644 --- a/tests/device_tests/zcash/test_sign_tx.py +++ b/tests/device_tests/zcash/test_sign_tx.py @@ -50,7 +50,11 @@ TXHASH_4b6cec = bytes.fromhex( VERSION_GROUP_ID = 0x26A7270A BRANCH_ID = 0xC2D6D0B4 -pytestmark = [pytest.mark.altcoin, pytest.mark.zcash] +pytestmark = [ + pytest.mark.altcoin, + pytest.mark.zcash, + pytest.mark.models(skip=["eckhart"]), +] def test_version_group_id_missing(client: Client): diff --git a/tests/input_flows.py b/tests/input_flows.py index c7749cb59c..7dde747f45 100644 --- a/tests/input_flows.py +++ b/tests/input_flows.py @@ -24,7 +24,7 @@ from .common import ( BRGeneratorType, check_pin_backoff_time, click_info_button_bolt, - click_info_button_delizia, + click_info_button_delizia_eckhart, click_through, get_text_possible_pagination, read_and_confirm_mnemonic, @@ -56,6 +56,8 @@ class InputFlowBase: return self.input_flow_caesar elif self.client.layout_type is LayoutType.Delizia: return self.input_flow_delizia + elif self.client.layout_type is LayoutType.Eckhart: + return self.input_flow_eckhart else: raise ValueError("Unknown model") @@ -71,6 +73,10 @@ class InputFlowBase: """Special for T3T1""" raise NotImplementedError + def input_flow_eckhart(self) -> BRGeneratorType: + """Special for T3W1""" + raise NotImplementedError + def text_content(self) -> str: return self.debug.read_layout().text_content() @@ -250,6 +256,9 @@ class InputFlowSignMessagePagination(InputFlowBase): self.debug.press_yes() + def input_flow_eckhart(self) -> BRGeneratorType: + assert False, "Not implemented" + class InputFlowSignVerifyMessageLong(InputFlowBase): def __init__(self, client: Client, verify=False): @@ -318,9 +327,9 @@ class InputFlowSignVerifyMessageLong(InputFlowBase): self.debug.read_layout() self.debug.press_yes() - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) self.debug.synchronize_at("VerticalMenu") - self.debug.click(self.client.debug.screen_buttons.vertical_menu_items()[0]) + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[0]) br = yield self.debug.read_layout() @@ -342,6 +351,9 @@ class InputFlowSignVerifyMessageLong(InputFlowBase): self.debug.press_yes() br = yield + def input_flow_eckhart(self) -> BRGeneratorType: + assert False, "Not implemented" + class InputFlowSignMessageInfo(InputFlowBase): def __init__(self, client: Client): @@ -350,8 +362,8 @@ class InputFlowSignMessageInfo(InputFlowBase): def input_flow_bolt(self) -> BRGeneratorType: yield # signing address/message info - self.debug.click(self.client.debug.screen_buttons.menu()) - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) # signing address "x" self.debug.press_no() self.debug.synchronize_at("IconDialog") @@ -362,14 +374,27 @@ class InputFlowSignMessageInfo(InputFlowBase): def input_flow_delizia(self) -> BRGeneratorType: yield # show address/message info - self.debug.click(self.client.debug.screen_buttons.menu()) - self.debug.click(self.client.debug.screen_buttons.vertical_menu_items()[0]) - self.debug.click(self.client.debug.screen_buttons.menu()) - self.debug.click(self.client.debug.screen_buttons.vertical_menu_items()[1]) + self.debug.click(self.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[0]) + self.debug.click(self.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[1]) # address mismatch? yes! self.debug.swipe_up() yield + def input_flow_eckhart(self) -> BRGeneratorType: + yield + # go to menu + self.debug.click(self.debug.screen_buttons.menu()) + # show address/message info + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[0]) + self.debug.click(self.debug.screen_buttons.menu()) + # cancel flow + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[1]) + # confirm cancel + self.debug.click(self.debug.screen_buttons.ok()) + yield + class InputFlowShowAddressQRCode(InputFlowBase): def __init__(self, client: Client): @@ -377,14 +402,14 @@ class InputFlowShowAddressQRCode(InputFlowBase): def input_flow_bolt(self) -> BRGeneratorType: yield - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) # synchronize; TODO get rid of this once we have single-global-layout self.debug.synchronize_at("SimplePage") self.debug.swipe_left() self.debug.swipe_right() self.debug.swipe_left() - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) self.debug.press_no() self.debug.press_no() self.debug.press_yes() @@ -412,26 +437,26 @@ class InputFlowShowAddressQRCode(InputFlowBase): def input_flow_delizia(self) -> BRGeneratorType: yield - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) # synchronize; TODO get rid of this once we have single-global-layout self.debug.synchronize_at("VerticalMenu") # menu - self.debug.click(self.client.debug.screen_buttons.vertical_menu_items()[0]) + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[0]) self.debug.synchronize_at("Qr") # qr code - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) # menu - self.debug.click(self.client.debug.screen_buttons.vertical_menu_items()[1]) + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[1]) # address details - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) # menu - self.debug.click(self.client.debug.screen_buttons.vertical_menu_items()[2]) + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[2]) # cancel self.debug.swipe_up() # really cancel - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) # menu - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) layout = self.debug.read_layout() while "PromptScreen" not in layout.all_components(): @@ -439,7 +464,30 @@ class InputFlowShowAddressQRCode(InputFlowBase): layout = self.debug.read_layout() self.debug.synchronize_at("PromptScreen") # tap to confirm - self.debug.click(self.client.debug.screen_buttons.tap_to_confirm()) + self.debug.click(self.debug.screen_buttons.tap_to_confirm()) + + def input_flow_eckhart(self) -> BRGeneratorType: + yield + self.debug.click(self.debug.screen_buttons.menu()) + self.debug.synchronize_at("VerticalMenu") + # menu + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[0]) + self.debug.synchronize_at("Qr") + # qr code + self.debug.click(self.debug.screen_buttons.menu()) + # menu + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[1]) + # address details + self.debug.click(self.debug.screen_buttons.menu()) + # menu + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[2]) + # cancel + self.debug.click(self.debug.screen_buttons.cancel()) + # address + self.debug.synchronize_at("TextComponent") + self.debug.click(self.debug.screen_buttons.ok()) + # continue to the app + self.debug.press_yes() class InputFlowShowAddressQRCodeCancel(InputFlowBase): @@ -448,12 +496,12 @@ class InputFlowShowAddressQRCodeCancel(InputFlowBase): def input_flow_bolt(self) -> BRGeneratorType: yield - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) # synchronize; TODO get rid of this once we have single-global-layout self.debug.synchronize_at("SimplePage") self.debug.swipe_left() - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) self.debug.press_no() self.debug.press_yes() @@ -474,25 +522,44 @@ class InputFlowShowAddressQRCodeCancel(InputFlowBase): def input_flow_delizia(self) -> BRGeneratorType: yield - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) # synchronize; TODO get rid of this once we have single-global-layout self.debug.synchronize_at("VerticalMenu") # menu - self.debug.click(self.client.debug.screen_buttons.vertical_menu_items()[0]) + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[0]) self.debug.synchronize_at("Qr") # qr code - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) # menu - self.debug.click(self.client.debug.screen_buttons.vertical_menu_items()[1]) + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[1]) # address details - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) # menu - self.debug.click(self.client.debug.screen_buttons.vertical_menu_items()[2]) + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[2]) # cancel self.debug.swipe_up() self.debug.synchronize_at("PromptScreen") # really cancel - self.debug.click(self.client.debug.screen_buttons.tap_to_confirm()) + self.debug.click(self.debug.screen_buttons.tap_to_confirm()) + + def input_flow_eckhart(self) -> BRGeneratorType: + yield + self.debug.click(self.debug.screen_buttons.menu()) + self.debug.synchronize_at("VerticalMenu") + # menu + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[0]) + self.debug.synchronize_at("Qr") + # qr code + self.debug.click(self.debug.screen_buttons.menu()) + # menu + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[1]) + # address details + self.debug.click(self.debug.screen_buttons.menu()) + # menu + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[2]) + # cancel + self.debug.synchronize_at("TextComponent") + self.debug.click(self.debug.screen_buttons.ok()) class InputFlowShowMultisigXPUBs(InputFlowBase): @@ -520,7 +587,7 @@ class InputFlowShowMultisigXPUBs(InputFlowBase): assert "(MULTISIG)" in layout.title() assert layout.text_content().replace(" ", "") == self.address - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) assert "Qr" in self.all_components() self.debug.swipe_left() @@ -537,7 +604,7 @@ class InputFlowShowMultisigXPUBs(InputFlowBase): content = layout.text_content().replace(" ", "") assert self.xpubs[xpub_num] in content - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) # show address self.debug.press_no() # address mismatch @@ -589,26 +656,26 @@ class InputFlowShowMultisigXPUBs(InputFlowBase): def input_flow_delizia(self) -> BRGeneratorType: yield # multisig address warning - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) self.debug.synchronize_at("VerticalMenu") - self.debug.click(self.client.debug.screen_buttons.vertical_menu_items()[1]) + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[1]) yield # show address layout = self.debug.read_layout() assert TR.address__title_receive_address in layout.title() assert layout.text_content().replace(" ", "") == self.address - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) assert "VerticalMenu" in self.all_components() # menu - self.debug.click(self.client.debug.screen_buttons.vertical_menu_items()[0]) + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[0]) self.debug.synchronize_at("Qr") # qr code assert "Qr" in self.all_components() - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) # menu assert "VerticalMenu" in self.all_components() - self.debug.click(self.client.debug.screen_buttons.vertical_menu_items()[1]) + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[1]) layout = self.debug.synchronize_at("AddressDetails") # address details assert "Multisig 2 of 3" in layout.screen_content() @@ -619,17 +686,17 @@ class InputFlowShowMultisigXPUBs(InputFlowBase): self.debug.swipe_left() self.debug.swipe_left() - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) self.debug.synchronize_at("VerticalMenu") # menu - self.debug.click(self.client.debug.screen_buttons.vertical_menu_items()[2]) + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[2]) # cancel self.debug.swipe_up() # really cancel - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) self.debug.synchronize_at("VerticalMenu") # menu - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) layout = self.debug.synchronize_at("Paragraphs") # address while "PromptScreen" not in layout.all_components(): @@ -639,6 +706,43 @@ class InputFlowShowMultisigXPUBs(InputFlowBase): # tap to confirm self.debug.press_yes() + def input_flow_eckhart(self) -> BRGeneratorType: + yield # multisig address warning + self.debug.click(self.debug.screen_buttons.menu()) + self.debug.synchronize_at("VerticalMenu") + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[1]) + + yield # show address + layout = self.debug.read_layout() + assert TR.address__title_receive_address in layout.subtitle() + assert layout.text_content().replace(" ", "").strip() == self.address + + self.debug.click(self.debug.screen_buttons.menu()) + assert "VerticalMenu" in self.all_components() + # menu + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[0]) + self.debug.synchronize_at("Qr") + # qr code + assert "QrScreen" in self.all_components() + self.debug.click(self.debug.screen_buttons.menu()) + # menu + assert "VerticalMenu" in self.all_components() + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[1]) + layout = self.debug.synchronize_at("TextComponent") + # address details + assert "Multisig 2 of 3" in layout.screen_content() + assert TR.address_details__derivation_path in layout.screen_content() + + self.debug.click(self.debug.screen_buttons.menu()) + self.debug.synchronize_at("VerticalMenu") + # menu + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[2]) + # cancel + self.debug.click(self.debug.screen_buttons.cancel()) + # address + layout = self.debug.synchronize_at("TextComponent") + self.debug.press_yes() + class InputFlowShowXpubQRCode(InputFlowBase): def __init__(self, client: Client, passphrase: bool = False): @@ -658,14 +762,14 @@ class InputFlowShowXpubQRCode(InputFlowBase): self.debug.press_yes() br = yield - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) # synchronize; TODO get rid of this once we have single-global-layout self.debug.synchronize_at("SimplePage") self.debug.swipe_left() self.debug.swipe_right() self.debug.swipe_left() - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) self.debug.press_no() self.debug.press_no() for _ in range(br.pages - 1): @@ -715,32 +819,32 @@ class InputFlowShowXpubQRCode(InputFlowBase): assert layout.title() in (TR.address__public_key, "XPUB") - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) assert "VerticalMenu" in self.all_components() # menu - self.debug.click(self.client.debug.screen_buttons.vertical_menu_items()[0]) + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[0]) self.debug.synchronize_at("Qr") # qr code assert "Qr" in self.all_components() - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) # menu assert "VerticalMenu" in self.all_components() - self.debug.click(self.client.debug.screen_buttons.vertical_menu_items()[1]) + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[1]) layout = self.debug.synchronize_at("AddressDetails") # address details assert TR.address_details__derivation_path in layout.screen_content() - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) layout = self.debug.synchronize_at("VerticalMenu") # menu - self.debug.click(self.client.debug.screen_buttons.vertical_menu_items()[2]) + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[2]) # cancel self.debug.swipe_up() # really cancel - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) layout = self.debug.synchronize_at("VerticalMenu") # menu - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) layout = self.debug.synchronize_at("Paragraphs") # address while "PromptScreen" not in layout.all_components(): @@ -750,6 +854,47 @@ class InputFlowShowXpubQRCode(InputFlowBase): # tap to confirm self.debug.press_yes() + def input_flow_eckhart(self) -> BRGeneratorType: + if self.passphrase: + yield + self.debug.press_yes() + yield + self.debug.press_yes() + + br = yield + layout = self.debug.read_layout() + if "coinjoin" in layout.title().lower() or br.code == B.UnknownDerivationPath: + self.debug.press_yes() + br = yield + layout = self.debug.read_layout() + + assert layout.subtitle() in (TR.address__public_key, "XPUB") + + self.debug.click(self.debug.screen_buttons.menu()) + assert "VerticalMenu" in self.all_components() + # menu + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[0]) + self.debug.synchronize_at("Qr") + # qr code + assert "QrScreen" in self.all_components() + self.debug.click(self.debug.screen_buttons.menu()) + # menu + assert "VerticalMenu" in self.all_components() + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[1]) + layout = self.debug.synchronize_at("TextComponent") + # address details + assert TR.address_details__derivation_path in layout.screen_content() + + self.debug.click(self.debug.screen_buttons.menu()) + layout = self.debug.synchronize_at("VerticalMenu") + # menu + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[2]) + # cancel + self.debug.click(self.debug.screen_buttons.cancel()) + # address + layout = self.debug.synchronize_at("TextComponent") + self.debug.press_yes() + class InputFlowPaymentRequestDetails(InputFlowBase): def __init__(self, client: Client, outputs: list[messages.TxOutputType]): @@ -803,6 +948,9 @@ class InputFlowPaymentRequestDetails(InputFlowBase): self.debug.swipe_up() self.debug.press_yes() + def input_flow_eckhart(self) -> BRGeneratorType: + assert False, "Not implemented" + class InputFlowSignTxHighFee(InputFlowBase): def __init__(self, client: Client): @@ -851,8 +999,26 @@ class InputFlowSignTxHighFee(InputFlowBase): self.finished = True + def input_flow_eckhart(self) -> BRGeneratorType: + screens = [ + B.ConfirmOutput, + B.ConfirmOutput, + B.FeeOverThreshold, + B.SignTx, + ] + for expected in screens: + br = yield + assert br.code == expected + self.debug.click(self.debug.screen_buttons.ok()) + if br.code == B.SignTx: + self.debug.press_yes() -def sign_tx_go_to_info(client: Client) -> Generator[None, messages.ButtonRequest, str]: + self.finished = True + + +def sign_tx_go_to_info_bolt( + client: Client, +) -> Generator[None, messages.ButtonRequest, str]: yield # confirm output client.debug.read_layout() client.debug.press_yes() @@ -872,7 +1038,7 @@ def sign_tx_go_to_info(client: Client) -> Generator[None, messages.ButtonRequest return content -def sign_tx_go_to_info_t3t1( +def sign_tx_go_to_info_delizia( client: Client, multi_account: bool = False ) -> Generator[None, messages.ButtonRequest, str]: yield # confirm output @@ -909,7 +1075,45 @@ def sign_tx_go_to_info_t3t1( return content -def sign_tx_go_to_info_tr( +def sign_tx_go_to_info_eckhart( + client: Client, multi_account: bool = False +) -> Generator[None, messages.ButtonRequest, str]: + yield # confirm output + client.debug.read_layout() + client.debug.click(client.debug.screen_buttons.ok()) + + yield # confirm output + client.debug.read_layout() + client.debug.click(client.debug.screen_buttons.ok()) + + if multi_account: + yield + client.debug.read_layout() + client.debug.press_yes() + + yield # confirm transaction + client.debug.read_layout() + client.debug.click(client.debug.screen_buttons.menu()) + client.debug.synchronize_at("VerticalMenuScreen") + client.debug.click(client.debug.screen_buttons.vertical_menu_items()[0]) + + layout = client.debug.read_layout() + content = layout.text_content() + + client.debug.click(client.debug.screen_buttons.menu()) + client.debug.synchronize_at("VerticalMenuScreen") + client.debug.click(client.debug.screen_buttons.vertical_menu_items()[1]) + + layout = client.debug.read_layout() + content += " " + layout.text_content() + + client.debug.click(client.debug.screen_buttons.menu()) + client.debug.click(client.debug.screen_buttons.menu()) + + return content + + +def sign_tx_go_to_info_caesar( client: Client, ) -> Generator[None, messages.ButtonRequest, str]: yield # confirm address @@ -952,22 +1156,27 @@ class InputFlowSignTxInformation(InputFlowBase): assert "71.56 sat" in content def input_flow_bolt(self) -> BRGeneratorType: - content = yield from sign_tx_go_to_info(self.client) + content = yield from sign_tx_go_to_info_bolt(self.client) self.assert_content(content, "confirm_total__sending_from_account") self.debug.press_yes() def input_flow_caesar(self) -> BRGeneratorType: - content = yield from sign_tx_go_to_info_tr(self.client) + content = yield from sign_tx_go_to_info_caesar(self.client) print("content", content) self.assert_content(content, "confirm_total__title_sending_from") self.debug.press_yes() def input_flow_delizia(self) -> BRGeneratorType: - content = yield from sign_tx_go_to_info_t3t1(self.client) + content = yield from sign_tx_go_to_info_delizia(self.client) self.assert_content(content, "confirm_total__sending_from_account") self.debug.swipe_up() self.debug.press_yes() + def input_flow_eckhart(self) -> BRGeneratorType: + content = yield from sign_tx_go_to_info_eckhart(self.client) + self.assert_content(content, "words__account") + self.debug.press_yes() + class InputFlowSignTxInformationMixed(InputFlowBase): def __init__(self, client: Client): @@ -984,7 +1193,7 @@ class InputFlowSignTxInformationMixed(InputFlowBase): yield self.debug.press_yes() - content = yield from sign_tx_go_to_info(self.client) + content = yield from sign_tx_go_to_info_bolt(self.client) self.assert_content(content, "confirm_total__sending_from_account") self.debug.press_yes() @@ -993,35 +1202,48 @@ class InputFlowSignTxInformationMixed(InputFlowBase): yield self.debug.press_yes() - content = yield from sign_tx_go_to_info_tr(self.client) + content = yield from sign_tx_go_to_info_caesar(self.client) self.assert_content(content, "confirm_total__title_sending_from") self.debug.press_yes() def input_flow_delizia(self) -> BRGeneratorType: - content = yield from sign_tx_go_to_info_t3t1(self.client, multi_account=True) + content = yield from sign_tx_go_to_info_delizia(self.client, multi_account=True) self.assert_content(content, "confirm_total__sending_from_account") self.debug.swipe_up() self.debug.press_yes() + def input_flow_eckhart(self) -> BRGeneratorType: + content = yield from sign_tx_go_to_info_eckhart(self.client, multi_account=True) + self.assert_content(content, "words__account") + self.debug.press_yes() + class InputFlowSignTxInformationCancel(InputFlowBase): def __init__(self, client: Client): super().__init__(client) def input_flow_bolt(self) -> BRGeneratorType: - yield from sign_tx_go_to_info(self.client) + yield from sign_tx_go_to_info_bolt(self.client) self.debug.press_no() def input_flow_caesar(self) -> BRGeneratorType: - yield from sign_tx_go_to_info_tr(self.client) + yield from sign_tx_go_to_info_caesar(self.client) self.debug.press_left() def input_flow_delizia(self) -> BRGeneratorType: - yield from sign_tx_go_to_info_t3t1(self.client) - self.debug.click(self.client.debug.screen_buttons.menu()) - self.debug.click(self.client.debug.screen_buttons.vertical_menu_items()[2]) + yield from sign_tx_go_to_info_delizia(self.client) + self.debug.click(self.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[2]) self.debug.synchronize_at("PromptScreen") - self.debug.click(self.client.debug.screen_buttons.tap_to_confirm()) + self.debug.click(self.debug.screen_buttons.tap_to_confirm()) + + def input_flow_eckhart(self) -> BRGeneratorType: + yield from sign_tx_go_to_info_eckhart(self.client) + self.debug.click(self.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[2]) + self.debug.synchronize_at("TextComponent") + self.debug.click(self.debug.screen_buttons.ok()) + self.debug.click(self.debug.screen_buttons.ok()) class InputFlowSignTxInformationReplacement(InputFlowBase): @@ -1042,8 +1264,8 @@ class InputFlowSignTxInformationReplacement(InputFlowBase): self.debug.press_yes() yield # transaction summary, press info - self.debug.click(self.client.debug.screen_buttons.menu()) - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) self.debug.press_yes() def input_flow_caesar(self) -> BRGeneratorType: @@ -1080,6 +1302,24 @@ class InputFlowSignTxInformationReplacement(InputFlowBase): self.debug.click(self.client.debug.screen_buttons.menu()) self.debug.press_yes() + def input_flow_eckhart(self) -> BRGeneratorType: + yield # confirm txid + self.debug.press_yes() + yield # confirm address + self.debug.press_yes() + # go back to address + yield + self.debug.press_no() + # confirm address + self.debug.click(self.debug.screen_buttons.ok()) + # confirm amount + self.debug.click(self.debug.screen_buttons.ok()) + + yield # transaction summary, press info + self.debug.click(self.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) + self.debug.press_yes() + def lock_time_input_flow_bolt( debug: DebugLink, @@ -1147,6 +1387,22 @@ def lock_time_input_flow_delizia( debug.press_yes() +def lock_time_input_flow_eckhart( + debug: DebugLink, + layout_assert_func: Callable[[DebugLink, messages.ButtonRequest], None], +) -> BRGeneratorType: + yield # confirm output + debug.read_layout() + debug.press_yes() + + br = yield # confirm locktime + layout_assert_func(debug, br) + debug.press_yes() + + yield # confirm transaction + debug.press_yes() + + class InputFlowLockTimeBlockHeight(InputFlowBase): def __init__(self, client: Client, block_height: str): super().__init__(client) @@ -1170,6 +1426,9 @@ class InputFlowLockTimeBlockHeight(InputFlowBase): self.debug, self.assert_func, double_confirm=True ) + def input_flow_eckhart(self) -> BRGeneratorType: + yield from lock_time_input_flow_eckhart(self.debug, self.assert_func) + class InputFlowLockTimeDatetime(InputFlowBase): def __init__(self, client: Client, lock_time_str: str): @@ -1190,6 +1449,9 @@ class InputFlowLockTimeDatetime(InputFlowBase): def input_flow_delizia(self) -> BRGeneratorType: yield from lock_time_input_flow_delizia(self.debug, self.assert_func) + def input_flow_eckhart(self) -> BRGeneratorType: + yield from lock_time_input_flow_eckhart(self.debug, self.assert_func) + class InputFlowEIP712ShowMore(InputFlowBase): SHOW_MORE = (143, 167) @@ -1200,7 +1462,10 @@ class InputFlowEIP712ShowMore(InputFlowBase): def _confirm_show_more(self) -> None: """Model-specific, either clicks a screen or presses a button.""" - if self.client.layout_type is LayoutType.Bolt: + if self.client.layout_type in ( + LayoutType.Bolt, + LayoutType.Eckhart, + ): self.debug.click(self.SHOW_MORE) elif self.client.layout_type is LayoutType.Caesar: self.debug.press_right() @@ -1407,6 +1672,17 @@ class InputFlowBip39ResetBackup(InputFlowBase): # mnemonic phrases and rest self.mnemonic = yield from get_mnemonic(self.debug) + def input_flow_eckhart(self) -> BRGeneratorType: + # 1. Confirm Reset + # 2. Wallet created + # 3. Backup your seed + # 4. Backup intro + # 5. Confirm warning + yield from click_through(self.debug, screens=5, code=B.ResetDevice) + + # mnemonic phrases and rest + self.mnemonic = yield from get_mnemonic(self.debug) + class InputFlowBip39ResetPIN(InputFlowBase): def __init__(self, client: Client): @@ -1420,7 +1696,7 @@ class InputFlowBip39ResetPIN(InputFlowBase): yield from self.PIN.setup_new_pin("654") - if self.debug.layout_type is LayoutType.Delizia: + if self.debug.layout_type in (LayoutType.Delizia, LayoutType.Eckhart): br = yield # Wallet created assert br.code == B.ResetDevice self.debug.press_yes() @@ -1455,9 +1731,13 @@ class InputFlowBip39ResetFailedCheck(InputFlowBase): self.mnemonic = None def input_flow_common(self) -> BRGeneratorType: - screens = 5 if self.debug.layout_type is LayoutType.Delizia else 4 + screens = ( + 5 + if self.debug.layout_type in (LayoutType.Delizia, LayoutType.Eckhart) + else 4 + ) # 1. Confirm Reset - # 1a. (T3T1) Walet Creation done + # 1a. (T3T1, T3W1) Walet Creation done # 2. Confirm backup prompt # 3. Backup your seed # 4. Confirm warning @@ -1587,13 +1867,13 @@ class InputFlowSlip39BasicBackup(InputFlowBase): self.debug.swipe_up() assert (yield).name == "slip39_shares" if self.click_info: - click_info_button_delizia(self.debug) + click_info_button_delizia_eckhart(self.debug) self.debug.swipe_up() assert (yield).name == "slip39_checklist" self.debug.swipe_up() assert (yield).name == "slip39_threshold" if self.click_info: - click_info_button_delizia(self.debug) + click_info_button_delizia_eckhart(self.debug) self.debug.swipe_up() assert (yield).name == "slip39_checklist" self.debug.swipe_up() @@ -1607,6 +1887,38 @@ class InputFlowSlip39BasicBackup(InputFlowBase): assert br.code == B.Success self.debug.press_yes() + def input_flow_eckhart(self) -> BRGeneratorType: + if self.repeated: + # intro confirmation screen + assert (yield).name == "confirm_repeated_backup" + self.debug.press_yes() + + assert (yield).name == "backup_intro" + self.debug.press_yes() + assert (yield).name == "slip39_checklist" + self.debug.press_yes() + assert (yield).name == "slip39_shares" + if self.click_info: + click_info_button_delizia_eckhart(self.debug) + self.debug.press_yes() + assert (yield).name == "slip39_checklist" + self.debug.press_yes() + assert (yield).name == "slip39_threshold" + if self.click_info: + click_info_button_delizia_eckhart(self.debug) + self.debug.press_yes() + assert (yield).name == "slip39_checklist" + self.debug.press_yes() + assert (yield).name == "backup_warning" + self.debug.press_yes() + + # Mnemonic phrases + self.mnemonics = yield from load_N_shares(self.debug, 5) + + br = yield # Confirm backup + assert br.code == B.Success + self.debug.press_yes() + class InputFlowSlip39BasicResetRecovery(InputFlowBase): def __init__(self, client: Client): @@ -1683,6 +1995,26 @@ class InputFlowSlip39BasicResetRecovery(InputFlowBase): assert br.code == B.Success self.debug.press_yes() + def input_flow_eckhart(self) -> BRGeneratorType: + # 1. Confirm Reset + # 2. Wallet Created + # 3. Backup your seed + # 4. Backup intro + # 5. Set & Confirm number of shares + # 6. threshold info + # 7. Set & confirm threshold value + # 8. Confirm show seeds + # 9. Warning + # 10. Instructions + yield from click_through(self.debug, screens=10, code=B.ResetDevice) + + # Mnemonic phrases + self.mnemonics = yield from load_N_shares(self.debug, 5) + + br = yield # success screen + assert br.code == B.Success + self.debug.press_yes() + class InputFlowSlip39CustomBackup(InputFlowBase): def __init__(self, client: Client, share_count: int, repeated: bool = False): @@ -1757,6 +2089,28 @@ class InputFlowSlip39CustomBackup(InputFlowBase): assert br.code == B.Success self.debug.press_yes() + def input_flow_eckhart(self) -> BRGeneratorType: + if self.repeated: + yield + self.debug.press_yes() + + if self.share_count > 1: + yield # Checklist + self.debug.press_yes() + else: + yield # Backup intro + self.debug.press_yes() + + yield # Confirm show seeds + self.debug.press_yes() + + # Mnemonic phrases + self.mnemonics = yield from load_N_shares(self.debug, self.share_count) + + br = yield # Confirm backup + assert br.code == B.Success + self.debug.press_yes() + def load_5_groups_5_shares( debug: DebugLink, @@ -1861,24 +2215,24 @@ class InputFlowSlip39AdvancedBackup(InputFlowBase): self.debug.swipe_up() assert (yield).name == "slip39_groups" if self.click_info: - click_info_button_delizia(self.debug) + click_info_button_delizia_eckhart(self.debug) self.debug.swipe_up() assert (yield).name == "slip39_checklist" self.debug.swipe_up() assert (yield).name == "slip39_group_threshold" if self.click_info: - click_info_button_delizia(self.debug) + click_info_button_delizia_eckhart(self.debug) self.debug.swipe_up() assert (yield).name == "slip39_checklist" self.debug.swipe_up() for _i in range(5): # for each of 5 groups assert (yield).name == "slip39_shares" if self.click_info: - click_info_button_delizia(self.debug) + click_info_button_delizia_eckhart(self.debug) self.debug.swipe_up() assert (yield).name == "slip39_threshold" if self.click_info: - click_info_button_delizia(self.debug) + click_info_button_delizia_eckhart(self.debug) self.debug.swipe_up() assert (yield).name == "backup_warning" self.debug.press_yes() @@ -1890,6 +2244,42 @@ class InputFlowSlip39AdvancedBackup(InputFlowBase): assert br.code == B.Success self.debug.press_yes() + def input_flow_eckhart(self) -> BRGeneratorType: + assert (yield).name == "backup_intro" + self.debug.press_yes() + assert (yield).name == "slip39_checklist" + self.debug.press_yes() + assert (yield).name == "slip39_groups" + if self.click_info: + click_info_button_delizia_eckhart(self.debug) + self.debug.press_yes() + assert (yield).name == "slip39_checklist" + self.debug.press_yes() + assert (yield).name == "slip39_group_threshold" + if self.click_info: + click_info_button_delizia_eckhart(self.debug) + self.debug.press_yes() + assert (yield).name == "slip39_checklist" + self.debug.press_yes() + for _i in range(5): # for each of 5 groups + assert (yield).name == "slip39_shares" + if self.click_info: + click_info_button_delizia_eckhart(self.debug) + self.debug.press_yes() + assert (yield).name == "slip39_threshold" + if self.click_info: + click_info_button_delizia_eckhart(self.debug) + self.debug.press_yes() + assert (yield).name == "backup_warning" + self.debug.press_yes() + + # Mnemonic phrases - show & confirm shares for all groups + self.mnemonics = yield from load_5_groups_5_shares(self.debug) + + br = yield # Confirm backup + assert br.code == B.Success + self.debug.press_yes() + class InputFlowSlip39AdvancedResetRecovery(InputFlowBase): def __init__(self, client: Client, click_info: bool): @@ -1978,6 +2368,29 @@ class InputFlowSlip39AdvancedResetRecovery(InputFlowBase): assert br.code == B.Success self.debug.press_yes() + def input_flow_eckhart(self) -> BRGeneratorType: + # 1. Confirm Reset + # 2. Wallet Created + # 3. Prompt Backup + # 4. Backup intro + # 5. Confirm warning + # 6. shares info + # 7. Set & Confirm number of groups + # 8. threshold info + # 9. Set & confirm group threshold value + # 10-19: for each of 5 groups: + # 1. Set & Confirm number of shares + # 2. Set & confirm share threshold value + # 20. Confirm show seeds + yield from click_through(self.debug, screens=20, code=B.ResetDevice) + + # Mnemonic phrases - show & confirm shares for all groups + self.mnemonics = yield from load_5_groups_5_shares(self.debug) + + br = yield # safety warning + assert br.code == B.Success + self.debug.press_yes() + class InputFlowBip39RecoveryDryRun(InputFlowBase): def __init__(self, client: Client, mnemonic: list[str], mismatch: bool = False): @@ -2064,7 +2477,11 @@ class InputFlowSlip39AdvancedRecoveryAbort(InputFlowBase): def input_flow_common(self) -> BRGeneratorType: yield from self.REC.confirm_recovery() - if self.client.layout_type in (LayoutType.Bolt, LayoutType.Delizia): + if self.client.layout_type in ( + LayoutType.Bolt, + LayoutType.Delizia, + LayoutType.Eckhart, + ): yield from self.REC.input_number_of_words(20) yield from self.REC.abort_recovery(True) @@ -2077,7 +2494,11 @@ class InputFlowSlip39AdvancedRecoveryNoAbort(InputFlowBase): def input_flow_common(self) -> BRGeneratorType: yield from self.REC.confirm_recovery() - if self.client.layout_type in (LayoutType.Bolt, LayoutType.Delizia): + if self.client.layout_type in ( + LayoutType.Bolt, + LayoutType.Delizia, + LayoutType.Eckhart, + ): yield from self.REC.input_number_of_words(self.word_count) yield from self.REC.abort_recovery(False) else: @@ -2186,7 +2607,11 @@ class InputFlowSlip39BasicRecoveryAbortOnNumberOfWords(InputFlowBase): def input_flow_common(self) -> BRGeneratorType: yield from self.REC.confirm_recovery() - if self.client.layout_type in (LayoutType.Bolt, LayoutType.Delizia): + if self.client.layout_type in ( + LayoutType.Bolt, + LayoutType.Delizia, + LayoutType.Eckhart, + ): yield from self.REC.input_number_of_words(None) @@ -2196,7 +2621,11 @@ class InputFlowSlip39BasicRecoveryAbort(InputFlowBase): def input_flow_common(self) -> BRGeneratorType: yield from self.REC.confirm_recovery() - if self.client.layout_type in (LayoutType.Bolt, LayoutType.Delizia): + if self.client.layout_type in ( + LayoutType.Bolt, + LayoutType.Delizia, + LayoutType.Eckhart, + ): yield from self.REC.input_number_of_words(20) yield from self.REC.abort_recovery(True) @@ -2209,7 +2638,11 @@ class InputFlowSlip39BasicRecoveryAbortBetweenShares(InputFlowBase): def input_flow_common(self) -> BRGeneratorType: yield from self.REC.confirm_recovery() - if self.client.layout_type in (LayoutType.Bolt, LayoutType.Delizia): + if self.client.layout_type in ( + LayoutType.Bolt, + LayoutType.Delizia, + LayoutType.Eckhart, + ): yield from self.REC.input_number_of_words(20) else: yield from self.REC.recovery_homescreen_caesar() @@ -2220,6 +2653,32 @@ class InputFlowSlip39BasicRecoveryAbortBetweenShares(InputFlowBase): yield from self.REC.abort_recovery_between_shares() +class InputFlowSlip39BasicRecoveryShareInfoBetweenShares(InputFlowBase): + def __init__(self, client: Client, shares: list[str]): + super().__init__(client) + self.first_share = shares[0].split(" ") + self.word_count = len(self.first_share) + + def input_flow_common(self) -> BRGeneratorType: + yield from self.REC.confirm_recovery() + if self.client.layout_type in ( + LayoutType.Bolt, + LayoutType.Delizia, + LayoutType.Eckhart, + ): + yield from self.REC.input_number_of_words(20) + else: + yield from self.REC.recovery_homescreen_caesar() + yield from self.REC.input_number_of_words(self.word_count) + + yield from self.REC.enter_any_share() + yield from self.REC.input_mnemonic(self.first_share) + yield from self.REC.share_info_between_shares() + + yield + self.client.cancel() + + class InputFlowSlip39BasicRecoveryNoAbort(InputFlowBase): def __init__(self, client: Client, shares: list[str]): super().__init__(client) @@ -2229,7 +2688,11 @@ class InputFlowSlip39BasicRecoveryNoAbort(InputFlowBase): def input_flow_common(self) -> BRGeneratorType: yield from self.REC.confirm_recovery() - if self.client.layout_type in (LayoutType.Bolt, LayoutType.Delizia): + if self.client.layout_type in ( + LayoutType.Bolt, + LayoutType.Delizia, + LayoutType.Eckhart, + ): yield from self.REC.input_number_of_words(self.word_count) yield from self.REC.abort_recovery(False) else: @@ -2351,12 +2814,23 @@ class InputFlowResetSkipBackup(InputFlowBase): assert TR.backup__new_wallet_created in self.text_content() self.debug.swipe_up() yield - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) self.debug.synchronize_at("VerticalMenu") - self.debug.click(self.client.debug.screen_buttons.vertical_menu_items()[0]) + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[0]) self.debug.swipe_up() self.debug.synchronize_at("PromptScreen") - self.debug.click(self.client.debug.screen_buttons.tap_to_confirm()) + self.debug.click(self.debug.screen_buttons.tap_to_confirm()) + + def input_flow_eckhart(self) -> BRGeneratorType: + yield from self.BAK.confirm_new_wallet() + yield # Skip Backup + assert TR.backup__new_wallet_created in self.text_content() + self.debug.press_yes() + yield + self.debug.click(self.debug.screen_buttons.menu()) + self.debug.synchronize_at("VerticalMenu") + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[0]) + self.debug.press_no() class InputFlowConfirmAllWarnings(InputFlowBase): @@ -2392,11 +2866,9 @@ class InputFlowConfirmAllWarnings(InputFlowBase): TR.send__cancel_sign, ) if any(needle.lower() in text for needle in hi_prio): - self.debug.click(self.client.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) self.debug.synchronize_at("VerticalMenu") - self.debug.click( - self.client.debug.screen_buttons.vertical_menu_items()[1] - ) + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[1]) elif "PromptScreen" in layout.all_components(): self.debug.press_yes() elif "SwipeContent" in layout.all_components(): @@ -2405,6 +2877,29 @@ class InputFlowConfirmAllWarnings(InputFlowBase): self.debug.press_yes() br = yield + def input_flow_eckhart(self) -> BRGeneratorType: + br = yield + while True: + self.debug.read_layout() + # Paginating (going as further as possible) and pressing Yes + if br.pages is not None: + for _ in range(br.pages - 1): + self.debug.click(self.debug.screen_buttons.ok()) + layout = self.debug.read_layout() + text = layout.action_bar().lower() + # hi priority warning + hi_prio = ( + TR.words__cancel_and_exit, + TR.send__cancel_sign, + ) + if any(needle.lower() in text for needle in hi_prio): + self.debug.click(self.debug.screen_buttons.menu()) + self.debug.synchronize_at("VerticalMenu") + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[1]) + else: + self.debug.click(self.debug.screen_buttons.ok()) + br = yield + class InputFlowFidoConfirm(InputFlowBase): def __init__(self, client: Client, cancel: bool = False): @@ -2423,4 +2918,7 @@ class InputFlowFidoConfirm(InputFlowBase): while True: yield self.debug.swipe_up() - self.debug.click(self.client.debug.screen_buttons.tap_to_confirm()) + self.debug.click(self.debug.screen_buttons.tap_to_confirm()) + + def input_flow_eckhart(self) -> BRGeneratorType: + assert False, "Not implemented" diff --git a/tests/input_flows_helpers.py b/tests/input_flows_helpers.py index 4d6b86ed0b..07d897e414 100644 --- a/tests/input_flows_helpers.py +++ b/tests/input_flows_helpers.py @@ -99,7 +99,7 @@ class RecoveryFlow: def enter_your_backup(self) -> BRGeneratorType: assert (yield).name == "recovery" - if self.debug.layout_type is LayoutType.Delizia: + if self.debug.layout_type in (LayoutType.Delizia, LayoutType.Eckhart): assert TR.recovery__enter_each_word in self._text_content() else: assert TR.recovery__enter_backup in self._text_content() @@ -131,7 +131,16 @@ class RecoveryFlow: def abort_recovery(self, confirm: bool) -> BRGeneratorType: yield - if self.client.layout_type is LayoutType.Caesar: + if self.client.layout_type is LayoutType.Bolt: + assert TR.recovery__enter_any_share in self._text_content() + self.debug.press_no() + yield + assert TR.recovery__wanna_cancel_recovery in self._text_content() + if confirm: + self.debug.press_yes() + else: + self.debug.press_no() + elif self.client.layout_type is LayoutType.Caesar: assert TR.recovery__num_of_words in self._text_content() self.debug.press_no() yield @@ -141,7 +150,7 @@ class RecoveryFlow: self.debug.press_yes() else: self.debug.press_no() - elif self.client.layout_type is LayoutType.Delizia: + elif self.client.layout_type in (LayoutType.Delizia, LayoutType.Eckhart): assert TR.recovery__enter_each_word in self._text_content() self.debug.click(self.debug.screen_buttons.menu()) self.debug.synchronize_at("VerticalMenu") @@ -150,18 +159,19 @@ class RecoveryFlow: else: self.debug.click(self.debug.screen_buttons.menu()) else: - assert TR.recovery__enter_any_share in self._text_content() - self.debug.press_no() - yield - assert TR.recovery__wanna_cancel_recovery in self._text_content() - if confirm: - self.debug.press_yes() - else: - self.debug.press_no() + raise ValueError("Unknown model!") def abort_recovery_between_shares(self) -> BRGeneratorType: yield - if self.client.layout_type is LayoutType.Caesar: + if self.client.layout_type is LayoutType.Bolt: + assert TR.regexp("recovery__x_of_y_entered_template").search( + self._text_content() + ) + self.debug.press_no() + assert (yield).name == "abort_recovery" + assert TR.recovery__wanna_cancel_recovery in self._text_content() + self.debug.press_yes() + elif self.client.layout_type is LayoutType.Caesar: assert TR.regexp("recovery__x_of_y_entered_template").search( self._text_content() ) @@ -182,14 +192,36 @@ class RecoveryFlow: layout = self.debug.read_layout() assert layout.title() == TR.recovery__title_cancel_recovery self.debug.click(self.debug.screen_buttons.tap_to_confirm()) - else: + elif self.client.layout_type is LayoutType.Eckhart: assert TR.regexp("recovery__x_of_y_entered_template").search( self._text_content() ) - self.debug.press_no() + self.debug.click(self.debug.screen_buttons.menu()) + self.debug.synchronize_at("VerticalMenu") + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[1]) assert (yield).name == "abort_recovery" - assert TR.recovery__wanna_cancel_recovery in self._text_content() - self.debug.press_yes() + layout = self.debug.read_layout() + assert layout.title() == TR.recovery__title + self.debug.click(self.debug.screen_buttons.ok()) + else: + raise ValueError("Unknown model!") + + def share_info_between_shares(self) -> BRGeneratorType: + yield + if self.client.layout_type is LayoutType.Eckhart: + assert TR.regexp("recovery__x_of_y_entered_template").search( + self._text_content() + ) + self.debug.click(self.debug.screen_buttons.menu()) + self.debug.synchronize_at("VerticalMenu") + self.debug.click(self.debug.screen_buttons.vertical_menu_items()[0]) + assert (yield).name == "recovery_share" + layout = self.debug.read_layout() + assert layout.title() == TR.words__recovery_share + self.debug.click(self.debug.screen_buttons.menu()) + self.debug.click(self.debug.screen_buttons.menu()) + else: + raise ValueError("Unsupported model!") def input_number_of_words(self, num_words: int | None) -> BRGeneratorType: br = yield @@ -325,10 +357,11 @@ class RecoveryFlow: if click_info: if self.client.layout_type is LayoutType.Bolt: yield from self.click_info_bolt() - elif self.client.layout_type is LayoutType.Delizia: - yield from self.click_info_delizia() - else: - raise ValueError("Unknown model!") + elif self.client.layout_type in ( + LayoutType.Delizia, + LayoutType.Eckhart, + ): + yield from self.click_info_delizia_eckhart() yield from self.success_more_shares_needed() def click_info_bolt(self) -> t.Generator[t.Any, t.Any, None]: @@ -339,7 +372,7 @@ class RecoveryFlow: self.debug.swipe_up() self.debug.press_yes() - def click_info_delizia(self) -> BRGeneratorType: + def click_info_delizia_eckhart(self) -> BRGeneratorType: # Moving through the menu into the show_shares screen self.debug.click(self.debug.screen_buttons.menu()) self.debug.synchronize_at("VerticalMenu") @@ -575,6 +608,31 @@ class EthereumFlow: self.debug.press_yes() + elif self.client.layout_type is LayoutType.Caesar: + # confirm intro + if info: + self.debug.press_right() + assert self.debug.read_layout().title() in ( + TR.ethereum__staking_stake_address, + TR.ethereum__staking_claim_address, + ) + self.debug.press_left() + self.debug.press_middle() + yield + + # confirm summary + if info: + self.debug.press_right() + assert TR.ethereum__gas_limit in self.debug.read_layout().text_content() + self.debug.press_right() + assert TR.ethereum__gas_price in self.debug.read_layout().text_content() + self.debug.press_left() + self.debug.press_left() + self.debug.press_middle() + yield + + self.debug.press_yes() + elif self.client.layout_type is LayoutType.Delizia: # confirm intro if info: @@ -607,30 +665,5 @@ class EthereumFlow: self.debug.press_yes() - elif self.client.layout_type is LayoutType.Caesar: - # confirm intro - if info: - self.debug.press_right() - assert self.debug.read_layout().title() in ( - TR.ethereum__staking_stake_address, - TR.ethereum__staking_claim_address, - ) - self.debug.press_left() - self.debug.press_middle() - yield - - # confirm summary - if info: - self.debug.press_right() - assert TR.ethereum__gas_limit in self.debug.read_layout().text_content() - self.debug.press_right() - assert TR.ethereum__gas_price in self.debug.read_layout().text_content() - self.debug.press_left() - self.debug.press_left() - self.debug.press_middle() - yield - - self.debug.press_yes() - else: raise ValueError("Unknown model!") diff --git a/tests/persistence_tests/test_shamir_persistence.py b/tests/persistence_tests/test_shamir_persistence.py index 5907df1796..301e7f5cea 100644 --- a/tests/persistence_tests/test_shamir_persistence.py +++ b/tests/persistence_tests/test_shamir_persistence.py @@ -40,7 +40,7 @@ def test_abort(core_emulator: Emulator): debug = device_handler.debuglink() features = device_handler.features() - if debug.layout_type is LayoutType.Delizia: + if debug.layout_type in (LayoutType.Delizia, LayoutType.Eckhart): pytest.skip("abort not supported on T3T1") assert features.recovery_status == RecoveryStatus.Nothing @@ -187,7 +187,7 @@ def test_recovery_multiple_resets(core_emulator: Emulator): shares = MNEMONIC_SLIP39_ADVANCED_20 layout = debug.read_layout() expected_text = "Enter any share" - if debug.layout_type == LayoutType.Delizia: + if debug.layout_type in (LayoutType.Delizia, LayoutType.Eckhart): expected_text = "Enter each word" remaining = len(shares) for share in shares: diff --git a/tests/ui_tests/fixtures.json b/tests/ui_tests/fixtures.json index 61d58e5964..2f132bccc6 100644 --- a/tests/ui_tests/fixtures.json +++ b/tests/ui_tests/fixtures.json @@ -745,20 +745,20 @@ "T2T1_cs_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "cead5ab77fe434d49f95c9b36c5f30ede92dfcba9a65e76a793efd663bc2db2c", "T2T1_cs_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "02fef6dbd2919c5c55f89a99306a5d9948a60a63fedb2f381108b2b5cdb0f3ef", "T2T1_cs_test_lock.py::test_hold_to_lock": "cbbb62fa28512c76a8c6ffda81ac8f2527050fb94f333fec8f1c204e80b22819", -"T2T1_cs_test_passphrase_bolt_delizia.py::test_cycle_through_last_character": "40830a50b2b1ce4e6333b3f2c4f498c1f74de3d9487e85357a5d247710dcd85c", -"T2T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_click_same_button_many_times": "686b16ba0f08c95805ec029268bcb750f623ccf20e00defcbff4a7f341747e15", -"T2T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_delete": "6c9112ba6846f60cda92cd958d345692a088a9be4a096bc004c4e4f6ee5a320b", -"T2T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_delete_all": "aacd1067210783e499692ebf5d54d7c01c3f42e7da0751a11c8bb27ddccb309b", -"T2T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_dollar_sign_deletion": "9b60f466f49b0838f8b6dc50c3e4dd61264c45bdb0206f3056afee2a5d307407", -"T2T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzL-378fe4ae": "4a08a5aee3c2aa66e3cf35277d50839eae59e262ac876c5621ce4e2549121511", -"T2T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "ebd885eb2ca3df3bc14ffe7cd95b7d761fa8caa69f8b56e3a4e5fc968909027c", -"T2T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97-ba38238e": "84f48256ed27bb3aa8415053973387a8d5a062f3d4b3bb9a039734d5f5ad5df3", -"T2T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-11fcbfea": "c2dc9eaca217d0b4654319074ab4d9108b7e3d4378847e8e4b6d7be6f414fe74", -"T2T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-4f4d1ec7": "2eb60be84a003b6e2eae3e73fff70a2b8f0a8f2ffafa56690d53ccb96a097bc9", -"T2T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_input_over_50_chars": "2eb60be84a003b6e2eae3e73fff70a2b8f0a8f2ffafa56690d53ccb96a097bc9", -"T2T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_long_spaces_deletion": "f137b5b2931eee31ab91d7738fa0a3f2123529dd533fd59ac37a3f08f4e9cb3a", -"T2T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_loop_all_characters": "2adbcb44e4eb856d52e58a40c11efb87f68295b9fb64877c20639321638f0356", -"T2T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_prompt_disappears": "cd361cd446f7449fe26252cea4d91d2c2c9b1a9ac81a3e9756fbd74668cfb9f0", +"T2T1_cs_test_passphrase_bde.py::test_cycle_through_last_character": "40830a50b2b1ce4e6333b3f2c4f498c1f74de3d9487e85357a5d247710dcd85c", +"T2T1_cs_test_passphrase_bde.py::test_passphrase_click_same_button_many_times": "686b16ba0f08c95805ec029268bcb750f623ccf20e00defcbff4a7f341747e15", +"T2T1_cs_test_passphrase_bde.py::test_passphrase_delete": "6c9112ba6846f60cda92cd958d345692a088a9be4a096bc004c4e4f6ee5a320b", +"T2T1_cs_test_passphrase_bde.py::test_passphrase_delete_all": "aacd1067210783e499692ebf5d54d7c01c3f42e7da0751a11c8bb27ddccb309b", +"T2T1_cs_test_passphrase_bde.py::test_passphrase_dollar_sign_deletion": "9b60f466f49b0838f8b6dc50c3e4dd61264c45bdb0206f3056afee2a5d307407", +"T2T1_cs_test_passphrase_bde.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxUdDSZ-aaae4aa2": "4a08a5aee3c2aa66e3cf35277d50839eae59e262ac876c5621ce4e2549121511", +"T2T1_cs_test_passphrase_bde.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "ebd885eb2ca3df3bc14ffe7cd95b7d761fa8caa69f8b56e3a4e5fc968909027c", +"T2T1_cs_test_passphrase_bde.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "84f48256ed27bb3aa8415053973387a8d5a062f3d4b3bb9a039734d5f5ad5df3", +"T2T1_cs_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-66a83b65": "2eb60be84a003b6e2eae3e73fff70a2b8f0a8f2ffafa56690d53ccb96a097bc9", +"T2T1_cs_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-7159c03e": "c2dc9eaca217d0b4654319074ab4d9108b7e3d4378847e8e4b6d7be6f414fe74", +"T2T1_cs_test_passphrase_bde.py::test_passphrase_input_over_50_chars": "2eb60be84a003b6e2eae3e73fff70a2b8f0a8f2ffafa56690d53ccb96a097bc9", +"T2T1_cs_test_passphrase_bde.py::test_passphrase_long_spaces_deletion": "f137b5b2931eee31ab91d7738fa0a3f2123529dd533fd59ac37a3f08f4e9cb3a", +"T2T1_cs_test_passphrase_bde.py::test_passphrase_loop_all_characters": "2adbcb44e4eb856d52e58a40c11efb87f68295b9fb64877c20639321638f0356", +"T2T1_cs_test_passphrase_bde.py::test_passphrase_prompt_disappears": "cd361cd446f7449fe26252cea4d91d2c2c9b1a9ac81a3e9756fbd74668cfb9f0", "T2T1_cs_test_pin.py::test_last_digit_timeout": "06babf359cdfd0299c7adf901a21195b060ca554ea3ef89a4907b05a38fca6dc", "T2T1_cs_test_pin.py::test_pin_cancel": "4176e256dd9fc175fd5b903144eff9c349ccd881407aa41d0e6798d6e2787164", "T2T1_cs_test_pin.py::test_pin_change": "4070156f5671f94d819d6845455b89133361a7bcbe1a8a4460e72f92fe2166a4", @@ -797,20 +797,20 @@ "T2T1_de_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "fcefa34333413a7b1d72eca9d0c6742654b0959524b392adc179687ca94cf374", "T2T1_de_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "f271dd89a2514d42d789511bfaa3712595d1e58506e81352f5e4d4cd636e49fd", "T2T1_de_test_lock.py::test_hold_to_lock": "10709a23298770753088ee313e451afc161e9fa89c55b93ccc581473b4dd9927", -"T2T1_de_test_passphrase_bolt_delizia.py::test_cycle_through_last_character": "efa760797ba43b9a7f96a0362ec2a68a8de411048c37ad6957da98a8f1ed841f", -"T2T1_de_test_passphrase_bolt_delizia.py::test_passphrase_click_same_button_many_times": "f05ccae157375a20a0565f333662a14d2aa05080e1b605c9f17295e9cde543a3", -"T2T1_de_test_passphrase_bolt_delizia.py::test_passphrase_delete": "18ffb2beaa3b84909c5ad140abccac2ad67cc266dc40e49b6956a9aee6852258", -"T2T1_de_test_passphrase_bolt_delizia.py::test_passphrase_delete_all": "1de6101a45b849bc4a087039a845c6183bbeab2617e0099c70e46382c5423169", -"T2T1_de_test_passphrase_bolt_delizia.py::test_passphrase_dollar_sign_deletion": "a58dab10d4737cb97fff35e388c25a1dcc366e943e226c2c836f25e40b7e2f43", -"T2T1_de_test_passphrase_bolt_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzL-378fe4ae": "cb125eec7af27d40f9d081aceb236cc171a9fee5a5281d36855b8ca66705443d", -"T2T1_de_test_passphrase_bolt_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "8c4b13aff5c0c2e4cd69b757b77c7e305521ad8bf0ae4e2995d4f5e188a3cd5f", -"T2T1_de_test_passphrase_bolt_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97-ba38238e": "c869406723049363fa9d9f09ca38168c0a98ecf01cfeea6eb227897f25d14e9d", -"T2T1_de_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-11fcbfea": "98082d0fc491306b8b71f4474166f9ef6982bb1b129a521bcd5aba1dd23f2308", -"T2T1_de_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-4f4d1ec7": "6f35eac0c7424bd03c372987c9c7863c4ba8d211f2af85f73ce1fc37a209a15c", -"T2T1_de_test_passphrase_bolt_delizia.py::test_passphrase_input_over_50_chars": "6f35eac0c7424bd03c372987c9c7863c4ba8d211f2af85f73ce1fc37a209a15c", -"T2T1_de_test_passphrase_bolt_delizia.py::test_passphrase_long_spaces_deletion": "da99f8b84fbba875c686e315c9e89809f86db4c519f3524df5810c07ccc6476f", -"T2T1_de_test_passphrase_bolt_delizia.py::test_passphrase_loop_all_characters": "efa4ff0e210d6ec4a3f075e3193fce4a8485a6692354c759d485d451903ff246", -"T2T1_de_test_passphrase_bolt_delizia.py::test_passphrase_prompt_disappears": "9eee6bfa13e3fe48b0c29c7adb3861be20e20c62717af8090298e4511d661615", +"T2T1_de_test_passphrase_bde.py::test_cycle_through_last_character": "efa760797ba43b9a7f96a0362ec2a68a8de411048c37ad6957da98a8f1ed841f", +"T2T1_de_test_passphrase_bde.py::test_passphrase_click_same_button_many_times": "f05ccae157375a20a0565f333662a14d2aa05080e1b605c9f17295e9cde543a3", +"T2T1_de_test_passphrase_bde.py::test_passphrase_delete": "18ffb2beaa3b84909c5ad140abccac2ad67cc266dc40e49b6956a9aee6852258", +"T2T1_de_test_passphrase_bde.py::test_passphrase_delete_all": "1de6101a45b849bc4a087039a845c6183bbeab2617e0099c70e46382c5423169", +"T2T1_de_test_passphrase_bde.py::test_passphrase_dollar_sign_deletion": "a58dab10d4737cb97fff35e388c25a1dcc366e943e226c2c836f25e40b7e2f43", +"T2T1_de_test_passphrase_bde.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxUdDSZ-aaae4aa2": "cb125eec7af27d40f9d081aceb236cc171a9fee5a5281d36855b8ca66705443d", +"T2T1_de_test_passphrase_bde.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "8c4b13aff5c0c2e4cd69b757b77c7e305521ad8bf0ae4e2995d4f5e188a3cd5f", +"T2T1_de_test_passphrase_bde.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "c869406723049363fa9d9f09ca38168c0a98ecf01cfeea6eb227897f25d14e9d", +"T2T1_de_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-66a83b65": "6f35eac0c7424bd03c372987c9c7863c4ba8d211f2af85f73ce1fc37a209a15c", +"T2T1_de_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-7159c03e": "98082d0fc491306b8b71f4474166f9ef6982bb1b129a521bcd5aba1dd23f2308", +"T2T1_de_test_passphrase_bde.py::test_passphrase_input_over_50_chars": "6f35eac0c7424bd03c372987c9c7863c4ba8d211f2af85f73ce1fc37a209a15c", +"T2T1_de_test_passphrase_bde.py::test_passphrase_long_spaces_deletion": "da99f8b84fbba875c686e315c9e89809f86db4c519f3524df5810c07ccc6476f", +"T2T1_de_test_passphrase_bde.py::test_passphrase_loop_all_characters": "efa4ff0e210d6ec4a3f075e3193fce4a8485a6692354c759d485d451903ff246", +"T2T1_de_test_passphrase_bde.py::test_passphrase_prompt_disappears": "9eee6bfa13e3fe48b0c29c7adb3861be20e20c62717af8090298e4511d661615", "T2T1_de_test_pin.py::test_last_digit_timeout": "c113c631b0a62e3da0b5965844359589716b2b65b8a66e1cccb48ddb427bf10d", "T2T1_de_test_pin.py::test_pin_cancel": "efb9d6ca37577eabe8dfccc3622eb981af3c196cbe4205b6a78c67961a1a7125", "T2T1_de_test_pin.py::test_pin_change": "c730274f842d380cd5c2199b5f1894e9d9f219ca69ec06f70a6ce7e4dce7c98e", @@ -849,20 +849,20 @@ "T2T1_en_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "7a9d803b3baf1d4bfc9376261615ebdd3ea129583a06310f3909c8338d1ab087", "T2T1_en_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "1986afa48466d880d7b34f2799a3fdea434e840c13fa3c2017161a37694a97f9", "T2T1_en_test_lock.py::test_hold_to_lock": "16e93b1d85aad5450cd9abf415fac39001cea84869dc6743ff0ec15db24e9ee8", -"T2T1_en_test_passphrase_bolt_delizia.py::test_cycle_through_last_character": "80625277f3a0aa4132f275e2073785825f2e1925f3409810d7f532b7c9fb08ef", -"T2T1_en_test_passphrase_bolt_delizia.py::test_passphrase_click_same_button_many_times": "2b55911cee1c00dea76b427c08889acf984acb1ebf93624977f43148a5a5a8d8", -"T2T1_en_test_passphrase_bolt_delizia.py::test_passphrase_delete": "36fb4927e216871408bf0aefd815037db4e86cfd87cbb23daaa1d2d8ec81c835", -"T2T1_en_test_passphrase_bolt_delizia.py::test_passphrase_delete_all": "678a21fcb484c9f64af01cbdf4591a9b019e6205ca8321a60bc471c521ab87ed", -"T2T1_en_test_passphrase_bolt_delizia.py::test_passphrase_dollar_sign_deletion": "8161f39a0efd153274fa8c4f63f3b58d10b6835d4c70fce19b561aa50724827a", -"T2T1_en_test_passphrase_bolt_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzL-378fe4ae": "87f62e2e476c13e32c28f8c15d07ec4e1ed73028519abca6d2cdc3eedae023e1", -"T2T1_en_test_passphrase_bolt_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "eb7d504a87b3794b3e6e1ec663920a5df938596554e4979d77abc2a550b7481c", -"T2T1_en_test_passphrase_bolt_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97-ba38238e": "fc7ec0688bf0f997505c4b5c0e64bf9f5ce97fa31ab9c7d2e0999fd5629e17ac", -"T2T1_en_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-11fcbfea": "1748b0b47d9a422a67c8f9299dd002342856b067dff76d7ebb825db435b64702", -"T2T1_en_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-4f4d1ec7": "b813dbc266789ce36e803d4ea699f7e38817a8e0d95c11a23bda9569ef78a1a2", -"T2T1_en_test_passphrase_bolt_delizia.py::test_passphrase_input_over_50_chars": "b813dbc266789ce36e803d4ea699f7e38817a8e0d95c11a23bda9569ef78a1a2", -"T2T1_en_test_passphrase_bolt_delizia.py::test_passphrase_long_spaces_deletion": "9956fa9bf399cc2014be282b128e0581b4adbb399fb16e43cd7ad68d60dbbd09", -"T2T1_en_test_passphrase_bolt_delizia.py::test_passphrase_loop_all_characters": "0f99c72bbae0033ed9e5ca1a233d587fb0974bf4a9fe46d1df5f25ed93bac343", -"T2T1_en_test_passphrase_bolt_delizia.py::test_passphrase_prompt_disappears": "d051fc05dc3af0c685de6ec8f00b0ab4facf8f6fd49dcece503fa15261d6c90a", +"T2T1_en_test_passphrase_bde.py::test_cycle_through_last_character": "80625277f3a0aa4132f275e2073785825f2e1925f3409810d7f532b7c9fb08ef", +"T2T1_en_test_passphrase_bde.py::test_passphrase_click_same_button_many_times": "2b55911cee1c00dea76b427c08889acf984acb1ebf93624977f43148a5a5a8d8", +"T2T1_en_test_passphrase_bde.py::test_passphrase_delete": "36fb4927e216871408bf0aefd815037db4e86cfd87cbb23daaa1d2d8ec81c835", +"T2T1_en_test_passphrase_bde.py::test_passphrase_delete_all": "678a21fcb484c9f64af01cbdf4591a9b019e6205ca8321a60bc471c521ab87ed", +"T2T1_en_test_passphrase_bde.py::test_passphrase_dollar_sign_deletion": "8161f39a0efd153274fa8c4f63f3b58d10b6835d4c70fce19b561aa50724827a", +"T2T1_en_test_passphrase_bde.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxUdDSZ-aaae4aa2": "87f62e2e476c13e32c28f8c15d07ec4e1ed73028519abca6d2cdc3eedae023e1", +"T2T1_en_test_passphrase_bde.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "eb7d504a87b3794b3e6e1ec663920a5df938596554e4979d77abc2a550b7481c", +"T2T1_en_test_passphrase_bde.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "fc7ec0688bf0f997505c4b5c0e64bf9f5ce97fa31ab9c7d2e0999fd5629e17ac", +"T2T1_en_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-66a83b65": "b813dbc266789ce36e803d4ea699f7e38817a8e0d95c11a23bda9569ef78a1a2", +"T2T1_en_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-7159c03e": "1748b0b47d9a422a67c8f9299dd002342856b067dff76d7ebb825db435b64702", +"T2T1_en_test_passphrase_bde.py::test_passphrase_input_over_50_chars": "b813dbc266789ce36e803d4ea699f7e38817a8e0d95c11a23bda9569ef78a1a2", +"T2T1_en_test_passphrase_bde.py::test_passphrase_long_spaces_deletion": "9956fa9bf399cc2014be282b128e0581b4adbb399fb16e43cd7ad68d60dbbd09", +"T2T1_en_test_passphrase_bde.py::test_passphrase_loop_all_characters": "0f99c72bbae0033ed9e5ca1a233d587fb0974bf4a9fe46d1df5f25ed93bac343", +"T2T1_en_test_passphrase_bde.py::test_passphrase_prompt_disappears": "d051fc05dc3af0c685de6ec8f00b0ab4facf8f6fd49dcece503fa15261d6c90a", "T2T1_en_test_pin.py::test_last_digit_timeout": "a170405f1451dd9092afc83c4326e08d9076e52a6ef20c940ff916baa739e9c3", "T2T1_en_test_pin.py::test_pin_cancel": "477133459306a2a9f64fc2bd3abeebaf67a678e59bdd1418db4536b2be4e657f", "T2T1_en_test_pin.py::test_pin_change": "b3dccad89be83c8a5c62169b861835730ad46bf01fd0cf598c47b2ebb6cd3e14", @@ -901,20 +901,20 @@ "T2T1_es_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "eb5d07664628e4b1821ccf2ef397f36a44d8615150d7388fde37ee95c8df5727", "T2T1_es_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "c173fa6041155ee0b2f4085bf88b911a0d99389c39dbb8c1a78d4eafd0a7044c", "T2T1_es_test_lock.py::test_hold_to_lock": "5534389fe8f1aebab6cd38be5e46ceb016bae59985eadb83e154960bf98a78fa", -"T2T1_es_test_passphrase_bolt_delizia.py::test_cycle_through_last_character": "e6513db1b677a9cb5c790a0dded17cb8339c8cdb159be4aa90523028a4b3424b", -"T2T1_es_test_passphrase_bolt_delizia.py::test_passphrase_click_same_button_many_times": "f3b863a2152d82937aa94d7815867a7d0dfea8cd1932d8f922be5c3f119e394e", -"T2T1_es_test_passphrase_bolt_delizia.py::test_passphrase_delete": "83e7d1db22b045a611de7502aa5347d2039ff6456f5db439bec76d630ac7407e", -"T2T1_es_test_passphrase_bolt_delizia.py::test_passphrase_delete_all": "893f7fb5eb46d424a814fd26abedd7febeb23f46d62149fc08488f6f61f54b84", -"T2T1_es_test_passphrase_bolt_delizia.py::test_passphrase_dollar_sign_deletion": "56c6bc6ccbe689e83dbed1ba903a8fc94e662b57b9c2ddd429f95bac6e84316f", -"T2T1_es_test_passphrase_bolt_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzL-378fe4ae": "ae673718a48e986f13ce57a91fa3b116198196da89f9a86d50c0a88415af5db7", -"T2T1_es_test_passphrase_bolt_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "8a392b3da19b6dda37fc428663585ba5f668021377f23ab8921f8ccb38d168f8", -"T2T1_es_test_passphrase_bolt_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97-ba38238e": "c2c66c0efc368ee49c50fd4eb04dd06c87c4fa991daabc6cb1c2a138a8761630", -"T2T1_es_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-11fcbfea": "9f81ed5ff6db55dcfd9cf6b98710da7a21bd027fe07214e2ad6e6b88e2bab7dc", -"T2T1_es_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-4f4d1ec7": "1902a5633fbc468919dc5b00d86d7b6f38058affd6cb3d82942a1c7109c276cb", -"T2T1_es_test_passphrase_bolt_delizia.py::test_passphrase_input_over_50_chars": "1902a5633fbc468919dc5b00d86d7b6f38058affd6cb3d82942a1c7109c276cb", -"T2T1_es_test_passphrase_bolt_delizia.py::test_passphrase_long_spaces_deletion": "236e69a890c5be0521e88ac3a0b7666b5ee12be5e80cda5231e9224786e1f7be", -"T2T1_es_test_passphrase_bolt_delizia.py::test_passphrase_loop_all_characters": "3083493ea56d4d4bda0740cb9dc748cb8d649ba93e8f96bff0bb1d4fef3ab44a", -"T2T1_es_test_passphrase_bolt_delizia.py::test_passphrase_prompt_disappears": "307b74f54b266b39535864807191485900e918d964919182448f2cf14a72a3fe", +"T2T1_es_test_passphrase_bde.py::test_cycle_through_last_character": "e6513db1b677a9cb5c790a0dded17cb8339c8cdb159be4aa90523028a4b3424b", +"T2T1_es_test_passphrase_bde.py::test_passphrase_click_same_button_many_times": "f3b863a2152d82937aa94d7815867a7d0dfea8cd1932d8f922be5c3f119e394e", +"T2T1_es_test_passphrase_bde.py::test_passphrase_delete": "83e7d1db22b045a611de7502aa5347d2039ff6456f5db439bec76d630ac7407e", +"T2T1_es_test_passphrase_bde.py::test_passphrase_delete_all": "893f7fb5eb46d424a814fd26abedd7febeb23f46d62149fc08488f6f61f54b84", +"T2T1_es_test_passphrase_bde.py::test_passphrase_dollar_sign_deletion": "56c6bc6ccbe689e83dbed1ba903a8fc94e662b57b9c2ddd429f95bac6e84316f", +"T2T1_es_test_passphrase_bde.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxUdDSZ-aaae4aa2": "ae673718a48e986f13ce57a91fa3b116198196da89f9a86d50c0a88415af5db7", +"T2T1_es_test_passphrase_bde.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "8a392b3da19b6dda37fc428663585ba5f668021377f23ab8921f8ccb38d168f8", +"T2T1_es_test_passphrase_bde.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "c2c66c0efc368ee49c50fd4eb04dd06c87c4fa991daabc6cb1c2a138a8761630", +"T2T1_es_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-66a83b65": "1902a5633fbc468919dc5b00d86d7b6f38058affd6cb3d82942a1c7109c276cb", +"T2T1_es_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-7159c03e": "9f81ed5ff6db55dcfd9cf6b98710da7a21bd027fe07214e2ad6e6b88e2bab7dc", +"T2T1_es_test_passphrase_bde.py::test_passphrase_input_over_50_chars": "1902a5633fbc468919dc5b00d86d7b6f38058affd6cb3d82942a1c7109c276cb", +"T2T1_es_test_passphrase_bde.py::test_passphrase_long_spaces_deletion": "236e69a890c5be0521e88ac3a0b7666b5ee12be5e80cda5231e9224786e1f7be", +"T2T1_es_test_passphrase_bde.py::test_passphrase_loop_all_characters": "3083493ea56d4d4bda0740cb9dc748cb8d649ba93e8f96bff0bb1d4fef3ab44a", +"T2T1_es_test_passphrase_bde.py::test_passphrase_prompt_disappears": "307b74f54b266b39535864807191485900e918d964919182448f2cf14a72a3fe", "T2T1_es_test_pin.py::test_last_digit_timeout": "12f0039fae35a4be611a93edd299bc0e84ea6e039c2ca38f08e7afd382cc6668", "T2T1_es_test_pin.py::test_pin_cancel": "265f9341d0fa814598d248b4439a0e7dcd9940879321ef883a78e520fb6651c2", "T2T1_es_test_pin.py::test_pin_change": "7db85f40e61bd4b9e69d9adc84652825e56ba9fea607bdc3ded7aa033674fd16", @@ -953,20 +953,20 @@ "T2T1_fr_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "5f0f2574dfc8ac11d5f8f0eaa166ee6d0bf37853c206e7d6178954c01b65c1ed", "T2T1_fr_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "89e8ba1ad594ee86635423c6ed757e3009dc97f020c965f970683265372b50db", "T2T1_fr_test_lock.py::test_hold_to_lock": "6e55a8bd3cb4f3f6bde47bbfe00a523c253173edbac5f738d1e2f0b4bab64548", -"T2T1_fr_test_passphrase_bolt_delizia.py::test_cycle_through_last_character": "43135f43770a4fe303b3386311f6ccd69de394cac0e6e90e6ad1252849117938", -"T2T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_click_same_button_many_times": "2e1139fc821a939514b301703550c6d67473679083f08b0753d730646e602e48", -"T2T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_delete": "e2bb766b41f93d79474208edea30cc6faed8298e67a41894fd630a7dd7eb368d", -"T2T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_delete_all": "49a69849fac89d9ae12f7599193214e4b59c5d228a0cebffe17bf994ab1a0744", -"T2T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_dollar_sign_deletion": "15b597557a859953a31fa2b38b8ae970038e06a3cd99e433625fbde60d7e73e8", -"T2T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzL-378fe4ae": "4cb5b21de9f27f7d961254297722516d2a9425a1187be39320f6425a3d05ac41", -"T2T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "aa2e32bfd8938b3b2c94bde8516ec5ee12b687f4b38bdc1ab6ec752f544bce1a", -"T2T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97-ba38238e": "a3964189fa2ef525c9b660483e2d2b11ed224387ba4fa8d970c75a08d2cfdc3a", -"T2T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-11fcbfea": "3b2f81ee87b5c47a7339982c4feaf1fcb0618038d0220262e3497abee412467b", -"T2T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-4f4d1ec7": "d46bc8ecca3b0cb413ce66cc7d681c9169b110ced17927ae9843d45a6602d748", -"T2T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_input_over_50_chars": "d46bc8ecca3b0cb413ce66cc7d681c9169b110ced17927ae9843d45a6602d748", -"T2T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_long_spaces_deletion": "b1389db332af33a8de480b4db026e23bec45232c246aa08efef5f59243f1e190", -"T2T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_loop_all_characters": "c2366383d766e669d46a9a8383cee6633a2235b8522583c210a6aae2bf951b89", -"T2T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_prompt_disappears": "1633121bde58ffe7ac7de3f0b56af7a31d0416b8076744271c626562670d1668", +"T2T1_fr_test_passphrase_bde.py::test_cycle_through_last_character": "43135f43770a4fe303b3386311f6ccd69de394cac0e6e90e6ad1252849117938", +"T2T1_fr_test_passphrase_bde.py::test_passphrase_click_same_button_many_times": "2e1139fc821a939514b301703550c6d67473679083f08b0753d730646e602e48", +"T2T1_fr_test_passphrase_bde.py::test_passphrase_delete": "e2bb766b41f93d79474208edea30cc6faed8298e67a41894fd630a7dd7eb368d", +"T2T1_fr_test_passphrase_bde.py::test_passphrase_delete_all": "49a69849fac89d9ae12f7599193214e4b59c5d228a0cebffe17bf994ab1a0744", +"T2T1_fr_test_passphrase_bde.py::test_passphrase_dollar_sign_deletion": "15b597557a859953a31fa2b38b8ae970038e06a3cd99e433625fbde60d7e73e8", +"T2T1_fr_test_passphrase_bde.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxUdDSZ-aaae4aa2": "4cb5b21de9f27f7d961254297722516d2a9425a1187be39320f6425a3d05ac41", +"T2T1_fr_test_passphrase_bde.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "aa2e32bfd8938b3b2c94bde8516ec5ee12b687f4b38bdc1ab6ec752f544bce1a", +"T2T1_fr_test_passphrase_bde.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "a3964189fa2ef525c9b660483e2d2b11ed224387ba4fa8d970c75a08d2cfdc3a", +"T2T1_fr_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-66a83b65": "d46bc8ecca3b0cb413ce66cc7d681c9169b110ced17927ae9843d45a6602d748", +"T2T1_fr_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-7159c03e": "3b2f81ee87b5c47a7339982c4feaf1fcb0618038d0220262e3497abee412467b", +"T2T1_fr_test_passphrase_bde.py::test_passphrase_input_over_50_chars": "d46bc8ecca3b0cb413ce66cc7d681c9169b110ced17927ae9843d45a6602d748", +"T2T1_fr_test_passphrase_bde.py::test_passphrase_long_spaces_deletion": "b1389db332af33a8de480b4db026e23bec45232c246aa08efef5f59243f1e190", +"T2T1_fr_test_passphrase_bde.py::test_passphrase_loop_all_characters": "c2366383d766e669d46a9a8383cee6633a2235b8522583c210a6aae2bf951b89", +"T2T1_fr_test_passphrase_bde.py::test_passphrase_prompt_disappears": "1633121bde58ffe7ac7de3f0b56af7a31d0416b8076744271c626562670d1668", "T2T1_fr_test_pin.py::test_last_digit_timeout": "faf87a5b210fcd13500567a7f5b8b6e076c19b08ad472a8316e4d223ec54d4b7", "T2T1_fr_test_pin.py::test_pin_cancel": "693731e0fda760688100528a65b4ccfc17e8f90bb34dc463438343463a075bd4", "T2T1_fr_test_pin.py::test_pin_change": "c53fe6d8a756a28515b2956ac1c10a03b0ddc1b1554e388949ebc6b9ff6d048e", @@ -1005,20 +1005,20 @@ "T2T1_pt_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "c2c056c68a01fd4448b555ce118b35b7a9d219a8cee3ba4a15cab4bc4cbab1b5", "T2T1_pt_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "61394ba6e1d93a848315660846c306e86c20f0d24c52491d3aa1ca03b3051f2d", "T2T1_pt_test_lock.py::test_hold_to_lock": "5ab34b566d1766d037546d93c58b475b2817c568ecd1e236a6b39f0433b15d6c", -"T2T1_pt_test_passphrase_bolt_delizia.py::test_cycle_through_last_character": "4b613eee1b8b8e25a94d4c4b3f986c3a89efe37dd9d0a4f1538452e172122b4a", -"T2T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_click_same_button_many_times": "febff9b8464435ce083976a65aee289003137660b481b3a6da1b37c40fb1df16", -"T2T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_delete": "face44e71b9cee2655cc8f3f89549e70efc792660509463cab1befb1c73ca038", -"T2T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_delete_all": "e46a0b9a22b06be228f3fe371f007a7320592952c7cba718edbc588de92323fc", -"T2T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_dollar_sign_deletion": "84e6eeab7315b3f424cf8f111c27a634ed6f00fa7eb46a229da21ff67f93f09f", -"T2T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzL-378fe4ae": "5e7b0556c8bd398e54e43c42cdec7fa92aed711776bd0303711ede0cd2f0232f", -"T2T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "185c69f495ff11ec8a88dccec210d36c7ae529dee5c69ee84e94503ab31c8588", -"T2T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97-ba38238e": "08190951dfe32508acb96404dc08b11b8a5e09e2e51aa8d79018b2e006042709", -"T2T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-11fcbfea": "b145e43c30f17e1fd30d88d08826ac0dd3362a0800b2064098b1ee0d8f6bec4b", -"T2T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-4f4d1ec7": "a1600296d9a158698179b6e1f7e185a20fcd1359d6616a9db72dcaf863c927f6", -"T2T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_input_over_50_chars": "a1600296d9a158698179b6e1f7e185a20fcd1359d6616a9db72dcaf863c927f6", -"T2T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_long_spaces_deletion": "eaf90dea602333803706c5effdf31788d0a1dcf2d96f87775ef992d816868d52", -"T2T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_loop_all_characters": "299b2ab2fb7db00c319586d08ed4fff0288e9c7f74e846c13c0667ff9031557a", -"T2T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_prompt_disappears": "e7443ffd713d3f788e36f482f3bb7f3c85d61f8fd8a541d777e6cd69ef9cf93b", +"T2T1_pt_test_passphrase_bde.py::test_cycle_through_last_character": "4b613eee1b8b8e25a94d4c4b3f986c3a89efe37dd9d0a4f1538452e172122b4a", +"T2T1_pt_test_passphrase_bde.py::test_passphrase_click_same_button_many_times": "febff9b8464435ce083976a65aee289003137660b481b3a6da1b37c40fb1df16", +"T2T1_pt_test_passphrase_bde.py::test_passphrase_delete": "face44e71b9cee2655cc8f3f89549e70efc792660509463cab1befb1c73ca038", +"T2T1_pt_test_passphrase_bde.py::test_passphrase_delete_all": "e46a0b9a22b06be228f3fe371f007a7320592952c7cba718edbc588de92323fc", +"T2T1_pt_test_passphrase_bde.py::test_passphrase_dollar_sign_deletion": "84e6eeab7315b3f424cf8f111c27a634ed6f00fa7eb46a229da21ff67f93f09f", +"T2T1_pt_test_passphrase_bde.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxUdDSZ-aaae4aa2": "5e7b0556c8bd398e54e43c42cdec7fa92aed711776bd0303711ede0cd2f0232f", +"T2T1_pt_test_passphrase_bde.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "185c69f495ff11ec8a88dccec210d36c7ae529dee5c69ee84e94503ab31c8588", +"T2T1_pt_test_passphrase_bde.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "08190951dfe32508acb96404dc08b11b8a5e09e2e51aa8d79018b2e006042709", +"T2T1_pt_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-66a83b65": "a1600296d9a158698179b6e1f7e185a20fcd1359d6616a9db72dcaf863c927f6", +"T2T1_pt_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-7159c03e": "b145e43c30f17e1fd30d88d08826ac0dd3362a0800b2064098b1ee0d8f6bec4b", +"T2T1_pt_test_passphrase_bde.py::test_passphrase_input_over_50_chars": "a1600296d9a158698179b6e1f7e185a20fcd1359d6616a9db72dcaf863c927f6", +"T2T1_pt_test_passphrase_bde.py::test_passphrase_long_spaces_deletion": "eaf90dea602333803706c5effdf31788d0a1dcf2d96f87775ef992d816868d52", +"T2T1_pt_test_passphrase_bde.py::test_passphrase_loop_all_characters": "299b2ab2fb7db00c319586d08ed4fff0288e9c7f74e846c13c0667ff9031557a", +"T2T1_pt_test_passphrase_bde.py::test_passphrase_prompt_disappears": "e7443ffd713d3f788e36f482f3bb7f3c85d61f8fd8a541d777e6cd69ef9cf93b", "T2T1_pt_test_pin.py::test_last_digit_timeout": "103e9b271f58a3f1c3b876c2c00c8db836340d38dd32bce37e232c04275b6ca0", "T2T1_pt_test_pin.py::test_pin_cancel": "f815d225cd25017c5869608a5125b9f190cd45e8a5e1e759570b87263c5606bd", "T2T1_pt_test_pin.py::test_pin_change": "a1394b7399b40bd36f1177352b352d90147c2cfae70caa873eb4e1621b3f0bd7", @@ -18509,20 +18509,20 @@ "T3T1_cs_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "3c0b486ffc73aa4d9ac2b0f41ea2518182c7d34aa1f58be8922f6e062a1ffef0", "T3T1_cs_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "64c968109b80cd71d2645524068f9186f71262b7999d78e737cdcbb570f4fcb9", "T3T1_cs_test_lock.py::test_hold_to_lock": "05903e8bdd5de31a27392ccb2931e85dcb97e492ca60436e59832457dcb1f446", -"T3T1_cs_test_passphrase_bolt_delizia.py::test_cycle_through_last_character": "bb3bbbed08b86e3f7db7f58dcd1caae193988f67313c5b608187c6d2823a3ad1", -"T3T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_click_same_button_many_times": "3bd97d6dcf1c26f1f999456d6ddbe8498d6c9f8544cd87182df59695d2aea5f2", -"T3T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_delete": "8b2651e1978a7549285c9c5338645bd79d795042b94f25316e19032c97c008b2", -"T3T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_delete_all": "ae93a3ffc4c8d7f44809d13a8a40bd053d7ff1d5034ba7cc68ba2f2d50c4b06a", -"T3T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_dollar_sign_deletion": "f8f5ac2a492e6c2650d39626e7439cbc761135ea63c26bc1d8e8341751d91111", -"T3T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzL-378fe4ae": "538dbb78db9d441ad55491a3c5a7064dd09d85cbf6f0dc74ef6b79835b3957ab", -"T3T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "2b29957d8d409f4d564e2a13831639237ecccac04964594c761690d97c174cd8", -"T3T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97-ba38238e": "9d12c3aeae654bee15020bb6a2593b2076bcfdea740a89567647e67c3a378905", -"T3T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-11fcbfea": "796c7a24ca8d254dc46a778ac356289c22655eda7c6fe41866f87900d43717f6", -"T3T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-4f4d1ec7": "b07021506cd4e03e551ddc055a714e24bea7616213b32b0aa17deb00dc44649c", -"T3T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_input_over_50_chars": "b07021506cd4e03e551ddc055a714e24bea7616213b32b0aa17deb00dc44649c", -"T3T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_long_spaces_deletion": "3175415d9ad7b03d5cfcede84ee5b29a31513f07def6e1f3c7581cb4c096a2da", -"T3T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_loop_all_characters": "9ee7090719a243f4e6f9541edefea8942279a30c2c252b3a1e3e8d12c019ff1e", -"T3T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_prompt_disappears": "4ea8463ce0a33968b3db8aa3e41c09b57fca9e6f426d84b3446c3514d3eb0d67", +"T3T1_cs_test_passphrase_bde.py::test_cycle_through_last_character": "bb3bbbed08b86e3f7db7f58dcd1caae193988f67313c5b608187c6d2823a3ad1", +"T3T1_cs_test_passphrase_bde.py::test_passphrase_click_same_button_many_times": "3bd97d6dcf1c26f1f999456d6ddbe8498d6c9f8544cd87182df59695d2aea5f2", +"T3T1_cs_test_passphrase_bde.py::test_passphrase_delete": "8b2651e1978a7549285c9c5338645bd79d795042b94f25316e19032c97c008b2", +"T3T1_cs_test_passphrase_bde.py::test_passphrase_delete_all": "ae93a3ffc4c8d7f44809d13a8a40bd053d7ff1d5034ba7cc68ba2f2d50c4b06a", +"T3T1_cs_test_passphrase_bde.py::test_passphrase_dollar_sign_deletion": "f8f5ac2a492e6c2650d39626e7439cbc761135ea63c26bc1d8e8341751d91111", +"T3T1_cs_test_passphrase_bde.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxUdDSZ-aaae4aa2": "538dbb78db9d441ad55491a3c5a7064dd09d85cbf6f0dc74ef6b79835b3957ab", +"T3T1_cs_test_passphrase_bde.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "2b29957d8d409f4d564e2a13831639237ecccac04964594c761690d97c174cd8", +"T3T1_cs_test_passphrase_bde.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "9d12c3aeae654bee15020bb6a2593b2076bcfdea740a89567647e67c3a378905", +"T3T1_cs_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-66a83b65": "b07021506cd4e03e551ddc055a714e24bea7616213b32b0aa17deb00dc44649c", +"T3T1_cs_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-7159c03e": "796c7a24ca8d254dc46a778ac356289c22655eda7c6fe41866f87900d43717f6", +"T3T1_cs_test_passphrase_bde.py::test_passphrase_input_over_50_chars": "b07021506cd4e03e551ddc055a714e24bea7616213b32b0aa17deb00dc44649c", +"T3T1_cs_test_passphrase_bde.py::test_passphrase_long_spaces_deletion": "3175415d9ad7b03d5cfcede84ee5b29a31513f07def6e1f3c7581cb4c096a2da", +"T3T1_cs_test_passphrase_bde.py::test_passphrase_loop_all_characters": "9ee7090719a243f4e6f9541edefea8942279a30c2c252b3a1e3e8d12c019ff1e", +"T3T1_cs_test_passphrase_bde.py::test_passphrase_prompt_disappears": "4ea8463ce0a33968b3db8aa3e41c09b57fca9e6f426d84b3446c3514d3eb0d67", "T3T1_cs_test_pin.py::test_last_digit_timeout": "8ac202ecbcbbbdef70dcc0544d2d93ea1a99e83731145026f100e39e756d8985", "T3T1_cs_test_pin.py::test_pin_cancel": "348aa0c26aa4a6dd8b4bb9580b732d38423a9e893a4d8b1e8abe63f98e568d64", "T3T1_cs_test_pin.py::test_pin_change": "c69be18260285564b60fa0880f9cb255c52899e3ef7c6dff1c716361f6abc063", @@ -18566,20 +18566,20 @@ "T3T1_de_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "0a451d24ea4ff1cbc1d9d3b7ef4a158820685028167f4a703aed8632713ba03f", "T3T1_de_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "f24de9ec5bf2a52f03dac126a7da9782d6f439bb355ca8e4e669d73965aa9891", "T3T1_de_test_lock.py::test_hold_to_lock": "eeef3f19125cf1ba17035a432faac46aee157c411cf05c54d505b064f14ae382", -"T3T1_de_test_passphrase_bolt_delizia.py::test_cycle_through_last_character": "6fd7cdaf51432d17ae143d941c742ee99476039f0b1095583c5994f62a927ce9", -"T3T1_de_test_passphrase_bolt_delizia.py::test_passphrase_click_same_button_many_times": "6acf97c3757aa68a640a999033cee133a3ce4564a6e5cff9b01333242a97088e", -"T3T1_de_test_passphrase_bolt_delizia.py::test_passphrase_delete": "3a743ca8a4c69615dc4f437353e80d82cb0fc1f3e5b530d74dcb5c11e96ab32b", -"T3T1_de_test_passphrase_bolt_delizia.py::test_passphrase_delete_all": "58c424053fd4a99bb6920da5c64b1dfe5e5a31b4bd7e559abbcf74aa3c27e5d2", -"T3T1_de_test_passphrase_bolt_delizia.py::test_passphrase_dollar_sign_deletion": "466024ccf441ba2ab6f7453c8dc135a1310987347bf1a96467a96b3d2c530612", -"T3T1_de_test_passphrase_bolt_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzL-378fe4ae": "3cafc7005a94395b9d41039cd48c8bad09a8a3174fa9f8eb6d1684d8ebd61ad4", -"T3T1_de_test_passphrase_bolt_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "366683dfe6d0f591cda33746df001eb98697ff06548e63faef4c2223287e1f71", -"T3T1_de_test_passphrase_bolt_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97-ba38238e": "12a6493376f79aab4f357deccf6f3648419f3e9f9c5082910b7121c281626247", -"T3T1_de_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-11fcbfea": "0fe3c121888aadf2e671c9610288f38dd6f62a33831cc5b5c52f7192191b8a6a", -"T3T1_de_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-4f4d1ec7": "bd4951d23b25e45b0c9b389d647b7b9254c40f0780a10330762fde5ef5e9b3b9", -"T3T1_de_test_passphrase_bolt_delizia.py::test_passphrase_input_over_50_chars": "bd4951d23b25e45b0c9b389d647b7b9254c40f0780a10330762fde5ef5e9b3b9", -"T3T1_de_test_passphrase_bolt_delizia.py::test_passphrase_long_spaces_deletion": "99de9b5da19d2647157ec0e9051cd1dacf235969453c7f92ade10c8174e37bac", -"T3T1_de_test_passphrase_bolt_delizia.py::test_passphrase_loop_all_characters": "d31eb2ef609383c6e72ff7050bbafb1b35c9f95900a04a64a57b7ac241bf34b5", -"T3T1_de_test_passphrase_bolt_delizia.py::test_passphrase_prompt_disappears": "fe4c40ac0dee545d1aa43b07849c1a51acc9a98af024f2221acfd9d2289a8219", +"T3T1_de_test_passphrase_bde.py::test_cycle_through_last_character": "6fd7cdaf51432d17ae143d941c742ee99476039f0b1095583c5994f62a927ce9", +"T3T1_de_test_passphrase_bde.py::test_passphrase_click_same_button_many_times": "6acf97c3757aa68a640a999033cee133a3ce4564a6e5cff9b01333242a97088e", +"T3T1_de_test_passphrase_bde.py::test_passphrase_delete": "3a743ca8a4c69615dc4f437353e80d82cb0fc1f3e5b530d74dcb5c11e96ab32b", +"T3T1_de_test_passphrase_bde.py::test_passphrase_delete_all": "58c424053fd4a99bb6920da5c64b1dfe5e5a31b4bd7e559abbcf74aa3c27e5d2", +"T3T1_de_test_passphrase_bde.py::test_passphrase_dollar_sign_deletion": "466024ccf441ba2ab6f7453c8dc135a1310987347bf1a96467a96b3d2c530612", +"T3T1_de_test_passphrase_bde.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxUdDSZ-aaae4aa2": "3cafc7005a94395b9d41039cd48c8bad09a8a3174fa9f8eb6d1684d8ebd61ad4", +"T3T1_de_test_passphrase_bde.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "366683dfe6d0f591cda33746df001eb98697ff06548e63faef4c2223287e1f71", +"T3T1_de_test_passphrase_bde.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "12a6493376f79aab4f357deccf6f3648419f3e9f9c5082910b7121c281626247", +"T3T1_de_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-66a83b65": "bd4951d23b25e45b0c9b389d647b7b9254c40f0780a10330762fde5ef5e9b3b9", +"T3T1_de_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-7159c03e": "0fe3c121888aadf2e671c9610288f38dd6f62a33831cc5b5c52f7192191b8a6a", +"T3T1_de_test_passphrase_bde.py::test_passphrase_input_over_50_chars": "bd4951d23b25e45b0c9b389d647b7b9254c40f0780a10330762fde5ef5e9b3b9", +"T3T1_de_test_passphrase_bde.py::test_passphrase_long_spaces_deletion": "99de9b5da19d2647157ec0e9051cd1dacf235969453c7f92ade10c8174e37bac", +"T3T1_de_test_passphrase_bde.py::test_passphrase_loop_all_characters": "d31eb2ef609383c6e72ff7050bbafb1b35c9f95900a04a64a57b7ac241bf34b5", +"T3T1_de_test_passphrase_bde.py::test_passphrase_prompt_disappears": "fe4c40ac0dee545d1aa43b07849c1a51acc9a98af024f2221acfd9d2289a8219", "T3T1_de_test_pin.py::test_last_digit_timeout": "182d8774d96d9f276924081d18ae50872e8fa8b6c93d17bdb1add3c46df333ca", "T3T1_de_test_pin.py::test_pin_cancel": "787cfd2239e5fa2a8e36e1a60748f10a0c526fef1ec3dcadf2d6f711ff9e3b12", "T3T1_de_test_pin.py::test_pin_change": "4758c6e117332302defbccfabcf9e8a11442241f95989f9105b80d12114fb6ba", @@ -18623,20 +18623,20 @@ "T3T1_en_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "a95a389be82e418aae255443e24dd49412b3f610d4749a71925763d7b85bbc28", "T3T1_en_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "c492ad6f10bf4ada5e711c35b96f7d5c9dff93edbae7ddfd681648685cf44d6c", "T3T1_en_test_lock.py::test_hold_to_lock": "7559f113acd5613ca9c2ccf941271f282ecd331dded4ecaf6fa86153e10bb79d", -"T3T1_en_test_passphrase_bolt_delizia.py::test_cycle_through_last_character": "603a1d3a44c91e7c30d72b70b06d656ada418d0ce8d3d065ae4d2f7c4a3cf268", -"T3T1_en_test_passphrase_bolt_delizia.py::test_passphrase_click_same_button_many_times": "52188958872feeabe8e3de11a41675948047addf22c13b982db022659e138ee8", -"T3T1_en_test_passphrase_bolt_delizia.py::test_passphrase_delete": "db55f6f71eff9b12a4ca9adf97f3e2f0714239108ee65569d0139de31537a045", -"T3T1_en_test_passphrase_bolt_delizia.py::test_passphrase_delete_all": "e63d5aed5f248aa399884e183f074e3c74b8438887679414d515875fd4ea931b", -"T3T1_en_test_passphrase_bolt_delizia.py::test_passphrase_dollar_sign_deletion": "56631e22d82db88b2a0409d7a533e4eb5ae4e7857260b61ce759da8d076b58b8", -"T3T1_en_test_passphrase_bolt_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzL-378fe4ae": "9f31945537b4c435c56303cf313e9e3c4e7ae46d889e5000a4b9af4a369894dc", -"T3T1_en_test_passphrase_bolt_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "aeccf73f56e84a69d1644d13be2dac55a38e308d4ed8e843b108179406db56a3", -"T3T1_en_test_passphrase_bolt_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97-ba38238e": "1def155e64deecee0116dccd3887acf33b170a02758c15b971d892f8b1db628b", -"T3T1_en_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-11fcbfea": "0f912db4088ecdf02eef42a193f06969fac5e4844c73274c5c5a5c97a0251e46", -"T3T1_en_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-4f4d1ec7": "e36d7731c0bc5e46d1e3cbe0fb86e48dfbdebc37d3294226d862133282aa830e", -"T3T1_en_test_passphrase_bolt_delizia.py::test_passphrase_input_over_50_chars": "e36d7731c0bc5e46d1e3cbe0fb86e48dfbdebc37d3294226d862133282aa830e", -"T3T1_en_test_passphrase_bolt_delizia.py::test_passphrase_long_spaces_deletion": "835cd472bd5c0373e453f6a7d2a3fd06f633a512e1b3b60a700cff2c179ecc58", -"T3T1_en_test_passphrase_bolt_delizia.py::test_passphrase_loop_all_characters": "cba490f54234765b95bfc72f11ea7b4faddae58c15cf8633b6cf0a2086b45b95", -"T3T1_en_test_passphrase_bolt_delizia.py::test_passphrase_prompt_disappears": "b9e999e7b191f17c687c4f3ee9cf1a8070e0d2c5de3380fefa319964dce9df9a", +"T3T1_en_test_passphrase_bde.py::test_cycle_through_last_character": "603a1d3a44c91e7c30d72b70b06d656ada418d0ce8d3d065ae4d2f7c4a3cf268", +"T3T1_en_test_passphrase_bde.py::test_passphrase_click_same_button_many_times": "52188958872feeabe8e3de11a41675948047addf22c13b982db022659e138ee8", +"T3T1_en_test_passphrase_bde.py::test_passphrase_delete": "db55f6f71eff9b12a4ca9adf97f3e2f0714239108ee65569d0139de31537a045", +"T3T1_en_test_passphrase_bde.py::test_passphrase_delete_all": "e63d5aed5f248aa399884e183f074e3c74b8438887679414d515875fd4ea931b", +"T3T1_en_test_passphrase_bde.py::test_passphrase_dollar_sign_deletion": "56631e22d82db88b2a0409d7a533e4eb5ae4e7857260b61ce759da8d076b58b8", +"T3T1_en_test_passphrase_bde.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxUdDSZ-aaae4aa2": "9f31945537b4c435c56303cf313e9e3c4e7ae46d889e5000a4b9af4a369894dc", +"T3T1_en_test_passphrase_bde.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "aeccf73f56e84a69d1644d13be2dac55a38e308d4ed8e843b108179406db56a3", +"T3T1_en_test_passphrase_bde.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "1def155e64deecee0116dccd3887acf33b170a02758c15b971d892f8b1db628b", +"T3T1_en_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-66a83b65": "e36d7731c0bc5e46d1e3cbe0fb86e48dfbdebc37d3294226d862133282aa830e", +"T3T1_en_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-7159c03e": "0f912db4088ecdf02eef42a193f06969fac5e4844c73274c5c5a5c97a0251e46", +"T3T1_en_test_passphrase_bde.py::test_passphrase_input_over_50_chars": "e36d7731c0bc5e46d1e3cbe0fb86e48dfbdebc37d3294226d862133282aa830e", +"T3T1_en_test_passphrase_bde.py::test_passphrase_long_spaces_deletion": "835cd472bd5c0373e453f6a7d2a3fd06f633a512e1b3b60a700cff2c179ecc58", +"T3T1_en_test_passphrase_bde.py::test_passphrase_loop_all_characters": "cba490f54234765b95bfc72f11ea7b4faddae58c15cf8633b6cf0a2086b45b95", +"T3T1_en_test_passphrase_bde.py::test_passphrase_prompt_disappears": "b9e999e7b191f17c687c4f3ee9cf1a8070e0d2c5de3380fefa319964dce9df9a", "T3T1_en_test_pin.py::test_last_digit_timeout": "e6d9b7b934483bc6d6e4c89307dc3a006c9b3bb4dacfac8e990bacb6d23ebc4f", "T3T1_en_test_pin.py::test_pin_cancel": "b6d8d72e3ea80c926feb1bfc4597f8f83a6a315c8c851ffdf1334958b90e45e5", "T3T1_en_test_pin.py::test_pin_change": "e042fdc4fb0a81bfd60f7a20630281c3702507cb2160ddbda75424931e50dca6", @@ -18680,20 +18680,20 @@ "T3T1_es_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "a88031845bfc7b265ae01ba734599013087dbf65953c437268a494139d530196", "T3T1_es_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "8ce2c6567d74d63ae1bc6883af0f7867613d0777e96bf934cc34ffca73b306a2", "T3T1_es_test_lock.py::test_hold_to_lock": "0b1ee70de866f3ff4d7c85f1fe3d6bb8d853fda44cbeefe881483f186a7a9677", -"T3T1_es_test_passphrase_bolt_delizia.py::test_cycle_through_last_character": "f0fda1da42a9e7ce582d7f20e4bc374756ba55a60a16d80e7698930598faa6aa", -"T3T1_es_test_passphrase_bolt_delizia.py::test_passphrase_click_same_button_many_times": "1e7fbc212d84cde47d02f53e97ed56e8a937c3a103c97356b38da4a6046863db", -"T3T1_es_test_passphrase_bolt_delizia.py::test_passphrase_delete": "d8d4a018ab93a437f723b6c580583af7220ea86901804dac365a678573774ece", -"T3T1_es_test_passphrase_bolt_delizia.py::test_passphrase_delete_all": "81d07e6702bd045b0f0335cedde39049fba6c8808deab0a1e2207718d923d43d", -"T3T1_es_test_passphrase_bolt_delizia.py::test_passphrase_dollar_sign_deletion": "4dd73c46326c3875fb4c0dfb595a7352536dc3cba1bbcef89bf452d3164a2ea1", -"T3T1_es_test_passphrase_bolt_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzL-378fe4ae": "e6180db677f758b1903673de78e08c1a34e67294ae39041853d3bd5eb3e2a0eb", -"T3T1_es_test_passphrase_bolt_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "a680fa64d3068f99a59bdb70dac95c9b1dfadd4b3dd1d5c1c139b30062607cbe", -"T3T1_es_test_passphrase_bolt_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97-ba38238e": "3f30f2b55414535ae42226e3581add6fd5aaa456e65482e108f6ab0c7816f44b", -"T3T1_es_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-11fcbfea": "09a2c0f286ea3be2bdcb6f34ec89daecf5d5b7191792bc8fcb915cb6e7d06386", -"T3T1_es_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-4f4d1ec7": "d911b2a2e18eaf75024999784533df77f11f2faadd6500f48b8f198cb0230e60", -"T3T1_es_test_passphrase_bolt_delizia.py::test_passphrase_input_over_50_chars": "d911b2a2e18eaf75024999784533df77f11f2faadd6500f48b8f198cb0230e60", -"T3T1_es_test_passphrase_bolt_delizia.py::test_passphrase_long_spaces_deletion": "50011dac1d4f639adfa41c920a4bbdf48b69f5b787a278cfecf6cc11f6713deb", -"T3T1_es_test_passphrase_bolt_delizia.py::test_passphrase_loop_all_characters": "3fe995468c65032ce1beb7623f63143a00946eaf1b1e3502ce7caed2b0a2c29a", -"T3T1_es_test_passphrase_bolt_delizia.py::test_passphrase_prompt_disappears": "68e4be894b9075fe520de7965f0e4996037827d33ac15715e3e176b2cfd72fbe", +"T3T1_es_test_passphrase_bde.py::test_cycle_through_last_character": "f0fda1da42a9e7ce582d7f20e4bc374756ba55a60a16d80e7698930598faa6aa", +"T3T1_es_test_passphrase_bde.py::test_passphrase_click_same_button_many_times": "1e7fbc212d84cde47d02f53e97ed56e8a937c3a103c97356b38da4a6046863db", +"T3T1_es_test_passphrase_bde.py::test_passphrase_delete": "d8d4a018ab93a437f723b6c580583af7220ea86901804dac365a678573774ece", +"T3T1_es_test_passphrase_bde.py::test_passphrase_delete_all": "81d07e6702bd045b0f0335cedde39049fba6c8808deab0a1e2207718d923d43d", +"T3T1_es_test_passphrase_bde.py::test_passphrase_dollar_sign_deletion": "4dd73c46326c3875fb4c0dfb595a7352536dc3cba1bbcef89bf452d3164a2ea1", +"T3T1_es_test_passphrase_bde.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxUdDSZ-aaae4aa2": "e6180db677f758b1903673de78e08c1a34e67294ae39041853d3bd5eb3e2a0eb", +"T3T1_es_test_passphrase_bde.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "a680fa64d3068f99a59bdb70dac95c9b1dfadd4b3dd1d5c1c139b30062607cbe", +"T3T1_es_test_passphrase_bde.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "3f30f2b55414535ae42226e3581add6fd5aaa456e65482e108f6ab0c7816f44b", +"T3T1_es_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-66a83b65": "d911b2a2e18eaf75024999784533df77f11f2faadd6500f48b8f198cb0230e60", +"T3T1_es_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-7159c03e": "09a2c0f286ea3be2bdcb6f34ec89daecf5d5b7191792bc8fcb915cb6e7d06386", +"T3T1_es_test_passphrase_bde.py::test_passphrase_input_over_50_chars": "d911b2a2e18eaf75024999784533df77f11f2faadd6500f48b8f198cb0230e60", +"T3T1_es_test_passphrase_bde.py::test_passphrase_long_spaces_deletion": "50011dac1d4f639adfa41c920a4bbdf48b69f5b787a278cfecf6cc11f6713deb", +"T3T1_es_test_passphrase_bde.py::test_passphrase_loop_all_characters": "3fe995468c65032ce1beb7623f63143a00946eaf1b1e3502ce7caed2b0a2c29a", +"T3T1_es_test_passphrase_bde.py::test_passphrase_prompt_disappears": "68e4be894b9075fe520de7965f0e4996037827d33ac15715e3e176b2cfd72fbe", "T3T1_es_test_pin.py::test_last_digit_timeout": "9c8f8c501c3acf239dedaa70c803c816b20bfc95b0518d0149de9f8d2eb2e7aa", "T3T1_es_test_pin.py::test_pin_cancel": "da08806d13d24aa4421cc6c2faf2f2eac8432257ee210c5bedb95b1eda3809c6", "T3T1_es_test_pin.py::test_pin_change": "aa8f4a05937b23b66c8bd5edab76c2365392799ee2932daba0671046f3c1fdd1", @@ -18737,20 +18737,20 @@ "T3T1_fr_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "b23f5f6300f383dbf1c74610ccf6f7670e5dc5f4491341027d67446e8646fca8", "T3T1_fr_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "118b75bbf960fd4ab52594fcd85178c9e58b92a3c71b7b720b5dddc0f0c0c65b", "T3T1_fr_test_lock.py::test_hold_to_lock": "7cb322001d6eb093bd453e4f7a3b77f3d375873f506834fdbb7562d44c227d1d", -"T3T1_fr_test_passphrase_bolt_delizia.py::test_cycle_through_last_character": "8a65bd72b1725fa99dadc4135bf3d96830379ed5d1599a225ecbfd397fee244d", -"T3T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_click_same_button_many_times": "269f189b31ea45d1dd82b3b839ac9983b6d9645d8707a19b396136de548bf187", -"T3T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_delete": "57e95dc23789eb059aec5570a79d0c752483614232316212f2d4e272f52943b6", -"T3T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_delete_all": "a89beda21c372a53c2b521c8263fffd2a95d7270e2c83d1a858f73380bb0b49d", -"T3T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_dollar_sign_deletion": "81964cfea74aa2a4aa66689c8aa26551e297708691f104d43e8ddd58c360d178", -"T3T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzL-378fe4ae": "19356e4a820f041df6e8b36c679570149db08d61c288a40b4c2be290a67c2df5", -"T3T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "50127520d59e7e3c41e96bac4cfa36a184d9f91c811328a9141e230b3036f7af", -"T3T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97-ba38238e": "7fdcc19c1bceb90594b4e4ae292881f45e047fcb08aa96e1e33627eda706751d", -"T3T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-11fcbfea": "f497650ca049b504dc8a7c48e19bf0ba57d904f3eab517cf10f45a7c62b91e7d", -"T3T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-4f4d1ec7": "5d7c9fab6ebb205307c77f9e61804730df9219bcdaa238f96b136b0a0f084dfd", -"T3T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_input_over_50_chars": "5d7c9fab6ebb205307c77f9e61804730df9219bcdaa238f96b136b0a0f084dfd", -"T3T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_long_spaces_deletion": "ef827ea1eca0c1f156de495b2be56ae432fb7276f163789c751b7616b69ccbe0", -"T3T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_loop_all_characters": "23edad838cd9712a22d4394614a276db8b1fd1fbd437b0ec464e33103e43f606", -"T3T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_prompt_disappears": "eddfbb1e879bcba04c3f6fafe3fad973f5ae26566378d2b6cb3036146a7647d4", +"T3T1_fr_test_passphrase_bde.py::test_cycle_through_last_character": "8a65bd72b1725fa99dadc4135bf3d96830379ed5d1599a225ecbfd397fee244d", +"T3T1_fr_test_passphrase_bde.py::test_passphrase_click_same_button_many_times": "269f189b31ea45d1dd82b3b839ac9983b6d9645d8707a19b396136de548bf187", +"T3T1_fr_test_passphrase_bde.py::test_passphrase_delete": "57e95dc23789eb059aec5570a79d0c752483614232316212f2d4e272f52943b6", +"T3T1_fr_test_passphrase_bde.py::test_passphrase_delete_all": "a89beda21c372a53c2b521c8263fffd2a95d7270e2c83d1a858f73380bb0b49d", +"T3T1_fr_test_passphrase_bde.py::test_passphrase_dollar_sign_deletion": "81964cfea74aa2a4aa66689c8aa26551e297708691f104d43e8ddd58c360d178", +"T3T1_fr_test_passphrase_bde.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxUdDSZ-aaae4aa2": "19356e4a820f041df6e8b36c679570149db08d61c288a40b4c2be290a67c2df5", +"T3T1_fr_test_passphrase_bde.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "50127520d59e7e3c41e96bac4cfa36a184d9f91c811328a9141e230b3036f7af", +"T3T1_fr_test_passphrase_bde.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "7fdcc19c1bceb90594b4e4ae292881f45e047fcb08aa96e1e33627eda706751d", +"T3T1_fr_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-66a83b65": "5d7c9fab6ebb205307c77f9e61804730df9219bcdaa238f96b136b0a0f084dfd", +"T3T1_fr_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-7159c03e": "f497650ca049b504dc8a7c48e19bf0ba57d904f3eab517cf10f45a7c62b91e7d", +"T3T1_fr_test_passphrase_bde.py::test_passphrase_input_over_50_chars": "5d7c9fab6ebb205307c77f9e61804730df9219bcdaa238f96b136b0a0f084dfd", +"T3T1_fr_test_passphrase_bde.py::test_passphrase_long_spaces_deletion": "ef827ea1eca0c1f156de495b2be56ae432fb7276f163789c751b7616b69ccbe0", +"T3T1_fr_test_passphrase_bde.py::test_passphrase_loop_all_characters": "23edad838cd9712a22d4394614a276db8b1fd1fbd437b0ec464e33103e43f606", +"T3T1_fr_test_passphrase_bde.py::test_passphrase_prompt_disappears": "eddfbb1e879bcba04c3f6fafe3fad973f5ae26566378d2b6cb3036146a7647d4", "T3T1_fr_test_pin.py::test_last_digit_timeout": "59e7e511c0b78d9e1ee51e1f527794da906d31fc25e019628ac1365028f504c7", "T3T1_fr_test_pin.py::test_pin_cancel": "b4663457cfa67e181ba34fd7767dda7da7183360626f4fed637ede08debdbcde", "T3T1_fr_test_pin.py::test_pin_change": "82f23a1eec140a8de9f552c9f26752144e88729f9cd50e21cf4f3f63d0c0db95", @@ -18794,20 +18794,20 @@ "T3T1_pt_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "92b48f3ed4bda05933bc5a3d909d57b874c501ea835efb3a98f72a3d0bb0a65a", "T3T1_pt_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "f35a5e84f0975ca9db4be5a615e1f2206de70cc3c6a2641dce7404bb9fc3ac31", "T3T1_pt_test_lock.py::test_hold_to_lock": "8ed83b406615bdced57b521f288eaca5db92f0fbf3be4bfc53fd2b372b5da26a", -"T3T1_pt_test_passphrase_bolt_delizia.py::test_cycle_through_last_character": "5e7ea9562b37e28a61025264e651621bf2e8378941ed7157aab333dd2db0712e", -"T3T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_click_same_button_many_times": "8383a1f9630c38c06db1d3ab0ec204dbad1ff86f866cfe3a7d645e87fadb6122", -"T3T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_delete": "d0cd6231a6b43227ca7d7972478fec113bc4fc3be021794aa2824b83b2e93620", -"T3T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_delete_all": "9103563f5b4ced692ecebea297fe43ac6453fe527825df6f7b71ecbdfcaa99b9", -"T3T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_dollar_sign_deletion": "3848d55af3e77bc8c5957815ca8b45ef234469facf2cadbdc4fd429b699b4caf", -"T3T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzL-378fe4ae": "2876f7843d77b5118250c5c9865a165e935ff42b566b7e38fe9211ae61803bf8", -"T3T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "2de9b3d7294599b75d810c0fdf677b0d25b9cc814a2c49d4f09acf89c2c081da", -"T3T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97-ba38238e": "576782f11c31397aeaa8bd35a2f17b0954b020e1b6bfd3a0505863da56905c61", -"T3T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-11fcbfea": "8813dd11c3a2d4a866b39b17d62cd5bb202694754cec78b9827e131dc5056104", -"T3T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-4f4d1ec7": "9950c3998d9da8930579108c06f8b0877067378308b687447c109973b7b9e13f", -"T3T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_input_over_50_chars": "9950c3998d9da8930579108c06f8b0877067378308b687447c109973b7b9e13f", -"T3T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_long_spaces_deletion": "3392631d3bd54793efed30b078c8f3434e1111fe125838249b462b2c590b08e7", -"T3T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_loop_all_characters": "76d50a80f8b05711e2a35836ace188d6997ebd81b7c109aedf71526ff683ddab", -"T3T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_prompt_disappears": "f67fd902340ffa66c5b59f034e9cc4ce5052b8c658436fd8a1d9271837f55c1f", +"T3T1_pt_test_passphrase_bde.py::test_cycle_through_last_character": "5e7ea9562b37e28a61025264e651621bf2e8378941ed7157aab333dd2db0712e", +"T3T1_pt_test_passphrase_bde.py::test_passphrase_click_same_button_many_times": "8383a1f9630c38c06db1d3ab0ec204dbad1ff86f866cfe3a7d645e87fadb6122", +"T3T1_pt_test_passphrase_bde.py::test_passphrase_delete": "d0cd6231a6b43227ca7d7972478fec113bc4fc3be021794aa2824b83b2e93620", +"T3T1_pt_test_passphrase_bde.py::test_passphrase_delete_all": "9103563f5b4ced692ecebea297fe43ac6453fe527825df6f7b71ecbdfcaa99b9", +"T3T1_pt_test_passphrase_bde.py::test_passphrase_dollar_sign_deletion": "3848d55af3e77bc8c5957815ca8b45ef234469facf2cadbdc4fd429b699b4caf", +"T3T1_pt_test_passphrase_bde.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxUdDSZ-aaae4aa2": "2876f7843d77b5118250c5c9865a165e935ff42b566b7e38fe9211ae61803bf8", +"T3T1_pt_test_passphrase_bde.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "2de9b3d7294599b75d810c0fdf677b0d25b9cc814a2c49d4f09acf89c2c081da", +"T3T1_pt_test_passphrase_bde.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "576782f11c31397aeaa8bd35a2f17b0954b020e1b6bfd3a0505863da56905c61", +"T3T1_pt_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-66a83b65": "9950c3998d9da8930579108c06f8b0877067378308b687447c109973b7b9e13f", +"T3T1_pt_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-7159c03e": "8813dd11c3a2d4a866b39b17d62cd5bb202694754cec78b9827e131dc5056104", +"T3T1_pt_test_passphrase_bde.py::test_passphrase_input_over_50_chars": "9950c3998d9da8930579108c06f8b0877067378308b687447c109973b7b9e13f", +"T3T1_pt_test_passphrase_bde.py::test_passphrase_long_spaces_deletion": "3392631d3bd54793efed30b078c8f3434e1111fe125838249b462b2c590b08e7", +"T3T1_pt_test_passphrase_bde.py::test_passphrase_loop_all_characters": "76d50a80f8b05711e2a35836ace188d6997ebd81b7c109aedf71526ff683ddab", +"T3T1_pt_test_passphrase_bde.py::test_passphrase_prompt_disappears": "f67fd902340ffa66c5b59f034e9cc4ce5052b8c658436fd8a1d9271837f55c1f", "T3T1_pt_test_pin.py::test_last_digit_timeout": "fd8e08e2df1b520957d0d442c63b29d82a362cd927299aa842aaa536ec04f8e0", "T3T1_pt_test_pin.py::test_pin_cancel": "644b97553841ec34a080c85933213604fb945d70a0f4b3224d3117b7f643ab5d", "T3T1_pt_test_pin.py::test_pin_change": "3b04e7768bebe2ba68c2b0fc19a837f6a0192778a57ac7ecf8be33cf2816a2d1", @@ -27318,5 +27318,3243 @@ "T3T1_en_test_shamir_persistence.py::test_recovery_single_reset": "4637001b683f1421fdab419acfd1f9170e798cf6de30ff317d9195ac04226037", "T3T1_en_test_wipe_code.py::test_wipe_code_activate_core": "5778bbce832aa3038f2e2f1b8c032a5f8ac25c8dd9143dd36f9cf0cceceb9ff7" } +}, +"T3W1": { +"click_tests": { +"T3W1_cs_test_autolock.py::test_autolock_does_not_interrupt_signing": "5ea1dc38ffb7562222ccb28cd1eb1d8a88bf6f21423d70d5ee38340c3b4c2337", +"T3W1_cs_test_autolock.py::test_autolock_interrupts_passphrase": "2aa4abe43a3d4f40f500111c65526c79dd1ac1ff01cb4ad91bf3e7af7311cf80", +"T3W1_cs_test_autolock.py::test_autolock_interrupts_signing": "8756fec3de510a9db63bff4cd4fa1fd928ff57489be03d432af7c3d5c7dbba7d", +"T3W1_cs_test_autolock.py::test_autolock_passphrase_keyboard": "ac31675deddb194cb65f82fb6e2521c4c5d55293c413e5635e8a8e59865a6c72", +"T3W1_cs_test_autolock.py::test_dryrun_enter_word_slowly": "f914fceae3dadda9e86f3f2535104c64918514b8f53deafbb5f40607f9676e44", +"T3W1_cs_test_autolock.py::test_dryrun_locks_at_number_of_words": "75a2930e93a838af3c31874815badcc42e854747737364c9dea8acaa34bd19a9", +"T3W1_cs_test_autolock.py::test_dryrun_locks_at_word_entry": "f75e5a6f3e7ce1aa7320e4e7f9d183f1a7a87fef85e8d42ddbec74b48478c272", +"T3W1_cs_test_backup_slip39_custom.py::test_backup_slip39_custom[1of1]": "0f5d8d3324bddd8d64afb6faf14c757b3d6eab8e86152d9c84828a0b6d394598", +"T3W1_cs_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "9b58dd283e329812d80dae42f7a4a2c40c301597d7f1528a6358c97bc77ef4bf", +"T3W1_cs_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "7419c0a23f6ee94831af66fecd790c22368cfa5704870e6cb1b40539ce85bb14", +"T3W1_cs_test_lock.py::test_hold_to_lock": "e8cad8026f4fb574e1c08d676fa798233d47472919e73605640e38df4249cb74", +"T3W1_cs_test_passphrase_bde.py::test_cycle_through_last_character": "c11f3089ff040072b15bb949f41fa59654980110c411ecca38851accc86ac208", +"T3W1_cs_test_passphrase_bde.py::test_passphrase_click_same_button_many_times": "59f73dc35e1cf67bad2216ea2f225c88579bd57a43d8f4c3abd296209766db2f", +"T3W1_cs_test_passphrase_bde.py::test_passphrase_delete": "97b18acc815c2325d258438cce45488500f24017028caf08724a11bcbe2e40a1", +"T3W1_cs_test_passphrase_bde.py::test_passphrase_delete_all": "8bc124263f6e748b7174796394440ab3ebf58461621866ec17b90a129ae43f9b", +"T3W1_cs_test_passphrase_bde.py::test_passphrase_dollar_sign_deletion": "84231ffcbb9aab163b4be2557f5b5cec57c36d6f1d579ad565fa94eff405d37b", +"T3W1_cs_test_passphrase_bde.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxUdDSZ-aaae4aa2": "0d200097f75d355968e0997edb290bcd62e5145264ae1e133a41d6f01dd243e2", +"T3W1_cs_test_passphrase_bde.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "7adbe98d03bfc3d8d523ebfcacf581050fb2f9ac0963457869e1a6738b5800ce", +"T3W1_cs_test_passphrase_bde.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "da053ec37a4622261d902f257159624d531b20159dd6469938ec88a763908497", +"T3W1_cs_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-66a83b65": "22dca0dd5b17d7e34d1ec34c4f050d622fb9608e416077416f43d8070b26eb0f", +"T3W1_cs_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-7159c03e": "6e9ee31a76fa355b0ef73cb480c1971f2080548e5ba25f05c2e24fb630e42309", +"T3W1_cs_test_passphrase_bde.py::test_passphrase_input_over_50_chars": "22dca0dd5b17d7e34d1ec34c4f050d622fb9608e416077416f43d8070b26eb0f", +"T3W1_cs_test_passphrase_bde.py::test_passphrase_long_spaces_deletion": "7c2f72bd9562a7676237ece607ed8fb7c59bd3740f15d580056d57e668c18459", +"T3W1_cs_test_passphrase_bde.py::test_passphrase_loop_all_characters": "deb1e3c0a8b02c0155dcad750acf92de646005e7d26ff65e196b46921697d77c", +"T3W1_cs_test_passphrase_bde.py::test_passphrase_prompt_disappears": "51a507223250b578f4a3d2b8eb581807d2162e7541ff6307ca2acfdecf13cc39", +"T3W1_cs_test_pin.py::test_last_digit_timeout": "e8b4d4b429f9df125610e87633b885d944c0576078532ea08d968c5956b0b515", +"T3W1_cs_test_pin.py::test_pin_cancel": "fc94bbe15f5f1a33c2aaa38d8c0419e636d4a92b97f944987cfdccf5b84a6744", +"T3W1_cs_test_pin.py::test_pin_change": "14a78d2857fc24a08381b07b4eeba5af04db51c9b2f8976b6036eb8ccea2d0d2", +"T3W1_cs_test_pin.py::test_pin_delete_hold": "3401e92f31f9e56e6ea700542728eb90c28daf1d96308157f93efd5a47eb027b", +"T3W1_cs_test_pin.py::test_pin_empty_cannot_send": "cff4f2eb55ee0d1c7ec936e7d7a4e341b07c0c272f38ac7b1030e71f8e9030f0", +"T3W1_cs_test_pin.py::test_pin_incorrect": "1a3c7ffb895117c091d8ae42cd88320a335e0d30a3ab9ac0cff4e082fc73d1eb", +"T3W1_cs_test_pin.py::test_pin_long": "ecc9a308016f742079b10c27d5697e2cbfafd279b88d0fd6ad0c2963e6c8b61a", +"T3W1_cs_test_pin.py::test_pin_long_delete": "f483a332890f85457b06458f4754be4f850fc173208f6d128aac2bed52f02fc7", +"T3W1_cs_test_pin.py::test_pin_longer_than_max": "4e3e616afb39fe475c1bb1949ee4a3110521b38de7662e8aa811b6ce236d2044", +"T3W1_cs_test_pin.py::test_pin_same_as_wipe_code": "caf3f98003cf229dc85d3d9175a5cf8a81f72fbfbdca3196adf36be2e66a1065", +"T3W1_cs_test_pin.py::test_pin_setup": "a4c47f3a8c290fd7985bc2fdde4a1ef0c20d735f5eda53b47a0b670d8e15ffbd", +"T3W1_cs_test_pin.py::test_pin_setup_mismatch": "8a909e735bf8aa1a0638f4fd0d56f16d7f833019ad7fe8d7106309fcd00f3346", +"T3W1_cs_test_pin.py::test_pin_short": "cff4f2eb55ee0d1c7ec936e7d7a4e341b07c0c272f38ac7b1030e71f8e9030f0", +"T3W1_cs_test_pin.py::test_wipe_code_same_as_pin": "a1d37dd74c86c26397cf075cd3dd83d5a41f44b77c33fde82c71485c298c9e19", +"T3W1_cs_test_pin.py::test_wipe_code_setup": "3871853c127de14d0e7656b4259a3cc3b7a88014f0f1a3a8d86914c3375598d1", +"T3W1_cs_test_recovery.py::test_recovery_bip39": "8c1483d87d415e5e74e8f6e8675107a4d0b4598ef2a0b64e49576891084ccf69", +"T3W1_cs_test_recovery.py::test_recovery_bip39_previous_word": "d6629c093705b203a4063f8e5cd306cab4fab561f63a44ed252a770deab67c58", +"T3W1_cs_test_recovery.py::test_recovery_cancel_issue4613": "4c7c3abfc06880240efa0e0763d83aaf6da6a41ae2de735a4234a152c749f9c5", +"T3W1_cs_test_recovery.py::test_recovery_cancel_number_of_words": "88204527a13ef9fcd920b3234c02686f9e1e3ec8c1ac45bc7481191de79029ec", +"T3W1_cs_test_recovery.py::test_recovery_slip39_basic": "009d6da078c4da3c5976bbf31de54b84a81ab93578e770ed3ea1a4351fd6a164", +"T3W1_cs_test_repeated_backup.py::test_repeated_backup": "7127e3915caeddfe1800d94b9bcfc10ae53a3d5a774fb2b3be29ffcaf1dc613e", +"T3W1_cs_test_reset_bip39.py::test_reset_bip39": "2b2dee9385c4ed9150524ea429c4a8688c3241702851fb76bac3bdbf2b7882e9", +"T3W1_cs_test_reset_slip39_advanced.py::test_reset_slip39_advanced[16of16]": "14a823a606964ad765d4daab38fecc8a931bbb8e7aba977b9719912cbc2635b2", +"T3W1_cs_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "14b927f5fa236dc23aae1f843c7a68b5509e7ed1e77e61ec81a2b1a2a845bd78", +"T3W1_cs_test_reset_slip39_basic.py::test_reset_slip39_basic[16of16]": "b80c6eb5872aa33683bfe22451f497870c3e3f1ef45cc99cb9065cb50b7fd767", +"T3W1_cs_test_reset_slip39_basic.py::test_reset_slip39_basic[1of1]": "cd6b7cb0ea51136cc4086c73ab92b3c4cede882bef1a07971be4156834829225", +"T3W1_de_test_autolock.py::test_autolock_does_not_interrupt_signing": "1a7d491609348d1905980bd1965a1f12635f908b100e0e9aa83ae00a2657b76d", +"T3W1_de_test_autolock.py::test_autolock_interrupts_passphrase": "1e586ddc0aea9cf18809e57245a6f0f5ff6ecc4af298908a43875b699b80a508", +"T3W1_de_test_autolock.py::test_autolock_interrupts_signing": "d67a2566f45869dbd99b730ef49e4659957f3575c01696f0bf2c2890fdf25f09", +"T3W1_de_test_autolock.py::test_autolock_passphrase_keyboard": "8bdc54ed86f51cc7eb0c0e469421253f0abbe87d94f73d5e566369325d161640", +"T3W1_de_test_autolock.py::test_dryrun_enter_word_slowly": "9399b1860f7e6800821e70b4d2d81214756604501aa817dceb951412e542b5c6", +"T3W1_de_test_autolock.py::test_dryrun_locks_at_number_of_words": "82b3520f017fe9338136118f269cdae15277d5a856d2218a1a48d251892eda25", +"T3W1_de_test_autolock.py::test_dryrun_locks_at_word_entry": "9f78b22d5ce7a969ae6d6159fbe4b0eed17f16d88dcc1d77ee650757b23d4fd3", +"T3W1_de_test_backup_slip39_custom.py::test_backup_slip39_custom[1of1]": "6402f9094e41749b7b06367c8405f1c86e342fba91dc8023be8ef6587125564c", +"T3W1_de_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "743e523c1ed41263b78d2ce77267492605610735d8a44dca823289f83e5be17d", +"T3W1_de_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "68d73651f2a550d836267d70ccbe28e32cbb343897a84c1f3d77369723fe77a4", +"T3W1_de_test_lock.py::test_hold_to_lock": "222907830ad608bfb2badf4b716ae9248f91a3635007354bf0c76f8e52e96c86", +"T3W1_de_test_passphrase_bde.py::test_cycle_through_last_character": "80724f37ff076f3049fc02e5e6386ec74b8109343d46230d1ee3f1d72a070215", +"T3W1_de_test_passphrase_bde.py::test_passphrase_click_same_button_many_times": "54c2ddc1258ceeeaa3d08d2967b0f9c02cbf3d4d0ff0f6e01e2cf3f138c90130", +"T3W1_de_test_passphrase_bde.py::test_passphrase_delete": "8395a56f4f40fef70b97429cfdc440f56ae40b799cf6af6e591c21111e7a6153", +"T3W1_de_test_passphrase_bde.py::test_passphrase_delete_all": "11f2bfc81a72d595f02288cb57b9a7d8ad4047fdaf019f5f391c57cd81c265c7", +"T3W1_de_test_passphrase_bde.py::test_passphrase_dollar_sign_deletion": "5138d9af15b365d1c8eb4412c5c4e47c5f503859813d9230b0575cd3f9bf4e9a", +"T3W1_de_test_passphrase_bde.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxUdDSZ-aaae4aa2": "b63538f58b3bb596d44e1e6526a2b282a80450f3032b4cea82fa0698fb99dbee", +"T3W1_de_test_passphrase_bde.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "d30da98fb84b49a0d1ba63454ebf103c238b7c80ade6b1d98ec5dfb615285636", +"T3W1_de_test_passphrase_bde.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "6fa3c5d4382e29e1dc14260f879ff88baebf1acb810afb24c730108a2e30f7f3", +"T3W1_de_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-66a83b65": "c8116681825cce4c8cf2992d35cf07d28bbe7f6b3d681e3b9700fc5aa4e1c467", +"T3W1_de_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-7159c03e": "80682157a9e758731cb3b4734c88fb21c7ad81155ee8db792feed4ae2ae2de86", +"T3W1_de_test_passphrase_bde.py::test_passphrase_input_over_50_chars": "c8116681825cce4c8cf2992d35cf07d28bbe7f6b3d681e3b9700fc5aa4e1c467", +"T3W1_de_test_passphrase_bde.py::test_passphrase_long_spaces_deletion": "c5e15a4c0f960c44578e28720e36e320e0b244d90b655c1b5b31d1445a8e69f5", +"T3W1_de_test_passphrase_bde.py::test_passphrase_loop_all_characters": "7eef51e02558a75fac3834274db50957b8f1eddc52f717d7c42c0de9ed7dbd27", +"T3W1_de_test_passphrase_bde.py::test_passphrase_prompt_disappears": "0bdae83c5ca7b61966b0cf3b06fd2c8600656d76ff8ba605460863abf7be1768", +"T3W1_de_test_pin.py::test_last_digit_timeout": "4442b9cf51ccf5804f55ceb046cd6cea6b177219580370f7c378021217abb3f7", +"T3W1_de_test_pin.py::test_pin_cancel": "04dec986d1fcdc2ea836abe6399cb5823f1a5d2af3ba40abf68618e5cdbd3cec", +"T3W1_de_test_pin.py::test_pin_change": "587c2e0e2b43584cc88838e6a3d802de4740d7fb7b7b9f66ccf4eff6e4572f27", +"T3W1_de_test_pin.py::test_pin_delete_hold": "d7c22d35b7cdceefba361eddb61f698c8353d241dc72aed3960b56df6a6b744c", +"T3W1_de_test_pin.py::test_pin_empty_cannot_send": "76f0bd7846a925b9f22f37ef4903e0d3e87055e422732fd134871919904c2a9f", +"T3W1_de_test_pin.py::test_pin_incorrect": "2d5cf92b81da18d0564b1bc138f80694fd012c528b23fa8e602b2afbeb9ee093", +"T3W1_de_test_pin.py::test_pin_long": "6032409d343090865f411e1bce3a0d035c0ea113ee08abf288e0dd5603ceaf5b", +"T3W1_de_test_pin.py::test_pin_long_delete": "deded5c9916f6e06ef35d775f7f47cc60abab65231f13314126620f0a84a4cc9", +"T3W1_de_test_pin.py::test_pin_longer_than_max": "41bf1e797905f3cc87b6417a8aa2969a0c6b853a5cda272f070a1ef413cbae6a", +"T3W1_de_test_pin.py::test_pin_same_as_wipe_code": "5a01b577c527044bfa13b4b63556781107f1a57040ca05ab9357007d1880b14c", +"T3W1_de_test_pin.py::test_pin_setup": "ee5ae018b3cb895ae93effa6867ecea63ac5fe941081593df1fba8c6b54f1a33", +"T3W1_de_test_pin.py::test_pin_setup_mismatch": "1dee26b0494760a7a3fa9ced614e284118385b90487ec76b201c4bb35bf394db", +"T3W1_de_test_pin.py::test_pin_short": "76f0bd7846a925b9f22f37ef4903e0d3e87055e422732fd134871919904c2a9f", +"T3W1_de_test_pin.py::test_wipe_code_same_as_pin": "b45d739c63541940b1cab4caaa1e1c4ad1bb232280d164c9441e336af858ae0d", +"T3W1_de_test_pin.py::test_wipe_code_setup": "9f3b07db2cdcdeaed6eea0373abd998ba878c8bbdd5e5914edb0679a79a7834e", +"T3W1_de_test_recovery.py::test_recovery_bip39": "c7d86cf5cf7f0f463fce45b94ab95ea6d59ac9c0ee6a46821ec1ecb7d6e0fd1a", +"T3W1_de_test_recovery.py::test_recovery_bip39_previous_word": "87af451ed8c2847e47ddf18f12676ecc2b698ed893633cbaf1b61d032e364798", +"T3W1_de_test_recovery.py::test_recovery_cancel_issue4613": "7f4ff64b0ca1bbf7cd1968930fcc2ef99058a2920fbc4cb51e2285a514c1406f", +"T3W1_de_test_recovery.py::test_recovery_cancel_number_of_words": "694406aa2fbb751a6e5f187dd73153f92dc8beb6c3ce9710076a7f96a5129f75", +"T3W1_de_test_recovery.py::test_recovery_slip39_basic": "ab25911bf3bd603e405b0eabd21c8c5fdd7feb36e1818520c61b202ac1f42f50", +"T3W1_de_test_repeated_backup.py::test_repeated_backup": "47ff08d7964787964c7797c023f3f1000add060337af4ca8260dcbc0911a04f5", +"T3W1_de_test_reset_bip39.py::test_reset_bip39": "a903aeb6349b040609a54a9503671a609be66f0b25c47b73f93ecac731a94e44", +"T3W1_de_test_reset_slip39_advanced.py::test_reset_slip39_advanced[16of16]": "01bcbebc170dc85bfe6ce0616ab4fa495c4596a0f206b19b92afc030810a8507", +"T3W1_de_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "6c7cc2bf5f719c5a9b035f73bcfe419baafe4a6f7c02be045035c093484699a5", +"T3W1_de_test_reset_slip39_basic.py::test_reset_slip39_basic[16of16]": "1531520ef97a00183a3ec748b06c3d26ddb9f27ff0e5a10e1a9d1befa96acd9e", +"T3W1_de_test_reset_slip39_basic.py::test_reset_slip39_basic[1of1]": "713d980075378712e5d7058a96a19a35fb850ff04053faf509678b25fa904e3e", +"T3W1_en_test_autolock.py::test_autolock_does_not_interrupt_signing": "cf3df77ba00f0f55fcad9a45880239a11e1c41e2a02c0a63d985c07188a464fc", +"T3W1_en_test_autolock.py::test_autolock_interrupts_passphrase": "93a2eec79cd8a49365c9826b960592d820de74abe3718c18a22e6bba7e7bc5bf", +"T3W1_en_test_autolock.py::test_autolock_interrupts_signing": "33c110cbe28f0ffbec2d348e22d0feaf5fba3eeeea8b1c74a75144ea28e921b1", +"T3W1_en_test_autolock.py::test_autolock_passphrase_keyboard": "55df2efa2134162f734f4af80c344b83ac14ef396563cf1ff97a7ae0a86073a1", +"T3W1_en_test_autolock.py::test_dryrun_enter_word_slowly": "0637285e5182c89caab54520930b330234918ff21e3faa8d1b101ca8df0bf4f3", +"T3W1_en_test_autolock.py::test_dryrun_locks_at_number_of_words": "91cc55eaa0679b6018f260deb4ada1cdfeabb28ba9dc5e7a163eeb53a4b61b46", +"T3W1_en_test_autolock.py::test_dryrun_locks_at_word_entry": "ee0f5eba4d09ea20813cf78f35bd3efbf28fd1b95812f7fbe88962590af5c608", +"T3W1_en_test_backup_slip39_custom.py::test_backup_slip39_custom[1of1]": "22d8dee95151435a00e112a4487d4db02e761988e949629f7e5e3f599cbe905b", +"T3W1_en_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "cccd02a48be12f6c755f87d6d60a9b5ba259cc499495ec347359028dc81b9fdb", +"T3W1_en_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "977eaa4180aaadb483e732e24302d449f05d1e2bb77dce05614a8c474d5aa2c8", +"T3W1_en_test_lock.py::test_hold_to_lock": "67b2e27ae79904f0ef43c2c66a559ef458af9f94beff76054fba221b690a0bde", +"T3W1_en_test_passphrase_bde.py::test_cycle_through_last_character": "bc0151e0092e0be709290502671fece3d541e4b3aabf8ca9917cb76029ec5b42", +"T3W1_en_test_passphrase_bde.py::test_passphrase_click_same_button_many_times": "ac6b5adc4080ca4227d357546ece712aaf961a700cbd8813139819fb4d24b683", +"T3W1_en_test_passphrase_bde.py::test_passphrase_delete": "475e0f3dae8592977ca1940f923fcec081e17bc64b04cea6cc3daa10dc6ac3a6", +"T3W1_en_test_passphrase_bde.py::test_passphrase_delete_all": "34327e82ad49e97ef9b2589505e8731fb2f2cca65629b30fcebfd5fe9e31679d", +"T3W1_en_test_passphrase_bde.py::test_passphrase_dollar_sign_deletion": "aa25c4babe2d6e30d84fc433f49f1f473630711adf216c9c84ff3e8ad83de3e8", +"T3W1_en_test_passphrase_bde.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxUdDSZ-aaae4aa2": "ae8b93fc541067a6e625f873a8b26827e59247edccd180dac9841c86cbfd3b8b", +"T3W1_en_test_passphrase_bde.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "212d673dd42d6cb53105c92a9adbc6107f33ca1e3f39636fd94929749fb23046", +"T3W1_en_test_passphrase_bde.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "2346d4b848c36f835cdff14dfb7ac8044dc19e5459aacea21cc8195fec0201fa", +"T3W1_en_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-66a83b65": "c2695cb65340ce488047b432da3d64b26049551a8a9ae8091b9d08702d127364", +"T3W1_en_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-7159c03e": "af523c1bad532f9466e5f7577842e6174891475c57f21a0ed793b01accf9e115", +"T3W1_en_test_passphrase_bde.py::test_passphrase_input_over_50_chars": "c2695cb65340ce488047b432da3d64b26049551a8a9ae8091b9d08702d127364", +"T3W1_en_test_passphrase_bde.py::test_passphrase_long_spaces_deletion": "a352a6faa11ebe2f2372b0248fec0e08287740e65078982c4871e81cfe329762", +"T3W1_en_test_passphrase_bde.py::test_passphrase_loop_all_characters": "60adea815dc3a03861061575f424b8fa504c76c3dcdfe62a4d4e5f4ff89e116d", +"T3W1_en_test_passphrase_bde.py::test_passphrase_prompt_disappears": "2d686d7d96bf5a9d44b89929e7f353c1591be834c6588659f3ea5c356be68dfb", +"T3W1_en_test_pin.py::test_last_digit_timeout": "76870a8fb30f5319f3bd2d5969bd1ad853aca7bb10529ce31910cdd489d7e92d", +"T3W1_en_test_pin.py::test_pin_cancel": "8fcf0d406003aba5c3ffbc27c9e8943524a6684ced183bd4be4b717f1b246f1e", +"T3W1_en_test_pin.py::test_pin_change": "4612f19e5c1cb12725a8d5a9b46e5adebff310dda3b249f99b4dcd7877b61712", +"T3W1_en_test_pin.py::test_pin_delete_hold": "ad412bc4c323329b538a078dff8b2fbe2c77c38af66dc0992e3d60dd5d274055", +"T3W1_en_test_pin.py::test_pin_empty_cannot_send": "d26f686a73dc15aa55e379ec07ab97184f45d7d2cdca4661df0a3e809ff68d57", +"T3W1_en_test_pin.py::test_pin_incorrect": "d325f506dc48647a12ffb7fdb2f50b402ad229a0b2bb5c353e1b8b7458ebfd60", +"T3W1_en_test_pin.py::test_pin_long": "a3031c55fcee337b7b1731b257338aa1bebe51b11b9d7c1467f54428512cf33f", +"T3W1_en_test_pin.py::test_pin_long_delete": "38a65c749bfe17806075c88c00b01f2bd2e2406ae06fed3a6cdfba1457e4b557", +"T3W1_en_test_pin.py::test_pin_longer_than_max": "d612ec75f42ec6cf1dfb628c032bec28afa2302ebe6b750c1eee2eabe3a331fc", +"T3W1_en_test_pin.py::test_pin_same_as_wipe_code": "470abf58b583f3c0b77b72b739b89e8ef2f4525958be90006c8b153e0550b12d", +"T3W1_en_test_pin.py::test_pin_setup": "ff1acca5708de6a8cdd200fd9d9ae50f8436fc338b7b92e9d1ccca583dd23f15", +"T3W1_en_test_pin.py::test_pin_setup_mismatch": "9f6bfd8c5139b0d7b8fb777be46def403ed0b93275375b0d05a998f5dad0281f", +"T3W1_en_test_pin.py::test_pin_short": "d26f686a73dc15aa55e379ec07ab97184f45d7d2cdca4661df0a3e809ff68d57", +"T3W1_en_test_pin.py::test_wipe_code_same_as_pin": "177bc2c91ed760431fae96d8dd9253aca688b8136d88a29617be8ad3ea7aa0ac", +"T3W1_en_test_pin.py::test_wipe_code_setup": "bd2a1c7da565e778d57ed266a7d96c262a4f04b7e833cf49e3717459785771f3", +"T3W1_en_test_recovery.py::test_recovery_bip39": "5d43bd8e86f9872ed3627cc9a982b37501fe86feeefd9484d7cf3f2f17113f08", +"T3W1_en_test_recovery.py::test_recovery_bip39_previous_word": "5113c6ddd7932f9cfcce09e2d974be8d23286ffb4758213846ead8c017eb08cb", +"T3W1_en_test_recovery.py::test_recovery_cancel_issue4613": "0917c9ea5061ed2a6a022dbb0852ee5fa2c78c7f322f1f97a5fdde0ea0fe601a", +"T3W1_en_test_recovery.py::test_recovery_cancel_number_of_words": "989fef5686cf97c8f31e7cd81a1230bb49014b55baf2b139f2e60395d77808e2", +"T3W1_en_test_recovery.py::test_recovery_slip39_basic": "3ee82728fecc79201c060dc708f9e36100727b94aa721a831921ef463b75153f", +"T3W1_en_test_repeated_backup.py::test_repeated_backup": "c18993a6fee93b4071d3ba6dd591be7bd65384b574041432f306956b9f0d1d11", +"T3W1_en_test_reset_bip39.py::test_reset_bip39": "c1c9a9e1c9db50a8a0e9c611d2da6021d5258314460dc74e0dffffb5a1a9638c", +"T3W1_en_test_reset_slip39_advanced.py::test_reset_slip39_advanced[16of16]": "676d1206f131495f0bf70312819333dbaef467c03a56304b0d1047b5ad6c5e3c", +"T3W1_en_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "a6bb918f4d8e37f39b37a071fc595b4d7d92babf518912b78e9dbdb0d337e049", +"T3W1_en_test_reset_slip39_basic.py::test_reset_slip39_basic[16of16]": "b1985ad2c981200a7ae15c74ed8a15d8f85e8d70ab1a14dac383e80e350b3f7a", +"T3W1_en_test_reset_slip39_basic.py::test_reset_slip39_basic[1of1]": "8fe69b6c50c26a30ca3f106ed0d9ae5addd5a07277425610f6fcb6cf9fe793f1", +"T3W1_es_test_autolock.py::test_autolock_does_not_interrupt_signing": "cbf0ac96d48856c391b4a1fccf344f5e85cb8a97a99ba44a3841cbc158f3f8ac", +"T3W1_es_test_autolock.py::test_autolock_interrupts_passphrase": "5f7a87d5a8fc77d6c30a9465bbd4d2aa174245650401c1e1c8e10ba77df2a5aa", +"T3W1_es_test_autolock.py::test_autolock_interrupts_signing": "e6c712408c22dc5583e3d117a2bf88c32799d65af2bb3b0972fdfef3faa050e7", +"T3W1_es_test_autolock.py::test_autolock_passphrase_keyboard": "0878be5fb7247bcdde298e072133bddb81e2922f36aa456bad274148972cfa49", +"T3W1_es_test_autolock.py::test_dryrun_enter_word_slowly": "871febbc2cbfbae9414f6e3039d120c554df16d09706bdfe15022219a6cc18f5", +"T3W1_es_test_autolock.py::test_dryrun_locks_at_number_of_words": "b5f2fe7b5e9c17b8e844bfbfaf58c9f2765e9332815b40add47d3a12fee926ab", +"T3W1_es_test_autolock.py::test_dryrun_locks_at_word_entry": "77776dc69072e69ab7c38662a09b29a2ffdbe1ae425b8ba68c118087326cfdfa", +"T3W1_es_test_backup_slip39_custom.py::test_backup_slip39_custom[1of1]": "de3f2c76e615b5b3dc6f88afbbf9c2a9184eb25ea9f7846274363b2cc110ed63", +"T3W1_es_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "a76cbb7456c2303a92d505987736d36a08034323ef6b6c6b90216f6dd190a698", +"T3W1_es_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "dad4aea064d72f50a1ffe09f9e11b27bec96361ae47bd8ba26fdb4a021541215", +"T3W1_es_test_lock.py::test_hold_to_lock": "eab15a83713e3a72020c456607491fa84ec7f1bee37dc27468ec2af082fd1a74", +"T3W1_es_test_passphrase_bde.py::test_cycle_through_last_character": "2c89b34f773f625f6ff1215fad7dce973e09c8c930427ea033fc0545685e1c97", +"T3W1_es_test_passphrase_bde.py::test_passphrase_click_same_button_many_times": "73e007bb100e72f466a14d687d81db1548f484a1581b8555794ce33fda4a24f7", +"T3W1_es_test_passphrase_bde.py::test_passphrase_delete": "656ca1ddf02093cc5bb8fc10fb2aa02559a66f0cf0101c936c372b7f54ba368e", +"T3W1_es_test_passphrase_bde.py::test_passphrase_delete_all": "606013d78e5cfcf63e6597118d7fc0939b7bf5549da2700e9e705fb6902e4ef5", +"T3W1_es_test_passphrase_bde.py::test_passphrase_dollar_sign_deletion": "726a2ed45aa84d6359aaf3b906da758e637fa2d6212cb3685b21785419e2d19e", +"T3W1_es_test_passphrase_bde.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxUdDSZ-aaae4aa2": "f2d14ef299af70b2c2e2808f9ed47a077dd953e1b9086d83ff33dd1177d76bbe", +"T3W1_es_test_passphrase_bde.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "04b42e0fea5356fbd870c3bd1e4786daccb1354f33f18c30bb7e8172e476ecec", +"T3W1_es_test_passphrase_bde.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "32d67d5437429adec9ed6823cbef21e99f4d14885bb7e81d419d1926d5373812", +"T3W1_es_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-66a83b65": "e77d5727db6118e356214ef31eb1ff3330744892aef51fa35d23ab98b8175232", +"T3W1_es_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-7159c03e": "7e35ee48d179bd1dc1be9b20902856f45a25f271aab3dcae3144d3dfb45865fe", +"T3W1_es_test_passphrase_bde.py::test_passphrase_input_over_50_chars": "e77d5727db6118e356214ef31eb1ff3330744892aef51fa35d23ab98b8175232", +"T3W1_es_test_passphrase_bde.py::test_passphrase_long_spaces_deletion": "d03db17302793184d6cc6a5e0efcc4f873289b063be5c4126a3472e9e2600ccd", +"T3W1_es_test_passphrase_bde.py::test_passphrase_loop_all_characters": "30eebf252001804a33c0a63dd806baabb476c0e22fefeb74f3a1923452df3964", +"T3W1_es_test_passphrase_bde.py::test_passphrase_prompt_disappears": "26691caf566d8ae7611dd9f7cb287d286d07b77ada76df565165733533fb3598", +"T3W1_es_test_pin.py::test_last_digit_timeout": "3c1c53479e1011952996c40fbd702262d5ccc0c5d72afe3079a6aec1e77b49b0", +"T3W1_es_test_pin.py::test_pin_cancel": "439c249fc675b53015cebabc42293bd157337988cf88c038730b94f841fb2d58", +"T3W1_es_test_pin.py::test_pin_change": "4c3e96bdcb2660654a8d28b0f94fc3327b3b095ee2a7cf881479980338cfb2d7", +"T3W1_es_test_pin.py::test_pin_delete_hold": "2b7ff21caa75f9b8e84df922f082fe4b282a672742c8a54abef3c508a69e84e3", +"T3W1_es_test_pin.py::test_pin_empty_cannot_send": "ed9a7b8168fc51fb46d8a5bad3cb631ed8877ceab7098128be831041ba35148f", +"T3W1_es_test_pin.py::test_pin_incorrect": "b2229b8dd8353a1e232c2879a48b4fbb938d3be53bf11512be4819419a6dc26c", +"T3W1_es_test_pin.py::test_pin_long": "66bbba5d53b01233817a365ffbdb72d2ee293a04bcae47e730821d1cf0f6ffd8", +"T3W1_es_test_pin.py::test_pin_long_delete": "49234d5165e4e1f12ae8583237ee2ce3d046788ff30e259090811ed5b01212d6", +"T3W1_es_test_pin.py::test_pin_longer_than_max": "5142241360ee6e7e677eda132962ad8b148db42f210200d7ce7b59139194ec37", +"T3W1_es_test_pin.py::test_pin_same_as_wipe_code": "30e33cdead01a1c3d6f3913b14ec82232571e470066c8f0f580be0e2246095a4", +"T3W1_es_test_pin.py::test_pin_setup": "b3fcfe3b05e171a9dcb07a5e324ee44735668b02f6ff6c8ef381da0885e0f484", +"T3W1_es_test_pin.py::test_pin_setup_mismatch": "4d790510b9a618cb63d66ab0a1424d406cd89c78f360e8933e81289acbd29a59", +"T3W1_es_test_pin.py::test_pin_short": "ed9a7b8168fc51fb46d8a5bad3cb631ed8877ceab7098128be831041ba35148f", +"T3W1_es_test_pin.py::test_wipe_code_same_as_pin": "1caed36dd2e810b4ed35567bd6f5a261f7e9a314fc87c5775974c1c887e06748", +"T3W1_es_test_pin.py::test_wipe_code_setup": "5e27aa2a75b393b05eac21595d3e971b7fd2757cea67045651569e8604ee3938", +"T3W1_es_test_recovery.py::test_recovery_bip39": "6b617eef90fabe538a94ca1756dc2ef146eb0cbb9512e6ce90a14dd0c5b7581e", +"T3W1_es_test_recovery.py::test_recovery_bip39_previous_word": "ae9cd2a4bb6d3217eb02601f48292658d932036ee6e6655f051838ad5888ac6f", +"T3W1_es_test_recovery.py::test_recovery_cancel_issue4613": "6246ba1a5231e250fc3d6ee162455f4d272b5922266d58b3682d9e1b24445ede", +"T3W1_es_test_recovery.py::test_recovery_cancel_number_of_words": "e193546c10f08fb5e383191edba93a3d79aa1e346aaf6b870292845a33c8c2a0", +"T3W1_es_test_recovery.py::test_recovery_slip39_basic": "b2c2b2310b2b8a3787f578ffbdab911249468dbe73ccc540ad17e6ee472ce693", +"T3W1_es_test_repeated_backup.py::test_repeated_backup": "225000fb4c1794ae3a6d668c7bce71033a039b523b3bc24193b90bfb5617049e", +"T3W1_es_test_reset_bip39.py::test_reset_bip39": "5ac6efa0175eee6aa53b731e8b1fb362e908895d34fb246dedfc547c047315a2", +"T3W1_es_test_reset_slip39_advanced.py::test_reset_slip39_advanced[16of16]": "046821620e0bdb979e4719095c3c097d91a88d647af40328c425f50f5ed472a9", +"T3W1_es_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "afdeeee2416e75a38d41475129014f8376389f38f9ec3cd6e4d175a3ad943793", +"T3W1_es_test_reset_slip39_basic.py::test_reset_slip39_basic[16of16]": "72f4550259cee46b24db9a4e1d775911545a979b66f9d61a5c63b706fd75abdf", +"T3W1_es_test_reset_slip39_basic.py::test_reset_slip39_basic[1of1]": "d5f4eda7392dadef395b4de50e3acb629468dcb786a42222d227d6ffcc08ebc8", +"T3W1_fr_test_autolock.py::test_autolock_does_not_interrupt_signing": "bf16cb5ba5e340565dac8511234ed62b38f9d19108843ba4edf0ca7a3e1ceda4", +"T3W1_fr_test_autolock.py::test_autolock_interrupts_passphrase": "10618fb98018a5af3b7b1c60a8244ba8964aedbd7110306f7114c99950662542", +"T3W1_fr_test_autolock.py::test_autolock_interrupts_signing": "23acc30c93cc83ba4ea62365c98dd38679bb6eeb9ad61fac1bb2faa55b5b9b00", +"T3W1_fr_test_autolock.py::test_autolock_passphrase_keyboard": "54efb1dde6061147621e30b9319dfab02d2d0acd2de81bb5b4fdfa6f4124b3bb", +"T3W1_fr_test_autolock.py::test_dryrun_enter_word_slowly": "656fd6fbc23cadb34893e684ca04bb61e07a45911ee8b020bedd7e8b09bb72f6", +"T3W1_fr_test_autolock.py::test_dryrun_locks_at_number_of_words": "e46f488ab8102f76ed6b077b0dafd07203ee5ea041a8b93182089921f9062c60", +"T3W1_fr_test_autolock.py::test_dryrun_locks_at_word_entry": "f4631d6b97a85d31eaa8b69ccdc65eae80d75e093251aad7b1808d2bc710db7d", +"T3W1_fr_test_backup_slip39_custom.py::test_backup_slip39_custom[1of1]": "f1eba8a6d86879bfa25a18f0cb8fbce6a00a6333e9b9b69626a0e84640433c97", +"T3W1_fr_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "bebbbfa7ec7fa809b02c7ac9e37b39609ab1512b2ebbc51b1c13a2adcb1a95c0", +"T3W1_fr_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "01536b58d57865b93cf3572c008a9c5722b80f4a32dc6e560bdf23571642194f", +"T3W1_fr_test_lock.py::test_hold_to_lock": "ae43905a223b3188d1cada868a3e34dcb312d689cf4659eec2249009fe8fa7b3", +"T3W1_fr_test_passphrase_bde.py::test_cycle_through_last_character": "29a3179afd66aecae250c3037c91b8a7ec98459d1dc3d39fbc80fb31729a03dc", +"T3W1_fr_test_passphrase_bde.py::test_passphrase_click_same_button_many_times": "a8eb9d0abeb68349c6da97c5d11f88b560136c320129e06d5b1bca28dee0e53a", +"T3W1_fr_test_passphrase_bde.py::test_passphrase_delete": "b80dc820f8595bfef5df8e151e4594b5136028c4694a197d322fcd0a70c5220a", +"T3W1_fr_test_passphrase_bde.py::test_passphrase_delete_all": "6a1c37bf68746e2ef9455646b8e94414b2be1869bc52b5f25384d58c2ee2d587", +"T3W1_fr_test_passphrase_bde.py::test_passphrase_dollar_sign_deletion": "4d7b863b40c5e9adab02ba4c8905739a455bc03f7cad6ba62239b7f90c5f0e16", +"T3W1_fr_test_passphrase_bde.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxUdDSZ-aaae4aa2": "99f1b87e604c7f178e75322a944503f0b567c35954fe89089902235794dd883e", +"T3W1_fr_test_passphrase_bde.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "efa8f40ecb957029595cad2db0f05b2e5528a7e336bdd600d4585cf5f7cd61ed", +"T3W1_fr_test_passphrase_bde.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "d2315709a12e0083195f64e0d89492133e55da7461e07c7ebc7b0260a47b7a26", +"T3W1_fr_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-66a83b65": "faaaf7ac420ff55553783eebb8e6d3c4a4192032f619043f28a5a36d051b9f75", +"T3W1_fr_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-7159c03e": "29478fe2fde4c920f9f836b1abf79350c097f84a3350a76cc26089d9cd3b4441", +"T3W1_fr_test_passphrase_bde.py::test_passphrase_input_over_50_chars": "faaaf7ac420ff55553783eebb8e6d3c4a4192032f619043f28a5a36d051b9f75", +"T3W1_fr_test_passphrase_bde.py::test_passphrase_long_spaces_deletion": "8e0c9928ee91086bbec273605588647a5cb4cee56fd9ab2b5fa66bdb58991d23", +"T3W1_fr_test_passphrase_bde.py::test_passphrase_loop_all_characters": "293f5cf279b86264e1d7adbefd3fc2fd33d245dcfe78503f80ae4dff1ca67609", +"T3W1_fr_test_passphrase_bde.py::test_passphrase_prompt_disappears": "bf79e014f264aad16772dfffc8d2e20ed5cdbc3f354dda3e3acbd2a624e64de1", +"T3W1_fr_test_pin.py::test_last_digit_timeout": "f8eb5c24dcf6099692498f1138d77af2c67e1004b6bc7b6c0fa9e4af6fac194d", +"T3W1_fr_test_pin.py::test_pin_cancel": "a64c66e7dfd3a2a13d26da6374ecf4a96a8c68689de8bc74ff0b11738add8a5c", +"T3W1_fr_test_pin.py::test_pin_change": "8f7b6706fa712925e55dba8fce85b9582f58aa031a80088e4bb5b8f5bdad9bee", +"T3W1_fr_test_pin.py::test_pin_delete_hold": "265091246f7e9cf497fdba3af92a4e51b9c60d19cca9817a12c2b8f75500c7b6", +"T3W1_fr_test_pin.py::test_pin_empty_cannot_send": "bf54dd4809e10bb7dc94fefca71ee6a4ed6c8e2b0f0e2c01e12443c119619b92", +"T3W1_fr_test_pin.py::test_pin_incorrect": "2e23a67c585c9514b95d55ad22e8590e30f06d87a64685a224c97eb768f45926", +"T3W1_fr_test_pin.py::test_pin_long": "2bc510ba0d31556228a9157520a85a2a83985c34c49101bdd47211ba22518497", +"T3W1_fr_test_pin.py::test_pin_long_delete": "9d1adf2ba77eeaf731e30058313f68c15cbfd80d5e73eccc82d6364bbdab7ebd", +"T3W1_fr_test_pin.py::test_pin_longer_than_max": "eb81725ef9e2683858478033e423eaca62d297759c1468b6109faa7935de5de5", +"T3W1_fr_test_pin.py::test_pin_same_as_wipe_code": "8ba673555762c395fb368eeac78849d9e7500b67151630fed107f64f03c63f95", +"T3W1_fr_test_pin.py::test_pin_setup": "f125895da23cde340a6960564f2b3b843aa8e66ba37f99d9155ac95d092f17e5", +"T3W1_fr_test_pin.py::test_pin_setup_mismatch": "257ebd251166613ba22fd06720d80c0b31dde07258dc32003f9af2eca661d597", +"T3W1_fr_test_pin.py::test_pin_short": "bf54dd4809e10bb7dc94fefca71ee6a4ed6c8e2b0f0e2c01e12443c119619b92", +"T3W1_fr_test_pin.py::test_wipe_code_same_as_pin": "0cfe1ee580428211e796a51462fbb45edea8be10a8692327b99f2dc54dab62c8", +"T3W1_fr_test_pin.py::test_wipe_code_setup": "07340ce2621f6108200bb1cb32be5107da6a15b6c62bd0f30250938dd033fce9", +"T3W1_fr_test_recovery.py::test_recovery_bip39": "3d64d60cebd0fd91d5c2132c44a3f416cba6b7d101d496a63908980cb2839afd", +"T3W1_fr_test_recovery.py::test_recovery_bip39_previous_word": "c536dfe34d5b07e2a10a12c8d675be2322ab2780e796a8e1aca1894294a6619c", +"T3W1_fr_test_recovery.py::test_recovery_cancel_issue4613": "48fe12e13099aeb77b553f963f1fdd1917a8269ed7b24c33b708581431fc15f2", +"T3W1_fr_test_recovery.py::test_recovery_cancel_number_of_words": "1568fc7b31e0ef27e77a9651c45e6cc8ab2f8837b186ae8166cf72458ddea340", +"T3W1_fr_test_recovery.py::test_recovery_slip39_basic": "11392762070fb3d5c841a41ec263cdcb9bd17f360a513ea7f261ca29e5d11885", +"T3W1_fr_test_repeated_backup.py::test_repeated_backup": "1c230de495193207003324b0d505605f225dee4c62cf01667adc3f2eb61c7db4", +"T3W1_fr_test_reset_bip39.py::test_reset_bip39": "5ae0af8f7fc0513331b08261ab0a5f71918d92512bf841c5c81ac579bd0e5189", +"T3W1_fr_test_reset_slip39_advanced.py::test_reset_slip39_advanced[16of16]": "5cfe2469a276aabaf34f2ec2d8c3885e6da35c5c8a03e29a7a3d17dd1c989935", +"T3W1_fr_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "87273fe468d3b1dacf8dd922221b64436663178ffb7fee4ae4ca994c45b01810", +"T3W1_fr_test_reset_slip39_basic.py::test_reset_slip39_basic[16of16]": "71258a77654319755634953153eff69641c1e3feead4d6e06c8c5a0a5aeafd04", +"T3W1_fr_test_reset_slip39_basic.py::test_reset_slip39_basic[1of1]": "dc55138e9e9285057e8ccc8b72a043d5358eeab20fa2f721f0333b1f0a99aea1", +"T3W1_pt_test_autolock.py::test_autolock_does_not_interrupt_signing": "580f5aea358da64a5c299b2d54f27271ce8f248f8347efb9784b73e24947a442", +"T3W1_pt_test_autolock.py::test_autolock_interrupts_passphrase": "c3cf71d10552a7d4189a1c71962376cddd2ce2e38caa3bc1621cef7dba897f37", +"T3W1_pt_test_autolock.py::test_autolock_interrupts_signing": "d55cad66f1da5cdbac5e825aeb9fddfce8205c722230ef069638633adc05ed2f", +"T3W1_pt_test_autolock.py::test_autolock_passphrase_keyboard": "29be917bd4132adc3878b018ac4ba25b6a05eaa04b36e045b9c6c12718245aa8", +"T3W1_pt_test_autolock.py::test_dryrun_enter_word_slowly": "4ab63b65b9d745c4b87516086e17d7a2294fea5a76b21a1a0075574400802964", +"T3W1_pt_test_autolock.py::test_dryrun_locks_at_number_of_words": "988b9f4299a3e44d80f14a6969a1c30dc12c25d08f42ce2b4aaf250eb73dd012", +"T3W1_pt_test_autolock.py::test_dryrun_locks_at_word_entry": "57c4abce893d4f521adab094e0c7aeb7d316b86bb2c417368e52e0a626c14c72", +"T3W1_pt_test_backup_slip39_custom.py::test_backup_slip39_custom[1of1]": "0569801f0adc168969e650a6685c78d3758eaff8678ef110c3aec7ca14f5f0ab", +"T3W1_pt_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "07ba18e9a89a011cd62075c22168ceb9b2a1cb9a57c644860ed3d5265e84e3ad", +"T3W1_pt_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "1a0b6320739a32f0dd9f798e21fa53dc16d605464f654cf56f7cbd03f3d10263", +"T3W1_pt_test_lock.py::test_hold_to_lock": "6f9c781c5743183db7ff23e2691813ae2a7e2b8b219d769486f50b79e14ceb66", +"T3W1_pt_test_passphrase_bde.py::test_cycle_through_last_character": "433880187c9be871e7f34a55b6935c5bfaff5a12b8e5746fabb63e3ed882de8c", +"T3W1_pt_test_passphrase_bde.py::test_passphrase_click_same_button_many_times": "12634c49581d93a311a2d7f319ff1e7adb3a2174b031b1d28546dddc0c8eb5bf", +"T3W1_pt_test_passphrase_bde.py::test_passphrase_delete": "2da01ae5826dd180dfe3deeb7e07d27c3fd9dad4aa6f5bb7ebbd742b60438ac6", +"T3W1_pt_test_passphrase_bde.py::test_passphrase_delete_all": "d8f6977239cde40ac1b7d4d82086895b122751ec2524eb770eed01c1998ab99b", +"T3W1_pt_test_passphrase_bde.py::test_passphrase_dollar_sign_deletion": "58c2aeee5aeddfab052c4500f44b65bbf21704819e358def629eb1674a460b79", +"T3W1_pt_test_passphrase_bde.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxUdDSZ-aaae4aa2": "afc90240659450db899245e03fb41c540517b7ce4551c74ab63af300633d62a8", +"T3W1_pt_test_passphrase_bde.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "0ce162639eb5fc69a940ca67befe5c0d4977602a139c1cce29b0d7f074cb233d", +"T3W1_pt_test_passphrase_bde.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "b7cf7cc1879572d7f7364880183ff01d3c92dbcda1701a00bea5a24eb2105d4d", +"T3W1_pt_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-66a83b65": "789ff9da8ad34fe3410d3b023e6388f9e076c72fb62cd2530f57f0a61fa4ca38", +"T3W1_pt_test_passphrase_bde.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadadad-7159c03e": "2a492ca36aa01fcfba115279e0c37ef08e1284dba963744e010555e6a68cfa84", +"T3W1_pt_test_passphrase_bde.py::test_passphrase_input_over_50_chars": "789ff9da8ad34fe3410d3b023e6388f9e076c72fb62cd2530f57f0a61fa4ca38", +"T3W1_pt_test_passphrase_bde.py::test_passphrase_long_spaces_deletion": "86ac2a523f27cf6cc393c5fff19d8699ad133f47c42f97b598afb4d3345f8216", +"T3W1_pt_test_passphrase_bde.py::test_passphrase_loop_all_characters": "7d132d5299aabc30f23d440113e156aad5b3bc590f87bd3f5958c791cb220c6e", +"T3W1_pt_test_passphrase_bde.py::test_passphrase_prompt_disappears": "6382156ed2a655cbacd70227b8bdff2d46b402bd972fa0435ce089ce763cc108", +"T3W1_pt_test_pin.py::test_last_digit_timeout": "51a7b323dc04e64413ca47269b2a8eec0cc15dfed493ac4035aa34e8cf51dcdf", +"T3W1_pt_test_pin.py::test_pin_cancel": "b841b8a5d0ef1e7697ad295588b62abcee67c90e61e473fde48fd4bd225a4823", +"T3W1_pt_test_pin.py::test_pin_change": "bb2e7e28b701b3c3a4f09e2637d8c46fac91c71495438542dfec89fc208867be", +"T3W1_pt_test_pin.py::test_pin_delete_hold": "da5ac06fdbd2ba1199b8fc9f408c6f3145dd25f472fc98146ea245bcadd8d540", +"T3W1_pt_test_pin.py::test_pin_empty_cannot_send": "01c8622462ce7f1303d8b0a384490b76f9ade72b74a390c8683cbd94dcc07645", +"T3W1_pt_test_pin.py::test_pin_incorrect": "3f82d717936d085f23f445d2985999a4dde17a37707670e28c0c8b8e7f669322", +"T3W1_pt_test_pin.py::test_pin_long": "694b54bc9cef4b6b1b5fce025c94b8fd0698bb228cda8c82863ece15a0e52021", +"T3W1_pt_test_pin.py::test_pin_long_delete": "be4330a761395a47a6d4cef498f0e4df40ba747232c214669c828cf1a0dcc320", +"T3W1_pt_test_pin.py::test_pin_longer_than_max": "66d807bbd3f4ea7210b700c8d40ab717b93b651ee936a94f33c687687cce2dc7", +"T3W1_pt_test_pin.py::test_pin_same_as_wipe_code": "4b854623cf7755ad4e6b5fd4cff463e95a5869d478ebae8ac2725a69788ceed6", +"T3W1_pt_test_pin.py::test_pin_setup": "c951e8cddd1fb36a65fced0b67d3df7a172f7bb94b7c8b7228d9ea7174d2063b", +"T3W1_pt_test_pin.py::test_pin_setup_mismatch": "34d63829075a5127e816434fd1bcc936ec483e82267efff377b118f6cd30825c", +"T3W1_pt_test_pin.py::test_pin_short": "01c8622462ce7f1303d8b0a384490b76f9ade72b74a390c8683cbd94dcc07645", +"T3W1_pt_test_pin.py::test_wipe_code_same_as_pin": "0673a0447c1c699b0aac276d4f435ca11b14177f848e684409b7b6ddc45db7cd", +"T3W1_pt_test_pin.py::test_wipe_code_setup": "73710a8554363247c59bbcb082af71de4b657baea44376b25f332f13a5a98537", +"T3W1_pt_test_recovery.py::test_recovery_bip39": "dde21765d89262acb8808b8f6b096e5ee0c795fbe7a399a578e26eac87aaa68d", +"T3W1_pt_test_recovery.py::test_recovery_bip39_previous_word": "5a97dc46306863a0f84ef5033ac5d53822c405ba6aa040c9be905ffb56f3a00a", +"T3W1_pt_test_recovery.py::test_recovery_cancel_issue4613": "e7c26cbb045080d84e94c3c7dbd5b6a4d0fd599ca020dec8c3dea0b0a5dba13d", +"T3W1_pt_test_recovery.py::test_recovery_cancel_number_of_words": "851e7f994e4de10250d5ab3fc179500f5db7b53661a20e52bf9f85bb3879f47a", +"T3W1_pt_test_recovery.py::test_recovery_slip39_basic": "9363dc3edcf9ced580e8c05ac7885b26c2b5d23ad4a1f06435574bf376e5bf19", +"T3W1_pt_test_repeated_backup.py::test_repeated_backup": "daf915a7d5dda3f5ff36ea6b8adaa649eb1a0bf67efc237ccc9cfd21d0f8829b", +"T3W1_pt_test_reset_bip39.py::test_reset_bip39": "58f8a0f8cb9fd8ee2c0ed6a6ed8538d1b7c33bd9eb04a4fe6ed85adf33eedcd9", +"T3W1_pt_test_reset_slip39_advanced.py::test_reset_slip39_advanced[16of16]": "cf08ddf680fdc6e965262b4a40938787bf8441b282d7d06a88e9947cb3968835", +"T3W1_pt_test_reset_slip39_advanced.py::test_reset_slip39_advanced[2of2]": "28628e234912dad691fb9791b76e6fd88724fea112d76794ff364a7d935a073d", +"T3W1_pt_test_reset_slip39_basic.py::test_reset_slip39_basic[16of16]": "fe316b1bf5875142093b7f7b9740e416b178c7469f55aca070b52f3d0381e0fb", +"T3W1_pt_test_reset_slip39_basic.py::test_reset_slip39_basic[1of1]": "4bbc5806d28d71946edefe760c2704e35f11476e4d5706340083f954d105d1c8" +}, +"device_tests": { +"T3W1_cs_binance-test_get_address.py::test_binance_get_address[m-44h-714h-0h-0-0-bnb1hgm0p7khfk85zpz-68e2cb5a": "d23ac21801caf4a437ab1433741baa2e8d01197801d4e52729772a703322f70a", +"T3W1_cs_binance-test_get_address.py::test_binance_get_address[m-44h-714h-0h-0-1-bnb1egswqkszzfc2uq7-1adfb691": "1d93b8e23b3a22155befdd79b56df5ea7cc38f81fefc231c5b7b2089a021bd6a", +"T3W1_cs_binance-test_get_address.py::test_binance_get_address_chunkify_details[m-44h-714h-0h-0-0-bn-59d4996f": "895285e3ba51a7fbf1a6ded81ff147cfb6318cf540c7a18665dbb8649972418e", +"T3W1_cs_binance-test_get_address.py::test_binance_get_address_chunkify_details[m-44h-714h-0h-0-1-bn-c9025900": "35b500867d27d0829eb963f226d5491d23d0e6013c7b9cfac1bcfc3e66321d74", +"T3W1_cs_bitcoin-test_bcash.py::test_attack_change_input": "34a5f90abac710f6e6e8a32c1264a6dd0395f6a5028af58651ab8c070023eaa4", +"T3W1_cs_bitcoin-test_bcash.py::test_send_bch_change": "34a5f90abac710f6e6e8a32c1264a6dd0395f6a5028af58651ab8c070023eaa4", +"T3W1_cs_bitcoin-test_bcash.py::test_send_bch_external_presigned": "a0203462bb98abb58435bd8aad7437f18b54fb28358f73cf5a3c6bd9a5e46df6", +"T3W1_cs_bitcoin-test_bcash.py::test_send_bch_multisig_change": "504cb8f7e36194d109d36e4377bfa46f3dfea9c0606757e974b9fa743689c54f", +"T3W1_cs_bitcoin-test_bcash.py::test_send_bch_multisig_wrongchange": "2d8cee0ad1b249f9697a89ec9d89188c33276f171b1ee5b138bb10dbbdb553c0", +"T3W1_cs_bitcoin-test_bcash.py::test_send_bch_nochange": "ffbffd3c37c25693420d3c0008ef22277834293255be14751fc9e7643e8b3d50", +"T3W1_cs_bitcoin-test_bcash.py::test_send_bch_oldaddr": "b9c00764eafede3ef75ddb82279ec84f575945eda0f81baaa5fd811f867a0b33", +"T3W1_cs_bitcoin-test_firo.py::test_spend_lelantus": "5ae0c6ccf4c70db02c5e9b88fec42d11a6251e557117a2a710c1d69c7ab2940a", +"T3W1_cs_bitcoin-test_fujicoin.py::test_send_p2tr": "8898baffff7c07171f7541413b0e91c124337a0db673d4af0c418c3e1cfe680a", +"T3W1_cs_bitcoin-test_getaddress.py::test_address_mac": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress.py::test_altcoin_address_mac": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress.py::test_bch": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress.py::test_bch_multisig": "c4a08d8cb6f9911c76cc889572b5d24db817903f6e5413256d42fa263a45b433", +"T3W1_cs_bitcoin-test_getaddress.py::test_btc": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress.py::test_crw": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress.py::test_elements": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress.py::test_grs": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress.py::test_invalid_path": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress.py::test_ltc": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress.py::test_multisig": "16614613e0409d5fdce0898ec1632810d10970892756978e23869f222afdaa91", +"T3W1_cs_bitcoin-test_getaddress.py::test_multisig_different_paths": "12dddd4c1b9b61df8cfeedd1d8875c0adebf804889b9f1b79ab9887397848a99", +"T3W1_cs_bitcoin-test_getaddress.py::test_multisig_missing[False]": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress.py::test_multisig_missing[True]": "3c22536153e4c0195cad1241855440885381d9c93678799d96e4fb7a32178204", +"T3W1_cs_bitcoin-test_getaddress.py::test_multisig_pubkeys_order": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress.py::test_public_ckd": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress.py::test_tbtc": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress.py::test_tgrs": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress.py::test_unknown_path": "ea69d61ed7dd8b332e49af131114bf8b338b5a20c246aebd97ad6b2128bb741c", +"T3W1_cs_bitcoin-test_getaddress_segwit.py::test_multisig_missing[False]": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress_segwit.py::test_multisig_missing[True]": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress_segwit.py::test_show_multisig_3": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress_segwit.py::test_show_segwit": "63945b65760380c14d4c9e43dc8ecc77dab91d43b993e6cbf4a09acb7179475c", +"T3W1_cs_bitcoin-test_getaddress_segwit.py::test_show_segwit_altcoin": "9bab1d6f946f88ebecc51618cabb3286eac5ab71adc7cc8815cb6141c5c87eb7", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_bip86[m-86h-0h-0h-0-0-bc1p5cyxnuxmeuwuvkwfem-dc12f29f": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_bip86[m-86h-0h-0h-0-1-bc1p4qhjn9zdvkux4e44uh-1f521bf2": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_bip86[m-86h-0h-0h-1-0-bc1p3qkhfews2uk44qtvau-d8b57624": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_multisig_missing[False]": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_multisig_missing[True]": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_multisig_3": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-0-0-InputScr-6bc4ffc3": "050d51966ecf8ffb89d9848c83cd5610e0a513052075d9950a5012347e02114e", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-0-0-InputScr-8943c1dc": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-1-0-InputScr-016718c1": "904c00112706ca57a07bf0960f55177c4f67670a101dd2849de4a8ecd15b19cb", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-1-0-InputScr-7656a4db": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-0-0-InputScr-3d3cc8eb": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-0-0-InputScr-8571d5e0": "f1665775b66cd39a54553b81499df6ad70371f10d742f634eb08f37c29e074e1", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-1-0-InputScr-ab700de2": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-1-0-InputScr-da3803e0": "196f41079b850a16deb090bb42dbf3a7ee107b7bd483277e0c25f3f97eb38c53", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Elements-m-84h-1h-0h-0-0-InputSc-490228be": "9e434bef472219350764e109109da85deb7bd54255ce07baaae46c53454ce198", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Elements-m-84h-1h-0h-0-0-InputSc-ed587e90": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--40b95144": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--45b4ff5d": "125656da9c89b2294a1fa9e0c2c92de8d2ee027453d51c04573cf938ada2d480", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--8f7c658b": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--93c9c3ff": "0f6d8d38c37da0ec62680d6888dd7b45989eb7e21bc84d10f15abe4b5e67b26c", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-86h-1h-0h--5feb8c64": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-86h-1h-0h--8d4476a1": "9664456de812d649a8be7f7985a43de7fa4d3412cf6957e52d772a57a6a8109f", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-0-0-Inp-0200a67b": "0f9f6e562e8429ac9dd67e1180cbc4a483a7e516c3293344a8be7dd90cb21f24", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-0-0-Inp-e6c1098a": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-1-0-Inp-9688a507": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-1-0-Inp-f825f217": "80a0a46379e7214cccde63912f901e81e358fb35670f34e1aa28459a0f3b2080", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-86h-17h-0h-0-0-Inp-38cd93cf": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-86h-17h-0h-0-0-Inp-ebecce6e": "e85944307016154bd69d2798405140aa9cfb721c6dc3f1bbc2f6e91e97b3f033", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-0-0-InputScr-313b9443": "8d1167effe8d9ed122268a7f58881e411edda326b89eea4e57d289d98d220782", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-0-0-InputScr-ce15ec92": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-1-0-InputScr-040186c0": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-1-0-InputScr-b10918be": "975487030a538cd180687f6f35d44d51577f3eacbf0bf3f3b512e09507dbc9e3", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-0-0-InputScr-55ae0ae6": "94011f26fbec176144a0bb5d3c50108ce8aeda36279896755d729523e15849ac", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-0-0-InputScr-821a199d": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-1-0-InputScr-9d2fa8bc": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-1-0-InputScr-d5b7f8fc": "390fe4726691a4a60a1a3defff51871e16233e286d08144f657e15e3141948d7", +"T3W1_cs_bitcoin-test_getaddress_show.py::test_show_cancel[m-44h-0h-12h-0-0-InputScriptType.SPENDADD-4eca71e0": "f829301002d9c0e6709f613effe27fe48f798076558e770ce66d16e2cb872dae", +"T3W1_cs_bitcoin-test_getaddress_show.py::test_show_cancel[m-49h-0h-12h-0-0-InputScriptType.SPENDP2S-4ec777e0": "9c5c1c374bbeda160bcc22cf7f7e03fa7756da6e530d8ead771439985e6cd97b", +"T3W1_cs_bitcoin-test_getaddress_show.py::test_show_cancel[m-84h-0h-12h-0-0-InputScriptType.SPENDWIT-d6991e22": "b66a26e32e7d5e2f14e28e288e6f677249e86b49993785eadfe6747c531c6d96", +"T3W1_cs_bitcoin-test_getaddress_show.py::test_show_cancel[m-86h-0h-12h-0-0-InputScriptType.SPENDTAP-4c5b2b38": "53aa00099f776b4f16b42dbcd3ec997e00038c846c42124f261fad127f2fabf3", +"T3W1_cs_bitcoin-test_getaddress_show.py::test_show_multisig_15": "d02e9c8615995ac3582624a8023f7e53950713fc878e317fa1e32432ea36f55f", +"T3W1_cs_bitcoin-test_getaddress_show.py::test_show_multisig_3": "45d2a8b1760ec26b959449731714a90270b246b553b56a5e1f48b5025a1c9a4f", +"T3W1_cs_bitcoin-test_getaddress_show.py::test_show_tt[m-44h-0h-12h-0-0-InputScriptType.SPENDADDRESS-5c88d0fd": "818aea19a393990db91ab86fb16e22dc050d87828feb349bc5c627dd69e7482d", +"T3W1_cs_bitcoin-test_getaddress_show.py::test_show_tt[m-44h-0h-12h-0-0-InputScriptType.SPENDADDRESS-87490d4e": "029feefbc7d86b04420f3f003be2997e4870f3fb50c26432b6d2dbbad9fce9a1", +"T3W1_cs_bitcoin-test_getaddress_show.py::test_show_tt[m-49h-0h-12h-0-0-InputScriptType.SPENDP2SHWIT-9bc227c1": "bd35e87ba78a2a7c3cc533c4077cdf237253104b8dc974755237772f72be01d3", +"T3W1_cs_bitcoin-test_getaddress_show.py::test_show_tt[m-49h-0h-12h-0-0-InputScriptType.SPENDP2SHWIT-aca0623f": "6f410fb9e2e5cbe3e7bc4b2c613d8bd69804bbb588d6a0f7e40295a5aad1ce35", +"T3W1_cs_bitcoin-test_getaddress_show.py::test_show_tt[m-84h-0h-12h-0-0-InputScriptType.SPENDWITNESS-747c079d": "b5cf6f8f2478e885a45e6ee1e0e6f1fbfbdbffccbbc58a4d4ac5075344af151a", +"T3W1_cs_bitcoin-test_getaddress_show.py::test_show_tt[m-84h-0h-12h-0-0-InputScriptType.SPENDWITNESS-e4302080": "d4259dac59b542971bc79d6321ecf396b4f07d73ad4b1840e5ed9c1a2263972f", +"T3W1_cs_bitcoin-test_getaddress_show.py::test_show_tt[m-86h-0h-12h-0-0-InputScriptType.SPENDTAPROOT-071a4a07": "3f5c6b06af8e86aff8a052aaec767827eb740d1eba02aa9042237e64150ad98f", +"T3W1_cs_bitcoin-test_getaddress_show.py::test_show_tt[m-86h-0h-12h-0-0-InputScriptType.SPENDTAPROOT-25ee9808": "5da7c7474687392d5a3a809d3a4d4e7d65992cf0e4e5c453611a8487070324ac", +"T3W1_cs_bitcoin-test_getaddress_show.py::test_show_unrecognized_path": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getownershipproof.py::test_attack_ownership_id": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getownershipproof.py::test_confirm_ownership_proof": "7b43b5329102d05d3b7f77149c618c70b7dabb7326a5f42349b76931c76a5bae", +"T3W1_cs_bitcoin-test_getownershipproof.py::test_confirm_ownership_proof_with_data": "e6779df2fba157ceb6cf250affe684238e37c77ebccf818bac479ed4d0a3af7e", +"T3W1_cs_bitcoin-test_getownershipproof.py::test_fake_ownership_id": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getownershipproof.py::test_p2tr_ownership_id": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getownershipproof.py::test_p2tr_ownership_proof": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getownershipproof.py::test_p2wpkh_ownership_id": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getownershipproof.py::test_p2wpkh_ownership_proof": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path0-xpub6BiVtCpG9fQPx-40a56ca3": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path1-xpub6BiVtCpG9fQQR-1abafc98": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path2-xpub6FVDRC1jiWNTu-47a67414": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path3-xpub6GhTNegKCjTqj-990e0830": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path6-xpub68Zyu13qjcQvJ-8285bd20": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path10-Ltub2dcb6Nghj3k-53e5db37": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path7-Ltub2Y8PyEMWQVgi-d0bb059c": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path8-Ltub2Y8PyEMWQVgi-98ae2c41": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path9-Ltub2dTvwC4v7GNe-8d6d95fb": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey.py::test_get_public_node[Testnet-70617039-path4-tpubDDKn3FtHc74Ca-f3b70aff": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey.py::test_get_public_node[Testnet-70617039-path5-tpubDGwNSs8z8jZU2-8b5efa13": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path0-xpub6BiVtCpG-d791cce2": "781c8d63aaf8e326b57b9177a083618319f7c45f266a15dadf55251dc7e30b1c", +"T3W1_cs_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path1-xpub6BiVtCpG-74c78643": "6d2df897e6288ab7ff246ad8b433d4495b500b60c92db51f3d69eba61e181cf2", +"T3W1_cs_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path2-xpub6FVDRC1j-3074f5a6": "91d469cdc905c8d8fd9131076cd22b758b8d36e80adfe4a426ad0ad6ff183935", +"T3W1_cs_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path3-xpub6GhTNegK-1b073ed9": "114c04dc24904af20415251e284479574331ca10ac83e9f222c16011c7bb6621", +"T3W1_cs_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path6-xpub68Zyu13q-eb190bf2": "edc2e234bb1ef37d6511388db20c786568b70d5b4f88dd2f9110cb077be19bf2", +"T3W1_cs_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path10-Ltub2dcb6N-d2ef4e5a": "81ce689b78b8b540f1189788b562075ee1fe62c27c89e7a8182bf18ea1284631", +"T3W1_cs_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path7-Ltub2Y8PyEM-b9a6bf56": "e87c1ee4b8fd145302c46527cfdef8498c8bccdf633234daf14863f9625419a4", +"T3W1_cs_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path8-Ltub2Y8PyEM-d598ed84": "2b81f1f49d4e4948aba7dc78ad32001c0f97cbe1c70b29c06bd218dd78e956b4", +"T3W1_cs_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path9-Ltub2dTvwC4-bfef8b2e": "6e3e850f7b2efa813a0ec5312c90e40295e54db7ab8846c2d796b37ecb02832d", +"T3W1_cs_bitcoin-test_getpublickey.py::test_get_public_node_show[Testnet-70617039-path4-tpubDDKn3FtH-5ca1cba5": "5dec0b750f50e5dbecdc94697847b0bedd96c46f8488e2282896eb08c52feac7", +"T3W1_cs_bitcoin-test_getpublickey.py::test_get_public_node_show[Testnet-70617039-path5-tpubDGwNSs8z-60ca5612": "f93218998e0f61ac0be6e5de6e5410dd2ae4c0101563eb4df05edd6a6438c58d", +"T3W1_cs_bitcoin-test_getpublickey.py::test_invalid_path[Bcash-path5]": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey.py::test_invalid_path[Bitcoin-path0]": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey.py::test_invalid_path[Bitcoin-path2]": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey.py::test_invalid_path[Bitcoin-path3]": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey.py::test_invalid_path[Litecoin-path4]": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey.py::test_invalid_path[Testnet-path1]": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey.py::test_script_type[InputScriptType.SPENDADDRESS-xpub6BiVtCp7ozs-9813cc48": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey.py::test_script_type[InputScriptType.SPENDP2SHWITNESS-ypub6WYmBsV-0710fbb3": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey.py::test_script_type[InputScriptType.SPENDWITNESS-zpub6qP2VY9x7Mx-84eaa56c": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey.py::test_script_type[None-xpub6BiVtCp7ozsRo7kaoYNrCNAVJwPYTQHjoXF-c37a47fd": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey.py::test_slip25_path": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey_curve.py::test_coin_and_curve": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey_curve.py::test_ed25519_public": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey_curve.py::test_publickey_curve[ed25519-path4-002e28dc0346d6d30d4e-e6c7a440": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey_curve.py::test_publickey_curve[nist256p1-path2-0324c6860c25cdf7a8-d75f4900": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey_curve.py::test_publickey_curve[nist256p1-path3-03b93f7e6c777143ad-2d6b178b": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey_curve.py::test_publickey_curve[secp256k1-path0-02f65ce170451f66f4-9c982c22": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_getpublickey_curve.py::test_publickey_curve[secp256k1-path1-0212f4629f4f224db0-0209bb73": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_grs.py::test_legacy": "32e1fc72f664954765cac69aa27b131bb17351399fe2daa98e86b1cdee6866a6", +"T3W1_cs_bitcoin-test_grs.py::test_legacy_change": "573218345206262b0070773198d35c173dd52eed0485a6d939df226e266285a5", +"T3W1_cs_bitcoin-test_grs.py::test_send_p2tr": "de9a9418c39b0bd6d1dc0bb8b1cc37c0bbcc1dbad25082650124739c395f63bf", +"T3W1_cs_bitcoin-test_grs.py::test_send_segwit_native": "4fe4f7f7d4cb4aa1d0d6189e42a60d405ca94c223c2ca981a4ce86627769dd67", +"T3W1_cs_bitcoin-test_grs.py::test_send_segwit_native_change": "b5c7a07649cb52603ca4b33bda89a48837804dcfa485f63ad947830a128be128", +"T3W1_cs_bitcoin-test_grs.py::test_send_segwit_p2sh": "1d6735fbb7386fc71a7333d98247b3db0831956b6516e3953c28b3fa803a0aca", +"T3W1_cs_bitcoin-test_grs.py::test_send_segwit_p2sh_change": "a892398aec9357bf56e99b1d9934bcb3c16e5903716f2f044ead361966045a1b", +"T3W1_cs_bitcoin-test_komodo.py::test_one_one_fee_sapling": "90adb17452e01ad800432b932257a18c2ca4da02a40d52dded99985e3576821a", +"T3W1_cs_bitcoin-test_komodo.py::test_one_one_rewards_claim": "54ddb974eb0999bcafb0bb193155641d729b0ac94c6594ab70821f9ca7efbd95", +"T3W1_cs_bitcoin-test_multisig.py::test_15_of_15": "3e5c71a446d6e1e0c5e41eb28ccddb6d00f7c708f4910d4422d02b5228277e7a", +"T3W1_cs_bitcoin-test_multisig.py::test_2_of_3[False]": "202ca4479e49d3a04cb5e87daa8fbc892aa8d9e9236a32cbcf25e12fded6b0f0", +"T3W1_cs_bitcoin-test_multisig.py::test_2_of_3[True]": "ae5c7b124b8c6753afcab046c52416e657c222a71f2b6640c13940b9bfa964cb", +"T3W1_cs_bitcoin-test_multisig.py::test_attack_change_input": "284fcd4924e439a5a4997b4de82199122bac992cc3704668c7ac50721def2646", +"T3W1_cs_bitcoin-test_multisig.py::test_missing_pubkey": "066ce0de0f8f25c5c272076e65fca9897b77c0a5e6cecc0f92da6876431c5f61", +"T3W1_cs_bitcoin-test_multisig.py::test_pubkeys_order": "276b6f1ea6900747683c42977df8eff62d41d82b58c15032f0fe562179725111", +"T3W1_cs_bitcoin-test_multisig_change.py::test_external_external": "f49b92bf197095cdfa8b05e0c481f1102ac1c850ba30b30cb638f49fa061b202", +"T3W1_cs_bitcoin-test_multisig_change.py::test_external_internal": "f87cad118802870c2269b449c95aca46fb1b29ec6a54349c7e793e0c671bf544", +"T3W1_cs_bitcoin-test_multisig_change.py::test_internal_external": "b5dcced80662863534a29bd1abcff85207644b969ec4b82a392585bff9c3eb87", +"T3W1_cs_bitcoin-test_multisig_change.py::test_multisig_change_match_first": "b5da8ca5107724d5a1ffbcc29dd3660e923593681503144f5da7bdad1d564784", +"T3W1_cs_bitcoin-test_multisig_change.py::test_multisig_change_match_second": "99bb325fadd5d0c7b655e366266856dab0dd2e37800dbcda82fc5e7b0f74bd8d", +"T3W1_cs_bitcoin-test_multisig_change.py::test_multisig_external_external": "59bdc6f8092dc720288fccdd949707f9e3391795788071f605e523896ef37945", +"T3W1_cs_bitcoin-test_multisig_change.py::test_multisig_mismatch_inputs": "fd19a2390b3f3ae0f9acc26f897d2bb1b169957e618139131c326e222c92ee50", +"T3W1_cs_bitcoin-test_multisig_change.py::test_multisig_mismatch_multisig_change": "412167cadc83df4f5bcc9b7ced95ad57c7eb9442ed4db7bd0b65a9d9567097b6", +"T3W1_cs_bitcoin-test_multisig_change.py::test_multisig_mismatch_multisig_change_different_paths": "7d107ba51137ae0eb9ef2238d153aaaae5db43a0d5511f99ba200ea3e0687e73", +"T3W1_cs_bitcoin-test_multisig_change.py::test_sorted_multisig_change_match_first": "b5da8ca5107724d5a1ffbcc29dd3660e923593681503144f5da7bdad1d564784", +"T3W1_cs_bitcoin-test_multisig_change.py::test_sorted_multisig_mismatch_inputs": "92e4158e5591c36690489a3089933c1ea5d5b79c4c86c6ed73f9cea0ff438536", +"T3W1_cs_bitcoin-test_multisig_change.py::test_sorted_multisig_mismatch_multisig_change": "c210bb733dab8b40a3b85750299102b8c4b09c33168daa429b6f54b2535b2cc0", +"T3W1_cs_bitcoin-test_op_return.py::test_nonzero_opreturn": "066ce0de0f8f25c5c272076e65fca9897b77c0a5e6cecc0f92da6876431c5f61", +"T3W1_cs_bitcoin-test_op_return.py::test_opreturn": "8fd4f7c1b0c8587fb48f42441aa54bb95004133795fa24e382622f59a6960b3d", +"T3W1_cs_bitcoin-test_op_return.py::test_opreturn_address": "066ce0de0f8f25c5c272076e65fca9897b77c0a5e6cecc0f92da6876431c5f61", +"T3W1_cs_bitcoin-test_peercoin.py::test_timestamp_included": "f372cb473b986fc283f82e438d63d315c7b86b29d1009ec6d9699deceae6b987", +"T3W1_cs_bitcoin-test_peercoin.py::test_timestamp_missing": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_peercoin.py::test_timestamp_missing_prevtx": "d669c8b1e8a26cf4443b3163c0d04951aa8c61dee2f5e87822a24d6f2c05dc29", +"T3W1_cs_bitcoin-test_signtx.py::test_attack_change_input_address": "368b532d6f679c32897068cf344b341d5d98f3c5df5e473b0cd294fa057c9e3e", +"T3W1_cs_bitcoin-test_signtx.py::test_attack_change_outputs": "cfdda2d7d37fa188e529f8a470356d46505dc908aa5b90582ac62db7918b6b52", +"T3W1_cs_bitcoin-test_signtx.py::test_attack_modify_change_address": "06b84d85c3418aa97570291133e6c05cadbe2c15c6fddc64efb1df771a9fa472", +"T3W1_cs_bitcoin-test_signtx.py::test_change_on_main_chain_allowed": "06b84d85c3418aa97570291133e6c05cadbe2c15c6fddc64efb1df771a9fa472", +"T3W1_cs_bitcoin-test_signtx.py::test_fee_high_hardfail": "d3dce9023097c940923dbdb985a1f8a44fa13038cd2aee0c2dd7ac01e610db5d", +"T3W1_cs_bitcoin-test_signtx.py::test_fee_high_warning": "c1f4bcc108b243f68655d163037c79ac922289f17b4c7f9ca1f954c623266847", +"T3W1_cs_bitcoin-test_signtx.py::test_incorrect_input_script_type[InputScriptType.EXTERNAL]": "066ce0de0f8f25c5c272076e65fca9897b77c0a5e6cecc0f92da6876431c5f61", +"T3W1_cs_bitcoin-test_signtx.py::test_incorrect_input_script_type[InputScriptType.SPENDADDRESS]": "066ce0de0f8f25c5c272076e65fca9897b77c0a5e6cecc0f92da6876431c5f61", +"T3W1_cs_bitcoin-test_signtx.py::test_incorrect_output_script_type[OutputScriptType.PAYTOADDRESS]": "066ce0de0f8f25c5c272076e65fca9897b77c0a5e6cecc0f92da6876431c5f61", +"T3W1_cs_bitcoin-test_signtx.py::test_incorrect_output_script_type[OutputScriptType.PAYTOSCRIPTHASH]": "066ce0de0f8f25c5c272076e65fca9897b77c0a5e6cecc0f92da6876431c5f61", +"T3W1_cs_bitcoin-test_signtx.py::test_information": "d39de8f8d163b6d72b34e3060978aafec6b9bca48e8749ad7d294e355b5ea59d", +"T3W1_cs_bitcoin-test_signtx.py::test_information_cancel": "413355bcdb4becb5628a1b89ff548d1de0c076535bc73b1fe4de885e4f77715e", +"T3W1_cs_bitcoin-test_signtx.py::test_information_mixed": "25fdfdb18bee90346e734ac98624ddafd8e8d74383217c050314fde7f6a565e7", +"T3W1_cs_bitcoin-test_signtx.py::test_lock_time[1-4294967295]": "7bf6334591ba3dcc35e7c8db6c191a1e12a89672625af06563645ad1b792aba2", +"T3W1_cs_bitcoin-test_signtx.py::test_lock_time[499999999-4294967294]": "e247307d5925f6863b2277acb96af1527b79835a0302997370a89167f1eb8d19", +"T3W1_cs_bitcoin-test_signtx.py::test_lock_time[500000000-4294967294]": "85662b4ead3ac09f24902209b6e32edc2336554ffbc054f5b42d495f89168976", +"T3W1_cs_bitcoin-test_signtx.py::test_lock_time_blockheight": "41c9d7e44a4fc997e3950b0cffa8abd61f2285779914fb3d4538a3f81445a9a5", +"T3W1_cs_bitcoin-test_signtx.py::test_lock_time_datetime[1985-11-05 00:53:20]": "7cad656e6652437740f690a11b13046e3be0004fc95f66d4316b451b6a2ae05a", +"T3W1_cs_bitcoin-test_signtx.py::test_lock_time_datetime[2048-08-16 22:14:00]": "d8d42a33043124106cf34d873355db3c0e730f305294d78fe94cbc834bffbd49", +"T3W1_cs_bitcoin-test_signtx.py::test_lots_of_change": "ce933169aca9129e0f6d9d9cd5e8184d704eef8bcdb9f9b935d1af955262ccd0", +"T3W1_cs_bitcoin-test_signtx.py::test_lots_of_inputs": "b9ae1e09b874f2df2b5fb51de68fa2ae7e93cd00ee2a313bd26bfac0963ec7c1", +"T3W1_cs_bitcoin-test_signtx.py::test_lots_of_outputs": "10ab6137e52acff2e90481d80171d9a8019223772d8381bd2dbdc8df0bc41cb6", +"T3W1_cs_bitcoin-test_signtx.py::test_not_enough_funds": "ccdb1cc60fa57c7606299e89f4c18863d17140d1f5087869aa4b80be69b5248c", +"T3W1_cs_bitcoin-test_signtx.py::test_not_enough_vouts": "013175b2a38a3a267369f04ef45fe49ced46705433737077b7a0dd2d24920fa5", +"T3W1_cs_bitcoin-test_signtx.py::test_one_one_fee": "b1893344161d2d7e816c01e7ee54fac1c343bb2401f73a55320670ce28ce0dcb", +"T3W1_cs_bitcoin-test_signtx.py::test_one_three_fee[False]": "5cb1f6831b3ae9d435326c82bd71cc387f4061c2942ed04e688540c9d3c2edf6", +"T3W1_cs_bitcoin-test_signtx.py::test_one_three_fee[True]": "ef87dccbd5a29de8ae7f3c4b8762338183a858a807264dfc93aa9ce495d71ff3", +"T3W1_cs_bitcoin-test_signtx.py::test_one_two_fee": "23cb0f3e70c3fc1897304a2d04bc501c619295b97d632bcc1746a23cb6d28633", +"T3W1_cs_bitcoin-test_signtx.py::test_p2sh": "345762291e8cc4b9abe60c19f1c34c772b159bff4d3536acfc78b723c9024c99", +"T3W1_cs_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[branch_id-13]": "3f97787c3718ed0b0cb7c3a45b3f519f69f8a433d26ee54aa94648a594818733", +"T3W1_cs_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[expiry-9]": "3f97787c3718ed0b0cb7c3a45b3f519f69f8a433d26ee54aa94648a594818733", +"T3W1_cs_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[extra_data-hello world]": "3f97787c3718ed0b0cb7c3a45b3f519f69f8a433d26ee54aa94648a594818733", +"T3W1_cs_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[timestamp-42]": "3f97787c3718ed0b0cb7c3a45b3f519f69f8a433d26ee54aa94648a594818733", +"T3W1_cs_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[version_group_id-69]": "3f97787c3718ed0b0cb7c3a45b3f519f69f8a433d26ee54aa94648a594818733", +"T3W1_cs_bitcoin-test_signtx.py::test_signtx_forbidden_fields[branch_id-13]": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_signtx.py::test_signtx_forbidden_fields[expiry-9]": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_signtx.py::test_signtx_forbidden_fields[timestamp-42]": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_signtx.py::test_signtx_forbidden_fields[version_group_id-69]": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_signtx.py::test_spend_coinbase": "5b71e64cafd8ff1ad5b97cd6ab2d2ba31925a5ff82e315706ed0d9673da5c99e", +"T3W1_cs_bitcoin-test_signtx.py::test_testnet_big_amount": "ad6fe609e86ef5656b3d72ddb213f8ed5399affec3e092c8271e5c6addbda483", +"T3W1_cs_bitcoin-test_signtx.py::test_testnet_fee_high_warning": "82e1400b7e702098035c3420f6c61b40c4e705abcca1392bf358c1107764f794", +"T3W1_cs_bitcoin-test_signtx.py::test_testnet_one_two_fee": "06b84d85c3418aa97570291133e6c05cadbe2c15c6fddc64efb1df771a9fa472", +"T3W1_cs_bitcoin-test_signtx.py::test_two_changes": "6f8eefa4ab6d1f3528be1efd510bcb2704534f05aeeaca629536b9e2d74305ff", +"T3W1_cs_bitcoin-test_signtx.py::test_two_two": "d178f2f92f237baa297b3c7863ac72e1b154fc94350dc715e35727409d07e197", +"T3W1_cs_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.BITCOIN]": "b1893344161d2d7e816c01e7ee54fac1c343bb2401f73a55320670ce28ce0dcb", +"T3W1_cs_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.MICROBITCOIN]": "b53cb73039d13d94ffad38aaac907183f0fbd3207548e6f5d566d074a48d6609", +"T3W1_cs_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.MILLIBITCOIN]": "b0426f73f75721a66e851bc3663f861a119325c9bcf05442cbc9b405b56e1e9e", +"T3W1_cs_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.SATOSHI]": "c6db4baf1bf262cacc34ffd515871b5ab9b88f7b465c0c50b62fd2f6f6dcfbb2", +"T3W1_cs_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[None]": "b1893344161d2d7e816c01e7ee54fac1c343bb2401f73a55320670ce28ce0dcb", +"T3W1_cs_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.BITCOIN]": "82c886bacfbf2b75d427f993e412114a2b50b21e4da26ee45a1424a53a436958", +"T3W1_cs_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.MICROBITCOIN]": "7e82f84c44703e243dedd67064dc80142cf518f95f284fe89326a675608a86df", +"T3W1_cs_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.MILLIBITCOIN]": "b815106e555a82e7979ad4aa98e9ccd0de90ac1fc0be0adcc8185c982f17a691", +"T3W1_cs_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.SATOSHI]": "de4437bbe8c42548291c6ff136d6e09165c228b8a56f287aadf564317797c761", +"T3W1_cs_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[None]": "82c886bacfbf2b75d427f993e412114a2b50b21e4da26ee45a1424a53a436958", +"T3W1_cs_bitcoin-test_signtx_external.py::test_p2pkh_presigned": "ac9d6e98115202177b93e36e3530fb57acb1831188312e7b63518640920b10a8", +"T3W1_cs_bitcoin-test_signtx_external.py::test_p2pkh_with_proof": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_signtx_external.py::test_p2tr_external_presigned": "b5a3ccde169c9d896dee24a5c7f3098f865d67fefe31fe0a7de8012c2e9be812", +"T3W1_cs_bitcoin-test_signtx_external.py::test_p2tr_external_unverified": "33532b0db05794634e35d8afbfb60a5d8652b1c63046d5beb842dafd14bde21d", +"T3W1_cs_bitcoin-test_signtx_external.py::test_p2tr_with_proof": "e28bc892a66f926cfe9e457ccf2a1a803f627224d7e4413be0744c671d67ac2c", +"T3W1_cs_bitcoin-test_signtx_external.py::test_p2wpkh_external_unverified": "dd000daa1ff495344a1abd3c89478683e27f09191bebe09ffebf63c20960096e", +"T3W1_cs_bitcoin-test_signtx_external.py::test_p2wpkh_in_p2sh_presigned": "5ef6e1210ad9dc97dab7c1c29375bebf5e0e4f44163271c5ad1e6c7bea4c6fb8", +"T3W1_cs_bitcoin-test_signtx_external.py::test_p2wpkh_in_p2sh_with_proof": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_signtx_external.py::test_p2wpkh_presigned": "f5b8e82d6cc4b31b4f87a903d50bbba2160fb1880843bc96bd6ed83fa6698cec", +"T3W1_cs_bitcoin-test_signtx_external.py::test_p2wpkh_with_false_proof": "066ce0de0f8f25c5c272076e65fca9897b77c0a5e6cecc0f92da6876431c5f61", +"T3W1_cs_bitcoin-test_signtx_external.py::test_p2wpkh_with_proof": "c5f94dbe5b36246ccfe3fbff4b631309e9822bff62a1e709da594ca4f870a7fc", +"T3W1_cs_bitcoin-test_signtx_external.py::test_p2wsh_external_presigned": "d8a125e4b4e7b24fcbe019a494d8240806e3e097917d0f3adb4e428f1098aff0", +"T3W1_cs_bitcoin-test_signtx_invalid_path.py::test_attack_path_segwit": "2dfe4bb7bbec6e6005b7d20a191d80185cb7d95945f62c6df380daaffed024e1", +"T3W1_cs_bitcoin-test_signtx_invalid_path.py::test_invalid_path_fail": "066ce0de0f8f25c5c272076e65fca9897b77c0a5e6cecc0f92da6876431c5f61", +"T3W1_cs_bitcoin-test_signtx_invalid_path.py::test_invalid_path_fail_asap": "066ce0de0f8f25c5c272076e65fca9897b77c0a5e6cecc0f92da6876431c5f61", +"T3W1_cs_bitcoin-test_signtx_invalid_path.py::test_invalid_path_pass_forkid": "a5111e8256e50967f998ca5aa1ab34a5bcf9a9b39e87f4e01efdc28133430eab", +"T3W1_cs_bitcoin-test_signtx_invalid_path.py::test_invalid_path_prompt": "11b07d11d37d5e922e4e73c3f052a61ce0aebab1c97198e223e693d7cf241213", +"T3W1_cs_bitcoin-test_signtx_mixed_inputs.py::test_non_segwit_segwit_inputs": "242e941c3168dbcc5839bf4059a80ba5cbcf76066afb8ec9ede9a4acd9134ce9", +"T3W1_cs_bitcoin-test_signtx_mixed_inputs.py::test_non_segwit_segwit_non_segwit_inputs": "55956f4a414ab41cc1f1165ed98b2eaf4a73245c0394d617564503aabeae7730", +"T3W1_cs_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_inputs": "242e941c3168dbcc5839bf4059a80ba5cbcf76066afb8ec9ede9a4acd9134ce9", +"T3W1_cs_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_segwit_inputs": "55956f4a414ab41cc1f1165ed98b2eaf4a73245c0394d617564503aabeae7730", +"T3W1_cs_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[]": "066ce0de0f8f25c5c272076e65fca9897b77c0a5e6cecc0f92da6876431c5f61", +"T3W1_cs_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[hello world]": "066ce0de0f8f25c5c272076e65fca9897b77c0a5e6cecc0f92da6876431c5f61", +"T3W1_cs_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[x]": "066ce0de0f8f25c5c272076e65fca9897b77c0a5e6cecc0f92da6876431c5f61", +"T3W1_cs_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "066ce0de0f8f25c5c272076e65fca9897b77c0a5e6cecc0f92da6876431c5f61", +"T3W1_cs_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[]": "bfb1a167f62fb12b977e96a0f731f7ed91d0abab3635baa763cec21ee59d9c2d", +"T3W1_cs_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[hello world]": "bfb1a167f62fb12b977e96a0f731f7ed91d0abab3635baa763cec21ee59d9c2d", +"T3W1_cs_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[x]": "bfb1a167f62fb12b977e96a0f731f7ed91d0abab3635baa763cec21ee59d9c2d", +"T3W1_cs_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "bfb1a167f62fb12b977e96a0f731f7ed91d0abab3635baa763cec21ee59d9c2d", +"T3W1_cs_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[]": "bb9dfbc4e5ccdbd53d605b7440c5ff29620f6c1d16080a2c24f6afefddac0824", +"T3W1_cs_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[hello world]": "bb9dfbc4e5ccdbd53d605b7440c5ff29620f6c1d16080a2c24f6afefddac0824", +"T3W1_cs_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[x]": "bb9dfbc4e5ccdbd53d605b7440c5ff29620f6c1d16080a2c24f6afefddac0824", +"T3W1_cs_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "bb9dfbc4e5ccdbd53d605b7440c5ff29620f6c1d16080a2c24f6afefddac0824", +"T3W1_cs_bitcoin-test_signtx_segwit.py::test_attack_change_input_address": "1d439304799c5c0c145230e3e1d60dba5cd878cfdba3d8a067bf1d96c9b7a9fa", +"T3W1_cs_bitcoin-test_signtx_segwit.py::test_attack_mixed_inputs": "72f9408c01b2ebd6f94591297da883a2c526ff1330d67ff9ed0ca297cc02ade6", +"T3W1_cs_bitcoin-test_signtx_segwit.py::test_send_multisig_1": "ddfddde6de86f66504fd489f9a77ca45c184516ca48d17be070151ac1193ac83", +"T3W1_cs_bitcoin-test_signtx_segwit.py::test_send_p2sh[False]": "ad77177be086ab0341640ac3590d840b301befbd62e9ebbebb4d312359174b43", +"T3W1_cs_bitcoin-test_signtx_segwit.py::test_send_p2sh[True]": "283d8c80b5cd2e768788170d7ef51cdab78f5c1a41968a9e31ed6b10e83a0b68", +"T3W1_cs_bitcoin-test_signtx_segwit.py::test_send_p2sh_change": "cb85a6515909115cced81b4d37a7981ab6312e64b67a0ef89b0ba9953204311f", +"T3W1_cs_bitcoin-test_signtx_segwit.py::test_testnet_segwit_big_amount": "c6b4cb47581dff5b9a0a9dd5279259f04711918c70be0af9e54ebdc9efbaa685", +"T3W1_cs_bitcoin-test_signtx_segwit_native.py::test_multisig_mismatch_inputs_single": "ad740c0f01ebd4cef8e86b7505997a009b5ba2da0f94110b43ebe3a5d8c9f8b3", +"T3W1_cs_bitcoin-test_signtx_segwit_native.py::test_send_both": "fd34e1f2ce289c0b26f339b0f403e3870aa253ae51d3804919888de1f55884ae", +"T3W1_cs_bitcoin-test_signtx_segwit_native.py::test_send_multisig_1": "1cf6fec24fad61ce8e92c50b483ff970cfae2f9063512f662666d0f5c03cbbe8", +"T3W1_cs_bitcoin-test_signtx_segwit_native.py::test_send_multisig_2": "e5d2e00f88b552a60e6547f9e6cd545b30141a81a7d3a15686b9ea24f289da54", +"T3W1_cs_bitcoin-test_signtx_segwit_native.py::test_send_multisig_3_change": "7265d5888842f3234fe11fdaaa57b430c8dbfd3c9763bf6a66377d5be38ec378", +"T3W1_cs_bitcoin-test_signtx_segwit_native.py::test_send_multisig_4_change": "5330587f0feabea28aab9797dbafc7e85fc45a580d6bce07f6c91bf3506a5b02", +"T3W1_cs_bitcoin-test_signtx_segwit_native.py::test_send_native": "82c886bacfbf2b75d427f993e412114a2b50b21e4da26ee45a1424a53a436958", +"T3W1_cs_bitcoin-test_signtx_segwit_native.py::test_send_native_change": "e2c458bb813c141976d1b866bf35226953f8568d851175cc755078f816b350bc", +"T3W1_cs_bitcoin-test_signtx_segwit_native.py::test_send_p2sh": "7404b59b09254cecf94e4d55fca95eb1d893c2fb66cb9d86ae251ae153c1477c", +"T3W1_cs_bitcoin-test_signtx_segwit_native.py::test_send_p2sh_change": "5f9a025b73d9b3ae0599c1762a7589d3f6dd53b7af84494d9987478fa865064e", +"T3W1_cs_bitcoin-test_signtx_segwit_native.py::test_send_to_taproot": "c3af638208531b3e20ef2807a1202e6d81b56533f981bc52db5e1b8c8bab3ebb", +"T3W1_cs_bitcoin-test_signtx_taproot.py::test_attack_script_type": "ed8aa8075443df1a5748ac6e2f0bf22154aff8b6a4a68a937510db2d21986388", +"T3W1_cs_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1pam775nxmvam4pfpqlm5q06k0y84e3-a257be51": "066ce0de0f8f25c5c272076e65fca9897b77c0a5e6cecc0f92da6876431c5f61", +"T3W1_cs_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1plllllllllllllllllllllllllllll-aaa668e3": "066ce0de0f8f25c5c272076e65fca9897b77c0a5e6cecc0f92da6876431c5f61", +"T3W1_cs_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1plycg5qvjtrp3qjf5f7zl382j9x6nr-5447628e": "066ce0de0f8f25c5c272076e65fca9897b77c0a5e6cecc0f92da6876431c5f61", +"T3W1_cs_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1zlycg5qvjtrp3qjf5f7zl382j9x6nr-880d4a6b": "066ce0de0f8f25c5c272076e65fca9897b77c0a5e6cecc0f92da6876431c5f61", +"T3W1_cs_bitcoin-test_signtx_taproot.py::test_send_mixed": "ece8c29a837cdc1d0f6e472291672f4cf8b85ebf290210081ed0cc243ab1c2e6", +"T3W1_cs_bitcoin-test_signtx_taproot.py::test_send_p2tr[False]": "f5e2555099b1a50da01dd847c9228adc69b32e661b7bcd47d91aad556df0886f", +"T3W1_cs_bitcoin-test_signtx_taproot.py::test_send_p2tr[True]": "36925adf1f30c372cebe1c6825a7a9e8202db06c136406e5feee1cc4edefd782", +"T3W1_cs_bitcoin-test_signtx_taproot.py::test_send_two_with_change": "f2986fded0ee3826e2ff8266b69ec0070950fd3161a30fa84f6d24a5ca9eda96", +"T3W1_cs_bitcoin-test_zcash.py::test_external_presigned": "375105e01ff10bedde2d7d8e71861204efcd305f25ec02481ea1d1dc8ef62cec", +"T3W1_cs_bitcoin-test_zcash.py::test_one_one_fee_sapling": "33fbb7fa447b19fff842ec6f4132fa512b4c4b8a4218592b87532aea108a4fbd", +"T3W1_cs_bitcoin-test_zcash.py::test_spend_old_versions": "17a79be67b729776ca7bf2be8943408ef7495817b9a34a57b75b985839d48864", +"T3W1_cs_bitcoin-test_zcash.py::test_v3_not_supported": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_bitcoin-test_zcash.py::test_version_group_id_missing": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_misc-test_msg_cipherkeyvalue.py::test_decrypt": "64ad659cc61048399291d5d2a5d3c69bcef3a693cc23208c5b8b64c09371c28d", +"T3W1_cs_misc-test_msg_cipherkeyvalue.py::test_decrypt_badlen": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_misc-test_msg_cipherkeyvalue.py::test_encrypt": "e8c6428bd31a8cc50a2e10f639920bc0f979fad933ddeba52c7d7f0c78064d5e", +"T3W1_cs_misc-test_msg_cipherkeyvalue.py::test_encrypt_badlen": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_misc-test_msg_enablelabeling.py::test_encrypt": "47b2893bedb3cb0d83352130126d1eae6cb20add5a7577dd9f5331521f03428a", +"T3W1_cs_misc-test_msg_getecdhsessionkey.py::test_ecdh": "005d1d0d653f774f0434a3e402d54f03b927059348866a225d6737401d68eca9", +"T3W1_cs_misc-test_msg_getentropy.py::test_entropy[128]": "4b759199c18e213af1efc45277654b6d823727ca3000bbbd453b61ebfbfdca09", +"T3W1_cs_misc-test_msg_getentropy.py::test_entropy[129]": "4b759199c18e213af1efc45277654b6d823727ca3000bbbd453b61ebfbfdca09", +"T3W1_cs_misc-test_msg_getentropy.py::test_entropy[16]": "4b759199c18e213af1efc45277654b6d823727ca3000bbbd453b61ebfbfdca09", +"T3W1_cs_misc-test_msg_getentropy.py::test_entropy[17]": "4b759199c18e213af1efc45277654b6d823727ca3000bbbd453b61ebfbfdca09", +"T3W1_cs_misc-test_msg_getentropy.py::test_entropy[1]": "4b759199c18e213af1efc45277654b6d823727ca3000bbbd453b61ebfbfdca09", +"T3W1_cs_misc-test_msg_getentropy.py::test_entropy[256]": "4b759199c18e213af1efc45277654b6d823727ca3000bbbd453b61ebfbfdca09", +"T3W1_cs_misc-test_msg_getentropy.py::test_entropy[257]": "4b759199c18e213af1efc45277654b6d823727ca3000bbbd453b61ebfbfdca09", +"T3W1_cs_misc-test_msg_getentropy.py::test_entropy[2_0]": "4b759199c18e213af1efc45277654b6d823727ca3000bbbd453b61ebfbfdca09", +"T3W1_cs_misc-test_msg_getentropy.py::test_entropy[2_1]": "4b759199c18e213af1efc45277654b6d823727ca3000bbbd453b61ebfbfdca09", +"T3W1_cs_misc-test_msg_getentropy.py::test_entropy[32]": "4b759199c18e213af1efc45277654b6d823727ca3000bbbd453b61ebfbfdca09", +"T3W1_cs_misc-test_msg_getentropy.py::test_entropy[33]": "4b759199c18e213af1efc45277654b6d823727ca3000bbbd453b61ebfbfdca09", +"T3W1_cs_misc-test_msg_getentropy.py::test_entropy[3]": "4b759199c18e213af1efc45277654b6d823727ca3000bbbd453b61ebfbfdca09", +"T3W1_cs_misc-test_msg_getentropy.py::test_entropy[4]": "4b759199c18e213af1efc45277654b6d823727ca3000bbbd453b61ebfbfdca09", +"T3W1_cs_misc-test_msg_getentropy.py::test_entropy[512]": "4b759199c18e213af1efc45277654b6d823727ca3000bbbd453b61ebfbfdca09", +"T3W1_cs_misc-test_msg_getentropy.py::test_entropy[513]": "4b759199c18e213af1efc45277654b6d823727ca3000bbbd453b61ebfbfdca09", +"T3W1_cs_misc-test_msg_getentropy.py::test_entropy[5]": "4b759199c18e213af1efc45277654b6d823727ca3000bbbd453b61ebfbfdca09", +"T3W1_cs_misc-test_msg_getentropy.py::test_entropy[64]": "4b759199c18e213af1efc45277654b6d823727ca3000bbbd453b61ebfbfdca09", +"T3W1_cs_misc-test_msg_getentropy.py::test_entropy[65]": "4b759199c18e213af1efc45277654b6d823727ca3000bbbd453b61ebfbfdca09", +"T3W1_cs_misc-test_msg_getentropy.py::test_entropy[8]": "4b759199c18e213af1efc45277654b6d823727ca3000bbbd453b61ebfbfdca09", +"T3W1_cs_misc-test_msg_getentropy.py::test_entropy[9]": "4b759199c18e213af1efc45277654b6d823727ca3000bbbd453b61ebfbfdca09", +"T3W1_cs_misc-test_msg_signidentity.py::test_sign": "bc6358d1f31d68c063df543d46f21170a4ec3574b06a64d54a2b2f211f120b2b", +"T3W1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "4391461dbe42a7b2d543680a7d8ddbb6a98e47620fd0241476b44ab87aeb80be", +"T3W1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "14373385bf404c0bba559e9b525ecd1ec36ea0cf1554172876870d60aee7787c", +"T3W1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "d77c4b9b464a1ea6e8fc55fefe40d5b4dd48e37dee2add00fe5787a9d2658f7d", +"T3W1_cs_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "cf811531e33f6b24e1a1dfeb36e01a38186993b60394f891d8195b23b199621f", +"T3W1_cs_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_reset_recovery-test_recovery_bip39_t2.py::test_tt_nopin_nopassphrase": "798c9f0f8edfa0e8dc401f795bd5b78645e5144dabf1855a42fcc2e22b882ba1", +"T3W1_cs_reset_recovery-test_recovery_bip39_t2.py::test_tt_pin_passphrase": "e8811ea8fda496089eb6dfeca14a31b0867186add8895b7c9ed56d6571dd39a1", +"T3W1_cs_reset_recovery-test_recovery_slip39_advanced.py::test_abort": "d02db4e971a695666ef335d0003d11187c68d5bee1bf3c9be32cad1f4adcb98d", +"T3W1_cs_reset_recovery-test_recovery_slip39_advanced.py::test_extra_share_entered": "1033765b27741c910d781d819e2df6a0e79b016395dbe027874a781412a88d2a", +"T3W1_cs_reset_recovery-test_recovery_slip39_advanced.py::test_group_threshold_reached": "bf288518f47eb531783c7be3dc005966af44e9f5cc509fac911c8452c451abf4", +"T3W1_cs_reset_recovery-test_recovery_slip39_advanced.py::test_noabort": "ca85b3e6a543766d4bd602ead6c2e01679a9c174e03640ef78b0378893c0b280", +"T3W1_cs_reset_recovery-test_recovery_slip39_advanced.py::test_same_share": "be61db99b8c868b5844a656eee1853f39b04cc4b312dde7ffcfced1014e0748d", +"T3W1_cs_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares0-c2d2e26ad06023c60145f1-afc2dad5": "80b075a1a0af4a19f2dd6953916db477cfd84b62bf6ede9249d71374578561ef", +"T3W1_cs_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares1-c41d5cf80fed71a008a3a0-eb47093e": "80cb28e67ac3e99545cdd4d4b52a4f1427809d0eb24096310a7a60e7ff505850", +"T3W1_cs_reset_recovery-test_recovery_slip39_advanced.py::test_secret_click_info_button[shares0-c2d2-850ffa77": "db07eab26e408bb2379609bd4b73515b74cfd56db66cf442dde75bcf81946251", +"T3W1_cs_reset_recovery-test_recovery_slip39_advanced.py::test_secret_click_info_button[shares1-c41d-ca9ddec8": "9aed3df0d70d6f8ad345ce3e5cc68c47221861c5f677f32f9a7ddba2156e72b6", +"T3W1_cs_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_dryrun": "9a86b63b5d1bc7904f65a4a86198e297f75c372599649efda46140a9a8153dac", +"T3W1_cs_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_invalid_seed_dryrun": "cde1f2e1ee8c13f690a4870b3171821bdb7eeb6c24f27fe0ad27e74be6c5057d", +"T3W1_cs_reset_recovery-test_recovery_slip39_basic.py::test_1of1": "0586275fc44b690f0b53c6b2a14728ee526c092848f30d373cbe96d3873fb30c", +"T3W1_cs_reset_recovery-test_recovery_slip39_basic.py::test_abort": "d02db4e971a695666ef335d0003d11187c68d5bee1bf3c9be32cad1f4adcb98d", +"T3W1_cs_reset_recovery-test_recovery_slip39_basic.py::test_abort_between_shares": "01b550987f0897ee515a8abe63535311feb118d9edf1a6fdf2fc1dc0456d6051", +"T3W1_cs_reset_recovery-test_recovery_slip39_basic.py::test_abort_on_number_of_words": "0b901afc5000806793fba1a42aa11b1711827fb9cb77cca7da7e990fcbbfbcbf", +"T3W1_cs_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_first_share": "cad7f65df0f54311d527792b0d45ab6d4bae0b971d5714d8d56a066c92c79628", +"T3W1_cs_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_second_share": "a13fe8264f4cecd76e3e16a5024958d752a92a270d032bb82b01bd45f239b3d6", +"T3W1_cs_reset_recovery-test_recovery_slip39_basic.py::test_noabort": "a27883346e5bd1f26fe22f4862ac73b227e59c1af698478448c4285d1f5aa290", +"T3W1_cs_reset_recovery-test_recovery_slip39_basic.py::test_recover_with_pin_passphrase": "1564839ebb6e150e6d0ae78afb4c7a712d07053a7bad73fc41dc62240a4650b8", +"T3W1_cs_reset_recovery-test_recovery_slip39_basic.py::test_same_share": "47edb612d21892175a4b245225fbf6a6c55d1f7e9a3e4210f575439d41587ac8", +"T3W1_cs_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares0-491b795b80fc21ccdf466c0fb-ad8c45c0": "3bfd342d6340692cea3a27edd69956a029ece5c2499befa7760ad9b6a615d3a6", +"T3W1_cs_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares1-644c905b0c4da21692f06fff3-30d0f8ca": "352eb9085088fb05b5626b58bdeb15a3cb15cd321f6ac8f14bbb86e6d54d4683", +"T3W1_cs_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares2-b770e0da1363247652de97a39-6af744e3": "4a066abc602356bbf03cf406181e417869a1f2137799510e79ec8ce7f8d0b25b", +"T3W1_cs_reset_recovery-test_recovery_slip39_basic.py::test_share_info_between_shares": "54e1077b643bd675be2cb3afff1a368619ade4e328e913eb6c34dad59d401c24", +"T3W1_cs_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[0]": "8bc90f6a6b7d064adf38fdd30ca8dba217c6058834ae2d02383963e3e0790097", +"T3W1_cs_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[1]": "203b1206431714026e370ab5cb5d097c0950c614c4c6203dfba4fcca14ffc711", +"T3W1_cs_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[2]": "91044c8e95ece388d56eef357f0d671452f8f8e78368da0e0f508bcef441796c", +"T3W1_cs_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_dryrun": "6da02b9812ac3558f0239858b513ed506e8e54827773f3dbbd833ab69ab10bb3", +"T3W1_cs_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_invalid_seed_dryrun": "974c625b451237ba18c2ab03c8cb79d7ce49378ac1a777453495271157878c8d", +"T3W1_cs_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Bip39-backup_flow_bip39]": "e62b70423e49575327e6720007337851760199231788cce8dc2cf7543db05f77", +"T3W1_cs_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Advanced_Ext-10ea47d6": "cec1527168399d514a7166e07f7056c9306031e46f2d788fec44a0f7ca6ba9e0", +"T3W1_cs_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Basic_Extend-5dbe8b0f": "419796631f8fc725ea56c28e969b786dedae74095c05df30c6ecb253d1d72575", +"T3W1_cs_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Bip39-backup_flow_bip39]": "977eab60e302ddb54c0d655fc38497f10e587bcea5d8796c877b7bd9753eaee0", +"T3W1_cs_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Advanced_Extend-8b11c1dc": "d7d28dc3bed0bbd9c5f3911a518bf192ace7c12fa47dbaa20918ce8138c89264", +"T3W1_cs_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Basic_Extendabl-cc19e908": "52dc7e3a63d378862cdbe404f86c738c8906a15f59a7f48dc82b4d91af59199f", +"T3W1_cs_reset_recovery-test_reset_bip39_t2.py::test_already_initialized": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_reset_recovery-test_reset_bip39_t2.py::test_entropy_check": "2845a87097e912357dc384f8aea8bddb00e05e1bb25998978fb1617aa91fb422", +"T3W1_cs_reset_recovery-test_reset_bip39_t2.py::test_failed_pin": "ffcabbf2f117ff889780d1b2de362becf3510815bc1b4c59271f5e00402a4ffd", +"T3W1_cs_reset_recovery-test_reset_bip39_t2.py::test_no_entropy_check": "2845a87097e912357dc384f8aea8bddb00e05e1bb25998978fb1617aa91fb422", +"T3W1_cs_reset_recovery-test_reset_bip39_t2.py::test_reset_device": "392e06e7c622da6076222035bf4dee73e6b133e8a656ce8ed8751c25b0055635", +"T3W1_cs_reset_recovery-test_reset_bip39_t2.py::test_reset_device_192": "d174edfab1342d576e6649d6e5caede2332f92a5791526f5527e2298f230df82", +"T3W1_cs_reset_recovery-test_reset_bip39_t2.py::test_reset_device_pin": "c197e9eb0ff00ea3f225c343d0e00549afb5e6725042ab46e4d77a944d7c1733", +"T3W1_cs_reset_recovery-test_reset_bip39_t2.py::test_reset_entropy_check": "cd53ebb99b0e1466d92c7ae2f6005830ca78f1332106872ea35d8903ee6aef43", +"T3W1_cs_reset_recovery-test_reset_bip39_t2.py::test_reset_failed_check": "b916e7a379bd3182b0012a3e08bd7c5329641366e7c1537e58b4e7c49040c3c3", +"T3W1_cs_reset_recovery-test_reset_recovery_bip39.py::test_reset_recovery": "8fd9d0504df78a73c730656710bd525f83e559d470a3e4ef4520cb487de003a3", +"T3W1_cs_reset_recovery-test_reset_recovery_slip39_advanced.py::test_reset_recovery": "7a6b3def6e571ff4a1a303fa4aa9a27afd6cc57e83df2a125d58b8a9efc61752", +"T3W1_cs_reset_recovery-test_reset_recovery_slip39_basic.py::test_reset_recovery": "068f93f56ae5fba4554d4763f4fd0a5cf6ad0b381ea01ba469913602f81901d1", +"T3W1_cs_reset_recovery-test_reset_slip39_advanced.py::test_reset_device_slip39_advanced": "34e7e759ffbc06048d7a09d8e58ba6aa45adff4a25f68468d3d2fed78def2c13", +"T3W1_cs_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic": "4f9a8d5f61128b3824bb9a33dd98c2e0caceafb8f6f7cf3c7fb5b4c368957c58", +"T3W1_cs_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic_256": "bfa37d152f3397dab603c861b4325527652af2b5b761b0cdf71d4e805d21cd1a", +"T3W1_cs_reset_recovery-test_reset_slip39_basic.py::test_reset_entropy_check": "197409290e0a5d54cdcfa708f1015793a220e208e7ece9a65b3ca993b0b8a138", +"T3W1_cs_test_autolock.py::test_apply_auto_lock_delay": "532136748bacbf7515d23d1575e1bbe98c063d1dc355cc7a64193aee8e987bdf", +"T3W1_cs_test_autolock.py::test_apply_auto_lock_delay_out_of_range[0]": "987d4e2237ba4056b593b3bf85eb8a828a8197a05ad69afe513b7b5f476a2355", +"T3W1_cs_test_autolock.py::test_apply_auto_lock_delay_out_of_range[1]": "987d4e2237ba4056b593b3bf85eb8a828a8197a05ad69afe513b7b5f476a2355", +"T3W1_cs_test_autolock.py::test_apply_auto_lock_delay_out_of_range[4194304]": "987d4e2237ba4056b593b3bf85eb8a828a8197a05ad69afe513b7b5f476a2355", +"T3W1_cs_test_autolock.py::test_apply_auto_lock_delay_out_of_range[536871]": "987d4e2237ba4056b593b3bf85eb8a828a8197a05ad69afe513b7b5f476a2355", +"T3W1_cs_test_autolock.py::test_apply_auto_lock_delay_out_of_range[9]": "987d4e2237ba4056b593b3bf85eb8a828a8197a05ad69afe513b7b5f476a2355", +"T3W1_cs_test_autolock.py::test_apply_auto_lock_delay_valid[10]": "6541db7cc82b2490aa95a48cc907c38a4f2189257b1209a1d922b91838a0e2cd", +"T3W1_cs_test_autolock.py::test_apply_auto_lock_delay_valid[123]": "e6969d52ea978d1b15598465a07eeeb83ac34fe8e7c8e9fde27a14987d2ab14f", +"T3W1_cs_test_autolock.py::test_apply_auto_lock_delay_valid[3601]": "b86aaf3b986f14305bcab6031d7e9b360d9131ad542dd6804ee925024ab009ba", +"T3W1_cs_test_autolock.py::test_apply_auto_lock_delay_valid[536870]": "5622ca8512661e56a3fd8d1e94238e557059a97f23d70ab8bb9c10505201d038", +"T3W1_cs_test_autolock.py::test_apply_auto_lock_delay_valid[60]": "10a983837117a11554fd47b58e3a6b11415debe163f38695ab029409a6e90269", +"T3W1_cs_test_autolock.py::test_apply_auto_lock_delay_valid[7227]": "b34575a00f699bc110192135a55fc8c362b0784204ed0ec4001fb0371ad7680f", +"T3W1_cs_test_autolock.py::test_autolock_cancels_ui": "5269b903497bde5179e06e350f877050c0288578bed86d95c5a14b5ccd3a992b", +"T3W1_cs_test_autolock.py::test_autolock_default_value": "fc7b8b8f646cced1f5b85a54a5de68acd4ad54fa680dfa889c02a9589c3cc2a1", +"T3W1_cs_test_autolock.py::test_autolock_ignores_getaddress": "bfca37b750d1edae7968cb8067f991e4f472fc412f40b06d16ae0463184b1794", +"T3W1_cs_test_autolock.py::test_autolock_ignores_initialize": "bfca37b750d1edae7968cb8067f991e4f472fc412f40b06d16ae0463184b1794", +"T3W1_cs_test_basic.py::test_capabilities": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_test_basic.py::test_device_id_different": "62297b36ec5400a564f16788747524b2dbc7869c72ec8f2fc0a2be0c68286b9b", +"T3W1_cs_test_basic.py::test_device_id_same": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_test_basic.py::test_features": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_test_basic.py::test_ping": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_test_cancel.py::test_cancel_message_via_cancel[message0]": "90cdb4ea8e33ad6e40aafe912b01a283441062fd8e91fff512c50b0aedb30351", +"T3W1_cs_test_cancel.py::test_cancel_message_via_cancel[message1]": "df511bb415209eda4e649ff3b7793f2d6c21abc6f8f4c004ac8b0fd74a35e2d4", +"T3W1_cs_test_cancel.py::test_cancel_message_via_initialize[message0]": "90cdb4ea8e33ad6e40aafe912b01a283441062fd8e91fff512c50b0aedb30351", +"T3W1_cs_test_cancel.py::test_cancel_message_via_initialize[message1]": "df511bb415209eda4e649ff3b7793f2d6c21abc6f8f4c004ac8b0fd74a35e2d4", +"T3W1_cs_test_debuglink.py::test_softlock_instability": "7cd63aac336eeeac4322d8da70646247e5b7c988b59f86beac5ad1038a26c5fa", +"T3W1_cs_test_msg_applysettings.py::test_apply_homescreen_jpeg_progressive": "987d4e2237ba4056b593b3bf85eb8a828a8197a05ad69afe513b7b5f476a2355", +"T3W1_cs_test_msg_applysettings.py::test_apply_homescreen_jpeg_wrong_size": "987d4e2237ba4056b593b3bf85eb8a828a8197a05ad69afe513b7b5f476a2355", +"T3W1_cs_test_msg_applysettings.py::test_apply_homescreen_toif": "987d4e2237ba4056b593b3bf85eb8a828a8197a05ad69afe513b7b5f476a2355", +"T3W1_cs_test_msg_applysettings.py::test_apply_settings": "f8a42bf38e5bc601d7cce96c1cdff420a877097291e535db8c7f3d96bdea94bb", +"T3W1_cs_test_msg_applysettings.py::test_apply_settings_passphrase": "b4621060262eb16bf287f9da4138c8da0fd8ae88a02634be8e2d9cf531f68173", +"T3W1_cs_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "7554deaf201e3925856ff86d73e253285ccad64c96476d436264cb77de5a02cf", +"T3W1_cs_test_msg_applysettings.py::test_apply_settings_rotation": "6e516c45598f89d7d685457a048f045fa4d92d4a0273a13ea2378e4373e9f927", +"T3W1_cs_test_msg_applysettings.py::test_experimental_features": "8646488852d26c88091117ebd6932308a31b9ce585b8f195e031acf9d551d7e4", +"T3W1_cs_test_msg_applysettings.py::test_label_too_long": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_test_msg_backup_device.py::test_backup_bip39": "7704565da1de972f5719ccb98281833a3fa082df61bbf769bd9c626f6dfd9c79", +"T3W1_cs_test_msg_backup_device.py::test_backup_slip39_advanced[click_info]": "362b6a1cbf83062cb033372966cdf099f60b0f015fef82629ea92be7be2b1223", +"T3W1_cs_test_msg_backup_device.py::test_backup_slip39_advanced[no_click_info]": "d0618b669e8b227647f4dc6810a512e6607e9582b98aa6a385a66c60dea35ef3", +"T3W1_cs_test_msg_backup_device.py::test_backup_slip39_basic[click_info]": "362b6a1cbf83062cb033372966cdf099f60b0f015fef82629ea92be7be2b1223", +"T3W1_cs_test_msg_backup_device.py::test_backup_slip39_basic[no_click_info]": "120268f64937fba47c53a30b2b3b57435f7115b3311968b0c4be94dd4957fc5f", +"T3W1_cs_test_msg_backup_device.py::test_backup_slip39_custom[1_of_1]": "fdb38c936f5d253adb65d991caa0ba2d7e1c796d97f536058ac9a612eb8af813", +"T3W1_cs_test_msg_backup_device.py::test_backup_slip39_custom[2_of_2]": "e10dfff4770b8557425dbf335180f7c22ebec4df274359ff761bcc3fbb5cbded", +"T3W1_cs_test_msg_backup_device.py::test_backup_slip39_custom[3_of_5]": "5082cf212470730ac3d5b9076498b8eb3a49bbea5d7663f8f2aa66ead2170971", +"T3W1_cs_test_msg_backup_device.py::test_backup_slip39_single": "f194e9265d024ea911b660709ee308b0c2839000a2088367c4341fbab625c495", +"T3W1_cs_test_msg_backup_device.py::test_interrupt_backup_fails": "b8eb86e6c64ef2a0348730c5a22f5125cb2d1bcf7a168b5ea5b712cbe9877ba4", +"T3W1_cs_test_msg_backup_device.py::test_no_backup_fails": "d2ee21417c26c9e8c718b574b7271d29f9fa8d2aecc34a2248f0e3f80ee92c6e", +"T3W1_cs_test_msg_change_wipe_code_t2.py::test_set_pin_to_wipe_code": "c5631785efa25aa6c3413208cbbeee809892b3778470498b2050abf45059611b", +"T3W1_cs_test_msg_change_wipe_code_t2.py::test_set_remove_wipe_code": "c8f134b82b8413bff66b9a357303124763b05989a575061ab0b3087214dc087d", +"T3W1_cs_test_msg_change_wipe_code_t2.py::test_set_wipe_code_mismatch": "1f5cd476c99381dde21d06162986ea6c963a7cb3c8214c5b994e78e13300cf14", +"T3W1_cs_test_msg_change_wipe_code_t2.py::test_set_wipe_code_to_pin": "3740c8dcd4b0797094179017a895db9ff6a71ca407a89a2e4c238ee5abd08ded", +"T3W1_cs_test_msg_changepin_t2.py::test_change_failed": "3ca85b2ff1d1d14a4231c80703e5e7e6bca08c794e4f583134a1957edbe6192c", +"T3W1_cs_test_msg_changepin_t2.py::test_change_invalid_current": "bdd8e91aba87e145eb4251f7fc876c2ec301b8722e0b2fe0acde083d58a5a9d1", +"T3W1_cs_test_msg_changepin_t2.py::test_change_pin": "16f3404c36286069d7c66145b3ef552e77f54a6ff03b7dd7d0d8495767207550", +"T3W1_cs_test_msg_changepin_t2.py::test_remove_pin": "04b19fa52a7b972ee0663fa71f4f9ca351ab660569aa41def875ba53431f49d4", +"T3W1_cs_test_msg_changepin_t2.py::test_set_failed": "0c7bdea5743a5113783607bf43fb849efe1df2dab4979d6e0431ab53122b705c", +"T3W1_cs_test_msg_changepin_t2.py::test_set_pin": "362f0bea2ac5dee73853a629d223f040564e180b7f5752ca43e1ef0ad5005ab3", +"T3W1_cs_test_msg_loaddevice.py::test_load_device_1": "8913e751883738697938131f34caca6107bdf64f3294dd8a427e44417e6094c2", +"T3W1_cs_test_msg_loaddevice.py::test_load_device_2": "edc0fce55c7fcdbc96a70f66dcd98467badd8dec3985cbe203063c206a75bda3", +"T3W1_cs_test_msg_loaddevice.py::test_load_device_slip39_advanced": "8913e751883738697938131f34caca6107bdf64f3294dd8a427e44417e6094c2", +"T3W1_cs_test_msg_loaddevice.py::test_load_device_slip39_basic": "8913e751883738697938131f34caca6107bdf64f3294dd8a427e44417e6094c2", +"T3W1_cs_test_msg_loaddevice.py::test_load_device_utf": "3e15e2465831ed38112cc29dad6d8d488d07c86d22fd25e3c7a67096495d9568", +"T3W1_cs_test_msg_ping.py::test_ping": "1ab84c430f63ee48c934033854d8d40b0522a28985dd898c44fa47fd1b3c668f", +"T3W1_cs_test_msg_wipedevice.py::test_autolock_not_retained": "4b674b2ef7d91f3b46cd10a20fb30bb8a38a9d8f148f3c9f96419643425f8093", +"T3W1_cs_test_msg_wipedevice.py::test_wipe_device": "62297b36ec5400a564f16788747524b2dbc7869c72ec8f2fc0a2be0c68286b9b", +"T3W1_cs_test_passphrase_slip39_advanced.py::test_128bit_passphrase": "4c7ff3999f5ee2dec7ce6a20c8eecfdfc01097fe60f2bdb5a267ea92c8022c40", +"T3W1_cs_test_passphrase_slip39_advanced.py::test_256bit_passphrase": "4c7ff3999f5ee2dec7ce6a20c8eecfdfc01097fe60f2bdb5a267ea92c8022c40", +"T3W1_cs_test_passphrase_slip39_basic.py::test_2of3_ext_passphrase": "0189c0e98a4837e35649e402db793513eec5b82a4a5cd28051d328482ebf2656", +"T3W1_cs_test_passphrase_slip39_basic.py::test_2of5_passphrase": "0189c0e98a4837e35649e402db793513eec5b82a4a5cd28051d328482ebf2656", +"T3W1_cs_test_passphrase_slip39_basic.py::test_3of6_passphrase": "0189c0e98a4837e35649e402db793513eec5b82a4a5cd28051d328482ebf2656", +"T3W1_cs_test_pin.py::test_correct_pin": "987d4e2237ba4056b593b3bf85eb8a828a8197a05ad69afe513b7b5f476a2355", +"T3W1_cs_test_pin.py::test_exponential_backoff_t2": "e636ad3fce0305169a4c1ab85e9759970e2ba901741b08cb64c46c31dce916a6", +"T3W1_cs_test_pin.py::test_incorrect_pin_t2": "90bb7f151d3ee5b7e968ed7d4d866531c2a7211b1593005d76589165dd8bad9a", +"T3W1_cs_test_pin.py::test_no_protection": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_test_protection_levels.py::test_apply_settings": "b8e0d32a86cab5e69ad2df0c10f08947663448b70bf5a0e90380cd17df339f64", +"T3W1_cs_test_protection_levels.py::test_change_pin_t2": "c7348c9284147fc4e526a938d69aff58fb93056911bb5cfefce7a32bdde3b289", +"T3W1_cs_test_protection_levels.py::test_get_address": "d2d8463bd9c19122f3da6063414bb5836116d306a043b9f90e8f469a2fdf77f2", +"T3W1_cs_test_protection_levels.py::test_get_entropy": "b2da366baa3ad97871e81aa455d5354262a294340038344bed58c59cc8d67884", +"T3W1_cs_test_protection_levels.py::test_get_public_key": "d2d8463bd9c19122f3da6063414bb5836116d306a043b9f90e8f469a2fdf77f2", +"T3W1_cs_test_protection_levels.py::test_initialize": "38ff1d1c8682eec6f31b456541b174dd2acffb07561ec2211592c9a746930a4b", +"T3W1_cs_test_protection_levels.py::test_passphrase_cached": "bdb41a9430816133d5cfcd0a872c7cc8853ba7d901d5694273bbf231a2b9fa18", +"T3W1_cs_test_protection_levels.py::test_passphrase_reporting[False]": "f66b508eb06da9fc9b174f1d48339bcd2fcf64e009f3256cb7765445c064673e", +"T3W1_cs_test_protection_levels.py::test_passphrase_reporting[True]": "0957d34b78a690c25fdfcd6b3636967ae8439c435fa0efa95259e8a42ef5cfd3", +"T3W1_cs_test_protection_levels.py::test_ping": "1ab84c430f63ee48c934033854d8d40b0522a28985dd898c44fa47fd1b3c668f", +"T3W1_cs_test_protection_levels.py::test_signtx": "5f60edf87bea5cbe38287f45eeb242b3e5c1cf2c91d7e2fa450e5788ff517190", +"T3W1_cs_test_protection_levels.py::test_unlocked": "ff5ecb5807a2cab19e6b3554fa8da58c6abd7eb917cb34c443c54095490ee230", +"T3W1_cs_test_protection_levels.py::test_wipe_device": "6a0d07c1daa09d3fb2283d5a6ea34cdd045b60a9ad83656afea2fe827aa9174a", +"T3W1_cs_test_repeated_backup.py::test_repeated_backup": "3bf955b44460bac08f373e71de0e23bea229506c88b5bdf4a771f43dd8de650d", +"T3W1_cs_test_repeated_backup.py::test_repeated_backup_cancel": "eb30c5e19fced9cf38478e58e21f0f7bad7eae2f2da90fa81bded9ac3de798fe", +"T3W1_cs_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "eb30c5e19fced9cf38478e58e21f0f7bad7eae2f2da90fa81bded9ac3de798fe", +"T3W1_cs_test_repeated_backup.py::test_repeated_backup_upgrade_single": "6e7b7e87993e81de441ff98b5ec37159a15a6a081b135b54c60b9ebc12c34303", +"T3W1_cs_test_session.py::test_cannot_resume_ended_session": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_test_session.py::test_clear_session": "698822b3f107f0558d2efd7f8d1ebd62710fd9027798b07ea69c59d1d818dc8d", +"T3W1_cs_test_session.py::test_derive_cardano_empty_session": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_test_session.py::test_derive_cardano_running_session": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_test_session.py::test_end_session": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_test_session.py::test_end_session_only_current": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_test_session.py::test_session_recycling": "0189c0e98a4837e35649e402db793513eec5b82a4a5cd28051d328482ebf2656", +"T3W1_cs_test_session_id_and_passphrase.py::test_cardano_passphrase": "6e1eb5a5f639aaa497142963f7bb12dc008fc5e078eb4cc7cbce17ea3416bd79", +"T3W1_cs_test_session_id_and_passphrase.py::test_hide_passphrase_from_host": "82ca1f97668fce00ca2bfa601a0ebc868588a60155bd23d1af11b949bfa1a0f0", +"T3W1_cs_test_session_id_and_passphrase.py::test_max_sessions_with_passphrases": "98b5af93efc3a01c4222f812eb98b15645974cb1ee29b707d3462f18b5e2f869", +"T3W1_cs_test_session_id_and_passphrase.py::test_multiple_passphrases": "7b6014efe53018daddfff429c6e82836bb1b1ab8e2b19bc21820e09e79408d19", +"T3W1_cs_test_session_id_and_passphrase.py::test_multiple_sessions": "b5366515cd8bb9e8250572962a6026ac72ef0189554037d8fb4798d3e5f07393", +"T3W1_cs_test_session_id_and_passphrase.py::test_passphrase_ack_mismatch": "e737e515865de568a3af69b08eb5109801f7a32475d21d86a752aedbfba7a306", +"T3W1_cs_test_session_id_and_passphrase.py::test_passphrase_always_on_device": "7a59b0ad86f04a0410373ce7c5ccee9b8423022a747872e65d3cc393ee06a361", +"T3W1_cs_test_session_id_and_passphrase.py::test_passphrase_length": "076baaf56c1f781da6ca9b4cdad2faf5b33ba5d99272dae4c7f2c9d815ea3c53", +"T3W1_cs_test_session_id_and_passphrase.py::test_passphrase_missing": "bdb41a9430816133d5cfcd0a872c7cc8853ba7d901d5694273bbf231a2b9fa18", +"T3W1_cs_test_session_id_and_passphrase.py::test_passphrase_on_device": "8b1c08036683c7d5e084b940589a4b49b964ffd4f75301b92025eb46dd93328e", +"T3W1_cs_test_session_id_and_passphrase.py::test_session_enable_passphrase": "354d50be030c46def6ebc42f7dc3a3e00f5203666551b593d7472fb01e5e4658", +"T3W1_cs_test_session_id_and_passphrase.py::test_session_with_passphrase": "702c4ce5aec8527c9d98d6960535308a46e1f6fd3537fc812cc43f4f87c0723d", +"T3W1_de_binance-test_get_address.py::test_binance_get_address[m-44h-714h-0h-0-0-bnb1hgm0p7khfk85zpz-68e2cb5a": "1160d57c138c7263c7c50055a198a6eb9cac964ad4948ac7fec32c33e74d8956", +"T3W1_de_binance-test_get_address.py::test_binance_get_address[m-44h-714h-0h-0-1-bnb1egswqkszzfc2uq7-1adfb691": "8170a0ccab921e235d0477b30ee586c75b63e45eaf01b7041419fccbb74f9a2c", +"T3W1_de_binance-test_get_address.py::test_binance_get_address_chunkify_details[m-44h-714h-0h-0-0-bn-59d4996f": "e3d628fdd8057abe9ca9a87d9339ac810c2225457697357606d27b3ea10c9af9", +"T3W1_de_binance-test_get_address.py::test_binance_get_address_chunkify_details[m-44h-714h-0h-0-1-bn-c9025900": "285fc9eb739158236b2a8c21b1173988335419a8a2dd710f89dd15d2e2398569", +"T3W1_de_bitcoin-test_bcash.py::test_attack_change_input": "c1109321cd0079c5404312ed272369e68173a4a570329dde31867de39ee535e3", +"T3W1_de_bitcoin-test_bcash.py::test_send_bch_change": "c1109321cd0079c5404312ed272369e68173a4a570329dde31867de39ee535e3", +"T3W1_de_bitcoin-test_bcash.py::test_send_bch_external_presigned": "ca3468569633e3196765e605b451dc0da14c6940b52a4a32a03350a522d4c7fc", +"T3W1_de_bitcoin-test_bcash.py::test_send_bch_multisig_change": "d635ecc78a4c766c67d72d4bf987f14498ece0981cbd968ff6bbd8f40d3c5294", +"T3W1_de_bitcoin-test_bcash.py::test_send_bch_multisig_wrongchange": "3fade6a1d2b23930e500437b71a8d9d4185a482d79c1fb1297c354aa1deea4b6", +"T3W1_de_bitcoin-test_bcash.py::test_send_bch_nochange": "4665c2afe50e619840462d55f7596ebeaa8d7b9cb26006b50f6eab3289841892", +"T3W1_de_bitcoin-test_bcash.py::test_send_bch_oldaddr": "cb6994e971bda21e73f251cd735ccd284d8c06ebc78d5615becbc44097fbe642", +"T3W1_de_bitcoin-test_firo.py::test_spend_lelantus": "c6c1617a6a52f61398312f77d94ae2f2e033f97af7d9338665dd5848836e9472", +"T3W1_de_bitcoin-test_fujicoin.py::test_send_p2tr": "bd8e5fdc5cc8cba1a935707c8a09c96c883b274856350d1804466757595ea6ed", +"T3W1_de_bitcoin-test_getaddress.py::test_address_mac": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress.py::test_altcoin_address_mac": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress.py::test_bch": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress.py::test_bch_multisig": "3b37fce173b535e57b6b09731bc3480f7be92639c3f1a6e624c99945a86b2de2", +"T3W1_de_bitcoin-test_getaddress.py::test_btc": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress.py::test_crw": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress.py::test_elements": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress.py::test_grs": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress.py::test_invalid_path": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress.py::test_ltc": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress.py::test_multisig": "c8961fc59edbb082cd1f0d99be1e7bf5b7eac388219cbfdfb3a61fef98329afc", +"T3W1_de_bitcoin-test_getaddress.py::test_multisig_different_paths": "5901e52f77c0e3be4650114d73154f15ce1b6fa5e6492b3ac3fee9494b827ba5", +"T3W1_de_bitcoin-test_getaddress.py::test_multisig_missing[False]": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress.py::test_multisig_missing[True]": "0fdce75ea3397c3ad90e80d663cc4fed5ce511308f7e509cdeb228fc6f9cc5f4", +"T3W1_de_bitcoin-test_getaddress.py::test_multisig_pubkeys_order": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress.py::test_public_ckd": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress.py::test_tbtc": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress.py::test_tgrs": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress.py::test_unknown_path": "f4ddca09adee6c9c357572e734829a0b6c8c00b44707fe487759296604222132", +"T3W1_de_bitcoin-test_getaddress_segwit.py::test_multisig_missing[False]": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress_segwit.py::test_multisig_missing[True]": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress_segwit.py::test_show_multisig_3": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress_segwit.py::test_show_segwit": "49c2f6ef24963da648147b95e1573008844a09bfcdd5b2d2dd6d7ad4fbf716ab", +"T3W1_de_bitcoin-test_getaddress_segwit.py::test_show_segwit_altcoin": "3096a059102b9b66e9af874676c5e2b183b78eb04cf3cc0a7dda0f71303f770a", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_bip86[m-86h-0h-0h-0-0-bc1p5cyxnuxmeuwuvkwfem-dc12f29f": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_bip86[m-86h-0h-0h-0-1-bc1p4qhjn9zdvkux4e44uh-1f521bf2": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_bip86[m-86h-0h-0h-1-0-bc1p3qkhfews2uk44qtvau-d8b57624": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_multisig_missing[False]": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_multisig_missing[True]": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_multisig_3": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-0-0-InputScr-6bc4ffc3": "6976b4a3c723165d5e9e2a56086406013cdb70cf458837312528b662e6650529", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-0-0-InputScr-8943c1dc": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-1-0-InputScr-016718c1": "72163b7906c1b8847aa745d6238cdb9c8b06b343d1274ba62f31e05568f0625e", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-1-0-InputScr-7656a4db": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-0-0-InputScr-3d3cc8eb": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-0-0-InputScr-8571d5e0": "5ca1f5f33010f37382ae4a8f6dc5833acf22ae71945aca85d2c8f3f48130cf4f", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-1-0-InputScr-ab700de2": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-1-0-InputScr-da3803e0": "4b7af36783db8fcdf9b4661d9115e5ef8317a666a511aedcb908533b123f6a23", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Elements-m-84h-1h-0h-0-0-InputSc-490228be": "cbfc835e9a29f43b2f01e5c31aff2b4d0feb943fb7c900c743260b3d8761c188", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Elements-m-84h-1h-0h-0-0-InputSc-ed587e90": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--40b95144": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--45b4ff5d": "4a606b33c4bc8a8c71f9bb3b53412ff81492ca47991d4871a131a18b6e92885f", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--8f7c658b": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--93c9c3ff": "64b0aa3d4913e663cc858779ea6eaa5108731b6c569012d4446ca3a23a92cb7b", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-86h-1h-0h--5feb8c64": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-86h-1h-0h--8d4476a1": "750edc39a6ad5d71c3f01989f9dfca83c287826b020421613ef954e530952d72", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-0-0-Inp-0200a67b": "3b5ead2281968667e902f06626eb0546823af24572b5d9bd12afd2ab9554713a", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-0-0-Inp-e6c1098a": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-1-0-Inp-9688a507": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-1-0-Inp-f825f217": "21dad220ef81cba62ec0e3623e0ca06a449b8011a6994395e9821be4bd523783", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-86h-17h-0h-0-0-Inp-38cd93cf": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-86h-17h-0h-0-0-Inp-ebecce6e": "bf8494355b034472799ee38c2dd46bd676c192d37903498cc9745f99cf596187", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-0-0-InputScr-313b9443": "08636bc340f5db4157aabcd08b48b3b3c8acb10fd4fa55e260a9d7b13c394518", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-0-0-InputScr-ce15ec92": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-1-0-InputScr-040186c0": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-1-0-InputScr-b10918be": "f77f3f629f443833002b788b099d16bd7f44f748407f78e2a28c86177d9eba1c", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-0-0-InputScr-55ae0ae6": "e80975bdfef4af4ff3a57dae640b005ee9a8d481992370fc5f1e8f3e96196061", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-0-0-InputScr-821a199d": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-1-0-InputScr-9d2fa8bc": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-1-0-InputScr-d5b7f8fc": "889b4fd70c44016dc08afd842a4c110c96d348de06b7afe633730507fbe3ff15", +"T3W1_de_bitcoin-test_getaddress_show.py::test_show_cancel[m-44h-0h-12h-0-0-InputScriptType.SPENDADD-4eca71e0": "94b4330bdaea011ee7e0cddc9378fd52b22f997b11be838e8d9a597d2cbb1727", +"T3W1_de_bitcoin-test_getaddress_show.py::test_show_cancel[m-49h-0h-12h-0-0-InputScriptType.SPENDP2S-4ec777e0": "070531cb5779b237b43eb3fc5ac01fcdf12972e3adf6cc4a9a489bd7823c96d3", +"T3W1_de_bitcoin-test_getaddress_show.py::test_show_cancel[m-84h-0h-12h-0-0-InputScriptType.SPENDWIT-d6991e22": "2e808d8fac72b0c385c8c94a1b2ca52b77177f72e53ff3143b6d9eb0e1bcbc80", +"T3W1_de_bitcoin-test_getaddress_show.py::test_show_cancel[m-86h-0h-12h-0-0-InputScriptType.SPENDTAP-4c5b2b38": "9fb82161a1beacbf92ddc0e9d1f770c7590f71e4c3046cf604d4672fa6d47668", +"T3W1_de_bitcoin-test_getaddress_show.py::test_show_multisig_15": "9b0a0a3f473c24346280d5668858f12767e00ba495ecaf95027b5d2e95c36cdf", +"T3W1_de_bitcoin-test_getaddress_show.py::test_show_multisig_3": "1500b7a164e104fd29077d575c2280d026004fa7e4dcdb6acef2050429951052", +"T3W1_de_bitcoin-test_getaddress_show.py::test_show_tt[m-44h-0h-12h-0-0-InputScriptType.SPENDADDRESS-5c88d0fd": "889d274677fd60e8c692b21b8b66af694e0d546bd41052ce82b044892b51b21d", +"T3W1_de_bitcoin-test_getaddress_show.py::test_show_tt[m-44h-0h-12h-0-0-InputScriptType.SPENDADDRESS-87490d4e": "68ca0d59fc72154ac07e2ac6397808283ff212b5ee39d81c776e58d0665701a7", +"T3W1_de_bitcoin-test_getaddress_show.py::test_show_tt[m-49h-0h-12h-0-0-InputScriptType.SPENDP2SHWIT-9bc227c1": "a8d88b1568046779fe1df2d0058ea2ffb2a3b151627253fdf42cc94bd64b5830", +"T3W1_de_bitcoin-test_getaddress_show.py::test_show_tt[m-49h-0h-12h-0-0-InputScriptType.SPENDP2SHWIT-aca0623f": "aec4cd5bdc0070f37babf00766f78ce78495a5b456a0baf5805aa7247d25abb0", +"T3W1_de_bitcoin-test_getaddress_show.py::test_show_tt[m-84h-0h-12h-0-0-InputScriptType.SPENDWITNESS-747c079d": "d0e9e4b270976a05437c7b216b71de8da7e85c8d46d7dd5f4a74b031f5ec8685", +"T3W1_de_bitcoin-test_getaddress_show.py::test_show_tt[m-84h-0h-12h-0-0-InputScriptType.SPENDWITNESS-e4302080": "899faad0d0bd75dd80f0030cc636763fac34bd35b6c8c4952e48fc35322405e3", +"T3W1_de_bitcoin-test_getaddress_show.py::test_show_tt[m-86h-0h-12h-0-0-InputScriptType.SPENDTAPROOT-071a4a07": "63b2c4068a155e119212550d1cc666a2a690ba207367888e91c6dff498068f28", +"T3W1_de_bitcoin-test_getaddress_show.py::test_show_tt[m-86h-0h-12h-0-0-InputScriptType.SPENDTAPROOT-25ee9808": "6b97ee70781304f920d2bc9198ab0b418ae89ab892fa0f1dc6257c0215a7e7e6", +"T3W1_de_bitcoin-test_getaddress_show.py::test_show_unrecognized_path": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getownershipproof.py::test_attack_ownership_id": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getownershipproof.py::test_confirm_ownership_proof": "42ee03ffe1c0621bf22cc0c9d19a4a7d7135ad25afac27a0b4c77e2fe4f5f80a", +"T3W1_de_bitcoin-test_getownershipproof.py::test_confirm_ownership_proof_with_data": "50bc84cb425c02cb1b90efd06df30efea23ea1b845da783f3acdb19867adbf0a", +"T3W1_de_bitcoin-test_getownershipproof.py::test_fake_ownership_id": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getownershipproof.py::test_p2tr_ownership_id": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getownershipproof.py::test_p2tr_ownership_proof": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getownershipproof.py::test_p2wpkh_ownership_id": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getownershipproof.py::test_p2wpkh_ownership_proof": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path0-xpub6BiVtCpG9fQPx-40a56ca3": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path1-xpub6BiVtCpG9fQQR-1abafc98": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path2-xpub6FVDRC1jiWNTu-47a67414": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path3-xpub6GhTNegKCjTqj-990e0830": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path6-xpub68Zyu13qjcQvJ-8285bd20": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path10-Ltub2dcb6Nghj3k-53e5db37": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path7-Ltub2Y8PyEMWQVgi-d0bb059c": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path8-Ltub2Y8PyEMWQVgi-98ae2c41": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path9-Ltub2dTvwC4v7GNe-8d6d95fb": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey.py::test_get_public_node[Testnet-70617039-path4-tpubDDKn3FtHc74Ca-f3b70aff": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey.py::test_get_public_node[Testnet-70617039-path5-tpubDGwNSs8z8jZU2-8b5efa13": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path0-xpub6BiVtCpG-d791cce2": "aee309d2fa86e4b73175504ff2a3724a05878a22904d89663cf82efa9d3dbfb5", +"T3W1_de_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path1-xpub6BiVtCpG-74c78643": "253a6d8ac6786924b58cee088ed656095e07605fac8bb404a93a076ea8e93d1b", +"T3W1_de_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path2-xpub6FVDRC1j-3074f5a6": "d08f93e86fd045f2fa96f8920ac668b09f38500c2b77d9e7149c71e5cc02d85b", +"T3W1_de_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path3-xpub6GhTNegK-1b073ed9": "3533e6a6f62cecb7e79d7b5e588973fdd6eebe49a6784e94fa8993059098c0c7", +"T3W1_de_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path6-xpub68Zyu13q-eb190bf2": "aef7ca77e7aeebe5c17df50353ae990251291e4492c984305a09611cd79aa0c6", +"T3W1_de_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path10-Ltub2dcb6N-d2ef4e5a": "7c754df530a1acad8902356ca02ef2f690133ac851ffad7cacf2cb511fa93ed0", +"T3W1_de_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path7-Ltub2Y8PyEM-b9a6bf56": "8c656db843f60e1cc3b791161ff115c9382bc03e92e8e9d66c7628196fdaaf49", +"T3W1_de_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path8-Ltub2Y8PyEM-d598ed84": "ed6b613b84e5026a50a0e44433732c08c01f2a157db3dfe191010b233eac148b", +"T3W1_de_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path9-Ltub2dTvwC4-bfef8b2e": "916006b12032bf9985427c832b0959f11d21f05b7f4b0108380e60a4cbacb957", +"T3W1_de_bitcoin-test_getpublickey.py::test_get_public_node_show[Testnet-70617039-path4-tpubDDKn3FtH-5ca1cba5": "b0d9027f0c27e29d96150f69e1c02c35177feb987120338232411999ab7a5822", +"T3W1_de_bitcoin-test_getpublickey.py::test_get_public_node_show[Testnet-70617039-path5-tpubDGwNSs8z-60ca5612": "d19df7e133772e4dac508f6d7472358645231a8410ad64ec621a0370262b4b43", +"T3W1_de_bitcoin-test_getpublickey.py::test_invalid_path[Bcash-path5]": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey.py::test_invalid_path[Bitcoin-path0]": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey.py::test_invalid_path[Bitcoin-path2]": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey.py::test_invalid_path[Bitcoin-path3]": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey.py::test_invalid_path[Litecoin-path4]": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey.py::test_invalid_path[Testnet-path1]": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey.py::test_script_type[InputScriptType.SPENDADDRESS-xpub6BiVtCp7ozs-9813cc48": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey.py::test_script_type[InputScriptType.SPENDP2SHWITNESS-ypub6WYmBsV-0710fbb3": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey.py::test_script_type[InputScriptType.SPENDWITNESS-zpub6qP2VY9x7Mx-84eaa56c": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey.py::test_script_type[None-xpub6BiVtCp7ozsRo7kaoYNrCNAVJwPYTQHjoXF-c37a47fd": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey.py::test_slip25_path": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey_curve.py::test_coin_and_curve": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey_curve.py::test_ed25519_public": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey_curve.py::test_publickey_curve[ed25519-path4-002e28dc0346d6d30d4e-e6c7a440": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey_curve.py::test_publickey_curve[nist256p1-path2-0324c6860c25cdf7a8-d75f4900": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey_curve.py::test_publickey_curve[nist256p1-path3-03b93f7e6c777143ad-2d6b178b": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey_curve.py::test_publickey_curve[secp256k1-path0-02f65ce170451f66f4-9c982c22": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_getpublickey_curve.py::test_publickey_curve[secp256k1-path1-0212f4629f4f224db0-0209bb73": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_grs.py::test_legacy": "d00896027249cb3ed0e851e33ecb8ed1391b7449261464206c1336eb50f758b7", +"T3W1_de_bitcoin-test_grs.py::test_legacy_change": "b3151f1e47adb72af99dbe4af8cf643c05ac933db47179b975d0f4debbfd2f47", +"T3W1_de_bitcoin-test_grs.py::test_send_p2tr": "04988760b534875e495b610f51bcb2622f4356f22ddab9c8540a16eb41609f7f", +"T3W1_de_bitcoin-test_grs.py::test_send_segwit_native": "5908bd3f587b283704bbcec731e1f190656049715112b08cf467fe9de2640ac0", +"T3W1_de_bitcoin-test_grs.py::test_send_segwit_native_change": "93baca46f809ec9c2ede3938a763bb7cbad1bb9b68499a964b95dd88ad050d75", +"T3W1_de_bitcoin-test_grs.py::test_send_segwit_p2sh": "7a1d18427666c3005eb1962a4545059ec9f8b94e22882c6c57b1046f9ff21085", +"T3W1_de_bitcoin-test_grs.py::test_send_segwit_p2sh_change": "4acb6a08f98e53dd9582ad052a77cf593c9d7b58030f66c434c43d7f41aaddb4", +"T3W1_de_bitcoin-test_komodo.py::test_one_one_fee_sapling": "8c83d3ec8adb90f03b99f5d1fdfa7340ab08c39e4abaf54ac5eda84e5fc4db6a", +"T3W1_de_bitcoin-test_komodo.py::test_one_one_rewards_claim": "8e771bd4519ed9c25da6cb856eb55062bbbfc509461857c20d73fc3cc911f6ae", +"T3W1_de_bitcoin-test_multisig.py::test_15_of_15": "25693cc12651791e6c7356bcce99f24f8035e1d11f9f5cd250fdcf153f4345ba", +"T3W1_de_bitcoin-test_multisig.py::test_2_of_3[False]": "a5b1c9838262807f74016917fddd4b1ef0de3f75a474c5497463aa609f7cd6b4", +"T3W1_de_bitcoin-test_multisig.py::test_2_of_3[True]": "9ea3960a7626d56e18d2db7f3436a623c93478df994837b603b70760eb965eb3", +"T3W1_de_bitcoin-test_multisig.py::test_attack_change_input": "dbdc32676f6e722e278027889d5041670d647564d3805faa2eeb8f8a0ca29fd3", +"T3W1_de_bitcoin-test_multisig.py::test_missing_pubkey": "ab5913e95812dff76ca1216ba270e10471be595f86eda72c2c14d74e50957924", +"T3W1_de_bitcoin-test_multisig.py::test_pubkeys_order": "c25a85337686a4a16b0e1a0e758395799e91ed7904acf712f9daa280f637b740", +"T3W1_de_bitcoin-test_multisig_change.py::test_external_external": "7c7ba8b4419dcd4bddf3315b415af2373278473a1b0f05c0227f883a4ada2a80", +"T3W1_de_bitcoin-test_multisig_change.py::test_external_internal": "a7295a7126bc3905dd5b054f3b6ba261798e3063ba0e6b2811dacfec3e9b0420", +"T3W1_de_bitcoin-test_multisig_change.py::test_internal_external": "f52ad4711dcfab9003e5180776543b4eb0fc51b835509e7c5dc5055245f29cca", +"T3W1_de_bitcoin-test_multisig_change.py::test_multisig_change_match_first": "ff07386a95f22cc1d87233f537c575c44d8fcacad53e112893af75193d1bb3df", +"T3W1_de_bitcoin-test_multisig_change.py::test_multisig_change_match_second": "379bb19ccbac21c5614f850836a4758241f2b9a29fa9eaf6e134625b228012f0", +"T3W1_de_bitcoin-test_multisig_change.py::test_multisig_external_external": "e3d09ea8782b56ccbf04812d32954590b1d75947e0c3ca99484bf94c4a3956f7", +"T3W1_de_bitcoin-test_multisig_change.py::test_multisig_mismatch_inputs": "98018fd99aabc72ca7a6054c98638115ba97dea55f117a629377bfe9ac104c42", +"T3W1_de_bitcoin-test_multisig_change.py::test_multisig_mismatch_multisig_change": "993eb5919e31370759d7c209b6b0651ba2ba226c11d80b48ddf5d8306340d484", +"T3W1_de_bitcoin-test_multisig_change.py::test_multisig_mismatch_multisig_change_different_paths": "dcd08728fd10e9bf5a35d15575084414d53d055b15f6252628b462e3c62c2d62", +"T3W1_de_bitcoin-test_multisig_change.py::test_sorted_multisig_change_match_first": "ff07386a95f22cc1d87233f537c575c44d8fcacad53e112893af75193d1bb3df", +"T3W1_de_bitcoin-test_multisig_change.py::test_sorted_multisig_mismatch_inputs": "bdb55048e705071028be7a2427bb9b8de6cce530e4690900718128ffe49bafc1", +"T3W1_de_bitcoin-test_multisig_change.py::test_sorted_multisig_mismatch_multisig_change": "8fd89fa28d0ff142215db8ddbded69d3c425ba1ffbbf56a628dbfa678a49d407", +"T3W1_de_bitcoin-test_op_return.py::test_nonzero_opreturn": "ab5913e95812dff76ca1216ba270e10471be595f86eda72c2c14d74e50957924", +"T3W1_de_bitcoin-test_op_return.py::test_opreturn": "9f3df51a896c2940c76bc1c7c096905263b110fe83d1c7b8b460ef41b57bd507", +"T3W1_de_bitcoin-test_op_return.py::test_opreturn_address": "ab5913e95812dff76ca1216ba270e10471be595f86eda72c2c14d74e50957924", +"T3W1_de_bitcoin-test_peercoin.py::test_timestamp_included": "cb5dac2fc2ac804b54583eb4d80ce37cb8a04be0e057863c413aa19a8698944d", +"T3W1_de_bitcoin-test_peercoin.py::test_timestamp_missing": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_peercoin.py::test_timestamp_missing_prevtx": "489b63496a484594bc2d0be2202f172995963591e015cf2425e91db5a7963e0c", +"T3W1_de_bitcoin-test_signtx.py::test_attack_change_input_address": "d143a0ba549bf8a6478ad9f22815add4e4b091c8001b5f46d2559762742b794a", +"T3W1_de_bitcoin-test_signtx.py::test_attack_change_outputs": "7244ecbb09f874dbc1a7db994a3b8e3b9e3e2835ee41b74e533e65046006e12b", +"T3W1_de_bitcoin-test_signtx.py::test_attack_modify_change_address": "c3d238a2540c46b2b2da95b56b338b54f7d073bd77f1edf8d8adb8000897456c", +"T3W1_de_bitcoin-test_signtx.py::test_change_on_main_chain_allowed": "c3d238a2540c46b2b2da95b56b338b54f7d073bd77f1edf8d8adb8000897456c", +"T3W1_de_bitcoin-test_signtx.py::test_fee_high_hardfail": "a6456928889ca8f98ab8f53b7eefe8ffd68fb0165bc507daff69c8217d53145f", +"T3W1_de_bitcoin-test_signtx.py::test_fee_high_warning": "3600ba992d930bd4f8663d07935d87f3b9167838fa0f89e09852d7964a496dc3", +"T3W1_de_bitcoin-test_signtx.py::test_incorrect_input_script_type[InputScriptType.EXTERNAL]": "ab5913e95812dff76ca1216ba270e10471be595f86eda72c2c14d74e50957924", +"T3W1_de_bitcoin-test_signtx.py::test_incorrect_input_script_type[InputScriptType.SPENDADDRESS]": "ab5913e95812dff76ca1216ba270e10471be595f86eda72c2c14d74e50957924", +"T3W1_de_bitcoin-test_signtx.py::test_incorrect_output_script_type[OutputScriptType.PAYTOADDRESS]": "ab5913e95812dff76ca1216ba270e10471be595f86eda72c2c14d74e50957924", +"T3W1_de_bitcoin-test_signtx.py::test_incorrect_output_script_type[OutputScriptType.PAYTOSCRIPTHASH]": "ab5913e95812dff76ca1216ba270e10471be595f86eda72c2c14d74e50957924", +"T3W1_de_bitcoin-test_signtx.py::test_information": "bd57bfdd1058faea1ee6527047f710d78c288649c6a86451603331f1095e3ca1", +"T3W1_de_bitcoin-test_signtx.py::test_information_cancel": "ed12eb6065894edc35a260b55e22566b83b678036e948724ce8db6c0239c219f", +"T3W1_de_bitcoin-test_signtx.py::test_information_mixed": "0c76902db5f917a76bd6ea404b7da6a0a81fa9513c38a13292664d0eb743c206", +"T3W1_de_bitcoin-test_signtx.py::test_lock_time[1-4294967295]": "b786f4a084ca988d0945c50b789e35dd87a0a38554a317c11600e28dacf3144f", +"T3W1_de_bitcoin-test_signtx.py::test_lock_time[499999999-4294967294]": "dc882fe503b20b0345f63d19041bcd006af9aa43e9e96890c3b29ae4e442a28e", +"T3W1_de_bitcoin-test_signtx.py::test_lock_time[500000000-4294967294]": "6bdcd9aace4eea0679dd18818217aac6005f01dca8338bd28c12f0840db5085c", +"T3W1_de_bitcoin-test_signtx.py::test_lock_time_blockheight": "c25eab61d873079b8584981be3d86a8b5098564d9c18c3e43ae6d53b3aebf796", +"T3W1_de_bitcoin-test_signtx.py::test_lock_time_datetime[1985-11-05 00:53:20]": "87b78918eca62ef86d7ac80fb621b545f844d3d1fb458ebb4e680eed45a78709", +"T3W1_de_bitcoin-test_signtx.py::test_lock_time_datetime[2048-08-16 22:14:00]": "1185f9b20236d32297e6389a802dc9324bd3c5dcb1d187ef7f6df6cc56ba36fb", +"T3W1_de_bitcoin-test_signtx.py::test_lots_of_change": "d57a3d6c8e097dfb1a9dec0555b2987d00e8702e63190d33fc4f1f70ea8ba5e2", +"T3W1_de_bitcoin-test_signtx.py::test_lots_of_inputs": "c4fa22a510215811aadcd628dbfff4039fa76aa9512910cb20f065571cd77b02", +"T3W1_de_bitcoin-test_signtx.py::test_lots_of_outputs": "c1aa2a3816cdabbcb51d5f2d962532a793e1ab4a961004c57f57297608acabbd", +"T3W1_de_bitcoin-test_signtx.py::test_not_enough_funds": "4ddac82c63adda6afe79498381d5ac02394f1931e7b0fd46e3f736c65aed6ddb", +"T3W1_de_bitcoin-test_signtx.py::test_not_enough_vouts": "f9d70969af227e68ce92295fdcd8f5485de8c7fa5ab2b7d705e0daa15e42cf99", +"T3W1_de_bitcoin-test_signtx.py::test_one_one_fee": "2053fb9448a45cf16fca5a2451124a41bd0a0f8f8fb8de9506d7ff16d4445408", +"T3W1_de_bitcoin-test_signtx.py::test_one_three_fee[False]": "b895b48318f47d7520086b1eff961dfcbc44e5c5a6085db449539439b90a9c6a", +"T3W1_de_bitcoin-test_signtx.py::test_one_three_fee[True]": "c9ef3b70886f7548d7c125f285a896f8fbf65043dcf6faf033be4b12586c0691", +"T3W1_de_bitcoin-test_signtx.py::test_one_two_fee": "8e14b3f526123066ec0658c253c1fffd795f15243426d1d1cae3e0a3315d4d8a", +"T3W1_de_bitcoin-test_signtx.py::test_p2sh": "1692a8f992cdca8a2590e35e9575206463526e54054a1ce8a1f2eb74d0ebf4d3", +"T3W1_de_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[branch_id-13]": "39be1332eb61e6ed1d3f799f229ae5251b47f3c659aa2d2874de4991f60032bc", +"T3W1_de_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[expiry-9]": "39be1332eb61e6ed1d3f799f229ae5251b47f3c659aa2d2874de4991f60032bc", +"T3W1_de_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[extra_data-hello world]": "39be1332eb61e6ed1d3f799f229ae5251b47f3c659aa2d2874de4991f60032bc", +"T3W1_de_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[timestamp-42]": "39be1332eb61e6ed1d3f799f229ae5251b47f3c659aa2d2874de4991f60032bc", +"T3W1_de_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[version_group_id-69]": "39be1332eb61e6ed1d3f799f229ae5251b47f3c659aa2d2874de4991f60032bc", +"T3W1_de_bitcoin-test_signtx.py::test_signtx_forbidden_fields[branch_id-13]": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_signtx.py::test_signtx_forbidden_fields[expiry-9]": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_signtx.py::test_signtx_forbidden_fields[timestamp-42]": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_signtx.py::test_signtx_forbidden_fields[version_group_id-69]": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_signtx.py::test_spend_coinbase": "d7f9316b130df2c185441bb0bcd5b1dc8838fa541f0e2f44a0bd2e408f061104", +"T3W1_de_bitcoin-test_signtx.py::test_testnet_big_amount": "2f10ea2ee1ad5bd7b07a08937b03e637be96485fcbf110a50e541f9cb8e43db3", +"T3W1_de_bitcoin-test_signtx.py::test_testnet_fee_high_warning": "efc103458b37d992263541b5894ae340fe5701cf54ad8de5ea483092c9c12741", +"T3W1_de_bitcoin-test_signtx.py::test_testnet_one_two_fee": "c3d238a2540c46b2b2da95b56b338b54f7d073bd77f1edf8d8adb8000897456c", +"T3W1_de_bitcoin-test_signtx.py::test_two_changes": "1f7971f8018f7d385d8338faa405e05ac9642d206747ffd9d55a0db87622e971", +"T3W1_de_bitcoin-test_signtx.py::test_two_two": "b431be6b704213a25f9f81eb8e3bab88ffa03c84238de625c420fd1795eb930a", +"T3W1_de_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.BITCOIN]": "2053fb9448a45cf16fca5a2451124a41bd0a0f8f8fb8de9506d7ff16d4445408", +"T3W1_de_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.MICROBITCOIN]": "e2f471ef1ce6f2055640011254fdac37b1ed931dc3741d1f8f3c5e3116f0f08a", +"T3W1_de_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.MILLIBITCOIN]": "4faf837069d710ea7e9815f729e290f79f0dbcd7f50ec0b2c002c97e648f59a1", +"T3W1_de_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.SATOSHI]": "514909e17bc026dfbbb334744089409d948b36a94a901a581590cb124af5e272", +"T3W1_de_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[None]": "2053fb9448a45cf16fca5a2451124a41bd0a0f8f8fb8de9506d7ff16d4445408", +"T3W1_de_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.BITCOIN]": "80f55f62552fad65ff6b80a21d2ca6ed6ee088d14da1f191220975b73592be6d", +"T3W1_de_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.MICROBITCOIN]": "43cd48125905507934fca930f201bd15280c2197e99bce4f08020916d7a87903", +"T3W1_de_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.MILLIBITCOIN]": "8dc656e6211f3216511493dc74461d2381778cdb3964d14da8504c21d65527b1", +"T3W1_de_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.SATOSHI]": "add3d0b220e726aabd0aa2aea156f752f185b575852c75ddef326156ae3bc5d0", +"T3W1_de_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[None]": "80f55f62552fad65ff6b80a21d2ca6ed6ee088d14da1f191220975b73592be6d", +"T3W1_de_bitcoin-test_signtx_external.py::test_p2pkh_presigned": "d10218900f3d67450610b2efbe614b9ff2cefcfaf47d43479c824677dd796d80", +"T3W1_de_bitcoin-test_signtx_external.py::test_p2pkh_with_proof": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_signtx_external.py::test_p2tr_external_presigned": "169f8a8d40fbba153d5878b073c729ea0565b03fa9a2b3e4839aa2608decface", +"T3W1_de_bitcoin-test_signtx_external.py::test_p2tr_external_unverified": "e3b5b50a654520e818aae0ebc30e7ffe63e57b5201520da375619b98346dcf2d", +"T3W1_de_bitcoin-test_signtx_external.py::test_p2tr_with_proof": "c15aa40dc923f71d36dc9056f37535798a026a7b7e8828d08ef226923bfe61ac", +"T3W1_de_bitcoin-test_signtx_external.py::test_p2wpkh_external_unverified": "ce95568632f330db6594f5f6fe6bfb3ee5aa98e3771e1ff9bd9611ea60f4a28b", +"T3W1_de_bitcoin-test_signtx_external.py::test_p2wpkh_in_p2sh_presigned": "c36784e08015d31ee7dae6c6f76dcaf62d5022c6141b65b630a8207c8e4d52ea", +"T3W1_de_bitcoin-test_signtx_external.py::test_p2wpkh_in_p2sh_with_proof": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_signtx_external.py::test_p2wpkh_presigned": "490147cd988ecf3c0f4e96a281e7ae5cb2ca061c6191d052e953f48afcb2e666", +"T3W1_de_bitcoin-test_signtx_external.py::test_p2wpkh_with_false_proof": "ab5913e95812dff76ca1216ba270e10471be595f86eda72c2c14d74e50957924", +"T3W1_de_bitcoin-test_signtx_external.py::test_p2wpkh_with_proof": "4f05a0b3d4f6402c634fb427326a0f947c139d47b6c87eddaf78890e59922a15", +"T3W1_de_bitcoin-test_signtx_external.py::test_p2wsh_external_presigned": "b51eae53cffd285d146e968bfc0eb9afaf17e584bd807dc85bb5a8e149ac8248", +"T3W1_de_bitcoin-test_signtx_invalid_path.py::test_attack_path_segwit": "7a8f5a6dd13f4e65e6edb5ed1b496856bef3ebdfc0a049ecfd22e329928d5c94", +"T3W1_de_bitcoin-test_signtx_invalid_path.py::test_invalid_path_fail": "ab5913e95812dff76ca1216ba270e10471be595f86eda72c2c14d74e50957924", +"T3W1_de_bitcoin-test_signtx_invalid_path.py::test_invalid_path_fail_asap": "ab5913e95812dff76ca1216ba270e10471be595f86eda72c2c14d74e50957924", +"T3W1_de_bitcoin-test_signtx_invalid_path.py::test_invalid_path_pass_forkid": "6d09cdbdc25ec0b9374bfb7734c16e1bc616079facdf9bee7a6f8b65db980b68", +"T3W1_de_bitcoin-test_signtx_invalid_path.py::test_invalid_path_prompt": "f5efdd4dbbe035ea39c50412911b90ff4d762642411d6e2fc40f1029f549e2cc", +"T3W1_de_bitcoin-test_signtx_mixed_inputs.py::test_non_segwit_segwit_inputs": "39000dda49e87c09117f1a6eeceb8fc004b84ad95c74abf09f455dd82913a0c5", +"T3W1_de_bitcoin-test_signtx_mixed_inputs.py::test_non_segwit_segwit_non_segwit_inputs": "058f642dd3fc0eef7497b6b9a975ab207ec74d986981106b09e7afbc5d2d974d", +"T3W1_de_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_inputs": "39000dda49e87c09117f1a6eeceb8fc004b84ad95c74abf09f455dd82913a0c5", +"T3W1_de_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_segwit_inputs": "058f642dd3fc0eef7497b6b9a975ab207ec74d986981106b09e7afbc5d2d974d", +"T3W1_de_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[]": "ab5913e95812dff76ca1216ba270e10471be595f86eda72c2c14d74e50957924", +"T3W1_de_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[hello world]": "ab5913e95812dff76ca1216ba270e10471be595f86eda72c2c14d74e50957924", +"T3W1_de_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[x]": "ab5913e95812dff76ca1216ba270e10471be595f86eda72c2c14d74e50957924", +"T3W1_de_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "ab5913e95812dff76ca1216ba270e10471be595f86eda72c2c14d74e50957924", +"T3W1_de_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[]": "818dea7a9941561436476727cc6910836601f07d8d6c4d7f62c826f351d65a74", +"T3W1_de_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[hello world]": "818dea7a9941561436476727cc6910836601f07d8d6c4d7f62c826f351d65a74", +"T3W1_de_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[x]": "818dea7a9941561436476727cc6910836601f07d8d6c4d7f62c826f351d65a74", +"T3W1_de_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "818dea7a9941561436476727cc6910836601f07d8d6c4d7f62c826f351d65a74", +"T3W1_de_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[]": "04a4e67f9997dced3b11e084eeab855cc55cac4038209854f446c687b08d762f", +"T3W1_de_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[hello world]": "04a4e67f9997dced3b11e084eeab855cc55cac4038209854f446c687b08d762f", +"T3W1_de_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[x]": "04a4e67f9997dced3b11e084eeab855cc55cac4038209854f446c687b08d762f", +"T3W1_de_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "04a4e67f9997dced3b11e084eeab855cc55cac4038209854f446c687b08d762f", +"T3W1_de_bitcoin-test_signtx_segwit.py::test_attack_change_input_address": "15578b4e0c49b80ec7ae96d07beeb886ea9cba7955f54760e81dbc3ff757d19d", +"T3W1_de_bitcoin-test_signtx_segwit.py::test_attack_mixed_inputs": "99748b496e93b35d6470e096058bc23390827c1ddb29407383ae855737811bab", +"T3W1_de_bitcoin-test_signtx_segwit.py::test_send_multisig_1": "c7f946316b7892af17b3009d4bf855de2c196ad8a647c829469b41278f0d6950", +"T3W1_de_bitcoin-test_signtx_segwit.py::test_send_p2sh[False]": "6cee20d83ca8ebe8bb0bac2111338a794d67e530c97075becc35ca4191c376a0", +"T3W1_de_bitcoin-test_signtx_segwit.py::test_send_p2sh[True]": "d03cc82c3ae50485a7f14eebf0fe6cd4f5932025ce62ae96a0df0451f148de29", +"T3W1_de_bitcoin-test_signtx_segwit.py::test_send_p2sh_change": "e47940b9629c02daf2b93ce1d432b15df6ba9f73c31f929e7e3c9ef29cb21e62", +"T3W1_de_bitcoin-test_signtx_segwit.py::test_testnet_segwit_big_amount": "df624cbedb71beee41b7ccf1de8e887091ec2be1c0c0244a6e81c5266a365312", +"T3W1_de_bitcoin-test_signtx_segwit_native.py::test_multisig_mismatch_inputs_single": "107390a847634e5c694a7f4a5824869a3031b12c0efda0c8a87bcea023b98cf8", +"T3W1_de_bitcoin-test_signtx_segwit_native.py::test_send_both": "41705e3e94d1a6d4fb97e6352f2a504e4425f95256eb4fd6f000078c465eb587", +"T3W1_de_bitcoin-test_signtx_segwit_native.py::test_send_multisig_1": "5e46dcbad3313ffb78c3ec211ff1536656e2061692704b2cc806ec3357809f77", +"T3W1_de_bitcoin-test_signtx_segwit_native.py::test_send_multisig_2": "486c24664bc82d699ee17b6c4f4c4d95fc0ce988b553a079a95fbe829eed050e", +"T3W1_de_bitcoin-test_signtx_segwit_native.py::test_send_multisig_3_change": "bd6b1123da08bdc47290e008c3686f7d4d7a6a98ca338d27f910dba75d5f21cf", +"T3W1_de_bitcoin-test_signtx_segwit_native.py::test_send_multisig_4_change": "fbd1a3f255efa447e850234cb21bbc894f056e95e4eb2584781185d8cea3fe8e", +"T3W1_de_bitcoin-test_signtx_segwit_native.py::test_send_native": "80f55f62552fad65ff6b80a21d2ca6ed6ee088d14da1f191220975b73592be6d", +"T3W1_de_bitcoin-test_signtx_segwit_native.py::test_send_native_change": "d29b73919fdcf1a381d0a018cd2191692aa5d5e668f22929a7d5ac601d92d58b", +"T3W1_de_bitcoin-test_signtx_segwit_native.py::test_send_p2sh": "e845da1477b3e7ac82c1d207dfacd4ee1d2881eb7f718ab566025edea3801ed4", +"T3W1_de_bitcoin-test_signtx_segwit_native.py::test_send_p2sh_change": "bd41e5a7123c326ea4d13e910d2138c83c0da146f5b06c84a53a6863de5f916b", +"T3W1_de_bitcoin-test_signtx_segwit_native.py::test_send_to_taproot": "8709d4c622974e614cb5d943b536aa0afedf84665a756e3e5bcb890f47c751db", +"T3W1_de_bitcoin-test_signtx_taproot.py::test_attack_script_type": "e9bb129dbaab473d3a4bfc58525fd6b566cbb8ccbe4bd6030b60d569748872cb", +"T3W1_de_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1pam775nxmvam4pfpqlm5q06k0y84e3-a257be51": "ab5913e95812dff76ca1216ba270e10471be595f86eda72c2c14d74e50957924", +"T3W1_de_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1plllllllllllllllllllllllllllll-aaa668e3": "ab5913e95812dff76ca1216ba270e10471be595f86eda72c2c14d74e50957924", +"T3W1_de_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1plycg5qvjtrp3qjf5f7zl382j9x6nr-5447628e": "ab5913e95812dff76ca1216ba270e10471be595f86eda72c2c14d74e50957924", +"T3W1_de_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1zlycg5qvjtrp3qjf5f7zl382j9x6nr-880d4a6b": "ab5913e95812dff76ca1216ba270e10471be595f86eda72c2c14d74e50957924", +"T3W1_de_bitcoin-test_signtx_taproot.py::test_send_mixed": "b880d2344d0e015587c5e098ead46c356c79a96e00b680bc06d31d4d2c72f469", +"T3W1_de_bitcoin-test_signtx_taproot.py::test_send_p2tr[False]": "6e1abb73b17b18414fa9af6a9ec42687a0462e0242e21dd04bcb2686e752fee5", +"T3W1_de_bitcoin-test_signtx_taproot.py::test_send_p2tr[True]": "1d6636d2664ac37d1f39985b0b305592db675e5600643853bbb56b31e430fda2", +"T3W1_de_bitcoin-test_signtx_taproot.py::test_send_two_with_change": "9915defd354a5bb19805eda9aba23d66f3f7f22d5b6ffdd810741362e2061126", +"T3W1_de_bitcoin-test_zcash.py::test_external_presigned": "a650cec76dad8c967d57f46ef6653168086886fde91a142e17fc4956ff691566", +"T3W1_de_bitcoin-test_zcash.py::test_one_one_fee_sapling": "b8ba12047c1640dbf87ee08729638d46b55bd0c1fc6fb6e43f001750c0fceb77", +"T3W1_de_bitcoin-test_zcash.py::test_spend_old_versions": "63f761ea9eb9af5d1f1b22a4f694d59bdc044728d2047e078472f38073a52ef3", +"T3W1_de_bitcoin-test_zcash.py::test_v3_not_supported": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_bitcoin-test_zcash.py::test_version_group_id_missing": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_misc-test_msg_cipherkeyvalue.py::test_decrypt": "06ede3397f6d511b33a58f6a433ddda76299a235ed28e610ea6ec790b06a7439", +"T3W1_de_misc-test_msg_cipherkeyvalue.py::test_decrypt_badlen": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_misc-test_msg_cipherkeyvalue.py::test_encrypt": "a7710778ec06f271d9eeb2eb811b638598de67081e79ef4f364371fb4032c782", +"T3W1_de_misc-test_msg_cipherkeyvalue.py::test_encrypt_badlen": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_misc-test_msg_enablelabeling.py::test_encrypt": "37a4716a6ec2d8fec91d6c0ef2e6b413f678391604a848b0a41b2b2359b6bd4a", +"T3W1_de_misc-test_msg_getecdhsessionkey.py::test_ecdh": "a30b7b832e6fd5b1858e0139834e3cc7ffbb9ba00041cc30f7a43d97b67fbb81", +"T3W1_de_misc-test_msg_getentropy.py::test_entropy[128]": "c5cddbe6a36b27054231f564c304af6143f4972732e2448b80ed38ba39841056", +"T3W1_de_misc-test_msg_getentropy.py::test_entropy[129]": "c5cddbe6a36b27054231f564c304af6143f4972732e2448b80ed38ba39841056", +"T3W1_de_misc-test_msg_getentropy.py::test_entropy[16]": "c5cddbe6a36b27054231f564c304af6143f4972732e2448b80ed38ba39841056", +"T3W1_de_misc-test_msg_getentropy.py::test_entropy[17]": "c5cddbe6a36b27054231f564c304af6143f4972732e2448b80ed38ba39841056", +"T3W1_de_misc-test_msg_getentropy.py::test_entropy[1]": "c5cddbe6a36b27054231f564c304af6143f4972732e2448b80ed38ba39841056", +"T3W1_de_misc-test_msg_getentropy.py::test_entropy[256]": "c5cddbe6a36b27054231f564c304af6143f4972732e2448b80ed38ba39841056", +"T3W1_de_misc-test_msg_getentropy.py::test_entropy[257]": "c5cddbe6a36b27054231f564c304af6143f4972732e2448b80ed38ba39841056", +"T3W1_de_misc-test_msg_getentropy.py::test_entropy[2_0]": "c5cddbe6a36b27054231f564c304af6143f4972732e2448b80ed38ba39841056", +"T3W1_de_misc-test_msg_getentropy.py::test_entropy[2_1]": "c5cddbe6a36b27054231f564c304af6143f4972732e2448b80ed38ba39841056", +"T3W1_de_misc-test_msg_getentropy.py::test_entropy[32]": "c5cddbe6a36b27054231f564c304af6143f4972732e2448b80ed38ba39841056", +"T3W1_de_misc-test_msg_getentropy.py::test_entropy[33]": "c5cddbe6a36b27054231f564c304af6143f4972732e2448b80ed38ba39841056", +"T3W1_de_misc-test_msg_getentropy.py::test_entropy[3]": "c5cddbe6a36b27054231f564c304af6143f4972732e2448b80ed38ba39841056", +"T3W1_de_misc-test_msg_getentropy.py::test_entropy[4]": "c5cddbe6a36b27054231f564c304af6143f4972732e2448b80ed38ba39841056", +"T3W1_de_misc-test_msg_getentropy.py::test_entropy[512]": "c5cddbe6a36b27054231f564c304af6143f4972732e2448b80ed38ba39841056", +"T3W1_de_misc-test_msg_getentropy.py::test_entropy[513]": "c5cddbe6a36b27054231f564c304af6143f4972732e2448b80ed38ba39841056", +"T3W1_de_misc-test_msg_getentropy.py::test_entropy[5]": "c5cddbe6a36b27054231f564c304af6143f4972732e2448b80ed38ba39841056", +"T3W1_de_misc-test_msg_getentropy.py::test_entropy[64]": "c5cddbe6a36b27054231f564c304af6143f4972732e2448b80ed38ba39841056", +"T3W1_de_misc-test_msg_getentropy.py::test_entropy[65]": "c5cddbe6a36b27054231f564c304af6143f4972732e2448b80ed38ba39841056", +"T3W1_de_misc-test_msg_getentropy.py::test_entropy[8]": "c5cddbe6a36b27054231f564c304af6143f4972732e2448b80ed38ba39841056", +"T3W1_de_misc-test_msg_getentropy.py::test_entropy[9]": "c5cddbe6a36b27054231f564c304af6143f4972732e2448b80ed38ba39841056", +"T3W1_de_misc-test_msg_signidentity.py::test_sign": "5833981ba7ff7ef05f30df548d3155a81d0c94f26adbd310e715f879976e1da5", +"T3W1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "3d6ebf7f69a9e3fa9a5457438a6aa3328322f12196314bb7bf59e307083ea755", +"T3W1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "f5a3f3d72c941a59769fa04f3e6912b6684470ebe01a0ea35692693c0da3030a", +"T3W1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "de3d47bbde6ee6d12ffd0fb691720329d2af6aba19e18ec9bf4b135636fc7ec7", +"T3W1_de_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "cf811531e33f6b24e1a1dfeb36e01a38186993b60394f891d8195b23b199621f", +"T3W1_de_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_reset_recovery-test_recovery_bip39_t2.py::test_tt_nopin_nopassphrase": "5c1d4abb90228571001ed9c4246b425f201bff8dfe8171a8699bc68731534281", +"T3W1_de_reset_recovery-test_recovery_bip39_t2.py::test_tt_pin_passphrase": "5c1d4abb90228571001ed9c4246b425f201bff8dfe8171a8699bc68731534281", +"T3W1_de_reset_recovery-test_recovery_slip39_advanced.py::test_abort": "5c1d4abb90228571001ed9c4246b425f201bff8dfe8171a8699bc68731534281", +"T3W1_de_reset_recovery-test_recovery_slip39_advanced.py::test_extra_share_entered": "5c1d4abb90228571001ed9c4246b425f201bff8dfe8171a8699bc68731534281", +"T3W1_de_reset_recovery-test_recovery_slip39_advanced.py::test_group_threshold_reached": "5c1d4abb90228571001ed9c4246b425f201bff8dfe8171a8699bc68731534281", +"T3W1_de_reset_recovery-test_recovery_slip39_advanced.py::test_noabort": "5c1d4abb90228571001ed9c4246b425f201bff8dfe8171a8699bc68731534281", +"T3W1_de_reset_recovery-test_recovery_slip39_advanced.py::test_same_share": "5c1d4abb90228571001ed9c4246b425f201bff8dfe8171a8699bc68731534281", +"T3W1_de_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares0-c2d2e26ad06023c60145f1-afc2dad5": "5c1d4abb90228571001ed9c4246b425f201bff8dfe8171a8699bc68731534281", +"T3W1_de_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares1-c41d5cf80fed71a008a3a0-eb47093e": "5c1d4abb90228571001ed9c4246b425f201bff8dfe8171a8699bc68731534281", +"T3W1_de_reset_recovery-test_recovery_slip39_advanced.py::test_secret_click_info_button[shares0-c2d2-850ffa77": "5c1d4abb90228571001ed9c4246b425f201bff8dfe8171a8699bc68731534281", +"T3W1_de_reset_recovery-test_recovery_slip39_advanced.py::test_secret_click_info_button[shares1-c41d-ca9ddec8": "5c1d4abb90228571001ed9c4246b425f201bff8dfe8171a8699bc68731534281", +"T3W1_de_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_dryrun": "b74ef75b1a9f557642ec0f660aabb2c6f82df8213bcba20ef6d62885a749ac72", +"T3W1_de_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_invalid_seed_dryrun": "04746d6a276ad1c2dadd19d245ed1fd5258eacde2145eac30a237a0885bfb19b", +"T3W1_de_reset_recovery-test_recovery_slip39_basic.py::test_1of1": "5c1d4abb90228571001ed9c4246b425f201bff8dfe8171a8699bc68731534281", +"T3W1_de_reset_recovery-test_recovery_slip39_basic.py::test_abort": "5c1d4abb90228571001ed9c4246b425f201bff8dfe8171a8699bc68731534281", +"T3W1_de_reset_recovery-test_recovery_slip39_basic.py::test_abort_between_shares": "5c1d4abb90228571001ed9c4246b425f201bff8dfe8171a8699bc68731534281", +"T3W1_de_reset_recovery-test_recovery_slip39_basic.py::test_abort_on_number_of_words": "5c1d4abb90228571001ed9c4246b425f201bff8dfe8171a8699bc68731534281", +"T3W1_de_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_first_share": "5c1d4abb90228571001ed9c4246b425f201bff8dfe8171a8699bc68731534281", +"T3W1_de_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_second_share": "5c1d4abb90228571001ed9c4246b425f201bff8dfe8171a8699bc68731534281", +"T3W1_de_reset_recovery-test_recovery_slip39_basic.py::test_noabort": "5c1d4abb90228571001ed9c4246b425f201bff8dfe8171a8699bc68731534281", +"T3W1_de_reset_recovery-test_recovery_slip39_basic.py::test_recover_with_pin_passphrase": "5c1d4abb90228571001ed9c4246b425f201bff8dfe8171a8699bc68731534281", +"T3W1_de_reset_recovery-test_recovery_slip39_basic.py::test_same_share": "5c1d4abb90228571001ed9c4246b425f201bff8dfe8171a8699bc68731534281", +"T3W1_de_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares0-491b795b80fc21ccdf466c0fb-ad8c45c0": "5c1d4abb90228571001ed9c4246b425f201bff8dfe8171a8699bc68731534281", +"T3W1_de_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares1-644c905b0c4da21692f06fff3-30d0f8ca": "5c1d4abb90228571001ed9c4246b425f201bff8dfe8171a8699bc68731534281", +"T3W1_de_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares2-b770e0da1363247652de97a39-6af744e3": "5c1d4abb90228571001ed9c4246b425f201bff8dfe8171a8699bc68731534281", +"T3W1_de_reset_recovery-test_recovery_slip39_basic.py::test_share_info_between_shares": "5c1d4abb90228571001ed9c4246b425f201bff8dfe8171a8699bc68731534281", +"T3W1_de_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[0]": "5c1d4abb90228571001ed9c4246b425f201bff8dfe8171a8699bc68731534281", +"T3W1_de_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[1]": "5c1d4abb90228571001ed9c4246b425f201bff8dfe8171a8699bc68731534281", +"T3W1_de_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[2]": "5c1d4abb90228571001ed9c4246b425f201bff8dfe8171a8699bc68731534281", +"T3W1_de_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_dryrun": "e924d2a714f4e4026b187a229fd9387d6064fa7180814ca9580d445df76ad5cf", +"T3W1_de_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_invalid_seed_dryrun": "2d8b580f0f7a098b97835ecfd0bb12fb963adbbb24d851321ca9cf8f15f31bfc", +"T3W1_de_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Bip39-backup_flow_bip39]": "a615ba93ee2fb3936290ab4320886782f5e9a25c2c20f183e527e780868472de", +"T3W1_de_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Advanced_Ext-10ea47d6": "a615ba93ee2fb3936290ab4320886782f5e9a25c2c20f183e527e780868472de", +"T3W1_de_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Basic_Extend-5dbe8b0f": "a615ba93ee2fb3936290ab4320886782f5e9a25c2c20f183e527e780868472de", +"T3W1_de_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Bip39-backup_flow_bip39]": "4535099b23219ea4216fcf495e957fe2fbf7dc480daae6504db43b44c21d2041", +"T3W1_de_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Advanced_Extend-8b11c1dc": "421c32e6056ca8faf875b924a684de3ac82e98948436d786da96be429d5eb7d0", +"T3W1_de_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Basic_Extendabl-cc19e908": "2f08288f222254ab021f8bcda1ce8fc24099e36275907cf9844b807e83c19d0e", +"T3W1_de_reset_recovery-test_reset_bip39_t2.py::test_already_initialized": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_reset_recovery-test_reset_bip39_t2.py::test_entropy_check": "a480c227801811b2a3909f186c6ede4db1eff865c788da09286843d39e814e15", +"T3W1_de_reset_recovery-test_reset_bip39_t2.py::test_failed_pin": "8650e531f7970f8bb222eb5fc18eabb8e955c0d368fe7fb24d403cc9c3d50a4a", +"T3W1_de_reset_recovery-test_reset_bip39_t2.py::test_no_entropy_check": "a480c227801811b2a3909f186c6ede4db1eff865c788da09286843d39e814e15", +"T3W1_de_reset_recovery-test_reset_bip39_t2.py::test_reset_device": "b05346a5b27e2f2e0f478813c92ad395b4e956122fb9d11ba99fc1fa181c66d1", +"T3W1_de_reset_recovery-test_reset_bip39_t2.py::test_reset_device_192": "fe06c6aaba276731b9158a34cb081e2f56148ae1a7a83b67f7a508699d5694da", +"T3W1_de_reset_recovery-test_reset_bip39_t2.py::test_reset_device_pin": "397181206508426aaa5365f0ccba991f0de31255a04462a4542bdaae27726a9f", +"T3W1_de_reset_recovery-test_reset_bip39_t2.py::test_reset_entropy_check": "6dcfa345987163c561482a46e5458dc406af532a98b47c110b2ab52f6677a85f", +"T3W1_de_reset_recovery-test_reset_bip39_t2.py::test_reset_failed_check": "e579449aa61dc0e002611309e14a0c30da05dbfe87579765423126fb68200cfc", +"T3W1_de_reset_recovery-test_reset_recovery_bip39.py::test_reset_recovery": "c612b5fd8bd6cda021c814b4147ce8dfbc4a495c4388f5a344b7135c6167d858", +"T3W1_de_reset_recovery-test_reset_recovery_slip39_advanced.py::test_reset_recovery": "6d99c8a1005a61205bc4240ac3de770991828688a493c7af27338f93b4df7872", +"T3W1_de_reset_recovery-test_reset_recovery_slip39_basic.py::test_reset_recovery": "dd1123d42a53d3575f3c94484f0c2ff59bc488a051f7d530a18a1047da0aeb27", +"T3W1_de_reset_recovery-test_reset_slip39_advanced.py::test_reset_device_slip39_advanced": "c383c71d13e08115b26d8b62ef7db944cc86ea0390e6fb2925c1d3a9b5d437d9", +"T3W1_de_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic": "9c756b79defb003446be73a8c2952477074a45fb689d9b60a39aa853b7464b03", +"T3W1_de_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic_256": "e9373915023c720b92b06cf9ceab643a3f31bff96389f22301786c21a9c9aea9", +"T3W1_de_reset_recovery-test_reset_slip39_basic.py::test_reset_entropy_check": "d1c20042b5ca9b523eea37e41ad8bc61405c1d640f0d372e7559bdd3e3c75631", +"T3W1_de_test_autolock.py::test_apply_auto_lock_delay": "ac2e1911a5e82b219d4e30f73b6edb22f6e1b94fc93563380870e1382b3b47b7", +"T3W1_de_test_autolock.py::test_apply_auto_lock_delay_out_of_range[0]": "f5f5a90ec501f9fcde53c4ca2790edf48cec34f7e850903a928ef03f081b0289", +"T3W1_de_test_autolock.py::test_apply_auto_lock_delay_out_of_range[1]": "f5f5a90ec501f9fcde53c4ca2790edf48cec34f7e850903a928ef03f081b0289", +"T3W1_de_test_autolock.py::test_apply_auto_lock_delay_out_of_range[4194304]": "f5f5a90ec501f9fcde53c4ca2790edf48cec34f7e850903a928ef03f081b0289", +"T3W1_de_test_autolock.py::test_apply_auto_lock_delay_out_of_range[536871]": "f5f5a90ec501f9fcde53c4ca2790edf48cec34f7e850903a928ef03f081b0289", +"T3W1_de_test_autolock.py::test_apply_auto_lock_delay_out_of_range[9]": "f5f5a90ec501f9fcde53c4ca2790edf48cec34f7e850903a928ef03f081b0289", +"T3W1_de_test_autolock.py::test_apply_auto_lock_delay_valid[10]": "514a520050ad3bd6e4b13824f225b0b1ecd796ab6627fb736cb506c71516a492", +"T3W1_de_test_autolock.py::test_apply_auto_lock_delay_valid[123]": "088967da2252c3b85608c2e0743d50bfc649ee823c16eef907c534dc4ae94103", +"T3W1_de_test_autolock.py::test_apply_auto_lock_delay_valid[3601]": "ff37a1b26580310038f1b0ff91d7a1d0b363755ebce572fa8f904777d47273ff", +"T3W1_de_test_autolock.py::test_apply_auto_lock_delay_valid[536870]": "6ca78abd5cb68081bec2811ecbaca3e2b4078345ba29de35e6fbd7dbf8023f14", +"T3W1_de_test_autolock.py::test_apply_auto_lock_delay_valid[60]": "4d59204e7534a102c568e826434de5251e6d455c786a3f05d296348b0f84b534", +"T3W1_de_test_autolock.py::test_apply_auto_lock_delay_valid[7227]": "9c011ca7c883776bd9f1652a57e20a51a5bb85bcb68fc336dae971c1c198babf", +"T3W1_de_test_autolock.py::test_autolock_cancels_ui": "9283c5ebe1cefa0737e63292f1a512b79a5708cbcde693e7944ac11c369d29d5", +"T3W1_de_test_autolock.py::test_autolock_default_value": "89717eea4d271140f897cfa6f657b6b4ca7502cbc30b75a4ea0c8bc89d42c1eb", +"T3W1_de_test_autolock.py::test_autolock_ignores_getaddress": "3633a509086490d3cec0f94ae82b0ea6d8520de9fbb83207865b9bac749c8558", +"T3W1_de_test_autolock.py::test_autolock_ignores_initialize": "3633a509086490d3cec0f94ae82b0ea6d8520de9fbb83207865b9bac749c8558", +"T3W1_de_test_basic.py::test_capabilities": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_test_basic.py::test_device_id_different": "0b834330a27dbb63e0417c4d0ace288736768252c2e4397e1a9276c2aef82e14", +"T3W1_de_test_basic.py::test_device_id_same": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_test_basic.py::test_features": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_test_basic.py::test_ping": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_test_cancel.py::test_cancel_message_via_cancel[message0]": "7c747b03693dc44736a992e1d3bf9f7513bf1cf15de1a06cf729700d67463323", +"T3W1_de_test_cancel.py::test_cancel_message_via_cancel[message1]": "6ddcb2298017ec2b71c630f896821bb6df42df2aabfa38f97ff304ab622dfb6d", +"T3W1_de_test_cancel.py::test_cancel_message_via_initialize[message0]": "7c747b03693dc44736a992e1d3bf9f7513bf1cf15de1a06cf729700d67463323", +"T3W1_de_test_cancel.py::test_cancel_message_via_initialize[message1]": "6ddcb2298017ec2b71c630f896821bb6df42df2aabfa38f97ff304ab622dfb6d", +"T3W1_de_test_debuglink.py::test_softlock_instability": "22eba255fcfcd8bf85fe93c5d391e03ede7117cb175a34e1e7cf1312917dedd0", +"T3W1_de_test_msg_applysettings.py::test_apply_homescreen_jpeg_progressive": "f5f5a90ec501f9fcde53c4ca2790edf48cec34f7e850903a928ef03f081b0289", +"T3W1_de_test_msg_applysettings.py::test_apply_homescreen_jpeg_wrong_size": "f5f5a90ec501f9fcde53c4ca2790edf48cec34f7e850903a928ef03f081b0289", +"T3W1_de_test_msg_applysettings.py::test_apply_homescreen_toif": "f5f5a90ec501f9fcde53c4ca2790edf48cec34f7e850903a928ef03f081b0289", +"T3W1_de_test_msg_applysettings.py::test_apply_settings": "735973a73cccedbc7767c418531acf28501b9d6963a159552aa46fe6f73e9052", +"T3W1_de_test_msg_applysettings.py::test_apply_settings_passphrase": "88b634ec00bc3365e586b77f6a56c8395eb6fd2589681474482e04131248975c", +"T3W1_de_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "8c866d8c4a4c7fc73bb78536baa40051a417b02bd018230b159fbc3cc9fdc1f6", +"T3W1_de_test_msg_applysettings.py::test_apply_settings_rotation": "56c75ae807434325a857f4d5f6fc731b90028e67699457830ea23501cefcf6d2", +"T3W1_de_test_msg_applysettings.py::test_experimental_features": "58217617633c13125cfddf8e8179c1fd4bc3241f578c8075c36abf55edd9abd6", +"T3W1_de_test_msg_applysettings.py::test_label_too_long": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_test_msg_backup_device.py::test_backup_bip39": "b992d6313a3259205ddb74fbc8e50da959afcc430092ae213277acabfe3b6b1f", +"T3W1_de_test_msg_backup_device.py::test_backup_slip39_advanced[click_info]": "6bfcff19bc3ab9eb319d04f65361c1f166bfa38fb0e29a90d69d77d422486f91", +"T3W1_de_test_msg_backup_device.py::test_backup_slip39_advanced[no_click_info]": "6fa3e6ad9297546ee9fe02c89a57f738fbc4f6dbe8c90ceec4a2285939eb2006", +"T3W1_de_test_msg_backup_device.py::test_backup_slip39_basic[click_info]": "6bfcff19bc3ab9eb319d04f65361c1f166bfa38fb0e29a90d69d77d422486f91", +"T3W1_de_test_msg_backup_device.py::test_backup_slip39_basic[no_click_info]": "1c70ea30dfd432b4e03304e2a464f3cb4c242b130751a2e2aa71bd80ae0d79e6", +"T3W1_de_test_msg_backup_device.py::test_backup_slip39_custom[1_of_1]": "db2417b528169215480717f7d4ae2a57f75c5bd07c174cef07048878023359b5", +"T3W1_de_test_msg_backup_device.py::test_backup_slip39_custom[2_of_2]": "1a5c84f73e10e2f2fd18276884d529d98cee74af3cdb0bb0ad4dd3bc174dd7a8", +"T3W1_de_test_msg_backup_device.py::test_backup_slip39_custom[3_of_5]": "ef51ce240cf3d26542234072cb682debf76e67de12dc949fbed2ecd9b2e3861a", +"T3W1_de_test_msg_backup_device.py::test_backup_slip39_single": "65720c415022b88fb5ee921b88c4f25432e0d11ab5ced5e7dcc9efebfe50addc", +"T3W1_de_test_msg_backup_device.py::test_interrupt_backup_fails": "27a0526fdd32f59349bf0d8edfcfbb941ffe350183fe33c54eb50709fcc09bce", +"T3W1_de_test_msg_backup_device.py::test_no_backup_fails": "ffa12dff14621e69fbd40b162273b7d06a33e3c66c6dfa422e3580ba5edd48ac", +"T3W1_de_test_msg_change_wipe_code_t2.py::test_set_pin_to_wipe_code": "e7f45dbefc5eec40b8ca9f4b2263454219eb1f041c0bf2e1bc6f750035b92144", +"T3W1_de_test_msg_change_wipe_code_t2.py::test_set_remove_wipe_code": "189dc5cbe770538e043d24eb393432d99dfe0725f530e5c57692b4ad3b9100c9", +"T3W1_de_test_msg_change_wipe_code_t2.py::test_set_wipe_code_mismatch": "f8ec7a3a5d6994818d42caa7d2cd56e7dc4615618b758e446644667cc7d61d3a", +"T3W1_de_test_msg_change_wipe_code_t2.py::test_set_wipe_code_to_pin": "3dccb242322cba0c600c20bdd5c262b1f733f9d01ee9c257fc16eaee80ffefa1", +"T3W1_de_test_msg_changepin_t2.py::test_change_failed": "c68c7138f7e7f90d78e9d783bbbbb219865735abd1cdab7ebbe5bf5fca919254", +"T3W1_de_test_msg_changepin_t2.py::test_change_invalid_current": "52bf196abddfb5fbfdcfff162cab08b99d70e47c791e64202f3a2a60c708c49e", +"T3W1_de_test_msg_changepin_t2.py::test_change_pin": "3400193773e17499a67fedc3385dfbcda2749654f1b6386a09f5e097a68912f3", +"T3W1_de_test_msg_changepin_t2.py::test_remove_pin": "ce9a6be855f07c6e6c428b8cad9ee98f0290175ca38b6734afc7454251fdce84", +"T3W1_de_test_msg_changepin_t2.py::test_set_failed": "572ae15bebff3572e366bb6e37e6ad6220452c461b0500f284378ba500a734a1", +"T3W1_de_test_msg_changepin_t2.py::test_set_pin": "efb9c349405e4c8e0899128f8586f1b5855273690afeda6c245bf49e3c4f7d3d", +"T3W1_de_test_msg_loaddevice.py::test_load_device_1": "b6c2865b65412a94d2f07fe45f958c22b4b9e5d720c638950f109cfb2179628e", +"T3W1_de_test_msg_loaddevice.py::test_load_device_2": "7d2e1189c858a9b8a4e8175115a250805d7c588688c323e774cd6e81aec6bb7c", +"T3W1_de_test_msg_loaddevice.py::test_load_device_slip39_advanced": "b6c2865b65412a94d2f07fe45f958c22b4b9e5d720c638950f109cfb2179628e", +"T3W1_de_test_msg_loaddevice.py::test_load_device_slip39_basic": "b6c2865b65412a94d2f07fe45f958c22b4b9e5d720c638950f109cfb2179628e", +"T3W1_de_test_msg_loaddevice.py::test_load_device_utf": "0d3bee72cab46f2d079a7f5298125bd3b50df7eac6881374dd59dd68085ed1f3", +"T3W1_de_test_msg_ping.py::test_ping": "810347de0a0be9da2da6a701d93112db821da17557e6c14bb8e6af4548eb9a2f", +"T3W1_de_test_msg_wipedevice.py::test_autolock_not_retained": "df90e1a321d7bb75925afb7535b6440a3320c11ed52f0caa084546a8c861bc23", +"T3W1_de_test_msg_wipedevice.py::test_wipe_device": "0b834330a27dbb63e0417c4d0ace288736768252c2e4397e1a9276c2aef82e14", +"T3W1_de_test_passphrase_slip39_advanced.py::test_128bit_passphrase": "f2c378ede847ad41b99c5b2fd74c6d885ac331c4ea6a1e8685b4eae1507d594b", +"T3W1_de_test_passphrase_slip39_advanced.py::test_256bit_passphrase": "f2c378ede847ad41b99c5b2fd74c6d885ac331c4ea6a1e8685b4eae1507d594b", +"T3W1_de_test_passphrase_slip39_basic.py::test_2of3_ext_passphrase": "1f3251c31d143c92ad77349423720f5ef0829b50eaa7401ed724c98651a2608e", +"T3W1_de_test_passphrase_slip39_basic.py::test_2of5_passphrase": "1f3251c31d143c92ad77349423720f5ef0829b50eaa7401ed724c98651a2608e", +"T3W1_de_test_passphrase_slip39_basic.py::test_3of6_passphrase": "1f3251c31d143c92ad77349423720f5ef0829b50eaa7401ed724c98651a2608e", +"T3W1_de_test_pin.py::test_correct_pin": "f5f5a90ec501f9fcde53c4ca2790edf48cec34f7e850903a928ef03f081b0289", +"T3W1_de_test_pin.py::test_exponential_backoff_t2": "23bbebdbbaca7f3c6033ff688836bc9cae4453bc033a3f4389c605286261f166", +"T3W1_de_test_pin.py::test_incorrect_pin_t2": "1f0f4c1957b05701432c01a9413815b7a8099c7210279026160bd2d208552bc5", +"T3W1_de_test_pin.py::test_no_protection": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_test_protection_levels.py::test_apply_settings": "6cd99accd82d435e9f1ba58b6c4512421bcad2353ccbd79aea3a51d7b152b959", +"T3W1_de_test_protection_levels.py::test_change_pin_t2": "fa9ac141c6c2bf4f8b824f094a6be1486210321f9529fc7116e46525eceda94b", +"T3W1_de_test_protection_levels.py::test_get_address": "5a22504c7bac0ef42e5188bdc2d373bf08a230054bdd3d2cc30f647490393ece", +"T3W1_de_test_protection_levels.py::test_get_entropy": "ebfc40a332720c671944063c321bafe36c2733ab5155aa823186b24c1a26bee7", +"T3W1_de_test_protection_levels.py::test_get_public_key": "5a22504c7bac0ef42e5188bdc2d373bf08a230054bdd3d2cc30f647490393ece", +"T3W1_de_test_protection_levels.py::test_initialize": "46c13a4d52d1af46b3af0943516db28a074cb26e61d3db95b119c7cafad8aab9", +"T3W1_de_test_protection_levels.py::test_passphrase_cached": "a1dfaec6b40b9c64fbb4b7d45a53a2dce43093baf8aed2ecbf6fe109507ab410", +"T3W1_de_test_protection_levels.py::test_passphrase_reporting[False]": "7595a2f6fe7de140702cb5339bcdf9cf44cf6d3391bcbbeb5b9385ef343d1617", +"T3W1_de_test_protection_levels.py::test_passphrase_reporting[True]": "a6dc411d0067c4c371f7905f3f4dbe0654e6082d004cd2a0732d82ff5bee2f65", +"T3W1_de_test_protection_levels.py::test_ping": "810347de0a0be9da2da6a701d93112db821da17557e6c14bb8e6af4548eb9a2f", +"T3W1_de_test_protection_levels.py::test_signtx": "b13db99ef12883bcd7ac449e52f2ffcbdd750a4e0449fb7cf4d00aa0b95e0f28", +"T3W1_de_test_protection_levels.py::test_unlocked": "d00c2dcfab79d562232dd0adc300edff78cd4af5dbfa08cf7786d2e4eefc1723", +"T3W1_de_test_protection_levels.py::test_wipe_device": "4f97ccecaac58558816dd8c3d316fff59f3b9f25c2192793ec3f08c8cc1520a2", +"T3W1_de_test_repeated_backup.py::test_repeated_backup": "1af0b624326ac37b72a07199819c8ad0fdb94b34db75b0724d79f8338f5152e8", +"T3W1_de_test_repeated_backup.py::test_repeated_backup_cancel": "d1eb4a6fd137a84ecd075bb8bedadec7c59670d133cdff01a2975590e59f46f0", +"T3W1_de_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "d1eb4a6fd137a84ecd075bb8bedadec7c59670d133cdff01a2975590e59f46f0", +"T3W1_de_test_repeated_backup.py::test_repeated_backup_upgrade_single": "efb5608d1a49e01d3d5a52dda6149072462dbb2e983c4d97a6b7e20294b37ca7", +"T3W1_de_test_session.py::test_cannot_resume_ended_session": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_test_session.py::test_clear_session": "5bed955d7fb18fd82e9c01c762c339e058603a6bf61e58ad697e50f110e100f9", +"T3W1_de_test_session.py::test_derive_cardano_empty_session": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_test_session.py::test_derive_cardano_running_session": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_test_session.py::test_end_session": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_test_session.py::test_end_session_only_current": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_test_session.py::test_session_recycling": "1f3251c31d143c92ad77349423720f5ef0829b50eaa7401ed724c98651a2608e", +"T3W1_de_test_session_id_and_passphrase.py::test_cardano_passphrase": "92e2bbab79af4ad083891d57ea860317e74f690617b3fb08e2d22e3d3af67e2c", +"T3W1_de_test_session_id_and_passphrase.py::test_hide_passphrase_from_host": "3465ec601f725e7ca027ffa05e6de9876729ef0f924744c2138345fd9c1bcd8b", +"T3W1_de_test_session_id_and_passphrase.py::test_max_sessions_with_passphrases": "e4456c4c9c398193eb8c0e41220628a9e94859517f05dba9804e8f2d1e358f8f", +"T3W1_de_test_session_id_and_passphrase.py::test_multiple_passphrases": "f449e63913584e4f7a4a43c34ae9e4c5a421f5e960856a55bcf79729384bb787", +"T3W1_de_test_session_id_and_passphrase.py::test_multiple_sessions": "137dac0b4b04c44ad95659d88cdf7ca92f6c142287be3c5eadc89be59274eb15", +"T3W1_de_test_session_id_and_passphrase.py::test_passphrase_ack_mismatch": "1725e99b349540aaf00e11aefece3a469c9123e14bfb0acbe10084e90d76c12e", +"T3W1_de_test_session_id_and_passphrase.py::test_passphrase_always_on_device": "348d3716ede41b90145aa91955e57f7457457e6d677808d3fc604a76c3de5942", +"T3W1_de_test_session_id_and_passphrase.py::test_passphrase_length": "6ed3e559b7806d71e776137e753ac1f1cf728e3f35c498cbdcb3488b3650b8b4", +"T3W1_de_test_session_id_and_passphrase.py::test_passphrase_missing": "a1dfaec6b40b9c64fbb4b7d45a53a2dce43093baf8aed2ecbf6fe109507ab410", +"T3W1_de_test_session_id_and_passphrase.py::test_passphrase_on_device": "6e434dc3325c068b7c73ec4e8dbad4fd09ef409695dfc23250cfb47166ffd3e9", +"T3W1_de_test_session_id_and_passphrase.py::test_session_enable_passphrase": "fcc06a337332ab1f734d722eb4da5f640fd0696e16f3c50e4566cc16deee74e5", +"T3W1_de_test_session_id_and_passphrase.py::test_session_with_passphrase": "94a8d465c321b82b508e9a59dfe020fa87100e6711c8a0f78ecf14d033080874", +"T3W1_en_binance-test_get_address.py::test_binance_get_address[m-44h-714h-0h-0-0-bnb1hgm0p7khfk85zpz-68e2cb5a": "a69025affe2cfde1fa1b34d2312d4b05bf46f8e6b5f24678334c160c47ebe55a", +"T3W1_en_binance-test_get_address.py::test_binance_get_address[m-44h-714h-0h-0-1-bnb1egswqkszzfc2uq7-1adfb691": "a5990b1c302b24857ddbcf4c25eedfc01df0edfe7b21722e3ae9ad3bea20601c", +"T3W1_en_binance-test_get_address.py::test_binance_get_address_chunkify_details[m-44h-714h-0h-0-0-bn-59d4996f": "34274393edb8b4e6cf62cc4d969129c46e1e2443322446494e297ad2590be607", +"T3W1_en_binance-test_get_address.py::test_binance_get_address_chunkify_details[m-44h-714h-0h-0-1-bn-c9025900": "642ad3cecc2342ea477350d4cf8d5d1af24efeae1934ee9eb247dd21742ae491", +"T3W1_en_bitcoin-test_bcash.py::test_attack_change_input": "b38e1914af8fa1fcb47ada64ae4c70117509a547db1474fdd9a629a1ce1b8c92", +"T3W1_en_bitcoin-test_bcash.py::test_send_bch_change": "b38e1914af8fa1fcb47ada64ae4c70117509a547db1474fdd9a629a1ce1b8c92", +"T3W1_en_bitcoin-test_bcash.py::test_send_bch_external_presigned": "1c8952cdf93750df3894ccbe56cab51893aed78747912955dece7cb6dfa0c96e", +"T3W1_en_bitcoin-test_bcash.py::test_send_bch_multisig_change": "25fcc133a6a66633f852a857c3e03d47636c7673d9c065efe869a0cbb5fa5b69", +"T3W1_en_bitcoin-test_bcash.py::test_send_bch_multisig_wrongchange": "c6619ab7b69f9327e7c92e710fa230cba0aef76272d69cd2d89edbec961d63ae", +"T3W1_en_bitcoin-test_bcash.py::test_send_bch_nochange": "ab678abcb69421738f2a599bee6defb54df25dd0f35a9c65bb6dd045b7c76e2b", +"T3W1_en_bitcoin-test_bcash.py::test_send_bch_oldaddr": "67dc8e104b3e6460af716f1f4265e58b6f73d065605be5440c4979e3b05b032c", +"T3W1_en_bitcoin-test_firo.py::test_spend_lelantus": "ac658784269346b325046afd0e872d0ec03b2d518c1f425b0129ce81008d1723", +"T3W1_en_bitcoin-test_fujicoin.py::test_send_p2tr": "29aab501f1d09d81b1e166f02d17b156f1e94350557c5b7b2a273eb7edd3caee", +"T3W1_en_bitcoin-test_getaddress.py::test_address_mac": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress.py::test_altcoin_address_mac": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress.py::test_bch": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress.py::test_bch_multisig": "4494eeec008a300ffe554cf3009a2a1b29a085fc81431cb53736b53061686171", +"T3W1_en_bitcoin-test_getaddress.py::test_btc": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress.py::test_crw": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress.py::test_elements": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress.py::test_grs": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress.py::test_invalid_path": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress.py::test_ltc": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress.py::test_multisig": "8faacc5a57fc34e6949237f6ac83997e762f4683e09e13a64cd3c033dc0a72ad", +"T3W1_en_bitcoin-test_getaddress.py::test_multisig_different_paths": "8590b1f143e68178119d54be8ac6df768ce8b33649cbee10ccb15765f78c6ff7", +"T3W1_en_bitcoin-test_getaddress.py::test_multisig_missing[False]": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress.py::test_multisig_missing[True]": "9c2112f4714cf6facfdc63ef74891b4e662f74ffeb95c96e7547815b8168c96c", +"T3W1_en_bitcoin-test_getaddress.py::test_multisig_pubkeys_order": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress.py::test_public_ckd": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress.py::test_tbtc": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress.py::test_tgrs": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress.py::test_unknown_path": "8f6f43f42639c873577e04b8790a3a42b640b64b198d5709c221379545c9168b", +"T3W1_en_bitcoin-test_getaddress_segwit.py::test_multisig_missing[False]": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress_segwit.py::test_multisig_missing[True]": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress_segwit.py::test_show_multisig_3": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress_segwit.py::test_show_segwit": "89b70a15e0e7fd803447a510260f977d5c9dad2101f28c61e4104f31fd8d7430", +"T3W1_en_bitcoin-test_getaddress_segwit.py::test_show_segwit_altcoin": "1e4ee372bcb97a5a1120feddc641c2f52351a967896ec18f30345d396a4bbcc2", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_bip86[m-86h-0h-0h-0-0-bc1p5cyxnuxmeuwuvkwfem-dc12f29f": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_bip86[m-86h-0h-0h-0-1-bc1p4qhjn9zdvkux4e44uh-1f521bf2": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_bip86[m-86h-0h-0h-1-0-bc1p3qkhfews2uk44qtvau-d8b57624": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_multisig_missing[False]": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_multisig_missing[True]": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_multisig_3": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-0-0-InputScr-6bc4ffc3": "0ece4fa5b8a66f0e984cb70c140b93bb0c9de5f78840750c4a62c6ba36a4da63", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-0-0-InputScr-8943c1dc": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-1-0-InputScr-016718c1": "4f5971557b1b873711affa7f62b6bc250dbdb60b8b11cb1adaa6ad5ba27f4fc2", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-1-0-InputScr-7656a4db": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-0-0-InputScr-3d3cc8eb": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-0-0-InputScr-8571d5e0": "f98b855fa068e62f0a81cfb3cb970a838dcf13ccac5e7c5395d96551a5510585", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-1-0-InputScr-ab700de2": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-1-0-InputScr-da3803e0": "b6a5aaee62e2a0403468955a0f9c8b5dd2f88b27a234888a05389d93dcdabce3", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Elements-m-84h-1h-0h-0-0-InputSc-490228be": "c78d148ad02b743ed73f9cfe1cbd61ad08bc5ce4ba95133e57262417793e9749", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Elements-m-84h-1h-0h-0-0-InputSc-ed587e90": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--40b95144": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--45b4ff5d": "ecfe82a477cc50e95b9f12c8baa17c7567249f3aac0a00797a8c156deb2c1b68", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--8f7c658b": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--93c9c3ff": "3b5ee7262ff58f4c11660386ae111fe176717eff63bbeb4d4e41cb739c62fcfe", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-86h-1h-0h--5feb8c64": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-86h-1h-0h--8d4476a1": "a89ed36d942c74a50360c0f8b034055b8d2981a67cc7b5cbaabf20885062032b", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-0-0-Inp-0200a67b": "a819b65a78776c73e6ed81c33f803443ad15940021ed4d68ac3817b2f2464e5b", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-0-0-Inp-e6c1098a": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-1-0-Inp-9688a507": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-1-0-Inp-f825f217": "83bc94091492aa7b94a5ffb726d86def9554a2bd9ef19f2b505b2c2afec082a9", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-86h-17h-0h-0-0-Inp-38cd93cf": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-86h-17h-0h-0-0-Inp-ebecce6e": "84a1b931483c78a93459170cddf783d472885a28ef5a61985fc6926f70e8d7ec", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-0-0-InputScr-313b9443": "5fbdafba6c03b751f31ebef2d9b10093add7aa947765f341b6f8e592c010c048", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-0-0-InputScr-ce15ec92": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-1-0-InputScr-040186c0": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-1-0-InputScr-b10918be": "7de522e458b0f0f4aaa96e40efc2b95bfeeece3ca8a2920beff3b8ef42ec29c6", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-0-0-InputScr-55ae0ae6": "46685e4e6f770a0c97976ba5c820928fb88b368722c28943b13937c90f2fd064", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-0-0-InputScr-821a199d": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-1-0-InputScr-9d2fa8bc": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-1-0-InputScr-d5b7f8fc": "b114656e1a69849955bcc5a48e5f50c31e02ef12599c20b9dde1e000c92ec54d", +"T3W1_en_bitcoin-test_getaddress_show.py::test_show_cancel[m-44h-0h-12h-0-0-InputScriptType.SPENDADD-4eca71e0": "48c1a62246a0f9eb64f359a508960ce6bf4937dc2eede18862a7644659b91e17", +"T3W1_en_bitcoin-test_getaddress_show.py::test_show_cancel[m-49h-0h-12h-0-0-InputScriptType.SPENDP2S-4ec777e0": "3774b859f6b79e1dd984285637a3db2ae1b567398561c800a11251fa33ad7f7a", +"T3W1_en_bitcoin-test_getaddress_show.py::test_show_cancel[m-84h-0h-12h-0-0-InputScriptType.SPENDWIT-d6991e22": "c447392fab3f368eb41a14eb23916e53e501b90c330add6c714126c9a743e3d6", +"T3W1_en_bitcoin-test_getaddress_show.py::test_show_cancel[m-86h-0h-12h-0-0-InputScriptType.SPENDTAP-4c5b2b38": "6d438b9d3f7da21bf1d10191fc5666afe40905ddc57fccc5100b8e970ac77e5f", +"T3W1_en_bitcoin-test_getaddress_show.py::test_show_multisig_15": "d5d006118903d52ccd55a558c0aacb1a37451b997f1a185e3bbe765bb57639c7", +"T3W1_en_bitcoin-test_getaddress_show.py::test_show_multisig_3": "abd30a4a0f1d778ce75271ab8ff190ec7fb5f1831c3ec88b565120cf78029e2a", +"T3W1_en_bitcoin-test_getaddress_show.py::test_show_tt[m-44h-0h-12h-0-0-InputScriptType.SPENDADDRESS-5c88d0fd": "3d278f974ffaa0fbb9c8b6cfb493005a534238968d7efc6e0b1aebef7955d3aa", +"T3W1_en_bitcoin-test_getaddress_show.py::test_show_tt[m-44h-0h-12h-0-0-InputScriptType.SPENDADDRESS-87490d4e": "1a7c7e22cf0a8d876f8d4aac2fa7ad0f8744527f6774ab158891fc28246939fe", +"T3W1_en_bitcoin-test_getaddress_show.py::test_show_tt[m-49h-0h-12h-0-0-InputScriptType.SPENDP2SHWIT-9bc227c1": "027df44dd77e50f1442f97c64f223be9cf96d02ff303a6ebd961b855cc2b61b1", +"T3W1_en_bitcoin-test_getaddress_show.py::test_show_tt[m-49h-0h-12h-0-0-InputScriptType.SPENDP2SHWIT-aca0623f": "28104cca13d9cb59fed337b742548b24a452541fb1cdcf09fdb131c7a503210e", +"T3W1_en_bitcoin-test_getaddress_show.py::test_show_tt[m-84h-0h-12h-0-0-InputScriptType.SPENDWITNESS-747c079d": "09618b7d4fff5e68587574b648e8102e90d397dde41b59323034cbf114f0cbbb", +"T3W1_en_bitcoin-test_getaddress_show.py::test_show_tt[m-84h-0h-12h-0-0-InputScriptType.SPENDWITNESS-e4302080": "93f0e399882563ebf2df46869b81135c8d124def7ce4ea0ebe515293b91efe25", +"T3W1_en_bitcoin-test_getaddress_show.py::test_show_tt[m-86h-0h-12h-0-0-InputScriptType.SPENDTAPROOT-071a4a07": "5b72d5ae589228881d0f61ffd01c6a89e6997b3982c1022fe13a514ff41112cb", +"T3W1_en_bitcoin-test_getaddress_show.py::test_show_tt[m-86h-0h-12h-0-0-InputScriptType.SPENDTAPROOT-25ee9808": "a6c63b596eaf97e494718585631602405692242ee154279d0308193cb0d7719e", +"T3W1_en_bitcoin-test_getaddress_show.py::test_show_unrecognized_path": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getownershipproof.py::test_attack_ownership_id": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getownershipproof.py::test_confirm_ownership_proof": "10f0eec70728a3a25ffc8822c6ac8950e10f5159dc14bab8aa809374b3289b8d", +"T3W1_en_bitcoin-test_getownershipproof.py::test_confirm_ownership_proof_with_data": "8f8ceb2af17558aeee95379d4dac53728a241f0d974d4dbdb8e4b9349919b096", +"T3W1_en_bitcoin-test_getownershipproof.py::test_fake_ownership_id": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getownershipproof.py::test_p2tr_ownership_id": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getownershipproof.py::test_p2tr_ownership_proof": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getownershipproof.py::test_p2wpkh_ownership_id": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getownershipproof.py::test_p2wpkh_ownership_proof": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path0-xpub6BiVtCpG9fQPx-40a56ca3": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path1-xpub6BiVtCpG9fQQR-1abafc98": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path2-xpub6FVDRC1jiWNTu-47a67414": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path3-xpub6GhTNegKCjTqj-990e0830": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path6-xpub68Zyu13qjcQvJ-8285bd20": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path10-Ltub2dcb6Nghj3k-53e5db37": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path7-Ltub2Y8PyEMWQVgi-d0bb059c": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path8-Ltub2Y8PyEMWQVgi-98ae2c41": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path9-Ltub2dTvwC4v7GNe-8d6d95fb": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey.py::test_get_public_node[Testnet-70617039-path4-tpubDDKn3FtHc74Ca-f3b70aff": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey.py::test_get_public_node[Testnet-70617039-path5-tpubDGwNSs8z8jZU2-8b5efa13": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path0-xpub6BiVtCpG-d791cce2": "7ede75544d6330806d3a9b49ff7dabdbd7d899160944529dd4efc5915e70b44e", +"T3W1_en_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path1-xpub6BiVtCpG-74c78643": "f0b9eeaf2c9e793c97542bb2f9b50f85ebdf4b65d4e348c9b13502911dc2a2ee", +"T3W1_en_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path2-xpub6FVDRC1j-3074f5a6": "a038cc224c8ea11541687acca342bf782f7e516e3988fd46de4220c8b64d643f", +"T3W1_en_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path3-xpub6GhTNegK-1b073ed9": "6c5b9dc55337c0c05018b4165e1f9f9dd642291bf28f99c26dc7439a7a11356c", +"T3W1_en_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path6-xpub68Zyu13q-eb190bf2": "c03c07c223a88ec15fc3139e466866a0663b2efea8e986fca5dba8f13292e626", +"T3W1_en_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path10-Ltub2dcb6N-d2ef4e5a": "430ac7d6d0904dab640c827fe1cae56c4b64cb03d14b0caf38c8f37c61c3c608", +"T3W1_en_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path7-Ltub2Y8PyEM-b9a6bf56": "19142445b724e0dea16ef40cc899e5672f7a376e940e78115ac1a789932873b8", +"T3W1_en_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path8-Ltub2Y8PyEM-d598ed84": "704b12498c23a33cd75b4886012e9f54560a8ccfbec740de8a81f4bbe3238065", +"T3W1_en_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path9-Ltub2dTvwC4-bfef8b2e": "36a1c30748a2528eeffed5036999563cf50864c99544d0f2d3fc4b42ab0f8093", +"T3W1_en_bitcoin-test_getpublickey.py::test_get_public_node_show[Testnet-70617039-path4-tpubDDKn3FtH-5ca1cba5": "e2896071833fd982caf8a10b195396f5ec0fd4675ded0c89e98df7bd31997904", +"T3W1_en_bitcoin-test_getpublickey.py::test_get_public_node_show[Testnet-70617039-path5-tpubDGwNSs8z-60ca5612": "f25ae9d83edc7698b94a12443ce4eb7e44e78218623755ac2778a726d3fb8fa2", +"T3W1_en_bitcoin-test_getpublickey.py::test_invalid_path[Bcash-path5]": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey.py::test_invalid_path[Bitcoin-path0]": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey.py::test_invalid_path[Bitcoin-path2]": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey.py::test_invalid_path[Bitcoin-path3]": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey.py::test_invalid_path[Litecoin-path4]": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey.py::test_invalid_path[Testnet-path1]": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey.py::test_script_type[InputScriptType.SPENDADDRESS-xpub6BiVtCp7ozs-9813cc48": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey.py::test_script_type[InputScriptType.SPENDP2SHWITNESS-ypub6WYmBsV-0710fbb3": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey.py::test_script_type[InputScriptType.SPENDWITNESS-zpub6qP2VY9x7Mx-84eaa56c": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey.py::test_script_type[None-xpub6BiVtCp7ozsRo7kaoYNrCNAVJwPYTQHjoXF-c37a47fd": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey.py::test_slip25_path": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey_curve.py::test_coin_and_curve": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey_curve.py::test_ed25519_public": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey_curve.py::test_publickey_curve[ed25519-path4-002e28dc0346d6d30d4e-e6c7a440": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey_curve.py::test_publickey_curve[nist256p1-path2-0324c6860c25cdf7a8-d75f4900": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey_curve.py::test_publickey_curve[nist256p1-path3-03b93f7e6c777143ad-2d6b178b": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey_curve.py::test_publickey_curve[secp256k1-path0-02f65ce170451f66f4-9c982c22": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_getpublickey_curve.py::test_publickey_curve[secp256k1-path1-0212f4629f4f224db0-0209bb73": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_grs.py::test_legacy": "017d78e0b8a56c30d2050636382e936b4c5b0215f8d4e26773f2f203adceba5a", +"T3W1_en_bitcoin-test_grs.py::test_legacy_change": "5dedbb9165b81d1958ea5337909d53f5b2aee0d1ec187683d4e69093e2a414e6", +"T3W1_en_bitcoin-test_grs.py::test_send_p2tr": "cda1dabb094aee17f2c3cf26bf4d2cc39bc29feaba2767935a005a235a736cfe", +"T3W1_en_bitcoin-test_grs.py::test_send_segwit_native": "82901e5d4ef910e9c1e8baa5608a7d6b02bca4e706e41387f14181a6b6489b97", +"T3W1_en_bitcoin-test_grs.py::test_send_segwit_native_change": "025ea82e4eeb62666955fa1b1dea17ef8bff3f5c2b20a62fcd92ff48b5f039e0", +"T3W1_en_bitcoin-test_grs.py::test_send_segwit_p2sh": "0b27a7abef9b93a62beb3494baa422a4b6e7520bd9a913170ebd089636168990", +"T3W1_en_bitcoin-test_grs.py::test_send_segwit_p2sh_change": "4647ac25faa7e2ef56875e480f0feb391b048c6c2459c193eef558ef8f2c6fd2", +"T3W1_en_bitcoin-test_komodo.py::test_one_one_fee_sapling": "d4aafd2454b4ecd5119d9924dbd930a4b5c8ac34bded57a7941557d791da93e4", +"T3W1_en_bitcoin-test_komodo.py::test_one_one_rewards_claim": "80feaa9a84ce259a895672984f6f0337c664aa42a786637dc8d8d22a7f0cbf12", +"T3W1_en_bitcoin-test_multisig.py::test_15_of_15": "c86f2244b1e23e0815a6b0d66849f93fd75dc41b4f05811ebea6a1bd760fa71b", +"T3W1_en_bitcoin-test_multisig.py::test_2_of_3[False]": "c2f7cc86ff7ca095bb9e90bd6850106474759f159d58ff4e6a82b564e4983033", +"T3W1_en_bitcoin-test_multisig.py::test_2_of_3[True]": "dce4afab40fd1be76e55c0548665cd8214baf69bb95e897c99220213091e2fba", +"T3W1_en_bitcoin-test_multisig.py::test_attack_change_input": "31328f68fa3902b4f8e74203c042755325f09f3fe5e346e1f2769626e21513b1", +"T3W1_en_bitcoin-test_multisig.py::test_missing_pubkey": "22b63f8954890950b1799b6f82fdc279fea0c3cd24d98e4cfedd1a43be5ac545", +"T3W1_en_bitcoin-test_multisig.py::test_pubkeys_order": "d52918c13f9de2ef865cca333ac3354402b155a6d764281c1db8f82c8f99cb0f", +"T3W1_en_bitcoin-test_multisig_change.py::test_external_external": "f93c597115e406319a15a409d13ee08455e73bedd59381678c52195d0495b5a4", +"T3W1_en_bitcoin-test_multisig_change.py::test_external_internal": "35cb4d20a92d7e94b69dfe902e125958ab3d421a6a6c5389f6f555dfc6cb1243", +"T3W1_en_bitcoin-test_multisig_change.py::test_internal_external": "e41ea3e8472a3722504952d497812d38b2f8e9ff51ca5d639c0f9b04a7c1c7b9", +"T3W1_en_bitcoin-test_multisig_change.py::test_multisig_change_match_first": "ef7e995dd1754e5a23a0460297abd6e7d47bd3c8ac086aaade23733a49329aac", +"T3W1_en_bitcoin-test_multisig_change.py::test_multisig_change_match_second": "9d679eacfe52a3eb3d497b7dce3ec0833f3c4dc926fb3db0ad64b9014904c1a1", +"T3W1_en_bitcoin-test_multisig_change.py::test_multisig_external_external": "4e4a1db8877a09ace3222324594add4b2d698caecb244b7de47624835500115b", +"T3W1_en_bitcoin-test_multisig_change.py::test_multisig_mismatch_inputs": "5a19373638afce5ee059c7c6b6f1eb17e8b5502863c64dfdc98e448de40c48cb", +"T3W1_en_bitcoin-test_multisig_change.py::test_multisig_mismatch_multisig_change": "34179aa47f2d52f0d8e8f6ae114ed92f8ab3d0a26d597ab46081a4b65df628d7", +"T3W1_en_bitcoin-test_multisig_change.py::test_multisig_mismatch_multisig_change_different_paths": "2d11591f1b9dda1b6c02f36b46138525783b928d98320483b4c94b7cd1791ef5", +"T3W1_en_bitcoin-test_multisig_change.py::test_sorted_multisig_change_match_first": "ef7e995dd1754e5a23a0460297abd6e7d47bd3c8ac086aaade23733a49329aac", +"T3W1_en_bitcoin-test_multisig_change.py::test_sorted_multisig_mismatch_inputs": "23105525c18faaeaebd71690e22b6f3848311d83e3685f4f875a90583e2e9fe1", +"T3W1_en_bitcoin-test_multisig_change.py::test_sorted_multisig_mismatch_multisig_change": "2521d1d074fce9a8474d4f6c27fd94dacbc30b0ed4a1f1f86eb9d20409059212", +"T3W1_en_bitcoin-test_op_return.py::test_nonzero_opreturn": "22b63f8954890950b1799b6f82fdc279fea0c3cd24d98e4cfedd1a43be5ac545", +"T3W1_en_bitcoin-test_op_return.py::test_opreturn": "f79d4c52f8f8d6600a3cc90db6a6a87fe9f8eb3bc49acc3c45a90983a21698de", +"T3W1_en_bitcoin-test_op_return.py::test_opreturn_address": "22b63f8954890950b1799b6f82fdc279fea0c3cd24d98e4cfedd1a43be5ac545", +"T3W1_en_bitcoin-test_peercoin.py::test_timestamp_included": "8627fa507553740b7896ad7823348647912fc2fb2e5f6bd99a7c51c6dcc013fb", +"T3W1_en_bitcoin-test_peercoin.py::test_timestamp_missing": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_peercoin.py::test_timestamp_missing_prevtx": "c27c8acd89b19253c0daacb47ecc924705c8826673c41402b2b3d95c3b5fc2eb", +"T3W1_en_bitcoin-test_signtx.py::test_attack_change_input_address": "d7218d6409bf51d0161d68ab0a678882a40a2dcdcb74d0eb881d0e641da3a82e", +"T3W1_en_bitcoin-test_signtx.py::test_attack_change_outputs": "2fefe2e8eb62dde80e2ba5943bd30f88977b4db41fa3a9478a355747528eda88", +"T3W1_en_bitcoin-test_signtx.py::test_attack_modify_change_address": "b1be5dc46146508446d4ecb808689009a99cd01a2a0b990532b3b7f426b2a0a1", +"T3W1_en_bitcoin-test_signtx.py::test_change_on_main_chain_allowed": "b1be5dc46146508446d4ecb808689009a99cd01a2a0b990532b3b7f426b2a0a1", +"T3W1_en_bitcoin-test_signtx.py::test_fee_high_hardfail": "6136f1bb751e03444976183d64b6a64a299b3af643c11ff97b006365fad623b1", +"T3W1_en_bitcoin-test_signtx.py::test_fee_high_warning": "479b23a48aaed2b58843dd20b8ddaf7ea75e179e1ed2b4a6e98ac12514341585", +"T3W1_en_bitcoin-test_signtx.py::test_incorrect_input_script_type[InputScriptType.EXTERNAL]": "22b63f8954890950b1799b6f82fdc279fea0c3cd24d98e4cfedd1a43be5ac545", +"T3W1_en_bitcoin-test_signtx.py::test_incorrect_input_script_type[InputScriptType.SPENDADDRESS]": "22b63f8954890950b1799b6f82fdc279fea0c3cd24d98e4cfedd1a43be5ac545", +"T3W1_en_bitcoin-test_signtx.py::test_incorrect_output_script_type[OutputScriptType.PAYTOADDRESS]": "22b63f8954890950b1799b6f82fdc279fea0c3cd24d98e4cfedd1a43be5ac545", +"T3W1_en_bitcoin-test_signtx.py::test_incorrect_output_script_type[OutputScriptType.PAYTOSCRIPTHASH]": "22b63f8954890950b1799b6f82fdc279fea0c3cd24d98e4cfedd1a43be5ac545", +"T3W1_en_bitcoin-test_signtx.py::test_information": "125c2a9ff8b221c98f53e083a0bcd05c7874f752d7c43454b994337a7b20f38a", +"T3W1_en_bitcoin-test_signtx.py::test_information_cancel": "7c1d51f76528e12f4791e3bdbaa772d3759e7128a27110feb5caaca01ee220e0", +"T3W1_en_bitcoin-test_signtx.py::test_information_mixed": "cd72bbc9681b4b8ec3180d54911c0b9dc75d95dc23ca1cb11ef5a73e514f4e36", +"T3W1_en_bitcoin-test_signtx.py::test_lock_time[1-4294967295]": "512c69401c4d0ca5dd20e63470319d6f540be7f1b681ad799859ba3e56fe11fe", +"T3W1_en_bitcoin-test_signtx.py::test_lock_time[499999999-4294967294]": "8c82521ecbe59c1c01c8ee08fab35aafff36bfbfff9adbb8febd03ad5d4a8592", +"T3W1_en_bitcoin-test_signtx.py::test_lock_time[500000000-4294967294]": "c3f2cd25628bba00d367ef4bcc24d4f7c56fd09b4e12d9604c1efee7f8da0f17", +"T3W1_en_bitcoin-test_signtx.py::test_lock_time_blockheight": "2dd6b913684c20f90b004fb46f4f27afa3d8ab75dfd285e3bcfa11b79a5acde7", +"T3W1_en_bitcoin-test_signtx.py::test_lock_time_datetime[1985-11-05 00:53:20]": "69afd46742d5e823602e5ee99d6c9038ffc4cbc3e87b10292c8046f1cfc0e4b0", +"T3W1_en_bitcoin-test_signtx.py::test_lock_time_datetime[2048-08-16 22:14:00]": "f565c8ababc90008697e8313959495e89c22b46ceda428e0726210c4bde8b04d", +"T3W1_en_bitcoin-test_signtx.py::test_lots_of_change": "019fb1838fb1722df93191cbea22b80b69fae6f7bb49d375f0f164fcc213a762", +"T3W1_en_bitcoin-test_signtx.py::test_lots_of_inputs": "f3f31f95ac8179b904728efa5c355637c3b04c6f523922333c85825cc5fbad0b", +"T3W1_en_bitcoin-test_signtx.py::test_lots_of_outputs": "b18bdbb0e7c39104c077e59b24d3344906cf6d160603a811e7f4e953a6ca8b85", +"T3W1_en_bitcoin-test_signtx.py::test_not_enough_funds": "e09e380c7cc3f62f094a219a5b946612f822e3fe7fdd080f84ec7fd4673de2fe", +"T3W1_en_bitcoin-test_signtx.py::test_not_enough_vouts": "915291297ca4be60e8cac8d5b12e27c525eef65a9e6663929703a6c6ae56bb24", +"T3W1_en_bitcoin-test_signtx.py::test_one_one_fee": "b1bc0b5edc626b262c0cc7e0a89b5a26b5451836d70875bac84e7ab7d66251b8", +"T3W1_en_bitcoin-test_signtx.py::test_one_three_fee[False]": "3b56b5d1b9dd7d260152bd7d1176f4215eb2272aca24069308358e527a8647ce", +"T3W1_en_bitcoin-test_signtx.py::test_one_three_fee[True]": "e918be440433b3afdc6238f3395c6c2d378901e69d710b808194ff28ab85ab6a", +"T3W1_en_bitcoin-test_signtx.py::test_one_two_fee": "b609ea12a9586977ad4c79183cc430e57949163a5bc6385e87047816eb3fa3ad", +"T3W1_en_bitcoin-test_signtx.py::test_p2sh": "599be12a53b7254b7e4c4fb510f097d207daead0f082994c064735eb5d5691df", +"T3W1_en_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[branch_id-13]": "1620fd80b2a48f979f7cb1c836726a11e4367062835bac139a4f466f2461bf9d", +"T3W1_en_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[expiry-9]": "1620fd80b2a48f979f7cb1c836726a11e4367062835bac139a4f466f2461bf9d", +"T3W1_en_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[extra_data-hello world]": "1620fd80b2a48f979f7cb1c836726a11e4367062835bac139a4f466f2461bf9d", +"T3W1_en_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[timestamp-42]": "1620fd80b2a48f979f7cb1c836726a11e4367062835bac139a4f466f2461bf9d", +"T3W1_en_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[version_group_id-69]": "1620fd80b2a48f979f7cb1c836726a11e4367062835bac139a4f466f2461bf9d", +"T3W1_en_bitcoin-test_signtx.py::test_signtx_forbidden_fields[branch_id-13]": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_signtx.py::test_signtx_forbidden_fields[expiry-9]": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_signtx.py::test_signtx_forbidden_fields[timestamp-42]": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_signtx.py::test_signtx_forbidden_fields[version_group_id-69]": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_signtx.py::test_spend_coinbase": "5bf91daa51226e8f7f721254b82a8c4304638d01accee2d72fbb77a1be8152f4", +"T3W1_en_bitcoin-test_signtx.py::test_testnet_big_amount": "c16ff964fb6438c10fcf59e32340e4e80de2f80d7fa8645a8ac47abad276549b", +"T3W1_en_bitcoin-test_signtx.py::test_testnet_fee_high_warning": "2bdc47609dfc1a344c1c4159077b7525e2000c0c4abe83f5824e1f41b58af41e", +"T3W1_en_bitcoin-test_signtx.py::test_testnet_one_two_fee": "b1be5dc46146508446d4ecb808689009a99cd01a2a0b990532b3b7f426b2a0a1", +"T3W1_en_bitcoin-test_signtx.py::test_two_changes": "0f7bec949dbc0dc55318285cff791b94c9d58ea844e524eacc42a6e455163393", +"T3W1_en_bitcoin-test_signtx.py::test_two_two": "201cb7b18f8a87bbc2ab65d931e5b4534680f854d8d2c7a33376fbe42427fd6d", +"T3W1_en_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.BITCOIN]": "b1bc0b5edc626b262c0cc7e0a89b5a26b5451836d70875bac84e7ab7d66251b8", +"T3W1_en_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.MICROBITCOIN]": "15b639409a64aae9aeb0f77696bfbb11d959d37b90b0581292046f216cf5ec88", +"T3W1_en_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.MILLIBITCOIN]": "256ae25076dea8a6a9f359481df9bc75d94a7ef18e5c65da98e78f3390cc00c3", +"T3W1_en_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.SATOSHI]": "60c5969838dcbe0203d23410dbf8e1eb68e2ea020895ddb5b2a3829d92831a83", +"T3W1_en_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[None]": "b1bc0b5edc626b262c0cc7e0a89b5a26b5451836d70875bac84e7ab7d66251b8", +"T3W1_en_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.BITCOIN]": "ff7202883be7190a58791ce2ec8c7de121d1be151adab56f928e919f128e3aec", +"T3W1_en_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.MICROBITCOIN]": "81ca047b6da3e596f48e871e8cdc31460cfc8b33587ea625be8f98d0e4a2460d", +"T3W1_en_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.MILLIBITCOIN]": "669696777f795224a6922993d36be243e18ef92e51276dcaa7b9f437208ac276", +"T3W1_en_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.SATOSHI]": "57e0cbfc184088b24701c2b264de39f43b42f2fbd1bdff8ab699e16e9435a021", +"T3W1_en_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[None]": "ff7202883be7190a58791ce2ec8c7de121d1be151adab56f928e919f128e3aec", +"T3W1_en_bitcoin-test_signtx_external.py::test_p2pkh_presigned": "d3658dec7a0a1f5f1f983de7bdd2224f15ffc5785648f32e1913c162d8a8175f", +"T3W1_en_bitcoin-test_signtx_external.py::test_p2pkh_with_proof": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_signtx_external.py::test_p2tr_external_presigned": "dee4c5bd7a95ee41fc8b2684f1557b2ccbf91799546341469aeac4a25352839f", +"T3W1_en_bitcoin-test_signtx_external.py::test_p2tr_external_unverified": "f6834db4e350115bc76404589158b2facb52a9c8624cf43dff5e381ee071b0b4", +"T3W1_en_bitcoin-test_signtx_external.py::test_p2tr_with_proof": "c72348f9bd7fa8a7c62aebbc78ce76ed428e926383dbf2e7f552b2fe71d08d9f", +"T3W1_en_bitcoin-test_signtx_external.py::test_p2wpkh_external_unverified": "7fb9623a5fc004774932ed63c4d4e7961569596c8df0b755ed3a4437d453671f", +"T3W1_en_bitcoin-test_signtx_external.py::test_p2wpkh_in_p2sh_presigned": "9f35fd2bb96ecab6239236324e83bdb9c84b903e758e039b63c48d1666e24a2b", +"T3W1_en_bitcoin-test_signtx_external.py::test_p2wpkh_in_p2sh_with_proof": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_signtx_external.py::test_p2wpkh_presigned": "694972d2c9fb7d6be652b52fdb6f281207a42ed12b78da8a0c6be7ad2b28e3c6", +"T3W1_en_bitcoin-test_signtx_external.py::test_p2wpkh_with_false_proof": "22b63f8954890950b1799b6f82fdc279fea0c3cd24d98e4cfedd1a43be5ac545", +"T3W1_en_bitcoin-test_signtx_external.py::test_p2wpkh_with_proof": "43e55954d11987fe0091f8feb8b4d57014ffbac4b03f2554fae49947fec74391", +"T3W1_en_bitcoin-test_signtx_external.py::test_p2wsh_external_presigned": "150a19aa22c0a9a7dd829954674f139a46de3228ee1ffbf97e5acf2d6a31e11c", +"T3W1_en_bitcoin-test_signtx_invalid_path.py::test_attack_path_segwit": "2b24adaf9de1e9c45949948ebf14e10f3711656fc1d02d5f3a326b0410e97c81", +"T3W1_en_bitcoin-test_signtx_invalid_path.py::test_invalid_path_fail": "22b63f8954890950b1799b6f82fdc279fea0c3cd24d98e4cfedd1a43be5ac545", +"T3W1_en_bitcoin-test_signtx_invalid_path.py::test_invalid_path_fail_asap": "22b63f8954890950b1799b6f82fdc279fea0c3cd24d98e4cfedd1a43be5ac545", +"T3W1_en_bitcoin-test_signtx_invalid_path.py::test_invalid_path_pass_forkid": "2fa436af27d2919478fb46eae050ecb7cad21704a15a44e77fc493f15e627c31", +"T3W1_en_bitcoin-test_signtx_invalid_path.py::test_invalid_path_prompt": "c2da69d6795e9f4f44b952c1d0facc91b691f14b782c581657feb1c2060c7249", +"T3W1_en_bitcoin-test_signtx_mixed_inputs.py::test_non_segwit_segwit_inputs": "80366242ffc9fd622499ef5c7d4cfa06286a14b4da57b75af1d71d56e70042e6", +"T3W1_en_bitcoin-test_signtx_mixed_inputs.py::test_non_segwit_segwit_non_segwit_inputs": "6a3142c8a49a2d48043c568821d3c4407447fdb3ac4d5feee90aed97667dff9b", +"T3W1_en_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_inputs": "80366242ffc9fd622499ef5c7d4cfa06286a14b4da57b75af1d71d56e70042e6", +"T3W1_en_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_segwit_inputs": "6a3142c8a49a2d48043c568821d3c4407447fdb3ac4d5feee90aed97667dff9b", +"T3W1_en_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[]": "22b63f8954890950b1799b6f82fdc279fea0c3cd24d98e4cfedd1a43be5ac545", +"T3W1_en_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[hello world]": "22b63f8954890950b1799b6f82fdc279fea0c3cd24d98e4cfedd1a43be5ac545", +"T3W1_en_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[x]": "22b63f8954890950b1799b6f82fdc279fea0c3cd24d98e4cfedd1a43be5ac545", +"T3W1_en_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "22b63f8954890950b1799b6f82fdc279fea0c3cd24d98e4cfedd1a43be5ac545", +"T3W1_en_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[]": "df142c358c96544abd10097b1249ec4d7c7ae8846f9049de5ec4458d09ace18a", +"T3W1_en_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[hello world]": "df142c358c96544abd10097b1249ec4d7c7ae8846f9049de5ec4458d09ace18a", +"T3W1_en_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[x]": "df142c358c96544abd10097b1249ec4d7c7ae8846f9049de5ec4458d09ace18a", +"T3W1_en_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "df142c358c96544abd10097b1249ec4d7c7ae8846f9049de5ec4458d09ace18a", +"T3W1_en_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[]": "63bd88d4211b972b65acb531380be7100869ee2f9d3c3a33f1844352b29e52d4", +"T3W1_en_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[hello world]": "63bd88d4211b972b65acb531380be7100869ee2f9d3c3a33f1844352b29e52d4", +"T3W1_en_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[x]": "63bd88d4211b972b65acb531380be7100869ee2f9d3c3a33f1844352b29e52d4", +"T3W1_en_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "63bd88d4211b972b65acb531380be7100869ee2f9d3c3a33f1844352b29e52d4", +"T3W1_en_bitcoin-test_signtx_segwit.py::test_attack_change_input_address": "bc4f15f7a4f9e684c3fffeea186919c75c54357b76c2a96f996e4d5974421f04", +"T3W1_en_bitcoin-test_signtx_segwit.py::test_attack_mixed_inputs": "2ab2cfcdb10291da755b18ae256cdc58d0f0046d93e9387ab6de5b7c00c3dd02", +"T3W1_en_bitcoin-test_signtx_segwit.py::test_send_multisig_1": "3b977cff48dc15dd5e0b3cb920c16aada99bc85ee8277e1365f35efa54f80fd0", +"T3W1_en_bitcoin-test_signtx_segwit.py::test_send_p2sh[False]": "6592e0e8736119081f66efb61491c39c16a2b114c6739ffbad94e9e9fc2fb850", +"T3W1_en_bitcoin-test_signtx_segwit.py::test_send_p2sh[True]": "a5ebbc919936d25e9716b15c1403da76dc9c1df228574ce04a80c1c48324b39b", +"T3W1_en_bitcoin-test_signtx_segwit.py::test_send_p2sh_change": "28c22652341e38316682f200468fd7dea673702a253e6fae242419a5b1258ed5", +"T3W1_en_bitcoin-test_signtx_segwit.py::test_testnet_segwit_big_amount": "8ae91ca357c25e1499c542a6db02d42e879b1204f5406958ac6d0ce88cda7400", +"T3W1_en_bitcoin-test_signtx_segwit_native.py::test_multisig_mismatch_inputs_single": "db9648d40a43fd4c0cb820cd5d6e7095f031078b8a415b972cec0b847de4ea7f", +"T3W1_en_bitcoin-test_signtx_segwit_native.py::test_send_both": "bf73e278c15be9d28e00b0c2b99535559513a9202ee449cb35d0c4904d2d805a", +"T3W1_en_bitcoin-test_signtx_segwit_native.py::test_send_multisig_1": "9b0c66521244a13aaa57449441431468dae286c7516792e58f7ec8ac6744c87c", +"T3W1_en_bitcoin-test_signtx_segwit_native.py::test_send_multisig_2": "a303121a6051d7dcd8052d1eaebdaaf1208d7354d60ec4b32c363b49d149effb", +"T3W1_en_bitcoin-test_signtx_segwit_native.py::test_send_multisig_3_change": "593da0bc2db1f92723d99425551c9d2830d97aa9032f78c44e55c3e3df617cc1", +"T3W1_en_bitcoin-test_signtx_segwit_native.py::test_send_multisig_4_change": "65f74d2f7f98dc02f7e5b16a8b59b9dec544a692a6b4fb0b64f4229addd638d2", +"T3W1_en_bitcoin-test_signtx_segwit_native.py::test_send_native": "ff7202883be7190a58791ce2ec8c7de121d1be151adab56f928e919f128e3aec", +"T3W1_en_bitcoin-test_signtx_segwit_native.py::test_send_native_change": "e7cf5746ecadcc82a19eed58a5a7fe6bfd3ffd05ae11af6a09b61efa4d42ad94", +"T3W1_en_bitcoin-test_signtx_segwit_native.py::test_send_p2sh": "69277d11f3a4c42a8c43c9ac010b8c85b62b562762d2547d13d3782243f3369b", +"T3W1_en_bitcoin-test_signtx_segwit_native.py::test_send_p2sh_change": "59ff1fad8cde00c225ae5222ca35147be77d163a17d9a1608832c5782cb80dbc", +"T3W1_en_bitcoin-test_signtx_segwit_native.py::test_send_to_taproot": "634eb8d07b8c85901c49575a7c7f00f6fab51d81c238917fae7f97f8ff21dd92", +"T3W1_en_bitcoin-test_signtx_taproot.py::test_attack_script_type": "ca3397dc587b44a15444bb2f1f75e8eadfa30783489195c704e6a806c70fb284", +"T3W1_en_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1pam775nxmvam4pfpqlm5q06k0y84e3-a257be51": "22b63f8954890950b1799b6f82fdc279fea0c3cd24d98e4cfedd1a43be5ac545", +"T3W1_en_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1plllllllllllllllllllllllllllll-aaa668e3": "22b63f8954890950b1799b6f82fdc279fea0c3cd24d98e4cfedd1a43be5ac545", +"T3W1_en_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1plycg5qvjtrp3qjf5f7zl382j9x6nr-5447628e": "22b63f8954890950b1799b6f82fdc279fea0c3cd24d98e4cfedd1a43be5ac545", +"T3W1_en_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1zlycg5qvjtrp3qjf5f7zl382j9x6nr-880d4a6b": "22b63f8954890950b1799b6f82fdc279fea0c3cd24d98e4cfedd1a43be5ac545", +"T3W1_en_bitcoin-test_signtx_taproot.py::test_send_mixed": "2a238e937c11e805800e11e6fdc8c489a84dec0bddac689df3d0ffc026cad2ed", +"T3W1_en_bitcoin-test_signtx_taproot.py::test_send_p2tr[False]": "6dd1c34ad03f06d9a86e86f2ad6d4d102b188cde345bf4e5bc59375339952380", +"T3W1_en_bitcoin-test_signtx_taproot.py::test_send_p2tr[True]": "4b9151e79af0ed0a2a704a446484120ba14e04594a29f491167d929b331918d0", +"T3W1_en_bitcoin-test_signtx_taproot.py::test_send_two_with_change": "049adc837c9ff7948bd3396c6c59b33047884232b491c69e91eb1eb9e4d90074", +"T3W1_en_bitcoin-test_zcash.py::test_external_presigned": "5590935b7ac8a2e86cc984c64f1c6cb30e400de5a55210d43c2a7e3603b5327f", +"T3W1_en_bitcoin-test_zcash.py::test_one_one_fee_sapling": "be55e2fc86a4b54eb61044b91b85a54d38994693534665a6491b0e36611ca98c", +"T3W1_en_bitcoin-test_zcash.py::test_spend_old_versions": "8a493b8c5ade63355992fa5dc8d7ee2b3b97ea0868ecf584de7986e5e90853ff", +"T3W1_en_bitcoin-test_zcash.py::test_v3_not_supported": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_bitcoin-test_zcash.py::test_version_group_id_missing": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_misc-test_msg_cipherkeyvalue.py::test_decrypt": "03ac66c8d0d97deaf3eabc497b296d57a82ebfabd7b235d8d78a2a867a3d9c36", +"T3W1_en_misc-test_msg_cipherkeyvalue.py::test_decrypt_badlen": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_misc-test_msg_cipherkeyvalue.py::test_encrypt": "016853c6c9b45ab4d1a40a1640b17b55e287852164253631220056c1e69e2d14", +"T3W1_en_misc-test_msg_cipherkeyvalue.py::test_encrypt_badlen": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_misc-test_msg_enablelabeling.py::test_encrypt": "9fef9ab03671781b0f36ab4a3fc02a32c6756b79365e10b370853943ea65bc15", +"T3W1_en_misc-test_msg_getecdhsessionkey.py::test_ecdh": "de48ae9ab7e54e0fbdd45b7e0d9840198736b4b62b59a7c084524ede589cf4a1", +"T3W1_en_misc-test_msg_getentropy.py::test_entropy[128]": "f21246a6e5e4f0402d1fb1d065257b2980b3369d093b4ec6c96831d48eeaa32c", +"T3W1_en_misc-test_msg_getentropy.py::test_entropy[129]": "f21246a6e5e4f0402d1fb1d065257b2980b3369d093b4ec6c96831d48eeaa32c", +"T3W1_en_misc-test_msg_getentropy.py::test_entropy[16]": "f21246a6e5e4f0402d1fb1d065257b2980b3369d093b4ec6c96831d48eeaa32c", +"T3W1_en_misc-test_msg_getentropy.py::test_entropy[17]": "f21246a6e5e4f0402d1fb1d065257b2980b3369d093b4ec6c96831d48eeaa32c", +"T3W1_en_misc-test_msg_getentropy.py::test_entropy[1]": "f21246a6e5e4f0402d1fb1d065257b2980b3369d093b4ec6c96831d48eeaa32c", +"T3W1_en_misc-test_msg_getentropy.py::test_entropy[256]": "f21246a6e5e4f0402d1fb1d065257b2980b3369d093b4ec6c96831d48eeaa32c", +"T3W1_en_misc-test_msg_getentropy.py::test_entropy[257]": "f21246a6e5e4f0402d1fb1d065257b2980b3369d093b4ec6c96831d48eeaa32c", +"T3W1_en_misc-test_msg_getentropy.py::test_entropy[2_0]": "f21246a6e5e4f0402d1fb1d065257b2980b3369d093b4ec6c96831d48eeaa32c", +"T3W1_en_misc-test_msg_getentropy.py::test_entropy[2_1]": "f21246a6e5e4f0402d1fb1d065257b2980b3369d093b4ec6c96831d48eeaa32c", +"T3W1_en_misc-test_msg_getentropy.py::test_entropy[32]": "f21246a6e5e4f0402d1fb1d065257b2980b3369d093b4ec6c96831d48eeaa32c", +"T3W1_en_misc-test_msg_getentropy.py::test_entropy[33]": "f21246a6e5e4f0402d1fb1d065257b2980b3369d093b4ec6c96831d48eeaa32c", +"T3W1_en_misc-test_msg_getentropy.py::test_entropy[3]": "f21246a6e5e4f0402d1fb1d065257b2980b3369d093b4ec6c96831d48eeaa32c", +"T3W1_en_misc-test_msg_getentropy.py::test_entropy[4]": "f21246a6e5e4f0402d1fb1d065257b2980b3369d093b4ec6c96831d48eeaa32c", +"T3W1_en_misc-test_msg_getentropy.py::test_entropy[512]": "f21246a6e5e4f0402d1fb1d065257b2980b3369d093b4ec6c96831d48eeaa32c", +"T3W1_en_misc-test_msg_getentropy.py::test_entropy[513]": "f21246a6e5e4f0402d1fb1d065257b2980b3369d093b4ec6c96831d48eeaa32c", +"T3W1_en_misc-test_msg_getentropy.py::test_entropy[5]": "f21246a6e5e4f0402d1fb1d065257b2980b3369d093b4ec6c96831d48eeaa32c", +"T3W1_en_misc-test_msg_getentropy.py::test_entropy[64]": "f21246a6e5e4f0402d1fb1d065257b2980b3369d093b4ec6c96831d48eeaa32c", +"T3W1_en_misc-test_msg_getentropy.py::test_entropy[65]": "f21246a6e5e4f0402d1fb1d065257b2980b3369d093b4ec6c96831d48eeaa32c", +"T3W1_en_misc-test_msg_getentropy.py::test_entropy[8]": "f21246a6e5e4f0402d1fb1d065257b2980b3369d093b4ec6c96831d48eeaa32c", +"T3W1_en_misc-test_msg_getentropy.py::test_entropy[9]": "f21246a6e5e4f0402d1fb1d065257b2980b3369d093b4ec6c96831d48eeaa32c", +"T3W1_en_misc-test_msg_signidentity.py::test_sign": "5d761d4b6847dde54f953f825537108be8d20c0141221c451c3b8d1bf5dcca9c", +"T3W1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "119f84f144707632c3c84f1a9de0ebc17243de1dc693b843efd9126a99d8872e", +"T3W1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "6a3c6af3877bf93a5c2c97454fe9d20c67217806c3546c5d3ea942826e4c34f1", +"T3W1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "f3328f3fa29dbf1acfebf40410a097cc9e410e1a38372d30ed120abf771674f5", +"T3W1_en_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "cf811531e33f6b24e1a1dfeb36e01a38186993b60394f891d8195b23b199621f", +"T3W1_en_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_reset_recovery-test_recovery_bip39_t2.py::test_tt_nopin_nopassphrase": "7f405cb7d60172d335d3d967efd1909af5cdf9e9098e4a80cafc8130d4af3187", +"T3W1_en_reset_recovery-test_recovery_bip39_t2.py::test_tt_pin_passphrase": "bedfe5f5cc1cc4efa3a6930b6333b5230e6626c351cdfb998be5aff180aebae9", +"T3W1_en_reset_recovery-test_recovery_slip39_advanced.py::test_abort": "dd7eed22701b64f860f1f1b0fb5c9f0bc42bda4be721a3d74abdd2693e56d03b", +"T3W1_en_reset_recovery-test_recovery_slip39_advanced.py::test_extra_share_entered": "3601f25d4343730ea5b2b2309273cd29618724e89d5e49e1b0362a6400aee07e", +"T3W1_en_reset_recovery-test_recovery_slip39_advanced.py::test_group_threshold_reached": "16b1c92b9a29a03deca06f3dd8d76180aeeef6375fbed8a917114faeae00c80f", +"T3W1_en_reset_recovery-test_recovery_slip39_advanced.py::test_noabort": "6a4a053f318505ce74bbcf95bff9ab640b148bf065654ed0cefb39ffd592a7c5", +"T3W1_en_reset_recovery-test_recovery_slip39_advanced.py::test_same_share": "68b013dd3794a68658426b499aff8a725720ce3dcac099674597181c37d5abb8", +"T3W1_en_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares0-c2d2e26ad06023c60145f1-afc2dad5": "518bfdb88d5a1ee55c1f474c651157623c4a72d48b3aab47a91d4dac8c267f35", +"T3W1_en_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares1-c41d5cf80fed71a008a3a0-eb47093e": "f739d044247074d53a6b28eef1ee0feda9e18d80996a2289fff00b9463f7dbe7", +"T3W1_en_reset_recovery-test_recovery_slip39_advanced.py::test_secret_click_info_button[shares0-c2d2-850ffa77": "2d0b40eef2d108d1a73a64d55fdfd8db36d86e26d2ffa80d0d89fe03f992a1bb", +"T3W1_en_reset_recovery-test_recovery_slip39_advanced.py::test_secret_click_info_button[shares1-c41d-ca9ddec8": "91c366bfa3ce6bcf40aeca71c50650f253e53e9af5cdb2b8fe639e2e52371fc0", +"T3W1_en_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_dryrun": "6de8beee4d55071e06bcd68176c1d4043a778b349a8acf54f67c9930a21d1d46", +"T3W1_en_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_invalid_seed_dryrun": "ce1cbb0f3e59d4398591ddf918b66de35f3125b9bdc1bacf58e3565d12e6b5b1", +"T3W1_en_reset_recovery-test_recovery_slip39_basic.py::test_1of1": "dd4809901857e9c8f1617541cb0d9556f56dc561824592e7fb4cb1824e0eb2fe", +"T3W1_en_reset_recovery-test_recovery_slip39_basic.py::test_abort": "dd7eed22701b64f860f1f1b0fb5c9f0bc42bda4be721a3d74abdd2693e56d03b", +"T3W1_en_reset_recovery-test_recovery_slip39_basic.py::test_abort_between_shares": "65e0479ccc4ca0cf97cdcbe2da7b4b472fd2c0ecd0b51b656a9a1389c99e098f", +"T3W1_en_reset_recovery-test_recovery_slip39_basic.py::test_abort_on_number_of_words": "2724ba311e1d57a1a17639c19a6d36592f4d964ca5002d5721b22ecf6901bf45", +"T3W1_en_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_first_share": "352719043f31f45869feb36a12f64aa6aba29bfcea71f33c53dbcbbfc14fce22", +"T3W1_en_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_second_share": "8dee122badc5479dcab3490256ed3dc9b151d4a56ef2281f97af3ddab180a332", +"T3W1_en_reset_recovery-test_recovery_slip39_basic.py::test_noabort": "5cbdb0b2659d99bd1bd3fed5659256a295304eb6f983b815b65c194c8d74bd49", +"T3W1_en_reset_recovery-test_recovery_slip39_basic.py::test_recover_with_pin_passphrase": "b8beee2f5417b897f44a9935386a39127071ac88f57fabd9bd83d0f60199c8e5", +"T3W1_en_reset_recovery-test_recovery_slip39_basic.py::test_same_share": "f1613d3bab3e49c721a55bffdc3302fd872f175cc319da2faf0b55dd5c234606", +"T3W1_en_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares0-491b795b80fc21ccdf466c0fb-ad8c45c0": "a65707eabb98e56e426144a01074c6903790d10fae9c62e4c524fb357134c6c3", +"T3W1_en_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares1-644c905b0c4da21692f06fff3-30d0f8ca": "5485090ea7a5414a54d94c3a793e0bc289912cace604bb919ff45cc3efaec7cd", +"T3W1_en_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares2-b770e0da1363247652de97a39-6af744e3": "1e4c4c835d204817c42f26a41ca013a7b781750799ef84c2cc6be477c6e03aed", +"T3W1_en_reset_recovery-test_recovery_slip39_basic.py::test_share_info_between_shares": "522c784d196b5d4f18b0592ead703e690c9e941de872e29d9bdb041aa800c88e", +"T3W1_en_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[0]": "234b1aabfd761e17991411261fb3aca6c7168afbe98951123251544e2ba1d32d", +"T3W1_en_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[1]": "f425e75511cdba1c45b4c1f08eb207b9c430e5cf7a27a9403166086e49fb1761", +"T3W1_en_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[2]": "d91e02ac1bcb24a094cbc90d498507fa1f54aeca8fc36dd78ffb21f7a5c8a570", +"T3W1_en_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_dryrun": "d358e2988bcbe6f416e7fcb066cec4d2a803651491fb2f45f08cb2e03f6f8c99", +"T3W1_en_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_invalid_seed_dryrun": "5f35d884d3097892e7a4f1b68dd3b51ff1433dcf133a7e56eb4657690b64ff37", +"T3W1_en_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Bip39-backup_flow_bip39]": "933fc4eedefe0ba5cd40375788ac4721176c1127a1b90ab369f16e1e5a9e347e", +"T3W1_en_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Advanced_Ext-10ea47d6": "8b75af0ac6e7a6cc175a299103bc01ca1fa710ba890208d3b7d181df0e254859", +"T3W1_en_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Basic_Extend-5dbe8b0f": "2e94611e145d4910d917e1562614190cf1f5578bee53efcedc41fb8df703e61f", +"T3W1_en_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Bip39-backup_flow_bip39]": "8cc30cd21511b4074d289b289197148d5a1bbbcba938cd79fbdd15dc62bb6959", +"T3W1_en_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Advanced_Extend-8b11c1dc": "2523ab30b0b21322b719d05fbdd9dbf7d1c4a128649268943e0709774d320afc", +"T3W1_en_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Basic_Extendabl-cc19e908": "d9d2daa6e9539abcbb81a06a6447e579019471a0b6294e011daffacff896b34d", +"T3W1_en_reset_recovery-test_reset_bip39_t2.py::test_already_initialized": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_reset_recovery-test_reset_bip39_t2.py::test_entropy_check": "093b2af3f63fcbe618e94307b34c88193ef6eb39cb55fe0edcb0f041bb069b9a", +"T3W1_en_reset_recovery-test_reset_bip39_t2.py::test_failed_pin": "a87f9bf02a2a23a7778a9fad00b3fa4d1f8b72defdf3ac1608b1527db16d7eae", +"T3W1_en_reset_recovery-test_reset_bip39_t2.py::test_no_entropy_check": "093b2af3f63fcbe618e94307b34c88193ef6eb39cb55fe0edcb0f041bb069b9a", +"T3W1_en_reset_recovery-test_reset_bip39_t2.py::test_reset_device": "39f292abb8fd9355b4ab745c43829898b3a568fe6c52a4ecc6f586cc78daa7c2", +"T3W1_en_reset_recovery-test_reset_bip39_t2.py::test_reset_device_192": "db56db8944899e4e4ffb06b9dd319b3a0cc37aedab53b141cd73e65060d0e16d", +"T3W1_en_reset_recovery-test_reset_bip39_t2.py::test_reset_device_pin": "275bd1894db1e4d3ce20c79977b1c425538f9f3dabed28b8f1aa662612c3305e", +"T3W1_en_reset_recovery-test_reset_bip39_t2.py::test_reset_entropy_check": "559b44d39f973dcd2f8d586997833fdefbac293b432c770ac4a37160e5fe9108", +"T3W1_en_reset_recovery-test_reset_bip39_t2.py::test_reset_failed_check": "15deb3a5e680edffa6bf7182494cc5a83ae63ac05b7f716367116991c5411b0a", +"T3W1_en_reset_recovery-test_reset_recovery_bip39.py::test_reset_recovery": "2134ab2d8b01064df9ec5aec4f64a2c59c8ff06c892f47eed28234bd2e92749c", +"T3W1_en_reset_recovery-test_reset_recovery_slip39_advanced.py::test_reset_recovery": "e6ee6b019dbef0c026450c7cbc031674a662d5144e98b1054d559378e4a0352d", +"T3W1_en_reset_recovery-test_reset_recovery_slip39_basic.py::test_reset_recovery": "9ac52fd2590cdf944b4fee718ad652b95e0229ae8c1dff9f6e3a50e1266fe1b0", +"T3W1_en_reset_recovery-test_reset_slip39_advanced.py::test_reset_device_slip39_advanced": "125eb9a78af37c46a69e0b2676bcb5ac4db321b272bd0b7485459db0bbb599cd", +"T3W1_en_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic": "e1d870d49e27131d45ede8e47891715a1424bc9ad69dd397755398c1eebe105a", +"T3W1_en_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic_256": "82bfbb6572a523b3fd8fd985992014cd679c6396de86de78df6f2993fd608924", +"T3W1_en_reset_recovery-test_reset_slip39_basic.py::test_reset_entropy_check": "3ea103b99f03174b4eb93a8afc326edf0d2d0c602b641f984a4ffa5d818c2312", +"T3W1_en_test_autolock.py::test_apply_auto_lock_delay": "daa3a468ade9933dc04443b2ca5226c7ce03d88e93589e2fee3582337c187bea", +"T3W1_en_test_autolock.py::test_apply_auto_lock_delay_out_of_range[0]": "d0dad9fdc9ac54e8a215ada1f3952a8c7b5f5eea1403089d8a0099971a0fe1c3", +"T3W1_en_test_autolock.py::test_apply_auto_lock_delay_out_of_range[1]": "d0dad9fdc9ac54e8a215ada1f3952a8c7b5f5eea1403089d8a0099971a0fe1c3", +"T3W1_en_test_autolock.py::test_apply_auto_lock_delay_out_of_range[4194304]": "d0dad9fdc9ac54e8a215ada1f3952a8c7b5f5eea1403089d8a0099971a0fe1c3", +"T3W1_en_test_autolock.py::test_apply_auto_lock_delay_out_of_range[536871]": "d0dad9fdc9ac54e8a215ada1f3952a8c7b5f5eea1403089d8a0099971a0fe1c3", +"T3W1_en_test_autolock.py::test_apply_auto_lock_delay_out_of_range[9]": "d0dad9fdc9ac54e8a215ada1f3952a8c7b5f5eea1403089d8a0099971a0fe1c3", +"T3W1_en_test_autolock.py::test_apply_auto_lock_delay_valid[10]": "e59561e65606fbb4dc1efbbe203eff856e97bbef640df6b576ff7e1029e54f09", +"T3W1_en_test_autolock.py::test_apply_auto_lock_delay_valid[123]": "c0a12e357b2fcd8a6c285d7d8243c9b37bd4b255c65a233e52d59b5b7d8705a2", +"T3W1_en_test_autolock.py::test_apply_auto_lock_delay_valid[3601]": "0ff9ba49cd07bf9e4c8698cdf2545569d02b3b5b44c351c3c3861f22af8bb9b6", +"T3W1_en_test_autolock.py::test_apply_auto_lock_delay_valid[536870]": "254c90c60926e3eb14d793241ab80b3df51b9ba08d63bf6bacfd2ea153c1fdad", +"T3W1_en_test_autolock.py::test_apply_auto_lock_delay_valid[60]": "d13f07a68d60e335cac00abfc7626cd1701d3a1b6f86088070c0ff4dba259de9", +"T3W1_en_test_autolock.py::test_apply_auto_lock_delay_valid[7227]": "c3536d5097879540eb33b5796892dde85a7fd6f16e63e3ca15a1db4fcaa491ee", +"T3W1_en_test_autolock.py::test_autolock_cancels_ui": "4128ba3226818eb3b145dbf4cffb8d0f06df13d7a9678aae3e028152e3d8b69c", +"T3W1_en_test_autolock.py::test_autolock_default_value": "1d9234e99d0f3640dd4ecb95a3cf247ea16d86525226d5a36291851ccf144c73", +"T3W1_en_test_autolock.py::test_autolock_ignores_getaddress": "085584d0bc047b2553aa57a8d1100fd1ab08a8ba7543a4b66fd09d55bffe3e77", +"T3W1_en_test_autolock.py::test_autolock_ignores_initialize": "085584d0bc047b2553aa57a8d1100fd1ab08a8ba7543a4b66fd09d55bffe3e77", +"T3W1_en_test_basic.py::test_capabilities": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_test_basic.py::test_device_id_different": "d85956a43d8164562902eff230749fdd09efc227b4d65a826c5aa4f4fa09f6fa", +"T3W1_en_test_basic.py::test_device_id_same": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_test_basic.py::test_features": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_test_basic.py::test_ping": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_test_cancel.py::test_cancel_message_via_cancel[message0]": "73c34a79c35e827d00265ffb065c4e8e1d27b7c6cfec15665f1d8552090d480e", +"T3W1_en_test_cancel.py::test_cancel_message_via_cancel[message1]": "f50f5fa5a681dce95068c165c5fee41f8864e54431da332862ef10a575ed69cf", +"T3W1_en_test_cancel.py::test_cancel_message_via_initialize[message0]": "73c34a79c35e827d00265ffb065c4e8e1d27b7c6cfec15665f1d8552090d480e", +"T3W1_en_test_cancel.py::test_cancel_message_via_initialize[message1]": "f50f5fa5a681dce95068c165c5fee41f8864e54431da332862ef10a575ed69cf", +"T3W1_en_test_debuglink.py::test_softlock_instability": "61d8655755373809d16a4e37d92b7aec0da4b0c468ff5c3f370ec48dc8800444", +"T3W1_en_test_msg_applysettings.py::test_apply_homescreen_jpeg_progressive": "d0dad9fdc9ac54e8a215ada1f3952a8c7b5f5eea1403089d8a0099971a0fe1c3", +"T3W1_en_test_msg_applysettings.py::test_apply_homescreen_jpeg_wrong_size": "d0dad9fdc9ac54e8a215ada1f3952a8c7b5f5eea1403089d8a0099971a0fe1c3", +"T3W1_en_test_msg_applysettings.py::test_apply_homescreen_toif": "d0dad9fdc9ac54e8a215ada1f3952a8c7b5f5eea1403089d8a0099971a0fe1c3", +"T3W1_en_test_msg_applysettings.py::test_apply_settings": "dc3a50d0bf723cee3fb1f240e2fef807dcfd35a0108e8b5d85b1f98609fdc12b", +"T3W1_en_test_msg_applysettings.py::test_apply_settings_passphrase": "39668a8d79b6bef9632b90b320025b67fc914799a69a7e4aad6a9a58c045cdb4", +"T3W1_en_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "ae91d56d3bc1498f811a6bfc897c9220b0bb288f3aa0bf44a613d12b869cb26d", +"T3W1_en_test_msg_applysettings.py::test_apply_settings_rotation": "8f2a927cc01bef5f1d3b0194b5e64b287f521bcf2b911b71b4f91764559264fb", +"T3W1_en_test_msg_applysettings.py::test_experimental_features": "4d7ff792e14282cc24ea8d8905406c69b96bdb73e8254c6c14c61cbfd8fa342d", +"T3W1_en_test_msg_applysettings.py::test_label_too_long": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_test_msg_backup_device.py::test_backup_bip39": "8140a2e20b4c701465034c259a7cb83b1ad48b0c0d1ed67d1631e23c54e35c5c", +"T3W1_en_test_msg_backup_device.py::test_backup_slip39_advanced[click_info]": "d0e7d56ec80ec5d6798c1d8c9bd1c8f3d6436388bf392d3fbe87ca3bd3d647bd", +"T3W1_en_test_msg_backup_device.py::test_backup_slip39_advanced[no_click_info]": "a8696ba4cd0202f12a054144f6f8f8b350f2169f0f5cd1cfcbf7024278d5bbc2", +"T3W1_en_test_msg_backup_device.py::test_backup_slip39_basic[click_info]": "d0e7d56ec80ec5d6798c1d8c9bd1c8f3d6436388bf392d3fbe87ca3bd3d647bd", +"T3W1_en_test_msg_backup_device.py::test_backup_slip39_basic[no_click_info]": "7f74e6cc346b5d20ed3be87b61c4eb486fa61a5246c0cef0278ed70032af3abf", +"T3W1_en_test_msg_backup_device.py::test_backup_slip39_custom[1_of_1]": "caeca99f5240980221c2c285c2e8e28b13876ca0508bfa9bf2434f6edb6122b6", +"T3W1_en_test_msg_backup_device.py::test_backup_slip39_custom[2_of_2]": "dd69a7ea7403a41f922fa8120836c3f4f59f5de23b13ee9b21e9dce66a6ca329", +"T3W1_en_test_msg_backup_device.py::test_backup_slip39_custom[3_of_5]": "b7f6b484e64aa9ce8ca2bfb73715861b6a2673cd05d45b70cb1d7ad1edd06534", +"T3W1_en_test_msg_backup_device.py::test_backup_slip39_single": "b53abcb96ffd9b57acaeb2ea0010d79d351049daf208efd6314ce61e3e02e347", +"T3W1_en_test_msg_backup_device.py::test_interrupt_backup_fails": "7cf2b97f26da4256f1c8e3f674d7c5c4eec44e5205f212bb7a6bfb9e75bdfb04", +"T3W1_en_test_msg_backup_device.py::test_no_backup_fails": "9d4d4d6789c116d8c67c7a48de0a79304b87c9f206759f434d01854b226f2c9d", +"T3W1_en_test_msg_change_wipe_code_t2.py::test_set_pin_to_wipe_code": "801833be5cad5bd361b5febdc1ccf85792c6df335708603f69a28743f1b47b70", +"T3W1_en_test_msg_change_wipe_code_t2.py::test_set_remove_wipe_code": "a48d81a6be15bb1af67bf5609ac2f1e5942cb8ea3c38e32320ffe7064a5d6078", +"T3W1_en_test_msg_change_wipe_code_t2.py::test_set_wipe_code_mismatch": "f9b316f65af2ce296a157e8134d8234924dc58d892cd0f07d54a68f69788c8eb", +"T3W1_en_test_msg_change_wipe_code_t2.py::test_set_wipe_code_to_pin": "b88042e15e91e36eb4de21d0f64a1bffad11b2bc6b3942d5d7000eba78ce5b32", +"T3W1_en_test_msg_changepin_t2.py::test_change_failed": "fa591e151a99b8c250489b82bb0f3dfa0539a50eab924aa7740690bab29789b5", +"T3W1_en_test_msg_changepin_t2.py::test_change_invalid_current": "644a93b3f5b90f332f024824c75bd044a819a5b6d2efeb0d61f907cdcb6d7b1c", +"T3W1_en_test_msg_changepin_t2.py::test_change_pin": "b97c7fdb60d7b6b03faae97cdb0d480da67c4676b658c0182cce97c7f97bd4d9", +"T3W1_en_test_msg_changepin_t2.py::test_remove_pin": "3703bb0c2d7530f56f871ff40cd0cb4c965b65b97a584b7abc2652f007dd021d", +"T3W1_en_test_msg_changepin_t2.py::test_set_failed": "c57be4317879f48904b1ea2bab73ad77639fcc49a5421e94b4c7919bc4f42b82", +"T3W1_en_test_msg_changepin_t2.py::test_set_pin": "690ae6afac506f82079e14a79697934745a4d3f05681c894349aa9c6ead38ec6", +"T3W1_en_test_msg_loaddevice.py::test_load_device_1": "3625ce65b34bd62bbf920639a4e008240403186a2cdd8a4da10fc07613ba8ba3", +"T3W1_en_test_msg_loaddevice.py::test_load_device_2": "1f313a38aad77b349d7e065d62ac395f2ab43dcd5712bea3a5b5118b156ce083", +"T3W1_en_test_msg_loaddevice.py::test_load_device_slip39_advanced": "3625ce65b34bd62bbf920639a4e008240403186a2cdd8a4da10fc07613ba8ba3", +"T3W1_en_test_msg_loaddevice.py::test_load_device_slip39_basic": "3625ce65b34bd62bbf920639a4e008240403186a2cdd8a4da10fc07613ba8ba3", +"T3W1_en_test_msg_loaddevice.py::test_load_device_utf": "18a8f64231d3aa2acfeb296b665a92aca3e692da068ed8e7d06ccb00fa8b7218", +"T3W1_en_test_msg_ping.py::test_ping": "3985869001ba7c0bcd4b83013c386c4350079ea254f55704da09b951ff3b0bce", +"T3W1_en_test_msg_wipedevice.py::test_autolock_not_retained": "e5ba3ffbb09dc6327ec4cc7b064574e7ded7f03145968da97423c854e1105b15", +"T3W1_en_test_msg_wipedevice.py::test_wipe_device": "d85956a43d8164562902eff230749fdd09efc227b4d65a826c5aa4f4fa09f6fa", +"T3W1_en_test_passphrase_slip39_advanced.py::test_128bit_passphrase": "2604814411fe385713e68aae4d7089fe1c1a497ea54dedebbf6d73475dfa0fac", +"T3W1_en_test_passphrase_slip39_advanced.py::test_256bit_passphrase": "2604814411fe385713e68aae4d7089fe1c1a497ea54dedebbf6d73475dfa0fac", +"T3W1_en_test_passphrase_slip39_basic.py::test_2of3_ext_passphrase": "e6180d06e23c412ad29bace1fd035628116b455b25dbe767e7060c5f3d71e60e", +"T3W1_en_test_passphrase_slip39_basic.py::test_2of5_passphrase": "e6180d06e23c412ad29bace1fd035628116b455b25dbe767e7060c5f3d71e60e", +"T3W1_en_test_passphrase_slip39_basic.py::test_3of6_passphrase": "e6180d06e23c412ad29bace1fd035628116b455b25dbe767e7060c5f3d71e60e", +"T3W1_en_test_pin.py::test_correct_pin": "d0dad9fdc9ac54e8a215ada1f3952a8c7b5f5eea1403089d8a0099971a0fe1c3", +"T3W1_en_test_pin.py::test_exponential_backoff_t2": "9dfc49d35555249eea2e19cb6f1e2e0ed7390c80cf0a3c7f02d4dad09b915bd5", +"T3W1_en_test_pin.py::test_incorrect_pin_t2": "4431a04ab5703a068f713bd25492b7afbb93f67a74cafd3cdce44085324c8a25", +"T3W1_en_test_pin.py::test_no_protection": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_test_protection_levels.py::test_apply_settings": "1145e1a2f01f67a20c053d765b0ae96f6fdf284a20145ff16166df0979e75e9b", +"T3W1_en_test_protection_levels.py::test_change_pin_t2": "ac98b9ab45791e54558d681d190aaabb27d43c8b7cc80705b48d0ed6471e7184", +"T3W1_en_test_protection_levels.py::test_get_address": "f77227a18552ff2d301ce584c00a7466d347c73613cf5ef60a0b7ea6dab36154", +"T3W1_en_test_protection_levels.py::test_get_entropy": "95dd17f63bb47d9105fed8cb48dad0062743955d5b55df0c62ac3556d867cccc", +"T3W1_en_test_protection_levels.py::test_get_public_key": "f77227a18552ff2d301ce584c00a7466d347c73613cf5ef60a0b7ea6dab36154", +"T3W1_en_test_protection_levels.py::test_initialize": "92ba2b21f4d89269f5687f906861917d4fbe43ba3cc317820962d9259671a3f9", +"T3W1_en_test_protection_levels.py::test_passphrase_cached": "92dc3a053764a685e68f2070325cfeac1609f4c24d8f7ccd1f6685b63581a377", +"T3W1_en_test_protection_levels.py::test_passphrase_reporting[False]": "0ba26a359ca0fd2bd6a41fddd8f637dc4e377cd5df66ac7a5740637fbc0a6f91", +"T3W1_en_test_protection_levels.py::test_passphrase_reporting[True]": "1c7252e40ebf6d393c98efe1e73f376cbe380542cba397ba13017aa165aecfaf", +"T3W1_en_test_protection_levels.py::test_ping": "3985869001ba7c0bcd4b83013c386c4350079ea254f55704da09b951ff3b0bce", +"T3W1_en_test_protection_levels.py::test_signtx": "f9fcaa70129ebf26bc629aec60d0912eb6fda53c7170930a6719c21845966dfd", +"T3W1_en_test_protection_levels.py::test_unlocked": "063455c51ffeec68e78f66f504e97326d3181ee4ff72bf64ac653cf3f20c0c91", +"T3W1_en_test_protection_levels.py::test_wipe_device": "e1d23c0375f91fd2cfd82d7f06e23df1023e6c3131841f39c8ded13d01091e0b", +"T3W1_en_test_repeated_backup.py::test_repeated_backup": "c3f1bb34ded97e4100415842c5e1b8ba12b2b400f462eff153272ed6696c89c2", +"T3W1_en_test_repeated_backup.py::test_repeated_backup_cancel": "d7360251e0a8b0e3d21e4af70d695b5b97e608a108510a7b3c43c029284dbc05", +"T3W1_en_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "d7360251e0a8b0e3d21e4af70d695b5b97e608a108510a7b3c43c029284dbc05", +"T3W1_en_test_repeated_backup.py::test_repeated_backup_upgrade_single": "1459ef0f4bba6e209e4b6bde921dbfd2af599891173bed153e9e4a85f6ffa4b9", +"T3W1_en_test_session.py::test_cannot_resume_ended_session": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_test_session.py::test_clear_session": "fee3abce55e549d6afeaa34bda58974217b663af058100116236c18b89a58848", +"T3W1_en_test_session.py::test_derive_cardano_empty_session": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_test_session.py::test_derive_cardano_running_session": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_test_session.py::test_end_session": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_test_session.py::test_end_session_only_current": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_test_session.py::test_session_recycling": "e6180d06e23c412ad29bace1fd035628116b455b25dbe767e7060c5f3d71e60e", +"T3W1_en_test_session_id_and_passphrase.py::test_cardano_passphrase": "a3aae8ee0a275e668d1f5b409712230da4746016fa171a62555b1f8cf3b2d892", +"T3W1_en_test_session_id_and_passphrase.py::test_hide_passphrase_from_host": "88295f049f97f52c668f8b55c652f416e904347f4673557c4ff2fb1c28e0b515", +"T3W1_en_test_session_id_and_passphrase.py::test_max_sessions_with_passphrases": "da7168aaaebbe75f7b708bb428b70b0d28793e7722ec172b9e1797e56e085080", +"T3W1_en_test_session_id_and_passphrase.py::test_multiple_passphrases": "054f2eaac91bec5a8572e55277fe2a2737948d75ac6468c18aa2f6754287ee71", +"T3W1_en_test_session_id_and_passphrase.py::test_multiple_sessions": "3195e6b36fbe10f831156276d62df46686036876f2a821e5e9b000f9db3e2452", +"T3W1_en_test_session_id_and_passphrase.py::test_passphrase_ack_mismatch": "53b3f94e95e3eb5ab09bb79f9b15b6ed6bd3b90532897ef986980470723b472f", +"T3W1_en_test_session_id_and_passphrase.py::test_passphrase_always_on_device": "72bec9647cdef76f33b24194e696761750d935282628a2e41fd0bdf90a04f208", +"T3W1_en_test_session_id_and_passphrase.py::test_passphrase_length": "89556ce05bda17637076eaa4e86b823281d68189410954e8804d3d201fea7746", +"T3W1_en_test_session_id_and_passphrase.py::test_passphrase_missing": "92dc3a053764a685e68f2070325cfeac1609f4c24d8f7ccd1f6685b63581a377", +"T3W1_en_test_session_id_and_passphrase.py::test_passphrase_on_device": "559877725fd8797c76c58096d98167ca39bec9f5b383743576198160f2a097c9", +"T3W1_en_test_session_id_and_passphrase.py::test_session_enable_passphrase": "a46608c22ed53f79912e0f61c774b96c75da64c5c9b86ea9c5b53c199588eef9", +"T3W1_en_test_session_id_and_passphrase.py::test_session_with_passphrase": "b1b963cd6a3e2a9b6301b404162e00919b137fd11a800d4d447c3acc99c95049", +"T3W1_es_binance-test_get_address.py::test_binance_get_address[m-44h-714h-0h-0-0-bnb1hgm0p7khfk85zpz-68e2cb5a": "ccb4430032340bd5b9a6b737d8fe53c4ff040d404503bde640bdfb74e48ea942", +"T3W1_es_binance-test_get_address.py::test_binance_get_address[m-44h-714h-0h-0-1-bnb1egswqkszzfc2uq7-1adfb691": "b9d651d79586234d88255617debceda9635f7e1aef89294e6122bbccfb29deb9", +"T3W1_es_binance-test_get_address.py::test_binance_get_address_chunkify_details[m-44h-714h-0h-0-0-bn-59d4996f": "68a573a2e105290481bd03e4cbec76314ad35988151580348fd2ae699c82611d", +"T3W1_es_binance-test_get_address.py::test_binance_get_address_chunkify_details[m-44h-714h-0h-0-1-bn-c9025900": "dbecbd9891761e20c9e0053223d35cfcd2ac2ddacd3d60f6ab29fe937b70d599", +"T3W1_es_bitcoin-test_bcash.py::test_attack_change_input": "d39c81f555cefee4a0181ddce09a0adf18295b7156af5c7ecbc6ef2155137188", +"T3W1_es_bitcoin-test_bcash.py::test_send_bch_change": "d39c81f555cefee4a0181ddce09a0adf18295b7156af5c7ecbc6ef2155137188", +"T3W1_es_bitcoin-test_bcash.py::test_send_bch_external_presigned": "d98a0b9c7c6278b1548d73ba3cdc401f09731a6c84ede5ddbc74c5e0ceb328f0", +"T3W1_es_bitcoin-test_bcash.py::test_send_bch_multisig_change": "3221586ac4377730e05d110d1c6a136a3a815abcc16a8edb9d61bfcde665f8a6", +"T3W1_es_bitcoin-test_bcash.py::test_send_bch_multisig_wrongchange": "a06f66a71b4254cbb4fd7d8c6ad0784022201cbf02bd3730d09c7ef686925e09", +"T3W1_es_bitcoin-test_bcash.py::test_send_bch_nochange": "e1f4a713c51d37a5377a7abdfd725ab8385a153d582d6fe07b9a7212f4b2137a", +"T3W1_es_bitcoin-test_bcash.py::test_send_bch_oldaddr": "e184233fae74be456661730d521b6bb4475143728b61f11b65cf0d8d077d14de", +"T3W1_es_bitcoin-test_firo.py::test_spend_lelantus": "c6103f269026b59579423841ffd3f5d43e8817a4148f0d02937412885628fc65", +"T3W1_es_bitcoin-test_fujicoin.py::test_send_p2tr": "1d3dd6f9b4d30e2c5d425f8cc8c04a988c45ca78e2001c8a9e37c8c61d8f2256", +"T3W1_es_bitcoin-test_getaddress.py::test_address_mac": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress.py::test_altcoin_address_mac": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress.py::test_bch": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress.py::test_bch_multisig": "5e4b7b6d0f9e513cc9efde1840d481d62d769205c09a69b2f5877c8ae6fee1fe", +"T3W1_es_bitcoin-test_getaddress.py::test_btc": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress.py::test_crw": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress.py::test_elements": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress.py::test_grs": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress.py::test_invalid_path": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress.py::test_ltc": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress.py::test_multisig": "65721440eddc8ecba842812b17e9b6232bdee0ddaf9595164b0ccb69ff514d38", +"T3W1_es_bitcoin-test_getaddress.py::test_multisig_different_paths": "ae179efcb9b5da878d50377e0bd702aeb4eeb18edb6cbd5cf9d4ba97ed1fa317", +"T3W1_es_bitcoin-test_getaddress.py::test_multisig_missing[False]": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress.py::test_multisig_missing[True]": "bcf2f9e0588cd8a9979ebd80b37ddc9f896170dc0a96b35afef1c471499f6f25", +"T3W1_es_bitcoin-test_getaddress.py::test_multisig_pubkeys_order": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress.py::test_public_ckd": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress.py::test_tbtc": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress.py::test_tgrs": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress.py::test_unknown_path": "93de89303883140b41f3e77f2909a218aa3eb0965bdaa70354138f44375cac14", +"T3W1_es_bitcoin-test_getaddress_segwit.py::test_multisig_missing[False]": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress_segwit.py::test_multisig_missing[True]": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress_segwit.py::test_show_multisig_3": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress_segwit.py::test_show_segwit": "5710dd49c3999f50f8631b8e8de57dd60eb234c7f22a77f60cbceda6b4823098", +"T3W1_es_bitcoin-test_getaddress_segwit.py::test_show_segwit_altcoin": "f1634452379669575e6adfc60d83f871cbe790380127cffbbd3244792e31e643", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_bip86[m-86h-0h-0h-0-0-bc1p5cyxnuxmeuwuvkwfem-dc12f29f": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_bip86[m-86h-0h-0h-0-1-bc1p4qhjn9zdvkux4e44uh-1f521bf2": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_bip86[m-86h-0h-0h-1-0-bc1p3qkhfews2uk44qtvau-d8b57624": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_multisig_missing[False]": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_multisig_missing[True]": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_multisig_3": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-0-0-InputScr-6bc4ffc3": "3a4d9e6dd412cc330eda33c25a593735033360ccaa962ce1885ecd7ed386fc9f", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-0-0-InputScr-8943c1dc": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-1-0-InputScr-016718c1": "4713bf3749d9490b9aa3e27f2f9f4422bf89d460ed5e4f4b27251ea6bd558510", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-1-0-InputScr-7656a4db": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-0-0-InputScr-3d3cc8eb": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-0-0-InputScr-8571d5e0": "84242fb40cbb175633b32ab751f619e085fe1fc2906b8a54790ac5b1b442e015", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-1-0-InputScr-ab700de2": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-1-0-InputScr-da3803e0": "45fd18bd0324bd97844c30b4768148afd646e916754c88af9a52da54a34ff74f", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Elements-m-84h-1h-0h-0-0-InputSc-490228be": "b92bc8042c92e9c089a53fcf6d223b7269ca9b1d04328928f194ca73e262c965", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Elements-m-84h-1h-0h-0-0-InputSc-ed587e90": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--40b95144": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--45b4ff5d": "9d5419ec9f2568b98fb740c45a9ae2477e7a2b6420868f03518d1cabdca8cc68", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--8f7c658b": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--93c9c3ff": "f7eb721333baea82c591eb0f056b8002f93ef575c2be79e569bca98502f77220", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-86h-1h-0h--5feb8c64": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-86h-1h-0h--8d4476a1": "90c3f05ac674e6641182c10fc839630e6ece025745e486215df734fe89937b11", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-0-0-Inp-0200a67b": "67024595262afb57d3eb19f3ddfc356aa54b246b9b067f3af3664296bf1a5bbc", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-0-0-Inp-e6c1098a": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-1-0-Inp-9688a507": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-1-0-Inp-f825f217": "ad840d87be5828a0d859116935f2c6757f44205d75fc8e195f6459c72a5343b7", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-86h-17h-0h-0-0-Inp-38cd93cf": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-86h-17h-0h-0-0-Inp-ebecce6e": "2f26f58e355e57db4da91458f7b83016793bbd71c97d180876b9bdaeb85876a2", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-0-0-InputScr-313b9443": "eff128156364602c48c6a3ca1b2a9294e4172c227b07bfc1fb3dec9d257c2677", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-0-0-InputScr-ce15ec92": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-1-0-InputScr-040186c0": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-1-0-InputScr-b10918be": "c08d244fcd5419bf578d92b8613791f96e52a6a6fa7d7c76bc8431a8db15ad4e", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-0-0-InputScr-55ae0ae6": "8ec4c746d15a052028af5fe4428664810396c1a27171a14c4991f45eeea070e4", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-0-0-InputScr-821a199d": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-1-0-InputScr-9d2fa8bc": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-1-0-InputScr-d5b7f8fc": "514bec168eaa708e5b454241be54f8f3ffe1aaeb125333e09e1328dc747d4431", +"T3W1_es_bitcoin-test_getaddress_show.py::test_show_cancel[m-44h-0h-12h-0-0-InputScriptType.SPENDADD-4eca71e0": "6028f0ce6f039e108c00584690a47940710f96f6066ce4c15e0870b5a6ce0aa9", +"T3W1_es_bitcoin-test_getaddress_show.py::test_show_cancel[m-49h-0h-12h-0-0-InputScriptType.SPENDP2S-4ec777e0": "407ef10227dcd77b127ecdcd344211881db80f26852645d1f5bc5529cb900ca2", +"T3W1_es_bitcoin-test_getaddress_show.py::test_show_cancel[m-84h-0h-12h-0-0-InputScriptType.SPENDWIT-d6991e22": "29bce22ff950ceaf35eaf5e4ba58681f7e750cdbc4955930617ef9e5b0fa1639", +"T3W1_es_bitcoin-test_getaddress_show.py::test_show_cancel[m-86h-0h-12h-0-0-InputScriptType.SPENDTAP-4c5b2b38": "d0cf4cab76fc1e4140e5796c411e86e35cfce59fdbf9d5734634a02594183928", +"T3W1_es_bitcoin-test_getaddress_show.py::test_show_multisig_15": "b7bfef0cef5e61c88761051adbf22ca2b06c34e7f7dfdb8a92b5a8e4d663fbb6", +"T3W1_es_bitcoin-test_getaddress_show.py::test_show_multisig_3": "cca6d6aaeb6f0e99fd1458ce53b2df2bd20f3cbfbaabb597311d2a53316d544d", +"T3W1_es_bitcoin-test_getaddress_show.py::test_show_tt[m-44h-0h-12h-0-0-InputScriptType.SPENDADDRESS-5c88d0fd": "c0613498b5d01419582759722b506000e2c42f99ea25d5d845c35a1736e1884f", +"T3W1_es_bitcoin-test_getaddress_show.py::test_show_tt[m-44h-0h-12h-0-0-InputScriptType.SPENDADDRESS-87490d4e": "9bb5a865c30a45159eae5e0faa3d3e50d21cc594a0cd88355e4ba922fac12528", +"T3W1_es_bitcoin-test_getaddress_show.py::test_show_tt[m-49h-0h-12h-0-0-InputScriptType.SPENDP2SHWIT-9bc227c1": "4b2b4b27ce1d6d0c2a822fd9a68742c2f6022a3c918455191f87a610e8b6bb72", +"T3W1_es_bitcoin-test_getaddress_show.py::test_show_tt[m-49h-0h-12h-0-0-InputScriptType.SPENDP2SHWIT-aca0623f": "cfc6a26ce1c3601885b239d33529a80f1438d1cd9ae7285ab3d0be5a6698d677", +"T3W1_es_bitcoin-test_getaddress_show.py::test_show_tt[m-84h-0h-12h-0-0-InputScriptType.SPENDWITNESS-747c079d": "74d4f351842fc6a5370fb2b1545f3e1bf77a85ef61a6f313ad856cd622d61f13", +"T3W1_es_bitcoin-test_getaddress_show.py::test_show_tt[m-84h-0h-12h-0-0-InputScriptType.SPENDWITNESS-e4302080": "d4edafb1a0ce6b60ee54458cecb2e774c24ab38a9881162c338b31acb303601f", +"T3W1_es_bitcoin-test_getaddress_show.py::test_show_tt[m-86h-0h-12h-0-0-InputScriptType.SPENDTAPROOT-071a4a07": "268866dafd8b833352abefcd10fe6f729d843526d3889f1d6e3571e7f635fabe", +"T3W1_es_bitcoin-test_getaddress_show.py::test_show_tt[m-86h-0h-12h-0-0-InputScriptType.SPENDTAPROOT-25ee9808": "07fea0da0bddfc8fdcd6cbba74123e078d1b44891d82f7e3d8a84d3c7f079c6d", +"T3W1_es_bitcoin-test_getaddress_show.py::test_show_unrecognized_path": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getownershipproof.py::test_attack_ownership_id": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getownershipproof.py::test_confirm_ownership_proof": "0498334ac712cbade1aa37ffdd94b0120b4556f5deca667f7445e7d0f3e721e2", +"T3W1_es_bitcoin-test_getownershipproof.py::test_confirm_ownership_proof_with_data": "2555f54d5bf7bc2e648e0706fa16fe29f9e5371ccff9c9bb2ce7efadb63d638d", +"T3W1_es_bitcoin-test_getownershipproof.py::test_fake_ownership_id": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getownershipproof.py::test_p2tr_ownership_id": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getownershipproof.py::test_p2tr_ownership_proof": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getownershipproof.py::test_p2wpkh_ownership_id": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getownershipproof.py::test_p2wpkh_ownership_proof": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path0-xpub6BiVtCpG9fQPx-40a56ca3": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path1-xpub6BiVtCpG9fQQR-1abafc98": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path2-xpub6FVDRC1jiWNTu-47a67414": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path3-xpub6GhTNegKCjTqj-990e0830": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path6-xpub68Zyu13qjcQvJ-8285bd20": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path10-Ltub2dcb6Nghj3k-53e5db37": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path7-Ltub2Y8PyEMWQVgi-d0bb059c": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path8-Ltub2Y8PyEMWQVgi-98ae2c41": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path9-Ltub2dTvwC4v7GNe-8d6d95fb": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey.py::test_get_public_node[Testnet-70617039-path4-tpubDDKn3FtHc74Ca-f3b70aff": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey.py::test_get_public_node[Testnet-70617039-path5-tpubDGwNSs8z8jZU2-8b5efa13": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path0-xpub6BiVtCpG-d791cce2": "5b2b968cbfcfd28e2a74844bc7a747b39627c34f116c1d13030817dd162e1855", +"T3W1_es_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path1-xpub6BiVtCpG-74c78643": "07059c61d0de2fad2b53005311056400e9c49ac3a15bbb57547cbecbc1bacc71", +"T3W1_es_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path2-xpub6FVDRC1j-3074f5a6": "53afdd835cdd29f19feeb865012ea143f23539ed867f982443ecd4dd60198111", +"T3W1_es_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path3-xpub6GhTNegK-1b073ed9": "318af94b662703b35f281e02ed7ec52525c53eb4b4f4163387945a5c88bc3ff8", +"T3W1_es_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path6-xpub68Zyu13q-eb190bf2": "68d532fcdfdbd36fae8ac6cf6688cc899fb834dd4d5d72249f3d6e701c5bd423", +"T3W1_es_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path10-Ltub2dcb6N-d2ef4e5a": "0be9ce93d70e7729d7fb34d24c65aa52db622872e0e7c585e173af7c34c8f90d", +"T3W1_es_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path7-Ltub2Y8PyEM-b9a6bf56": "807c0df5b18575b131c8aba8827f01d441894920f73389952ac9db44bbd12266", +"T3W1_es_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path8-Ltub2Y8PyEM-d598ed84": "efb3c094d7ae734061f5b0435d05c2cb0bdfa2c680c79b5aceb332a35477bb37", +"T3W1_es_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path9-Ltub2dTvwC4-bfef8b2e": "72c209cd5e6a57e09c574b57248f07c782db94f3ae52e12dab6503f4dc9e57cf", +"T3W1_es_bitcoin-test_getpublickey.py::test_get_public_node_show[Testnet-70617039-path4-tpubDDKn3FtH-5ca1cba5": "38711b7194ebdfba3e625e54f54772490fa9a61bda23332aacf0fea8b589a7aa", +"T3W1_es_bitcoin-test_getpublickey.py::test_get_public_node_show[Testnet-70617039-path5-tpubDGwNSs8z-60ca5612": "05b1c53603eae44865322a0a3ec71ecaa967c2e7fb2ff3950bac81e4fe0f54f6", +"T3W1_es_bitcoin-test_getpublickey.py::test_invalid_path[Bcash-path5]": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey.py::test_invalid_path[Bitcoin-path0]": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey.py::test_invalid_path[Bitcoin-path2]": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey.py::test_invalid_path[Bitcoin-path3]": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey.py::test_invalid_path[Litecoin-path4]": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey.py::test_invalid_path[Testnet-path1]": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey.py::test_script_type[InputScriptType.SPENDADDRESS-xpub6BiVtCp7ozs-9813cc48": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey.py::test_script_type[InputScriptType.SPENDP2SHWITNESS-ypub6WYmBsV-0710fbb3": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey.py::test_script_type[InputScriptType.SPENDWITNESS-zpub6qP2VY9x7Mx-84eaa56c": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey.py::test_script_type[None-xpub6BiVtCp7ozsRo7kaoYNrCNAVJwPYTQHjoXF-c37a47fd": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey.py::test_slip25_path": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey_curve.py::test_coin_and_curve": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey_curve.py::test_ed25519_public": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey_curve.py::test_publickey_curve[ed25519-path4-002e28dc0346d6d30d4e-e6c7a440": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey_curve.py::test_publickey_curve[nist256p1-path2-0324c6860c25cdf7a8-d75f4900": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey_curve.py::test_publickey_curve[nist256p1-path3-03b93f7e6c777143ad-2d6b178b": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey_curve.py::test_publickey_curve[secp256k1-path0-02f65ce170451f66f4-9c982c22": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_getpublickey_curve.py::test_publickey_curve[secp256k1-path1-0212f4629f4f224db0-0209bb73": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_grs.py::test_legacy": "d1427ccaf2b74f8ac353bdc9300085bd2a66fc95431ab9696d70987b5ad9954f", +"T3W1_es_bitcoin-test_grs.py::test_legacy_change": "678a9e1dc10e7ff6f251311466698bcd08a309f8b6feda0fcddf3d6b5b838a91", +"T3W1_es_bitcoin-test_grs.py::test_send_p2tr": "f419b5d3bea2cc3124811bef334c45661c0fa25d4ed7a9b87c63dd7108415fb2", +"T3W1_es_bitcoin-test_grs.py::test_send_segwit_native": "c45c17bc58f350c7b1fea2053b8b1ef65155d7728f9522cc4bdf2beba594a492", +"T3W1_es_bitcoin-test_grs.py::test_send_segwit_native_change": "af1f0a37995cfc646dc5f317ab905f061b768f5aa8c47fcad91648e9eccdde7e", +"T3W1_es_bitcoin-test_grs.py::test_send_segwit_p2sh": "db748043d71c84f1fe15f152c30c734050a1ed77b24e6d76974db626fe01215e", +"T3W1_es_bitcoin-test_grs.py::test_send_segwit_p2sh_change": "83ec0dd230cfe93ef1230853a30c5f592a2c94d7cea48aa4ca5ab609223e2a77", +"T3W1_es_bitcoin-test_komodo.py::test_one_one_fee_sapling": "e60f27158f82611b7290c9cba9c04c2586c2fc5521d2ed2341f681af8bfab7f3", +"T3W1_es_bitcoin-test_komodo.py::test_one_one_rewards_claim": "c548b63a62eae1b6affb7045fe406f48bdf656d41bdd281ce179c7efc738ac44", +"T3W1_es_bitcoin-test_multisig.py::test_15_of_15": "57b0ae5a889f70c98a7740064583d22bb197a669babfc3f61fbbd5fe7fc86ca4", +"T3W1_es_bitcoin-test_multisig.py::test_2_of_3[False]": "9fa65860a416c451a95945b8c9c5530e2e4f7c4ef28fe3981f86a3c7d533f4d7", +"T3W1_es_bitcoin-test_multisig.py::test_2_of_3[True]": "33e30c0d83db211fd17343c275299b3fbe1c2b619b57a67e257221d4b87e0546", +"T3W1_es_bitcoin-test_multisig.py::test_attack_change_input": "50ab034d64581e1a460dacbe5cc8cc7f40ff054a8f41b13e933219097c836a08", +"T3W1_es_bitcoin-test_multisig.py::test_missing_pubkey": "8306455c556cf3dce6bab0cd70b8f24e6f5272be8cf65418c4244961ae9e024f", +"T3W1_es_bitcoin-test_multisig.py::test_pubkeys_order": "a45df4322a5bcf010543de2aa9be8ef86b9be4bad4e610a278ca9b57b6fd7a87", +"T3W1_es_bitcoin-test_multisig_change.py::test_external_external": "bf1268d1297890b0aa20c9504f0df5f64dfb883f0e02c0de2be2d5e3a6bd8f2b", +"T3W1_es_bitcoin-test_multisig_change.py::test_external_internal": "98e6f130a3d61ccbcf6ae9c23c5cfb067fe9cc424857320064d6e8ba30077d5a", +"T3W1_es_bitcoin-test_multisig_change.py::test_internal_external": "d8ca234a6768b338a809d3698ee63286dc384807313b5d78bc8071cda54296dc", +"T3W1_es_bitcoin-test_multisig_change.py::test_multisig_change_match_first": "6ab58244652b7a1ccd279575e3436c5bfedf6e7f1bd67c737d2c7ce79d40d50e", +"T3W1_es_bitcoin-test_multisig_change.py::test_multisig_change_match_second": "cfa6fed70bada7002339bcbaf323550c82aa74a1b2a0bb98db5a747211bbca45", +"T3W1_es_bitcoin-test_multisig_change.py::test_multisig_external_external": "ca9347c9f8e1715e64b396b76c88b77e4d2344038ce41364bd214392d0efd360", +"T3W1_es_bitcoin-test_multisig_change.py::test_multisig_mismatch_inputs": "69f922a427211e82ae673975b3572621f9afd936c183d19d1172c552a2c01bb5", +"T3W1_es_bitcoin-test_multisig_change.py::test_multisig_mismatch_multisig_change": "ddb9e2b93cd6a2fe821ca33fe7fe6b61ce319e8812bd846f591770f783aa99da", +"T3W1_es_bitcoin-test_multisig_change.py::test_multisig_mismatch_multisig_change_different_paths": "e399404a35f17adf007a5fb64bdaf33617c7ed951101890735f8d1e1f5cc2262", +"T3W1_es_bitcoin-test_multisig_change.py::test_sorted_multisig_change_match_first": "6ab58244652b7a1ccd279575e3436c5bfedf6e7f1bd67c737d2c7ce79d40d50e", +"T3W1_es_bitcoin-test_multisig_change.py::test_sorted_multisig_mismatch_inputs": "53baaf7c7fed2d7cacce45d57f3fa573e78a46be2d2070f44d7f1bcf2f8abf2f", +"T3W1_es_bitcoin-test_multisig_change.py::test_sorted_multisig_mismatch_multisig_change": "83ea12f45766f9a1580d620bf7497f002729775eee8f0244e170935a4b940db4", +"T3W1_es_bitcoin-test_op_return.py::test_nonzero_opreturn": "8306455c556cf3dce6bab0cd70b8f24e6f5272be8cf65418c4244961ae9e024f", +"T3W1_es_bitcoin-test_op_return.py::test_opreturn": "03924bdd53a0f5444ebdc125fa34229303b09cf2df1e58b988e009566003dfa5", +"T3W1_es_bitcoin-test_op_return.py::test_opreturn_address": "8306455c556cf3dce6bab0cd70b8f24e6f5272be8cf65418c4244961ae9e024f", +"T3W1_es_bitcoin-test_peercoin.py::test_timestamp_included": "ec806c9433c92b5a582c31208bed92e94302ee420ceeafae495d7a592faee894", +"T3W1_es_bitcoin-test_peercoin.py::test_timestamp_missing": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_peercoin.py::test_timestamp_missing_prevtx": "0c4761b6ea2907d6f7dfa7f4f56846590633a0a46f5e0aea9b794d65878efec2", +"T3W1_es_bitcoin-test_signtx.py::test_attack_change_input_address": "7420f30b61fc61217855167749ff8bc2b6e94821a39fdfba6d79ae4c994c0a86", +"T3W1_es_bitcoin-test_signtx.py::test_attack_change_outputs": "62e0540750bc3e6c382431708717068202c1d311d6dbecde6c151af87bfcf51c", +"T3W1_es_bitcoin-test_signtx.py::test_attack_modify_change_address": "cf85cfddb6c249b5dce36c8216a7e8c5d2b4fb1032a3279481718c0a87174098", +"T3W1_es_bitcoin-test_signtx.py::test_change_on_main_chain_allowed": "cf85cfddb6c249b5dce36c8216a7e8c5d2b4fb1032a3279481718c0a87174098", +"T3W1_es_bitcoin-test_signtx.py::test_fee_high_hardfail": "c13a76dccca1ce36ed25fdb80eed23d09c776a42d6ee15cdf8ecb8ff0cdb1e84", +"T3W1_es_bitcoin-test_signtx.py::test_fee_high_warning": "3bc62b9efed55c400c75ffbf2bc6c5f4782fce6a3217570a2878fda5b0361bff", +"T3W1_es_bitcoin-test_signtx.py::test_incorrect_input_script_type[InputScriptType.EXTERNAL]": "8306455c556cf3dce6bab0cd70b8f24e6f5272be8cf65418c4244961ae9e024f", +"T3W1_es_bitcoin-test_signtx.py::test_incorrect_input_script_type[InputScriptType.SPENDADDRESS]": "8306455c556cf3dce6bab0cd70b8f24e6f5272be8cf65418c4244961ae9e024f", +"T3W1_es_bitcoin-test_signtx.py::test_incorrect_output_script_type[OutputScriptType.PAYTOADDRESS]": "8306455c556cf3dce6bab0cd70b8f24e6f5272be8cf65418c4244961ae9e024f", +"T3W1_es_bitcoin-test_signtx.py::test_incorrect_output_script_type[OutputScriptType.PAYTOSCRIPTHASH]": "8306455c556cf3dce6bab0cd70b8f24e6f5272be8cf65418c4244961ae9e024f", +"T3W1_es_bitcoin-test_signtx.py::test_information": "cf15119627125026b4821790ba89492b261265e3dce15e53723217a315f6d9cc", +"T3W1_es_bitcoin-test_signtx.py::test_information_cancel": "83caa41532244b882d5b4fca83e3198b7d1c0611cf1e11963debee868edbcd43", +"T3W1_es_bitcoin-test_signtx.py::test_information_mixed": "6c41010a264eea87360be647778b0055318c0e10c9c43887b3141ff126306b56", +"T3W1_es_bitcoin-test_signtx.py::test_lock_time[1-4294967295]": "b1a2f8db13cbb3fafd3dd9ab8d4a4a5a2b71fc036b805a9b6fb55abd7d6287e2", +"T3W1_es_bitcoin-test_signtx.py::test_lock_time[499999999-4294967294]": "e2409fdf288666eda18ebcc12bad350046deb81ac7823594af57e270a5415095", +"T3W1_es_bitcoin-test_signtx.py::test_lock_time[500000000-4294967294]": "d11e2f5c0e13c61f513655a673910e290d0db8c7ea2b9b96bf472f4f148ff657", +"T3W1_es_bitcoin-test_signtx.py::test_lock_time_blockheight": "86254492b5aa7bfc29c01d220eb548bc9b7199966490c3400ef295db063089af", +"T3W1_es_bitcoin-test_signtx.py::test_lock_time_datetime[1985-11-05 00:53:20]": "7bcbdb10f7d8218d0f5b4ecb555f78b3544abc8ae2bc34694d41bbcce71e0f41", +"T3W1_es_bitcoin-test_signtx.py::test_lock_time_datetime[2048-08-16 22:14:00]": "c59e4f8847ea95538029156b141369d4cb0d2b3234593c83f612b6d702920a5e", +"T3W1_es_bitcoin-test_signtx.py::test_lots_of_change": "f77362a54a8afc4c95a748137c96eeb1c960baa564c3c65356c68837156d0f18", +"T3W1_es_bitcoin-test_signtx.py::test_lots_of_inputs": "65f992a98a36516758a27de6dfa5beaee0197b0136fcde0bcf5b59cb713234fa", +"T3W1_es_bitcoin-test_signtx.py::test_lots_of_outputs": "50fd2697f15c5c43289f22c7a70b9d7425033f13788adf9100df1326c4d2ddea", +"T3W1_es_bitcoin-test_signtx.py::test_not_enough_funds": "9892a842433bd944b143baa61e417fc4eb07277c20a5c05036415198138c234c", +"T3W1_es_bitcoin-test_signtx.py::test_not_enough_vouts": "649152af3db2cb1ea0f2342263d368472f529f0e3e2bf5c321eebe44f71109a9", +"T3W1_es_bitcoin-test_signtx.py::test_one_one_fee": "7a250bbab9c69e6e02c2e4bc72d9fbb8fd3026a0d812ed7fbd9120f40251670a", +"T3W1_es_bitcoin-test_signtx.py::test_one_three_fee[False]": "05480a13cb4d6f5c64088dbb53397fb9e2332723a4bc9474a479cc73ddcffece", +"T3W1_es_bitcoin-test_signtx.py::test_one_three_fee[True]": "bd81f56bb05294387a1d2e2c5436c0ef1f466593fc7aa21c4076e1ef60b485fe", +"T3W1_es_bitcoin-test_signtx.py::test_one_two_fee": "faec7f61b7dc48adc156ecfaba6ea94028c7a5253dcd2954820b65729ba4f17f", +"T3W1_es_bitcoin-test_signtx.py::test_p2sh": "5e1f94efd96408957a4e376515041c734c4543e67de2df32eb2779bdecd7f4a5", +"T3W1_es_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[branch_id-13]": "9ad296ad7ab3d00acf06aad980b9a25df542bacbe679a39dbc7c36fc466d24c2", +"T3W1_es_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[expiry-9]": "9ad296ad7ab3d00acf06aad980b9a25df542bacbe679a39dbc7c36fc466d24c2", +"T3W1_es_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[extra_data-hello world]": "9ad296ad7ab3d00acf06aad980b9a25df542bacbe679a39dbc7c36fc466d24c2", +"T3W1_es_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[timestamp-42]": "9ad296ad7ab3d00acf06aad980b9a25df542bacbe679a39dbc7c36fc466d24c2", +"T3W1_es_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[version_group_id-69]": "9ad296ad7ab3d00acf06aad980b9a25df542bacbe679a39dbc7c36fc466d24c2", +"T3W1_es_bitcoin-test_signtx.py::test_signtx_forbidden_fields[branch_id-13]": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_signtx.py::test_signtx_forbidden_fields[expiry-9]": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_signtx.py::test_signtx_forbidden_fields[timestamp-42]": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_signtx.py::test_signtx_forbidden_fields[version_group_id-69]": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_signtx.py::test_spend_coinbase": "f5669a74765413387594828aa688d9564de9aaac638649e237823fb2d8c8d28a", +"T3W1_es_bitcoin-test_signtx.py::test_testnet_big_amount": "7dd0b64387846e47e312ee8a53461d65c55c4b5bb50336b291d3db3b0fab9298", +"T3W1_es_bitcoin-test_signtx.py::test_testnet_fee_high_warning": "b532deeb22264ca6e52c466a335127f024bfcc188b3429e2e25610175ce4de28", +"T3W1_es_bitcoin-test_signtx.py::test_testnet_one_two_fee": "cf85cfddb6c249b5dce36c8216a7e8c5d2b4fb1032a3279481718c0a87174098", +"T3W1_es_bitcoin-test_signtx.py::test_two_changes": "5c2bf299e1357749e0d9b4c101a0d4f8cee58e7a5ba866090835c14fc6356bb9", +"T3W1_es_bitcoin-test_signtx.py::test_two_two": "e27dbe15434d5435e70886bfa736a3875bfb44f3c4fcd3b73af0d7b503888388", +"T3W1_es_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.BITCOIN]": "7a250bbab9c69e6e02c2e4bc72d9fbb8fd3026a0d812ed7fbd9120f40251670a", +"T3W1_es_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.MICROBITCOIN]": "c5c936d99a6183e100e6a0714c4caab88341b098f6c30796500bd2cca3b548e7", +"T3W1_es_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.MILLIBITCOIN]": "84b4a38c059337f2468e126dbd59497e5fa80ec0992d846a33eeaba5c4b3a139", +"T3W1_es_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.SATOSHI]": "45c9e77d81e33e256ef5c3a3e97c4eaaedbc5f045f786c888c2b2a227dd98ea8", +"T3W1_es_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[None]": "7a250bbab9c69e6e02c2e4bc72d9fbb8fd3026a0d812ed7fbd9120f40251670a", +"T3W1_es_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.BITCOIN]": "d5a7a10b18b8184479c15426797076f72bacaadad3eff5274b2448c20a1edbb3", +"T3W1_es_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.MICROBITCOIN]": "ed987936dec348a04021a99629c0d5fa898671152cdea84c3f6871fbafa4b00b", +"T3W1_es_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.MILLIBITCOIN]": "e2b6c85924b889cebbda720fad5cdde90cec1dddbbee0eee88374d20b189a631", +"T3W1_es_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.SATOSHI]": "c9e3a68f6b463c1982c3a65e1904faeb3b69c3c789898e9084992c4db84c2201", +"T3W1_es_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[None]": "d5a7a10b18b8184479c15426797076f72bacaadad3eff5274b2448c20a1edbb3", +"T3W1_es_bitcoin-test_signtx_external.py::test_p2pkh_presigned": "6539f9d9806349fa9d1addf67764d35345d3b616e6437642d73902e14cace523", +"T3W1_es_bitcoin-test_signtx_external.py::test_p2pkh_with_proof": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_signtx_external.py::test_p2tr_external_presigned": "a4d3ff4090956f5eb0d8a8e00a6f9455b3b8fae0863a3c31144c3db606ee88f5", +"T3W1_es_bitcoin-test_signtx_external.py::test_p2tr_external_unverified": "9d3e01120d7a1656f986ff45d07651ca8610a4bb2a960a5114fb86f7d70371bc", +"T3W1_es_bitcoin-test_signtx_external.py::test_p2tr_with_proof": "02e11c4e0175445b0183ccd5f11c9dac93353a1374ac2e7b551bf68ac995050d", +"T3W1_es_bitcoin-test_signtx_external.py::test_p2wpkh_external_unverified": "8a34105713d40a57b04d6c2e57ca46707fc4e5236da2c9948bb00ac8d7336734", +"T3W1_es_bitcoin-test_signtx_external.py::test_p2wpkh_in_p2sh_presigned": "063b47d9e7893de0612f6b719a4f03f6ebf1455be3fc0762267100a6b5c166a1", +"T3W1_es_bitcoin-test_signtx_external.py::test_p2wpkh_in_p2sh_with_proof": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_signtx_external.py::test_p2wpkh_presigned": "4b8f92207c202c97b8e27b26aa4e9aa07988ca9c80567c42574220d877554ab7", +"T3W1_es_bitcoin-test_signtx_external.py::test_p2wpkh_with_false_proof": "8306455c556cf3dce6bab0cd70b8f24e6f5272be8cf65418c4244961ae9e024f", +"T3W1_es_bitcoin-test_signtx_external.py::test_p2wpkh_with_proof": "5ccc6519f887a072070e9d25eb440777a7f54f879af0e42cac37e1ace03588af", +"T3W1_es_bitcoin-test_signtx_external.py::test_p2wsh_external_presigned": "1ecb49c10a48bac8fb3225a615b2c065ca5b9a195755535047a1b586e5e75b60", +"T3W1_es_bitcoin-test_signtx_invalid_path.py::test_attack_path_segwit": "7c64f9a494bfe4d84beee9ae77b67ac247dc11fc495426e11602ed31b8d79a33", +"T3W1_es_bitcoin-test_signtx_invalid_path.py::test_invalid_path_fail": "8306455c556cf3dce6bab0cd70b8f24e6f5272be8cf65418c4244961ae9e024f", +"T3W1_es_bitcoin-test_signtx_invalid_path.py::test_invalid_path_fail_asap": "8306455c556cf3dce6bab0cd70b8f24e6f5272be8cf65418c4244961ae9e024f", +"T3W1_es_bitcoin-test_signtx_invalid_path.py::test_invalid_path_pass_forkid": "c158c979e9177eddec77adbceac4ad771b0a38e8defca80063ac891814babe8b", +"T3W1_es_bitcoin-test_signtx_invalid_path.py::test_invalid_path_prompt": "c491e89d9fa5cdfe0d2819756c794c0b64dce4c70157805069f14b52941c5eef", +"T3W1_es_bitcoin-test_signtx_mixed_inputs.py::test_non_segwit_segwit_inputs": "51806ce7a3bd87193d9154a8599a3a6bbffa544355af5cd242cba060759f2569", +"T3W1_es_bitcoin-test_signtx_mixed_inputs.py::test_non_segwit_segwit_non_segwit_inputs": "530a550cff4379ddee7630d4a6004410504a4125841b0565f2df5939209b69c3", +"T3W1_es_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_inputs": "51806ce7a3bd87193d9154a8599a3a6bbffa544355af5cd242cba060759f2569", +"T3W1_es_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_segwit_inputs": "530a550cff4379ddee7630d4a6004410504a4125841b0565f2df5939209b69c3", +"T3W1_es_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[]": "8306455c556cf3dce6bab0cd70b8f24e6f5272be8cf65418c4244961ae9e024f", +"T3W1_es_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[hello world]": "8306455c556cf3dce6bab0cd70b8f24e6f5272be8cf65418c4244961ae9e024f", +"T3W1_es_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[x]": "8306455c556cf3dce6bab0cd70b8f24e6f5272be8cf65418c4244961ae9e024f", +"T3W1_es_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "8306455c556cf3dce6bab0cd70b8f24e6f5272be8cf65418c4244961ae9e024f", +"T3W1_es_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[]": "f96f698d215605206a5e9105dbbf24ebd5c79c7f0d91104e06a2596300ed328d", +"T3W1_es_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[hello world]": "f96f698d215605206a5e9105dbbf24ebd5c79c7f0d91104e06a2596300ed328d", +"T3W1_es_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[x]": "f96f698d215605206a5e9105dbbf24ebd5c79c7f0d91104e06a2596300ed328d", +"T3W1_es_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "f96f698d215605206a5e9105dbbf24ebd5c79c7f0d91104e06a2596300ed328d", +"T3W1_es_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[]": "bfa7c3ebf76c3bb94fc0e22aa0d0ed86e8a804e24d06ad1f4541ffa9a0a984ae", +"T3W1_es_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[hello world]": "bfa7c3ebf76c3bb94fc0e22aa0d0ed86e8a804e24d06ad1f4541ffa9a0a984ae", +"T3W1_es_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[x]": "bfa7c3ebf76c3bb94fc0e22aa0d0ed86e8a804e24d06ad1f4541ffa9a0a984ae", +"T3W1_es_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "bfa7c3ebf76c3bb94fc0e22aa0d0ed86e8a804e24d06ad1f4541ffa9a0a984ae", +"T3W1_es_bitcoin-test_signtx_segwit.py::test_attack_change_input_address": "82a5f9f3bfbe651589a3e8fc8d76c06133428ea9abcd2d73c1abd5f23389e33a", +"T3W1_es_bitcoin-test_signtx_segwit.py::test_attack_mixed_inputs": "59e659fc3ccdf80fd660c8a3813f5f6dae8dd8ca31f15c71829d300d890eb60f", +"T3W1_es_bitcoin-test_signtx_segwit.py::test_send_multisig_1": "dcc57e6f57a92b2fe8ddd32a84f39ad958b453e50c01fc65c79df9e6e1e01f6f", +"T3W1_es_bitcoin-test_signtx_segwit.py::test_send_p2sh[False]": "0f38e3392b17c81713311ee4955232bd5406334b38d380208e11a738b53eb5d1", +"T3W1_es_bitcoin-test_signtx_segwit.py::test_send_p2sh[True]": "c700da5700e82f2d7943df01e2f1a2986a4df342ef825eb45dbf96f9a14eb1d8", +"T3W1_es_bitcoin-test_signtx_segwit.py::test_send_p2sh_change": "9f4610e796c9c2489baaf223debf14b0d54e8b877d79dcce56834e31532cd3b6", +"T3W1_es_bitcoin-test_signtx_segwit.py::test_testnet_segwit_big_amount": "320f2c0cf4544ba47b2deb4aed200f539dfe34cfbbbc1a23d3cb4c77e33caf25", +"T3W1_es_bitcoin-test_signtx_segwit_native.py::test_multisig_mismatch_inputs_single": "d7340f75f93ad6607fbfcfcd06daeeafa008fcdbed1f35b8b207c019afcc40aa", +"T3W1_es_bitcoin-test_signtx_segwit_native.py::test_send_both": "83239e814af67f0cc374fe4df3789a384ebbd12e8bceb055f3296952d82723b0", +"T3W1_es_bitcoin-test_signtx_segwit_native.py::test_send_multisig_1": "ba26384667fe2ebbacaf562075463db130ed7fd0b6f7a7a5ef0c3cbcb7c9d45a", +"T3W1_es_bitcoin-test_signtx_segwit_native.py::test_send_multisig_2": "a6bc1a158ddda3a503ed1b239680144ed62fa11a840c84b0a71bd5e052d2d7b9", +"T3W1_es_bitcoin-test_signtx_segwit_native.py::test_send_multisig_3_change": "ef5f29991e3fd3f20b48a4306a81dd86d86254f50aff6eee31726629fb613d27", +"T3W1_es_bitcoin-test_signtx_segwit_native.py::test_send_multisig_4_change": "0d2773817d075d7f1f606cec2061602b6847fdacdb64870e390f4a12f268d905", +"T3W1_es_bitcoin-test_signtx_segwit_native.py::test_send_native": "d5a7a10b18b8184479c15426797076f72bacaadad3eff5274b2448c20a1edbb3", +"T3W1_es_bitcoin-test_signtx_segwit_native.py::test_send_native_change": "aefb7559d7051935aea5d8fd64e4a9613b8bd42dfee23c7d350b991a2826b0c4", +"T3W1_es_bitcoin-test_signtx_segwit_native.py::test_send_p2sh": "7b49e3cf94b8dabdccedc04eac1872b505bc7b2f116e956a22cc771915095fcc", +"T3W1_es_bitcoin-test_signtx_segwit_native.py::test_send_p2sh_change": "adb0d7574b1bfe8d7f479cc7fc83eaaacb886b81fb529e0a9d0bdb90cb3b6e1f", +"T3W1_es_bitcoin-test_signtx_segwit_native.py::test_send_to_taproot": "cd8b23694126c19f2fee5f2eb6ca4c283bc65e87a48e8913f4fc17d824499732", +"T3W1_es_bitcoin-test_signtx_taproot.py::test_attack_script_type": "7c6f827a83bdf0bced59564732f9b0814f4cc092e80081102278e6c274d1a349", +"T3W1_es_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1pam775nxmvam4pfpqlm5q06k0y84e3-a257be51": "8306455c556cf3dce6bab0cd70b8f24e6f5272be8cf65418c4244961ae9e024f", +"T3W1_es_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1plllllllllllllllllllllllllllll-aaa668e3": "8306455c556cf3dce6bab0cd70b8f24e6f5272be8cf65418c4244961ae9e024f", +"T3W1_es_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1plycg5qvjtrp3qjf5f7zl382j9x6nr-5447628e": "8306455c556cf3dce6bab0cd70b8f24e6f5272be8cf65418c4244961ae9e024f", +"T3W1_es_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1zlycg5qvjtrp3qjf5f7zl382j9x6nr-880d4a6b": "8306455c556cf3dce6bab0cd70b8f24e6f5272be8cf65418c4244961ae9e024f", +"T3W1_es_bitcoin-test_signtx_taproot.py::test_send_mixed": "e607543bd5160d27b2a1ea74e06de9224ae8a99443c472ffd11c0013e8609787", +"T3W1_es_bitcoin-test_signtx_taproot.py::test_send_p2tr[False]": "7fcb2727b31ed707e00edc31edda9c9bf9f81d8995f81e9f6770ae4a5ba7e22c", +"T3W1_es_bitcoin-test_signtx_taproot.py::test_send_p2tr[True]": "46b569cbcd04be7cb031e1a75a52bff7c1c06bcf2955a20817342a3e34b59d37", +"T3W1_es_bitcoin-test_signtx_taproot.py::test_send_two_with_change": "fabb165c1505cb3da56f337487e06943fd3191e4fc56782f229900dc6a621e44", +"T3W1_es_bitcoin-test_zcash.py::test_external_presigned": "9d39639eb45c8d9d8ad7808e5a2fe01a6034162db851a767f423abede22ec864", +"T3W1_es_bitcoin-test_zcash.py::test_one_one_fee_sapling": "4d1edb672065d9cdb0fe672bddc88e18ba13e847013effb4b4e45f89d2b34252", +"T3W1_es_bitcoin-test_zcash.py::test_spend_old_versions": "583d18e9c8f60cfb584b26638d9e2480915a70ff7938b5107c26015276b48233", +"T3W1_es_bitcoin-test_zcash.py::test_v3_not_supported": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_bitcoin-test_zcash.py::test_version_group_id_missing": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_misc-test_msg_cipherkeyvalue.py::test_decrypt": "d0e0d40dab95f3e13c2921ded2940437182d28841d1cda812cd30632348ad8b2", +"T3W1_es_misc-test_msg_cipherkeyvalue.py::test_decrypt_badlen": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_misc-test_msg_cipherkeyvalue.py::test_encrypt": "b26b3cf6cc533c17d78ba26eda54663a6fe6f0608f5a6157d15da629a7119fe6", +"T3W1_es_misc-test_msg_cipherkeyvalue.py::test_encrypt_badlen": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_misc-test_msg_enablelabeling.py::test_encrypt": "38a0b3b8cf09de0b0d64d6e6eea279a1d15396d0a4ec8122ba4873d5494cac81", +"T3W1_es_misc-test_msg_getecdhsessionkey.py::test_ecdh": "88f9df856c4bb50f4db6ff398cef2cc570a449ea114816df5e00e89d650ac06a", +"T3W1_es_misc-test_msg_getentropy.py::test_entropy[128]": "87eaf781c8fe3f1dd0302d9c5538b2d517d76ba66a83d0a2edb99b593c780a6f", +"T3W1_es_misc-test_msg_getentropy.py::test_entropy[129]": "87eaf781c8fe3f1dd0302d9c5538b2d517d76ba66a83d0a2edb99b593c780a6f", +"T3W1_es_misc-test_msg_getentropy.py::test_entropy[16]": "87eaf781c8fe3f1dd0302d9c5538b2d517d76ba66a83d0a2edb99b593c780a6f", +"T3W1_es_misc-test_msg_getentropy.py::test_entropy[17]": "87eaf781c8fe3f1dd0302d9c5538b2d517d76ba66a83d0a2edb99b593c780a6f", +"T3W1_es_misc-test_msg_getentropy.py::test_entropy[1]": "87eaf781c8fe3f1dd0302d9c5538b2d517d76ba66a83d0a2edb99b593c780a6f", +"T3W1_es_misc-test_msg_getentropy.py::test_entropy[256]": "87eaf781c8fe3f1dd0302d9c5538b2d517d76ba66a83d0a2edb99b593c780a6f", +"T3W1_es_misc-test_msg_getentropy.py::test_entropy[257]": "87eaf781c8fe3f1dd0302d9c5538b2d517d76ba66a83d0a2edb99b593c780a6f", +"T3W1_es_misc-test_msg_getentropy.py::test_entropy[2_0]": "87eaf781c8fe3f1dd0302d9c5538b2d517d76ba66a83d0a2edb99b593c780a6f", +"T3W1_es_misc-test_msg_getentropy.py::test_entropy[2_1]": "87eaf781c8fe3f1dd0302d9c5538b2d517d76ba66a83d0a2edb99b593c780a6f", +"T3W1_es_misc-test_msg_getentropy.py::test_entropy[32]": "87eaf781c8fe3f1dd0302d9c5538b2d517d76ba66a83d0a2edb99b593c780a6f", +"T3W1_es_misc-test_msg_getentropy.py::test_entropy[33]": "87eaf781c8fe3f1dd0302d9c5538b2d517d76ba66a83d0a2edb99b593c780a6f", +"T3W1_es_misc-test_msg_getentropy.py::test_entropy[3]": "87eaf781c8fe3f1dd0302d9c5538b2d517d76ba66a83d0a2edb99b593c780a6f", +"T3W1_es_misc-test_msg_getentropy.py::test_entropy[4]": "87eaf781c8fe3f1dd0302d9c5538b2d517d76ba66a83d0a2edb99b593c780a6f", +"T3W1_es_misc-test_msg_getentropy.py::test_entropy[512]": "87eaf781c8fe3f1dd0302d9c5538b2d517d76ba66a83d0a2edb99b593c780a6f", +"T3W1_es_misc-test_msg_getentropy.py::test_entropy[513]": "87eaf781c8fe3f1dd0302d9c5538b2d517d76ba66a83d0a2edb99b593c780a6f", +"T3W1_es_misc-test_msg_getentropy.py::test_entropy[5]": "87eaf781c8fe3f1dd0302d9c5538b2d517d76ba66a83d0a2edb99b593c780a6f", +"T3W1_es_misc-test_msg_getentropy.py::test_entropy[64]": "87eaf781c8fe3f1dd0302d9c5538b2d517d76ba66a83d0a2edb99b593c780a6f", +"T3W1_es_misc-test_msg_getentropy.py::test_entropy[65]": "87eaf781c8fe3f1dd0302d9c5538b2d517d76ba66a83d0a2edb99b593c780a6f", +"T3W1_es_misc-test_msg_getentropy.py::test_entropy[8]": "87eaf781c8fe3f1dd0302d9c5538b2d517d76ba66a83d0a2edb99b593c780a6f", +"T3W1_es_misc-test_msg_getentropy.py::test_entropy[9]": "87eaf781c8fe3f1dd0302d9c5538b2d517d76ba66a83d0a2edb99b593c780a6f", +"T3W1_es_misc-test_msg_signidentity.py::test_sign": "d01341ed460e0b43a703c7b46632f8d784de49c89c8c38076b9fff681b1dd4cc", +"T3W1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "51e96d7e20eeee134a5a74b6aba4b475ba47bbdb95663be8dfd0d87e801c6ee5", +"T3W1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "cadbf3548c3defae211215b74d4474499ae9495fe86ba0ca466041024969e06b", +"T3W1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "3d4c5e76b6b9a1a50d95656507383f4abab7a838b013b8878b544405504caf2c", +"T3W1_es_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "cf811531e33f6b24e1a1dfeb36e01a38186993b60394f891d8195b23b199621f", +"T3W1_es_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_reset_recovery-test_recovery_bip39_t2.py::test_tt_nopin_nopassphrase": "2e5ceadc7de2b6975d25e03bda8784416bfe4dbdabddee93ddd871a52db2638b", +"T3W1_es_reset_recovery-test_recovery_bip39_t2.py::test_tt_pin_passphrase": "ec8f1a90895a539c97b11a198b22bad1f9aa5e62fe1c48d8ce2371dc1cd60713", +"T3W1_es_reset_recovery-test_recovery_slip39_advanced.py::test_abort": "28857854f1923a3f09c8e312ad1f5644cdd484ce2d27a19bd86e5609b226ccc1", +"T3W1_es_reset_recovery-test_recovery_slip39_advanced.py::test_extra_share_entered": "4a46986f7a81c0494989b4e4cb08fc17c013388dbea713a5d1ec03fcdf3ae6b6", +"T3W1_es_reset_recovery-test_recovery_slip39_advanced.py::test_group_threshold_reached": "b84b00eba51e3b64a3bb63fb8487b92647ea06ea581a6fdf8eb73d59919af665", +"T3W1_es_reset_recovery-test_recovery_slip39_advanced.py::test_noabort": "f022c1a2ebd7077107caee6a1d5ebc39a423c72897fe2b8934588ae4ea169c07", +"T3W1_es_reset_recovery-test_recovery_slip39_advanced.py::test_same_share": "91b3f6d8d205e12e3da8d3f03310099b24a5e48ae31f02388971c9e6557d7c53", +"T3W1_es_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares0-c2d2e26ad06023c60145f1-afc2dad5": "4edcb7c40430cce7c0d9d8937daec61a3103a886012bda3113727036eefdc548", +"T3W1_es_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares1-c41d5cf80fed71a008a3a0-eb47093e": "79fda13d81ccd7852d998ca32d8136303e1ae12101e166b8445ad7431d8b04b2", +"T3W1_es_reset_recovery-test_recovery_slip39_advanced.py::test_secret_click_info_button[shares0-c2d2-850ffa77": "05b22fc9c133b2816d2c1a3ecbd8e1f52f76fa47e2e6b99fe4097deb3e6e543d", +"T3W1_es_reset_recovery-test_recovery_slip39_advanced.py::test_secret_click_info_button[shares1-c41d-ca9ddec8": "fbed92f8a21b9272a95b193ce794b78a108762c91f25807f0b6dcd8022e45b85", +"T3W1_es_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_dryrun": "b05fa49fd8a65fe4849856ec4e04e95a51ab4a25f1cdebaa5c067560e7aa0285", +"T3W1_es_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_invalid_seed_dryrun": "c9ea5f83077636a30828ad5fa4c1a3c1794501de00bd3176de20d9a2e22103ca", +"T3W1_es_reset_recovery-test_recovery_slip39_basic.py::test_1of1": "6da7a6862cd1f9d53da5cbf92ee98ae2b64dfefe07a3040c86bf867d5cebb002", +"T3W1_es_reset_recovery-test_recovery_slip39_basic.py::test_abort": "28857854f1923a3f09c8e312ad1f5644cdd484ce2d27a19bd86e5609b226ccc1", +"T3W1_es_reset_recovery-test_recovery_slip39_basic.py::test_abort_between_shares": "84ea701003e41eda404687f6a7d7bd9fbd76221997253fd51bb6fc61aff2e4bd", +"T3W1_es_reset_recovery-test_recovery_slip39_basic.py::test_abort_on_number_of_words": "be9b5018eee595596a1bd02bdd5ec0075b35d783e614f24298ffad13faa9743f", +"T3W1_es_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_first_share": "f1379fb4eacdb0409940e1105193bab5f25afd4c64d5c1d09b2350155aa9643c", +"T3W1_es_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_second_share": "94d81170714825ab7f831382fdb64717c19499f8f4ef5fc5a9c41bd9a982ebe0", +"T3W1_es_reset_recovery-test_recovery_slip39_basic.py::test_noabort": "d7563a74bffea02d750f358a1ae055bfcdb7dcba42e9d4c0a32fa42c74a32cb1", +"T3W1_es_reset_recovery-test_recovery_slip39_basic.py::test_recover_with_pin_passphrase": "02d8a9e2c90c752fc18715532066b3ed9d7c7e528d4d597faf804e0b2d0befd2", +"T3W1_es_reset_recovery-test_recovery_slip39_basic.py::test_same_share": "a35d67c0138779fb390338f5b159bd0e3792eab640fa9bbf284e4458f1b1c041", +"T3W1_es_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares0-491b795b80fc21ccdf466c0fb-ad8c45c0": "220796f98f89e136869d97ddb521f5bf9c3a861a80a49c8ff4f164cd97a1ca0f", +"T3W1_es_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares1-644c905b0c4da21692f06fff3-30d0f8ca": "837b57566bcbf0482f902f6055aaf11900b869452d38711db8c30e2a9b60fea4", +"T3W1_es_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares2-b770e0da1363247652de97a39-6af744e3": "b8f194f8c88e2b36641f011edc7f1a953dcd2dfe499f7b820ffb69d3bd974757", +"T3W1_es_reset_recovery-test_recovery_slip39_basic.py::test_share_info_between_shares": "0c0ce56e7ef38e14f0d918ad61bef674416d41cb044a242eeb6699be8b9c24fd", +"T3W1_es_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[0]": "7dffcf117fe333d642589339dafff7d6df22d29704953af6cf0387d6fd601fc0", +"T3W1_es_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[1]": "e1bd1eb07c06cf60fdd10176be64aba618389dcc9ed215511ec4185d5dce0867", +"T3W1_es_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[2]": "544cb39c5bffda8221779891e1b221ab6b1b3e5b3f49b18a3b7ddc91183521cb", +"T3W1_es_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_dryrun": "809bb60df0c3d16e7e001c31a38e0fb82b6890c3313bf45a2d0f26e4ccba25b4", +"T3W1_es_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_invalid_seed_dryrun": "feb54cba4b19a7d2efbfd8f5c2ce7872bba7e192710b3f6fc1ad950ca453b1c0", +"T3W1_es_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Bip39-backup_flow_bip39]": "f0efa6f6747e6b9b68c23c83e8ddf80ea25be796c92817b006197efb4ec41885", +"T3W1_es_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Advanced_Ext-10ea47d6": "e8c8fd9152e0a5f84c6e5bb8c32e83ac397e3b02e6ce3c8203382f18850be383", +"T3W1_es_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Basic_Extend-5dbe8b0f": "324049067d3728b635f69f1cd0412cebd77925b1a37b5e7a5ba5acc1b56e0285", +"T3W1_es_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Bip39-backup_flow_bip39]": "1debde02f7a1900c9fbdedf21170e3400d05f374b36e563f295164ed2b4cb2eb", +"T3W1_es_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Advanced_Extend-8b11c1dc": "2b724a6b6a786300e58a1445f48e1dc3709cd3e02012c216797c031732093572", +"T3W1_es_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Basic_Extendabl-cc19e908": "5d5bfff77adfb884e151534e5b291756fce7eccda9fbb38063c38adeb7a909b1", +"T3W1_es_reset_recovery-test_reset_bip39_t2.py::test_already_initialized": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_reset_recovery-test_reset_bip39_t2.py::test_entropy_check": "463b238fc6762aa70ed7f6b09f6c70dbc7c173ab15291660e11b9004eb123af0", +"T3W1_es_reset_recovery-test_reset_bip39_t2.py::test_failed_pin": "c5ded9f9b9c42ed16a86fdc9ab8b5ebd7c6132fd48c7f8b8192f8dca1fe4d73a", +"T3W1_es_reset_recovery-test_reset_bip39_t2.py::test_no_entropy_check": "463b238fc6762aa70ed7f6b09f6c70dbc7c173ab15291660e11b9004eb123af0", +"T3W1_es_reset_recovery-test_reset_bip39_t2.py::test_reset_device": "52dfa6df1ec7ae0736524fb407539d6e9a34bc786770dc9475f712cc6bf46dda", +"T3W1_es_reset_recovery-test_reset_bip39_t2.py::test_reset_device_192": "c24827598096e57633650b71128d30d9da3b12fcca9cac3782999414d2e2cf6f", +"T3W1_es_reset_recovery-test_reset_bip39_t2.py::test_reset_device_pin": "52409938bedbd4387aecffce87abca9f39b760688f7b1604b8b2bfa43eeabe33", +"T3W1_es_reset_recovery-test_reset_bip39_t2.py::test_reset_entropy_check": "c88dc3f855eecb892ac2e3a6a9604aa841d4c2ba83da25687587330f6e2d028a", +"T3W1_es_reset_recovery-test_reset_bip39_t2.py::test_reset_failed_check": "211273dd736e21442fcc33bd4a92b5d02fc97b3840b385392517ed3a60ea31de", +"T3W1_es_reset_recovery-test_reset_recovery_bip39.py::test_reset_recovery": "56ad28b8e02b55ec4473693112412615c1df2b12aa0d51542f885eb99786afc0", +"T3W1_es_reset_recovery-test_reset_recovery_slip39_advanced.py::test_reset_recovery": "c7138d484ff1582da48fde8b9217b9cba4865e9df9da2b4d7333e45468affbf5", +"T3W1_es_reset_recovery-test_reset_recovery_slip39_basic.py::test_reset_recovery": "a69ba7209688ce44fe1676a362266ffc3be3ca65fb9894a090100d530352c00c", +"T3W1_es_reset_recovery-test_reset_slip39_advanced.py::test_reset_device_slip39_advanced": "9b89e7688bdb1b7564cbe60a1f83bbefdb42872ec5034efe373234db235010ee", +"T3W1_es_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic": "2d465c55a42e050799d465c07865035c740c00ac8ece2d38d1f360343649ccd9", +"T3W1_es_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic_256": "bc4d7da08843430dabf750c589f0e909c2732f195993d5d209c7d70c83e9a4ca", +"T3W1_es_reset_recovery-test_reset_slip39_basic.py::test_reset_entropy_check": "7cd31728c701e6f0164ab9873f3a0c15e25c02b341d4fc9bf246a545fff40fb9", +"T3W1_es_test_autolock.py::test_apply_auto_lock_delay": "32781673474cca5c235ad17d8f91efceed7eb578bda88b4a69c0c4345b1f09d6", +"T3W1_es_test_autolock.py::test_apply_auto_lock_delay_out_of_range[0]": "7b88de08e414952d5971b45a2e33b0e7f81a648f963d23315e3d432483f484d0", +"T3W1_es_test_autolock.py::test_apply_auto_lock_delay_out_of_range[1]": "7b88de08e414952d5971b45a2e33b0e7f81a648f963d23315e3d432483f484d0", +"T3W1_es_test_autolock.py::test_apply_auto_lock_delay_out_of_range[4194304]": "7b88de08e414952d5971b45a2e33b0e7f81a648f963d23315e3d432483f484d0", +"T3W1_es_test_autolock.py::test_apply_auto_lock_delay_out_of_range[536871]": "7b88de08e414952d5971b45a2e33b0e7f81a648f963d23315e3d432483f484d0", +"T3W1_es_test_autolock.py::test_apply_auto_lock_delay_out_of_range[9]": "7b88de08e414952d5971b45a2e33b0e7f81a648f963d23315e3d432483f484d0", +"T3W1_es_test_autolock.py::test_apply_auto_lock_delay_valid[10]": "c87d12b3b5b2602362514a6966a0806a0d0d6f8a02e6e3367e47b4a144649bce", +"T3W1_es_test_autolock.py::test_apply_auto_lock_delay_valid[123]": "efcad6f00064504dc94bc2ffbc4ca9d73b5315f9b90a2fa7588269000996ca47", +"T3W1_es_test_autolock.py::test_apply_auto_lock_delay_valid[3601]": "2b0181c2d1f8d21c1c91cb0ede2a58c3eb396c3de21b85762bdc5ad3d00f4133", +"T3W1_es_test_autolock.py::test_apply_auto_lock_delay_valid[536870]": "16558062458b5af29427c96cdd779a2a23b4441ef083b8158eb92787001f0537", +"T3W1_es_test_autolock.py::test_apply_auto_lock_delay_valid[60]": "42b2bd4bb93a0d0d546688f84e14b0ba2f85688f1dd52d6e834c5467855071ba", +"T3W1_es_test_autolock.py::test_apply_auto_lock_delay_valid[7227]": "34dc98ea53a17817a7a7a649efe9a490eeb2f063bd91c5548103a781cb2d68d7", +"T3W1_es_test_autolock.py::test_autolock_cancels_ui": "a92e7c28a3c4cdc4758e57b75c96ae3895a47f945ebcf227e857d75df5e3ea78", +"T3W1_es_test_autolock.py::test_autolock_default_value": "e971183b90d8171e1f678118a1df155245c3684dfa638b6bc0aded6d2102fbb1", +"T3W1_es_test_autolock.py::test_autolock_ignores_getaddress": "4969db4abe1c3b078f4255207801487246043962700ea4bf387a4a804aaa77e7", +"T3W1_es_test_autolock.py::test_autolock_ignores_initialize": "4969db4abe1c3b078f4255207801487246043962700ea4bf387a4a804aaa77e7", +"T3W1_es_test_basic.py::test_capabilities": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_test_basic.py::test_device_id_different": "2b9881b35c1f04e52efaa72cdcc43a3ff6624d402eab1a4a630539ff065b0c9f", +"T3W1_es_test_basic.py::test_device_id_same": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_test_basic.py::test_features": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_test_basic.py::test_ping": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_test_cancel.py::test_cancel_message_via_cancel[message0]": "d27981de338759adb46df7d63fba3b8a276b14bba7958860cdda45982457f65b", +"T3W1_es_test_cancel.py::test_cancel_message_via_cancel[message1]": "4271169af1b126a5441c8998ddd2d351b436fcef1dddbec02477968bcea0185e", +"T3W1_es_test_cancel.py::test_cancel_message_via_initialize[message0]": "d27981de338759adb46df7d63fba3b8a276b14bba7958860cdda45982457f65b", +"T3W1_es_test_cancel.py::test_cancel_message_via_initialize[message1]": "4271169af1b126a5441c8998ddd2d351b436fcef1dddbec02477968bcea0185e", +"T3W1_es_test_debuglink.py::test_softlock_instability": "fa5fe72cbb9354ee5706984f024e7e6527bd9226ea78c7d459143e2f9a56d2e9", +"T3W1_es_test_msg_applysettings.py::test_apply_homescreen_jpeg_progressive": "7b88de08e414952d5971b45a2e33b0e7f81a648f963d23315e3d432483f484d0", +"T3W1_es_test_msg_applysettings.py::test_apply_homescreen_jpeg_wrong_size": "7b88de08e414952d5971b45a2e33b0e7f81a648f963d23315e3d432483f484d0", +"T3W1_es_test_msg_applysettings.py::test_apply_homescreen_toif": "7b88de08e414952d5971b45a2e33b0e7f81a648f963d23315e3d432483f484d0", +"T3W1_es_test_msg_applysettings.py::test_apply_settings": "1cb7faae8e21fde557fcbb6fa4f85f15f49753f43eb50d6087901d1667150a0d", +"T3W1_es_test_msg_applysettings.py::test_apply_settings_passphrase": "8656ec7f1f560bb8ba8058c655b9dca2e844c3bad28e5a715c02c9385cc98339", +"T3W1_es_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "b37e839ea3bb4d2ee1d5575d929793b5cfa89e1ac15cabc98fefa55b991f9423", +"T3W1_es_test_msg_applysettings.py::test_apply_settings_rotation": "00db82bd0107dce115cef4032bb270519e3dff64b349ccb0f723579315eaf8f6", +"T3W1_es_test_msg_applysettings.py::test_experimental_features": "0af0bdec86b51a798b8e64b9e6e30e05f94c677e961b461e9d706954960837c1", +"T3W1_es_test_msg_applysettings.py::test_label_too_long": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_test_msg_backup_device.py::test_backup_bip39": "7c1878827b082d72f445728e2626954a560715aa52cdfe3267a29c39a7ec0622", +"T3W1_es_test_msg_backup_device.py::test_backup_slip39_advanced[click_info]": "74a3ff592a3f8cc9fdbeffffe09843cd5ce8611ae648b5702af602221306be61", +"T3W1_es_test_msg_backup_device.py::test_backup_slip39_advanced[no_click_info]": "ef5233c52f21d5464db929458d764425825cf728a27047226a64ffb6128f44b5", +"T3W1_es_test_msg_backup_device.py::test_backup_slip39_basic[click_info]": "74a3ff592a3f8cc9fdbeffffe09843cd5ce8611ae648b5702af602221306be61", +"T3W1_es_test_msg_backup_device.py::test_backup_slip39_basic[no_click_info]": "c94a9ac872082bc84b67c2b54587a7f873e8ef2565246149bbb408d4af41413c", +"T3W1_es_test_msg_backup_device.py::test_backup_slip39_custom[1_of_1]": "16a8fecbd8b7b83aee925abc609757f59015f8f3b4e049f88fcdb17d828d7431", +"T3W1_es_test_msg_backup_device.py::test_backup_slip39_custom[2_of_2]": "48d7da1ae941e7857ed5c5f40a513a08e969c9b51016344391ffac8965da3266", +"T3W1_es_test_msg_backup_device.py::test_backup_slip39_custom[3_of_5]": "fd9f0fbdf84044a4ce69f42b4bec1ea5e6e7cbec81bf7ff8e96792dfa6b19c19", +"T3W1_es_test_msg_backup_device.py::test_backup_slip39_single": "9eb1877a8f56ca0821dd4c23ce92c2cdec15e12613eb9dc83b2f947f6fdfd0f9", +"T3W1_es_test_msg_backup_device.py::test_interrupt_backup_fails": "deb40677b9a2aa985aea75927092816ea60574a0af74e3d682334f303c1b4ee3", +"T3W1_es_test_msg_backup_device.py::test_no_backup_fails": "0a6f3844a7fa684e2748de87908441dba97040dc7a622443b8c18678d233d1b3", +"T3W1_es_test_msg_change_wipe_code_t2.py::test_set_pin_to_wipe_code": "2156e2d5e518f199cec9bc045ed5d61b438eff3489217f25e551efe3a4d2dee0", +"T3W1_es_test_msg_change_wipe_code_t2.py::test_set_remove_wipe_code": "1908e4163276fbd77a56a34507e09ce8300c5c2db22a55fddccd9a8df34ef43b", +"T3W1_es_test_msg_change_wipe_code_t2.py::test_set_wipe_code_mismatch": "c2e8e7f359496d472ff30c766ebd7b980dc8edd0ce6fb4511ffe381ee78a5c60", +"T3W1_es_test_msg_change_wipe_code_t2.py::test_set_wipe_code_to_pin": "4eb8a7cc86bd162d9e6bfc87ac6ac97324dcfa8c782acef4d54608a6f0d53a35", +"T3W1_es_test_msg_changepin_t2.py::test_change_failed": "b8f74f2a00162167a318da43f3bc815af32686be608d519b0a166d31e344f0df", +"T3W1_es_test_msg_changepin_t2.py::test_change_invalid_current": "28de9d5ee53dc026f7e78003440ef4d2e9de7297c1a5c1deab222133d4d8bbba", +"T3W1_es_test_msg_changepin_t2.py::test_change_pin": "42b1c12a425817b58adff3a0199f059378d7ef3103b360d36d288028a730da79", +"T3W1_es_test_msg_changepin_t2.py::test_remove_pin": "f56e27bf038da15b06e48f1f5f7408b3e3a790fad8b2426f53edc5981b82ec8d", +"T3W1_es_test_msg_changepin_t2.py::test_set_failed": "12594d2bced69388367f1a279c31f409e24c9d2604ba6ff4f27d348dcaa867c1", +"T3W1_es_test_msg_changepin_t2.py::test_set_pin": "7377ef86d11a765bd1363e39585c8bf82babb6678ee750ac1415d69046020924", +"T3W1_es_test_msg_loaddevice.py::test_load_device_1": "a09614760db3725f351b9e89a1ca296a34058cd13578b0de49a41a9663930980", +"T3W1_es_test_msg_loaddevice.py::test_load_device_2": "40b633acd4a093ac5dd55820f0133274bafb7d8fd83a91c8956526e04e4f3f56", +"T3W1_es_test_msg_loaddevice.py::test_load_device_slip39_advanced": "a09614760db3725f351b9e89a1ca296a34058cd13578b0de49a41a9663930980", +"T3W1_es_test_msg_loaddevice.py::test_load_device_slip39_basic": "a09614760db3725f351b9e89a1ca296a34058cd13578b0de49a41a9663930980", +"T3W1_es_test_msg_loaddevice.py::test_load_device_utf": "4b2fd45572a5c7d16c17655a4655841d62e6fe149ea59144dbc660d33cdf1f6c", +"T3W1_es_test_msg_ping.py::test_ping": "ff674964d2cb09c942e1ead8423463168cfc8aa742dc6cc275ef40a31090d857", +"T3W1_es_test_msg_wipedevice.py::test_autolock_not_retained": "108919b69670aa2920dad12657f7da5733e1b65134839784be56f6bdd0c4866d", +"T3W1_es_test_msg_wipedevice.py::test_wipe_device": "2b9881b35c1f04e52efaa72cdcc43a3ff6624d402eab1a4a630539ff065b0c9f", +"T3W1_es_test_passphrase_slip39_advanced.py::test_128bit_passphrase": "7e7dc7dc065cfb35626b0c411b755196dfa67ca2c99244a117d558b1b7f62218", +"T3W1_es_test_passphrase_slip39_advanced.py::test_256bit_passphrase": "7e7dc7dc065cfb35626b0c411b755196dfa67ca2c99244a117d558b1b7f62218", +"T3W1_es_test_passphrase_slip39_basic.py::test_2of3_ext_passphrase": "969f94f44794940b9415ebf59040e3c62336879a9f2ae6ff6467ed5892603fb5", +"T3W1_es_test_passphrase_slip39_basic.py::test_2of5_passphrase": "969f94f44794940b9415ebf59040e3c62336879a9f2ae6ff6467ed5892603fb5", +"T3W1_es_test_passphrase_slip39_basic.py::test_3of6_passphrase": "969f94f44794940b9415ebf59040e3c62336879a9f2ae6ff6467ed5892603fb5", +"T3W1_es_test_pin.py::test_correct_pin": "7b88de08e414952d5971b45a2e33b0e7f81a648f963d23315e3d432483f484d0", +"T3W1_es_test_pin.py::test_exponential_backoff_t2": "499962964c4b47963cd6bdde9992a8b3d0d8f133f807b7addc509257aa21c9e9", +"T3W1_es_test_pin.py::test_incorrect_pin_t2": "b92aa251a0bf06c888228ee6861d13f759273b4258dd2a37b40ff99264c97b2b", +"T3W1_es_test_pin.py::test_no_protection": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_test_protection_levels.py::test_apply_settings": "ceb688f95e40d7b7c97bed8fcbddd5495d97972f6876673d10be3685bc445aaf", +"T3W1_es_test_protection_levels.py::test_change_pin_t2": "3ebdce2c616fde7a6bfc8c9b8c7a3e14e6a8aeee8a138587ef656e7877357bd0", +"T3W1_es_test_protection_levels.py::test_get_address": "fce57a1b8626804d2ffd3d2d1be6d03e82312ea536c1b48a16df634e98ba8ab4", +"T3W1_es_test_protection_levels.py::test_get_entropy": "db7212ba9f1ae75e8eda68a030ab200d05f597c6d58e2ae1103be08ab067eabe", +"T3W1_es_test_protection_levels.py::test_get_public_key": "fce57a1b8626804d2ffd3d2d1be6d03e82312ea536c1b48a16df634e98ba8ab4", +"T3W1_es_test_protection_levels.py::test_initialize": "fd5de26428a505b68d794839af24fc5a9ccf161e97d44815ef921347c6a5ace0", +"T3W1_es_test_protection_levels.py::test_passphrase_cached": "4554f581b8da8b17426f5520b0315e670c451f0365785f978152a7e5b73be274", +"T3W1_es_test_protection_levels.py::test_passphrase_reporting[False]": "f889d421aeb03958f478b118e38922556cd5175f5a7f5a76e23e961da7d61d62", +"T3W1_es_test_protection_levels.py::test_passphrase_reporting[True]": "40163ee6669bc721b3b59651a385313754303f751b78318a58f91a3abebf2867", +"T3W1_es_test_protection_levels.py::test_ping": "ff674964d2cb09c942e1ead8423463168cfc8aa742dc6cc275ef40a31090d857", +"T3W1_es_test_protection_levels.py::test_signtx": "0aee8399671f61e54818cd0c606cc436e68a7237d6aa7afa7516f8bd843e381b", +"T3W1_es_test_protection_levels.py::test_unlocked": "d2c2ad20cca2994cf6d58289e7649d475a4916da4ea3351d32e808ecab1c68c8", +"T3W1_es_test_protection_levels.py::test_wipe_device": "351e2903ee02dba8bddebd842ed6a062bf67eaf2b2acd02b4c85683fff2c8601", +"T3W1_es_test_repeated_backup.py::test_repeated_backup": "efce53fc7a88bc21ff3dee6c8c6f0c81c471c4e488db4e0567780d181f1b2fd6", +"T3W1_es_test_repeated_backup.py::test_repeated_backup_cancel": "63ca0ac3e24d3d02987a4442a8c38de68071d6a2943f63a462f5e30ee161582c", +"T3W1_es_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "63ca0ac3e24d3d02987a4442a8c38de68071d6a2943f63a462f5e30ee161582c", +"T3W1_es_test_repeated_backup.py::test_repeated_backup_upgrade_single": "1ba9a75e259e4fac28d93e8782b6d4d9c1ca5aa52f3a00c0e637046687aef49a", +"T3W1_es_test_session.py::test_cannot_resume_ended_session": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_test_session.py::test_clear_session": "5bdbe54e6176d92999de6429f8da16e141f6bb6f44a0776202034c715458864f", +"T3W1_es_test_session.py::test_derive_cardano_empty_session": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_test_session.py::test_derive_cardano_running_session": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_test_session.py::test_end_session": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_test_session.py::test_end_session_only_current": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_test_session.py::test_session_recycling": "969f94f44794940b9415ebf59040e3c62336879a9f2ae6ff6467ed5892603fb5", +"T3W1_es_test_session_id_and_passphrase.py::test_cardano_passphrase": "09571dcf76522dff6a2293600099a581adeadda1a1f02482f65c9ff8e64b26c4", +"T3W1_es_test_session_id_and_passphrase.py::test_hide_passphrase_from_host": "bc49fac437b292286d52c60d6f540f2f351f0d7a9b39b2158a08102fdd5abc02", +"T3W1_es_test_session_id_and_passphrase.py::test_max_sessions_with_passphrases": "0d4ed996ff6a89895476c646a2e8c1cc86d0ca0a46e4132cf2eee7d6aed4b414", +"T3W1_es_test_session_id_and_passphrase.py::test_multiple_passphrases": "e7edc057939471bc5a71d559fc8fc5d46ec5993d0e69b9abd0b06e286e6c9aed", +"T3W1_es_test_session_id_and_passphrase.py::test_multiple_sessions": "f2aef96a02e86327f998fb6590e37bc0ad479a8228bd0a5b96b74577f91b929d", +"T3W1_es_test_session_id_and_passphrase.py::test_passphrase_ack_mismatch": "64b08e02b2c7d9e83e9a93d5cd307194d5a4a7e8420744208ca67117547dbdb6", +"T3W1_es_test_session_id_and_passphrase.py::test_passphrase_always_on_device": "76d8aa628c0bcd54138066c445dab8e64bcfe9b92481ced9d19bc47b29bf1a08", +"T3W1_es_test_session_id_and_passphrase.py::test_passphrase_length": "87a680b947ff301fc281b2d6f96ab78d426901e1e4a4dd20e7377d50ebfcef86", +"T3W1_es_test_session_id_and_passphrase.py::test_passphrase_missing": "4554f581b8da8b17426f5520b0315e670c451f0365785f978152a7e5b73be274", +"T3W1_es_test_session_id_and_passphrase.py::test_passphrase_on_device": "3dcace12856b18e7e9ae8c8bb9f211d24a327dca1bdd8df29259fd41f1224527", +"T3W1_es_test_session_id_and_passphrase.py::test_session_enable_passphrase": "0822e6b2bbbad74585d24ca6fd7a3aad689177554bd8ff2330616465542b9cd3", +"T3W1_es_test_session_id_and_passphrase.py::test_session_with_passphrase": "252975a6588e7610f78c6c1fb6f7042a8d73ab0c73072c8802ca1d028522333b", +"T3W1_fr_binance-test_get_address.py::test_binance_get_address[m-44h-714h-0h-0-0-bnb1hgm0p7khfk85zpz-68e2cb5a": "9af95d7472a5b6f0f5ce13c3780cf6b081cecea356ed2081c75403c0ba8ca51f", +"T3W1_fr_binance-test_get_address.py::test_binance_get_address[m-44h-714h-0h-0-1-bnb1egswqkszzfc2uq7-1adfb691": "6c4120a7e6dbb6cfeb62848c127a7a4715f9d398c4db7d26dcc3c656620e07ac", +"T3W1_fr_binance-test_get_address.py::test_binance_get_address_chunkify_details[m-44h-714h-0h-0-0-bn-59d4996f": "400ab710910118aa5bc19794421d0a502cbcb80164c240273a1f463118d7e528", +"T3W1_fr_binance-test_get_address.py::test_binance_get_address_chunkify_details[m-44h-714h-0h-0-1-bn-c9025900": "5814c7fd828e7257d986e11b2607d084c54b956707131e22e6beb59b5c311f86", +"T3W1_fr_bitcoin-test_bcash.py::test_attack_change_input": "d1119bdf15759c966732dd8c5bc08d553f782dea13983b28428c60ba5f9f7180", +"T3W1_fr_bitcoin-test_bcash.py::test_send_bch_change": "d1119bdf15759c966732dd8c5bc08d553f782dea13983b28428c60ba5f9f7180", +"T3W1_fr_bitcoin-test_bcash.py::test_send_bch_external_presigned": "d6b0996dcedb9aa65938293d56de1a26029b5ea11757b87c3c2db7413eb4c456", +"T3W1_fr_bitcoin-test_bcash.py::test_send_bch_multisig_change": "50d7e9ec9d863014701162786a65b5f38c262db5252fca8aecbc628ac6debd57", +"T3W1_fr_bitcoin-test_bcash.py::test_send_bch_multisig_wrongchange": "9da1d1f29a6254f4e27a9a779ee7d21c737d5e2cd61296c3e884db0f5e1817cc", +"T3W1_fr_bitcoin-test_bcash.py::test_send_bch_nochange": "dfaf9effb4f07ea4a824d7231d62c1f49c8ef05e51626977238e9127c55af129", +"T3W1_fr_bitcoin-test_bcash.py::test_send_bch_oldaddr": "5ce1f0de2428c223662cb3b387a535f9b7d0a958e260e185cec3f3901ea7ceea", +"T3W1_fr_bitcoin-test_firo.py::test_spend_lelantus": "76b744ed8f741bfbb772e6af577e9bca9208087df7a08bda740435df760801a3", +"T3W1_fr_bitcoin-test_fujicoin.py::test_send_p2tr": "38fd25435c5d811d5f8e497f0a726d07ba55b701897cd38fc8b1fb8c2c48540b", +"T3W1_fr_bitcoin-test_getaddress.py::test_address_mac": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress.py::test_altcoin_address_mac": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress.py::test_bch": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress.py::test_bch_multisig": "ebb25f2a729bad12e128d04ef4a47a614f51a4c6b7b0abe97581961f16385bd6", +"T3W1_fr_bitcoin-test_getaddress.py::test_btc": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress.py::test_crw": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress.py::test_elements": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress.py::test_grs": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress.py::test_invalid_path": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress.py::test_ltc": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress.py::test_multisig": "1a3fea1d8bb3acc5234578acf6ed40fe163b3c3404802f7c3a4e114d856fbcaf", +"T3W1_fr_bitcoin-test_getaddress.py::test_multisig_different_paths": "d9dacbdd5c155be0862d8ad55c52e81617f86d2c127d3a3e150b798cde3877cf", +"T3W1_fr_bitcoin-test_getaddress.py::test_multisig_missing[False]": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress.py::test_multisig_missing[True]": "32268846330fd003d0b811745d620486f9a739f7263a3dd81e7896f269c43a3e", +"T3W1_fr_bitcoin-test_getaddress.py::test_multisig_pubkeys_order": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress.py::test_public_ckd": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress.py::test_tbtc": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress.py::test_tgrs": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress.py::test_unknown_path": "ac6e29dff7f38505853c77e873ac9a834b36f22e0aadcfb5dcedb2cc43eefca7", +"T3W1_fr_bitcoin-test_getaddress_segwit.py::test_multisig_missing[False]": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress_segwit.py::test_multisig_missing[True]": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress_segwit.py::test_show_multisig_3": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress_segwit.py::test_show_segwit": "bb4f99b40eb1a88ede6932a326b3a3e53fd1136dcbb6221f3119d503ee9b70d6", +"T3W1_fr_bitcoin-test_getaddress_segwit.py::test_show_segwit_altcoin": "bc17140545d4873409433842a7c0b75b360d9d7fa0d46b360b72bba0963d4b74", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_bip86[m-86h-0h-0h-0-0-bc1p5cyxnuxmeuwuvkwfem-dc12f29f": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_bip86[m-86h-0h-0h-0-1-bc1p4qhjn9zdvkux4e44uh-1f521bf2": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_bip86[m-86h-0h-0h-1-0-bc1p3qkhfews2uk44qtvau-d8b57624": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_multisig_missing[False]": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_multisig_missing[True]": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_multisig_3": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-0-0-InputScr-6bc4ffc3": "676104fd9587dd03035818541de73b88a716b0cd03f10fe58d62d16fb19b52ab", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-0-0-InputScr-8943c1dc": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-1-0-InputScr-016718c1": "24e1a0bcc28e22d121502112c3167b6ff81345197aa98dfcb3f283fa79f16d10", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-1-0-InputScr-7656a4db": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-0-0-InputScr-3d3cc8eb": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-0-0-InputScr-8571d5e0": "2910b7b934ad9e0b3a2494509420ba5efcbbb662398af06033643f940bc38e38", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-1-0-InputScr-ab700de2": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-1-0-InputScr-da3803e0": "1236839954c9f3c700dbe1b8e5060e39859cb7411232670775b2e6c079b83227", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Elements-m-84h-1h-0h-0-0-InputSc-490228be": "a0044ebde6470d1917a7231ee53336cdd4ce213984c6adf462f16d9f5fc3e6eb", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Elements-m-84h-1h-0h-0-0-InputSc-ed587e90": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--40b95144": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--45b4ff5d": "30b737dec4f23c61958887a9a45fba8594b0022cbf5183f7e77d08c105fce246", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--8f7c658b": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--93c9c3ff": "2447c88460b16317292449d5ebc1af26a0038f959d840b10e3127e68b5b86a09", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-86h-1h-0h--5feb8c64": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-86h-1h-0h--8d4476a1": "69f1027f551c5c10e883155e8fec4d14f5ae2cfc7c477fb45bfcd788e7bac1e2", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-0-0-Inp-0200a67b": "0fbc404bb0dc8cdf3cc3c19797648171a38ee53ea8017d62f435fb989fcafefa", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-0-0-Inp-e6c1098a": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-1-0-Inp-9688a507": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-1-0-Inp-f825f217": "8c34e56668721c6a12067925dc12a4f988683f25a28558f0ec993faff428b55f", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-86h-17h-0h-0-0-Inp-38cd93cf": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-86h-17h-0h-0-0-Inp-ebecce6e": "00f3c4719176bfb2342fca8a41e0abbb704ed97d47cc43ddbc921ffbff6cf540", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-0-0-InputScr-313b9443": "b059f1d70f08c768f9d42d120892cbce2093c4997223c669e5ffef657cb3cbd0", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-0-0-InputScr-ce15ec92": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-1-0-InputScr-040186c0": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-1-0-InputScr-b10918be": "24f8b1c06e4b7af27878346a54745d087f511c86783746b24a2b4316841a425d", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-0-0-InputScr-55ae0ae6": "a68f054ad7bb58cb7c6b4a42b940a0ff0e16818a3712f1ac23d4427ff43676ca", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-0-0-InputScr-821a199d": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-1-0-InputScr-9d2fa8bc": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-1-0-InputScr-d5b7f8fc": "9c793f25263abe398926302288746698764a25056dba12a39caf5d47d4bd2a0f", +"T3W1_fr_bitcoin-test_getaddress_show.py::test_show_cancel[m-44h-0h-12h-0-0-InputScriptType.SPENDADD-4eca71e0": "ed9c1a06f2bef7449d8107a851082c5f9694cd3796ee5d68fdcc3445b8dcf3b3", +"T3W1_fr_bitcoin-test_getaddress_show.py::test_show_cancel[m-49h-0h-12h-0-0-InputScriptType.SPENDP2S-4ec777e0": "e27e33e418ecf27eca14057b1f35d4c0502bcf3a4a067ef58b743252cb4e1407", +"T3W1_fr_bitcoin-test_getaddress_show.py::test_show_cancel[m-84h-0h-12h-0-0-InputScriptType.SPENDWIT-d6991e22": "b1df8a31b0257721b875061d447bd60a7af69386ce50bbe9a7c7f4a1fdf36e7f", +"T3W1_fr_bitcoin-test_getaddress_show.py::test_show_cancel[m-86h-0h-12h-0-0-InputScriptType.SPENDTAP-4c5b2b38": "1c003c63db832a64e8f12c9bfe7f51d87e8e16dcc2b77e4f98467284223626a0", +"T3W1_fr_bitcoin-test_getaddress_show.py::test_show_multisig_15": "6bb8c03d256bd0cc16d943b6395ceb3e1e7c030ea3a35f10dcd103c5a2524d92", +"T3W1_fr_bitcoin-test_getaddress_show.py::test_show_multisig_3": "e569ba861019b0d116f9d3c18440fc89a35314dd053aaf6728bf38bcdecedc53", +"T3W1_fr_bitcoin-test_getaddress_show.py::test_show_tt[m-44h-0h-12h-0-0-InputScriptType.SPENDADDRESS-5c88d0fd": "2b1def93f4f9dcb90f6e8e170c80382c184a4e81198353826a7f343fbcc68abe", +"T3W1_fr_bitcoin-test_getaddress_show.py::test_show_tt[m-44h-0h-12h-0-0-InputScriptType.SPENDADDRESS-87490d4e": "e9588b294fba919711472a2029d664e8893aec5624a945eb47ad7a1f26af73e2", +"T3W1_fr_bitcoin-test_getaddress_show.py::test_show_tt[m-49h-0h-12h-0-0-InputScriptType.SPENDP2SHWIT-9bc227c1": "1bd9486e49f97d3a55330638875515c744e59fc9fbba994b99f4813d4fc8826c", +"T3W1_fr_bitcoin-test_getaddress_show.py::test_show_tt[m-49h-0h-12h-0-0-InputScriptType.SPENDP2SHWIT-aca0623f": "6932840508fdf2113f3c9a4bb066ed8c7243ba7a0ff2c5b996773ab9fd8675b2", +"T3W1_fr_bitcoin-test_getaddress_show.py::test_show_tt[m-84h-0h-12h-0-0-InputScriptType.SPENDWITNESS-747c079d": "e60d2953aa45d8d7be95d29d1d2f58724f3900a18db536e708b923f3fbee8cfe", +"T3W1_fr_bitcoin-test_getaddress_show.py::test_show_tt[m-84h-0h-12h-0-0-InputScriptType.SPENDWITNESS-e4302080": "3adb2f2ae88ef23d6c2eb8a221edee985d782444f42df20315633d1d95a57115", +"T3W1_fr_bitcoin-test_getaddress_show.py::test_show_tt[m-86h-0h-12h-0-0-InputScriptType.SPENDTAPROOT-071a4a07": "d589714a608f3e34717dd3ab4bbcd8ce880ce0da99a06c5d6371f5043428a7c7", +"T3W1_fr_bitcoin-test_getaddress_show.py::test_show_tt[m-86h-0h-12h-0-0-InputScriptType.SPENDTAPROOT-25ee9808": "901fc6de33da0f85c222f419d61547be82e67fbb8b7ede0994d0c9fc15ae7f12", +"T3W1_fr_bitcoin-test_getaddress_show.py::test_show_unrecognized_path": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getownershipproof.py::test_attack_ownership_id": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getownershipproof.py::test_confirm_ownership_proof": "9a6ea56cd9e7c8659618cd8f339213ff099904d12a33da0f1bd99ab75d1dcdce", +"T3W1_fr_bitcoin-test_getownershipproof.py::test_confirm_ownership_proof_with_data": "1206609a9c4bbb3d8f5fc20d028658a6598c2e901f23b5823c6541a0d42f35ee", +"T3W1_fr_bitcoin-test_getownershipproof.py::test_fake_ownership_id": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getownershipproof.py::test_p2tr_ownership_id": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getownershipproof.py::test_p2tr_ownership_proof": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getownershipproof.py::test_p2wpkh_ownership_id": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getownershipproof.py::test_p2wpkh_ownership_proof": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path0-xpub6BiVtCpG9fQPx-40a56ca3": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path1-xpub6BiVtCpG9fQQR-1abafc98": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path2-xpub6FVDRC1jiWNTu-47a67414": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path3-xpub6GhTNegKCjTqj-990e0830": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path6-xpub68Zyu13qjcQvJ-8285bd20": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path10-Ltub2dcb6Nghj3k-53e5db37": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path7-Ltub2Y8PyEMWQVgi-d0bb059c": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path8-Ltub2Y8PyEMWQVgi-98ae2c41": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path9-Ltub2dTvwC4v7GNe-8d6d95fb": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey.py::test_get_public_node[Testnet-70617039-path4-tpubDDKn3FtHc74Ca-f3b70aff": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey.py::test_get_public_node[Testnet-70617039-path5-tpubDGwNSs8z8jZU2-8b5efa13": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path0-xpub6BiVtCpG-d791cce2": "7e89ee9e61d8d35c77c4593683151bc895d558c13bcf2fd9ac9db962fc2d7ec2", +"T3W1_fr_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path1-xpub6BiVtCpG-74c78643": "8c2b835ac67d78af174cca7e45bbe6afa8f2f666720d174e9e46282132944e28", +"T3W1_fr_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path2-xpub6FVDRC1j-3074f5a6": "368c7e2f7a91744246480f7fa871155e3f9c1d4bf693e1d0dc7302f46a7d863f", +"T3W1_fr_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path3-xpub6GhTNegK-1b073ed9": "d5c03b590437205bfcb63fa8c8c88320778b7c174ebb72cd7a0386bbf4f94693", +"T3W1_fr_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path6-xpub68Zyu13q-eb190bf2": "6dfdaf8f40b49fbaf33b6fe52041e08d08badb49da5d5080ea18b2eff1aa2f27", +"T3W1_fr_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path10-Ltub2dcb6N-d2ef4e5a": "757a2dab6d55fec2dc7ba93b9ec69ffea0f66ede2db5e2ebd822e0b518098962", +"T3W1_fr_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path7-Ltub2Y8PyEM-b9a6bf56": "b50e3726fc24d458eb1b3d177b23b531c0aa65170d962a02097aef8e39960566", +"T3W1_fr_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path8-Ltub2Y8PyEM-d598ed84": "fbcc3847b9959d9053b3134137dcc1ed2977c286bfca7e1753dc4b9332b791d3", +"T3W1_fr_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path9-Ltub2dTvwC4-bfef8b2e": "e8fa7f904cc1ad7f11b54ca502701f04198e8914d401635f16591ce38c3ad983", +"T3W1_fr_bitcoin-test_getpublickey.py::test_get_public_node_show[Testnet-70617039-path4-tpubDDKn3FtH-5ca1cba5": "5acca55c06a552b4fea6aa10a9f6d7b48de385b4eaf73e46ecadc046e3af103d", +"T3W1_fr_bitcoin-test_getpublickey.py::test_get_public_node_show[Testnet-70617039-path5-tpubDGwNSs8z-60ca5612": "c4bf27c4ab4e4081d05e5f29bef7a7cf389be288bf24e20f02780d54343ca480", +"T3W1_fr_bitcoin-test_getpublickey.py::test_invalid_path[Bcash-path5]": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey.py::test_invalid_path[Bitcoin-path0]": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey.py::test_invalid_path[Bitcoin-path2]": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey.py::test_invalid_path[Bitcoin-path3]": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey.py::test_invalid_path[Litecoin-path4]": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey.py::test_invalid_path[Testnet-path1]": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey.py::test_script_type[InputScriptType.SPENDADDRESS-xpub6BiVtCp7ozs-9813cc48": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey.py::test_script_type[InputScriptType.SPENDP2SHWITNESS-ypub6WYmBsV-0710fbb3": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey.py::test_script_type[InputScriptType.SPENDWITNESS-zpub6qP2VY9x7Mx-84eaa56c": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey.py::test_script_type[None-xpub6BiVtCp7ozsRo7kaoYNrCNAVJwPYTQHjoXF-c37a47fd": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey.py::test_slip25_path": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey_curve.py::test_coin_and_curve": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey_curve.py::test_ed25519_public": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey_curve.py::test_publickey_curve[ed25519-path4-002e28dc0346d6d30d4e-e6c7a440": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey_curve.py::test_publickey_curve[nist256p1-path2-0324c6860c25cdf7a8-d75f4900": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey_curve.py::test_publickey_curve[nist256p1-path3-03b93f7e6c777143ad-2d6b178b": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey_curve.py::test_publickey_curve[secp256k1-path0-02f65ce170451f66f4-9c982c22": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_getpublickey_curve.py::test_publickey_curve[secp256k1-path1-0212f4629f4f224db0-0209bb73": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_grs.py::test_legacy": "e7e6025707ab90d836a85c1ce4dde12761df3ff12b772294a06f1abfc392fbba", +"T3W1_fr_bitcoin-test_grs.py::test_legacy_change": "1ad9dd661a853bdca309fd28a608dc31d986d51ac7309e33eb8738cb8bc0b97f", +"T3W1_fr_bitcoin-test_grs.py::test_send_p2tr": "efb03cd26fea960c32bba6c4a72407bc8feba7198240b5e96fa8e6e0df0276e3", +"T3W1_fr_bitcoin-test_grs.py::test_send_segwit_native": "be99d2d698f1af766441a54f0129727008c406b2d80b7b5b284624d80c151b91", +"T3W1_fr_bitcoin-test_grs.py::test_send_segwit_native_change": "1dbd5b8bc47321eaf2b66d635913bf5771f6d1a58736a29b7305a5d523c8c405", +"T3W1_fr_bitcoin-test_grs.py::test_send_segwit_p2sh": "e45a1f05692055eff98a2dd565a0ec4f3952573737a55e3dfb3bedc936f39048", +"T3W1_fr_bitcoin-test_grs.py::test_send_segwit_p2sh_change": "def361f73087661c74e7b2900e03087762118e76d7c793b06c5d7e0691135cd9", +"T3W1_fr_bitcoin-test_komodo.py::test_one_one_fee_sapling": "5983ddebdebc676be6fbface5b882e21c34cd78550b06cdd748bdd9e7f315429", +"T3W1_fr_bitcoin-test_komodo.py::test_one_one_rewards_claim": "f39b9ab01232b1772de96b2bd4c608e9c89813b9aab2b08fd6d7112de718c3d3", +"T3W1_fr_bitcoin-test_multisig.py::test_15_of_15": "fb85bc3e087bc20c744eefefd899d1a91a34a8b26953f4863df9824882f89465", +"T3W1_fr_bitcoin-test_multisig.py::test_2_of_3[False]": "c6c9707c3bcbf24008cf7524ba2e9320fe35af47c2b4c5795e0666fdc5e260d4", +"T3W1_fr_bitcoin-test_multisig.py::test_2_of_3[True]": "986dac7fdd858eada4d26d8d92aa5dd508462773c85b809aea99308cde12e3f1", +"T3W1_fr_bitcoin-test_multisig.py::test_attack_change_input": "bf455e472069a27597effa5b5e682cce86368ed215d206998db8dc2aeba01da7", +"T3W1_fr_bitcoin-test_multisig.py::test_missing_pubkey": "ffa055b7f8931170b61d79b4414307f1fe7abbf50312ffee43488dfe462ed016", +"T3W1_fr_bitcoin-test_multisig.py::test_pubkeys_order": "38f8738818547fbf6a3186642c6c02aed6b362f8b947a436baea04cd69f97484", +"T3W1_fr_bitcoin-test_multisig_change.py::test_external_external": "e71558a6d100f2e3c705d09d01e218c0801e7cf0a09c6f0e3aafd29ae7a6d87c", +"T3W1_fr_bitcoin-test_multisig_change.py::test_external_internal": "a8ccbf7530f3caed796f5c26fc6d256ab4563d1e66012ee3aac6b9628fcc761d", +"T3W1_fr_bitcoin-test_multisig_change.py::test_internal_external": "3752b29b49774b73adab849328fb21b5cd8ac8b8aaaf989b5f7dd24fa08c89c6", +"T3W1_fr_bitcoin-test_multisig_change.py::test_multisig_change_match_first": "f7bf3c4d80c5e4bca25836c713982d041e13944e637c56b1ff15315541943c41", +"T3W1_fr_bitcoin-test_multisig_change.py::test_multisig_change_match_second": "96932347a9a8fd44218d34c39f7706527e6d56ba063d681c6bc33be282065d2b", +"T3W1_fr_bitcoin-test_multisig_change.py::test_multisig_external_external": "9c2c295bfd1c0a7b4c406c6260d257c8d6ab74de20a26293f4fba4aa0b8a5168", +"T3W1_fr_bitcoin-test_multisig_change.py::test_multisig_mismatch_inputs": "55aa41c7317ed055cbd419380c9be269983ce4d80fe256928e54bd6651d1fa80", +"T3W1_fr_bitcoin-test_multisig_change.py::test_multisig_mismatch_multisig_change": "1c555dad2ed19660e8988cf21a25c90242d9f15edf7ac9de97f837dc1ce6b594", +"T3W1_fr_bitcoin-test_multisig_change.py::test_multisig_mismatch_multisig_change_different_paths": "5e0b3a35186fc1f2cee1781bf8437aad18ff369c1cd34c21f50d4dac103577a5", +"T3W1_fr_bitcoin-test_multisig_change.py::test_sorted_multisig_change_match_first": "f7bf3c4d80c5e4bca25836c713982d041e13944e637c56b1ff15315541943c41", +"T3W1_fr_bitcoin-test_multisig_change.py::test_sorted_multisig_mismatch_inputs": "3fc52b2bff2bd87b80c147ddba1dc942f1d56faf52379b96901626943b514f5c", +"T3W1_fr_bitcoin-test_multisig_change.py::test_sorted_multisig_mismatch_multisig_change": "6af2c966ec90435796af50a665a2f227808fb70946bb42aa7d586af9d14a71c4", +"T3W1_fr_bitcoin-test_op_return.py::test_nonzero_opreturn": "ffa055b7f8931170b61d79b4414307f1fe7abbf50312ffee43488dfe462ed016", +"T3W1_fr_bitcoin-test_op_return.py::test_opreturn": "f56016e43519fb2f5664f95af323f312a15dc3bc37966757dd3ad3e7d58733d0", +"T3W1_fr_bitcoin-test_op_return.py::test_opreturn_address": "ffa055b7f8931170b61d79b4414307f1fe7abbf50312ffee43488dfe462ed016", +"T3W1_fr_bitcoin-test_peercoin.py::test_timestamp_included": "9f97866fa88f2ee91cb9f1e5fe5d2d56358f6ff60e9074805c85f6af97b9e6fb", +"T3W1_fr_bitcoin-test_peercoin.py::test_timestamp_missing": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_peercoin.py::test_timestamp_missing_prevtx": "724116430acb28ed2139bfe9dbf54614949f152fb39d29be3c7c7ddd13fabcae", +"T3W1_fr_bitcoin-test_signtx.py::test_attack_change_input_address": "84eca03f1ff1459447535b02c6116f2722624978a1c556f00b02e4a320e0d41d", +"T3W1_fr_bitcoin-test_signtx.py::test_attack_change_outputs": "eeeea2b6bfcb9eb42fbe2d5021cecbc1a6add5ae27f0018711b1c8b7da1a47ba", +"T3W1_fr_bitcoin-test_signtx.py::test_attack_modify_change_address": "390fac8e4b84ca1be35efd54b92e9bcd4b58278610a6141717326c18faabe911", +"T3W1_fr_bitcoin-test_signtx.py::test_change_on_main_chain_allowed": "390fac8e4b84ca1be35efd54b92e9bcd4b58278610a6141717326c18faabe911", +"T3W1_fr_bitcoin-test_signtx.py::test_fee_high_hardfail": "554184c8d5d04ffaf9f6b382e2236a942a1b6686be57ae6cc6a08036004359a0", +"T3W1_fr_bitcoin-test_signtx.py::test_fee_high_warning": "b2165c91c1491890c407ad11d6e10e7767ae922698da807d17eb9a7adfa07e73", +"T3W1_fr_bitcoin-test_signtx.py::test_incorrect_input_script_type[InputScriptType.EXTERNAL]": "ffa055b7f8931170b61d79b4414307f1fe7abbf50312ffee43488dfe462ed016", +"T3W1_fr_bitcoin-test_signtx.py::test_incorrect_input_script_type[InputScriptType.SPENDADDRESS]": "ffa055b7f8931170b61d79b4414307f1fe7abbf50312ffee43488dfe462ed016", +"T3W1_fr_bitcoin-test_signtx.py::test_incorrect_output_script_type[OutputScriptType.PAYTOADDRESS]": "ffa055b7f8931170b61d79b4414307f1fe7abbf50312ffee43488dfe462ed016", +"T3W1_fr_bitcoin-test_signtx.py::test_incorrect_output_script_type[OutputScriptType.PAYTOSCRIPTHASH]": "ffa055b7f8931170b61d79b4414307f1fe7abbf50312ffee43488dfe462ed016", +"T3W1_fr_bitcoin-test_signtx.py::test_information": "7459ff4e21dbee111c6ebcf8aec58ef6c2bf6554efdcb14ebdefd1c8317f9d4a", +"T3W1_fr_bitcoin-test_signtx.py::test_information_cancel": "8b5dcebfe26f939b08d23b81454d228be3bac7e6e77f58ff1d8494cf1553c2c7", +"T3W1_fr_bitcoin-test_signtx.py::test_information_mixed": "03d2b5886a1bc0c3e7f6e7a574466105a12193b4e3c05f0317ba927733aeb2c7", +"T3W1_fr_bitcoin-test_signtx.py::test_lock_time[1-4294967295]": "a969a34cfa848135556283d115c1f344aad60e373834295597c381cb8d9d3cb8", +"T3W1_fr_bitcoin-test_signtx.py::test_lock_time[499999999-4294967294]": "feaa907bfc458cdb0493b98685348fd305a4cfc0eef7eedd48d8e4cba003ff9b", +"T3W1_fr_bitcoin-test_signtx.py::test_lock_time[500000000-4294967294]": "6692ab8ecfef22d634610e034a6cf1d2dd006be9757e7135ad742940b18011c0", +"T3W1_fr_bitcoin-test_signtx.py::test_lock_time_blockheight": "3bda023773e9973693f6ba2e4c5c6a458ff3a8c6889ef3b26d269ba0ddcbc6ae", +"T3W1_fr_bitcoin-test_signtx.py::test_lock_time_datetime[1985-11-05 00:53:20]": "553cc930c051b680fb8228f0305ae2723067b39cad8c3ca0ce4f4e7b49af00aa", +"T3W1_fr_bitcoin-test_signtx.py::test_lock_time_datetime[2048-08-16 22:14:00]": "e856e1dd125f7357ac05231441487e248cdfb5b434adb3503b6d40923fbf5b2d", +"T3W1_fr_bitcoin-test_signtx.py::test_lots_of_change": "83d5e89ccb3ed240441da8eebc64f57113d8767540b23cdb35240a29fdc49d84", +"T3W1_fr_bitcoin-test_signtx.py::test_lots_of_inputs": "83290f9d3875aa1d3be18508de3e4b4fb97ac3077e453c826d7a92c2aab8609d", +"T3W1_fr_bitcoin-test_signtx.py::test_lots_of_outputs": "689f3b382889ed5888f164a0830416673d29bc35b2d15647a94d18b95d539faa", +"T3W1_fr_bitcoin-test_signtx.py::test_not_enough_funds": "a2d00ec6e47000ad2c12541fdcbbd19a4da9e69becd1590e20a10aa30e848f53", +"T3W1_fr_bitcoin-test_signtx.py::test_not_enough_vouts": "b83fffb68e36e24aae2361243a6669adc1d3cb36968b46aa90a1941a24888bb1", +"T3W1_fr_bitcoin-test_signtx.py::test_one_one_fee": "9dd6e282f40e07c9c770f85ebf68ce77897f18389d54432da00d4a9b76239fbc", +"T3W1_fr_bitcoin-test_signtx.py::test_one_three_fee[False]": "8a2f5fd2348268856504f51e42da9c5d57fc1629fb1fe46c0b507f93d4881020", +"T3W1_fr_bitcoin-test_signtx.py::test_one_three_fee[True]": "c7e3eeb03131519fb6a3b33b51aa443bc791719121c83611c8258e22a03e15c1", +"T3W1_fr_bitcoin-test_signtx.py::test_one_two_fee": "2ca56ee4bae94ab1c4af5bb079da250d48dca70dab21df91998a5c81693b5ad8", +"T3W1_fr_bitcoin-test_signtx.py::test_p2sh": "4be8d989a20f1449fe34933c1b83e621514854d6ab836aa963a45bc9941c4801", +"T3W1_fr_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[branch_id-13]": "f2aa6ee1bdbcb798b81fe1fff6045ee946ef83f1f283193e8ff109a5ffb44d55", +"T3W1_fr_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[expiry-9]": "f2aa6ee1bdbcb798b81fe1fff6045ee946ef83f1f283193e8ff109a5ffb44d55", +"T3W1_fr_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[extra_data-hello world]": "f2aa6ee1bdbcb798b81fe1fff6045ee946ef83f1f283193e8ff109a5ffb44d55", +"T3W1_fr_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[timestamp-42]": "f2aa6ee1bdbcb798b81fe1fff6045ee946ef83f1f283193e8ff109a5ffb44d55", +"T3W1_fr_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[version_group_id-69]": "f2aa6ee1bdbcb798b81fe1fff6045ee946ef83f1f283193e8ff109a5ffb44d55", +"T3W1_fr_bitcoin-test_signtx.py::test_signtx_forbidden_fields[branch_id-13]": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_signtx.py::test_signtx_forbidden_fields[expiry-9]": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_signtx.py::test_signtx_forbidden_fields[timestamp-42]": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_signtx.py::test_signtx_forbidden_fields[version_group_id-69]": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_signtx.py::test_spend_coinbase": "79a3c499023afd344a4190502c88585ca252596da9a2ac3c4dabe9af7dee0362", +"T3W1_fr_bitcoin-test_signtx.py::test_testnet_big_amount": "fd7c970f44612c919b204c43e6ef01358d5c15eb96e0d9272e97f03fb900d05a", +"T3W1_fr_bitcoin-test_signtx.py::test_testnet_fee_high_warning": "71a328c6e95514bb5288915e8612333964d5ff9c63f5f8f1d9bf4d76cf20f444", +"T3W1_fr_bitcoin-test_signtx.py::test_testnet_one_two_fee": "390fac8e4b84ca1be35efd54b92e9bcd4b58278610a6141717326c18faabe911", +"T3W1_fr_bitcoin-test_signtx.py::test_two_changes": "50c8abb177a7be4f746f2aaf177888d14c134936350ddc7d95607af54c2d142d", +"T3W1_fr_bitcoin-test_signtx.py::test_two_two": "e7e81e79e11e8d56e61df54eb259d1e463f3508f02d1ccca0da97be632371ca0", +"T3W1_fr_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.BITCOIN]": "9dd6e282f40e07c9c770f85ebf68ce77897f18389d54432da00d4a9b76239fbc", +"T3W1_fr_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.MICROBITCOIN]": "6d31762150bea4ec857b7cc474fe97922df7b4df92d6b828e0cbe9640eb11716", +"T3W1_fr_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.MILLIBITCOIN]": "25a57daf351347970bc698a4dac1c85b03b254754aee883ebd02728391a66f42", +"T3W1_fr_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.SATOSHI]": "ea8d9d487d530fc4ae30b2750902b5652dc769c435f1ae700ed3f165a1f7cf3c", +"T3W1_fr_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[None]": "9dd6e282f40e07c9c770f85ebf68ce77897f18389d54432da00d4a9b76239fbc", +"T3W1_fr_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.BITCOIN]": "9c65dbc602940fe4f8c34974ce801c0d76b37310031f96055d36a3d90bfc3218", +"T3W1_fr_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.MICROBITCOIN]": "24ada09734e97000dbc76fa3c076325b9576e98d9f9ddad87631be12f2494ac5", +"T3W1_fr_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.MILLIBITCOIN]": "178e6d942a6df5c47a5c283f5d55caad9f19b2f96948515e8680e9d27beb4da1", +"T3W1_fr_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.SATOSHI]": "e2c71be3278154a888275f4fab912d375488370020a514cc062af5df53a0ff5a", +"T3W1_fr_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[None]": "9c65dbc602940fe4f8c34974ce801c0d76b37310031f96055d36a3d90bfc3218", +"T3W1_fr_bitcoin-test_signtx_external.py::test_p2pkh_presigned": "401521d8fe22fb08bd9c7db054ff36b0626cf0aed537ec4fff03663bdce89ff9", +"T3W1_fr_bitcoin-test_signtx_external.py::test_p2pkh_with_proof": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_signtx_external.py::test_p2tr_external_presigned": "61f8b9aeafafcd5ddd0d438d904222453fc17845f0c750b2076ebb29a0fb777e", +"T3W1_fr_bitcoin-test_signtx_external.py::test_p2tr_external_unverified": "bee199488bfc8cdb0d5094411499f40ff76c5ebf89b9391404e5c1942bce7029", +"T3W1_fr_bitcoin-test_signtx_external.py::test_p2tr_with_proof": "1a69a1f6e7ed8c1316fc423931aa11942c78e5cbcd1c89de1deba8fd03139059", +"T3W1_fr_bitcoin-test_signtx_external.py::test_p2wpkh_external_unverified": "21504c691e50eeb4630766fbdd15ff444f91f27206afb4716a519def26cced1b", +"T3W1_fr_bitcoin-test_signtx_external.py::test_p2wpkh_in_p2sh_presigned": "4d995d7ad8b24361c70fa3a602d53f200b59384a29119da773bafc5242160375", +"T3W1_fr_bitcoin-test_signtx_external.py::test_p2wpkh_in_p2sh_with_proof": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_signtx_external.py::test_p2wpkh_presigned": "840b758db0db5b2fcace10f04748be9bd7b4f76a89bd47229d7aa6b782662c09", +"T3W1_fr_bitcoin-test_signtx_external.py::test_p2wpkh_with_false_proof": "ffa055b7f8931170b61d79b4414307f1fe7abbf50312ffee43488dfe462ed016", +"T3W1_fr_bitcoin-test_signtx_external.py::test_p2wpkh_with_proof": "7a1ce67648d1430b2b0744e8d802c91c68d74ddf38b9060d508ff9ff6054e612", +"T3W1_fr_bitcoin-test_signtx_external.py::test_p2wsh_external_presigned": "18aa1160a3b846a4f0220ee1630d250ce8691b8f470607b0753899d86c596efe", +"T3W1_fr_bitcoin-test_signtx_invalid_path.py::test_attack_path_segwit": "f93a24ee121b31a15fd5e0f248ec453988c6bf07e548858d35ad0f1d7258b3bb", +"T3W1_fr_bitcoin-test_signtx_invalid_path.py::test_invalid_path_fail": "ffa055b7f8931170b61d79b4414307f1fe7abbf50312ffee43488dfe462ed016", +"T3W1_fr_bitcoin-test_signtx_invalid_path.py::test_invalid_path_fail_asap": "ffa055b7f8931170b61d79b4414307f1fe7abbf50312ffee43488dfe462ed016", +"T3W1_fr_bitcoin-test_signtx_invalid_path.py::test_invalid_path_pass_forkid": "e27b39864d785308e2be13b37200ed9084395d63c760e42c1c5bbac75d536425", +"T3W1_fr_bitcoin-test_signtx_invalid_path.py::test_invalid_path_prompt": "7d33987d149497e31919a42c0b4741acb8a652c44aa1c247f51644ffe1770813", +"T3W1_fr_bitcoin-test_signtx_mixed_inputs.py::test_non_segwit_segwit_inputs": "6696e286e63a975223bea508aaf3630253a3833c07c5deddcc40ceff588daa1d", +"T3W1_fr_bitcoin-test_signtx_mixed_inputs.py::test_non_segwit_segwit_non_segwit_inputs": "39f4c533146c51dbd8bd26bd940551568baa71cb36ccb06b49b3c9ff7471e5b0", +"T3W1_fr_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_inputs": "6696e286e63a975223bea508aaf3630253a3833c07c5deddcc40ceff588daa1d", +"T3W1_fr_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_segwit_inputs": "39f4c533146c51dbd8bd26bd940551568baa71cb36ccb06b49b3c9ff7471e5b0", +"T3W1_fr_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[]": "ffa055b7f8931170b61d79b4414307f1fe7abbf50312ffee43488dfe462ed016", +"T3W1_fr_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[hello world]": "ffa055b7f8931170b61d79b4414307f1fe7abbf50312ffee43488dfe462ed016", +"T3W1_fr_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[x]": "ffa055b7f8931170b61d79b4414307f1fe7abbf50312ffee43488dfe462ed016", +"T3W1_fr_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "ffa055b7f8931170b61d79b4414307f1fe7abbf50312ffee43488dfe462ed016", +"T3W1_fr_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[]": "21b6c9c1a8f7635528cf7f81e766c82c6553dedf6487a21430d2f58014246f9c", +"T3W1_fr_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[hello world]": "21b6c9c1a8f7635528cf7f81e766c82c6553dedf6487a21430d2f58014246f9c", +"T3W1_fr_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[x]": "21b6c9c1a8f7635528cf7f81e766c82c6553dedf6487a21430d2f58014246f9c", +"T3W1_fr_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "21b6c9c1a8f7635528cf7f81e766c82c6553dedf6487a21430d2f58014246f9c", +"T3W1_fr_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[]": "f8be144f9f0f5b406f3242c8beded6437d3fa39dae332c9a04cbbc0a25e43c4c", +"T3W1_fr_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[hello world]": "f8be144f9f0f5b406f3242c8beded6437d3fa39dae332c9a04cbbc0a25e43c4c", +"T3W1_fr_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[x]": "f8be144f9f0f5b406f3242c8beded6437d3fa39dae332c9a04cbbc0a25e43c4c", +"T3W1_fr_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "f8be144f9f0f5b406f3242c8beded6437d3fa39dae332c9a04cbbc0a25e43c4c", +"T3W1_fr_bitcoin-test_signtx_segwit.py::test_attack_change_input_address": "f038ce706a10f64a8fceaec175291fedce5961e3b427729644f483cd84a10ee8", +"T3W1_fr_bitcoin-test_signtx_segwit.py::test_attack_mixed_inputs": "1babc73c11b048a78631f4e4a0223df91fc1fb2bee38aedb773158202419562e", +"T3W1_fr_bitcoin-test_signtx_segwit.py::test_send_multisig_1": "acb4b89b46b00ec53a03667d513c902f454a5aa32177f750ddb7799469908053", +"T3W1_fr_bitcoin-test_signtx_segwit.py::test_send_p2sh[False]": "377ba9f2a11cc97e36ec8dc9ae3a6fa989411a1760248c9d0c49f35f207661ae", +"T3W1_fr_bitcoin-test_signtx_segwit.py::test_send_p2sh[True]": "e424c80eea7da8931009ba2e69f59af4da774f5b16eded5436bef638834dc24e", +"T3W1_fr_bitcoin-test_signtx_segwit.py::test_send_p2sh_change": "aec7643383489a383c514a58a94db909eebd95befc01ce7e121a916faf358273", +"T3W1_fr_bitcoin-test_signtx_segwit.py::test_testnet_segwit_big_amount": "0158e21ebc201fa084fee9136aaefa3ab7997d68f8e2f7c328b06a3a061cf13a", +"T3W1_fr_bitcoin-test_signtx_segwit_native.py::test_multisig_mismatch_inputs_single": "037c2a834d770cd1dee3e8aa4295f84c7cfb74abf7b0e85f4baee923e0d93fcf", +"T3W1_fr_bitcoin-test_signtx_segwit_native.py::test_send_both": "56e6f12c2fc93f42fe1672b538abe9b1d16a96e962889520d3e53711c8ace9ea", +"T3W1_fr_bitcoin-test_signtx_segwit_native.py::test_send_multisig_1": "1ee93f83d304f995365973dbf90109cfa701a39c27603771089f981aa097f609", +"T3W1_fr_bitcoin-test_signtx_segwit_native.py::test_send_multisig_2": "9e32ff0fcdd383930f6e6d262c505090b3158e8922eafe2f3055122241fe1a61", +"T3W1_fr_bitcoin-test_signtx_segwit_native.py::test_send_multisig_3_change": "18104efbc9cf6a866ddc94efad174834636a850365888cfe9a62579f39fc1061", +"T3W1_fr_bitcoin-test_signtx_segwit_native.py::test_send_multisig_4_change": "e48c44588061c921fac9b65cf024d4564a20128d96d02e103c514f0488490425", +"T3W1_fr_bitcoin-test_signtx_segwit_native.py::test_send_native": "9c65dbc602940fe4f8c34974ce801c0d76b37310031f96055d36a3d90bfc3218", +"T3W1_fr_bitcoin-test_signtx_segwit_native.py::test_send_native_change": "c1eba63fa894a1067538b9f2cee45aab957319495c357bafa84d547fa187c538", +"T3W1_fr_bitcoin-test_signtx_segwit_native.py::test_send_p2sh": "f9cc08c8a2b54ea865fedcb87afca785a677cdacdd9a083596db552b4cb3d88a", +"T3W1_fr_bitcoin-test_signtx_segwit_native.py::test_send_p2sh_change": "0fca1bcec28cfee9dbc49c0f6d8b35bea13d1b1b3b5774bf2067df6d30c6e4f5", +"T3W1_fr_bitcoin-test_signtx_segwit_native.py::test_send_to_taproot": "bc2c275579d6f73ccf162a0cf0130a96a3bd4d8a6c01cb5fa234b88c78da11c4", +"T3W1_fr_bitcoin-test_signtx_taproot.py::test_attack_script_type": "c166cb91ab973530e8de603824394518da5dba034d31aac6dbbe414e11792aa6", +"T3W1_fr_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1pam775nxmvam4pfpqlm5q06k0y84e3-a257be51": "ffa055b7f8931170b61d79b4414307f1fe7abbf50312ffee43488dfe462ed016", +"T3W1_fr_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1plllllllllllllllllllllllllllll-aaa668e3": "ffa055b7f8931170b61d79b4414307f1fe7abbf50312ffee43488dfe462ed016", +"T3W1_fr_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1plycg5qvjtrp3qjf5f7zl382j9x6nr-5447628e": "ffa055b7f8931170b61d79b4414307f1fe7abbf50312ffee43488dfe462ed016", +"T3W1_fr_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1zlycg5qvjtrp3qjf5f7zl382j9x6nr-880d4a6b": "ffa055b7f8931170b61d79b4414307f1fe7abbf50312ffee43488dfe462ed016", +"T3W1_fr_bitcoin-test_signtx_taproot.py::test_send_mixed": "f8fc867b09b9c6e4c091248da79457ef030714d9a73b998a7abf786b092d1ce0", +"T3W1_fr_bitcoin-test_signtx_taproot.py::test_send_p2tr[False]": "247bfa78da5a5e86549acde35a8174a9adefba19983cd2ad964a5525b081d267", +"T3W1_fr_bitcoin-test_signtx_taproot.py::test_send_p2tr[True]": "4aebf30888f02cd916d3309f796db4d5b6f3fbbc2939529f22ebc4fa666b968b", +"T3W1_fr_bitcoin-test_signtx_taproot.py::test_send_two_with_change": "c7102cee3b912efafdbfe800c31d74cbdc77976cf327f5ee436f48e057c21b62", +"T3W1_fr_bitcoin-test_zcash.py::test_external_presigned": "f5b6c72c7a0d19bc835dcdc148376ee59471c1cbda470df89b86bf710aa42cd5", +"T3W1_fr_bitcoin-test_zcash.py::test_one_one_fee_sapling": "d417b6db2f61d5ea944117be581da6ff61ac15721126623bef3df8dae6fcb642", +"T3W1_fr_bitcoin-test_zcash.py::test_spend_old_versions": "0952390392c39d44d9f3c34b6ac3f5ab84a6ae620e4698116b2f4d66d58a0163", +"T3W1_fr_bitcoin-test_zcash.py::test_v3_not_supported": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_bitcoin-test_zcash.py::test_version_group_id_missing": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_misc-test_msg_cipherkeyvalue.py::test_decrypt": "a52eaf99c6a111760365ba60257d6c41c2bb96da62635de7bad402058f15aae7", +"T3W1_fr_misc-test_msg_cipherkeyvalue.py::test_decrypt_badlen": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_misc-test_msg_cipherkeyvalue.py::test_encrypt": "70658b8b3f3eb1c52d672311bef35ddba9c06c7eb24dba3fff4a57ac8f6458d8", +"T3W1_fr_misc-test_msg_cipherkeyvalue.py::test_encrypt_badlen": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_misc-test_msg_enablelabeling.py::test_encrypt": "97266f2e71cafa0751ec1671bae6f1ccbb5cf27ab870df33bc0bc1bcaad92d1a", +"T3W1_fr_misc-test_msg_getecdhsessionkey.py::test_ecdh": "c71a52bb146f0bdadc8f06931b381256082a1ec6184bb2bcc6011309b17eb59c", +"T3W1_fr_misc-test_msg_getentropy.py::test_entropy[128]": "7850365bdc42f2862ece01078d0f0c8b25e25c54f278498bb87555cd9f5ab416", +"T3W1_fr_misc-test_msg_getentropy.py::test_entropy[129]": "7850365bdc42f2862ece01078d0f0c8b25e25c54f278498bb87555cd9f5ab416", +"T3W1_fr_misc-test_msg_getentropy.py::test_entropy[16]": "7850365bdc42f2862ece01078d0f0c8b25e25c54f278498bb87555cd9f5ab416", +"T3W1_fr_misc-test_msg_getentropy.py::test_entropy[17]": "7850365bdc42f2862ece01078d0f0c8b25e25c54f278498bb87555cd9f5ab416", +"T3W1_fr_misc-test_msg_getentropy.py::test_entropy[1]": "7850365bdc42f2862ece01078d0f0c8b25e25c54f278498bb87555cd9f5ab416", +"T3W1_fr_misc-test_msg_getentropy.py::test_entropy[256]": "7850365bdc42f2862ece01078d0f0c8b25e25c54f278498bb87555cd9f5ab416", +"T3W1_fr_misc-test_msg_getentropy.py::test_entropy[257]": "7850365bdc42f2862ece01078d0f0c8b25e25c54f278498bb87555cd9f5ab416", +"T3W1_fr_misc-test_msg_getentropy.py::test_entropy[2_0]": "7850365bdc42f2862ece01078d0f0c8b25e25c54f278498bb87555cd9f5ab416", +"T3W1_fr_misc-test_msg_getentropy.py::test_entropy[2_1]": "7850365bdc42f2862ece01078d0f0c8b25e25c54f278498bb87555cd9f5ab416", +"T3W1_fr_misc-test_msg_getentropy.py::test_entropy[32]": "7850365bdc42f2862ece01078d0f0c8b25e25c54f278498bb87555cd9f5ab416", +"T3W1_fr_misc-test_msg_getentropy.py::test_entropy[33]": "7850365bdc42f2862ece01078d0f0c8b25e25c54f278498bb87555cd9f5ab416", +"T3W1_fr_misc-test_msg_getentropy.py::test_entropy[3]": "7850365bdc42f2862ece01078d0f0c8b25e25c54f278498bb87555cd9f5ab416", +"T3W1_fr_misc-test_msg_getentropy.py::test_entropy[4]": "7850365bdc42f2862ece01078d0f0c8b25e25c54f278498bb87555cd9f5ab416", +"T3W1_fr_misc-test_msg_getentropy.py::test_entropy[512]": "7850365bdc42f2862ece01078d0f0c8b25e25c54f278498bb87555cd9f5ab416", +"T3W1_fr_misc-test_msg_getentropy.py::test_entropy[513]": "7850365bdc42f2862ece01078d0f0c8b25e25c54f278498bb87555cd9f5ab416", +"T3W1_fr_misc-test_msg_getentropy.py::test_entropy[5]": "7850365bdc42f2862ece01078d0f0c8b25e25c54f278498bb87555cd9f5ab416", +"T3W1_fr_misc-test_msg_getentropy.py::test_entropy[64]": "7850365bdc42f2862ece01078d0f0c8b25e25c54f278498bb87555cd9f5ab416", +"T3W1_fr_misc-test_msg_getentropy.py::test_entropy[65]": "7850365bdc42f2862ece01078d0f0c8b25e25c54f278498bb87555cd9f5ab416", +"T3W1_fr_misc-test_msg_getentropy.py::test_entropy[8]": "7850365bdc42f2862ece01078d0f0c8b25e25c54f278498bb87555cd9f5ab416", +"T3W1_fr_misc-test_msg_getentropy.py::test_entropy[9]": "7850365bdc42f2862ece01078d0f0c8b25e25c54f278498bb87555cd9f5ab416", +"T3W1_fr_misc-test_msg_signidentity.py::test_sign": "879234920c485b7116a6a685ee4d3757c480bbdd0131479da256bcb264c3a89a", +"T3W1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "7096165aadb37507513995ef7e424248175ca3f77e76049573c0df50f457cc8a", +"T3W1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "9fa9bdb614afda6c87681d21e6de8e7fcaa5d2a34fd9c563f973fb4d0b63e66c", +"T3W1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "16b63b09ec86083fbd289e27cb9b65264784c91a771f4f6b12813d78b3ebad58", +"T3W1_fr_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "cf811531e33f6b24e1a1dfeb36e01a38186993b60394f891d8195b23b199621f", +"T3W1_fr_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_reset_recovery-test_recovery_bip39_t2.py::test_tt_nopin_nopassphrase": "144b1e3ae31c0a0b774ea11e8b595f14c467abc81da97b45a889080ef8e2063f", +"T3W1_fr_reset_recovery-test_recovery_bip39_t2.py::test_tt_pin_passphrase": "c23ae8ffa250bf157ce00b7c7f5a675ca1cd26a2621e65143dff940b7337d2d8", +"T3W1_fr_reset_recovery-test_recovery_slip39_advanced.py::test_abort": "4a55c5325b82aa0c2519d21665d8f804223cdc969e1ebf70f9be8d2623d77664", +"T3W1_fr_reset_recovery-test_recovery_slip39_advanced.py::test_extra_share_entered": "60ac291e3375d5da0d999d95e3df163c749eb5a01b6b240411087a4a389efa7c", +"T3W1_fr_reset_recovery-test_recovery_slip39_advanced.py::test_group_threshold_reached": "5bff21bb7d33962d360da10d74d490149185725fdfd529d9d0c85eddccc6ee73", +"T3W1_fr_reset_recovery-test_recovery_slip39_advanced.py::test_noabort": "b90e8b8797a36b946ab8e20fe40f2c15667216ca5d365eba1d0f3e76e3fd98a6", +"T3W1_fr_reset_recovery-test_recovery_slip39_advanced.py::test_same_share": "583b338faa7b1d67b5a9435d5dac38eb5541f9a53ce47725f23f2e2a46eaaf6b", +"T3W1_fr_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares0-c2d2e26ad06023c60145f1-afc2dad5": "03d6a04c1d65152739a4238dfbc29078e0d11395a9e7b6a7d2dfb1b067d0167a", +"T3W1_fr_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares1-c41d5cf80fed71a008a3a0-eb47093e": "a422b767522e98803656b2e5251fadcb4237798f0dc9248402a1aab23e3af474", +"T3W1_fr_reset_recovery-test_recovery_slip39_advanced.py::test_secret_click_info_button[shares0-c2d2-850ffa77": "1b9cd1a4db9d0ff8997215b9dc75de9b9892d2680ae2ad87a48d051b24440b09", +"T3W1_fr_reset_recovery-test_recovery_slip39_advanced.py::test_secret_click_info_button[shares1-c41d-ca9ddec8": "cabca65cc5e10f34a208ac6684170387199965b3036834ea593ada8eda90ce56", +"T3W1_fr_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_dryrun": "0f001049bb71afb01953c4dc29296ca03fb96bee0e2ed4b2c40a4a6a7326dc6b", +"T3W1_fr_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_invalid_seed_dryrun": "756a7335fcaaa1b43db51d0cdb4d051112bf4b8052d9baa01522ddefd0347ac5", +"T3W1_fr_reset_recovery-test_recovery_slip39_basic.py::test_1of1": "a82259e19050b0083a22232b582bc4bee76224722e92a82fd90175b2deea2cb4", +"T3W1_fr_reset_recovery-test_recovery_slip39_basic.py::test_abort": "4a55c5325b82aa0c2519d21665d8f804223cdc969e1ebf70f9be8d2623d77664", +"T3W1_fr_reset_recovery-test_recovery_slip39_basic.py::test_abort_between_shares": "39b62d159787d5220b42301fd7821cb1c38524d9bfafaa4c292cce808c7d8712", +"T3W1_fr_reset_recovery-test_recovery_slip39_basic.py::test_abort_on_number_of_words": "fe7db6e043fe3afb2986cf6c2a64c05975e2cafd8d332be6c6e3945c209f7521", +"T3W1_fr_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_first_share": "76de115fc59103f404c980738844481e34eaa624db47fb86f6b484f99738a054", +"T3W1_fr_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_second_share": "338fa7b9a73005b2b5f00fd67d327f1be2a5d3e0d580ec95041d9611755f3d52", +"T3W1_fr_reset_recovery-test_recovery_slip39_basic.py::test_noabort": "2c921c0e6b717e9233fbba8e53ebc22a28054c293c64bc4f3cd6c9dd978c49bd", +"T3W1_fr_reset_recovery-test_recovery_slip39_basic.py::test_recover_with_pin_passphrase": "6a1abb5b63a5a26e02e4ad3d24a4fccc37c437375f873fd3853456fca6de84cf", +"T3W1_fr_reset_recovery-test_recovery_slip39_basic.py::test_same_share": "f4ac77c44f8672911b11357fc5c14db75e868647e8401b8a97947299f8ecf3fa", +"T3W1_fr_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares0-491b795b80fc21ccdf466c0fb-ad8c45c0": "80ead690281cabb89f8e051536072670858807914f29207c559fc1488e0a0108", +"T3W1_fr_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares1-644c905b0c4da21692f06fff3-30d0f8ca": "81769edc529e8759d73476d9200efa055ec1fb0169ee73e8d2f40f177495595b", +"T3W1_fr_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares2-b770e0da1363247652de97a39-6af744e3": "2d61d903a4546c6dcab80a4d3fc39e188b20f4d1eb40a0c11ceb267cf382b347", +"T3W1_fr_reset_recovery-test_recovery_slip39_basic.py::test_share_info_between_shares": "9e6dfe906523933674c2ac45572bab08815e02201d284de483f982b8c8c04083", +"T3W1_fr_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[0]": "bfd8b13c5c4dafa4f4d055c09129390e5bdb0e9fae08e189fa3a8e04792db2c7", +"T3W1_fr_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[1]": "bfe64227956dafd8c97d394e3a19b7886a579f23b4fe5ffca09e66080bd6d27e", +"T3W1_fr_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[2]": "5a757796785f2e3818ad0ba1fc756573806354b08511a04ceccf6ce1524ff441", +"T3W1_fr_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_dryrun": "83f01ef84bac9482323adf6c7b54d49253275b06dda471f564dec5fb0e63f1be", +"T3W1_fr_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_invalid_seed_dryrun": "d2618a8a34aa839199fc7cfa8260342464ce36c9c478f5e3091d7d0218242490", +"T3W1_fr_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Bip39-backup_flow_bip39]": "ee4da43c1b236459d49cd1924461432b08eaf11fc171017cc8ce3be960648059", +"T3W1_fr_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Advanced_Ext-10ea47d6": "490aeb22b389a2d08e505c91e4165d94e284eaef2eacf52b377780d310b336cd", +"T3W1_fr_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Basic_Extend-5dbe8b0f": "c486c719f523335176abbd3140872c7704b94057cb354514a98d7e1530194287", +"T3W1_fr_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Bip39-backup_flow_bip39]": "9b2034981e08f543f5665947c347ca665f3f631d20ff45c144d6f6af961ea671", +"T3W1_fr_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Advanced_Extend-8b11c1dc": "70981287bb62e1ae6d194ab60ff4b0160cf309ecba5971f8ec69a552ef73ddc8", +"T3W1_fr_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Basic_Extendabl-cc19e908": "46157396cf5a358f1a96097f74fa3a9e2606e42e45b94e7a930c48f8d18aca0c", +"T3W1_fr_reset_recovery-test_reset_bip39_t2.py::test_already_initialized": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_reset_recovery-test_reset_bip39_t2.py::test_entropy_check": "5df38b93fcc0ab880e8cc582fcc8b82010da368634d3926a9a3367199a5ebec2", +"T3W1_fr_reset_recovery-test_reset_bip39_t2.py::test_failed_pin": "2bf2e847536ca8cdf02d172210911dc274ccb2276b6a44bfcee4a1f7ebbef1a9", +"T3W1_fr_reset_recovery-test_reset_bip39_t2.py::test_no_entropy_check": "5df38b93fcc0ab880e8cc582fcc8b82010da368634d3926a9a3367199a5ebec2", +"T3W1_fr_reset_recovery-test_reset_bip39_t2.py::test_reset_device": "be501ac60662682b9a25e7f00cd3ba8b52311f99f36c4a0ebd6700e213545c72", +"T3W1_fr_reset_recovery-test_reset_bip39_t2.py::test_reset_device_192": "74f801e2ea9bfe2f4f8b107c1c9cf288857512e99c66449c8fc180fdb98356d9", +"T3W1_fr_reset_recovery-test_reset_bip39_t2.py::test_reset_device_pin": "9b45fe53bd5c67e45d1ad651fdec0d6ef01b8165ac01bb30f60309ec981121f8", +"T3W1_fr_reset_recovery-test_reset_bip39_t2.py::test_reset_entropy_check": "8dab88366ad27091d4bc1d8900c3af74eba9a0f48cff263c6d5055e4a785df58", +"T3W1_fr_reset_recovery-test_reset_bip39_t2.py::test_reset_failed_check": "13461486a7ddcc6766a119a7d759329a5564d2208105bc2b6d9c4ee8a0c42e89", +"T3W1_fr_reset_recovery-test_reset_recovery_bip39.py::test_reset_recovery": "39f252ff8723492f399a9b25e9325e5e8fcb95965d404447320c97c20e561b2b", +"T3W1_fr_reset_recovery-test_reset_recovery_slip39_advanced.py::test_reset_recovery": "ca06577ec5a59f18cb85128ce0d9f40cf2a6df38a3178a6f2531801f3b25a09c", +"T3W1_fr_reset_recovery-test_reset_recovery_slip39_basic.py::test_reset_recovery": "4935a6e9bdc3547d61c80c9d173c93b0f6b4377c2ee89916f020d36915272799", +"T3W1_fr_reset_recovery-test_reset_slip39_advanced.py::test_reset_device_slip39_advanced": "0d7e233dc2e13ec2acc9bc0558389f1804689ed340a38da488db2943f4df90a8", +"T3W1_fr_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic": "c111848818abffdb1815bbb53ce030d2ddc494f9010a875a0203cc5abc0a13c0", +"T3W1_fr_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic_256": "344a7142b13a2a6a0b40c47bb393647f618f5fa65063d848ffbe052d75c4542c", +"T3W1_fr_reset_recovery-test_reset_slip39_basic.py::test_reset_entropy_check": "d6fc6261e182cd32e29aaa5c2b7d25e968483398281b7806e44a9e4c359ae1e9", +"T3W1_fr_test_autolock.py::test_apply_auto_lock_delay": "1a582e16b8d7681007f22348471066643c8c1bb9ce65f6ec162b07c755bf90ad", +"T3W1_fr_test_autolock.py::test_apply_auto_lock_delay_out_of_range[0]": "5a12a5b56c868163d8ae561c9250684b3df24946383eb37f95e608fecab61cbe", +"T3W1_fr_test_autolock.py::test_apply_auto_lock_delay_out_of_range[1]": "5a12a5b56c868163d8ae561c9250684b3df24946383eb37f95e608fecab61cbe", +"T3W1_fr_test_autolock.py::test_apply_auto_lock_delay_out_of_range[4194304]": "5a12a5b56c868163d8ae561c9250684b3df24946383eb37f95e608fecab61cbe", +"T3W1_fr_test_autolock.py::test_apply_auto_lock_delay_out_of_range[536871]": "5a12a5b56c868163d8ae561c9250684b3df24946383eb37f95e608fecab61cbe", +"T3W1_fr_test_autolock.py::test_apply_auto_lock_delay_out_of_range[9]": "5a12a5b56c868163d8ae561c9250684b3df24946383eb37f95e608fecab61cbe", +"T3W1_fr_test_autolock.py::test_apply_auto_lock_delay_valid[10]": "25587de357ab632a190bc8f6925a980e2fb658bbbd259fd87edd6954917c2b45", +"T3W1_fr_test_autolock.py::test_apply_auto_lock_delay_valid[123]": "ee0b2a57bc59efea3fd4e730af955d858dd97ef6d0d113a348a53797117e8d70", +"T3W1_fr_test_autolock.py::test_apply_auto_lock_delay_valid[3601]": "e7292b1dac7fa67308fbdfd2f7e5ea6185ad5fdec3264b40a51ba64a776e7250", +"T3W1_fr_test_autolock.py::test_apply_auto_lock_delay_valid[536870]": "24c2c499cadb254177677edbaf864aab8ebf95f9ac6462142b5d31099e506ef7", +"T3W1_fr_test_autolock.py::test_apply_auto_lock_delay_valid[60]": "d91e9351b8b84b22baf74c86485bf0f4d28fa2ea3027e3acf1042bea6eae8dd7", +"T3W1_fr_test_autolock.py::test_apply_auto_lock_delay_valid[7227]": "52ec1198c91b6406b8b269bfc81cfc0a480677ddf7e9065784a70cd20d878ec5", +"T3W1_fr_test_autolock.py::test_autolock_cancels_ui": "68e734cbb3cf89b010422cd849d3ceb1a616f242e0d58d9b5fd052dae3894cf5", +"T3W1_fr_test_autolock.py::test_autolock_default_value": "89bf47f00d8968aa93f36ef0e9516e75abb52e0369e593c21091ce8ecf532666", +"T3W1_fr_test_autolock.py::test_autolock_ignores_getaddress": "1c89fd2afc0572081dae5b33f43ff11f1c1077e01f986057d97efd119c3b3776", +"T3W1_fr_test_autolock.py::test_autolock_ignores_initialize": "1c89fd2afc0572081dae5b33f43ff11f1c1077e01f986057d97efd119c3b3776", +"T3W1_fr_test_basic.py::test_capabilities": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_test_basic.py::test_device_id_different": "72a88ba867caa10aa581461da789cc2cbab6c8db05f925209ba586d032b1b885", +"T3W1_fr_test_basic.py::test_device_id_same": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_test_basic.py::test_features": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_test_basic.py::test_ping": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_test_cancel.py::test_cancel_message_via_cancel[message0]": "83e62a090dee3f383fe0555708fbee5dd087d732ec9d5e7f64fd4f088661797f", +"T3W1_fr_test_cancel.py::test_cancel_message_via_cancel[message1]": "5ba16934259017945571971305b8bf1a5e92ca022a7b25d93e1d59fc99af255d", +"T3W1_fr_test_cancel.py::test_cancel_message_via_initialize[message0]": "83e62a090dee3f383fe0555708fbee5dd087d732ec9d5e7f64fd4f088661797f", +"T3W1_fr_test_cancel.py::test_cancel_message_via_initialize[message1]": "5ba16934259017945571971305b8bf1a5e92ca022a7b25d93e1d59fc99af255d", +"T3W1_fr_test_debuglink.py::test_softlock_instability": "b1b8e3ed3a4e0bf4312d989764d11a98d442fc6695a43958991f748597b99167", +"T3W1_fr_test_msg_applysettings.py::test_apply_homescreen_jpeg_progressive": "5a12a5b56c868163d8ae561c9250684b3df24946383eb37f95e608fecab61cbe", +"T3W1_fr_test_msg_applysettings.py::test_apply_homescreen_jpeg_wrong_size": "5a12a5b56c868163d8ae561c9250684b3df24946383eb37f95e608fecab61cbe", +"T3W1_fr_test_msg_applysettings.py::test_apply_homescreen_toif": "5a12a5b56c868163d8ae561c9250684b3df24946383eb37f95e608fecab61cbe", +"T3W1_fr_test_msg_applysettings.py::test_apply_settings": "3ebb4c0a7c2a9d886e8a65119e797711a591b508073df64aca0cf5ca06780be3", +"T3W1_fr_test_msg_applysettings.py::test_apply_settings_passphrase": "2771c409feb9373f6e8dd4a1ce44280f52f4e352627c4ea774adf8ef386308a8", +"T3W1_fr_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "51da5fa10b60d0e94da02c7528c6ebeea9c36ae60a4ae6277967d85f5fd51c6a", +"T3W1_fr_test_msg_applysettings.py::test_apply_settings_rotation": "60193780c403fde6af09b4b808ba66d301f7a12fa4a4a7003688fa681786fba7", +"T3W1_fr_test_msg_applysettings.py::test_experimental_features": "815f9c19731675abe3ca324652ed5e77953a5b127f46b60b2d54e6af24d47ab2", +"T3W1_fr_test_msg_applysettings.py::test_label_too_long": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_test_msg_backup_device.py::test_backup_bip39": "30631a725dba1195e78e7ebc2b88e2fa6c18458941ded4c05ac7559d4866c00e", +"T3W1_fr_test_msg_backup_device.py::test_backup_slip39_advanced[click_info]": "d49c615a4e34c013cff7dd2518da43604af195e845963841c9979429f502d188", +"T3W1_fr_test_msg_backup_device.py::test_backup_slip39_advanced[no_click_info]": "b054b785d5915edb131737baf6e129ac589580b8f26116b48e704bc3216e8a72", +"T3W1_fr_test_msg_backup_device.py::test_backup_slip39_basic[click_info]": "d49c615a4e34c013cff7dd2518da43604af195e845963841c9979429f502d188", +"T3W1_fr_test_msg_backup_device.py::test_backup_slip39_basic[no_click_info]": "58f85ae93486ae69db71e49b136dcaa5ed92f2fc6c25b6f04a19787892ec2efb", +"T3W1_fr_test_msg_backup_device.py::test_backup_slip39_custom[1_of_1]": "30aeb460193f1c376ddd5abf94a770a2a8356425f7044afc89dc7db3b911871b", +"T3W1_fr_test_msg_backup_device.py::test_backup_slip39_custom[2_of_2]": "e881b2cc9c7e250b32b21b7438683e6765c55759253bbba0ae17ca9633d8f68a", +"T3W1_fr_test_msg_backup_device.py::test_backup_slip39_custom[3_of_5]": "c8c177dab4806c2c53d2d39554f871941cc6c0a49e81a2a08ba3c7eeced437ee", +"T3W1_fr_test_msg_backup_device.py::test_backup_slip39_single": "77c948a76964efb7cd5a08ed3282c5db675caf837feff0243385bc7b902acfac", +"T3W1_fr_test_msg_backup_device.py::test_interrupt_backup_fails": "94bbc91b0431252b01292cc16e6c078f81398e8b341a474f85ea000e0b0f8cdb", +"T3W1_fr_test_msg_backup_device.py::test_no_backup_fails": "e55960b08b95b2942a615d6adeb6389bc78a35a51b8eccbadc9e6b0a5607ebc9", +"T3W1_fr_test_msg_change_wipe_code_t2.py::test_set_pin_to_wipe_code": "33fce992564f9629b36356a5038061aa9f250dfdcd364ea8610c32f07b649d12", +"T3W1_fr_test_msg_change_wipe_code_t2.py::test_set_remove_wipe_code": "2f533c1d3327fcde4c45b3d95104047f0b25fc6594736b6be26c440e1072ff09", +"T3W1_fr_test_msg_change_wipe_code_t2.py::test_set_wipe_code_mismatch": "898d8af42e7bcf3a4e4a65cada4d24975fc634283f9b321004b1a59f1795137b", +"T3W1_fr_test_msg_change_wipe_code_t2.py::test_set_wipe_code_to_pin": "b6f65e6abbbf40b996a6c4d005aed5870f0769cedb85fdb79f0242a5e9e42561", +"T3W1_fr_test_msg_changepin_t2.py::test_change_failed": "132bc31fd5903a8cb97c6c7506cc84c417a6b98e7eeaa3edd925b42f1d1e6921", +"T3W1_fr_test_msg_changepin_t2.py::test_change_invalid_current": "a1f4a4cc5ffbb77838dcddcf9d2e07be2aa29f4adcdf20e7cc9a6be4cde46bc8", +"T3W1_fr_test_msg_changepin_t2.py::test_change_pin": "319d086bb9d241529f389a9f4ebb74be4a494faab6c342f36e9da156a3cafc89", +"T3W1_fr_test_msg_changepin_t2.py::test_remove_pin": "ede1a02b3d184331373f097c10c02bee0b8090a173a538838ebabd028357ff71", +"T3W1_fr_test_msg_changepin_t2.py::test_set_failed": "2d7279a61e2955e5eda4c2edff67d8902422a5e4d8eb5f8f81381ec59e6b36da", +"T3W1_fr_test_msg_changepin_t2.py::test_set_pin": "15ca596ac16ea835b6e75d8c46aaf1223c6abeef9619e63fa6aedf89997f1db3", +"T3W1_fr_test_msg_loaddevice.py::test_load_device_1": "d634d7636f3eb46a8188be095630eeb1848a2468a4b9a5dd41913ed2e3e53a1e", +"T3W1_fr_test_msg_loaddevice.py::test_load_device_2": "95d149029b37cfb29b8a955ff88cd9d679364cb2dc7ed9605c609769e5648ddb", +"T3W1_fr_test_msg_loaddevice.py::test_load_device_slip39_advanced": "d634d7636f3eb46a8188be095630eeb1848a2468a4b9a5dd41913ed2e3e53a1e", +"T3W1_fr_test_msg_loaddevice.py::test_load_device_slip39_basic": "d634d7636f3eb46a8188be095630eeb1848a2468a4b9a5dd41913ed2e3e53a1e", +"T3W1_fr_test_msg_loaddevice.py::test_load_device_utf": "cb94ad6cb2c682bf6ae6f5ede4afe02b806d65d710db85b9a1870cd2e961e46a", +"T3W1_fr_test_msg_ping.py::test_ping": "c2db478a6618ddc00744d3498c678d8b59f90c3b7d1791658a9e539107b74028", +"T3W1_fr_test_msg_wipedevice.py::test_autolock_not_retained": "066cc5ddc74596053b7b34402b95b73ac2d7104511d39ce58924456978f28d5a", +"T3W1_fr_test_msg_wipedevice.py::test_wipe_device": "72a88ba867caa10aa581461da789cc2cbab6c8db05f925209ba586d032b1b885", +"T3W1_fr_test_passphrase_slip39_advanced.py::test_128bit_passphrase": "13f10d78fdc8c9fb40246bbfcb6f51e92d2c0f4ff5c38169f7245554cfc43cb7", +"T3W1_fr_test_passphrase_slip39_advanced.py::test_256bit_passphrase": "13f10d78fdc8c9fb40246bbfcb6f51e92d2c0f4ff5c38169f7245554cfc43cb7", +"T3W1_fr_test_passphrase_slip39_basic.py::test_2of3_ext_passphrase": "bbd0081a2ff2c539a17beca0db4d91d680a37bd4ec2c1f1541b22a59e499673f", +"T3W1_fr_test_passphrase_slip39_basic.py::test_2of5_passphrase": "bbd0081a2ff2c539a17beca0db4d91d680a37bd4ec2c1f1541b22a59e499673f", +"T3W1_fr_test_passphrase_slip39_basic.py::test_3of6_passphrase": "bbd0081a2ff2c539a17beca0db4d91d680a37bd4ec2c1f1541b22a59e499673f", +"T3W1_fr_test_pin.py::test_correct_pin": "5a12a5b56c868163d8ae561c9250684b3df24946383eb37f95e608fecab61cbe", +"T3W1_fr_test_pin.py::test_exponential_backoff_t2": "8e52d7b3922320bc56e968a9c65f5e693df8e2baf6f1fd1bcc1d151b30079bc1", +"T3W1_fr_test_pin.py::test_incorrect_pin_t2": "bd2dcfed0da3d852efcbaa42c6aac7a2cc199ecd58d91230bd9532c2608985f8", +"T3W1_fr_test_pin.py::test_no_protection": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_test_protection_levels.py::test_apply_settings": "f6197ad91006ed9e6361911b3e8358413de686c80c0fc7ac2353dbfce4c7092a", +"T3W1_fr_test_protection_levels.py::test_change_pin_t2": "af958570e5566be92a219a90f2a3ab9a3a49130348c38eeab1a73fa717450859", +"T3W1_fr_test_protection_levels.py::test_get_address": "b3fa29511fb3854e7869bc48a606adc3b818278fa4ef5941b1cf4d2cac3c4ca5", +"T3W1_fr_test_protection_levels.py::test_get_entropy": "770ac747a5cd3d9f4bdc27549ef92b612226b4a8344fb6ff7c7b1325cd3cf53a", +"T3W1_fr_test_protection_levels.py::test_get_public_key": "b3fa29511fb3854e7869bc48a606adc3b818278fa4ef5941b1cf4d2cac3c4ca5", +"T3W1_fr_test_protection_levels.py::test_initialize": "afe928dbbdab3c6bd10d1f9c051eced32b5697a9d185b8a2ffc354ded09f04f6", +"T3W1_fr_test_protection_levels.py::test_passphrase_cached": "8b7fa1aa84c4c8a8f36c4d413d413ee999e04333691c5f2926379121dfcebbcd", +"T3W1_fr_test_protection_levels.py::test_passphrase_reporting[False]": "e9997f845a8f49c7ebda87239e39e5ccace86e16632bde552f6759ac2b706f25", +"T3W1_fr_test_protection_levels.py::test_passphrase_reporting[True]": "aee1b747c1deed40c1c91b9a917ead207fdfcf622dd5a944d297989df16d8d93", +"T3W1_fr_test_protection_levels.py::test_ping": "c2db478a6618ddc00744d3498c678d8b59f90c3b7d1791658a9e539107b74028", +"T3W1_fr_test_protection_levels.py::test_signtx": "4183ac7d6217d444c915e51e445dc9d8e29aabe7fe34827fc4296aa4ee871a80", +"T3W1_fr_test_protection_levels.py::test_unlocked": "2b3c179a68bcb2b16a44c9774f247573a21521f3f6ad209f409fa55960b1c014", +"T3W1_fr_test_protection_levels.py::test_wipe_device": "d511cfac3903b8bf960579e363ffa4f256877a6989897916684d1e6594600405", +"T3W1_fr_test_repeated_backup.py::test_repeated_backup": "ac2d4f9e125f965faf354a53a2f243e7e82bca953987a2f951dfa17264f2dabc", +"T3W1_fr_test_repeated_backup.py::test_repeated_backup_cancel": "29d39eee66ac1c543f2daa0b99d270cc28fc3e2889d3124ab67415279feeccf2", +"T3W1_fr_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "29d39eee66ac1c543f2daa0b99d270cc28fc3e2889d3124ab67415279feeccf2", +"T3W1_fr_test_repeated_backup.py::test_repeated_backup_upgrade_single": "1e4e1f478a4166fc0c11e2504b8211eb63692376c5bbb41b353ab779fca84f75", +"T3W1_fr_test_session.py::test_cannot_resume_ended_session": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_test_session.py::test_clear_session": "839cb22dd44b7e1207d64f492e430fd91434ab30cfcced4e6d03c93b698525b7", +"T3W1_fr_test_session.py::test_derive_cardano_empty_session": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_test_session.py::test_derive_cardano_running_session": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_test_session.py::test_end_session": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_test_session.py::test_end_session_only_current": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_test_session.py::test_session_recycling": "bbd0081a2ff2c539a17beca0db4d91d680a37bd4ec2c1f1541b22a59e499673f", +"T3W1_fr_test_session_id_and_passphrase.py::test_cardano_passphrase": "491861137a0220489b90746421d4b1874066adb89d2d9ae122bd664f21506a4f", +"T3W1_fr_test_session_id_and_passphrase.py::test_hide_passphrase_from_host": "6ca4504f16b0c362a26c8692fb8e199525918d6e82e4859c1da0f5304a51cbb3", +"T3W1_fr_test_session_id_and_passphrase.py::test_max_sessions_with_passphrases": "06c7ccbe729b3626551a63a47c38944e045d1472ff9c3aab615bed79ccc7c29b", +"T3W1_fr_test_session_id_and_passphrase.py::test_multiple_passphrases": "d5057f8a11255e5c9ee6dd94810cfcb93e1d7628ca3b5984753e7ac6c42d1dc0", +"T3W1_fr_test_session_id_and_passphrase.py::test_multiple_sessions": "1aea2face94abf4b135f37677b5be6310e5eafe78c9a982c7c1f1f4055b090f9", +"T3W1_fr_test_session_id_and_passphrase.py::test_passphrase_ack_mismatch": "29b223e7d1e0d70085d58af20e1588b99abfdafe663e87a5e68b79fd3d985795", +"T3W1_fr_test_session_id_and_passphrase.py::test_passphrase_always_on_device": "f916a9f281c0ad8ea6defe9fc8da68aec3818bbf619a1c49f4c8cab86ac9efc2", +"T3W1_fr_test_session_id_and_passphrase.py::test_passphrase_length": "a75001c8f13018e317ca1a68cf1a0a5b6e7967b3403e812a6fd113a866bf2a64", +"T3W1_fr_test_session_id_and_passphrase.py::test_passphrase_missing": "8b7fa1aa84c4c8a8f36c4d413d413ee999e04333691c5f2926379121dfcebbcd", +"T3W1_fr_test_session_id_and_passphrase.py::test_passphrase_on_device": "2e48d81b1e072ce5a025fb9325b34d49e1d6662bbe7435ebf03f304cdeb85220", +"T3W1_fr_test_session_id_and_passphrase.py::test_session_enable_passphrase": "7b4b00ac7e88ee1b2c1dd61e70b67cb758f00d288dffff7fea0183916b48186c", +"T3W1_fr_test_session_id_and_passphrase.py::test_session_with_passphrase": "59ed995ee6c85df2604512bfc36279f3ca901afdb2317a67ae3e4f348f59dc0e", +"T3W1_pt_binance-test_get_address.py::test_binance_get_address[m-44h-714h-0h-0-0-bnb1hgm0p7khfk85zpz-68e2cb5a": "d26878853bf3e2d074278b0d5bbbc0508cf130316f391f8a89ef3ec088a10540", +"T3W1_pt_binance-test_get_address.py::test_binance_get_address[m-44h-714h-0h-0-1-bnb1egswqkszzfc2uq7-1adfb691": "5f21b6dc3b5af81f5d610f891454ea5ed5e1fed71bec3db7adf231dc144e85d1", +"T3W1_pt_binance-test_get_address.py::test_binance_get_address_chunkify_details[m-44h-714h-0h-0-0-bn-59d4996f": "4dae879a611a8799dbc9a8ddd7734b53e42d5fcc03233bd2172451433a1b8cdd", +"T3W1_pt_binance-test_get_address.py::test_binance_get_address_chunkify_details[m-44h-714h-0h-0-1-bn-c9025900": "c4354a8d574dd7512f9374306c6f9b97c24b01dd466b84fa736ecbca47f46dc0", +"T3W1_pt_bitcoin-test_bcash.py::test_attack_change_input": "a64bf8e5121a55a78d3c210650af6b560cf8022f77f56cd3bb93c4915ada076f", +"T3W1_pt_bitcoin-test_bcash.py::test_send_bch_change": "a64bf8e5121a55a78d3c210650af6b560cf8022f77f56cd3bb93c4915ada076f", +"T3W1_pt_bitcoin-test_bcash.py::test_send_bch_external_presigned": "58903d5658c453e32b243d4036a5f11c53cfcf0af3c8181bd4228bc356feb05d", +"T3W1_pt_bitcoin-test_bcash.py::test_send_bch_multisig_change": "e586545df247fbd47b3cae424ef229c8586aa5cd27914a5512162f0e265d0fea", +"T3W1_pt_bitcoin-test_bcash.py::test_send_bch_multisig_wrongchange": "f90a83dcaf5fb6cd7953910fc883c7e8c2579dc2ba1df867e0086b039cbac541", +"T3W1_pt_bitcoin-test_bcash.py::test_send_bch_nochange": "a066a6d77e94c7a6605d9fb55215a209765b7be639dafa9ad398536afc6445f7", +"T3W1_pt_bitcoin-test_bcash.py::test_send_bch_oldaddr": "2a7d407650d51dbb14f4e6288bcc20b1776bf28145e620903ba794a4da4d63a5", +"T3W1_pt_bitcoin-test_firo.py::test_spend_lelantus": "be121cae7ce7c7012f1f122f935607118386836af58543e6f99398ba102c58ca", +"T3W1_pt_bitcoin-test_fujicoin.py::test_send_p2tr": "835d4fa1a3978a6be4111c48c2d3047f1051cf20960c8b67380e81b89388b786", +"T3W1_pt_bitcoin-test_getaddress.py::test_address_mac": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress.py::test_altcoin_address_mac": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress.py::test_bch": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress.py::test_bch_multisig": "7aab152f617c32986351c981af9ac0153c7c2a0d5625bb63906b415bd40e3184", +"T3W1_pt_bitcoin-test_getaddress.py::test_btc": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress.py::test_crw": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress.py::test_elements": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress.py::test_grs": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress.py::test_invalid_path": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress.py::test_ltc": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress.py::test_multisig": "ad046a53b4ba149ce21616f9b2e7586d9c860710221aaf692a94687e87c0dcff", +"T3W1_pt_bitcoin-test_getaddress.py::test_multisig_different_paths": "82e94007cdfdf97b838b0bbee487439c5af7bfda289160ebce9bae9aca106749", +"T3W1_pt_bitcoin-test_getaddress.py::test_multisig_missing[False]": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress.py::test_multisig_missing[True]": "78d14d55d4dc56a84da2f37139780c1a713523cfbef33f7f75729ae77ef88f4a", +"T3W1_pt_bitcoin-test_getaddress.py::test_multisig_pubkeys_order": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress.py::test_public_ckd": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress.py::test_tbtc": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress.py::test_tgrs": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress.py::test_unknown_path": "17d96365e2fb554843e6c98108fcba7cc869fe4426a3cb056afd0356fbc22192", +"T3W1_pt_bitcoin-test_getaddress_segwit.py::test_multisig_missing[False]": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress_segwit.py::test_multisig_missing[True]": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress_segwit.py::test_show_multisig_3": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress_segwit.py::test_show_segwit": "d93c3d5af69e0a895172c60547ee80d1b431b78455066583f54b6cee08611125", +"T3W1_pt_bitcoin-test_getaddress_segwit.py::test_show_segwit_altcoin": "37d1a9e8dda27b12e550fd5a44cafee58a175a9b56cfb9d8c7356e16b90420d5", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_bip86[m-86h-0h-0h-0-0-bc1p5cyxnuxmeuwuvkwfem-dc12f29f": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_bip86[m-86h-0h-0h-0-1-bc1p4qhjn9zdvkux4e44uh-1f521bf2": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_bip86[m-86h-0h-0h-1-0-bc1p3qkhfews2uk44qtvau-d8b57624": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_multisig_missing[False]": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_multisig_missing[True]": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_multisig_3": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-0-0-InputScr-6bc4ffc3": "167868a10cd1c72c6a6f6d8ed8507c3f8368222e97bca68143bb36d39096df26", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-0-0-InputScr-8943c1dc": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-1-0-InputScr-016718c1": "f9a5dc872d65031f315e8707ee4f120cf7509a86f8385e754795ab0c7c969027", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-84h-0h-0h-1-0-InputScr-7656a4db": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-0-0-InputScr-3d3cc8eb": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-0-0-InputScr-8571d5e0": "101db84130dda82a147dbc98e28cfbf2f7934e1b68aaecc11c81c12e0ed3e821", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-1-0-InputScr-ab700de2": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Bitcoin-m-86h-0h-0h-1-0-InputScr-da3803e0": "c5a58bb3704f518901fb7550e4231c9e2c4fe83a14b4fe1f0343bf6da0c9bdde", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Elements-m-84h-1h-0h-0-0-InputSc-490228be": "365d85b241d0a1037f57e8597552fefe72526fc7913097d0c6c19712fffce0ca", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Elements-m-84h-1h-0h-0-0-InputSc-ed587e90": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--40b95144": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--45b4ff5d": "e1b79c07f78822a28e4c269ca896790411328c2e348adcc139d17f05b2b1be0a", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--8f7c658b": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-84h-1h-0h--93c9c3ff": "b02afcc4ea7eee1195536acfd85b976667e0c8d76cee3a25b719c19f5a5b12df", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-86h-1h-0h--5feb8c64": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin Testnet-m-86h-1h-0h--8d4476a1": "16c0d7e3ea951b224257cc3196c8f675a150dffaca2b5bc8adeddaecbd4ccf29", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-0-0-Inp-0200a67b": "5d0e19ff6f6be2c403ef38e1d171a12a5a622c3f214e5a324d203887ce90cd91", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-0-0-Inp-e6c1098a": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-1-0-Inp-9688a507": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-84h-17h-0h-1-0-Inp-f825f217": "5aacf4ce6e5eb1a8ad6a96c9ba61be28f44c9568943855df0f61d11b25f8a216", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-86h-17h-0h-0-0-Inp-38cd93cf": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Groestlcoin-m-86h-17h-0h-0-0-Inp-ebecce6e": "4cbce8c4ede877a07c5218cb688edf67b1900e553aa377987c5760bc4be8d3a8", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-0-0-InputScr-313b9443": "3cb32e31064294921e89e029dcb0f9d4b9a5abfce192a3318885e95145404f0b", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-0-0-InputScr-ce15ec92": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-1-0-InputScr-040186c0": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-84h-1h-0h-1-0-InputScr-b10918be": "f03aa8a5a3f76a4cfc532a0ed08289a304bcac95d5032497485839f1089a0376", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-0-0-InputScr-55ae0ae6": "ec04857023c80e5363ce2fbbbfc921fe830fbdb5cc0735a989a0a9da422d66b6", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-0-0-InputScr-821a199d": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-1-0-InputScr-9d2fa8bc": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getaddress_segwit_native.py::test_show_segwit[Testnet-m-86h-1h-0h-1-0-InputScr-d5b7f8fc": "3e30b96d97dea5d686b95fa836e1dda92a6dd722145908a8935cab4420d3e51d", +"T3W1_pt_bitcoin-test_getaddress_show.py::test_show_cancel[m-44h-0h-12h-0-0-InputScriptType.SPENDADD-4eca71e0": "b88b8ec9d925c3156d8dd7a2258b4a6ee83c5599162518646a49515f062a003b", +"T3W1_pt_bitcoin-test_getaddress_show.py::test_show_cancel[m-49h-0h-12h-0-0-InputScriptType.SPENDP2S-4ec777e0": "32b9dfb39078acbec83678aa221269ea82e9879e9f62c130f9444c9b870b4f55", +"T3W1_pt_bitcoin-test_getaddress_show.py::test_show_cancel[m-84h-0h-12h-0-0-InputScriptType.SPENDWIT-d6991e22": "59e0c4c005fe072c3314cb425aa37f9c20e871b7e909681f80cd3d30bb814f21", +"T3W1_pt_bitcoin-test_getaddress_show.py::test_show_cancel[m-86h-0h-12h-0-0-InputScriptType.SPENDTAP-4c5b2b38": "13f19d6a2748a52a1d0622e6198af55ce22bd525379bfdc665ca7777c2be4a0f", +"T3W1_pt_bitcoin-test_getaddress_show.py::test_show_multisig_15": "d36c86e50eb763ef0255bacf6a58fee074ee8ca84523fa6cd0e94249706d980c", +"T3W1_pt_bitcoin-test_getaddress_show.py::test_show_multisig_3": "9ce106c3a184528829bde1b90ea113ef7f410ba7d70a41fcf0823cb28daaf2ee", +"T3W1_pt_bitcoin-test_getaddress_show.py::test_show_tt[m-44h-0h-12h-0-0-InputScriptType.SPENDADDRESS-5c88d0fd": "df9164329f4f1b961408955e74659788dcf11a707349f7833deb9bc275a3d92e", +"T3W1_pt_bitcoin-test_getaddress_show.py::test_show_tt[m-44h-0h-12h-0-0-InputScriptType.SPENDADDRESS-87490d4e": "7dd2fe05e2ee060af2d52ed72828efba5aa9be50fb196e84e0e43398eacb435d", +"T3W1_pt_bitcoin-test_getaddress_show.py::test_show_tt[m-49h-0h-12h-0-0-InputScriptType.SPENDP2SHWIT-9bc227c1": "fd8085e1cfc3235d5e5778dff28bbc695fe875a9437b026fc376a9e3ba14f1d3", +"T3W1_pt_bitcoin-test_getaddress_show.py::test_show_tt[m-49h-0h-12h-0-0-InputScriptType.SPENDP2SHWIT-aca0623f": "6048b1e0ed8a1f3eb8f96049a98086eca7723724c9cb736328d9f589d2918590", +"T3W1_pt_bitcoin-test_getaddress_show.py::test_show_tt[m-84h-0h-12h-0-0-InputScriptType.SPENDWITNESS-747c079d": "451e8939aea44df6945e73d7fa8d7fdb19866b15fff5fc66ed0215167f395c93", +"T3W1_pt_bitcoin-test_getaddress_show.py::test_show_tt[m-84h-0h-12h-0-0-InputScriptType.SPENDWITNESS-e4302080": "7e1f63020e2b2321fa9e248cb3f76a6149c265e4ca430649ca743b5ea2a3913e", +"T3W1_pt_bitcoin-test_getaddress_show.py::test_show_tt[m-86h-0h-12h-0-0-InputScriptType.SPENDTAPROOT-071a4a07": "fc039e778625b816ef080762327c5efc32581f3fb6b58a95138bc8e2db4ecade", +"T3W1_pt_bitcoin-test_getaddress_show.py::test_show_tt[m-86h-0h-12h-0-0-InputScriptType.SPENDTAPROOT-25ee9808": "6e51a62e9bf72e38fc99051607427c56139d2bc911a5564dd1ed2c29dc52368a", +"T3W1_pt_bitcoin-test_getaddress_show.py::test_show_unrecognized_path": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getownershipproof.py::test_attack_ownership_id": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getownershipproof.py::test_confirm_ownership_proof": "02bc3fe765f1a5e3123b5c544cb4784990a0178778901f94bb26d3d6c7cb4bcb", +"T3W1_pt_bitcoin-test_getownershipproof.py::test_confirm_ownership_proof_with_data": "02a12c2b5768c51ac56a1150a113578186ae3f6f3d30a13d1cba53db0ed3994e", +"T3W1_pt_bitcoin-test_getownershipproof.py::test_fake_ownership_id": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getownershipproof.py::test_p2tr_ownership_id": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getownershipproof.py::test_p2tr_ownership_proof": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getownershipproof.py::test_p2wpkh_ownership_id": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getownershipproof.py::test_p2wpkh_ownership_proof": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path0-xpub6BiVtCpG9fQPx-40a56ca3": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path1-xpub6BiVtCpG9fQQR-1abafc98": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path2-xpub6FVDRC1jiWNTu-47a67414": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path3-xpub6GhTNegKCjTqj-990e0830": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey.py::test_get_public_node[Bitcoin-76067358-path6-xpub68Zyu13qjcQvJ-8285bd20": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path10-Ltub2dcb6Nghj3k-53e5db37": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path7-Ltub2Y8PyEMWQVgi-d0bb059c": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path8-Ltub2Y8PyEMWQVgi-98ae2c41": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey.py::test_get_public_node[Litecoin-27108450-path9-Ltub2dTvwC4v7GNe-8d6d95fb": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey.py::test_get_public_node[Testnet-70617039-path4-tpubDDKn3FtHc74Ca-f3b70aff": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey.py::test_get_public_node[Testnet-70617039-path5-tpubDGwNSs8z8jZU2-8b5efa13": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path0-xpub6BiVtCpG-d791cce2": "7a0578de6d6633b437334faca727b4bea10652164dd45df6ffd759077c393b2b", +"T3W1_pt_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path1-xpub6BiVtCpG-74c78643": "97c34849aeac22e4293eb79c157f85e6a2ae4d261701f3f17a8308a2d0db07ca", +"T3W1_pt_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path2-xpub6FVDRC1j-3074f5a6": "2c1713f445a96e5c0b67896d522f6979598ef5796b052c19a47110ccc1df4582", +"T3W1_pt_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path3-xpub6GhTNegK-1b073ed9": "288b006be67fa9fe3f00f98ed2684a89b6b753d6d52f8d4ebf69a5054350fa3e", +"T3W1_pt_bitcoin-test_getpublickey.py::test_get_public_node_show[Bitcoin-76067358-path6-xpub68Zyu13q-eb190bf2": "0ba404e370c85794d5c4f1508c1647f2eac22c4bd6c8d95cb51cb92ba7a26532", +"T3W1_pt_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path10-Ltub2dcb6N-d2ef4e5a": "721fddae232af24d96464fcf47ed62e1b320f5ba193eac35d2860789c32e13b2", +"T3W1_pt_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path7-Ltub2Y8PyEM-b9a6bf56": "6229f83c14aee4a587dd0b0b18fe188d950199220c95c57b2c879342ca75a7cd", +"T3W1_pt_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path8-Ltub2Y8PyEM-d598ed84": "9289fff088a88d2ce015d8270eb4f71ef75729f06fa24a57538bcda14d32d8f1", +"T3W1_pt_bitcoin-test_getpublickey.py::test_get_public_node_show[Litecoin-27108450-path9-Ltub2dTvwC4-bfef8b2e": "81c87dba5132cabf3a01d9bab4d826809d1eb371c065800ffbff5d7d74c15ed8", +"T3W1_pt_bitcoin-test_getpublickey.py::test_get_public_node_show[Testnet-70617039-path4-tpubDDKn3FtH-5ca1cba5": "919fb98030ba79d5432767e4e01e665b150d20441c41b8ff2070e9c9d6c03855", +"T3W1_pt_bitcoin-test_getpublickey.py::test_get_public_node_show[Testnet-70617039-path5-tpubDGwNSs8z-60ca5612": "7155fc047581f1838104143b09f768cce1733d951a591e095748278163b94fde", +"T3W1_pt_bitcoin-test_getpublickey.py::test_invalid_path[Bcash-path5]": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey.py::test_invalid_path[Bitcoin-path0]": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey.py::test_invalid_path[Bitcoin-path2]": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey.py::test_invalid_path[Bitcoin-path3]": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey.py::test_invalid_path[Litecoin-path4]": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey.py::test_invalid_path[Testnet-path1]": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey.py::test_script_type[InputScriptType.SPENDADDRESS-xpub6BiVtCp7ozs-9813cc48": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey.py::test_script_type[InputScriptType.SPENDP2SHWITNESS-ypub6WYmBsV-0710fbb3": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey.py::test_script_type[InputScriptType.SPENDWITNESS-zpub6qP2VY9x7Mx-84eaa56c": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey.py::test_script_type[None-xpub6BiVtCp7ozsRo7kaoYNrCNAVJwPYTQHjoXF-c37a47fd": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey.py::test_slip25_path": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey_curve.py::test_coin_and_curve": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey_curve.py::test_ed25519_public": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey_curve.py::test_publickey_curve[ed25519-path4-002e28dc0346d6d30d4e-e6c7a440": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey_curve.py::test_publickey_curve[nist256p1-path2-0324c6860c25cdf7a8-d75f4900": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey_curve.py::test_publickey_curve[nist256p1-path3-03b93f7e6c777143ad-2d6b178b": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey_curve.py::test_publickey_curve[secp256k1-path0-02f65ce170451f66f4-9c982c22": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_getpublickey_curve.py::test_publickey_curve[secp256k1-path1-0212f4629f4f224db0-0209bb73": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_grs.py::test_legacy": "2eae456b3d81c43e8a3b1b72cb9ad6b83b97bcb2bfca1af8ff0e30d1ab530048", +"T3W1_pt_bitcoin-test_grs.py::test_legacy_change": "88f022cbefb5f27d696b9e92333d0e3dc00567acf0746f9d33fdc337d1af8838", +"T3W1_pt_bitcoin-test_grs.py::test_send_p2tr": "715a4870af09c88481a0afcd8a4ac093a1e6a0bd9f73e3431db5e639ac600c6d", +"T3W1_pt_bitcoin-test_grs.py::test_send_segwit_native": "a09d303d5ac489f50fd7ebe8de8c1db88e69d3018b3d0214101f8f9a76ed8d1f", +"T3W1_pt_bitcoin-test_grs.py::test_send_segwit_native_change": "8d530b556837484b8032c892ab0c491a2dc68c0a70ae2b8450fb0b2485d91b91", +"T3W1_pt_bitcoin-test_grs.py::test_send_segwit_p2sh": "704f4f53e3584f7437a4d011439fcd87ec686bd6ba39d642c7daa6cc1a12a0c0", +"T3W1_pt_bitcoin-test_grs.py::test_send_segwit_p2sh_change": "d3ef91da7a0020e7ba25c98609ecf6cfe54b35f9a20f1393bc3e0116451b9d69", +"T3W1_pt_bitcoin-test_komodo.py::test_one_one_fee_sapling": "eb26d74f9ca82405967662aa5b9d24bea42109abe02d2676f8d51291a3d5d055", +"T3W1_pt_bitcoin-test_komodo.py::test_one_one_rewards_claim": "b651084af8389d20a5c4678a84d62003c22d6c471b742a674487ba9af2a67720", +"T3W1_pt_bitcoin-test_multisig.py::test_15_of_15": "d93a0fdd2cf69f1d3866a0534f80bcbb1f885d39e018a3adc91682085f587399", +"T3W1_pt_bitcoin-test_multisig.py::test_2_of_3[False]": "738a908b65646ef604864172ed024f3b3bb5cdbcb97943272ea35630306fccff", +"T3W1_pt_bitcoin-test_multisig.py::test_2_of_3[True]": "b91b626ceaa52ee99ea8d38f403f74de79eb99bd5ea82dabe57bf6c468c2c1c3", +"T3W1_pt_bitcoin-test_multisig.py::test_attack_change_input": "7254f09f37ee22f5f28726e0e2384e33b6f309e5283556ade6aa586591f13f5e", +"T3W1_pt_bitcoin-test_multisig.py::test_missing_pubkey": "b0f076096d2cfef4c8880f6285ac9e2a59e1208af1d9470e5d27bf4bec788d05", +"T3W1_pt_bitcoin-test_multisig.py::test_pubkeys_order": "12318ef67c1568a2e0bfbbe3eef8bde43c77a6745b06297c44d3ea5a654cbb18", +"T3W1_pt_bitcoin-test_multisig_change.py::test_external_external": "67248636e5b4b473edcc7b12a59a1cdc060ba85bbd1ecbe480943c702b0381ea", +"T3W1_pt_bitcoin-test_multisig_change.py::test_external_internal": "9902577adf496df312cf32bc3fc445d2a5afecaa8052ee36ece4fcee285011ff", +"T3W1_pt_bitcoin-test_multisig_change.py::test_internal_external": "21bc5ec6fea633bb9308e9ad38f496cfa5b7be3c6aa43bf5a972ae91f66a9c0f", +"T3W1_pt_bitcoin-test_multisig_change.py::test_multisig_change_match_first": "9455ea013f412cb9417e5eb52704d01883efe7edb8d28962702c332614a7538e", +"T3W1_pt_bitcoin-test_multisig_change.py::test_multisig_change_match_second": "fdcb7c9f3fa305907e2bf462b2820b139e140b465a693a8cca8e0c5b9a055055", +"T3W1_pt_bitcoin-test_multisig_change.py::test_multisig_external_external": "facf2b4014cee4e10b1dd3457cb86f7668080964e0b67573520dd5c1d1cc0118", +"T3W1_pt_bitcoin-test_multisig_change.py::test_multisig_mismatch_inputs": "24d148fc7c5f9193396207f3956781e97bc1fd76fe82739fd3e84443526503cc", +"T3W1_pt_bitcoin-test_multisig_change.py::test_multisig_mismatch_multisig_change": "1f472fd887c28d229def9263ac54e9d3d493bf63f8a0edbf8959f8c89c872b41", +"T3W1_pt_bitcoin-test_multisig_change.py::test_multisig_mismatch_multisig_change_different_paths": "ec150147a9b3b549c8f1da2a2474697f91e05fc9dcbafefa3e35d9af2db11105", +"T3W1_pt_bitcoin-test_multisig_change.py::test_sorted_multisig_change_match_first": "9455ea013f412cb9417e5eb52704d01883efe7edb8d28962702c332614a7538e", +"T3W1_pt_bitcoin-test_multisig_change.py::test_sorted_multisig_mismatch_inputs": "79898dee958f00271239ae947209d86cfb971304af68ee08df106b0988432996", +"T3W1_pt_bitcoin-test_multisig_change.py::test_sorted_multisig_mismatch_multisig_change": "d5194cc7bfef860451fcc154809d94cab41e1b42ad0df3cdf9c13281c666b669", +"T3W1_pt_bitcoin-test_op_return.py::test_nonzero_opreturn": "b0f076096d2cfef4c8880f6285ac9e2a59e1208af1d9470e5d27bf4bec788d05", +"T3W1_pt_bitcoin-test_op_return.py::test_opreturn": "fdd6642427f7bbc3bda188d8873740dffee492e820447f644c94e28418dc5ca0", +"T3W1_pt_bitcoin-test_op_return.py::test_opreturn_address": "b0f076096d2cfef4c8880f6285ac9e2a59e1208af1d9470e5d27bf4bec788d05", +"T3W1_pt_bitcoin-test_peercoin.py::test_timestamp_included": "b063571f5e7ce6d6728b0a2ccfa248f4433bfcb69e67e05ffae352aa44f3363d", +"T3W1_pt_bitcoin-test_peercoin.py::test_timestamp_missing": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_peercoin.py::test_timestamp_missing_prevtx": "673107e1e1167ad13f155b4ba6f1d5022567b406dd8ac3c770b2bddcb9f5f4a2", +"T3W1_pt_bitcoin-test_signtx.py::test_attack_change_input_address": "505c97c56356cdfc029c6741fd8b1b4868ed9e48b927b6a692426ee964374dae", +"T3W1_pt_bitcoin-test_signtx.py::test_attack_change_outputs": "48d2d8be15a3434247a41911485e8cdae823165d5fcb791ba18a6936109b7132", +"T3W1_pt_bitcoin-test_signtx.py::test_attack_modify_change_address": "c8604a7812a810e3111bae33074237d6a8b84c01021c780ac8c74f06e414ebc0", +"T3W1_pt_bitcoin-test_signtx.py::test_change_on_main_chain_allowed": "c8604a7812a810e3111bae33074237d6a8b84c01021c780ac8c74f06e414ebc0", +"T3W1_pt_bitcoin-test_signtx.py::test_fee_high_hardfail": "b7a907d6a38000c0d9d9a27ebd684d4cbc59da58243a5894f4c8018616d812d5", +"T3W1_pt_bitcoin-test_signtx.py::test_fee_high_warning": "ab24b12ecd0a6fdb32e1e3148116450aaa611bcefbdb5b27634dd94c5a17d6fc", +"T3W1_pt_bitcoin-test_signtx.py::test_incorrect_input_script_type[InputScriptType.EXTERNAL]": "b0f076096d2cfef4c8880f6285ac9e2a59e1208af1d9470e5d27bf4bec788d05", +"T3W1_pt_bitcoin-test_signtx.py::test_incorrect_input_script_type[InputScriptType.SPENDADDRESS]": "b0f076096d2cfef4c8880f6285ac9e2a59e1208af1d9470e5d27bf4bec788d05", +"T3W1_pt_bitcoin-test_signtx.py::test_incorrect_output_script_type[OutputScriptType.PAYTOADDRESS]": "b0f076096d2cfef4c8880f6285ac9e2a59e1208af1d9470e5d27bf4bec788d05", +"T3W1_pt_bitcoin-test_signtx.py::test_incorrect_output_script_type[OutputScriptType.PAYTOSCRIPTHASH]": "b0f076096d2cfef4c8880f6285ac9e2a59e1208af1d9470e5d27bf4bec788d05", +"T3W1_pt_bitcoin-test_signtx.py::test_information": "057ac800c34838c02b26d16b05be2b59221f3ada90f7e2a015338f71a8d61b53", +"T3W1_pt_bitcoin-test_signtx.py::test_information_cancel": "4a1c42d2b2aba7e9c6aaf35a88258e4be5ce2e8c20e8f4e57b1b1c0d592bc6f5", +"T3W1_pt_bitcoin-test_signtx.py::test_information_mixed": "b8fb101da8cc39764846975bdb07bdbd4ec6540de0afab43735e516c66831388", +"T3W1_pt_bitcoin-test_signtx.py::test_lock_time[1-4294967295]": "663f4ad5d962a25b87d8a29e7154aa8a9dbe75a259e7a97078a1b8f1dab2cb8c", +"T3W1_pt_bitcoin-test_signtx.py::test_lock_time[499999999-4294967294]": "eac1a18fde8413a0b152ae968c3f4d2671688924061847007acc9c5c5060178f", +"T3W1_pt_bitcoin-test_signtx.py::test_lock_time[500000000-4294967294]": "b589c9e5fcdb2e976e8e2342be62731c1c6e4b48f9400f76b30dd3a1d0ab81c8", +"T3W1_pt_bitcoin-test_signtx.py::test_lock_time_blockheight": "302a682df5a90f48f2fb6d66fbdb75dc7b0c6c8d0fb69f77548186dacabd83f1", +"T3W1_pt_bitcoin-test_signtx.py::test_lock_time_datetime[1985-11-05 00:53:20]": "6770eb7da02ab7c713ccbaab8e86a02962985939d27ae51f36609ad01b9bdf9e", +"T3W1_pt_bitcoin-test_signtx.py::test_lock_time_datetime[2048-08-16 22:14:00]": "e15d395d6dd2f440de63214833efa712082d5abf3d2972ffab63c4d28a76b9d9", +"T3W1_pt_bitcoin-test_signtx.py::test_lots_of_change": "68b46a22d263c51126f238ee4b4107bcadaade40436967b5b05b8de5319ca025", +"T3W1_pt_bitcoin-test_signtx.py::test_lots_of_inputs": "ae3ecb64b6c63377119e7942d1a0755299d55664f3d9746602cc373fd5f186bf", +"T3W1_pt_bitcoin-test_signtx.py::test_lots_of_outputs": "870d8764363cd0828d2d471fa3de7c5396afc5003c53a3df33ec96b0848fc964", +"T3W1_pt_bitcoin-test_signtx.py::test_not_enough_funds": "55601b27d71980a5c8d50d1f4d3d77780fdd167e4e35cffb4f6b98532fe1ab3e", +"T3W1_pt_bitcoin-test_signtx.py::test_not_enough_vouts": "e1b7b368358d085e8c3e1928bb75017c47cb2bff7960d6224d0fccd9635a2cf7", +"T3W1_pt_bitcoin-test_signtx.py::test_one_one_fee": "d307ba8fbecd01d65c2be2e04ee288c02f1221a50182500ad7f91a390c3c9c49", +"T3W1_pt_bitcoin-test_signtx.py::test_one_three_fee[False]": "676fff8837648bdc6ef43282c3bf36899f681cdd8631a4372fd7ae61723ac9c4", +"T3W1_pt_bitcoin-test_signtx.py::test_one_three_fee[True]": "70794479240464417f5ee1a473d8da9f4eb1bbbec9283216c372c683f73949d4", +"T3W1_pt_bitcoin-test_signtx.py::test_one_two_fee": "e1e97e3dcb41b07fd09276ebbf969c728019750a4aa641578725c5e161fe9623", +"T3W1_pt_bitcoin-test_signtx.py::test_p2sh": "13f79fa023c104df8c9b7da8005ca4e5560552ee3441556a1b31ae5e9afe903c", +"T3W1_pt_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[branch_id-13]": "6b3551817a5b5ce999ea57594e37e41d585da17e11b2a6fac45c1f8c98c20a08", +"T3W1_pt_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[expiry-9]": "6b3551817a5b5ce999ea57594e37e41d585da17e11b2a6fac45c1f8c98c20a08", +"T3W1_pt_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[extra_data-hello world]": "6b3551817a5b5ce999ea57594e37e41d585da17e11b2a6fac45c1f8c98c20a08", +"T3W1_pt_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[timestamp-42]": "6b3551817a5b5ce999ea57594e37e41d585da17e11b2a6fac45c1f8c98c20a08", +"T3W1_pt_bitcoin-test_signtx.py::test_prevtx_forbidden_fields[version_group_id-69]": "6b3551817a5b5ce999ea57594e37e41d585da17e11b2a6fac45c1f8c98c20a08", +"T3W1_pt_bitcoin-test_signtx.py::test_signtx_forbidden_fields[branch_id-13]": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_signtx.py::test_signtx_forbidden_fields[expiry-9]": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_signtx.py::test_signtx_forbidden_fields[timestamp-42]": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_signtx.py::test_signtx_forbidden_fields[version_group_id-69]": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_signtx.py::test_spend_coinbase": "eb26a53a49b092fd820f5ffc9224d8fd4c79efeba49724bfbb0b5d700df78592", +"T3W1_pt_bitcoin-test_signtx.py::test_testnet_big_amount": "eb2bb231c657b7167b31a6b293f50cdbf6f134a4dc1da08ccd53d3314bd3213f", +"T3W1_pt_bitcoin-test_signtx.py::test_testnet_fee_high_warning": "1a509ec83b29228ef7e64b5836d6b2fadb09979fe12d4c22ca329ad0f089a268", +"T3W1_pt_bitcoin-test_signtx.py::test_testnet_one_two_fee": "c8604a7812a810e3111bae33074237d6a8b84c01021c780ac8c74f06e414ebc0", +"T3W1_pt_bitcoin-test_signtx.py::test_two_changes": "74f9510a3c385c1ef15bab811c10de0c6796f21f869d2d02616135d0eaf76a8a", +"T3W1_pt_bitcoin-test_signtx.py::test_two_two": "9058ffd3e323f9a85007c6185bba990fdd509ebcb7f2aad8c2350b1085d68f34", +"T3W1_pt_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.BITCOIN]": "d307ba8fbecd01d65c2be2e04ee288c02f1221a50182500ad7f91a390c3c9c49", +"T3W1_pt_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.MICROBITCOIN]": "bd148856f3583c0f6f1388c575b847da401f5f5a3203b18cea1be26a2c60b14a", +"T3W1_pt_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.MILLIBITCOIN]": "53a98faefbc83ee4b3d48797090645898e21f5af065853f3a6c9ce7575c4291a", +"T3W1_pt_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[AmountUnit.SATOSHI]": "37cd55b234854c1f1571cd65b2dfde6c08b24d3315518bf4573f5fc8ed646dc7", +"T3W1_pt_bitcoin-test_signtx_amount_unit.py::test_signtx_btc[None]": "d307ba8fbecd01d65c2be2e04ee288c02f1221a50182500ad7f91a390c3c9c49", +"T3W1_pt_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.BITCOIN]": "5cf8656781cae68f278c2e56a514ccd1c4d4d5bd23c24b4195264ceb4c968ba0", +"T3W1_pt_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.MICROBITCOIN]": "6a498fd2285a3b3af26190122d5f671baff79307b3c3c1c9f07e57a229af411f", +"T3W1_pt_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.MILLIBITCOIN]": "77cdff23d9c070d72402c763b9dd31734ba710ac2a2ec6f824cbbccf305cfc79", +"T3W1_pt_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[AmountUnit.SATOSHI]": "eed569c46c197ce36fa02d6cc2b4688290b1f211890d53a36875afe39bdb2af9", +"T3W1_pt_bitcoin-test_signtx_amount_unit.py::test_signtx_testnet[None]": "5cf8656781cae68f278c2e56a514ccd1c4d4d5bd23c24b4195264ceb4c968ba0", +"T3W1_pt_bitcoin-test_signtx_external.py::test_p2pkh_presigned": "878ec075fac9e813ad94c63c99b7ce9aeba2651c433fb88bfd5b65c73c587933", +"T3W1_pt_bitcoin-test_signtx_external.py::test_p2pkh_with_proof": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_signtx_external.py::test_p2tr_external_presigned": "c91c91398890575597d35fdde8bd46a463533f2057d26f5d787a1b2bb7a1c4df", +"T3W1_pt_bitcoin-test_signtx_external.py::test_p2tr_external_unverified": "a8a4b99d9251a816c7d3ec3e0d586c7bd10333d11c018e3200b0d20cb233b5aa", +"T3W1_pt_bitcoin-test_signtx_external.py::test_p2tr_with_proof": "abbcf13650fd004088d5b901153a23c154782e5187d3243edb2367463eb0e5d6", +"T3W1_pt_bitcoin-test_signtx_external.py::test_p2wpkh_external_unverified": "1061af1b6bf971a90706db258258fc0d88f0b06341854a0d2ba9f66b4bab7615", +"T3W1_pt_bitcoin-test_signtx_external.py::test_p2wpkh_in_p2sh_presigned": "dd9927782b6db441910ccdf0629ef85cf79f62da738c664e16dd7fb99282e32e", +"T3W1_pt_bitcoin-test_signtx_external.py::test_p2wpkh_in_p2sh_with_proof": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_signtx_external.py::test_p2wpkh_presigned": "a838aba7695b3c809fe56150dc92ec6d309570d5e22c64b23d7d8956945a2a73", +"T3W1_pt_bitcoin-test_signtx_external.py::test_p2wpkh_with_false_proof": "b0f076096d2cfef4c8880f6285ac9e2a59e1208af1d9470e5d27bf4bec788d05", +"T3W1_pt_bitcoin-test_signtx_external.py::test_p2wpkh_with_proof": "804e699aafe1be950c31b122eecb9467490bae798edf83f9eed940f599973f97", +"T3W1_pt_bitcoin-test_signtx_external.py::test_p2wsh_external_presigned": "5bc70cdeb142b7e7e2347d056a4344a0edd9d2b194d0ea7f090edc6fb4a58048", +"T3W1_pt_bitcoin-test_signtx_invalid_path.py::test_attack_path_segwit": "749c32ba4e82eb9a3f3dc032ef0f1a0d2e63f39b39ad153923be6731c9df9bad", +"T3W1_pt_bitcoin-test_signtx_invalid_path.py::test_invalid_path_fail": "b0f076096d2cfef4c8880f6285ac9e2a59e1208af1d9470e5d27bf4bec788d05", +"T3W1_pt_bitcoin-test_signtx_invalid_path.py::test_invalid_path_fail_asap": "b0f076096d2cfef4c8880f6285ac9e2a59e1208af1d9470e5d27bf4bec788d05", +"T3W1_pt_bitcoin-test_signtx_invalid_path.py::test_invalid_path_pass_forkid": "87451c8b9dd5399f1394e24f3399e09cd3a36689763951eb12f5c919b0ccdcbf", +"T3W1_pt_bitcoin-test_signtx_invalid_path.py::test_invalid_path_prompt": "1b808d4eca1d95fcab566fb1bca9fad2649ee3330be825c1fb23b6bf41100dfc", +"T3W1_pt_bitcoin-test_signtx_mixed_inputs.py::test_non_segwit_segwit_inputs": "d871371ba8c924f8c3c7d0313551875cf471ccaec801772b0fa5b36e300165e7", +"T3W1_pt_bitcoin-test_signtx_mixed_inputs.py::test_non_segwit_segwit_non_segwit_inputs": "84df7a806de849063aa296b2ec2c03bbaaa2dafa0bfa5260e204fca62a395b7d", +"T3W1_pt_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_inputs": "d871371ba8c924f8c3c7d0313551875cf471ccaec801772b0fa5b36e300165e7", +"T3W1_pt_bitcoin-test_signtx_mixed_inputs.py::test_segwit_non_segwit_segwit_inputs": "84df7a806de849063aa296b2ec2c03bbaaa2dafa0bfa5260e204fca62a395b7d", +"T3W1_pt_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[]": "b0f076096d2cfef4c8880f6285ac9e2a59e1208af1d9470e5d27bf4bec788d05", +"T3W1_pt_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[hello world]": "b0f076096d2cfef4c8880f6285ac9e2a59e1208af1d9470e5d27bf4bec788d05", +"T3W1_pt_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[x]": "b0f076096d2cfef4c8880f6285ac9e2a59e1208af1d9470e5d27bf4bec788d05", +"T3W1_pt_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "b0f076096d2cfef4c8880f6285ac9e2a59e1208af1d9470e5d27bf4bec788d05", +"T3W1_pt_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[]": "9e9b2ae5bf646d054838cfd4822bcbe3430631b1df7656257866ed890a695b8a", +"T3W1_pt_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[hello world]": "9e9b2ae5bf646d054838cfd4822bcbe3430631b1df7656257866ed890a695b8a", +"T3W1_pt_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[x]": "9e9b2ae5bf646d054838cfd4822bcbe3430631b1df7656257866ed890a695b8a", +"T3W1_pt_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_attack[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "9e9b2ae5bf646d054838cfd4822bcbe3430631b1df7656257866ed890a695b8a", +"T3W1_pt_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[]": "6def9fc9ab5f12b0c34a1f0c724dd67718830493ea293770ff8259cb8a24c165", +"T3W1_pt_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[hello world]": "6def9fc9ab5f12b0c34a1f0c724dd67718830493ea293770ff8259cb8a24c165", +"T3W1_pt_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[x]": "6def9fc9ab5f12b0c34a1f0c724dd67718830493ea293770ff8259cb8a24c165", +"T3W1_pt_bitcoin-test_signtx_prevhash.py::test_invalid_prev_hash_in_prevtx[xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]": "6def9fc9ab5f12b0c34a1f0c724dd67718830493ea293770ff8259cb8a24c165", +"T3W1_pt_bitcoin-test_signtx_segwit.py::test_attack_change_input_address": "d4a7dfb72aaa3321c3ea1cd5ba36a3b91c4bedd0b30bba6d1853585c02826dee", +"T3W1_pt_bitcoin-test_signtx_segwit.py::test_attack_mixed_inputs": "29eb85c8d9d983456825d5de8f71f7b5417ffcdb9005047b0c726117092c5ce2", +"T3W1_pt_bitcoin-test_signtx_segwit.py::test_send_multisig_1": "0e938729a45a58d96bc86a1c92df298cfd18cca25966fb29e4562af33e6ee285", +"T3W1_pt_bitcoin-test_signtx_segwit.py::test_send_p2sh[False]": "d96d61c01b56c7bb847a59b593b43e5b0db567c55e5dc37ad4b2dbff77d4255e", +"T3W1_pt_bitcoin-test_signtx_segwit.py::test_send_p2sh[True]": "48a69bbe8a230104e247f945d10ff454ab8f323d11bf82d512ab86762d0552a0", +"T3W1_pt_bitcoin-test_signtx_segwit.py::test_send_p2sh_change": "e31f01a25bd05e2f9ed8c52c20afc6114bdd64930932a9b597820e9e6a848947", +"T3W1_pt_bitcoin-test_signtx_segwit.py::test_testnet_segwit_big_amount": "5b768f3832bf707e9127079420b41197bba97f4544028f825b0e506cd29181a1", +"T3W1_pt_bitcoin-test_signtx_segwit_native.py::test_multisig_mismatch_inputs_single": "c2f1aefa1b3c4634d105c57b6e1cff791e3c3f32956827c706e15be45f7bd5a3", +"T3W1_pt_bitcoin-test_signtx_segwit_native.py::test_send_both": "7a6b6cf14b9a659c3824e7bd65bf8b7bc9ef2b9baeb4bd97f4d9a93646c62629", +"T3W1_pt_bitcoin-test_signtx_segwit_native.py::test_send_multisig_1": "97980b08f7c16aa4fc5a2423830922dd2b777b1a2268edca567ddc8bc4371117", +"T3W1_pt_bitcoin-test_signtx_segwit_native.py::test_send_multisig_2": "bf78dc0e1c1d0ca2c9d644dd469938d467ef53cb3aacc9ef80e107521c25a523", +"T3W1_pt_bitcoin-test_signtx_segwit_native.py::test_send_multisig_3_change": "9277fcb699e7e1ad3d02b8291548b007aa3ffdd6ebc5022ddb9d4decae6745bc", +"T3W1_pt_bitcoin-test_signtx_segwit_native.py::test_send_multisig_4_change": "11fd16e274b16b7d4d9a73c556a11508a97517c47557c0302b8fcc432cc87d81", +"T3W1_pt_bitcoin-test_signtx_segwit_native.py::test_send_native": "5cf8656781cae68f278c2e56a514ccd1c4d4d5bd23c24b4195264ceb4c968ba0", +"T3W1_pt_bitcoin-test_signtx_segwit_native.py::test_send_native_change": "71643fe660bdd3191a98bbf9f6134f6afe5a29d4d3b6085d9cfec41cacf2cef2", +"T3W1_pt_bitcoin-test_signtx_segwit_native.py::test_send_p2sh": "f531063399333a85578c50477e879e12b7c379e296c668a60d4aae8a40b8ecf0", +"T3W1_pt_bitcoin-test_signtx_segwit_native.py::test_send_p2sh_change": "1741eed7894af7d29bad1afc94e9ad22c668dd8a6d4fa17a88480cd7a11f4ce4", +"T3W1_pt_bitcoin-test_signtx_segwit_native.py::test_send_to_taproot": "ac7251f08d59c50ca626a11e267618c29909668be40547e5ffa0c2e8aa044065", +"T3W1_pt_bitcoin-test_signtx_taproot.py::test_attack_script_type": "a666e2df2fd1109c376a469d42f2bc8ced7ca56f487b2d6d23b980416ebfb1b0", +"T3W1_pt_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1pam775nxmvam4pfpqlm5q06k0y84e3-a257be51": "b0f076096d2cfef4c8880f6285ac9e2a59e1208af1d9470e5d27bf4bec788d05", +"T3W1_pt_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1plllllllllllllllllllllllllllll-aaa668e3": "b0f076096d2cfef4c8880f6285ac9e2a59e1208af1d9470e5d27bf4bec788d05", +"T3W1_pt_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1plycg5qvjtrp3qjf5f7zl382j9x6nr-5447628e": "b0f076096d2cfef4c8880f6285ac9e2a59e1208af1d9470e5d27bf4bec788d05", +"T3W1_pt_bitcoin-test_signtx_taproot.py::test_send_invalid_address[tb1zlycg5qvjtrp3qjf5f7zl382j9x6nr-880d4a6b": "b0f076096d2cfef4c8880f6285ac9e2a59e1208af1d9470e5d27bf4bec788d05", +"T3W1_pt_bitcoin-test_signtx_taproot.py::test_send_mixed": "40e3bb22110131b8f0342b07958a49d6d3f22960166aa5e3ff785f162b7f77f4", +"T3W1_pt_bitcoin-test_signtx_taproot.py::test_send_p2tr[False]": "4526bb95023baf9b56470b7e799ad32ea3967e096e505ee76b2160b7665a0169", +"T3W1_pt_bitcoin-test_signtx_taproot.py::test_send_p2tr[True]": "9becd3e82f647752f0d17513c7828dba42f92c7863c640bb145015b0e045deb9", +"T3W1_pt_bitcoin-test_signtx_taproot.py::test_send_two_with_change": "cb3e1a3929f1ddbdb21deab7e2b0c2a461b8842d9e7f934832e452c7e0cb5ac0", +"T3W1_pt_bitcoin-test_zcash.py::test_external_presigned": "8bc09d620ff4e758730dd405990a71f3507f6a78b416ccd604213a9180aedf31", +"T3W1_pt_bitcoin-test_zcash.py::test_one_one_fee_sapling": "b1684dfa284f1c9aa0c6f4d4cabb6b9aa23b90886b652ab6898515251b203786", +"T3W1_pt_bitcoin-test_zcash.py::test_spend_old_versions": "a091c0a50946fdb2821298f330fd146a8a2d3925ef376b63356ec7c9d33801d7", +"T3W1_pt_bitcoin-test_zcash.py::test_v3_not_supported": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_bitcoin-test_zcash.py::test_version_group_id_missing": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_misc-test_msg_cipherkeyvalue.py::test_decrypt": "e75315542cf13fc17c67204744a17cece09eabccce23497f4c4028b0b3095456", +"T3W1_pt_misc-test_msg_cipherkeyvalue.py::test_decrypt_badlen": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_misc-test_msg_cipherkeyvalue.py::test_encrypt": "79f550cfc86446b05a0163939bba3698ae9fe229e33b2fc7336e9599e1dad2b7", +"T3W1_pt_misc-test_msg_cipherkeyvalue.py::test_encrypt_badlen": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_misc-test_msg_enablelabeling.py::test_encrypt": "d5d65640808adcea0ff8591f46b027cc08699b0d1746c0723738d067a154a77a", +"T3W1_pt_misc-test_msg_getecdhsessionkey.py::test_ecdh": "43333b37f2a5bd46da9650f53ce31c7bb19c4d67bfd4d83c57c341d8cf56920d", +"T3W1_pt_misc-test_msg_getentropy.py::test_entropy[128]": "565f74a45ab98c115db3b05f73d53c6d3a6f8b59a4b204d75a95f575d3ed1f32", +"T3W1_pt_misc-test_msg_getentropy.py::test_entropy[129]": "565f74a45ab98c115db3b05f73d53c6d3a6f8b59a4b204d75a95f575d3ed1f32", +"T3W1_pt_misc-test_msg_getentropy.py::test_entropy[16]": "565f74a45ab98c115db3b05f73d53c6d3a6f8b59a4b204d75a95f575d3ed1f32", +"T3W1_pt_misc-test_msg_getentropy.py::test_entropy[17]": "565f74a45ab98c115db3b05f73d53c6d3a6f8b59a4b204d75a95f575d3ed1f32", +"T3W1_pt_misc-test_msg_getentropy.py::test_entropy[1]": "565f74a45ab98c115db3b05f73d53c6d3a6f8b59a4b204d75a95f575d3ed1f32", +"T3W1_pt_misc-test_msg_getentropy.py::test_entropy[256]": "565f74a45ab98c115db3b05f73d53c6d3a6f8b59a4b204d75a95f575d3ed1f32", +"T3W1_pt_misc-test_msg_getentropy.py::test_entropy[257]": "565f74a45ab98c115db3b05f73d53c6d3a6f8b59a4b204d75a95f575d3ed1f32", +"T3W1_pt_misc-test_msg_getentropy.py::test_entropy[2_0]": "565f74a45ab98c115db3b05f73d53c6d3a6f8b59a4b204d75a95f575d3ed1f32", +"T3W1_pt_misc-test_msg_getentropy.py::test_entropy[2_1]": "565f74a45ab98c115db3b05f73d53c6d3a6f8b59a4b204d75a95f575d3ed1f32", +"T3W1_pt_misc-test_msg_getentropy.py::test_entropy[32]": "565f74a45ab98c115db3b05f73d53c6d3a6f8b59a4b204d75a95f575d3ed1f32", +"T3W1_pt_misc-test_msg_getentropy.py::test_entropy[33]": "565f74a45ab98c115db3b05f73d53c6d3a6f8b59a4b204d75a95f575d3ed1f32", +"T3W1_pt_misc-test_msg_getentropy.py::test_entropy[3]": "565f74a45ab98c115db3b05f73d53c6d3a6f8b59a4b204d75a95f575d3ed1f32", +"T3W1_pt_misc-test_msg_getentropy.py::test_entropy[4]": "565f74a45ab98c115db3b05f73d53c6d3a6f8b59a4b204d75a95f575d3ed1f32", +"T3W1_pt_misc-test_msg_getentropy.py::test_entropy[512]": "565f74a45ab98c115db3b05f73d53c6d3a6f8b59a4b204d75a95f575d3ed1f32", +"T3W1_pt_misc-test_msg_getentropy.py::test_entropy[513]": "565f74a45ab98c115db3b05f73d53c6d3a6f8b59a4b204d75a95f575d3ed1f32", +"T3W1_pt_misc-test_msg_getentropy.py::test_entropy[5]": "565f74a45ab98c115db3b05f73d53c6d3a6f8b59a4b204d75a95f575d3ed1f32", +"T3W1_pt_misc-test_msg_getentropy.py::test_entropy[64]": "565f74a45ab98c115db3b05f73d53c6d3a6f8b59a4b204d75a95f575d3ed1f32", +"T3W1_pt_misc-test_msg_getentropy.py::test_entropy[65]": "565f74a45ab98c115db3b05f73d53c6d3a6f8b59a4b204d75a95f575d3ed1f32", +"T3W1_pt_misc-test_msg_getentropy.py::test_entropy[8]": "565f74a45ab98c115db3b05f73d53c6d3a6f8b59a4b204d75a95f575d3ed1f32", +"T3W1_pt_misc-test_msg_getentropy.py::test_entropy[9]": "565f74a45ab98c115db3b05f73d53c6d3a6f8b59a4b204d75a95f575d3ed1f32", +"T3W1_pt_misc-test_msg_signidentity.py::test_sign": "0f8aae207a3b65466837b4f5772233b135f8fea90e43cce4b86ecc22841f834a", +"T3W1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[label-test]": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[passphrase_protection-True]": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[pin_protection-True]": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_bad_parameters[u2f_counter-1]": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_dry_run": "3c6d39c09c48a51701e733386b207d6219fbb6dc44b9a15455d3808e1c21e17b", +"T3W1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_invalid_seed_core": "79115dfbe9291b15a46d7eb4324c6c98916ba7421073058212392e6d3f569aed", +"T3W1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_seed_mismatch": "ea00fbb9c4baed36fb89bc5c54dc0bba5c125f4bf74bcdaf3e4acd1a9f497800", +"T3W1_pt_reset_recovery-test_recovery_bip39_dryrun.py::test_uninitialized": "cf811531e33f6b24e1a1dfeb36e01a38186993b60394f891d8195b23b199621f", +"T3W1_pt_reset_recovery-test_recovery_bip39_t2.py::test_already_initialized": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_reset_recovery-test_recovery_bip39_t2.py::test_tt_nopin_nopassphrase": "0290805d2451d1c46423bd432fcfad3d0157396a55741861dbba3915cccdcbb2", +"T3W1_pt_reset_recovery-test_recovery_bip39_t2.py::test_tt_pin_passphrase": "869cf329c704b844a20d1ba11dc47724a9eb3033762ac92dce15df632a65a836", +"T3W1_pt_reset_recovery-test_recovery_slip39_advanced.py::test_abort": "c793619e2459dfb1f6d56afee1fbc61aea9de278b5cf571ba1435d276297efb2", +"T3W1_pt_reset_recovery-test_recovery_slip39_advanced.py::test_extra_share_entered": "1cc2450498e6ad15f9f3ac88dc75a471e245a5d67203fbfedf714a437724b9c9", +"T3W1_pt_reset_recovery-test_recovery_slip39_advanced.py::test_group_threshold_reached": "58424e2aee975f6bf8be74ae2d3015569c6f9dbed5da38aa27755c73e4bf811f", +"T3W1_pt_reset_recovery-test_recovery_slip39_advanced.py::test_noabort": "4091857c6540d73f80c967dbfd6bebc5717e4921ba737709c61d2d35983a5fe8", +"T3W1_pt_reset_recovery-test_recovery_slip39_advanced.py::test_same_share": "9f27eb8be978439d42de8efe653f656143f6bd37b2422b39c348dc56a69245a0", +"T3W1_pt_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares0-c2d2e26ad06023c60145f1-afc2dad5": "e1eec43bec9440b71c7f833b4602ca8418f8cb54eecdb2af19a967e61846b663", +"T3W1_pt_reset_recovery-test_recovery_slip39_advanced.py::test_secret[shares1-c41d5cf80fed71a008a3a0-eb47093e": "7f5b92ab19a7d070e93a5cad1d921625d5205aea56b1205347a4c3351dce6985", +"T3W1_pt_reset_recovery-test_recovery_slip39_advanced.py::test_secret_click_info_button[shares0-c2d2-850ffa77": "cabc945eadaff9cc605941048901ab0fe11fe73ab2f7b0e9bde08758d149df38", +"T3W1_pt_reset_recovery-test_recovery_slip39_advanced.py::test_secret_click_info_button[shares1-c41d-ca9ddec8": "749dd7d25eccce274c74f8f11e61841936784439857302ca68bd3c89d32e208a", +"T3W1_pt_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_dryrun": "522b6712e9663cab2c4d50cbcb77649a2e80c7aae49b002c2ae0dbce3fdfa600", +"T3W1_pt_reset_recovery-test_recovery_slip39_advanced_dryrun.py::test_2of3_invalid_seed_dryrun": "b245a3906f2947357bab135e15aae4fb58a519a2a236b67506d5acc5c20b0c78", +"T3W1_pt_reset_recovery-test_recovery_slip39_basic.py::test_1of1": "cb50852d977f3ee24a4b70e4de1ed3d5aaf614c91fb9cbe8b8a4083cb4cb70d2", +"T3W1_pt_reset_recovery-test_recovery_slip39_basic.py::test_abort": "c793619e2459dfb1f6d56afee1fbc61aea9de278b5cf571ba1435d276297efb2", +"T3W1_pt_reset_recovery-test_recovery_slip39_basic.py::test_abort_between_shares": "2271be085f2ef73c25bb46060755fad13f1b90772c90309866b8c7cd4b7d36a8", +"T3W1_pt_reset_recovery-test_recovery_slip39_basic.py::test_abort_on_number_of_words": "8081fbb5aeb41a16242978e15d2601b5ffca6c677ed7030a918c009a356f6216", +"T3W1_pt_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_first_share": "5a9dfd5fc59b6ce5a7994d5114f2e3d178ee71d78916ddf44e05218a7237be01", +"T3W1_pt_reset_recovery-test_recovery_slip39_basic.py::test_invalid_mnemonic_second_share": "a504c468f3f2b4bcaa9785615c12128baf14dc7938143214c054f76801d5102f", +"T3W1_pt_reset_recovery-test_recovery_slip39_basic.py::test_noabort": "8260dace19bbe990d83d66cd4b43c7729283e213ca9b6ee7428fe87097a488c3", +"T3W1_pt_reset_recovery-test_recovery_slip39_basic.py::test_recover_with_pin_passphrase": "e04bf7272b144cfe515a64c7b64db07f63b364fc5652969252017073e01d21d6", +"T3W1_pt_reset_recovery-test_recovery_slip39_basic.py::test_same_share": "03d7b53c208d65e3b1ccea892da4078ec198f161d2cf244bcb45deaf68859c04", +"T3W1_pt_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares0-491b795b80fc21ccdf466c0fb-ad8c45c0": "9214961f7109ede582cdc8d912b3e575e445f403e664fc9020df6c73caaa1d21", +"T3W1_pt_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares1-644c905b0c4da21692f06fff3-30d0f8ca": "dc6936513e9b39e87369613ed3e783dfbf3dcf822abc70205a24d38a5084d7a6", +"T3W1_pt_reset_recovery-test_recovery_slip39_basic.py::test_secret[shares2-b770e0da1363247652de97a39-6af744e3": "fed77ef49009b4b25b8a683ed7b85e758a33aa99b62d8ca06dd05cb9ae206885", +"T3W1_pt_reset_recovery-test_recovery_slip39_basic.py::test_share_info_between_shares": "855ed26bda40a34fc1008fd1deba7b6a935b97763ae1d679e4acdc80aacf9a95", +"T3W1_pt_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[0]": "3a5704c93e9ecbc960117dda50ba3afc0a2604f996a79d9fa37bd36406b65ccb", +"T3W1_pt_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[1]": "6b23dcfa6254e3f3d77620a3a4a336772eeb61ea4b6874aaa4e501863e2adef9", +"T3W1_pt_reset_recovery-test_recovery_slip39_basic.py::test_wrong_nth_word[2]": "7a37b3b3eb97c939a4f5dc2cb537f84290b51aad89e7d2749fc946d523a369f1", +"T3W1_pt_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_dryrun": "2991c55281e45d9551b214352742dc39ea63b16bbc89c1fa77ec80f47aa2abcf", +"T3W1_pt_reset_recovery-test_recovery_slip39_basic_dryrun.py::test_2of3_invalid_seed_dryrun": "cca02edc3c7640b5aa91058e26fecccb72c4318b91b01621e6807b15470084d3", +"T3W1_pt_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Bip39-backup_flow_bip39]": "85d556543f3ea5db9ec7a4a9c2e0777194c4f17fddf758bacc5444f9ee9beee4", +"T3W1_pt_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Advanced_Ext-10ea47d6": "3c70a7e5e88e668bedd889d319806fa5fa3b974fabab872f2338edc1742ca103", +"T3W1_pt_reset_recovery-test_reset_backup.py::test_skip_backup_manual[BackupType.Slip39_Basic_Extend-5dbe8b0f": "f3c5ed8af17f96decf32481815984f615b5e2b477f4c0a0aa5197ed803055c0c", +"T3W1_pt_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Bip39-backup_flow_bip39]": "1aced59ca099d8c316eea6b2c74cc86019066d0d45e5ae64e45707c61e208542", +"T3W1_pt_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Advanced_Extend-8b11c1dc": "c0f063a4be4c64b3da436ca8b3c4b9c56ef5b3c9f3a9e63dedd5482cd9d366e7", +"T3W1_pt_reset_recovery-test_reset_backup.py::test_skip_backup_msg[BackupType.Slip39_Basic_Extendabl-cc19e908": "46c16fe9118d4dd2bb3b96553d1b7c025ae82263d0d7a22b70996d72f189c514", +"T3W1_pt_reset_recovery-test_reset_bip39_t2.py::test_already_initialized": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_reset_recovery-test_reset_bip39_t2.py::test_entropy_check": "649b09d711c706e4c2f58205e857c69569473a70b1dd51bbed1ad7c72abaeafa", +"T3W1_pt_reset_recovery-test_reset_bip39_t2.py::test_failed_pin": "d3d1592822c563e0ac2ed4afb936bbfae80c0034fd10e8a9dc9c8e75701eda33", +"T3W1_pt_reset_recovery-test_reset_bip39_t2.py::test_no_entropy_check": "649b09d711c706e4c2f58205e857c69569473a70b1dd51bbed1ad7c72abaeafa", +"T3W1_pt_reset_recovery-test_reset_bip39_t2.py::test_reset_device": "22a818648bef838c876c63a1ce69c1ad39404452cd413356a0af39c93a711632", +"T3W1_pt_reset_recovery-test_reset_bip39_t2.py::test_reset_device_192": "1348d21d18134994ab138b0fcbafd449a9cb34632347d84bde13152e59c3a883", +"T3W1_pt_reset_recovery-test_reset_bip39_t2.py::test_reset_device_pin": "7424a473ec661bb60520504777e8297fe3c76932285854350c9b7bc9df2c6e65", +"T3W1_pt_reset_recovery-test_reset_bip39_t2.py::test_reset_entropy_check": "630a5f55624c9e1a28fc94f4901a56b1fbd450ee6547cbb3a96c37cbcbcd3388", +"T3W1_pt_reset_recovery-test_reset_bip39_t2.py::test_reset_failed_check": "328b8cfd640573cdda21427c3ec92512616bba9d95976148c50e1967f163eaec", +"T3W1_pt_reset_recovery-test_reset_recovery_bip39.py::test_reset_recovery": "3f008c89a377883318fdff012c1b10f0ea9c483df246acc6c61939b1c11a2954", +"T3W1_pt_reset_recovery-test_reset_recovery_slip39_advanced.py::test_reset_recovery": "c5032a68d1a96cd88604e345f8dd27a55d10d4a41d0fb2267f38ba51bfd2cf4f", +"T3W1_pt_reset_recovery-test_reset_recovery_slip39_basic.py::test_reset_recovery": "756d0fc676e19834fa899f70ea043473383798bda968c9b18a5b3dd50fc52c97", +"T3W1_pt_reset_recovery-test_reset_slip39_advanced.py::test_reset_device_slip39_advanced": "a609c9d13118f4078b4f310c1127afbab92c764dd3da4479312b1150593eed54", +"T3W1_pt_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic": "5f5e14c6d66d382eb7ada25a9c5c37a09a7e7360f6dbe711b862b6182e32c5f3", +"T3W1_pt_reset_recovery-test_reset_slip39_basic.py::test_reset_device_slip39_basic_256": "df491f27c44cc21c8e801a4296dc763286ef772a29fa2e48f4cfd4d27be24bcf", +"T3W1_pt_reset_recovery-test_reset_slip39_basic.py::test_reset_entropy_check": "197182fd158fd9409cc838759764af5b342d44714c3f78c336368810a568036c", +"T3W1_pt_test_autolock.py::test_apply_auto_lock_delay": "3b0916078f8735e7b6a240259c564479c0461d76ffb4931afa4f9c2f3d2a2880", +"T3W1_pt_test_autolock.py::test_apply_auto_lock_delay_out_of_range[0]": "47411da26f74712fc9b45729b904d971d141bb1af028689d3646dc37a90ccf84", +"T3W1_pt_test_autolock.py::test_apply_auto_lock_delay_out_of_range[1]": "47411da26f74712fc9b45729b904d971d141bb1af028689d3646dc37a90ccf84", +"T3W1_pt_test_autolock.py::test_apply_auto_lock_delay_out_of_range[4194304]": "47411da26f74712fc9b45729b904d971d141bb1af028689d3646dc37a90ccf84", +"T3W1_pt_test_autolock.py::test_apply_auto_lock_delay_out_of_range[536871]": "47411da26f74712fc9b45729b904d971d141bb1af028689d3646dc37a90ccf84", +"T3W1_pt_test_autolock.py::test_apply_auto_lock_delay_out_of_range[9]": "47411da26f74712fc9b45729b904d971d141bb1af028689d3646dc37a90ccf84", +"T3W1_pt_test_autolock.py::test_apply_auto_lock_delay_valid[10]": "2e694a47ae4912ce1a45798bcc4235e863e147f2562db04b8f223860ae0cdd62", +"T3W1_pt_test_autolock.py::test_apply_auto_lock_delay_valid[123]": "3029dbd830ebf50681ff0b8d3af33d8c3384e04a895634e75b1ab4fb1a0f947f", +"T3W1_pt_test_autolock.py::test_apply_auto_lock_delay_valid[3601]": "2a88e302022373ab942fb06682ae73e2c3f5b078a88488a89a8a00065b098323", +"T3W1_pt_test_autolock.py::test_apply_auto_lock_delay_valid[536870]": "9e2f230929bad916eba9c5493321dc7adcc3183716eaa00adb85386f77ea36d7", +"T3W1_pt_test_autolock.py::test_apply_auto_lock_delay_valid[60]": "a968a01967220bb863f840f420921a622765a9fff87127b4d6d38688372caaab", +"T3W1_pt_test_autolock.py::test_apply_auto_lock_delay_valid[7227]": "d5caee03b72064817982c220af2f32275cf31348919ba7c7058a0df5c4cc6325", +"T3W1_pt_test_autolock.py::test_autolock_cancels_ui": "77560767a6585ad11f660919cec1ab402ef684c9670b7ad9c19fba6c351d8736", +"T3W1_pt_test_autolock.py::test_autolock_default_value": "3ec16aeb0b2ff7ee2a8f1d951b3154b25fcbafeab09937992d2bdde356165852", +"T3W1_pt_test_autolock.py::test_autolock_ignores_getaddress": "17aeb201d58b1bd1d1bcaa75dd56840341bed88779a9cba9503d2f9b19c2e77a", +"T3W1_pt_test_autolock.py::test_autolock_ignores_initialize": "17aeb201d58b1bd1d1bcaa75dd56840341bed88779a9cba9503d2f9b19c2e77a", +"T3W1_pt_test_basic.py::test_capabilities": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_test_basic.py::test_device_id_different": "72f93213d712cd72c48933dd93e318116b2aab5925c5b5791ed7acb7ef68cab7", +"T3W1_pt_test_basic.py::test_device_id_same": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_test_basic.py::test_features": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_test_basic.py::test_ping": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_test_cancel.py::test_cancel_message_via_cancel[message0]": "8a00d241bd43612455e9e68c279afc25e21498de8b61e710a45e63b8c0b1afe2", +"T3W1_pt_test_cancel.py::test_cancel_message_via_cancel[message1]": "4b6c0016ca5fc11d8f45cf36874828a1770e5d0305c4fafcb88dae7e3b93aa70", +"T3W1_pt_test_cancel.py::test_cancel_message_via_initialize[message0]": "8a00d241bd43612455e9e68c279afc25e21498de8b61e710a45e63b8c0b1afe2", +"T3W1_pt_test_cancel.py::test_cancel_message_via_initialize[message1]": "4b6c0016ca5fc11d8f45cf36874828a1770e5d0305c4fafcb88dae7e3b93aa70", +"T3W1_pt_test_debuglink.py::test_softlock_instability": "0575df27a06943a59bdae7668c2406c56fbfa3863cf91d2ed770220b949c11a8", +"T3W1_pt_test_msg_applysettings.py::test_apply_homescreen_jpeg_progressive": "47411da26f74712fc9b45729b904d971d141bb1af028689d3646dc37a90ccf84", +"T3W1_pt_test_msg_applysettings.py::test_apply_homescreen_jpeg_wrong_size": "47411da26f74712fc9b45729b904d971d141bb1af028689d3646dc37a90ccf84", +"T3W1_pt_test_msg_applysettings.py::test_apply_homescreen_toif": "47411da26f74712fc9b45729b904d971d141bb1af028689d3646dc37a90ccf84", +"T3W1_pt_test_msg_applysettings.py::test_apply_settings": "f612cd564012ca55a1ca40adca54e348dfde3a84be6330f83578d97b9bef70fb", +"T3W1_pt_test_msg_applysettings.py::test_apply_settings_passphrase": "1d6bed10a64a5b9c85bf35fd9c7de30baa98f2b73294acaf806eeabd4dd8c940", +"T3W1_pt_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "345b7d4a7e3365e951fcfc8568135a097ac5d54fb59bbde798cef728485e043e", +"T3W1_pt_test_msg_applysettings.py::test_apply_settings_rotation": "689d64523482f37c2883528d5c8e1f64280942c2d76cd748957853432bcdce75", +"T3W1_pt_test_msg_applysettings.py::test_experimental_features": "64061b33e83dc1d82310d9bff0aeb933aada78d9e257d0cee84d102670f6954d", +"T3W1_pt_test_msg_applysettings.py::test_label_too_long": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_test_msg_backup_device.py::test_backup_bip39": "a73a6cf03d5cd4b3b457c1a3d493cf69caa745b628f46bc65c44fde0babd4c13", +"T3W1_pt_test_msg_backup_device.py::test_backup_slip39_advanced[click_info]": "e9ea20a80c61cf52e47e0b9659bd36a6b3be280f283f3c075fd6ca6302598dec", +"T3W1_pt_test_msg_backup_device.py::test_backup_slip39_advanced[no_click_info]": "bd76e69e56aaefce2912176037a068310412a570563c26d2e859647678fd7863", +"T3W1_pt_test_msg_backup_device.py::test_backup_slip39_basic[click_info]": "e9ea20a80c61cf52e47e0b9659bd36a6b3be280f283f3c075fd6ca6302598dec", +"T3W1_pt_test_msg_backup_device.py::test_backup_slip39_basic[no_click_info]": "37fa25ff7428cf01c217fbb68eade3a24cd7b22767a58f9bdc1699b1420bff1d", +"T3W1_pt_test_msg_backup_device.py::test_backup_slip39_custom[1_of_1]": "eb18409027f2dbcd34826e2ef7f506f7c52f62d0b5413371676bdaecc04ecfe7", +"T3W1_pt_test_msg_backup_device.py::test_backup_slip39_custom[2_of_2]": "c7d4b571fa96e3c45a45390b080c1ac0fb998f93f4ef0cb8f5b5ede47d66d17b", +"T3W1_pt_test_msg_backup_device.py::test_backup_slip39_custom[3_of_5]": "26ac5e912e0bd41939b1e59c139634cf03431c7ded748877fe2d28e56874905f", +"T3W1_pt_test_msg_backup_device.py::test_backup_slip39_single": "c9f41abfd50bf362a345fbf7319b0bc8cbcecc16d2378cf3b406e7313962d12d", +"T3W1_pt_test_msg_backup_device.py::test_interrupt_backup_fails": "af42f4ec141cd6b3eef417e472cec4019b102b7d17ea60f67680bdaa37d5f497", +"T3W1_pt_test_msg_backup_device.py::test_no_backup_fails": "51f821462fd900038f68a4cb7f6d7c88dfc8ba8b15ff6c3fd47ca4de706d3d37", +"T3W1_pt_test_msg_change_wipe_code_t2.py::test_set_pin_to_wipe_code": "13c01da23b2919fcdd78222972b60297cec84362f456f252ff1a056770bbb15e", +"T3W1_pt_test_msg_change_wipe_code_t2.py::test_set_remove_wipe_code": "c148d7ed9a08a33d7625bf4c0a3ae20498f61af30f5ecee565a72b78237a3177", +"T3W1_pt_test_msg_change_wipe_code_t2.py::test_set_wipe_code_mismatch": "785a7a55b2fd72abd860a578bf7991098473d74d06252d0738249aa79a48cd9a", +"T3W1_pt_test_msg_change_wipe_code_t2.py::test_set_wipe_code_to_pin": "6a1cff0eafd39344946c783111ec4bb724b204b927c6355cc87536d4e581834e", +"T3W1_pt_test_msg_changepin_t2.py::test_change_failed": "64c121b8abfdfdb4a0766c29377ef9ae9b4f4ab0f947c3a80b87eda8c4bd393e", +"T3W1_pt_test_msg_changepin_t2.py::test_change_invalid_current": "0d262e8dd67bcd7c419dc7534052a6afdbbf5aff52438ab65eb4aec71f26dfe4", +"T3W1_pt_test_msg_changepin_t2.py::test_change_pin": "4a1dc679222b4a4e21986f81f563d8af5a7875adb8dc2ecceb4403674e201e4a", +"T3W1_pt_test_msg_changepin_t2.py::test_remove_pin": "d5ad542fa8cb5883facbdb4faf5c56a4cf66ccd6f3dad7bd0b45af08161d5625", +"T3W1_pt_test_msg_changepin_t2.py::test_set_failed": "240e0228c845d3b2448dc1ec5208abd5a5a2e63d0593ba169e9036a815ff1395", +"T3W1_pt_test_msg_changepin_t2.py::test_set_pin": "5e8732e2ff14e5ed45edcdce5f9f734da8b7c9a6d29b05ac68d7e9765797df2e", +"T3W1_pt_test_msg_loaddevice.py::test_load_device_1": "ba18b248d5c5bf1c1a133193c7aa89ceca40a1a32a164d89798b7b6e1167db7b", +"T3W1_pt_test_msg_loaddevice.py::test_load_device_2": "1b72c104115217ae477ada78e4a5a43bc37552e9f57672025ac3b54e1619dcb1", +"T3W1_pt_test_msg_loaddevice.py::test_load_device_slip39_advanced": "ba18b248d5c5bf1c1a133193c7aa89ceca40a1a32a164d89798b7b6e1167db7b", +"T3W1_pt_test_msg_loaddevice.py::test_load_device_slip39_basic": "ba18b248d5c5bf1c1a133193c7aa89ceca40a1a32a164d89798b7b6e1167db7b", +"T3W1_pt_test_msg_loaddevice.py::test_load_device_utf": "e43967d6470602f48ae0e335705d1f1a8dcdc7bf59be364e82481f45d257258a", +"T3W1_pt_test_msg_ping.py::test_ping": "bd4c2078d804a9c57c3cf9325f4092b23882da37b42e583a11ddbf5a633e5f67", +"T3W1_pt_test_msg_wipedevice.py::test_autolock_not_retained": "d78ada997459d9dcbefe009949301e944fb6c2e77bd5c3d82aabea3160b6dda3", +"T3W1_pt_test_msg_wipedevice.py::test_wipe_device": "72f93213d712cd72c48933dd93e318116b2aab5925c5b5791ed7acb7ef68cab7", +"T3W1_pt_test_passphrase_slip39_advanced.py::test_128bit_passphrase": "fcd09682fa0da2286dc50f40b4493318e25838a586e7f7bf8ff6363391392873", +"T3W1_pt_test_passphrase_slip39_advanced.py::test_256bit_passphrase": "fcd09682fa0da2286dc50f40b4493318e25838a586e7f7bf8ff6363391392873", +"T3W1_pt_test_passphrase_slip39_basic.py::test_2of3_ext_passphrase": "bba34a865bf459cb200e0de26058d19e454de39f08ab009d693559eafad04475", +"T3W1_pt_test_passphrase_slip39_basic.py::test_2of5_passphrase": "bba34a865bf459cb200e0de26058d19e454de39f08ab009d693559eafad04475", +"T3W1_pt_test_passphrase_slip39_basic.py::test_3of6_passphrase": "bba34a865bf459cb200e0de26058d19e454de39f08ab009d693559eafad04475", +"T3W1_pt_test_pin.py::test_correct_pin": "47411da26f74712fc9b45729b904d971d141bb1af028689d3646dc37a90ccf84", +"T3W1_pt_test_pin.py::test_exponential_backoff_t2": "a39f84ab468430e7cf24de89b1d3d1713993ec469ea0b6721c7c905984ab5aef", +"T3W1_pt_test_pin.py::test_incorrect_pin_t2": "e42c42d64a5f6cc4e5eb0ec462d23b585d67df25d5482fe842b3fb8a4fd92a55", +"T3W1_pt_test_pin.py::test_no_protection": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_test_protection_levels.py::test_apply_settings": "65b6c1e26f5559227dcc0a4292b5c86865e966514ebea0ca09d0bd94bd3d840e", +"T3W1_pt_test_protection_levels.py::test_change_pin_t2": "a78ac17ee94d582ee89dcf008027149a077a5cc273f7b92591d08cb47bde5ec2", +"T3W1_pt_test_protection_levels.py::test_get_address": "5e0065a243e731f91cb2eacd9207d066b9013102e244aad3978347a1debc27ba", +"T3W1_pt_test_protection_levels.py::test_get_entropy": "5450ae13ddae470111c8d30b34bc98f4be204ebeb12ed767e3d073581d6eb80a", +"T3W1_pt_test_protection_levels.py::test_get_public_key": "5e0065a243e731f91cb2eacd9207d066b9013102e244aad3978347a1debc27ba", +"T3W1_pt_test_protection_levels.py::test_initialize": "cb09016443f74321f0ed0b070e144343fbb9647ba3551d23bcce6715352c41d1", +"T3W1_pt_test_protection_levels.py::test_passphrase_cached": "34537d847a9944c9772b2b2ca6db2eb40f2b7773d49fb9fb3b809dacb82d3ef6", +"T3W1_pt_test_protection_levels.py::test_passphrase_reporting[False]": "559cde3612ca06385d3bae95922ee0be5439050964952c5ef03e5cb3d0aaeb28", +"T3W1_pt_test_protection_levels.py::test_passphrase_reporting[True]": "6605605bfd8bab90f65f195aa93fd9caee892993bdef5955e947d4ec374f044b", +"T3W1_pt_test_protection_levels.py::test_ping": "bd4c2078d804a9c57c3cf9325f4092b23882da37b42e583a11ddbf5a633e5f67", +"T3W1_pt_test_protection_levels.py::test_signtx": "974906c515535fb8ccfea40b886180a4fa9e181e0e4ecdb1916f16340ee95ddf", +"T3W1_pt_test_protection_levels.py::test_unlocked": "e7466bc164b929e0b472658b7b776b35ede4adc616ea1191b35716f4f2182c5a", +"T3W1_pt_test_protection_levels.py::test_wipe_device": "60920d10cdb804962b3991329b30e6a7b926ae00c135eeaecbcfe9321754a70e", +"T3W1_pt_test_repeated_backup.py::test_repeated_backup": "7b9601bb96dbe05cb10e79a0c72304d6447320a29645007489e86fe26170dd62", +"T3W1_pt_test_repeated_backup.py::test_repeated_backup_cancel": "7f8fc1a6906ca5a053ea6a56cbc4d2bf0b0e36e16ec71c7d813e4df6b725c436", +"T3W1_pt_test_repeated_backup.py::test_repeated_backup_send_disallowed_message": "7f8fc1a6906ca5a053ea6a56cbc4d2bf0b0e36e16ec71c7d813e4df6b725c436", +"T3W1_pt_test_repeated_backup.py::test_repeated_backup_upgrade_single": "fbd19631d9125014ce9bbc9603b77cd8f0c4a6d03ffc28974c6ce7a00588d5ac", +"T3W1_pt_test_session.py::test_cannot_resume_ended_session": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_test_session.py::test_clear_session": "34990a6ae3a6602ec674c1f0b70cb4ef12efd6edef59a6e7228a15228ba2bfa0", +"T3W1_pt_test_session.py::test_derive_cardano_empty_session": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_test_session.py::test_derive_cardano_running_session": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_test_session.py::test_end_session": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_test_session.py::test_end_session_only_current": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_test_session.py::test_session_recycling": "bba34a865bf459cb200e0de26058d19e454de39f08ab009d693559eafad04475", +"T3W1_pt_test_session_id_and_passphrase.py::test_cardano_passphrase": "9633f91c4cd0489503d4568c55085441546ed4f7a1d718ef82370f9da3b4fc6a", +"T3W1_pt_test_session_id_and_passphrase.py::test_hide_passphrase_from_host": "5190e12477bb5f789cd0d9feca80a5623d60cfbd107dee290325e8a00812e8e6", +"T3W1_pt_test_session_id_and_passphrase.py::test_max_sessions_with_passphrases": "5a59820976bef4522b909d422e1bfc5dfec3acbb59246d1cf337e04f394531c6", +"T3W1_pt_test_session_id_and_passphrase.py::test_multiple_passphrases": "65a4fe6665f50303664cbbeab2596acb1169babfe418c4ab76cedb32554e3510", +"T3W1_pt_test_session_id_and_passphrase.py::test_multiple_sessions": "9c453ec9c9eb87bba737b2f8bd8c4c455e4178c28b0c1571dda89554434ef8cd", +"T3W1_pt_test_session_id_and_passphrase.py::test_passphrase_ack_mismatch": "17a648e82664cf90affa969ba3fa0c541dcca742c129b724756df61e92e06886", +"T3W1_pt_test_session_id_and_passphrase.py::test_passphrase_always_on_device": "d53113489745bbac286d4e184b9caaf09d7079f31310edf30eb0646f0b2f3920", +"T3W1_pt_test_session_id_and_passphrase.py::test_passphrase_length": "d6e916a002b989d1d32208a4ce449b8e4b1fa8086d5f509ac1bde2fade854c2a", +"T3W1_pt_test_session_id_and_passphrase.py::test_passphrase_missing": "34537d847a9944c9772b2b2ca6db2eb40f2b7773d49fb9fb3b809dacb82d3ef6", +"T3W1_pt_test_session_id_and_passphrase.py::test_passphrase_on_device": "5d5c2c7ed3f6a95ada8e2b169a2f5439737820bc92d1961c6aebd93c7a74a702", +"T3W1_pt_test_session_id_and_passphrase.py::test_session_enable_passphrase": "c90d2f4cca1af1a38b0c226052c575f7a45b9043fb0ab45cf261907467c3757f", +"T3W1_pt_test_session_id_and_passphrase.py::test_session_with_passphrase": "73a9ef6c9a7ea488ade0cba01b163aa58411b7bbd8db9442f179dac1816b4993" +}, +"persistence_tests": { +"T3W1_en_test_safety_checks.py::test_safety_checks_level_after_reboot[SafetyCheckLevel.PromptAlways--081810a6": "dda2421d853770eefe948e8638c5bdc22a4d59b02daf2e68d949735e235c1f9f", +"T3W1_en_test_safety_checks.py::test_safety_checks_level_after_reboot[SafetyCheckLevel.PromptTempora-b3d21f4a": "b23073ddacef9ae70afe3d8fafa57613fbffc18ed29868cea86574c5da0ca7dc", +"T3W1_en_test_safety_checks.py::test_safety_checks_level_after_reboot[SafetyCheckLevel.Strict-Safety-f1ff9c26": "1314baba4d9253e435fd953bae9b8a84b837314d3f50289820ce9d501ae7717c", +"T3W1_en_test_shamir_persistence.py::test_abort": "cf811531e33f6b24e1a1dfeb36e01a38186993b60394f891d8195b23b199621f", +"T3W1_en_test_shamir_persistence.py::test_recovery_multiple_resets": "84f947e9e1f268f5543c22902adb90fd593146b53166c79275d45060fc337442", +"T3W1_en_test_shamir_persistence.py::test_recovery_on_old_wallet": "9b885d45ac324cb8cdb01d53eaf864095bc867c2c9240b4d9f2351cf479d46fb", +"T3W1_en_test_shamir_persistence.py::test_recovery_single_reset": "20ee77ab7e973b21a28bffd33e965c6afe6948e32d551ac1c703efbc7c2e92c9", +"T3W1_en_test_wipe_code.py::test_wipe_code_activate_core": "c7b8762098899b58bd04511aee26bfe2946c8182915f28b847902f4368075268" +} } }