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
testdata
additional_edge_test.go routing+refactor: let BlindedEdge carry BlindedPayment 2024-07-10 09:12:39 +02:00
additional_edge.go routing: add BlindedPayment() method to AdditionalEdges 2024-07-10 09:12:39 +02:00
bandwidth_test.go multi: use btcd's btcec/v2 and btcutil modules 2022-03-09 19:02:37 +01:00
bandwidth.go routing: rename and export routingGraph 2024-07-15 13:10:24 +02:00
blinding_test.go routing: swap out final hop blinded route pub keys 2024-07-31 09:14:31 +02:00
blinding.go routing: final changes to BlindedPaymentPathSet 2024-07-31 09:15:43 +02:00
control_tower_test.go routing: make sure StatusInitiated is notified when creating payments 2023-11-15 20:18:21 +08:00
control_tower.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_test.go
heap.go routing: add inbound fee support to pathfinding 2024-03-31 18:12:28 +02: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_state_test.go
missioncontrol_state.go
missioncontrol_store_test.go missioncontrolstore: add additional tests and benchmarks 2024-06-19 07:33:14 -03:00
missioncontrol_store.go multi: make sure missionControlStore catches done signal 2024-07-23 21:30:08 +08:00
missioncontrol_test.go routing+lnrpc: make capacity factor configurable 2023-02-24 15:28:55 +01:00
missioncontrol.go multi: fee estimation timeout parameters 2024-03-05 09:24:27 +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
pathfind_test.go routing: final changes to BlindedPaymentPathSet 2024-07-31 09:15:43 +02:00
pathfind.go routing: final changes to BlindedPaymentPathSet 2024-07-31 09:15:43 +02:00
payment_lifecycle_test.go routing+routerrpc: cancelable context in SendPaymentV2 2024-06-17 09:32:26 +02:00
payment_lifecycle.go refactor: move various duties from ChannelRouter to graph.Builder 2024-07-15 15:56:33 +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
payment_session.go routing: pass BlindedPaymentPathSet around everywhere 2024-07-31 09:14:28 +02:00
probability_apriori_test.go trivial: Fix spelling errors 2023-09-21 22:35:33 -04:00
probability_apriori.go trivial: Fix spelling errors 2023-09-21 22:35:33 -04:00
probability_bimodal_test.go routing: stronger use of direct bimodal probability 2023-03-23 11:12:10 +01:00
probability_bimodal.go routing: stronger use of direct bimodal probability 2023-03-23 11:12:10 +01:00
probability_estimator_test.go routing: add probability benchmarks 2023-02-14 13:34:25 +01:00
probability_estimator.go routing: add probability estimator interface 2023-02-10 09:58:40 +01:00
README.md scripted-diff: replace ⛰ emoji with $ [skip ci] 2022-10-28 12:06:49 -04:00
result_interpretation_test.go routing: add handling for blinded errors from final node 2023-12-18 12:07:56 -05:00
result_interpretation.go routing: add handling for blinded errors from final node 2023-12-18 12:07:56 -05:00
router_test.go routing: swap out final hop blinded route pub keys 2024-07-31 09:14:31 +02:00
router.go routing: final changes to BlindedPaymentPathSet 2024-07-31 09:15:43 +02:00
setup_test.go
unified_edges_test.go routing: add BlindedPayment to unifiedEdge 2024-07-10 09:12:39 +02:00
unified_edges.go routing: rename and export routingGraph 2024-07-15 13:10:24 +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