1
0
Commit Graph

14917 Commits

Author SHA1 Message Date
Sander van Grieken
742012aee3 qml: add initial sign and broadcast feature to TxDetails/qetxdetails 2022-08-16 16:09:09 +02:00
Sander van Grieken
1c29ef12b5 qml: cosmetic changes 2022-08-16 16:09:05 +02:00
Sander van Grieken
fad9f87303 qml: accept raw tx from send page paste/qrscan and show TxDetails 2022-08-16 16:09:00 +02:00
Sander van Grieken
0f227b177c qml: use QEAmount setters also in qetxdetails 2022-08-16 10:04:50 +02:00
Sander van Grieken
153a9f3a53 qml: use only genericsharedialog component defined in main 2022-08-16 10:04:44 +02:00
Sander van Grieken
46641e7874 qml: handle unsigned, local tx in history 2022-08-16 10:04:39 +02:00
Sander van Grieken
3dffd3e0b5 qml: don't implicitly send_onchain from ConfirmTxDialog, externalize 2022-08-16 10:04:33 +02:00
Sander van Grieken
46d3aa4515 qml: enable send for watch-only wallets, show raw tx dialog after finalizing
also use QEAMount setters in qetxfinalizer instead of re-instantiating
2022-08-16 10:04:28 +02:00
Sander van Grieken
6190498dfc qml: add setters to QEAmount to allow updating values, as replacing QEAmount instances
makes Qt unhappy in a few cases when it still holds references to the old instance, which
happened occasionally in e.g. qetxfinalizer
2022-08-16 10:04:22 +02:00
Sander van Grieken
2ee6683dd0 qml: qetxdetails was missing this in 9eb7ee74e1 2022-08-16 10:03:51 +02:00
ThomasV
ff3c999fcb rm method is_static_remotekey_enabled for channel backups 2022-08-16 08:58:34 +02:00
SomberNight
7b8e257ebb wallet db upgrade: rm support of "legacy" lightning channels
("legacy" as in pre-static-remote-key channels)
2022-08-16 08:49:17 +02:00
ThomasV
1f403d1ca1 remove support for channels without static remote pubkey 2022-08-16 08:48:59 +02:00
ThomasV
21255b33af Merge pull request #7939 from SomberNight/202208_lnwatcher_dont_load_redeemed_chans
lnwatcher: don't add `REDEEMED` channels
2022-08-15 16:15:02 +02:00
SomberNight
3541ecb576 lnwatcher: don't add REDEEMED channels
Previously lnworker called LNWatcher.add_channel() on these, and then LNWatcher itself decided to unwatch them.

-----

note: motivation related to https://github.com/spesmilo/electrum/pull/7932#discussion_r945755584 ,
where I have legacy (pre-staticremotekey) redeemed channels in a wallet.
Tracebacks:
```
E/W | lnwatcher.LNWalletWatcher.[default_wallet-LNW] | Exception in do_breach_remedy: AssertionError()
Traceback (most recent call last):
  File "...\electrum\electrum\util.py", line 1235, in wrapper
    return await func(*args, **kwargs)
  File "...\electrum\electrum\lnwatcher.py", line 443, in do_breach_remedy
    sweep_info_dict = chan.sweep_ctx(closing_tx)
  File "...\electrum\electrum\lnchannel.py", line 264, in sweep_ctx
    our_sweep_info = self.create_sweeptxs_for_our_ctx(ctx)
  File "...\electrum\electrum\lnchannel.py", line 253, in create_sweeptxs_for_our_ctx
    return create_sweeptxs_for_our_ctx(chan=self, ctx=ctx, sweep_address=self.sweep_address)
  File "...\electrum\electrum\lnchannel.py", line 757, in sweep_address
    assert self.is_static_remotekey_enabled()
AssertionError
```
```
E/W | lnwatcher.LNWalletWatcher.[default_wallet-LNW] | Exception in trigger_callbacks: AssertionError()
Traceback (most recent call last):
  File "...\electrum\electrum\util.py", line 1235, in wrapper
    return await func(*args, **kwargs)
  File "...\electrum\electrum\lnwatcher.py", line 208, in trigger_callbacks
    await callback()
  File "...\electrum\electrum\lnwatcher.py", line 225, in check_onchain_situation
    keep_watching = await self.do_breach_remedy(funding_outpoint, closing_tx, spenders)
  File "...\electrum\electrum\util.py", line 1235, in wrapper
    return await func(*args, **kwargs)
  File "...\electrum\electrum\lnwatcher.py", line 443, in do_breach_remedy
    sweep_info_dict = chan.sweep_ctx(closing_tx)
  File "...\electrum\electrum\lnchannel.py", line 264, in sweep_ctx
    our_sweep_info = self.create_sweeptxs_for_our_ctx(ctx)
  File "...\electrum\electrum\lnchannel.py", line 253, in create_sweeptxs_for_our_ctx
    return create_sweeptxs_for_our_ctx(chan=self, ctx=ctx, sweep_address=self.sweep_address)
  File "...\electrum\electrum\lnchannel.py", line 757, in sweep_address
    assert self.is_static_remotekey_enabled()
AssertionError
```
2022-08-15 13:56:44 +00: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
ThomasV
a11dbb1a76 kivy: save manually entered amount into lightning invoices, as in Qt (related: #7935) 2022-08-15 12:35:22 +02:00
ThomasV
2d6f40c8b8 fix #7935 2022-08-15 12:16:11 +02:00
ThomasV
8486168bbe fix typo 2022-08-13 07:41:48 +02:00
ThomasV
83feec2cb3 fix #7933 2022-08-12 18:07:38 +02:00
Sander van Grieken
9eb7ee74e1 qml: expose more flags and TxMinedInfo in qetxdetails 2022-08-12 16:39:15 +02:00
Sander van Grieken
74e9c848cc qml: QEAmount returns 0 when amount is undefined
an undefined amount triggers a hard to debug crash when None/undefined is passing the
python/QObject boundary, so let's default to 0
2022-08-12 16:38:18 +02:00
SomberNight
13570a465c kivy request dialog: follow-up c95791d7ee
related https://github.com/spesmilo/electrum/pull/7929
2022-08-12 11:10:54 +00:00
ThomasV
fceceaec97 lnwatcher: set future_tx regardless of tx_was_added, because it is not persisted 2022-08-12 12:26:18 +02:00
ThomasV
9058000791 lnwatcher: fix adding of local tx to history 2022-08-12 12:10:09 +02:00
Sander van Grieken
1c852328c0 qml: try-except around data query, history is very unpredictable what's present and what's not 2022-08-12 11:59:59 +02:00
Sander van Grieken
0c3ce4a6b6 qml: add address to bolt11>bip21>address QR caroussel and remove address copy button
(conform qt and kivy)
2022-08-12 11:59:48 +02:00
Sander van Grieken
0d7bcb5dd2 qml: refactor HistoryItemDelegate into separate file 2022-08-12 11:59:40 +02:00
ThomasV
f65368f1d0 kivy request dialog: follow-up c95791d7ee:
- toggle between text and qr code
 - fix minor issues
2022-08-12 11:46:44 +02:00
SomberNight
c95791d7ee qt/kivy: receive tab: add wallet.ReceiveRequestHelp and refactor 2022-08-12 10:06:13 +02:00
SomberNight
0a6265ef58 qt new_channel_dialog: fix None-handling for lnworker.suggest_peer()
fixes https://github.com/spesmilo/electrum/issues/7931
2022-08-12 02:50:52 +00:00
SomberNight
767b058946 qt history tab: fix "View Channel" in context menu
related: https://github.com/spesmilo/electrum/issues/7930
2022-08-12 02:30:29 +00:00
SomberNight
ba72abdbf5 kivy request_dialog: default to LN if there is no URI 2022-08-11 19:39:55 +00:00
SomberNight
bd7a6a8f77 qt/kivy receive tab: show error msg when creating req with amt<dust 2022-08-11 14:55:34 +00:00
SomberNight
5f5e6b3cf3 kivy request_dialog: disable "lightning" btn if no LN part 2022-08-11 13:57:25 +00:00
SomberNight
1b2d46722c kivy request_dialog: rm some magic numbers
note: not sure how to use IntEnum with kivy's NumericProperty
2022-08-11 13:50:53 +00:00
SomberNight
7d481935e2 qt ReceiveTab: handle case with URI=="" 2022-08-11 13:11:54 +00:00
SomberNight
0e15d7a973 qt RequestList: allow copying URI even if there is no bitcoin addr
(when there is LN part but no on-chain part)
2022-08-11 13:09:51 +00:00
SomberNight
659d6890d9 wallet.get_request_URI: rm code duplication 2022-08-11 13:07:56 +00:00
SomberNight
7daeccdf85 qt ReceiveTab: ensure TabWidget has frame in more cases 2022-08-11 12:43:17 +00:00
SomberNight
bd2ca30f95 kivy: fix creating dust amount receive requests
fixes https://github.com/spesmilo/electrum/issues/7928
2022-08-11 12:38:46 +00:00
SomberNight
ea5c49b3ab wallet.delete_request(key): piggyback on get_request(key)
So that the two methods are consistent with each other.

As concrete motivation, see e.g.
- how the `getrequest(key)` command calls `wallet.get_request(key)`, and
- the `delete_request(address)` command calls `wallet.delete_request(address)`
2022-08-10 23:48:44 +02:00
SomberNight
0c81dc13a0 wallet: rm confusing get_request_by_address method
The _receive_requests dict is keyed by either 'address' or 'rhash' (see get_key_for_receive_request):
- 'rhash' is used if `req.lightning_invoice is not None`
- address is used otherwise

The `get_request_by_address` method was quite error-prone: it only worked for requests that had an LN part...
2022-08-10 23:23:00 +02:00
SomberNight
396a68cb58 wallet: delete_{invoice,request}: add "write_to_disk=True" param
to support faster batch-deletion
2022-08-10 22:50:23 +02:00
SomberNight
7e2fab809d appimage build: better parameterise python version 2022-08-10 21:03:55 +02:00
SomberNight
388811296e qt: replace some hardcoded pixel sizes for better high-dpi support 2022-08-10 20:23:56 +02:00
SomberNight
05863a611f tests: test_lnpeer.py: clean-up temp dirs created in /tmp, in tearDown 2022-08-10 18:16:17 +02:00
SomberNight
bc8edd2928 Add .editorconfig file
Default to LF EOL, UTF-8 and space indent. 4 space indent for .py/.sh files.

See https://editorconfig.org/

based on de392bb92c
2022-08-10 17:32:23 +02:00
Axel Gembe
07ee204c9c Qt Console: Fix font reset when moving between screens
When the console was moved between screen boundaries with different scaling
settings, the font was reset. This is because QPlainTextEdit sets the
documents default font back to its own font property when Qt has a font
change event. This patch sets the font property of the editor instead of
the document.

this ports 60d63b3272

related: https://github.com/Electron-Cash/Electron-Cash/issues/1314
2022-08-10 16:18:32 +02:00
avirgovi
b5d2b3c512 create chmod aware of XDG_RUNTIME_DIR
closes https://github.com/spesmilo/electrum/pull/7681
related https://github.com/spesmilo/electrum/issues/6334

Co-authored-by: avirgovi <avirgovi@cisco.com>
Co-authored-by: SomberNight <somber.night@protonmail.com>
2022-08-09 19:04:17 +02:00