matejcik
b1ca6ca848
refactor(core/debug): offload debug configuration from apps.debug
2021-05-06 13:14:21 +02:00
matejcik
e859c13d70
refactor(core): limit global imports in key places
...
so that by importing `apps.base`, we don't pull in the whole circus
2021-05-06 13:14:21 +02:00
matejcik
7ca67cc4d9
feat(core): clear out memory space after every workflow
...
A small fixed list of modules is kept pre-loaded in the GC arena.
These must not keep references to anything else, as all other modules
are unloaded and the memory is cleared.
2021-05-06 13:14:21 +02:00
matejcik
e629a72c3a
refactor(core): move app registrations to a single handler function
...
apps.webauthn.boot() does not need an if-condition because it's only
called from session.py when the usb interface is enabled
This means that they do not need to be stored in RAM at all. The obvious
drawback is that we need to hand-edit the if/elif sequence, but we don't
register new handlers all that often so 🤷
2021-05-06 13:14:21 +02:00
matejcik
391976bcda
refactor(core/usb): do not require serial number on instantiaton of USB
...
On a cleanly wiped device, storage must be unlocked in order to create
and retrieve the serial number. However, storage unlocking happens in
boot.py, which is imported _after_ usb.py
We must therefore sidestep asking for the serial number.
2021-05-06 13:14:21 +02:00
matejcik
276bb59dba
refactor(core/cardano): update caching mechanism
2021-05-06 13:14:21 +02:00
matejcik
3cdb09c294
refactor(core): modify cache to preallocate all its data
...
also get rid of expensive "wire" import
2021-05-06 13:14:21 +02:00
matejcik
ea505b592c
refactor(core): move empty_bytearray to trezor.utils
2021-05-06 13:14:21 +02:00
matejcik
b0116d0bdc
refactor(core): modify wire to preallocate its buffers
2021-05-06 13:14:21 +02:00
Jan Pochyla
6257584951
feat(core): Add Rust bindings to MicroPython and trezorhal
...
core: Remove dangling module decls
core: Use new Cargo feature resolver, use external MacOS debug info
core: Rust docs improvements
core: Upgrade bindgen
core: Add test target to Rust
ci: build rust sources
build(core): .ARM.exidx.text.__aeabi_ui2f in t1 firmware size
It's an unwind table for softfloat function inserted by rustc, probably
can be removed to save 8 bytes:
599c58db70/link.x.in (L175-L182)
scons: Remove dead code
core: Move Rust target to build/rust
core: Replace extern with a FFI version
core: Add some explanatory Rust comments
core: Use correct path for the Rust lib
core: Remove Buffer::as_mut()
Mutable buffer access needs MP_BUFFER_WRITE flag. TBD in the Protobuf PR.
core: Improve docs for micropython::Buffer
core: Minor Rust docs changes
core: Rewrite trezor_obj_get_ll_checked
core: Fix incorrect doc comment
core: Remove cc from deps
fixup! core: Rewrite trezor_obj_get_ll_checked
core: update safety comments
2021-05-05 16:00:21 +02:00
Martin Milata
f58c1634c6
docs(core): use towncrier for generating CHANGELOG.md
2021-05-04 14:18:01 +02:00
gabrielkerekes
bf3e64ff20
fix(common): add isort:skip_file to files generated by pb2py
2021-04-23 11:09:29 +02:00
gabrielkerekes
6f59892824
refactor(core/cardano): introduce derive_public_key to simplify pub key derivation
2021-04-23 11:09:29 +02:00
gabrielkerekes
905970fd6a
refactor(core/cardano): generalise _paginate_lines
2021-04-23 11:09:29 +02:00
gabrielkerekes
2313293477
feat(core/cardano): add support for catalyst voting registration
2021-04-23 11:09:29 +02:00
gabrielkerekes
2c503b16f5
fix(common): fix one value enums in pb2py
2021-04-23 11:09:29 +02:00
mcudev
e3539b0a73
core/embed/usb: add back usb fs code for t1 and redo fifo sizing
2021-04-14 23:03:29 +02:00
mcudev
6137a55b06
core/embed/usb: use all available usb endpoints and update the usb fifo sizing
2021-04-09 12:50:40 +02:00
Pavol Rusnak
2852b947ec
chore(core): regenerate coins
2021-04-08 14:17:43 +02:00
Martin Milata
720eaa3abd
ci: run monero tests on hardware
2021-04-06 22:06:12 +02:00
Martin Milata
ac711fb8ee
style(core): use more recent type annotation syntax
...
https://www.python.org/dev/peps/pep-0585/ - Type Hinting Generics In Standard Collections
https://www.python.org/dev/peps/pep-0604/ - Allow writing union types as X | Y
2021-04-01 11:12:30 +02:00
Martin Milata
0278998f72
style(common): mypy: disable implicit Optional for function arguments
2021-04-01 11:12:30 +02:00
Martin Milata
8b3ac659a0
style(core): mypy: disable implicit Optional for function arguments
...
https://www.python.org/dev/peps/pep-0484/#union-types
2021-04-01 11:12:30 +02:00
Martin Milata
f97af2af1b
chore(core/ui): typing: no implicit Optional
2021-03-30 22:34:01 +02:00
Martin Milata
da72482c2f
refactor(core/ui): get rid of confirm_wipe
2021-03-30 22:34:01 +02:00
Martin Milata
c0174ff217
refactor(core/ui): raise exception on dialog cancel by default
2021-03-30 22:34:01 +02:00
Martin Milata
2b6ea25712
refactor(core): convert rest of apps.bitcoin to layouts
2021-03-30 22:34:01 +02:00
Martin Milata
b1e38fe382
refactor(core): no implicit spaces in render_text
2021-03-30 22:34:01 +02:00
Martin Milata
2a5f5c1c20
refactor(core): convert parts of apps.monero to layouts
2021-03-30 22:34:01 +02:00
Martin Milata
6668921a4f
refactor(core): convert apps.common.request_pin to layouts
2021-03-30 22:34:01 +02:00
Martin Milata
01900b8536
refactor(core): convert parts of apps.webauthn to layouts
2021-03-30 22:34:01 +02:00
Martin Milata
ffe6d65f72
refactor(core): convert parts of apps.management to layouts
2021-03-30 22:34:01 +02:00
Martin Milata
c09a142e2a
refactor(core): convert apps.misc.* to layouts
2021-03-30 22:34:01 +02:00
Martin Milata
0b5d17bf49
refactor(core/ui): merge confirm_hexdata and show_pubkey
2021-03-30 22:34:01 +02:00
Martin Milata
6ded531f8f
refactor(core): convert apps.common.sdcard to layouts
2021-03-30 22:34:01 +02:00
Martin Milata
035f114125
fix(core/ui): don't return CONFIRMED/CANCELLED from layouts
2021-03-30 22:34:01 +02:00
Rafael Korbas
a9b8b0e119
feat(core/cardano): chunked serialization of signed transaction
2021-03-26 11:15:19 +01:00
gabrielkerekes
3cb686d452
fix(core/cardano): make witnesses order deterministic
2021-03-26 11:15:19 +01:00
Andrew Kozlik
25411e22c9
test(core): Add unit test for modtrezorconfig counter.
2021-03-26 10:54:56 +01:00
Andrew Kozlik
2836bfc64c
fix(core): Improve error handling and range checking in modtrezorconfig.
2021-03-26 10:54:56 +01:00
Andrew Kozlik
66823e2893
chore(core,legacy): Bump FIX_VERSIONs due to upgrade to storage version 3.
2021-03-25 14:24:41 +01:00
Andrew Kozlik
3084d1196d
feat(core): Support 50 digit PIN and wipe code.
2021-03-25 14:24:41 +01:00
Pavol Rusnak
da7214d82f
fix(common): update support.json to include Firo
2021-03-25 13:39:59 +01:00
Pavol Rusnak
dfbdcf5b2b
feat(core): add support for olimex-arm-usb-tiny-h via openocd
...
[skip_ci]
2021-03-24 18:01:50 +01:00
Pavol Rusnak
b37e5c916f
fix(core): add missing targets to make clean
...
[skip_ci]
2021-03-22 22:06:29 +01:00
Pavol Rusnak
4649b80b44
feat(core): allow secp256k1-zkp for bitcoin-only build
...
(but keep it disabled)
2021-03-18 15:42:52 +01:00
matejcik
cb7152542d
feat: drop DebugLinkShowText functionality
2021-03-18 10:59:51 +01:00
matejcik
56ee7d33a9
chore: add cardano changelogs
2021-03-18 10:30:03 +01:00
Rafael Korbas
74ed5b7018
feat(core/cardano): Implement bech32 asset ids based on CIP-0014
2021-03-18 09:53:33 +01:00
Rafael Korbas
bd4512b53a
fix(core/cardano): Allow stake pool registrations with zero margin
2021-03-18 09:35:08 +01:00
Andrew Kozlik
b10acbe153
feat(core): Allow decreasing output amount in RBF transactions.
2021-03-17 15:15:50 +01:00
Andrew Kozlik
5593862dc1
fix(core): Disable hold-to-confirm animation when animations are disabled.
2021-03-17 15:15:50 +01:00
Andrew Kozlik
6de20a7dcd
chore(core/bitcoin): Add DecredApprover.
2021-03-17 12:16:08 +01:00
Andrew Kozlik
523b1051c5
chore(core/bitcoin): Add stricter script_type checks in sanitizers.
2021-03-17 12:16:08 +01:00
Andrew Kozlik
6e8eebfc9c
chore(core/bitcoin): Separate Decred-specific scripts from Bitcoin scripts.
2021-03-17 12:16:08 +01:00
JoeGruff
e3ea32a986
multi: Add decred staking.
...
Add two new input and four output script types.
Decred ticket purchases consist of a stake submission, op returns, and
change addresses. Although change addresses are allowed by consensus,
they are no longer used in practice and so have been given the
restrictions of a null pubkey and no value. Stake scripts are almost
identical to p2pkh or p2sh except for an extra opcode in front. Inputs
are currently only used in the form of one input three outputs with the
first output, or stake submission, paying to a public key hash, or with
two inputs and five outputs with the stake submission paying to a
multisig script hash. The op returns are directed to the user in the
case of one and the voting service provider and user in the case of two.
One of the sstx commitment for a ticket must pay back to the trezor
wallet. This is checked and an error is thrown if we don't find the
expected public key hash.
Because this adds the ability to create new types of outputs once the
ticket votes, two new input script types are also needed. A successful
vote will lead to a stake generation script that must be spent, and an
unsuccessful vote will lead to a revocation script that must be spent.
If we allowed stake change scripts to have a valid pubkey, that too
would require another op code, but we disallow those for output.
2021-03-17 12:16:08 +01:00
Pavol Rusnak
6c11bc60d7
common/defs/fido: add namecheap
2021-03-15 17:22:12 +01:00
Martin Milata
ee2ec85983
fix(core): fix title shown for multisig address
2021-03-11 14:21:03 +01:00
Pavol Rusnak
d211e3af07
fix(core): switch define to invert display colors into const volatile
...
using define causes compiler to over-optimize the code in display_init_seq
leading to larger differences in the resulting binaries when the flag changes
we want to keep the difference to minimum (1 byte) and using const volatile
instead of define achieves that
2021-03-11 12:29:00 +01:00
Pavol Rusnak
e7966cc804
refactor(core): rework color definitions in bootloader
2021-03-10 18:33:00 +01:00
Pavol Rusnak
3294a49cec
fix(core): don't assert reset flags to allow "reboot to bootloader"
2021-03-10 18:31:51 +01:00
Pavol Rusnak
1e2bb337a9
refactor(core): drop buttons argument for ui_screen_firmware_info
2021-03-10 17:42:52 +01:00
Pavol Rusnak
814db111b2
feat(core): add define to invert display colors on ST7789V
2021-03-10 16:06:18 +01:00
Andrew Kozlik
850aa56691
docs(core): Add references to SLIPs in the code.
2021-03-09 20:01:59 +01:00
Pavol Rusnak
5cff6ac964
doc(core): update comments around UDP emulator
...
drop unused define
2021-03-09 16:19:03 +01:00
Andrew Kozlik
a8c500bffd
feat(core): Ensure that WebAuthn runs on port 21326 by default for both production and debug emulator.
2021-03-09 16:13:21 +01:00
mcudev
b50f1e0b89
openocd: separate stlink configs deprecated - now combined
2021-03-09 11:41:55 +01:00
Pavol Rusnak
a36d0c0fbe
docs(changelog): add public key to ECDHSessionKey
2021-03-08 16:52:44 +01:00
Roman Zeyde
7ce4e13bcf
feat(core): add public_key to ECDHSessionKey
2021-03-08 15:59:00 +01:00
Roman Zeyde
b2877afa7f
feat(common): add public_key to ECDHSessionKey
2021-03-08 15:59:00 +01:00
Pavol Rusnak
ebfd51d818
fix(core): stay_in_bootloader should default to false, not true
2021-03-06 20:09:56 +01:00
Pavol Rusnak
efac5d56f5
fix(core): change touch i2c clock speed to 200 kHz
...
fixes #1519
2021-03-06 20:02:11 +01:00
Pavol Rusnak
cc42af28fd
docs(changelog): next FW version will be 2.4.0
2021-03-05 18:32:05 +01:00
Martin Milata
7c1d72c254
style(core): fix bootloader formatting
2021-03-04 19:21:56 +01:00
Pavol Rusnak
29a3e91f09
feat(core): refactor display_init_seq from display_init
2021-03-04 17:04:35 +01:00
Pavol Rusnak
5dd3d73d00
fix(core): remove unused stuff from bootloader_ci
...
plus minor ui function renames
2021-03-04 17:01:01 +01:00
Ondrej Mikle
a4ba24645b
feat(core): remove connect to host dialog in the bootloader
2021-03-04 16:34:30 +01:00
Pavol Rusnak
f3ae3615c7
fix(core): unify bootloader_ci with bootloader
2021-03-04 15:59:25 +01:00
Pavol Rusnak
b074404dcf
fix(core): small secbool refactor for bootloader_ci
2021-03-04 12:14:26 +01:00
Pavol Rusnak
2dc094bd3e
fix(core): small secbool refactors
2021-03-04 11:59:38 +01:00
Pavol Rusnak
4b0f41d41e
fix(common): change msg_id of RebootToBootloader from 804 to 87
2021-03-03 12:07:00 +01:00
Ondrej Mikle
77e99078c3
chore(trezorlib): add generated message files
2021-03-03 12:07:00 +01:00
Ondrej Mikle
1579c62332
chore(legacy): reboot to bootloader protobuf generated messages
2021-03-03 12:06:59 +01:00
matejcik
ed0ac98970
fix(common/tools): strip "mainnet" from Ethereum network names
2021-03-01 12:05:54 +01:00
Pavol Rusnak
17fa6ab4ec
chore(common): update chains+tokens
2021-03-01 12:05:54 +01:00
Rafael Korbas
ceea21ec1f
feat(cardano): Format stake pool ids as bech32 instead of hex
2021-02-25 16:49:19 +01:00
Rafael Korbas
3197741795
fix(core/Cardano): account index validation in _should_hide_output()
2021-02-25 16:41:12 +01:00
Rafael Korbas
cf871ee754
fix(core/Cardano): do not show change output in byron-shelley transfers
2021-02-25 16:41:12 +01:00
Martin Milata
040d0212f6
chore(core): changelog for hold to lock
2021-02-24 00:10:10 +01:00
Martin Milata
c28763c169
refactor(core): use reload_settings_from_storage on boot
2021-02-24 00:10:10 +01:00
Martin Milata
9b60cc0098
feat(core): restart loader from current position
...
On "hold to confirm" dialogs, when you hold your finger, lift it, and
quickly hold again, the progress bar jumps to the beginning. This commit
changes the behavior so the progress continues from its current position
of the reverse animation.
2021-02-24 00:10:10 +01:00
Martin Milata
06b9d1314d
fix(core): do not autolock when already locked
...
Gets rid of unnecessary screen redraw.
2021-02-24 00:10:10 +01:00
Martin Milata
192d0dcf87
feat(core): hold homescreen to lock
2021-02-24 00:10:10 +01:00
Martin Milata
db2db8e6f3
feat(common): add hold_ms to DebugLinkDecision
2021-02-24 00:10:10 +01:00
Martin Milata
c42850f997
chore(core): show total allocations in memperf report
2021-02-18 13:07:19 +01:00
Pavol Rusnak
de72cfb804
chore(core): update changelog
...
[skip_ci]
2021-02-16 23:33:18 +01:00
Ondrej Mikle
ed57320c86
build(flashing): nogui flag for flashing for newer JLink versions ( #1482 )
2021-02-16 14:35:06 +01:00
Pavol Rusnak
b4daf2f3e3
chore(core): run make gen to regenerate fido2 icons
...
updated here - https://github.com/trezor/trezor-firmware/pull/1456
2021-02-16 11:20:21 +01:00
Martin Milata
48627b7f0f
fix(core): bootloader_ci build
...
See also f46380147f
.
2021-02-15 20:55:54 +01:00
Pavol Rusnak
5395c542c1
chore(core): update changelog, bump version to 2.3.7
2021-02-13 11:16:11 +01:00