@@ -210,9 +210,8 @@ pub struct BlindedForward {
210
210
impl PendingHTLCRouting {
211
211
// Used to override the onion failure code and data if the HTLC is blinded.
212
212
fn blinded_failure(&self) -> Option<BlindedFailure> {
213
- // TODO: needs update when we support forwarding blinded HTLCs as non-intro node
214
213
match self {
215
- Self::Forward { blinded: Some(_ ), .. } => Some(BlindedFailure::FromIntroductionNode ),
214
+ Self::Forward { blinded: Some(BlindedForward { failure, .. } ), .. } => Some(*failure ),
216
215
Self::Receive { requires_blinded_error: true, .. } => Some(BlindedFailure::FromBlindedNode),
217
216
_ => None,
218
217
}
@@ -3031,8 +3030,9 @@ where
3031
3030
3032
3031
let is_intro_node_forward = match next_hop {
3033
3032
onion_utils::Hop::Forward {
3034
- // TODO: update this when we support blinded forwarding as non-intro node
3035
- next_hop_data: msgs::InboundOnionPayload::BlindedForward { .. }, ..
3033
+ next_hop_data: msgs::InboundOnionPayload::BlindedForward {
3034
+ intro_node_blinding_point: Some(_), ..
3035
+ }, ..
3036
3036
} => true,
3037
3037
_ => false,
3038
3038
};
@@ -4377,7 +4377,7 @@ where
4377
4377
incoming_packet_shared_secret: incoming_shared_secret,
4378
4378
// Phantom payments are only PendingHTLCRouting::Receive.
4379
4379
phantom_shared_secret: None,
4380
- blinded_failure: blinded.map(|_| BlindedFailure::FromIntroductionNode ),
4380
+ blinded_failure: blinded.map(|b| b.failure ),
4381
4381
});
4382
4382
let next_blinding_point = blinded.and_then(|b| {
4383
4383
let encrypted_tlvs_ss = self.node_signer.ecdh(
0 commit comments