From 3f940d35ea7558f8b0d3a14082ce23f02c25bfcd Mon Sep 17 00:00:00 2001 From: Wilmer Paulino Date: Fri, 8 Mar 2024 00:05:14 -0800 Subject: [PATCH] Add is_intro_node_blinded_forward helper for onion_utils::Hop --- lightning/src/ln/channelmanager.rs | 11 +---------- lightning/src/ln/onion_utils.rs | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/lightning/src/ln/channelmanager.rs b/lightning/src/ln/channelmanager.rs index 3afc6109..685caba7 100644 --- a/lightning/src/ln/channelmanager.rs +++ b/lightning/src/ln/channelmanager.rs @@ -3103,15 +3103,6 @@ where msg, &self.node_signer, &self.logger, &self.secp_ctx )?; - let is_intro_node_forward = match next_hop { - onion_utils::Hop::Forward { - next_hop_data: msgs::InboundOnionPayload::BlindedForward { - intro_node_blinding_point: Some(_), .. - }, .. - } => true, - _ => false, - }; - macro_rules! return_err { ($msg: expr, $err_code: expr, $data: expr) => { { @@ -3129,7 +3120,7 @@ where })); } - let (err_code, err_data) = if is_intro_node_forward { + let (err_code, err_data) = if next_hop.is_intro_node_blinded_forward() { (INVALID_ONION_BLINDING, &[0; 32][..]) } else { ($err_code, $data) }; return Err(HTLCFailureMsg::Relay(msgs::UpdateFailHTLC { diff --git a/lightning/src/ln/onion_utils.rs b/lightning/src/ln/onion_utils.rs index 53ef0729..4bb77bb4 100644 --- a/lightning/src/ln/onion_utils.rs +++ b/lightning/src/ln/onion_utils.rs @@ -1054,6 +1054,21 @@ pub(crate) enum Hop { }, } +impl Hop { + pub(crate) fn is_intro_node_blinded_forward(&self) -> bool { + match self { + Self::Forward { + next_hop_data: + msgs::InboundOnionPayload::BlindedForward { + intro_node_blinding_point: Some(_), .. + }, + .. + } => true, + _ => false, + } + } +} + /// Error returned when we fail to decode the onion packet. #[derive(Debug)] pub(crate) enum OnionDecodeErr { -- 2.30.2