Elle
a3793b2523
Merge pull request #10129 from ellemouton/graphPerf9
...
[8] graph/db: use batch loading for various graph SQL methods
2025-08-08 10:22:51 +02:00
Oliver Gugger
e00a072bab
Merge pull request #10139 from ziggie1984/update-golang-version
...
update Golang version to v1.23.12 to fix potential SQL bug
2025-08-07 23:58:15 -06: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
Oliver Gugger
2269859d98
Merge pull request #10138 from sputn1ck/update_sputn1ck_key
...
scripts: update sputn1ck pgp key
2025-08-07 05:33:35 -06:00
sputn1ck
960a3517ad
scripts: update sputn1ck pgp key
...
This comit updates the pgp key for sputn1ck with
a new expiration date.
[skip ci]
2025-08-07 12:30:42 +02:00
Oliver Gugger
8a2128ba41
Merge pull request #9806 from guggero/formatting-list-initializations
...
docs: document formatting for slice definitions
2025-08-07 01:49:54 -06:00
Elle Mouton
522e200c0e
graph/db: add missing counter increment
2025-08-07 08:12:40 +02:00
Elle Mouton
8de33fa601
graph/db: batch fetching for FetchChanInfos
2025-08-07 08:12:40 +02:00
Elle Mouton
594c842aeb
graph/db: batch loading for DisconnectBlockAtHeight
2025-08-07 08:12:40 +02:00
Elle Mouton
69bcf47dca
graph/db: use batch loading for PruneGraph
2025-08-07 08:12:40 +02:00
Elle Mouton
556af8e221
graph/db: use batch fetching for DeleteChannelEdges
2025-08-07 08:12:40 +02:00
Elle Mouton
ebe6a8af9f
graph/db: use batch loading for ChanUpdatesInHorizon
...
The following performance gains were measured using the new benchmark
test.
```
name old time/op new time/op delta
ChanUpdatesInHorizon-native-sqlite-10 18.5s ± 3% 2.0s ± 5% -89.11% (p=0.000 n=9+9)
ChanUpdatesInHorizon-native-postgres-10 59.0s ± 3% 0.8s ±10% -98.65% (p=0.000 n=10+9)
```
2025-08-07 08:12:40 +02:00
Elle Mouton
ce3401ee5d
graph/db: refactor buildNode to not take a pointer
...
Since the type returned from the DB is not a pointer. This will be
useful later on.
2025-08-07 08:04:20 +02:00
Elle Mouton
f51adaf31f
graph/db: refactor makeZombiePubkeys
...
Let the helper method only take the params it needs so that we dont need
to construct an entire models.ChannelEdgeInfo object to pass to it. This
will be useful later on.
2025-08-07 08:04:20 +02:00
Elle Mouton
4cc5cfef2a
graph/db: add ChanUpdatesInHorizon benchmark
2025-08-07 08:04:19 +02:00
Oliver Gugger
e5359f2f5b
Merge pull request #10135 from guggero/update-19-3-release-notes
...
docs: move v0.19.3 items to correct file
2025-08-06 09:20:47 -06:00
Oliver Gugger
02d48d1d81
Merge pull request #10132 from ffranr/update-ffranr-signing-key
...
scripts: update ffranr release signing key
2025-08-06 07:14:48 -06:00
Oliver Gugger
74b327ba9c
Merge pull request #10127 from ellemouton/graphPerf8
...
[7] graph/db+autopilot: improve efficiency of autopilot methods that use the ForEachNode/ForEachChannel pattern
2025-08-06 07:05:25 -06:00
Oliver Gugger
513cdb36a5
Merge pull request #10131 from ziggie1984/remove-positiveblue-pgp-key
...
scripts: remove expired pgp key
2025-08-06 07:04:24 -06:00
Oliver Gugger
429aa830c3
docs: move v0.19.3 items to correct file
...
Moves the PRs that are going to be shipped with v0.19.3 into the correct
release notes file.
2025-08-06 15:02:30 +02:00
ffranr
0676c5669e
scripts: update ffranr release signing key
...
Updated the release signing key. New key fingerprint:
C97A AA14 70F9 7987 8F7A 6DED C344 0ACF 100A 33B4
The old key is no longer in use.
2025-08-06 10:34:31 +01:00
ziggie
3afac74413
scripts: remove expired pgp key
2025-08-06 11:24:54 +02:00
Oliver Gugger
e512770f14
Merge pull request #10125 from ziggie1984/fix-payment-send-local-chan
...
bugfix payment lifecycle payment attempts
2025-08-06 02:56:55 -06:00
Elle Mouton
8aa8c7cc42
multi: remove the NodeRTx interface type
2025-08-06 09:56:21 +02:00
Elle Mouton
15e17e1270
graph/db: remove NodeRTx ForEachChannel method
2025-08-06 09:52:10 +02:00
Elle Mouton
699e335954
autopilot: remove the ForEachChannel method from Node interface
...
And instead make use of the new ForEachNodesChannels method which
uses a much more efficient method for iterating through nodes&channels.
2025-08-06 09:52:09 +02:00
Elle Mouton
ce7fe84da7
autopilot: add ForEachNodesChannels method to ChannelGraph interface
...
This is in preparation for removing the ForEachChannel method from the
Node interface.
2025-08-06 09:50:58 +02:00
Elle Mouton
5727bfa688
graph/db: let ForEachNodeCached maybe fetch node addresses
...
Here we adjust the ForEachNodeCached graph DB method to pass in a node's
addresses into the provided call-back if requested. This will allow us
to improve the performance of node/channel iteration in the autopilot
subserver.
2025-08-06 09:50: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
Oliver Gugger
c4db070e5f
Merge pull request #10119 from guggero/remote-signing-imported-tapscript
...
wallet: fix imported tapscript address behavior in watch-only mode
2025-08-05 10:34:27 -06:00
Oliver Gugger
d1f79953b6
docs: add release notes
2025-08-05 16:41:29 +02:00
Oliver Gugger
f5280491ab
mod: update btcwallet to version with fix
2025-08-05 16:41:01 +02:00
Oliver Gugger
cce2df9018
itest: run FundPsbt test with imported account
...
This demonstrates that the "imported" account behaves differently for a
wallet that's watch-only vs. normal. The testTaprootImportTapscriptFullKeyFundPsbt
test case succeeds in a normal run but fails in a remote-signing setup.
For some reason, an imported tapscript address ends up in the "default"
account when remote-signing but in the "imported" account for a normal
wallet.
2025-08-05 16:41:01 +02:00
Oliver Gugger
c214575de1
itest: run normal FundPsbt test case in remote-signer mode
...
This makes sure there is no general issue with running the pay-join
FundPsbt test case in a remote signer setup.
2025-08-05 16:41:00 +02:00
Elle Mouton
ae566744c4
graph/db+autopilot: remove NodeRTx FetchNode method
...
In this commit, we remove the need for the NodeRTx interface to have the
FetchNode method on it.
2025-08-05 09:59:13 +02:00
Elle Mouton
70b8c8ec78
autopilot: convert Peer to route.Vertex
...
In preparation for removing the ForEachNode/ForEachChannel call pattern,
we refactor the autopilot subserver by simplifying the `ChannelEdge`
such that it no longer returns the `Node` type which has a
`ForEachChannel` method on it. The aim is to completely remove the
`ForEachChannel` usage.
2025-08-05 09:59:12 +02:00
Elle
d9ff94a250
Merge pull request #10123 from ellemouton/graphPerf7
...
[6] graph/db: use batch fetching to improve ForEachNode* performance
2025-08-05 09:57:48 +02:00
Yong
3db93f5b29
Merge pull request #10117 from yyforyongyu/keep-exclusive
...
contractcourt+sweep: make anchor inputs exclusive
2025-08-05 14:57:26 +08:00
Elle Mouton
0850bf4781
graph/db: batch fetch channel data in forEachNodeChannel
...
Update the forEachNodeChannel helper to batch fetch channel data.
2025-08-05 08:00:19 +02:00
Elle Mouton
dc6f9256bc
graph/db: batch fetch channels in ForEachNodeCached
...
Previously, ForEachNodeCached would batch fetch node _feature_ data but
would still fetch the channel set of each node in a node-by-node fashion
which is not ideal. So this commit updates this method to make use of
the new sqldb.ExecuteCollectAndBatchWithSharedDataQuery helper. It lets
us batch load channel data for a range of node IDs.
This _greatly_ improves the performance of the method.
2025-08-05 08:00:19 +02:00
Elle Mouton
3b60d33ac8
sqlc: add ListChannelsForNodeIDs batch query
...
Add a ListChannelsForNodeIDs query which will let us fetch all channels
belonging to a set of nodes.
2025-08-05 08:00:19 +02:00
Elle Mouton
ada349dcf2
graph/db: batch collect node feature data
...
In this commit, we update the SQLStore's ForEachNodeCacheable and
ForEachNodeCached methods to use batch collection for node feature bits.
This results in the following performance gains:
```
name old time/op new time/op delta
ForEachNodeCacheable-native-sqlite-10 184ms ± 2% 145ms ±10% -21.45% (p=0.000 n=10+10)
ForEachNodeCacheable-native-postgres-10 697ms ± 8% 51ms ± 4% -92.68% (p=0.000 n=9+10)
```
2025-08-05 08:00:19 +02:00
Elle Mouton
6ac19b4330
graph/db: cover more DB methods in benchmark test
...
So that we can properly measure upcoming performance improvements.
2025-08-05 08:00:18 +02:00
Elle
3ab47625a2
Merge pull request #10121 from ellemouton/graphPerf6
...
[5] sqldb+graph/db: add and use new paginate & batch helper
2025-08-05 07:48:45 +02:00
Elle Mouton
ae13158b68
graph/db: update ForEachChannel to use new sqldb helper
...
Refactor to let ForEachChannel make use of the new
sqldb.ExecuteCollectAndBatchWithSharedDataQuery helper.
2025-08-05 06:36:36 +02:00
Elle Mouton
1219cdb7f1
graph/db: use sqldb helper for ForEachNode
...
A pure refactor commit which updates the ForEachNode method to make use
of the new sqldb.ExecuteCollectAndBatchWithSharedDataQuery helper.
2025-08-05 06:36:34 +02:00