@@ -589,7 +589,6 @@ pub(crate) enum RAAMonitorUpdateBlockingAction {
589589}
590590
591591impl RAAMonitorUpdateBlockingAction {
592- #[ allow( unused) ]
593592 fn from_prev_hop_data ( prev_hop : & HTLCPreviousHopData ) -> Self {
594593 Self :: ForwardedPaymentInboundClaim {
595594 channel_id : prev_hop. outpoint . to_channel_id ( ) ,
@@ -4564,6 +4563,7 @@ where
45644563 } ,
45654564 HTLCSource :: PreviousHopData ( hop_data) => {
45664565 let prev_outpoint = hop_data. outpoint ;
4566+ let completed_blocker = RAAMonitorUpdateBlockingAction :: from_prev_hop_data ( & hop_data) ;
45674567 let res = self . claim_funds_from_hop ( hop_data, payment_preimage,
45684568 |htlc_claim_value_msat| {
45694569 if let Some ( forwarded_htlc_value) = forwarded_htlc_value_msat {
@@ -5505,6 +5505,23 @@ where
55055505 } )
55065506 }
55075507
5508+ #[ cfg( any( test, feature = "_test_utils" ) ) ]
5509+ pub ( crate ) fn test_raa_monitor_updates_held ( & self , counterparty_node_id : PublicKey ,
5510+ channel_id : [ u8 ; 32 ] )
5511+ -> bool {
5512+ let per_peer_state = self . per_peer_state . read ( ) . unwrap ( ) ;
5513+ if let Some ( peer_state_mtx) = per_peer_state. get ( & counterparty_node_id) {
5514+ let mut peer_state_lck = peer_state_mtx. lock ( ) . unwrap ( ) ;
5515+ let peer_state = & mut * peer_state_lck;
5516+
5517+ if let Some ( chan) = peer_state. channel_by_id . get ( & channel_id) {
5518+ return self . raa_monitor_updates_held ( & peer_state. actions_blocking_raa_monitor_updates ,
5519+ chan. get_funding_txo ( ) . unwrap ( ) , counterparty_node_id) ;
5520+ }
5521+ }
5522+ false
5523+ }
5524+
55085525 fn internal_revoke_and_ack ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: RevokeAndACK ) -> Result < ( ) , MsgHandleErrInternal > {
55095526 let ( htlcs_to_fail, res) = {
55105527 let per_peer_state = self . per_peer_state . read ( ) . unwrap ( ) ;
0 commit comments