Commit graph

2427 commits

Author SHA1 Message Date
SomberNight
8404e07061
only build one android apk on Travis
follow-up 0333632eb0
2019-09-01 20:05:40 +02:00
SomberNight
0534f937ab
local jsonrpc: log exceptions daemon-side 2019-09-01 18:23:01 +02:00
SomberNight
eb5033dfc6
commands: add feerate param to payto/paytomany 2019-09-01 17:52:02 +02:00
SomberNight
54d468f457
android apk: build two apks. ARMv7 and ARMv8 2019-09-01 15:38:26 +02:00
SomberNight
75afd06ca3
android build: don't download Apache ANT on every build 2019-08-31 19:08:41 +02:00
SomberNight
98c8c2127c
android build: update kivy, p4a, buildozer
- also merge https://github.com/kivy/buildozer/pull/957 as prereq for
building multiple apks (one per arch)
- and custom buildozer commit to put target arch into apk name
2019-08-31 17:06:02 +02:00
ThomasV
b99a71d1b3 kivy: call register_callback only from main_window. Display CTN in channel details. 2019-08-31 10:13:20 +02:00
ThomasV
e79253b5e0 Syntax change: Require --offline to run commands without a daemon.
That makes the syntax less ambiguous. It also makes it possible to
implement a CLI that does not import all the electrum modules.
2019-08-31 09:24:00 +02:00
ThomasV
c67fb88e58 remove redundant 'stop' in regtest setUp (should run a bit faster) 2019-08-31 08:49:31 +02:00
SomberNight
956bd3baaf
lnpeer: make per-peer TaskGroup a field (as for interfaces), and use it
lnpeer (and interface) response-handling-code should not run in the
network main_taskgroup as the remote could force an exception
to be raised and that would kill the whole network instead of just the peer
2019-08-30 19:51:17 +02:00
SomberNight
9e57a59615
network: handle main_taskgroup dying better. passthrough CancelledError
Previously if a task running in the main_taskgroup raised,
main_taskgroup might have never finished as fx.run (another task running
in main_taskgroup) could not be cancelled (it was swallowing the CancelledError).

Need to be careful with catching all Exceptions or BaseExceptions,
as that might result in a coroutine not being cancellable.
Note that from python 3.8 onwards, CancelledError will inherit from BaseException
instead of Exception, so catching all Exceptions is somewhat less horrible
but this will only really matter if we raise the min py version to 3.8...

Really, all "except BaseException" lines are suspect and at least should be
considered for replacement with "except Exception".

-----

regarding fx.run not being cancellable before, and relevant lines, see:

6197cfbb3b/electrum/network.py (L1171)
0decdffce2/aiorpcx/curio.py (L242)
0decdffce2/aiorpcx/curio.py (L199)
0decdffce2/aiorpcx/curio.py (L208)
0decdffce2/aiorpcx/curio.py (L218)
0decdffce2/aiorpcx/curio.py (L221)
6197cfbb3b/electrum/daemon.py (L194)
6197cfbb3b/electrum/daemon.py (L203)
6197cfbb3b/electrum/exchange_rate.py (L507)
6197cfbb3b/electrum/exchange_rate.py (L79)
2019-08-30 19:46:25 +02:00
ThomasV
6197cfbb3b Revert "Remove early return in create_sweeptxs_for_our_ctx."
This reverts commit d0cfb3ae12.
2019-08-30 17:40:46 +02:00
ThomasV
3e8080b669 test_breach_with_spent_htlc: do not overwrite default_wallet, load toxic_wallet instead 2019-08-30 17:40:09 +02:00
ThomasV
10e186c1d3 revert ed086934e5
(this does not work well with travis)
2019-08-30 15:58:38 +02:00
ThomasV
6f333bd86d make regtests more robust 2019-08-30 15:18:04 +02:00
ThomasV
5ec1db4d51 Ignore exceptions raised in lnworker.on_network_update.
Exception raised there may cancel the network's main taskgroup.
2019-08-30 12:37:34 +02:00
ThomasV
d0cfb3ae12 Remove early return in create_sweeptxs_for_our_ctx.
- This was added because we did not store the complete htlc history.
 - It makes the result dependent on the current channel state
 - That creates a race condition in sweep_info, because the result is cached.
 - As a result, test_breach_with_spent_htlc was randomly failing.
2019-08-30 09:11:54 +02:00
SomberNight
5f817770af
android build: make sure to use correct pycryptodomex
note: buildozer casts all actual paths to lowercase but not the list of excluded paths...
see 182d13f102/buildozer/__init__.py (L775)
2019-08-29 18:07:37 +02:00
EagleTM
01f582cc14 Remove electrumx.ml because of phishing (#5596) 2019-08-29 12:37:33 +00:00
SomberNight
f403735191
lnpeer: reestablish_channel - don't replay unacked msgs they alrdy have
e.g. Alice sends upd1, upd2, upd3, commitment_signed, upd4, upd5.
Bob receives all of these; and sends a revoke_and_ack but there is
a disconnect before Alice receives the revoke_and_ack.
During reestablish, if Bob claims to have received the commitment_signed,
Alice must not replay the msgs before that; but she should replay upd4 and upd5.
2019-08-29 12:37:25 +02:00
Jin Eguchi
523de5782b
Fix travis error 2019-08-29 04:32:32 +09:00
SomberNight
2ee881f40a
qt channels list: fields should not be editable 2019-08-28 16:54:51 +02:00
SomberNight
db8e6cabb4
bip70 payreq: catch TimeoutError to avoid hanging "please wait" dialog
related #5337
2019-08-27 18:03:01 +02:00
ThomasV
3076eb75ea make parsing lightning qr codes more robust 2019-08-27 17:12:43 +02:00
ThomasV
31a18f83f1 (trivial) fix variable name 2019-08-27 13:35:03 +02:00
ThomasV
7866caf2a7 minor fix: ensure request amount is not None 2019-08-26 16:59:38 +02:00
ThomasV
cf02e32f20
Merge pull request #5537 from xaya/test-verify-header
Unit tests for Blockchain.verify_header
2019-08-26 15:42:15 +02:00
ThomasV
58177c5bf3 Travis: run regtests in separate job 2019-08-26 13:52:55 +02:00
ThomasV
fcfbc937bc buildozer: use log_level=1 2019-08-26 11:35:17 +02:00
ThomasV
d766ded8d4
Merge pull request #5584 from JeremyRand/lnaddr-bech32
lnaddr: Pull in Bech32 and Base58 prefixes from constants
2019-08-25 18:58:47 +02:00
JeremyRand
8be94a9919
lnaddr: Pull in Bech32 and Base58 prefixes from constants
Fixes https://github.com/spesmilo/electrum/issues/5581
2019-08-25 13:15:13 +00:00
ThomasV
2b52ee26e6 store qt-console-history in wallet file (fix #5563) 2019-08-25 11:39:11 +02:00
ThomasV
95383a5820
Merge pull request #5582 from JeremyRand/test-lnchannel-outputs
Use NamedTuple notation for TxOutput in test_lnchannel
2019-08-25 10:17:54 +02:00
JeremyRand
032810dace
test_lnrouter: Pull in chain_hash from constants 2019-08-25 07:19:36 +00:00
JeremyRand
334d3f2818
Use NamedTuple notation for TxOutput in test_lnchannel
This makes the code more resilient in case additional members are added
to TxOutput later.
2019-08-25 06:51:31 +00:00
ThomasV
ab5a02ba50 kivy: remove hidden state in RefLabel, use it for seed and private keys 2019-08-23 15:46:58 +02:00
ThomasV
e9c32bad19 kivy: remove context menus, cleanup unused files 2019-08-23 12:15:42 +02:00
ThomasV
587f8aa487 Kivy GUI improvements:
- create unique instances of channels_dialog and addresses_dialog
 - display and refresh balances in channels_dialog
 - improve formatting of tx history
 - repurpose left button in receive_tab
2019-08-22 19:04:32 +02:00
ThomasV
8010123c08 Display and refresh the status of incoming payment requests:
- All requests have an expiration date
 - Paid requests are automatically removed from the list
 - Unpaid, unconfirmed and expired requests are displayed
 - Fix a bug in get_payment_status, conf was off by one
2019-08-22 06:00:45 +02:00
ThomasV
336cf81a6d kivy: add expiration button to receive screen 2019-08-20 18:20:54 +02:00
ThomasV
27a9d02b8c kivy: update receive screen after adding request 2019-08-20 16:07:40 +02:00
ThomasV
65cf0ebce8 lnpeer, minor fixes:
- pass orphaned_ids to lnworker.add_new_ids
 - fix enumeration of get_unacked_local_updates()
2019-08-20 13:27:09 +02:00
ThomasV
dd22cb6dff kivy: minor fixes 2019-08-20 09:03:12 +02:00
ThomasV
246cda2928 fix Flake8 tests 2019-08-20 09:03:12 +02:00
ThomasV
9cfeadea70 Turn daemon subcommands into RPCs 2019-08-20 09:03:12 +02:00
ThomasV
54257cbcca Rewrite JsonRPC requests using asyncio.
- commands are async
 - the asyncio loop is started and stopped from the main script
 - the daemon's main loop runs in the main thread
 - use jsonrpcserver and jsonrpcclient instead of jsonrpclib
2019-08-20 09:03:12 +02:00
SomberNight
fa5302bcfb (trivial) fix type annotation 2019-08-20 09:03:12 +02:00
SomberNight
bce74717a6 lnpeer: in onion errors, handle channel updates both with and w/o type 2019-08-20 09:03:12 +02:00
SomberNight
beeb81e179 lnpeer: use correct failure codes in _maybe_forward_htlc 2019-08-20 09:03:12 +02:00
SomberNight
e54f0fbafa do not raise BaseException 2019-08-20 09:03:12 +02:00