1
0
Commit Graph

359 Commits

Author SHA1 Message Date
Sander van Grieken
5246f3d510 qml: refactor is_last checks to mostly lambdas, add multisig flow for 1st cosigner keystore,
add initial flow and view placeholders for additional cosigners.
2022-11-14 12:19:56 +01:00
ghost43
ac239a81b8 Merge pull request #8041 from bigspider/app-bitcoin-new
Modify Ledger plugin to support the new bitcoin app v2.1.0
2022-11-10 14:24:14 +00:00
SomberNight
e75110ec04 hw_wallet: de-dupe "message_dialog" code, make text selectable 2022-11-09 21:10:52 +00:00
SomberNight
9b82eb6d06 ledger: re-add support for HW.1, and add a deprecation warning 2022-11-09 20:42:55 +00:00
SomberNight
3cac7e9a61 ledger: minor clean-up 2022-11-09 20:11:08 +00:00
SomberNight
e4a880e435 trezor: use lower device-enumeration timeout for udp transport
This transport IIUC is only used for the trezor emulator.
The default timeout is 10 seconds. Every time we enumerate hw devices,
we also enumerate trezor devices, including scanning for the udp transport.
For some reason, recently on Windows, sporadically, this scan keeps
hitting the timeout for me. Quite annoying, as I might not even be testing
trezor (and I am certainly not testing using the trezor emulator on Windows...),
but scanning to test other plugins.

Probably overkill to have a 10 sec timeout for contacting localhost anyway.
2022-11-09 17:46:18 +00:00
Salvatore Ingala
e47270daa5 Fix multiple signing 2022-11-09 13:21:14 +01:00
Salvatore Ingala
3c0e3eb7e2 Refactored LedgerPlugin::create_client, and handle errors when creating the client. 2022-11-09 11:34:41 +01:00
Salvatore Ingala
7c80779903 Replace print() with logger 2022-11-09 11:21:21 +01:00
Salvatore Ingala
80e214d465 - Remove code calling hw1-related features, not supported in the version of btchip embedded in ledger_bitcoin
- Fix signature of sign_message in Ledger_Client_Legacy
2022-11-09 10:59:12 +01:00
Salvatore Ingala
f3eb492dca Update Ledger website to ledger.com in error message 2022-11-08 17:44:09 +01:00
Salvatore Ingala
c401f84aa7 Avoid relying on old btchip package; improve missing library error handling 2022-11-08 17:44:06 +01:00
Salvatore Ingala
2d64dc13c9 Modify Ledger plugin to support the new bitcoin app v2.1.0 2022-11-08 17:44:05 +01:00
Pavol Rusnak
b4e5f35e66 trezor: optimize signing speed by not serializing transaction in trezor
Since Electrum is not using TxRequestSerializedType.serialized_tx
we might ask the device not to serialize transactions
by setting SignTx.serialize=False

This flag is only present in trezorlib 0.13.4, so only users on that
version will benefit from the speedup.

However, we decided to keep the minimum required version to 0.13.0,
since the newer version is not strictly required.
2022-11-07 16:48:43 +01:00
SomberNight
da3b271f5c cosigner_pool plugin: handle multiple multisig wallets open
fixes https://github.com/spesmilo/electrum/issues/3080
2022-11-06 04:36:56 +00:00
Sander van Grieken
0c9d4abb82 qml: show 2FA status and billing info in WalletDetails, expose billing schedule setting in config 2022-11-04 13:35:15 +01:00
SomberNight
01b5e3f8e0 flake8: enable more mandatory tests 2022-10-31 16:13:22 +00:00
ThomasV
3bb453aaba PayServer: add settings dialog and hook for view_url 2022-10-28 13:52:24 +02:00
ThomasV
724edd223c make PayServer a plugin 2022-10-28 12:07:30 +02:00
Sander van Grieken
28b5103d93 remove qml_test plugin, remove plugin settings test 2022-10-21 13:32:16 +02:00
Sander van Grieken
c6496d02ef add recovery paths (disable and confirm/reset OTP) for 2FA 2022-10-21 13:32:16 +02:00
Sander van Grieken
255f508574 remove unused, add type checking imports 2022-10-21 13:32:16 +02:00
Sander van Grieken
20c95b26ea wip otp on pay 2022-10-21 13:32:13 +02:00
Sander van Grieken
43bac2edff qml: use new wizard approach in qml and also implement 2FA/trustedcoin 2022-10-21 13:31:24 +02:00
SomberNight
4b8790c919 qt 2fa: show different status-bar icon for "2fa disabled" wallet
related: https://github.com/spesmilo/electrum/issues/8018
2022-10-16 15:10:46 +00:00
Jamie C. Driver
68f320041a jade: update Jade api to 0.1.37 2022-09-15 11:54:42 +01:00
Sander van Grieken
6bbd18dc78 qml: fix flake errors 2022-09-09 19:58:48 +02:00
Sander van Grieken
27999a9583 qml: clean up, generalize plugin gui base, enumerate plugins in gui
(still quite crude impl, dynamic enable/disable plugin gui is misaligned
with backend)
2022-09-08 15:15:46 +02:00
Sander van Grieken
32a81d8ee7 qml: initial plugin support, with labelsync mostly implemented 2022-09-08 12:19:38 +02:00
SomberNight
16c84acb98 hw wallets: improve error message when a dependency is missing
e.g.
```
Debug message
  jade: (error getting device infos)
    Missing libraries for jade.
        ModuleNotFoundError("No module named 'cbor'")
    Make sure you install it with python3
```
2022-08-15 10:38:56 +00:00
SomberNight
388811296e qt: replace some hardcoded pixel sizes for better high-dpi support 2022-08-10 20:23:56 +02:00
SomberNight
7b095158bf wallet: add get_label_for_address, and make get_label private
fixes https://github.com/spesmilo/electrum/issues/7919

In the past, when creating payment requests, we keyed them by on-chain address,
and set/saved the msg of the request as label for the address.
Many places in the code were calling wallet.get_label(addr) with the expectation that
relevant payment requests are found and their message/description (if any) is considered.

wallet.get_label(key) is now made private, and instead the explicit non-polymorphic
wallet.get_label_for_{address,rhash,txid} alternatives should be used.
2022-08-09 17:21:14 +02:00
ThomasV
ad9030bd15 labels plugin: handle setting a label to None 2022-07-29 09:38:15 +02:00
SomberNight
79fec3417a crypto.py: rm {En,De}codeAES_base64. instead use {En,De}codeAES_bytes 2022-07-12 15:50:42 +02:00
Sander van Grieken
1260720bb6 qml: qml test plugin 2022-07-07 18:28:00 +02:00
Sander van Grieken
d195fce82d qml: hook any qml supporting plugins, add test plugin
This allows different platforms to have their own UI components while still leveraging the common
set of QObjects and utility components.
2022-07-07 18:28:00 +02:00
SomberNight
5b29e6d4f5 qt: (refactor) split "receive tab" out from main_window.py 2022-07-01 16:03:28 +02:00
SomberNight
574243b897 hww ledger: call scan_devices fewer times 2022-06-03 17:14:51 +02:00
SomberNight
b5d3f1458a hww: impl get_client in Hardware_KeyStore instead of subclasses 2022-06-03 17:14:44 +02:00
SomberNight
745e697188 hww: move trigger_pairings to DeviceMgr 2022-06-03 17:14:40 +02:00
ThomasV
c67c4e95dc remove email plugin 2022-05-24 11:48:14 +02:00
Jeremy Rand
1aa444e0f8 Fix "== None" linter fails
Credit to Zoltan Konder for pointing me to this issue.
2022-05-24 02:39:11 +00:00
SomberNight
cac4b6f92c email plugin: SSL was using insecure defaults 2022-05-23 19:04:51 +02:00
SomberNight
7e77a7e1cc email plugin: (trivial) adapt to Invoices refactor 2022-05-23 18:53:19 +02:00
SomberNight
98feff07ad threading.Thread: fix some DeprecationWarnings
"DeprecationWarning: setDaemon() is deprecated, set the daemon attribute instead"
2022-05-23 17:52:39 +02:00
Jamie C. Driver
15f108aaa5 Add support for the Blockstream Jade hww 2022-05-20 16:03:46 +01:00
SomberNight
7f876e46fb hw plugins: (follow-up) rm some more dead code
follow-up 30623c3529
2022-05-11 19:41:25 +02:00
SomberNight
6c50d3b0a3 hw plugins: (cleanup) rm no-op clear_client argument from keystore.give_error
The keystore does not have a "client" field.
One is supposed to use the "get_client" method instead (the generic API is `plugin.get_client(keystore)`)
Remnants of old code.
2022-05-11 19:30:14 +02:00
SomberNight
aab8e664ed hw plugins: (cleanup) Plugin objects should not have a Client field
Clients are per-connected-device, plugins are ~singletons.
These were mostly remnants of old code.
2022-05-11 19:16:18 +02:00
SomberNight
30623c3529 hw plugins: (cleanup) Plugin objects should not have a Handler field
Handlers are per-client (connected device), plugins are ~singletons.
These were mostly remnants of old code.
2022-05-11 19:13:00 +02:00