@@ -3484,23 +3484,14 @@ impl<M: Deref, T: Deref, K: Deref, F: Deref, L: Deref> ChannelManager<M, T, K, F
34843484												log_bytes!( payment_hash. 0 ) ,  total_value,  $payment_data. total_msat) ; 
34853485											fail_htlc!( claimable_htlc,  payment_hash) ; 
34863486										}  else if  total_value == $payment_data. total_msat { 
3487- 											let  ( via_channel_id,  via_user_channel_id)  =
3488- 												if  let  Some ( ( _,  chan_id) )  = self . short_to_chan_info. read( ) . unwrap( ) . get( & prev_short_channel_id)  { 
3489- 													match  channel_state. by_id. entry( * chan_id)  { 
3490- 														hash_map:: Entry :: Occupied ( prev_chan)  =>
3491- 															( Some ( chan_id. clone( ) ) ,  Some ( prev_chan. get( ) . get_user_id( ) ) ) , 
3492- 														_ => ( None ,  None ) , 
3493- 													} 
3494- 												}  else { 
3495- 													( None ,  None ) 
3496- 												} ; 
3497- 
3487+ 											let  prev_channel_id = prev_funding_outpoint. to_channel_id( ) ; 
3488+ 											let  via_user_channel_id = channel_state. by_id. get( & prev_channel_id) . map( |chan| chan. get_user_id( ) ) ; 
34983489											htlcs. push( claimable_htlc) ; 
34993490											new_events. push( events:: Event :: PaymentReceived  { 
35003491												payment_hash, 
35013492												purpose:  purpose( ) , 
35023493												amount_msat:  total_value, 
3503- 												via_channel_id, 
3494+ 												via_channel_id:   Some ( prev_channel_id ) , 
35043495												via_user_channel_id, 
35053496											} ) ; 
35063497											payment_received_generated = true ; 
@@ -3541,21 +3532,13 @@ impl<M: Deref, T: Deref, K: Deref, F: Deref, L: Deref> ChannelManager<M, T, K, F
35413532													hash_map:: Entry :: Vacant ( e)  => { 
35423533														let  purpose = events:: PaymentPurpose :: SpontaneousPayment ( preimage) ; 
35433534														e. insert ( ( purpose. clone ( ) ,  vec ! [ claimable_htlc] ) ) ; 
3544- 														let  ( via_channel_id,  via_user_channel_id)  =
3545- 															if  let  Some ( ( _,  chan_id) )  = self . short_to_chan_info . read ( ) . unwrap ( ) . get ( & prev_short_channel_id)  { 
3546- 																match  channel_state. by_id . entry ( * chan_id)  { 
3547- 																	hash_map:: Entry :: Occupied ( prev_chan)  =>
3548- 																		( Some ( chan_id. clone ( ) ) ,  Some ( prev_chan. get ( ) . get_user_id ( ) ) ) , 
3549- 																	_ => ( None ,  None ) , 
3550- 																} 
3551- 															}  else  { 
3552- 																( None ,  None ) 
3553- 															} ; 
3535+ 														let  prev_channel_id = prev_funding_outpoint. to_channel_id ( ) ; 
3536+ 														let  via_user_channel_id = channel_state. by_id . get ( & prev_channel_id) . map ( |chan| chan. get_user_id ( ) ) ; 
35543537														new_events. push ( events:: Event :: PaymentReceived  { 
35553538															payment_hash, 
35563539															amount_msat :  outgoing_amt_msat, 
35573540															purpose, 
3558- 															via_channel_id, 
3541+ 															via_channel_id :   Some ( prev_channel_id ) , 
35593542															via_user_channel_id, 
35603543														} ) ; 
35613544													} , 
0 commit comments