Commit Graph

3156 Commits

Author SHA1 Message Date
SomberNight e2ae44beb9 commands: "notify" cmd: stop watching addr if called with empty URL
closes #5881
2020-04-24 15:34:55 +02:00
SomberNight 54fdb011f9 fixups for CallbackManager refactor
9224404108
2020-04-24 15:32:05 +02:00
ThomasV f4dc93cb7d lnworker: blacklist channel if policy is unchanged but has a new timestamp. 2020-04-24 12:16:21 +02:00
ThomasV 2d0ef78a11 channel_db: add verbose option to add_channel_update 2020-04-24 11:45:39 +02:00
Evgeny Zinoviev 64733a39dc set more restrictive file permissions for exported private keys (#6106) 2020-04-21 23:01:41 +00:00
ThomasV bdb870af00 follow-up c454564ed6 2020-04-21 15:31:13 +02:00
ThomasV 0b6ae1dbff fix #6101 2020-04-20 18:55:07 +02:00
ThomasV 4d01a550c4 fix #6103: local config contains remote reserve 2020-04-20 18:48:41 +02:00
ThomasV 1a4d33086b refactoring: remove inspect_edge 2020-04-20 11:48:38 +02:00
ThomasV ec5330fc21 separate method that runs Dijkstra and return distances 2020-04-20 11:47:29 +02:00
SomberNight f52072e169 follow-up prev
we can't just test with a 1 msat htlc as that might be below htlc_minimum_msat
2020-04-18 18:51:20 +02:00
SomberNight 12d771737a fix #6096: bugfix for creating zero amount LN invoice
(also there was a unit-mismatch here...)
2020-04-18 05:56:12 +02:00
SomberNight 8f4c384aad qt crash reporter: html.escape traceback to avoid formatting issues
fixes #6099
2020-04-18 05:48:11 +02:00
SomberNight b1d2389656 hww: stop keystore.thread when closing wallet
previously left running? Qt on macOS was complaining:
```
QThread: Destroyed while thread is still running
Abort trap: 6
```
2020-04-17 19:53:42 +02:00
SomberNight 2cfa3bd6c8 hww hidapi usage: try to mitigate some thread-safety issues
related: #6097
2020-04-17 19:53:39 +02:00
SomberNight 98d2ab5bd6 hww: fix HardwareClientBase not having reference to plugin
it was incorrectly documented that it did (previously only for some plugins)
2020-04-17 19:53:35 +02:00
Luke Childs cd199390e2 Use non-standard localhost port for server-string fallback (#6087)
* Use non-standard localhost port for server-string fallback

Co-authored-by: Luke Childs <lukechilds123@gmail.com>
2020-04-16 19:39:05 +00:00
SomberNight 9e57ae630b network/gui: unify host/port input fields to single server str
This allows optionally specifying the protocol for the main server.

fixes #6095
fixes #5278
2020-04-16 21:19:48 +02:00
SomberNight b2cfaddff2 network.NetworkParameters: merge host+port+protocol into "server" field 2020-04-16 21:19:45 +02:00
SomberNight adc3784bc2 network: allow mixed protocols among interfaces
Previously all the interfaces used either "t" or "s".
Now the network only tries to use "s" for all interfaces, except for
the main interface, which the user can manually specify to use "t".
(so e.g. if you run with "--server localhost:50002:t", the main server will use "t",
but all the rest will use "s")
2020-04-16 21:19:42 +02:00
SomberNight ea64b2af64 interface.get_certificate: use public asyncio APIs 2020-04-16 17:31:58 +02:00
ThomasV ef5ad5f22f extend 'add_peer', 'list_peers' commands to gossip 2020-04-16 12:39:12 +02:00
ThomasV c454564ed6 sql_db: do not require network object 2020-04-16 10:58:40 +02:00
SomberNight 82da581d45 lnworker: clear peer retry times if proxy settings change
maybe there were failures due to the previous proxy details being incorrect
2020-04-15 22:47:14 +02:00
SomberNight 95fa5d37c3 lnworker.peers: follow-up b5811e8072
somehow I forgot writes...
2020-04-15 22:41:16 +02:00
SomberNight 223b62554e lntransport: use network proxy if available
fixes #4824
2020-04-15 21:44:09 +02:00
SomberNight b5811e8072 lnworker.peers: fix threading issues 2020-04-15 21:43:58 +02:00
SomberNight 47ab8f8dc5 daemon.on_stop: adapt to python 3.8
(py3.8 has breaking changes re asyncio.CancelledError and asyncio.TimeoutError)

follow-up 308517d473
2020-04-15 19:34:52 +02:00
SomberNight 1600241b02 fix tests: follow-up prev few commits 2020-04-15 17:39:39 +02:00
SomberNight 7257172e1c NetworkRetryManager: add random noise to time 2020-04-15 17:24:10 +02:00
SomberNight 76f0ad3271 util: add NetworkRetryManager, a baseclass for LNWorker and Network 2020-04-15 17:24:07 +02:00
SomberNight 90cb032721 lnworker: implement exponential backoff for retries 2020-04-15 17:24:04 +02:00
SomberNight 86b29603cb network: (trivial) rename field to indicate private 2020-04-15 17:24:00 +02:00
SomberNight ac749f3a19 network: introduce NUM_STICKY_SERVERS 2020-04-15 17:23:57 +02:00
SomberNight 34e3e48ba5 network: rm server_queue
it's no longer needed; now it was just an extra level of indirection
2020-04-15 17:23:54 +02:00
SomberNight 8baa79be88 network: implement exponential backoff for retries 2020-04-15 17:23:50 +02:00
SomberNight cf1f2ba4dc network: replace "server" strings with ServerAddr objects 2020-04-15 17:23:47 +02:00
ThomasV ef2ff11926 fix tests (follow-up prev commit) 2020-04-14 18:35:50 +02:00
ThomasV 9224404108 Move callback manager out of Network class 2020-04-14 18:29:51 +02:00
ThomasV 73325831b7 run lnworker.main_loop directly on the event loop 2020-04-14 18:28:23 +02:00
Luke Childs 1d667fe932 Hard fail on bad server-string (#6086)
* If server-string can't be parsed, fall back to localhost.

Co-Authored-By: Luke Childs <lukechilds123@gmail.com>

Co-authored-by: ghost43 <somber.night@protonmail.com>
2020-04-14 12:15:28 +00:00
SomberNight 40dc54e8b8 macOS: duplicate Qt "Preferences" menu item
There is a standardised location along with reserved hotkey for "Preferences"
in applications on macOS. Let's put *another* preferences menu item there.

The duplicate items ensure that
- an electrum user coming from a different OS,
- a macOS user used to the standardised preferences location,
will both find "Preferences" easily.
2020-04-13 19:53:52 +02:00
SomberNight 54e1520ee4 ln: check if chain tip is stale when receiving HTLC
if so, don't release preimage / don't forward HTLC
2020-04-13 17:04:27 +02:00
SomberNight 12283d625b (trivial) rename lnchannel.channel_states to ChannelState 2020-04-13 16:02:05 +02:00
SomberNight 8e8ab775eb lnchannel: make AbstractChannel inherit ABC
and add some type annotations, clean up method signatures
2020-04-13 15:57:53 +02:00
ThomasV 821431a239 lnpeer: move ping_if_required away from message_loop
If our connection dies because we went to sleep, message_loop
will stall and ping_if_required will never be called.
2020-04-13 11:34:58 +02:00
ThomasV bddb0bfcdd Do not wait wallet sync to reestablish channel (revert e32807d29d). 2020-04-13 11:30:52 +02:00
SomberNight fe86f91110 adapt to new aiohttp_socks: fix deprecation warnings
...\electrum\electrum\util.py:1096: DeprecationWarning: SocksConnector is deprecated. Use ProxyConnector instead.
  connector = SocksConnector(
...\Python38\site-packages\aiohttp_socks\proxy\socks5_proxy.py:37: DeprecationWarning: Parameter family is deprecated and will be ignored.
  super().__init__(
2020-04-13 05:00:26 +02:00
SomberNight 10c358dd38 bitbox02: rm plugin.get_client method: just use default impl 2020-04-12 15:34:19 +02:00
SomberNight dda20583c2 bitbox02: rm BitBox02Client.label override
if placeholder anyway, just use base impl
(alternatively we should list it in electrum.plugin.PLACEHOLDER_HW_CLIENT_LABELS)
2020-04-12 15:34:19 +02:00