1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-01-17 19:00:58 +00:00
Go to file
JoeGruff e3ea32a986 multi: Add decred staking.
Add two new input and four output script types.

Decred ticket purchases consist of a stake submission, op returns, and
change addresses. Although change addresses are allowed by consensus,
they are no longer used in practice and so have been given the
restrictions of a null pubkey and no value. Stake scripts are almost
identical to p2pkh or p2sh except for an extra opcode in front. Inputs
are currently only used in the form of one input three outputs with the
first output, or stake submission, paying to a public key hash, or with
two inputs and five outputs with the stake submission paying to a
multisig script hash. The op returns are directed to the user in the
case of one and the voting service provider and user in the case of two.

One of the sstx commitment for a ticket must pay back to the trezor
wallet. This is checked and an error is thrown if we don't find the
expected public key hash.

Because this adds the ability to create new types of outputs once the
ticket votes, two new input script types are also needed. A successful
vote will lead to a stake generation script that must be spent, and an
unsuccessful vote will lead to a revocation script that must be spent.
If we allowed stake change scripts to have a valid pubkey, that too
would require another op code, but we disallow those for output.
2021-03-17 12:16:08 +01:00
.github ci: add fixup check to Github Actions 2021-02-19 19:54:41 +01:00
ci ci: more reboots and skipped cases for hardware tests 2021-02-20 21:55:36 +01:00
common multi: Add decred staking. 2021-03-17 12:16:08 +01:00
core multi: Add decred staking. 2021-03-17 12:16:08 +01:00
crypto Add support for Schnorr crypto (BCH variant) 2021-03-09 14:22:56 +01:00
docs openocd: separate stlink configs deprecated - now combined 2021-03-09 11:41:55 +01:00
legacy openocd: separate stlink configs deprecated - now combined 2021-03-09 11:41:55 +01:00
python multi: Add decred staking. 2021-03-17 12:16:08 +01:00
storage core: unify usage of TREZOR_MODEL 2020-06-06 21:06:15 +02:00
tests multi: Add decred staking. 2021-03-17 12:16:08 +01:00
tools style(core): style for systemview 2021-01-26 20:53:38 +01:00
vendor test: Update fido2-tests submodule. 2021-02-22 16:33:50 +01:00
.clang-format clang-format: set the IncludeBlocks setting to "Preserve" 2020-05-04 17:17:06 +02:00
.editorconfig style: add .editorconfig [skip ci] 2020-11-05 16:45:52 +01:00
.gitattributes chore: add merge=union git attribute for changelogs (#1475) 2021-02-19 21:25:47 +01:00
.gitignore add .DS_Store to .gitignore (#900) 2020-03-11 20:22:56 +01:00
.gitlab-ci.yml ci: also run regular tt tests on hw 2021-02-05 12:58:21 +01:00
.gitmodules feat(common): add upstream Ethereum chains repository 2020-11-20 18:55:35 +01:00
.travis.yml ci(travis): install editorconfig-checker 2020-11-14 16:41:32 +01:00
.yamllint.yml ci: exclude more submodules from the yaml checker 2020-11-20 18:55:35 +01:00
build-docker.sh fix(build): update build-docker.sh script 2021-02-22 17:32:37 +01:00
CODEOWNERS chore(github): remove myself from some CODEOWNERS parts 2021-02-23 08:35:29 +01:00
COMMITS.md docs: introduce conventional-commits (#1234) 2020-09-15 16:11:39 +02:00
CONTRIBUTING.md docs: add PR workflow info; move CONTRIBUTING to docs 2020-04-30 14:49:47 +02:00
create_monorepo.py all: replace /bin/bash with /usr/bin/env bash 2019-09-12 17:35:55 +02:00
Makefile ci: enable editorconfig checks, fix whitespace issues 2020-11-11 14:43:50 +01:00
poetry.lock chore: bump shamir-mnemonic to 0.2.1, regenerate poetry.lock 2021-02-05 10:44:09 +01:00
poetry.toml build: workaround poetry bug (KeyError) 2021-01-28 23:03:02 +01:00
pyproject.toml chore: bump shamir-mnemonic to 0.2.1, regenerate poetry.lock 2021-02-05 10:44:09 +01:00
README.md chore(docs): update README 2021-02-19 20:04:11 +01:00
SECURITY.md docs: use monospace for fingerprints 2019-08-16 18:47:46 +02:00
setup.cfg chore: rename deprecated pytest option 2021-02-05 10:44:09 +01:00
shell.nix nix: unify ci/shell.nix and shell.nix 2020-07-03 12:32:55 +02: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.

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.