1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-25 07:48:10 +00:00
Commit Graph

641 Commits

Author SHA1 Message Date
obrusvit
4471281adc feat(core/ui): improve T3T1 recovery 2024-05-31 11:59:52 +00:00
obrusvit
6486b03248 feat(core/ui): T3T1 mnemonic keyboard
These are initial changes to the mnemonic keyboard designs. The designs
themselves from Figma are still WIP.
2024-05-31 11:59:52 +00:00
obrusvit
0566f0b7c3 feat(core/ui): T3T1 word count choice 2024-05-31 11:59:52 +00:00
obrusvit
8f4e0cc885 feat(core/ui): add text align to T3T1 button 2024-05-31 11:59:52 +00:00
Martin Milata
dc2525196b refactor(core/ui): T3T1 flow animation
[no changelog]
2024-05-31 11:59:52 +00:00
Martin Milata
b05b54dfd8 refactor(core/ui): VerticalMenu flexibility 2024-05-31 11:59:52 +00:00
Martin Milata
cf53876292 refactor(core/ui): rust UI flow simplification 2024-05-31 11:59:52 +00:00
Martin Milata
1b6b2d2b9f chore(core/rust): fix formatting 2024-05-31 11:59:52 +00:00
Martin Milata
908f123dbf refactor(core/ui): fix bootloader build failure 2024-05-31 11:59:52 +00:00
obrusvit
23021c5152 fix(core/ui): remove border from T3T1 buttons
According to Figma designs, there will be no rounded buttons in T3T1, so
the ButtonStyle does not need these fields.

[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
0615b1bbc2 feat(core/ui): T3T1 confirm backup flow 2024-05-31 11:59:52 +00:00
obrusvit
7905770e7e feat(core/ui/): introduce SwipeUpScreen
A simple wrapper of a component which supports returning
PageMsg::Confirmed if swipe up action was detected.
2024-05-31 11:59:52 +00:00
obrusvit
6b76ec0413 feat(core/ui): add T3T1 Status/PromptScreen
StatusScreen serves to show a result of operation, typically a checkmark
with a circle around dismissed by swipe up gesture.

PromptScreen serves to confirm action, typically by holding a button.

Designs based on Figma.
So far without animation.
2024-05-31 11:59:52 +00:00
obrusvit
1882cc3a80 feat(core/ui): T3T1 Frame additions
This commit allows all combinations of Frame designs from Figma. This
includes adding icon_color to ButtonStyle and a small cleanup of
ButtonStyleSheets.
2024-05-31 11:59:52 +00:00
obrusvit
b8fd987dd8 feat(core/ui): add two more T3T1 icons
Icon named sign used in hold to confirm prompt screens.
2024-05-31 11:59:52 +00:00
obrusvit
8a56c393e2 feat(core/ui): T3T1 reset wallet screen
The first screen in wallet reset (onboarding or recovery) implemented as
a simple SwipeFlow to handle moving between Menu and back.
2024-05-31 11:59:52 +00:00
obrusvit
b87048e265 feat(core/ui): add Footer to T3T1 Frame 2024-05-31 11:59:52 +00:00
obrusvit
683ea6ed26 fix(core): rebase on drawlib
mercury theme.rs needs some cleanup after this action
2024-05-31 11:59:52 +00:00
Martin Milata
1363495165 feat(core/ui): GetAddress flow demo 2024-05-31 11:59:52 +00:00
Martin Milata
10234787a4 feat(core/ui): rust-based UI flows
[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
ac39b026cf fix(core): rebase on drawlib and TStringificaton
[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
8978f36096 feat(core): T3T1 ShareWords component 2024-05-31 11:59:52 +00:00
Martin Milata
8a5afbe585 style(core): fix formatting
[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
7ce980ca98 fix(core): port changes from drawlib to mercury
Again rebase on current drawlib
Move of canvas/Canvas to shape/Canvas.
Get rid of ui/shape/model.
A few other minor changes.

[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
9b98c8af11 feat(core): T3T1 corner highlight shape
Adds a new shape which serves to highlight information within a
rectangle.
2024-05-31 11:59:52 +00:00
obrusvit
befaf87f2d feat(core): T3T1 Footer component 2024-05-31 11:59:52 +00:00
obrusvit
80462282dc feat(core): T3T1 vertical menu 2024-05-31 11:59:52 +00:00
obrusvit
55067a6d40 fix(core): rebase on current drawlib
Port new render function signature to model_mercury.
Fix some rebase errors.
Also port recent changes from mp <-> rust iface.

[no changelog]
2024-05-31 11:59:52 +00:00
obrusvit
fa4de43368 feat(core): add rough TextStyles for T3T1 2024-05-31 11:59:52 +00:00
Martin Milata
940f31c3fb feat(core/ui): T3T1 frame 2024-05-31 11:59:52 +00:00
Martin Milata
d6e5800413 feat(core): add icons for T3T1 2024-05-31 11:59:52 +00:00
obrusvit
67de10e96f feat(core): add colors for T3T1 2024-05-31 11:59:52 +00:00
Martin Milata
8d4472a68e feat(core): init T3T1 UI layouts
Start with copy of components and layouts from T2T1.
2024-05-31 11:59:52 +00:00
Martin Milata
2ba42d716e feat(core): init T3T1 UI layouts: meta 2024-05-31 11:59:52 +00:00
Martin Milata
d6c502f27e feat(core): add fonts for T3T1 2024-05-31 11:59:52 +00:00
Martin Milata
3efa0f6bbd feat(core/ui): sending button requests from rust
[no changelog]
2024-05-28 21:20:38 +00:00
Andrew Kozlik
9d0d1b3402 feat(core): Support extendable backup flag in SLIP-39. 2024-05-28 18:03:26 +02:00
cepetr
c0b3a2c26b feat(core/rust): introduce unlock-screen animated overlay
[no changelog]
2024-05-28 17:07:52 +02:00
cepetr
321e4be819 feat(core/rust): introduce render_on_canvas functionality
[no changelog]
2024-05-28 17:07:52 +02:00
cepetr
e579254f7a feat(core/rust): introduce RawImage shape
[no changelog]
2024-05-28 17:07:52 +02:00
cepetr
89ae44ebfa feat(core/rust): introduce ImageBuffer for advanced drawing
[no changelog]
2024-05-28 17:07:52 +02:00
cepetr
001acc770c feat(core/rust): use f32 angles in ui components
[no changelog]
2024-05-28 17:07:52 +02:00
cepetr
f03e4c8d9c feat(core/rust): introduce f32 angles for sector drawing
[no changelog]
2024-05-28 17:07:52 +02:00
cepetr
e3a383526b feat(core): introduce mono8 bitmap blending
[no changelog]
2024-05-28 17:07:52 +02:00
Pavol Rusnak
87619c19ee chore(core/rust): bump buildgen to 0.62.0
this fixes build on macOS

[no changelog]
2024-05-24 12:04:24 +02:00
Peter Jaško
10e4352aad feat(cardano): Add Conway certificates 2024-05-23 10:01:48 +02:00
tychovrahe
0b5e8ed480 refactor(core): introduce emulator boards
[no changelog]
2024-05-21 19:01:31 +02:00
matejcik
ad84f42b0b style(core/rust): clippy hints applied
[no changelog]
2024-05-17 14:57:37 +02:00
matejcik
754b0a92b9 refactor(core/ui): enable non-conflicting modules even if unused
[no changelog]
2024-05-17 14:57:37 +02:00
matejcik
cf58fdd313 build(core): move default values for bindgen macros (back) into build.rs 2024-05-17 13:43:48 +02:00
tychovrahe
4f1d03fce8 feat(core): add alpha capabilities to toif, text, circle
[no changelog]
2024-05-17 10:42:32 +02:00
tychovrahe
2a123b3c5e feat(core): add alpha capabilities to 4-bit blending
[no changelog]
2024-05-17 10:42:32 +02:00
cepetr
28aa0a7ee3 feat(core): integrate new drawing library
[no changelog]
2024-05-17 09:17:37 +02:00
cepetr
5d8a7ac5bf feat(core): introduce new drawing library
[no changelog]
2024-05-17 09:17:37 +02:00
cepetr
3336e3902f feat(core): introduce new display drivers
[no changelog]
2024-05-17 09:17:37 +02:00
cepetr
80d1ce25c6 refactor(core/rust): improve tjpgdec interface
[no changelog]
2024-05-17 09:17:37 +02:00
matejcik
12ff2e4570 refactor(core/rust): allow Copy and Clone for Gc
This is legal for garbage-collected pointers and we only avoided the
implementation due to being careful.

Now is the first time we need that functionality.

[no changelog]
2024-05-17 09:17:37 +02:00
Ioan Bizău
3d74e30fa7 chore(core): rename Shamir to Multi-share
[no changelog]
2024-05-16 16:57:55 +03:00
tychovrahe
d04ecba815 fix(core): fix tt ui loader haptic feedback
[no changelog]
2024-05-09 14:51:05 +02:00
tychovrahe
c680187b0e feat(core): add disable haptic option to tt ui button
[no changelog]
2024-05-09 14:51:05 +02:00
cepetr
04d5017228 feat(core): improve loader haptic effect
[no changelog]
2024-05-09 14:51:05 +02:00
obrusvit
aaff0fe2d3 refactor(core): do not use all-caps in en.json
The change is necessary for future models where titles might not be
uppercased.

[no changelog]
2024-05-08 22:46:58 +02:00
obrusvit
fccfa43ac9 fix(core/ui): fix model R common title
The title previously disappeared after going back and forth. Used in PIN
setting and FIDO confirm.

[no changelog]
2024-05-08 22:46:58 +02:00
obrusvit
68e01a48cb fix(core/ui): fix model R altcoin summary
[no changelog]
2024-05-08 22:46:58 +02:00
obrusvit
f8fcb49ba6 refactor(core): allow changing button font on R
By default, buttons have uppercased font. The addition is necessary to
customize font on info buttons where we need normal font.

[no changelog]
2024-05-08 22:46:58 +02:00
obrusvit
f9e55a215d refactor(core): replace upper calls by upper font
[no changelog]
2024-05-08 22:46:58 +02:00
obrusvit
43e759ea0b refactor(core): apply uppercased fonts in build
[no changelog]
2024-05-08 22:46:58 +02:00
matejcik
8640b50d81 style(core): upgrade pyright to 1.1.361
[no changelog]
2024-05-07 11:57:10 +02:00
Ioan Bizău
7c97561565 chore(core): rename "seed" to "backup" 2024-05-01 09:23:40 +02:00
Ioan Bizău
8ec9545b89 chore(core): add an extra confirmation for non-1-of-1 Shamir backups 2024-05-01 09:23:40 +02:00
tychovrahe
d349c44a58 refactor(core): generate macros for rust bindgen automatically
[no changelog]
2024-04-25 13:20:07 +02:00
Martin Milata
4baa4d95a4 fix(core): fix display fatal error screen (T3T1)
[no changelog]
2024-04-12 12:25:46 +00:00
Martin Milata
5c5433ada2 refactor(core/rust): use more Self
[no changelog]
2024-04-12 12:25:46 +00:00
Martin Milata
906c00e4e5 refactor(core): rename screen_boot_{empty,full} to screen_boot_stage_{1,2}
[no changelog]
2024-04-12 12:25:46 +00:00
Martin Milata
804d97c9d8 feat(core): bootloader: T3T1 startup UI
[no changelog]
2024-04-12 12:25:46 +00:00
tychovrahe
c277dbcfcb feat(core): T3T1 loader
[no changelog]
2024-04-12 12:25:46 +00:00
Martin Milata
cf00726152 feat(core): copy T2T1 bootloader UI for T3T1 2024-04-12 12:25:46 +00:00
tychovrahe
72146c2ae2 fix(core): fix display fatal error screen
[no changelog]
2024-04-11 19:16:23 +02:00
cepetr
b1fb876709 fix(core): fix ts3 fonts
[no changelog]
2024-04-08 15:38:39 +02:00
Martin Milata
c7832c39ab refactor(core/rust/ui): use TString instead of StrBuffer when constructing layouts
[no changelog]
2024-04-06 20:31:36 +00:00
tychovrahe
256adc3567 refactor(core/rust) use TString in Label and Button
[no changelog]
2024-04-06 20:31:36 +00:00
tychovrahe
535a052df4 refactor(core/rust): introduce UIFeaturesXXX trait as an abstraction over different UI implementation
[no changelog]
2024-04-05 18:16:59 +02:00
cepetr
285b22e53e refactor(core): add ufmt, bump heapless from 0.7.6 - 0.8.0
[no changelog]
2024-04-04 15:02:28 +02:00
matejcik
39b7b22777 refactor(core/rust): Paragraph is now based on TString 2024-04-04 10:04:00 +02:00
matejcik
9c287adf64 feat(core/rust): some useful traits for TString
string equality comparison and SkipPrefix
2024-04-04 10:04:00 +02:00
matejcik
f3b884bf93 refactor(core): improve safety of translation blobs
* the public interface to Translations is now completely safe
* it is more obvious that `map_translated` needs to work the way it does
* documentation is improved
2024-04-04 09:53:45 +02:00
matejcik
45a4a1da99 fix(core/translations): correctly rename previous symbol
[no changelog]
2024-04-02 11:10:24 +02:00
matejcik
1c36c0927c style(core): fix (hopefully) the weird clippy warning about HOMESCREEN_TOIF_X_OFFSET
[no changelog]
2024-03-30 12:10:59 +01:00
matejcik
de2fe3d6d6 feat(core/ui): unify progress.py code between models, implement storage translations
fixes #3520
2024-03-30 12:10:59 +01:00
matejcik
ed89215a79 feat(core): expose StorageMessage to micropython
[no changelog]
2024-03-30 12:10:59 +01:00
matejcik
b2649b0085 refactor(core): introduce Simplified trait
to abstract over some common operations between models

[no changelog]
2024-03-28 13:04:21 +01:00
cepetr
a1165d9326 feat(core): introduce skip function for UzlibContext
[no changelog]
2024-03-20 17:14:58 +01:00
cepetr
9575c81bd3 feat(core): introduce new color functions
[no changelog]
2024-03-20 17:14:58 +01:00
cepetr
474484d249 feat(core): introduce new toif functions
[no changelog]
2024-03-20 17:14:58 +01:00
cepetr
254de49a62 feat(core): introduce new point & rect functions
[no changelog]
2024-03-20 17:14:58 +01:00
cepetr
9d6827e2fb refactor(core): remove unused ui components
[no changelog]
2024-03-20 17:04:25 +01:00
cepetr
dc715d7c0d refactor(core): prepare for non mutable paint function
[no changelog]
2024-03-19 17:57:38 +01:00
cepetr
a54fe5e60f fix(core): fixed blurring algo panic in debug mode
[no changelog]
2024-03-19 14:54:54 +01:00
dependabot[bot]
3dc5e9b2db chore(deps): bump shlex from 1.0.0 to 1.3.0 in /core/embed/rust/fuzz
Bumps [shlex](https://github.com/comex/rust-shlex) from 1.0.0 to 1.3.0.
- [Changelog](https://github.com/comex/rust-shlex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/comex/rust-shlex/commits)

---
updated-dependencies:
- dependency-name: shlex
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-18 11:49:06 +01:00
dependabot[bot]
bd3b070942 chore(deps): bump shlex from 1.1.0 to 1.3.0 in /core/embed/rust
Bumps [shlex](https://github.com/comex/rust-shlex) from 1.1.0 to 1.3.0.
- [Changelog](https://github.com/comex/rust-shlex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/comex/rust-shlex/commits)

---
updated-dependencies:
- dependency-name: shlex
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-18 10:41:53 +01:00
tychovrahe
e000b526cc refactor(core): extract common layout handling from bootloader ui implementations in rust
[no changelog]
2024-03-15 13:13:40 +01:00
matejcik
17678ef38d fix(core/rust): exclude altcoin strings from generated code 2024-03-08 13:17:12 +01:00
matejcik
ccf4b7e9eb fix(core/rust): convert bitcoin_only to an additive feature
universal_fw enables more features, as opposed to bitcoin_only removing features
2024-03-08 13:17:12 +01:00
matejcik
34965ca2cb refactor(core/ui): use LayoutObj signatures in layout files
* make sure every confirm_* returns None
* prefer "def -> Awaitable[T]" to "async def -> T" everywhere (avoids one useless allocation per call)
* type-check return values from Rust layouts
2024-03-07 09:53:00 +01:00
matejcik
0304484ca6 docs(core): add method signatures for LayoutObj to mocks (fixes #2672)
feat(core): annotate CONFIRMED/CANCELLED/INFO as fake class UiResult
2024-03-07 09:53:00 +01:00
matejcik
99457bbcb0 refactor(core/ui): make request_number signature the same in TT and TR 2024-03-07 09:53:00 +01:00
Martin Milata
bfacd07ed7 fix(core): add production pubkeys for translations
[no changelog]
2024-03-04 12:16:20 +00:00
tychovrahe
afefc17478 refactor(core): use internal framebuffer on T3T1 (with ST7789V display controller)
[no changelog]
2024-02-29 23:40:17 +01:00
tychovrahe
66583f2ebf fix(core): fix missing refresh in progress layout
[no changelog]
2024-02-29 23:40:17 +01:00
tychovrahe
72dc8f57e8 feat(core): add haptic feedback
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
8150636a81 feat(core): add basic support for STM32U5 2024-02-29 23:05:56 +01:00
cepetr
937b7d34d0 feat(core): add STM32CubeU5 submodule
[no changelog]
2024-02-29 23:05:56 +01:00
Martin Milata
d790354667 fix(core): workaround umlauts not being cleared
[no changelog]
2024-02-29 11:22:35 +00:00
matejcik
8c0e1e360e fix(core/translations): add indices to templates
so that we can change the template later without running into trouble

[no changelog]
2024-02-26 15:07:48 +01:00
obrusvit
ebcf3e2db2 feat(core): confirm ETH stake, unstake, claim 2024-02-23 18:09:43 +01:00
obrusvit
e1f696b4dd fix: remove clippy error for TS3
[no changelog]
2024-02-22 12:10:12 +01:00
grdddj
1ab2d843ab chore(core): add missing template to the variable name
[no changelog]
2024-02-21 12:44:40 +01:00
tychovrahe
8147b11345 fix(core): fix quadword-only storage
[no changelog]
2024-02-20 09:37:28 +01:00
grdddj
0579ba54fc feat(core): allow for going back to previous word in recovery process 2024-02-19 22:05:04 +01:00
matejcik
65178a6a36 refactor(core/rust): reuse the same component for "waiting for host" screen 2024-02-12 14:49:32 +01:00
matejcik
8471e0c455 refactor(core/rust): decouple Connect screen from bootloader theme 2024-02-12 14:49:32 +01:00
matejcik
02557ad6c0 feat(core/rust): expose attrtuple to Rust 2024-02-12 14:49:32 +01:00
matejcik
6af7b4a4b7 fix(core/rust): convert Qstr type to representation that matches C code 2024-02-12 14:49:32 +01:00
matejcik
ab3c62ae71 feat(core/rust): introduce SimpleTypeObj 2024-02-12 14:49:32 +01:00
matejcik
3e14937c8a feat(core/rust): add const Obj::small_int 2024-02-12 14:49:32 +01:00
matejcik
63360a7417 feat(core/rust): add Map::is_empty() 2024-02-12 14:49:32 +01:00
matejcik
9c72c7c99d feat(common): provide some useful paths for the mako templates 2024-02-12 14:49:32 +01:00
matejcik
03298ca80f docs(core/rust): improve safety comments in buffer.rs 2024-02-12 14:49:32 +01:00
matejcik
0c793084f8 chore(core/rust): move illustration outside src/ tree 2024-02-12 14:49:32 +01:00
matejcik
8bf5a72843 refactor(core/rust): move iter_into_array to micropython::utils 2024-02-12 14:49:32 +01:00
matejcik
3b88116bba feat(core/rust): add trezorcrypto bindings
for now, we use sha256 and a little of ed25519 for CoSi purposes

also add the Merkle root algorithm
2024-02-12 14:49:32 +01:00
matejcik
76296ad417 refactor(core/rust): move InputStream to its own module 2024-02-12 14:49:32 +01:00
grdddj
b8ea21d24a feat(all): implement translations into Trezor
Co-authored-by matejcik <ja@matejcik.cz>
2024-02-12 14:49:32 +01:00
grdddj
dba4bf9e38 feat(core): improve the design of TT locking loader on homescreen
[no changelog]
2024-02-05 14:46:40 +01:00
grdddj
76c547bb91 feat(core): add loader to homescreen when locking the device for TS3 2024-02-05 14:46:40 +01:00
cepetr
5d8e56ac2a refactor(core): shrink size of Paragraphs struct
[no changelog]
2024-02-05 14:10:54 +01:00
cepetr
6331076444 refactor(core/embed): move TOIF format definition to rust
[no changelog]
2024-01-26 11:30:40 +01:00
cepetr
cc6ed93b32 refactor(core/embed): move toif image routines
[no changelog]
2024-01-26 11:30:40 +01:00
cepetr
139701fb1a refactor(core/embed): move&rename display_font_xxx routines
[no changelog]
2024-01-26 11:30:40 +01:00
tychovrahe
1c0da78536 chore(core): fix rust warnings and clippy errors
[no changelog]
2024-01-09 21:39:58 +01:00
grdddj
c2eaaaf8b5 fix(core): add missing semicolon into the passphrase entry for TS3 2024-01-03 14:51:56 +01:00
cepetr
6e1fe31e3f chore(core): optimize stack usage during blurring
[no changelog]
2023-12-18 10:01:30 +01:00
tychovrahe
d0a702eef4 fix(core): fix large area marquee rendering
[no changelog]
2023-12-14 17:35:27 +01:00
gabrielkerekes
a8096652e0 refactor(core): make ethereum summary reusable for more coins
- and use it for Solana
2023-12-05 22:11:41 +01:00
grdddj
747fd17214 fix(core): correct action of left button in Ethereum summary
[no changelog]
2023-12-05 18:22:58 +01:00
grdddj
9a53ba9f44 fix(core): unify button requests in modify amount flow
[no changelog]
2023-12-04 13:15:57 +01:00
grdddj
9db8ff1fae fix(core): unify sent button requests in ETH send flow
Makes sure T2B1 will send the same ButtonRequests as T2T1.
Does it by splitting the Rust layout into two separate dialogs.

[no changelog]
2023-12-04 13:15:57 +01:00
tychovrahe
a2f72b1055 feat(core): optimize boot time by drawing full logo sooner and shortening the enforced delay proportionally
[no changelog]
2023-11-30 16:46:04 +01:00
tychovrahe
7b442a2b20 fix(core): improve T2B1 homescreen checks
[no changelog]
2023-11-30 13:42:02 +01:00
matejcik
ba6cce2bbc fix(core/rust): make Toif constructor return a Result instead of Option
which is slightly more correct
2023-11-30 13:42:02 +01:00