1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-05 22:18:16 +00:00
Commit Graph

301 Commits

Author SHA1 Message Date
Andrew Kozlik
11cb171e1a fix(tools): Strip old header in firmware_hash.py. 2022-05-11 11:14:03 +02:00
Andrew Kozlik
1b43b2190a feat(tools): Add firmware_hash.py. 2022-05-03 19:00:04 +02:00
matejcik
e9364ea0ae style(tools): fix type annotations in pyright tool 2022-03-23 14:55:05 +01:00
matejcik
61718aff49 feat(tools): make pyright_tool more user-friendly
[no changelog]

* passed in directory respects absolute and relative paths instead of
  working "from repository root"
* we don't require the enableTypeIgnoreComments to be set so both
  `pyright` and `pyright_tool` can work with the same config at the same
  time
* use click's magic functionality to deal with missing / unreadable /
  unwriteable files
* read the error results via a pipe, do not write to filesystem unless
  requested
* simplified logic regarding "test mode"/"dev mode"
* renamed `--log` to more typical `--verbose`
* use pathlib more extensively
2022-03-23 14:55:05 +01:00
grdddj
f0cc7f3327 feat(ci): autogenerate documentation for CI jobs 2022-03-18 12:02:24 +01:00
grdddj
a38a0b6295 fix(python): fix eth.sign-tx - correct input into rlp.encode()
[no changelog]
2022-03-16 16:09:07 +01:00
matejcik
5c803ab19d fix(tools): fix invalid (in python 3.8 and lower) type aliases 2022-03-10 11:27:21 +01:00
grdddj
b9858f00c5 chore(tools): simplify build_protobuf file sources creation 2022-03-04 11:42:51 +01:00
grdddj
3d505874aa feat(ci): create pyright tool and include it in CI
[no changelog]
2022-03-02 15:43:50 +01:00
matejcik
a532bf0737 chore: fix pylint ignore list 2022-02-15 13:28:03 +01:00
grdddj
c755c4177f chore(tests): add new conventions for test files unification 2022-02-07 14:05:27 +01:00
grdddj
8d7b379349 feat(tools): new snippets folder, sign_tx.py and unify_test_files.py scripts 2022-01-27 15:07:30 +01:00
Martin Milata
c0dbcf37e4 chore(common): update chains and tokens 2021-12-28 12:42:43 +01:00
Carlosbogo
dd1240ef53
docs: update links in changelogs (#2013)
fixes #2011
2021-12-17 14:53:21 +01:00
matejcik
6644e149b2 ci: properly fail if protobuf compilation or diff check fails 2021-11-19 15:03:33 +01:00
matejcik
c38efaa9a5 chore: make bitcoin-only checker happy 2021-11-10 13:57:57 +01:00
grdddj
73238135d6 feat(core/ethereum): EIP-712
Based on original contribution by Max Kupriianov <xlab@hey.com>

Implemented EIP-712 typed data signatures in Ethereum app.

Add eth_abi into pyproject deps

device test for EIP 712

fixed hex decoding for address

fixup! fixed hex decoding for address

code quality, more pythonic code, removing unused imports

running black and isort on changed files

trezorctl file input for EIP 712 data signing

fixup! code quality, more pythonic code, removing unused imports

fixup! fixup! code quality, more pythonic code, removing unused imports

necessary changes after rebase to master

unit tests for sign_typed_data.py

new protobuf messages, working for nonarray types

simplified and verified solution for our simple data

support for simple arrays, without their confirmation

reverting protobuf value messages to bytes, appropriate changes

showing arrays in Trezor, code quality improvements

data validation on Trezor, minor improvements

using custom types for storing type data instead of dicts, addressing feedback from review

moving helper functions to its own file, tests for decode_data

additional overall tests

support for arrays of structs

adding support for metamask_v4_compat variable

using HashWriter object to collect the final hash continously

minor improvements in code quality

validate_field_type function

streaming values from client without saving them, missing UI

prototype of streamed UI using confirm_properties

accounting for bytes in data, more data types in integration tests

rebase on master, using f-strings

minor fixes and improvements from code review

StructHasher class for the whole hashing process

mypy and style changes

asking users whether to show structs and arrays

protobuf descriptions to fix make defs_check

unifying comments, mypy fix

unit tests for StructHasher class

UI fixtures, skipping device tests for T1

addressing majority of code review comments about code quality and structure

changing file structure - layouts, helpers, sign_typed_data

decode_data renaming and docstring, renaming unit test file

using tuples instead of lists in elifs

layout improvements

excluding core/src/apps/common/confirm.py file from the PR

True/False returning layout with Show more button

code review layout improvements

forgotten br_type argument to should_show_more
2021-11-02 14:27:01 +01:00
Martin Milata
ea1b7fbd54 chore(common): update chains and tokens 2021-11-01 13:58:48 +01:00
Ondřej Vejpustek
17b3c9a7db fix(tools): add exception in check-bitcoin-only 2021-10-25 14:41:28 +02:00
amadejpapez
85ba7c12ba style(all): use f-strings for formatting
[no changelog]
2021-10-13 11:53:17 +02:00
Martin Milata
13866f7ebd ci: fix bitcoin-only strings check of fw images
shellcheck saves the day

In tools/check-bitcoin-only line 9:
        RETURN=1
        ^----^ SC2030: Modification of RETURN is local (to subshell caused by pipeline).

In tools/check-bitcoin-only line 13:
exit $RETURN
     ^-----^ SC2031: RETURN was modified in a subshell. That change might be lost.
2021-10-07 15:26:49 +02:00
matejcik
abc347d4ca chore(common): remove Lisk 2021-08-19 10:25:41 +02:00
Martin Milata
fb9b53930e docs: allow adding changelog entries without linked issue
[skip_ci]
2021-07-21 15:47:16 +02:00
Martin Milata
412d06fdfe docs(core+legacy): use towncrier for generating CHANGELOG.md
core/embed/boardloader/CHANGELOG.md
core/embed/bootloader/CHANGELOG.md
core/embed/bootloader_ci/CHANGELOG.md
legacy/intermediate_fw/CHANGELOG.md
2021-07-21 14:27:20 +02:00
matejcik
266955ba65 refactor: rework pb2py generator
This also includes the capability to build Rust protobuf blobs.
2021-06-08 09:55:19 +02:00
Martin Milata
504298cca3 chore(tools): script for version bumping 2021-05-04 14:18:01 +02:00
Martin Milata
f58c1634c6 docs(core): use towncrier for generating CHANGELOG.md 2021-05-04 14:18:01 +02:00
Ondrej Mikle
869cfbbd1c style(core): style for systemview 2021-01-26 20:53:38 +01:00
Pavol Rusnak
90f23afb72
tools/build_protobuf: don't compare __pycache__ 2020-08-21 14:12:49 +02:00
matejcik
91da49266c style: add changelog checks 2020-07-08 10:43:40 +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
Tomas Susanka
ca3dd2bfb9 common: skip deprecated fields during generation; deprecate overwintered field in Zcash 2020-06-30 16:02:21 +02:00
Tomas Susanka
3dfbe7aa98 ci: upload ui tests fixtures 2020-01-03 15:07:46 +00:00
Tomas Susanka
9e33d69607 tools/issues: style 2019-11-14 15:57:47 +00:00
Tomas Susanka
56e84aa0e6 tools/issues: add personal access token support for private repos 2019-11-14 15:57:17 +00:00
Tomas Susanka
e38d6ca401 tools/issues: add assignee 2019-11-14 15:09:52 +00:00
Tomas Susanka
f09bc4dd77 tools/issues: fix weights and add auth 2019-10-03 12:01:27 +00:00
Andrew Kozlik
091053507d common/messages: Add credential management message. 2019-09-17 18:32:31 +02:00
Tomas Susanka
75c539ec55
all: replace /bin/bash with /usr/bin/env bash 2019-09-12 17:35:55 +02:00
Pavol Rusnak
cc3f7b8d48
ci: include version+githash into artefact filenames 2019-08-29 00:01:59 +02:00
Pavol Rusnak
1a71c7a3e8
common: rename Features.features to Features.capabilities 2019-08-28 15:02:30 +02:00
Pavol Rusnak
2fe34aa33b
ci: add check that Bitcoin only firmware does not contain non-Bitcoin functionality 2019-08-27 12:39:48 +02:00
Pavol Rusnak
908bbfffef
core: remove remaning utility code for Bitcoin only firmware 2019-08-27 12:38:28 +02:00
Tomas Susanka
8de01511d0 tools/csv: modify weight 2019-08-21 16:09:53 +02:00
Tomas Susanka
0b66050a55 tools: different order of columns in to csv converter 2019-08-16 15:20:00 +02:00
Tomas Susanka
2082e05bd7 tools: modify github to csv tool to suit our needs
closes #418
2019-08-16 13:28:35 +02:00
Tomas Susanka
a85e63cceb tools: add github to csv tool 2019-08-16 13:19:13 +02:00
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