Commit Graph
14755 Commits
Author SHA1 Message Date
Slyghtning 79a06d1918 docs: update release notes 2023-04-29 22:44:26 +02:00
Slyghtning 77322dddb8 itest: anchor reserve test for SendOutputs 2023-04-29 22:44:26 +02:00
Slyghtning 8f5910bf91 rpc: fix code style 2023-04-29 22:44:26 +02:00
Slyghtning 903b5dde89 rpc: SendOutputs considers anchor reserve 2023-04-29 22:44:23 +02:00
Olaoluwa Osuntokun 3c8c057ea9 Merge pull request #7641 from Roasbeef/btcwallet-async
build: update to btcwallet version with async mempool scan
2023-04-28 14:02:10 -05:00
Olaoluwa Osuntokun 33047e69d9 Merge pull request #7647 from yyforyongyu/skip-checkpoint-resolver
contractcourt: skip checkpoint htlc outgoing resolver if it's resolved
2023-04-28 14:01:14 -05:00
yyforyongyu 186569c610 contractcourt: skip checkpoint timeout resolver upon mempool spend
Previously when a block spend is found for the outpoint, our htlc
timeout resolver will do a checkpoint, which implicitly creates a db
record if there isn't one. Now, if the spend is found in mempool,
the resolver will be deleted once the contract is resolved. Later on
when the spend is found in the block again, the resolver will be created
again, but never gets resolved this time.
2023-04-28 20:38:01 +08:00
yyforyongyu 56dcda0f7c contractcourt: add debug logs for unresolved contracts 2023-04-28 20:38:00 +08:00
Oliver Gugger 35917eb858 Merge pull request #7643 from ellemouton/lastFewFundingLockeds
multi: catch a few uncaught instances of "funding locked"
2023-04-28 10:05:16 +02:00
Olaoluwa Osuntokun 239da9268c build: update to btcwallet version with async mempool scan
This version of btcwallet demotes some spammy logs (txns replaced in the
mempool), and makes the initial mempool scan async.

Fixes https://github.com/lightningnetwork/lnd/issues/7640
2023-04-27 16:27:26 -05:00
Elle Mouton ef17b12a86 funding: update "funding locked" in error string
Replace a few uncaught instances of "funding locked" found in error
strings with "channel_ready"
2023-04-27 20:03:44 +02:00
Elle Mouton 9ea3f55694 multi: update "funding locked" comments
Replace a few un-caught instances of "funding locked" in some comments
with "channel_ready"
2023-04-27 20:02:34 +02:00
Oliver Gugger 7854b73892 Merge pull request #7592 from sangaman/gen-default-macaroons-independently
lnd: generate default macaroons independently
2023-04-27 14:04:27 +02:00
Daniel McNally 16463d4bd4 lnd: generate default macaroons independently
This modifies the `genMacaroons` logic to indepently check for each of
the three default macaroons (admin, readonly, invoice) and generate
whichever are missing. Previously, this was an all or nothing routine.
In other words, either all three didn't exist on disk and all three are
created, or no macaroons are created. Although that works for the first
run of a new node, it can result in inconsistent states if only one or
two of the macaroons is deleted.

See https://github.com/lightningnetwork/lnd/discussions/7566.
2023-04-26 13:30:03 -04:00
Oliver Gugger fdc1ae9d57 Merge pull request #7635 from GeorgeTsagk/node-sync-err
routing: log node pubkey as hex
2023-04-26 08:59:07 +02:00
Oliver Gugger 0bc82d3038 Merge pull request #7637 from yyforyongyu/fix-itest-panic
Fix panic when canceling rebroadcast for neutrino backend
2023-04-26 08:58:39 +02:00
yyforyongyu 403c1baca6 lnd: skip canceling rebroadcast for neutrino backend 2023-04-26 10:38:13 +08:00
George Tsagkarelis dd93fc2539 routing: log node pubkey as hex 2023-04-25 21:27:24 +03:00
Oliver Gugger 4355ce62d2 Merge pull request #7623 from ellemouton/queueBackupIDOnly
wtclient: queue backup id only
2023-04-24 15:36:09 +02:00
Elle Mouton 9a1ed8c7b2 docs: update release notes 2023-04-24 13:15:40 +02:00
Elle Mouton 08cde98869 wtclient: add mutex locking in perUpdate
Lock the `backupMu` when accessing `c.chanCommitHeights` in the `New`
function. It is not strictly necessary right now but good to add it so
that there is no accidental oversight if the `perUpdate` method is ever
extracted and reused in future.
2023-04-24 13:15:40 +02:00
Elle Mouton 65dc20f2cc wtclient: let task pipeline only carry wtdb.BackupID
Since the retrubution info of a backup task is now only constructed at
the time that the task is being bound to a session, the in-memory queue
only needs to carry the BackupID of the task.
2023-04-24 13:15:40 +02:00
Elle Mouton 2371bbf09a wtclient: only fetch retribution info when needed.
Only construct the retribution info at the time that the backup task is
being bound to a session.
2023-04-24 13:15:40 +02:00
Elle Mouton 458ac32146 multi: build retribution info in TowerClient
Since the TowerClient now has a callback that it can use to retrieve the
retribution for a certain channel and commit height, let it use this
call back instead of requiring the info to be passed to it through
BackupState.
2023-04-24 13:15:40 +02:00
Elle Mouton 530a8cae5d wtclient: lint the package
This commit fixes some lints in the wtclient package. This is done so
that upcoming logic changes are easier to parse.
2023-04-24 13:15:40 +02:00
Elle Mouton 85ec38f447 multi: pass BuildBreachRetribution callback to tower client
In this commit, a new BuildBreachRetribution callback is added to the
tower client's Config struct. The main LND server provides the client
with an implementation of the callback.
2023-04-24 13:15:40 +02:00
Elle Mouton fe2304efad channeldb: add a FetchChannelByID method
Add a FetchChannelByID method that allows a caller to fetch an
OpenChannel using an lnwire.ChannelID.
2023-04-24 13:15:40 +02:00
Elle Mouton 63442cbe51 channeldb: factor out generic FetchChannel logic
This commit introduces a new `channelSelector` method and moves all
generic logic from `FetchChannel` to it. This refactor will make it
easier to add new methods that require the same open-channel db
traversal with slightly different channel selection logic.
2023-04-24 13:15:39 +02:00
Elle Mouton 908cb6060b channeldb: optimise FetchChannel method
This commit adds a small optimisation to the FetchChannel method.
Instead of iterating over each channel bucket, an identifiable error is
thrown once the wanted channel is found so that the iteration can stop
early.
2023-04-24 13:10:13 +02:00
Elle Mouton aebdd2375c channeldb: lint FetchChannel method
A few lint fixes of the FetchChannel method.
2023-04-24 13:10:12 +02:00
Elle Mouton cab0560d5e wtclient: cleanup the test file
This commit just does some linting of the client_test.go file so that
future commits are easier to parse.
2023-04-24 13:10:12 +02:00
Olaoluwa Osuntokun 588a7eb9ca Merge pull request #7599 from Roasbeef/sweeper-rebroadcaster-interaction
sweep: remove conflicted sweep txns from the rebroadcaster
2023-04-21 13:58:50 -07:00
Olaoluwa Osuntokun 3d2daeefd8 sweep: remove conflicted sweep txns from the rebroadcaster
In this commit, we an existing gap in our rebroadcast handling logic. As
is, if we're trying to sweep a transaction and a conflicting transaction
is mined (timeout lands on chain, anchor swept), then we'll continue to
try to rebroadcast the tx in the background.

To resolve this, we give the sweeper a new closure function that it can
use to mark conflicted transactions as no longer requiring rebroadcast.
2023-04-21 11:53:08 -07:00
Oliver Gugger aff6d4c958 Merge pull request #7614 from yyforyongyu/fix-pprof-err
lntest+lnd: gracefully shutdown pprof server
2023-04-21 14:23:51 +02:00
yyforyongyu e547118de0 lntest: increase channel close timeout 2023-04-20 18:52:46 +08:00
yyforyongyu 24c028ff52 lntest: make sure error from shutdown is caught 2023-04-20 18:52:46 +08:00
yyforyongyu 4243c5b95f lnd: properly shutdown the optional pprof server
This commit makes sure when lnd is shutting down, the optional pprof
server is also gracefully shutting down.
2023-04-20 18:52:46 +08:00
Olaoluwa Osuntokun f56c9e9c8a Merge pull request #7609 from Roasbeef/80-block-cltv
chainreg: increase default CLTV value to 80 blocks (~13 hrs)
2023-04-19 11:42:27 -07:00
Olaoluwa Osuntokun 7e1628d89d chainreg: increase default CLTV value to 80 blocks (~13 hrs)
In this commit, we increase the default CTLV value to 80 blocks.
Initially this was set to 144 blocks in the early days, but then was
lowered to 40 blocks as the lnd implementation matured. By setting this
to a higher value, we increase the safety window (MTTR) when it comes to
node downtime, and also add some buffer room around time locks which may
become more stressed in the future assuming the current mempool load
remains persistent.
2023-04-19 11:39:37 -07:00
Olaoluwa Osuntokun d908becf73 Merge pull request #7613 from ellemouton/fndMgrDefaultPolicyValuesFix
funding: use default forwarding policy if persisted values not found
2023-04-19 11:29:23 -07:00
Elle Mouton 784dc8d530 funding: use default fwding policy if persisted values not found
In this commit, a bug is fixed in the funding manager that could result
in the funding process erroring out if the persisted initial forwarding
policy is not found. This could occur if a node restarts after opening a
channel that is not yet fully confirmed and also upgrades their node
from a pre-0.16 version to 0.16 since the values are only expected to be
persisted after 0.16.
2023-04-19 11:51:32 +02:00
Oliver Gugger d9396741fa Merge pull request #7607 from yyforyongyu/itest-fix-close-chan
lntest: add temporary wait when closing channels
2023-04-19 10:48:43 +02:00
Oliver Gugger 68dc01977c Merge pull request #7608 from morehouse/docker_autoclean
make: clean up container after linting
2023-04-19 10:39:09 +02:00
Olaoluwa Osuntokun ec3cb6939a Merge pull request #7564 from yyforyongyu/mempool-watch
contractcourt: add mempool watcher to notify mempool events
2023-04-18 14:22:23 -07:00
Matt Morehouse 526075be57 make: clean up container after linting
Currently `make lint` creates a new container each time it runs. We can
automatically delete these containers once linting is done by using the
--rm flag.
2023-04-18 15:20:14 -05:00
yyforyongyu 66d1392f7f chainreg: update bitcoind polling config 2023-04-19 01:24:04 +08:00
yyforyongyu d5db1950cd mod: update btcwallet version 2023-04-19 01:18:20 +08:00
yyforyongyu f72d6dfaf5 docs: update release notes for mempool watch 2023-04-19 01:18:20 +08:00
yyforyongyu e715b8ed1f itest+lntest: add itest for mempool preimage watch 2023-04-19 01:18:19 +08:00
yyforyongyu 774db0dfe1 lntest: add more methods to assert mempool state 2023-04-19 01:18:19 +08:00