lnd.xprv/routing
Olaoluwa Osuntokun 4b82e2ec43
routing: correct fee calculation when converting from path to route
In this commit, we correct the fee calculation when converting from a
path to route. Previously we would apply the “no fee” case at the
_first_ hop, rather than the last hop. As a result, we needed to swap
the edges during path finding, otherwise, if the incoming and outgoing
edges had different fee rates, then we would create an invalid onion
payload.

In this commit we now properly switch fee calculation into three cases:
  * a single hop route, so there’s no fee
  * we’re at the first hop in a multi hop route, and we apply the fee
for the _next_ hop
  * we’re at an intermediate hop and the fee calculation proceeds as
normal
2017-10-22 18:36:50 -07:00
..
chainview routing/chainview: Fix data race in block disconnected callback. 2017-09-29 13:53:02 -07:00
testdata routing: modify basic_graph.json to include both directional edges 2017-10-22 18:36:45 -07:00
errors.go routing: Require adding edge to node before adding node. 2017-08-02 15:58:58 -07: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: replace sort.Sort with sort.Slice in heap_test.go 2017-10-02 23:13:47 -07:00
heap.go routing: introduce new heap for storing candidate shortest paths 2017-03-21 12:20:30 -07:00
log.go lnd: remove seelog logger 2017-06-25 14:19:56 +01:00
missioncontrol.go routing: abstract path finding behind mission control 2017-10-17 19:44:17 -07:00
notifications_test.go multi: Update lnd to use new feature vector API. 2017-10-17 22:47:20 -07:00
notifications.go routing: update path finding and notifications to use mSAT 2017-08-22 00:53:12 -07:00
pathfind_test.go routing: only write a single edge as edges in test data are now directional 2017-10-22 18:36:47 -07:00
pathfind.go routing: correct fee calculation when converting from path to route 2017-10-22 18:36:50 -07:00
README.md multi: fix formatting issues in packge README's 2017-03-27 16:25:25 -07:00
router_test.go routing: modify the TestSendPaymentRouteFailureFallback to clear missionControl between attempts 2017-10-16 19:07:40 -07:00
router.go routing: remove the selfNode attribute from memory 2017-10-22 18:36:48 -07: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