Commit graph

164 commits

Author SHA1 Message Date
Madiator2011
43a67ef148 Upgrade Electrum base to 3.3.8 2020-02-17 23:42:13 +01:00
ThomasV
cded582fe9 Start watchtower if run_watchtower is set, even if lightning is not activated (fix #5896).
Fix parameters of sweepstore.add_sweep_tx, rm dead code.
2020-02-02 12:10:10 +01:00
SomberNight
11452722af network dns hacks: split from network.py into its own file 2020-01-22 18:32:57 +00:00
SomberNight
cb88a3b6e4 dns hacks on windows: resolve A and AAAA records in parallel 2020-01-22 18:32:57 +00:00
SomberNight
0b0139c676
network.get_transaction: move some response validation logic from Synchronizer 2020-01-09 19:23:28 +01:00
SomberNight
37747d7469
split network main_taskgroup: create daemon.taskgroup
network.main_taskgroup restarts every time the proxy settings are changed,
many long-running tasks (some introduced with lightning) are not prepared for and do not want this.
2020-01-09 19:23:21 +01:00
SomberNight
6709ec4117
dns hacks on windows: cache dns when using dnspython
related #4421
related #5337
2020-01-01 06:23:51 +01:00
SomberNight
308517d473
python 3.8: adapt to breaking changes re asyncio.CancelledError
(and TimeoutError)

closes #5798
2019-12-11 23:07:47 +01:00
SomberNight
68dad21fb4
network: make best_effort_reliable smarter and a bit more lenient
related: #5815
2019-12-01 23:24:43 +01:00
SomberNight
bafe8a2fff
integrate PSBT support natively. WIP 2019-11-04 22:24:36 +01:00
ThomasV
90ce9f195b Allow user to enable lightning in the GUI. Make it a per-wallet setting. 2019-10-13 20:34:38 +02:00
SomberNight
8c1adc2f50
fix dns issue on Windows
closes #5638
2019-09-18 19:11:40 +02:00
SomberNight
b2920db8b8
config: enforce that SimpleConfig is singleton
related: #5629
2019-09-10 18:01:10 +02:00
SomberNight
d1026b5afe
follow-up: SimpleConfig is supposed to be singleton
see cefa4762ba
and #5629
2019-09-10 16:38:10 +02:00
SomberNight
befa8ea771
transaction: kill "name", "csv_delay", "cltv_expiry" fields 2019-09-09 19:38:35 +02:00
ThomasV
e5502a58ba uncomment breach_remedy in watchtower 2019-09-09 18:49:14 +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
SomberNight
ba431495db lnworker: fix silent TypeError in _calc_routing_hints_for_invoice 2019-08-20 09:03:12 +02:00
ThomasV
f7c05f2602 Synchronize watchtower asynchronously:
- remove remote_commitment_to_be_revoked
- pass old ctns to lnsweep.create_sweeptxs_for_watchtower
- store the ctn of sweeptxs in sweepStore database
- request the highest ctn from sweepstore using get_ctn
- send sweeptxs asynchronously in LNWallet.sync_with_watchtower
2019-08-20 09:03:12 +02:00
SomberNight
4ccfa39fdd cli: fix add_peer cmd 2019-08-20 09:03:12 +02:00
ThomasV
180f6d34be separate channel_db module 2019-08-20 09:03:12 +02:00
ThomasV
746dd725c6 follow-up previous 2019-08-20 09:03:11 +02:00
ThomasV
842fff832f enable lightning through command line option 2019-08-20 09:03:11 +02:00
ThomasV
730be17aba Use separate lightning nodes for gossip and channel operations. 2019-08-20 09:03:11 +02:00
Janus
dd7c4b3bab sqlite in lnrouter 2019-08-20 09:03:11 +02:00
SomberNight
9206b6225b tmp fix for circular imports 2019-08-20 09:03:11 +02:00
SomberNight
bc06ded4b9 persist nodes in channel_db on disk 2019-08-20 09:03:10 +02:00
SomberNight
a5b44d25b0 persist channel db on disk. verify channel gossip sigs. 2019-08-20 09:03:10 +02:00
SomberNight
c1d1826014 start using electrum protocol 1.4 2019-08-20 09:03:10 +02:00
ThomasV
c7e47b74a9 Separate open_channel dialog. In open_channel_coroutine, use host and port from channel announcements 2019-08-20 09:03:10 +02:00
ThomasV
61983c222a lightning: single shared instance of Watcher, ChannelDB and PathFinder 2019-08-20 09:03:10 +02:00
Janus
98f6f67c6b lightning: misc patches, launch asyncio loop on separate thread 2019-08-20 09:03:09 +02:00
SomberNight
a10dc04b28
wallet: fix offline hw wallet signing when not specifying --offline
closes #5532
2019-07-29 13:27:37 +02:00
SomberNight
a2bffb9137
network: harden against eclipse attacks 2019-06-27 19:10:25 +02:00
SomberNight
104b8804f7
logging: '-V' cli option can blacklist/whitelist classes with short names
for example, '-V ni' will whitelist the 'Network' and 'Interface' classes
'-V ^ni' will blacklist those instead
2019-05-07 21:07:18 +02:00
SomberNight
2481d708cc
network: sanitize_tx_broadcast_response - new strings in bitcoind 0.18 2019-05-05 04:34:31 +02:00
SomberNight
0c963b0894
network.broadcast_transaction: add "do not trust" text to log messages 2019-05-03 20:11:48 +02:00
SomberNight
6940c424d1
logging: cli options to filter for modules using -v
old style "-v" still works

filtering examples:
-v=debug,network=error,interface=error      // effectively blacklists network and interface
-v=warning,network=debug,interface=debug    // effectively whitelists network and interface
2019-05-02 15:19:10 +02:00
SomberNight
3385a94753
logging: basics 2019-05-02 15:19:03 +02:00
SomberNight
1110f13c62
network: allow longer timeouts in _run_new_interface
On Windows box with weird networking setup (VPN, no IPv6, many DNS nameservers
but only some working well), the previous timeouts were too low: they were
reached due to DNS resolution.

related: #4421
2019-04-18 23:05:35 +02:00
SomberNight
c49d5f672c
network: fix proxy case
follow-up "healty spread of servers" d8f3ab0917
2019-04-15 10:49:09 +02:00
SomberNight
d8f3ab0917
network: do not connect to multiple servers on same /16
maintain a healthy spread of (IP addresses of) connected servers
2019-04-12 22:32:36 +02:00
SomberNight
7ddc28b0dc
network: cap number of server peers accepted from main server 2019-04-12 22:24:36 +02:00
SomberNight
d07fce0826
windows DNS resolution: handle domain with only AAAA records
this is getting too complicated :/
2019-03-26 16:52:11 +01:00
SomberNight
c4fb58cd74
windows DNS resolution: follow-up 9b0773cf2b
related: #5176, #4421

prev was failing on systems where
IPv6 is not available but DNS can resolve AAAA records
(my artificial test environment with IPv6 disabled was also filtering AAAA DNS)
2019-03-26 03:07:11 +01:00
SomberNight
1cfac928f9
trustedcoin: longer timeout for server signing
fixes #5221
2019-03-25 23:36:52 +01:00
SomberNight
9b0773cf2b
windows DNS resolution: handle IPv6
related: #5176, #4421
2019-03-25 19:15:19 +01:00
SomberNight
6702c335e8
network: (trivial) ignore empty string donation address 2019-03-22 17:30:12 +01:00
ThomasV
791e680a96 abstract database away from wallet and address_synchronizer 2019-02-28 09:02:58 +01:00
SomberNight
4b3a285871
exchange_rate: some clean-up and fixes
- generation of currencies.json was broken
- removed some dead exchanges
2019-02-27 21:48:33 +01:00