1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-18 13:38:12 +00:00
Commit Graph

362 Commits

Author SHA1 Message Date
Tomas Susanka
300c27abb8 chore(legacy): bump version to 1.10.1; add soft-reset to changelog 2021-04-23 15:47:17 +02:00
Tomas Susanka
e82aacbc7c docs(legacy/changelog): add note on bootloader 2021-04-22 09:41:58 +02:00
Pavol Rusnak
f93a8514e8
fix(legacy): update embedded bootloader hash 2021-04-21 16:00:09 +02:00
Pavol Rusnak
73ae44f500 fix(legacy): rebuild bundled bootloader (deterministically) 2021-04-19 18:32:47 +02:00
Pavol Rusnak
0d37824b01 fix(legacy): show dialog before rebooting to bootloader 2021-04-15 18:01:09 +02:00
Alexis Hernandez
bb1c638d3b legacy: Update op_return max size to 150 bytes
The goal is to allow Trezor 1 to create TPoS contracts for Stakenet.

Last year, Stakenet introduced a hard-fork [1] to change the way TPoS contracts
are created, instead of a custom signature method, now it works with the
output from the signMessage method, while this works for Trezor T, it doesn't
work for Trezor 1 due to the 80 bytes limit on the OP_RETURN output while
Stakenet allows up to 150 bytes [2], in a gitter discussion [3] we concluded that
the change should be fine.

The hard-fork was introduced because we couldn't got our TPoS contracts PR accepted [4],
the OP_RETURN still contains the same data, its just stored in a different way:
- The TPoS address, where the coins to stake are stored, and where rewards are received.
- The merchant address, where the merchant receives its commission.
- The contract commission.
- The TPoS collateral signature (this is what uses the signMessage now).

At last, there is an example transaction creating a TPoS contract [5].

[1]: https://github.com/X9Developers/XSN/pull/154
[2]: https://github.com/X9Developers/XSN/blob/master/src/script/standard.h#L34
[3]: https://gitter.im/trezor/community?at=6064c41e940f1d555e2ea670
[4]: https://github.com/trezor/trezor-firmware/pull/140
[5]: https://xsnexplorer.io/transactions/858feb31097501cf68d698cde104cf778ec51ff3668e943404b549a5dd2f5792
2021-04-06 10:15:59 +02:00
Andrew Kozlik
a755e99ccc feat(legacy): Display nLockTime in human-readable form. 2021-03-26 14:49:21 +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
cbb0d82999 feat(legacy): Support 50 digit PIN and wipe code. 2021-03-25 14:24:41 +01:00
matejcik
56ee7d33a9 chore: add cardano changelogs 2021-03-18 10:30:03 +01:00
Andrew Kozlik
97a3223663 fix(legacy): Skip unused messages in nanopb. 2021-03-17 22:34:26 +01:00
Andrew Kozlik
a36439a57f fix(legacy): Improve compile-time checks of message sizes.
Distinguish between the maximum size of a protobuf-encoded message
and the maximum size of a C struct containing a decoded message.
2021-03-17 22:34:26 +01:00
Andrew Kozlik
54fec3742f fix(legacy): Improve error handling in msg_read_tiny().
When a message was unexpected and small enough, it raised a
DataError, which contradicted the reasoning about ignoring
unexpected messages. Now all unexpected messages are ignored
regardless of their size.

When a message was expected, but too big, it was ignored, which
made debugging difficult. Now it raises a DataError.
2021-03-17 22:34:26 +01:00
Andrew Kozlik
d3183776fa chore(legacy): Add compile-time checks for msg_tiny sizes. 2021-03-17 22:34:26 +01:00
Andrew Kozlik
838b2c2c77 fix(legacy): Replace magic numbers with USB_PACKET_SIZE and MSG_HEADER_SIZE. 2021-03-17 22:34:26 +01:00
Andrew Kozlik
9aec5409b9 feat(legacy): Allow decreasing output amount in RBF transactions. 2021-03-17 15:15:50 +01:00
Pavol Rusnak
a36d0c0fbe
docs(changelog): add public key to ECDHSessionKey 2021-03-08 16:52:44 +01:00
Roman Zeyde
78ab0a6a2d feat(legacy): add public_key to ECDHSessionKey 2021-03-08 15:59:00 +01:00
Pavol Rusnak
97b43499e5
fix(legacy): remove executable bit from legacy/firmware/bootloader.dat 2021-03-05 18:33:59 +01:00
Pavol Rusnak
60a6b8211e
docs(changelog): next bootloader/firmware version will be 1.10.0 2021-03-05 18:32:23 +01:00
Pavol Rusnak
4a82d6c9d5 fix(legacy): recompile bundled bootloader 2021-03-03 16:36:18 +01:00
Pavol Rusnak
3b80e9f228 fix(legacy): store only half of the logo64, use flip to render both parts 2021-03-03 16:23:53 +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
d0b630abfc
chore(legacy): return code for reboot call 2021-03-03 12:06:59 +01:00
Ondrej Mikle
18a05d467e
chore(legacy): fake handling emulator reset to bootloader 2021-03-03 12:06:59 +01:00
Ondrej Mikle
2dccbf99d4
chore(legacy): add reset to bootloader protobuf message 2021-03-03 12:06:59 +01:00
Ondrej Mikle
f9917e8d47
feat(legacy): add 'stay in bootloader' bootloader to firmware' 2021-03-03 12:06:58 +01:00
matejcik
0964517fe7 fix(legacy): do not query presence of newly-required protobuf fields 2021-02-10 10:56:52 +01:00
Andrew Kozlik
79fad70b05 fix: Improve wording when showing multisig XPUBS. 2021-01-26 15:09:37 +01:00
Pavol Rusnak
0519d86451
chore(legacy): simplify data2hex 2021-01-22 22:41:11 +01:00
Tomas Susanka
1006c8a0f1 chore(core,legacy): change versions to 1.9.5 and 2.3.6
This reverts commit 92535dc090.
2021-01-22 15:42:55 +01:00
Pavol Rusnak
47e701f54c
docs(legacy): update changelog
[skip_ci]
2021-01-22 14:30:50 +01:00
Pavol Rusnak
92535dc090
chore(core,legacy): change versions back to 1.9.4 and 2.3.5
[skip_ci]
2021-01-22 14:23:11 +01:00
Pavol Rusnak
1d3166017d feat(legacy): implement amount_unit for SignTx 2021-01-22 14:07:36 +01:00
Pavol Rusnak
cb4c5a72bf legacy: implement GetAddress.ignore_xpub_magic 2021-01-21 23:46:29 +01:00
Pavol Rusnak
4ed714ba47 common/defs: add xpub_magic_multisig_segwit_{native,p2sh} fields to coins 2021-01-21 23:46:29 +01:00
Pavol Rusnak
1e6259a476
docs: update changelogs
[skip_ci]
2021-01-08 14:33:28 +01:00
Pavol Rusnak
4d45a68fd0 legacy: return root_fingerprint in PublicKey 2021-01-08 14:17:09 +01:00
Pavol Rusnak
2f8d687405 feat(legacy): implement GetPublicKey.ignore_xpub_magic behaviour 2021-01-08 14:17:09 +01:00
Pavol Rusnak
91e60036e0 fix(legacy): show xpub instead of pubkey in GetPublicKey dialog 2021-01-08 14:17:09 +01:00
Pavol Rusnak
9ba1c9aa50 docs: mention that nanopb was bumped to 0.4.4 in changelogs
[skip_ci]
2021-01-06 13:52:09 +01:00
Pavol Rusnak
6739e4e5e1 docs: push releases 1.9.4 and 2.3.5 to February 2021
[skip_ci]
2021-01-06 09:10:06 +01:00
Pavol Rusnak
af716d0843 fix(legacy): update typo (we lock device after 5 seconds, not 2 seconds) 2021-01-04 19:55:41 +01:00
Pavol Rusnak
93215ae3c7 style: reformat with clang-format 11 2021-01-04 14:40:16 +01:00
Pavol Rusnak
1d151ab4fe legacy: fix typo 2020-12-29 17:37:37 +01:00
Tomas Susanka
d38540ca7a chore(legacy): bump version to 1.9.5 2020-12-18 19:39:21 +01:00
Andrew Kozlik
d252539125 fix(legacy): Support negative amounts in layoutConfirmTx(). 2020-12-17 16:33:33 +01:00
Andrew Kozlik
389f14d6c4 feat(legacy): Implement replacement transaction signing flow. 2020-12-17 16:33:33 +01:00
Andrew Kozlik
4ad1fbc133 chore(legacy): Create TxInfo struct in Bitcoin signing. 2020-12-17 16:33:33 +01:00
Andrew Kozlik
a2e35fabce chore(legacy): Rename variables in signing to match the names in core. 2020-12-17 16:33:33 +01:00
Pavol Rusnak
d8dd2f64a9
legacy: update release date for 1.9.4 2020-11-26 16:51:44 +01:00
Martin Milata
bf524854cd chore(legacy): missing changelog entry, formatting 2020-11-20 14:47:08 +01:00
Martin Milata
480332b803 fix(legacy): increase minimum auto-lock delay to 1 minute 2020-11-20 13:57:51 +01:00
Pavol Rusnak
c6e78e525a
fix: remove PIVX (#1359) 2020-11-20 12:12:42 +01:00
Pavol Rusnak
50fdd183c2
ci: enable editorconfig checks, fix whitespace issues 2020-11-11 14:43:50 +01:00
Andrew Kozlik
443e0c101e chore(common): Add orig_hash and orig_index fields to TxInput and TxOutput. 2020-10-23 15:07:15 +02:00
Andrew Kozlik
c67ecb984b chore(crypto): Move XPUB_MAXLEN and ADDRESS_MAXLEN from modtrezorcrypto to bip32.h. 2020-10-13 13:13:49 +02:00
Martin Milata
7d8fbacba7 feat(legacy): add auto_lock_delay_ms to Features 2020-10-02 11:06:16 +02:00
Pavol Rusnak
71058eedd5 chore(vendor/nanopb): update nanopb from 0.4.1 to 0.4.3 2020-09-24 10:52:31 +02:00
matejcik
c9348709e8 fix(legacy/nem): use levy only if provided 2020-09-24 10:52:31 +02:00
matejcik
0eed360037 chore: make tx type names shorter
as suggested by @andrewkozlik:
TxAckInputType -> TxInput
TxAckOutputType -> TxOutput
TxAckPrevTxType -> PrevTx
TxAckPrevInputType -> PrevInput
TxAckPrevOutputType -> PrevOutput
2020-09-23 16:00:10 +02:00
matejcik
5debebefc8 chore(legacy): update code to handle protobuf changes correctly 2020-09-23 16:00:10 +02:00
Andrew Kozlik
5d745d5d04 common/protob: Add commitment_data to TxInputType. 2020-09-08 19:36:10 +02:00
Martin Milata
047fcffde1 legacy: replace confusing Version group ID error message 2020-09-04 15:26:24 +02:00
Andrew Kozlik
e9ed0851b3 legacy: Stream prev_tx after confirmation. 2020-09-04 14:36:39 +02:00
Tomas Susanka
b99b8b3df3 Merge remote-tracking branch 'origin/release/2020-09' 2020-09-03 13:17:23 +02:00
Pavol Rusnak
c1dd07a2e4
core+legacy: update dates in changelogs 2020-09-02 15:36:36 +02:00
matejcik
e0583dd5cb all: use a specific error code for "invalid session" 2020-08-28 15:37:06 +02:00
matejcik
58621711d1 legacy: implement EndSession 2020-08-28 15:37:06 +02:00
Pavol Rusnak
8c2e20c26b
legacy/firmware: validate script type only in full-mode known_path_check (#1216)
(cherry picked from commit 07bd330d98)
2020-08-24 12:54:24 +02:00
Pavol Rusnak
07bd330d98
legacy/firmware: validate script type only in full-mode known_path_check (#1216) 2020-08-24 12:54:00 +02:00
Tomas Susanka
d080464cc5 core, legacy: bump versions (also in changelogs) 2020-08-24 09:31:49 +02:00
Andrew Kozlik
ae71735e62 legacy/signing: Ask user to confirm custom nLockTime. 2020-08-21 21:30:15 +02:00
Pavol Rusnak
146ee7af89 update changelogs 2020-08-21 21:30:15 +02:00
Pavol Rusnak
e2632b16dc legacy: show passphrase on device 2020-08-21 21:30:15 +02:00
Ondrej Mikle
ff3b10a329
legacy/intermediate_fw: Intermediate firmware for T1 (#1084)
* legacy/intermediate_fw: skeleton FW with RAM shim function

* legacy/intermediate_fw: reboot from RAM

* legacy/intermediate_fw: flash erase from RAM

* legacy/intermediate_fw: port flash erase body from cm3

* legacy/intermediate_fw: erase works with flash unlock

* legacy/intermediate_fw: wait for flash controller ready

* legacy/intermediate_fw: cleanup and add comments

* legacy/intermediate_fw: disable IRQ before reboot

* legacy/intermediate_fw: also erase storage

* legacy/intermediate_fw: style

* legacy/intermediate_fw: dialogs for update bootloader/erase FW

* legacy/intermediate_fw: style

* legacy/intermediate_fw: add bootloader replacement code

* legacy/intermediate_fw: add CI build script for intermediate FW

* legacy/intermediate_fw: call bootloader update

* legacy/intermediate_fw: add bootloader update dependency

* legacy/intermediate_fw: change setup() at start of main

* legacy/intermediate_fw: deduplicate code

* docs: table for MEMORY_PROTECT combinations that work on T1

* legacy/intermediate_fw: deduplicate code

* legacy/intermediate_fw: check if running in privileged mode

* legacy/intermediate_fw: style

* legacy/intermediate_fw: ChangeLog

* legacy/intermediate_fw: make version match latest bootloader included

* legacy/intermediate_fw: style
2020-08-21 14:58:13 +02:00
Pavol Rusnak
503ac8d801 legacy: allow spending coins from Bitcoin paths if the coin ...
has implemented strong replay protection via SIGHASH_FORKID
2020-08-21 11:49:03 +02:00
Pavol Rusnak
5359509483 legacy: refactor check_cointype into a separate function 2020-08-21 11:49:03 +02:00
Pavol Rusnak
fd87c62b68 common/defs: remove coins with no Trezor-compatible wallets 2020-08-19 19:29:18 +02:00
Pavol Rusnak
fd2ddbfb03
core+legacy: expand month names in changelogs 2020-08-05 23:07:11 +02:00
Pavol Rusnak
3fffa9ae68
common/defs: enable XVG 2020-08-05 12:10:52 +02:00
Pavol Rusnak
1eca04b7b2
legacy: update changelog 2020-08-05 12:02:04 +02:00
Pavol Rusnak
568da98199
legacy: refactor path_mismatched function and revert its logic 2020-08-05 11:54:33 +02:00
Andrew Kozlik
5c1f197602 common/protob: Add CancelAuthorization message. 2020-08-04 17:32:44 +02:00
Andrew Kozlik
2c30dd62fc common: Add DoPreauthorized message. 2020-08-04 17:32:44 +02:00
Andrew Kozlik
bbab13f6e7 common/protob: Add AuthorizeCoinJoin message. 2020-08-04 17:32:44 +02:00
Andrew Kozlik
7d07161efe common/fido: Unify application labeling between U2F and FIDO2. 2020-07-30 15:29:54 +02:00
Martin Milata
f4c9d0a040 legacy: rename TxInfo field overwintered to is_zcashlike
For v3 transaction format see:
https://zips.z.cash/zip-0202#transaction-format-version-3
2020-07-30 15:14:18 +02:00
Martin Milata
b8063e882b legacy: drop zcash v3 tx signing support 2020-07-30 15:14:18 +02:00
Andrew Kozlik
38074a4e59
legacy: print inverted question mark for nonprintable characters 2020-07-27 16:29:03 +02:00
Pavol Rusnak
89d701ed08
core+legacy: bump versions (also in changelogs) 2020-07-27 13:59:49 +02:00
Pavol Rusnak
e97413e8c5
legacy: convert old changelogs to new format 2020-07-27 12:13:43 +02:00
Pavol Rusnak
8dacad0782
core/bootloader: update protobuf definitions 2020-07-26 00:00:37 +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
Pavol Rusnak
2b9613c8a0
legacy: add changelog entry 2020-07-09 15:54:42 +02:00
Andrew Kozlik
24bf352577 legacy: Support multiple change-outputs. 2020-07-09 15:51:23 +02:00
matejcik
2c8e5f527b all: rename changelogs to .md for highlighting 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
Andrew Kozlik
533de50588 common/protob: Add GetOwnershipId message. 2020-07-03 11:17:19 +02:00
Andrew Kozlik
956ea9a94f common: Add ownership_proof field to TxInputType. 2020-07-03 11:17:19 +02:00
Andrew Kozlik
c723c78529 common/protob: Add GetOwnershipProof message. 2020-07-03 11:17:19 +02:00
Andrew Kozlik
cc655575c8 common: Add witness field to TxInputType. 2020-07-03 11:17:19 +02:00
Tomas Susanka
3a3e5739b0 core, legacy: update changelogs 2020-07-02 09:09:34 +00:00
Tomas Susanka
ca3dd2bfb9 common: skip deprecated fields during generation; deprecate overwintered field in Zcash 2020-06-30 16:02:21 +02:00
matejcik
e6e3043096 all: implement support for pre-overwinter prevtx (fixes #1030) 2020-06-30 15:19:31 +02:00
Tomas Susanka
e534ae3ad7 legacy, core: rename Features.pin_cached to unlocked and unify 2020-06-19 21:26:36 +02:00
Tomas Susanka
4239e8d551 legacy: set initialized in storage to false if no mnemonic is present 2020-06-19 09:06:30 +02:00
Tomas Susanka
9979af3cd2 changelogs: start using more detailed changelog 2020-06-11 17:43:40 +02:00
Tomas Susanka
56fe5adcfc Merge branch 'release/2020-06' 2020-06-10 06:51:18 +00:00
Tomas Susanka
41966c60db legacy: initialized field in Features is true only if mnemonic is stored 2020-06-05 11:07:01 +02:00
matejcik
6f53ca0ac6 core: rework wait_layout()
The original wait_layout was unreliable, because there are no guarantees
re order of arrival of the respective events. Still, TT's event handling
is basically deterministic, so as long as the host sent its messages
close enough to each other, the order worked out.

This is no longer the case with the introduction of loop.spawn: TT's
behavior is still deterministic, but now ButtonAck is processed *before*
the corresponding wait_layout, so the waiting side waits forever.

In the new process, the host must first register to receive layout
events, and then receives all of them (so the number of calls to
wait_layout must match the number of layout changes).

DebugLinkWatchLayout message must be version-gated, because of an
unfortunate collection of bugs in previous versions wrt unknown message
handling; and this interests us because upgrade-tests are using
wait_layout feature.
2020-06-04 16:18:46 +02:00
matejcik
0600d87c8c common: rename ClearSession to LockDevice, introduce EndSession 2020-06-04 16:18:46 +02:00
Tomas Susanka
8859d103f4 core, legacy: bump versions 2020-06-03 15:39:25 +00:00
Tomas Susanka
e2629eb921 core, legacy: update Changelogs to reflect the release 2020-06-03 15:35:30 +00:00
Tomas Susanka
81553df02f legacy: add ToS dialog to recovery
(cherry picked from commit 28b22cef22)
2020-05-29 05:41:00 +00:00
Tomas Susanka
28b22cef22 legacy: add ToS dialog to recovery 2020-05-28 14:52:56 +02:00
Andrew Kozlik
e6745bce43 legacy/signing: Don't force nJoinSplit to be 0 for prev_tx in overwintered. This was dead code until we started validating prevout amounts. 2020-05-24 14:36:37 +00:00
Andrew Kozlik
386be6ff09 legacy/signing: Check inputs for amount field only when amount is required. 2020-05-24 14:36:37 +00:00
Andrew Kozlik
d34428eeb3 legacy/signing: add checks for version_group_id and branch_id fields 2020-05-24 14:36:37 +00:00
Andrew Kozlik
5aea566eb5 legacy/signing: validate prevout amount in all cases 2020-05-24 14:36:37 +00:00
Tomas Susanka
675ff459db core, legacy: update changelogs 2020-05-22 11:55:55 +00:00
Tomas Susanka
9dfc08ca61 core/bitcoin: drop decred_script_version 2020-05-21 19:14:39 +02:00
Ondřej Vejpustek
ef9eb7b7a4 legacy/stellar: change price format 2020-05-21 16:21:32 +02:00
Tomas Susanka
47f104bceb core, legacy: bump versions 2020-04-24 17:12:20 +00:00
Andrew Kozlik
2e29f7bba6 legacy/u2f: Add bogus app ID used by Firefox to indicate error in U2F. Figure out which error to display based on past U2F_AUTHENTICATE check-only requests on the same channel. 2020-04-24 10:38:41 +02:00
Pavol Rusnak
4b5a84eab7
core+legacy: update changelogs 2020-04-16 14:20:18 +02:00
Tomas Susanka
ae4f927a45 tests: test incorrect script type 2020-03-20 14:19:31 +00:00
Andrew Kozlik
175d708ebc legacy: Drop obsolete check for ANYONECANSPEND segwit outputs. 2020-03-20 14:19:31 +00:00
Tomas Susanka
d0d41c884e legacy: move script type checks to separate functions and unify with core 2020-03-20 14:19:31 +00:00
matejcik
da89a17ce5 all: add checks for prev_hash size 2020-03-20 14:19:31 +00:00
Tomas Susanka
64584e271c legacy, core: add and unify validation checks 2020-03-20 14:19:30 +00:00
Tomas Susanka
71a39bc0d7 legacy: check inputs' and outputs' script types 2020-03-20 14:19:30 +00:00
matejcik
adea7d6b35 all: make timestamp mandatory on timestamp-enabled coins 2020-03-20 14:19:07 +00:00
matejcik
e2035b4972 all: drop Horizen and BIP-115 support [NO BACKPORT] 2020-03-20 14:19:07 +00:00
matejcik
ed464f3d47 all: ensure expiry, timestamp and extra_data are blocked as appropriate 2020-03-20 14:18:27 +00:00
matejcik
27803ee8c1 all: drop overwintered field from transaction 2020-03-20 14:18:27 +00:00
matejcik
c9fd3f77a5 all: add overwintered field to coin specification 2020-03-20 14:18:27 +00:00
Pavol Rusnak
817b922850 all: add extra_data and timestamp fields to coin specification 2020-03-20 14:18:27 +00:00
Tomas Susanka
0903159d9b core, legacy: make sure OPRETURN ouput is not marked as change 2020-03-20 14:17:44 +00:00
Tomas Susanka
a513f7429b legacy: forbid unnecessary fields in OPRETURN output 2020-03-20 14:17:44 +00:00
Andrew Kozlik
b2dc5813fe legacy, tests: Check for invalid PIN. 2020-03-17 11:53:48 +01:00
Tomas Susanka
a63e6fc4ef core+legacy: update changelogs 2020-02-27 13:21:17 +00:00
Pavol Rusnak
ec199b19a9
legacy: use 2 page pagination to show xpubs in multisig get_address 2020-02-27 11:42:52 +00:00
Pavol Rusnak
5c01a9459c
legacy: show xpubs with multisig get_address 2020-02-24 17:36:50 +01:00
matejcik
b916072389 common: restore PassphraseAck.state 2020-02-24 15:15:09 +01:00
Tomas Susanka
f93f6e445b legacy: store multiple sessions/caches at the same time 2020-02-21 14:40:42 +01:00
matejcik
ddee77ecb6 core: add SD clearing via debuglink 2020-02-20 12:51:48 +01:00
Pavol Rusnak
d2bcccf0ae
Merge pull request #847 from trezor/prusnak/bootloader-restart
legacy/bootloader: soft reset after firmware upload
2020-02-19 18:20:49 +01:00