@@ -948,7 +948,7 @@ mod tests {
948
948
CHANNEL_MANAGER_PERSISTENCE_PRIMARY_NAMESPACE , CHANNEL_MANAGER_PERSISTENCE_SECONDARY_NAMESPACE , CHANNEL_MANAGER_PERSISTENCE_KEY ,
949
949
NETWORK_GRAPH_PERSISTENCE_PRIMARY_NAMESPACE , NETWORK_GRAPH_PERSISTENCE_SECONDARY_NAMESPACE , NETWORK_GRAPH_PERSISTENCE_KEY ,
950
950
SCORER_PERSISTENCE_PRIMARY_NAMESPACE , SCORER_PERSISTENCE_SECONDARY_NAMESPACE , SCORER_PERSISTENCE_KEY } ;
951
- use lightning:: util:: sweep:: { OutputSweeper , OutputSpendStatus } ;
951
+ use lightning:: util:: sweep:: { OutputSweeper , OutputSpendStatus , SpendingDelay } ;
952
952
use lightning_persister:: fs_store:: FilesystemStore ;
953
953
use std:: collections:: VecDeque ;
954
954
use std:: { fs, env} ;
@@ -1664,11 +1664,25 @@ mod tests {
1664
1664
. expect ( "Events not handled within deadline" ) ;
1665
1665
match event {
1666
1666
Event :: SpendableOutputs { outputs, channel_id } => {
1667
- nodes[ 0 ] . sweeper . track_spendable_outputs ( outputs, channel_id, false ) ;
1667
+ nodes[ 0 ] . sweeper . track_spendable_outputs ( outputs, channel_id, false , Some ( SpendingDelay :: Relative { num_blocks : 3 } ) ) ;
1668
1668
} ,
1669
1669
_ => panic ! ( "Unexpected event: {:?}" , event) ,
1670
1670
}
1671
1671
1672
+ // Check we don't generate an initial sweeping tx until we reach the required height.
1673
+ assert_eq ! ( nodes[ 0 ] . sweeper. tracked_spendable_outputs( ) . len( ) , 1 ) ;
1674
+ let tracked_output = nodes[ 0 ] . sweeper . tracked_spendable_outputs ( ) . first ( ) . unwrap ( ) . clone ( ) ;
1675
+ let sweep_tx_0 = nodes[ 0 ] . tx_broadcaster . txn_broadcasted . lock ( ) . unwrap ( ) . pop ( ) . unwrap ( ) ;
1676
+ assert ! ( !tracked_output. is_spent_in( & sweep_tx_0) ) ;
1677
+ match tracked_output. status {
1678
+ OutputSpendStatus :: PendingInitialBroadcast { delayed_until_height } => {
1679
+ assert_eq ! ( delayed_until_height, Some ( 153 ) ) ;
1680
+ }
1681
+ _ => panic ! ( "Unexpected status" ) ,
1682
+ }
1683
+
1684
+ advance_chain ( & mut nodes[ 0 ] , 3 ) ;
1685
+
1672
1686
// Check we generate an initial sweeping tx.
1673
1687
assert_eq ! ( nodes[ 0 ] . sweeper. tracked_spendable_outputs( ) . len( ) , 1 ) ;
1674
1688
let tracked_output = nodes[ 0 ] . sweeper . tracked_spendable_outputs ( ) . first ( ) . unwrap ( ) . clone ( ) ;
0 commit comments