From 8cad2ffa9b40704721089cb564d331e684c38052 Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Thu, 6 Sep 2018 19:12:32 -0400 Subject: [PATCH] Sync get_update_fail_htlc, get_update_fulfill_htlc state err result Both get_update_fail_htlc and get_update_fulfill_htlc should never be called before any HTLC could have been accepted (ie pre-ChannelFunded) nor should they ever be called post-ShutdownComplete as the Channel object should be destroyed at that point. Previously get_update_fulfill_htlc would panic, but get_update_fail_htlc would return an Err. For now make them both panic but we can revisit this if we want to have fewer panics in the future. --- src/ln/channel.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ln/channel.rs b/src/ln/channel.rs index d620ff4f..77bd7014 100644 --- a/src/ln/channel.rs +++ b/src/ln/channel.rs @@ -1094,7 +1094,7 @@ impl Channel { pub fn get_update_fail_htlc(&mut self, payment_hash_arg: &[u8; 32], err_packet: msgs::OnionErrorPacket) -> Result, HandleError> { if (self.channel_state & (ChannelState::ChannelFunded as u32)) != (ChannelState::ChannelFunded as u32) { - return Err(HandleError{err: "Was asked to fail an HTLC when channel was not in an operational state", action: None}); + panic!("Was asked to fail an HTLC when channel was not in an operational state"); } assert_eq!(self.channel_state & ChannelState::ShutdownComplete as u32, 0); -- 2.30.2