Commit Graph

19074 Commits

Author SHA1 Message Date
Elle Mouton
d46552f5ad graph/db+sqldb: implement AddEdgeProof
And run `TestAddEdgeProof` against the SQL backends.
2025-06-25 13:26: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
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
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
yyforyongyu
0e247641d7 itest: document and fix a wallet utxo flake 2025-06-23 22:18:54 +08:00
yyforyongyu
2c73a3fa7c itest: remove extra UTXO used in sweeping tests
Given #8786 is now fixed, we no longer need extra UTXOs in these tests.
2025-06-23 22:18:31 +08:00
Yong
09df5894d0 Merge pull request #9947 from yyforyongyu/export-itest-db
lntest: add a flag to export data generated during the test
2025-06-23 21:33:31 +08:00
yyforyongyu
3b84088d4a multi: enable passing flag basedir to make itest 2025-06-23 17:29:26 +08:00
yyforyongyu
343ae963b0 lntest: add a new basedir flag to keep test data 2025-06-23 17:29:26 +08:00
yyforyongyu
0d20e96e96 lntest: create GenBaseDir to generate the base dir 2025-06-23 17:28:48 +08:00
Yong
5ebb29309e Merge pull request #9977 from starius/itest-bitcoind-neutrino
lntest: enable neutrino testing with bitcoind
2025-06-23 17:08:18 +08:00
Boris Nagaev
7b70ad7fd1 docs: update release notes 2025-06-22 11:06:54 -03:00
Boris Nagaev
9100be5ba5 lntest: add method P2PAddr to backend
It is useful if we want to keep bitcoind main itest mode, but connect one node
using neutrino.
2025-06-22 11:06:54 -03:00
Boris Nagaev
07217f2dd8 lntest: fix p2p port binding
Use an additional -bind flag instead of -port to specify the default p2p port.

Flag -port sets the default port number that will be used for any -bind or
-whitebind that does not explicitly specify a port. So if we have the p2p
port set in -port and the tor p2p port set in a single -bind, bitcoind binds
only one port - the tor p2p port. And the default p2p port remained not bound!
2025-06-22 11:06:54 -03:00
Boris Nagaev
3d0031435c lntest: serve compact filters for neutrino
Enable this in bitcoind mode as well to be able to let a subset of LND nodes
to use neutrino with bitcoind backend.
2025-06-22 11:06:49 -03:00