Clarify docs on ShutdownScript::new_witness_program somewhat
[rust-lightning] / lightning / src / ln / script.rs
index a123de741f043c3459b5b6acd0d3d47f6bf72ae4..4e81d76ad670d18b2c8b172d4acd94ea62c64607 100644 (file)
@@ -86,7 +86,10 @@ impl ShutdownScript {
                Self(ShutdownScriptImpl::Bolt2(Script::new_v0_wsh(script_hash)))
        }
 
-       /// Generates a P2WSH script pubkey from the given segwit version and program.
+       /// Generates a witness script pubkey from the given segwit version and program.
+       ///
+       /// Note for version-zero witness scripts you must use [`ShutdownScript::new_p2wpkh`] or
+       /// [`ShutdownScript::new_p2wsh`] instead.
        ///
        /// # Errors
        ///
@@ -163,6 +166,15 @@ impl Into<Script> for ShutdownScript {
        }
 }
 
+impl core::fmt::Display for ShutdownScript{
+       fn fmt(&self, f: &mut core::fmt::Formatter) -> core::fmt::Result {
+               match &self.0 {
+                       ShutdownScriptImpl::Legacy(_) => self.clone().into_inner().fmt(f),
+                       ShutdownScriptImpl::Bolt2(script) => script.fmt(f),
+               }
+       }
+}
+
 #[cfg(test)]
 mod shutdown_script_tests {
        use super::ShutdownScript;