Commit graph

12774 commits

Author SHA1 Message Date
SomberNight
7a6ec23b6e
cosigner pool: use single thread to send messages
ServerProxy does not seem to be thread-safe.
For e.g. a 2of3 multisig wallet, which would send two messages,
one msg would get sent but the other might error out. See trace:

E | plugins.cosigner_pool.qt.Plugin | on_failure
Traceback (most recent call last):
  File "...\electrum\electrum\gui\qt\util.py", line 832, in run
    result = task.task()
  File "...\electrum\electrum\plugins\cosigner_pool\qt.py", line 199, in <lambda>
    task = lambda: server.put(_hash, message)
  File "...\Python38\lib\xmlrpc\client.py", line 1109, in __call__
    return self.__send(self.__name, args)
  File "...\Python38\lib\xmlrpc\client.py", line 1450, in __request
    response = self.__transport.request(
  File "...\Python38\lib\xmlrpc\client.py", line 1153, in request
    return self.single_request(host, handler, request_body, verbose)
  File "...\Python38\lib\xmlrpc\client.py", line 1165, in single_request
    http_conn = self.send_request(host, handler, request_body, verbose)
  File "...\Python38\lib\xmlrpc\client.py", line 1271, in send_request
    connection.putrequest("POST", handler, skip_accept_encoding=True)
  File "...\Python38\lib\http\client.py", line 1088, in putrequest
    raise CannotSendRequest(self.__state)
http.client.CannotSendRequest: Request-sent
2020-06-29 02:19:03 +02:00
SomberNight
1a9e6a434f
cosigner pool: user certifi instead of system ssl cert store
related: https://github.com/spesmilo/electrum/issues/5678#issuecomment-650837465
2020-06-29 02:15:01 +02:00
SomberNight
faafb70d4c
follow-up prev
(committed wrong raw tx literal)
2020-06-28 17:45:00 +02:00
SomberNight
29534dcf3d
commands: allow setting custom 'nsequence' in 'serialize' cmd
closes #6297
2020-06-28 17:26:52 +02:00
SomberNight
0d7bcde2db
qt dark theme: on mac, AmountEdit units were using dark text on dark bg
see #6281
2020-06-28 03:50:34 +02:00
SomberNight
93a4969fba
qt dark style: bandaid for dropdown item heights
see #6281
2020-06-28 03:46:20 +02:00
SomberNight
8d0c03caff
synchronizer: enforce that unconfirmed txs must have fee information
related: #6289
2020-06-27 16:32:46 +02:00
SomberNight
9cd79ec2e5
WalletDB: raise different exc if cannot parse given file
closes #6292
2020-06-27 16:03:03 +02:00
ThomasV
01a2d12787
Merge pull request #6288 from SomberNight/202006_storage_upgrade_31
invoices: make sure that OnchainInvoice .exp and .time are not None
2020-06-27 09:59:58 +02:00
SomberNight
dee5d52948
invoices: make sure that OnchainInvoice .exp and .time are not None
related: #6284
2020-06-27 02:27:50 +02:00
SomberNight
2db0ad10db
qt balance str: replace unicode char for LN symbol
closes #6265
2020-06-26 15:34:11 +02:00
ThomasV
e9829563d3 forward swaps: save the onchain amount we actually paid 2020-06-26 11:42:55 +02:00
ThomasV
8773bc2e77 bump version number for next beta 2020-06-26 11:38:44 +02:00
ThomasV
730bfda33a OnchainInvoice: make get_amount_sat return 0 instead of None. fixes #6203 2020-06-26 11:14:23 +02:00
ThomasV
782bfd06e5 swaps: fix group_label 2020-06-26 10:46:06 +02:00
ThomasV
9fd9703107 fix #6275 2020-06-26 10:07:51 +02:00
ThomasV
b0c390e231 wallet.clear_requests. fixes #6279 2020-06-26 09:47:16 +02:00
ThomasV
abac4a4340 swaps: check_invoice_amount (fixes #6217) 2020-06-26 09:19:40 +02:00
SomberNight
5f40414bd2
kivy: fix #6280 (share btn in qr_dialog) 2020-06-26 03:38:39 +02:00
SomberNight
b764d0f0bf
kivy: fix #6262 2020-06-26 03:25:36 +02:00
SomberNight
a97cb88a1a
qt sweep: raise more specific exception so that trace is not logged
When raising generic Exception, window.on_error can't tell whether
there was a programming error or we just want to communicate with the user.

E | gui.qt.main_window.[default_wallet] | on_error
Traceback (most recent call last):
  File "/home/user/wspace/electrum/electrum/gui/qt/util.py", line 832, in run
    result = task.task()
  File "/home/user/wspace/electrum/electrum/gui/qt/main_window.py", line 2900, in <lambda>
    task = lambda: self.network.run_from_another_thread(
  File "/home/user/wspace/electrum/electrum/network.py", line 358, in run_from_another_thread
    return fut.result(timeout)
  File "/usr/lib/python3.8/concurrent/futures/_base.py", line 439, in result
    return self.__get_result()
  File "/usr/lib/python3.8/concurrent/futures/_base.py", line 388, in __get_result
    raise self._exception
  File "/home/user/wspace/electrum/electrum/wallet.py", line 162, in sweep_preparations
    raise Exception(_('No inputs found.'))
Exception: No inputs found.
2020-06-25 23:48:24 +02:00
SomberNight
13dca30428
mac/qt: fix some refresh bugs in swap_dialog and new_channel_dialog
fixes #6269

this is just ugly :/
2020-06-25 22:36:34 +02:00
SomberNight
4216a9164d
qt new_channel_dialog: trivial fix in on_clear() 2020-06-25 22:17:15 +02:00
SomberNight
afbdacbe16
kivy: use on_release instead of on_press in buttons
I think on_release has better UX.
More importantly, on desktop linux with kivy 2.0.0rc2, on_press does not work for me.
(but on Android, with kivy 1.11.1, it does)
2020-06-25 21:55:59 +02:00
SomberNight
212d18d5e6
frozen deps: update coldcard lib
closes #6181
2020-06-25 19:36:43 +02:00
SomberNight
700e62598d
history: allow changing default label of swaps 2020-06-25 19:12:11 +02:00
richard
b1a70be079
Add mempool.space option for mainnet block explorer (#6261)
* Add mempool.space

* Adds mempool.space testnet explorer

Didn't realize they had testnet as well - added
2020-06-25 17:00:20 +00:00
SomberNight
ce726f69aa
lnworker.add_peer: fix #6274 2020-06-25 18:53:14 +02:00
ThomasV
01202ed3eb fix amount_sat in kivy invoice/request dialogs. (follow-up d5f368c584) 2020-06-25 14:39:14 +02:00
SomberNight
10c2183461
handle_error_code_from_failed_htlc: omg brainfart :(
follow-up 85841ba20d
2020-06-24 21:33:44 +02:00
SomberNight
c2111a2616
binaries: use sha256 instead of sha1 for Windows native signing scheme
- our new key now supports both
- note that we don't bother to "dual sign" for both sha1 and sha2, as
  Win7 upwards sha2 is supported (and we already don't support XP, Vista, etc anymore)
2020-06-24 20:23:06 +02:00
SomberNight
d7fe6a2cf3
travis: build binaries if there is a tag (or is master) 2020-06-24 20:00:11 +02:00
SomberNight
f66f69d261
release notes: minor nit 2020-06-24 17:46:37 +02:00
ThomasV
6d6769f1ed
Merge pull request #6259 from SomberNight/20200624_remote_watchtower_must_use_ssl
remote watchtower: enforce that SSL is used, on the client-side
2020-06-24 17:43:14 +02:00
SomberNight
662d0d92bd
remote watchtower: enforce that SSL is used, on the client-side 2020-06-24 16:57:50 +02:00
ThomasV
45c759873c update release notes 2020-06-24 11:50:46 +02:00
SomberNight
a95738f925
requirements: specify min 'attrs' version
related: #6258
2020-06-23 22:49:08 +02:00
SomberNight
040f66a5f0
update RELEASE-NOTES for 4.0.0b0 2020-06-23 21:04:23 +02:00
ThomasV
27f90ad595 update locale submodule 2020-06-23 20:35:28 +02:00
ThomasV
44a216c31d update submodule 2020-06-23 19:25:07 +02:00
SomberNight
15d72705ad
mac build: add camera permission to entitlements.plist
based on 0b5b5fb228
2020-06-23 18:11:50 +02:00
SomberNight
75cdae0e5b
mac build: try to improve .app startup time on MacOS 10.15
Create a pyinstaller "onedir" executable instead of a "onefile" executable.

Note that the name change from "Electrum" to "run_electrum" affects the
name of the internal binary (usually not exposed to users). This is
needed to avoid a collision with the "electrum" folder inside the .app
(just like in the source tree).

based on 03c3eca856

maybe fixes #6225
2020-06-23 18:11:46 +02:00
SomberNight
0b5d9185ff
osx.spec: trivial formatting 2020-06-23 18:11:36 +02:00
ThomasV
a9f6e26d02 update submodule commit 2020-06-23 17:31:56 +02:00
ThomasV
0d156bc3e9
Merge pull request #6256 from SomberNight/202006_invoices_need_msat_precision_2
LN invoices: support msat precision (alt 2nd approach)
2020-06-23 17:30:55 +02:00
SomberNight
1495040f45
lnworker._check_invoice: add sanity check 2020-06-23 15:38:06 +02:00
ThomasV
0b16f8ec3a lnpeer: only process INIT if we are a backup. fixes #6241 2020-06-23 13:12:11 +02:00
ThomasV
436ca11021 swaps dialog: handle make_unsigned_tx exceptions. fixes #6246 2020-06-23 12:02:34 +02:00
SomberNight
d31883a2ea
wallet.export_{request,invoice}: replace 'amount' field with sat/msat
(was failing as 'amount' was Decimal for LN invoices, which cannot be json-serialised)
2020-06-22 23:38:44 +02:00
SomberNight
d5f368c584
LN invoices: support msat precision
fixes #6250
2020-06-22 22:48:13 +02:00