Skip to content

Commit 90b2f5e

Browse files
committed
Replace get_revoke_commit_msgs macro with a function
The `get_revoke_commit_msgs!()` macro has no reason to be a macro so here we move its logic to a function and leave the macro in place to avoid touching every line of code in the tests. This reduces the `--profile=test --lib` `Zpretty=expanded` code size from 324,763 LoC to 322,183 LoC.
1 parent b5912ec commit 90b2f5e

File tree

2 files changed

+38
-25
lines changed

2 files changed

+38
-25
lines changed

lightning/src/ln/channelmanager.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8831,7 +8831,7 @@ pub mod bench {
88318831
let payment_event = SendEvent::from_event($node_a.get_and_clear_pending_msg_events().pop().unwrap());
88328832
$node_b.handle_update_add_htlc(&$node_a.get_our_node_id(), &payment_event.msgs[0]);
88338833
$node_b.handle_commitment_signed(&$node_a.get_our_node_id(), &payment_event.commitment_msg);
8834-
let (raa, cs) = get_revoke_commit_msgs!(NodeHolder { node: &$node_b }, $node_a.get_our_node_id());
8834+
let (raa, cs) = do_get_revoke_commit_msgs!(NodeHolder { node: &$node_b }, &$node_a.get_our_node_id());
88358835
$node_a.handle_revoke_and_ack(&$node_b.get_our_node_id(), &raa);
88368836
$node_a.handle_commitment_signed(&$node_b.get_our_node_id(), &cs);
88378837
$node_b.handle_revoke_and_ack(&$node_a.get_our_node_id(), &get_event_msg!(NodeHolder { node: &$node_a }, MessageSendEvent::SendRevokeAndACK, $node_b.get_our_node_id()));
@@ -8850,7 +8850,7 @@ pub mod bench {
88508850
_ => panic!("Failed to generate claim event"),
88518851
}
88528852

8853-
let (raa, cs) = get_revoke_commit_msgs!(NodeHolder { node: &$node_a }, $node_b.get_our_node_id());
8853+
let (raa, cs) = do_get_revoke_commit_msgs!(NodeHolder { node: &$node_a }, &$node_b.get_our_node_id());
88548854
$node_b.handle_revoke_and_ack(&$node_a.get_our_node_id(), &raa);
88558855
$node_b.handle_commitment_signed(&$node_a.get_our_node_id(), &cs);
88568856
$node_a.handle_revoke_and_ack(&$node_b.get_our_node_id(), &get_event_msg!(NodeHolder { node: &$node_b }, MessageSendEvent::SendRevokeAndACK, $node_a.get_our_node_id()));

lightning/src/ln/functional_test_utils.rs

Lines changed: 36 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -482,33 +482,46 @@ pub fn create_chan_between_nodes_with_value<'a, 'b, 'c, 'd>(node_a: &'a Node<'b,
482482
(announcement, as_update, bs_update, channel_id, tx)
483483
}
484484

485+
/// Gets an RAA and CS which were sent in response to a commitment update
486+
///
487+
/// Should only be used directly when the `$node` is not actually a [`Node`].
488+
macro_rules! do_get_revoke_commit_msgs {
489+
($node: expr, $recipient: expr) => { {
490+
let events = $node.node.get_and_clear_pending_msg_events();
491+
assert_eq!(events.len(), 2);
492+
(match events[0] {
493+
MessageSendEvent::SendRevokeAndACK { ref node_id, ref msg } => {
494+
assert_eq!(node_id, $recipient);
495+
(*msg).clone()
496+
},
497+
_ => panic!("Unexpected event"),
498+
}, match events[1] {
499+
MessageSendEvent::UpdateHTLCs { ref node_id, ref updates } => {
500+
assert_eq!(node_id, $recipient);
501+
assert!(updates.update_add_htlcs.is_empty());
502+
assert!(updates.update_fulfill_htlcs.is_empty());
503+
assert!(updates.update_fail_htlcs.is_empty());
504+
assert!(updates.update_fail_malformed_htlcs.is_empty());
505+
assert!(updates.update_fee.is_none());
506+
updates.commitment_signed.clone()
507+
},
508+
_ => panic!("Unexpected event"),
509+
})
510+
} }
511+
}
512+
513+
/// Gets an RAA and CS which were sent in response to a commitment update
514+
pub fn get_revoke_commit_msgs(node: &Node, recipient: &PublicKey) -> (msgs::RevokeAndACK, msgs::CommitmentSigned) {
515+
do_get_revoke_commit_msgs!(node, recipient)
516+
}
517+
485518
#[macro_export]
486519
/// Gets an RAA and CS which were sent in response to a commitment update
520+
///
521+
/// Don't use this, use the identically-named function instead.
487522
macro_rules! get_revoke_commit_msgs {
488523
($node: expr, $node_id: expr) => {
489-
{
490-
use $crate::util::events::MessageSendEvent;
491-
let events = $node.node.get_and_clear_pending_msg_events();
492-
assert_eq!(events.len(), 2);
493-
(match events[0] {
494-
MessageSendEvent::SendRevokeAndACK { ref node_id, ref msg } => {
495-
assert_eq!(*node_id, $node_id);
496-
(*msg).clone()
497-
},
498-
_ => panic!("Unexpected event"),
499-
}, match events[1] {
500-
MessageSendEvent::UpdateHTLCs { ref node_id, ref updates } => {
501-
assert_eq!(*node_id, $node_id);
502-
assert!(updates.update_add_htlcs.is_empty());
503-
assert!(updates.update_fulfill_htlcs.is_empty());
504-
assert!(updates.update_fail_htlcs.is_empty());
505-
assert!(updates.update_fail_malformed_htlcs.is_empty());
506-
assert!(updates.update_fee.is_none());
507-
updates.commitment_signed.clone()
508-
},
509-
_ => panic!("Unexpected event"),
510-
})
511-
}
524+
$crate::ln::functional_test_utils::get_revoke_commit_msgs(&$node, &$node_id)
512525
}
513526
}
514527

0 commit comments

Comments
 (0)