ziggie
ea9fb80eff
sqldb: use the new schema
...
We put this new schema update into the main line and change the
versions of the schema updates which are currently only available
in dev builds. The schemas need to be chronological therefore we
also need to rename the file numbers.
2025-08-14 11:59:09 +02:00
ziggie
506d226eb3
sqldb: add missing index for settled invoices
2025-08-14 08:17:15 +02:00
ziggie
22fbbee837
sqldb: delete wrong index names and add missing one
2025-08-14 08:17:15 +02:00
ziggie
4e0af2f495
channeldb: rename storedPaymentSeq
2025-08-11 16:44:15 +02:00
ziggie
a4b1569647
channeldb: rename currPaymentSeq
2025-08-11 16:44:15 +02:00
ziggie
6bae3c98b3
channeldb: rename paymentSeqMx
2025-08-11 16:44:14 +02:00
ziggie
88da582526
mulit: use kvdb.Backend for the kv payment db
...
Instead of the ChannelState struct we now use the kv backend
interface for the payment kv database.
2025-08-11 16:44:14 +02:00
ziggie
3aec40293d
paymentsdb: add subsystem logging for payments package
2025-08-11 16:44:14 +02:00
ziggie
18afd4442d
multi: introduce new paymentsDB package
...
We introduce a new package paymentsDB and start by moving the
payment specifc errors from the channeldb package to the
paymentsDB package. We also fix linter issues which showed up
due to changing this code part.
2025-08-11 16:44:14 +02:00
ziggie
db2c50a599
channeldb: add context to query method
...
We add a context for the query method because the query method
is part of the paymentDB interface and for the SQL case
we will need the context for this method because the native
SQL drivers demand one. So we add it for the kv implementation
here as well so we can then make use of the new interface type.
2025-08-11 16:44:13 +02:00
ziggie
dc7bea147a
docs: add release-notes
2025-08-08 10:46:26 +02:00
ziggie
79e1cf0db7
routing: make sure attempts are always resolved after a timeout
...
We check the context of the payment lifecycle at the beginning of
the `resumepayment` loop. This will make sure we have always the
latest state of the payment before deciding on the next steps in
the function `decideNextStep`.
2025-08-08 09:23:07 +02:00
ziggie
ab6f1fcab8
docs: add release notes
2025-08-07 16:53:45 +02:00
ziggie
87844cd5b4
multi: bump Golang version to v1.23.12
2025-08-07 16:53:45 +02:00
ziggie
3afac74413
scripts: remove expired pgp key
2025-08-06 11:24:54 +02:00
ziggie
a19e7f2e5f
docs: add release-notes
2025-08-06 09:37:09 +02:00
ziggie
28f286a2c1
docs: fix 19.2 release-notes
2025-08-06 09:37:09 +02:00
ziggie
5c22e5eb25
itest: add payment test with max htlc restriction
2025-08-06 09:37:09 +02:00
ziggie
e2a9b17254
multi: skip range check in pathfinder and switch for custom htlc payments
2025-08-06 09:37:08 +02:00
ziggie
2b3b27f5a9
multi: fix linter issues
2025-08-02 13:24:27 +02:00
ziggie
0aef5fa44c
multi: unify all payment related kv data
...
All interactions related to the payment db are now part of the
kvPaymentDB struct.
2025-08-02 13:24:27 +02:00
ziggie
aaa1ee0b74
channeldb: move kv related code
...
We move all kv particular code which was in the payments.go file
to the kv related file. Code which will be backend independant
will remain in the payments.go file although only the kv backend
is currently supported.
2025-08-02 13:24:25 +02:00
ziggie
e120110470
lnd: introduce separate key-value payment db
...
We also addd this new db on the server level to use it in the
following commit to do all the payment related queries of the
rpcserver.
We add a new payment db instance on the server level. Which we
will you for the payment related queries in a following commit.
2025-08-02 13:21:48 +02:00
ziggie
84b2a94da2
multi: fix linter issues
2025-08-02 13:21:45 +02:00
ziggie
8bd4744ee8
channeldb: rename pControl to paymentDB in tests
2025-08-02 11:48:01 +02:00
ziggie
2d07d44d1a
channeldb: rename PaymentControl struct
...
In the following commits we will gradually unify the current
payment db operations into an interface to later down the road
support both backends (sql+kv).
2025-08-02 11:24:59 +02:00
ziggie
252ebdea5b
channeldb: rename payment_control files
...
We rename the file to payment_kv_store to highlight that this
is the kv implementation of the payment db backend.
2025-08-01 17:51:11 +02:00
ziggie
354585e9dc
docs: add release-notes
2025-07-08 20:10:31 +02:00
ziggie
7a363ee17f
chanbackup: fix shutdown issue when backuper has not started yet
2025-07-08 20:10:31 +02:00
ziggie
9bff22864e
docs: add release notes
2025-07-08 19:16:28 +02:00
ziggie
1b675273fe
contractcourt: fix encoding
2025-07-08 19:16:28 +02:00
ziggie
eb4c87cdcb
routing: return error for getBandwidth and log it
2025-07-08 11:41:15 +02:00
ziggie
9a75400295
multi: add logs to debug potential payment sending issue
2025-07-08 10:54:59 +02:00
ziggie
923cafb989
multi: revert back changes from 9911
...
always process remote ADDs even when they are empty to trigger
the gc process when loading them back into memory.
2025-07-08 10:25:26 +02:00
ziggie
edb7342daa
docs: add release-notes
2025-07-04 13:15:20 +02:00
ziggie
68b7aaa96f
switch: unlock mutex lock earlier
...
We now unlock the mutex lock of the switch as soon as possible to
avoid potetnial deadlock in the htlc switch.
2025-07-04 13:15:20 +02:00
ziggie
e6aff211df
docs: add release-notes
2025-07-03 06:28:00 +02:00
ziggie
ed8ad3d110
brontide: remove async goroutine to process gossip process result
...
We cannot rely on a response currently so we avoid spawning
goroutines. This is just a temporary fix to avoid the goroutine
leak.
2025-07-03 06:27:59 +02:00
ziggie
dedb75aea4
discovery: add comments
2025-07-03 06:27:38 +02:00
ziggie
d6b89b9e9e
docs: add release-notes
2025-06-25 14:24:36 +02:00
ziggie
24e3958a0b
lnd: improve code comment
2025-06-25 13:50:18 +02:00
ziggie
409561ac62
lnd: rename removePeer to removePeerUnsafe
...
rename `removePeer` to highlight that the mutex has to be acquired
before calling it.
2025-06-25 13:50:17 +02:00
ziggie
0151993b88
docs: add release-notes
2025-06-25 13:50:17 +02:00
ziggie
3329308bce
multi: fix deadlock in p2p race condition
...
In case we cannot guarantee that the peers has started up
completely we launch the disconnect method asynchronously.
2025-06-25 13:50:17 +02:00
ziggie
43edfeb101
routerrpc: rename var and add more comments
2025-06-25 10:37:06 +02:00
ziggie
fd7f6caa4a
routerrpc: add log line for probing the invoice request
2025-06-25 10:37:05 +02:00
ziggie
02714f72a0
multi: increase test coverage payments
...
The BOLT spec was updated and now requires the payment address for
the writer and reader. We increase the test coverage for payments
setting a wrong payment address.
2025-06-24 22:15:07 +02:00
ziggie
8208eb6d82
docs: add release-notes
2025-06-21 09:20:19 +02:00
ziggie
d220b87b60
multi: Add decayedlog db migration code
...
This commit adds the migration code for the decayedlog db which
is optional and will default to true.
2025-06-21 09:20:19 +02:00
ziggie
c7e773132b
channeldb: update optional migration code for multiple versions
2025-06-21 09:20:18 +02:00
ziggie
c19d89149f
channeldb: add migration34
...
Migration34 garbage collects the decayed log database. This commit
only adds the migration code and does not use it.
2025-06-21 09:20:17 +02:00
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