Commit Graph

1385 Commits

Author SHA1 Message Date
bitromortac
ebc5954d61 fix ln payments: set payto_e ln invoice correctly
payto_e.lightning_invoice has to be set after the payment field is set
to the node pub key, because check_text has the side effect of resetting
the payto_e.lightning_invoice
2021-08-20 09:21:47 +02:00
bitromortac
e9a1bd1f1e kivy: fix on_intent to call set_URI 2021-07-30 09:47:43 +02:00
bitromortac
c65caf6c68 qt+android: add lightning URI support 2021-07-30 08:44:15 +02:00
SomberNight
a1f69fef97 qt channels list: align "can send", "can recv" cols based on amounts 2021-07-28 15:29:23 +02:00
SomberNight
419d71b4ef (trivial) qt settings: fix a type hint
(no change in behaviour)
2021-07-28 15:29:20 +02:00
SomberNight
e7ccf1584e config: make adding thousand separators to amounts optional 2021-07-28 15:29:16 +02:00
Siddhant Chawla
a8ecc68833 Added BTC and Fiat amount on the confirmation screen for Lightning Invoice (#7425)
Added BTC and Fiat amount(as enabled by the user) on the confirmation screen for a Lightning Invoice in the Kivy GUI 

closes https://github.com/spesmilo/electrum/issues/7410
2021-07-22 18:23:32 +00:00
SomberNight
2881d1e62c kivy: fix: when changing units or ccy, history list was not updated
When changing e.g. from mBTC to BTC, the history list was only
partially updated: the displayed amounts got updated but the
displayed unit did not, so incorrect information was shown.
2021-07-21 20:34:05 +02:00
SomberNight
18c9a1af10 kivy: format_amount: minor clean-up 2021-07-21 18:35:06 +02:00
SomberNight
5891e039b1 config: add option to display amounts with msat precision 2021-07-20 20:35:44 +02:00
SomberNight
173225ae92 qt custom block explorer: fix handling non-str config values
fixes https://github.com/spesmilo/electrum/issues/7421

The config key can have non-str values (see line 367).
2021-07-20 16:54:40 +02:00
SomberNight
c5129ee447 follow-up prev 2021-07-15 01:47:26 +02:00
SomberNight
8481afb286 lnchannel: introduce HTLCWithStatus NamedTuple 2021-07-15 01:35:24 +02:00
SomberNight
d0f0669e8f crash reporter: send traceback for full chain of exceptions
Previously if there was a chain of exceptions, we were only
sending the traceback for the final exception.

E.g.
try:
    raise ExcOne("asdasd")
except ExcOne() as e:
    raise ExcTwo("qweqwe") from e

^ we would lose all info about ExcOne, including potentially many lines of trace
2021-07-12 19:24:58 +02:00
SomberNight
8945dcda7a qt init: on exc, let crash reporter appear instead of silently dying
related: https://github.com/spesmilo/electrum/issues/7390

```
20210706T091826.513398Z |    ERROR | __main__ | daemon.run_gui errored
Traceback (most recent call last):
  File "run_electrum", line 407, in handle_cmd
  File "electrum\daemon.py", line 584, in run_gui
  File "electrum\gui\qt\__init__.py", line 414, in main
  File "electrum\gui\qt\__init__.py", line 291, in wrapper
  File "electrum\gui\qt\__init__.py", line 316, in start_new_window
  File "electrum\gui\qt\__init__.py", line 361, in _start_wizard_to_select_or_create_wallet
  File "electrum\wallet_db.py", line 73, in __init__
  File "electrum\wallet_db.py", line 106, in load_data
  File "electrum\util.py", line 412, in <lambda>
  File "electrum\util.py", line 408, in do_profile
  File "electrum\wallet_db.py", line 175, in upgrade
  File "electrum\wallet_db.py", line 540, in _convert_version_24
ValueError: too many values to unpack (expected 2)
```
2021-07-07 19:19:43 +02:00
SomberNight
7236dae94b kivy wizard: add explicit warnings at seed creation 2021-07-05 19:40:02 +02:00
SomberNight
82bfe1ba9c kivy crash reporter: warn users not to share sensitive info
Previously only Qt had the warning.
2021-07-05 18:59:02 +02:00
SomberNight
cfdadeda67 qt: some fixes for send/receive tabs when window is small 2021-07-05 17:26:29 +02:00
BamaHodl
ea19b665ff Friendlier minimum sizing for small screens for air-gapped signing functionalities, i.e. main window and transaction dialog 2021-07-02 12:04:41 -05:00
SomberNight
013cf869f1 qt: qrreader: keep both old and new toolchain; try to abstract it away 2021-06-25 16:52:02 +02:00
SomberNight
c1dbcab9bb qt: new qrreader using QtMultimedia; drop CalinsQRReader(mac)
This commit ports the work of EchterAgo and cculianu from Electron-Cash,
to implement a new toolchain to scan qr codes.

Previously, on Linux and Win, we have been using zbar to access the camera
and read qrcodes; and on macOS we used CalinsQRReader (an objective-C
project by cculianu).

The new toolchain added here can use QtMultimedia to access the camera,
and then feed that image into zbar. When used this way, zbar needs
fewer dependencies and is easier to compile, in particular it can be
compiled for macOS.

The new toolchain works on all three platforms, with some caveats
(see code comments in related commits) -- so we also keep the end-to-end
zbar toolchain; but at least we can drop CalinsQRReader.

The related changes in Electron-Cash are spread over 50+ commits (several PRs and direct
pushes to master), but see in particular:
https://github.com/Electron-Cash/Electron-Cash/pull/1376

some other interesting links:
b2b737001c
163224cf1f
3b31e0fcb1
eda015908e
https://github.com/Electron-Cash/Electron-Cash/pull/1545
052aa06c23
2021-06-25 16:51:58 +02:00
SomberNight
129d5ba417 qt: (fix) make ScanQRTextEdit inherit Logger
the error handling in `qr_input()`, around line 81,
references `self.logger`, which would raise
2021-06-25 16:50:52 +02:00
SomberNight
bc5ec96387 kivy: scan_qr_non_android: handle user closing window
handle user closing window without scanning a qr code
(i.e. cancelling scan)
2021-06-25 16:44:39 +02:00
ghost43
b828627dc6 Merge pull request #6917 from andrewkozlik/slip39
SLIP-0039 wallet recovery
2021-06-22 19:44:02 +02:00
SomberNight
60e0cd65cf slip39: follow-ups
- fix kivy wizard restore-from-seed
- qt seed dialog: disable "next share" if current share is invalid
- fix tests: file paths should not depend on $PWD (working dir)
2021-06-22 19:24:16 +02:00
SomberNight
57e52da77f lnaddr: clean-up SEGWIT_HRP vs BOLT11_HRP confusion
With signet, SEGWIT_HRP != BOLT11_HRP, so the previous "currency" string
became a flawed concept. Instead we pass around net objects now.
2021-06-22 16:16:21 +02:00
ghost43
5dff461aaa Merge pull request #7282 from wakiyamap/add_signet
add signet support
2021-06-22 16:15:38 +02:00
SomberNight
ba8af9310f kivy addresses list: add "funded or unused" filter option
note: "Funded or Unused" shortened to "Funded|Unused" to save horizontal space
2021-06-19 16:19:24 +02:00
Chris
3ff537465b qt addresses list: add "funded or unused" filter option 2021-06-19 15:50:08 +02:00
SomberNight
90579ccfea kivy: fix paying bip70 invoices
this is a regression from #7234
2021-06-19 14:57:15 +02:00
SomberNight
c49d6995d2 kivy: fixes regression where non-LN wallet cannot open settings...
fixes https://github.com/spesmilo/electrum/issues/6262#issuecomment-863087368
2021-06-17 11:48:58 +02:00
SomberNight
3adb309d49 kivy settings: more intuitive "recoverable channels" toggle
Previously if the wallet did not have a deterministic node id,
the wallet info dialog could say "lightning enabled, non-recoverable channels", but
the "recoverable channels" setting could be toggled and might even say "yes".
2021-06-11 15:00:06 +02:00
SomberNight
325cd950a4 kivy: settings dialog: call update() from __init__
this is a clearer/easier-to-understand API
2021-06-11 14:51:09 +02:00
ghost43
c43896fe6a Merge pull request #7263 from SomberNight/202104_android
reproducible build for Android apk
2021-06-10 13:19:41 +00:00
SomberNight
3c9346cce2 android build: attempt at reproducible builds 2021-06-09 18:34:09 +02:00
Thorsten Hempel
fbf76af2c5 Update wallet backup access (#7300) 2021-06-07 16:46:25 +00:00
SomberNight
a425ab0301 invoices/lnaddr: LNInvoice.from_bech32 now raises InvoiceError
rm LnAddressError

fixes https://github.com/spesmilo/electrum/issues/7321
related https://github.com/spesmilo/electrum/pull/7234
2021-06-07 14:46:30 +02:00
SomberNight
cd50472b18 kivy: (fix) forbid creating LN payreq if LN is disabled for wallet
fix #6346

see https://github.com/spesmilo/electrum/issues/6346#issuecomment-854655931
2021-06-04 14:11:19 +02:00
SomberNight
9c1a51547a kivy: (trivial) clean-up imports in screens.py 2021-05-06 18:19:55 +02:00
SomberNight
3b0209a3a5 follow-up prev 2021-05-06 18:18:52 +02:00
bitromortac
853e912885 invoice: fail gracefully with large amount 2021-05-06 15:37:17 +02:00
wakiyamap
639cd94dcb add signet support 2021-05-06 19:47:22 +09:00
Andrew Kozlik
0dce13a1dd Implement SLIP-0039 wallet recovery. 2021-04-30 19:55:47 +02:00
SomberNight
ef3293ab6a kivy: relocate atlas so it can be made a submodule later 2021-04-30 16:44:32 +02:00
bitromortac
97b31880d7 kivy: improve openchannel dialog for trampoline 2021-04-30 13:32:07 +02:00
ThomasV
04b1e8718a tx dialog (Qt): if possible, save psbt and fully signed transaction under the same basename. 2021-04-26 12:31:04 +02:00
SomberNight
86ba37dc1c qt send tab: when clicking "Max", show tooltip explaining max amt
Beginner users often ask why they cannot send their full balance.
Hence, this intends to reduce support load.
In terms of UI, maybe there is a better way to do this but this was
easy to do and still a good first step IMHO.
2021-04-23 17:52:19 +02:00
SomberNight
37bde9baf9 qt: cpfp: fix handling "no dynamic fee estimates"
fixes #7237
2021-04-23 17:27:00 +02:00
SomberNight
1436760d3d qt coins tab: Ctrl+F now searches the whole prevout string
(not just the truncated string that is displayed in the list)
2021-04-22 20:56:00 +02:00
SomberNight
3b77340671 Qt MyTreeView: rm usages of Qt.UserRole, use explicit roles instead
This is a bit more verbose but it explicitly shows what data is being
used where.

Also rm implicitly setting editable_columns based on stretch_column.
2021-04-22 20:37:14 +02:00