@@ -510,10 +510,9 @@ macro_rules! get_htlc_update_msgs {
510
510
511
511
#[ cfg( test) ]
512
512
macro_rules! get_channel_ref {
513
- ( $node: expr, $lock : ident, $channel_id: expr) => {
513
+ ( $node: expr, $peer_state_lock : ident, $channel_id: expr) => {
514
514
{
515
- $lock = $node. node. channel_state. lock( ) . unwrap( ) ;
516
- $lock. by_id. get_mut( & $channel_id) . unwrap( )
515
+ $peer_state_lock. channel_by_id. get_mut( & $channel_id) . unwrap( )
517
516
}
518
517
}
519
518
}
@@ -522,8 +521,9 @@ macro_rules! get_channel_ref {
522
521
macro_rules! get_feerate {
523
522
( $node: expr, $counterparty_node: expr, $channel_id: expr) => {
524
523
{
525
- let mut lock;
526
- let chan = get_channel_ref!( $node, lock, $channel_id) ;
524
+ let per_peer_lock = $node. node. per_peer_state. write( ) . unwrap( ) ;
525
+ let mut peer_state_lock = per_peer_lock. get( & $counterparty_node. node. get_our_node_id( ) ) . unwrap( ) . lock( ) . unwrap( ) ;
526
+ let chan = get_channel_ref!( $node, peer_state_lock, $channel_id) ;
527
527
chan. get_feerate( )
528
528
}
529
529
}
@@ -533,8 +533,9 @@ macro_rules! get_feerate {
533
533
macro_rules! get_opt_anchors {
534
534
( $node: expr, $counterparty_node: expr, $channel_id: expr) => {
535
535
{
536
- let mut lock;
537
- let chan = get_channel_ref!( $node, lock, $channel_id) ;
536
+ let per_peer_lock = $node. node. per_peer_state. write( ) . unwrap( ) ;
537
+ let mut peer_state_lock = per_peer_lock. get( & $counterparty_node. node. get_our_node_id( ) ) . unwrap( ) . lock( ) . unwrap( ) ;
538
+ let chan = get_channel_ref!( $node, peer_state_lock, $channel_id) ;
538
539
chan. opt_anchors( )
539
540
}
540
541
}
@@ -1690,9 +1691,10 @@ pub fn do_claim_payment_along_route<'a, 'b, 'c>(origin_node: &Node<'a, 'b, 'c>,
1690
1691
{
1691
1692
$node. node. handle_update_fulfill_htlc( & $prev_node. node. get_our_node_id( ) , & next_msgs. as_ref( ) . unwrap( ) . 0 ) ;
1692
1693
let fee = {
1693
- let channel_state = $node. node. channel_state. lock( ) . unwrap( ) ;
1694
- let channel = channel_state
1695
- . by_id. get( & next_msgs. as_ref( ) . unwrap( ) . 0 . channel_id) . unwrap( ) ;
1694
+ let per_peer_state = $node. node. per_peer_state. read( ) . unwrap( ) ;
1695
+ let peer_state = per_peer_state. get( & $prev_node. node. get_our_node_id( ) )
1696
+ . unwrap( ) . lock( ) . unwrap( ) ;
1697
+ let channel = peer_state. channel_by_id. get( & next_msgs. as_ref( ) . unwrap( ) . 0 . channel_id) . unwrap( ) ;
1696
1698
if let Some ( prev_config) = channel. prev_config( ) {
1697
1699
prev_config. forwarding_fee_base_msat
1698
1700
} else {
@@ -2189,8 +2191,9 @@ pub fn get_announce_close_broadcast_events<'a, 'b, 'c>(nodes: &Vec<Node<'a, 'b,
2189
2191
#[ cfg( test) ]
2190
2192
macro_rules! get_channel_value_stat {
2191
2193
( $node: expr, $counterparty_node: expr, $channel_id: expr) => { {
2192
- let chan_lock = $node. node. channel_state. lock( ) . unwrap( ) ;
2193
- let chan = chan_lock. by_id. get( & $channel_id) . unwrap( ) ;
2194
+ let peer_state_lock = $node. node. per_peer_state. read( ) . unwrap( ) ;
2195
+ let chan_lock = peer_state_lock. get( & $counterparty_node. node. get_our_node_id( ) ) . unwrap( ) . lock( ) . unwrap( ) ;
2196
+ let chan = chan_lock. channel_by_id. get( & $channel_id) . unwrap( ) ;
2194
2197
chan. get_value_stat( )
2195
2198
} }
2196
2199
}
0 commit comments