Commit Graph

14765 Commits

Author SHA1 Message Date
Elle Mouton
1047514515 wtclient: demo addr iterator panic
This commit adds a test that shows that it is possible to cause the
AddressIterator to panic if the `Next` method is ever called twice when
the iterator is at the end of its list without Reset first being called.
2023-03-30 12:29:24 +02:00
Elle Mouton
de80fffa6c wtclient: divide addr_iter tests into subtests
Split out the existing tests into logical subtests.
2023-03-30 12:29:06 +02:00
Oliver Gugger
51df3e5b1e Merge pull request #7546 from guggero/lnd-0-16-0-final
build: bump to version v0.16.0-beta final
v0.16.0-beta
2023-03-29 14:59:12 +02:00
Oliver Gugger
218cff41b7 build: bump to version v0.16.0-beta final 2023-03-29 14:30:11 +02:00
Oliver Gugger
5477428525 Merge pull request #7528 from guggero/p2tr-psbt-decoration
itest: assert change output type
2023-03-28 20:10:36 +02:00
Oliver Gugger
5272e9140e Merge pull request #7437 from ardevd/7436-chanbackup-writer-fix
lncli: Added support for backup/verify/restore of single chanpoint to/from file
2023-03-27 10:56:00 +02:00
ardevd
d1f961c598 docs: added release notes 2023-03-25 15:32:10 +01:00
ardevd
ddc4bc6b32 lncli: backup/verify/restore single channel from file
author ardevd <edvard.holst@gmail.com> 1676983861 +0100
committer ardevd <ardevd@users.noreply.github.com> 1677705118 +0100

Write to the specified file if the user specifies a chan_point for
backup and also specifies an output file to write the backup to.

Fixes #7436
2023-03-25 15:30:38 +01:00
Oliver Gugger
8dc409ee66 Merge pull request #7537 from guggero/0-16-0-rc5
build: bump version to v0.16.0-rc5
v0.16.0-beta.rc5
2023-03-23 17:40:13 +01:00
Oliver Gugger
e9b21c5f64 build: bump version to v0.16.0-rc5
Because a tag for RC4 was previously pushed but without bumping the
version first, we need to skip RC4 as we can't replace already pushed
git tags without causing issues.
2023-03-23 16:43:38 +01:00
Oliver Gugger
1052b139bd Merge pull request #7520 from bitromortac/2303-bimodal-fixes
routing: prevent retrials for failed channels in bimodal pathfinding
v0.16.0-beta.rc4
2023-03-23 16:32:14 +01:00
Oliver Gugger
b9143c1623 Merge pull request #7350 from eval-exec/fix/time_lock_delta-overflow
[rpcServer]: add time_lock_delta overflow check for UpdateChannelPolicy
2023-03-23 16:21:57 +01:00
Eval EXEC
e4a6a0f26f lncli: add testcase for parseTimeLockDelta
Signed-off-by: Eval EXEC <execvy@gmail.com>
2023-03-23 21:34:12 +08:00
Eval EXEC
cbcbddfe29 rpcserver: add time_lock_delta overflow check 2023-03-23 21:34:12 +08:00
bitromortac
a3e46dae9f multi: mark bimodal estimator experimental 2023-03-23 11:12:10 +01:00
bitromortac
170677be2b routing: stronger use of direct bimodal probability
The process how we calculate a total probability from the direct and
node probability is modified to give more importance to the direct
probability.

This is important if we know about a recent failure. We should not try
to send over this channel again if we know we can't. Otherwise this can
lead to infinite retrials over the channel, when the probability is
pinned at high probabilities by the other node results.
2023-03-23 11:12:10 +01:00
bitromortac
4aa90cf474 routing: add error case for zero capacity
Since no edge should have a zero capacity associated with it, passing a
zero capacity to the bimodal probability calculation results now in an
error.
2023-03-23 11:12:10 +01:00
bitromortac
7df1482cfc routing: add capacity to special edges
Having a capacity available is important for liquidity estimation.

* We add a dummy capacity to hop hints. Hop hints specify neither the
  capacity nor a maxHTLC size, which is why we assume the channel to
  have a high capacity relative to the amount we send.

* We add a capacity to local edges. These channels should always have a
  capacity associated with them, even in the neutrino case (a fallback
  to maxHTLC is not necessary). This is just for completeness, as the
  probability calculation for local channels is done separately.
2023-03-23 11:12:10 +01:00
Oliver Gugger
3dc4ab736f Merge pull request #7526 from yyforyongyu/enhanced-logging
multi: add more trace logs regarding link activate flow
2023-03-23 10:37:13 +01:00
Oliver Gugger
78351e1730 Merge pull request #7531 from yyforyongyu/fix-web-fee-estimator
Fix web fee estimator test flake and increase retry timeout for channel close
2023-03-22 20:56:49 +01:00
Oliver Gugger
4ab00fb16e Merge pull request #7533 from guggero/travis-timeout
travis: increase timeout to 120 minutes
2023-03-22 17:58:46 +01:00
yyforyongyu
a79ab8bafd lntest: increase wait time to 5s when failed to close channel 2023-03-22 23:55:11 +07:00
yyforyongyu
00fa2cb34a lnwallet: add verbose test logs for TestWebAPIFeeEstimator 2023-03-22 23:55:11 +07:00
Oliver Gugger
0dbb709929 travis: increase timeout to 120 minutes 2023-03-22 13:42:39 +01:00
Oliver Gugger
dcc7421b5b Merge pull request #7405 from ellemouton/filterOutExhaustedSessions
multi: Filter out exhausted sessions
2023-03-22 10:00:15 +01:00
bitromortac
b6d65752f7 routing: add and fix log statements 2023-03-21 08:54:10 +01:00
bitromortac
ee40d3dd58 routerrpc: fix estimator model field
This commit fixes the capitalization of the estimator's model field.
2023-03-21 08:54:10 +01:00
yyforyongyu
2b8e9a0d36 multi: add more trace logs regarding link activate flow 2023-03-21 10:18:49 +07:00
Oliver Gugger
d019c82f07 itest: assert change output type of SendCoins 2023-03-20 20:15:43 +01:00
Oliver Gugger
a266c3a4a9 itest: add assertion for PSBT change outputs
With this commit we add more specific assertions to our PSBT signing
test in order to make sure change outputs have the proper PSBT metadata
associated with them, depending on their address type.
2023-03-20 19:22:37 +01:00
Elle Mouton
a3e9f5b83c docs: add release note for 7405 2023-03-20 20:14:02 +02:00
Elle Mouton
957df98777 lncli: add new exclude-exhausted-sessions option 2023-03-20 20:14:02 +02:00
Elle Mouton
13c656defe lnrpc: use new ExcludeExhaustedSessions option 2023-03-20 20:14:01 +02:00
Elle Mouton
e6494889b0 wtclientrpc: add excludeExhaustedSessions option
Add a new `exclude_exhausted_sessions` field to the relevant
wtclient.proto requests. This was chosen instead of "include_exhausted"
so as to not break the API.
2023-03-20 20:14:01 +02:00
Elle Mouton
1af31bfea7 wtclient: fix info log line format 2023-03-20 20:14:01 +02:00
Elle Mouton
8623e6107d wtclient: don't unnecessarily load exhausted sessions
In this commit, a new `ExhaustedSessionFilter` function is added and
used as a PostEvalFilterFn used when loading sessions from the DB. It
allows us to not unnecessarily load exhausted sessions into memory for
areas of the code where they will not be needed.
2023-03-20 20:14:01 +02:00
Elle Mouton
49cd23725a watchtower: add PostEvaluateFilterFn call-back option
This commit adds a new PostEvaluateFilterFn call-back option to
`wtdb.ClientSessionListCfg`. This call-back is run _after_ all the other
evaluation call-backs in `wtdb.ClientSessionListCfg` and is only used to
determine if the session should be included in the returned list or not.
2023-03-20 20:14:01 +02:00
Elle Mouton
7bc86ca42e watchtower: add PreEvaluateFilterFn callback
In this commit, a PreEvaluateFilterFn option is added to the
wtdb.ClientSessionListCfg and it is used instead of a separate
ClientSessionFilterFn parameter. This neatens quiet a few function
signatures.
2023-03-20 20:14:01 +02:00
Oliver Gugger
c4c1f1ac92 Merge pull request #7069 from ellemouton/deleteSessions
watchtower: start using the DeleteSession message
2023-03-20 18:45:36 +01:00
Elle Mouton
ab98fc43fe docs: add release note for 7069 2023-03-20 16:51:51 +02:00
Elle Mouton
6f4034f7d1 lntest/itest: add session deletion itest 2023-03-20 16:51:51 +02:00
Elle Mouton
31beacc2c4 lnrpc/wtclientrpc: populate sessions from legacy channels 2023-03-20 16:51:51 +02:00
Elle Mouton
bad80ff583 multi: make tower MaxUpdates configurable
This is helpful in an itest environment where we want to quickly
saturate a session.
2023-03-20 16:51:51 +02:00
Elle Mouton
d840761cc4 watchtower: dont load closed channel details
In this commit, the FetchChanSummaries method is adapted to skip loading
any channel summaries if the channel has been marked as closed.
2023-03-20 16:51:51 +02:00
Elle Mouton
26e628c0fe watchtowers: handle closable sessions
Add a routine to the tower client that informs towers of sessions they
can delete and also deletes any info about the session from the client
DB.
2023-03-20 16:51:51 +02:00
Elle Mouton
8478b56ce6 watchtower: method to dial tower and send DeleteSession
This commit adds a deleteSessionFromTower method which can be used to
dial the tower that we created a given session with and then sends that
tower the DeleteSession method.
2023-03-20 16:51:33 +02:00
Elle Mouton
0209e6feb8 watchtower/wtclient: add Copy method to AddressIterator 2023-03-20 16:51:32 +02:00
Elle Mouton
2b08d3443f watchtowers: add thread safe min-heap
In this commit, a thread-safe min-heap is implemented. It will carry
sessionCloseItems which carry a sessionID and a block height at which
the session should be closed.
2023-03-20 16:51:32 +02:00
Elle Mouton
16008c0032 watchtower: handle channel closures
Add a channel-close handler that waits for channel close events and
marks channels as closed in the tower client DB.
2023-03-20 16:51:25 +02:00
Elle Mouton
41e36c7ec7 watchtower: add wtclient.ClientSession constructor 2023-03-20 10:46:53 +02:00