1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-14 03:30:02 +00:00

fix(core): fix conflicts and style, part 1

[no changelog]
This commit is contained in:
M1nd3r 2024-08-22 12:20:09 +02:00 committed by matejcik
parent f00011d480
commit 2c61321857
17 changed files with 59 additions and 42 deletions

View File

@ -1,9 +1,12 @@
from trezor.wire import message_handler
if not __debug__:
from trezor.utils import halt
halt("debug mode inactive")
if __debug__:
import utime
from micropython import const
from typing import TYPE_CHECKING
@ -34,7 +37,7 @@ if __debug__:
layout_change_chan = loop.mailbox()
DEBUG_CONTEXT: context.CodecContext | None = None
DEBUG_CONTEXT: context.Context | None = None
REFRESH_INDEX = 0
@ -368,7 +371,7 @@ if __debug__:
global DEBUG_CONTEXT
DEBUG_CONTEXT = ctx = context.Context(iface, 0, WIRE_BUFFER_DEBUG)
DEBUG_CONTEXT = ctx = context.CodecContext(iface, WIRE_BUFFER_DEBUG)
if storage.layout_watcher:
try:
@ -393,14 +396,13 @@ if __debug__:
msg_type = f"{msg.type} - unknown message type"
log.debug(
__name__,
"%s:%x receive: <%s>",
"%s receive: <%s>",
ctx.iface.iface_num(),
ctx.sid,
msg_type,
)
if msg.type not in WORKFLOW_HANDLERS:
await ctx.write(wire.unexpected_message())
await ctx.write(message_handler.unexpected_message())
continue
elif req_type is None:
@ -411,7 +413,7 @@ if __debug__:
await ctx.write(Success())
continue
req_msg = wire.wrap_protobuf_load(msg.data, req_type)
req_msg = message_handler.wrap_protobuf_load(msg.data, req_type)
try:
res_msg = await WORKFLOW_HANDLERS[msg.type](req_msg)
except Exception as exc:

View File

@ -1,10 +1,10 @@
# pylint: disable=wrong-import-position
import utime
import trezorui2
from micropython import const
from trezorui import Display
from typing import TYPE_CHECKING
import trezorui2
from trezor import io, log, loop, utils, workflow
from trezor.messages import ButtonAck, ButtonRequest
from trezor.wire import context
@ -295,7 +295,7 @@ class Layout(Generic[T]):
def _paint(self) -> None:
"""Paint the layout and ensure that homescreen cache is properly invalidated."""
import storage.cache as storage_cache
import storage.cache_common as storage_cache
painted = self.layout.paint()
if painted:
@ -343,12 +343,13 @@ class Layout(Generic[T]):
down the layout if appropriate, do nothing otherwise."""
if msg is None:
return
# XXX DOES NOT WORK YET
if isinstance(msg, ButtonRequest):
# FIXME: special return value for "layout has changed"
# and the buttonrequest is an attribute on that value
from apps.debug import notify_layout_change
notify_layout_change(self)
# when emitting a message, there should not be another one already waiting

View File

@ -1,6 +1,6 @@
from typing import TYPE_CHECKING
import storage.cache as storage_cache
import storage.cache_common as storage_cache
import trezorui2
from trezor import TR, ui
@ -41,7 +41,9 @@ class Homescreen(HomescreenBase):
) -> None:
level = 1
if notification is not None:
notification = notification.rstrip("!") # TODO handle TS5 that doesn't have it
notification = notification.rstrip(
"!"
) # TODO handle TS5 that doesn't have it
if notification == TR.homescreen__title_coinjoin_authorized:
level = 3
elif notification == TR.homescreen__title_experimental_mode:
@ -121,11 +123,13 @@ class Busyscreen(HomescreenBase):
)
async def get_result(self) -> Any:
from trezor.wire import context
from apps.base import set_homescreen
# Handle timeout.
result = await super().get_result()
assert result == trezorui2.CANCELLED
storage_cache.delete(storage_cache.APP_COMMON_BUSY_DEADLINE_MS)
context.cache_delete(storage_cache.APP_COMMON_BUSY_DEADLINE_MS)
set_homescreen()
return result

View File

@ -6,7 +6,7 @@ from trezor.enums import ButtonRequestType
from trezor.messages import ButtonAck, ButtonRequest
from trezor.wire import ActionCancelled, context
from ..common import raise_if_not_confirmed, interact, with_info, draw_simple
from ..common import draw_simple, interact, raise_if_not_confirmed, with_info
if TYPE_CHECKING:
from typing import Any, Awaitable, Iterable, NoReturn, Sequence, TypeVar

View File

@ -8,7 +8,6 @@ from trezor.wire import ActionCancelled
from ..common import interact
from . import raise_if_not_confirmed, show_success
CONFIRMED = trezorui2.CONFIRMED # global_import_cache

View File

@ -5,7 +5,7 @@ from trezor import TR, ui, utils
from trezor.enums import ButtonRequestType
from trezor.wire import ActionCancelled
from ..common import interact, raise_if_not_confirmed, draw_simple
from ..common import draw_simple, interact, raise_if_not_confirmed
if TYPE_CHECKING:
from typing import Any, Awaitable, Iterable, NoReturn, Sequence

View File

@ -1,4 +1,4 @@
from typing import Sequence
from typing import TYPE_CHECKING
import trezorui2
from trezor import TR

View File

@ -5,7 +5,7 @@ from trezor import TR, ui, utils
from trezor.enums import ButtonRequestType
from trezor.wire import ActionCancelled
from ..common import interact, raise_if_not_confirmed, with_info, draw_simple
from ..common import draw_simple, interact, raise_if_not_confirmed, with_info
if TYPE_CHECKING:
from typing import Awaitable, Iterable, NoReturn, Sequence

View File

@ -6,7 +6,6 @@ from trezor.enums import ButtonRequestType
from ..common import interact, raise_if_not_confirmed
CONFIRMED = trezorui2.CONFIRMED # global_import_cache
@ -233,7 +232,7 @@ def slip39_prompt_threshold(
)
def slip39_prompt_number_of_shares(group_id: int | None = None) -> Awaitable[int]:
def slip39_prompt_number_of_shares(num_words: int, group_id: int | None = None) -> int:
count = 5
min_count = 1
max_count = 16

View File

@ -90,6 +90,8 @@ class CodecContext(Context):
self, expected_types: Container[int], expected_type: type[LoadedMessageType]
) -> LoadedMessageType: ...
reading: bool = False
async def read(
self,
expected_types: Container[int],

View File

@ -4,7 +4,6 @@ from ubinascii import hexlify
import trezorui2
from trezor import loop, protobuf, workflow
from trezor.crypto import random
from trezor.ui.layouts.tt import RustLayout
from trezor.wire import context, message_handler, protocol_common
from trezor.wire.context import UnexpectedMessageException
from trezor.wire.errors import ActionCancelled, SilentError
@ -29,7 +28,7 @@ class PairingDisplayData:
self.code_qr_code: bytes | None = None
self.code_nfc_unidirectional: bytes | None = None
def get_display_layout(self) -> RustLayout:
def get_display_layout(self):
# TODO have different layouts when there is only QR code or only Code Entry
qr_str = ""
code_str = ""
@ -38,16 +37,14 @@ class PairingDisplayData:
if self.code_code_entry is not None:
code_str = self._get_code_code_entry_str()
return RustLayout(
trezorui2.show_address_details( # noqa
qr_title="Scan QR code to pair",
address=qr_str,
case_sensitive=True,
details_title="",
account="Code to rewrite:\n" + code_str,
path="",
xpubs=[],
)
return trezorui2.show_address_details( # noqa
qr_title="Scan QR code to pair",
address=qr_str,
case_sensitive=True,
details_title="",
account="Code to rewrite:\n" + code_str,
path="",
xpubs=[],
)
def _get_code_code_entry_str(self) -> str:

View File

@ -62,7 +62,9 @@ def tap_to_confirm(debug: "DebugLink") -> LayoutContent | None:
elif debug.model in (models.T2B1,):
return debug.read_layout() # type: ignore
elif debug.model in (models.T3T1,):
return debug.click(buttons.TAP_TO_CONFIRM, )
return debug.click(
buttons.TAP_TO_CONFIRM,
)
else:
raise RuntimeError("Unknown model")
@ -120,11 +122,15 @@ def navigate_to_action_and_press(
def unlock_gesture(debug: "DebugLink") -> LayoutContent | None:
if debug.model in (models.T2T1,):
return debug.click(buttons.OK, ) # type: ignore
return debug.click(
buttons.OK,
) # type: ignore
elif debug.model in (models.T2B1,):
return debug.press_right() # type: ignore
elif debug.model in (models.T3T1,):
return debug.click(buttons.TAP_TO_CONFIRM, ) # type: ignore
return debug.click(
buttons.TAP_TO_CONFIRM,
) # type: ignore
else:
raise RuntimeError("Unknown model")

View File

@ -20,8 +20,8 @@ import pytest
from trezorlib import device, messages, models
from ..common import EXTERNAL_ENTROPY, WITH_MOCK_URANDOM, generate_entropy
from .. import translations as TR
from ..common import EXTERNAL_ENTROPY, WITH_MOCK_URANDOM, generate_entropy
from . import reset
if TYPE_CHECKING:
@ -73,12 +73,16 @@ def test_backup_slip39_custom(
groups=[(share_threshold, share_count)],
)
# confirm backup configuration
if share_count > 1:
TR.assert_template(debug.read_layout().text_content(), "reset__create_x_of_y_multi_share_backup_template")
TR.assert_template(
debug.read_layout().text_content(),
"reset__create_x_of_y_multi_share_backup_template",
)
else:
TR.assert_template(debug.read_layout().text_content(), "backup__info_single_share_backup")
TR.assert_template(
debug.read_layout().text_content(), "backup__info_single_share_backup"
)
reset.confirm_read(debug)
# confirm backup intro

View File

@ -20,8 +20,8 @@ import pytest
from trezorlib import device, messages
from ..common import WITH_MOCK_URANDOM
from .. import translations as TR
from ..common import WITH_MOCK_URANDOM
from . import reset
from .common import go_next

View File

@ -97,7 +97,9 @@ def test_reset_slip39_basic(
raise RuntimeError("not a supported combination")
# confirm checklist
TR.assert_in(debug.read_layout().text_content(), "reset__slip39_checklist_write_down")
TR.assert_in(
debug.read_layout().text_content(), "reset__slip39_checklist_write_down"
)
reset.confirm_read(debug)
# confirm backup warning

View File

@ -429,7 +429,6 @@ def pytest_configure(config: "Config") -> None:
IdMaker._idval_from_value = idval_from_value
def pytest_runtest_setup(item: pytest.Item) -> None:
"""Called for each test item (class, individual tests).

View File

@ -468,7 +468,9 @@ class EthereumFlow:
if self.client.model in (models.T2T1, models.T3T1):
# confirm intro
if info:
self.debug.click(buttons.CORNER_BUTTON, )
self.debug.click(
buttons.CORNER_BUTTON,
)
TR.assert_equals_multiple(
self.debug.read_layout().title(),
[