mirror of
https://github.com/trezor/trezor-firmware.git
synced 2024-12-18 12:28:09 +00:00
bb1c638d3b
The goal is to allow Trezor 1 to create TPoS contracts for Stakenet. Last year, Stakenet introduced a hard-fork [1] to change the way TPoS contracts are created, instead of a custom signature method, now it works with the output from the signMessage method, while this works for Trezor T, it doesn't work for Trezor 1 due to the 80 bytes limit on the OP_RETURN output while Stakenet allows up to 150 bytes [2], in a gitter discussion [3] we concluded that the change should be fine. The hard-fork was introduced because we couldn't got our TPoS contracts PR accepted [4], the OP_RETURN still contains the same data, its just stored in a different way: - The TPoS address, where the coins to stake are stored, and where rewards are received. - The merchant address, where the merchant receives its commission. - The contract commission. - The TPoS collateral signature (this is what uses the signMessage now). At last, there is an example transaction creating a TPoS contract [5]. [1]: https://github.com/X9Developers/XSN/pull/154 [2]: https://github.com/X9Developers/XSN/blob/master/src/script/standard.h#L34 [3]: https://gitter.im/trezor/community?at=6064c41e940f1d555e2ea670 [4]: https://github.com/trezor/trezor-firmware/pull/140 [5]: https://xsnexplorer.io/transactions/858feb31097501cf68d698cde104cf778ec51ff3668e943404b549a5dd2f5792 |
||
---|---|---|
.github | ||
ci | ||
common | ||
core | ||
crypto | ||
docs | ||
legacy | ||
python | ||
storage | ||
tests | ||
tools | ||
vendor | ||
.clang-format | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.gitlab-ci.yml | ||
.gitmodules | ||
.travis.yml | ||
.yamllint.yml | ||
build-docker.sh | ||
CODEOWNERS | ||
COMMITS.md | ||
CONTRIBUTING.md | ||
COPYING | ||
create_monorepo.py | ||
LICENSE.md | ||
Makefile | ||
poetry.lock | ||
poetry.toml | ||
pyproject.toml | ||
README.md | ||
SECURITY.md | ||
setup.cfg | ||
shell.nix |
Trezor Firmware
Repository Structure
ci
: Gitlab CI configuration filescommon/defs
: JSON coin definitions and support tablescommon/protob
: Common protobuf definitions for the Trezor protocolcommon/tools
: Tools for managing coin definitions and related datacore
: Trezor Core, firmware implementation for Trezor Tcrypto
: Stand-alone cryptography library used by both Trezor Core and the Trezor One firmwaredocs
: Assorted documentationlegacy
: Trezor One firmware implementationpython
: Python client library and thetrezorctl
commandstorage
: NORCOW storage implementation used by both Trezor Core and the Trezor One firmwaretests
: Firmware unit test suitetools
: Miscellaneous build and helper scriptsvendor
: Submodules for external dependencies
Contribute
See CONTRIBUTING.md.
Using Conventional Commits is strongly recommended and might be enforced in future.
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.
Documentation
See the docs
folder or visit docs.trezor.io.