lnd/routing
Carla Kirk-Cohen b82478a7e7
routing: add result interpretation for intermediate invalid blinding
This commit adds handling for route blinding errors that are reported
by the introduction node in a multi-hop blinded route. As the
introduction node is always responsible for handling blinded errors,
it is not penalized - only the final hop is penalized to discourage the
blinded route without filling up mission control with ephemeral
results.

If this error code is reported by a node that is not an introduction
node, we penalize the node because it is returning an error code that
it should not be using.
2023-12-18 12:07:46 -05: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.go routing: add more verbose logs 2023-01-17 07:26:57 +08:00
bandwidth_test.go multi: use btcd's btcec/v2 and btcutil modules 2022-03-09 19:02:37 +01:00
blinding.go multi: move DB schemas to channeldb/models 2023-11-08 14:50:35 +02:00
blinding_test.go multi: add blinded route to route requests expressed as hints 2023-10-06 16:38:33 -07: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
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.go multi: move DB schemas to channeldb/models 2023-11-08 14:50:35 +02:00
heap_test.go routing: optimize path finding structures 2019-10-24 21:38:07 -03: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.go multi: add debug logs to catch slow shutdown 2023-10-06 16:34:47 -07: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 lnwire: allow longer failure messages 2022-12-02 14:27:59 +01:00
missioncontrol_store_test.go routing: use T.TempDir to create temporary test directory 2022-08-24 09:03:05 +08:00
missioncontrol_test.go routing+lnrpc: make capacity factor configurable 2023-02-24 15:28:55 +01:00
mock_graph_test.go multi: move DB schemas to channeldb/models 2023-11-08 14:50:35 +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
notifications.go multi: move DB schemas to channeldb/models 2023-11-08 14:50:35 +02:00
notifications_test.go multi: address linter issues 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
pathfind_test.go multi: move DB schemas to channeldb/models 2023-11-08 14:50:35 +02:00
payment_lifecycle.go routing: log preimage when it's failed to be saved to db 2023-11-13 16:10:28 +08:00
payment_lifecycle_test.go routing: unify all dummy errors to be errDummy 2023-11-13 16:10:28 +08:00
payment_session.go multi: move DB schemas to channeldb/models 2023-11-08 14:50:35 +02: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
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 result interpretation for intermediate invalid blinding 2023-12-18 12:07:46 -05:00
result_interpretation_test.go routing: add result interpretation for intermediate invalid blinding 2023-12-18 12:07:46 -05:00
router.go multi: extract and pass through IsZombieChannel method 2023-12-11 09:12:05 +02:00
router_test.go routing+docs: make sure non-MPP cannot use skipTempErr 2023-11-13 16:11:06 +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.go multi: move DB schemas to channeldb/models 2023-11-08 14:50:35 +02:00
unified_edges_test.go multi: move DB schemas to channeldb/models 2023-11-08 14:50:35 +02:00
validation_barrier.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

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