X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Futil%2Fmacro_logger.rs;h=fb38e347c2adec973351d0d4f4cc6204781630e5;hb=f0bcb7dba0360f04afacfff63ec2598d39bddc5f;hp=465126fa25062fd103a630b167c927c2e6fafe47;hpb=05234038878531196b2fc0ab13b95b7671ecb524;p=rust-lightning diff --git a/src/util/macro_logger.rs b/src/util/macro_logger.rs index 465126fa..fb38e347 100644 --- a/src/util/macro_logger.rs +++ b/src/util/macro_logger.rs @@ -22,7 +22,7 @@ macro_rules! log_pubkey { } } -pub(crate) struct DebugBytes<'a>(pub &'a [u8; 32]); +pub(crate) struct DebugBytes<'a>(pub &'a [u8]); impl<'a> std::fmt::Display for DebugBytes<'a> { fn fmt(&self, f: &mut std::fmt::Formatter) -> Result<(), std::fmt::Error> { for i in self.0 { @@ -52,17 +52,37 @@ macro_rules! log_funding_channel_id { } } -#[allow(dead_code)] +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> { - for (i,h) in self.0.hops.iter().enumerate() { - write!(f, "Hop {}\n pubkey {}\n short_channel_id {}\n fee_msat {}\n cltv_expiry_delta {}\n\n", i, log_pubkey!(h.pubkey), h.short_channel_id, h.fee_msat, h.cltv_expiry_delta)?; + for h in self.0.hops.iter() { + write!(f, "node_id: {}, short_channel_id: {}, fee_msat: {}, cltv_expiry_delta: {}\n", log_pubkey!(h.pubkey), h.short_channel_id, h.fee_msat, h.cltv_expiry_delta)?; } Ok(()) } } -#[allow(unused_macros)] macro_rules! log_route { ($obj: expr) => { ::util::macro_logger::DebugRoute(&$obj)