lnd/routing
Elle Mouton e004447da6
multi: remove the need for the graphsession package
In this commit, we add a `GraphSession` method to the `ChannelGraph`.
This method provides a caller with access to a `NodeTraverser`. This is
used by pathfinding to create a graph "session" overwhich to perform a
set of queries for a pathfinding attempt. With this refactor, we hide
details such as DB transaction creation and transaction commits from the
caller. So with this, pathfinding does not need to remember to "close
the graph session". With this commit, the `graphsession` package may be
completely removed.
2025-02-18 10:15:41 -03:00
..
blindedpath multi: rename nolint:lll to nolint:ll 2024-12-02 09:14:21 +02:00
chainview refactor: move graph related DB code to graph/db from channeldb 2024-11-28 13:36:13 +02:00
localchans localchans: bugfix so that we always use the correct chanID 2025-01-14 08:14:02 +01:00
route routing+channeldb: let Vertex implement tlv.RecordProducer 2024-11-01 08:59:54 +02:00
shards multi: Fix typos [skip ci] 2022-01-24 12:19:02 +02:00
testdata routing: add private key attribute in router test 2021-06-23 18:13:02 +08:00
additional_edge.go multi+refactor: move models package to graph/db 2024-11-28 13:34:33 +02:00
additional_edge_test.go routing+refactor: let BlindedEdge carry BlindedPayment 2024-07-10 09:12:39 +02:00
bandwidth.go routing: rename routing Graph method 2025-02-18 07:59:57 -03:00
bandwidth_test.go multi: introduce new traffic shaper method. 2025-01-29 09:59:02 +01:00
blinding.go routing: improve lasthoppaylaod size calculation 2024-12-10 19:05:49 +01:00
blinding_test.go routing: Use NUMS point for blinded paths 2024-12-10 19:05:49 +01:00
control_tower.go routing: export dbMPPayment interface 2024-08-27 19:00:58 -05:00
control_tower_test.go channeldb+routing: cache circuit and onion blob for htlc attempt 2025-02-10 11:28:23 +08:00
graph.go multi: remove the need for the graphsession package 2025-02-18 10:15:41 -03:00
heap.go routing: add inbound fee support to pathfinding 2024-03-31 18:12:28 +02:00
heap_test.go routing: optimize path finding structures 2019-10-24 21:38:07 -03:00
integrated_routing_context_test.go multi: remove the need for the graphsession package 2025-02-18 10:15:41 -03:00
integrated_routing_test.go multi: remove the need for the graphsession package 2025-02-18 10:15:41 -03:00
log.go multi: start updating various loggers to use the new v2 type 2024-10-22 17:03:55 +02:00
missioncontrol.go multi: update to fn v2 2024-12-04 13:19:00 -07:00
missioncontrol_state.go routing: separate MissionControl from MissionControlManager 2024-10-01 14:06:50 +02:00
missioncontrol_state_test.go multi: formatting and comment fixes 2022-02-10 11:02:02 +01:00
missioncontrol_store.go routing: fix missionControlStore blocks on shutting down 2024-11-08 01:23:33 +08:00
missioncontrol_store_test.go routing+migration32: update MC encoding to use pure TLV 2024-11-01 12:28:06 +02:00
missioncontrol_test.go routing: support multiple namespaced MissionControls 2024-10-01 14:11:05 +02:00
mock_graph_test.go multi: remove the need for the graphsession package 2025-02-18 10:15:41 -03:00
mock_test.go Merge pull request #9330 from ProofOfKeags/update/fn2 2024-12-09 12:56:23 +01:00
nodepair.go routing: extended DirectedNodePair functionality 2019-08-13 18:45:06 +02:00
pathfind.go routing: rename routing Graph method 2025-02-18 07:59:57 -03:00
pathfind_test.go multi: remove the need for the graphsession package 2025-02-18 10:15:41 -03:00
payment_lifecycle.go routing: add docs and monior refactor decideNextStep 2025-02-10 11:36:18 +08:00
payment_lifecycle_test.go routing: always update payment in the same goroutine 2025-02-10 11:29:29 +08:00
payment_session.go multi: remove the need for the graphsession package 2025-02-18 10:15:41 -03:00
payment_session_source.go Merge pull request #9330 from ProofOfKeags/update/fn2 2024-12-09 12:56:23 +01:00
payment_session_test.go multi: remove the need for the graphsession package 2025-02-18 10:15:41 -03:00
probability_apriori.go trivial: Fix spelling errors 2023-09-21 22:35:33 -04:00
probability_apriori_test.go trivial: Fix spelling errors 2023-09-21 22:35:33 -04:00
probability_bimodal.go routing: stronger use of direct bimodal probability 2023-03-23 11:12:10 +01:00
probability_bimodal_test.go routing: skip fuzzing when capacity is 0 2024-09-10 15:17:39 -05:00
probability_estimator.go routing: add probability estimator interface 2023-02-10 09:58:40 +01:00
probability_estimator_test.go routing: add probability benchmarks 2023-02-14 13:34:25 +01:00
README.md scripted-diff: replace ⛰ emoji with $ [skip ci] 2022-10-28 12:06:49 -04:00
result_interpretation.go routing: bugfix for mc reporting of blinded paths 2024-12-10 19:05:49 +01:00
result_interpretation_test.go routing: bugfix for mc reporting of blinded paths 2024-12-10 19:05:49 +01:00
router.go routing: always update payment in the same goroutine 2025-02-10 11:29:29 +08:00
router_test.go multi: remove the need for the graphsession package 2025-02-18 10:15:41 -03:00
setup_test.go channeldb/test: test with postgres 2021-10-29 10:54:44 +02:00
unified_edges.go routing: rename routing Graph method 2025-02-18 07:59:57 -03:00
unified_edges_test.go multi+refactor: move models package to graph/db 2024-11-28 13:34:33 +02:00

routing

Build Status MIT licensed GoDoc

The routing package implements authentication+validation of channel announcements, pruning of the channel graph, path finding within the network, sending outgoing payments into the network and synchronizing new peers to our channel graph state.

Installation and Updating

$  go get -u github.com/lightningnetwork/lnd/routing