Commit Graph

13283 Commits

Author SHA1 Message Date
SomberNight d13995309a qt main_window: add error handling to show_bitcoin_paper
related: #6970
2021-01-27 20:46:53 +01:00
SomberNight 338adf05ba interface.get_transaction: stricter sanitisation
in particular, Transaction.__init__ allows leading/trailing whitespaces
2021-01-27 20:46:49 +01:00
SomberNight 7294613447 util.is_hex_str: forbid whitespaces 2021-01-27 20:46:46 +01:00
ThomasV 176a1162b4 Merge pull request #6972 from wakiyamap/patch-2
Fix error of showing bitcoin paper(testnet)
2021-01-26 19:38:29 +01:00
Jin Eguchi f548b63563 Fix error of showing bitcoin paper(testnet) 2021-01-27 03:34:19 +09:00
ThomasV d7515b936e Qt: download and show bitcoin whitepaper. fixes #6970 2021-01-26 16:25:07 +01:00
ThomasV d6e293052a Qt: set need_update on payment received (minor fix) 2021-01-25 13:34:40 +01:00
ThomasV 8a656d648b kivy: disable gossip button is channel_db is None 2021-01-24 15:45:11 +01:00
ThomasV 986de70529 Qt: fix invoices refresh (follow-up 94708f63e4) 2021-01-24 11:40:02 +01:00
ThomasV 895f9daded add 'view log' action for LN payments in tx history 2021-01-24 11:06:08 +01:00
ThomasV d4ab4b37b7 Merge pull request #6965 from SomberNight/202101_custom_block_explorer
qt block explorer: allow custom URL
2021-01-24 10:38:09 +01:00
SomberNight 1abecf25c9 qt block explorer: allow custom URL
The QTextEdit expects values such as (one per line):
```
https://blockstream.info/testnet/
https://192.168.0.38:3021/
("https://blockstream.info/testnet/", {'tx': 'tx/', 'addr': 'address/'})
```

closes #4831
2021-01-24 07:11:11 +01:00
SomberNight bc6f2926f4 commands: add 'freeze_utxo' cmd; to expose this to CLI/RPC 2021-01-22 21:56:11 +01:00
SomberNight da777caa0b wallet: use lock when modifying frozen_{addresses,coins} 2021-01-22 21:56:08 +01:00
SomberNight c4e9afa019 wallet.remove_transaction: also rm dependent/child txs
Main motivation is that I often use wallet.remove_transaction
from the Qt console, and would find this behaviour more intuitive.
Note that previously if one were to call this on a tx with children,
the crash reporter would appear with "wallet.get_history() failed balance sanity-check".

related: https://github.com/spesmilo/electrum/issues/6960#issuecomment-764716533
2021-01-21 18:05:48 +01:00
ThomasV 4f3a28b87e kivy: rename 'Channels' dialog to 'Lightning' 2021-01-21 14:32:48 +01:00
ThomasV a50af83b84 kivy: simplify swaps dialog 2021-01-21 14:12:19 +01:00
Neil Booth 8b5e312e7e qt: fix handling BIP21 URI from e.g. website on macOS
fixes #6933

based on https://github.com/Electron-Cash/Electron-Cash/commit/e2171f702d0e83abe368d3013dccc5ee3577be6a

Co-authored-by: SomberNight <somber.night@protonmail.com>
2021-01-21 04:41:03 +01:00
SomberNight 60792dc808 network: fix not retrying main interface in some cases
This was a regression from e83f0dd3fc,
introduced by the change in connection_down() there.
(if the initial connection to the main interface is not successful, the
network status will not be set to 'disconnected' - but it should be)
That change is now reverted here.
That change was somewhat independent of the rest of that commit,
except the rest highlighted that something of the sort was needed:
as it might sometimes take many seconds for an interface to close
and we might launch another interface for the same server while the
first one is still closing, the "server == self.default_server" test
is highly problematic.
To fix this second - original - issue, we now introduce a "closing" state
for interfaces (in the form of network._closing_ifaces).
2021-01-21 04:02:11 +01:00
SomberNight b1449a0a39 interface.got_disconnected: change from Future to Event
Events are far easier to reason about.
2021-01-21 03:11:15 +01:00
SomberNight e365eb0d85 (trivial) kivy: add missing import
follow-up 90d66953cf
2021-01-20 17:33:15 +01:00
SomberNight 1b3674b318 qt send: handle simultaneous NoDynamicFeeEstimates+NotEnoughFunds
fixes #6424
2021-01-20 16:25:03 +01:00
ThomasV 90d66953cf kivy: add confirm_tx_dialog, similar to qt 2021-01-19 14:15:07 +01:00
zebra-lucky 12c9de6bf9 qt: fix PayToEdit.parse_amount (#6951)
nicer error messages for malformed inputs
2021-01-18 22:07:29 +00:00
ThomasV 35c0565395 formatting (rm blank spaces) 2021-01-18 10:59:30 +01:00
bitromortac 08ec368baf fee-slider: fix dialog crashes for float pos values 2021-01-18 10:38:15 +01:00
bitromortac fe78ed2a8e swaps: add swaps to android 2021-01-18 10:38:15 +01:00
ThomasV 6522a1e1a3 fix #6341 2021-01-17 21:11:17 +01:00
ThomasV 10f4715f43 set the same features in LNWallet and LNBackups. fixes #6943 2021-01-17 18:52:13 +01:00
ThomasV f130cb53ce bump_dee and dscancel: call tx.estimated_size() after add_input_info().
This is a workaround, see the FIXME. PartialTxInput.is_segwit() should
return the correct value, or raise if information is missing.
2021-01-17 17:26:44 +01:00
ThomasV 091d7e104a rbf_dialog: show error in the dialog window 2021-01-17 12:15:54 +01:00
ThomasV 9e94ffd08e factorize code for bumb_fee and dscancel dialogs. Disable ok button if fee_rate is None 2021-01-17 10:29:44 +01:00
ThomasV b3eb8592f3 upfront_shutdown_script: fix ChannelBackup constructor 2021-01-16 23:19:57 +01:00
ThomasV 23ece8b33b lnpeer: initialize new channel storage with lnworker db 2021-01-16 19:04:58 +01:00
ThomasV 5598b04c8b fix regtest/start_bitcoind.sh: createwallet needs to be called 2021-01-16 15:15:38 +01:00
ThomasV 7619949b2f fix #6674: raise exceptions if dscancel or cpfp create dust or negative output. 2021-01-14 19:44:15 +01:00
ThomasV be438bdd60 check_password_for_directory: skip non-files 2021-01-14 14:59:14 +01:00
ThomasV 1e4fa83098 Kivy: use the same password for all wallets
When the app is started, the password is checked against all
wallets in the directory.

If the test passes:
 - subsequent wallet creations will use the same password
 - subsequent password updates will be performed on all wallets
 - wallets that are not storage encrypted will encrypted
   on the next password update (even if they are watching-only)

This behaviour is restricted on Android, with a 'single_password' config variable.
Wallet creation without password is disabled if single_password is set
2021-01-13 12:24:19 +01:00
ThomasV 9406541456 kivy wizard: verify seed extension 2021-01-13 11:18:34 +01:00
ThomasV 620a6aaf99 kivy: fix confirm_seed_dialog (broken in 77e0d3745e) 2021-01-13 11:07:48 +01:00
ThomasV 3cb68b10b9 remove broken payment requests. fixes #6350 2021-01-12 14:57:31 +01:00
ThomasV 66d31305e4 kivy: minor fix (follow-up 94708f63e4) 2021-01-12 12:23:01 +01:00
ThomasV 641968fcf8 Wizard: do not ask seed type, default to segwit
segwit addresses are widely supported today.
2021-01-12 11:03:21 +01:00
ThomasV 94708f63e4 invoices and requests: rm 3 seconds delay 2021-01-12 10:59:41 +01:00
ThomasV a2122a8c19 auto-remove paid invoices from GUI
- delay 3 seconds in GUI
 - kivy remove 'delete' buttons from send/receive screens
2021-01-12 10:59:41 +01:00
ThomasV 90abfda12b add unconfirmed state for onchain invoices and requests 2021-01-12 10:59:11 +01:00
ThomasV d50a8d1b84 Qt: rename incoming/outgoing payments to send/receive queue. fixes #6711 2021-01-12 10:56:05 +01:00
SomberNight 3d640dfc1f windows binaries: bump python version (3.7.9->3.8.7)
Had to also bump ubuntu version 18.04->20.04,
as was getting errors running the self-compiled pyinstaller otherwise (weird...):

```
from .utils.git import get_repo_revision
ModuleNotFoundError: No module named 'PyInstaller.utils'
```
(similar to https://github.com/pyinstaller/pyinstaller/issues/4403 )

-----

Note re appimage: when trying to compile python 3.8.x on ubuntu 16.04, I am getting:

./Modules/posixmodule.c: In function ‘os_copy_file_range_impl’:
./Modules/posixmodule.c:10351:15: error: implicit declaration of function ‘copy_file_range’ [-Werror=implicit-function-declaration]
         ret = copy_file_range(src, p_offset_src, dst, p_offset_dst, count, flags);

This is because ubuntu 16.04 has too old glibc.
2021-01-12 02:28:35 +01:00
ThomasV b2be29b508 follow-up previous commit (variable name) 2021-01-11 15:51:52 +01:00
ThomasV ad91257729 pass blacklist to lnrouter.find_route, so that lnrouter is stateless (see #6778) 2021-01-11 15:19:50 +01:00