Commit Graph

135 Commits

Author SHA1 Message Date
Jochen Hoenicke 97581928de
Enable Segwit Bech32 addresses
Increase the size of the addresses in protobuf.
Fix layout2.c to handle longer addresses.
Add a field bech32_prefix to coins.h
Adapted the coins-gen script.
Added bech32 support in signing.c and transaction.c
2017-11-05 19:28:07 +01:00
Jochen Hoenicke cf3dc6051c Omit leading space in shortcut in GetFeatures 2017-11-05 19:23:34 +01:00
Jochen Hoenicke 1566631023 Improved backwards compatibility of GetFeatures
Set all CoinType fields except signed_message_header.
Move static assert into the function where it is needed.
2017-11-05 19:23:34 +01:00
Jochen Hoenicke b5fa8a266a New CoinInfo separated from protobuf structures
Having CoinType using the protobuf structures has several disadvantages.
- We always need to change trezor-common if we need a new field (like
  bech32 prefix)
- Every time Trezor initializes it sends all this information out and
  nobody cares.
- The protobuf structures add storage overhead due to their fixed size.

I also removed most of the `has_` fields except for forkid:
- `has_segwit` was merged with segwit
- `has_coin_shortcut` can be replaced by test for NULL if necessary.

The fields were reordered for better padding.
2017-11-05 19:23:34 +01:00
Pavol Rusnak 18d8cb3c56
add project website (trezor.io) to license header 2017-11-05 17:47:23 +01:00
Pavol Rusnak b56da1e4b4
layout: show path for CoSi commit/sign if following SLIP-0018 2017-10-09 21:16:39 +02:00
Saleem Rashid 12c541f872 nem2: Handle Importance Transfer transactions 2017-10-07 22:07:56 +01:00
Pavol Rusnak 83db3c098f
fsm: implement CoSi messages 2017-10-03 13:26:38 +02:00
Saleem Rashid 1d83eee3b3 nem2: Canonicalize mosaics in transfer transactions
NIS deserializes then serializes transactions in order to verify the
signature. This means that transactions must be serialized canonically,
otherwise the signature will not match. Due to [1], mosaics are sorted
and deduplicated in transfer transactions.

[1]: 4231550ddf
2017-10-01 13:24:13 +01:00
Saleem Rashid 2aeeb3f978 nem2: Handle Aggregate Modification transactions 2017-10-01 13:24:13 +01:00
Saleem Rashid a10e131ecd nem2: Handle Mosaic Supply Change transactions 2017-10-01 13:24:13 +01:00
Saleem Rashid 17e33d5517 nem2: Handle Mosaic Definition Creation transactions 2017-10-01 13:24:13 +01:00
Saleem Rashid 4a55dd89e6 nem2: Handle Provision Namespace transactions 2017-10-01 13:24:13 +01:00
Saleem Rashid b559e5fb6d fsm: Add NEM_CHECK_PARAM macros 2017-10-01 13:24:13 +01:00
Saleem Rashid 563723a55f nem2: Handle multisig transactions 2017-10-01 13:24:13 +01:00
Saleem Rashid 19033a459d fsm: Add NEMSignTx 2017-10-01 13:24:13 +01:00
Saleem Rashid 3057f78837 fsm: Add NEMGetAddress 2017-10-01 13:24:13 +01:00
Pavol Rusnak 07f6e495b7
fsm: fix race condition in GetAddress 2017-08-23 16:36:38 +02:00
Jochen Hoenicke 98e617d874
startup: use custom reset_handler
+ group confidential data in one place
+ zero all SRAM where needed
2017-08-16 13:52:01 +02:00
Pavol Rusnak a01ba51a2a
storage: copy only required bytes from old storage, bump storage version
+ backup_device: ask for pin, always use correct number of words
2017-08-16 13:11:31 +02:00
Pavol Rusnak c778d7b9c3
storage: wipe storage after 15 wrong pins 2017-07-31 02:26:28 +02:00
Saleem Rashid e33e1ec0b1 fsm: Do not wipe msg_resp in DebugLinkGetState 2017-07-30 18:00:01 +02:00
Pavol Rusnak b5f9a5738f
segwit support for SignMessage, VerifyMessage 2017-07-25 19:32:20 +02:00
Pavol Rusnak 3d7d0f0734
use C99 for loop where possible 2017-07-23 22:20:51 +02:00
mruddy 1c55ec0fb3 fix hangs due to stale rng status (#195) 2017-07-19 11:54:26 +02:00
Pavol Rusnak cf04279774
implement Storage.flags and related stuff 2017-07-17 18:36:09 +02:00
Pavol Rusnak b0ac3a2af1
add EthereumSignMessage/EthereumVerifyMessage 2017-07-12 17:51:34 +02:00
Jochen Hoenicke c5e927fac2 Ethereum Sign/Verify Message
Implements issue trezor/trezor-mcu#163.
2017-07-12 17:38:30 +02:00
Pavol Rusnak 5b66c0b956
refactor Address dialog (QR code on left button click), use checksum for Ethereum addresses 2017-07-11 21:31:40 +02:00
Pavol Rusnak 498d689f98
fix small issue with GetAddress for non-segwit coins 2017-07-03 18:23:51 +02:00
Pavol Rusnak 8fa3ce7e14
reset: distinguish between separated call and joined call, mark backup as done only when performed completely 2017-06-29 14:14:20 +02:00
Pavol Rusnak b65068c159
reset: add Features.needs_backup 2017-06-29 14:14:20 +02:00
Pavol Rusnak 9298e4d9e3
reset: make backup workflow independent of initialization 2017-06-29 14:14:20 +02:00
Pavol Rusnak 91a1b6c4bc
drop EstimateTxSize (and TxSize) 2017-06-28 18:49:44 +02:00
Roman Zeyde db7915e946
Allow testing recovery with an initialized device
This would allow safe mnemonic validation by using a dry-run flag.
2017-06-23 16:39:49 +02:00
Pavol Rusnak c6fd70b471
gettext: mark localizable strings as proof-of-concept 2017-06-18 22:47:32 +02:00
Pavol Rusnak 00f6312a81
rename failures, unify strings where possible 2017-06-18 21:19:21 +02:00
Pavol Rusnak 4343d0eaeb
show progressbar layout in GetAddress 2017-05-05 15:45:58 +02:00
Pavol Rusnak b1995bb8d1
remove segwit warning, don't enable segwit on coins that don't have segwit=true in definition 2017-05-04 18:54:54 +02:00
Pavol Rusnak 8e017526ab
Merge branch 'master' into segwit 2017-05-03 17:16:30 +02:00
Pavol Rusnak 258d3eaddd
GetPublicKey: use Bitcoin as default coin if not provided
disable SimpleSignTx and Firmware messages
update submodules
2017-04-21 14:08:09 +02:00
Peter Banik d4cc4a48b8 Added altcoin support to GetPublicKey (#161) 2017-04-21 12:51:13 +02:00
Pavol Rusnak dcceec806d
fix call to protectButton while showing segwit warning 2017-04-11 14:05:19 +02:00
Jochen Hoenicke 99fc6d31d1
[refactor] Use compute_address in msgGetAddress. 2017-03-29 20:59:23 +02:00
Jochen Hoenicke 8e84a6716c Merge master into segwit 2017-01-06 16:55:12 +01:00
Jochen Hoenicke e9eaad2fcf
Segwit: Show multisig segwit address
changed layout for very large addresses.
2017-01-06 16:22:01 +01:00
Jochen Hoenicke f9a203431e
Display SegWit address on Trezor 2017-01-04 18:56:08 +01:00
Pavol Rusnak 1763a5b647
use new hdnode_private_ckd_cached API 2016-12-12 12:17:48 +01:00
Jochen Hoenicke acfdb714ff
New Matrix-based recovery 2016-11-23 13:21:18 +01:00
Pavol Rusnak c4d144a82e
extract CHECK_PARAM 2016-11-22 22:04:09 +01:00