#[cfg(not(feature = "fuzztarget"))]
pub(crate) fn new() -> LocalFeatures {
LocalFeatures {
- flags: vec![1 << 4],
+ flags: vec![1 << 5],
}
}
#[cfg(feature = "fuzztarget")]
pub fn new() -> LocalFeatures {
LocalFeatures {
- flags: vec![1 << 4],
+ flags: vec![1 << 5],
}
}
}
#[cfg(test)]
pub(crate) fn unset_upfront_shutdown_script(&mut self) {
- self.flags[0] ^= 1 << 4;
+ self.flags[0] ^= 1 << 5;
}
pub(crate) fn requires_unknown_bits(&self) -> bool {
target_value.append(&mut hex::decode("0000").unwrap());
}
if initial_routing_sync {
- target_value.append(&mut hex::decode("000118").unwrap());
+ target_value.append(&mut hex::decode("000128").unwrap());
} else {
- target_value.append(&mut hex::decode("000110").unwrap());
+ target_value.append(&mut hex::decode("000120").unwrap());
}
assert_eq!(encoded_value, target_value);
}
///
/// This cannot be changed after the initial channel handshake.
pub announced_channel: bool,
- /// Set to commit to an upfront shutdown_pubkey at channel opening. In case of mutual
- /// closing, the other peer will check that our closing transction output is encumbered
- /// by the provided script.
+ /// When set, we commit to an upfront shutdown_pubkey at channel open. If our counterparty
+ /// supports it, they will then enforce the mutual-close output to us matches what we provided
+ /// at intialization, preventing us from closing to an alternate pubkey.
///
- /// We set it by default as this ensure greater security to the user funds.
+ /// This is set to true by default to provide a slight increase in security, though ultimately
+ /// any attacker who is able to take control of a channel can just as easily send the funds via
+ /// lightning payments, so we never require that our counterparties support this option.
///
- /// This cannot be changed after channel opening.
+ /// This cannot be changed after a channel has been initialized.
pub commit_upfront_shutdown_pubkey: bool
}