@@ -1195,26 +1195,28 @@ pub(crate) struct WithChannelMonitor<'a, L: Deref> where L::Target: Logger {
11951195 logger : & ' a L ,
11961196 peer_id : Option < PublicKey > ,
11971197 channel_id : Option < ChannelId > ,
1198+ payment_hash : Option < PaymentHash > ,
11981199}
11991200
12001201impl < ' a , L : Deref > Logger for WithChannelMonitor < ' a , L > where L :: Target : Logger {
12011202 fn log ( & self , mut record : Record ) {
12021203 record. peer_id = self . peer_id ;
12031204 record. channel_id = self . channel_id ;
1205+ record. payment_hash = self . payment_hash ;
12041206 self . logger . log ( record)
12051207 }
12061208}
12071209
12081210impl < ' a , L : Deref > WithChannelMonitor < ' a , L > where L :: Target : Logger {
1209- pub ( crate ) fn from < S : WriteableEcdsaChannelSigner > ( logger : & ' a L , monitor : & ChannelMonitor < S > ) -> Self {
1210- Self :: from_impl ( logger, & * monitor. inner . lock ( ) . unwrap ( ) )
1211+ pub ( crate ) fn from < S : WriteableEcdsaChannelSigner > ( logger : & ' a L , monitor : & ChannelMonitor < S > , payment_hash : Option < PaymentHash > ) -> Self {
1212+ Self :: from_impl ( logger, & * monitor. inner . lock ( ) . unwrap ( ) , payment_hash )
12111213 }
12121214
1213- pub ( crate ) fn from_impl < S : WriteableEcdsaChannelSigner > ( logger : & ' a L , monitor_impl : & ChannelMonitorImpl < S > ) -> Self {
1215+ pub ( crate ) fn from_impl < S : WriteableEcdsaChannelSigner > ( logger : & ' a L , monitor_impl : & ChannelMonitorImpl < S > , payment_hash : Option < PaymentHash > ) -> Self {
12141216 let peer_id = monitor_impl. counterparty_node_id ;
12151217 let channel_id = Some ( monitor_impl. channel_id ( ) ) ;
12161218 WithChannelMonitor {
1217- logger, peer_id, channel_id,
1219+ logger, peer_id, channel_id, payment_hash ,
12181220 }
12191221 }
12201222}
@@ -1356,7 +1358,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
13561358 where L :: Target : Logger
13571359 {
13581360 let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1359- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1361+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
13601362 inner. provide_initial_counterparty_commitment_tx ( txid,
13611363 htlc_outputs, commitment_number, their_cur_per_commitment_point, feerate_per_kw,
13621364 to_broadcaster_value_sat, to_countersignatory_value_sat, & logger) ;
@@ -1376,7 +1378,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
13761378 logger : & L ,
13771379 ) where L :: Target : Logger {
13781380 let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1379- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1381+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
13801382 inner. provide_latest_counterparty_commitment_tx (
13811383 txid, htlc_outputs, commitment_number, their_per_commitment_point, & logger)
13821384 }
@@ -1404,7 +1406,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
14041406 L :: Target : Logger ,
14051407 {
14061408 let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1407- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1409+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, Some ( * payment_hash ) ) ;
14081410 inner. provide_payment_preimage (
14091411 payment_hash, payment_preimage, broadcaster, fee_estimator, & logger)
14101412 }
@@ -1426,7 +1428,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
14261428 L :: Target : Logger ,
14271429 {
14281430 let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1429- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1431+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
14301432 inner. update_monitor ( updates, broadcaster, fee_estimator, & logger)
14311433 }
14321434
@@ -1461,7 +1463,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
14611463 F :: Target : chain:: Filter , L :: Target : Logger ,
14621464 {
14631465 let lock = self . inner . lock ( ) . unwrap ( ) ;
1464- let logger = WithChannelMonitor :: from_impl ( logger, & * lock) ;
1466+ let logger = WithChannelMonitor :: from_impl ( logger, & * lock, None ) ;
14651467 log_trace ! ( & logger, "Registering funding outpoint {}" , & lock. get_funding_txo( ) . 0 ) ;
14661468 filter. register_tx ( & lock. get_funding_txo ( ) . 0 . txid , & lock. get_funding_txo ( ) . 1 ) ;
14671469 for ( txid, outputs) in lock. get_outputs_to_watch ( ) . iter ( ) {
@@ -1621,7 +1623,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
16211623 {
16221624 let mut inner = self . inner . lock ( ) . unwrap ( ) ;
16231625 let fee_estimator = LowerBoundedFeeEstimator :: new ( & * * fee_estimator) ;
1624- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1626+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
16251627 inner. queue_latest_holder_commitment_txn_for_broadcast ( broadcaster, & fee_estimator, & logger) ;
16261628 }
16271629
@@ -1632,7 +1634,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
16321634 pub fn unsafe_get_latest_holder_commitment_txn < L : Deref > ( & self , logger : & L ) -> Vec < Transaction >
16331635 where L :: Target : Logger {
16341636 let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1635- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1637+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
16361638 inner. unsafe_get_latest_holder_commitment_txn ( & logger)
16371639 }
16381640
@@ -1662,7 +1664,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
16621664 L :: Target : Logger ,
16631665 {
16641666 let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1665- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1667+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
16661668 inner. block_connected (
16671669 header, txdata, height, broadcaster, fee_estimator, & logger)
16681670 }
@@ -1682,7 +1684,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
16821684 L :: Target : Logger ,
16831685 {
16841686 let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1685- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1687+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
16861688 inner. block_disconnected (
16871689 header, height, broadcaster, fee_estimator, & logger)
16881690 }
@@ -1710,7 +1712,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
17101712 {
17111713 let bounded_fee_estimator = LowerBoundedFeeEstimator :: new ( fee_estimator) ;
17121714 let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1713- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1715+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
17141716 inner. transactions_confirmed (
17151717 header, txdata, height, broadcaster, & bounded_fee_estimator, & logger)
17161718 }
@@ -1734,7 +1736,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
17341736 {
17351737 let bounded_fee_estimator = LowerBoundedFeeEstimator :: new ( fee_estimator) ;
17361738 let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1737- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1739+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
17381740 inner. transaction_unconfirmed (
17391741 txid, broadcaster, & bounded_fee_estimator, & logger
17401742 ) ;
@@ -1762,7 +1764,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
17621764 {
17631765 let bounded_fee_estimator = LowerBoundedFeeEstimator :: new ( fee_estimator) ;
17641766 let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1765- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1767+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
17661768 inner. best_block_updated (
17671769 header, height, broadcaster, & bounded_fee_estimator, & logger
17681770 )
@@ -1802,7 +1804,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
18021804 {
18031805 let fee_estimator = LowerBoundedFeeEstimator :: new ( fee_estimator) ;
18041806 let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1805- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1807+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
18061808 let current_height = inner. best_block . height ;
18071809 inner. onchain_tx_handler . rebroadcast_pending_claims (
18081810 current_height, FeerateStrategy :: HighestOfPreviousOrNew , & broadcaster, & fee_estimator, & logger,
@@ -1821,7 +1823,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
18211823 {
18221824 let fee_estimator = LowerBoundedFeeEstimator :: new ( fee_estimator) ;
18231825 let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1824- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1826+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
18251827 let current_height = inner. best_block . height ;
18261828 inner. onchain_tx_handler . rebroadcast_pending_claims (
18271829 current_height, FeerateStrategy :: RetryPrevious , & broadcaster, & fee_estimator, & logger,
@@ -5260,7 +5262,8 @@ mod tests {
52605262 best_block, dummy_key, channel_id) ;
52615263
52625264 let chan_id = monitor. inner . lock ( ) . unwrap ( ) . channel_id ( ) ;
5263- let context_logger = WithChannelMonitor :: from ( & logger, & monitor) ;
5265+ let payment_hash = PaymentHash ( [ 1 ; 32 ] ) ;
5266+ let context_logger = WithChannelMonitor :: from ( & logger, & monitor, Some ( payment_hash) ) ;
52645267 log_error ! ( context_logger, "This is an error" ) ;
52655268 log_warn ! ( context_logger, "This is an error" ) ;
52665269 log_debug ! ( context_logger, "This is an error" ) ;
0 commit comments