lnd.xprv/routing
Joost Jager a347237e7a
routing: use unified policy for path finding
In this commit we change path finding to no longer consider all channels
between a pair of nodes individually. We assume that nodes forward
non-strict and when we attempt a connection between two nodes, we don't
want to try multiple channels because their policies may not be identical.
Having distinct policies for channel to the same peer is against the
recommendation in the spec, but it happens in the wild. Especially since
we recently changed the default cltv delta value.

What this commit introduces is a unified policy. This can be looked upon
as the greatest common denominator of all policies and should maximize
the probability of getting the payment forwarded.
2019-10-25 11:22:28 +02:00
..
chainview routing/chainview: check GetCFilter error 2019-10-15 10:31:25 +02:00
localchans multi: update internals to support updating max htlc 2019-09-23 13:07:10 +02:00
route routing/route: add vertex constructor for hex string 2019-09-17 11:11:00 +02:00
testdata routing: update test edge policy fields to include max htlc + new flags 2019-03-01 08:05:27 -08:00
ann_validation.go routing: skip max htlc validation when capacity is 0 2019-04-18 21:57:38 -07:00
conf_experimental.go routing/conf: add experimental assume valid conf 2018-09-03 20:15:18 -07:00
conf.go routing/conf: add experimental assume valid conf 2018-09-03 20:15:18 -07:00
control_tower_test.go routing: extend path finding to be TLV-EOB aware, allow dest TLV records 2019-08-22 18:53:01 -07:00
control_tower.go routing+routerrpc+channeldb: return route on invalid payment details 2019-07-04 09:27:16 +02:00
errors.go routing: return ErrRejected if found in reject cache 2018-08-23 07:40:40 +02:00
graph.go routing: rewrite package to conform to BOLT07 and factor in fees+timelocks 2016-12-27 16:44:22 -08:00
heap_test.go routing: optimize path finding structures 2019-10-24 21:38:07 -03:00
heap.go routing: optimize path finding structures 2019-10-24 21:38:07 -03:00
log.go multi: init subsystem loggers via build pkg 2018-10-05 13:04:45 +09:00
missioncontrol_store_test.go lnwire+htlcswitch: report height for invalid payment details failure 2019-09-16 10:10:20 +02:00
missioncontrol_store.go routing: persist mission control data 2019-07-31 08:44:00 +02:00
missioncontrol_test.go routing+routerrpc: improve prob. estimation for untried connections 2019-10-22 15:52:38 +02:00
missioncontrol.go routing+routerrpc: improve prob. estimation for untried connections 2019-10-22 15:52:38 +02:00
mock_test.go routing: process successes in mission control 2019-08-23 09:15:41 +02:00
nodepair.go routing: extended DirectedNodePair functionality 2019-08-13 18:45:06 +02:00
notifications_test.go multi: fix canceled spelling 2019-10-03 17:27:36 +02:00
notifications.go routing: add color to node update 2019-05-23 10:52:12 +02:00
pathfind_test.go routing+routerrpc: take max cltv limit into account within path finding 2019-10-11 18:04:49 -04:00
pathfind.go routing: use unified policy for path finding 2019-10-25 11:22:28 +02:00
payment_lifecycle.go routing: process successes in mission control 2019-08-23 09:15:41 +02:00
payment_session_source.go routing: query bandwidth hints before each payment attempt 2019-08-17 10:24:07 +02:00
payment_session_test.go routing+routerrpc: take max cltv limit into account within path finding 2019-10-11 18:04:49 -04:00
payment_session.go routing+routerrpc: take max cltv limit into account within path finding 2019-10-11 18:04:49 -04:00
probability_estimator_test.go routing+routerrpc: improve prob. estimation for untried connections 2019-10-22 15:52:38 +02:00
probability_estimator.go routing+routerrpc: improve prob. estimation for untried connections 2019-10-22 15:52:38 +02:00
README.md multi: fix formatting issues in packge README's 2017-03-27 16:25:25 -07:00
result_interpretation_test.go routing: also fail pairs for node-level failures 2019-10-22 15:52:34 +02:00
result_interpretation.go routing: also fail pairs for node-level failures 2019-10-22 15:52:34 +02:00
router_test.go routing/test: mark function as test helper 2019-10-25 11:22:26 +02:00
router.go routing+routerrpc: take max cltv limit into account within path finding 2019-10-11 18:04:49 -04:00
stats.go routing/router: log aggregate graph processing stats 2019-06-13 18:18:30 -07:00
unified_policies_test.go routing: use unified policy for path finding 2019-10-25 11:22:28 +02:00
unified_policies.go routing: use unified policy for path finding 2019-10-25 11:22:28 +02:00
validation_barrier_test.go routing/validation_barrier_test: test semaphore and quit 2018-05-08 16:32:08 -07:00
validation_barrier.go multi: move Route to sub-pkg routing/route 2019-04-29 14:52:33 +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