cfa3fe2921
In this commit, we fix a bug that prevents us from sending custom records to nodes that aren't in the graph. Previously we would simply fail if we were unable to retrieve the node's features. To remedy, we add the option of supplying the destination's feature bits into path finding. If present, we will use them directly without consulting the graph, resolving the original issue. Instead, we will only consult the graph as a fallback, which will still fail if the node doesn't exist since the TLV features won't be populated in the empty feature vector. Furthermore, this also permits us to provide "virtual features" into the pathfinding logic, where we make assumptions about what the receiver supports even if the feature vector isn't actually taken from an invoice. This can useful in cases like keysend, where we don't have an invoice, but we can still attempt the payment if we assume the receiver supports TLV. |
||
---|---|---|
.. | ||
chainview | ||
localchans | ||
route | ||
testdata | ||
ann_validation.go | ||
conf_experimental.go | ||
conf.go | ||
control_tower_test.go | ||
control_tower.go | ||
errors.go | ||
graph.go | ||
heap_test.go | ||
heap.go | ||
log.go | ||
missioncontrol_store_test.go | ||
missioncontrol_store.go | ||
missioncontrol_test.go | ||
missioncontrol.go | ||
mock_test.go | ||
nodepair.go | ||
notifications_test.go | ||
notifications.go | ||
pathfind_test.go | ||
pathfind.go | ||
payment_lifecycle.go | ||
payment_session_source.go | ||
payment_session_test.go | ||
payment_session.go | ||
probability_estimator_test.go | ||
probability_estimator.go | ||
README.md | ||
result_interpretation_test.go | ||
result_interpretation.go | ||
router_test.go | ||
router.go | ||
stats.go | ||
unified_policies_test.go | ||
unified_policies.go | ||
validation_barrier_test.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