- model_t version was moved from using plain Paragraph to a dedicated
component `ShareWords` so that it's consistent with other models. This
allowed to move formatting to Rust and allowed the trait function to
have `words` parameter of type `Vec<TString, 33>`
- model_r ShareWords::render slightly refactored to be consistent with
the new model_t version
- mercury uses a unique version. The reason is that mercury SwipeFlow
contains also the initial screen with instructions and prompt screen at
the end.
- `confirm_recovery` of model_t and model_r merged with
`flow_continue_recovery` of mercury into a `continue_recovery_homepage`
trait function
- parameters were renamed to be more descriptive
- model_t has also the remaining shares info passed in, but not used
- implement Confirm Homescreen for mercury according to Figma
- implementation as SwipeFlow also allows using it as `impl
LayoutMaybeTrace` return type for the UiFeatures
This commit introduces a trait defining high level UI building blocks.
The trait is common for all models.
trezorui_api module exposes these functions to MicroPython world.
`show_info` is implemented as a first function.
The new module is the place for type definitions of the interface
between rust and micropython world.
The goal is to replace `trezorui2` with `trezorui_api` without
duplicated definitions.
This commit adds a margin and footer description to the first page of
the paginated blobs to be confirmed on Mercury. It also extracts the
part of confirm_blob that deals with the first page to a separate
function in order to keep confirm_blob simple.
the error:
When built with PYOPT, Optiga will log its communication to the VCP. But
now that VCP config lives in coreapp and Optiga lives in kernel, there's
no way for Optiga to write to VCP, and the relevant calls simply don't
build.
We need a different method for logging inside the kernel.
Here we change all FOO=VALUE defines to be tuples ("FOO", "VALUE").
Also, VALUE is always the raw string you want to end up in the C file,
instead of attempting to shell-escape it while specifying.
By all rights scons _should_ be using shlex.quote() on the CPPDEFINES,
but it doesn't, so we hack it by specifying the define prefix as `-D'`
and suffix as `'`. That way the arguments in shell are '-escaped, and
we're (currently) not using ' in any argument value so this should work
fine.
At the same time, when passing the flags to cargo, we can shlex.quote
the whole thing and get the right strings passed all the way into
build.rs -- as long as no argument contains a comma, which is the split
character...