1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-29 01:28:10 +00:00
Commit Graph

2818 Commits

Author SHA1 Message Date
tychovrahe
531511407b feat(core/rust): add bootloader design for T2B1
[no changelog]
2023-06-06 17:49:53 +02:00
Martin Milata
e928568339 build: emulator darwin fixes
[no changelog]
2023-06-06 11:32:02 +02:00
tychovrahe
a2f8cb9d1c feat(core): add internal model field to features
[no changelog]
2023-06-06 09:39:45 +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
Martin Milata
46f9e898ca fix(core/ui): padding when backing up mnemonic words
[no changelog]
2023-06-02 18:47:09 +02:00
matejcik
45c1a4212d chore(core): add T2B1 keys to bootloader / boardloader 2023-06-02 14:48:59 +02:00
matejcik
319a665d0d chore(core): add T2B1 vendor header data 2023-06-02 14:43:19 +02:00
matejcik
b6c2f2e5ba feat(core): add hw_model field to vendor headers 2023-06-02 14:43:19 +02:00
grdddj
da14c22712 feat(all): add UI for Model R 2023-05-31 10:14:54 +02:00
matejcik
1cb0bf01e6 fix(core): do not handle click signal in non-debug builds (fixes #3026)
[no changelog]
2023-05-22 11:50:26 +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
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
matejcik
f9612898ab feat(core/rust): improved error reporting 2023-03-09 16:14:36 +01:00
matejcik
e0bcdb16e0 refactor(core/rust): clarify safety of StrBuffer creation 2023-03-09 16:14:36 +01:00
matejcik
b864ad58b2 feat(core/rust): cleaner backlight functions 2023-03-09 16:14:36 +01:00
tychovrahe
9b9443ead7 feat(core/rust): added color constructor from rgba format, added text display functions using top-left coordinates 2023-03-09 16:14:36 +01:00
tychovrahe
a1312d8453 feat(core/rust): added button with icon and text 2023-03-09 16:14:36 +01:00
tychovrahe
e75f112ec2 feat(core/rust): expose touch processing functions to rust 2023-03-09 16:14:36 +01:00
tychovrahe
cacae36c73 feat(core/rust): bootloader compilation with rust 2023-03-09 16:14:36 +01:00
tychovrahe
3b23621bea feat(core): modify bootloader linkerscript to support rust 2023-03-09 16:14:36 +01:00
Andrew Kozlik
edeccde9f3 fix(core): Show app icon in Fido2ConfirmNoCredentials.
[no changelog]
2023-03-09 14:51:22 +01:00
Jan Šetina
d540c52c0c chore(core): change the homescreen 2023-03-09 14:03:48 +01:00
Jan Šetina
30b636079e chore(core): change the color definitions 2023-03-09 14:03:48 +01:00
David Misiak
79632d32c7 chore(cardano): update ui tests, add changelog 2023-03-06 11:27:13 +01:00
David Misiak
826ade2a8d chore(cardano): rename voting public key to vote public key 2023-03-06 11:27:13 +01:00
David Misiak
0754a008e9 chore(cardano): rename cvote reward_address to payment_address 2023-03-06 11:27:13 +01:00
David Misiak
2011ffe9c9 chore(cardano): replace governance by cvote 2023-03-06 11:27:13 +01:00
David Misiak
764e3c8d75 fix(cardano): update cvote bech32 prefix 2023-03-06 11:27:13 +01:00
David Misiak
ac58c1c25b feat(cardano): show governance registration reward address credentials 2023-03-06 11:27:13 +01:00
David Misiak
a94cfa1a13 feat(cardano): allow external reward addresses in governance registrations 2023-03-06 11:27:13 +01:00
grdddj
1215268ae9 chore(rust): decrease icon top margin on welcome screen to 48 px
[no changelog]
2023-03-02 15:58:58 +01:00
tychovrahe
ead61d1e90 refactor(core): improve flexibility of build, allow different touch panel driver, allow STM32F429
[no changelog]
2023-03-02 15:56:33 +01:00
Martin Milata
557e29769b feat(core/ui): redesigned passphrase dialogs
[no changelog]
2023-02-28 23:30:38 +01:00
Martin Milata
233a292fd2 Merge branch 'master' into secfix/23.03
Conflicts:
	core/Makefile
	core/SConscript.firmware
	core/embed/firmware/bootloader.bin
	core/embed/firmware/bootloaders/bootloader_T.bin
	core/embed/firmware/bootloaders/bootloader_T2T1.bin
	python/src/trezorlib/firmware/core.py
	python/src/trezorlib/firmware/models.py
2023-02-28 15:20:36 +01:00
Martin Milata
16a9f187bd chore(common): update chains and tokens
[no changelog]
2023-02-28 14:46:34 +01:00
Andrew Kozlik
423ce75b4f feat(core): Validate script type of change-outputs in Bitcoin signing. 2023-02-28 14:06:07 +01:00
Andrew Kozlik
102ab3c7d6 feat(core): Check script type match for change-outputs in Bitcoin signing. 2023-02-28 14:06:07 +01:00
Andrew Kozlik
9528e2f9eb feat(common): Add Apple to known FIDO services. 2023-02-28 10:54:48 +01:00
Andrew Kozlik
4372d19ceb feat(core): Remove authorization when rounds are depleted.
[no changelog]
2023-02-27 14:22:25 +01:00
grdddj
acec852aa4 feat(core): show welcome screen after device is connected
[no changelog]
2023-02-27 13:22:09 +01:00
grdddj
5d987b2bc9 feat(core): not showing Starting up progress loader after connecting device
[no changelog]
2023-02-27 13:22:09 +01:00
Andrew Kozlik
00dde0e312 feat(core): Handle .dummy RP ID in Chrome FIDO2. 2023-02-23 13:02:33 +01:00
Andrew Kozlik
2ee5b0aa15 fix(core): Fix FIDO2 falling back to U2F.
[no changelog]
2023-02-23 13:02:33 +01:00
Andrew Kozlik
deb38a2db5 feat(core): Ignore channel ID in U2F.
Safari browser changes the CID for every single operation. We need to
keep up the same U2F dialog for different CIDs as long as the dialog
corresponds to the same request data.
2023-02-23 13:02:33 +01:00
grdddj
107a7c93b1 chore(core): enable reboot-to-bootloader without experimental features 2023-02-22 10:21:24 +01:00
Martin Milata
d3dd0e3c6f build(core): fix filename when BITCOIN_ONLY is unset
[no changelog]
2023-02-19 23:23:27 +01:00
Andrew Kozlik
0a955b4ad6 feat(core): Force basic attestation in FIDO2 for google.com. 2023-02-17 16:00:41 +01:00
grdddj
20d280d7e0 feat(core): ability to not show passphrase coming from host
[no changelog]
2023-02-17 12:55:11 +01:00
Martin Milata
afb5c55416 feat(core/ui): reset_device copy change
[no changelog]
2023-02-17 12:35:19 +01:00
Andrew Kozlik
5715fbfc9c fix(tests): Fix ownership proof unit test to match test vector 2 from SLIP-19.
[no changelog]
2023-02-15 10:37:49 +01:00
grdddj
82bd908246 feat(core): EIP712 signing shows the ethereum address at the beginning 2023-02-14 15:30:05 +01:00
grdddj
aa283a8392 fix(core): remove the possibility of AssertionError in select_word
In case there are less than three unique word to choose from, duplicating the last word to make the length of 3.

[no changelog]
2023-02-14 15:28:37 +01:00
tychovrahe
9f7edf210e feat(core/rust): basic marquee implementation
[no changelog]
2023-02-10 19:33:12 +01:00
Martin Milata
7a375b5642 feat(core/ui): adjust device customization layouts 2023-02-10 13:03:29 +01:00
tychovrahe
9aa8662ba9 feat(core): implement loaders for T2B1
[no changelog]
2023-02-08 12:18:33 +01:00
tychovrahe
52cd43bf29 fix(core): improve tearing effect prevention
[no changelog]
2023-02-07 19:05:01 +01:00
grdddj
996fec5aae chore(core): delete newlines in strings where they do not delimit useful info
Done so we can use the same strings for both TT and TR

[no changelog]
2023-02-07 12:26:33 +01:00
Martin Milata
099d00de84 perf(core/rust): use less Button instances in PassphraseKeyboard
[no changelog]
2023-02-06 17:35:31 +01:00
Martin Milata
0df81b18e3 perf(core/rust): parse Toif metadata on demand
[no changelog]
2023-02-06 17:35:31 +01:00
Martin Milata
194868438a perf(core/rust): drop NamedToif
Makes structs larger despite only being used in panic.

[no changelog]
2023-02-06 17:35:31 +01:00
grdddj
491a8523bc feat(tests): allow for saving text layout of all screens during UI tests
[no changelog]
2023-02-03 16:51:14 +01:00
matejcik
8d44db5270 fix(core): ensure SLIP26 path is accepted for SignMessage 2023-02-03 13:01:47 +01:00
matejcik
3ed84a84e9 fix(core): update SLIP-26 signing paths 2023-02-03 13:01:47 +01:00
grdddj
32d5beb762 fix(core): making sure last layouts before signing are always HoldToConfirm
[no changelog]
2023-02-03 11:17:44 +01:00
tychovrahe
8f7cbf7b9d fix(core): update fat fs library to R0.15 2023-02-02 16:22:23 +01:00
matejcik
ed16fefae7 ci: update CI config, enable click UI tests
[no changelog]
2023-02-02 12:40:39 +01:00
matejcik
4b2b0e457b chore(tests): do not generate index after every test, unconditionally
[no changelog]
2023-02-02 12:40:39 +01:00
tychovrahe
9748a56a55 chore(core): automatic generation of CMakeLists
[no changelog]
2023-02-02 11:32:37 +01:00
grdddj
f8c432e955 chore(core/rust): delete model_1 code - it should use model_r
[no changelog]
2023-01-31 10:55:12 +01:00
tychovrahe
236396338c refactor(core/rust): introduce icon/image type
[no changelog]
2023-01-30 12:33:39 +01:00
tychovrahe
461f566777 fix(core/bootloader): fix detection of installed firmware
[no changelog]
2023-01-26 11:56:08 +01:00
grdddj
3b64e94e18 chore(core): delete unused icons from core/assets
[no changelog]
2023-01-25 19:17:56 +01:00
grdddj
5196f249a2 feat(core): add make command to check for unused upy code using vulture
[no changelog]
2023-01-25 19:17:56 +01:00
grdddj
571bb79e33 chore(core): delete unused bip39/slip39 micropython/C bindings
[no changelog]
2023-01-25 19:17:56 +01:00
grdddj
428ac8d2ac chore(core): delete unused code in src
[no changelog]
2023-01-25 19:17:56 +01:00
grdddj
b08a6fe2c1 chore(core): delete unused code from micropython UI
[no changelog]
2023-01-25 19:17:56 +01:00
grdddj
021f41c23a fix(core): properly call request_passphrase_on_host dialogue
[no changelog]
2023-01-25 19:17:56 +01:00
grdddj
25dc6ff130 feat(core): implement loader based on time in milliseconds
[no changelog]
2023-01-25 19:17:56 +01:00
Pavol Rusnak
cd5425884f chore(core): remove keyctl-proxy + remove Pyro4 from Python deps
[no changelog]
2023-01-25 10:54:32 +01:00
Andrew Kozlik
e612d58f36 feat(core): Add debugging tool for hashing operations.
[no changelog]
2023-01-24 10:22:54 +01:00
Andrew Kozlik
ab65b18b07 fix(core): Use lowercase in the name coinjoin.
[no changelog]
2023-01-21 10:35:09 +01:00
tychovrahe
5ef6c3975d build(core): differentiate build results for different models
[no changelog]
2023-01-20 19:47:12 +01:00
tychovrahe
4603b9ee74 build(core): embed bootloader according to trezor model
[no changelog]
2023-01-20 19:47:12 +01:00
matejcik
ab949053e8 docs: add missing changelog entries 2023-01-20 15:21:24 +01:00
tychovrahe
1359b21508 feat(core): confirm homescreen image with thumbnail
[no changelog]
2023-01-19 14:11:42 +01:00
tychovrahe
d00e87ea80 feat(core/rust): homescreen background image
[no changelog]
2023-01-19 14:11:42 +01:00
tychovrahe
14f8e88e01 fix(core): fix backlight fading when changing screens/layouts
[no changelog]
2023-01-19 14:11:42 +01:00
tychovrahe
12f87aa01e fix(core): fix usb disconnected warning in new homescreen
[no changelog]
2023-01-19 14:11:42 +01:00
tychovrahe
02e2b50d3f feat(core/rust): tjpgd in rust
[no changelog]
2023-01-19 14:11:42 +01:00
Andrew Kozlik
2f9483f994 feat(core): Allow coinjoin request debugging key for testnets.
[no changelog]
2023-01-19 11:37:57 +01:00
Armin Sabouri
96b2d05d47 refactor(core): Allow eth & btc signing at m/45'/coin_type/account/change/address_index
[no changelog]
2023-01-18 12:08:17 +01:00
matejcik
497285f9a1 feat(core): make first steps to unify Rust API for both models
wip: unify confirm_action

wip: unify confirm_fido

wip: unify request_pin, clean up prompts

wip: unify select_word

wip: unify request_number

refactor(core/reset): refactor confirm_share_words

[no changelog]
2023-01-13 17:09:25 +01:00
grdddj
c068c668fa feat(core/ethereum): remove EIP-712 field size limitation of 1024 bytes 2023-01-13 16:39:43 +01:00
grdddj
39b1776801 feat(tests): add pytest flag to not generate reports after each test
[no changelog]
2023-01-13 16:38:59 +01:00
grdddj
20f3658e7e feat(tests): allow for accepting the recent UI diff without recording the tests
[no changelog]
2023-01-13 16:38:59 +01:00
tychovrahe
115f7daaaa feat(core): prevent installing and running of incompatible firmware, prevent bootloader downgrade 2023-01-12 15:38:36 +01:00
tychovrahe
99d4b0185a fix(core): fix model T display reinitialization crash
[no changelog]
2023-01-11 16:19:02 +01:00
tychovrahe
3cc66301c3 fix(core): fix model T FMC timing
[no changelog]
2023-01-04 13:04:57 +01:00
tychovrahe
3cd47f85af feat(legacy): qa build for upgrade testing 2023-01-02 11:03:38 +01:00
tychovrahe
305b7fe84d fix(core/rust): fix position calculation from center and size
[no changelog]
2022-12-16 16:41:24 +01:00
matejcik
8921a124c3 fix(core/headertool): always rehash when inserting signature (fixes #2616)
[no changelog]
2022-12-16 13:24:18 +01:00
Martin Milata
253f2587dc fix(core/ui): polish XPUB screen
[no changelog]
2022-12-15 17:24:15 +01:00
Martin Milata
bdec3f3979 fix(core/rust/ui): polish confirm_fido
[no changelog]
2022-12-15 17:24:15 +01:00
Martin Milata
a11be914cc chore(core/ui): RustLayout not a private class
[no changelog]
2022-12-13 17:15:15 +01:00
Martin Milata
2a3aabb57e refactor(core/rust/ui): avoid homescreen flicker during workflow restarts
[no changelog]
2022-12-13 17:15:15 +01:00
Martin Milata
5b3db7eca1 refactor(core/rust/ui): homescreen layouts
[no changelog]
2022-12-13 17:15:15 +01:00
tychovrahe
12b3dc23db fix(core/rust): fix bip39 input not recognizing three-letter words that could continue
[no changelog]
2022-12-13 00:38:23 +01:00
Martin Milata
1b4dff6275 fix(core/rust/ui): respect DISABLE_ANIMATION
[no changelog]
2022-12-12 16:00:42 +01:00
Martin Milata
75cee540a4 fix(core/monero): fix blinking progress indicators
[no changelog]
2022-12-12 16:00:42 +01:00
Martin Milata
95d8a21294 feat(core/rust/ui): progress indicators
[no changelog]
2022-12-12 16:00:42 +01:00
Martin Milata
11ffee0b45 refactor(core/rust/ui): use AsRef instead of Deref
[no changelog]
2022-12-12 16:00:42 +01:00
tychovrahe
387af03842 fix(core/rust): optimize keyboard behavior
[no changelog]
2022-12-09 22:35:39 +01:00
Martin Milata
fc3ee87c25 feat(core/bitcoin): SignMessage: whitelist T1 firmware signing address_n
[no changelog]
2022-12-09 15:43:11 +01:00
Martin Milata
b12de5d861 feat(core): CoSi collective signatures 2022-12-09 15:43:11 +01:00
Martin Milata
701d75d6d8 fix(core/rust/ui): handle very long scrollbars on Model T
[no changelog]
2022-12-07 16:47:30 +01:00
Martin Milata
4135b00708 refactor(core/rust): support for StrBuffer slicing
[no changelog]
2022-12-06 10:40:32 +01:00
Martin Milata
452857757a feat(core/rust/ui): support ask_pagination flag in confirm_blob
[no changelog]
2022-12-06 00:26:25 +01:00
Martin Novak
58276a7443 feat(core/ethereum, legacy/ethereum): add support to Ledger Live legacy derivation path 2022-11-30 14:23:47 +01:00
tychovrahe
38548f02f2 feat(core/rust): special shape erase button
[no changelog]
2022-11-30 13:49:12 +01:00
Martin Milata
a61a46808e fix(core/rust/ui): no hyphens when breaking monospace lines
[no changelog]
2022-11-29 21:03:06 +01:00
Martin Milata
3b92923caa feat(core/rust/ui): on-the-fly conversion of bytes to hexadecimal representation
[no changelog]
2022-11-29 21:03:06 +01:00
tychovrahe
4c7060186a fix(core): fix display blinking by increasing backlight pwm frequency 2022-11-24 13:22:30 +01:00
matejcik
ff2d1c3f1f feat(core/ui): drop T1 UI (fixes #2639)
[no changelog]
2022-11-24 13:03:34 +01:00
matejcik
95d26fe04a feat(core/ui): drop UI1 remnats
[no changelog]
2022-11-24 13:03:34 +01:00
grdddj
61277bd80a feat(core/ui): implement webauthn layouts for UI2
[no changelog]
2022-11-24 13:03:34 +01:00
matejcik
e80712f4d9 chore(core/rust/ui): workaround for "re-enter wipe code"
[no changelog]
2022-11-24 13:03:34 +01:00
matejcik
4200539546 refactor(core/rust/ui): redesign Label to make use of TextLayout machinery
also replace LabelStyle with TextStyle

[no changelog]
2022-11-24 13:03:34 +01:00
matejcik
3f6ea00e02 feat(core/rust/ui): expose text_max_height and baseline
[no changelog]
2022-11-24 13:03:34 +01:00
matejcik
615c8a0e64 fix(core/embed): better clamping of coordinates
[no changelog]
2022-11-24 13:03:34 +01:00
matejcik
9708175d19 fix(core/rust): improve & document safety of slice operations
[no changelog]
2022-11-24 13:03:34 +01:00
tychovrahe
0d733d8e22 feat(core): change display type for model R
[no changelog]
2022-11-24 11:37:52 +01:00
tychovrahe
1bad41ddb0 fix(core/rust): fix success animation
[no changelog]
2022-11-21 22:20:35 +01:00
matejcik
d1126b85be feat(rust): expose micropython lists as slices
[no changelog]
2022-11-21 18:15:48 +01:00
Martin Milata
58d0788986 fix(core/ui): show fee rate in confirm_total
[no changelog]
2022-11-21 15:59:48 +01:00
grdddj
bd6f3d5f46 chore(core/ui): delete altcoin.py file 2022-11-21 14:08:47 +01:00
grdddj
f48890afb3 chore(tests): make all the device tests work with UI2 2022-11-21 14:08:47 +01:00
grdddj
5187be91fe chore(tests): fix click, upgrade and persistence tests for new UI 2022-11-21 14:08:47 +01:00
grdddj
2cbb9efeca feat(core/ui): implement all layouts raising NotImplementedError 2022-11-21 14:08:47 +01:00
grdddj
ae525fed26 chore(core/ui): delete unused arguments to layouts 2022-11-21 14:08:47 +01:00
grdddj
d045e0089d feat(core/ui): delete old UI code 2022-11-21 14:08:47 +01:00
Martin Milata
1a9f3c18dd Merge branch 'release/22.11'
Conflicts:
	common/defs/coins_details.json
	core/src/apps/ethereum/networks.py
	core/src/apps/ethereum/tokens.py
	tests/ui_tests/fixtures.json
2022-11-16 18:33:31 +01:00
grdddj
1852059e87 feat(changelog): add changelog entry for micropython optimizations 2022-11-10 14:08:28 +01:00
grdddj
579ee06b6f feat(tools): add tool for frozen_mpy bytecode analysis 2022-11-10 14:08:28 +01:00
grdddj
b95cb34e0c feat(tools): add ignore file for upysize tool 2022-11-10 14:08:28 +01:00
grdddj
107c222631 chore(core): decrease TT_v2 UI size by 390 bytes 2022-11-10 14:08:28 +01:00
grdddj
bd7513f2df chore(core): decrease crypto size by 60 bytes 2022-11-10 14:08:28 +01:00
grdddj
8bb73ffebe chore(core): decrease storage size by 210 bytes 2022-11-10 14:08:28 +01:00
grdddj
55bb61d404 chore(core): decrease bitcoin size by 1740 bytes 2022-11-10 14:08:28 +01:00
grdddj
45b4b609db chore(core): decrease monero size by 2630 bytes 2022-11-10 14:08:28 +01:00
grdddj
16f1d3da86 chore(core): decrease base and handlers by 300 bytes 2022-11-10 14:08:28 +01:00
grdddj
0c8528821f chore(core): decrease cardano size by 2290 bytes 2022-11-10 14:08:28 +01:00