X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Futil%2Fmacro_logger.rs;h=1f68542773e462bd9623f24d27562d0d11339caa;hb=91dc91f0532b45dc0874a4003cc945aff600d991;hp=47ba876dcfa13a64df7c3d59b5f660372e39b7f0;hpb=5ee88ad9f2c9634eb5a1a5131614047028aba757;p=rust-lightning diff --git a/src/util/macro_logger.rs b/src/util/macro_logger.rs index 47ba876d..1f685427 100644 --- a/src/util/macro_logger.rs +++ b/src/util/macro_logger.rs @@ -1,6 +1,6 @@ use chain::transaction::OutPoint; -use bitcoin::util::hash::Sha256dHash; +use bitcoin_hashes::sha256d::Hash as Sha256dHash; use secp256k1::key::PublicKey; use ln::router::Route; @@ -52,6 +52,28 @@ macro_rules! log_funding_channel_id { } } +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> {