lnd/routing
Olaoluwa Osuntokun d70e4bb0a0
routing: account for case where final destination send TemporaryChannelFailure
In this commit, we fix an existing bug that could cause lnd to crash if
we sent a payment, and the *destination* sent a temp channel failure
error message. When handling such a message, we’ll look in the nextHop
map to see which channel was *after* the node that sent the payment.
However, if the destination sends this error, then there’ll be no entry
in this map.

To address this case, we now add a prevHop map. If we attempt to lookup
a node in the nextHop map, and they don’t have an entry, then we’ll
consult the prevHop map.

We also update the set of tests to ensure that we’re properly setting
both the prevHop map and the nextHop map.
2018-01-10 15:15:55 -08:00
..
chainview multi: fix several typos in godoc comments 2017-12-17 18:40:05 -08:00
testdata routing: during path finding skip edge if amount < edge.MinHTLC 2017-11-30 22:29:45 -08:00
README.md multi: fix formatting issues in packge README's 2017-03-27 16:25:25 -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.go routing: introduce new heap for storing candidate shortest paths 2017-03-21 12:20:30 -07:00
heap_test.go routing: replace sort.Sort with sort.Slice in heap_test.go 2017-10-02 23:13:47 -07:00
log.go lnd: remove seelog logger 2017-06-25 14:19:56 +01:00
missioncontrol.go routing: account for case where final destination send TemporaryChannelFailure 2018-01-10 15:15:55 -08:00
notifications.go multi: fix several typos in godoc comments 2017-12-17 18:40:05 -08:00
notifications_test.go config+pathfind_test+notifications_test: format and fix newVertex import 2017-11-15 16:50:19 -08:00
pathfind.go routing: account for case where final destination send TemporaryChannelFailure 2018-01-10 15:15:55 -08:00
pathfind_test.go routing: account for case where final destination send TemporaryChannelFailure 2018-01-10 15:15:55 -08:00
router.go routing: account for case where final destination send TemporaryChannelFailure 2018-01-10 15:15:55 -08:00
router_test.go routing: ensure we set the TotalFees value on routes properly 2017-12-06 18:45:52 -08:00
validation_barrier.go routing: add new ValidationBarrier to allow for safe parallel validation of announcements 2017-11-29 16:24:20 -08:00

README.md

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