Commit Graph

9411 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
Joost Jager
3dc83d1b6b
routerrpc: embed routing config 2019-07-29 13:42:59 +02:00
Joost Jager
eb4e65e54f
channeldb: export route serialization 2019-07-29 13:42:57 +02:00
Joost Jager
67ddb72eab
lnwire: create failure message encode/decode functions 2019-07-29 09:38:38 +02:00
Joost Jager
9e26f0d079
routing: define payment result
This commit groups together all payment result data. It is a preparation
for historical payment results being retrieved from the database.
2019-07-29 09:38:36 +02:00
Joost Jager
1507ff6590
routing: extract timestamp from applying payment result
This commit prepares for timestamps being supplied from the database for
processing of historical payment results.
2019-07-29 09:38:34 +02:00
Joost Jager
b4a7665bae
routing: provide payment id to mission control 2019-07-29 09:38:32 +02:00
Joost Jager
334b6a3bfe
routing: move unreadable failure handling into mission control 2019-07-29 09:38:30 +02:00
Joost Jager
934ea8e78d
routing: move failure interpretation into mission control 2019-07-29 09:38:26 +02:00
Wilmer Paulino
24ca962f75
htlcswitch: lower max outgoing cltv expiry to one week worth of blocks
The current value was based on the previous default CLTV delta of 144
blocks. This has been lowered to 40 since lnd v0.6.0-beta, making the
current value of 5000 blocks a bit high. Lowering it to one week should
be more than enough to account for the other major lightning
implementations. Eclair currently has a default CLTV delta of 144, while
c-lightning's is 14.
2019-07-26 18:06:40 -07:00
Wilmer Paulino
87ff463abd
htlcswitch+lnd: make max cltv expiry configurable 2019-07-26 18:05:58 -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