1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-18 12:28:09 +00:00
trezor-firmware/core
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
..
assets MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
embed core: improve type annotation for bip32.derive_path 2020-07-24 16:37:58 +02:00
mocks core: improve type annotation for bip32.derive_path 2020-07-24 16:37:58 +02:00
prof core/prof: make sure coverage data is generated with absolute paths 2020-01-23 18:43:20 +01:00
site_scons/site_tools/micropython core: remove qstr blacklist 2020-01-07 20:52:43 +01:00
src core: refactor keychain to only support one curve at a time 2020-07-24 16:37:58 +02:00
src1 core: wipe before reset and recovery; introduce 'intialized' field 2020-06-16 11:31:29 +02:00
tests core/tests: update unit tests 2020-07-24 14:09:31 +02:00
tools core: generate resdata by Mako, use if/elif trick to save RAM 2020-07-24 14:09:31 +02:00
vendor move vendored submodules to root vendor/ dir 2019-05-13 13:51:53 +02:00
.dockerignore MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
.gitignore core: git ignore coverage outputs 2019-06-26 22:10:05 +02:00
.pylintrc style: improve pylint exclusions 2019-05-07 16:31:04 +02:00
asan_blacklist.txt core: asan config 2019-06-27 19:09:55 +02:00
AUTHORS MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
CHANGELOG.md core: add changelog entry for synchronous protobuf 2020-07-24 14:09:31 +02:00
COPYING MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
emu.py core: disallow parsing options after command (fixes #951) 2020-04-16 11:24:15 +02:00
emu.sh core: convert emu.sh to a simple dependency-less compat wrapper 2020-01-23 18:43:20 +01:00
Makefile core: generate resdata by Mako, use if/elif trick to save RAM 2020-07-24 14:09:31 +02:00
README.md docs: move docs to root 2019-12-06 12:24:20 +00:00
SConscript.boardloader core: unify usage of TREZOR_MODEL 2020-06-06 21:06:15 +02:00
SConscript.bootloader core: unify usage of TREZOR_MODEL 2020-06-06 21:06:15 +02:00
SConscript.firmware core: enable PYSTACK 2020-07-24 14:09:31 +02:00
SConscript.prodtest core: unify usage of TREZOR_MODEL 2020-06-06 21:06:15 +02:00
SConscript.reflash core: unify usage of TREZOR_MODEL 2020-06-06 21:06:15 +02:00
SConscript.unix core: unify usage of TREZOR_MODEL 2020-06-06 21:06:15 +02:00
SConstruct MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00

Trezor Core

Firmware currently running on Model T.

See docs/core for more info.