SomberNight
d663d92424
qml: handle importChannelBackupFailed in WalletMainView
...
error was not being shown when scanning/pasting channel backup from Send screen
2 years ago
SomberNight
c5493a354d
qt PayToEdit: always add context menu items
...
fixes regression from https://github.com/spesmilo/electrum/pull/8462
2 years ago
ThomasV
40f2087ac3
Add option for support_large_channels.
...
max_funding_sats is a config variable and defaults to the old value.
2 years ago
SomberNight
a674f63ce3
qt channels list: add TODO
...
(noticed on regtest)
2 years ago
Sander van Grieken
f4f88f4294
qml: fix wizard text for keystore, wrap text
2 years ago
Sander van Grieken
583afefe33
qml: add deadzones on the edge of the screen to work around android back gesture unintended click events
2 years ago
ThomasV
4d84769096
Qt: Show notification instead of popup if a lightning payment fails.
2 years ago
Sander van Grieken
6b52aad3c8
qml: silence some null deref errors at shutdown
2 years ago
Sander van Grieken
60e007862b
qml: defer updates, fixes listitems not updating
2 years ago
Sander van Grieken
0428fc7c0a
qml: add explanatory infomessage when sending capacity is significantly less than local balance.
...
Show message when attempting unfreeze of gossip channel in trampoline mode
2 years ago
Sander van Grieken
45944d280d
qml: update channelbar when conditions change
2 years ago
Sander van Grieken
2cf4cc1978
qml: render reserved channel capacity in a darker tone, take frozen into account
2 years ago
Sander van Grieken
0d7ff92c43
send_tab: remove payment_identifier comments in send_tab
2 years ago
Sander van Grieken
40f15b158c
payment_identifier: reconstruct PI for bip70 invoice in pay_onchain_dialog instead of taking the send_tab PI
2 years ago
Sander van Grieken
d15050a2bf
payment_identifier: fix _on_finalize params, fix lnurlp send comment instead of description,
...
refactor payment_identifier.get_invoice to standalone invoice_from_payment_identifier
2 years ago
Sander van Grieken
b6863b4854
qml: add LabelSync toggle
2 years ago
SomberNight
bb8c73cabd
qt: kind of fix bip70 notify_merchant logic by passing around PI
...
```
229.18 | E | gui.qt.main_window.[test_segwit_2] | on_error
Traceback (most recent call last):
File "...\electrum\gui\qt\util.py", line 917, in run
result = task.task()
File "...\electrum\gui\qt\send_tab.py", line 681, in broadcast_thread
if self.payto_e.payment_identifier.has_expired():
AttributeError: 'NoneType' object has no attribute 'has_expired'
```
In SendTab.broadcast_transaction.broadcast_thread, self.payto_e.payment_identifier was referenced -
but do_clear() has already cleared it by then.
E.g. consider SendTab.pay_onchain_dialog: it calls save_pending_invoice(), which calls do_clear(),
and later (in sign_done), it calls window.broadcast_or_show, which will call SendTab.broadcast_transaction().
As there might be multiple independent transaction dialogs open simultaneously, the single shared state
send_tab.payto_e.payment_identifier approach was problematic -- I think it is conceptually nicer to
pass around the payment_identifiers as needed, as done with this change.
However, this change is not a full proper fix, as it still somewhat relies on
send_tab.payto_e.payment_identifier (e.g. in pay_onchain_dialog). Hence, e.g. when using
the invoice_list context menu "Pay..." item, as payto_e.payment_identifier is not set,
payment_identifier will be None in broadcast_transaction.
but at least we handle PI being None gracefully -- before this change, broadcast_transaction
expected PI to be set, and it was never set to the correct thing (as do_clear() already ran by then):
depending on timing it was either None or a new empty PI. In the former case, producing the above
traceback and hard failing (not only for bip70 stuff!), and in the latter, silently ignoring the logic bug.
2 years ago
SomberNight
612a8e6424
qt: fix: bip70 pay reqs need x509 verification
...
regression from https://github.com/spesmilo/electrum/pull/8462
- pr.verify() was called in qml, but not in qt gui
- we now call pr.verify() in get_payment_request(), to make the API less error-prone
- it is now ok to call pr.verify() multiple times, the result is cached
2 years ago
Sander van Grieken
023e8ff0eb
qml: remember invoice/qr type on ReceiveDialog
2 years ago
Sander van Grieken
86d79f3ec9
qml: show backup type, as in qt
2 years ago
SomberNight
0b0d58b289
qml: fix "copy" and "share" buttons for channel backup dialogs
...
The QR code was shown but the copy/share buttons did not do anything.
2 years ago
Sander van Grieken
6dd630cf3b
followup f5a8cc7076
2 years ago
Sander van Grieken
2d95c457dd
qml: addressdetails item order, add technical properties header
2 years ago
Sander van Grieken
016b5eb743
qml: show private key in address details
2 years ago
Sander van Grieken
5f2fee5184
qml: strip whitespace of data pasted/scanned before processing
2 years ago
Sander van Grieken
ae8c4f1281
payment_identifier: check if payment identifier is usable and enable/disable Send/Pay buttons
2 years ago
Sander van Grieken
f980bd97b5
payment_identifier: factor out bip21 functions to bip21.py to break cyclic dependencies,
...
parse bolt11 only once, store invoice internally instead of bolt11 string
add is_onchain method to indicate if payment identifier can be paid onchain
2 years ago
Sander van Grieken
db6779bf04
qt: show send tab if payment identifier is passed on the cmdline
2 years ago
ThomasV
9b41bcf992
setFrozen: use light blue, black text is difficult to read on a blue background
2 years ago
Sander van Grieken
c4e8869c1a
qml: add PIN auth to close channel operation.
2 years ago
Sander van Grieken
5f8b8ce97e
qml: show channel backup and explanatory message before local force close, and let user confirm before doing the close operation
...
also show message dialog after close succeeded instead of just closing the channel close dialog
2 years ago
Sander van Grieken
b6010aad0f
paytoedit: promote to QWidget and encapsulate QLineEdit vs QTextEdit juggling
2 years ago
SomberNight
0d29733419
qml/qedaemon.py: don't use daemon._wallets field directly
...
it's more robust to use the public methods
2 years ago
Sander van Grieken
81544fdaed
send_tab: simplify lock_recipient check
3 years ago
Sander van Grieken
30abcad999
payment_identifier: move amount_range into payment_identifier
3 years ago
Sander van Grieken
49dab82efa
send_tab: add spinner for network lookup indication
3 years ago
Sander van Grieken
febb2222d4
send_tab: simplify lock_max
3 years ago
Sander van Grieken
3df13b8ce4
qt: disallow save of LNURLp/LnAddr
3 years ago
Sander van Grieken
6b57743c3e
send_tab: add LNURLp range as tooltip on amount field
3 years ago
Sander van Grieken
fbb37d6fae
payment_identifier: add DOMAINLIKE payment identifier type, support domainlike -> openalias
3 years ago
Sander van Grieken
0cbf403f8b
use NamedTuple for payment identifier gui fields
3 years ago
Sander van Grieken
3a1e5244b8
qt: fix enable/disable max button for openalias and restrict openalias to address only
3 years ago
Sander van Grieken
eed016bd7e
qt: move setting frozen styling to edit components themselves, fix re-enabling Clear button after finalize
3 years ago
Sander van Grieken
ca283a75d0
qml: exclude non-address SPK from supported payment identifiers
3 years ago
Sander van Grieken
74a1f38a8b
payment identifier types as enum
3 years ago
Sander van Grieken
fc141c0182
payment_identfier: refactor qml and tests
3 years ago
Sander van Grieken
915f66c0b8
payment_identifier: fix emaillike
...
qt: validate on pushback timer, buttons enable/disable, cleanup
3 years ago
Sander van Grieken
bde066f9ce
qt: refactor send_tab, paytoedit
3 years ago
Sander van Grieken
d9a43fa6ed
refactor last callback, signals. remove timered validate, don't add invalid address/amount to outputs
3 years ago
Sander van Grieken
b1925f8747
payment_identifier: refactor round_3 to need_merchant_notify/notify_merchant
3 years ago