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

3889 Commits

Author SHA1 Message Date
Andrew Kozlik
911fe2a526 feat(core): Implement extend_mnemonics() for SLIP-39.
[no changelog]
2024-10-10 12:52:06 +02:00
tychovrahe
d71d9e9c34 feat(core): add T3W1 emulator build
[no changelog]
2024-10-09 15:06:40 +02:00
tychovrahe
a0c885d244 fix(core): fix T3T1 MCU definition for emulator
[no changelog]
2024-10-09 15:06:40 +02:00
tychovrahe
915d4fca94 feat(core): add support for T3W1, on F4
[no changelog]
2024-10-09 15:06:40 +02:00
tychovrahe
138fadbf7b feat(core): add LHS200KB display panel
[no changelog]
2024-10-09 15:06:40 +02:00
tychovrahe
5575fce461 chore(core): remove button state syscalls
[no changelog]
2024-10-09 15:06:40 +02:00
tychovrahe
f822074047 chore(core): add autogenerated notice to enums/__init__.py
[no changelog]
2024-10-09 15:06:40 +02:00
tychovrahe
91b1d950fd fix(core): fix rust compilation of pixeldata for new rendering on 16bit bus
[no changelog]
2024-10-09 15:06:40 +02:00
tychovrahe
b5b12ba50c fix(core): fix st7789-v driver issue data when using 16 bit bus
[no changelog]
2024-10-09 15:06:40 +02:00
cepetr
af4d792212 fix(emulator): fix rsod drawing in emulator
[no changelog]
2024-10-09 13:03:51 +02:00
cepetr
0ebc82728b fix(core): resolve static_assert error on macos compiler
[no changelog]
2024-10-09 13:03:51 +02:00
matejcik
3036d524a6 refactor(core): outline nested functions in mini_printf
so that we can compile it with clang

[no changelog]
2024-10-09 13:03:51 +02:00
cepetr
a247b4e87a refactor(core): rename reboot to reboot_device
[no changelog]
2024-10-09 13:03:51 +02:00
M1nd3r
c99988312a feat(core): add pairing credential manager
[no changelog]
2024-10-09 10:44:30 +02:00
M1nd3r
b0c2db8a77 test(core): add credential manager tests
[no changelog]
2024-10-09 10:44:30 +02:00
M1nd3r
6ba75b267d chore(core): exclude THP modules and messages from non-THP builds
[no changelog]
2024-10-09 10:44:30 +02:00
cepetr
5eb5f8d8f2 refactor(core): improve random_delays api
[no changelog]
2024-10-07 11:39:09 +02:00
cepetr
f54edd0d6a fix(core): ensure proper handling of vendor string
[no changelog]
2024-10-02 16:57:16 +02:00
Ioan Bizău
774f9de745 chore(core/translations): shorten some menu item translations
[no changelog]
2024-10-02 10:55:45 +03:00
Ioan Bizău
9b8f18577f chore(core/ui): crash on button text too long
[no changelog]
2024-10-02 10:55:45 +03:00
Ioan Bizău
69100c0755 feat(core/ui): allow two lines of text in menu items 2024-10-02 10:55:45 +03:00
cepetr
e6bda579b1 fix(core): fix interaction-less update
[no changelog]
2024-10-01 10:12:44 +02:00
cepetr
51b703cb1a fix(core): remove unnecessary framebuffer copying
[no changelog]
2024-10-01 10:12:27 +02:00
cepetr
e01fda59a9 fix(core): fix incorrect detection of exception/handler mode
[no changelog]
2024-10-01 10:12:27 +02:00
Jan Šetina
a1d9975507
docs: add Safe 3 and Safe 5 in documentation (#4228)
* docs: add Safe 3 and Safe 5 in documentation

* Update core/README.md

---------

Co-authored-by: matejcik <ja@matejcik.cz>
2024-09-30 10:15:35 +02:00
tychovrahe
7374700c0a refactor(core): ui configuration in build scripts
[no changelog]
2024-09-27 22:02:08 +02:00
matejcik
df8be364fb build(core/rust): provide a default value for BUILD_DIR
to make it easier to run cargo separately, and support rust-analyzer
without tweaking its config
2024-09-27 14:11:02 +02:00
tychovrahe
775780cc8b refactor(core): rename TRANSLATIONS_AREA to ASSETS_AREA
[no changelog]
2024-09-27 09:49:20 +02:00
tychovrahe
d361c23224 chore(core): remove SBU interface from python
[no changelog]
2024-09-27 09:49:20 +02:00
tychovrahe
10eaa15427 chore(core/build): reuse embed_raw_binary function to embeed vendorheaders
[no changelog]
2024-09-27 09:49:20 +02:00
tychovrahe
d312944f1e feat(core): embed bootloaders to DISC1,2 models in order to support testing related featurees
[no changelog]
2024-09-27 09:49:20 +02:00
tychovrahe
94af4d98f0 chore(core): clean sconscripts
[no changelog]
2024-09-27 09:49:20 +02:00
tychovrahe
d412ce987e refactor(core): use common layout.c file
[no changelog]
2024-09-27 09:49:20 +02:00
tychovrahe
21c1359ac6 refactor(core): streamline layout definitions
[no changelog]
2024-09-27 09:49:20 +02:00
matejcik
6cbba09d1d refactor(core): return FlowMsg::Choice and FlowMsg::Text as plain values
instead of tuples
2024-09-26 10:00:48 +02:00
matejcik
2661dbb3d1 fix(core): change incorrect usage of "deadline" in Rust timer code 2024-09-26 10:00:48 +02:00
matejcik
9431f2a77d refactor(core/rust): simplify TryFrom<FlowMsg> 2024-09-26 10:00:48 +02:00
matejcik
a159ea133a refactor(core/rust): add comments in frame.rs 2024-09-26 10:00:48 +02:00
matejcik
85d699a42d refactor(core/rust): simplify match statement in footer.rs 2024-09-26 10:00:48 +02:00
matejcik
f7ce99e7d7 refactor(core/rust): EventPropagation enum
to indicate in a better way that some event should be propagated further

there are probably more places where this would be appropriate
2024-09-26 10:00:48 +02:00
matejcik
c0bb55258b refactor(core/rust): use SwipeEvent in place of SwipeDetectMsg 2024-09-26 10:00:48 +02:00
matejcik
9f083c1865 refactor(core/rust): replace TouchAbort event with explicit abort via a detected swipe
worth considering:

pub enum Phase {
    Start,
    Move,
    End,
}

pub enum TouchEvent {
    Touch(Phase, Point),
    Swipe(Phase, Point),
}

(Swipe needs its own Phase because it needs a progress on the Move, but
otherwise...)
2024-09-26 10:00:48 +02:00
matejcik
943d6d9b30 refactor(core/rust): use separate files for button and touch events
this makes it easier to feature-gate them
2024-09-26 10:00:48 +02:00
matejcik
e049efd171 refactor(core/rust): move ui::component::SwipeDirection to ui::geometry::Direction
it's a rather general thing, no reason to tie its existence to Swipe
2024-09-26 10:00:48 +02:00
matejcik
48edb483a0 refactor(core/rust): streamline FlowState handling
* use the freed-up FlowState name for an alias to &'static dyn
FlowController
* replace StateChange with raw Decision
* move FlowState into Decision::Transition (the other Decisions should
not have the ability to change state
* also rename `transit` to `goto` which is a much better name
2024-09-26 10:00:48 +02:00
matejcik
9cc03c91d1 refactor(core/rust): rename the FlowState trait to FlowController
so that we can use the FlowState name for a type alias
2024-09-26 10:00:48 +02:00
matejcik
30c08b6442 refactor(core/rust): simplify code for internal paging events
[no changelog]
2024-09-26 10:00:48 +02:00
cepetr
a5ddd13e8f fix(core): fix handover to bootloader
[no changelog]
2024-09-26 09:55:21 +02:00
tychovrahe
2530312091 fix(core): reboot immediately in boardloader if BHK is locked
[no changelog]
2024-09-26 09:54:45 +02:00
cepetr
454b8140ec fix(core): fix slow jpeg decoding
[no changelog]
2024-09-25 12:46:57 +02:00
tychovrahe
e13d4a45a6 chore(core): remove residual support for T1B1 in core
[no changelog]
2024-09-25 09:18:01 +02:00
cepetr
ab96ce7954 fix(core/embed): fix firmware invalidation
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
dfd17578b6 refactor(core): migrate coreapp into firmware
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
0c98f578ad fix(core): support 32 bit colors in terminal
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
0b8d42358e chore(core): remove flash otp interface from python
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
e9c025751c fix(core): fix storage offsets
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
57f72d5aa7 fix(core): use secure-unprivileged SAES XOR key for storage encryption
[no changelog]
2024-09-24 12:21:53 +02:00
tychovrahe
28f420189a refactor(core): combined build of coreapp + kernel, linker scripts refactoring
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
35c6f52133 refactor(core/embed): introduce system, tasks, applets and emergency mode
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
1c991339ce refactor(core/embed): split firmware into kernel & coreapp
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
7f3cff04f1 refactor(core/embed): introduce new mpu driver
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
8fab22522a refactor(core/embed): moving specific algorithms into fwutils
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
ae4e195d6e refactor(core/embed): simplify bootutils api
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
33a94d945d chore(core/embed): remove unused legacy i2c driver
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
2540b91823 refactor(core/embed): use new i2c driver in stmpe811 touch driver
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
fdd6a2a40e refactor(core/embed): use new i2c driver in sitronix touch driver
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
b93c16d8a7 refactor(core/embed): use new i2c driver in optiga driver
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
caede8e3ee refactor(core/embed): use new i2c driver in drv2625 driver
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
35937a9bfe refactor(core/embed): use new i2c driver in ft6x36 driver
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
ed74f8302f refactor(embed/core): replace enable/disable_irq by irq_lock/unlock
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
91649dc7cb feat(core/embed): introduce non-blocking i2c drivers
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
9e4a6d08e5 feat(code/embed): introduce ARRAY_LENGTH macro
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
a6741556d0 fix(core/embed): fix prodtest build
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
5210d2fa50 fix(embed/core): fix stack protection on STM32U5
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
0b93d0d848 fix(core/embed): make HardFault processing safer
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
2bb5b5c0ce refactor(core/embed): introduce fwutils module
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
0e45f92d3b refactor(core/embed): move __stack_chk_fail to a better location
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
b1a41ded79 refactor(core/embed): improve bootuils api
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
0666e6ea9a refactor(core/embed): rename boot_args to bootuils
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
5f97f5a8ea refactor(core/embed): make i2c header common for all platforms
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
741b30f7a2 chore(embed/core): add include guard to translations.h
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
2fd5aca05c refactor(core/embed): remove supervise module
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
1443f86983 feat(core/embed): introduce systick and systimer drivers
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
58d9f6115e fix(core/embed): fix aborting of bg_copy operation
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
d7462e93bb refactor(core/embed): remove FlashOTP module
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
a3fcc62655 refactor(core/build): remove hardcoded build path
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
4312c08612 refactor(core/embed): extract hw entropy logic to its own module
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
d87a250905 fix(core/embed): fix display initialization on T3T1 in boardloader
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
e106df766e refactor(core/embed): add initialized flag to display drivers
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
3f0770b4e1 fix(core/embed): fix backlight pwm settings during display deinit
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
33c2bcbe52 refactor(core/embed): simplify ensure_compatible_settings
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
1d8b29e746 refactor(core/embed): improve display driver init/deinit
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
d558950950 refactor(core/embed): simplify irq priorities
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
3fb55a373d refactor(core/embed): remove unnecessary sync from sdcard driver
[no changelog]
2024-09-24 12:21:53 +02:00
cepetr
20814f7ae6 refactor(core/embed): remove unnecessary pendsv exception handling
[no changelog]
2024-09-24 12:21:53 +02:00
Ioan Bizău
a59ded586e chore(core/translations): shorten a couple of menu item translations
[no changelog]
2024-09-24 11:57:34 +03:00
Ioan Bizău
6da38f4cf3 feat(core): show account info in ETH send/stake flow 2024-09-24 11:57:34 +03:00
matejcik
53c52cbf48 chore(core/bootloader): bump version 2024-09-23 09:32:57 +02:00
matejcik
33519dac50 docs(core/bootloader): changelog for bl 2.1.9 2024-09-23 09:32:57 +02:00
tychovrahe
c67d185da5 fix(core/bootloader): fix ignoring disconnected touch in production mode
[no changelog]
2024-09-20 15:13:36 +02:00
tychovrahe
12c3dc5ff8 chore(core): fix typos in touch.h
[no changelog]
2024-09-20 15:13:36 +02:00
tychovrahe
02533aa27a fix(core): fix bootloader_ci production build
[no changelog]
2024-09-18 08:27:32 +02:00
tychovrahe
6658c42a95 fix(core): use new rendering in changing_text
[no changelog]
2024-09-17 17:46:11 +02:00
tychovrahe
23d68eb0bb fix(core): fix model T new-rendering loader
[no changelog]
2024-09-17 17:46:11 +02:00
tychovrahe
c6a1eba4b6 fix(core): fix fading on model T bootloader
[no changelog]
2024-09-17 17:46:11 +02:00
tychovrahe
1dc5c4c03f fix(core): fix model_tr icons for new rendering
[no changelog]
2024-09-17 17:46:11 +02:00
tychovrahe
41273a25ed fix(core): fix blending mono 4 on mono 8 canvas
[no changelog]
2024-09-17 17:46:11 +02:00
tychovrahe
24c0552a43 feat(core): switch to new rendering everywhere
[no changelog]
2024-09-17 17:46:11 +02:00
Ioan Bizău
32be89a29a refactor(core): use code to append colon to strings
[no changelog]
2024-09-17 01:44:20 +02:00
Ioan Bizău
74fb627733 chore(core/translations): remove spaces before punctuation in fr
[no changelog]
2024-09-17 01:44:20 +02:00
Ioan Bizău
1c7bfdb04c refactor(core): use a template to add colon to strings
[no changelog]
2024-09-17 01:44:20 +02:00
Martin Milata
24a15c3a05 Merge branch 'release/24.09' 2024-09-16 13:43:03 +02:00
Martin Milata
19e3c4d4f8 Merge branch 'release/translations/24.09' 2024-09-16 13:41:30 +02:00
Ioan Bizău
4e0851d01b fix(core/ethereum): use BIP44 variant to detect ETH account # 2024-09-16 11:14:05 +03:00
tychovrahe
8507335806 fix(core): fix f4 monoctr in non-production builds
[no changelog]
2024-09-15 20:15:21 +02:00
Martin Milata
95fe6edb2d chore(core): bump core, core/bootloader, core/prodtest versions
core: 2.8.4
bootloader: 2.1.9
prodtest: 0.2.10

[no changelog]
2024-09-13 20:04:04 +02:00
obrusvit
8d1a9bc17f chore(core): remove duplicated FlowMsg conversion
[no changelog]
2024-09-13 12:08:42 +02:00
obrusvit
9b4b1203b6 refactor(core/mercury): remove some unused code
[no changelog]
2024-09-12 21:26:45 +02:00
obrusvit
aab68b9dfa feat(core/mercury): impl footer in RemainingShares 2024-09-12 21:26:45 +02:00
obrusvit
d15ecfb859 refactor(core/mercury): self-updating footer
This commit enables registering function for updating footer and header
based on the content. This eliminates the need to create wrappers around
Frame to update them.

[no changelog]
2024-09-12 21:26:45 +02:00
Martin Milata
47972bc2ec chore(core): include signed translations for 2.8.3 2024-09-12 17:51:12 +02:00
Ondřej Vejpustek
fb471a96f2 refactor(crypto): adapt ripemd160 implementation 2024-09-12 14:44:33 +02:00
Ioan Bizău
f6aa7cbb08 fix(core): tweak swipes in ETH staking flow 2024-09-12 11:45:30 +03:00
Martin Milata
a36c410e70 chore(core): bump core, core/bootloader, core/prodtest versions
core: 2.8.3
bootloader: 2.1.9
prodtest: 0.2.10

[no changelog]

(cherry picked from commit 43b7d717f2791c62f4ed1f4d724a8eb1c42a6398)
2024-09-11 23:09:29 +02:00
Martin Milata
7f373ae71e chore(core): bump translations to 2.8.3 2024-09-09 16:14:27 +02:00
Martin Milata
b30d60d946 chore(core): bump version to 2.8.3 2024-09-09 15:06:29 +02:00
Martin Milata
5d8461969a chore(core): add hashes for 2.1.8 bootloader 2024-09-09 14:21:38 +02:00
Martin Milata
37006592db chore(core): add signed bootloader 2.1.8 for T3B1 and T3T1 2024-09-09 12:12:39 +02:00
matejcik
62b56df573 fix(core/translations): update pt/tr/it translations with universal safe3 fonts 2024-09-09 09:12:49 +02:00
tychovrahe
656a86b8a0 chore(core): generate bootloader and prodtest changelogs
[no changelog]
2024-09-07 08:35:10 +02:00
tychovrahe
5eb68975d9 fix(core/prodtest): fix prodtest run with unlocked bootloader
[no changelog]
2024-09-07 08:35:10 +02:00
tychovrahe
be9255ae04 fix(core/bootloader): fix unlocking bootloader granting HDP access on U5
[no changelog]
2024-09-07 08:35:10 +02:00
tychovrahe
422b376ebd fix(core/bootloader): reporting bootloader lock state on U5
[no changelog]
2024-09-07 08:35:10 +02:00
tychovrahe
f3b78e9c7a fix(core/bootloader): fix firmware downgrade protection
[no changelog]
2024-09-07 08:35:10 +02:00
JoeGruff
d2a2ac2178 decred: Add input_derive_script.
Decred shares code with bitcoin and a recent change broke signing stake
based inputs. Add decred specific script construction and fix tests.
2024-09-06 10:52:47 +02:00
Martin Milata
cb76e1351d chore(core): changelog for bootloader and prodtest 2024-09-05 15:11:42 +02:00
Martin Milata
777ad11bec feat(core/translations): add it, pt
Partially added TR.
2024-09-03 21:58:09 +02:00
Martin Milata
d7e1f0faf3 docs(core): changelog for T3B1 2024-09-03 19:22:20 +02:00
Martin Milata
b4d4f82c78 docs(core): changelog for 2.8.2 2024-09-03 18:54:14 +02:00
Martin Milata
50da2bdfd1 chore(common): set definition timestamp to the current signed definitions
[no changelog]
2024-09-03 18:45:43 +02:00
Ioan Bizău
ba8f0ea4bc feat(core): use new ETH send flow also for staking 2024-09-03 18:59:53 +03:00
obrusvit
c5f9fadbd1 fix(core/mercury): show remaining shares
This commit enables showing "Remaining shares" from the context menu
during recovery process. This is only shown during super-shamir.
2024-09-03 14:20:34 +02:00
tychovrahe
708b0274f5 chore(core): bump monotonic versions
[no changelog]
2024-09-03 13:07:34 +02:00
tychovrahe
b685820fb3 feat(core): implement firmware downgrade protection 2024-09-03 13:07:34 +02:00
tychovrahe
395a4af9be refactor(core): extract monotonic version to model specific headers
[no changelog]
2024-09-03 13:07:34 +02:00
tychovrahe
c1864a2a91 refactor(core): enclose monotonic counter to platform specific module
[no changelog]
2024-09-03 13:07:34 +02:00
tychovrahe
d334b92073 feat(core): add bootloader unlocking functionality to U5 optiga models 2024-09-03 13:07:34 +02:00
matejcik
cc9e74772b chore(common): rename MATIC to POL, following a network upgrade 2024-09-03 12:52:42 +02:00
matejcik
234c065aae chore(core): support T3B1 for translation blobs 2024-09-03 10:35:14 +02:00
matejcik
bcd837ae26 chore(core): generate coininfo for T3B1
this also includes T1B1 in the generated python files, but we don't care
because T1B1 will never be included in a built firmware
2024-09-03 10:35:14 +02:00