lnd/routing
yyforyongyu 4bb8db46df
routing: fail payment before attempt inside handleSwitchErr
`handleSwitchErr` is now responsible for failing the given HTLC attempt
after deciding to fail the payment or not. This is crucial as
previously, we might enter into a state where the payment's HTLC has
already been marked as failed, and while we are marking the payment as
failed, another HTLC attempt can be made at the same time, leading to
potential stuck payments.
2023-11-13 16:09:09 +08:00
..
chainview routing: use T.TempDir to create temporary test directory 2022-08-24 09:03:05 +08:00
localchans multi: move DB schemas to channeldb/models 2023-11-08 14:50:35 +02:00
route routing: account for blinded routes in fee calculation 2023-10-06 16:38:33 -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
ann_validation.go routing: stricter maxHTLC checks 2023-02-21 14:03:51 +01:00
bandwidth_test.go multi: use btcd's btcec/v2 and btcutil modules 2022-03-09 19:02:37 +01:00
bandwidth.go routing: add more verbose logs 2023-01-17 07:26:57 +08:00
blinding_test.go multi: add blinded route to route requests expressed as hints 2023-10-06 16:38:33 -07:00
blinding.go multi: move DB schemas to channeldb/models 2023-11-08 14:50:35 +02:00
control_tower_test.go routing+channeldb: use HTLCAttempt instead of HTLCAttemptInfo 2023-10-06 16:38:33 -07:00
control_tower.go routing+channeldb: make MPPayment into an interface 2023-10-06 16:38:33 -07:00
errors.go multi: Fix typos [skip ci] 2022-01-24 12:19:02 +02:00
graph.go multi: let ForEachChannel be a method on ChannelGraph 2023-11-08 10:51:50 +02:00
heap_test.go routing: optimize path finding structures 2019-10-24 21:38:07 -03:00
heap.go multi: move DB schemas to channeldb/models 2023-11-08 14:50:35 +02:00
integrated_routing_context_test.go routing+lnrpc: make capacity factor configurable 2023-02-24 15:28:55 +01:00
integrated_routing_test.go lnd+routing+rpc: switch mc to (external) estimator 2023-02-14 13:34:25 +01:00
log.go routing: define subsystem constant 2019-12-11 00:17:04 +01:00
missioncontrol_state_test.go multi: formatting and comment fixes 2022-02-10 11:02:02 +01:00
missioncontrol_state.go multi: Fix typos [skip ci] 2022-01-24 12:19:02 +02:00
missioncontrol_store_test.go routing: use T.TempDir to create temporary test directory 2022-08-24 09:03:05 +08:00
missioncontrol_store.go lnwire: allow longer failure messages 2022-12-02 14:27:59 +01:00
missioncontrol_test.go routing+lnrpc: make capacity factor configurable 2023-02-24 15:28:55 +01:00
missioncontrol.go multi: add debug logs to catch slow shutdown 2023-10-06 16:34:47 -07:00
mock_graph_test.go multi: move DB schemas to channeldb/models 2023-11-08 14:50:35 +02:00
mock_test.go multi: move DB schemas to channeldb/models 2023-11-08 14:50:35 +02:00
nodepair.go routing: extended DirectedNodePair functionality 2019-08-13 18:45:06 +02:00
notifications_test.go multi: address linter issues 2023-11-08 14:50:35 +02:00
notifications.go multi: move DB schemas to channeldb/models 2023-11-08 14:50:35 +02:00
pathfind_test.go multi: move DB schemas to channeldb/models 2023-11-08 14:50:35 +02:00
pathfind.go multi: move DB schemas to channeldb/models 2023-11-08 14:50:35 +02:00
payment_lifecycle_test.go routing+channeldb: make MPPayment into an interface 2023-10-06 16:38:33 -07:00
payment_lifecycle.go routing: fail payment before attempt inside handleSwitchErr 2023-11-13 16:09:09 +08:00
payment_session_source.go multi: move DB schemas to channeldb/models 2023-11-08 14:50:35 +02:00
payment_session_test.go multi: move DB schemas to channeldb/models 2023-11-08 14:50:35 +02:00
payment_session.go multi: move DB schemas to channeldb/models 2023-11-08 14:50:35 +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 multi: run gosimports 2022-02-10 11:02:01 +01:00
result_interpretation.go multi: Fix typos [skip ci] 2022-01-24 12:19:02 +02:00
router_test.go multi: move DB schemas to channeldb/models 2023-11-08 14:50:35 +02:00
router.go routing: remove the abstraction shardHandler 2023-11-13 16:09:09 +08:00
setup_test.go channeldb/test: test with postgres 2021-10-29 10:54:44 +02:00
stats.go routing/router: log aggregate graph processing stats 2019-06-13 18:18:30 -07:00
unified_edges_test.go multi: move DB schemas to channeldb/models 2023-11-08 14:50:35 +02:00
unified_edges.go multi: move DB schemas to channeldb/models 2023-11-08 14:50:35 +02:00
validation_barrier_test.go routing+discovery: uniform error codes in routing 2022-01-05 04:27:33 +08:00
validation_barrier.go multi: move DB schemas to channeldb/models 2023-11-08 14:50:35 +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