1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-27 01:48:17 +00:00
Commit Graph

303 Commits

Author SHA1 Message Date
matejcik
67b879ac07 python: restructure package
This deserves some explanation.

* tests were moved to separate python/tests subdir
* trezorlib was moved to python/src, so that it does not exist on
PYTHONPATH by default
(see https://blog.ionelmc.ro/2014/05/25/python-packaging/ for details)
* everything was updated to understand the new structure
* trezorctl was changed from a top-level executable script to a module
`trezorlib.cli.trezorctl` and is installed via the entry_points
mechanism.
This should make it work normally on Windows!

The package should be installable as normal through pip and pipenv, no
changes are needed on that side.

The source package from pypi will include unit tests. (Device tests were
completely moved out). Wheel will exclude them, because users don't need
them.
That shrinks the .whl from 520 kB to 270 - nice!

python: reorganize remaining unit tests
2019-08-12 12:57:25 +02:00
matejcik
c683251d7b tests: add new test location to style checks 2019-08-12 12:57:25 +02:00
matejcik
aa9860fdb7
protobuf: add enum value validation (#363) 2019-08-02 19:06:01 +02:00
Ciny
90b91a7fb5 #28 - binance implementation (#189)
- placeOrder, cancelOrder, transfer messages
- cli support
- unit and device tests
2019-07-31 17:02:41 +02:00
Pavol Rusnak
bf3c257f96
core/messages: don't generate unused messages 2019-07-01 15:52:36 +02:00
matejcik
f8446c3e00 build: centralize pb2py usage 2019-05-17 15:12:32 +02:00
matejcik
0df2ef10a1 ci: ugly bashism to make clang-format-check fail properly 2019-05-14 12:00:59 +02:00
matejcik
f8a1f47e67 ci: make clang-format-check fail if clang-format does not exist 2019-05-14 11:43:39 +02:00
Pavol Rusnak
0ae10a1924
legacy+storage: fix style checks 2019-05-04 22:42:40 +02:00
Pavol Rusnak
6e6ff78ce0
core: re-enable frozen modules in the emulator build 2019-05-01 13:41:23 +02:00
Tomas Susanka
18482a9c37 storage: style 2019-04-25 16:50:56 +02:00
Pavol Rusnak
8b06598474
core+legacy: rework code styling checks 2019-04-18 17:40:55 +02:00
matejcik
e5670856a2 MONOREPO CREATE FROM trezor-core 2019-04-15 19:14:40 +02:00
Pavol Rusnak
fb8d6fe820
tools: add hid-bridge by Ondrej Vejpustek 2019-03-28 19:16:44 +01:00
Pavol Rusnak
bfcba533b6
tools: don't generate messages unused in the current codebase 2019-03-12 14:49:51 +01:00
Pavol Rusnak
5560a35af7
tools: fix keyctl-proxy 2019-02-21 16:53:01 +01:00
Dusan Klinec
6724e4e409
xmr: master merging commit
templates: build
style: correct math in comment
[260130c1] xmr: show address fix
[abd27e6c] xmr: reorganize module structure
[cd9e5a5d] xmr: simplify layout code
[a5b56f17] xmr: monero.crypto test fix
[60bc30ec] xmr: minor fixes
[f82bd9c0] xmr: use trezor.utils.ensure
[adf119ac] xmr: get rid of xmr.common module
[3531a42f] pipenv: temporary fix attempt for travis

- until pipenv bug is resolved
[d172f86f] xmr: protob messages refactored
[e83085ea] trezor-common version bump & messages regenerated

xmr: mlsag_hasher simplified
[feb5f1c6] xmr: simplify key_image_sync workflow
[d4cb0084] xmr: tiny note in README and typo
[62411cde] xmr: readme updates
[ff15b46e] xmr: rename and order mlsag functions
[3fb57dab] xmr: mlsag notes
[c27ae90b] xmr: output index check added in step6
[973c457b] xmr: grouping is mandatory
[684c7e19] xmr: range sig grouping check added
[012ca766] xmr: small refactor in borromean range proof
[1ba72b65] xmr: move range signatures to seperate file; rename mlsag2 to mlsag
[a89f3ab0] xmr: fix wrong annotation in modtrezorcrypto
[8303b42f] xmr: state's use_simple_rct and use_bulletproof modified to enums
[276712a9] xmr: re-export most of functions in apps.monero.xmr.crypto
[74165457] xmr: out_pk_masks changed to out_pk_commitments
[1e186727] xmr: state comments
[3c69a2e1] xmr: TrezorTxPrefixHashNotMatchingError note removed

only concerns multisig
[5af0feae] xmr: master merging commit

xmr: step 10 review
[d8e99375] xmr: step 09 review
[a510150d] travis: workaround form 6a0ea22b6eb3bdc9bce62d7c88fb8841ef8fdb0c
[03d27115] mocks: regenerate
[bd24bb35] mocks: add support for entering the global scope
[f75c1902] mocks: regenerate
[bce85968] modtrezorcrypto: define mock package
[7c077521] mocks: support package definition
[b3f1017b] xmr: step 05 and 06 masks and range proofs review

Masks are now always generated in step 5 and stored in state.

Range proofs were reviewed only in a high-level manner and will be
reviewed later.
[67f391cd] xmr: step 08 review
[673bf01f] xmr: steps 04, 05, 06 (almost) and 07 review

_range_proof in step 06 is still to be reviewed
[24c52517] xmr: simplify serialization, remove Archive
[896cdebf] xmr: redundant exception removed
[cb3813aa] xmr: serializer simplified
[471213b4] xmr: serializer flake8 fix
[9d4df17f] xmr: aescbc not needed
[52dd8b3b] xmr: serializer - erefs kicked out
[9e3be78f] xmr: sign cleanup, comments

- state cleanup, comments added, unused code removed
[164a7d6a] xmr: sign step 09 - fix in_memory artifact, dead branch
[8fa4066d] xmr: sign step 03 - permutation length check added
[55a593aa] xmr: multisig removed from protocol and functions
[6470678d] xmr: black styling
[02664401] xmr: step 03 review
[daf7b7d6] xmr: step 02 review
xmr: adding agent tests to travis
[c752866f] xmr: unused imports removed
[85115fd9] xmr: serializer test fixed

- removed unsupported messages after serialization simplification
[60874751] xmr: sign step 06 - comment on bulletproof hashing

- hash_bp(bp) != hash(serialize(bp)) because hash does not contain array lengths
[4abb5473] xmr: sign protocol - multisig logic removed
[813cb3a0] xmr: lite protocol removed

- backup left in xmr-total-full-with-lite branch
[e5f5b5bd] xmr: serialization slimming

- base types reduced, not needed for now
- some int serialization methods not used now
[fb515aaf] xmr: serialization - archive simplified

- simple parameter passing, no kwargs
- unused methods removed
- reader/writer passing removed for archive methods
[ec4c4adb] xmr: KeccakXmrArchive simplified, no archive used

- getting rid of container_size. We dont use containers with fixed size so this special case can be abandoned.
- KeccakXmrArchive is lighweight without need to touch main serialization
[90065bd4] xmr: serialization - serialize_archive removed

- custom serialization routine is not required at this moment
[b98c2f89] xmr: extra serialization refactored, manual serialization

- extra is serialized manually to reduce serialization overhead
- extra contains simple structures now:
  - payment ID = already serialized manually
  - tx pub key = easy to serialize manually
  - tx additional pub keys = serialized manually with little effort, more efficient memory usage
[8ce28a54] xmr: state 6 - provided tx keys removed

- needed only in the multisig scenario which is pruned now
[8d827f46] xmr: PreMlsagHasher pseudo out hashing fix
[49e552da] xmr: redundant import removed
[4199943d] xmr: KeccakXmrArchive simplified
[69bbf5fa] xmr: PreMlsagHasher - KeyV import removed, comment added
[9a194fa2] xmr: step7 - manual hashing of Extra
[d8a09283] xmr: PreMlsagHasher state load/save removed

- not needed, state not serialized anymore
[d5f43fa4] xmr: serialize reimport removed

- complex types are not surviving protocol boundary anymore, no need to fix hierarchy problems due to unimporting
[3b045612] xmr: serialize - TupleType removed
[b9a56981] xmr: serialization schemes simplified
[a59dbb8d] xmr: HashWrapper removed
[d0d1f05b] xmr: step 01 cleanup and comments
[8f7a7782] xmr: isort, black, flake8 fixes
[14265eb2] xmr: getting rid of CtKey from the state

- only lightweight objects are kept in the state. CtKey is import heavy object. Each set_out call locally imports a new own version of the Ctkey which causes a memory leak.
[c0cfc203] xmr: set_out minor function call fix
[c11c4686] xmr: sign_tx unimport optimization to reduce fragmentation
[df0a1dfc] xmr: range_sig allocation reordering, large chunks first
[63cddd5f] xmr: remove misc.StdObj
[8c8e3f33] xmr: proper memory usage in workflow
[9be1e0ac] xmr: typos and renames
[87f718b5] xmr: back to flat workflow
[64751339] xmr: refactor builder to seperate steps

- lot of work to be done, but the general idea will probably stay
- the messages workflow works, but the signed tx was not accepted by
daemon, so there is a bug somewhere
- additional cleanup/refactoring is defintely needed
[14b0a851] xmr: iface modified to layout
[27d568e1] xmr: extmod refactoring

- *_into removed, replaced by generic methods
- point_add, point_sub added
- code cleanup (+1 squashed commit)
Squashed commits:
[fbe39496] monero support added

Squashed commits:
xmr: hmac/enc keys removed from builder
[41028dff] xmr: unused function removed
[358573e3] xmr: PR comments fixes
[4abf9dc9] xmr: test fixes after refactoring
[192785ad] template rebuilt
[57a1f25e] xmr: wrapper protocol messages removed
[6f40ce17] xmr: trezor-common version bump & sync
[03e71de2] xmr: check input permutation
[6fc8b0ec] xmr: code cleanup, refactoring
[85ecc151] xmr: crypto code cleanup
[20b4113c] xmr: chunked bulletproof vectors

- workaround for the heap fragmentation problems
[66786f9d] tools: enable to reset class level indentation for mocks gen
[dc6f84a9] xmr: extmod-monero comments added, for mocks
[b1d4ab11] xmr: code cleanup
[447a8625] xmr: tsx confirmation raises exception on cancellation
[00dd8f6c] xmr: protocol optimizations removed, flow unified

- in_memory optimization stored tx.vin parts in the memory which enabled to skip roundtrips with permutations and hash_vini. Optimizations was removed so the protocol flow is unified among inputs, independent of the tx specs

- many_inputs: optimization stored spending keys for UTXO in memory, now it is offloaded in the encrypted form.
[ea69c7ad] vendor: trezor-common version bump & pb sync
[5d81c2a8] xmr: manual BP serialization

- more memory effective as the memory is critical in the range proof section
[d64bda7c] xmr: range_proof C-impl deprecated

- using now partitioned implementation in Python, which is also quite fast and easier to maintain due to allocations and buffers.
[18604e0f] xmr: borromean range sig generated by partitions

- overcomes heap fragmentation problem
[65a5116b] xmr: comments removed
[ca2bd0cc] xmr: auto-generated intelliJ param comments removed
[a75ef32e] xmr: code cleanup, heap fragmentations fixes

Squashed commits:
[d2ac2eb6] xmr: addr cleanup
[7e4c1a9c] xmr: code cleanup, heap fragmentations fixes
[93af8afb] xmr: refactoring, typing, comments
[28df8662] xmr: comment fix
[8b4f4d9c] xmr: serializer test fix (+34 squashed commits)

Squashed commits:
[823ee192] xmr: crypto comment cleanup
[6debfb6b] xmr: ring_ct cleanup
[759f52bf] xmr: tsx signer code style, hintins
[0b175bc9] xmr: tsx builder external state removed
[fee4a5ad] xmr: builder state fix
[92736fa7] xmr: sign_tx unimport
[a570ecb9] xmr: misc code cleanup
[4a496bb7] xmr: hash wrapper not needed in writer
[fefdb834] xmr: signer serialization improved
[8fa6eec9] xmr: signer mem clean
[66c53fe5] xmr: isort
[6996bd90] xmr: black
[59915a85] xmr: tsx input serialization refactored
[326af131] xmr: msg dump with prefix
[6e39801d] xmr: manual serialization of tx prefix
[9e5e047a] xmr: manual serialization improvements
[d07cee60] xmr: manual serialization of txout elements
[8d56c80e] xmr: TxOut custom serialization optimized II
[c19ba122] xmr: TxOut custom serialization optimized
[ce0d9b0b] xmr: TxOut manual serialization
[44e38342] xmr: sing_tx unimport
[61ac61be] xmr: lite log trace rename
[176b4275] xmr: de-async overhaul
[89ae3bad] xmr: diag style
[5ccb2fbb] xmr: wrappers cleanup
[aa86fb19] xmr: py3 only inheritance
[8031b1b0] xmr: builder, log_trace -> mem_trace for clarity
[25bf70d7] xmr: debugging logging only in debug mode
[c7c8d3c8] xmr: iface cleanup
[b0373396] xmr: lite debug only
[b1f6ce04] xmr: diag only in debug
[de7d718b] xmr: tsx counter removed
[76729beb] xmr: tsx_sign removed
[c6e6ffa8] Merge commit 'ba500bf4ec1ef9cd953bdf5a47888c5226db8d0b' into xmr
[ee97ef9f] xmr: minor code cleanup

xmr: black
xmr: minor code cleanup
[bae3ecac] xmr: bp comments
[5e812e6f] xmr: sign - mem_trace, pydoc
[7216a8c6] xmr: pydoc removed
[e87365f4] xmr: layout cleanup
[8d21d82e] xmr: redundant constructors removed
[9aa82bed] xmr: redundant comments removed
[9b926d6c] xmr: preludes removed
[bc9e77f1] xmr: readme update
[cf62047a] xmr: aggregated bulletproofs + rsig offloading

xmr: change idx fix
xmr: iface refactoring, integrated address (+5 squashed commits)
xmr: layout pagination refactoring
xmr: addr - integrated address
pb: sync
vendor: trezor-common version bump
xmr: style fixes
xmr: handle sweep tsx correctly

- handle dummy change address correctly
xmr: integrated address generation
build: fix after trezor-crypto version bump
xmr: new protocol dispatch handlers
xmr: slip0010
[43cf4c3c] xmr: comment fix
xmr: extmod pointer aritm fix
xmr: _into api unified, result is the first parameter
xmr: bp cleanup
xmr: scalar nullity test fix
xmr: msg registration improved

- lite protocol optional
- diag protocol optional
xmr: unused imports (+33 squashed commits)
[b4d045ae] xmr: bp - noqa flake8 false positive
[2c79d4be] xmr: isort
[8b9d2835] xmr: code cleanup
[eb7496e9] xmr: iface - shorter timeouts for faster tests
[59520b63] xmr: ringct comment
[6b16088e] xmr: signer - comment fixes
[a08958e2] xmr: simple and bulletproof condition fix
[4e0289a9] vendor: trezor-common version bump
[de472e5a] xmr: black
[234d2249] xmr: lightening, fixes, KeccakXmrArchive

- builder keys
- unload mods before memory intensive operation
[abdec665] xmr: sign_tx logging
[989d8687] xmr: serialize lightening
[7d61f056] xmr: tsx sign refactoring, lightening

- wake_up state restore
- minimize import weight
[3a0daa8b] xmr: serialize thinning
[65ad1d2e] xmr: serialize thinning
[501221d5] xmr: bp - thinning
[3d980377] xmr: bp - generalization with proof_v8
[10d11d60] xmr: extended rsig - offloading protocol
[a8f5caa2] xmr: crypto - rsig params fix
[f5e130b8] xmr: crypto - inv8
[dbc3f9d8] xmr: rsig pb sync
[5748a13e] xmr: bp - data for bp4 fix (+18 squashed commits)

Squashed commits:
[5bcd54e3] xmr: bp - black
[e93e97dd] xmr: bp refactoring, large memory optimizations

- memoryview in __getitem__ requires new memory allocation so the refactored version uses to(), read() methods that can operate directly on buffers without need to create memory views.
[c30745ae] xmr: bp - black
[f5c40699] xmr: bp - tests extended
[8dae75de] xmr: bp - get_exponent optim
[3e59ff80] xmr: bp - precomputations for 4 statements
[d1d2e29c] xmr: bp - gc.collect
[1bb6b5ba] xmr: bp - optimizations, streamlining
[2a2b0cb7] xmr: bp - verification in log(MN) memory for 1 proof

- not allocating MN vectors
- sequential multiexec added for memory efficient verification
- bulletproofs: maintain -z4, -z5, and -y0 to avoid subtractions [8276d25]
- bulletproofs: merge multiexps as per sarang's new python code [acd64d2b]
[75aa7dee] xmr: bp - memory optimization
[a10d05a9] xmr: bp - deterministic mask generation init
[5060d6a7] xmr: bp optimizations
[dd69eb1b] xmr: bp - black
[19f0f64b] xmr: bp - optimizations, power key vector
[2ba63f8c] xmr: bp - minor cleanup, optimizations, scalarmultH
[31c9ca2d] xmr: bp - mem clean
[3fc2c793] xmr: bp - memory save
[5b16c9cc] bp: black
[f1040c97] xmr: crypto - memory leak fix
[ff863510] xmr: iface - flake
[6ebf69c2] xmr: lite - flake8, black
[eee55d62] xmr: bp - memory diag
[2767009b] xmr: bulletproofs upgrade, mainnet version, cleaning
[be6ebbd5] xmr: lite protocol
[d603e96d] xmr: pb sync
[5da15da9] vendor: trezor-common fix
[0373b97e] xmr: iface - output confirmation split, subaddr fix
[2cf32176] xmr: monero - subaddress fixed for index (0, 0)
[3bb8f08b] xmr: enc.aescbc added - for lite protocol (+1 squashed commit)
Squashed commits:
[011dbaab] TMP: trezor-common on master, crypto on ph4

- trezor-crypto on ph4r04 fork as it has all required stuff
- Lite protocol not merged in master, thus does not work in the PR
[795b34e1] xmr: get_address fix
[2d39c90c] xmr: bp - import fix (squashed commit)

Squashed commits:
[2d5c6cee] extmod: monero - reduce32 and ge25519_norm removed (squashed commit)

- not needed in trezor-core (+4 squashed commits)

Squashed commits:
[90e6b5c5] xmr: bp optimization
[4fda0d22] xmr: redundant ge_ functions removed
[68903767] xmr: crypto - sc_reduce32 not needed
[c8a6c807] xmr: test for inversion added (+12 squashed commits)

Squashed commits:
[378928db] xmr: adapting to new trezor-crypto
[8f4ff8c1] protob sync
[82dff70a] vendor: trezor-common version bump
[fabc67b3] extmod: monero - inversion mod curve order optimized a bit
[4f29fe4c] xmr: import fix
[f6f8e300] xmr: bp - code cleanup
[d54b4f3b] xmr: bp - memory cleaning
[1065abc3] xmr: tsx_signer - bulletproofs fixes
[9f8a700f] xmr: bp key vector iterator fix
[49c25977] xmr.serialize: bulletproof fix
[1ee77378] xmr: monero - format
[cf0a7104] xmr: bp last mask fix (+20 squashed commits)

Squashed commits:
[fa1c3623] xmr: black
[3f3e31f3] xmr: bulletproofs added to signer
[d23d9284] xmr: protocol.tsx_sign_builder - logger collects
[a28eb55f] xmr: bp - memory optimizations
[d2fcb23a] xmr: tests for bulletproofs added
[82eef146] xmr: bp - gc (+14 squashed commits)
Squashed commits:
[4cf70d97] xmr: bp - gc
[42877b05] xmr: bp - minor memory optimization
[2c612e45] xmr: bp - use sc_inv_into
[d7e9dab4] xmr: bp - KeyVEval fix
[1523f400] xmr: bp - blacked
[b264a65b] xmr: bp - KeyVEval - caching current element, avoid allocations
[83ba7a65] xmr: bp - memory view optimized
[b517906c] xmr: bp - gc() during inversion
[92d37c88] xmr: bp - gc.collect() after expensive inversion
[e7fad558] xmr: bp - hashing memory optimization
[4c278152] xmr: bp - deterministic masks optimization, prove_s1 optim
[cbf74a70] xmr: bp - detect which modular inversion is usable
[8ea1ec43] xmr: better memory tracing for bulletproofs
[2f4dd552] xmr: bulletproofs added
[1928e2d3] xmr: crypto - sc_inv_into added (+2 squashed commits)
Squashed commits:
[f895fa6e] xmr: crypto - hash to existing buffer
[b76c6b09] xmr: crypto - in-place crypto functions added

- required for Bulletproof to minimize the heap fragmentation
[cab4366e] extmod: monero - modular inversion mod curve order added (+2 squashed commits)
Squashed commits:
[52a6e487] extmod: monero - hash into buffer added
[695a3827] extmod: monero module - muladd256_modm added

- required for Bulletproof
[3f4498d7] xmr: crypto tests added

- basic unit tests for crypto, tests monero module and underlying trezor-crypto + basic address manipulation
[820d012d] pb sync
[49eeddd1] vendor: trezor-common version bump
[30382440] xmr: crypto - point norm not needed
[89701c41] tests: xmr - serializer tests added
[bfee46db] tests: support async unit tests, assertListEqual added
[55c14487] xmr: serialize - serialization logic cleaned, refactored
[4b771638] xmr: simplification, do not ask to confirm change tx output

- change address checked to match main address in the builder
[f334d8ad] xmr: protocol: simplification - require change address to equal the main address
[1a3416eb] xmr: unpack256_modm_noreduce added

- 32B array to integer mod curve order, without modular reduction after conversion
- required for bulletproofs
[1c94b5d4] xmr: readme added
[3cc9f9fa] extmod/monero: mul256_modm added, required for BP
[5cf77a4c] xmr: monero support added [for review]

depends on PRs:

https://github.com/trezor/trezor-crypto/pull/162
https://github.com/trezor/trezor-core/pull/286
2018-10-25 14:04:50 +02:00
Dusan Klinec
ff387ba716 build_mocks fix2 2018-10-02 16:50:52 +02:00
Pavol Rusnak
066d4b4e9a
tools: use env where possible 2018-09-30 15:42:58 +02:00
matejcik
75c14433de templates: make diff louder 2018-08-29 12:04:37 +02:00
matejcik
348b99b8dc build: generate code with Mako templates 2018-08-29 12:04:37 +02:00
Pavol Rusnak
3a2c1eecdb
embed/extmod/modtrezorui: add MONO_BOLD font 2018-08-16 20:59:24 +02:00
Pavol Rusnak
10396777b8
tools: run black and flake8 on tools/ 2018-07-31 11:35:09 +02:00
Pavol Rusnak
fecc6e53a0
tools: update tools to generate clang-format compatible output 2018-07-18 12:17:51 +02:00
Pavol Rusnak
7bf30ccb37
style: add cstyle target to Makefile + clang-format config, don't enforce for now 2018-07-17 16:54:37 +02:00
Pavol Rusnak
324d82507e
vendor: update trezor-common 2018-07-16 15:10:50 +02:00
Pavol Rusnak
28455a8789
tools: add fmt:off to res_collect 2018-07-10 13:46:49 +02:00
Yura Pakhuchiy
7db1061123 Add .curve_name and Groestlcoin to coininfo.py 2018-07-09 21:30:10 +02:00
Pavol Rusnak
13c659c202
vendor: update trezor-common, regenerate messages 2018-07-04 17:13:46 +02:00
Pavol Rusnak
ac5e3f200a
src: rename wire_types to MessageType, drop copy in tools/build_protobuf 2018-07-02 20:40:51 +02:00
matejcik
2091ae97bf tools: use pb2py from trezor-common 2018-07-02 20:19:16 +02:00
Pavol Rusnak
4b58162b54
vendor: update trezor-common, enable Zencash 2018-06-28 14:15:28 +02:00
Pavol Rusnak
de2178a1e9
tools: add more verbose output to keyctl-coordinator 2018-06-25 15:06:16 +02:00
Jan Pochyla
fd35b4c5c9 coins: add slip44 2018-06-21 14:00:29 +02:00
Pavol Rusnak
e7b761e66f
embed: refactor sector_count constants 2018-06-20 14:54:15 +02:00
Pavol Rusnak
c7a7537ffe
tools: update keyctl-proxy to work with new python-trezor 2018-06-19 16:43:00 +02:00
Pavol Rusnak
ad1e0e81b2
src/apps/ethereum: refactor networks module 2018-06-11 18:03:38 +02:00
Tomas Susanka
3422474811 nem: mosaics definitions are generated from trezor-common 2018-06-06 17:24:07 +02:00
Pavol Rusnak
dfd02821af
src/apps/wallet: add support for zcash overwinter 2018-06-05 16:04:23 +02:00
Pavol Rusnak
d6717b59cc
vendor: update trezor-common; add version_group_id flag (for zcash overwintered tx) 2018-06-05 11:16:46 +02:00
Pavol Rusnak
6433862a11
coins: update how coins are being generated from trezor-common 2018-05-30 11:42:18 +02:00
matejcik
038e76071c tools: update keyctl and friends to use new cosi functions 2018-05-28 18:00:24 +02:00
Pavol Rusnak
d1800e0256
src/apps/common: refactor coins.py into coins.py and coininfo.py 2018-05-28 12:18:54 +02:00
Pavol Rusnak
f2f3d39cf1
fix style 2018-05-24 16:04:18 +02:00
matejcik
c6ac4f2200
protobuf: drop kwargs from constructors 2018-05-24 15:41:07 +02:00
matejcik
b502169bae
protobuf: drop const() markers as they are currently useless 2018-05-24 15:41:07 +02:00
matejcik
2c70ac3a2f
protobuf: only import list when needed 2018-05-24 15:41:07 +02:00
matejcik
389f1418ed
protobuf: drop Optional markers (relying on implicit optional)
and add a conditional import for List
2018-05-24 15:41:07 +02:00
matejcik
efa0f60493
protobuf: use trezor-common submodule to generate messages 2018-05-24 15:41:07 +02:00
matejcik
fb318fb69b
tools: update build_protobuf and pb2py to the refactored versions
from python-trezor, with appropriate modifications for trezor-core

The end goal is to have these files identical, ideally coming from
trezor-common. This is most of the way there, only thing remaining
is handling of target paths.
2018-05-24 15:41:07 +02:00
Pavol Rusnak
ffc2bf30b8
src: remove CoinType usage, usage internal CoinInfo instead 2018-05-24 15:18:05 +02:00
Pavol Rusnak
a1204d8d7d
src: cleanup CoinType usage, don't return coins in Features 2018-05-22 18:52:26 +02:00
Pavol Rusnak
13ffe75a48
tools: chmod +x build_protobuf 2018-02-27 14:26:01 +01:00
Jan Pochyla
048e0706b3 tools/pb2py: fix default list value 2018-02-27 00:12:44 +01:00
Jan Pochyla
a4477b8bef tools/build_protobuf: fix path to trezor_common 2018-02-27 00:12:44 +01:00
Pavol Rusnak
ee242ea416
src.trezor.messages: fix and regenerate 2018-02-26 17:20:48 +01:00
Jan Pochyla
b9c111f6ae tools: add init method to messages 2018-02-26 16:13:00 +01:00
Tomas Susanka
d23a236616 tools: build mocks uses sorted 2018-02-26 16:13:00 +01:00
Pavol Rusnak
c53b0afd5b
tools: fix bug in vheader processing in binctl 2018-02-24 21:48:58 +01:00
Jan Pochyla
d0c742e884 src/apps/common/coins: regenerate 2018-02-09 11:37:13 +01:00
Pavol Rusnak
77ea31aa8a
embed/extmod/modtrezorui: revert NO_HINT change 2018-02-08 15:04:33 +01:00
Pavol Rusnak
329b7d1488
embed/extmod/modtrezorui: regenerate fonts with NO_HINTING, update rendering to subpixel precision 2018-02-07 19:33:39 +01:00
Pavol Rusnak
1c5beb1c12
embed/bootloader: add information about firmware (version, vendor, etc.) to Features message 2018-02-06 17:06:43 +01:00
Pavol Rusnak
36d034d83a
tools: show fingerprint for vendorheaders too 2018-01-30 16:38:19 +01:00
Pavol Rusnak
b79ea10434
tools: update protobuf (sync with python-trezor) 2018-01-30 15:11:09 +01:00
Pavol Rusnak
f0152902fc
tools: drop netifaces requirement from keyctl-proxy 2018-01-29 15:49:55 +01:00
Pavol Rusnak
132660c378
tools: loop on error in keyctl-proxy 2018-01-29 15:29:54 +01:00
Pavol Rusnak
81ff60c3e1
tools: drop combine_sign; rework keyctl into 3 tools 2018-01-29 15:07:47 +01:00
Pavol Rusnak
5ede6864d5
tools: refactor index in keyctl 2018-01-29 09:10:19 +01:00
Pavol Rusnak
03943c960b
tools: small refactor in keyctl 2018-01-29 08:09:02 +01:00
Pavol Rusnak
11245a82ea
tools: fix bug in keyctl introduced by last commit 2018-01-28 18:24:56 +01:00
Pavol Rusnak
706ddda1a7
tools: update keyctl to work with already signed binaries 2018-01-28 17:47:16 +01:00
Pavol Rusnak
5e164ebaf1
tools: add getkey command to keyctl to retrieve the public key 2018-01-28 15:02:29 +01:00
Pavol Rusnak
7bbcd99d53
tools: add vtrust parsing to binctl 2018-01-28 11:24:50 +01:00
Pavol Rusnak
c0220192d4
tools: fix binctl script 2018-01-26 15:51:19 +01:00
Pavol Rusnak
a31c118d8e
protobuf: update build_protobuf and pb2py from python-trezor, regenerate messages 2018-01-12 13:11:22 +01:00
Pavol Rusnak
2317aaedb9
tools: update how vtrust is being passed to build_vendorheader 2018-01-10 20:47:07 +01:00
Pavol Rusnak
f0cd76de47
tools.codegen: remove unused import from gen_cert_bundle.py 2018-01-08 23:57:16 +01:00
Pavol Rusnak
30b0863725
tools.codegen: use certifi in gen_cert_bundle.py 2018-01-08 23:56:08 +01:00
Pavol Rusnak
f806488536
tools: fix computation of header fingerprint in binctl tool 2018-01-08 22:40:00 +01:00
Pavol Rusnak
6ac59f426f
tools.codegen: include commithash an repo url in gen_cert_bundle.py 2018-01-08 00:56:39 +01:00
Pavol Rusnak
10344dd864
tools.codegen: print nice stats at the end 2018-01-07 22:46:54 +01:00
Pavol Rusnak
dcb32d91f7
tools.codegen: rework gen_cert_bundle to use certs from Mozilla 2018-01-07 22:43:14 +01:00
Pavol Rusnak
8dd5edb4a1
tools: add codegen/gen_cert_bundle.py 2018-01-02 20:59:09 +01:00
Pavol Rusnak
4b54bfbbf2
modtrezorui: change loader size to 120x120 2017-12-16 23:44:30 +01:00
Pavol Rusnak
125ab8471c
trezorhal: store image fingerprint in the image_header structure 2017-12-15 19:22:59 +01:00
Pavol Rusnak
66eef86107
tools: more verbose gen_font script 2017-12-15 18:58:37 +01:00
Pavol Rusnak
965aa73b63
trezorhal: introduce fix_version in image header (version of last critical bugfix) 2017-12-14 21:29:13 +01:00
Pavol Rusnak
44196be481
binctl: show fingerprint for BinImage (hash of header - signature) 2017-12-14 14:19:02 +01:00
Tomas Susanka
aa29667059 common: coins updated 2017-11-23 16:30:11 +01:00
Pavol Rusnak
3636a5f1b1
bootloader/vendorheader: vtrust is bitmap not scalar 2017-11-06 16:31:09 +01:00
Pavol Rusnak
01356bad72
keyctl: show digest and path 2017-10-29 23:30:56 +01:00
Pavol Rusnak
89cc35b195
trezorhal: fix hash offset in check_image_contents 2017-10-26 18:53:20 +02:00
Pavol Rusnak
9e82a4d348
bootloader, firmware: introduce chunk hashes in the image header 2017-10-26 14:25:10 +02:00
Pavol Rusnak
3c974095aa
trezorhal: increase image header size from 512 to 1024 bytes 2017-10-26 02:11:40 +02:00
Pavol Rusnak
bdbbf0e5e8
tools: add firmware signature check (against its vendor header) 2017-10-26 00:09:17 +02:00
Pavol Rusnak
46fdb8bcb4
tools: use combine_sign to compute signatures, binctl just for adding to binary 2017-10-25 23:03:34 +02:00
Pavol Rusnak
57f2eee5bf
tools: split computation of signatures to keyctl, remove from binctl 2017-10-25 22:52:11 +02:00
Pavol Rusnak
34f363f903
tools: add optional output parameter to toi2png 2017-10-24 17:50:19 +02:00
Pavol Rusnak
7653eb699d
embed: use 4bpp fonts again 2017-10-11 23:05:08 +02:00
Pavol Rusnak
78f57d083c
add vendor trust to vendorheader 2017-10-05 17:31:39 +02:00
Pavol Rusnak
b962ace27d
build: add production keys 2017-10-04 15:55:59 +02:00
Pavol Rusnak
e6704a3f35
tools: add get_sign_keys 2017-10-04 14:27:13 +02:00
Pavol Rusnak
06a4bfbed8
tools: add trezor support to binctl signing 2017-10-04 09:59:04 +02:00
Pavol Rusnak
29c3afe6c4
tools: move ed25519raw, ed25519cosi to python-trezor 2017-10-04 00:39:43 +02:00
Pavol Rusnak
5884d1c03f
tools: update ed25519{cosi,raw}.py to work in both py2 and py3 2017-10-03 23:48:12 +02:00
Pavol Rusnak
2139e8b02d
fonts: use 2 BPP instead of 4 for fonts 2017-10-01 20:47:35 +02:00
Pavol Rusnak
da8cc37a54
tools: move code generating tools to tools/codegen 2017-10-01 19:52:43 +02:00
Pavol Rusnak
98bdd99b97
tools: simplify ed25519cosi 2017-10-01 19:42:29 +02:00
Pavol Rusnak
8ddcd74080
build: sign all stuff using ed25519 cosi (2 out of 3) 2017-10-01 17:56:19 +02:00
Pavol Rusnak
ca649eb8f0
tools: remove ed25519 dependency, prepare for ed25519cosi signing 2017-10-01 17:56:19 +02:00
Pavol Rusnak
4f11f46d07
tools: fix small issues with keytool 2017-09-30 10:36:37 +02:00
Pavol Rusnak
2bc37a10fe
use different set of keys for boardloader/bootloader/vendorheader 2017-09-29 17:31:59 +02:00
Pavol Rusnak
ef5f1326dc
build: use python3 everywhere 2017-09-25 16:18:31 +02:00
Pavol Rusnak
5b84db0f7f
tools: fix flake8 warnings 2017-09-05 23:16:01 +02:00
Pavol Rusnak
ed581a5b36
tools: fix whitespace in png2toi .py export 2017-09-04 23:18:43 +02:00
Pavol Rusnak
76658914fe
tools: png2toi - generate python output 2017-09-04 21:29:00 +02:00
Jan Pochyla
71ef4e4b3a tools/binctl: python2 compatibility 2017-08-07 11:59:45 +02:00
Pavol Rusnak
fe5b5c1940
tests: update to pytest, regenerate protobuf 2017-07-28 18:58:31 +02:00
Jan Pochyla
bab1303b1b tools/build_mocks: adapt to micropython -> embed rename 2017-07-28 16:36:14 +02:00
Pavol Rusnak
adafd9bc51
tools: fix png2toi c export 2017-06-21 18:18:59 +02:00
Jan Pochyla
181a2ad8c9 mocks: add typing module 2017-06-14 19:27:02 +02:00
Jan Pochyla
e29601e838 tools/build_mocks: support classes 2017-06-14 17:39:32 +02:00
Jan Pochyla
596a4227ad tools: autopep8 2017-06-14 12:22:41 +02:00
Pavol Rusnak
f93b8a08bc
res_collect: fix if resources.py does not exist 2017-06-13 20:15:47 +02:00
Pavol Rusnak
73b2ea6c85
travis: add make style (using flake8) 2017-06-13 19:35:34 +02:00
Pavol Rusnak
845a3a7e0d
tests: add partial pylint support 2017-06-07 19:06:26 +02:00
Jan Pochyla
63e6e85a7c res_collect: noop if no changes detected 2017-06-07 14:23:18 +02:00
Pavol Rusnak
cd7ee79c67
build: add combine and flash_combine make targets 2017-05-30 17:49:17 +02:00
Pavol Rusnak
e3b2001c89
rebuild coins 2017-05-12 22:55:47 +02:00
Pavol Rusnak
92b2deb932
coins: add cointype.segwit 2017-04-26 15:46:08 +02:00
Pavol Rusnak
07693277a4
apps.common: update coins.py + its generator to add new fields 2017-04-24 15:59:30 +02:00
Pavol Rusnak
0c060b6d4a
rename loader to bootloader 2017-04-10 19:24:21 +02:00
Pavol Rusnak
fd1718f8b6
mocks: update build script, refresh 2017-04-08 18:43:26 +02:00
Pavol Rusnak
62ad4d6a39
tools: pass sigmask and seckey as parameter to binctl 2017-04-08 18:24:46 +02:00
Pavol Rusnak
17ff61459d
tools: add pretty format to sigmask field 2017-04-06 19:02:09 +02:00
Pavol Rusnak
364bcedb04
tools: small formatting change to binctl 2017-04-06 16:58:16 +02:00
Pavol Rusnak
35e404bd38
tools: add fake signing to binctl, add make sign target 2017-04-05 19:33:50 +02:00
Pavol Rusnak
f92e8b6e4b
tools: add header to ed25519raw.py, fix whitespace in keytool 2017-04-02 23:04:08 +02:00
Jochen Hoenicke
99915f1a63 Added tool to test cooperative signing 2017-04-02 17:27:36 +02:00
Pavol Rusnak
87b7d0649b
boot: use cosi to compute aggregated key and use it 2017-04-02 02:55:51 +02:00
Pavol Rusnak
1eff07f84d
build: don't convert from png in build_vendorheader, remove vendorheader.bin from vcs 2017-04-01 23:16:25 +02:00
Pavol Rusnak
6187a8a0c1
build: refactor build_vendorheader 2017-04-01 18:28:10 +02:00
Jochen Hoenicke
e0fd890661 Implemented vendor header.
Header is generated with

    ./tools/build_vendorheader 'key1,key2,key3' 2 1.1 SatoshiLabs assets/satoshilabs.png micropython/firmware/vendorheader.bin

where

- keyN is a 64 character hex string encoding the public key
- 2 encodes 2/3 key scheme
- 1.1 is the version number (major, minor)
- SatoshiLabs is the vendor name
- satoshilabs.png is the vendor image

Updated the firmware compilation that it adds vendor header and updated loader
that it handles vendor header to be present.
2017-04-01 17:01:59 +02:00
Pavol Rusnak
435e96e1b3
build: refactor binctl and firmware/loader image stuff 2017-04-01 02:53:52 +02:00
Pavol Rusnak
b5ff140256
trezorhal: fix alignment in headers to 512 bytes 2017-03-31 23:54:59 +02:00
Pavol Rusnak
dd69929ce1
tools: rename firmwarectl to binctl, minor reformat 2017-03-30 22:58:00 +02:00
Pavol Rusnak
7da63a36e2
tools: don't convert sigidx back and forth in firmwarectl 2017-03-30 15:11:34 +02:00
Pavol Rusnak
e313234fe3
bootloader/loader: use blake2s instead of sha256 for digests 2017-03-23 15:54:34 +01:00
Pavol Rusnak
630ce53c73
tools: fix firmwarectl to reflect loader rename 2017-03-20 16:03:02 +01:00