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

124 Commits

Author SHA1 Message Date
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
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
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
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
Martin Milata
4d60c10330 feat(core/rust): add support for T1 UI
[no changelog]
2021-11-24 15:36:34 +01:00
Ondřej Vejpustek
3612620268 build(crypto,core): make secp256k1-zkp context as small as possible 2021-11-18 19:05:40 +01:00
matejcik
387466e073 refactor(core): separate Cardano cryptography into its own module 2021-11-10 13:57:57 +01:00
matejcik
1d72085b5c feat(core): implement conversion from timestamp to datetime 2021-10-29 11:00:30 +02:00
Ondřej Vejpustek
dbfc7d241f chore(vendor,crypto): bump version of secp256k1-zkp 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
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
Pavol Rusnak
d505edaaa0 fix(core): set ECMULT_GEN_PREC_BITS = 4 for secp256k1_zkp
the setting configures size of precomputed static context

size = 64 * (1 << ECMULT_GEN_PREC_BITS) * (256 / ECMULT_GEN_PREC_BITS)

for ECMULT_GEN_PREC_BITS == 2 the size is 64 * 512 == 32 KB
for ECMULT_GEN_PREC_BITS == 4 the size is 64 * 1024 == 64 KB
for ECMULT_GEN_PREC_BITS == 8 the size is 64 * 8192 == 512 KB
2021-10-25 14:41:28 +02:00
Pavol Rusnak
0d6bc43fd5 feat(core): enable secp256k1-zkp 2021-10-25 14:41:28 +02:00