SomberNight
4c7a92f39c
bitcoin: implement construct_script and use it
5 years ago
SomberNight
89bd520185
bitcoin: move construct_witness from transaction.py to bitcoin.py
5 years ago
SomberNight
9eb152ed98
keystore: improve check_password.
...
and add tests that exercise it
maybe fixes #4128
5 years ago
SomberNight
fc39295d20
lnpeer: review safety check re channel open flow, and tweak params
6 years ago
SomberNight
66c264f613
bitcoin.py: change API of address_to_hash
6 years ago
TheCharlatan
a4fe14bb82
BitBox02 Electrum plugin support
...
This commit adds support for the BitBox02 hardware wallet.
It supports both single and multisig for the electrum gui wallet.
To use the plugin a local installation of the BitBox02 python library is
required. It can be found on PiPy under the name 'bitbox02' and can be
installed from the bitbox02-firmware repository in the py/bitbox02
directory.
All communication to and from the BitBox02 is noise encrypted, the keys
required for this are stored in the wallet config file under the
bitbox02 key.
The BitBox02 registers a multisig configuration before allowing
transaction signing. This multisig configuration includes the threshold,
cosigner xpubs, keypath, a variable to indicate for mainnet and testnet,
and a name that the user can choose during configuration registration.
The user is asked to register the multisig configuration either during
address verification or during transaction signing.
The check the xpub of the BitBox02 for other hardware wallets, a button
is added in the wallet info dialog.
The wallet encryption key is fetched in a separate api call, requiring a
slightly tweaked override version of the wallet encryption password.
6 years ago
SomberNight
900a7631cf
commands: add new cmd "getprivatekeyforpath" to export a WIF for a path
...
related: #6061
6 years ago
SomberNight
510399d3d2
wallet: dust limit calculation should round up (not down)
...
related to prev commit
closes #6035
6 years ago
SomberNight
a500db371d
wallet: put hard limit on minimum of relayfee: 1 sat/byte
...
(note that the dust limit is calculated based on the relayfee)
closes #6035
6 years ago
SomberNight
6f2cd8b4f5
Qt tx dialog: allow setting custom locktime
...
closes #2405
closes #1685
6 years ago
SomberNight
5f6f7da2a1
bitcoin.py: base58 address: make sure all public methods test checksum
...
Note: the checksum was already being checked in practically all cases, by the caller.
Moved the check here, to the lower level (but still public) method for sanity.
6 years ago
SomberNight
8cf3587aeb
base_encode/base_decode: change to saner API
6 years ago
SomberNight
01f94fcf58
base_encode/base_decode: performance improvement
...
For example, for 50 KB of random data, and base 43,
previously,
- base_encode took ~38 seconds
- base_decode took ~270 seconds
now,
- base_encode takes ~7.5 seconds
- base_decode takes ~6 seconds
6 years ago
SomberNight
83740c1a78
psbt: implement CompactSize key types (previously single-byte types)
...
based on latest BIP-0174 update: bitcoin/bips#849
6 years ago
SomberNight
bafe8a2fff
integrate PSBT support natively. WIP
6 years ago
SomberNight
e9a1c05d23
bitcoin.relayfee: minor clean-up
6 years ago
SomberNight
b3da13420b
bitcoin.py: SCRIPT-related clean-up. transaction.py: construct_witness
6 years ago
SomberNight
98f46dbaf5
implement script_num_to_hex. fix encoding of argument for CSV in make_commitment
6 years ago
SomberNight
8390da9b7b
bitcoin.py: dedupe pubkeyhash_to_p2pkh_script
6 years ago
SomberNight
7584cebbe3
bitcoin: stricter check on WIF for compressed pubkeys
...
fixes #5290
7 years ago
SomberNight
d4a2e9634f
bitcoin: disallow importing/sweeping segwit scripts with uncompressed pubkey
...
fixes #4638
7 years ago
SomberNight
a1d98d4331
sweep/import key: show error in Qt GUI to user as tooltip
7 years ago
SomberNight
b39c51adf7
mv "electrum seed" stuff from bitcoin.py to mnemonic.py
7 years ago
SomberNight
e7f38467d7
move opcodes to bitcoin.py
7 years ago
SomberNight
53310690a5
version notifications: sig check would always fail on testnet
7 years ago
ThomasV
5a93bf054e
2fa segwit (from ghost43's PR)
7 years ago
SomberNight
a53dded50f
bitcoin: avoid floating point in int_to_hex
7 years ago
SomberNight
36f64d1ad9
bitcoin/ecc: some more type annotations
7 years ago
SomberNight
e37da62a1c
fix most "scripts"
...
related: #4754
7 years ago
SomberNight
791e0e1a67
move relayfee and dust_threshold to bitcoin.py
7 years ago
SomberNight
082a83dd85
rename crypto.Hash to sha256d
7 years ago
SomberNight
a88a2dea82
split bip32 from bitcoin.py
7 years ago
SomberNight
1af225015a
fix some type annotations involving tuples
7 years ago
SomberNight
04c1b522d6
minor fixes for prev
...
use TxOutputHwInfo namedtuple
warn user if device is set to wrong chain
undo parts of prev re testnet. fix p2wpkh.
testnet support. and minor stuff
7 years ago
SomberNight
b4b1de088a
move TrezorClient.expand_path to bitcoin.py
...
and allow its input to end with a '/' slash
7 years ago
Janus
097ac144d9
file reorganization with top-level module
8 years ago
SomberNight
bc0036297b
fast hmac on python 3.7+
8 years ago
SomberNight
1f6ccfb134
fast hmac on python 3.7+
8 years ago
SomberNight
8b86f21520
wizard: extend derivation dialog to also let user select script type.
...
enable segwit multisig for bip39/hw wallets.
8 years ago
SomberNight
ecf6ace975
follow-up #4442
8 years ago
SomberNight
b9d690d64f
handle bip32 edge cases
8 years ago
SomberNight
1a8e8bc047
bitcoin.py: make int_to_hex throw on overflow
8 years ago
ghost43
cc05c09d6b
minikeys: import with uncompressed pubkey instead of compressed ( #4384 )
8 years ago
SomberNight
0b78cb5e6b
stricter tx deserialization: forbid output amount values over 21 million btc
8 years ago
SomberNight
16e4827e8c
use libsecp256k1 if available. abstract away ecc stuff. move symmetric crypto and hash functions to crypto.py
8 years ago
SomberNight
a94e1d92a3
bitcoin.py: nicer exception in deserialize_privkey if prefix byte is invalid
...
related: #4364
8 years ago
SomberNight
b175c6b609
fix #4360
8 years ago
SomberNight
e13183ea7a
bitcoin.py: SCRIPT-related clean-up. transaction.py: construct_witness
8 years ago
SomberNight
1d6f000868
transaction.py: shortcut witness/scriptSig serialisation
8 years ago
SomberNight
b3110b3b46
bitcoin.py: implement add_number_to_script.
8 years ago