Andrew Kozlik
426eae4dfc
fix(core): Ensure correct order when verifying external inputs in Bitcoin signing.
2022-07-28 17:14:05 +02:00
Andrew Kozlik
421eec1d3b
feat(core): Add get_base_weight() to TxWeightCalculator.
...
[no changelog]
2022-07-20 18:23:34 +02:00
Andrew Kozlik
0ce2c079b0
feat(core): Account for minimum registrable output amount in CoinJoin checks.
...
[no changelog]
2022-07-20 18:23:34 +02:00
Pavol Rusnak
6589f020c6
fix(legacy,core): use sat/vB only for segwit and sat/B otherwise
...
[no changelog]
2022-05-30 10:51:47 +02:00
Martin Novak
85f0d3a741
feat(core,legacy): show fee rate when signing transaction
2022-05-25 14:43:45 +02:00
Andrew Kozlik
d16b44bad6
feat(core): Verify signatures of all original inputs in replacement transactions.
2022-05-03 22:14:40 +02:00
Andrew Kozlik
9bce153623
feat(core): Warn about unverified external inputs.
2022-05-03 22:14:40 +02:00
Andrew Kozlik
b1c6b42201
fix(core): Stricter Bitcoin transaction checks.
2022-05-03 22:14:40 +02:00
Tomas Krnak
9985a72c6a
feat!(core): support Zcash v5 transaction format
...
This implements:
- ZIP-225: Version 5 Transaction Format
- ZIP-244: Transaction Identifier Non-Malleability
BREAKING CHANGE: Zcash prevouts are not verified (as in Taproot). Zcash replacement transactions are not supported.
2022-05-02 16:07:31 +02:00
Tomas Krnak
670d11d627
feat(core): add tx
argument to create_sig_hasher
method
2022-05-02 16:07:31 +02:00
Martin Milata
2f987c3c5e
refactor(core/ui): remove dependencies on old layouts
...
[no changelog]
2022-04-07 17:58:41 +02:00
matejcik
cdca0bad9e
fix(core): do not drop cashaddr prefix for QR code
...
[no changelog]
2022-03-18 11:59:04 +01:00
Andrew Kozlik
9e346b05da
chore(core): Don't check fairness of mining fees in CoinJoin.
...
[no changelog]
2022-03-17 15:46:01 +01:00
Andrew Kozlik
94d1a49eea
chore(core): Rework checking of CoinJoin parameters.
...
[no changelog]
2022-03-17 15:46:01 +01:00
Andrew Kozlik
556e8a147a
chore(core): Make CoinJoin checks more lenient.
...
[no changelog]
2022-03-17 15:46:01 +01:00
Andrew Kozlik
605e128ca0
chore(core): Simplify path warning UI.
2022-03-17 09:44:03 +01:00
Andrew Kozlik
94fa6d2515
feat(core): Guess weight of unverified external inputs.
2022-03-17 09:44:03 +01:00
Andrew Kozlik
43f1d67289
feat(core): Support unverified external inputs.
2022-03-17 09:44:03 +01:00
Andrew Kozlik
c9e6ca30c9
feat(core): Ensure input's script type and path match the scriptPubKey.
2022-03-17 09:44:03 +01:00
matejcik
4e2129e0a0
feat(core): automatically choose best QR encoding
2022-03-10 11:27:21 +01:00
grdddj
3d505874aa
feat(ci): create pyright tool and include it in CI
...
[no changelog]
2022-03-02 15:43:50 +01:00
Pavol Rusnak
c6667fa0c2
feat(core): verify bip340 pubkeys used in p2tr addresses
...
Co-Authored-By: Ondřej Vejpustek <ondrej.vejpustek@satoshilabs.com>
2022-02-16 10:25:15 +01:00
Pavol Rusnak
b9bbd5fcd7
chore: update dependencies
...
[no changelog]
Co-Authored-By: Martin Milata <martin@martinmilata.cz>
2022-02-15 13:28:03 +01:00
Andrew Kozlik
d52a59e37b
feat(core): Show "signature is valid" dialog when VerifyMessage succeeds.
2022-02-11 15:36:00 +01:00
Andrew Kozlik
4d40d6dbfc
feat(core): Support Electrum signatures in VerifyMessage.
2022-02-11 15:36:00 +01:00
Andrew Kozlik
473657fd44
chore(core): Tweak validation of pre-authorized GetOwnershipProof.
...
In pre-authorized GetOwnershipProof requests ensure that the commitment data
starts with a length-prefixed name of the CoinJoin coordinator.
[no changelog]
2022-02-11 13:56:27 +01:00
Andrew Kozlik
f17a435cdf
refactor(core): Rename bitcoin_varint to compact_size.
2022-01-31 18:00:22 +01:00
Andrew Kozlik
0e58218f5f
feat(core): Implement Bitcoin payment requests.
2022-01-31 18:00:22 +01:00
Andrew Kozlik
d0c3a6a2fa
chore(core): Add mac field to Address message.
...
[no changelog]
2022-01-31 18:00:22 +01:00
Andrew Kozlik
cdf2129b73
fix(core): Fix proof of ownership sighash computation.
2022-01-10 11:14:36 +01:00
Andrew Kozlik
88a08e3512
chore(core): Increase maximum CoinJoin coordinator name length to 36 (2 lines).
2022-01-10 11:14:36 +01:00
matejcik
e20879189f
style(core): remove old-style annotations (Set, Tuple, Union)
2022-01-07 21:41:17 +01:00
matejcik
5e1dce35b3
style(core): remove unused type:ignore comments
2022-01-07 21:41:17 +01:00
matejcik
80f6463799
style(core): define obj_eq and obj_repr so that they pass type-check
2022-01-07 21:41:17 +01:00
grdddj
9fc5bb546b
style(core): full pyright-based type-checking
...
Changes many fields to required -- as far as we were able to figure out,
signing would fail if these fields aren't provided anyway, so this
should not pose a compatibility problem.
Co-authored-by: matejcik <ja@matejcik.cz>
2022-01-07 21:41:17 +01:00
Martin Milata
ff5f965c44
Merge branch 'release/21.12'
...
Conflicts:
tests/device_tests/test_msg_signtx_invalid_path.py
tests/ui_tests/fixtures.json
2021-12-08 14:53:56 +01:00
Andrew Kozlik
ef5994d9f3
feat(core): Support ownership proofs for Taproot addresses.
2021-12-06 18:23:48 +01:00
Andrew Kozlik
9052133fca
fix(core): Ensure user is warned about non-standard paths.
2021-11-23 14:57:25 +01:00
Andrew Kozlik
221977ad9d
chore(core): Convert SIGHASH_* consts to SigHashType enum.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
ae35086bb9
refactor(core): Rename Hash143 to SigHasher and replace preimage_hash() with two functions.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
03b1b3bc6b
feat(core): Show path warning for SignMessage.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
ef2ad57ec8
fix(core): Fix CoinJoin approval check.
...
After fixing the TxWeightCalculator the approver needs to account for the
weight of the coordinator's output.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
56ac799626
feat(core): Support external inputs in TxWeightCalculator.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
f9f0b517e2
feat(core): Support Taproot in TxWeightCalculator.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
9b579094c0
fix(core): Fix TxWeightCalculator.
...
- Refactor TxWeightCalculator to count inputs and outputs itself.
- Fix witness data weight by adding the weight of the witness stack item count
for each input in segwit transactions and removing the weight of the
nonsensical extra inputs count.
- Get multisig pubkey count from multisig.nodes or multisig.pubkeys like in
multisig_get_pubkeys().
- Fix size of multisig script length encoding in segwit (varint vs. OP_PUSH).
- Improve comments.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
a5bd1643fc
fix(core): Fix OP_PUSH writing.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
7653efb415
chore(core): Disable Taproot for altcoins.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
c0f853dc78
chore(core): Disable ownership proof generation for Taproot.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
475b95b11e
feat(core): Disable prevtx streaming for Taproot.
2021-11-13 13:33:46 +01:00
Andrew Kozlik
84e31310a1
feat(core): Support Taproot in SignatureVerifier.
2021-11-13 13:33:46 +01:00