Commit Graph

19085 Commits

Author SHA1 Message Date
Elle
1fcf112107 Merge pull request #9925 from ellemouton/rbIncomingFollowup
routing: clean-up & fix blinded path incoming chained channel logic
2025-06-25 16:30:40 +02:00
Oliver Gugger
53b249efc0 Merge pull request #9991 from ziggie1984/add-probe-logging
routerrpc: add log line for probing the invoice request
2025-06-25 14:49:51 +02:00
Elle
5d926b39a6 Merge pull request #9939 from ellemouton/graphSQL15-prune-log
[15] graph/db: SQL prune log
2025-06-25 13:24:24 +02:00
Elle Mouton
a4459cc5a5 docs: update release notes 2025-06-25 12:57:40 +02:00
Elle Mouton
6475787750 routing: fix log line formatting 2025-06-25 12:57:30 +02:00
Elle Mouton
4945bd42fa routing: expand routeblinding path finding tests
Cover more cases for the incoming chained channel feature.
2025-06-25 12:57:28 +02:00
Elle Mouton
34154802f3 routing+itest: fix route blinding path selection bug
Here we fix a bug which would not include the selected incoming blinded
path chain from being included in the selected path set if it meets the
minimum length requirement. The appropriate unit test and itest is
updated to demonstrate the fix.
2025-06-25 12:55:36 +02:00
Elle Mouton
51f1932d48 itest: clean-up partially specified blinded path test
Improve the readability of the existing test.
2025-06-25 12:50:11 +02:00
Elle Mouton
067e316df8 routing: clean-up the tests a bit
This is just in preparation for the next commit. The test will be
cleaned up more after a bug is fixed.
2025-06-25 12:49:51 +02:00
Elle Mouton
4bc0aee35b routing: improve TestFindBlindedPaths readability
Add a helper so that we can refer to channels by using the aliases of
the nodes that own the channel instead of needing to use the raw channel
ID.
2025-06-25 12:33:01 +02:00
Elle Mouton
da37fe20fc routing: add comments and clean-up to findBlindedPaths
Here we add some more comments and a bit of code clean up to the
`findBlindedPaths` function. No logic is changed here.
2025-06-25 12:33:00 +02:00
Oliver Gugger
fb720c174b Merge pull request #9989 from hieblmi/round-up
chainfee: method to round up the fee for a given transaction weight
2025-06-25 12:11:09 +02:00
Elle Mouton
e875183c4f sqldb+graph/db: impl DisconnectBlockAtHeight
Which lets us run `TestDisconnectBlockAtHeight` and
`TestStressTestChannelGraphAPI` against our SQL backends.
2025-06-25 11:22:03 +02:00
Elle Mouton
9dd0361ed0 graph/db+sqldb: impl PruneGraph, PruneTip, ChannelView
Which lets us run `TestGraphPruning` and `TestBatchedAddChannelEdge`
against our SQL backends.
2025-06-25 11:22:00 +02:00
Elle Mouton
2da701cc4f graph/db+sqldb: impl PruneGraphNodes
Which lets us run `TestChannelEdgePruningUpdateIndexDeletion` against
our SQL backends.
2025-06-25 10:48:35 +02:00
Elle Mouton
102c04daaf sqldb/sqlc: prune_log schema
Define the schema for the prune log.
2025-06-25 10:48:35 +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
Slyghtning
45ba301f30 docs: update release notes 2025-06-25 10:36:57 +02:00
Slyghtning
ab8ae542d0 chainfee: method to round up the fee for a given transaction weight 2025-06-25 10:02:04 +02:00
Oliver Gugger
33e6f28542 Merge pull request #9938 from ellemouton/graphSQL14
[14] graph/db: implement more SQLStore methods
2025-06-25 09:28:04 +02:00
Elle Mouton
eec89362a5 graph/db+sqldb: impl DisabledChannelIDs
Which lets us run `TestDisabledChannelIDs` against our SQL DB backends.
2025-06-24 21:04:36 +02:00
Elle Mouton
f1da3812de graph/db+sqldb: impl IsPublicNode
Which lets us run `TestNodeIsPublic` against our SQL DB backends.
Note that we need to tweak the tests a little bit so that
`AddLightningNode` for the same node is always called with a newer
LastUpdate time else it will fail the SQL constraint that only allows
the upsert if the update is newer than the persisted one.
2025-06-24 21:04:36 +02:00
Elle Mouton
acae165f0a graph/db: implement FetchChanInfos
Which lets us run `TestFilterChannelRange` against our SQL backends.
2025-06-24 21:04:36 +02:00
Elle Mouton
ba701de88a graph/db: impl FilterKnownChanIDs
Which lets us then run `TestFilterKnownChanIDsZombieRevival` and
`TestFilterKnownChanIDs` against our SQL backends.
2025-06-24 21:04:36 +02:00
Elle Mouton
13bf6a549f graph/db+sqldb: implement HasChannelEdge and ChannelID
And run `TestEdgeInfoUpdates` against our SQL backends.
2025-06-24 21:04:35 +02:00
Elle Mouton
4fad4a7023 graph/db+sqldb: implement FetchChannelEdgesByOutpoint/SCID
And run `TestEdgeInsertionDeletion` against our SQL backends.
2025-06-24 21:04:35 +02:00
Elle
4335d9cfb7 Merge pull request #9937 from ellemouton/graphSQL-zombie-index
[13] graph/db: SQL-ize the zombie index
2025-06-24 20:59:51 +02:00
Elle Mouton
2a6e6683eb graph/db+sqldb: implement DeleteChannelEdges
This lets us run TestGraphZombieIndex against the SQL backends.
2025-06-24 19:02:45 +02:00
Elle Mouton
00b6e0204c graph/db+sqldb: implement various zombie index methods
Here we implement the SQLStore methods:
- MarkEdgeZombie
- MarkEdgeLive
- IsZombieEdge
- NumZombies

These will be tested in the next commit as one more method
implementation is required.
2025-06-24 19:02:14 +02:00
Elle Mouton
137fc09230 graph/db: add channelIDToBytes helper 2025-06-24 18:58:52 +02:00
Elle Mouton
c648c7a22d sqldb/sqlc: add zombie index table
Note that this table will only contain entries for channels that we have
deleted from the `channels` table which is why we cannot use foreign
keys. Similarly, we may no longer have node entries for the nodes in the
table.
2025-06-24 18:35:19 +02:00
Elle Mouton
cee872ad0e graph/db: make makeZombiePubkeys reusable
So that we can use it in our SQLStore implementation too without needing
to fetch the entire ChannelEdgePolicy.
2025-06-24 18:35:18 +02:00
Oliver Gugger
29ff13d83f Merge pull request #9973 from ZZiigguurraatt/skip-native-sql-migration-doc-update
sqldb: clarify native sql options in `lnd.conf`
2025-06-24 18:18:13 +02:00
ZZiigguurraatt
4a4d19600f sqldb: clarify native sql options 2025-06-24 11:35:53 -04:00
Elle
6b80796bb8 Merge pull request #9936 from ellemouton/graphSQL12
[12] graph/db: Implement more graph SQLStore methods
2025-06-24 14:37:33 +02:00
Oliver Gugger
a9b530ce4a Merge pull request #9984 from starius/lntest-feeservice-mutex
lntest: do not do IO under mutex in fee_service
2025-06-24 14:09:10 +02:00
Oliver Gugger
715cae936d Merge pull request #9967 from ellemouton/peerBootstrapItest
itest: test automatic peer bootstrapping
2025-06-24 14:07:51 +02:00
Elle
8afe62a6db Merge pull request #9981 from yyforyongyu/fix-sweep-itest
itest: fix flake in `sweep_cpfp_anchor_incoming_timeout`
2025-06-24 14:05:56 +02:00
Elle Mouton
75a353146d docs: update release notes
Warn users of simnet/signet/regtest scripts that they will now need to
explicitly specify the `--nobootstrap` flag to turn bootstrapping off.
2025-06-24 12:56:46 +02:00
Elle Mouton
4d766c457f itest: add peer bootstrapping itest
Test the automatic peer bootstrapping logic via an itest.
2025-06-24 12:56:46 +02:00
Elle Mouton
63fbd5fbcb lntest: make nobootstrap configurable
This will allow us to test bootstrapping in an itest.
2025-06-24 12:48:01 +02:00
Elle Mouton
38862d3b91 server: remove shouldPeerBootstrap
We already set `nobootstrap` in the default node flags for itest nodes,
so we can remove this check now. This will allow us to later test
bootstrapping in an itest. NOTE that with this change, any
signet/simnet/regtest network users will now need to explicitly add the
`--nobootstrap` flag if they want to prevent automatic bootstrapping.
This warning is added to the release notes later on.
2025-06-24 12:48:00 +02:00
Elle Mouton
3687171cd5 sqldb+graph/db: implement FilterChannelRange
This lets us run `TestFilterChannelRange` against the SQL backends.
2025-06-24 12:17:52 +02:00
Elle Mouton
ff84fa1cb2 graph/db+sqldb: impl ForEachNodeCached and ForEachChannel
Which let's us run `TestGraphTraversal` against our SQL backends.
2025-06-24 12:17:52 +02:00
Elle Mouton
6aa2933379 sqldb: add index on node & chan policy last_update columns
So that we can have efficient lookups during the "*UpdatesInHorizon"
calls.
2025-06-24 12:17:52 +02:00
Elle Mouton
5bb5b6a260 graph/db: fix log line in KVStore
Ensure that the log line in `ChanUpdatesInHorizon` cannot cause a
divide-by-zero panic.
2025-06-24 12:17:52 +02:00
Elle Mouton
39e521e12b graph/db+sqldb: implement ChanUpdatesInHorizon
Add `ChanUpdatesInHorizon` method to the SQLStore. This lets us run
`TestChanUpdatesInHorizon` against our SQL backends.
2025-06-24 12:17:52 +02:00
Boris Nagaev
61b3670113 lntest: do not do IO under mutex in fee_service
If HTTP response is consumed slowly, this might block other HTTP requests to
the fee service, because the mutex is held.
2025-06-24 00:44:45 -03:00
Olaoluwa Osuntokun
45c15646c6 Merge pull request #9945 from ziggie1984/optional-migration
Decayed log optional migration
2025-06-23 16:17:31 -07:00