From: Matt Corallo Date: Mon, 17 Dec 2018 19:46:17 +0000 (-0500) Subject: Add TODO noting confusion over |20 (channel_disabled) definition X-Git-Tag: v0.0.12~254^2~5 X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=commitdiff_plain;h=7cfb09c79752ec68dd36af36689e3f75834e39d6;p=rust-lightning Add TODO noting confusion over |20 (channel_disabled) definition --- diff --git a/src/ln/channelmanager.rs b/src/ln/channelmanager.rs index 4fe2a1c7c..b8eef0339 100644 --- a/src/ln/channelmanager.rs +++ b/src/ln/channelmanager.rs @@ -2087,6 +2087,11 @@ impl ChannelManager { channel_id: msg.channel_id, htlc_id: msg.htlc_id, reason: if let Ok(update) = chan_update { + // TODO: Note that |20 is defined as "channel FROM the processing + // node has been disabled" (emphasis mine), which seems to imply + // that we can't return |20 for an inbound channel being disabled. + // This probably needs a spec update but should definitely be + // allowed. ChannelManager::build_first_hop_failure_packet(&incoming_shared_secret, 0x1000|20, &{ let mut res = Vec::with_capacity(8 + 128); res.extend_from_slice(&byte_utils::be16_to_array(update.contents.flags));