Jochen Hoenicke
a8bc3cb6bd
Remove add_hash_type fields.
...
The 4 byte hash_type/forkid is part of the signed message, but not
part of the transaction. Instead of hacking it into the transaction,
add it after the transaction when computing the signature.
2017-11-13 22:20:08 +01:00
Saleem Rashid
d39e4be1c8
signing: Use force_bip143 instead of has_forkid
2017-11-13 22:20:08 +01:00
Saleem Rashid
c6246b5fba
coins: Add force_bip143
2017-11-13 22:20:08 +01:00
Saleem Rashid
b6f11c9f93
signing: Add signing_hash_type function
...
This also enables SIGHASH_FORKID for SegWit
2017-11-13 22:20:08 +01:00
Pavol Rusnak
892bb8501a
fsm: ignore case for NEM addresses
2017-11-05 19:30:33 +01:00
Jochen Hoenicke
600c61b3dc
Updated trezor-crypto.
2017-11-05 19:28:07 +01:00
Jochen Hoenicke
bbf6b1b097
Implemented VerifyMessage for bech32
2017-11-05 19:28:07 +01:00
Jochen Hoenicke
0f50b816e6
Wrap long addresses in three lines
2017-11-05 19:28:07 +01:00
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
Jochen Hoenicke
a24e8a0484
Remove magic constants
...
Use defines for wallet depth and change chain. Updated some comments
to clarify what is checked.
2017-11-03 19:12:41 +01:00
Jochen Hoenicke
4805f27e8c
Fix checking change address
...
There was a signed/unsigned problem: size_t is unsigned, but we use
-1 to indicate mismatch. The problem was that when checking the input
address path, it still did this unintentionally when a mismatch was
detected, forbidding to sign with mismatched inputs, even when there
is no change address.
We now use 1 for mismatch. Also we don't allow change address anymore
if the inputs have a path of length 1. This simplifies the code a bit.
2017-11-03 19:12:41 +01:00
Jochen Hoenicke
5e98b0ffd6
Added U2F entry for Bitfinex ( #237 )
2017-11-03 18:57:50 +01:00
Pavol Rusnak
fa02dec704
layout2: use macro for layoutSwipe
2017-11-03 18:56:55 +01:00
Saleem Rashid
eebd53fd09
layout2: Disable oledSwipeLeft with DEBUG_LINK ( #239 )
...
This greatly reduces time for device tests
2017-11-03 18:54:02 +01:00
Pavol Rusnak
6edb97133b
build: use recent protobuf in docker
2017-10-29 21:50:38 +01:00
Saleem Rashid
d006ef6bf7
Makefile.include: Generate dependency files before build ( #225 )
...
* Makefile.include: Generate .d files before build
* Makefile.include: Generate .small.d files before build
2017-10-10 20:54:21 +02:00
Pavol Rusnak
5831e53854
layout2: refactor and fix layoutCosiCommitSign
2017-10-09 23:02:42 +02:00
Pavol Rusnak
ca30449d07
build: add rebuild dep
2017-10-09 21:23:18 +02:00
Pavol Rusnak
b56da1e4b4
layout: show path for CoSi commit/sign if following SLIP-0018
2017-10-09 21:16:39 +02:00
Pavol Rusnak
15eefd5646
update submodules
2017-10-09 21:16:39 +02:00
Pavol Rusnak
08e0a31b62
Merge pull request #224 from saleemrashid/nem-mosaics-build-time
...
Generate nem_mosaics.[ch] at build time
2017-10-09 21:16:00 +02:00
Saleem Rashid
85da1ac671
travis.yml: Download protoc from GitHub
2017-10-09 18:12:46 +01:00
Saleem Rashid
296c120528
nem_mosaics: Refactor and use Python 2
2017-10-09 18:06:02 +01:00
Saleem Rashid
128742d113
nem2: Update copyright header for consistency
2017-10-09 17:49:13 +01:00
Saleem Rashid
c87c16adc9
firmware: Generate nem_mosaics.[ch] at build time
2017-10-09 17:48:30 +01:00
Saleem Rashid
a90acf8b62
nem_mosaics: Remove generated files
2017-10-09 17:47:56 +01:00
Pavol Rusnak
4b87e50e1c
Merge pull request #223 from saleemrashid/nem-importance-transfer
...
NEM Importance Transfer Transaction Support
2017-10-09 00:02:34 +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
Pavol Rusnak
a856542b75
Merge pull request #196 from saleemrashid/nem
...
NEM Support
2017-10-03 12:12:06 +02:00
Saleem Rashid
5b0c0b1bfd
nem_mosaics: Add PacNEM
2017-10-01 13:24:13 +01:00
Saleem Rashid
d0e89db9fa
nem_mosaics: Add Breeze Token
2017-10-01 13:24:13 +01: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
1f20625bbc
nem2: Refactor for new bn_format
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
327736ca96
nem_mosaics: Whitelist networks
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
b0394622a3
nem2: Warn on unknown mosaics
2017-10-01 13:24:13 +01:00
Saleem Rashid
3a303087ae
nem_mosaics: Add DIM TOKEN
2017-10-01 13:24:13 +01:00
Saleem Rashid
9f41ee39ba
nem_mosaics: Add DIMCOIN
2017-10-01 13:24:13 +01:00
Saleem Rashid
8dbd6182fb
nem_mosaics: Initial commit
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