1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-10-19 14:30:31 +00:00
trezor-firmware/common
matejcik 6f53ca0ac6 core: rework wait_layout()
The original wait_layout was unreliable, because there are no guarantees
re order of arrival of the respective events. Still, TT's event handling
is basically deterministic, so as long as the host sent its messages
close enough to each other, the order worked out.

This is no longer the case with the introduction of loop.spawn: TT's
behavior is still deterministic, but now ButtonAck is processed *before*
the corresponding wait_layout, so the waiting side waits forever.

In the new process, the host must first register to receive layout
events, and then receives all of them (so the number of calls to
wait_layout must match the number of layout changes).

DebugLinkWatchLayout message must be version-gated, because of an
unfortunate collection of bugs in previous versions wrt unknown message
handling; and this interests us because upgrade-tests are using
wait_layout feature.
2020-06-04 16:18:46 +02:00
..
defs common: drop Theta and VeChain ERC tokens, refresh market caps 2020-05-29 12:12:30 +02:00
keys
protob core: rework wait_layout() 2020-06-04 16:18:46 +02:00
tools Merge branch 'release/2020-04' 2020-04-15 15:00:23 +02:00
udev fix whitespaces 2019-10-30 10:07:30 +01:00
.gitignore
.gitmodules
.gitrepo git subrepo push common 2020-05-12 09:19:18 +02:00
COPYING
README.md

Trezor Common

This project contains files shared among Trezor projects. All changes are happening inside the Trezor Firmware repository.

We also export this project to the trezor-common repository as a read-only copy so third parties may depend on that instead of the whole monorepo. It is meant to be used as a submodule using:

git submodule add https://github.com/trezor/trezor-common.git trezor-common