diff --git a/src/apps/common/confirm.py b/src/apps/common/confirm.py index ac70f9f94..9ce8d06db 100644 --- a/src/apps/common/confirm.py +++ b/src/apps/common/confirm.py @@ -3,7 +3,7 @@ from trezor.utils import unimport # used to confirm/cancel the dialogs from outside of this module (i.e. # through debug link) -future = loop.Future() +signal = loop.Signal() @unimport @@ -20,7 +20,7 @@ async def confirm(session_id, content=None, code=None, *args, **kwargs): if code is None: code = Other await wire.reply_message(session_id, ButtonRequest(code=code), ButtonAck) - return await loop.Wait((future, dialog)) == CONFIRMED + return await loop.Wait((signal, dialog)) == CONFIRMED @unimport @@ -40,7 +40,7 @@ async def hold_to_confirm(session_id, content=None, code=None, *args, **kwargs): if code is None: code = Other await wire.reply_message(session_id, ButtonRequest(code=code), ButtonAck) - return await loop.Wait((future, dialog)) == CONFIRMED + return await loop.Wait((signal, dialog)) == CONFIRMED @unimport diff --git a/src/apps/debug/__init__.py b/src/apps/debug/__init__.py index a6c3eb1f6..d46ce1d86 100644 --- a/src/apps/debug/__init__.py +++ b/src/apps/debug/__init__.py @@ -6,8 +6,8 @@ from trezor.messages.wire_types import \ async def dispatch_DebugLinkDecision(msg, session_id): from trezor.ui.confirm import CONFIRMED, CANCELLED - from ..common.confirm import future - future.resolve(CONFIRMED if msg.yes_no else CANCELLED) + from ..common.confirm import signal + signal.send(CONFIRMED if msg.yes_no else CANCELLED) async def dispatch_DebugLinkGetState(msg, session_id): diff --git a/src/trezor/loop.py b/src/trezor/loop.py index f7df37318..02ffb0494 100644 --- a/src/trezor/loop.py +++ b/src/trezor/loop.py @@ -1,7 +1,6 @@ import utime from micropython import const from uheapq import heappop, heappush, heapify -from .utils import type_gen from . import msg, log, ui if __debug__: @@ -136,7 +135,7 @@ class Select(Syscall): NO_VALUE = () -class Future(Syscall): +class Signal(Syscall): def __init__(self): self.value = NO_VALUE @@ -146,7 +145,7 @@ class Future(Syscall): self.task = task self._deliver() - def resolve(self, value): + def send(self, value): self.value = value self._deliver() diff --git a/src/trezor/wire/__init__.py b/src/trezor/wire/__init__.py index 4ca6c66a9..9fec18ab8 100644 --- a/src/trezor/wire/__init__.py +++ b/src/trezor/wire/__init__.py @@ -77,16 +77,16 @@ def setup(): async def read_message(session_id, *exp_types): log.info(__name__, 'session %d: read types %s', session_id, exp_types) - future = Future() + signal = Signal() if session_id == SESSION_V1: wire_decoder = decode_wire_v1_stream( - _dispatch_and_build_protobuf, session_id, exp_types, future) + _dispatch_and_build_protobuf, session_id, exp_types, signal) else: wire_decoder = decode_wire_stream( - _dispatch_and_build_protobuf, session_id, exp_types, future) + _dispatch_and_build_protobuf, session_id, exp_types, signal) wire_decoder.send(None) register_session(session_id, wire_decoder) - return await future + return await signal async def write_message(session_id, pbuf_message): @@ -178,15 +178,15 @@ def _handle_unknown_session(session_id, report_data): pass # TODO -def _dispatch_and_build_protobuf(msg_type, data_len, session_id, exp_types, future): +def _dispatch_and_build_protobuf(msg_type, data_len, session_id, exp_types, signal): if msg_type in exp_types: pbuf_type = get_protobuf_type(msg_type) - builder = build_protobuf_message(pbuf_type, future.resolve) + builder = build_protobuf_message(pbuf_type, signal.send) builder.send(None) return pbuf_type.load(target=builder) else: from trezor.messages.FailureType import UnexpectedMessage - future.resolve(FailureError(UnexpectedMessage, 'Unexpected message')) + signal.send(FailureError(UnexpectedMessage, 'Unexpected message')) return _handle_registered_type(msg_type, data_len, session_id)