routing: hop-payload for last hop should be the absolute timeout, not delta

This commit fixes an oversight in the path finding code when converting
a path into a route. Currently, for the last hop, we’d emplace the
expiry delta of the last hop within the per-hop payload. This was left
over from a prior version of the specification.

To fix this, we’ll now emplace the _absolute_ final HTLC expiry with
the payload, such that, the final hop that verify that the HTLC has not
been tampered with in flight.
This commit is contained in:
Olaoluwa Osuntokun
2017-09-12 21:27:41 +02:00
parent f32a7a28ab
commit b07e7fb7cc
3 changed files with 5 additions and 4 deletions

View File

@@ -1002,6 +1002,7 @@ func (r *ChannelRouter) SendPayment(payment *LightningPayment) ([32]byte, *Route
// payment amount. If no such routes can be found then an error will be
// returned.
if !ok {
// TODO(roasbeef): put cache handling into FindRoutes
freshRoutes, err := r.FindRoutes(payment.Target, payment.Amount)
if err != nil {
return preImage, nil, err