mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-03-04 09:48:19 +01:00
routerrpc+cmd: use skip_temp_err
when sending to route
This commit is contained in:
parent
46ca28fe22
commit
07e9adfd8c
2 changed files with 15 additions and 1 deletions
|
@ -873,6 +873,13 @@ var sendToRouteCommand = cli.Command{
|
|||
Usage: "a json array string in the format of the response " +
|
||||
"of queryroutes that denotes which routes to use",
|
||||
},
|
||||
cli.BoolFlag{
|
||||
Name: "skip_temp_err",
|
||||
Usage: "Whether the payment should be marked as " +
|
||||
"failed when a temporary error occurred. Set " +
|
||||
"it to true so the payment won't be failed " +
|
||||
"unless a terminal error has occurred.",
|
||||
},
|
||||
},
|
||||
Action: sendToRoute,
|
||||
}
|
||||
|
@ -966,6 +973,7 @@ func sendToRoute(ctx *cli.Context) error {
|
|||
req := &routerrpc.SendToRouteRequest{
|
||||
PaymentHash: rHash,
|
||||
Route: route,
|
||||
SkipTempErr: ctx.Bool("skip_temp_err"),
|
||||
}
|
||||
|
||||
return sendToRouteRequest(ctx, req)
|
||||
|
|
|
@ -399,13 +399,19 @@ func (s *Server) SendToRouteV2(ctx context.Context,
|
|||
return nil, err
|
||||
}
|
||||
|
||||
var attempt *channeldb.HTLCAttempt
|
||||
|
||||
// Pass route to the router. This call returns the full htlc attempt
|
||||
// information as it is stored in the database. It is possible that both
|
||||
// the attempt return value and err are non-nil. This can happen when
|
||||
// the attempt was already initiated before the error happened. In that
|
||||
// case, we give precedence to the attempt information as stored in the
|
||||
// db.
|
||||
attempt, err := s.cfg.Router.SendToRoute(hash, route)
|
||||
if req.SkipTempErr {
|
||||
attempt, err = s.cfg.Router.SendToRouteSkipTempErr(hash, route)
|
||||
} else {
|
||||
attempt, err = s.cfg.Router.SendToRoute(hash, route)
|
||||
}
|
||||
if attempt != nil {
|
||||
rpcAttempt, err := s.cfg.RouterBackend.MarshalHTLCAttempt(
|
||||
*attempt,
|
||||
|
|
Loading…
Add table
Reference in a new issue