You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
trezor-firmware/core/src/trezor/ui/layouts/common.py

24 lines
696 B

from trezor import log, wire, workflow
from trezor.messages import ButtonRequestType
from trezor.messages.ButtonAck import ButtonAck
from trezor.messages.ButtonRequest import ButtonRequest
if False:
from typing import Any, Awaitable
from trezor.messages.ButtonRequest import EnumTypeButtonRequestType
LayoutType = Awaitable[Any]
async def interact(
ctx: wire.GenericContext,
layout: LayoutType,
brtype: str,
brcode: EnumTypeButtonRequestType = ButtonRequestType.Other,
) -> Any:
log.debug(__name__, "ButtonRequest.type={}".format(brtype))
workflow.close_others()
await ctx.call(ButtonRequest(code=brcode), ButtonAck)
return await ctx.wait(layout)