1
0
Commit Graph

15629 Commits

Author SHA1 Message Date
SomberNight
2378f92a6a tests: add more "sweep" tests for different script types 2023-02-14 12:19:18 +00:00
SomberNight
2d6e34c8c2 ecc: make ECPubkey.__lt__ relation strongly-connected/total
Previously we had:
```
>>> import electrum
>>> from electrum.ecc import POINT_AT_INFINITY
>>> G = electrum.ecc.GENERATOR
>>> G <= (-1 * G)
False
>>> (-1 * G) <= G
False
```
2023-02-14 12:19:14 +00:00
SomberNight
df2bd61de6 bip32: change hardened char "'"->"h" when encoding derivation paths
We accept either when decoding - this only changes what we use when encoding.
Single quotes are annoying to use in a shell, as they often need to be escaped.
2023-02-14 12:19:10 +00:00
Sander van Grieken
2b0e624876 qml: styling CloseChannelDialog, InvoiceDialog 2023-02-14 12:32:33 +01:00
Sander van Grieken
995754e523 qml: add expiry timers to update status string in InvoiceDialog and ReceiveDialog 2023-02-14 11:36:13 +01:00
ThomasV
292ce35945 receive tab: copy to clipboard when tab is changed 2023-02-13 11:20:10 +01:00
ThomasV
1da65451c0 Qt: schedule tooltip in do_copy 2023-02-13 11:11:26 +01:00
SomberNight
faea1e6e1a lnchannel: add more debug logging for ctx/htlc sigs
related: https://github.com/spesmilo/electrum/issues/8191
2023-02-13 01:23:47 +00:00
ThomasV
4a91213044 minor fix 2023-02-12 13:28:19 +01:00
ThomasV
d766f2fd9e Qt: make copy menus more consistent 2023-02-12 11:13:03 +01:00
ThomasV
df842af0b6 UTXO tab: add menus to fully spend utxo:
- send to address
 - in new channel
 - in submarine swap

This is easier than coin control, because it does not involve
switching tabs. Coin control is activated during the operation,
so that users learn how it works.
2023-02-11 10:49:33 +01:00
ThomasV
5e88b0da88 swaps: cache pairs to file 2023-02-11 10:27:12 +01:00
ThomasV
215629235d submarine_swaps: fix bugs and create method for max_amount_forward_swap 2023-02-11 10:21:01 +01:00
Sander van Grieken
095b6dab0f qml: fix display of negative millisat amounts in qefx.py for historic amounts too 2023-02-11 09:56:09 +01:00
Sander van Grieken
b5f0be2d8d qml: use FormattedAmount for fee in LightningPaymentDetails 2023-02-11 09:51:24 +01:00
Sander van Grieken
56cdc4a92b qml: fix display of negative millisat amounts in FormattedAmount, qefx.py 2023-02-11 09:50:56 +01:00
Sander van Grieken
8a8703d5ea qml: styling 2023-02-10 17:24:39 +01:00
ThomasV
d7f48c8805 Qt history tab: create submenu for edit actions 2023-02-10 17:13:02 +01:00
ThomasV
f617887509 RBF dialog: do not decrease payment for swap funding transactions. 2023-02-10 16:30:08 +01:00
Sander van Grieken
e9ad9986d7 qml: qedaemon doesn't need wallet path and name properties, pass them via the signal 2023-02-10 14:27:39 +01:00
Sander van Grieken
fc212b1dcc qml: improve OpenWalletDialog, PasswordDialog and PasswordField 2023-02-10 14:26:13 +01:00
Sander van Grieken
2d5ba84e35 qml: styling InfoTextArea 2023-02-10 14:11:31 +01:00
Sander van Grieken
8ccc4801f7 qml: ConfirmTxDialog styling slider, avoid running off small screens 2023-02-10 13:29:18 +01:00
Sander van Grieken
1bfc4f1529 qml: android notification params 2023-02-10 13:29:18 +01:00
Sander van Grieken
02fd25141e qml: ConfirmTxDialog layout fixes 2023-02-10 13:29:17 +01:00
Sander van Grieken
3cb9ded1ca qml: fix flickable margins TxDetails and WalletDetails 2023-02-10 13:29:17 +01:00
ThomasV
965ccedc88 tx dialog clean-up: remove 'finalized' field and related code 2023-02-10 13:02:58 +01:00
ThomasV
d1eb909bee UTXO tab: simplify freeze menus 2023-02-10 10:35:13 +01:00
ThomasV
bf16919a74 Merge pull request #8197 from spesmilo/new_tx_flow
Qt: new onchain tx creation flow:
2023-02-10 10:26:44 +01:00
ThomasV
a4928ea6ed TxEditor: various tweaks 2023-02-09 14:58:57 +01:00
ThomasV
ad83eaaba1 TxEditor: rework update methods, separate _update_message from _update_send_button 2023-02-09 14:21:03 +01:00
Sander van Grieken
d1a40c47cf qml: fix max toggle in InvoiceDialog 2023-02-09 12:42:09 +01:00
Sander van Grieken
31523449b3 qml: OTP dialog improvements 2023-02-09 12:20:50 +01:00
ThomasV
13222c479c TxEditor: make trigger_update not private, call it on rbf combo changed. 2023-02-09 11:29:10 +01:00
ThomasV
a740a8a004 TxEditor: move set_locktime 2023-02-09 11:15:31 +01:00
ThomasV
95433cd153 TxEditor: update_extra_fees, overloaded by ConfirmTxDialog 2023-02-09 11:07:37 +01:00
ThomasV
8c00188348 TxEditor: set locktime 2023-02-09 10:52:09 +01:00
Sander van Grieken
11439fb3fd qml: don't stack exception dialogs when multiple exceptions happen 2023-02-09 01:34:54 +01:00
Sander van Grieken
c9b6917ab7 qml: Addresses fills page 2023-02-09 01:21:09 +01:00
Sander van Grieken
1e60cb740f qml: fixes TextHighlightPane 2023-02-09 01:21:09 +01:00
SomberNight
72d750c51c plot history: also include lightning items
```
  6.15 | E | gui.qt.exception_window.Exception_Hook | exception caught by crash reporter
Traceback (most recent call last):
  File "/home/user/wspace/electrum/electrum/gui/qt/history_list.py", line 637, in plot_history_dialog
    plt = plot_history(list(self.hm.transactions.values()))
  File "/home/user/wspace/electrum/electrum/plot.py", line 24, in plot_history
    if not item['confirmations']:
KeyError: 'confirmations'
```
2023-02-08 23:37:51 +00:00
SomberNight
227ccc65d4 perf: load matplotlib on-demand
it takes ~1.7 seconds to import electrum.plot, slowing down app-startup considerably
2023-02-08 23:37:11 +00:00
SomberNight
ad0b853cd9 invoices: improve perf by caching lnaddr even earlier
During wallet-open, we load all invoices/payreqs. This involved decoding the lnaddrs twice.
Now we only decode once.

For a wallet with ~1000 payreqs, this noticeably sped up wallet-open:
(before:)
8.83 | D | util.profiler | Daemon._load_wallet 6.4317 sec
(after:)
5.69 | D | util.profiler | Daemon._load_wallet 3.4450 sec

It is very expensive to parse all the lnaddrs...
2023-02-08 23:36:36 +00:00
SomberNight
8a53a3201c wallet.try_detecting_internal_addresses_corruption: check more addrs
related https://github.com/spesmilo/electrum/issues/8202

For a HD wallet, instead of checking the first 10 addrs + 10 additional random ones,
we now check the first 10 addrs + 10 random used addrs + 10 random unused addrs.
Checking unused addresses is useful to prevent getting money sent there,
and checking used addresses is useful to inform people of already lost money.
2023-02-08 23:32:32 +00:00
SomberNight
90f1279d9a addr_sync: (trivial) don't use private utxo._is_coinbase_output 2023-02-08 23:32:28 +00:00
Sander van Grieken
6b8f9f8fe2 qml: allow ln node connect string without port, default to 9735 2023-02-08 17:31:08 +01:00
Sander van Grieken
6cb6531fd9 qml: add swap progress dialog 2023-02-08 17:12:20 +01:00
ThomasV
1d00b56b64 make ConfirmTxDialog resizeable 2023-02-08 13:28:03 +01:00
Sander van Grieken
c5883c7cdb text guis low hanging fruit 2023-02-08 12:51:24 +01:00
ThomasV
53b7cc3f90 use shared prefix for config keys related to tx editor 2023-02-08 11:34:48 +01:00