Commit Graph

7596 Commits

Author SHA1 Message Date
Wilmer Paulino
0690c8f627
watchtower/wtclient: only reset iterator once we've exhausted all candidates
Doing so allows us to load balance sessions better amongst all of the
tower candidates.
2019-07-30 15:18:18 -07:00
Wilmer Paulino
0431701262
multi: only allow specifying towers to TowerClient through RPC
With the introduction of the WatchtowerClient RPC subserver, the lnd
configuration flag to specify private watchtowers for the client is no
longer needed and can lead to confusion upon users. Therefore, we remove
the flag completely, and only rely on the watchtower client being active
through a new --wtclient.active flag.
2019-07-30 15:18:17 -07:00
Wilmer Paulino
359b2049b6
watchtower: load persisted towers upon TowerClient creation
We do this as a convenience for WatchtowerClient users so that they do
not need to re-add towers upon restarts. We ensure not to re-add towers
that have been previously removed by determining whether it has any
lingering active sessions.
2019-07-30 15:18:17 -07:00
Wilmer Paulino
787986283c
cmd/lncli: add watchtower client commands 2019-07-30 15:18:16 -07:00
Wilmer Paulino
8f010abac5
multi: add watchtower client RPC subserver 2019-07-30 15:18:15 -07:00
Wilmer Paulino
c57128097e
watchtower/wtclient: extend TowerClient with CRUD operations for towers
In this commit, we extend the wtclient.Client interface with the
following methods:

  * AddTower
  * RemoveTower
  * RegisteredTowers
  * LookupTower
  * Stats

Care has been taken to ensure that any in-memory state updates are
_only_ performed after a successful database update.

These methods are currently unused, but they serve as a dependency for
the upcoming WatchtowerClient RPC subserver.
2019-07-30 15:18:13 -07:00
Wilmer Paulino
06d10d8100
watchtower/wtclient: extend TowerCandidateIterator to update candidates 2019-07-30 15:13:24 -07:00
Wilmer Paulino
1d73a6564f
watchtower: extend client databse with CRUD operations for towers
These operations are currently unused, but will be integrated into the
TowerClient at a later point as future preparation for the
WatchtowerClient RPC subserver, which will allow users to add, remove,
and list the watchtowers currntly in use.
2019-07-30 15:13:23 -07:00
Wilmer Paulino
56d66c80a1
watchtower: extend client db to filter sessions for a specific tower
This currently takes O(N) time as there does not exist an index of
active client sessions for each watchtower within the client's database.
This index is likely to be added in the future.
2019-07-30 15:13:22 -07:00
Wilmer Paulino
4abadc82f3
watchtower/wtclient: export clientStats 2019-07-30 15:13:21 -07:00
Wilmer Paulino
159883665d
wtclient: refactor client creation after database calls 2019-07-30 15:13:20 -07:00
Wilmer Paulino
76f9c9bd52
watchtower/wtclient: remove stale sessionQueue TODO
The state updates that are pending to be acked by the tower are already
loaded within newSessionQueue.
2019-07-30 15:13:17 -07:00
Conner Fromknecht
4722a67ebb
Merge pull request #3347 from guggero/ticker-tidy
ticker+queue: run go mod tidy
2019-07-30 14:52:25 -07:00
Oliver Gugger
567c357c61
ticker+queue: run go mod tidy 2019-07-26 09:29:38 +02:00
Olaoluwa Osuntokun
add905d17f
Merge pull request #3346 from Roasbeef/neutrino-per-peer-match
build: update neutrino to version w/ stall fix
2019-07-25 16:46:57 -07:00
Olaoluwa Osuntokun
9b3b333707
build: update neutrino to version w/ stall fix
In this commit, we update neutrino to a new version that has a fix for a
possible sync stall that can occur if a response that we believe has
timed out, later comes back from the source peer.
2019-07-25 16:08:52 -07:00
Johan T. Halseth
8793cf0a1e
Merge pull request #3344 from Roasbeef/neutrino-sync-deadlock-fix
build: update to neutrino version w/ shutdown fix
2019-07-25 08:59:13 +02:00
Johan T. Halseth
5c4ac9f965
Merge pull request #3345 from Roasbeef/tower-fixes
watchtower: minor client side tower fixes
2019-07-25 08:58:33 +02:00
Wilmer Paulino
99d9e3caeb server: use custom wtclient policy instead of default 2019-07-24 18:16:18 -07:00
Wilmer Paulino
1d2aba8cd4 watchtower/wtpolicy: properly set DefaultSweepFeeRate and MinSweepFeeRate
These values were intended to be 10 sat/vbyte and 4 sat/vbyte
respectively, but the conversion was done incorrectly.
2019-07-24 18:12:48 -07:00
Olaoluwa Osuntokun
5d57ba6393
build: update to neutrino version w/ shutdown fix 2019-07-24 17:43:31 -07:00
Olaoluwa Osuntokun
4c80423ea6
Merge pull request #3342 from wpaulino/autopilot-default-min-confs
config: default autopilot min confs to 1
2019-07-24 17:42:56 -07:00
Olaoluwa Osuntokun
8a328c200e
Merge pull request #3339 from Crypt-iQ/sendpayment_block_pad_0723
routing: add block padding to sendpayment
2019-07-24 17:41:42 -07:00
Wilmer Paulino
eb8576aa8d
config: default autopilot min confs to 1
This prevents spending unconfirmed funds by default. Users will have to
explicitly set this to 0 in order to do so.
2019-07-24 11:59:28 -07:00
nsa
7762d55e80 itest+routing: updating tests to account for BlockPadding 2019-07-23 21:03:30 -04:00
nsa
3dde7bc4e2 routing: adding the BlockPadding value to sendpayment
This commit adds the BlockPadding value (currently 3) to sendpayment
calls so that if some blocks are mined while the htlc is in-flight, the
exit hop won't reject it.
2019-07-23 21:03:11 -04:00
Olaoluwa Osuntokun
2058aed436
build: update version to v0.7.1-beta 2019-07-23 16:18:17 -07:00
Wilmer Paulino
4e8fb4d32b
Merge pull request #3337 from carlaKC/I3336-removeregtestsyncwait
lnd: Add regtest exception for wait to sync on startup
2019-07-23 15:38:27 -07:00
Olaoluwa Osuntokun
0507f259d1
Merge pull request #3338 from Roasbeef/update-neutrino-sync
build: update neutrino to latest version
2019-07-23 12:08:59 -07:00
carla
280b28941d lnd: Add regtest exception for wait to sync on startup 2019-07-23 07:43:24 -04:00
Olaoluwa Osuntokun
97bbc492c4
build: update neutrino to latest version
In this commit, we update to the latest version of Neutrino which
includes fixes to the syncing logic.
2019-07-22 16:37:41 -07:00
Conner Fromknecht
b60825fa5a
Merge pull request #3303 from carlaKC/ckc-I1507-lnclipasswordretry
cmd: Add passphrase confirmation when creating wallet from existing seed
2019-07-22 16:03:02 -07:00
Olaoluwa Osuntokun
4901df4573
Merge pull request #3334 from guggero/fix-derivation-comments
keychain: fix comment about derivation path
2019-07-22 15:58:23 -07:00
Conner Fromknecht
2d5b91e986
Merge pull request #3330 from halseth/tls-test-fixups
[trivial] lnd: remove global var access from genCertPair
2019-07-22 15:53:17 -07:00
Oliver Gugger
3704c0e149
keychain: fix comment about derivation path 2019-07-22 21:52:36 +02:00
Johan T. Halseth
2bef62b467
lnd: remove global var access from genCertPair
Instead pass the optional strings as slices to the method.
2019-07-22 09:26:25 +02:00
carla
d5b662d066 cmd: Add retry for password capture in create wallet 2019-07-20 14:48:25 -04:00
Conner Fromknecht
807012f960
Merge pull request #3143 from Crypt-iQ/pipelining_settle_0525
htlcswitch: pipeline settles to switch
2019-07-19 18:12:59 -07:00
Olaoluwa Osuntokun
e2a35ae089
Merge pull request #3237 from orbitalturtle/auto-regenerate-cert
Unit test for autoregenerating expired cert pairs
2019-07-19 17:21:27 -07:00
Olaoluwa Osuntokun
8c389d13f9
Merge pull request #3197 from breez/optimize_prune_zombie_channels
Optimize prune zombie channels
2019-07-18 20:56:56 -07:00
Olaoluwa Osuntokun
111cbeaa99
Merge pull request #3165 from halseth/autopilot-spend-coins
[funding+autopilot] Make the funding manager and autopilot fee aware
2019-07-18 20:45:49 -07:00
Olaoluwa Osuntokun
02a5408b15
Merge pull request #3221 from joostjager/queryroutes-mc
routing+routerrpc+lnrpc: add option to use mc in queryroutes
2019-07-18 20:30:29 -07:00
nsa
00814dc7c1 htlcswitch: pipeline settles to switch
This commit makes the outgoing link pipeline the settle to the
switch as soon as it receives it. Previously, it would wait for a
revocation before sending it, which caused increased latency on
payments as well as possibly never settling on the incoming link.
A duplicate settle is still sent to the switch, but it is handled
gracefully. A new AckEventTicker was added to the switch which
acknowledges any pending settle / fail entries in an outgoing
link's fwd pkgs in batch. This was needed in order to reduce the
number of db txn's which would have been incurred by acking whenever
we receive a duplicate settle without batching.
2019-07-18 17:20:40 -04:00
Roei Erez
da9edc876a router: only prune disabled channels when AssumeChannelValid=true. 2019-07-18 17:05:20 +03:00
Joost Jager
541e5f4af7
lncli: add use_mc flag 2019-07-18 15:49:30 +02:00
Joost Jager
fc337cd34f
routing+routerrpc+lnrpc: add option to use mc in queryroutes
A boolean flag is added to the QueryRoutes rpc that allows feeding
mission control probabilities into path finding.
2019-07-18 15:49:29 +02:00
Joost Jager
7f4c42847c
lnrpc/routerrpc: create mission control interface 2019-07-18 15:49:27 +02:00
Joost Jager
34b264a3d8
routing: create PathFindingConfig for global parameters 2019-07-18 15:49:25 +02:00
Conner Fromknecht
377b7bf3ce
Merge pull request #3316 from cfromknecht/num-zombies-rpc
rpcserver+channeldb: return num zombies in NetworkInfo response
2019-07-17 16:27:48 -07:00
Wilmer Paulino
1730f1ea72
Merge pull request #3325 from wpaulino/lnd-log-error
lnd: log error if any throughout initialization
2019-07-17 16:05:06 -07:00