gabrielkerekes
b2de8909d1
fix(core/cardano): reintroduce max tx output size
...
Output size is currently limited to 4000 bytes at protocol level. Given the maximum transaction size Trezor can handle (~9kB), we also want to enforce this size limit here so that when the limit is raised at protocol level again, Trezor would still not be able to produce larger outputs than it could reliably spend. Once Cardano-transaction signing is refactored to be completely streamed and maximum supported transaction size is thus raised, this limit can be lifted.
2021-06-08 15:02:24 +02:00
gabrielkerekes
a92b5fc333
fix(core/cardano): forbid tx outputs with both address and address parameters
2021-06-08 15:02:24 +02:00
gabrielkerekes
597402eab8
refactor(core/cardano): decouple address parameters validation
2021-06-08 15:02:24 +02:00
matejcik
d6776d988e
docs(core): add changelog entry for Rust protobuf
2021-06-08 09:55:19 +02:00
matejcik
aa4227fa84
ci: update coverage exclusion list
2021-06-08 09:55:19 +02:00
matejcik
cbe4e0e725
fix(core): properly exclude altcoins from all_modules
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
1382246977
fix(core/tests): fix equality testing for new message types
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
Pavol Rusnak
23aa69caea
fix(core): unify Features.revision reporting with legacy
2021-06-04 12:50:49 +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
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
Martin Milata
e77082f34f
docs(core): changelog for 2.4.0
2021-05-24 20:46:41 +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
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
matejcik
1e0a23c133
fix(core/paths): make sure containers are copied along with the numbers they contain
2021-05-06 13:14:21 +02:00
matejcik
f05215f4ff
chore(core): add changelog entry
2021-05-06 13:14:21 +02:00
matejcik
ed5c357b78
fix(core): properly cache last successful unlock time
2021-05-06 13:14:21 +02:00
matejcik
959cf7d515
fix(core/homescreen): properly redraw when an outside process kills homescreen
...
This happens with FIDO which does not use the normal workflow management
and so `workflow.close_others()` is never called.
2021-05-06 13:14:21 +02:00
matejcik
411a7bb802
fix(core/wire): handle codec errors better
2021-05-06 13:14:21 +02:00
matejcik
231a1fe229
refactor(core): do not cache reverse-mapping of message types in RAM
...
Instead, walk the module for every message.
Also remove the custom wire type registration facility, which is not
used.
2021-05-06 13:14:21 +02:00
matejcik
f1a54f2108
refactor(core): remove more global imports
2021-05-06 13:14:21 +02:00
matejcik
2cb379108c
refactor(core/homescreen): load homescreen image on-demand
2021-05-06 13:14:21 +02:00
matejcik
f61d7fffa8
fix(core): fix top-level imports in apps.common.passphrase
2021-05-06 13:14:21 +02:00
matejcik
93db39ad70
fix(core/wire): drop unused reader, clarify writer usage
2021-05-06 13:14:21 +02:00
matejcik
1c32cbcc1c
ci(core): exclude more things from coverage report
2021-05-06 13:14:21 +02:00
matejcik
5ee85b6ed9
refactor(core): improve clarity in main.py
2021-05-06 13:14:21 +02:00
matejcik
25385af159
feat(core/emu.py): erase profile when running emu.py -e
2021-05-06 13:14:21 +02:00
matejcik
94521a2065
feat(core): presize some modules to account for their sub-imports
2021-05-06 13:14:21 +02:00
matejcik
5f4240d93c
feat(core): preallocate sys.modules to an appropriate size
2021-05-06 13:14:21 +02:00
matejcik
b5c1b37a56
chore(core/tests): bump heap size for core unit tests
2021-05-06 13:14:21 +02:00
matejcik
b1e4246b46
refactor(core/webauthn): make sure KEY_AGREEMENT_*KEY is generated once per power-up
...
This is what the spec recommends and it has been the case before
workflow-restarts, when `apps.webauthn.fido2` was imported exactly once
per lifetime.
With workflow-restarts, `fido2` is being imported repeatedly and the
keys regenerated. This does not seem to be a problem per the spec -- a
FIDO workflow will retain the same keys, and non-FIDO workflows can be
seen as unplugs/replugs as far as the FIDO functionality is concerned.
However, regenerating the keys is slow, which is a problem for the
hardware-based unit tests. We can avoid the slowness by returning to the
spec-mandated behavior and generating once per power-up.
2021-05-06 13:14:21 +02:00