1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-25 15:58:08 +00:00
Commit Graph

465 Commits

Author SHA1 Message Date
matejcik
bb5b91b920 Merge branch 'master' into release/23.09 2023-09-27 12:58:22 +02:00
tychovrahe
a6d0842663 fix(core/bootloader): fix erroneous shutdown when rejecting firmware upload 2023-09-27 12:14:13 +02:00
grdddj
a3f137d488 feat(core): forcing the letter to always change after selection in T2B1 recovery
[no changelog]
2023-09-26 09:28:11 +02:00
grdddj
65c9380ab7 feat(core): triggering delete action in ChoicePage after 1 second even without release
[no changelog]
2023-09-26 08:07:32 +02:00
grdddj
e06335d877 feat(core/rust): differentiate between short and long button press
With the help of this, making long DELETE press delete all the
inputted characters in PIN or passphrase entries.

[no changelog]
2023-09-21 11:30:02 +02:00
tychovrahe
29c16c212d fix(core): fix T2B1 "restarting in" label capitalization
[no changelog]
2023-09-20 21:36:07 +02:00
grdddj
0c4540ae0a feat(core): show new homescreen preview for T2B1
[no changelog]
2023-09-20 13:58:05 +02:00
grdddj
42a6a5ac9b chore(core): adjust the chunkification logic to account for really mono font
Also improving the positioning of prev/next page arrows when paginating.

[no changelog]
2023-09-19 11:48:58 +02:00
tychovrahe
3c1236bf82 refactor(core): setup single-place layout selection
[no changelog]
2023-09-18 18:05:37 +02:00
Martin Milata
07027a69e9 Merge branch 'master' into release/23.09 2023-09-15 14:33:20 +02:00
grdddj
8a9354cd85 chore(core): separate confirm_output for T2B1 into two layouts so we can send a button request in between
[no changelog]
2023-09-15 09:50:21 +02:00
grdddj
bcb353a4a1 feat(core): support optional chunkification of addresses in receive and send flows 2023-09-15 09:50:21 +02:00
grdddj
4b9d22066c chore(core/rust): change the position of up arrow icon
[no changelog]
2023-09-14 11:43:43 +02:00
grdddj
568c5f135b feat(core/rust): add ChoicePage animation and hold-to-move functionality
[no changelog]
2023-09-13 17:12:51 +02:00
grdddj
272fb4842a feat(core/rust): show last entered passphrase character for T2B1
[no changelog]
2023-09-13 17:12:51 +02:00
Andrew Kozlik
db6630a5a3 feat(core): Support Optiga in Trezor firmware. 2023-09-13 15:45:48 +02:00
grdddj
70fa46a318 chore(core/rust): decrease top margin over homescreen label in T2B1
[no changelog]
2023-09-12 13:44:21 +02:00
grdddj
623e0ce468 chore(core/rust): improve vertical centering in some screens
[no changelog]
2023-09-12 11:06:38 +02:00
grdddj
d2f67d48fa chore(core/rust): transform if-elif into match
[no changelog]
2023-09-12 11:06:38 +02:00
Martin Milata
7e9f127aec feat(core): revise path warning on model T 2023-09-12 00:39:08 +02:00
Martin Milata
58ffe95369 fix(core): display XPUBs in a similar way to addresses
[no changelog]
2023-09-12 00:39:08 +02:00
grdddj
84659dc904 feat(core/rust): show WRONG PIN header in PIN entry after bad previous PIN input
[no changelog]
2023-09-11 09:29:12 +02:00
grdddj
8956350aca feat(core): create new Ethereum send flow for TT
[no changelog]
2023-09-04 13:50:30 +02:00
grdddj
eed6e0b71c feat(core): create new Ethereum send flow for TR
[no changelog]
2023-09-04 13:50:30 +02:00
grdddj
492ff958a5 feat(core): improve sign message designs
[no changelog]
2023-09-01 13:30:29 +02:00
grdddj
09cd64123b feat(core): implement show_more dialogue for TR
[no changelog]
2023-09-01 13:30:29 +02:00
grdddj
78d5abd9b1 chore(core): replace View full button text with Show all
[no changelog]
2023-08-28 12:09:58 +02:00
grdddj
bb959892ac chore(core): improve the shamir info button handling, regenerate tests
[no changelog]
2023-08-23 11:03:09 +02:00
conduition
30ddabc15b fix(core): more info button on shamir recovery screen
chore(core): add changelog
2023-08-23 11:03:09 +02:00
tychovrahe
c9a657b074 feat(core): set final name for Safe 3
[no changelog]
2023-08-18 16:14:47 +02:00
matejcik
ae7a1c7d52 refactor(core): render full/empty logo same way as in TR 2023-08-18 16:13:58 +02:00
tychovrahe
5947f8a50d feat(core): add model name below empty logo on boot
[no changlog]
2023-08-18 16:13:58 +02:00
tychovrahe
90bdab6599 fix(core): fixed unwanted delays in T2B1
[no changelog]
2023-08-18 16:13:58 +02:00
tychovrahe
17f13b4140 feat(core): design for T2B1 "unsafe, do not use" screen
[no changelog]
2023-08-15 22:08:11 +02:00
tychovrahe
e8281385f6 feat(core): implement secret handling in bootloader 2023-08-15 09:37:38 +02:00
grdddj
6f60462d12 fix(core/rust): do not increase margin of right choice items
[no changelog]
2023-08-09 13:57:09 +02:00
grdddj
5bcfd5709f chore(core/rust): change fonts in confirm_properties for TT
Making the key font NORMAL and the value MONO in all cases

[no changelog]
2023-08-09 10:50:57 +02:00
grdddj
8d78dd8872 chore(core): change some UI text and TR's screens to match the Figma designs
[no changelog]
2023-08-07 15:30:38 +02:00
grdddj
d48bae4598 chore(core/rust): delete unused NotificationFrame
[no changelog]
2023-07-28 09:41:04 +02:00
grdddj
463f0df22a chore(core): modify design of recovery flow
[no changelog]
2023-07-28 09:41:04 +02:00
grdddj
a8d57bf2c4 chore(core/rust): add missing traces to components
[no changelog]
2023-07-28 09:41:04 +02:00
grdddj
4227b5c0b9 chore(core/rust): change design of TT's disabled confirm button
[no changelog]
2023-07-18 13:01:25 +02:00
grdddj
91740ae4aa chore(core): change title of Shamir wallet creation
[no changelog]
2023-07-18 10:09:35 +02:00
grdddj
e31eb9570b chore(core/rust): change design of TR's middle button
Move the text one pixel lower so the arms touch it in its center.
Decreasing the overall height by 2 pixels.

[no changelog]
2023-07-18 09:25:01 +02:00
grdddj
52c69de138 chore(all): small design fixes
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
bc502287fc feat(core): new design of recovery dialogs
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
03f77c50e9 feat(core/rust): new design of wallet creation dialogs
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
672d6b7d13 feat(core): new design of PIN dialogs
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
10449759bf chore(core): new designs of passphrase dialogs
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
3f6a55cc3a refactor(core/rust): replace Label::new with alignment-specific constructor
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
c04cd19c6c chore(core/rust): decrease margin space between key and value paragraphs in confirm_properties
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
b5226b55c8 feat(core/rust): use loaders in coinjoin screens
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
a318706145 feat(core/rust): introduce small indeterminate loader
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
b96b9d43bb feat(core/rust): improve and use coinjoin loading screens
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
245ab416cb feat(core): regenerate exclamation mark icons to be centered in warning dialogs
[no changelog]
2023-07-14 12:00:21 +02:00
matejcik
78a8b48f1e refactor(core): generate trezorproto module straight from Rust 2023-07-12 10:09:36 +02:00
tychovrahe
eca1fc381b refactor(core): rust bindgen mcu-type related arguments are taken from board definition
[no changelog]
2023-07-07 22:09:56 +02:00
tychovrahe
ebbd7f9d35 refactor(core): restructure trezorhal, prepare to support more platforms
[no changelog]
2023-07-07 22:09:56 +02:00
tychovrahe
40b5fedbd2 fix(core): fix TT bootloader emulator backlight, fix rust warning
[no changelog]
2023-07-03 10:19:28 +02:00
tychovrahe
539420cac8 refactor(core): make backlight/fading optional
[no changelog]
2023-06-27 16:18:30 +02:00
grdddj
f9f21176fd feat(core/rust): improve progress screen design
[no changelog]
2023-06-27 07:57:45 +02:00
grdddj
64236e699f feat(core/rust): add account and address labels into send flow
[no changelog]
2023-06-27 07:57:45 +02:00
grdddj
570ffe2c0d chore(core/rust): make info button wider
[no changelog]
2023-06-27 07:57:45 +02:00
tychovrahe
4cc6413a46 chore(core/rust): fix compilation warnings
[no changelog]
2023-06-23 19:13:47 +02:00
matejcik
0ef1d20062 style(core/rust): remove unused mut 2023-06-21 14:19:03 +02:00
matejcik
437b9e5991 feat(core/rust): allow debug feature in tests (means we can print things) 2023-06-21 14:19:03 +02:00
matejcik
5a83a7171d refactor(core/rust): improve ergonomy of IterBuf 2023-06-21 14:19:03 +02:00
matejcik
b91e225076 refactor(core/rust): expose obj types and (debug only) type names 2023-06-21 14:19:03 +02:00
matejcik
ccddc8f5f3 fix(core/rust): disable stack checking in tests (fixes spurious "recursion exceeded" errors) 2023-06-21 14:19:03 +02:00
grdddj
b420064c08 feat(core/rust): improve the painting of TR's buttons + new inverse design
[no changelog]
2023-06-20 11:08:21 +02:00
grdddj
a6316f964e chore(core/rust): regenerate TR's icons based on new designs
[no changelog]
2023-06-20 11:08:21 +02:00
grdddj
13cb1ea4ce chore(core/rust): improve the design of TR's tutorial flow
[no changelog]
2023-06-20 11:08:21 +02:00
grdddj
947e2ee24f fix(core/rust): make vertical alignment for FormattedText work for paginated content
[no changelog]
2023-06-20 11:08:21 +02:00
Jan Šetina
c85102494d feat(core/ui): update colors - grey_dark and green 2023-06-20 10:58:09 +02:00
Martin Milata
cf4dcfcbd4 refactor(core/ui): namespaced Alignment2D
[no changelog]
2023-06-19 19:34:16 +02:00
Martin Milata
3a5fdfedcc fix(core/ui): minor visual tweaks
- centered title for coinjoin loader
- make device label bold on label confirmation screen

[no changelog]
2023-06-19 19:34:16 +02:00
Martin Milata
312f6899c7 feat(core/ui): vertical alignment for FormattedText
[no changelog]
2023-06-19 19:34:16 +02:00
tychovrahe
cfb674cf01 feat(core): adjust bootloader screens to look better on rectangular screens
[no changelog]
2023-06-15 17:08:14 +02:00
tychovrahe
32a2b371bd feat(core): allow different screen sizes for TT UI
[no changelog]
2023-06-15 17:08:14 +02:00
tychovrahe
d3284baf21 feat(core): support STM32F429 discovery board 2023-06-15 17:08:14 +02:00
grdddj
ef2d2a3e75 feat(core/rust): make font changes for TR
[no changelog]
2023-06-14 18:17:09 +02:00
grdddj
d199a17cfc feat(core): introduce FONT_BIG as a fifth optional font
[no changelog]
2023-06-14 18:17:09 +02:00
grdddj
359f6709b0 chore(core): remove unused model R icons
[no changelog]
2023-06-14 18:17:09 +02:00
grdddj
100e36ac20 feat(core/rust): randomize positions in passphrase input
[no changelog]
2023-06-14 17:27:44 +02:00
grdddj
eacc1a3826 feat(core/rust): randomize letter choice positions in recovery word entry + randomize the order of words
[no changelog]
2023-06-14 17:27:44 +02:00
grdddj
8c7ad72062 feat(core/rust): randomize PIN digits fully and show last digit to user
[no changelog]
2023-06-14 17:27:44 +02:00
grdddj
5efafce856 chore(core): modify Shamir backup flow design
[no changelog]
2023-06-14 16:44:02 +02:00
Martin Milata
732e2cc9b5 refactor(core): split tjpgdec into own crate
[no changelog]
2023-06-14 15:53:56 +02:00
grdddj
127e6f42cf chore(core/rust): center TR's input method vertically
[no changelog]
2023-06-14 15:23:40 +02:00
grdddj
55bff602fa fix(core): add dynamic title to the FIDO dialogue for model R
[no changelog]
2023-06-14 15:20:43 +02:00
grdddj
5258e9a307 feat(core/rust): use icon for displaying device name in welcome screen
[no changelog]
2023-06-06 17:49:53 +02:00
grdddj
88fd4cd11f chore(core/rust): mark icons with empty right column, delete unused ones
[no changelog]
2023-06-06 17:49:53 +02:00
grdddj
f27405109e feat(core/rust): add better support for odd-width icons
[no changelog]
2023-06-06 17:49:53 +02:00
tychovrahe
531511407b feat(core/rust): add bootloader design for T2B1
[no changelog]
2023-06-06 17:49:53 +02:00
Martin Milata
fee0d70211 fix(core/ui): workaround different TT and TR UI API
[no changelog]
2023-06-02 18:47:09 +02:00
Martin Milata
611d4edc32 fix(core/ui): clarify transaction replacement screens
[no changelog]
2023-06-02 18:47:09 +02:00
grdddj
da14c22712 feat(all): add UI for Model R 2023-05-31 10:14:54 +02:00
grdddj
019a3ced7d fix(core): revert some UI changes for TT (PIN, wipecode, backup homescreen) 2023-05-16 09:25:56 +02:00
grdddj
74246150e5 fix(core/rust): allow for cycling through the last character in TT passphrase 2023-05-11 21:02:21 +02:00
grdddj
c4bbf17433 feat(core/rust): allow for margin between text and ellipsis icon 2023-05-11 21:02:21 +02:00
grdddj
1c698656c3 feat(core/rust): create common function for ellipsised text 2023-05-11 21:02:21 +02:00
grdddj
e00af4f7f3 chore(core/rust): use format_i64 to convert numbers to strings 2023-05-11 21:02:21 +02:00
grdddj
3bf3e4c38b feat(core/rust): introduce Wordlist component for both bip39 and slip39 2023-05-11 21:02:21 +02:00
grdddj
c291285927 chore(core/rust): make TextBox common component 2023-05-11 21:02:21 +02:00
grdddj
1bb6288512 chore(core/rust): move Font and Color into their own modules 2023-05-11 21:02:21 +02:00
grdddj
5940129bfc feat(core/rust): show fee rate in modify-fee dialogue 2023-05-11 21:02:21 +02:00
grdddj
db38b708b4 feat(core/rust): make Checklist component usable by more models 2023-05-11 21:02:21 +02:00
grdddj
610c832dee feat(core/rust): add useful macros 2023-05-11 21:02:21 +02:00
grdddj
73c493d118 chore(core/rust): tracing and other smaller improvements/clippy lints 2023-05-11 21:02:21 +02:00
matejcik
eee4c624f9 feat(core/rust): JSON output from component tracing 2023-05-11 21:02:21 +02:00
grdddj
b63b72ed90 chore(core/rust): flag or delete unused code 2023-05-11 21:02:21 +02:00
grdddj
0c0d74a501 feat(core/rust): create mako template for QSTR generation 2023-05-11 21:02:21 +02:00
grdddj
8ee4c41938 chore(crypto): refactor slip39 same way as bip39 2023-05-11 21:02:21 +02:00
tychovrahe
0c5db05357 feat(core): support 16bit i8080 display bus
[no changelog]
2023-04-27 12:36:12 +02:00
tychovrahe
0a8981d643 refactor(core): rewrite display_image into rust
[no changelog]
2023-04-25 10:28:33 +02:00
tychovrahe
e578f7f0f8 refactor(core): remove unused C display_icon and display_loader functions
[no changelog]
2023-04-25 10:28:33 +02:00
tychovrahe
69be9b1edf refactor(core): improve safety of buffer handling
[no changelog]
2023-04-25 10:28:33 +02:00
Martin Milata
3fb3f108cc chore(vendor): bump micropython to 1.19.1
Relevant micropython commits:
  01374d941f9d7398e35990b574769b20c6779457 py/mpconfig.h: Define initial templates for "feature levels".
  7b89ad8dbf432ab51eea6d138e179bf51394c786 py/vm: Add a fast path for LOAD_ATTR on instance types.
  68219a295c75457c096ac42dbe8411b84e1e1a51 stm32: Enable LOAD_ATTR fast path, and map lookup caching on >M0.
  e0bf4611c3a8b23b3c52e6a7804aac341ac3a87d py: Only search frozen modules when '.frozen' is found in sys.path.
  f2040bfc7ee033e48acef9f289790f3b4e6b74e5 py: Rework bytecode and .mpy file format to be mostly static data.
  926b554dafffa1e9bd80aa12fea5c621221c9d79 extmod/moduos: Create general uos module to be used by all ports.
  2b409ef8a46015f8f3bd20bc44e644637dbe9bd3 unix/moduos: Convert module to use extmod version.
  47f634300c5572571816817f16836113c98814ae py: Change makemoduledefs process so it uses output of qstr extraction.
  0e7bfc88c6ac6b5d64240f91183a3cfe2ab67ade all: Use mp_obj_malloc everywhere it's applicable.
  2a6ba47110be88ff1e1f5abd1bd76c353447884c py/obj: Add static safety checks to mp_obj_is_type().
2023-04-21 13:14:07 +02:00
tychovrahe
dd5468fe88 fix(core): fix homescreen shade positioning
[no changelog]
2023-04-21 09:07:18 +02:00
tychovrahe
83500487b8 refactor(core): improve conditional compilations based on model
[no changelog]
2023-04-19 21:36:51 +02:00
tychovrahe
eb72fb4241 refactor(core): remove unused functions
[no changelog]
2023-04-19 21:36:51 +02:00
tychovrahe
6ea68baf34 refactor(core): move files out of extmod
[no changelog]
2023-04-19 21:36:51 +02:00
Martin Milata
7a3ab389f8 style(core/rust): fix indent
[no changelog]
2023-04-19 19:53:33 +02:00
Martin Milata
58be59529d style(core): fix clippy lints
[no changelog]
2023-04-19 13:05:03 +02:00
tychovrahe
44178514f3 feat(core): support differently sized homescreen
[no changelog]
2023-04-12 14:03:12 +02:00
Martin Milata
aa9f848b70 fix(core/ui): button text and warning style update
[no changelog]
2023-04-12 13:10:45 +02:00
Martin Milata
2456219d52 fix(core/ui): hold to confirm when finializing replacement transaction
[no changelog]
2023-04-10 18:42:38 +02:00
Martin Milata
a44e738d31 feat(core/ui): sending transaction style update
[no changelog]
2023-04-04 00:15:12 +02:00
Martin Milata
229c81fa7e feat(core/ui): frames with title and subtitle
[no changelog]
2023-04-04 00:15:12 +02:00
matejcik
a09c404359 fix(core): restore original Label bounds checking
so that if the text does not vertically fit into the provided bounds,
it will only render part of itself (and an optional ellipse)
and remain properly vertically centered
2023-04-03 22:01:26 +02:00
matejcik
ca5a68ebc5 fix(core): unify error strings 2023-04-03 22:01:26 +02:00
matejcik
38b6b9adc8 style(core/bootloader): unify import section 2023-04-03 22:01:26 +02:00
matejcik
63c27bafd6 fix(core/bootloader): properly display upgrade/downgrade 2023-04-03 22:01:26 +02:00
matejcik
d1d373a51f refactor(core/bootloader): simplify Confirm arguments 2023-04-03 22:01:26 +02:00
matejcik
a9a18bf80d refactor(core/bootloader): make use of Label vertical alignment 2023-04-03 22:01:26 +02:00
matejcik
c3af3eafe2 refactor(core/bootloader): get rid of Paragraphs
for a ~10kB space saving
2023-04-03 22:01:26 +02:00
matejcik
14f0fba949 feat(core/bootloader): tweak initial screens
* do not wait for user touch when we know we are going to the welcome
  screen
* do not fade before the Trezor Model T screen
2023-04-03 22:01:26 +02:00
matejcik
839a940990 feat(core/bootloader): new style for result screens (fixes #2910) 2023-04-03 22:01:26 +02:00
matejcik
e10b6ecc26 feat(core/rust): improve behavior of from_c_str / from_c_array 2023-04-03 22:01:26 +02:00
tychovrahe
7e96b96d00 feat(core/bootloader): remove different logo color when firmware present 2023-04-03 22:01:26 +02:00
matejcik
ae9960ca61 feat(core): introduce bootloader emulator 2023-04-03 22:01:26 +02:00
matejcik
af6c6d43ed fix(core/unix): add miscellaneous missing header entries 2023-04-03 22:01:26 +02:00
tychovrahe
9b8984896e refactor(core): unify error screens
[no changelog]
2023-04-03 22:01:26 +02:00
tychovrahe
64bc94cbc9 feat(core): uninitialized welcome flow
[no changelog]
2023-04-03 22:01:26 +02:00
tychovrahe
2537436211 feat(core): update bootloader style
[no changelog]
2023-04-03 22:01:26 +02:00
tychovrahe
dcda5e0142 feat(core): support old homescreen format
[no changelog]
2023-03-30 19:06:35 +02:00
Martin Milata
2388a8edea style(core/rust/ui): rename Map to MsgMap
[no changelog]
2023-03-30 13:55:54 +02:00
Martin Milata
08cad2f909 fix(core/ui): coinjoin layouts style update
[no changelog]
2023-03-30 13:55:54 +02:00
matejcik
9244522721 fix(core): remove shutdown()
In a very weird situation, our declaration of `shutdown()` shadows a
function `shutdown(int, int)` from sys/socket, which _just happens_ to
be called by libxcb when closing the sdl window. This calls
`main_clean_exit` which calls into micropython and causes at best an
uncaught NLR and at worst an outright segfault because by that time the
micropython environment doesn't exist anymore.

I didn't think this sort of thing would be possible but here we are??

Fixed by removing `__shutdown()` and replacing `shutdown` with
`trezor_shutdown`
2023-03-24 13:24:46 +01:00
Martin Milata
e60ed788f2 fix(core/rust/ui): add cargo flag for Component::bounds() support
Rarely used debugging feature.

[no changelog]
2023-03-23 20:16:22 +01:00