1
0
Commit Graph

15725 Commits

Author SHA1 Message Date
SomberNight
ec889b8c3f wallet: fix import_requests, and mention quirk re preimages 2023-03-03 16:35:34 +00:00
SomberNight
81bd6f7d1b follow-up invoice changes: fix "Add lightning invoice to bitcoin URIs"
follow-up 719b468eee
2023-03-03 16:14:35 +00:00
SomberNight
9e81aba578 follow-up invoice changes: fix kivy RequestDialog
follow-up 719b468eee
2023-03-03 16:02:29 +00:00
SomberNight
ca0e4d21f1 follow-up invoice changes: fix kivy lightning_tx_dialog
follow-up 719b468eee
2023-03-03 16:02:26 +00:00
SomberNight
26cc1b8308 follow-up invoice changes: fix qt lightning_tx_dialog
follow-up 719b468eee

Traceback (most recent call last):
  File "...\electrum\electrum\gui\qt\history_list.py", line 673, in mouseDoubleClickEvent
    self.parent.show_lightning_transaction(tx_item)
  File "...\electrum\electrum\gui\qt\main_window.py", line 1082, in show_lightning_transaction
    d = LightningTxDialog(self, tx_item)
  File "...\electrum\electrum\gui\qt\lightning_tx_dialog.py", line 60, in __init__
    self.invoice = invoice.lightning_invoice
AttributeError: 'Request' object has no attribute 'lightning_invoice'
2023-03-03 16:02:22 +00:00
SomberNight
a1a1fae4cc invoices.py: small clean-up 2023-03-03 16:02:19 +00:00
SomberNight
b42b5c0c0f follow-up invoice changes: fix kivy ReceiveScreen
follow-up 719b468eee
2023-03-03 16:02:16 +00:00
SomberNight
5673f08750 follow-up invoice changes: fix wallet.get_bolt11_inv if amt is None
follow-up 719b468eee

Traceback (most recent call last):
  File "...\electrum\electrum\gui\qt\request_list.py", line 111, in item_changed
    self.receive_tab.update_current_request()
  File "...\electrum\electrum\gui\qt\receive_tab.py", line 227, in update_current_request
    lnaddr = self.wallet.get_bolt11_invoice(req) if not help_texts.ln_is_error else ''
  File "...\electrum\electrum\wallet.py", line 2515, in get_bolt11_invoice
    amount_msat = req.amount_msat if req.amount_msat > 0 else None
TypeError: '>' not supported between instances of 'NoneType' and 'int'
2023-03-03 16:02:12 +00:00
Sander van Grieken
8fe181d757 qml: sort languages 2023-03-03 15:50:42 +01:00
Sander van Grieken
ba888fc9fa qml: background flatbuttons within pages 2023-03-03 15:50:13 +01:00
Sander van Grieken
b16fb5088b qml: padding around label above TextHighlightPanes 2023-03-03 15:05:29 +01:00
Sander van Grieken
94fd0dcf10 qml: remove bolt11 invoice from qelnpaymentdetails/LightningPaymentDetails 2023-03-03 13:40:31 +01:00
Sander van Grieken
0f596cf2e9 qml: report unified password change failure, impose minimum password length of 5, disallow empty passwords 2023-03-03 12:56:02 +01:00
Sander van Grieken
90355a150f qml: fix exception handler register opened wallet 2023-03-03 12:26:36 +01:00
Sander van Grieken
72b07a3630 qml: don't initialize swaphelper if a non-lightning wallet is opened
Due to swaphelper's lifecycle (it is kept around longer than the swap dialog) it might
get initialized with a non-lightning wallet. don't initialize in that case.

proper fix is to tie the lifecycle to the swap process, or make it a child of the wallet.
2023-03-03 10:53:03 +01:00
Sander van Grieken
41f0f73bed qml: PIN enable/disable/change more in line with other preferences items 2023-03-03 10:41:06 +01:00
Sander van Grieken
9c73a55c45 qml: styling CPFP dialog, Toaster, GenericShareDialog 2023-03-03 10:20:41 +01:00
ThomasV
e24c4004fa change invoice type hints following 719b468eee 2023-03-03 10:08:34 +01:00
ThomasV
9f5c5f92b3 follow-up 719b468eee 2023-03-03 10:04:37 +01:00
SomberNight
4ee6def7ee qt swap dialog: (trivial) make "toggle swap direction" btn wider
with dark theme enabled, PushButtons are only as wide by default as the text they contain
2023-03-02 16:58:42 +00:00
Sander van Grieken
8278689cc3 qml: fix initial sync state, remove isUptodate property 2023-03-02 16:19:30 +01:00
Sander van Grieken
0da1be33b7 qml: topbar label show wallet icon only when wallet name is displayed 2023-03-02 15:44:30 +01:00
Sander van Grieken
6383f83933 qml: separate app menu and wallet menu 2023-03-02 12:54:59 +01:00
Sander van Grieken
67f3c1eb05 qml: don't init QERequestListModel/requestModel 2023-03-02 11:58:00 +01:00
Sander van Grieken
6a523b3de0 Revert "qml: don't update (and by extension initialize) requestModel, as it isn't used"
This reverts commit 27711093d2.
2023-03-02 11:56:52 +01:00
Sander van Grieken
27711093d2 qml: don't update (and by extension initialize) requestModel, as it isn't used 2023-03-02 11:20:58 +01:00
Sander van Grieken
f65158a23f qml: move menu back to topbar, move addresses and channels to walletdetails and
add walletdetails to topbar menu
2023-03-02 10:49:01 +01:00
ThomasV
765d231209 utxo dialog: fix pipe symbol 2023-03-02 09:49:29 +01:00
SomberNight
958191013b qt tx dialog: remove "desc" field, just use wallet.get_label_for_txid 2023-03-01 17:13:21 +00:00
SomberNight
d11237d6a1 lnworker: start watching already redeemed chans if txs are missing
This fixes a bug where if one runs `wallet.clear_history()` they would see exceptions later:
```
Traceback (most recent call last):
  File "/home/user/wspace/electrum/electrum/gui/qt/main_window.py", line 866, in timer_actions
	self.update_wallet()
  File "/home/user/wspace/electrum/electrum/gui/qt/main_window.py", line 1021, in update_wallet
	self.update_tabs()
  File "/home/user/wspace/electrum/electrum/gui/qt/main_window.py", line 1033, in update_tabs
	self.utxo_list.update()
  File "/home/user/wspace/electrum/electrum/gui/qt/utxo_list.py", line 103, in update
	self.refresh_row(name, idx)
  File "/home/user/wspace/electrum/electrum/gui/qt/utxo_list.py", line 124, in refresh_row
	parents = self.wallet.get_tx_parents(txid)
  File "/home/user/wspace/electrum/electrum/wallet.py", line 885, in get_tx_parents
	result.update(self.get_tx_parents(_txid))
  File "/home/user/wspace/electrum/electrum/wallet.py", line 881, in get_tx_parents
	for i, txin in enumerate(tx.inputs()):
AttributeError: 'NoneType' object has no attribute 'inputs'
```
This is related to the privacy analysis, which assumes that for each tx item in the history list
we should have the raw tx in the db. This is no longer true after wallet.clear_history(), if
the wallet has certain LN channels. E.g. an already redeemed channel that was local-force-closed,
as that closing tx is not related to the wallet directly.

In commit 3541ecb576, we decided not to watch already redeemed channels.
This is potentially good for e.g. privacy, as the server would otherwise see us subscribe to that chan.
However it means that after running wallet.clear_history() txs related to the channel but not to the
wallet won't be re-downloaded.

Instead, now if there are missing txs for a redeemed channel, we start watching it, hence the
synchronizer will re-downloaded the txs.
2023-03-01 16:20:42 +00:00
SomberNight
f6dc72899a lnsweep: use chan.logger instead of module _logger
to log the chan id for free
2023-03-01 15:27:13 +00:00
SomberNight
3c5774a189 qt tx dialog: fix for ln-related txs when --offline
Traceback (most recent call last):
  File "/home/user/wspace/electrum/electrum/gui/qt/transaction_dialog.py", line 255, in _open_internal_link
    self.main_window.do_process_from_txid(txid=target, parent=self)
  File "/home/user/wspace/electrum/electrum/gui/qt/main_window.py", line 2212, in do_process_from_txid
    self.show_transaction(tx)
  File "/home/user/wspace/electrum/electrum/gui/qt/main_window.py", line 1079, in show_transaction
    show_transaction(tx, parent=self, desc=tx_desc)
  File "/home/user/wspace/electrum/electrum/gui/qt/transaction_dialog.py", line 351, in show_transaction
    d = TxDialog(tx, parent=parent, desc=desc, prompt_if_unsaved=prompt_if_unsaved)
  File "/home/user/wspace/electrum/electrum/gui/qt/transaction_dialog.py", line 449, in __init__
    self.update()
  File "/home/user/wspace/electrum/electrum/gui/qt/transaction_dialog.py", line 667, in update
    tx_mined_status = self.wallet.lnworker.lnwatcher.adb.get_tx_height(txid)
AttributeError: 'NoneType' object has no attribute 'adb'
2023-03-01 14:45:25 +00:00
ThomasV
4ad9caddab Merge pull request #8231 from spesmilo/fix_8213
Refresh bolt11 routing hints when channel liquidity changes:
2023-03-01 11:35:34 +01:00
ThomasV
b29a63a1f8 TxEditor: always show preview button 2023-03-01 11:23:46 +01:00
ThomasV
33c7ecbaf8 utxo details: show list of parents as a tree 2023-03-01 11:07:12 +01:00
Sander van Grieken
9a3e533096 qml: remove requests button again 2023-02-28 16:31:21 +01:00
Sander van Grieken
e91c45e611 qml: text change 'Change' to 'Modify' 2023-02-28 16:20:18 +01:00
Sander van Grieken
5912c92260 qml: TxDetails buttons refactor
all buttons have icons now
bump fee and cancel tx now below status line in highlightbox
2023-02-28 16:19:47 +01:00
ThomasV
719b468eee Refresh bolt11 routing hints when channel liquidity changes:
- wallet_db update: separate Invoices and Requests.
 - do not store bolt11 invoice in Request
2023-02-28 15:33:17 +01:00
Sander van Grieken
c7cb2fb9e6 qml: explicitly use None when empty string is used as password
backend requires None, Qt5 passes empty string
2023-02-28 14:51:19 +01:00
Sander van Grieken
7e84aed9c2 qml: log and reraise any exceptions in the constructor of QEAbstractInvoiceListModel, so we
at least see the root cause of the confusing AttributeError: 'QEWallet' object has no attribute 'requestModel'
2023-02-28 14:32:26 +01:00
Sander van Grieken
a88c2ced25 qml: qerequestdetails check lnworker before deref 2023-02-28 14:15:37 +01:00
Sander van Grieken
d59e687cdb qml: follow-up fe540200a9 2023-02-28 14:11:52 +01:00
Sander van Grieken
fe540200a9 qml: report wallet open problems when walletdb cannot open a wallet (WalletFileException) 2023-02-28 14:04:20 +01:00
Sander van Grieken
0928c0190a qml: fix toaster quirkyness 2023-02-28 11:58:15 +01:00
ThomasV
da402973cd follow-up 72fb43f950 2023-02-28 09:34:03 +01:00
ThomasV
cb8cc76e1f requests list: remove hidden column LN_INVOICE 2023-02-27 21:40:43 +01:00
Sander van Grieken
68a3364c33 qml: clear deferred intent after processing 2023-02-27 14:42:26 +01:00
Sander van Grieken
8faf8f4a31 wine: add --allow-downgrades to second apt-get command 2023-02-27 12:45:44 +01:00
Sander van Grieken
6a6982cdae qml: defer intent handling at startup, otherwise it gets lost as the app is not handling the signal yet.
Also defer intent handling until a wallet is opened.
2023-02-27 12:20:51 +01:00