@@ -255,8 +255,8 @@ pub fn connect_block<'a, 'b, 'c, 'd>(node: &'a Node<'b, 'c, 'd>, block: &Block)
255255
256256fn call_claimable_balances < ' a , ' b , ' c , ' d > ( node : & ' a Node < ' b , ' c , ' d > ) {
257257 // Ensure `get_claimable_balances`' self-tests never panic
258- for ( funding_outpoint , _channel_id ) in node. chain_monitor . chain_monitor . list_monitors ( ) {
259- node. chain_monitor . chain_monitor . get_monitor ( funding_outpoint ) . unwrap ( ) . get_claimable_balances ( ) ;
258+ for channel_id in node. chain_monitor . chain_monitor . list_monitors ( ) {
259+ node. chain_monitor . chain_monitor . get_monitor ( channel_id ) . unwrap ( ) . get_claimable_balances ( ) ;
260260 }
261261}
262262
@@ -554,9 +554,7 @@ impl<'a, 'b, 'c> Node<'a, 'b, 'c> {
554554 channel_keys_id = Some ( chan. channel_keys_id ) ;
555555 }
556556
557- let monitor = self . chain_monitor . chain_monitor . list_monitors ( ) . into_iter ( )
558- . find ( |( _, channel_id) | * channel_id == * chan_id)
559- . and_then ( |( funding_txo, _) | self . chain_monitor . chain_monitor . get_monitor ( funding_txo) . ok ( ) ) ;
557+ let monitor = self . chain_monitor . chain_monitor . get_monitor ( * chan_id) . ok ( ) ;
560558 if let Some ( monitor) = monitor {
561559 monitor. do_mut_signer_call ( |signer| {
562560 channel_keys_id = channel_keys_id. or ( Some ( signer. inner . channel_keys_id ( ) ) ) ;
@@ -690,9 +688,9 @@ impl<'a, 'b, 'c> Drop for Node<'a, 'b, 'c> {
690688 let feeest = test_utils:: TestFeeEstimator :: new ( 253 ) ;
691689 let mut deserialized_monitors = Vec :: new ( ) ;
692690 {
693- for ( outpoint , _channel_id ) in self . chain_monitor . chain_monitor . list_monitors ( ) {
691+ for channel_id in self . chain_monitor . chain_monitor . list_monitors ( ) {
694692 let mut w = test_utils:: TestVecWriter ( Vec :: new ( ) ) ;
695- self . chain_monitor . chain_monitor . get_monitor ( outpoint ) . unwrap ( ) . write ( & mut w) . unwrap ( ) ;
693+ self . chain_monitor . chain_monitor . get_monitor ( channel_id ) . unwrap ( ) . write ( & mut w) . unwrap ( ) ;
696694 let ( _, deserialized_monitor) = <( BlockHash , ChannelMonitor < TestChannelSigner > ) >:: read (
697695 & mut io:: Cursor :: new ( & w. 0 ) , ( self . keys_manager , self . keys_manager ) ) . unwrap ( ) ;
698696 deserialized_monitors. push ( deserialized_monitor) ;
@@ -734,8 +732,8 @@ impl<'a, 'b, 'c> Drop for Node<'a, 'b, 'c> {
734732 let chain_source = test_utils:: TestChainSource :: new ( Network :: Testnet ) ;
735733 let chain_monitor = test_utils:: TestChainMonitor :: new ( Some ( & chain_source) , & broadcaster, & self . logger , & feeest, & persister, & self . keys_manager ) ;
736734 for deserialized_monitor in deserialized_monitors. drain ( ..) {
737- let funding_outpoint = deserialized_monitor. get_funding_txo ( ) . 0 ;
738- if chain_monitor. watch_channel ( funding_outpoint , deserialized_monitor) != Ok ( ChannelMonitorUpdateStatus :: Completed ) {
735+ let channel_id = deserialized_monitor. channel_id ( ) ;
736+ if chain_monitor. watch_channel ( channel_id , deserialized_monitor) != Ok ( ChannelMonitorUpdateStatus :: Completed ) {
739737 panic ! ( ) ;
740738 }
741739 }
@@ -1033,20 +1031,7 @@ macro_rules! get_channel_type_features {
10331031macro_rules! get_monitor {
10341032 ( $node: expr, $channel_id: expr) => {
10351033 {
1036- use bitcoin:: hashes:: Hash ;
1037- let mut monitor = None ;
1038- // Assume funding vout is either 0 or 1 blindly
1039- for index in 0 ..2 {
1040- if let Ok ( mon) = $node. chain_monitor. chain_monitor. get_monitor(
1041- $crate:: chain:: transaction:: OutPoint {
1042- txid: bitcoin:: Txid :: from_slice( & $channel_id. 0 [ ..] ) . unwrap( ) , index
1043- } )
1044- {
1045- monitor = Some ( mon) ;
1046- break ;
1047- }
1048- }
1049- monitor. unwrap( )
1034+ $node. chain_monitor. chain_monitor. get_monitor( $channel_id) . unwrap( )
10501035 }
10511036 }
10521037}
@@ -1170,8 +1155,8 @@ pub fn _reload_node<'a, 'b, 'c>(node: &'a Node<'a, 'b, 'c>, default_config: User
11701155 assert ! ( node_read. is_empty( ) ) ;
11711156
11721157 for monitor in monitors_read. drain ( ..) {
1173- let funding_outpoint = monitor. get_funding_txo ( ) . 0 ;
1174- assert_eq ! ( node. chain_monitor. watch_channel( funding_outpoint , monitor) ,
1158+ let channel_id = monitor. channel_id ( ) ;
1159+ assert_eq ! ( node. chain_monitor. watch_channel( channel_id , monitor) ,
11751160 Ok ( ChannelMonitorUpdateStatus :: Completed ) ) ;
11761161 check_added_monitors ! ( node, 1 ) ;
11771162 }
@@ -1275,19 +1260,24 @@ pub fn create_dual_funding_utxos_with_prev_txs(
12751260}
12761261
12771262pub fn sign_funding_transaction < ' a , ' b , ' c > ( node_a : & Node < ' a , ' b , ' c > , node_b : & Node < ' a , ' b , ' c > , channel_value : u64 , expected_temporary_channel_id : ChannelId ) -> Transaction {
1278- let ( temporary_channel_id, tx, funding_output ) = create_funding_transaction ( node_a, & node_b. node . get_our_node_id ( ) , channel_value, 42 ) ;
1263+ let ( temporary_channel_id, tx, _ ) = create_funding_transaction ( node_a, & node_b. node . get_our_node_id ( ) , channel_value, 42 ) ;
12791264 assert_eq ! ( temporary_channel_id, expected_temporary_channel_id) ;
12801265
12811266 assert ! ( node_a. node. funding_transaction_generated( temporary_channel_id, node_b. node. get_our_node_id( ) , tx. clone( ) ) . is_ok( ) ) ;
12821267 check_added_monitors ! ( node_a, 0 ) ;
12831268
12841269 let funding_created_msg = get_event_msg ! ( node_a, MessageSendEvent :: SendFundingCreated , node_b. node. get_our_node_id( ) ) ;
12851270 assert_eq ! ( funding_created_msg. temporary_channel_id, expected_temporary_channel_id) ;
1271+
1272+ let channel_id = ChannelId :: v1_from_funding_txid (
1273+ funding_created_msg. funding_txid . as_byte_array ( ) , funding_created_msg. funding_output_index
1274+ ) ;
1275+
12861276 node_b. node . handle_funding_created ( node_a. node . get_our_node_id ( ) , & funding_created_msg) ;
12871277 {
12881278 let mut added_monitors = node_b. chain_monitor . added_monitors . lock ( ) . unwrap ( ) ;
12891279 assert_eq ! ( added_monitors. len( ) , 1 ) ;
1290- assert_eq ! ( added_monitors[ 0 ] . 0 , funding_output ) ;
1280+ assert_eq ! ( added_monitors[ 0 ] . 0 , channel_id ) ;
12911281 added_monitors. clear ( ) ;
12921282 }
12931283 expect_channel_pending_event ( & node_b, & node_a. node . get_our_node_id ( ) ) ;
@@ -1296,7 +1286,7 @@ pub fn sign_funding_transaction<'a, 'b, 'c>(node_a: &Node<'a, 'b, 'c>, node_b: &
12961286 {
12971287 let mut added_monitors = node_a. chain_monitor . added_monitors . lock ( ) . unwrap ( ) ;
12981288 assert_eq ! ( added_monitors. len( ) , 1 ) ;
1299- assert_eq ! ( added_monitors[ 0 ] . 0 , funding_output ) ;
1289+ assert_eq ! ( added_monitors[ 0 ] . 0 , channel_id ) ;
13001290 added_monitors. clear ( ) ;
13011291 }
13021292 expect_channel_pending_event ( & node_a, & node_b. node . get_our_node_id ( ) ) ;
0 commit comments