@@ -255,8 +255,8 @@ pub fn connect_block<'a, 'b, 'c, 'd>(node: &'a Node<'b, 'c, 'd>, block: &Block)
255
255
256
256
fn call_claimable_balances < ' a , ' b , ' c , ' d > ( node : & ' a Node < ' b , ' c , ' d > ) {
257
257
// 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 ( ) ;
260
260
}
261
261
}
262
262
@@ -554,9 +554,7 @@ impl<'a, 'b, 'c> Node<'a, 'b, 'c> {
554
554
channel_keys_id = Some ( chan. channel_keys_id ) ;
555
555
}
556
556
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 ( ) ;
560
558
if let Some ( monitor) = monitor {
561
559
monitor. do_mut_signer_call ( |signer| {
562
560
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> {
690
688
let feeest = test_utils:: TestFeeEstimator :: new ( 253 ) ;
691
689
let mut deserialized_monitors = Vec :: new ( ) ;
692
690
{
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 ( ) {
694
692
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 ( ) ;
696
694
let ( _, deserialized_monitor) = <( BlockHash , ChannelMonitor < TestChannelSigner > ) >:: read (
697
695
& mut io:: Cursor :: new ( & w. 0 ) , ( self . keys_manager , self . keys_manager ) ) . unwrap ( ) ;
698
696
deserialized_monitors. push ( deserialized_monitor) ;
@@ -734,8 +732,8 @@ impl<'a, 'b, 'c> Drop for Node<'a, 'b, 'c> {
734
732
let chain_source = test_utils:: TestChainSource :: new ( Network :: Testnet ) ;
735
733
let chain_monitor = test_utils:: TestChainMonitor :: new ( Some ( & chain_source) , & broadcaster, & self . logger , & feeest, & persister, & self . keys_manager ) ;
736
734
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 ) {
739
737
panic ! ( ) ;
740
738
}
741
739
}
@@ -1033,20 +1031,7 @@ macro_rules! get_channel_type_features {
1033
1031
macro_rules! get_monitor {
1034
1032
( $node: expr, $channel_id: expr) => {
1035
1033
{
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( )
1050
1035
}
1051
1036
}
1052
1037
}
@@ -1170,8 +1155,8 @@ pub fn _reload_node<'a, 'b, 'c>(node: &'a Node<'a, 'b, 'c>, default_config: User
1170
1155
assert ! ( node_read. is_empty( ) ) ;
1171
1156
1172
1157
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) ,
1175
1160
Ok ( ChannelMonitorUpdateStatus :: Completed ) ) ;
1176
1161
check_added_monitors ! ( node, 1 ) ;
1177
1162
}
@@ -1275,19 +1260,24 @@ pub fn create_dual_funding_utxos_with_prev_txs(
1275
1260
}
1276
1261
1277
1262
pub 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 ) ;
1279
1264
assert_eq ! ( temporary_channel_id, expected_temporary_channel_id) ;
1280
1265
1281
1266
assert ! ( node_a. node. funding_transaction_generated( temporary_channel_id, node_b. node. get_our_node_id( ) , tx. clone( ) ) . is_ok( ) ) ;
1282
1267
check_added_monitors ! ( node_a, 0 ) ;
1283
1268
1284
1269
let funding_created_msg = get_event_msg ! ( node_a, MessageSendEvent :: SendFundingCreated , node_b. node. get_our_node_id( ) ) ;
1285
1270
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
+
1286
1276
node_b. node . handle_funding_created ( node_a. node . get_our_node_id ( ) , & funding_created_msg) ;
1287
1277
{
1288
1278
let mut added_monitors = node_b. chain_monitor . added_monitors . lock ( ) . unwrap ( ) ;
1289
1279
assert_eq ! ( added_monitors. len( ) , 1 ) ;
1290
- assert_eq ! ( added_monitors[ 0 ] . 0 , funding_output ) ;
1280
+ assert_eq ! ( added_monitors[ 0 ] . 0 , channel_id ) ;
1291
1281
added_monitors. clear ( ) ;
1292
1282
}
1293
1283
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: &
1296
1286
{
1297
1287
let mut added_monitors = node_a. chain_monitor . added_monitors . lock ( ) . unwrap ( ) ;
1298
1288
assert_eq ! ( added_monitors. len( ) , 1 ) ;
1299
- assert_eq ! ( added_monitors[ 0 ] . 0 , funding_output ) ;
1289
+ assert_eq ! ( added_monitors[ 0 ] . 0 , channel_id ) ;
1300
1290
added_monitors. clear ( ) ;
1301
1291
}
1302
1292
expect_channel_pending_event ( & node_a, & node_b. node . get_our_node_id ( ) ) ;
0 commit comments