lnd/routing
Carla Kirk-Cohen 014683ee66 routing: include route blinding fields in blinded portion of path
This commit updates route construction to backfill the fields
required for payment to blinded paths and set amount to forward
and expiry fields to zero for intermediate hops (as is instructed
in the route blinding specification).

We could attempt to do this in the first pass, but that loop
relies on fields like amount to forward and expiry to calculate
each hop backwards, so we keep it simple (stupid) and post
processes the blinded portion, since it's computationally cheap
and more readable.
2023-10-06 16:38:33 -07:00
..
chainview routing: use T.TempDir to create temporary test directory 2022-08-24 09:03:05 +08:00
localchans multi: use fwding policy from models pkg 2023-08-22 06:22:33 +08: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: add blinded route to route requests expressed as hints 2023-10-06 16:38:33 -07: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 routing+routerrpc: add capacity in rpcs 2022-12-12 13:22:29 +01:00
heap_test.go routing: optimize path finding structures 2019-10-24 21:38:07 -03:00
heap.go multi: use minimal policy in cache 2021-09-29 17:00:04 +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 routing+routerrpc: add capacity in rpcs 2022-12-12 13:22:29 +01:00
mock_test.go routing+channeldb: make MPPayment into an interface 2023-10-06 16:38:33 -07:00
nodepair.go routing: extended DirectedNodePair functionality 2019-08-13 18:45:06 +02:00
notifications_test.go routing: replace defer cleanup with t.Cleanup 2022-10-13 17:47:04 +08:00
notifications.go routing: remove the mutex and use SyncMap instead 2023-01-19 07:08:18 +08:00
pathfind_test.go routing: include route blinding fields in blinded portion of path 2023-10-06 16:38:33 -07:00
pathfind.go routing: include route blinding fields in blinded portion of path 2023-10-06 16:38:33 -07:00
payment_lifecycle_test.go routing+channeldb: make MPPayment into an interface 2023-10-06 16:38:33 -07:00
payment_lifecycle.go routing+channeldb: use HTLCAttempt instead of HTLCAttemptInfo 2023-10-06 16:38:33 -07:00
payment_session_source.go trivial: Fix spelling errors 2023-09-21 22:35:33 -04:00
payment_session_test.go router: return probability from findPath 2022-12-12 13:22:29 +01:00
payment_session.go routing: include route blinding fields in blinded portion of path 2023-10-06 16:38:33 -07: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: add blinded route to route requests expressed as hints 2023-10-06 16:38:33 -07:00
router.go routing: include route blinding fields in blinded portion of path 2023-10-06 16:38:33 -07: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: rename due to required maxHTLC bit 2023-02-21 11:10:39 +01:00
unified_edges.go routing: add capacity to special edges 2023-03-23 11:12:10 +01:00
validation_barrier_test.go routing+discovery: uniform error codes in routing 2022-01-05 04:27:33 +08:00
validation_barrier.go multi: enhance loggings and fix logging format 2023-02-23 21:56:08 +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