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