Evolu tests now do not depend on hardocded values but compute the expected value from the `delegated_idenetity_key` of the tested device. Therefore enabling testing on HW devices where the master key is not initialized to all zeroes.
A check function was added to the `sign_registration` tests to determine if the device has Optiga available. If not, the test will mark itself as `xfail` - we expect Optiga signing to fail if there is no Optiga.
All the Evolu test have been simplified so that the logic is the same for THP and non-THP devices.
Lastly, the verification of certificate chain and Optiga and Tropic signatures and certificates has been refactored from `test_authenticate_device.py` as it is now used in other tests.
[no changelog]
So that the setup sequence of operations doesn't affect randomness
inside the test itself.
This unfortunately causes a massive UI diff, but hopefully that's one of
the last times this happens.
[no changelog]
- Blind signing TRON smart contracts.
- Only contract address shown to user.
- USDT,USDD transfer tested.
- Fee layout imperfect. To be fixed later.
[no changelog]
- Receipt of messages with invalid data fields during pairing now results in `Failure` with code `DataError` instead of code `FirmwareError`.
[no changelog]
After the previous request fails with `ActionCancelled`, the event loop is restarted.
The following unlock operation should be triggered via a new wirelink request -
and not a debuglink one, since it may be dropped during the event loop restart.
[no changelog]
This should help the user to avoid the "blank screen" issue[1]
(if the layout is closed before `ButtonRequest` loop is done, the
user will see a blank screen - until a new message is received).
This PR doesn't allow the user to abort the layout task, since
it may leave the THP channel in a "non-writeable" state (if the
flow is aborted before `ButtonRequest` THP-level ACK is received,
ABP will prevent further writes into the channel[2].
[1]: https://github.com/trezor/trezor-firmware/issues/5884
[2]: 4aa242ba04/core/src/trezor/wire/thp/channel.py (L415)
Add a flag to the first THP handshake message, so the device can:
- fail the handshake if the device is locked (current behavior)
- prompt the user to enter the PIN (similar to other non-pairing flows)
NOTE: This is a backward-incompatible change, so Suite THP implementation MUST be adapted as well.
Co-authored-by: M1nd3r <petrsedlacek.km@seznam.cz>