Commit Graph
100 Commits
Author SHA1 Message Date
ziggie 1741810065 docs: add sphinx replay description
Previouly the sphinx replay db would cause confusion for what it
is needed at all. We clarify it in a detailed document.
2025-06-13 15:37:03 +02:00
ziggie fe3db6a263 multi: update sphinx lib to latest version 2025-06-13 08:47:31 +02:00
ziggie 6feed32288 htlcswitch: exit early if no adds are in the fwd pkg
This lead to the case that we would always record a HTLC
two times in the decayed log protection which is not necessary
in the first place.
2025-06-09 09:17:25 +02:00
ziggie 6f45735d55 docs: add release notes for 19.1 2025-06-03 21:18:19 +02:00
ziggie 732d3a77b4 discovery: increase syncer gossip chan buffer 2025-06-03 21:13:42 +02:00
ziggie 74c5541147 brontide: increase logging when processing gossip msgs
We add logging to we can draw conclusions how long the processing
of gossip message last and potentially see whether the syncer
buffer channel size is a bottleneck in processing.
2025-06-03 21:13:42 +02:00
ziggie a59666455b docs: update release-notes 2025-06-03 13:06:28 +02:00
ziggie 73251952d1 mod: update btclog library 2025-06-03 13:06:28 +02:00
ziggie 329c571d5a docs: add release notes 2025-05-29 10:19:28 +02:00
ziggie e593c9d266 brontide: fix peer disconnection issue
In case when the rbf coop close feature was active we would not
properly disconnect the peer.
2025-05-29 10:19:28 +02:00
ziggie b837c889dc itest: add disconnect test
Add a connect/disconnect test when the peers both started up
with the rbf coop close feature.
2025-05-29 10:19:21 +02:00
ziggie c65cf7ffd1 makefile: fix linewrap for make help cmd 2025-05-26 08:45:21 +02:00
ziggie c624e4348d makefile: add lean cross-compile build
Different platforms can now be cross-compiled wihtout packing
all the source and vendor packages.
2025-05-26 08:37:10 +02:00
ziggie 5baaa3e7c5 sqlc: update sqlc compiler to 1.29.0 2025-05-25 18:23:35 +02:00
ziggie 468c527556 docs: update release notes for 19.
The `lncli listchannels` command was changed and might cause breaking
changes for people relying on the `chan_id` return value in their
automation scripts.
2025-05-16 09:41:36 +02:00
ziggie b9620a7dc3 mulit: increase logprogress time
Switched the batchsize to 30 seconds instead of number of payments
and invoices.
2025-04-22 00:01:16 +02:00
ziggie 98384b6f04 docs: add release-notes 2025-04-21 11:09:42 +02:00
ziggie b2087a8a2e lnwallet: skip aux resolution call for non-anchor channels. 2025-04-21 11:09:00 +02:00
ziggie 440ed31419 multi: add more logging when fetching invoices and payments. 2025-04-18 16:33:39 +02:00
ziggie 729c84bee3 lncli: return more clear error msg for deletepayments 2025-04-18 15:30:39 +02:00
ziggie cadc8d0fba btcdnotify: change order of rpc calls.
We have to make sure we register the block notifier before we
fetch the best block for block notifications.
2025-04-17 09:51:44 +02:00
ziggie fee68593ab docs: add release notes 2025-04-16 16:36:18 +02:00
ziggie 947702f6de multi: add global log for wallet db postgres back 2025-04-16 16:31:24 +02:00
ziggie 8dde8cfc59 chainntnfs: increase logging of the subsystems 2025-04-15 15:20:22 +02:00
ziggie 417d2de43e docs: add release-notes 2025-04-14 16:28:54 +02:00
ziggie 5c402472a4 mulit: move neutrino.db also to postgres 2025-04-14 16:28:54 +02:00
ziggie 140dd339c1 kvdb: add make specific error available in kvdb package 2025-04-09 18:47:54 +02:00
ziggie 490347b056 multi: update walletdb package 2025-04-09 18:47:53 +02:00
ziggie 3952cf39c3 record: add unit test 2025-03-25 10:36:16 -05:00
ziggie 0eca55fe94 docs: add release-notes 2025-03-25 04:42:03 -05:00
ziggie 013e408abe multi: make validation for keysend stricter 2025-03-25 04:42:03 -05:00
ziggie b010e95445 itest: add itest to test duplicate failure notification 2025-03-24 09:17:09 -05:00
ziggie 9e683a38ef docs: add release-notes 2025-03-24 09:17:09 -05:00
ziggie 4bdd37534e routing: Ensure to not fail a payment twice 2025-03-24 09:17:09 -05:00
ziggie 8017139df5 docs: add release-notes 2025-02-20 17:43:18 +01:00
ziggie f994c2cb9f htlcswitch: fix log output 2025-02-20 17:43:18 +01:00
ziggie f458844412 lnd: add max fee rate check to closechannel rpc 2025-02-20 17:43:18 +01:00
ziggie 59443faa36 multi: coop close with active HTLCs on the channel
For the lncli cmd we now always initiate the coop close even if
there are active HTLCs on the channel. In case HTLCs are on the
channel and the coop close is initiated LND handles the closing
flow in the background and the lncli cmd will block until the
transaction is broadcasted to the mempool. In the background LND
disallows any new HTLCs and waits until all HTLCs are resolved
before kicking of the negotiation process.
Moreover if active HTLCs are present and the no_wait param is not
set the error msg is now highlightning it so the user can react
accordingly.
2025-02-20 17:43:18 +01:00
ziggie 9382fcb801 multi: fix debug log 2025-02-20 10:44:19 +01:00
ziggie 3562767b23 lncli: only add additional info to specific cmds.
We only append the chan_id and the human readable scid
for the commands `listchannels` and `closedchannels`. This
ensures that other commands like `buildroute` are not affected
by this change so their output can be piped into other cmds.

For some cmds it is not very practical to replace the json output
because we might pipe it into other commands. For example when
creating the route we want to pipe the result of buildroute into
sendtoRoute.
2025-02-12 23:29:56 +01:00
ziggie 6373d84baf graph: fix flake in unit test 2025-02-10 14:07:04 +01:00
ziggie 022b3583b4 docs: update release-notes 2025-02-07 15:14:05 +01:00
ziggie 34c4d12c71 walletrpc: add new deadline-delta param to bumpfee rpc
Add new parameter deadline-delta to the bumpfee request and only
allow it to be used when the budget value is used as well.
2025-02-07 11:28:41 +01:00
ziggie 715cafa59a docs: add release-notes. 2025-01-31 13:10:03 +01:00
ziggie 118261aca4 invoices+channeldb: Fix AMP invoices behaviour.
We now cancel all HTLCs of an AMP invoice as soon as it expires.
Otherwise because we mark the invoice as cancelled we would not
allow accepted HTLCs to be resolved via the invoiceEventLoop.
2025-01-31 13:10:02 +01:00
ziggie f4e2f2a396 docs: add release-notes. 2025-01-29 22:45:37 -06:00
ziggie 15e6e35cdb invoices: fix log entries and add a TODO.
We need to make sure if we cancel an AMP invoice we also cancel
all remaining HTLCs back.
2025-01-29 18:21:41 +01:00
ziggie 46f3260924 invoices: make sure the db uses the same testTime. 2025-01-29 18:21:40 +01:00
ziggie 34e56b69e9 invoicerpc: add clarifying comment. 2025-01-29 18:21:40 +01:00
ziggie c95d73c898 invoices: remove obsolete code for AMP invoices.
We always fetch the HTLCs for the specific setID, so there is no
need to keep this code. In earlier versions we would call the
UpdateInvoice method with `nil` for the setID therefore we had
to lookup the AMPState. However this was error prune because in
case one partial payment times-out the AMPState would change to
cancelled and that could lead to not resolve HTLCs.
2025-01-29 18:21:40 +01:00
ziggie 0532990a04 invoices: enhance the unit test suite.
The invoiceregistry test suite also includes unit tests for
multi part payment especially also including payments to AMP
invoices.
2025-01-29 18:21:40 +01:00
ziggie 17e37bd7c2 multi: introduce new traffic shaper method.
We introduce a new specific fail resolution error when the
external HTLC interceptor denies the incoming HTLC. Moreover
we introduce a new traffic shaper method which moves the
implementation of asset HTLC to the external layers.
Moreover itests are adopted to reflect this new change.
2025-01-29 09:59:02 +01:00
ziggie 9ee12ee029 invoices: treat replayed HTLCs beforehand.
We make sure that HTLCs which have already been decided upon
are resolved before before allowing the external interceptor to
potentially cancel them back. This makes the implementation for
the external HTLC interceptor more streamlined.
2025-01-29 09:59:02 +01:00
ziggie e008190a85 localchans: bugfix so that we always use the correct chanID 2025-01-14 08:14:02 +01:00
ziggie f36f7c1d84 docs: add release-notes 2025-01-09 07:56:40 +01:00
ziggie 5cd88f7e48 contractcourt: remove 2xamount requirement for the sweeper. 2025-01-08 08:57:50 +01:00
ziggie 90db546b64 docs: update release-notes
Correct 18.4 release-notes for a change which will only be part
of 19.0.
2024-12-19 18:58:13 +01:00
ziggie c6bdbbe222 github: update goveralls tool
The goverall tool had a bug regarding the module versioning of
golang packages see also
https://github.com/mattn/goveralls/pull/222 for more background.
Goveralls is wrapped by another library to make it available for
github actions. So the relevant PR which is referenced here in
LND is:
https://github.com/shogo82148/actions-goveralls/pull/521.
2024-12-12 10:38:01 +01:00
ziggie 101311debb docs: fix typos in release-notes 19.0 2024-12-10 19:05:49 +01:00
ziggie 2610663658 docs: add release-notes for 18.4 2024-12-10 19:05:49 +01:00
ziggie decfdb68ac routing: bugfix for mc reporting of blinded paths
When reporting an error  or a success case of a payment to a
blinded paths, the amounts to forward for intermediate hops
are set to 0 so we need to use the receiver amount instead.
2024-12-10 19:05:49 +01:00
ziggie 9327940ac4 routing: add pathfinding test
We add a test where we add duplicate hops in a route and verify
that the pathfinding engine can handle this edge case.
2024-12-10 19:05:49 +01:00
ziggie 3cec72ae9c routing: improve lasthoppaylaod size calculation
Fixes a bug and makes the function more robust. Before
we would always return the encrypted data size of last hop
of the last path. Now we return the greatest last hop payload
not always the one of the last path.
2024-12-10 19:05:49 +01:00
ziggie e47024b790 routing: Use NUMS point for blinded paths
To be able to do MPP payment to multiple blinded routes we need
to add a constant dummy hop as a final hop to every blined path.
This is used when sending or querying a blinded path, to let the
pathfinder be able to send MPP payments over different blinded
routes. For this dummy final hop we use a NUMS key so that we
are sure no other node can use this blinded pubkey either in a
normal or blinded route.
Moreover this helps us handling the mission control data for
blinded paths correctly because we always consider the blinded
pubkey pairs which are registered with mission control when
a payment to a blinded path fails.
2024-12-10 19:05:49 +01:00
ziggie e8ee087cbc fn: add deep copy interface. 2024-12-10 14:10:33 +01:00
ziggie df30b481c6 input: export NUMS key parser. 2024-12-09 23:08:50 +01:00
ziggie 0004e31997 docs: add release-notes 2024-12-05 15:11:12 +01:00
ziggie 17bc8827c5 contractcourt: refactor start up of arbitrators
We decouple the state machine of the channel arbitrator from
the start-up process so that we can startup the whole daemon
reliably.
2024-12-05 15:11:12 +01:00
ziggie 879041b75e docs: add release notes 2024-11-20 09:19:09 +01:00
ziggie ed6a246439 rpcserver: add robustness check 2024-11-20 09:18:25 +01:00
ziggie 5486f32444 multi: introduce an option for resolutions
We don't always need the resolutions in the local force close
summary so we make it an option.
2024-11-20 09:18:24 +01:00
ziggie aaa0abc8a9 wtdb: export versions of wtclient.db
We now make it possible to get the current db version of the
wtclient.db. Moreover we can now fetch the latest available
migration version for the client db. This allows us to compare
whether the client.db has all the expected migrations applied.
2024-11-19 16:42:52 +01:00
ziggie 59f32682a5 contractcourt: introduce option for commitKey. 2024-11-07 22:40:53 +01:00
ziggie d5e8df7067 docs: add release-notes for LND 19 2024-11-07 22:40:53 +01:00
ziggie 50d6864137 itest: adopt itests for the new behavior
Now outgoing dust-htlcs are canceled back before the commitment
is confirmed onchain.
2024-11-07 22:40:53 +01:00
ziggie 7aa9ade4c2 contratcourt: dont consider dust htlc for anchor sweep
Now that we cancel dust htlcs prematurely even before the
commitment tx is confirmed we don't consider dust htlcs when
creating the cpfp transaction.
2024-11-07 22:40:52 +01:00
ziggie 8ed8665d50 contractcourt: Cancel dust htlcs prematurely
We will now cancel dust htlcs on the local/remote commits after
we decided to go onchain. This can be done because dust cannot
be enforced onchain and therefore there is no way to also reveil
the preimage onchain.
2024-11-07 22:40:52 +01:00
ziggie 20dc7f29f8 multi: fix typo and add comment. 2024-11-07 18:32:45 +01:00
ziggie 328a711dbe contractcourt: enhance chainAction type
We distinguish between dangling and dust htlcs. This does not
change any logic but only introduces new types to later act on them
differently when we begin to fail dust htlcs earlier in a later
commit.
2024-11-07 18:32:45 +01:00
ziggie 8890f83bde contratcourt: refactor resolving htlc logic
Refactor the part where we are failing back the incoming htlc
when the channel of the corresponding outgoing htlc is force
closed. We do this because in furture commits we separate the
logic when we fail back the incoming htlc (abandonForward).
Right now we fail abandon dust forwards and non-dust forwards
only when the commitment transaction is confirmed. Later we will
move the canceling of the upstream htlc when the commitment
transaction is broadcasted instead of waiting until the commitment
tx is confirmed. The reason for that is that dust cannot be enforced
onchain anyways so there is no reason to wait.
2024-11-07 18:32:45 +01:00
ziggie 98a270bd30 contractcourt: improve robustness 2024-11-07 18:32:44 +01:00
ziggie aebf03aca4 docs: add release-notes for 19. 2024-11-06 18:52:07 +01:00
ziggie 643e415448 scripts: dont check new config value.
Because we need to remain backwards compatible with the old
`dust-threshold` value we set the default value for
`channel-max-fee-exposure` later in the program flow. Given
the restrictions of the sample config check we need to exclude
this value from the check.
2024-11-06 18:52:07 +01:00
ziggie 7b2da94750 multi: deprecate dust-treshold config value
Replace ambigious config value "dust-treshold" with a more clear
"channel-max-fee-exposure" exposure value. The old value is
deprecated and will be removed in the near future.
2024-11-06 18:16:06 +01:00
ziggie a040f8fafa htlcswitch: increase log 2024-11-06 18:12:43 +01:00
ziggie 5fe9bb2cff htlcswitch: adopt test for dust threshold 2024-10-31 17:35:53 +01:00
ziggie cfa073e6ec htlcswitch: increase logs 2024-10-31 17:35:27 +01:00
ziggie f73504a26d docs: add release notes. 2024-10-18 13:11:09 +02:00
ziggie 8bb79d10e9 lnd: fix debuglevel bug.
We need to setup the loggers before we are able to show the
complete list of available subsystems.
2024-10-18 13:11:09 +02:00
ziggie 027de0a82c invoices: add proper startup for the interceptor
During testing of this PR I figured out the the htlc interceptor
was not shutdown and started properly in terms of closing the
quit channel but also in terms of the relevant logs.
2024-10-18 13:03:30 +02:00
ziggie 448193b0fd multi: separate profiler config 2024-10-18 13:03:30 +02:00
ziggie 64c20ca308 docs: Detail LND's debug possibilities
Describe the basics of the LND profiler so that node runners can
easily provide profile dumps to analyse faulty behaviour more
quickly.

Also update the description of LND's logging system.
2024-10-18 13:03:30 +02:00
ziggie 8d4d3e0323 rpc: return loglevels of the current subsystems 2024-10-18 13:03:29 +02:00
ziggie 42e8a43375 fn: Add Size and IsEmpty methods to Set 2024-10-04 01:07:47 +02:00
ziggie 4402137fb4 multi: bump btcd version.
The new SignCompact return values had to be adopted across the
code base.
2024-10-03 21:56:21 +02:00
ziggie 2915936a39 docs: add release-notes. 2024-10-03 00:38:50 +02:00
ziggie 6387c0ab50 walletrpc: error out for non-anchor chans.
Return an error if a non-anchor channel is tried to be fee-bumped.
2024-10-03 00:37:49 +02:00
ziggie 7ea2080abe lnd: add logger for rpcclient 2024-10-02 11:51:24 +02:00
ziggie eba481e790 docs: add instructions how to sign a LND release. 2024-09-18 01:31:12 +02:00
ziggie f5f52a65c9 scripts: rename PGP key file.
The name in the verify-install.sh and the PGP key file need to be
the same.
2024-09-16 10:49:18 +02:00