1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-24 07:18:09 +00:00
Commit Graph

2657 Commits

Author SHA1 Message Date
grdddj
019a3ced7d fix(core): revert some UI changes for TT (PIN, wipecode, backup homescreen) 2023-05-16 09:25:56 +02:00
grdddj
393bc48b6b fix(core): improve error popups 2023-05-11 21:02:21 +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
03913ebf1b chore(core): regenerate trezorui2.pyi 2023-05-11 21:02:21 +02:00
grdddj
264b92e11c feat(core): create progress.py 2023-05-11 21:02:21 +02:00
grdddj
127e399d28 feat(core): delegate some layouts to models, do some wording changes 2023-05-11 21:02:21 +02:00
grdddj
35896a7d6c chore(core): make Suite labeling dialogue more clear 2023-05-11 21:02:21 +02:00
grdddj
523fdd8157 chore(core): make minor improvements 2023-05-11 21:02:21 +02:00
grdddj
45168f730e feat(core/tools): add scripts to check Rust API 2023-05-11 21:02:21 +02:00
grdddj
17a07c3d1a chore(core): refactor UI code in SSonscripts 2023-05-11 21:02:21 +02:00
grdddj
1ca7cf5609 chore(core): improve makefile 2023-05-11 21:02:21 +02:00
grdddj
be75e359a2 feat(core): add support for gdb scripts to emulator 2023-05-11 21:02:21 +02:00
grdddj
6fd4173d2e chore(core): add type hints to tools 2023-05-11 21:02:21 +02:00
grdddj
590315bdc1 feat(all): change debugging messages in protobuf 2023-05-11 21:02:21 +02:00
grdddj
bd6783b1a3 feat(all): increase stability of debug-decision events + parsing JSON from Rust 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
8d824e4ef2 fix(core): fix bootloader emulator compilation
[no changelog]
2023-05-09 15:06:14 +02:00
tychovrahe
4175b817e1 chore(core): remove remaining toif files from micropython code
[no changelog]
2023-04-28 15:09:53 +02:00
tychovrahe
0c5db05357 feat(core): support 16bit i8080 display bus
[no changelog]
2023-04-27 12:36:12 +02:00
tychovrahe
09349c308a feat(core): support hw revision 6 of T2B1
[no changelog]
2023-04-26 14:15:00 +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
matejcik
640685a41f chore(core/tools): add decomobine snippet, add readme 2023-04-24 12:21:24 +02:00
matejcik
9f597a6072 feat(core/tools): make combine_firmware script a bit smarter and more opinionated 2023-04-24 12:21:24 +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
33fb590f44 refactor(core): decouple i2c driver and touch driver
[no changelog]
2023-04-19 21:36:51 +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
3dccc09201 Merge branch 'release/23.04' 2023-04-19 15:26:30 +02:00
Martin Milata
58be59529d style(core): fix clippy lints
[no changelog]
2023-04-19 13:05:03 +02:00
matejcik
37d0d91a84 chore: add production-signed prodtest header 2023-04-17 14:27:50 +02:00
matejcik
066729bf2b chore: build prodtest with prodtest_unsigned vendor header 2023-04-17 11:57:46 +02:00
matejcik
fa1925a9d8 chore(core/vendorheaders): generate vendor header for prodtest 2023-04-17 11:57:46 +02:00
matejcik
366d1cb125 chore(core/vendorheaders): bump versions of vendor headers after recent changes 2023-04-14 16:29:25 +02:00
matejcik
01b7cfd86f fix(core/prodtest): ensure the prodtest image is at least one chunk big 2023-04-14 16:20:49 +02:00
matejcik
dd4d020a76 fix(core/bootloader): correctly handle images smaller than one chunk 2023-04-14 16:20:49 +02:00
grdddj
e8f32755ba feat(core/tools): improve alloc.py for seeing allocations
[no changelog]
2023-04-14 11:22:36 +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
grdddj
0381faffb1 feat(core): support DebugLinkRecordScreen.refresh_index
Clients can set their own REFRESH_INDEX: int that will we part of the
screenshot name - e.g. refresh01-...
It is up to the client to keep increasing this number with each
emulator restart.

[no changelog]
2023-04-11 15:15:44 +02:00
grdddj
9804926682 feat(common/protob): add optional uint32 refresh_index into DebugLinkRecordScreen message
Allows for screenshots from multiple emulator restarts being recorded in the same
directory without being overwritten by each other.
(As core/embed/unix/display-unix.c::display_save() starts with zero index after each restart.)

[no changelog]
2023-04-11 15:15:44 +02:00
grdddj
f0223c7266 feat(ci): run persistence tests in UI testing mode
[no changelog]
2023-04-11 15:15:44 +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
46940521d8 chore(core/bootloader): bump version to 2.1.1
[skip_ci]
2023-04-09 12:37:18 +02:00
Martin Milata
81e5dbf301 chore(core): bump version to 2.6.1
[skip_ci]
2023-04-09 12:37:18 +02:00
Martin Milata
88e1f8c7a5 docs(core): changelog for 2.6.0 2023-04-07 20:22:17 +02:00
Martin Milata
14a8b0c62b fix(core): do not touch idle timer on USB events 2023-04-07 19:44:32 +02:00
matejcik
c38b39ee6e feat(core): include signed bootloader 2.1.0 2023-04-07 13:33:04 +02:00
matejcik
ff6bf906d0 chore(common): sync builtin definitions with the external repo 2023-04-06 15:55:26 +02:00
matejcik
b8e8fcff33 chore(common): set definition timestamp to the current signed definitions
[no changelog]
2023-04-06 15:55:26 +02:00
matejcik
5e0a2ed6d0 feat(core/cosi): confirm CoSi path on screen (fixes #2932) 2023-04-05 20:57:48 +02:00
matejcik
e5ed9d3df4 build(core): improve path resolution in scons tools
[no changelog]
2023-04-05 16:36:29 +02:00
matejcik
9d8cfbf680 chore(core): rebuild QA bootloader
[no changelog]
2023-04-05 16:36:29 +02:00
Andrew Kozlik
4cd88e16f7 feat(core): Introduce use_compact option for FIDO2.
When use_compact is set to true, Trezor creates smaller credential IDs.
2023-04-05 15:49:27 +02:00
Andrew Kozlik
32dec18366 feat(core): Don't store blank names in FIDO2 credentials. 2023-04-05 15:49:27 +02:00
Martin Milata
c21cf87c53 fix(core/ripple): use standard layouts for sign_tx
[no changelog]
2023-04-04 00:15:12 +02:00
Martin Milata
69bc442c90 fix(core/ui): replace RobotoMono Regular with RobotoMono Medium
[no changelog]
2023-04-04 00:15:12 +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
bd491bb2da docs(core/bootloader): changelog for bootloader 2.1.0 2023-04-03 22:01:26 +02:00
matejcik
744766a9c7 chore(core): rebuild QA bootloader 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
a2f7d8395f fix(core/bootloader): erase the storage as soon as we know we should
This fixes a problem that would previously cause the storage to be
erased every time.
2023-04-03 22:01:26 +02:00
matejcik
ba112e6290 feat(core/bootloader): show whether the storage was erased in emu 2023-04-03 22:01:26 +02:00
matejcik
7638694484 chore: make fields on FirmwareRequest required (fixes #1941)
[no changelog]
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
6d434122f7 feat(core/bootloader): emulator can now show custom error screens 2023-04-03 22:01:26 +02:00
matejcik
2dd44786d5 fix(core/emulator): use a gamma lookup table for better fadein/fadeout performance 2023-04-03 22:01:26 +02:00
matejcik
6e85d61688 feat(core): QA build for testing bootloaders / upgrades
[no changelog]
2023-04-03 22:01:26 +02:00
matejcik
56047bd34a chore(core): regenerate unsigned and dev-signed vendor headers 2023-04-03 22:01:26 +02:00
matejcik
25660144f0 chore(core): update vendor header definitions
* change version format to match the new code
* change devel vendor header size - fixes #659
* add definition for QA vendor header, with production-like flags but
  devel key

THIS QA VENDOR HEADER MUST NOT BE SIGNED BY PRODUCTION KEYS
2023-04-03 22:01:26 +02:00
matejcik
acbf642d39 fix(core): update build_vendorheader 2023-04-03 22:01:26 +02:00
matejcik
288cd11b2a refactor(core/bootloader): inline "wait for click" into ui_screen_boot_click 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
matejcik
07addae05f feat(core/unix): add blocking reads and deinit code to emulated UDP-USB 2023-04-03 22:01:26 +02:00
matejcik
497ead7111 feat(core/unix): fill out (non-persistent) OTP functionality 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
Martin Milata
c100358ce2 fix(core/ui): don't send ButtonRequest when displaying GetAddress QR code
[no changelog]
2023-04-03 17:57:18 +02:00
tychovrahe
6e0c2578f8 fix(core): fix FMC initialization
[no changelog]
2023-03-31 22:34:14 +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
Andrew Kozlik
77d8af1322 refactor(core): Use set_int()/get_int() for APP_COMMON_AUTHORIZATION_TYPE. 2023-03-30 13:55:54 +02:00
Andrew Kozlik
9bb1d1cf8b feat(core): Implement storage.cache.get_int_all_sessions(). 2023-03-30 13:55:54 +02:00
tychovrahe
0fb55553b7 fix(core): increase work buffer size for jpeg decompression
[no changelog]
2023-03-29 21:39:05 +02:00
grdddj
d8cad1f4a9 chore(core): bump bootloader version to 2.1.0
[no changelog]
2023-03-28 15:34:06 +02:00
grdddj
26edb42979 chore(core): bump version to 2.6.0
[no changelog]
2023-03-28 15:34:06 +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
matejcik
b92c5c21f9 feat(core): update Ethereum definitions to verify using CoSi 2023-03-24 13:24:46 +01:00
matejcik
dc5e4c1c8f feat(core): implement CoSi module and CoSi verification 2023-03-24 13:24:46 +01:00
Martin Novák
c2c0900c5d feat(core): external Ethereum definitions 2023-03-24 13:24:46 +01:00
matejcik
505e014ae1 refactor(core): delegate EthereumGetPublicKey to bitcoin GetPublicKey 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
Martin Milata
afe965687f fix(core/ui): style update: frame and corner button
[no changelog]
2023-03-23 20:16:22 +01:00
Martin Milata
670cbd7a1d fix(core/ui): style update: paging
[no changelog]
2023-03-23 20:16:22 +01:00
Martin Milata
19a2ea21b6 fix(core/ui): Model T style update
[no changelog]
2023-03-23 20:16:22 +01:00
Martin Milata
3623f966dc fix(core/rust/ui): fix text baseline calculation
[no changelog]
2023-03-23 20:16:22 +01:00
Martin Milata
4199d4ad41 fix(core/ui): style update: fonts
[no changelog]
2023-03-23 20:16:22 +01:00
grdddj
31ef923e15 fix(core): create separate display buffer for gamma correction
So that the screenshots in UI tests are not affected by it.
Also not doing the gamma correction in case of SDL_VIDEODRIVER=dummy.

[no changelog]
2023-03-23 17:35:09 +01:00
grdddj
70120b72cc feat(core): allow for changing the emulator gamma correction value by keyboard arrows
[no changelog]
2023-03-23 09:37:59 +01:00
grdddj
a1974f6953 feat(core): perform 0.55 gamma correction on emulator display
[no changelog]
2023-03-23 09:37:59 +01:00
tychovrahe
3f54b84aef fix(core/bootloader): fix retries when reading from USB 2023-03-22 15:09:39 +01:00
Ondrej Mikle
4d0381055c fix(crypto): adapt to changing insecure PRNG to be opt-in 2023-03-22 10:21:21 +01:00
Ondrej Mikle
a5f7c19f7e fix(core/bootloader): do not use insecure LCG PRNG. Change insecure PRNG to be opt-in, not opt-out 2023-03-22 10:21:21 +01:00
Martin Milata
dce876069b Merge branch 'release/23.03'
Conflicts:
	legacy/firmware/version.h
	tests/ui_tests/fixtures.json
2023-03-20 13:02:35 +01:00
Dusan Klinec
eacd15383b chore: update trezor_tests binary
- tests revamp, always use passphrase flow with transaction signing, more passphrase-related tests, pin test, invalid passphrase test. Chain generation optimized
2023-03-13 16:09:52 +01:00
Jan Šetina
04964dc2e8 feat(core/ui): change GREY_DARK and GREY_MEDIUM
[no changelog]
2023-03-13 01:34:14 +01:00
Martin Milata
b8abccbc94 feat(core/rust/ui): implement Clone for StrBuffer
[no changelog]
2023-03-09 23:36:36 +01:00
Martin Milata
4af5939a0b feat(core/ui): redesigned receive flow
[no changelog]
2023-03-09 23:36:36 +01:00
Martin Milata
1b94a7cb7b feat(core/ui): page break icons
Co-authored-by: grdddj <jiri.musil06@seznam.cz>

[no changelog]
2023-03-09 23:36:36 +01:00
Andrew Kozlik
60aa2e7292 feat(core): Show source account path in BTC signing. 2023-03-09 23:36:36 +01:00
Andrew Kozlik
d4ddc78dbb feat(core): Show path for internal outputs in BTC signing. 2023-03-09 23:36:36 +01:00
Martin Milata
4622aec0f1 refactor(core): switch to Rust implementation of QR-Code-generator
[no changelog]
2023-03-09 23:36:36 +01:00
grdddj
a1663de771 chore(core): silence false alarms in coverage report
[no changelog]
2023-03-09 16:50:32 +01:00
grdddj
d4fbd4a95d feat(core): adjust coverage-report for local usage
It is now possible to run the coverage tests without moving any files
manually and the script can be called multiple times without failing.
Also improves reporting of errors.

[no changelog]
2023-03-09 16:50:32 +01:00
grdddj
07797158db feat(core): adjust the coverage file output for multicore tests
When the tests are run using multiple cores, there will

be one .coverage file for each core. So that the one file

is not being overwritten many times, using unique

filename for each core.

[no changelog]
2023-03-09 16:50:32 +01:00
grdddj
6a51351983 feat(ci): run core device test with multicore support
Tests are much quicker. Max amount of cores chosen
as 4, bigger values were sometimes unstable.

[no changelog]
2023-03-09 16:50:32 +01:00
tychovrahe
d633fa885b feat(core/rust): model R bootloader implementation in rust 2023-03-09 16:14:36 +01:00
tychovrahe
659c939080 fix(core/rust): fix glyph positioning in TextOverlay 2023-03-09 16:14:36 +01:00
tychovrahe
e30fdddd83 fix(core): clear model R display before turning it on 2023-03-09 16:14:36 +01:00
tychovrahe
5a991f3244 feat(core/rust): bootloader implementation in rust 2023-03-09 16:14:36 +01:00