Commit Graph

19056 Commits

Author SHA1 Message Date
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
137fc09230 graph/db: add channelIDToBytes helper 2025-06-24 18:58:52 +02:00
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
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
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
4a4d19600f sqldb: clarify native sql options 2025-06-24 11:35:53 -04:00
6b80796bb8 Merge pull request #9936 from ellemouton/graphSQL12
[12] graph/db: Implement more graph SQLStore methods
2025-06-24 14:37:33 +02:00
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
715cae936d Merge pull request #9967 from ellemouton/peerBootstrapItest
itest: test automatic peer bootstrapping
2025-06-24 14:07:51 +02:00
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
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
4d766c457f itest: add peer bootstrapping itest
Test the automatic peer bootstrapping logic via an itest.
2025-06-24 12:56:46 +02:00
63fbd5fbcb lntest: make nobootstrap configurable
This will allow us to test bootstrapping in an itest.
2025-06-24 12:48:01 +02:00
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
3687171cd5 sqldb+graph/db: implement FilterChannelRange
This lets us run `TestFilterChannelRange` against the SQL backends.
2025-06-24 12:17:52 +02:00
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
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
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
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
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
45c15646c6 Merge pull request #9945 from ziggie1984/optional-migration
Decayed log optional migration
2025-06-23 16:17:31 -07:00
0e247641d7 itest: document and fix a wallet utxo flake 2025-06-23 22:18:54 +08:00
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
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
3b84088d4a multi: enable passing flag basedir to make itest 2025-06-23 17:29:26 +08:00
343ae963b0 lntest: add a new basedir flag to keep test data 2025-06-23 17:29:26 +08:00
0d20e96e96 lntest: create GenBaseDir to generate the base dir 2025-06-23 17:28:48 +08:00
5ebb29309e Merge pull request #9977 from starius/itest-bitcoind-neutrino
lntest: enable neutrino testing with bitcoind
2025-06-23 17:08:18 +08:00
7b70ad7fd1 docs: update release notes 2025-06-22 11:06:54 -03:00
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
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
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
8208eb6d82 docs: add release-notes 2025-06-21 09:20:19 +02:00
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
c7e773132b channeldb: update optional migration code for multiple versions 2025-06-21 09:20:18 +02:00
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
faa68a220e Merge pull request #9880 from yyforyongyu/accessman
Improve access control in peer connections
2025-06-20 15:26:24 -07:00
1756f40b36 Merge pull request #9929 from yyforyongyu/fix-decalylog
htlcswitch: remove the bucket `batchReplayBucket`
2025-06-20 14:58:45 -07:00
7857d2c6ae Merge pull request #9969 from ellemouton/fixLnwireTestDataRace
lnwire: fix test data race
2025-06-20 13:47:41 +02:00
667e0aadc3 lnwire: fix test data race
Ensure that tests can run in parallel without causing a data race by
adding a `makeTestChannelUpdate` constructor rather than sharing the
same `testChannelUpdate` type between tests. This is needed since some
tests write to the type.
2025-06-20 12:22:59 +02:00
5e9e1826c6 Merge pull request #9965 from ellemouton/checkNilPolicy
graph/db: do nil check on ChannelEdgePolicy
2025-06-20 10:55:07 +02:00
5b0a9501ad graph/db: remove ChannelEdgePolicy nil warning logs
Since it is not a bug for us to not yet have the policy info for a
channel, we can remove these potentially spammy log lines.
2025-06-20 09:07:38 +02:00
b5bc9c8fbe graph/db: check for nil policies
In the graph/db code, we should always expect to deal with potentially
nil ChannelEdgePolicy pointers and so we should always do a nil check
before making use of the struct.
2025-06-20 09:07:37 +02:00
a3209a5bfa Merge pull request #9950 from starius/describegraph-authproofs2
lnrpc: add auth_proof to graph APIs
2025-06-20 14:54:03 +08:00
409bf3c6cc docs: update release notes (include_auth_proof) 2025-06-19 18:19:33 -03:00
7a70dcb36e lnrpc: add auth_proof to graph APIs
Added flag include_auth_proof to DescribeGraph, GetNodeInfo, GetChanInfo
and the corresponding lncli commands. With the flag, these APIs add AuthProof
(signatures from the channel announcement) to the returned ChannelEdge.

This is useful to extract this data from the DB.
2025-06-19 18:19:33 -03:00
40efefeb6a Merge pull request #9959 from ellemouton/chanGraphContext2
multi: add context.Context param to more graphdb.V1Store methods
2025-06-19 16:42:55 +02:00
91513623b5 routing: remove a context.TODO() 2025-06-19 14:49:32 +02:00
9597f01ce3 graph/db: thread context through to HighestChanID 2025-06-19 14:49:32 +02:00
004440a86c graph/db: thread context through to LookupAlias 2025-06-19 14:49:32 +02:00