@@ -182,19 +182,21 @@ class WalletViewModel: ObservableObject {
182182
183183 // Handle specific events for targeted UI updates
184184 switch event {
185- case let . probeSuccessful( paymentId, paymentHash: paymentHash) :
185+ case let . probeSuccessful( paymentId, paymentHash: paymentHash, routeFeeMsat : routeFeeMsat ) :
186186 self . cacheProbeOutcome (
187187 success: true ,
188188 paymentId: paymentId,
189189 paymentHash: paymentHash,
190- shortChannelId: nil
190+ shortChannelId: nil ,
191+ routeFeeMsat: routeFeeMsat
191192 )
192- case let . probeFailed( paymentId, paymentHash: paymentHash, shortChannelId: shortChannelId) :
193+ case let . probeFailed( paymentId, paymentHash: paymentHash, shortChannelId: shortChannelId, routeFeeMsat : routeFeeMsat ) :
193194 self . cacheProbeOutcome (
194195 success: false ,
195196 paymentId: paymentId,
196197 paymentHash: paymentHash,
197- shortChannelId: shortChannelId
198+ shortChannelId: shortChannelId,
199+ routeFeeMsat: routeFeeMsat
198200 )
199201 case let . paymentReceived( _, paymentHash, _, _) :
200202 self . bolt11 = " "
@@ -680,6 +682,7 @@ class WalletViewModel: ObservableObject {
680682 let paymentId : PaymentId
681683 let paymentHash : PaymentHash
682684 let shortChannelId : UInt64 ?
685+ let routeFeeMsat : UInt64 ?
683686 }
684687
685688 /// Waits for probe results that match one of the returned probe `paymentId`s.
@@ -704,23 +707,25 @@ class WalletViewModel: ObservableObject {
704707 addOnEvent ( id: eventId) { event in
705708 guard !resumed else { return }
706709 switch event {
707- case let . probeSuccessful( paymentId, paymentHash: paymentHash) :
710+ case let . probeSuccessful( paymentId, paymentHash: paymentHash, routeFeeMsat : routeFeeMsat ) :
708711 guard pendingPaymentIds. contains ( paymentId) else { return }
709712 resumed = true
710713 self . removeOnEvent ( id: eventId)
711714 continuation. resume ( returning: . init(
712715 success: true ,
713716 paymentId: paymentId,
714717 paymentHash: paymentHash,
715- shortChannelId: nil
718+ shortChannelId: nil ,
719+ routeFeeMsat: routeFeeMsat
716720 ) )
717- case let . probeFailed( paymentId, paymentHash: paymentHash, shortChannelId: shortChannelId) :
721+ case let . probeFailed( paymentId, paymentHash: paymentHash, shortChannelId: shortChannelId, routeFeeMsat : routeFeeMsat ) :
718722 guard pendingPaymentIds. remove ( paymentId) != nil else { return }
719723 lastFailure = . init(
720724 success: false ,
721725 paymentId: paymentId,
722726 paymentHash: paymentHash,
723- shortChannelId: shortChannelId
727+ shortChannelId: shortChannelId,
728+ routeFeeMsat: routeFeeMsat
724729 )
725730 if pendingPaymentIds. isEmpty, let lastFailure {
726731 resumed = true
@@ -734,12 +739,13 @@ class WalletViewModel: ObservableObject {
734739 }
735740 }
736741
737- private func cacheProbeOutcome( success: Bool , paymentId: PaymentId , paymentHash: PaymentHash , shortChannelId: UInt64 ? ) {
742+ private func cacheProbeOutcome( success: Bool , paymentId: PaymentId , paymentHash: PaymentHash , shortChannelId: UInt64 ? , routeFeeMsat : UInt64 ? ) {
738743 probeOutcomes [ paymentId] = ProbeOutcome (
739744 success: success,
740745 paymentId: paymentId,
741746 paymentHash: paymentHash,
742- shortChannelId: shortChannelId
747+ shortChannelId: shortChannelId,
748+ routeFeeMsat: routeFeeMsat
743749 )
744750 }
745751
0 commit comments