Andrew Kozlik
703ea32ceb
feat(core): Add aesgcm class to trezor.crypto Python module.
...
[no changelog]
2024-04-03 10:26:46 +02:00
matejcik
9569968459
build(core): rebuild appropriate parts when translation data changes
...
fixes #3535
2024-03-26 15:22:32 +01:00
Martin Milata
ebb480ef29
fix(core): T3T1 emulator
...
[no changelog]
2024-03-12 20:55:23 +00:00
matejcik
ccf4b7e9eb
fix(core/rust): convert bitcoin_only to an additive feature
...
universal_fw enables more features, as opposed to bitcoin_only removing features
2024-03-08 13:17:12 +01:00
tychovrahe
7c800f183f
refactor(core): make translations blob handling HW agnostic
...
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
ea0f3038a0
fix(core): improve cmakelists generation for CMSE
...
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
72dc8f57e8
feat(core): add haptic feedback
...
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
a71a608ea7
feat(core): add basic support for T3T1
2024-02-29 23:05:56 +01:00
tychovrahe
8815e764d2
feat(core): add support for STM32U585
...
[no changelog]
2024-02-29 23:05:56 +01:00
cepetr
4cf781abb2
chore(core, legacy, storage): refactor flash drivers
...
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
353095ae95
feat(core): add support for STM32U5A9J-DK board
...
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
8150636a81
feat(core): add basic support for STM32U5
2024-02-29 23:05:56 +01:00
cepetr
937b7d34d0
feat(core): add STM32CubeU5 submodule
...
[no changelog]
2024-02-29 23:05:56 +01:00
tychovrahe
743ed413f6
feat(core): add support for quad-word only storage
...
[no changelog]
2024-02-20 09:37:28 +01:00
grdddj
6142a39f20
fix(core): add debug feature to Rust in hardware build when PYOPT=0
...
[no changelog]
2024-02-12 17:07:28 +01:00
grdddj
b8ea21d24a
feat(all): implement translations into Trezor
...
Co-authored-by matejcik <ja@matejcik.cz>
2024-02-12 14:49:32 +01:00
matejcik
7958061705
build(core): optimize qstr and module collection
...
Run the preprocessor on each file separately.
This allows parallelization and doesn't need to re-run for all files if just a small number is changed.
Replace simple extractors with one-liners which are generally going to be faster.
2024-02-01 15:50:07 +01:00
cepetr
6331076444
refactor(core/embed): move TOIF format definition to rust
...
[no changelog]
2024-01-26 11:30:40 +01:00
cepetr
3b9dd55788
refactor(core/embed): introduce display_utils.c
...
[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
gabrielkerekes
50861eb019
feat(solana): basic Solana setup
2023-12-05 22:11:41 +01:00
Andrew Kozlik
d670a0bdfa
feat(core): Fix malformed signatures from Optiga.
2023-12-01 00:09:17 +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
matejcik
f3393211d4
build(core): clarify vendor header selection logic
2023-11-02 12:17:13 +01:00
cepetr
ba83a7e644
feat(core): introduce interaction-less upgrade
2023-10-27 16:15:15 +02:00
tychovrahe
3c1236bf82
refactor(core): setup single-place layout selection
...
[no changelog]
2023-09-18 18:05:37 +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
Andrew Kozlik
db6630a5a3
feat(core): Support Optiga in Trezor firmware.
2023-09-13 15:45:48 +02:00
Ondrej Mikle
088e3b058e
feat(core): change core builds to use GNU11 standard instead of GNU99
...
[no changelog]
2023-08-30 14:33:21 +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
b369e3f4a7
feat(core): enable seamless build of bootloader using devkeys
...
[no changelog]
2023-08-15 09:37:38 +02:00
Andrew Kozlik
74759310bb
feat(core): Integrate OPTIGA Trust M
...
[no changelog]
2023-08-02 00:35:43 +02:00
tychovrahe
238e3fd7c1
refactor(core): add abstraction over flash memory layout
...
[no changelog]
2023-07-25 10:25:20 +02:00
matejcik
78a8b48f1e
refactor(core): generate trezorproto module straight from Rust
2023-07-12 10:09:36 +02:00
tychovrahe
ebbd7f9d35
refactor(core): restructure trezorhal, prepare to support more platforms
...
[no changelog]
2023-07-07 22:09:56 +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
Pavol Rusnak
089ff76822
Merge branch 'matejcik/signed-vhs'
2023-06-15 22:41:12 +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
matejcik
d465a14850
chore(core): add signed bootloader and vendor headers for model R
2023-06-13 14:25:39 +02:00
matejcik
84555c2ea3
build(core): always allow building model R until we have vendor headers
2023-06-12 16:25:59 +02:00
tychovrahe
8d812ca36e
feat(core): support device variants
...
[no changelog]
2023-06-07 19:48:53 +02:00
tychovrahe
a2f8cb9d1c
feat(core): add internal model field to features
...
[no changelog]
2023-06-06 09:39:45 +02:00
matejcik
319a665d0d
chore(core): add T2B1 vendor header data
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
17a07c3d1a
chore(core): refactor UI code in SSonscripts
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
e578f7f0f8
refactor(core): remove unused C display_icon and display_loader functions
...
[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
83500487b8
refactor(core): improve conditional compilations based on model
...
[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
69bc442c90
fix(core/ui): replace RobotoMono Regular with RobotoMono Medium
...
[no changelog]
2023-04-04 00:15:12 +02:00
matejcik
6e85d61688
feat(core): QA build for testing bootloaders / upgrades
...
[no changelog]
2023-04-03 22:01:26 +02:00
Martin Milata
4199d4ad41
fix(core/ui): style update: fonts
...
[no changelog]
2023-03-23 20:16:22 +01:00
Ondrej Mikle
a5f7c19f7e
fix(core/bootloader): do not use insecure LCG PRNG. Change insecure PRNG to be opt-in, not opt-out
2023-03-22 10:21:21 +01:00
Martin Milata
dce876069b
Merge branch 'release/23.03'
...
Conflicts:
legacy/firmware/version.h
tests/ui_tests/fixtures.json
2023-03-20 13:02:35 +01:00
Martin Milata
4622aec0f1
refactor(core): switch to Rust implementation of QR-Code-generator
...
[no changelog]
2023-03-09 23:36:36 +01:00
tychovrahe
5a991f3244
feat(core/rust): bootloader implementation in rust
2023-03-09 16:14:36 +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
233a292fd2
Merge branch 'master' into secfix/23.03
...
Conflicts:
core/Makefile
core/SConscript.firmware
core/embed/firmware/bootloader.bin
core/embed/firmware/bootloaders/bootloader_T.bin
core/embed/firmware/bootloaders/bootloader_T2T1.bin
python/src/trezorlib/firmware/core.py
python/src/trezorlib/firmware/models.py
2023-02-28 15:20:36 +01:00
Martin Milata
d3dd0e3c6f
build(core): fix filename when BITCOIN_ONLY is unset
...
[no changelog]
2023-02-19 23:23:27 +01:00
tychovrahe
9748a56a55
chore(core): automatic generation of CMakeLists
...
[no changelog]
2023-02-02 11:32:37 +01:00
grdddj
f8c432e955
chore(core/rust): delete model_1 code - it should use model_r
...
[no changelog]
2023-01-31 10:55:12 +01:00
grdddj
b08a6fe2c1
chore(core): delete unused code from micropython UI
...
[no changelog]
2023-01-25 19:17:56 +01:00
tychovrahe
5ef6c3975d
build(core): differentiate build results for different models
...
[no changelog]
2023-01-20 19:47:12 +01:00
tychovrahe
4603b9ee74
build(core): embed bootloader according to trezor model
...
[no changelog]
2023-01-20 19:47:12 +01:00
tychovrahe
d00e87ea80
feat(core/rust): homescreen background image
...
[no changelog]
2023-01-19 14:11:42 +01:00
tychovrahe
3cd47f85af
feat(legacy): qa build for upgrade testing
2023-01-02 11:03:38 +01:00
Martin Milata
5b3db7eca1
refactor(core/rust/ui): homescreen layouts
...
[no changelog]
2022-12-13 17:15:15 +01:00
matejcik
ff2d1c3f1f
feat(core/ui): drop T1 UI ( fixes #2639 )
...
[no changelog]
2022-11-24 13:03:34 +01:00
grdddj
61277bd80a
feat(core/ui): implement webauthn layouts for UI2
...
[no changelog]
2022-11-24 13:03:34 +01:00
tychovrahe
0d733d8e22
feat(core): change display type for model R
...
[no changelog]
2022-11-24 11:37:52 +01:00
grdddj
bd6f3d5f46
chore(core/ui): delete altcoin.py file
2022-11-21 14:08:47 +01:00
grdddj
d045e0089d
feat(core/ui): delete old UI code
2022-11-21 14:08:47 +01:00
Martin Milata
18352acce8
feat(core/rust/ui): replace TT Hoves Medium with DemiBold style
...
[no changelog]
2022-10-22 01:39:53 +02:00
Andrew Kozlik
d815a7d6de
chore(core): Use C implementation of Bech32 decode.
2022-10-17 15:20:46 +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
Tomas Krnak
031bac4a9b
feat(core): add support for Zcash unified addresses
2022-08-30 21:15:49 +02:00
Andrew Kozlik
054b5456d2
chore(core): Decrease ECMULT_GEN_PREC_BITS to save 32kB of flash space.
2022-08-30 15:53:44 +02:00
matejcik
20ac679651
build(core/rust): enable panic_immediate_abort for firmware
2022-08-23 11:26:34 +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
Ondrej Mikle
7b7318c3aa
feat(core/boardloader): add fixed-address boardloader capablities field
2022-06-13 18:18:25 +02:00
matejcik
dfa4b1d9a1
build: add bip39_english.o where appropriate
...
[no changelog]
2022-06-01 16:35:33 +02:00
Ondřej Vejpustek
a198b390ff
fix(legacy,core): fix size of secp256k1-zkp context
...
[no changelog]
2022-05-20 17:29:07 +02:00
Ondřej Vejpustek
db0da196a8
chore(vendor): update secp256k1-zkp to latest
2022-05-16 16:23:18 +02:00
tychovrahe
f7a3aad9bd
feat(core): initial Model R display implementation with framebuffer
2022-05-10 16:49:23 +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
Andrew Kozlik
822b1c344f
feat(core): Return fw_vendor in firmware Features message.
2022-05-03 19:00:04 +02:00
Tomas Krnak
9985a72c6a
feat!(core): support Zcash v5 transaction format
...
This implements:
- ZIP-225: Version 5 Transaction Format
- ZIP-244: Transaction Identifier Non-Malleability
BREAKING CHANGE: Zcash prevouts are not verified (as in Taproot). Zcash replacement transactions are not supported.
2022-05-02 16:07:31 +02:00
Pavol Rusnak
8f1d33d5f9
build(core,legacy): remove gcc, use cc instead of gcc
...
for firmware builds we still use arm-none-eabi-gcc via $(PREFIX)gcc
[no changelog]
2022-04-27 15:48:14 +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
Martin Milata
49dbc92782
fix(core/ui): add missing sources to build
...
[no changelog]
2022-04-19 17:35:15 +02:00
Pavol Rusnak
6052e71bbb
fix(core): fix build with FEATURE_FLAGS.SECP256K1_ZKP=False
...
[no changelog]
2022-03-18 12:03:41 +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