LBRY-Vault/electrum
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.
2020-04-12 15:34:37 +02:00
..
gui BitBox02 Electrum plugin support 2020-04-12 15:34:37 +02:00
lnwire lnmsg: rewrite LN msg encoding/decoding 2020-04-01 21:39:48 +02:00
plugins BitBox02 Electrum plugin support 2020-04-12 15:34:37 +02:00
scripts integrate PSBT support natively. WIP 2019-11-04 22:24:36 +01:00
tests export channel backup from kivy gui 2020-04-10 20:04:24 +02:00
wordlist
www@7d902a422a fix websocket messages 2019-09-05 11:45:28 +02:00
__init__.py windows: dll-load 'hack' needs to be applied not only from main script 2020-02-11 20:57:37 +01:00
address_synchronizer.py add more logging shortcuts 2020-04-12 12:30:59 +02:00
base_crash_reporter.py added trigger_crash method for testing crash reporter 2019-07-04 18:06:21 +02:00
base_wizard.py qt wizard: tweak GoBack behaviour to recalc inputs to previous dialog 2020-04-11 15:50:12 +02:00
bip32.py follow-up prev: do all checks, and add tests 2020-02-27 05:13:31 +01:00
bitcoin.py BitBox02 Electrum plugin support 2020-04-12 15:34:37 +02:00
blockchain.py blockchain: move init_headers_file from network.py to blockchain.py 2020-02-27 20:45:29 +01:00
channel_db.py ln feature bits: validate transitive feature deps everywhere 2020-04-01 21:49:19 +02:00
checkpoints.json update block header checkpoints 2020-03-05 17:19:48 +01:00
checkpoints_testnet.json update block header checkpoints 2020-03-05 17:19:48 +01:00
coinchooser.py CoinChooser: avoid NotEnoughFunds if zero buckets are sufficient 2019-11-11 15:15:04 +01:00
commands.py add list_peer command. (fix #6057) 2020-04-12 12:48:44 +02:00
constants.py lnworker: re-enable dns seeds for peer-finding bootstrap 2020-03-03 20:12:12 +01:00
contacts.py Separate db from storage 2020-02-10 17:45:23 +01:00
crypto.py crypto.pw_decode: fix one case of raising incorrect exception 2020-04-08 12:49:50 +02:00
currencies.json Removed dead exchange. 2019-07-21 13:13:51 +02:00
daemon.py taskgroups: don't log CancelledError 2020-02-27 20:22:49 +01:00
dns_hacks.py network dns hacks: split from network.py into its own file 2020-01-22 18:32:57 +00:00
dnssec.py ecc: abstract away some usage of python-ecdsa: bytes<->int conversions 2020-02-11 16:41:49 +01:00
ecc.py ecc.ECPubkey: also accept bytearray in __init__ 2020-02-19 00:40:33 +01:00
ecc_fast.py libsecp: log exception if failed to load 2020-02-21 15:59:18 +01:00
electrum
exchange_rate.py network: handle main_taskgroup dying better. passthrough CancelledError 2019-08-30 19:46:25 +02:00
i18n.py translations: add note that f-strings cannot be translated 2020-04-11 16:33:45 +02:00
interface.py fee estimates: use median if auto-connect 2020-03-12 15:39:50 +01:00
json_db.py follow-up prev: try to handle json db int key madness :/ 2020-03-17 20:32:27 +01:00
keystore.py hww: distinguish devices based on "soft device id" (not just labels) 2020-04-08 14:44:42 +02:00
lnaddr.py fix #6056 2020-04-11 12:02:38 +02:00
lnchannel.py export channel backup from kivy gui 2020-04-10 20:04:24 +02:00
lnhtlc.py follow-up prev: try to handle json db int key madness :/ 2020-03-17 20:32:27 +01:00
lnmsg.py lnmsg: small speed-up: read first, check length after 2020-04-01 21:49:23 +02:00
lnonion.py ln: implement option payment_secret 2020-04-01 21:49:12 +02:00
lnpeer.py add more logging shortcuts 2020-04-12 12:30:59 +02:00
lnrouter.py use option varonion: actually use TLV payloads, and signal support 2020-04-01 21:47:42 +02:00
lnsweep.py Replace wallet backup with channel backups 2020-04-10 14:45:23 +02:00
lntransport.py crypto: move LN-related chacha20/poly1305 code into crypto.py 2020-03-04 17:58:43 +01:00
lnutil.py Replace wallet backup with channel backups 2020-04-10 14:45:23 +02:00
lnverifier.py rename all TaskGroup() fields to "taskgroup" 2020-02-27 19:13:56 +01:00
lnwatcher.py Replace wallet backup with channel backups 2020-04-10 14:45:23 +02:00
lnworker.py add more logging shortcuts 2020-04-12 12:30:59 +02:00
logging.py Travis CI: Use flake8 to find Python syntax errors and undefined names (#5467) 2019-08-11 22:35:23 +00:00
mnemonic.py mnemonic: implement Wordlist class 2020-02-29 00:20:11 +01:00
network.py network: update tx broadcast error msgs whitelist 2020-03-31 07:08:31 +02:00
old_mnemonic.py mnemonic: implement Wordlist class 2020-02-29 00:20:11 +01:00
paymentrequest.proto
paymentrequest.py README: rm "Compile the protobuf description file" section 2020-02-21 18:50:52 +01:00
paymentrequest_pb2.py
pem.py
plot.py
plugin.py BitBox02 Electrum plugin support 2020-04-12 15:34:37 +02:00
qrscanner.py rename contrib/build-osx as contrib/osx. Move QRReader submodule there. 2018-11-29 11:39:57 +01:00
ripemd.py
rsakey.py no more "import *" 2019-02-11 20:21:24 +01:00
segwit_addr.py integrate PSBT support natively. WIP 2019-11-04 22:24:36 +01:00
servers.json Remove phishing server 2019-12-26 23:47:32 +07:00
servers_regtest.json
servers_testnet.json servers: update testnet default list 2019-04-27 23:10:12 +02:00
simple_config.py Merge pull request #5898 from leo-lb/plausible-deniability-config 2020-03-03 11:50:04 +01:00
sql_db.py ChannelDB: (trivial) add prefix to names of db methods 2020-03-03 04:05:29 +01:00
storage.py wizard.create_storage: state API and abide by it 2020-04-09 19:45:38 +02:00
synchronizer.py rename all TaskGroup() fields to "taskgroup" 2020-02-27 19:13:56 +01:00
transaction.py Replace wallet backup with channel backups 2020-04-10 14:45:23 +02:00
util.py lnutil.UpdateAddHtlc: use attrs instead of old-style namedtuple 2020-03-17 20:31:11 +01:00
verifier.py rename all TaskGroup() fields to "taskgroup" 2020-02-27 19:13:56 +01:00
version.py bump version number to 4.0.0a0 (alpha version) 2019-10-11 18:13:48 +02:00
wallet.py rm dead code: wallet.wait_until_synchronized 2020-04-11 15:26:29 +02:00
wallet_db.py Replace wallet backup with channel backups 2020-04-10 14:45:23 +02:00
x509.py ecc: abstract away some usage of python-ecdsa: bytes<->int conversions 2020-02-11 16:41:49 +01:00