93b04b39fe
In this commit, we address a number of edge cases that were unaccounted for when responding to errors that can be sent back due to an HTLC routing failure. Namely: * We’ll no longer stop payment attempts if we’re unable to apply a channel update, instead, we’ll log the error, prune the channel and continue. * We’ll no remember which channels were pruned due to insufficient fee errors. If we ever get a repeat fee error from a channel, then we prune it. This ensure that we don’t get stuck in a loop due to a node continually advertising the same fees. * We also correct an error in which node we’d prune due to a temporary or permanent node failure. Before this commit, we would prune the next node, when we should actually be pruning the node that sent us the error. Finally, we also add a new test to exercise the fee insufficient error handling and channel pruning. Fixes #865. |
||
---|---|---|
.. | ||
chainview | ||
testdata | ||
errors.go | ||
graph.go | ||
heap_test.go | ||
heap.go | ||
log.go | ||
missioncontrol.go | ||
notifications_test.go | ||
notifications.go | ||
pathfind_test.go | ||
pathfind.go | ||
README.md | ||
router_test.go | ||
router.go | ||
validation_barrier.go |
routing
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