@@ -276,7 +276,7 @@ type paymentResult struct {
276276
277277// newPaymentResult constructs a new paymentResult.
278278func newPaymentResult (id uint64 , rt * mcRoute , timeFwd , timeReply time.Time ,
279- failure * paymentFailure ) * paymentResult {
279+ failure fn. Option [ paymentFailure ] ) * paymentResult {
280280
281281 result := & paymentResult {
282282 id : id ,
@@ -289,11 +289,11 @@ func newPaymentResult(id uint64, rt *mcRoute, timeFwd, timeReply time.Time,
289289 route : tlv.NewRecordT [tlv.TlvType2 ](* rt ),
290290 }
291291
292- if failure != nil {
292+ failure . WhenSome ( func ( f paymentFailure ) {
293293 result .failure = tlv .SomeRecordT (
294- tlv.NewRecordT [tlv.TlvType3 ](* failure ),
294+ tlv.NewRecordT [tlv.TlvType3 ](f ),
295295 )
296- }
296+ })
297297
298298 return result
299299}
@@ -621,7 +621,7 @@ func (m *MissionControl) ReportPaymentFail(paymentID uint64, rt *route.Route,
621621
622622 result := newPaymentResult (
623623 paymentID , extractMCRoute (rt ), timestamp , timestamp ,
624- newPaymentFailure (failureSourceIdx , failure ),
624+ fn . Some ( newPaymentFailure (failureSourceIdx , failure ) ),
625625 )
626626
627627 return m .processPaymentResult (result )
@@ -635,7 +635,8 @@ func (m *MissionControl) ReportPaymentSuccess(paymentID uint64,
635635 timestamp := m .cfg .clock .Now ()
636636
637637 result := newPaymentResult (
638- paymentID , extractMCRoute (rt ), timestamp , timestamp , nil ,
638+ paymentID , extractMCRoute (rt ), timestamp , timestamp ,
639+ fn .None [paymentFailure ](),
639640 )
640641
641642 _ , err := m .processPaymentResult (result )
@@ -838,10 +839,10 @@ type paymentFailure struct {
838839// failure with unknown details. Otherwise, the index and failure message are
839840// used to populate the info field of the paymentFailure.
840841func newPaymentFailure (sourceIdx * int ,
841- failureMsg lnwire.FailureMessage ) * paymentFailure {
842+ failureMsg lnwire.FailureMessage ) paymentFailure {
842843
843844 if sourceIdx == nil {
844- return & paymentFailure {}
845+ return paymentFailure {}
845846 }
846847
847848 info := paymentFailureInfo {
@@ -851,7 +852,7 @@ func newPaymentFailure(sourceIdx *int,
851852 msg : tlv.NewRecordT [tlv.TlvType1 ](failureMessage {failureMsg }),
852853 }
853854
854- return & paymentFailure {
855+ return paymentFailure {
855856 info : tlv .SomeRecordT (tlv.NewRecordT [tlv.TlvType0 ](info )),
856857 }
857858}
0 commit comments