Commit Graph
100 Commits
Author SHA1 Message Date
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