1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-22 14:28:07 +00:00
Commit Graph

9368 Commits

Author SHA1 Message Date
matejcik
ff4ec2185e core: refactor keychain to only support one curve at a time
also make a cleaner distinction between keychain, seed, path

This enables using `unsafe_prompts`, because with the original code, if
there was no namespace match, we wouldn't know which curve to use.

For ease of implementation, we use a LRU cache for derived keys,
instead of the original design "one cache entry per namespace".

SLIP21 is now treated completely separately, via `slip21_namespaces` and
`derive_slip21` method.
If more slip21-like things come in the future, we can instead hang them
on the keychain: put a per-curve Keychain object accessible by
`keychain[curve_name].derive()`, and the majority usecase will just pass
around `keychain[curve_name]` instead of having to specify the curve in
every `derive()` call.

Or alternately we'll just specify the curve in every `derive()` call,
whichever seems more appropriate.
2020-07-24 16:37:58 +02:00
matejcik
fa757f4b7f core: improve type annotation for bip32.derive_path 2020-07-24 16:37:58 +02:00
matejcik
8e44132d3c core: replace load_settings with individual setters 2020-07-24 16:37:58 +02:00
matejcik
1109250dcf core: add option to allow unsafe prompts 2020-07-24 16:37:58 +02:00
Martin Milata
03f2dab6bc core: reduce gc.collect calls during bitcon sign_tx 2020-07-24 15:35:09 +02:00
matejcik
c3a61998cb core: generate resdata by Mako, use if/elif trick to save RAM 2020-07-24 14:09:31 +02:00
matejcik
125079a8a4 core: add changelog entry for synchronous protobuf 2020-07-24 14:09:31 +02:00
matejcik
7befdd07e4 core/tests: update unit tests 2020-07-24 14:09:31 +02:00
matejcik
5e7fd3aea6 core: use utils.BufferReader instead of apps.common.BytearrayReader 2020-07-24 14:09:31 +02:00
matejcik
1ff4a0d239 core: separate BufferIO into Reader (read-only) and Writer
also integrates BytearrayReader API into BufferReader
2020-07-24 14:09:31 +02:00
matejcik
3514a31bc9 core: make USB codec resilient to OOM conditions 2020-07-24 14:09:31 +02:00
matejcik
0a758b8181 core/tests: add synchronous protobuf tests 2020-07-24 14:09:31 +02:00
matejcik
31e2170766 core: make protobuf buffer smaller, dynamically allocate bigger if necessary 2020-07-24 14:09:31 +02:00
matejcik
a000ea5ec8 core/monero: update Monero app to use synchronous protobuf 2020-07-24 14:09:31 +02:00
matejcik
01d695283f core: make protobuf buffer bigger 2020-07-24 14:09:31 +02:00
matejcik
0c3bc53aee core: clean up types for field caching, fix count_message 2020-07-24 14:09:31 +02:00
matejcik
f723dca7b1 core: enable PYSTACK 2020-07-24 14:09:31 +02:00
matejcik
d568afa80d core: improve protobuf field caching 2020-07-24 14:09:31 +02:00
matejcik
85d74ece76 core: implement synchronous v1 codec 2020-07-24 14:09:31 +02:00
Tomas Susanka
34bd57006f core, legacy: set version of the upcoming release in Changelog 2020-07-24 12:33:46 +02:00
Martin Milata
48e1dc957f legacy: raise error on auto-lock value out of range 2020-07-22 21:38:42 +02:00
Martin Milata
fd117a0c9f core: raise error on auto-lock value out of range 2020-07-22 21:38:42 +02:00
Tomas Susanka
6ac66a7795 docs: inform where you can find the UI master diff report 2020-07-22 16:31:31 +02:00
Tomas Susanka
bcd044a41d docs/build: add note on Nix for MacOS 2020-07-20 10:48:22 +02:00
Andrew Kozlik
4005f4832f core/embed: Set VCP write timeout to 0. 2020-07-16 09:34:58 +02:00
Tomas Susanka
698b632acb ci: add btconly debug build and run hardware tests for it 2020-07-15 18:07:21 +02:00
Tomas Susanka
5d851fd0f1 common: bump zec and taz support 2020-07-15 08:58:54 +02:00
Tomas Susanka
c030a8fa2d common: update zcash branch id for the upcoming Heartwood fork 2020-07-15 08:58:54 +02:00
Ondrej Mikle
33d2bf417b core: replace bootloader only in production. Fix device for T1 core port JLink upload 2020-07-13 10:45:32 +02:00
Pavol Rusnak
52ae0bec71
legacy: add missing SDL2_image to Makefile 2020-07-10 16:31:50 +02:00
matejcik
e97336a40d tests: make device_handler resilient to interrupting tests 2020-07-10 14:05:52 +02:00
matejcik
819d5cff24 tests: add documentation for click-test recorder 2020-07-10 14:05:52 +02:00
matejcik
e2c64537ed tests: very hacky tool to record a click-test
not sure how useful this is in general, but you can use it to create
longer sequences of clicky tests
2020-07-10 14:05:52 +02:00
matejcik
c964ff702d python: disallow setting auto-lock without PIN 2020-07-10 14:05:52 +02:00
matejcik
051763575d core: touch idle timer in keyboards (fixes #1099) 2020-07-10 14:05:52 +02:00
matejcik
8a7c6ce34d tests: fix device_handler to be able to enter passphrase via clicks
note: this is currently broken due to #922
2020-07-10 14:05:52 +02:00
matejcik
2c4ecff0a4 core: fix synthetic events breaking io.poll delay calculation 2020-07-10 14:05:52 +02:00
Pavol Rusnak
2b9613c8a0
legacy: add changelog entry 2020-07-09 15:54:42 +02:00
Andrew Kozlik
c7bc945d95 tests: Test transaction with multiple change-outputs. 2020-07-09 15:51:23 +02:00
Andrew Kozlik
24bf352577 legacy: Support multiple change-outputs. 2020-07-09 15:51:23 +02:00
Andrew Kozlik
eb28998f98 core/bitcoin: Support multiple change-outputs. 2020-07-09 15:51:23 +02:00
matejcik
91da49266c style: add changelog checks 2020-07-08 10:43:40 +02:00
matejcik
2c8e5f527b all: rename changelogs to .md for highlighting 2020-07-08 10:43:40 +02:00
matejcik
fb03a174c1 python: remove linkify-changelog reference as it now lives in root 2020-07-08 10:43:40 +02:00
matejcik
a19a9a318a all: improve changelog formatting 2020-07-08 10:43:40 +02:00
matejcik
476cf2ee8f core, legacy: more changelog entries 2020-07-08 10:43:40 +02:00
Christian Reitter
676ac1571a crypto: add fuzz testing harnesses and documentation 2020-07-07 14:41:10 +02:00
Pavol Rusnak
8d94b13d3a
ci/test: fix coverage by moving the files to correct subdir 2020-07-06 19:52:18 +02:00
Tomas Susanka
e6889245e8 ci: set core/legacy version in .gitlab.yml 2020-07-06 19:07:00 +02:00
Tomas Susanka
040b4a1ee7 ci: fix VERSION export from version.h 2020-07-05 21:47:36 +02:00