@@ -200,10 +200,11 @@ fn do_test_simple_monitor_temporary_update_fail(disconnect: bool) {
200200	let  events_3 = nodes[ 1 ] . node . get_and_clear_pending_events ( ) ; 
201201	assert_eq ! ( events_3. len( ) ,  1 ) ; 
202202	match  events_3[ 0 ]  { 
203- 		Event :: PaymentReceived  {  ref  payment_hash,  ref  purpose,  amount_msat,  receiver_node_id }  => { 
203+ 		Event :: PaymentReceived  {  ref  payment_hash,  ref  purpose,  amount_msat,  receiver_node_id,  via_channel_id ,   via_user_channel_id :  _  }  => { 
204204			assert_eq ! ( payment_hash_1,  * payment_hash) ; 
205205			assert_eq ! ( amount_msat,  1_000_000 ) ; 
206206			assert_eq ! ( receiver_node_id. unwrap( ) ,  nodes[ 1 ] . node. get_our_node_id( ) ) ; 
207+ 			assert_eq ! ( via_channel_id,  Some ( channel_id) ) ; 
207208			match  & purpose { 
208209				PaymentPurpose :: InvoicePayment  {  payment_preimage,  payment_secret,  .. }  => { 
209210					assert ! ( payment_preimage. is_none( ) ) ; 
@@ -568,10 +569,11 @@ fn do_test_monitor_temporary_update_fail(disconnect_count: usize) {
568569	let  events_5 = nodes[ 1 ] . node . get_and_clear_pending_events ( ) ; 
569570	assert_eq ! ( events_5. len( ) ,  1 ) ; 
570571	match  events_5[ 0 ]  { 
571- 		Event :: PaymentReceived  {  ref  payment_hash,  ref  purpose,  amount_msat,  receiver_node_id }  => { 
572+ 		Event :: PaymentReceived  {  ref  payment_hash,  ref  purpose,  amount_msat,  receiver_node_id,  via_channel_id ,   via_user_channel_id :  _  }  => { 
572573			assert_eq ! ( payment_hash_2,  * payment_hash) ; 
573574			assert_eq ! ( amount_msat,  1_000_000 ) ; 
574575			assert_eq ! ( receiver_node_id. unwrap( ) ,  nodes[ 1 ] . node. get_our_node_id( ) ) ; 
576+ 			assert_eq ! ( via_channel_id,  Some ( channel_id) ) ; 
575577			match  & purpose { 
576578				PaymentPurpose :: InvoicePayment  {  payment_preimage,  payment_secret,  .. }  => { 
577579					assert ! ( payment_preimage. is_none( ) ) ; 
@@ -684,10 +686,11 @@ fn test_monitor_update_fail_cs() {
684686	let  events = nodes[ 1 ] . node . get_and_clear_pending_events ( ) ; 
685687	assert_eq ! ( events. len( ) ,  1 ) ; 
686688	match  events[ 0 ]  { 
687- 		Event :: PaymentReceived  {  payment_hash,  ref  purpose,  amount_msat,  receiver_node_id }  => { 
689+ 		Event :: PaymentReceived  {  payment_hash,  ref  purpose,  amount_msat,  receiver_node_id,  via_channel_id ,   via_user_channel_id :  _  }  => { 
688690			assert_eq ! ( payment_hash,  our_payment_hash) ; 
689691			assert_eq ! ( amount_msat,  1_000_000 ) ; 
690692			assert_eq ! ( receiver_node_id. unwrap( ) ,  nodes[ 1 ] . node. get_our_node_id( ) ) ; 
693+ 			assert_eq ! ( via_channel_id,  Some ( channel_id) ) ; 
691694			match  & purpose { 
692695				PaymentPurpose :: InvoicePayment  {  payment_preimage,  payment_secret,  .. }  => { 
693696					assert ! ( payment_preimage. is_none( ) ) ; 
@@ -1627,7 +1630,8 @@ fn test_monitor_update_fail_claim() {
16271630	commitment_signed_dance ! ( nodes[ 1 ] ,  nodes[ 2 ] ,  payment_event. commitment_msg,  false ,  true ) ; 
16281631
16291632	// Now restore monitor updating on the 0<->1 channel and claim the funds on B. 
1630- 	let  ( outpoint,  latest_update,  _)  = nodes[ 1 ] . chain_monitor . latest_monitor_update_id . lock ( ) . unwrap ( ) . get ( & chan_1. 2 ) . unwrap ( ) . clone ( ) ; 
1633+ 	let  channel_id = chan_1. 2 ; 
1634+ 	let  ( outpoint,  latest_update,  _)  = nodes[ 1 ] . chain_monitor . latest_monitor_update_id . lock ( ) . unwrap ( ) . get ( & channel_id) . unwrap ( ) . clone ( ) ; 
16311635	nodes[ 1 ] . chain_monitor . chain_monitor . force_channel_monitor_updated ( outpoint,  latest_update) ; 
16321636	check_added_monitors ! ( nodes[ 1 ] ,  0 ) ; 
16331637
@@ -1648,10 +1652,12 @@ fn test_monitor_update_fail_claim() {
16481652	let  events = nodes[ 0 ] . node . get_and_clear_pending_events ( ) ; 
16491653	assert_eq ! ( events. len( ) ,  2 ) ; 
16501654	match  events[ 0 ]  { 
1651- 		Event :: PaymentReceived  {  ref  payment_hash,  ref  purpose,  amount_msat,  receiver_node_id }  => { 
1655+ 		Event :: PaymentReceived  {  ref  payment_hash,  ref  purpose,  amount_msat,  receiver_node_id,  via_channel_id ,  via_user_channel_id  }  => { 
16521656			assert_eq ! ( payment_hash_2,  * payment_hash) ; 
16531657			assert_eq ! ( 1_000_000 ,  amount_msat) ; 
16541658			assert_eq ! ( receiver_node_id. unwrap( ) ,  nodes[ 0 ] . node. get_our_node_id( ) ) ; 
1659+ 			assert_eq ! ( via_channel_id,  Some ( channel_id) ) ; 
1660+ 			assert_eq ! ( via_user_channel_id,  Some ( 42 ) ) ; 
16551661			match  & purpose { 
16561662				PaymentPurpose :: InvoicePayment  {  payment_preimage,  payment_secret,  .. }  => { 
16571663					assert ! ( payment_preimage. is_none( ) ) ; 
@@ -1663,10 +1669,11 @@ fn test_monitor_update_fail_claim() {
16631669		_ => panic ! ( "Unexpected event" ) , 
16641670	} 
16651671	match  events[ 1 ]  { 
1666- 		Event :: PaymentReceived  {  ref  payment_hash,  ref  purpose,  amount_msat,  receiver_node_id }  => { 
1672+ 		Event :: PaymentReceived  {  ref  payment_hash,  ref  purpose,  amount_msat,  receiver_node_id,  via_channel_id ,   via_user_channel_id :  _  }  => { 
16671673			assert_eq ! ( payment_hash_3,  * payment_hash) ; 
16681674			assert_eq ! ( 1_000_000 ,  amount_msat) ; 
16691675			assert_eq ! ( receiver_node_id. unwrap( ) ,  nodes[ 0 ] . node. get_our_node_id( ) ) ; 
1676+ 			assert_eq ! ( via_channel_id,  Some ( channel_id) ) ; 
16701677			match  & purpose { 
16711678				PaymentPurpose :: InvoicePayment  {  payment_preimage,  payment_secret,  .. }  => { 
16721679					assert ! ( payment_preimage. is_none( ) ) ; 
0 commit comments