1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-18 04:18:10 +00:00
trezor-firmware/python/src/trezorlib
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
..
_internal python: add detailed logging to emulator runner 2020-02-12 13:31:58 +01:00
cli python: style 2020-05-05 07:05:53 +00:00
messages core: rework wait_layout() 2020-06-04 16:18:46 +02:00
qt python: restructure package 2019-08-12 12:57:25 +02:00
transport python: convert chunks to bytes when reading from hid 2020-05-04 10:16:15 +02:00
__init__.py python: implement backwards compatibility for pre-2.3.0 firmwares 2020-02-10 13:01:47 +01:00
_ed25519.py python: restructure package 2019-08-12 12:57:25 +02:00
binance.py python/trezorctl: split trezorctl into separate modules 2019-11-18 11:50:07 +01:00
btc.py python/trezorctl: implement common client and exception handling (fixes #226) 2020-03-26 11:30:06 +01:00
cardano.py python: restructure package 2019-08-12 12:57:25 +02:00
client.py common: rename ClearSession to LockDevice, introduce EndSession 2020-06-04 16:18:46 +02:00
cosi.py python/cosi: improve API 2020-01-20 17:32:58 +01:00
debuglink.py core: rework wait_layout() 2020-06-04 16:18:46 +02:00
device.py python: drop old Electrum compatibility code 2020-03-26 11:30:06 +01:00
eos.py python: drop deprecated name CallException 2020-03-26 11:30:06 +01:00
ethereum.py python: drop deprecated name CallException 2020-03-26 11:30:06 +01:00
exceptions.py tests: streamline TrezorFailure exception usage 2020-03-26 11:30:06 +01:00
fido.py python: rename webauthn and u2f to fido 2019-11-18 11:50:07 +01:00
firmware.py core/headertool: support generating vendor headers with explicit size 2020-02-05 12:23:34 +01:00
lisk.py python: drop deprecated name CallException 2020-03-26 11:30:06 +01:00
log.py python: unify protobuf-encoding code paths 2020-03-26 11:30:06 +01:00
mapping.py python: unify protobuf-encoding code paths 2020-03-26 11:30:06 +01:00
misc.py style: fix import order in trezorlib/misc.py 2019-08-29 15:19:02 +02:00
monero.py python: restructure package 2019-08-12 12:57:25 +02:00
nem.py python: drop deprecated name CallException 2020-03-26 11:30:06 +01:00
protobuf.py python: fix dead code in protobuf pretty-printing 2020-05-29 12:27:42 +02:00
ripple.py python: restructure package 2019-08-12 12:57:25 +02:00
stellar.py python: drop deprecated name CallException 2020-03-26 11:30:06 +01:00
tezos.py python: restructure package 2019-08-12 12:57:25 +02:00
tools.py tests: update test vectors to use correct paths 2020-05-15 14:08:29 +02:00
ui.py python: add period at end of sentence 2020-03-26 11:30:06 +01:00