@@ -2767,6 +2767,7 @@ impl<Signer: Sign, M: Deref, T: Deref, K: Deref, F: Deref, L: Deref> ChannelMana
2767
2767
events:: Event :: PaymentFailed {
2768
2768
payment_hash,
2769
2769
rejected_by_dest : false ,
2770
+ network_update : None ,
2770
2771
#[ cfg( test) ]
2771
2772
error_code : None ,
2772
2773
#[ cfg( test) ]
@@ -2811,23 +2812,17 @@ impl<Signer: Sign, M: Deref, T: Deref, K: Deref, F: Deref, L: Deref> ChannelMana
2811
2812
match & onion_error {
2812
2813
& HTLCFailReason :: LightningError { ref err } => {
2813
2814
#[ cfg( test) ]
2814
- let ( channel_update , payment_retryable, onion_error_code, onion_error_data) = onion_utils:: process_onion_failure ( & self . secp_ctx , & self . logger , & source, err. data . clone ( ) ) ;
2815
+ let ( network_update , payment_retryable, onion_error_code, onion_error_data) = onion_utils:: process_onion_failure ( & self . secp_ctx , & self . logger , & source, err. data . clone ( ) ) ;
2815
2816
#[ cfg( not( test) ) ]
2816
- let ( channel_update , payment_retryable, _, _) = onion_utils:: process_onion_failure ( & self . secp_ctx , & self . logger , & source, err. data . clone ( ) ) ;
2817
+ let ( network_update , payment_retryable, _, _) = onion_utils:: process_onion_failure ( & self . secp_ctx , & self . logger , & source, err. data . clone ( ) ) ;
2817
2818
// TODO: If we decided to blame ourselves (or one of our channels) in
2818
2819
// process_onion_failure we should close that channel as it implies our
2819
2820
// next-hop is needlessly blaming us!
2820
- if let Some ( update) = channel_update {
2821
- self . channel_state . lock ( ) . unwrap ( ) . pending_msg_events . push (
2822
- events:: MessageSendEvent :: PaymentFailureNetworkUpdate {
2823
- update,
2824
- }
2825
- ) ;
2826
- }
2827
2821
self . pending_events . lock ( ) . unwrap ( ) . push (
2828
2822
events:: Event :: PaymentFailed {
2829
2823
payment_hash : payment_hash. clone ( ) ,
2830
2824
rejected_by_dest : !payment_retryable,
2825
+ network_update,
2831
2826
#[ cfg( test) ]
2832
2827
error_code : onion_error_code,
2833
2828
#[ cfg( test) ]
@@ -2842,7 +2837,7 @@ impl<Signer: Sign, M: Deref, T: Deref, K: Deref, F: Deref, L: Deref> ChannelMana
2842
2837
ref data,
2843
2838
.. } => {
2844
2839
// we get a fail_malformed_htlc from the first hop
2845
- // TODO: We'd like to generate a PaymentFailureNetworkUpdate for temporary
2840
+ // TODO: We'd like to generate a NetworkUpdate for temporary
2846
2841
// failures here, but that would be insufficient as get_route
2847
2842
// generally ignores its view of our own channels as we provide them via
2848
2843
// ChannelDetails.
@@ -2852,6 +2847,7 @@ impl<Signer: Sign, M: Deref, T: Deref, K: Deref, F: Deref, L: Deref> ChannelMana
2852
2847
events:: Event :: PaymentFailed {
2853
2848
payment_hash : payment_hash. clone ( ) ,
2854
2849
rejected_by_dest : path. len ( ) == 1 ,
2850
+ network_update : None ,
2855
2851
#[ cfg( test) ]
2856
2852
error_code : Some ( * failure_code) ,
2857
2853
#[ cfg( test) ]
@@ -4568,7 +4564,6 @@ impl<Signer: Sign, M: Deref , T: Deref , K: Deref , F: Deref , L: Deref >
4568
4564
& events:: MessageSendEvent :: BroadcastChannelUpdate { .. } => true ,
4569
4565
& events:: MessageSendEvent :: SendChannelUpdate { ref node_id, .. } => node_id != counterparty_node_id,
4570
4566
& events:: MessageSendEvent :: HandleError { ref node_id, .. } => node_id != counterparty_node_id,
4571
- & events:: MessageSendEvent :: PaymentFailureNetworkUpdate { .. } => true ,
4572
4567
& events:: MessageSendEvent :: SendChannelRangeQuery { .. } => false ,
4573
4568
& events:: MessageSendEvent :: SendShortIdsQuery { .. } => false ,
4574
4569
& events:: MessageSendEvent :: SendReplyChannelRange { .. } => false ,
0 commit comments