cepetr
3b9dd55788
refactor(core/embed): introduce display_utils.c
...
[no changelog]
2024-01-26 11:30:40 +01:00
cepetr
cc6ed93b32
refactor(core/embed): move toif image routines
...
[no changelog]
2024-01-26 11:30:40 +01:00
cepetr
446c3b77b4
refactor(core/embed): move&rename display terminal functions
...
[no changelog]
2024-01-26 11:30:40 +01:00
cepetr
139701fb1a
refactor(core/embed): move&rename display_font_xxx routines
...
[no changelog]
2024-01-26 11:30:40 +01:00
cepetr
3031ec5d87
refactor(core/embed): move&rename display_utf8_substr()
...
[no changelog]
2024-01-26 11:30:40 +01:00
tychovrahe
63ee6f2ad2
perf(core): change 4bpp font format to allow dma2d rendering
...
[no changelog]
2024-01-11 12:22:08 +01:00
tychovrahe
1c0da78536
chore(core): fix rust warnings and clippy errors
...
[no changelog]
2024-01-09 21:39:58 +01:00
grdddj
c2eaaaf8b5
fix(core): add missing semicolon into the passphrase entry for TS3
2024-01-03 14:51:56 +01:00
Pavol Rusnak
b0fd7223ea
Merge branch 'matejcik/prodtest-23-12'
2023-12-20 17:12:10 +01:00
matejcik
b21d1b1f50
chore(core/prodtest): bump version after release
2023-12-20 15:50:46 +01:00
matejcik
8f19767285
chore(core): include production-signed prodtest vendor header
2023-12-20 09:46:52 +01:00
tychovrahe
fd5bfbf115
refactor(core): improve flexibility of sd card and touch driver pin selection, display rotation and touch coords transformation
...
[no changelog]
2023-12-18 14:41:44 +01:00
tychovrahe
d15ee71279
refactor(core): add flexible HSE settings
...
[no changelog]
2023-12-18 14:41:44 +01:00
tychovrahe
2fa69c3c0d
refactor(core): extract backlight pwm settings to board definition
...
[no changelog]
2023-12-18 14:41:44 +01:00
cepetr
6e1fe31e3f
chore(core): optimize stack usage during blurring
...
[no changelog]
2023-12-18 10:01:30 +01:00
Andrew Kozlik
c1fa1c0cbc
chore(core): Fix common name in emulator device certificate.
...
[no changelog]
2023-12-15 11:18:22 +01:00
Andrew Kozlik
fb80dd5a36
fix(core/prodtest): Fix Optiga metadata version information handling.
...
[no changelog]
2023-12-15 11:18:22 +01:00
Andrew Kozlik
8de2d8989d
feat(core/prodtest): Check device certificate chain integrity using authority key identifier.
...
[no changelog]
2023-12-15 11:18:22 +01:00
Andrew Kozlik
a1be6f8aef
fix(core/prodtest): Configure metadata correctly before checking device certificate.
...
[no changelog]
2023-12-15 11:18:22 +01:00
tychovrahe
d0a702eef4
fix(core): fix large area marquee rendering
...
[no changelog]
2023-12-14 17:35:27 +01:00
Andrew Kozlik
cbea765e38
feat(core/prodtest): Verify device certificate chain in CERTDEV WRITE.
...
[no changelog]
2023-12-08 12:30:28 +01:00
Andrew Kozlik
3a5aecf6cd
feat(core/prodtest): Add SEC READ command.
...
[no changelog]
2023-12-08 12:30:28 +01:00
Martin Milata
18ccbcddd4
chore(core): bump version to 2.6.5
...
[no changelog]
2023-12-07 14:10:07 +01:00
gabrielkerekes
a8096652e0
refactor(core): make ethereum summary reusable for more coins
...
- and use it for Solana
2023-12-05 22:11:41 +01:00
grdddj
747fd17214
fix(core): correct action of left button in Ethereum summary
...
[no changelog]
2023-12-05 18:22:58 +01:00
grdddj
9a53ba9f44
fix(core): unify button requests in modify amount flow
...
[no changelog]
2023-12-04 13:15:57 +01:00
grdddj
9db8ff1fae
fix(core): unify sent button requests in ETH send flow
...
Makes sure T2B1 will send the same ButtonRequests as T2T1.
Does it by splitting the Rust layout into two separate dialogs.
[no changelog]
2023-12-04 13:15:57 +01:00
Andrew Kozlik
d670a0bdfa
feat(core): Fix malformed signatures from Optiga.
2023-12-01 00:09:17 +01:00
tychovrahe
a2f72b1055
feat(core): optimize boot time by drawing full logo sooner and shortening the enforced delay proportionally
...
[no changelog]
2023-11-30 16:46:04 +01:00
tychovrahe
7b442a2b20
fix(core): improve T2B1 homescreen checks
...
[no changelog]
2023-11-30 13:42:02 +01:00
matejcik
ba6cce2bbc
fix(core/rust): make Toif constructor return a Result instead of Option
...
which is slightly more correct
2023-11-30 13:42:02 +01:00
matejcik
d674634c86
chore(core/rust): bump cstr_core, enable nightly features
...
So that cstr! can be used in const contexts. This is not critical but it's nice-to-have as long as we are on nightly anyway.
2023-11-30 13:42:02 +01:00
grdddj
4b87bc56d8
feat(core): set maximum number of chunkified lines to 4
...
[no changelog]
2023-11-27 16:03:16 +01:00
tychovrahe
47f8a430e6
refactor(core): remove residual usage of old flash api
...
[no changelog]
2023-11-22 11:45:54 +01:00
tychovrahe
c48c86d61f
fix(core): add missing display_refresh calls in TT UI
...
[no changelog]
2023-11-22 10:26:50 +01:00
tychovrahe
c2de5506bc
fix(core): add boundaries check for icon rendering (framebuffer variant)
...
[no changelog]
2023-11-22 10:26:50 +01:00
grdddj
1968599bbc
fix(core): fix the chunkification of longer Cardano addresses in send flow
...
[no changelog]
2023-11-22 09:00:58 +01:00
Martin Milata
5725050be1
build(core): fix CI bootloader build for T2B1
...
[no changelog]
2023-11-14 18:37:03 +01:00
tychovrahe
bf2697a619
feat(core): compress embedded bootloader
...
[no changelog]
2023-11-14 13:25:00 +01:00
Martin Milata
1c69644fe0
build(core): add flag for disabling optiga on debug builds
...
[skip_ci]
2023-11-14 12:47:22 +01:00
Martin Milata
ebeea4a209
build(core): more deterministic bootloader_hashes.py
...
[no changelog]
2023-11-08 15:39:24 +01:00
Martin Milata
ba25084904
chore(core): add unsafe vendor header for T2B1
...
[no changelog]
2023-11-03 14:50:39 +01:00
Martin Milata
0db3d7c12c
chore(core): update btconly vendor header for T2B1
...
[no changelog]
2023-11-03 14:50:39 +01:00
Martin Milata
c61e2293ad
chore(core): bump version to 2.6.4
...
[no changelog]
2023-11-03 13:00:02 +01:00
Martin Milata
b0ca820983
chore(core): add signed vendor headers for TS3
2023-11-02 12:17:13 +01:00
matejcik
e43b57f499
chore(core): add btc-only vendor header
2023-11-02 12:17:13 +01:00
matejcik
43ffbadbb9
chore(core): regenerate T2B1 vendor headers
2023-11-02 12:17:13 +01:00
matejcik
1df7428359
chore(core): update T2B1 vendor header configuration
2023-11-02 12:17:13 +01:00
Martin Milata
a6600fc7e9
feat(core): include signed bootloaders 2.1.4
...
For T2B1 and T2T1.
2023-11-02 11:53:53 +01:00
matejcik
3a28ab4c11
feat(core): make lockscreen blank for T2B1
...
also allow soft-locking even when PIN is not set
2023-11-01 16:45:29 +01:00
matejcik
1e29ce9fb4
chore(core/bootloader): bump version after release
2023-11-01 13:46:50 +01:00
matejcik
0953d2f6aa
docs(core/bootloader): changelog for 2.1.4
2023-11-01 13:46:50 +01:00
matejcik
297b2bade7
feat(core/bootloader_emu): add ILU support
2023-10-31 14:57:05 +01:00
matejcik
5ee05ff391
feat(core/bootloader_emu): add support for setting device variant
2023-10-31 14:57:05 +01:00
tychovrahe
10021bf364
chore(core): fix gen and style problems
...
[no changelog]
2023-10-31 13:32:20 +01:00
matejcik
c5817bed6d
chore(core): embed QA bootloaders 2.1.4
2023-10-27 16:46:22 +02:00
Ondrej Mikle
a4079d0cc5
chore(core/bootloader): make cstyle check work
2023-10-27 16:41:56 +02:00
Ondrej Mikle
6658ad84d1
fix(core/bootloader): explicit casts on version compare to control signed/unsigned arithmetic mix
2023-10-27 16:41:56 +02:00
cepetr
02f34a2748
feat(core/bootloader): check firmware padding
2023-10-27 16:41:56 +02:00
cepetr
da7125f427
feat(core/bootloader): make firmware flashing more safe
2023-10-27 16:41:56 +02:00
cepetr
ba83a7e644
feat(core): introduce interaction-less upgrade
2023-10-27 16:15:15 +02:00
Martin Milata
9c5d3b4831
fix(core/ui): T2T1: nudge page_prev_ellipsis to the right
...
[no changelog]
2023-10-27 11:50:12 +02:00
Martin Milata
18d6b4d647
fix(core/ui): T2T1: update sign message layout
2023-10-26 18:29:52 +02:00
Martin Milata
9e33eb3e48
fix(core/ui): T2T1: display coinjoin icon on lockscreen
...
[no changelog]
2023-10-26 13:35:43 +02:00
grdddj
02ec0ac43c
feat(core): support recipient address chunkification in Ethereum sign flow
...
[no changelog]
2023-10-25 11:49:43 +02:00
grdddj
37fcbceded
feat(core): make middle-click unlock the device for T2B1
...
[no changelog]
2023-10-23 14:53:01 +02:00
tychovrahe
8a4f376f20
refactor(core): prepare fw for differently sized fw chunks
...
[no changelog]
2023-10-20 16:33:53 +02:00
tychovrahe
a16fbe6237
fix(core/prodtest): fix failing optiga communication
...
[no changelog]
2023-10-18 13:15:49 +02:00
Martin Milata
f26a2e909e
fix(core/ui): wording in recovery flow
...
[no changelog]
2023-10-18 12:04:52 +02:00
Martin Milata
a353c35b78
fix(core/ui): draw hold-to-confirm loader over dialog title
...
[no changelog]
2023-10-16 13:18:50 +02:00
Martin Milata
d99e1eedd2
refactor(core/ui): clear display on rust side
...
[no changelog]
2023-10-16 13:18:50 +02:00
Martin Milata
d8e7c00087
refactor(core/ui): pagination and buttons on TT
2023-10-16 13:18:50 +02:00
matejcik
4f2c639ed7
feat(core): T2B1 final design for emulator
2023-10-12 12:58:37 +02:00
Martin Milata
fca82273cf
Merge branch 'release/23.09'
2023-10-11 23:34:06 +02:00
tychovrahe
df42c99bc9
feat(core): add basic support for efficient frame buffer graphics
...
[no changelog]
2023-10-10 19:01:43 +02:00
matejcik
d9112b5a8d
chore(core/prodtest): bump version after release
2023-10-06 10:49:29 +02:00
matejcik
06f77f745f
docs(core/prodtest): introduce changelog
2023-10-06 10:49:29 +02:00
matejcik
11b12ea258
chore(core/prodtest): bump prodtest version
2023-10-06 10:49:29 +02:00
cepetr
6668f47666
docs(prodtest): document prodtest protocol
...
[no changelog]
2023-10-06 10:03:29 +02:00
cepetr
03464bea4d
feat(prodtest): make prodtest welcome screen white (T2B1 only)
...
[no changelog]
2023-10-06 10:03:29 +02:00
Andrew Kozlik
3ca8f26fd0
feat(core): Implement Optiga counter operations.
2023-10-04 11:22:46 +02:00
Andrew Kozlik
1fa2929607
feat(core): Distinguish Optiga errors from invalid PIN.
2023-10-04 11:22:46 +02:00
Andrew Kozlik
4c7979ae30
feat(core): Propagate Optiga errors.
2023-10-04 11:22:46 +02:00
matejcik
240f4f56cd
fix(core/optiga): add correct key usage to OID_PIN_CMAC
2023-10-04 11:22:46 +02:00
matejcik
3c413ecf02
fix(storage): correctly fail when Optiga operations fail
2023-10-04 11:22:46 +02:00
tychovrahe
6e5967af25
fix(core): adjust T2B1 display SPI baudrate
...
[no changelog]
2023-10-02 22:14:58 +02:00
grdddj
532f368a14
feat(core): not allowing to send empty PIN in T2B1
...
[no changelog]
2023-10-02 22:14:58 +02:00
tychovrahe
c937f21447
refactor(core): change the way USE_OPTIGA is added to build
...
[no changelog]
2023-10-02 20:59:50 +02:00
Andrew Kozlik
cb21ca8dc5
feat(core): Implement Optiga counter operations.
2023-10-02 20:26:00 +02:00
Andrew Kozlik
aed5912fbf
feat(core): Distinguish Optiga errors from invalid PIN.
2023-10-02 20:26:00 +02:00
Andrew Kozlik
68876170fe
feat(core): Propagate Optiga errors.
2023-10-02 20:26:00 +02:00
Martin Milata
f226c9599b
fix(core/ui): better contrast for bip39 keyboard button
...
[no changelog]
2023-10-02 19:04:28 +02:00
matejcik
e28dff677c
fix(core/optiga): add correct key usage to OID_PIN_CMAC
2023-10-02 16:57:15 +02:00
matejcik
9d86352352
fix(storage): correctly fail when Optiga operations fail
2023-10-02 16:57:15 +02:00
matejcik
c6c8d85200
chore(core): embed signed bootloader 2.1.3
2023-10-02 16:57:15 +02:00
tychovrahe
e39ab74949
fix(core): adjust T2B1 display SPI baudrate
...
[no changelog]
2023-10-02 16:45:05 +02:00
grdddj
07fb451048
feat(core): not allowing to send empty PIN in T2B1
...
[no changelog]
2023-10-02 16:33:51 +02:00
Martin Milata
3021df8f65
chore(core): bump version to 2.6.3
...
[skip_ci]
2023-09-29 20:20:19 +02:00
Martin Milata
040f6c2c8e
Merge branch 'master' into release/23.09
2023-09-29 16:42:23 +02:00
matejcik
193a53f22b
feat(core/rust): use MODEL_FULL_NAME from build system
...
[no changelog]
2023-09-29 16:27:27 +02:00
matejcik
d913181079
docs(core): add docstrings to modtrezorutils constants
...
[no changelog]
2023-09-29 16:27:27 +02:00
matejcik
c892d4b0ba
refactor(core): inject full model name from build script
...
so that we don't have to do awkward string operations when we need it
[no changelog]
2023-09-29 16:27:27 +02:00
grdddj
b07f4d938a
fix(core): make the marquee take always 2 seconds to animate from end to end
...
[no changelog]
2023-09-29 14:19:38 +02:00
matejcik
ff4197c50a
chore(core): generate changelog, bump bootloader version after release
2023-09-29 11:47:40 +02:00
Andrew Kozlik
b3d0fb68ff
feat(core): Improve Optiga transport error handling.
2023-09-27 17:17:09 +02:00
Andrew Kozlik
7d92e70cc3
feat(core): Hide repetitions in Optiga logging.
2023-09-27 17:17:09 +02:00
Andrew Kozlik
dee559f4f9
feat(core): Integrate Optiga into PIN verification.
2023-09-27 17:17:09 +02:00
Andrew Kozlik
6ca1182d85
refactor(core): Add "META" to metadate-related Optiga constants.
...
[no changelog]
2023-09-27 17:17:09 +02:00
grdddj
046ff15275
feat(core): show the preview of default homescreen image
...
[no changelog]
2023-09-27 14:14:42 +02:00
matejcik
fbd5c466f0
chore(core): embed QA bootloader 2.1.3
2023-09-27 13:20:02 +02:00
matejcik
bb5b91b920
Merge branch 'master' into release/23.09
2023-09-27 12:58:22 +02:00
tychovrahe
5d017e928d
fix(core): reset optiga during initialization
...
[no changelog]
2023-09-27 12:14:32 +02:00
tychovrahe
510281590f
fix(core): add delays to optiga i2c communications
...
[no changelog]
2023-09-27 12:14:32 +02:00
Ondrej Mikle
36e4a444bb
feat(core/bootloader): make bootloader more robust against glitches
...
[no changelog]
2023-09-27 12:14:13 +02:00
tychovrahe
a6d0842663
fix(core/bootloader): fix erroneous shutdown when rejecting firmware upload
2023-09-27 12:14:13 +02:00
grdddj
a3f137d488
feat(core): forcing the letter to always change after selection in T2B1 recovery
...
[no changelog]
2023-09-26 09:28:11 +02:00
grdddj
65c9380ab7
feat(core): triggering delete action in ChoicePage after 1 second even without release
...
[no changelog]
2023-09-26 08:07:32 +02:00
grdddj
e06335d877
feat(core/rust): differentiate between short and long button press
...
With the help of this, making long DELETE press delete all the
inputted characters in PIN or passphrase entries.
[no changelog]
2023-09-21 11:30:02 +02:00
tychovrahe
29c16c212d
fix(core): fix T2B1 "restarting in" label capitalization
...
[no changelog]
2023-09-20 21:36:07 +02:00
grdddj
0c4540ae0a
feat(core): show new homescreen preview for T2B1
...
[no changelog]
2023-09-20 13:58:05 +02:00
Andrew Kozlik
1f7c78a4ed
test(core): Update emulator device certificate.
...
[no changelog]
2023-09-19 21:41:42 +02:00
grdddj
42a6a5ac9b
chore(core): adjust the chunkification logic to account for really mono font
...
Also improving the positioning of prev/next page arrows when paginating.
[no changelog]
2023-09-19 11:48:58 +02:00
grdddj
ad5c1858c1
chore(core,font): change some glyphs in PixelOperatorMono8
...
This makes the font really "mono", as previously some characters were
wider than others (m, w, M or W), which did not look good when
relying on the mono properties.
[no changelog]
2023-09-19 11:48:58 +02:00
tychovrahe
3c1236bf82
refactor(core): setup single-place layout selection
...
[no changelog]
2023-09-18 18:05:37 +02:00
Martin Milata
b9dbdc7057
chore(core): bump version to 2.6.2
...
[no changelog]
2023-09-18 16:27:07 +02:00
Martin Milata
07027a69e9
Merge branch 'master' into release/23.09
2023-09-15 14:33:20 +02:00
matejcik
21959996bd
feat(core/bootloader_emu): allow explicit bootloader locking from command line
2023-09-15 14:08:02 +02:00
Andrew Kozlik
c48b606867
feat(core): Add bootloader_locked flag to Features message.
...
[no changelog]
2023-09-15 14:08:02 +02:00
tychovrahe
f881fab797
fix(core): disable access to secret in flash after boot
...
[no changelog]
2023-09-15 13:31:24 +02:00
Andrew Kozlik
686aa78aa7
feat(core): Use Optiga as a source of randomness.
2023-09-15 11:16:57 +02:00
grdddj
8a9354cd85
chore(core): separate confirm_output for T2B1 into two layouts so we can send a button request in between
...
[no changelog]
2023-09-15 09:50:21 +02:00
grdddj
bcb353a4a1
feat(core): support optional chunkification of addresses in receive and send flows
2023-09-15 09:50:21 +02:00
grdddj
76c6e9cd9d
feat(all): implement support information for T2B1
...
WIP - change trezor{1,2} to their internal names, add support for model R
WIP - add EOS and NEM features Capability only for TT
WIP - not include EOS and NEM into TR
WIP - choose between device models when generating coininfo
WIP - regenerate coininfo.py
WIP - skip NEM, EOS, Dash, BGold and Decred device tests for TR
WIP - fix python support
WIP - fix unit tests
WIP - import bitcoin-like code only when needed
WIP - remove ignored coins for TR in fixtures.json
WIP - make all the external references to models UPPERCASE
WIP - do the model separation in mako script also for tokens and networks
WIP - hot-fixing non-supporting RELEASES_URL for new model names
WIP - support.py releases CLI command takes a list of -r key-value pairs DEVICE=VERSION
WIP - run `python support.py release`
WIP - use utils.MODEL_IS_T2B1 to ignore NEM and EOS
WIP - change all the docs and commands to have UPPERCASE model names
[no changelog]
2023-09-14 13:54:09 +02:00
grdddj
4b9d22066c
chore(core/rust): change the position of up arrow icon
...
[no changelog]
2023-09-14 11:43:43 +02:00
matejcik
efab85a963
chore(core): include signed and QA bootloaders
2023-09-14 10:13:38 +02:00
grdddj
568c5f135b
feat(core/rust): add ChoicePage animation and hold-to-move functionality
...
[no changelog]
2023-09-13 17:12:51 +02:00
grdddj
272fb4842a
feat(core/rust): show last entered passphrase character for T2B1
...
[no changelog]
2023-09-13 17:12:51 +02:00
matejcik
afa6f84174
feat(core): custom exception types for Optiga
2023-09-13 15:45:48 +02:00
tychovrahe
024ea604ca
fix(core): fix optiga warm reset start-up time
...
[no changelog]
2023-09-13 15:45:48 +02:00
Andrew Kozlik
db6630a5a3
feat(core): Support Optiga in Trezor firmware.
2023-09-13 15:45:48 +02:00
Andrew Kozlik
8010cfb5b6
feat(core): Add utils.USE_OPTIGA.
2023-09-13 15:45:48 +02:00
grdddj
70fa46a318
chore(core/rust): decrease top margin over homescreen label in T2B1
...
[no changelog]
2023-09-12 13:44:21 +02:00
grdddj
623e0ce468
chore(core/rust): improve vertical centering in some screens
...
[no changelog]
2023-09-12 11:06:38 +02:00
grdddj
d2f67d48fa
chore(core/rust): transform if-elif into match
...
[no changelog]
2023-09-12 11:06:38 +02:00
Martin Milata
7e9f127aec
feat(core): revise path warning on model T
2023-09-12 00:39:08 +02:00
Martin Milata
58ffe95369
fix(core): display XPUBs in a similar way to addresses
...
[no changelog]
2023-09-12 00:39:08 +02:00
Ondrej Mikle
bf96c43d32
chore(core): cstyle reformat
...
DSVibram AR fix
2023-09-11 14:36:11 +02:00
Ondrej Mikle
ac64d2d2f1
fix(core): one forgotten ensure_compatible_settings
2023-09-11 14:36:11 +02:00
Ondrej Mikle
75a148e414
fix(core): clear memory when not going to use copy firmware header for bootloader
2023-09-11 14:36:11 +02:00
Ondrej Mikle
c0c544b7d8
fix(core): fix bootloader_ci startup, remove unused function from limited_util.s
...
Fix changelog messages
2023-09-11 14:36:11 +02:00
Ondrej Mikle
b69ef9d168
feat(core): Copy firmware image header to bootloader RAM to be able to skip directly to firmware install, jumping from firmware to bootloader
...
Change linking of util.s and limited version of util.s to avoid mistakes
with boardloader etc.
2023-09-11 14:36:11 +02:00
grdddj
84659dc904
feat(core/rust): show WRONG PIN header in PIN entry after bad previous PIN input
...
[no changelog]
2023-09-11 09:29:12 +02:00
matejcik
6e0937c1ce
chore(core/bootloader): bump version after release
2023-09-07 11:32:48 +02:00
matejcik
965d3182a0
docs(core/bootloader): generate changelog for 2.1.2
2023-09-07 11:32:48 +02:00
matejcik
409ef8abcd
chore(core/embed/boardloader): bump version after release
2023-09-06 11:28:34 +02:00
matejcik
636b964119
chore(core/embed/boardloader): generate changelog, set correct version
2023-09-06 11:28:34 +02:00
matejcik
34b1980893
docs(core/embed/boardloader): add missing changelog entry
2023-09-06 11:28:34 +02:00
matejcik
59d35c8652
chore(core/bootloader): bump version after release
2023-09-06 11:09:45 +02:00
grdddj
8956350aca
feat(core): create new Ethereum send flow for TT
...
[no changelog]
2023-09-04 13:50:30 +02:00
grdddj
eed6e0b71c
feat(core): create new Ethereum send flow for TR
...
[no changelog]
2023-09-04 13:50:30 +02:00
grdddj
492ff958a5
feat(core): improve sign message designs
...
[no changelog]
2023-09-01 13:30:29 +02:00
grdddj
09cd64123b
feat(core): implement show_more dialogue for TR
...
[no changelog]
2023-09-01 13:30:29 +02:00
matejcik
0532585105
docs(core/bootloader): generate changelog for 2.1.2
2023-08-30 15:54:03 +02:00
tychovrahe
bd0b0b2d15
refactor(core): move model specific norcow config to model header
...
[no changelog]
2023-08-29 11:17:19 +02:00
tychovrahe
33fc64b629
refactor(core): remove universal DMA driver
...
[no changelog]
2023-08-29 11:17:03 +02:00
matejcik
04ea95777b
chore(core/prodtest): enable Optiga locking
2023-08-29 10:59:34 +02:00
matejcik
f40feec4f9
chore(core): bump prodtest version
2023-08-29 10:59:34 +02:00
Andrew Kozlik
5898b16cd2
feat(core): Implement OPTIGA VerifySign command.
2023-08-29 10:59:34 +02:00
tychovrahe
5470304515
feat(core): Implement OPTIGA provisioning in prodtest.
...
[no changelog]
2023-08-29 10:59:34 +02:00
Andrew Kozlik
812e77cefd
feat(core): Implement OPTIGA secure channel.
2023-08-29 10:59:34 +02:00
Andrew Kozlik
11e1795a89
refactor(core): optiga_execute_command()
...
- Remove presentation layer parameter.
- Use error-flushing command codes.
2023-08-29 10:59:34 +02:00
Andrew Kozlik
773f79251f
feat(core): Implement comparison of OPTIGA metadata.
2023-08-29 10:59:34 +02:00
tychovrahe
ee34425062
feat(core): add install restricted screen on installation with locked bootloader
...
[no changelog]
2023-08-28 17:04:25 +02:00
grdddj
78d5abd9b1
chore(core): replace View full
button text with Show all
...
[no changelog]
2023-08-28 12:09:58 +02:00
tychovrahe
6c97dfef78
feat(core): add vendor headers for devices with dev bootloader
...
[no changelog]
2023-08-25 18:54:34 +02:00
tychovrahe
6d9e4321fd
feat(core): add install restricted screen on installation with locked bootloader
...
[no changelog]
2023-08-25 14:41:59 +02:00
grdddj
bb959892ac
chore(core): improve the shamir info button handling, regenerate tests
...
[no changelog]
2023-08-23 11:03:09 +02:00
conduition
30ddabc15b
fix(core): more info button on shamir recovery screen
...
chore(core): add changelog
2023-08-23 11:03:09 +02:00
tychovrahe
c9a657b074
feat(core): set final name for Safe 3
...
[no changelog]
2023-08-18 16:14:47 +02:00
matejcik
7cf3a655e5
docs(core/bootloader): add changelog entry
2023-08-18 16:13:58 +02:00
matejcik
c0fd783b06
feat(core/bootloader): always use empty logo
...
Now that the empty logo also shows model name, we do not need to draw
the full logo in bootloader at all.
2023-08-18 16:13:58 +02:00
matejcik
ae7a1c7d52
refactor(core): render full/empty logo same way as in TR
2023-08-18 16:13:58 +02:00
tychovrahe
5947f8a50d
feat(core): add model name below empty logo on boot
...
[no changlog]
2023-08-18 16:13:58 +02:00
tychovrahe
90bdab6599
fix(core): fixed unwanted delays in T2B1
...
[no changelog]
2023-08-18 16:13:58 +02:00
matejcik
49bee50132
chore(core): add production-signed vendor headers for T2B1
2023-08-16 10:49:36 +02:00
matejcik
c0de11fbeb
fix(core): use stm32f4 implementation of secret.c for unix too
...
(fixes bootloader_emu build because there was an error in the unix dummy
impl)
2023-08-16 10:32:25 +02:00
tychovrahe
17f13b4140
feat(core): design for T2B1 "unsafe, do not use" screen
...
[no changelog]
2023-08-15 22:08:11 +02:00
tychovrahe
5a86add884
refactor(core): differentiate models by internal name in python
...
[no changelog]
2023-08-15 22:08:11 +02:00
matejcik
a41a8c5f87
chore(core): regenerate vendor headers
...
[no changelog]
2023-08-15 09:37:38 +02:00
matejcik
df84d96244
feat(core): support checking generated vendor headers as part of make gen_check
...
[no changelog]
2023-08-15 09:37:38 +02:00
matejcik
ec06cc5c40
feat(core): change resolution of embedded prodtest images, bump versions
...
[no changelog]
2023-08-15 09:37:38 +02:00
tychovrahe
b369e3f4a7
feat(core): enable seamless build of bootloader using devkeys
...
[no changelog]
2023-08-15 09:37:38 +02:00
tychovrahe
e8281385f6
feat(core): implement secret handling in bootloader
2023-08-15 09:37:38 +02:00
grdddj
6f60462d12
fix(core/rust): do not increase margin of right choice items
...
[no changelog]
2023-08-09 13:57:09 +02:00
grdddj
5bcfd5709f
chore(core/rust): change fonts in confirm_properties for TT
...
Making the key font NORMAL and the value MONO in all cases
[no changelog]
2023-08-09 10:50:57 +02:00
grdddj
8d78dd8872
chore(core): change some UI text and TR's screens to match the Figma designs
...
[no changelog]
2023-08-07 15:30:38 +02:00
Andrew Kozlik
74759310bb
feat(core): Integrate OPTIGA Trust M
...
[no changelog]
2023-08-02 00:35:43 +02:00
grdddj
d48bae4598
chore(core/rust): delete unused NotificationFrame
...
[no changelog]
2023-07-28 09:41:04 +02:00
grdddj
463f0df22a
chore(core): modify design of recovery flow
...
[no changelog]
2023-07-28 09:41:04 +02:00
grdddj
a8d57bf2c4
chore(core/rust): add missing traces to components
...
[no changelog]
2023-07-28 09:41:04 +02:00
tychovrahe
238e3fd7c1
refactor(core): add abstraction over flash memory layout
...
[no changelog]
2023-07-25 10:25:20 +02:00
tychovrahe
fa71c8244c
fix(core): fix MPU settings
...
[no changelog]
2023-07-21 12:28:13 +02:00
tychovrahe
ad1f2360bd
fix(core): replace systick based wait in display SPI with loop as systick does not work in fault handlers
...
[no changelog]
2023-07-21 12:27:54 +02:00
grdddj
4227b5c0b9
chore(core/rust): change design of TT's disabled confirm button
...
[no changelog]
2023-07-18 13:01:25 +02:00
grdddj
91740ae4aa
chore(core): change title of Shamir wallet creation
...
[no changelog]
2023-07-18 10:09:35 +02:00
grdddj
e31eb9570b
chore(core/rust): change design of TR's middle button
...
Move the text one pixel lower so the arms touch it in its center.
Decreasing the overall height by 2 pixels.
[no changelog]
2023-07-18 09:25:01 +02:00
grdddj
52c69de138
chore(all): small design fixes
...
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
bc502287fc
feat(core): new design of recovery dialogs
...
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
03f77c50e9
feat(core/rust): new design of wallet creation dialogs
...
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
672d6b7d13
feat(core): new design of PIN dialogs
...
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
10449759bf
chore(core): new designs of passphrase dialogs
...
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
3f6a55cc3a
refactor(core/rust): replace Label::new with alignment-specific constructor
...
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
c04cd19c6c
chore(core/rust): decrease margin space between key and value paragraphs in confirm_properties
...
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
b5226b55c8
feat(core/rust): use loaders in coinjoin screens
...
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
a318706145
feat(core/rust): introduce small indeterminate loader
...
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
b96b9d43bb
feat(core/rust): improve and use coinjoin loading screens
...
[no changelog]
2023-07-17 15:30:00 +02:00
grdddj
245ab416cb
feat(core): regenerate exclamation mark icons to be centered in warning dialogs
...
[no changelog]
2023-07-14 12:00:21 +02:00
matejcik
78a8b48f1e
refactor(core): generate trezorproto module straight from Rust
2023-07-12 10:09:36 +02:00
tychovrahe
eca1fc381b
refactor(core): rust bindgen mcu-type related arguments are taken from board definition
...
[no changelog]
2023-07-07 22:09:56 +02:00
tychovrahe
6dbeba9730
refactor(core/tools): add argument to jpg_to_h.py, move it to tools
...
[no changelog]
2023-07-07 22:09:56 +02:00
tychovrahe
ebbd7f9d35
refactor(core): restructure trezorhal, prepare to support more platforms
...
[no changelog]
2023-07-07 22:09:56 +02:00
tychovrahe
40b5fedbd2
fix(core): fix TT bootloader emulator backlight, fix rust warning
...
[no changelog]
2023-07-03 10:19:28 +02:00
Martin Milata
edcdb97613
fix(core): backlight on frozen emulator
...
[no changelog]
2023-06-29 12:10:41 +02:00
tychovrahe
671f23f1aa
feat(core): support rev 10 of T2B1 HW
...
[no changelog]
2023-06-27 22:45:33 +02:00
tychovrahe
539420cac8
refactor(core): make backlight/fading optional
...
[no changelog]
2023-06-27 16:18:30 +02:00
tychovrahe
1f1680243f
refactor(core): separate backlight pwm driver and display driver
...
[no changelog]
2023-06-27 16:18:30 +02:00
grdddj
f9f21176fd
feat(core/rust): improve progress screen design
...
[no changelog]
2023-06-27 07:57:45 +02:00
grdddj
64236e699f
feat(core/rust): add account and address labels into send flow
...
[no changelog]
2023-06-27 07:57:45 +02:00
grdddj
570ffe2c0d
chore(core/rust): make info button wider
...
[no changelog]
2023-06-27 07:57:45 +02:00
tychovrahe
9cd59105c1
refactor(core): modify i2c driver to allow usage of more i2c peripherals
...
[no changelog]
2023-06-26 12:13:31 +02:00
tychovrahe
4cc6413a46
chore(core/rust): fix compilation warnings
...
[no changelog]
2023-06-23 19:13:47 +02:00
matejcik
0ef1d20062
style(core/rust): remove unused mut
2023-06-21 14:19:03 +02:00
matejcik
437b9e5991
feat(core/rust): allow debug feature in tests (means we can print things)
2023-06-21 14:19:03 +02:00
matejcik
5a83a7171d
refactor(core/rust): improve ergonomy of IterBuf
2023-06-21 14:19:03 +02:00
matejcik
b91e225076
refactor(core/rust): expose obj types and (debug only) type names
2023-06-21 14:19:03 +02:00
matejcik
ccddc8f5f3
fix(core/rust): disable stack checking in tests (fixes spurious "recursion exceeded" errors)
2023-06-21 14:19:03 +02:00
Andrew Kozlik
21f4aec8de
refactor: Unify secp256k1_zkp usage.
...
[no changelog]
2023-06-21 08:36:20 +02:00
tychovrahe
638ebbc0df
fix(core): improve robustness of touch driver
...
[no changelog]
2023-06-20 23:06:10 +02:00
grdddj
b420064c08
feat(core/rust): improve the painting of TR's buttons + new inverse design
...
[no changelog]
2023-06-20 11:08:21 +02:00
grdddj
a6316f964e
chore(core/rust): regenerate TR's icons based on new designs
...
[no changelog]
2023-06-20 11:08:21 +02:00
grdddj
13cb1ea4ce
chore(core/rust): improve the design of TR's tutorial flow
...
[no changelog]
2023-06-20 11:08:21 +02:00
grdddj
947e2ee24f
fix(core/rust): make vertical alignment for FormattedText work for paginated content
...
[no changelog]
2023-06-20 11:08:21 +02:00
tychovrahe
ef5469ad90
fix(core): removed no longer needed emulator gamma correction
...
[no changelog]
2023-06-20 10:58:09 +02:00
Jan Šetina
c85102494d
feat(core/ui): update colors - grey_dark and green
2023-06-20 10:58:09 +02:00
tychovrahe
da4ce32b45
fix(core): fix gamma correction for Model T
2023-06-20 10:58:09 +02:00
Martin Milata
cf4dcfcbd4
refactor(core/ui): namespaced Alignment2D
...
[no changelog]
2023-06-19 19:34:16 +02:00
Martin Milata
3a5fdfedcc
fix(core/ui): minor visual tweaks
...
- centered title for coinjoin loader
- make device label bold on label confirmation screen
[no changelog]
2023-06-19 19:34:16 +02:00
Martin Milata
312f6899c7
feat(core/ui): vertical alignment for FormattedText
...
[no changelog]
2023-06-19 19:34:16 +02:00
Pavol Rusnak
089ff76822
Merge branch 'matejcik/signed-vhs'
2023-06-15 22:41:12 +02:00
tychovrahe
cfb674cf01
feat(core): adjust bootloader screens to look better on rectangular screens
...
[no changelog]
2023-06-15 17:08:14 +02:00
tychovrahe
32a2b371bd
feat(core): allow different screen sizes for TT UI
...
[no changelog]
2023-06-15 17:08:14 +02:00
tychovrahe
d3284baf21
feat(core): support STM32F429 discovery board
2023-06-15 17:08:14 +02:00
tychovrahe
8154e5103f
refactor(core): make emulated dma2d usable outside of emulator
...
[no changelog]
2023-06-15 17:08:14 +02:00
grdddj
ef2d2a3e75
feat(core/rust): make font changes for TR
...
[no changelog]
2023-06-14 18:17:09 +02:00
grdddj
d199a17cfc
feat(core): introduce FONT_BIG as a fifth optional font
...
[no changelog]
2023-06-14 18:17:09 +02:00
grdddj
359f6709b0
chore(core): remove unused model R icons
...
[no changelog]
2023-06-14 18:17:09 +02:00
grdddj
100e36ac20
feat(core/rust): randomize positions in passphrase input
...
[no changelog]
2023-06-14 17:27:44 +02:00
grdddj
eacc1a3826
feat(core/rust): randomize letter choice positions in recovery word entry + randomize the order of words
...
[no changelog]
2023-06-14 17:27:44 +02:00
grdddj
8c7ad72062
feat(core/rust): randomize PIN digits fully and show last digit to user
...
[no changelog]
2023-06-14 17:27:44 +02:00
grdddj
5efafce856
chore(core): modify Shamir backup flow design
...
[no changelog]
2023-06-14 16:44:02 +02:00
Martin Milata
732e2cc9b5
refactor(core): split tjpgdec into own crate
...
[no changelog]
2023-06-14 15:53:56 +02:00
grdddj
127e6f42cf
chore(core/rust): center TR's input method vertically
...
[no changelog]
2023-06-14 15:23:40 +02:00
grdddj
55bff602fa
fix(core): add dynamic title to the FIDO dialogue for model R
...
[no changelog]
2023-06-14 15:20:43 +02:00
matejcik
88f5f79315
docs(core/boardloader): generate first changelog, bump version to 2.1.0
2023-06-14 11:42:12 +02:00
matejcik
ef079f35e5
chore(core/bootloader): generate changelog and bump bootloader version
2023-06-14 11:42:12 +02:00
matejcik
d465a14850
chore(core): add signed bootloader and vendor headers for model R
2023-06-13 14:25:39 +02:00
tychovrahe
e24536971c
test(core): prodtest for T2B1
...
[no changelog]
2023-06-11 20:54:29 +02:00
tychovrahe
8d812ca36e
feat(core): support device variants
...
[no changelog]
2023-06-07 19:48:53 +02:00
tychovrahe
cd722f5126
fix(python): fix T2B1 keys in trezorlib
...
[no changelog]
2023-06-06 22:12:53 +02:00
grdddj
5258e9a307
feat(core/rust): use icon for displaying device name in welcome screen
...
[no changelog]
2023-06-06 17:49:53 +02:00
grdddj
88fd4cd11f
chore(core/rust): mark icons with empty right column, delete unused ones
...
[no changelog]
2023-06-06 17:49:53 +02:00
grdddj
f27405109e
feat(core/rust): add better support for odd-width icons
...
[no changelog]
2023-06-06 17:49:53 +02:00
tychovrahe
531511407b
feat(core/rust): add bootloader design for T2B1
...
[no changelog]
2023-06-06 17:49:53 +02:00
Martin Milata
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
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
grdddj
019a3ced7d
fix(core): revert some UI changes for TT (PIN, wipecode, backup homescreen)
2023-05-16 09:25:56 +02:00
grdddj
74246150e5
fix(core/rust): allow for cycling through the last character in TT passphrase
2023-05-11 21:02:21 +02:00
grdddj
c4bbf17433
feat(core/rust): allow for margin between text and ellipsis icon
2023-05-11 21:02:21 +02:00
grdddj
1c698656c3
feat(core/rust): create common function for ellipsised text
2023-05-11 21:02:21 +02:00
grdddj
e00af4f7f3
chore(core/rust): use format_i64 to convert numbers to strings
2023-05-11 21:02:21 +02:00
grdddj
3bf3e4c38b
feat(core/rust): introduce Wordlist component for both bip39 and slip39
2023-05-11 21:02:21 +02:00
grdddj
c291285927
chore(core/rust): make TextBox common component
2023-05-11 21:02:21 +02:00
grdddj
1bb6288512
chore(core/rust): move Font and Color into their own modules
2023-05-11 21:02:21 +02:00
grdddj
5940129bfc
feat(core/rust): show fee rate in modify-fee dialogue
2023-05-11 21:02:21 +02:00
grdddj
db38b708b4
feat(core/rust): make Checklist component usable by more models
2023-05-11 21:02:21 +02:00
grdddj
610c832dee
feat(core/rust): add useful macros
2023-05-11 21:02:21 +02:00
grdddj
73c493d118
chore(core/rust): tracing and other smaller improvements/clippy lints
2023-05-11 21:02:21 +02:00
matejcik
eee4c624f9
feat(core/rust): JSON output from component tracing
2023-05-11 21:02:21 +02:00
grdddj
b63b72ed90
chore(core/rust): flag or delete unused code
2023-05-11 21:02:21 +02:00
grdddj
0c0d74a501
feat(core/rust): create mako template for QSTR generation
2023-05-11 21:02:21 +02:00
grdddj
8ee4c41938
chore(crypto): refactor slip39 same way as bip39
2023-05-11 21:02:21 +02:00
tychovrahe
0c5db05357
feat(core): support 16bit i8080 display bus
...
[no changelog]
2023-04-27 12:36:12 +02:00
tychovrahe
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
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
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
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
tychovrahe
44178514f3
feat(core): support differently sized homescreen
...
[no changelog]
2023-04-12 14:03:12 +02:00
Martin Milata
aa9f848b70
fix(core/ui): button text and warning style update
...
[no changelog]
2023-04-12 13:10:45 +02:00
Martin Milata
2456219d52
fix(core/ui): hold to confirm when finializing replacement transaction
...
[no changelog]
2023-04-10 18:42:38 +02:00
Martin Milata
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
matejcik
c38b39ee6e
feat(core): include signed bootloader 2.1.0
2023-04-07 13:33:04 +02:00
matejcik
9d8cfbf680
chore(core): rebuild QA bootloader
...
[no changelog]
2023-04-05 16:36:29 +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
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
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
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
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
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
Ondrej Mikle
4a692cc63b
feat(core): segger dependencies
2021-01-26 20:53:38 +01:00
Ondrej Mikle
5f837e12b9
feat(core): send messaged through systemview
2021-01-26 20:53:38 +01:00
Ondrej Mikle
60e4e06aa5
feat(core): measure systick with systemview
2021-01-26 20:53:38 +01:00
Ondrej Mikle
c5e986b1ba
feat(core): enable SystemView at firmware start
2021-01-26 20:53:38 +01:00
Martin Milata
c293b52bd6
feat(core): bootloader_ci: do not ui_fadein/ui_fadeout
2021-01-26 17:21:16 +01:00
Martin Milata
2643ee2ab8
feat(core): bootloader_ci: wipe device without confirmation
2021-01-26 17:21:16 +01:00
Tomas Susanka
1006c8a0f1
chore(core,legacy): change versions to 1.9.5 and 2.3.6
...
This reverts commit 92535dc090
.
2021-01-22 15:42:55 +01:00
Pavol Rusnak
92535dc090
chore(core,legacy): change versions back to 1.9.4 and 2.3.5
...
[skip_ci]
2021-01-22 14:23:11 +01:00
Pavol Rusnak
43ed13b323
feat(core): disable SECP256K1_ZKP feature flag
2021-01-22 14:06:29 +01:00
Pavol Rusnak
f3d5de15ef
refactor(core): turn SECP256K1_ZKP into a firmware feature flag
2021-01-22 14:06:29 +01:00
Jan Pochyla
f3a64435f1
fix(core): root ui callback for trezorconfig mod ( #1412 )
...
Co-authored-by: Pavol Rusnak <pavol@rusnak.io>
2021-01-19 14:17:16 +01:00
Martin Milata
db5b65a420
perf(core): enable rendering of substrings to avoid slicing
2021-01-11 16:47:59 +01:00
Pavol Rusnak
93215ae3c7
style: reformat with clang-format 11
2021-01-04 14:40:16 +01:00
Rafael Korbas
edf9b4ee85
Refactor mnemonic_to_entropy to not (misleadingly) return checksum
2020-12-19 20:17:16 +01:00
Tomas Susanka
d2e3269ede
chore(core): bump version to 2.3.6
2020-12-18 19:36:25 +01:00
Andrew Kozlik
aeb021b159
chore(core): Improve naming of SLIP39's T9 mask lookup.
2020-12-15 13:41:42 +01:00
Andrew Kozlik
7fc1851279
fix(crypto): Improve naming and robustness of SLIP39's T9 mask lookup.
2020-12-15 13:41:42 +01:00
Pavol Rusnak
0519c8bd13
Revert "chore(core): bump version to 2.3.6"
...
This reverts commit 01d1058048
.
2020-11-26 16:48:47 +01:00
Tomas Susanka
01d1058048
chore(core): bump version to 2.3.6
2020-11-25 20:14:30 +01:00
Pavol Rusnak
b9c0b3969b
legacy+core: unify error codes in bootloaders ( #1347 )
2020-11-18 11:21:57 +01:00
Pavol Rusnak
50fdd183c2
ci: enable editorconfig checks, fix whitespace issues
2020-11-11 14:43:50 +01:00
Pavol Rusnak
ded61a4ccf
chore(vendor): update micropython to v1.13
2020-10-16 14:19:35 +02:00
Andrew Kozlik
c67ecb984b
chore(crypto): Move XPUB_MAXLEN and ADDRESS_MAXLEN from modtrezorcrypto to bip32.h.
2020-10-13 13:13:49 +02:00
Andrew Kozlik
c21ca81a1e
fix(core): Prevent sensitive data from being left on the call stack in modtrezorcrypto.
2020-10-13 13:13:49 +02:00
Pavol Rusnak
d8534b5ee6
perf(core/extmod): replace HMAC Python implementation with C
...
We keep Python implementation of HMAC for Monero in
core/src/apps/monero/xmr/crypto/__init__.py
2020-10-12 16:33:13 +02:00
Pavol Rusnak
649e31cef0
chore(core/bootloader): regenerate messages with nanopb 0.4.3
2020-09-24 10:52:31 +02:00
Tomas Susanka
0317877297
chore(core): bump version to 2.3.5
2020-09-24 10:17:32 +02:00
matejcik
7e5d9e295b
fix(core): help mypy understand micropython's module management
2020-09-23 16:00:10 +02:00
Martin Milata
f3fd98a7ba
core: remove 1px of space on the left of each glyph
...
For PixelOperator (T1) fonts only.
2020-09-01 19:57:46 +02:00
Martin Milata
b8bb63fbef
core: drop unused FONT_SIZE constant
2020-09-01 19:57:46 +02:00
Tomas Susanka
d080464cc5
core, legacy: bump versions (also in changelogs)
2020-08-24 09:31:49 +02:00
Ondrej Mikle
8d3d3be09c
core/bootloader_ic: introduce CI bootloader for TT device tests ( #1182 )
2020-08-21 14:39:56 +02:00
Martin Milata
1b982659c4
core: fix boot loop after uploading invalid homescreen ( #1205 )
2020-08-21 12:00:42 +02:00
Pavol Rusnak
5536fbb98a
python: use stdlib blake2s on python 3.6+
...
commit 6d407c84d7
did not replace everything
2020-08-10 23:35:38 +02:00
Pavol Rusnak
4e11735d22
core/modtrezorui: remove prefill from text functions
...
use display.bar where needed to prefill the areas
2020-08-07 15:08:14 +02:00
matejcik
5385617eda
core: increase address length limit to accomodate CRW ( fixes #1139 )
2020-08-07 12:45:43 +02:00
Ondřej Vejpustek
59002118c0
core/extmod: explicitly initialize automatic variables
2020-08-04 14:50:07 +02:00
Pavol Rusnak
efc5ccdaf0
core: remove src1
2020-08-03 15:59:57 +02:00
Martin Milata
e5bdca655a
core: don't scale emulator background image
...
Makes the emulator look nicer in tiling window managers.
2020-07-31 12:27:43 +02:00
matejcik
8502412dbc
core/emulator: assume -m main
when no arguments are provided
...
fixes #1115
2020-07-30 15:27:34 +02:00
Pavol Rusnak
a6451dad46
core/fonts: update headers
2020-07-28 10:56:41 +02:00
Pavol Rusnak
47e7550423
core/extmod: add font_pixeloperator{,mono}, use this font for T1
2020-07-28 09:40:30 +02:00
Pavol Rusnak
cec87bba50
core: remove mono bold font variant (not used anywhere)
2020-07-27 23:22:34 +02:00
Pavol Rusnak
8bc32d035b
core/extmod: enable display_text* methods for other models than T
2020-07-27 17:24:13 +02:00
Pavol Rusnak
df03534955
core: print inverted question mark for nonprintable characters
2020-07-27 16:29:11 +02:00
Pavol Rusnak
89d701ed08
core+legacy: bump versions (also in changelogs)
2020-07-27 13:59:49 +02:00
Pavol Rusnak
8dacad0782
core/bootloader: update protobuf definitions
2020-07-26 00:00:37 +02:00
matejcik
fa757f4b7f
core: improve type annotation for bip32.derive_path
2020-07-24 16:37:58 +02:00
matejcik
0c3bc53aee
core: clean up types for field caching, fix count_message
2020-07-24 14:09:31 +02:00
matejcik
f723dca7b1
core: enable PYSTACK
2020-07-24 14:09:31 +02:00
matejcik
85d74ece76
core: implement synchronous v1 codec
2020-07-24 14:09:31 +02:00
Andrew Kozlik
4005f4832f
core/embed: Set VCP write timeout to 0.
2020-07-16 09:34:58 +02:00
Ondrej Mikle
33d2bf417b
core: replace bootloader only in production. Fix device for T1 core port JLink upload
2020-07-13 10:45:32 +02:00
Tomas Susanka
f8b2f0bb7b
changelogs: change also bootloader changelogs to the new format
2020-06-11 15:48:38 +00:00
Tomas Susanka
56fe5adcfc
Merge branch 'release/2020-06'
2020-06-10 06:51:18 +00:00
Pavol Rusnak
179645e3ad
core: unify usage of TREZOR_MODEL
2020-06-06 21:06:15 +02:00
Ondrej Mikle
c877dc8dd6
core: port storage to T1
2020-06-06 21:06:15 +02:00
matejcik
872e0fb0e0
core: lower scheduler resolution to milliseconds
...
This avoids problems with large timeouts causing the scheduler queue to
think the time counter has overflown, and ordering the autolock task before
immediate tasks.
The maximum reasonable time difference is 0x20000000, which in
microseconds is ~8 minutes, but in milliseconds a more reasonable ~6
days.
2020-06-04 16:18:46 +02:00
matejcik
2cedc687e6
core: disable trezor-crypto BIP32 cache
2020-06-04 16:18:46 +02:00
matejcik
837c4df61f
core: expose storage_is_unlocked() as config.is_unlocked()
2020-06-04 16:18:46 +02:00
matejcik
87433995b0
core: add BITCOIN_ONLY to mock file
2020-06-04 16:18:46 +02:00
Tomas Susanka
8859d103f4
core, legacy: bump versions
2020-06-03 15:39:25 +00:00
Ondřej Vejpustek
24ceb0ab6b
crypto/bignum: change limb size to 29, add tests
2020-05-24 14:36:38 +00:00
Ondrej Mikle
b01b24f090
core: change startup firmware file from .s to .S which enables preprocessing and fixes TT boot
2020-05-24 12:28:38 +02:00
Ondrej Mikle
10f0f107e0
core: Adds T1 core port FW flashing options for for openocd and jlink
2020-05-21 10:05:12 +02:00
Ondrej Mikle
0d65d684f0
core: T1 port can run on T1 bootloader with MEMORY_PROTECT=0
2020-05-21 08:49:59 +02:00
matejcik
aa52fc3903
core/extmod: drop unused rfc6979 module
2020-05-18 14:31:00 +02:00
matejcik
050936d0d7
core: enable finalizers on extmod classes
2020-05-18 14:31:00 +02:00
matejcik
7f2e7b0003
core: add Ethereum constants to mocks
2020-05-15 14:08:29 +02:00
Ondrej Mikle
7eddafe487
core: better formatting for common parts of T1 and TT header
2020-05-14 16:10:42 +02:00
Ondrej Mikle
c4c341b3f9
core: setup stack when running core on T1
2020-05-14 12:46:25 +02:00
Ondrej Mikle
e429085e96
core: copy firmware header for T1 port into final binary
2020-05-11 17:33:47 +02:00
Ondrej Mikle
d8115a7992
core: firmware header for T1 port
2020-05-11 15:43:43 +02:00
Pavol Rusnak
25cc836660
core/extmod: fix build of modtrezorui when TREZOR_MODEL is set to '1'
2020-04-30 15:07:26 +00:00
Tomas Susanka
47f104bceb
core, legacy: bump versions
2020-04-24 17:12:20 +00:00
Ondřej Vejpustek
c461692f3a
core: implement random delay interrupts
2020-04-16 11:51:28 +02:00
matejcik
2ccebd3175
core: raise SystemExit when exitting emulator (now that sys.exit is removed)
2020-04-14 10:17:37 +02:00
matejcik
4bddeefea0
core: unify mpconfigports for emulator and board
...
Changes in firmware/mpconfigport.h are minimal:
* $VFS_FAT is dropped because it is irrelevant without $VFS
* $REVERSE_SPECIAL_METHODS is added, to push down on code size
* $THREAD is disabled unconditionally
unix/mpconfigport.h is reordered and modified to match
firmware/mpconfigport.h as much as possible, while selectively enabling
some needed features.
Notably, $USE_READLINE is enabled unconditionally
2020-04-14 10:17:37 +02:00
matejcik
d0f709b8cc
core: fix and use MAKEMODULEDEFS instead of explicit registration
2020-04-14 10:17:37 +02:00
matejcik
a6976355c3
core: remove readline from built firmware
2020-04-14 10:17:37 +02:00
Pavol Rusnak
a7806d08d7
core/crypto: remove unused bip32.deserialize function
2020-04-06 18:04:24 +02:00
Pavol Rusnak
1695228d80
core/crypto: remove unused serialize_private function
2020-04-06 15:49:36 +00:00
Pavol Rusnak
f07ff17fad
core/crypto: add missing field to Blake2b constructor
2020-04-06 12:28:36 +00:00
Pavol Rusnak
336a417233
core/bootloader: distinguish between a vendor change and downgrade with wipe
2020-03-25 15:15:12 +01:00
Ondrej Mikle
634ed5aabc
core: commands for flashing via JLink ( #911 )
2020-03-23 10:40:06 +01:00
matejcik
3789a3372b
core/sdcard: modify exception handling in fatfs
...
expose ff.c constants, raise them as arguments to FatFSError
introduce NotMounted and NoFilesystem as subclasses of FatFSError with
the appropriate error code set
2020-03-20 14:03:28 +01:00
Andrew Kozlik
bfd834d1de
storage: Add storage_ensure_not_wipe_code().
2020-03-19 15:04:33 +01:00
Dusan Klinec
2658e253fa
xmr/bp: memory optimizations and improvements
...
- different approach to vector manipulation - more on the fly operations. Prepared for fully offloaded operations, BP on Trezor with constant memory.
- memory requirements reduced from (4MN + const) to (2MN + const)
- more raw methods to avoid unnecessary encoding/decoding
- chunking improved, chunk size set as a constant, changed from 64 to 32, missing pieces implemented to cover also BP 16
- proof_v8 support discontinued, old hardfork, not needed anymore
- get_exponent register clash fixed (for large vectors)
- reduced heap fragmentation by removing some temporary allocations
- hashing with len and offset to reduce heap fragmentation by creating a sliced arrays
- use to() wherever possible to avoid allocations and return of mutable private object
- global functions start with _ prefix, reduce import footprint
- use __slots__ in classes to minimize footprint
2020-03-02 12:17:03 +01:00
Tomas Susanka
86b010a18b
Merge pull request #878 from trezor/matejcik/fatfs-corruption
...
FatFS API rework
2020-02-27 15:58:38 +01:00
matejcik
9ab84d2455
core/tests: thoroughly test modified APIs
2020-02-27 10:56:23 +01:00
matejcik
b24411b900
core/sdcard: unmount instance when powering off sdcard
2020-02-27 10:56:23 +01:00
matejcik
c81be584fb
core/fatfs: ensure functions can only be called on a mounted filesystem
...
ff.c has a lazy-mounting feature, where any filesystem call will mount
the volume if it can. This messes with predictability of the mounted
state, so all (except mount/unmount/mkfs) Python functions will first
check if the fs is mounted.
2020-02-27 10:56:23 +01:00
matejcik
fa746e2990
core/fatfs: rework low-level FatFS API
...
Instead of having possibly multiple FatFS objects, each with its own
`fs` struct, there is one global static fs_instance. This is to match
the mode of operation of ff.c, which assumes a global list of mounts,
and all functions operate on the global based on path.
Methods of FatFS were converted to functions on the fatfs module.
fatfs.unmount() does not call ff.c's unmount, but simply invalidates
fs_instance. This is basically what ff.c would do, except without
messing with ff.c's global list of mounts.
2020-02-26 14:18:41 +01:00
Pavol Rusnak
c896f02eb3
core/boardloader: use SRAM as SD card read buffer
...
because DMA can't access the CCMRAM
2020-02-25 17:59:16 +01:00
Andrew Kozlik
2133f7cf29
core: Prevent data loss when writing to USB VCP.
2020-02-25 12:08:07 +01:00
Pavol Rusnak
39ce100608
Merge pull request #864 from trezor/prusnak/bootloader-text-break
...
core/bootloader: split long vendor string
2020-02-21 18:39:20 +01:00
matejcik
4ed6487a19
core/sdcard: add out-of-bounds checks to emulator
2020-02-20 12:51:48 +01:00
matejcik
d0b1b171f1
core/sdcard: ensure emulator initializes the SD card when first needed
2020-02-20 12:51:48 +01:00
matejcik
5bd8d9b5bb
core/sdcard: make allocating new SD card for emulator fast
2020-02-20 12:51:48 +01:00
matejcik
b2084a19be
core/trezorio: move sdcard functions to a submodule
2020-02-20 12:51:48 +01:00
matejcik
30529d218d
core/sdcard: change SDCard methods to plain functions
2020-02-20 12:51:48 +01:00
matejcik
06b89c57c5
core/sdcard: return proper disk status flags to fatfs
2020-02-20 12:51:48 +01:00
Pavol Rusnak
dc66bbe3d5
core/bootloader: split long vendor string
2020-02-19 21:40:28 +00:00
Pavol Rusnak
74802a107e
core/modtrezorui: add display_text_split
2020-02-19 21:40:28 +00:00
Pavol Rusnak
c4babd3c0b
Merge pull request #846 from trezor/bootloader-read-retry
...
core/bootloader: make read more benevolent and read error more helpful
2020-02-19 19:45:34 +01:00
Pavol Rusnak
581e46ff87
Merge pull request #845 from trezor/prusnak/webusb-popup
...
Don't show WebUSB popup in firmware, in bootloader only if no firmware present
2020-02-19 18:18:01 +01:00
Pavol Rusnak
2958a97c87
Merge pull request #830 from trezor/tsusanka/fw-upgrade
...
FW Update: Request a small chunk first to make the UI smoother
2020-02-15 13:08:33 +01:00
Pavol Rusnak
63dfd6c6ab
core/bootloader: make read more benevolent and read error more helpful
2020-02-12 22:05:29 +01:00
Pavol Rusnak
07cd73ce57
core: show webusb popup only in bootloader and only if firmware is not installed
2020-02-12 20:47:05 +00:00
matejcik
c14429c445
all: shut down emulator on error_shutdown
2020-02-12 13:31:31 +01:00
Tomas Susanka
2c0504ad1c
Merge pull request #803 from trezor/passphrase
...
Passphrase Redesign
2020-02-11 16:01:59 +01:00
Pavol Rusnak
32f8f1cb61
core/embed: update fatfs to 0.14; use upstream version
2020-02-07 15:21:16 +00:00
Pavol Rusnak
73ed2f3450
legacy: small nitpicks related to the new passphrase handling
2020-02-07 11:41:03 +00:00
Tomas Susanka
1343583d21
core: bump version to 2.3.0
2020-02-07 11:41:00 +00:00
Tomas Susanka
a02d7e3daf
core/bootloader: request vendor header first
2020-02-06 12:22:32 +00:00
matejcik
d28e33ef02
core/headertool: support generating vendor headers with explicit size
2020-02-05 12:23:34 +01:00
Pavol Rusnak
6dbed1424f
core+legacy: update nanopb api to version 0.4
2020-02-04 17:18:27 +00:00
Pavol Rusnak
3eb7775659
core/bootloader: regenerate protobuf messages
2020-02-04 17:18:17 +00:00
Pavol Rusnak
4647e7d686
core+legacy: use nanopb generator from pipenv
2020-02-04 17:15:25 +00:00
matejcik
75264a07a8
Emulator launcher scripts ( #796 )
...
Emulator launcher scripts
2020-01-24 16:18:18 +01:00
Pavol Rusnak
3de1b3aa54
core/embed: switch to unprivileged in main.c
2020-01-24 12:29:46 +00:00
Pavol Rusnak
7a2e0c3412
core/embed: don't call functions via supervisor if in privileged mode
2020-01-23 18:18:59 +00:00
matejcik
27c4c2dd50
core: do not let frozen emulator import live files
2020-01-23 15:50:28 +01:00
matejcik
9341f0d584
core: improve building of vendor headers
2020-01-20 17:32:59 +01:00
Pavol Rusnak
500156b9ba
core/embed: don't use local copy of inflate
2020-01-18 17:09:52 +01:00
Tomas Susanka
7c41b40dff
tests: introduce UI tests for core with diffs ( #784 )
...
tests: introduce UI tests for core with diffs
2020-01-10 20:39:31 +01:00
Milan Rossa
8b31c6fcf4
core: increase stack size for unix port
2020-01-09 15:26:40 +01:00
Pavol Rusnak
9bc3af08b2
core: update mpconfigport.h from upstream (for both stm32 and unix)
2020-01-09 15:20:22 +01:00
Jan Pochyla
655ec0a70c
core/unix: update main.c from upy 1.12
2020-01-07 20:52:43 +01:00
Jan Pochyla
7deade5a10
core/firmware: PendSV_Handler is defined in pendsv.c
2020-01-07 20:52:43 +01:00
Jan Pochyla
ecc4313a34
core/usb: avoid naks in hid/webusb rx interfaces
2020-01-07 20:52:43 +01:00
Tomas Susanka
51ef963738
tests: introduce UI tests for core
2020-01-03 14:28:27 +00:00
Pavol Rusnak
8572a5a942
core: fix interrupt usage in usbd_conf
2019-12-18 16:30:57 +00:00
Ondrej Mikle
0064fda203
core: check whether USB structures are correct to avoid faults in shutdown
2019-12-18 17:16:36 +01:00
Pavol Rusnak
6198509948
core: bump version to 2.2.1; update changelog
2019-12-16 19:06:33 +01:00
Milan Rossa
6d932a8a1d
core/embed/unix/flash: Don't reopen flash emulation file.
2019-12-15 10:21:29 +01:00