1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-02-22 12:32:02 +00:00
Commit Graph

14446 Commits

Author SHA1 Message Date
Roman Zeyde
6d205a416f feat(core): add Solana staking layouts 2025-02-20 21:38:14 +02:00
Roman Zeyde
afb8963a40 feat(core): skip empty fee entry in UICaesar::confirm_summary
[no changelog]
2025-02-20 21:38:14 +02:00
Roman Zeyde
5d383275a6 feat(core): add new translation entries for Solana staking layouts
[no changelog]
2025-02-20 21:38:14 +02:00
Roman Zeyde
fef7910e0a refactor(core): separate base and priority Solana fees
Move fee calculation into `Transaction` class.

Also, replace floating-point division by integer division in fee calculation.

[no changelog]
2025-02-20 21:36:38 +02:00
Roman Zeyde
3e49f3d547 test(core): add test vectors for Solana staking confirmation
[no changelog]
2025-02-20 21:36:38 +02:00
matejcik
eda9f2b183 chore: fix ethereum fixtures for translations after #4626 2025-02-20 16:09:14 +01:00
matejcik
b119675dd4 chore: update UI fixtures 2025-02-20 16:09:14 +01:00
matejcik
c246ba4994 tests: do not warn about missing translation if the key doesn't exist at all
otherwise code like the following raises an useless warning:

>>> try:
>>>   value = translate(somekey)
>>> except KeyError:
>>>   value = somekey  # use a literal value

as seen in click_tests/common.py _get_action_index
2025-02-20 16:09:14 +01:00
matejcik
0c77c5102a fix(core): update translated strings to fit the button on Delizia 2025-02-20 16:09:14 +01:00
matejcik
61a3382abd fix(core/rust): increase capacity of debug error message
slicing the str like before is wrong because we may just happen to hit
in the middle of an utf8 sequence, which will cause a silent panic.
this way we at least get a visible panic: either "Text too long: <full
text>", or "unwrap failed" if the text doesn't fit into the 128-byte
string instance
2025-02-20 16:09:14 +01:00
matejcik
68d979a513 fix(core): exclude unused strings from firmware
this will prevent Rust code from building if it relies on a removed
string, and raise an AttributeError in python
2025-02-20 16:09:14 +01:00
matejcik
02190b5871 fix(core): do not repeat "cancel backup check" twice on screen 2025-02-20 16:09:14 +01:00
matejcik
0453f8b6df tests: add test for cancel recovery 2025-02-20 16:09:14 +01:00
matejcik
87b7eccb6a fix(core): do not use local import for RecoveryAborted
This side-steps a double-import problem that is triggered when we
perform an unimport in a particularly unfortunate order. (don't ask)

The root cause of the problem still exists: we can get into a situation
where a live recovery_homescreen is running from an unimported module,
meaning that any new import of anything from the recovery_device
namespace will _also_ be a double-import. We don't have a fix for that
situation yet, so instead we avoid this particular local import, which
would cause homescreen_dialog to have its own copy of the `recover`
module.
2025-02-20 16:09:14 +01:00
matejcik
2ee0f7028c fix(core): update exception name in layout shutdown reporting
also return after the exception branch, so that the "value" is not
reported twice, once as an exception and a second time as a "non-none
return"
2025-02-20 16:09:14 +01:00
Martin Milata
bd342b3ab7 build: build-docker.sh: drop --skip-legacy and --skip-core options 2025-02-19 22:05:32 +01:00
obrusvit
18b88a12f0 fix(legacy): add build to .gitignore
- "build" serves to ignore symlink to "build/" directory in the legacy
docker reproducible build
- otherwise, the symlink is considered a local change and the resulting
binary contains "-dirty" in the name
2025-02-19 22:05:32 +01:00
Martin Milata
ae00e74717 ci: also build non-debuglink legacy firmware 2025-02-19 22:05:32 +01:00
Martin Milata
d375db9fc2 fix(tools): changelog.py: stricter model list format 2025-02-19 22:05:32 +01:00
Martin Milata
df61895d07 fix(tools): also bump language JSONs for core 2025-02-19 22:05:32 +01:00
matejcik
ca78c01e28 build(core/rust): fix cargo build without envvars
...restoring functionality of rust-analyzer
2025-02-19 19:21:38 +01:00
matejcik
a4220c4b78 ci: check that cargo build can succeed without envvars
this ensures that rust-analyzer continues to work
2025-02-19 19:21:38 +01:00
Ioan Bizău
609e14264f fix(core/ui): back button
[no changelog]
2025-02-19 16:14:08 +01:00
obrusvit
45adcd963a refactor(core): remove unused delizia component
[no changelog]
2025-02-18 13:04:44 +01:00
Roman Zeyde
ae3b6434fc feat(core): allow more paragraphs in ShowInfoParams
Otherwise, it fails when showing 4 items.

Note that each item results in 2 paragraphs (key and value).
Also, items are separated by an empty paragraph.

So 3 items use 8 (2*3+2) paragraphs and 4 items use 11 (2*4+3) paragraphs.

[no changelog]
2025-02-18 12:32:35 +01:00
Roman Zeyde
0abfc7b1f9 fix(core): correct Delizia loader completion detection
This issue was found while debugging a flaky click test:
`tests/click_tests/test_lock.py::test_hold_to_lock`

Sample failures:
https://github.com/trezor/trezor-firmware/actions/runs/13209659963/job/36880750418
https://github.com/trezor/trezor-firmware/actions/runs/13189762414/job/36820368643
https://github.com/trezor/trezor-firmware/actions/runs/13146713535/job/36686537519
https://github.com/trezor/trezor-firmware/actions/runs/13124809110/job/36619045092
https://github.com/trezor/trezor-firmware/actions/runs/13103415015/job/36554567296
https://github.com/trezor/trezor-firmware/actions/runs/13093382180/job/36532710349

[no changelog]
2025-02-18 12:29:32 +01:00
Roman Zeyde
ffc4b57e70 docs(core): fix micropython GC arena analysis tool name
[no changelog]
2025-02-18 11:56:42 +01:00
Roman Zeyde
f4ebc0d9d8 docs(core): fix get_bytes_as_str docstring
[no changelog]
2025-02-18 11:56:42 +01:00
tychovrahe
13c078f8af fix(core): bump T3W1 revB revision
[no changelog]
2025-02-15 18:44:48 +01:00
cepetr
aa29681939 doc(prodtest): document pmic and wpc commands
[no changelog]
2025-02-14 22:22:33 +01:00
cepetr
de73b38aae feat(core): introduce hibernate mode
[no changelog]
2025-02-14 16:43:22 +01:00
tychovrahe
79d14b8907 fix(core): fix TS5 bootloader font
[no changelog]
2025-02-14 09:51:45 +01:00
tychovrahe
e47b604c48 fix(core): fix stwlc38 deinitialization
[no changelog]
2025-02-13 13:25:34 +01:00
obrusvit
612d20b535 Merge branch 'release/translations/25.02' into obrusvit/merge-release-25.02 2025-02-13 11:42:08 +01:00
obrusvit
c69d2c9aff Merge branch 'release/25.02' into obrusvit/merge-release-25.02 2025-02-13 11:42:08 +01:00
cepetr
ef51ea7801 fix(core): fix touch activity detection in bootloader
[no changelog]
2025-02-13 11:21:04 +01:00
cepetr
850b52c1fe fix(core): fix hw jpegdec issue with grayscale images
[no changelog]
2025-02-13 08:28:08 +01:00
obrusvit
0adc6a9ad0 chore: update releases.json 2025-02-12 21:42:47 +01:00
Roman Zeyde
9a62cbd781 chore(python): include the invalid chunk in RuntimeError message
[no changelog]
2025-02-12 15:55:44 +01:00
matejcik
4de0fb7b16 build: add wheel to dev-dependencies
it's no longer available implicitly, trezorlib release process needs it
2025-02-12 14:26:15 +01:00
matejcik
4a9ac3a956 chore(python): bump version after release 2025-02-12 14:26:15 +01:00
matejcik
8dbd5e06fa fix(tools): better path handling in changelog.py
now it also works with relative paths
2025-02-12 14:26:15 +01:00
matejcik
b2098ff03f docs(python): regenerate OPTIONS.rst 2025-02-12 14:26:15 +01:00
matejcik
535950ac29 docs(python): generate changelog for 0.13.10 2025-02-12 14:26:15 +01:00
matejcik
f1c33e2f06 fix(python): make cryptography a required dependency
fixes #4493
2025-02-12 14:26:15 +01:00
obrusvit
45394f2b26 chore(core): bump bootloader version to 2.1.11
[no changelog]
2025-02-12 14:25:26 +01:00
obrusvit
2d20d43944 chore(core): bump version to 2.8.9
[no changelog]
2025-02-12 14:25:26 +01:00
obrusvit
9a01cb54bf chore(legacy): bump version to 1.13.1
[no changelog]
2025-02-12 14:25:26 +01:00
Roman Zeyde
ae9e0281df refactor(core): separate clear_unused_stack() from sys/linker module
Following https://github.com/trezor/trezor-firmware/pull/4595#pullrequestreview-2609833271.

[no changelog]
2025-02-12 12:53:27 +01:00
Roman Zeyde
d38b52c0c4 refactor(core): simplify fade_backlight_duration
- IIUC, casting to and from `i32` can be removed.
- `timer.elapsed()` can be evaluated once per loop iteration.

[no changelog]
2025-02-12 12:33:14 +01:00