How to use the trezor.ui.text.Text function in trezor

To help you get started, we’ve selected a few trezor examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github trezor / trezor-firmware / src / apps / management / recovery_device.py View on Github external
async def request_wordcount(ctx):
    await ctx.call(ButtonRequest(code=MnemonicWordCount), ButtonAck)

    text = Text("Device recovery", ui.ICON_RECOVERY)
    text.normal("Number of words?")
    count = await ctx.wait(WordSelector(text))

    return count
github trezor / trezor-firmware / core / src / apps / webauthn / fido2.py View on Github external
async def on_confirm(self) -> None:
        cmd = cbor_error(self.cid, _ERR_CREDENTIAL_EXCLUDED)
        await send_cmd(cmd, self.iface)

        text = Text("FIDO2 Register", ui.ICON_WRONG, ui.RED)
        text.bold("Already registered.")
        text.br_half()
        text.normal("This device is already", "registered with", self._cred.rp_id + ".")
        await Popup(text, _POPUP_TIMEOUT_MS)
github trezor / trezor-firmware / core / src / apps / tezos / layout.py View on Github external
async def require_confirm_origination(ctx, address):
    text = Text("Confirm origination", ui.ICON_SEND, ui.ORANGE)
    text.normal("Address:")
    text.mono(*split_address(address))
    return await require_confirm(ctx, text, ButtonRequestType.SignTx)
github trezor / trezor-firmware / src / apps / management / recovery_device.py View on Github external
async def recovery_device(ctx, msg):
    """
    Recover BIP39 seed into empty device.

    1. Ask for the number of words in recovered seed.
    2. Let user type in the mnemonic words one by one.
    3. Optionally check the seed validity.
    4. Optionally ask for the PIN, with confirmation.
    5. Save into storage.
    """
    if not msg.dry_run and storage.is_initialized():
        raise wire.UnexpectedMessage("Already initialized")

    text = Text("Device recovery", ui.ICON_RECOVERY)
    text.normal("Do you really want to", "recover the device?", "")

    await require_confirm(ctx, text, code=ProtectCall)

    # ask for the number of words
    wordcount = await request_wordcount(ctx)

    # ask for mnemonic words one by one
    mnemonic = await request_mnemonic(ctx, wordcount)

    # check mnemonic validity
    if msg.enforce_wordlist or msg.dry_run:
        if not bip39.check(mnemonic):
            raise wire.ProcessError("Mnemonic is not valid")

    # ask for pin repeatedly
github trezor / trezor-core / src / apps / management / reset_device.py View on Github external
async def reset_device(ctx, msg):
    # validate parameters and device state
    if msg.strength not in (128, 192, 256):
        raise wire.ProcessError("Invalid strength (has to be 128, 192 or 256 bits)")
    if msg.display_random and (msg.skip_backup or msg.no_backup):
        raise wire.ProcessError("Can't show internal entropy when backup is skipped")
    if storage.is_initialized():
        raise wire.UnexpectedMessage("Already initialized")

    text = Text("Create a new wallet", ui.ICON_RESET, new_lines=False)
    text.normal("Do you really want to")
    text.br()
    text.normal("create a new wallet?")
    text.br()
    text.br_half()
    text.normal("By continuing you agree")
    text.br()
    text.normal("to")
    text.bold("https://trezor.io/tos")

    await require_confirm(ctx, text, code=ButtonRequestType.ResetDevice)

    # request new PIN
    if msg.pin_protection:
        newpin = await request_pin_confirm(ctx)
    else:
github trezor / trezor-firmware / core / src / apps / webauthn / fido2.py View on Github external
async def confirm_dialog(self) -> bool:
        text = Text("FIDO2 Verify User", ui.ICON_WRONG, ui.RED)
        text.bold("Unable to verify user.")
        text.br_half()
        text.normal("Please enable PIN", "protection.")
        return await Popup(text, _POPUP_TIMEOUT_MS)
github trezor / trezor-core / src / apps / common / layout.py View on Github external
async def show_qr(ctx, address: str, desc: str = None):
    qr_x = const(120)
    qr_y = const(115)
    qr_coef = const(4)

    qr = Qr(address, (qr_x, qr_y), qr_coef)
    text = Text(
        desc if desc else "Confirm address", ui.ICON_RECEIVE, icon_color=ui.GREEN
    )
    content = Container(qr, text)
    return await confirm(
        ctx,
        content,
        code=ButtonRequestType.Address,
        cancel="Address",
        cancel_style=ui.BTN_KEY,
    )
github trezor / trezor-firmware / core / src / apps / management / change_pin.py View on Github external
def require_confirm_change_pin(ctx: wire.Context, msg: ChangePin) -> None:
    has_pin = config.has_pin()

    if msg.remove and has_pin:  # removing pin
        text = Text("Remove PIN", ui.ICON_CONFIG)
        text.normal("Do you really want to")
        text.bold("disable PIN protection?")
        return require_confirm(ctx, text)

    if not msg.remove and has_pin:  # changing pin
        text = Text("Change PIN", ui.ICON_CONFIG)
        text.normal("Do you really want to")
        text.bold("change your PIN?")
        return require_confirm(ctx, text)

    if not msg.remove and not has_pin:  # setting new pin
        text = Text("Enable PIN", ui.ICON_CONFIG)
        text.normal("Do you really want to")
        text.bold("enable PIN protection?")
        return require_confirm(ctx, text)
github trezor / trezor-firmware / core / src / apps / webauthn / fido2.py View on Github external
async def confirm_dialog(self) -> bool:
        if self._cred.rp_id_hash == _BOGUS_APPID:
            text = Text("U2F", ui.ICON_WRONG, ui.RED)
            text.bold("Not registered.")
            text.br_half()
            text.normal(
                "Another U2F device", "was used to register", "in this application."
            )
            return await Popup(text, _POPUP_TIMEOUT_MS)
        else:
            content = ConfirmContent(self)
            return await confirm(content)
github trezor / trezor-core / src / apps / tezos / layout.py View on Github external
async def require_confirm_register_delegate(ctx, address, fee):
    text = Text("Register delegate", ui.ICON_SEND, icon_color=ui.BLUE)
    text.bold("Fee: " + format_tezos_amount(fee))
    text.normal("Address:")
    text.mono(*split_address(address))
    await require_hold_to_confirm(ctx, text, ButtonRequestType.SignTx)