Jan Pochyla
8c47b94b79
feat(core/rust): Add experimental LinearLayout
2022-02-01 10:51:02 +01:00
Jan Pochyla
3dd3d7f87b
feat(core): Add HoldToConfirm example, improve Loader and animation frame support
2022-02-01 10:51:02 +01:00
Jan Pochyla
117a0bd518
feat(core): Add preliminary anim frame support
2022-02-01 10:51:02 +01:00
Jan Pochyla
be3e99b96d
feat(core): Add WiP Loader & generic Animation type
2022-02-01 10:51:02 +01:00
matejcik
87a7e94f5c
feat(core/rust): add saturating multiplication by f32 to Duration
2022-02-01 10:51:02 +01:00
Andrew Kozlik
83686d1be2
chore(core): Add HashContextInitable protocol class.
2022-01-31 18:00:22 +01:00
Andrew Kozlik
f17a435cdf
refactor(core): Rename bitcoin_varint to compact_size.
2022-01-31 18:00:22 +01:00
Andrew Kozlik
0e58218f5f
feat(core): Implement Bitcoin payment requests.
2022-01-31 18:00:22 +01:00
Andrew Kozlik
d0c3a6a2fa
chore(core): Add mac field to Address message.
...
[no changelog]
2022-01-31 18:00:22 +01:00
Andrew Kozlik
2ac3d0acb4
feat(core): Implement GetNonce command.
2022-01-31 18:00:22 +01:00
Andrew Kozlik
0959947a88
chore(common): Add GetNonce, Nonce and TxAckPaymentRequest message.
...
[no changelog]
2022-01-31 18:00:22 +01:00
Jan Pochyla
baffe8fdf3
chore(core/rust): Add int variant to tracing
2022-01-28 09:58:49 +01:00
Jan Pochyla
5b0686f09a
chore(core/rust): Forbid unsafe in components
...
To be expanded to other modules.
2022-01-28 09:58:49 +01:00
Jan Pochyla
12deedf3f6
chore(core/rust): Add backlight fading fn
2022-01-28 09:58:49 +01:00
Jan Pochyla
a54ca9cb05
chore(core/rust): Add micropython::time::sleep
2022-01-28 09:58:49 +01:00
Jan Pochyla
334a143b76
chore(core/rust): Split FormattedText into separate mod
2022-01-28 09:58:49 +01:00
Jan Pochyla
d5a74a8614
chore(core/rust): Rename Text to FormattedText
2022-01-28 09:58:49 +01:00
Jan Pochyla
39263144b7
chore(core): Various little improvements in Rust UI
2022-01-28 09:58:49 +01:00
Jan Pochyla
998210d569
feat(core): Add Instant and Duration types
2022-01-28 09:58:49 +01:00
grdddj
8524f4b6ba
feat(ui): InfoConfirm layout accepting DebugLinkDecision
...
[no changelog]
2022-01-27 13:15:04 +01:00
Andrew Kozlik
ba4f046d6f
feat(common): Add INFO button to DebugLinkDecision.
...
[no changelog]
2022-01-27 13:15:04 +01:00
Pavol Rusnak
37bd121394
chore(core/embed): check for negative values in trezor_get_uint
...
[no changelog]
2022-01-26 16:22:50 +01:00
Martin Milata
98b1159b0b
Merge branch 'release/22.01'
...
Conflicts:
core/src/apps/ethereum/tokens.py
2022-01-19 15:24:51 +01:00
Andrew Kozlik
ebc07fd6db
ci: Suppress libSDL memory leaks.
...
[no changelog]
2022-01-19 15:22:03 +01:00
Andrew Kozlik
49ae8848db
fix(core): Fix memory leaks in emulator.
...
[no changelog]
2022-01-19 15:22:03 +01:00
Andrew Kozlik
39b64b8569
fix(core): Fix stack-use-after-scope in display.c.
...
[no changelog]
2022-01-19 15:22:03 +01:00
Martin Milata
e3541997f0
ci(core): run nightly device tests with AddressSanitizer
...
[no changelog]
2022-01-19 15:22:03 +01:00
Pavol Rusnak
4a71d15b1d
chore(core/embed): refactor trezor_obj_get_uint64 into trezorobj.h
...
[no changelog]
2022-01-19 11:16:47 +01:00
Alois Klink
5c4703c9bb
fix(core,legacy): Fix domain-only ethTypedData
...
When doing Ethereum signTypedData, and the primaryType="EIP712Domain",
we completely ignore the "message" part and only sign the domain.
According to the community, this is technically allowed by the spec,
and may be used by ETH smart contracts to save on gas.
Test case generated by @MetaMask/eth-sig-util's library.
See: https://ethereum-magicians.org/t/eip-712-standards-clarification-primarytype-as-domaintype/3286
2022-01-14 14:22:46 +01:00
Andrew Kozlik
cdf2129b73
fix(core): Fix proof of ownership sighash computation.
2022-01-10 11:14:36 +01:00
Andrew Kozlik
88a08e3512
chore(core): Increase maximum CoinJoin coordinator name length to 36 (2 lines).
2022-01-10 11:14:36 +01:00
matejcik
e20879189f
style(core): remove old-style annotations (Set, Tuple, Union)
2022-01-07 21:41:17 +01:00
matejcik
5e1dce35b3
style(core): remove unused type:ignore comments
2022-01-07 21:41:17 +01:00
matejcik
80f6463799
style(core): define obj_eq and obj_repr so that they pass type-check
2022-01-07 21:41:17 +01:00
matejcik
456959545c
docs(core): add changelog for type-checking
2022-01-07 21:41:17 +01:00
matejcik
228c4db646
style(core): improve types in rlp.py
2022-01-07 21:41:17 +01:00
matejcik
8d8cfd6692
build: fully replace mypy with pyright
...
[no changelog]
2022-01-07 21:41:17 +01:00
matejcik
45787307ca
style(core): support AnyStr in all hash function arguments
2022-01-07 21:41:17 +01:00
matejcik
dec89ea59e
refactor(core): convert if/elif chains to if-chains
...
This way AST parsers won't get stack exceeded (because an elif counts as
an else { if {}} to an AST parser apparently?) and so automated tools
will like tokens.py and friends.
2022-01-07 21:41:17 +01:00
matejcik
c3f2db3be5
refactor(core): improve type signature of bech32.convertbits
2022-01-07 21:41:17 +01:00
grdddj
9fc5bb546b
style(core): full pyright-based type-checking
...
Changes many fields to required -- as far as we were able to figure out,
signing would fail if these fields aren't provided anyway, so this
should not pose a compatibility problem.
Co-authored-by: matejcik <ja@matejcik.cz>
2022-01-07 21:41:17 +01:00
matejcik
9c5945a888
chore(core): add fake typing module (not included in build)
2022-01-07 21:41:17 +01:00
matejcik
1bfaec10e9
build(core): rewrite build_mocks with pathlib, add symlinks to ../mocks
2022-01-07 21:41:17 +01:00
matejcik
bda1fa9912
build(core): exclude all "from typing" imports from build
2022-01-07 21:41:17 +01:00
FujiCoin
33c243be8d
feat(common): enable taproot for Fujicoin, fix xpub versions
...
* fix fujicoin params
* add test_fujicoin/test_send_p2tr
* fix test
* fix serialized_tx.hex()
* Recreated based on a new transaction
* make gen, some fixes
Co-authored-by: matejcik <ja@matejcik.cz>
2022-01-05 12:43:34 +01:00
Pavol Rusnak
b0e0280465
chore: drop obsolete fw_vendor_keys field from Features
...
[no changelog]
2022-01-03 14:23:58 +01:00
Pavol Rusnak
35d40cc164
fix(core): change logic of vendor header comparison
...
Previously we checked whether the current vendor header and
the new vendor header are the same by comparing the embedded keyset.
What originally looked like a good idea is not that good, because
this disallows us from ever changing the vendor header signing keys
without causing erasure of the storage during the version update.
This commit fixes that by changing the logic to comparing just the
vendor string.
Change of function names is purely cosmetic:
* vendor_keys_hash -> vendor_header_hash
* check_vendor_keys_lock -> check_vendor_header_lock
2022-01-03 14:23:58 +01:00
Martin Milata
3f12742669
chore(common): update coin support status
2021-12-28 12:42:43 +01:00
Martin Milata
c0dbcf37e4
chore(common): update chains and tokens
2021-12-28 12:42:43 +01:00
gruve-p
3ab036a1d1
feat(common): enable Taproot on Groestlcoin
...
Add additional device tests for GRS
Add P2TR GetAddress for GRS mainnet and testnet
Add SignTX spending taproot UTXO (The resulting transaction from the SignTx device test was successfully mined on Testnet.)
2021-12-20 22:49:36 +01:00
Alisina Bahadori
77ab865386
feat(legacy): Implement EIP-712 signing
2021-12-19 20:36:30 +01:00
Carlosbogo
dd1240ef53
docs: update links in changelogs ( #2013 )
...
fixes #2011
2021-12-17 14:53:21 +01:00
Pavol Rusnak
56f0e2c5de
fix(core): add missing include
...
we were using `FILE` and `fprintf` without including the stdio header
2021-12-14 19:57:21 +01:00
Pavol Rusnak
30a77a76bc
chore(legacy): rename MEMORY_PROTECT flag to PRODUCTION to match core naming ( #2003 )
2021-12-12 15:45:10 +01:00
Martin Milata
ff5f965c44
Merge branch 'release/21.12'
...
Conflicts:
tests/device_tests/test_msg_signtx_invalid_path.py
tests/ui_tests/fixtures.json
2021-12-08 14:53:56 +01:00
Martin Milata
1734957685
build(core): update rust edition to 2021
...
[no changelog]
2021-12-07 17:12:43 +01:00
Andrew Kozlik
ef5994d9f3
feat(core): Support ownership proofs for Taproot addresses.
2021-12-06 18:23:48 +01:00
Martin Milata
e9fd1fc49f
build(core/emulator): build with -fPIE
...
Otherwise "cargo test" fails with errors like:
Compiling trezor_lib v0.1.0 (embed/rust)
error: linking with `cc` failed: exit status: 1
|
= note: ld: build/unix/rust/debug/build/trezor_lib-a046f8e3db087595/out/libcore_lib.a(obj.o): relocation R_X86_64_32S against `.rodata.types.1' can not be used when making a PIE object; recompile with -fPIE
2021-12-06 16:25:59 +01:00
Martin Milata
38c526719c
chore(core): bump version to 2.4.4
...
[skip_ci]
2021-12-01 14:45:47 +01:00
matejcik
949dfe1f5d
docs(core/cardano): add derivation scheme docs
2021-11-29 13:34:01 +01:00
Ondřej Vejpustek
f664734060
test(core): add unit tests for bip340
2021-11-26 20:16:59 +01:00
Ondřej Vejpustek
046beb4fde
test(core): fix secp256k1 unit tests
2021-11-26 20:16:59 +01:00
Martin Milata
7cc9f13605
refactor(core/rust): allow model_t1 and model_tt at once
...
[no changelog]
2021-11-24 15:36:34 +01:00
Martin Milata
52f719ad81
ci: add core unit test t1
...
[no changelog]
2021-11-24 15:36:34 +01:00
Martin Milata
afd7cb3b01
feat(core/rust): add example layout for T1
...
[no changelog]
2021-11-24 15:36:34 +01:00
Martin Milata
4d60c10330
feat(core/rust): add support for T1 UI
...
[no changelog]
2021-11-24 15:36:34 +01:00
Martin Milata
3c49ef2f62
feat(core/rust): exposing vararg functions to uPy
...
[no changelog]
2021-11-24 15:36:34 +01:00
Ondrej Mikle
219e08d81e
build(core): keep bootloader image even for non-production builds
...
[no changelog]
2021-11-23 16:29:38 +01:00
Martin Milata
595b14254c
docs(core): changelog for 2.4.3
2021-11-23 14:57:25 +01:00
Andrew Kozlik
9052133fca
fix(core): Ensure user is warned about non-standard paths.
2021-11-23 14:57:25 +01:00
Martin Milata
aa3784f726
build(core): place secp256k1-zkp in FLASH2 to make space for bootloader
...
[no changelog]
2021-11-23 14:51:11 +01:00
Martin Milata
d656f88572
style(all): reformat with clang-format 13.0
2021-11-19 10:54:31 +01:00
Ondřej Vejpustek
ad38d8e324
refactor(crypto,core): make zkp_context_init() return status
2021-11-18 19:05:40 +01:00
Ondřej Vejpustek
f918cf9a27
fix(core): fix typos in modtrezorcrypto-bip340.h
2021-11-18 19:05:40 +01:00
Ondřej Vejpustek
3612620268
build(crypto,core): make secp256k1-zkp context as small as possible
2021-11-18 19:05:40 +01:00
Andrew Kozlik
221977ad9d
chore(core): Convert SIGHASH_* consts to SigHashType enum.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
aaceb5bcc6
chore(core): Remove USE_SECP256K1_ZKP_BIP340 build option.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
ae35086bb9
refactor(core): Rename Hash143 to SigHasher and replace preimage_hash() with two functions.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
398cea8f40
test(core): Add unit tests for BIP-341 signature hash.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
03b1b3bc6b
feat(core): Show path warning for SignMessage.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
ef2ad57ec8
fix(core): Fix CoinJoin approval check.
...
After fixing the TxWeightCalculator the approver needs to account for the
weight of the coordinator's output.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
56ac799626
feat(core): Support external inputs in TxWeightCalculator.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
f9f0b517e2
feat(core): Support Taproot in TxWeightCalculator.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
a635876807
test(core): Add multisig unit tests for TxWeightCalculator.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
9b579094c0
fix(core): Fix TxWeightCalculator.
...
- Refactor TxWeightCalculator to count inputs and outputs itself.
- Fix witness data weight by adding the weight of the witness stack item count
for each input in segwit transactions and removing the weight of the
nonsensical extra inputs count.
- Get multisig pubkey count from multisig.nodes or multisig.pubkeys like in
multisig_get_pubkeys().
- Fix size of multisig script length encoding in segwit (varint vs. OP_PUSH).
- Improve comments.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
a5bd1643fc
fix(core): Fix OP_PUSH writing.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
7653efb415
chore(core): Disable Taproot for altcoins.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
c0f853dc78
chore(core): Disable ownership proof generation for Taproot.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
475b95b11e
feat(core): Disable prevtx streaming for Taproot.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
84e31310a1
feat(core): Support Taproot in SignatureVerifier.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
a17cdb7cfa
feat(core): Implement Taproot signing.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
381e8bc85a
feat(core): Implement the BIP-341 common signature message computation.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
99e4ed6f42
chore(core): Support script_pubkey parameter for Bitcoin inputs.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
630c06e782
feat(core): Support Taproot scripts.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
68ad1b07d2
feat(core): Recognize Taproot inputs.
2021-11-13 13:33:46 +01:00
Pavol Rusnak
57fddcfd9d
feat(core): recognize Taproot change-outputs
2021-11-13 13:33:46 +01:00
Andrew Kozlik
dd7ed61939
feat(core): Implement GetAddress for taproot.
2021-11-13 13:33:46 +01:00
Pavol Rusnak
6406f0640d
feat(core): introduce PATTERN_BIP86 to keychain
2021-11-13 13:33:46 +01:00
Andrew Kozlik
ae41f7dec8
fix(core): Fix bip340 module build.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
59c0f4383d
feat(core): Add key tweaking functions to trezorcrypto.bip340.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
bec0634bae
feat(core): Improve message signing UI.
...
- Add "Confirm message" subheader to SignMessage and VerifyMessage.
- Unify font for SignMessage and VerifyMessage to fixed-width font.
- Fix device tests.
2021-11-10 17:35:57 +01:00
Andrew Kozlik
cf14e06aa0
feat(core): Show address confirmation in SignMessage.
2021-11-10 17:35:57 +01:00
Andrew Kozlik
bc4a56b2c0
feat(core): Support no_script_type option in SignMessage.
2021-11-10 17:35:57 +01:00
Andrew Kozlik
c2f1850abb
feat(common): Add no_script_type option to SignMessage.
2021-11-10 17:35:57 +01:00
matejcik
0870befe58
docs: add changelogs
2021-11-10 13:57:57 +01:00
matejcik
c38efaa9a5
chore: make bitcoin-only checker happy
2021-11-10 13:57:57 +01:00
matejcik
72924a016f
tests(core): add unit tests for Icarus and Icarus-Trezor, fix failing tests
2021-11-10 13:57:57 +01:00
matejcik
10e338e005
feat(core/cardano): allow derivation type selection
2021-11-10 13:57:57 +01:00
matejcik
f6f52445bd
feat(core/cardano): support Icarus, Icarus-Trezor, and Ledger derivations
2021-11-10 13:57:57 +01:00
matejcik
f0ae16069c
fix(core): do not send passphrase_protection field when device is locked ( fixes #1807 )
2021-11-10 13:57:57 +01:00
matejcik
f818f4bc23
feat(core): derive Cardano seed together with normal seed, if requested
2021-11-10 13:57:57 +01:00
matejcik
387466e073
refactor(core): separate Cardano cryptography into its own module
2021-11-10 13:57:57 +01:00
matejcik
eacaffd079
fix(core/ethereum): use built-in ethereum_pubkeyhash() in get_address
2021-11-10 13:57:57 +01:00
matejcik
faa807f995
feat(core): show progress for SLIP39 derivation
...
fixes #1842
2021-11-10 13:57:57 +01:00
matejcik
8caac218ec
feat(core/cardano): indicate whether Cardano seed should be derived
2021-11-10 13:57:57 +01:00
matejcik
bc75d05772
chore(common/defs/fido): add coinbase u2f
...
[no changelog]
2021-11-08 15:55:01 +01:00
Pavol Rusnak
a3b83685ef
fix(core): fix emulator build on Apple Silicon
...
[no changelog]
2021-11-08 11:00:04 +01:00
Martin Milata
a01516389a
chore(vendor): update QR-code-generator
2021-11-05 14:09:11 +01:00
Jun Luo
62b649ef5d
refactor(common & core & legacy): Stellar, rename StellarCreatePassiveOfferOp to StellarCreatePassiveSellOfferOp.
2021-11-04 13:16:29 +01:00
Jun Luo
d064aae3f9
feat(common & core & legacy): Stellar, add support for StellarPathPaymentStrictSendOp.
2021-11-04 13:16:29 +01:00
Jun Luo
1dcb8e4913
feat(common & core & legacy): Stellar, add support for StellarManageBuyOfferOp.
2021-11-04 13:16:29 +01:00
Jun Luo
3a5768c4bf
refactor(common & core & legacy): Stellar, rename StellarManageOfferOp to StellarManageSellOfferOp and rename StellarPathPaymentOp to StellarPathPaymentStrictReceiveOp.
2021-11-04 13:16:29 +01:00
Martin Milata
1979bcc39c
chore(common): bring back eth:xDAI
2021-11-02 15:05:14 +01:00
grdddj
73238135d6
feat(core/ethereum): EIP-712
...
Based on original contribution by Max Kupriianov <xlab@hey.com>
Implemented EIP-712 typed data signatures in Ethereum app.
Add eth_abi into pyproject deps
device test for EIP 712
fixed hex decoding for address
fixup! fixed hex decoding for address
code quality, more pythonic code, removing unused imports
running black and isort on changed files
trezorctl file input for EIP 712 data signing
fixup! code quality, more pythonic code, removing unused imports
fixup! fixup! code quality, more pythonic code, removing unused imports
necessary changes after rebase to master
unit tests for sign_typed_data.py
new protobuf messages, working for nonarray types
simplified and verified solution for our simple data
support for simple arrays, without their confirmation
reverting protobuf value messages to bytes, appropriate changes
showing arrays in Trezor, code quality improvements
data validation on Trezor, minor improvements
using custom types for storing type data instead of dicts, addressing feedback from review
moving helper functions to its own file, tests for decode_data
additional overall tests
support for arrays of structs
adding support for metamask_v4_compat variable
using HashWriter object to collect the final hash continously
minor improvements in code quality
validate_field_type function
streaming values from client without saving them, missing UI
prototype of streamed UI using confirm_properties
accounting for bytes in data, more data types in integration tests
rebase on master, using f-strings
minor fixes and improvements from code review
StructHasher class for the whole hashing process
mypy and style changes
asking users whether to show structs and arrays
protobuf descriptions to fix make defs_check
unifying comments, mypy fix
unit tests for StructHasher class
UI fixtures, skipping device tests for T1
addressing majority of code review comments about code quality and structure
changing file structure - layouts, helpers, sign_typed_data
decode_data renaming and docstring, renaming unit test file
using tuples instead of lists in elifs
layout improvements
excluding core/src/apps/common/confirm.py file from the PR
True/False returning layout with Show more button
code review layout improvements
forgotten br_type argument to should_show_more
2021-11-02 14:27:01 +01:00
grdddj
082b7ecd91
feat(core): plural function supports "key/keys" string
...
Previously function did not work for words ending with "y" and vowel before that
2021-11-02 14:27:01 +01:00
grdddj
ecc0f6c445
fear(core/ui): add should_show_more layout function
...
Also adding `hold` argument into confirm_blob function
2021-11-02 14:27:01 +01:00
grdddj
b1a3618c17
refactor(core/ethereum): rename address.py to helpers.py
2021-11-02 14:27:01 +01:00
Martin Milata
9a7e6c2900
chore(common): update chains and tokens
2021-11-01 16:43:02 +01:00
Andrew Kozlik
eb90efd914
chore(crypto,core,legacy): Add return code to hdnode_fill_public_key().
...
[no changelog]
2021-11-01 16:39:53 +01:00
Andrew Kozlik
34621a6b6d
fix(crypto,core,legacy): Check private key validity when deriving public key.
...
[no changelog]
2021-11-01 16:39:53 +01:00
Martin Milata
ea1b7fbd54
chore(common): update chains and tokens
2021-11-01 13:58:48 +01:00
Martin Milata
87cc44e73a
chore(common): update coins support status
...
[no changelog]
2021-11-01 13:58:48 +01:00
matejcik
0e6669bd10
feat(core/stellar): show start/end timestamps in human readable format
2021-10-29 11:00:30 +02:00
matejcik
f7c340f333
feat(core/bitcoin): show lock_time as human readable datetime
2021-10-29 11:00:30 +02:00
matejcik
1d72085b5c
feat(core): implement conversion from timestamp to datetime
2021-10-29 11:00:30 +02:00
matejcik
e972839ac7
style(all): fix pylint complaints
...
[no changelog]
2021-10-27 13:13:15 +02:00
matejcik
f88f568f1e
feat(all): enable pylint globally
...
[no changelog]
with a whitelisted set of checks that can be expanded in the future if
we need something
2021-10-27 13:13:15 +02:00
matejcik
84c310a2ba
chore(core): remove forgotten and unused apps/common/confirm.py
...
[no changelog]
2021-10-27 13:13:15 +02:00
Pavol Rusnak
b2ff86ff3a
fix(common): drop unusable coins BELL and ZNY ( #1872 )
...
there are no wallets that support Trezor and these coins
2021-10-26 13:09:34 +02:00
Pavol Rusnak
7b2825e68e
fix(common): rebrand brhodium to xrhodium
2021-10-26 12:01:08 +02:00
Ondřej Vejpustek
a924bd4dc6
build(core): do not link gen_context.o to trezor_lib
2021-10-25 14:41:28 +02:00
Ondřej Vejpustek
dbfc7d241f
chore(vendor,crypto): bump version of secp256k1-zkp
2021-10-25 14:41:28 +02:00
Ondřej Vejpustek
29ce860d46
refactor(core,crypto): rename schnorr to BIP340
2021-10-25 14:41:28 +02:00
Ondřej Vejpustek
15bb085509
refactor(core,crypto): make public key derivation functions return
...
status
2021-10-25 14:41:28 +02:00
Ondřej Vejpustek
172f399b29
style(core): fix style
2021-10-25 14:41:28 +02:00
Ondřej Vejpustek
7ac0bdd215
feat(core): make core use Schnorr signatures
2021-10-25 14:41:28 +02:00
Ondřej Vejpustek
26463eb3ce
feat(core): make core use ecdsa from secp256k1_zkp wherever possible
2021-10-25 14:41:28 +02:00
Pavol Rusnak
9e0cfa6783
fix(core): we don't need separate linker script for zkp
2021-10-25 14:41:28 +02:00
Pavol Rusnak
d505edaaa0
fix(core): set ECMULT_GEN_PREC_BITS = 4 for secp256k1_zkp
...
the setting configures size of precomputed static context
size = 64 * (1 << ECMULT_GEN_PREC_BITS) * (256 / ECMULT_GEN_PREC_BITS)
for ECMULT_GEN_PREC_BITS == 2 the size is 64 * 512 == 32 KB
for ECMULT_GEN_PREC_BITS == 4 the size is 64 * 1024 == 64 KB
for ECMULT_GEN_PREC_BITS == 8 the size is 64 * 8192 == 512 KB
2021-10-25 14:41:28 +02:00
Pavol Rusnak
0d6bc43fd5
feat(core): enable secp256k1-zkp
2021-10-25 14:41:28 +02:00
Pavol Rusnak
47e17aab4d
fix(core): fix build on aarch64
...
by adding nlraarch64.c to SConscript.unix
2021-10-22 14:15:21 +02:00
Martin Milata
3882b89be9
fix(core/ethereum): ask before showing paginated data field
2021-10-19 17:13:28 +02:00
Martin Milata
e6c42b7fa6
fix(core/ui): fix off-by-one in in_area
2021-10-19 17:13:28 +02:00
Martin Milata
8eb4bcff29
feat(core/ui): allow text without header
2021-10-19 17:13:28 +02:00
David Misiak
13c4fb97df
fix(cardano): forbid multisig pool registration [no changelog]
2021-10-19 15:25:39 +02:00
Andrew Kozlik
13cbb59082
feat(common): Add script_pubkey field to TxInput message.
2021-10-18 19:58:56 +02:00
Andrew Kozlik
9d03112846
feat(core): Implement sending to taproot addresses.
2021-10-18 13:36:05 +02:00
Pavol Rusnak
ea0fb08fed
feat(core): add witness version to encode_bech32_address()
2021-10-18 13:36:05 +02:00
Pavol Rusnak
dbc464750b
feat(common): enable Taproot on Bitcoin
2021-10-18 13:36:05 +02:00
Pavol Rusnak
7e64ccbaf9
feat(core): add BIP-350 test cases to test_trezor.crypto.bech32
2021-10-18 13:36:05 +02:00
Pavol Rusnak
a45e103875
fix(core): remove 3 BIP-173 test cases from test_trezor.crypto.bech32
...
because they encode segwit program > 0 and these should no longer
be encoded with Bech32 but rather with Bech32m
2021-10-18 13:36:05 +02:00
Pavol Rusnak
9aa07c7f96
feat(core): update bech32.py to support Bech32m
2021-10-18 13:36:05 +02:00
Pavol Rusnak
ac4cb88184
feat(common): add taproot field to coin definitions
...
enable for Bitcoin Testnet and Bitcoin Regtest
2021-10-18 13:36:05 +02:00
Pavol Rusnak
fea240ed40
feat(core): add support for Taproot descriptors
2021-10-18 13:36:05 +02:00
Pavol Rusnak
4ed9f00c73
feat(common): add support for Taproot input and output scripts
2021-10-18 13:36:05 +02:00
matejcik
b6837d19b7
fix(core/nem): fix NEM usage of format_amount
...
[no changelog]
2021-10-13 11:53:17 +02:00
amadejpapez
85ba7c12ba
style(all): use f-strings for formatting
...
[no changelog]
2021-10-13 11:53:17 +02:00
matejcik
32be2c09b9
feat(core): enable f-strings for micropython
...
[no changelog]
2021-10-13 11:53:17 +02:00
gabrielkerekes
4aaf6db9a2
chore(cardano): update docs, changelog and ui test fixtures
2021-10-11 15:16:24 +02:00
gabrielkerekes
1f33ab420d
feat(cardano): update transaction signing for multisig
2021-10-11 15:16:24 +02:00
gabrielkerekes
21281d7cf4
feat(cardano): add support for script addresses derivation
2021-10-11 15:16:24 +02:00
gabrielkerekes
dd9652cd07
feat(cardano): add get-native-script-hash call
2021-10-11 15:16:24 +02:00
gabrielkerekes
54909681a8
feat(cardano): add support for 1854 and 1855 path roots
2021-10-11 15:16:24 +02:00
Martin Milata
70bb0ee04f
fix(core): bitcoin-only all_modules.py
2021-10-07 15:26:49 +02:00
Jan Pochyla
901580817d
chore(core/rust): fixes and formatting
...
[no changelog]
2021-10-07 15:01:55 +02:00
Jan Pochyla
5eefcffc7c
chore(core): prepare for fuzzing targets
...
First, we change the Protobuf definition includes to use an exact path relative to our crate's directory, instead of the OUT_DIR. This fixes build when a combination of stable and nightly toolchains is used (nightly is needed for the fuzzing targets).
Another change is a slight fix in the panic handler conditional compilation. Fuzzing is using the crate with `features = ["test"]`, but doesn't turn on the `test` cfg.
[no changelog]
2021-10-07 15:01:55 +02:00
Jan Pochyla
2703d714c2
feat(core): add Rust UI components, layouts, text rendering
...
[no changelog]
2021-10-07 15:01:55 +02:00
Ondrej Mikle
b905ac04ef
fix(core/emulator): Use -Og instead of -O0 in debug emulator builds to avoid segfault
...
[no changelog]
2021-10-05 14:10:47 +02:00
Pavol Rusnak
b03b688f2d
fix(core): avoid accidental build with broken stack protector (boardloader)
2021-09-29 12:48:31 +02:00
Ondrej Mikle
a85d2483ff
chore(legacy & core): changelogs added
2021-09-27 15:42:29 +02:00
Ondrej Mikle
0b077fea8a
fix(core & legacy): explicit compiler versions
2021-09-27 15:42:29 +02:00
Ondrej Mikle
e982181148
style(core & legacy): buggy compiler checks
2021-09-27 15:42:29 +02:00
Ondrej Mikle
6ea4b7b211
fix(core & legacy): better styled compiler checks
2021-09-27 15:42:29 +02:00
Ondrej Mikle
6b849b1d4d
fix(core & legacy): avoid accidental build with broken stack protector
2021-09-27 15:42:29 +02:00
matejcik
c30091b9c5
refactor(core/stellar): replace confirm_timebounds_stellar with confirm_properties
2021-09-24 10:30:19 +02:00
matejcik
1dcfdebf7a
feat(all): make Stellar timebounds required
2021-09-24 10:30:19 +02:00
matejcik
98f0496b2c
feat(core/stellar): add type checking to Stellar app
2021-09-24 10:30:19 +02:00
matejcik
1b601b3e08
feat(common): strong typing for Stellar protobuf messages
...
BREAKING CHANGE: StellarAssetType is renamed to StellarAsset.
The name StellarAssetType is reused for the corresponding enum.
Enums are introduced in several other places. Their values correspond to
allowed values of (previously int) fields so this should not pose a
compatibility problem.
Many fields are now required. We believe that this should not pose a
compatibility problem, because all known interfaces to Stellar signing
actually accept Stellar XDR on input, whose required fields match the
protobuf schema.
2021-09-24 10:30:19 +02:00
Martin Milata
81e66cb024
style(core/rust): enable clippy lints
...
[no changelog]
2021-09-23 14:22:40 +02:00
Martin Milata
bd005e33df
refactor(core): decouple T1 button handling from touch
...
[no changelog]
2021-09-23 12:30:13 +02:00
matejcik
d0efdfa715
fix(core/rust): enable "test" feature for Rust unit test
2021-09-21 12:43:31 +02:00
Jan Pochyla
2c8dec93a6
feat(core): Split unix main, link core obj into Rust test target
2021-09-21 12:43:31 +02:00
matejcik
7a17124b43
refactor(core/rust): do not rely too much on new_exception helpers
2021-09-21 12:43:31 +02:00
matejcik
5e452dc57c
refactor(core/rust): propagate unsafety of raise_exception
2021-09-21 12:43:31 +02:00
matejcik
806beb77d2
feat(core/rust): improve catch_exception, make use of Rust 1.55
2021-09-21 12:43:31 +02:00
matejcik
795ed2d339
fix(core/rust): fix "unnecessary unsafe" warning
...
[no changelog]
2021-09-21 12:43:31 +02:00
matejcik
31de21718f
feat(core/rust): introduce Obj.is_null()
...
[no changelog]
2021-09-21 12:43:31 +02:00
matejcik
b666895303
feat(core/rust): catch, handle and propagate uPy exceptions
2021-09-21 12:43:31 +02:00
matejcik
8abcb6f8cc
chore(core/rust): allow unused macros
...
[no changelog]
2021-09-21 12:43:31 +02:00
Jan Pochyla
7c65f0357a
feat(core/rust): Implement exception catching in Rust
...
chore(core): Add test for Rust exc catching
chore(core): Document exception catching in Rust
[no changelog]
2021-09-21 12:43:31 +02:00
Martin Milata
aace875fef
chore(vendor): bump micropython to 1.17
...
Relevant micropython commits:
d1bfb271d7686708fe8711a177629c8bf6e7f6a6 lib/uzlib: Move uzlib code from extmod to lib.
4d546713ec8858cbf908de45de11cbfc46a20971 shared: Introduce new top-level dir and move 1st party lib code there.
ca920f72184c50f61002aa9d5cd01555b1e28b7b py/mpstate: Make exceptions thread-local.
2021-09-17 11:18:14 +02:00
Martin Milata
7111702f00
chore(vendor): bump micropython to 1.16
...
Relevant micropython commits:
647fa63f9c457b616b1b20fdd98403b681302680 stm32/softtimer: Support static soft timer instances.
2021-09-17 11:18:14 +02:00
Martin Milata
b062b95348
chore(vendor): bump micropython to 1.15
...
Relevant micropython commits:
ad4656b861f94277bed9647ca176e662ce5119e3 all: Rename BYTES_PER_WORD to MP_BYTES_PER_OBJ_WORD.
9fef1c0bde2f9642d383bd56aa112447384a84ba py: Rename remaining object types to be of the form mp_type_xxx.
5fdf351178df9a18df624ae0f5947d8a5a6bce40 py/gc: Don't include mpconfig.h and misc.h in gc.h.
2021-09-17 11:18:14 +02:00
Martin Milata
d69b23e3c5
chore(core/emulator): ignore MICROPY_UNIX_COVERAGE
...
Seems to be micropython internal flag that hasn't been working in our
emulator for some time.
Relevant micropython commits:
b9a35bebf75be53a817bf6341af14b882093e345 py/qstr.h: Remove QSTR_FROM_STR_STATIC macro.
[no changelog]
2021-09-17 11:18:14 +02:00
Pavol Rusnak
d153082c9c
chore(vendor): bump micropython to 1.14
...
Relevant micropython commits:
4559bcb4679e04e0a5e24030675676ff6a9803f2 unix: Make mp_hal_delay_ms run MICROPY_EVENT_POLL_HOOK.
2021-09-17 11:18:14 +02:00
Martin Milata
53e2573691
docs(core): fix dates in changelog
2021-09-16 18:41:06 +02:00
Martin Milata
35a41fd957
Merge branch 'release/21.09' into master
...
Conflicts:
core/src/apps/ethereum/tokens.py
2021-09-16 17:28:36 +02:00
Martin Milata
a7a7570496
ci(core): enable rust unit tests
...
[no changelog]
2021-09-16 14:57:06 +02:00
Martin Milata
a007e062ab
style(core): apply rustfmt
...
[no changelog]
2021-09-16 14:57:06 +02:00
matejcik
ae4dd42d18
refactor(core/ethereum): reorganize sanity checks, disallow chain_id 0
2021-09-10 15:09:03 +02:00
matejcik
8931450d21
chore(common): enable Palm network
2021-09-10 15:09:03 +02:00
matejcik
e80077e0a4
feat(core/ethereum): enable type-checking for Ethereum app
2021-09-10 15:09:03 +02:00
matejcik
0c2863fc8d
feat(core/ethereum): use TokenInfo object instead of tuples
2021-09-10 15:09:03 +02:00
matejcik
4b34e4c001
fix(core): allow AnyStr as parameter for unhexlify
2021-09-10 15:09:03 +02:00
matejcik
30b08d949b
feat(common): add default values to EthereumSignTx fields
...
so that we can avoid Optional types for fields
2021-09-10 15:09:03 +02:00
matejcik
96ed53cc1c
refactor(core,legacy): remove Wanchain special handling
...
now that Wanchain has proper chainID and we don't need to detect it by
magic.
[no changelog]
2021-09-10 15:09:03 +02:00
matejcik
639406b01f
feat(all): make chain_id mandatory
2021-09-10 15:09:03 +02:00
arbitrarylink
f051225730
feat(core,legacy): add support for Ethereum 64-bit chain_id
...
* Changes from original PR
* Now that we are rejecting chain_ids of 0, we need to have the tests set the chain_ids to at least 1.
* Ran 'make gen' and uploaded changed files.
* Ran make style_check and fixed reported errors
* Added changelog files
* Reverted changes concerning chain_id 0 being rejected.
* Adds tests for MAX_CHAIN_ID and MAX_CHAIN_ID+1. Also reverts MAX_CHAIN_ID to the previous value.
* Added missing whitespace around arithmetic operator.
Co-authored-by: Michael Hatton <michaelhatton@Michaels-Mini.fios-router.home>
2021-09-10 15:09:03 +02:00
Tomas Susanka
cec1f39a90
chore(core, legacy): bump versions
...
[no changelog]
2021-08-31 12:55:37 +02:00
matejcik
9276b17023
fix(common): regenerate support data
...
[no changelog]
(cherry picked from commit eb34c0850e
)
2021-08-27 13:40:20 +02:00
matejcik
eb34c0850e
fix(common): regenerate support data
...
[no changelog]
2021-08-27 13:38:45 +02:00
Tomas Susanka
9a6451342a
chore(core): generate Changelog
2021-08-26 14:52:52 +02:00
matejcik
174985619d
chore(common): bump chains and tokens for release
2021-08-24 13:14:06 +02:00
matejcik
7aed8d535d
feat(all): re-enable Firo ( fixes #1767 )
2021-08-23 11:43:57 +02:00
Martin Milata
f37ca13f1a
refactor(core): disable SD, SBU, fatfs for T1 build
2021-08-20 12:22:13 +02:00
gabrielkerekes
2c65b00951
chore(cardano): add changelog entries
2021-08-20 11:50:13 +02:00
gabrielkerekes
8e3bc39b56
chore(cardano): update and format README
2021-08-20 11:50:13 +02:00
gabrielkerekes
7c3b5c86a5
fix(cardano): forbid mixing paths from multiple accounts in a single transaction
2021-08-20 11:50:13 +02:00
gabrielkerekes
28f0f60295
feat(cardano): update tests for streamed tx signing
2021-08-20 11:50:13 +02:00
gabrielkerekes
b0c8590f00
feat(cardano): streamed transaction signing
2021-08-20 11:50:13 +02:00
gabrielkerekes
d2a5be4e38
feat(cardano): prepare protobuf messages for streamed tx signing
2021-08-20 11:50:13 +02:00
matejcik
d33d61d84e
chore(core): remove Lisk
2021-08-19 10:25:41 +02:00
Frederik Bolding
38fa9197ca
feat(core,python): support for Ethereum EIP1559 transactions
...
Initial EIP1559 implementation
Fix a few small issues
Progress on Python lib implementation and firmware
Fix RLP length
Start fixing tests
Fix legacy transactions
Simplify API and logic
Add EIP1559 tests
Fix access list formatting
Fix UI visiblity issue
Fix commented out code
fix: correct linting issues
Fix access_list protobuf formatting
Remove unneeded code
Remove dead code
Check tx_type bounds for EIP 2718
Reduce code duplication
Prefer eip2718_type over re-using tx_type
Add more tests
Simplify format_access_list
Simplify sign_tx slightly
Change Access List format and add logic to encode it
Fix a bunch of small PR comments
Fix a linting issue
Move tests out of class and regenerate
Remove copy-pasted comments
Add access list to CLI
Simplify _parse_access_list_item
Fix small mistakes following rebase
Fix linting
Refactor to use a separate message for EIP 1559 tx
Simplify changed legacy code
Fix a few small PR comments
Fix linting
fix(legacy): recognize SignTxEIP1559 on legacy build
Fix PR comments
2021-08-10 11:00:29 +02:00
Martin Milata
b5710b820a
docs(core): replace Purpose48 with BIP-48
...
https://github.com/bitcoin/bips/blob/master/bip-0048.mediawiki
2021-08-06 12:50:42 +02:00
gabrielkerekes
4f7c6b3586
feat(common): change all protobuf message type hints to strings
...
In order to support recursive protobuf messages, which will be needed by Cardano's native scripts.
[no changelog]
2021-08-05 12:10:30 +02:00
matejcik
725d1bd961
docs(core): add changelog entry
2021-08-04 15:03:11 +02:00
matejcik
f78363ecdc
refactor(core/ui): do not use parameter for styling in get_next_u2f_counter
2021-08-04 15:03:11 +02:00
Martin Milata
2a91052b02
refactor(core/ui): move altcoin and webauthn layouts to separate file
...
Also fix types.
2021-08-04 15:03:11 +02:00
Martin Milata
31052007ff
refactor(core): enable mypy for apps.management
2021-08-04 15:03:11 +02:00
Martin Milata
e57027fc5c
refactor(core): convert apps.management.change_wipe_code to layouts
2021-08-04 15:03:11 +02:00
Martin Milata
5a0ea3f146
refactor(core): convert apps.management.recovery_device to layouts
2021-08-04 15:03:11 +02:00
Martin Milata
312876ab67
refactor(core): convert apps.management.reset_device to layouts
2021-08-04 15:03:11 +02:00
Martin Milata
574dcbc8a3
refactor(core): convert apps.common to layouts
2021-08-04 15:03:11 +02:00
Martin Milata
875cc0cb1a
refactor(core): convert apps.webauthn to layouts
2021-08-04 15:03:11 +02:00
matejcik
9ab1891b22
feat(common): more required fields in messages-management
...
[no changelog]
2021-08-04 15:03:11 +02:00
matejcik
5dcb51458f
chore(core/ui): drop no longer used confirm_proposals_tezos
2021-07-26 14:48:35 +02:00
matejcik
fcb5f88318
fix(core/bitcoin): nicer UI for ownership proofs
2021-07-26 14:48:35 +02:00
matejcik
b30c9f7584
refactor(core/stellar): use semantically appropriate layouts everywhere
2021-07-26 14:48:35 +02:00
matejcik
16b87e4d50
fix(core/stellar): fail cleanly when asset code has wrong length
2021-07-26 14:48:35 +02:00
matejcik
ad6976e01f
refactor(core): use confirm_blob instead of confirm_hex in apps
2021-07-26 14:48:35 +02:00