1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-14 03:30:02 +00:00
Commit Graph

10204 Commits

Author SHA1 Message Date
matejcik
a58823cc0c refactor(python): rework trezorlib protobuf codec
API-compatibility with the original one is retained.

Now that we don't need to keep code parity with core, we could do some
changes that make life easier.

All generated classes are now in one file. This makes github diffs more
readable, at the cost of somewhat complicating inspecting individual
classes; however, that is something we shouldn't be doing anyway.

Enums are now implemented as enum.IntEnum.

The original class-level FIELDS member was restored.

Each field is now defined via protobuf.Field, which is easier to work
with in the codec, AND we're not stuffing defaults and flags into the
same field.
2021-06-08 09:55:19 +02:00
matejcik
729414e606 fix(core): exclude get/set U2F counter from BITCOIN_ONLY 2021-06-08 09:55:19 +02:00
matejcik
c06a93cba5 feat(core/rust): propagate bitcoin_only flag to Rust build 2021-06-08 09:55:19 +02:00
matejcik
845a66a7de chore(common/tools): drop outdated and unused CoinDef generator 2021-06-08 09:55:19 +02:00
matejcik
9790a338f8 feat(common/protob): mark values as bitcoin_only in protobuf definitions 2021-06-08 09:55:19 +02:00
matejcik
215d35d870 fix(common/protob): use proper field type for backup type on debuglink 2021-06-08 09:55:19 +02:00
matejcik
1382246977 fix(core/tests): fix equality testing for new message types 2021-06-08 09:55:19 +02:00
Jan Pochyla
e5e3ad21b2 fix(tests): Adjust the expected error message 2021-06-08 09:55:19 +02:00
matejcik
da2ef8ed41 refactor(core): create and use protobuf uvarint writer 2021-06-08 09:55:19 +02:00
Jan Pochyla
a8623c4b59 refactor(core): fix imports and use new protobuf API in apps 2021-06-08 09:55:19 +02:00
Martin Milata
72557614c4 build(core): update build process for new protobuf
- properly exclude in the trezor/enums folder
- generate Rust protobuf blobs in scons

Split from "tools: Generate special Protobuf blobs for the Rust codec"
2021-06-08 09:55:19 +02:00
Jan Pochyla
02aa14fc04 refactor(core): Switch to new Protobuf API 2021-06-08 09:55:19 +02:00
matejcik
8a5cb41060 chore(core): regenerate with new templates 2021-06-08 09:55:19 +02:00
matejcik
d42bc8a4c0 refactor(core): prepare new templates for enums and messages 2021-06-08 09:55:19 +02:00
matejcik
266955ba65 refactor: rework pb2py generator
This also includes the capability to build Rust protobuf blobs.
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
Martin Milata
f9d4be268e ci: increase timeout for hardware T1 regular test 2021-06-04 13:10:51 +02:00
Martin Milata
07c53452f6 ci: improve changelog check
- ignore master branch
- treat secfix/ same as release/ branches
- allow skiping check with [no changelog] in commit message
2021-06-04 13:10:51 +02:00
Pavol Rusnak
23aa69caea fix(core): unify Features.revision reporting with legacy 2021-06-04 12:50:49 +02:00
matejcik
00d4b0a4a9 fix(common/tools): typo in support.py output 2021-06-04 11:38:18 +02:00
matejcik
2fac964a29 chore(common): disable Firo support 2021-06-04 11:38:18 +02:00
Pavol Rusnak
fce3640848 fix(common): remove dead coin Hatch 2021-06-04 10:10:26 +02:00
Martin Milata
767e7b8e8d fix(core): spaces in Shamir info texts 2021-06-03 16:54:42 +02:00
Adam R
c4bf522b31
feat(crypto): add extra BIP32 test (test vector #4) (#1646) 2021-06-03 15:37:23 +02:00
Martin Milata
3976ef7261 chore(legacy/firmware): bump version to 1.10.2
[skip_ci]
2021-06-02 12:50:22 +02:00
Martin Milata
ca836b2e45 chore(core): bump version to 2.4.1 2021-06-02 12:50:22 +02:00
matejcik
86089fa5ad feat(core): avoid restarting session for select messages (fixes #1631) 2021-06-01 14:07:29 +02:00
Szymon Lesisz
4e005de02f common: update DOGE min_fee and dust_limit
DOGE fee policies have been changed to:
1 DOGE base fee
+ 1 DOGE per 1000 bytes
+ 1 DOGE for every output below 1 DOGE

sources:
https://github.com/dogecoin/dogecoin/issues/1650#issuecomment-722229742
https://github.com/trezor/trezor-suite/issues/2973#issuecomment-730607729
2021-05-26 16:00:29 +02:00
matejcik
1595354e37 git subrepo push common
subrepo:
  subdir:   "common"
  merged:   "6c3c284e2"
upstream:
  origin:   "git+ssh://git@github.com/trezor/trezor-common"
  branch:   "master"
  commit:   "6c3c284e2"
git-subrepo:
  version:  "0.4.1"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "a04d8c2"
2021-05-26 14:18:31 +02:00
Martin Milata
e77082f34f docs(core): changelog for 2.4.0 2021-05-24 20:46:41 +02:00
Martin Milata
5f2b7b231b docs(legacy/firmware): changelog for 1.10.1 2021-05-24 18:58:48 +02:00
Andrew Kozlik
7f2f32ff8a test(device): Test safety checks on T1. 2021-05-24 17:47:43 +02:00
Andrew Kozlik
2dbde040c4 feat(legacy): Add safety_checks setting. 2021-05-24 17:47:43 +02:00
Pavol Rusnak
8531b35280
fix(legacy/intermediate_fw): don't erase the whole firmware sector (#1626)
Co-authored-by: Andrew Kozlik <42678794+andrewkozlik@users.noreply.github.com>
2021-05-22 12:15:56 +02:00
Pavol Rusnak
4f1274c9c4 fix(legacy): set STAY_IN_BOOTLOADER_FLAG before the reboot of intermediate_fw 2021-05-21 15:18:59 +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
34f5d508b0 refactor(legacy): move wait_random into separate file 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
Martin Milata
f771dc6f60 ci(nix): switch to stable rust in shell.nix
Switch to https://github.com/oxalica/rust-overlay for rustc binaries.

Drop x86_64-unknown-linux-gnu from target list as host is included by
default.
2021-05-21 13:42:10 +02:00
matejcik
bd06b72923 docs(core): document building with Rust 2021-05-21 13:42:10 +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
Pavol Rusnak
155fc7ac67
fix(core): remove tcDisplay from metadata/trezor-ctap2.json 2021-05-19 14:49:54 +02:00
Pavol Rusnak
d358503676
fix(core): remove txAuthSimple from metadata/trezor-ctap2.json 2021-05-19 14:45:02 +02:00
Martin Milata
c54077a714 fix(core): imports needed for T1 startup
Now debug build booted on wiped T1 connects to USB and shows square in
top right corner.
2021-05-17 18:03:07 +02:00
Pavol Rusnak
0c46b79ebf fix(legacy): don't erase firmware and storage in intermediate firmware
if the storage has been already initialized
2021-05-13 17:59:39 +02:00
Pavol Rusnak
e09a74a79e refactor(legacy): rename check_bootloader to check_and_replace_bootloader 2021-05-13 17:59:39 +02:00
Martin Milata
ca5d173071 docs(legacy/firmware): changelog for 1.10.0 2021-05-13 14:35:54 +02:00