1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-10-18 22:09:07 +00:00
Go to file
Dusan Klinec 2658e253fa xmr/bp: memory optimizations and improvements
- different approach to vector manipulation - more on the fly operations. Prepared for fully offloaded operations, BP on Trezor with constant memory.
- memory requirements reduced from (4MN + const) to (2MN + const)
- more raw methods to avoid unnecessary encoding/decoding
- chunking improved, chunk size set as a constant, changed from 64 to 32, missing pieces implemented to cover also BP 16
- proof_v8 support discontinued, old hardfork, not needed anymore
- get_exponent register clash fixed (for large vectors)
- reduced heap fragmentation by removing some temporary allocations
- hashing with len and offset to reduce heap fragmentation by creating a sliced arrays
- use to() wherever possible to avoid allocations and return of mutable private object
- global functions start with _ prefix, reduce import footprint
- use __slots__ in classes to minimize footprint
2020-03-02 12:17:03 +01:00
.github/ISSUE_TEMPLATE
ci ci: omit unix/emu label in test jobs 2020-02-24 11:47:06 +00:00
common git subrepo push common 2020-02-28 10:56:02 +01:00
core xmr/bp: memory optimizations and improvements 2020-03-02 12:17:03 +01:00
crypto crypto: fix last commit 2020-02-17 19:16:54 +00:00
docs docs/core: add info about exceptions usage 2020-02-27 20:04:42 +00:00
legacy core+legacy: update changelogs 2020-02-27 13:21:17 +00:00
python common: restore PassphraseAck.state 2020-02-24 15:15:09 +01:00
storage ci: add junit for a nice tests overview 2020-01-03 12:44:12 +00:00
tests ore/tezos: better wording in delegation cancel 2020-03-02 08:49:34 +00:00
tools ci: upload ui tests fixtures 2020-01-03 15:07:46 +00:00
vendor vendor: update nanopb to 0.4.1 2020-02-04 18:12:09 +01:00
.clang-format
.gitignore
.gitlab-ci.yml ci: ensure system Python 3.7 is used even if other pythons are available 2020-02-11 11:53:34 +01:00
.gitmodules
.travis.yml ci/travis: update python to 3.7 2019-12-08 09:28:35 +00:00
build-docker.sh build: in build-docker.sh, remove containers after we are done 2019-12-11 14:21:07 +01:00
CONTRIBUTING.md docs: move docs to root 2019-12-06 12:24:20 +00:00
create_monorepo.py
Makefile build: make sure resources are built for 'make mypy' 2020-01-28 16:42:24 +01:00
Pipfile pipfile: add nanopb to Pipfile 2020-02-04 17:15:21 +00:00
Pipfile.lock pipfile: add nanopb to Pipfile 2020-02-04 17:15:21 +00:00
README.md docs: move docs to root 2019-12-06 12:24:20 +00:00
SECURITY.md
setup.cfg core: add short summary to pytest to see what failed right away 2020-01-28 09:32:03 +00:00
shell.nix shell.nix: do not enforce purity 2020-01-16 14:52:29 +01:00

Trezor Firmware

img

Repository Structure

  • ci: Gitlab CI configuration files
  • common/defs: JSON coin definitions and support tables
  • common/protob: Common protobuf definitions for the Trezor protocol
  • common/tools: Tools for managing coin definitions and related data
  • core: Trezor Core, firmware implementation for Trezor T
  • crypto: Stand-alone cryptography library used by both Trezor Core and the Trezor One firmware
  • docs: Assorted documentation
  • legacy: Trezor One firmware implementation
  • python: Python client library and the trezorctl command
  • storage: NORCOW storage implementation used by both Trezor Core and the Trezor One firmware
  • tests: Firmware unit test suite
  • tools: Miscellaneous build and helper scripts
  • vendor: Submodules for external dependencies

Contribute

See CONTRIBUTING.md.

Also please have a look at the docs, either in the docs folder or at docs.trezor.io before contributing. The misc chapter should be read in particular because it contains some useful assorted knowledge.

Security vulnerability disclosure

Please report suspected security vulnerabilities in private to security@satoshilabs.com, also see the disclosure section on the Trezor.io website. Please do NOT create publicly viewable issues for suspected security vulnerabilities.

Issue Labels

Priority

Label Meaning (SLA)
P1 Urgent The current release + potentially immediate hotfix (30 days)
P2 High The next release (60 days)
P3 Medium Within the next 3 releases (90 days)
P4 Low Anything outside the next 3 releases (120 days)

Severity

Label Impact
S1 Blocker Outage, broken feature with no workaround
S2 Critical Broken feature, workaround too complex & unacceptable
S3 Major Broken feature, workaround acceptable
S4 Low Functionality inconvenience or cosmetic issue

CI

The complete test suite is running on a public GitLab CI. If you are an external contributor, we also have a Travis instance where a small subset of tests is running as well - mostly style and easy fast checks, which are quite common to fail for new contributors.

Documentation

See the docs folder or visit docs.trezor.io.