}
}
+pub(crate) struct DebugFundingInfo<'a, T: 'a>(pub &'a Option<(OutPoint, T)>);
+impl<'a, T> std::fmt::Display for DebugFundingInfo<'a, T> {
+ fn fmt(&self, f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> {
+ match self.0.as_ref() {
+ Some(&(ref funding_output, _)) => DebugBytes(&funding_output.to_channel_id()[..]).fmt(f),
+ None => write!(f, "without funding output set"),
+ }
+ }
+}
+macro_rules! log_funding_info {
+ ($key_storage: expr) => {
+ match $key_storage {
+ Storage::Local { ref funding_info, .. } => {
+ ::util::macro_logger::DebugFundingInfo(&funding_info)
+ },
+ Storage::Watchtower { .. } => {
+ ::util::macro_logger::DebugFundingInfo(&None)
+ }
+ }
+ }
+}
+
pub(crate) struct DebugRoute<'a>(pub &'a Route);
impl<'a> std::fmt::Display for DebugRoute<'a> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> {