@@ -589,7 +589,6 @@ pub(crate) enum RAAMonitorUpdateBlockingAction {
589
589
}
590
590
591
591
impl RAAMonitorUpdateBlockingAction {
592
- #[ allow( unused) ]
593
592
fn from_prev_hop_data ( prev_hop : & HTLCPreviousHopData ) -> Self {
594
593
Self :: ForwardedPaymentInboundClaim {
595
594
channel_id : prev_hop. outpoint . to_channel_id ( ) ,
@@ -4564,6 +4563,7 @@ where
4564
4563
} ,
4565
4564
HTLCSource :: PreviousHopData ( hop_data) => {
4566
4565
let prev_outpoint = hop_data. outpoint ;
4566
+ let completed_blocker = RAAMonitorUpdateBlockingAction :: from_prev_hop_data ( & hop_data) ;
4567
4567
let res = self . claim_funds_from_hop ( hop_data, payment_preimage,
4568
4568
|htlc_claim_value_msat| {
4569
4569
if let Some ( forwarded_htlc_value) = forwarded_htlc_value_msat {
@@ -5505,6 +5505,23 @@ where
5505
5505
} )
5506
5506
}
5507
5507
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
+
5508
5525
fn internal_revoke_and_ack ( & self , counterparty_node_id : & PublicKey , msg : & msgs:: RevokeAndACK ) -> Result < ( ) , MsgHandleErrInternal > {
5509
5526
let ( htlcs_to_fail, res) = {
5510
5527
let per_peer_state = self . per_peer_state . read ( ) . unwrap ( ) ;
0 commit comments