lnd/routing
Elle Mouton e87110317b
routing: final changes to BlindedPaymentPathSet
Continue adding some complexity behind the BlindedPaymentPathSet. What
we do here is add a new IntroNodeOnlyPath method. The assumption we
make here is: If multiple blinded paths are provided to us in an invoice
but one of those paths only includes an intro node, then there is no
point in looking at any other path since we know that the intro node is
the destination node. So in such a case, we would have discarded any
other path in the `NewBlindedPaymentPathSet` constructor. So then we
would only have a single blinded path made up of an introduction node
only. In this specific case, in the `newRoute` function, no edge passed
to the function would have a blindedPayment associated with it (since
there are no blinded hops in this case). So we will have a case where
`blindedPathSet` passed to `newRoute` is not nil but `blindedPayment` is
nil since nonce was extacted from any edge. If this happens then we can
assume that this is the Intro-Node-Only situation described above. And
so we grabe the associated payment from the path set.
2024-07-31 09:15:43 +02:00
..
blindedpath blindedpath: smarter dummy hop policy selection 2024-07-26 13:03:07 +02:00
chainview multi: make sure missionControlStore catches done signal 2024-07-23 21:30:08 +08:00
localchans multi: Inbound fees are retained when not provided 2024-05-22 20:48:42 +02:00
route routing: assume TLV onion during path finding 2024-06-24 10:01:21 -07: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 routing: add BlindedPayment() method to AdditionalEdges 2024-07-10 09:12:39 +02:00
additional_edge_test.go routing+refactor: let BlindedEdge carry BlindedPayment 2024-07-10 09:12:39 +02:00
bandwidth.go routing: rename and export routingGraph 2024-07-15 13:10:24 +02:00
bandwidth_test.go multi: use btcd's btcec/v2 and btcutil modules 2022-03-09 19:02:37 +01:00
blinding.go routing: final changes to BlindedPaymentPathSet 2024-07-31 09:15:43 +02:00
blinding_test.go routing: swap out final hop blinded route pub keys 2024-07-31 09:14:31 +02:00
control_tower.go routing: make sure StatusInitiated is notified when creating payments 2023-11-15 20:18:21 +08:00
control_tower_test.go routing: make sure StatusInitiated is notified when creating payments 2023-11-15 20:18:21 +08:00
graph.go multi: add abstraction for Router and SessionSource graph access 2024-07-15 15:13:57 +02: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: add abstraction for Router and SessionSource graph access 2024-07-15 15:13:57 +02:00
integrated_routing_test.go multi: make tlv onion compulsory 2024-01-11 09:43:31 -08:00
log.go multi: add NewLogClosure in lnutils to avoid repetition 2024-07-25 21:25:23 +08:00
missioncontrol.go multi: fee estimation timeout parameters 2024-03-05 09:24:27 +01:00
missioncontrol_state.go multi: Fix typos [skip ci] 2022-01-24 12:19:02 +02:00
missioncontrol_state_test.go multi: formatting and comment fixes 2022-02-10 11:02:02 +01:00
missioncontrol_store.go multi: make sure missionControlStore catches done signal 2024-07-23 21:30:08 +08:00
missioncontrol_store_test.go missioncontrolstore: add additional tests and benchmarks 2024-06-19 07:33:14 -03:00
missioncontrol_test.go routing+lnrpc: make capacity factor configurable 2023-02-24 15:28:55 +01:00
mock_graph_test.go routing+refactor: remove the need to give CachedGraph source node access 2024-07-15 13:10:24 +02:00
mock_test.go routing: update mockers in unit test 2023-11-13 16:09:12 +08:00
nodepair.go routing: extended DirectedNodePair functionality 2019-08-13 18:45:06 +02:00
pathfind.go routing: final changes to BlindedPaymentPathSet 2024-07-31 09:15:43 +02:00
pathfind_test.go routing: final changes to BlindedPaymentPathSet 2024-07-31 09:15:43 +02:00
payment_lifecycle.go refactor: move various duties from ChannelRouter to graph.Builder 2024-07-15 15:56:33 +02:00
payment_lifecycle_test.go routing+routerrpc: cancelable context in SendPaymentV2 2024-06-17 09:32:26 +02:00
payment_session.go routing: pass BlindedPaymentPathSet around everywhere 2024-07-31 09:14:28 +02:00
payment_session_source.go multi: add abstraction for Router and SessionSource graph access 2024-07-15 15:13:57 +02:00
payment_session_test.go multi: add abstraction for Router and SessionSource graph access 2024-07-15 15:13:57 +02: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: stronger use of direct bimodal probability 2023-03-23 11:12:10 +01: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: add handling for blinded errors from final node 2023-12-18 12:07:56 -05:00
result_interpretation_test.go routing: add handling for blinded errors from final node 2023-12-18 12:07:56 -05:00
router.go routing: final changes to BlindedPaymentPathSet 2024-07-31 09:15:43 +02:00
router_test.go routing: swap out final hop blinded route pub keys 2024-07-31 09:14:31 +02:00
setup_test.go channeldb/test: test with postgres 2021-10-29 10:54:44 +02:00
unified_edges.go routing: rename and export routingGraph 2024-07-15 13:10:24 +02:00
unified_edges_test.go routing: add BlindedPayment to unifiedEdge 2024-07-10 09:12:39 +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