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
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
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
Martin Milata
4622aec0f1
refactor(core): switch to Rust implementation of QR-Code-generator
...
[no changelog]
2023-03-09 23:36:36 +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
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
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
Andrew Kozlik
9528e2f9eb
feat(common): Add Apple to known FIDO services.
2023-02-28 10:54:48 +01:00
grdddj
acec852aa4
feat(core): show welcome screen after device is connected
...
[no changelog]
2023-02-27 13:22:09 +01:00
Martin Milata
afb5c55416
feat(core/ui): reset_device copy change
...
[no changelog]
2023-02-17 12:35:19 +01:00
tychovrahe
9f7edf210e
feat(core/rust): basic marquee implementation
...
[no changelog]
2023-02-10 19:33:12 +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
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
tychovrahe
8f7cbf7b9d
fix(core): update fat fs library to R0.15
2023-02-02 16:22:23 +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
571bb79e33
chore(core): delete unused bip39/slip39 micropython/C bindings
...
[no changelog]
2023-01-25 19:17:56 +01:00
tychovrahe
4603b9ee74
build(core): embed bootloader according to trezor model
...
[no changelog]
2023-01-20 19:47:12 +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
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
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
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
Martin Milata
bdec3f3979
fix(core/rust/ui): polish confirm_fido
...
[no changelog]
2022-12-15 17:24: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
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
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
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
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
grdddj
f48890afb3
chore(tests): make all the device tests work with UI2
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
matejcik
f1c7129d06
feat(core/model_r): only refresh screen on display_refresh
...
Given that on Model R we have a frame buffer, let's not push out pixels
one by one.
[no changelog]
2022-11-08 15:03:21 +01:00
tychovrahe
a89d139dc9
feat(core): increase clock frequency to 180 MHz
2022-11-04 15:10:55 +01:00
Martin Milata
e778ec4af4
chore(core/rust/ui): avoid nested Child as LayoutObj root
...
[no changelog]
2022-11-03 16:50:03 +01:00
Martin Milata
bf7587574d
chore(core): bump version to 2.5.4
...
[skip_ci]
2022-11-01 14:03:31 +01:00
tychovrahe
6e36f479db
fix(core/rust): fix prompt rendering over warning in pin keyboard
...
[no changelog]
2022-10-31 22:23:26 +01:00
Martin Milata
40a405abea
fix(core/rust/ui): remove extraneous Child wrappers
...
[no changelog]
2022-10-31 14:40:40 +01:00
Andrew Kozlik
627ef9748f
feat(core): Remove coin name from CoinJoin confirmation dialog.
...
[no changelog]
2022-10-26 14:02:03 +02:00
Dusan Klinec
26711857e8
refactor(xmr): remove old BP code
2022-10-25 21:36:03 +02:00
grdddj
8668eba936
feat(core/ui): implement altcoin screens for UI2
...
[no changelog]
2022-10-24 13:38:31 +02:00
grdddj
23a0a37a45
feat(core/rust/ui): support longer passphrases
...
[no changelog]
2022-10-22 17:01:09 +02:00
tychovrahe
da83d98539
refactor(core/rust): use icon blending for three-color icons
...
[no changelog]
2022-10-22 12:20:42 +02:00
Martin Milata
18352acce8
feat(core/rust/ui): replace TT Hoves Medium with DemiBold style
...
[no changelog]
2022-10-22 01:39:53 +02:00
Martin Milata
be7f1c3f7e
fix(core/rust/ui): avoid flickering in hold to confirm
...
[no changelog]
2022-10-21 21:02:39 +02:00
Martin Milata
a7c3a07ef1
refactor(core/rust/ui): implement confirm_properties layout
...
[no changelog]
2022-10-21 21:02:39 +02:00
tychovrahe
86f2dacc6e
fix(core): re-introduce touch event filtering
...
[no changelog]
2022-10-21 14:24:10 +02:00
Martin Milata
f956966fda
build(core/rust): workaround failing build_unix_debug
...
[no changelog]
2022-10-21 13:05:31 +02:00
tychovrahe
d0f1095842
fix(core): expose USB_CHECK for all models
...
[no changelog]
2022-10-19 11:31:03 +02:00
tychovrahe
d3469f8310
fix(core/rust): optimize pin keyboard rendering for TT UI2
...
[no changelog]
2022-10-18 10:17:36 +02:00
Andrew Kozlik
d815a7d6de
chore(core): Use C implementation of Bech32 decode.
2022-10-17 15:20:46 +02:00
matejcik
cac98ad7d4
feat(core/rust): implement storage wrapper layer
...
[no changelog]
2022-10-13 09:18:20 +02:00
tychovrahe
99eaaae28e
build(core): redistribute content in flash
...
[no changelog]
2022-10-03 09:43:53 +02:00
tychovrahe
fb08536b6a
feat(core): icon and images using new format
2022-09-29 21:50:10 +02:00
tychovrahe
f7b9bb4ef8
feat(core/rust): use dma2d to improve rendering performance, implement text over image and icon over icon functions
2022-09-29 21:50:10 +02:00
tychovrahe
223d1b20fb
refactor(core): change fonts organization
2022-09-29 21:50:10 +02:00
tychovrahe
b9647d1296
fix(core): fix flashing usb disconnected error
...
[no changelog]
2022-09-26 13:31:04 +02:00
tychovrahe
a4d0ec3926
fix(core/rust): fix flickering in UI2 hold to confirm screen
...
[no changelog]
2022-09-22 10:03:56 +02:00
Martin Milata
7c11dec7f6
refactor(core/rust/ui): Font as repr(u8) enum
...
[no changelog]
2022-09-16 13:57:32 +02:00
Martin Milata
ef504d40fc
perf(core/rust/ui): use 16-bit coordinates
...
[no changelog]
2022-09-16 13:57:32 +02:00
tychovrahe
e3d5c178f1
feat(core): enable bus fault and usage fault handlers
...
[no changelog]
2022-09-13 15:04:40 +02:00
Martin Milata
5a9c2a1363
feat(core/rust/ui): recovery layouts
...
[no changelog]
2022-09-07 16:46:47 +02:00
Martin Milata
5052594789
refactor(core/rust/ui): simplify button height computation
...
[no changelog]
2022-09-07 16:46:47 +02:00
Martin Milata
885ae2a943
refactor(core/rust/ui): add should_show_more
...
[no changelog]
2022-09-07 16:46:47 +02:00
Martin Milata
a5cff25209
fix(core/rust/ui): expose method for completely repainting layout
...
[no changelog]
2022-09-07 16:46:47 +02:00
Martin Milata
3b629a1ea4
refactor(core/rust/ui): layouts for SLIP-39 backups
...
[no changelog]
2022-09-07 16:46:47 +02:00
Martin Milata
4782afbae3
refactor(core/rust/ui): layouts for BIP-39 backups
...
[no changelog]
2022-09-07 16:46:47 +02:00
Martin Milata
4ff2c99f0a
refactor(core/rust/ui): add show_info and show_error
...
[no changelog]
2022-09-07 16:46:47 +02:00
Martin Milata
f0d5f9069a
refactor(core/rust/ui): text centering in Paragraphs
...
Only works for paragraphs, not formatted text.
[no changelog]
2022-09-07 16:46:47 +02:00
Martin Milata
247d9d267a
feat(core/rust/ui): explicit breaks for Paragraphs
...
[no changelog]
2022-09-07 16:46:47 +02:00
matejcik
7ba7eff118
refactor(core/rust): more explicit buffer semantics, StrBuffer::alloc
...
[no changelog]
2022-09-06 16:27:22 +02:00
Ondrej Mikle
77cdf4b43c
fix(core): consider device in USB suspend connected if it was configured before
...
[no changelog]
2022-09-05 09:36:32 +02:00
tychovrahe
837988f61e
fix(core/rust): fix uzlib window allocation
...
[no changelog]
2022-08-29 10:11:45 +02:00
tychovrahe
dd823097b4
fix(core/rust): fix UI2 loader position
...
[no changelog]
2022-08-26 09:56:43 +02:00
Ondrej Mikle
72228e35cf
feat(core): show red error header when USB data not connected
2022-08-25 16:42:29 +02:00
Ondrej Mikle
a0287698d5
feat(core): show blue dot when USB data not connected
2022-08-25 16:42:29 +02:00
Martin Milata
005e4203a7
refactor(core/rust/ui): text theme struct
...
[no changelog]
2022-08-25 16:33:41 +02:00
Pavol Rusnak
c962d3520b
Merge branch 'release/22.08'
2022-08-22 11:10:45 +02:00
matejcik
0b4ccf45fc
style(core/rust): less expensive conversion from known good utf8 string
2022-08-18 15:22:48 +02:00
matejcik
0fb66d3527
feat(core/rust): unwrap! macro to trigger nicer behavior than the built-in
2022-08-18 15:22:48 +02:00
matejcik
0b52ffb914
feat(core/rust): const geometry
...
Make sure all geometry functions are const. This seems semantically correct and achieves a small space saving.
2022-08-18 15:22:48 +02:00
tychovrahe
6cf92fd748
feat(core): Introduce stack overflow detection by moving stack to the start of RAM
2022-08-16 17:03:06 +02:00
tychovrahe
cc2bfd9c39
feat(core/rust): autoclosing popup for Model R with success animation
2022-08-12 13:30:24 +02:00
tychovrahe
1697be2de8
feat(core/rust): added success animation and rust icon rendering
2022-08-12 13:30:24 +02:00
tychovrahe
820182c6b0
feat(core/rust): expose uzlib functions to rust
2022-08-12 13:30:24 +02:00
tychovrahe
68598f00af
feat(core/rust): hold to confirm animation for Model R
2022-08-12 13:30:24 +02:00
tychovrahe
107e22c814
feat(core/rust): glyph and text rendering in rust
2022-08-12 13:30:24 +02:00
tychovrahe
af77816c2f
feat(core/rust): expose display offset handling to rust
2022-08-12 13:30:24 +02:00
tychovrahe
29a5b0a770
feat(core/rust): implement interpolate color and color table functions in rust
2022-08-12 13:30:24 +02:00
tychovrahe
7f2a995c54
refactor(core/rust): separate lerp and animations
2022-08-12 13:30:24 +02:00
tychovrahe
ce142ffe08
feat(core/rust): make ButtonPos hit function public to enable reuse
2022-08-12 13:30:24 +02:00
tychovrahe
f538547d5b
feat(core): optimize touch controller communication
2022-08-08 15:52:26 +02:00
matejcik
ef47c26272
chore(core,legacy): bump versions
...
[skip_ci]
[no changelog]
2022-08-03 13:10:05 +02:00
Andrew Kozlik
fa5e7feda6
fix(crypto): Fix nonce bias in CoSi signing.
2022-08-02 20:38:04 +02:00
matejcik
a6410693b3
Revert "feat(core): implement firmware dumping"
...
This reverts commit 37c61c1381
.
2022-08-02 17:12:07 +02:00
TychoVrahe
a762e75fee
fix(core): reintroduce touch controller initialization without power down/up in firmware, fix model R firmware initialization
2022-07-26 15:09:43 +02:00
Ondrej Mikle
4d3d9f5d7e
docs(core): documentation on embedded C+Rust debug
2022-07-26 11:24:27 +02:00
grdddj
38f7d32d94
feat(rust): add more details into panic handler
2022-07-20 12:46:01 +02:00
grdddj
9dc73427fb
feat(rust): add print! macro for logging into terminal
2022-07-20 12:46:01 +02:00
Christian Reitter
c5d22b4395
fix(core): correct range in error message
2022-07-01 14:50:19 +02:00
matejcik
c7b6e8986e
fix(core/rust): fix overflow in tests by properly using 0-terminated strings
...
[no changelog]
2022-06-29 09:24:54 +02:00
matejcik
fce188fb96
fix(core/ui): fix char boundary bug in Rust layout
2022-06-28 18:01:02 +02:00
Martin Milata
c9ca7cd544
feat(core/rust/ui): bitcoin layouts
...
[no changelog]
2022-06-28 18:01:02 +02:00
Martin Milata
dd9a7d30e5
refactor(core/rust/ui): expose page count to python
...
[no changelog]
2022-06-28 18:01:02 +02:00
Martin Milata
ee1497b87e
refactor(core/rust/ui): hold-to-confirm for paged content
...
[no changelog]
2022-06-28 18:01:02 +02:00
Martin Milata
24a1f2e25e
refactor(core): remove unused parameter from display_qrcode
...
[no changelog]
2022-06-28 18:01:02 +02:00
Martin Milata
9f0ebf6d1a
refactor(core/rust/ui): arbitrary controls for Dialog component
...
[no changelog]
2022-06-28 18:01:02 +02:00
Andrew Kozlik
892f3e348d
fix(crypto): Remove public key from the ed25519 signing API.
...
[no changelog]
2022-06-27 18:59:08 +02:00
tychovrahe
c33f92bd72
feat(core): add RGB LED driver for Model R
2022-06-22 09:28:31 +02:00
matejcik
2aa427a6e3
feat(core/rust): make Rust buildable without Micropython
...
Features `micropython` and `protobuf` are defined. Protobuf implies micropython
because our protobuf impl is pretty much _for_ micropython.
The respective subdirs are included only if the matching feature is defined.
util.rs is moved to micropython because it mostly concerns micropython interop
ResultExt, useful only for ui_debug, is moved to ui::util.
A new module `trezorhal::time` is provided. It mirrors functionality of
`micropython::time` via stmlib functions. The intended use is to always use
functions from `trezorhal::time`. The right micropython variants are used when
micropython is available, otherwise the pure stmlib versions are called.
ui::*::layout is conditional for micropython feature, because it only concerns
micropython layouts. If we want to reuse layouts defined there, we will need to
export them to not depend on Objs and Qstrs etc.
2022-06-16 13:08:07 +02:00
matejcik
37d5597965
feat(core/rust): direct write to display memory for better performance on TT hardware
2022-06-14 15:09:03 +02:00
matejcik
57b12c2807
feat(core): expose display pixeldata accessors from C
2022-06-14 15:09:03 +02:00
tychovrahe
61482d0795
feat(core/rust): expose raw pixel access to rust
2022-06-14 15:09:03 +02:00
Ondrej Mikle
7b7318c3aa
feat(core/boardloader): add fixed-address boardloader capablities field
2022-06-13 18:18:25 +02:00
Jan Pochyla
c3b82fd651
feat(core/rust): add trezorhal bindings
2022-06-08 14:42:04 +02:00
dependabot[bot]
cc795407d0
build(deps): bump regex from 1.5.4 to 1.5.6 in /core/embed/rust/fuzz
...
Bumps [regex](https://github.com/rust-lang/regex ) from 1.5.4 to 1.5.6.
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.5.4...1.5.6 )
---
updated-dependencies:
- dependency-name: regex
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-06-07 12:20:02 +02:00
dependabot[bot]
3c31d24f50
build(deps): bump regex from 1.5.4 to 1.5.6 in /core/embed/rust
...
Bumps [regex](https://github.com/rust-lang/regex ) from 1.5.4 to 1.5.6.
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.5.4...1.5.6 )
---
updated-dependencies:
- dependency-name: regex
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-06-07 11:18:41 +02:00
Martin Novak
2663801108
perf(firmware): do not initialize touch controller in firmware
2022-06-02 10:30:53 +02:00
matejcik
c77066065e
chore(core/rust): bump cty to 0.2.2
...
this fixes signedness of char on Mac M1
2022-06-01 16:35:33 +02:00
matejcik
38a36a131f
chore: rename BIP39_WORDS to BIP39_WORD_COUNT
2022-06-01 16:35:33 +02:00
matejcik
6319a5a9d0
feat(core/rust): BIP-39 wordlist operations in Rust
2022-06-01 16:35:33 +02:00
Ondrej Mikle
60db3e3e52
fix(core/bootloader): do not wait for touch if we know we are staying in bootloader
2022-06-01 14:50:59 +02:00
Ondrej Mikle
49462dc283
chore(core/bootloader): bump over unreleased version
2022-06-01 14:50:59 +02:00
Ondrej Mikle
c563c987e1
feat(core): jump back and stay in bootloader for TT via reverse SVC call trampoline
2022-06-01 14:50:59 +02:00
matejcik
187ca8ad50
feat(core/rust): List::from_iter
...
[no changelog]
2022-05-17 15:56:26 +02:00
matejcik
b3b3e0efa4
tests(core/rust): ability to set up MicroPython env for testing
...
warning: super hacky!
[no changelog]
2022-05-17 15:56:26 +02:00
Ondřej Vejpustek
db0da196a8
chore(vendor): update secp256k1-zkp to latest
2022-05-16 16:23:18 +02:00
Martin Milata
c257a8a687
fix(core/ui/rust): painting of overlapping Maybe<T> components
...
[no changelog]
2022-05-16 13:54:43 +02:00
Martin Milata
b5dfda6a1d
fix(core/rust/ui): support longer PIN
...
[no changelog]
2022-05-16 13:54:43 +02:00
Martin Milata
31e63f688e
fix(core/rust/ui): implement warning for PIN dialog
...
[no changelog]
2022-05-16 13:54:43 +02:00
Martin Milata
3dcdffe203
refactor(core/rust/ui): emit event when component tree is initialized
...
[no changelog]
2022-05-16 13:54:43 +02:00
Martin Milata
7b5c618576
refactor(core/rust/ui): erase button clears PIN after 2s
...
[no changelog]
2022-05-16 13:54:43 +02:00
Martin Milata
e58736f746
feat(core/rust/ui): show PIN digits when touched
...
[no changelog]
2022-05-16 13:54:43 +02:00
Dusan Klinec
14e08ca9db
fix(xmr): remove 8192B from firmware image so it can fit to the memory
...
- old BP GI, HI constants are shortened to reduce firmware size
2022-05-16 12:37:24 +02:00
Dusan Klinec
25d32a8144
feat(xmr): implement bp+, refactor, code cleanup
...
- implement BulletProof plus verifier and prover
- use bulletproof exception to signalize proof generation failed and should be tried again. More robust, fixes bug that was not triggered yet (return tuple did not work properly in all situations)
- precomputed 2**i vector is removed as it can be easily computed
- BP code cleanup, minor optimizations, comments
2022-05-16 12:37:24 +02:00
Dusan Klinec
33c174491f
refactor(core/monero): Monero code cleanup
...
* remove support for HF12 and below
* remove MLSAG support
* clean up monero cryptography naming
* get rid of "optional first argument" pattern, in favor of mandatory argument that is allowed to be None
(and fix several bugs related to this feature)
Co-authored-by: grdddj <jiri.musil06@seznam.cz>
Co-authored-by: Martin Milata <martin@martinmilata.cz>
Co-authored-by: matejcik <ja@matejcik.cz>
2022-05-16 12:37:24 +02:00
matejcik
99c817bad4
fix(core/emulator): make sure SDL keyboard and quit events are always processed
...
fixes #973
2022-05-16 10:59:48 +02:00
grdddj
feb96c84b0
chore(core/rust): use clippy for all features
2022-05-16 10:49:04 +02:00
tychovrahe
8a092bde21
feat(core): add smaller loader for model R
2022-05-10 16:49:23 +02:00
tychovrahe
bd476769cc
feat(core): add reset state on display clear on model R. Added to rest of the models as noop.
2022-05-10 16:49:23 +02:00
tychovrahe
58041036f5
feat(core): set colors for monochromatic displays
2022-05-10 16:49:23 +02:00
tychovrahe
0e778cf16d
fix(core): fix display_icon function - incorrect boundaries checks
2022-05-10 16:49:23 +02:00
tychovrahe
f7a3aad9bd
feat(core): initial Model R display implementation with framebuffer
2022-05-10 16:49:23 +02:00
tychovrahe
936c84bac6
feat(core): added button support for Model R
2022-05-10 16:49:23 +02:00
grdddj
7804893179
feat(core/rust): create model_tr feature
...
Make event.rs shared among all features, under src/ui/event.rs.
[no changelog]
2022-05-06 11:44:52 +02:00
grdddj
12da7f301d
feat(core): allow for model R in firmware build
...
As model R will run on the same computational hardware as model T,
memory_R.ld is just a symbolic link to memory_T.ld.
[no changelog]
2022-05-06 11:44:52 +02:00
grdddj
6b5f578d02
feat(core): implement basic R emulator
...
Can be built by `TREZOR_MODEL=R make build_unix`, `make build_unix_frozen` does not work yet.
All the dialogs are not very pretty, they are just meant to work.
2022-05-06 11:44:52 +02:00
Martin Milata
692ea1415e
chore(core): bump version to 2.5.2
...
[skip_ci]
2022-05-04 12:09:14 +02:00
matejcik
37c61c1381
feat(core): implement firmware dumping
2022-05-03 19:00:04 +02:00
Andrew Kozlik
485ee6e209
feat(core): Show progress in GetFirmwareHash.
2022-05-03 19:00:04 +02:00
Andrew Kozlik
822b1c344f
feat(core): Return fw_vendor in firmware Features message.
2022-05-03 19:00:04 +02:00
Andrew Kozlik
1da446a8fb
refactor: Move flash_init to emulator main.
2022-05-03 19:00:04 +02:00
Andrew Kozlik
106ab65e21
feat(core): Implement GetFirmwareHash message.
2022-05-03 19:00:04 +02:00
Martin Milata
18c8304339
fix(core): leftover TREZOR_MODEL defines
...
[no changelog]
2022-04-28 16:47:22 +02:00
TychoVrahe
7912a7d0d3
build(core,storage): fix conditional compilation for different Trezor models
...
* build(core,storage) - Fix conditional compilation for different trezor models
* build(core) - Rename MODEL_* macro to TREZOR_MODEL_*, remove the original TREZOR_MODEL macro (replaced by conditional compilation for QSTR generation)
* build(core) - fixed missing TREZOR_MODEL to TREZOR_MODEL_x changes
[no changelog]
2022-04-26 13:47:40 +02:00
matejcik
a9b46f0249
fix(core/rust): be more defensive about strings coming in from uPy
2022-04-11 16:49:58 +02:00
matejcik
8dd7a22f8b
refactor(core/rust): disallow creating byte buffers from &str
2022-04-11 16:49:58 +02:00
matejcik
32c3320f07
refactor(core/rust): pass around &str instead of [u8] in most places
2022-04-11 16:49:58 +02:00
matejcik
785dc7f4d7
feat(core/rust): introduce StrBuffer
...
it is a variant of Buffer specifically for accepting python `str`
2022-04-11 16:49:58 +02:00
Martin Milata
1f612580f7
feat(core): enable UI tests for redesigned UI
...
[no changelog]
2022-04-07 17:58:41 +02:00
Martin Milata
38f4ab0983
feat(core/rust/ui): return Layout results as singleton objects
...
[no changelog]
2022-04-04 13:32:07 +02:00
Jan Pochyla
36829cfa8f
feat(core/rust): Add obj_module! macro
...
[no changelog]
Co-authored-by: Martin Milata <martin@martinmilata.cz>
2022-04-04 13:32:07 +02:00
Martin Milata
30ec1802f4
chore(core): bump version to 2.5.1
...
[skip_ci]
2022-03-30 21:57:54 +02:00
Pavol Rusnak
9a8e257619
fix(core): fix SDL2 include path
...
[no changelog]
2022-03-29 12:22:11 +02:00
Martin Milata
4eefaffac9
fix(core/rust/ui): recovery/passphrase keyboard fixes
...
[no changelog]
2022-03-23 13:40:45 +01:00
Martin Milata
efe25a6ab4
fix(core/rust/ui): pin keyboard tweaks
...
[no changelog]
2022-03-23 13:40:45 +01:00
Martin Milata
d51072b8c1
refactor(core/rust/ui): unhardcode screen size
...
[no changelog]
2022-03-23 13:40:45 +01:00
Jan Pochyla
801679bccf
chore(core/rust): Add dynamic place system
2022-03-22 16:08:50 +01:00
Pavol Rusnak
6052e71bbb
fix(core): fix build with FEATURE_FLAGS.SECP256K1_ZKP=False
...
[no changelog]
2022-03-18 12:03:41 +01:00
Jan Pochyla
4c027a688c
chore(core/rust): Simplify LayoutObj
2022-02-18 11:27:23 +01:00
Jan Pochyla
2b6f1a4d5c
chore(core/rust): Use MultiTapKeyboard in passphrase
2022-02-17 15:17:11 +01:00
Jan Pochyla
3c337723b2
chore(core/rust): Add mnemonic keyboards
2022-02-17 15:17:11 +01:00
Pavol Rusnak
c6667fa0c2
feat(core): verify bip340 pubkeys used in p2tr addresses
...
Co-Authored-By: Ondřej Vejpustek <ondrej.vejpustek@satoshilabs.com>
2022-02-16 10:25:15 +01:00
Martin Milata
80655747d0
test(core/rust/ui): pagination unit test
...
[no changelog]
2022-02-10 14:57:42 +01:00
Martin Milata
ab0eef5de0
fix(core/rust/ui): adjust spacing for confirm_action
...
[no changelog]
2022-02-10 14:57:42 +01:00
Martin Milata
5378492ea9
chore(core/rust): wireframe rendering for ui debugging
...
[no changelog]
2022-02-10 14:57:42 +01:00
Martin Milata
10650af1fa
refactor(core/rust/ui): paragraphs breaking
...
Also fix corner case.
[no changelog]
2022-02-10 14:57:42 +01:00
Martin Milata
b5da6dc911
refactor(core/rust): geometry/display API improvements
...
[no changelog]
2022-02-10 14:57:42 +01:00
Martin Milata
f2b8822d76
refactor(core): improve build-time option for old/new UI
...
[no changelog]
2022-02-10 14:57:42 +01:00
Martin Milata
b64c69c3ff
feat(core/rust/ui): implement confirm_action
...
[no changelog]
2022-02-10 14:57:42 +01:00
Martin Milata
6d1227d839
feat(core/rust/ui): SwipePage: add buttons, auto-disable scrolling
...
[no changelog]
2022-02-10 14:57:42 +01:00
Martin Milata
695d80bf54
refactor(core/rust/ui): uPy buffer support for TT buttons
...
[no changelog]
2022-02-10 14:57:42 +01:00
Martin Milata
f167a2bef2
feat(core/rust/ui): add model T title bar
...
[no changelog]
2022-02-10 14:57:42 +01:00
Martin Milata
c7b33e2bc0
feat(core/rust/ui): add new icons
...
[no changelog]
2022-02-10 14:57:42 +01:00
Martin Milata
b46901bc8b
feat(core): add TT Hoves fonts, introduce medium variant
...
Co-authored-by: Pavol Rusnak <pavol@rusnak.io>
[no changelog]
2022-02-10 14:57:42 +01:00
Jan Pochyla
d979efc3ca
chore(core/rust): Try to simplify pagination a bit
...
[no changelog]
2022-02-08 15:40:37 +01:00
Martin Milata
8fb28e4af5
feat(core/rust): impl Paginate for Paragraphs
...
[no changelog]
2022-02-08 15:40:37 +01:00
Martin Milata
f29ccf6009
fix(core/rust): UI tweaks
...
[no changelog]
2022-02-08 15:40:37 +01:00
Martin Milata
48f29ee0b9
refactor(core/rust): return bounding box after laying out text
...
[no changelog]
2022-02-08 15:40:37 +01:00
Martin Milata
bea696dfc9
feat(core/rust): Paginated for T1
...
[no changelog]
2022-02-08 15:40:37 +01:00
Martin Milata
19b2358084
refactor(core/rust): T1 title bar
...
[no changelog]
2022-02-08 15:40:37 +01:00
Martin Milata
7f224ab36d
refactor(core/rust): model-agnostic Paginated
...
[no changelog]
2022-02-08 15:40:37 +01:00
Jan Pochyla
a3c79bf4f7
feat(core/rust): Add Paginated component
2022-02-01 10:51:02 +01:00
Jan Pochyla
a7a305d34d
fix(core/rust): Fix request_complete_repaint for components without any Child descendants
2022-02-01 10:51:02 +01:00
Jan Pochyla
129363f080
feat(core/rust): Add Trace to Paragraph[s], improve size calculation
2022-02-01 10:51:02 +01:00
Jan Pochyla
d2c8c66385
feat(core/rust): First shot at Paragraphs API
2022-02-01 10:51:02 +01:00
Jan Pochyla
8c47b94b79
feat(core/rust): Add experimental LinearLayout
2022-02-01 10:51:02 +01:00
Jan Pochyla
3dd3d7f87b
feat(core): Add HoldToConfirm example, improve Loader and animation frame support
2022-02-01 10:51:02 +01:00
Jan Pochyla
117a0bd518
feat(core): Add preliminary anim frame support
2022-02-01 10:51:02 +01:00
Jan Pochyla
be3e99b96d
feat(core): Add WiP Loader & generic Animation type
2022-02-01 10:51:02 +01:00
matejcik
87a7e94f5c
feat(core/rust): add saturating multiplication by f32 to Duration
2022-02-01 10:51:02 +01:00
Jan Pochyla
baffe8fdf3
chore(core/rust): Add int variant to tracing
2022-01-28 09:58:49 +01:00
Jan Pochyla
5b0686f09a
chore(core/rust): Forbid unsafe in components
...
To be expanded to other modules.
2022-01-28 09:58:49 +01:00
Jan Pochyla
12deedf3f6
chore(core/rust): Add backlight fading fn
2022-01-28 09:58:49 +01:00
Jan Pochyla
a54ca9cb05
chore(core/rust): Add micropython::time::sleep
2022-01-28 09:58:49 +01:00
Jan Pochyla
334a143b76
chore(core/rust): Split FormattedText into separate mod
2022-01-28 09:58:49 +01:00
Jan Pochyla
d5a74a8614
chore(core/rust): Rename Text to FormattedText
2022-01-28 09:58:49 +01:00
Jan Pochyla
39263144b7
chore(core): Various little improvements in Rust UI
2022-01-28 09:58:49 +01:00
Jan Pochyla
998210d569
feat(core): Add Instant and Duration types
2022-01-28 09:58:49 +01:00
Pavol Rusnak
37bd121394
chore(core/embed): check for negative values in trezor_get_uint
...
[no changelog]
2022-01-26 16:22:50 +01:00
Andrew Kozlik
49ae8848db
fix(core): Fix memory leaks in emulator.
...
[no changelog]
2022-01-19 15:22:03 +01:00
Andrew Kozlik
39b64b8569
fix(core): Fix stack-use-after-scope in display.c.
...
[no changelog]
2022-01-19 15:22:03 +01:00
Pavol Rusnak
4a71d15b1d
chore(core/embed): refactor trezor_obj_get_uint64 into trezorobj.h
...
[no changelog]
2022-01-19 11:16:47 +01:00
matejcik
45787307ca
style(core): support AnyStr in all hash function arguments
2022-01-07 21:41:17 +01:00
grdddj
9fc5bb546b
style(core): full pyright-based type-checking
...
Changes many fields to required -- as far as we were able to figure out,
signing would fail if these fields aren't provided anyway, so this
should not pose a compatibility problem.
Co-authored-by: matejcik <ja@matejcik.cz>
2022-01-07 21:41:17 +01:00
Pavol Rusnak
b0e0280465
chore: drop obsolete fw_vendor_keys field from Features
...
[no changelog]
2022-01-03 14:23:58 +01:00
Pavol Rusnak
35d40cc164
fix(core): change logic of vendor header comparison
...
Previously we checked whether the current vendor header and
the new vendor header are the same by comparing the embedded keyset.
What originally looked like a good idea is not that good, because
this disallows us from ever changing the vendor header signing keys
without causing erasure of the storage during the version update.
This commit fixes that by changing the logic to comparing just the
vendor string.
Change of function names is purely cosmetic:
* vendor_keys_hash -> vendor_header_hash
* check_vendor_keys_lock -> check_vendor_header_lock
2022-01-03 14:23:58 +01:00
Pavol Rusnak
56f0e2c5de
fix(core): add missing include
...
we were using `FILE` and `fprintf` without including the stdio header
2021-12-14 19:57:21 +01:00
Pavol Rusnak
30a77a76bc
chore(legacy): rename MEMORY_PROTECT flag to PRODUCTION to match core naming ( #2003 )
2021-12-12 15:45:10 +01:00
Martin Milata
1734957685
build(core): update rust edition to 2021
...
[no changelog]
2021-12-07 17:12:43 +01:00
Martin Milata
38c526719c
chore(core): bump version to 2.4.4
...
[skip_ci]
2021-12-01 14:45:47 +01:00
Martin Milata
7cc9f13605
refactor(core/rust): allow model_t1 and model_tt at once
...
[no changelog]
2021-11-24 15:36:34 +01:00
Martin Milata
afd7cb3b01
feat(core/rust): add example layout for T1
...
[no changelog]
2021-11-24 15:36:34 +01:00
Martin Milata
4d60c10330
feat(core/rust): add support for T1 UI
...
[no changelog]
2021-11-24 15:36:34 +01:00
Martin Milata
3c49ef2f62
feat(core/rust): exposing vararg functions to uPy
...
[no changelog]
2021-11-24 15:36:34 +01:00
Ondrej Mikle
219e08d81e
build(core): keep bootloader image even for non-production builds
...
[no changelog]
2021-11-23 16:29:38 +01:00
Martin Milata
aa3784f726
build(core): place secp256k1-zkp in FLASH2 to make space for bootloader
...
[no changelog]
2021-11-23 14:51:11 +01:00
Martin Milata
d656f88572
style(all): reformat with clang-format 13.0
2021-11-19 10:54:31 +01:00
Ondřej Vejpustek
ad38d8e324
refactor(crypto,core): make zkp_context_init() return status
2021-11-18 19:05:40 +01:00
Ondřej Vejpustek
f918cf9a27
fix(core): fix typos in modtrezorcrypto-bip340.h
2021-11-18 19:05:40 +01:00
Andrew Kozlik
aaceb5bcc6
chore(core): Remove USE_SECP256K1_ZKP_BIP340 build option.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
ae41f7dec8
fix(core): Fix bip340 module build.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
59c0f4383d
feat(core): Add key tweaking functions to trezorcrypto.bip340.
2021-11-13 13:33:46 +01:00
matejcik
f6f52445bd
feat(core/cardano): support Icarus, Icarus-Trezor, and Ledger derivations
2021-11-10 13:57:57 +01:00
matejcik
387466e073
refactor(core): separate Cardano cryptography into its own module
2021-11-10 13:57:57 +01:00
Pavol Rusnak
a3b83685ef
fix(core): fix emulator build on Apple Silicon
...
[no changelog]
2021-11-08 11:00:04 +01:00
Andrew Kozlik
eb90efd914
chore(crypto,core,legacy): Add return code to hdnode_fill_public_key().
...
[no changelog]
2021-11-01 16:39:53 +01:00
Andrew Kozlik
34621a6b6d
fix(crypto,core,legacy): Check private key validity when deriving public key.
...
[no changelog]
2021-11-01 16:39:53 +01:00
matejcik
1d72085b5c
feat(core): implement conversion from timestamp to datetime
2021-10-29 11:00:30 +02:00
Ondřej Vejpustek
a924bd4dc6
build(core): do not link gen_context.o to trezor_lib
2021-10-25 14:41:28 +02:00
Ondřej Vejpustek
29ce860d46
refactor(core,crypto): rename schnorr to BIP340
2021-10-25 14:41:28 +02:00
Ondřej Vejpustek
15bb085509
refactor(core,crypto): make public key derivation functions return
...
status
2021-10-25 14:41:28 +02:00
Ondřej Vejpustek
172f399b29
style(core): fix style
2021-10-25 14:41:28 +02:00
Ondřej Vejpustek
7ac0bdd215
feat(core): make core use Schnorr signatures
2021-10-25 14:41:28 +02:00
Ondřej Vejpustek
26463eb3ce
feat(core): make core use ecdsa from secp256k1_zkp wherever possible
2021-10-25 14:41:28 +02:00
Pavol Rusnak
9e0cfa6783
fix(core): we don't need separate linker script for zkp
2021-10-25 14:41:28 +02:00
matejcik
32be2c09b9
feat(core): enable f-strings for micropython
...
[no changelog]
2021-10-13 11:53:17 +02:00
Jan Pochyla
901580817d
chore(core/rust): fixes and formatting
...
[no changelog]
2021-10-07 15:01:55 +02:00
Jan Pochyla
5eefcffc7c
chore(core): prepare for fuzzing targets
...
First, we change the Protobuf definition includes to use an exact path relative to our crate's directory, instead of the OUT_DIR. This fixes build when a combination of stable and nightly toolchains is used (nightly is needed for the fuzzing targets).
Another change is a slight fix in the panic handler conditional compilation. Fuzzing is using the crate with `features = ["test"]`, but doesn't turn on the `test` cfg.
[no changelog]
2021-10-07 15:01:55 +02:00
Jan Pochyla
2703d714c2
feat(core): add Rust UI components, layouts, text rendering
...
[no changelog]
2021-10-07 15:01:55 +02:00
Pavol Rusnak
b03b688f2d
fix(core): avoid accidental build with broken stack protector (boardloader)
2021-09-29 12:48:31 +02:00
Ondrej Mikle
a85d2483ff
chore(legacy & core): changelogs added
2021-09-27 15:42:29 +02:00
Ondrej Mikle
0b077fea8a
fix(core & legacy): explicit compiler versions
2021-09-27 15:42:29 +02:00
Ondrej Mikle
e982181148
style(core & legacy): buggy compiler checks
2021-09-27 15:42:29 +02:00
Ondrej Mikle
6ea4b7b211
fix(core & legacy): better styled compiler checks
2021-09-27 15:42:29 +02:00
Ondrej Mikle
6b849b1d4d
fix(core & legacy): avoid accidental build with broken stack protector
2021-09-27 15:42:29 +02:00
Martin Milata
81e66cb024
style(core/rust): enable clippy lints
...
[no changelog]
2021-09-23 14:22:40 +02:00
Martin Milata
bd005e33df
refactor(core): decouple T1 button handling from touch
...
[no changelog]
2021-09-23 12:30:13 +02:00
Jan Pochyla
2c8dec93a6
feat(core): Split unix main, link core obj into Rust test target
2021-09-21 12:43:31 +02:00
matejcik
7a17124b43
refactor(core/rust): do not rely too much on new_exception helpers
2021-09-21 12:43:31 +02:00
matejcik
5e452dc57c
refactor(core/rust): propagate unsafety of raise_exception
2021-09-21 12:43:31 +02:00
matejcik
806beb77d2
feat(core/rust): improve catch_exception, make use of Rust 1.55
2021-09-21 12:43:31 +02:00
matejcik
795ed2d339
fix(core/rust): fix "unnecessary unsafe" warning
...
[no changelog]
2021-09-21 12:43:31 +02:00
matejcik
31de21718f
feat(core/rust): introduce Obj.is_null()
...
[no changelog]
2021-09-21 12:43:31 +02:00
matejcik
b666895303
feat(core/rust): catch, handle and propagate uPy exceptions
2021-09-21 12:43:31 +02:00
matejcik
8abcb6f8cc
chore(core/rust): allow unused macros
...
[no changelog]
2021-09-21 12:43:31 +02:00
Jan Pochyla
7c65f0357a
feat(core/rust): Implement exception catching in Rust
...
chore(core): Add test for Rust exc catching
chore(core): Document exception catching in Rust
[no changelog]
2021-09-21 12:43:31 +02:00
Martin Milata
aace875fef
chore(vendor): bump micropython to 1.17
...
Relevant micropython commits:
d1bfb271d7686708fe8711a177629c8bf6e7f6a6 lib/uzlib: Move uzlib code from extmod to lib.
4d546713ec8858cbf908de45de11cbfc46a20971 shared: Introduce new top-level dir and move 1st party lib code there.
ca920f72184c50f61002aa9d5cd01555b1e28b7b py/mpstate: Make exceptions thread-local.
2021-09-17 11:18:14 +02:00
Martin Milata
b062b95348
chore(vendor): bump micropython to 1.15
...
Relevant micropython commits:
ad4656b861f94277bed9647ca176e662ce5119e3 all: Rename BYTES_PER_WORD to MP_BYTES_PER_OBJ_WORD.
9fef1c0bde2f9642d383bd56aa112447384a84ba py: Rename remaining object types to be of the form mp_type_xxx.
5fdf351178df9a18df624ae0f5947d8a5a6bce40 py/gc: Don't include mpconfig.h and misc.h in gc.h.
2021-09-17 11:18:14 +02:00
Martin Milata
d69b23e3c5
chore(core/emulator): ignore MICROPY_UNIX_COVERAGE
...
Seems to be micropython internal flag that hasn't been working in our
emulator for some time.
Relevant micropython commits:
b9a35bebf75be53a817bf6341af14b882093e345 py/qstr.h: Remove QSTR_FROM_STR_STATIC macro.
[no changelog]
2021-09-17 11:18:14 +02:00
Pavol Rusnak
d153082c9c
chore(vendor): bump micropython to 1.14
...
Relevant micropython commits:
4559bcb4679e04e0a5e24030675676ff6a9803f2 unix: Make mp_hal_delay_ms run MICROPY_EVENT_POLL_HOOK.
2021-09-17 11:18:14 +02:00
Martin Milata
a007e062ab
style(core): apply rustfmt
...
[no changelog]
2021-09-16 14:57:06 +02:00
Tomas Susanka
cec1f39a90
chore(core, legacy): bump versions
...
[no changelog]
2021-08-31 12:55:37 +02:00
Martin Milata
f37ca13f1a
refactor(core): disable SD, SBU, fatfs for T1 build
2021-08-20 12:22:13 +02:00
Martin Milata
582e1318c4
feat(core/emulator): support protobuf messages in memory dumps
...
[no changelog]
2021-07-22 13:31:11 +02:00
Martin Milata
412d06fdfe
docs(core+legacy): use towncrier for generating CHANGELOG.md
...
core/embed/boardloader/CHANGELOG.md
core/embed/bootloader/CHANGELOG.md
core/embed/bootloader_ci/CHANGELOG.md
legacy/intermediate_fw/CHANGELOG.md
2021-07-21 14:27:20 +02:00
Pavol Rusnak
d35071d732
docs(core+legacy): update changelogs to new format
2021-07-21 14:27:20 +02:00
Martin Milata
ceaf4da617
fix(core): explicitly refresh display on T1
...
[no changelog]
2021-07-20 22:00:42 +02:00
Pavol Rusnak
3d69ca1b1b
chore(vendor): update nanopb to 0.4.5
2021-07-14 17:34:12 +02:00
matejcik
b41d4c71f0
feat(core/emulator): JSON memory map dump
...
use `trezor.utils.mem_dump("somefile.json")` in a key place, then
`analyze.py src/somefile.json` to look at what is going on
2021-07-14 13:50:24 +02:00
matejcik
fe6c131b14
feat(core/emulator): build emulator with -DSTATIC=
...
This is perhaps a cleaner way to expose all relevant structures for
memory analysis.
2021-07-14 13:50:24 +02:00
Martin Milata
81869fc4b0
chore(core): bump version to 2.4.2
...
[skip_ci]
2021-07-08 13:38:29 +02:00
Martin Milata
f06a57237b
style(core): trezorhal/random_delays.c
2021-07-07 14:39:24 +02:00
Pavol Rusnak
8cfa5da1ce
docs: fix typos in comments
...
[skip_ci]
2021-06-30 15:41:55 +02:00
Ondřej Vejpustek
24200e7424
fixup! fix(legacy): make RDI work on T1
2021-06-24 17:34:24 +02:00
Ondrej Mikle
daa94ac941
fix(legacy): make RDI work on T1
2021-06-24 17:34:24 +02:00
Ondřej Vejpustek
b8b0ae09d9
fix(core): use unprivileged shutdown where needed
2021-06-23 16:40:45 +02:00
Ondřej Vejpustek
5984fd6ad7
feat(core): jump to unprivileged mode after shutdown
2021-06-23 16:40:45 +02:00
Ondřej Vejpustek
40b4f679f9
feat(core): implement wrapper for svc_shutdown
2021-06-23 16:40:45 +02:00
Ondřej Vejpustek
311288407e
docs(core): document shutdown_privileged
2021-06-23 16:40:45 +02:00
Ondřej Vejpustek
4968d7da53
feat(core): implement svc shutdown
2021-06-23 16:40:45 +02:00
Ondřej Vejpustek
cca9d4b1c4
refactor(core): rename shutdown to shutdown_privileged
2021-06-23 16:40:45 +02:00
Ondřej Vejpustek
7686eb355a
fix(core): fix import of random delays
2021-06-23 16:40:45 +02:00
Pavol Rusnak
69d1465e08
refactor(core): pass invert_colors to send_init_seq_ST7789V as argument
...
to make the call more flexible
2021-06-19 19:57:42 +02:00
Pavol Rusnak
18e103bb94
style(core): refactor style of display-stm32_T
2021-06-19 19:54:19 +02:00
matejcik
c06a93cba5
feat(core/rust): propagate bitcoin_only flag to Rust build
2021-06-08 09:55:19 +02:00
Jan Pochyla
8a21e3fc73
feat(core): Add Rust Protobuf codec
2021-06-08 09:55:19 +02:00
Pavol Rusnak
23aa69caea
fix(core): unify Features.revision reporting with legacy
2021-06-04 12:50:49 +02:00
Martin Milata
ca836b2e45
chore(core): bump version to 2.4.1
2021-06-02 12:50:22 +02:00
Martin Milata
8c6b93e0bd
build(core): account for ARM unwinding info in memory layout
...
Currently the 8-byte section is inserted under semi-random name like
.ARM.exidx.text._ZN50_$LT$T$u20$as$u20$core..convert..Into$LT$U$GT$$GT$4into17h79ccbc4bdfe3f200E.
This makes it hard to include it in _codelen that is later baked into
firmware header. This change adds new section because including it in
.flash causes linker error due to mixing "ordered" and "unordered"
sections.
By renaming .exidx to /DISCARD/ we'd drop this info, there may also
exist compiler flag to do that.
2021-05-21 13:49:42 +02:00
Martin Milata
20fe8552ca
build(core/rust): use correct architecture for T1
...
TT is Cortex-M4 is Armv7E-M while T1 is Cortex-M3 is Armv7-M:
https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/armv6-m-vs-armv7-m---unpacking-the-microcontrollers
2021-05-21 13:49:42 +02:00
Ondřej Vejpustek
6fd4739c5c
feat(core): make random delays use chacha_drbg
2021-05-21 13:42:53 +02:00
Ondřej Vejpustek
e1a5f42c81
feat(core): make chacha_drbg more robust
2021-05-21 13:42:53 +02:00
Ondřej Vejpustek
8ee17f69b3
refactor(core): move wait_random and rdi into separate file
2021-05-21 13:42:53 +02:00
matejcik
e015bc0856
build(core/rust): disable nightly-only features
...
When we need them, we will re-enable.
2021-05-21 13:42:10 +02:00
matejcik
5f4240d93c
feat(core): preallocate sys.modules to an appropriate size
2021-05-06 13:14:21 +02:00
matejcik
391976bcda
refactor(core/usb): do not require serial number on instantiaton of USB
...
On a cleanly wiped device, storage must be unlocked in order to create
and retrieve the serial number. However, storage unlocking happens in
boot.py, which is imported _after_ usb.py
We must therefore sidestep asking for the serial number.
2021-05-06 13:14:21 +02:00
Jan Pochyla
6257584951
feat(core): Add Rust bindings to MicroPython and trezorhal
...
core: Remove dangling module decls
core: Use new Cargo feature resolver, use external MacOS debug info
core: Rust docs improvements
core: Upgrade bindgen
core: Add test target to Rust
ci: build rust sources
build(core): .ARM.exidx.text.__aeabi_ui2f in t1 firmware size
It's an unwind table for softfloat function inserted by rustc, probably
can be removed to save 8 bytes:
599c58db70/link.x.in (L175-L182)
scons: Remove dead code
core: Move Rust target to build/rust
core: Replace extern with a FFI version
core: Add some explanatory Rust comments
core: Use correct path for the Rust lib
core: Remove Buffer::as_mut()
Mutable buffer access needs MP_BUFFER_WRITE flag. TBD in the Protobuf PR.
core: Improve docs for micropython::Buffer
core: Minor Rust docs changes
core: Rewrite trezor_obj_get_ll_checked
core: Fix incorrect doc comment
core: Remove cc from deps
fixup! core: Rewrite trezor_obj_get_ll_checked
core: update safety comments
2021-05-05 16:00:21 +02:00
mcudev
e3539b0a73
core/embed/usb: add back usb fs code for t1 and redo fifo sizing
2021-04-14 23:03:29 +02:00
mcudev
6137a55b06
core/embed/usb: use all available usb endpoints and update the usb fifo sizing
2021-04-09 12:50:40 +02:00
Martin Milata
ac711fb8ee
style(core): use more recent type annotation syntax
...
https://www.python.org/dev/peps/pep-0585/ - Type Hinting Generics In Standard Collections
https://www.python.org/dev/peps/pep-0604/ - Allow writing union types as X | Y
2021-04-01 11:12:30 +02:00
Martin Milata
8b3ac659a0
style(core): mypy: disable implicit Optional for function arguments
...
https://www.python.org/dev/peps/pep-0484/#union-types
2021-04-01 11:12:30 +02:00
Andrew Kozlik
2836bfc64c
fix(core): Improve error handling and range checking in modtrezorconfig.
2021-03-26 10:54:56 +01:00
Andrew Kozlik
66823e2893
chore(core,legacy): Bump FIX_VERSIONs due to upgrade to storage version 3.
2021-03-25 14:24:41 +01:00
Andrew Kozlik
3084d1196d
feat(core): Support 50 digit PIN and wipe code.
2021-03-25 14:24:41 +01:00
Pavol Rusnak
4649b80b44
feat(core): allow secp256k1-zkp for bitcoin-only build
...
(but keep it disabled)
2021-03-18 15:42:52 +01:00
Pavol Rusnak
d211e3af07
fix(core): switch define to invert display colors into const volatile
...
using define causes compiler to over-optimize the code in display_init_seq
leading to larger differences in the resulting binaries when the flag changes
we want to keep the difference to minimum (1 byte) and using const volatile
instead of define achieves that
2021-03-11 12:29:00 +01:00
Pavol Rusnak
e7966cc804
refactor(core): rework color definitions in bootloader
2021-03-10 18:33:00 +01:00
Pavol Rusnak
3294a49cec
fix(core): don't assert reset flags to allow "reboot to bootloader"
2021-03-10 18:31:51 +01:00
Pavol Rusnak
1e2bb337a9
refactor(core): drop buttons argument for ui_screen_firmware_info
2021-03-10 17:42:52 +01:00
Pavol Rusnak
814db111b2
feat(core): add define to invert display colors on ST7789V
2021-03-10 16:06:18 +01:00
Pavol Rusnak
5cff6ac964
doc(core): update comments around UDP emulator
...
drop unused define
2021-03-09 16:19:03 +01:00
Andrew Kozlik
a8c500bffd
feat(core): Ensure that WebAuthn runs on port 21326 by default for both production and debug emulator.
2021-03-09 16:13:21 +01:00
Pavol Rusnak
ebfd51d818
fix(core): stay_in_bootloader should default to false, not true
2021-03-06 20:09:56 +01:00
Pavol Rusnak
efac5d56f5
fix(core): change touch i2c clock speed to 200 kHz
...
fixes #1519
2021-03-06 20:02:11 +01:00
Martin Milata
7c1d72c254
style(core): fix bootloader formatting
2021-03-04 19:21:56 +01:00
Pavol Rusnak
29a3e91f09
feat(core): refactor display_init_seq from display_init
2021-03-04 17:04:35 +01:00
Pavol Rusnak
5dd3d73d00
fix(core): remove unused stuff from bootloader_ci
...
plus minor ui function renames
2021-03-04 17:01:01 +01:00
Ondrej Mikle
a4ba24645b
feat(core): remove connect to host dialog in the bootloader
2021-03-04 16:34:30 +01:00
Pavol Rusnak
f3ae3615c7
fix(core): unify bootloader_ci with bootloader
2021-03-04 15:59:25 +01:00
Pavol Rusnak
b074404dcf
fix(core): small secbool refactor for bootloader_ci
2021-03-04 12:14:26 +01:00
Pavol Rusnak
2dc094bd3e
fix(core): small secbool refactors
2021-03-04 11:59:38 +01:00
Martin Milata
48627b7f0f
fix(core): bootloader_ci build
...
See also f46380147f
.
2021-02-15 20:55:54 +01:00
Pavol Rusnak
5395c542c1
chore(core): update changelog, bump version to 2.3.7
2021-02-13 11:16:11 +01:00
Pavol Rusnak
f46380147f
fix(core): update sync protobuf messages in bootloader
2021-02-10 10:56:52 +01:00
matejcik
ccd241fe55
feat(core/cardano): enable typing for Cardano app
2021-02-10 10:56:52 +01:00
Ondrej Mikle
22d01b6ff4
chore(core): bootloader_ci - decouple file links from original bootloader
2021-01-27 23:43:38 +01:00
Pavol Rusnak
a11cb11ba3
chore(core): rework SYSTEMVIEW_DEST_SYSTEMVIEW
...
to work with ifdef instead of if
2021-01-26 20:53:38 +01:00
Ondrej Mikle
d99127771c
chore(core): reorder includes
2021-01-26 20:53:38 +01:00
Ondrej Mikle
a628b9a92d
chore(core): remove unneeded include
2021-01-26 20:53:38 +01:00
Ondrej Mikle
4cf91b128d
style(core): systemview editorconfig reformat
2021-01-26 20:53:38 +01:00
Ondrej Mikle
9411756c42
style(core): systemview reformat
2021-01-26 20:53:38 +01:00
Ondrej Mikle
550216354b
chore(core): more systematic systemview function definitions
2021-01-26 20:53:38 +01:00
Ondrej Mikle
869cfbbd1c
style(core): style for systemview
2021-01-26 20:53:38 +01:00
Ondrej Mikle
0abcb57840
feat(core): place systemview buffers into CCMRAM
2021-01-26 20:53:38 +01:00
Ondrej Mikle
5a4166ea93
feat(core): increase systemview buffers
2021-01-26 20:53:38 +01:00
Ondrej Mikle
f591ce6789
feat(core): update systemview sources to 3.20
2021-01-26 20:53:38 +01:00
Ondrej Mikle
8fa3745838
feat(core): define RTT locking by enabling/disabling interrupts
2021-01-26 20:53:38 +01:00
Ondrej Mikle
ce3a6b649c
feat(core): systemview header
2021-01-26 20:53:38 +01:00