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

539 Commits

Author SHA1 Message Date
gabrielkerekes
b957dfbddb chore(cardano): improve get_native_script_hash tests and update ui fixtures 2021-10-11 15:16:24 +02:00
gabrielkerekes
1f33ab420d feat(cardano): update transaction signing for multisig 2021-10-11 15:16:24 +02:00
gabrielkerekes
21281d7cf4 feat(cardano): add support for script addresses derivation 2021-10-11 15:16:24 +02:00
gabrielkerekes
dd9652cd07 feat(cardano): add get-native-script-hash call 2021-10-11 15:16:24 +02:00
gabrielkerekes
54909681a8 feat(cardano): add support for 1854 and 1855 path roots 2021-10-11 15:16:24 +02:00
Martin Milata
13417d7e5a refactor(common/protob): make bitcoin_only options file-level 2021-10-07 15:26:49 +02:00
Pavol Rusnak
5deee2ed00
feat(common): update XDC wallet 2021-10-05 12:21:51 +02:00
matejcik
cb6934a490 git subrepo push common
subrepo:
  subdir:   "common"
  merged:   "568b4b9c7"
upstream:
  origin:   "git+ssh://git@github.com/trezor/trezor-common"
  branch:   "master"
  commit:   "568b4b9c7"
git-subrepo:
  version:  "0.4.1"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "a04d8c2"
2021-09-24 10:32:58 +02:00
matejcik
f484c42d41 refactor(tests): use common Stellar fixtures in tests
All test cases are generated and verified in Stellar Laboratory.
Source XDR is also tested to match the vectors, and it is easy to verify
in Laboratory directly.
2021-09-24 10:30:19 +02:00
matejcik
b96adcac5c feat(common): add Stellar fixtures in json 2021-09-24 10:30:19 +02:00
matejcik
1dcfdebf7a feat(all): make Stellar timebounds required 2021-09-24 10:30:19 +02:00
matejcik
1b601b3e08 feat(common): strong typing for Stellar protobuf messages
BREAKING CHANGE: StellarAssetType is renamed to StellarAsset.
The name StellarAssetType is reused for the corresponding enum.

Enums are introduced in several other places. Their values correspond to
allowed values of (previously int) fields so this should not pose a
compatibility problem.

Many fields are now required. We believe that this should not pose a
compatibility problem, because all known interfaces to Stellar signing
actually accept Stellar XDR on input, whose required fields match the
protobuf schema.
2021-09-24 10:30:19 +02:00
matejcik
dea5778d39 chore(common): regenerate coins_details 2021-09-20 15:49:11 +02:00
matejcik
d329052334 feat(common): remove "soon" as support status 2021-09-20 15:49:11 +02:00
grdddj
1a291660e5 chore(tests): improving consistency of ethereum fixtures 2021-09-20 13:04:56 +02:00
matejcik
5bc3e353e0 git subrepo push common
subrepo:
  subdir:   "common"
  merged:   "84250b70a"
upstream:
  origin:   "git+ssh://git@github.com/trezor/trezor-common"
  branch:   "master"
  commit:   "84250b70a"
git-subrepo:
  version:  "0.4.1"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "a04d8c2"
2021-09-13 14:27:55 +02:00
matejcik
8931450d21 chore(common): enable Palm network 2021-09-10 15:09:03 +02:00
matejcik
30b08d949b feat(common): add default values to EthereumSignTx fields
so that we can avoid Optional types for fields
2021-09-10 15:09:03 +02:00
matejcik
96ed53cc1c refactor(core,legacy): remove Wanchain special handling
now that Wanchain has proper chainID and we don't need to detect it by
magic.

[no changelog]
2021-09-10 15:09:03 +02:00
matejcik
639406b01f feat(all): make chain_id mandatory 2021-09-10 15:09:03 +02:00
arbitrarylink
f051225730 feat(core,legacy): add support for Ethereum 64-bit chain_id
* Changes from original PR

* Now that we are rejecting chain_ids of 0, we need to have the tests set the chain_ids to at least 1.

* Ran 'make gen' and uploaded changed files.

* Ran make style_check and fixed reported errors

* Added changelog files

* Reverted changes concerning chain_id 0 being rejected.

* Adds tests for MAX_CHAIN_ID and MAX_CHAIN_ID+1.  Also reverts MAX_CHAIN_ID to the previous value.

* Added missing whitespace around arithmetic operator.

Co-authored-by: Michael Hatton <michaelhatton@Michaels-Mini.fios-router.home>
2021-09-10 15:09:03 +02:00
grdddj
6f1005b155 chore(tests): vectorizing and creating JSON fixtures for ethereum device tests 2021-09-02 10:28:26 +02:00
matejcik
eb34c0850e fix(common): regenerate support data
[no changelog]
2021-08-27 13:38:45 +02:00
matejcik
c65124c320 fix(common): add coins_details to release.sh
so that we know if we're delisting something by mistake
2021-08-27 13:38:45 +02:00
matejcik
417b33ba78 feat(common): better checks for delisted tokens 2021-08-27 13:38:45 +02:00
matejcik
174985619d chore(common): bump chains and tokens for release 2021-08-24 13:14:06 +02:00
matejcik
75a007177e fix(common): remove Ontology from misc, the impl is missing 2021-08-24 13:14:06 +02:00
matejcik
2173f6cec7 feat(common): create release script 2021-08-24 13:14:06 +02:00
matejcik
8dd7ad3c3e fix(common): remove Wanchain from misc (it is now eth:WAN) 2021-08-24 13:14:06 +02:00
matejcik
7aed8d535d feat(all): re-enable Firo (fixes #1767) 2021-08-23 11:43:57 +02:00
gabrielkerekes
7c3b5c86a5 fix(cardano): forbid mixing paths from multiple accounts in a single transaction 2021-08-20 11:50:13 +02:00
gabrielkerekes
500d29f43b chore(cardano): format test fixture files 2021-08-20 11:50:13 +02:00
gabrielkerekes
28f0f60295 feat(cardano): update tests for streamed tx signing 2021-08-20 11:50:13 +02:00
gabrielkerekes
d2a5be4e38 feat(cardano): prepare protobuf messages for streamed tx signing 2021-08-20 11:50:13 +02:00
matejcik
abc347d4ca chore(common): remove Lisk 2021-08-19 10:25:41 +02:00
matejcik
a1c37cac59 git subrepo push common
subrepo:
  subdir:   "common"
  merged:   "8335ee632"
upstream:
  origin:   "git+ssh://git@github.com/trezor/trezor-common"
  branch:   "master"
  commit:   "8335ee632"
git-subrepo:
  version:  "0.4.1"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "a04d8c2"
2021-08-10 11:48:58 +02:00
Frederik Bolding
38fa9197ca feat(core,python): support for Ethereum EIP1559 transactions
Initial EIP1559 implementation

Fix a few small issues

Progress on Python lib implementation and firmware

Fix RLP length

Start fixing tests

Fix legacy transactions

Simplify API and logic

Add EIP1559 tests

Fix access list formatting

Fix UI visiblity issue

Fix commented out code

fix: correct linting issues

Fix access_list protobuf formatting

Remove unneeded code

Remove dead code

Check tx_type bounds for EIP 2718

Reduce code duplication

Prefer eip2718_type over re-using tx_type

Add more tests

Simplify format_access_list

Simplify sign_tx slightly

Change Access List format and add logic to encode it

Fix a bunch of small PR comments

Fix a linting issue

Move tests out of class and regenerate

Remove copy-pasted comments

Add access list to CLI

Simplify _parse_access_list_item

Fix small mistakes following rebase

Fix linting

Refactor to use a separate message for EIP 1559 tx

Simplify changed legacy code

Fix a few small PR comments

Fix linting

fix(legacy): recognize SignTxEIP1559 on legacy build

Fix PR comments
2021-08-10 11:00:29 +02:00
gabrielkerekes
4f7c6b3586 feat(common): change all protobuf message type hints to strings
In order to support recursive protobuf messages, which will be needed by Cardano's native scripts.
[no changelog]
2021-08-05 12:10:30 +02:00
matejcik
9ab1891b22 feat(common): more required fields in messages-management
[no changelog]
2021-08-04 15:03:11 +02:00
Andrew Kozlik
7277a49047 fix(common): Add new rpId to Binance's FIDO definition. 2021-07-21 13:19:16 +02:00
Martin Milata
0d251fc01a Merge branch 'release/21.07' 2021-07-16 14:34:20 +02:00
matejcik
8e6a647e89 fix(core): do not send ButtonRequest on every paging event
partial revert of 54db2291f2 from #1671

(cherry picked from commit 1e1963f1ee)
2021-07-12 00:39:54 +02:00
matejcik
1e1963f1ee fix(core): do not send ButtonRequest on every paging event
partial revert of 54db2291f2 from #1671
2021-07-09 15:00:29 +02:00
Szymon Lesisz
66bf309fbf fix(common): fix Ropsten key in blockchain_link
additionally updated support in suite (trop, xrp, txrp)
2021-07-07 14:46:53 +02:00
Andrew Kozlik
3f647f1b7b chore(common): Ensure that testnet coins use slip44 coin type 1. 2021-06-30 18:25:58 +02:00
Andrew Kozlik
c067618828 fix(common): Fix incorrect SLIP-44 coin type for Bgold and SmartCash Testnets. 2021-06-30 18:25:58 +02:00
gabrielkerekes
db657615f4 fix(cardano): use OrderedMap for output tokens and withdrawals 2021-06-24 08:24:47 +02:00
gabrielkerekes
4e5772662c fix(cardano): don't allow duplicate withdrawals 2021-06-24 08:24:42 +02:00
matejcik
74bd26b160 chore(tests): remove remaining input_flow instructions from jsons 2021-06-23 11:51:18 +02:00
matejcik
7cdde940af chore(tests): adapt device tests to paging information ButtonRequests 2021-06-22 11:25:12 +02:00
matejcik
1012ee8497 feat(core): send ButtonRequests for paging events 2021-06-22 11:25:12 +02:00
Vladimir Volek
6fef12128b feat: cardano blockchain link definitions 2021-06-18 13:44:08 +02:00
matejcik
74cf309a93 git subrepo push common
subrepo:
  subdir:   "common"
  merged:   "a62380e21"
upstream:
  origin:   "git+ssh://git@github.com/trezor/trezor-common"
  branch:   "master"
  commit:   "a62380e21"
git-subrepo:
  version:  "0.4.1"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "a04d8c2"
2021-06-09 13:17:21 +02:00
matejcik
e4bb3b2f6c chore(common): enable Syscoin support for Connect 2021-06-09 13:16:45 +02:00
matejcik
f48e2ea89f git subrepo push common
subrepo:
  subdir:   "common"
  merged:   "813156c62"
upstream:
  origin:   "git+ssh://git@github.com/trezor/trezor-common"
  branch:   "master"
  commit:   "813156c62"
git-subrepo:
  version:  "0.4.1"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "a04d8c2"
2021-06-09 13:13:32 +02:00
gabrielkerekes
b2de8909d1 fix(core/cardano): reintroduce max tx output size
Output size is currently limited to 4000 bytes at protocol level. Given the maximum transaction size Trezor can handle (~9kB), we also want to enforce this size limit here so that when the limit is raised at protocol level again, Trezor would still not be able to produce larger outputs than it could reliably spend. Once Cardano-transaction signing is refactored to be completely streamed and maximum supported transaction size is thus raised, this limit can be lifted.
2021-06-08 15:02:24 +02:00
gabrielkerekes
a92b5fc333 fix(core/cardano): forbid tx outputs with both address and address parameters 2021-06-08 15:02:24 +02:00
gabrielkerekes
597402eab8 refactor(core/cardano): decouple address parameters validation 2021-06-08 15:02:24 +02:00
matejcik
845a66a7de chore(common/tools): drop outdated and unused CoinDef generator 2021-06-08 09:55:19 +02:00
matejcik
9790a338f8 feat(common/protob): mark values as bitcoin_only in protobuf definitions 2021-06-08 09:55:19 +02:00
matejcik
215d35d870 fix(common/protob): use proper field type for backup type on debuglink 2021-06-08 09:55:19 +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
matejcik
00d4b0a4a9 fix(common/tools): typo in support.py output 2021-06-04 11:38:18 +02:00
matejcik
2fac964a29 chore(common): disable Firo support 2021-06-04 11:38:18 +02:00
Pavol Rusnak
fce3640848 fix(common): remove dead coin Hatch 2021-06-04 10:10:26 +02:00
Szymon Lesisz
4e005de02f common: update DOGE min_fee and dust_limit
DOGE fee policies have been changed to:
1 DOGE base fee
+ 1 DOGE per 1000 bytes
+ 1 DOGE for every output below 1 DOGE

sources:
https://github.com/dogecoin/dogecoin/issues/1650#issuecomment-722229742
https://github.com/trezor/trezor-suite/issues/2973#issuecomment-730607729
2021-05-26 16:00:29 +02:00
matejcik
1595354e37 git subrepo push common
subrepo:
  subdir:   "common"
  merged:   "6c3c284e2"
upstream:
  origin:   "git+ssh://git@github.com/trezor/trezor-common"
  branch:   "master"
  commit:   "6c3c284e2"
git-subrepo:
  version:  "0.4.1"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "a04d8c2"
2021-05-26 14:18:31 +02:00
matejcik
aaa3ce6117 fix(core/bitcoin): fix CoinJoin authorization with new cache 2021-05-06 13:14:21 +02:00
Martin Milata
49965aae7e fix(common): bitcoin:XRC wallet link 2021-05-04 14:28:09 +02:00
gabrielkerekes
bf3e64ff20 fix(common): add isort:skip_file to files generated by pb2py 2021-04-23 11:09:29 +02:00
gabrielkerekes
2313293477 feat(core/cardano): add support for catalyst voting registration 2021-04-23 11:09:29 +02:00
gabrielkerekes
2c503b16f5 fix(common): fix one value enums in pb2py 2021-04-23 11:09:29 +02:00
Pavol Rusnak
6b371749bc
fix(common): fix errors in coin definitions 2021-04-07 16:37:56 +02:00
HyperPeek
13fbb25f0b
feat(common): add tRVN (#1561) 2021-04-07 16:26:52 +02:00
Martin Milata
0278998f72 style(common): mypy: disable implicit Optional for function arguments 2021-04-01 11:12:30 +02:00
Rafael Korbas
a9b8b0e119 feat(core/cardano): chunked serialization of signed transaction 2021-03-26 11:15:19 +01:00
gabrielkerekes
3cb686d452 fix(core/cardano): make witnesses order deterministic 2021-03-26 11:15:19 +01:00
Pavol Rusnak
1cc719bf49
fix(common): don't use grayscale png for coin icons 2021-03-25 13:49:53 +01:00
Pavol Rusnak
da7214d82f
fix(common): update support.json to include Firo 2021-03-25 13:39:59 +01:00
a-bezrukov
a305c774df
fix(common): Zcoin rebrand to Firo (#1544) 2021-03-25 13:35:10 +01:00
Andrew Kozlik
b0ed553847 style(core): Fix black formatting. 2021-03-23 11:02:04 +01:00
Pavol Rusnak
048205b864
fix(common): magnum wallet is dead
https://twitter.com/Magnum_Wallet/status/1333472916588081154
2021-03-20 11:21:09 +01:00
matejcik
cb7152542d feat: drop DebugLinkShowText functionality 2021-03-18 10:59:51 +01:00
Rafael Korbas
74ed5b7018 feat(core/cardano): Implement bech32 asset ids based on CIP-0014 2021-03-18 09:53:33 +01:00
Rafael Korbas
bd4512b53a fix(core/cardano): Allow stake pool registrations with zero margin 2021-03-18 09:35:08 +01:00
Pavol Rusnak
cc9dd66729
feat(common): let's work with Trezor Suite instead of the web wallet 2021-03-17 16:47:57 +01:00
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
Pavol Rusnak
6c11bc60d7
common/defs/fido: add namecheap 2021-03-15 17:22:12 +01:00
Roman Zeyde
b2877afa7f feat(common): add public_key to ECDHSessionKey 2021-03-08 15:59:00 +01:00
Pavol Rusnak
4b0f41d41e
fix(common): change msg_id of RebootToBootloader from 804 to 87 2021-03-03 12:07:00 +01:00
Ondrej Mikle
d0b630abfc
chore(legacy): return code for reboot call 2021-03-03 12:06:59 +01:00
Ondrej Mikle
2dccbf99d4
chore(legacy): add reset to bootloader protobuf message 2021-03-03 12:06:59 +01:00
matejcik
35505e9a17 chore(common): regenerate coins_details 2021-03-01 12:05:54 +01:00
matejcik
c101754842 fix(common/tools): cast a wider net when looking for CMC match 2021-03-01 12:05:54 +01:00
matejcik
ed0ac98970 fix(common/tools): strip "mainnet" from Ethereum network names 2021-03-01 12:05:54 +01:00
matejcik
090d103382 fix(common/tools): cleaner handling of duplicity overrides 2021-03-01 12:05:54 +01:00
Pavol Rusnak
17fa6ab4ec chore(common): update chains+tokens 2021-03-01 12:05:54 +01:00
Rafael Korbas
cf871ee754 fix(core/Cardano): do not show change output in byron-shelley transfers 2021-02-25 16:41:12 +01:00
Martin Milata
db2db8e6f3 feat(common): add hold_ms to DebugLinkDecision 2021-02-24 00:10:10 +01:00
Pavol Rusnak
a5778d1209
chore(common): regenerate coins_details.json
[skip_ci]
2021-02-11 17:28:45 +01:00