1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-15 10:58:09 +00:00
Commit Graph

556 Commits

Author SHA1 Message Date
Martin Novak
58276a7443 feat(core/ethereum, legacy/ethereum): add support to Ledger Live legacy derivation path 2022-11-30 14:23:47 +01:00
Ondrej Mikle
e2abd2a9ad feat(legacy): bootloader with v3 SignMessage signatures + signatures debug
Removed oldest v1 style of firmware signature and presence checks.
Added debug helpers for T1 signatures.
Support for v2 and v3 signatures, but can only update FW to v3-style signed.
Support for debugging T1 signatures.
Scripts and README for debugging v2/v3 FW signing scheme.
Firmware in GetFeatures counts only v3 signatures as signed.
Add documentation and comments about signing schemes like a sane person
2022-11-22 15:00:19 +01:00
matejcik
ce307c9484 feat(common): mark CoSi fields as required
[no changelog]
2022-11-01 14:56:00 +01:00
Andrew Kozlik
afd900f9b1 feat(common): Add CoinJoin request message.
[no changelog]
2022-10-27 17:37:48 +02:00
Ondrej Mikle
4bed278e80 feat(legacy): Ability to flash bootloader and firmware via JLink
[no changelog]
2022-09-19 10:09:14 +02:00
Martin Novak
dd168d2893 feat(core,legacy): display only sat instead of sat BTC 2022-09-15 08:01:24 +02:00
grdddj
093be69dfb feat(legacy): do not convert bech32 addresses to uppercase for QR code
feat(legacy): maintain big QR code for taproot addresses
2022-09-14 15:13:19 +02:00
grdddj
70d38e829b feat(legacy): show fee rate when replacing transaction 2022-09-12 11:48:14 +02:00
Martin Novak
a41cfadbf1 feat(core,legacy): Extend decimals of fee rate to 2 digits 2022-09-09 15:28:31 +02:00
Andrew Kozlik
d96d3e705b fix(legacy): Clear CoSi nonce when device is wiped to fix CI.
[no changelog]
2022-09-07 15:38:22 +02:00
Andrew Kozlik
2f6a7096da chore(legacy): Do not allow access to SLIP25 paths. 2022-08-30 15:53:44 +02:00
Andrew Kozlik
9d89c3cb1b feat(common): Add UnlockPath message.
[no changelog]
2022-08-30 15:53:44 +02:00
Andrew Kozlik
792dadfc4d feat(common): Add SetBusy message.
[no changelog]
2022-08-22 18:15:29 +02:00
Pavol Rusnak
c962d3520b
Merge branch 'release/22.08' 2022-08-22 11:10:45 +02:00
matejcik
ef47c26272 chore(core,legacy): bump versions
[skip_ci]
[no changelog]
2022-08-03 13:10:05 +02:00
matejcik
0d87b55ba4 chore(docs): regenerate changelogs 2022-08-02 22:26:27 +02:00
Andrew Kozlik
f8ffaecd1c fix(legacy): Abort recovery for invalid words. 2022-08-02 20:38:04 +02:00
Andrew Kozlik
fa5e7feda6 fix(crypto): Fix nonce bias in CoSi signing. 2022-08-02 20:38:04 +02:00
Andrew Kozlik
b7dde50d5f fix(legacy): Generate CoSi nonce randomly. 2022-08-02 20:38:04 +02:00
Andrew Kozlik
ad5a572b75 chore(common): Deprecate data field in CosiCommit message. 2022-08-02 20:38:04 +02:00
matejcik
70c1b12dff feat(legacy): use thousands separator (fixes #2394) 2022-08-02 20:35:49 +02:00
matejcik
4df7f2f6b0 Revert "feat(legacy): implement firmware dumping"
This reverts commit 64df33d8d8.
2022-08-02 17:12:07 +02:00
Andrew Kozlik
8ca785925d fix(core,legacy): Fix tx_weight to tx_size conversion.
[no changelog]
2022-08-02 14:30:38 +02:00
Andrew Kozlik
a4343266a3 fix(legacy): Fix Decred transaction weight calculation. 2022-08-01 15:10:34 +02:00
Andrew Kozlik
3b44d44a12 fix(legacy): Fix rounding in fee rate computation. 2022-08-01 15:10:34 +02:00
Andrew Kozlik
892f3e348d fix(crypto): Remove public key from the ed25519 signing API.
[no changelog]
2022-06-27 18:59:08 +02:00
Pavol Rusnak
95daa2fda3 chore(common/defs): replace consensus_branch_id with overwintered bool flag
[no changelog]
2022-06-27 12:39:03 +02:00
Pavol Rusnak
17963a2837 fix(legacy): refactor oledInvertPixel
to not use static bool variable, but ifdef constant

[no changelog]
2022-06-02 10:50:40 +02:00
matejcik
38a36a131f chore: rename BIP39_WORDS to BIP39_WORD_COUNT 2022-06-01 16:35:33 +02:00
matejcik
dfa4b1d9a1 build: add bip39_english.o where appropriate
[no changelog]
2022-06-01 16:35:33 +02:00
Pavol Rusnak
6589f020c6 fix(legacy,core): use sat/vB only for segwit and sat/B otherwise
[no changelog]
2022-05-30 10:51:47 +02:00
Martin Novak
85f0d3a741 feat(core,legacy): show fee rate when signing transaction 2022-05-25 14:43:45 +02:00
Ondřej Vejpustek
a198b390ff fix(legacy,core): fix size of secp256k1-zkp context
[no changelog]
2022-05-20 17:29:07 +02:00
Martin Milata
c5f1bec474 Merge branch 'release/22.05' 2022-05-18 12:43:53 +02:00
Ondřej Vejpustek
ea5886026f refactor(crypto,legacy): extend parameters of init_rfc6979 by curve 2022-05-16 16:23:18 +02:00
Ondřej Vejpustek
db0da196a8 chore(vendor): update secp256k1-zkp to latest 2022-05-16 16:23:18 +02:00
Martin Milata
a4f924baa4 chore(legacy/firmware): bump version to 1.11.2
[skip_ci]
2022-05-04 12:09:14 +02:00
Martin Milata
cc4ca7a580 docs(legacy/firmware): changelog for 1.11.1 2022-05-03 23:00:25 +02:00
matejcik
a1984f3275 chore(legacy): release bootloader 1.11.0 2022-05-03 23:00:25 +02:00
matejcik
bc1ebdccdc build(legacy): add explicit dependency on version.h for the header object 2022-05-03 23:00:25 +02:00
Andrew Kozlik
903fa9b471 feat(legacy): Verify signatures of all original internal inputs in replacement transactions. 2022-05-03 23:00:25 +02:00
Andrew Kozlik
706b74aaeb refactor(legacy): Transaction checksum in Bitcoin signing. 2022-05-03 22:14:41 +02:00
Andrew Kozlik
29304857b5 feat(legacy): Warn about unverified external inputs. 2022-05-03 22:14:40 +02:00
Andrew Kozlik
2b401f48f8 feat(legacy): Warn only once about non-standard paths.
[no changelog]
2022-05-03 22:14:40 +02:00
Andrew Kozlik
df479adbe7 chore(legacy): Simplify path warning UI.
[no changelog]
2022-05-03 22:14:40 +02:00
Andrew Kozlik
181fd1c601 fix(legacy): Stricter Bitcoin transaction checks.
[no changelog]
2022-05-03 22:14:40 +02:00
Andrew Kozlik
09d143079b chore(legacy/firmware): Bump FIX_VERSION to 1.11.0. 2022-05-03 22:14:40 +02:00
Andrew Kozlik
84876dc971 feat(legacy): Add fsm_abortWorkflows(). 2022-05-03 21:50:50 +02:00
Andrew Kozlik
e24e9fcdb3 fix(legacy): Check PIN before confirming critical dialogs. 2022-05-03 21:50:50 +02:00
Andrew Kozlik
4c60f80f44 feat(legacy): Add state sanity check to fsm_msg*Ack() functions. 2022-05-03 21:50:50 +02:00
Andrew Kozlik
3553086e84 feat(legacy): Strict path validation for CoSi. 2022-05-03 21:50:50 +02:00
Andrew Kozlik
abb5ab74e3 feat(legacy): Strict path validation for NEM. 2022-05-03 21:50:50 +02:00
Andrew Kozlik
88efd74710 feat(legacy): Make Bitcoin path checks same as in core. 2022-05-03 21:50:50 +02:00
Andrew Kozlik
35151c6157 feat(legacy): Strict path validation for Stellar. 2022-05-03 21:50:50 +02:00
Andrew Kozlik
0af5cd18c2 feat(legacy): Strict path validation for Ethereum. 2022-05-03 21:50:50 +02:00
Andrew Kozlik
054ab48689 refactor(legacy): Factor out fsm_layoutPathWarning(). 2022-05-03 21:50:50 +02:00
Andrew Kozlik
1b9e575d3e refactor(legacy): Move path constants to crypto.h. 2022-05-03 21:50:50 +02:00
matejcik
540d3ebaab feat(legacy): report EMULATOR vendor in legacy 2022-05-03 19:00:04 +02:00
matejcik
64df33d8d8 feat(legacy): implement firmware dumping 2022-05-03 19:00:04 +02:00
Andrew Kozlik
d693b0c196 feat(legacy): Return fw_vendor in firmware Features message.
[no changelog]
2022-05-03 19:00:04 +02:00
Andrew Kozlik
bd8d9c9c6b feat(legacy): Show progress in GetFirmwareHash. 2022-05-03 19:00:04 +02:00
Andrew Kozlik
e9828a5b59 feat(legacy): Implement GetFirmwareHash message. 2022-05-03 19:00:04 +02:00
Andrew Kozlik
26d1fad2aa feat(legacy): Support Zcash version 5 transaction format. 2022-05-02 17:10:41 +02:00
Martin Milata
4f95ec25f9 chore(legacy/firmware): bump version to 1.11.1 2022-03-30 21:57:54 +02:00
Pavol Rusnak
334f7bbbe6 chore(common): defs cleanup
- drop Gamecredits - they became an ERC-20 token in 2020
- drop Nix - dead coin
- drop Polis - coin became a BEP-20 token and later Olympus network in 2021
2022-03-25 14:27:30 +01:00
Andrew Kozlik
d012f48ca5 feat(legacy): Guess weight of unverified external inputs. 2022-03-17 09:44:03 +01:00
Andrew Kozlik
82895b2cdb feat(legacy): Support unverified external inputs. 2022-03-17 09:44:03 +01:00
Andrew Kozlik
0dfbfefd2a refactor(legacy): Factor out multisig fingerprint processing. 2022-03-17 09:44:03 +01:00
Andrew Kozlik
8cb6d0709f feat(legacy): Ensure input's script type and path match the scriptPubKey. 2022-03-17 09:44:03 +01:00
Ondrej Mikle
28d282101e fix(legacy): cleanup of undesired states where USB processing should not happen 2022-02-22 00:49:31 +01:00
matejcik
45e5c18f06 fix(legacy): allow DebugLinkGetState while waiting for passphrase 2022-02-17 11:05:55 +01:00
matejcik
69eb09580d fix(legacy): clear crypto caches on device wipe 2022-02-17 11:05:55 +01:00
Pavol Rusnak
ea6b005003 feat(legacy): verify bip340 pubkeys used in p2tr addresses 2022-02-16 10:25:15 +01:00
Andrew Kozlik
b1706561cd fix(legacy): Remove Bitcoin Cash from BITCOIN_ONLY firmware. 2022-02-11 15:36:00 +01:00
Andrew Kozlik
cb21c7e415 feat(legacy): Support Electrum signatures in VerifyMessage. 2022-02-11 15:36:00 +01:00
Andrew Kozlik
b5c9f573b2 feat(legacy): Show "signature is valid" dialog when VerifyMessage succeeds. 2022-02-11 15:36:00 +01:00
matejcik
310b6c5217 fix(legacy): support Success and Failure for debuglink 2022-02-10 14:48:11 +01:00
matejcik
e81bb0f856 feat(legacy): enable DebugLinkReseedRandom 2022-02-10 14:48:11 +01:00
matejcik
658c50fc1f chore(legacy): drop support for RANDOM_DEV_FILE
Replacing it with trezor-crypto's na(t)ive RNG, which we can reseed over
debuglink.
2022-02-10 14:48:11 +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
0959947a88 chore(common): Add GetNonce, Nonce and TxAckPaymentRequest message.
[no changelog]
2022-01-31 18:00:22 +01:00
Andrew Kozlik
ba4f046d6f feat(common): Add INFO button to DebugLinkDecision.
[no changelog]
2022-01-27 13:15:04 +01:00
Martin Milata
763a138d53 docs(legacy/firmware): fix date in changelog
[skip_ci]
2022-01-19 19:48:43 +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
Martin Milata
c127f6dd6e docs(legacy/firmware): fix date in changelog
[skip_ci]
2022-01-17 14:11:49 +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
Pavol Rusnak
2880a2fa33
fix(crypto): refactor ethereum_address_checksum to prepend "0x" (#2029)
[no changelog]
2022-01-12 21:00:54 +01:00
matejcik
454a7ce301 fix(legacy/nem): remove checks for newly required protobuf attributes
[no changelog]
2022-01-07 21:41:17 +01:00
Pavol Rusnak
b0e0280465 chore: drop obsolete fw_vendor_keys field from Features
[no changelog]
2022-01-03 14:23:58 +01:00
Martin Milata
572f3eda20 chore(legacy/firmware): bump version to 1.10.6 2022-01-03 12:40:06 +01:00
Martin Milata
96378a15a8 docs(legacy): changelog for 1.10.5 2021-12-23 19:18:17 +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
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
Ondrej Mikle
199729e57a fix(legacy): prevent handling RebootToBootloader recursing by flushing USB write 2021-12-07 17:00:43 +01:00
Martin Milata
1e5e970fd1 fix(legacy/firmware): improve pin length bound check 2021-12-06 16:25:59 +01:00
Martin Milata
7336125cd3 chore(legacy/firmware): bump version to 1.10.5 2021-12-01 14:45:47 +01:00
Martin Milata
61164febf2 docs(legacy): changelog for 1.10.4 2021-11-23 14:57:25 +01:00
Andrew Kozlik
38134732dc fix(legacy): Ensure user is warned about non-standard paths. 2021-11-23 14:57:25 +01:00
Pavol Rusnak
ee4ef81039 fix(legacy): update account naming
[no changelog]
2021-11-23 13:00:43 +01:00
Pavol Rusnak
3488138285 chore(legacy): drop unused ECIES code
[no changelog]
2021-11-19 11:44:56 +01:00
Martin Milata
d656f88572 style(all): reformat with clang-format 13.0 2021-11-19 10:54:31 +01:00
Andrew Kozlik
f4b8dbefb6 fix(legacy): Fix testnet account label in GetAddress dialog. 2021-11-18 22:39:32 +01:00
Pavol Rusnak
274ccdc4c0 fix(legacy): add Taproot account handling to GetAddress dialog 2021-11-18 22:39:32 +01:00
Andrew Kozlik
cafc49fabd fix(legacy): Fix transaction weight calculation.
Fix size of multisig script length encoding in segwit (varint vs. OP_PUSH).
2021-11-18 22:39:32 +01:00
Andrew Kozlik
567cbd0250 feat(legacy): Support Taproot in weight calculation. 2021-11-18 22:39:32 +01:00
Andrew Kozlik
e30ccabed3 feat(legacy): Show path warning for SignMessage. 2021-11-18 22:39:32 +01:00
Andrew Kozlik
98ad54b7ee chore(legacy): Disable Taproot where it's not supported. 2021-11-18 22:39:32 +01:00
Andrew Kozlik
fa4d74ad30 feat(legacy): Support Taproot signature verification. 2021-11-18 22:39:32 +01:00
Andrew Kozlik
7597eb25ab feat(legacy): Disable prevtx streaming for Taproot. 2021-11-18 22:39:32 +01:00
Andrew Kozlik
c9d1ff93f5 feat(legacy): Implement Taproot signing. 2021-11-18 22:39:32 +01:00
Andrew Kozlik
9f65165887 feat(legacy): Introduce SIGHASH_ALL_TAPROOT. 2021-11-18 22:39:32 +01:00
Andrew Kozlik
6fbbd14f8c refactor(legacy): Refactor compile_input_script_sig(). 2021-11-18 22:39:32 +01:00
Andrew Kozlik
9a051df127 chore(legacy): Support script_pubkey parameter for Bitcoin inputs. 2021-11-18 22:39:32 +01:00
Andrew Kozlik
aed79eec65 chore(legacy): Recognize Taproot script types. 2021-11-18 22:39:32 +01:00
Andrew Kozlik
6c9c727359 feat(legacy): Implement GetAddress for taproot. 2021-11-18 22:39:32 +01:00
Andrew Kozlik
34e8284331 feat(legacy): Implement the BIP-341 common signature message computation. 2021-11-18 22:39:32 +01:00
Andrew Kozlik
78a9ab8123 feat(legacy): Add BIP86 paths to coin_path_check(). 2021-11-18 22:39:32 +01:00
Ondřej Vejpustek
9b1c5df451 feat(legacy): use secp256k1-zkp where possible 2021-11-18 19:05:40 +01:00
Ondřej Vejpustek
a22e6a688f build(legacy): build with secp256k1-zkp library 2021-11-18 19:05:40 +01:00
Andrew Kozlik
0737deedc4 fix(legacy): Fix split_message() to correctly handle strings that are not null-terminated. 2021-11-10 17:35:57 +01:00
Andrew Kozlik
d8de95767d feat(legacy): Use fixed font in SignMessage and VerifyMessage. 2021-11-10 17:35:57 +01:00
Andrew Kozlik
c60305d8f0 feat(legacy): Implement pagination in SignMessage and VerifyMessage. 2021-11-10 17:35:57 +01:00
Andrew Kozlik
5e6e56ac4d feat(legacy): Show address confirmation in SignMessage. 2021-11-10 17:35:57 +01:00
Andrew Kozlik
4146ab7f9e feat(legacy): Support no_script_type option in SignMessage. 2021-11-10 17:35:57 +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
grdddj
9d643808c1 chore(legacy): fix build after adding EthereumSignTypedData [no changelog] 2021-11-02 14:27:01 +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
fa3c6140a6 feat(legacy/ethereum): support access lists in EIP-1559 transactions 2021-10-26 17:20:20 +02:00
Martin Milata
076c5b9cbe feat(legacy/ethereum): support for EIP-1559 transactions 2021-10-26 17:20:20 +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
Andrew Kozlik
13cbb59082 feat(common): Add script_pubkey field to TxInput message. 2021-10-18 19:58:56 +02:00
Andrew Kozlik
926365b64e fix(legacy): Fix compile-time check of maximum protobuf message size. 2021-10-18 16:31:40 +02:00
Pavol Rusnak
60bd59fbad feat(crypto): update segwit_addr 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
2035ff4569 feat(legacy): add support for Taproot descriptors 2021-10-18 13:36:05 +02:00
amadejpapez
85ba7c12ba style(all): use f-strings for formatting
[no changelog]
2021-10-13 11:53:17 +02:00
Martin Milata
83a81da37d fix(legacy): don't mention decred in btconly fw 2021-10-07 15:26:49 +02:00
Ondrej Mikle
a85d2483ff chore(legacy & core): changelogs added 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
1dcfdebf7a feat(all): make Stellar timebounds required 2021-09-24 10:30:19 +02:00
matejcik
4b8f52cd2f refactor(legacy): update to new Stellar protobuf usage
[no changelog]
2021-09-24 10:30:19 +02:00
Martin Milata
53e2573691 docs(core): fix dates in changelog 2021-09-16 18:41:06 +02:00