Commit Graph

748 Commits

Author SHA1 Message Date
copilot-swe-agent[bot]
db5d801fe5 Replace ecdsa with cryptography in legacy bootloader, debug signing, and test helper files
Co-authored-by: obrusvit <14001709+obrusvit@users.noreply.github.com>
2026-02-18 15:20:59 +00:00
PrisionMike
870f0db189 feat(tron): Adding FreezeBalanceV2 contract logic
- Main logic for Staking Tron for energy or bandwidth.
- Scaffolding in preceding commit.

[no changelog]
2026-02-17 22:54:19 +05:30
Roman Zeyde
c6564b0110 fix(core): include telemetry-related source in emulator builds
[no changelog]
2026-02-10 10:07:07 +01:00
Roman Zeyde
0edb43ec3e fix(python): restore TrezorClient.cancel() behaviour
It should only send `messages.Cancel()`, so the main flow will receive the `ActionCancelled` failure.

[no changelog]
2026-02-09 11:07:33 +01:00
Roman Zeyde
975a2ac70e refactor(core): unify emulator detection
[no changelog]
2026-02-03 14:47:31 +01:00
matejcik
6e3018509b refactor(python): rework session-based API
Co-authored-by: M1nd3r <petrsedlacek.km@seznam.cz>
Co-authored-by: Roman Zeyde <roman.zeyde@satoshilabs.com>

[no changelog]
2026-02-03 14:47:31 +01:00
Ioan Bizău
307d601abe feat(ethereum): EIP-7702 2026-02-02 12:35:10 +02:00
Martin Pastyřík
379484d6ec fix(core): remove host static public key from protobuf message
[no changelog]
2026-01-27 14:54:38 +01:00
Tomas Martykan
0e3a8b294f fix(core/solana): optional program reference for SetComputeUnitLimit 2026-01-14 15:50:48 +01:00
Martin Pastyřík
d1d28b86b7 fix(tests): fix Evolu tests on HW devices
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]
2026-01-13 09:48:25 +01:00
matejcik
4fe6729510 tests: stabilize reseeding
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]
2026-01-12 22:03:22 +01:00
PrisionMike
fa41268709 feat(tron): add TriggerSmartContract support.
- Blind signing TRON smart contracts.
- Only contract address shown to user.
- USDT,USDD transfer tested.
- Fee layout imperfect. To be fixed later.

[no changelog]
2026-01-12 14:42:11 -05:00
Ioan Bizău
90e30e57ca feat(delizia): swipe to go back on confirm_value
[no changelog]
2026-01-12 21:00:53 +02:00
Ioan Bizău
d14eeca9f7 refactor: drop ConfirmOutputWithAmount
[no changelog]
2026-01-12 21:00:53 +02:00
Ioan Bizău
cee2358126 feat(tests): cancel output flow on amount screen
[no changelog]
2026-01-09 16:34:03 +02:00
Roman Zeyde
71633aff05 test: add a test case for Ethereum cross-signing support
Previously (#5622) it was tested using Holesky testnet,
which was changed to use `slip44=60` in #5970.

[no changelog]
2026-01-06 14:22:03 +01:00
Jun Luo
4375c211f9 feat(tron): add TransferContract support
Allows native TRX transfer
[no changelog]

Co-authored-by: PrisionMike <su.sh2396@gmail.com>
2026-01-06 03:57:42 -05:00
M1nd3r
b0c3be9b1d fix(core): raise DataError in THP pairing
- Receipt of messages with invalid data fields during pairing now results in `Failure` with code `DataError` instead of code `FirmwareError`.

[no changelog]
2026-01-02 15:00:30 +01:00
Roman Zeyde
963858c742 feat(core): allow loading translations with different BUILD_VERSION 2025-12-29 17:27:32 +01:00
Roman Zeyde
2fb282c8a4 test(core): fix autolock test flakiness
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]
2025-12-11 14:45:23 +01:00
Martin Milata
529607e865 feat(legacy): send BIP-380 descriptor in GetPublicKey response 2025-12-09 18:15:24 +01:00
Andrew Kozlik
ea542943fc fix(legacy): Improve handling of value overflows.
[no changelog]
2025-12-05 16:54:24 +01:00
Ioan Bizău
25a0c80a7a chore(tests): add test for back from amount
[no changelog]
2025-11-25 11:53:05 +02:00
Ioan Bizău
ee0df06285 chore: remove experimental mark
[no changelog]
2025-11-20 13:42:00 +02:00
Ioan Bizău
858cd1812b Reapply "chore: remove GetNonce and PaymentRequest from experimental features"
This reverts commit 366580dcb6.
2025-11-20 13:42:00 +02:00
Ioan Bizău
2860c8de37 refactor: allow payment requests without SLIP44 ID
[no changelog]
2025-11-19 18:31:26 +02:00
Ioan Bizău
014144302c feat(tests): test payment_notification
[no changelog]
2025-11-19 18:31:26 +02:00
Roman Zeyde
6b3f5afe3b fix(core): handle THP during unlocking 2025-11-19 16:57:36 +01:00
Roman Zeyde
f7dfa7e3c2 fix(core): reload settings after unlocking 2025-11-19 16:31:19 +01:00
Roman Zeyde
654834ccb9 test(core): fix test_autolock_cancels_ui on T3W1
Otherwise, it will fail due to timeout (since the device suspends on autolock).

[no changelog]
2025-11-13 13:17:01 +01:00
PrisionMike
0468fa14aa fix(tron): update tron to use session
- Minor code fixes to old PR by overcat
- Only build Tron for debug builds
- Updated message index
- Updated text fixtures
[no changelog]
2025-11-12 10:07:50 +01:00
Jun Luo
590d3e98b2 feat(common,core,python,tests): add tron.get_address support.
[no changelog]
2025-11-12 10:07:50 +01:00
Martin Pastyřík
d2516f1d07 feat(core): functions for Evolu spam protection
[no changelog]
2025-11-05 10:22:37 +01:00
Roman Zeyde
366580dcb6 Revert "chore: remove GetNonce and PaymentRequest from experimental features"
This reverts commit 6b844d3748.
2025-11-04 14:43:11 +01:00
Roman Zeyde
661681f563 feat(core): show an explicit warning when ButtonRequest ACK is delayed
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)
2025-10-31 12:10:43 +01:00
M1nd3r
6b844d3748 chore: remove GetNonce and PaymentRequest from experimental features 2025-10-27 14:13:05 +01:00
M1nd3r
27fa2a1761 chore(test): add payment requests test case used in connect-e2e tests
[no changelog]
2025-10-19 01:47:14 +02:00
Ioan Bizău
ba67a2def7 chore(tests): long values in payment requests
[no changelog]
2025-10-16 15:14:08 +03:00
Ioan Bizău
abb2816c98 feat: 32 bytes amount in ETH payment requests
[no changelog]
2025-10-16 15:14:08 +03:00
Ioan Bizău
65154d9038 feat(tests): check Tropic signature and cert chain
[no changelog]
2025-10-14 11:29:38 +03:00
M1nd3r
14e2064c29 test(python): use nist256p1 in payment device tests
[no changelog]
2025-10-09 15:06:44 +02:00
Roman Zeyde
456ea7d5d6 feat(core+python): support device unlocking during THP handshake
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>
2025-10-06 11:20:33 +02:00
Roman Zeyde
a7fe6b8977 feat(python): allow exporting unit serial number
[no changelog]
2025-10-03 17:37:10 +03:00
Ioan Bizău
6c389ac5a2 chore(tests): update fixtures
[no changelog]
2025-09-24 19:55:38 +03:00
Ioan Bizău
40a1da775c feat(tests): wipe code setup cancel
[no changelog]
2025-09-24 19:55:38 +03:00
Lukas Bielesch
94cda4453d chore(core): Allow backup check only when the backup exists 2025-09-24 11:01:00 +02:00
Martin Milata
ed1063b7e7 fix(core): make app_name required for THP pairing
[no changelog]
2025-09-19 12:15:27 +02:00
Andrew Kozlik
1940bd5638 feat(core): Use Tropic in AuthenticateDevice. 2025-09-18 18:37:58 +02:00
Lukas Bielesch
ed4c675a1e chore(core/eckhart): enable going back in the 1st recovery word
- The flow goes back to the word number selection

[no changelog]
2025-09-16 17:34:10 +02:00
Lukas Bielesch
9e4c86c16f chore(core): ensure dependency between PIN and wipe code 2025-09-16 15:52:24 +02:00