projects
/
rust-lightning
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
fe3cf29
)
Construct from-message `HTLCFailReason` via a constructor method
author
Matt Corallo
<git@bluematt.me>
Thu, 1 Dec 2022 19:18:16 +0000
(19:18 +0000)
committer
Matt Corallo
<git@bluematt.me>
Thu, 1 Dec 2022 19:18:16 +0000
(19:18 +0000)
lightning/src/ln/channelmanager.rs
patch
|
blob
|
history
diff --git
a/lightning/src/ln/channelmanager.rs
b/lightning/src/ln/channelmanager.rs
index 3b1c9d54eea3e05426d745fd2ffd3bf78183122a..eddb5589e4ffb4e4232ce100c6b818a55f4b6c4f 100644
(file)
--- a/
lightning/src/ln/channelmanager.rs
+++ b/
lightning/src/ln/channelmanager.rs
@@
-309,6
+309,10
@@
impl HTLCFailReason {
Self::Reason { failure_code, data: Vec::new() }
}
Self::Reason { failure_code, data: Vec::new() }
}
+ pub(super) fn from_msg(msg: &msgs::UpdateFailHTLC) -> Self {
+ Self::LightningError { err: msg.reason.clone() }
+ }
+
fn get_encrypted_failure_packet(&self, incoming_packet_shared_secret: &[u8; 32], phantom_shared_secret: &Option<[u8; 32]>) -> msgs::OnionErrorPacket {
match self {
HTLCFailReason::Reason { ref failure_code, ref data } => {
fn get_encrypted_failure_packet(&self, incoming_packet_shared_secret: &[u8; 32], phantom_shared_secret: &Option<[u8; 32]>) -> msgs::OnionErrorPacket {
match self {
HTLCFailReason::Reason { ref failure_code, ref data } => {
@@
-5125,7
+5129,7
@@
impl<M: Deref, T: Deref, K: Deref, F: Deref, L: Deref> ChannelManager<M, T, K, F
if chan.get().get_counterparty_node_id() != *counterparty_node_id {
return Err(MsgHandleErrInternal::send_err_msg_no_close("Got a message for a channel from the wrong node!".to_owned(), msg.channel_id));
}
if chan.get().get_counterparty_node_id() != *counterparty_node_id {
return Err(MsgHandleErrInternal::send_err_msg_no_close("Got a message for a channel from the wrong node!".to_owned(), msg.channel_id));
}
- try_chan_entry!(self, chan.get_mut().update_fail_htlc(&msg, HTLCFailReason::
LightningError { err: msg.reason.clone() }
), chan);
+ try_chan_entry!(self, chan.get_mut().update_fail_htlc(&msg, HTLCFailReason::
from_msg(msg)
), chan);
},
hash_map::Entry::Vacant(_) => return Err(MsgHandleErrInternal::send_err_msg_no_close("Failed to find corresponding channel".to_owned(), msg.channel_id))
}
},
hash_map::Entry::Vacant(_) => return Err(MsgHandleErrInternal::send_err_msg_no_close("Failed to find corresponding channel".to_owned(), msg.channel_id))
}