Commit graph

12820 commits

Author SHA1 Message Date
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
Luke Childs
872380a525
Add electrum_data to .gitignore (#6092) 2020-04-16 15:49:48 +00: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
c2d6a902dd
build: update some packages in dockerfiles
Ubuntu no longer serves old version
2020-04-15 18:06:59 +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
ThomasV
da8b24d61a require aiohttp_socks>=0.3 2020-04-14 09:48:18 +02:00
SomberNight
70f70d0f80
README: mention script location (for "electrum", after pip install)
related: #6082
2020-04-14 02:15:22 +02: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
ghost43
3745f35f69
Merge pull request #5993 from TheCharlatan/bitbox02New
BitBox02 Electrum plugin support
2020-04-12 13:49:35 +00:00
SomberNight
04dcfe6fd1
bitbox02: add to requirements-hw, and include in win/mac binaries 2020-04-12 15:34:19 +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