@@ -1190,26 +1190,28 @@ pub(crate) struct WithChannelMonitor<'a, L: Deref> where L::Target: Logger {
11901190 logger : & ' a L ,
11911191 peer_id : Option < PublicKey > ,
11921192 channel_id : Option < ChannelId > ,
1193+ payment_hash : Option < PaymentHash > ,
11931194}
11941195
11951196impl < ' a , L : Deref > Logger for WithChannelMonitor < ' a , L > where L :: Target : Logger {
11961197 fn log ( & self , mut record : Record ) {
11971198 record. peer_id = self . peer_id ;
11981199 record. channel_id = self . channel_id ;
1200+ record. payment_hash = self . payment_hash ;
11991201 self . logger . log ( record)
12001202 }
12011203}
12021204
12031205impl < ' a , L : Deref > WithChannelMonitor < ' a , L > where L :: Target : Logger {
1204- pub ( crate ) fn from < S : WriteableEcdsaChannelSigner > ( logger : & ' a L , monitor : & ChannelMonitor < S > ) -> Self {
1205- Self :: from_impl ( logger, & * monitor. inner . lock ( ) . unwrap ( ) )
1206+ pub ( crate ) fn from < S : WriteableEcdsaChannelSigner > ( logger : & ' a L , monitor : & ChannelMonitor < S > , payment_hash : Option < PaymentHash > ) -> Self {
1207+ Self :: from_impl ( logger, & * monitor. inner . lock ( ) . unwrap ( ) , payment_hash )
12061208 }
12071209
1208- pub ( crate ) fn from_impl < S : WriteableEcdsaChannelSigner > ( logger : & ' a L , monitor_impl : & ChannelMonitorImpl < S > ) -> Self {
1210+ pub ( crate ) fn from_impl < S : WriteableEcdsaChannelSigner > ( logger : & ' a L , monitor_impl : & ChannelMonitorImpl < S > , payment_hash : Option < PaymentHash > ) -> Self {
12091211 let peer_id = monitor_impl. counterparty_node_id ;
12101212 let channel_id = Some ( monitor_impl. channel_id ( ) ) ;
12111213 WithChannelMonitor {
1212- logger, peer_id, channel_id,
1214+ logger, peer_id, channel_id, payment_hash ,
12131215 }
12141216 }
12151217}
@@ -1350,7 +1352,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
13501352 where L :: Target : Logger
13511353 {
13521354 let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1353- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1355+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
13541356 inner. provide_initial_counterparty_commitment_tx ( txid,
13551357 htlc_outputs, commitment_number, their_cur_per_commitment_point, feerate_per_kw,
13561358 to_broadcaster_value_sat, to_countersignatory_value_sat, & logger) ;
@@ -1370,7 +1372,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
13701372 logger : & L ,
13711373 ) where L :: Target : Logger {
13721374 let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1373- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1375+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
13741376 inner. provide_latest_counterparty_commitment_tx (
13751377 txid, htlc_outputs, commitment_number, their_per_commitment_point, & logger)
13761378 }
@@ -1398,7 +1400,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
13981400 L :: Target : Logger ,
13991401 {
14001402 let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1401- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1403+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, Some ( * payment_hash ) ) ;
14021404 inner. provide_payment_preimage (
14031405 payment_hash, payment_preimage, broadcaster, fee_estimator, & logger)
14041406 }
@@ -1420,7 +1422,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
14201422 L :: Target : Logger ,
14211423 {
14221424 let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1423- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1425+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
14241426 inner. update_monitor ( updates, broadcaster, fee_estimator, & logger)
14251427 }
14261428
@@ -1455,7 +1457,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
14551457 F :: Target : chain:: Filter , L :: Target : Logger ,
14561458 {
14571459 let lock = self . inner . lock ( ) . unwrap ( ) ;
1458- let logger = WithChannelMonitor :: from_impl ( logger, & * lock) ;
1460+ let logger = WithChannelMonitor :: from_impl ( logger, & * lock, None ) ;
14591461 log_trace ! ( & logger, "Registering funding outpoint {}" , & lock. get_funding_txo( ) . 0 ) ;
14601462 filter. register_tx ( & lock. get_funding_txo ( ) . 0 . txid , & lock. get_funding_txo ( ) . 1 ) ;
14611463 for ( txid, outputs) in lock. get_outputs_to_watch ( ) . iter ( ) {
@@ -1615,7 +1617,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
16151617 {
16161618 let mut inner = self . inner . lock ( ) . unwrap ( ) ;
16171619 let fee_estimator = LowerBoundedFeeEstimator :: new ( & * * fee_estimator) ;
1618- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1620+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
16191621 inner. queue_latest_holder_commitment_txn_for_broadcast ( broadcaster, & fee_estimator, & logger) ;
16201622 }
16211623
@@ -1626,7 +1628,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
16261628 pub fn unsafe_get_latest_holder_commitment_txn < L : Deref > ( & self , logger : & L ) -> Vec < Transaction >
16271629 where L :: Target : Logger {
16281630 let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1629- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1631+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
16301632 inner. unsafe_get_latest_holder_commitment_txn ( & logger)
16311633 }
16321634
@@ -1656,7 +1658,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
16561658 L :: Target : Logger ,
16571659 {
16581660 let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1659- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1661+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
16601662 inner. block_connected (
16611663 header, txdata, height, broadcaster, fee_estimator, & logger)
16621664 }
@@ -1676,7 +1678,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
16761678 L :: Target : Logger ,
16771679 {
16781680 let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1679- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1681+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
16801682 inner. block_disconnected (
16811683 header, height, broadcaster, fee_estimator, & logger)
16821684 }
@@ -1704,7 +1706,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
17041706 {
17051707 let bounded_fee_estimator = LowerBoundedFeeEstimator :: new ( fee_estimator) ;
17061708 let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1707- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1709+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
17081710 inner. transactions_confirmed (
17091711 header, txdata, height, broadcaster, & bounded_fee_estimator, & logger)
17101712 }
@@ -1728,7 +1730,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
17281730 {
17291731 let bounded_fee_estimator = LowerBoundedFeeEstimator :: new ( fee_estimator) ;
17301732 let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1731- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1733+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
17321734 inner. transaction_unconfirmed (
17331735 txid, broadcaster, & bounded_fee_estimator, & logger
17341736 ) ;
@@ -1756,7 +1758,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
17561758 {
17571759 let bounded_fee_estimator = LowerBoundedFeeEstimator :: new ( fee_estimator) ;
17581760 let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1759- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1761+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
17601762 inner. best_block_updated (
17611763 header, height, broadcaster, & bounded_fee_estimator, & logger
17621764 )
@@ -1796,7 +1798,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
17961798 {
17971799 let fee_estimator = LowerBoundedFeeEstimator :: new ( fee_estimator) ;
17981800 let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1799- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1801+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
18001802 let current_height = inner. best_block . height ;
18011803 inner. onchain_tx_handler . rebroadcast_pending_claims (
18021804 current_height, FeerateStrategy :: HighestOfPreviousOrNew , & broadcaster, & fee_estimator, & logger,
@@ -1815,7 +1817,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
18151817 {
18161818 let fee_estimator = LowerBoundedFeeEstimator :: new ( fee_estimator) ;
18171819 let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1818- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1820+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
18191821 let current_height = inner. best_block . height ;
18201822 inner. onchain_tx_handler . rebroadcast_pending_claims (
18211823 current_height, FeerateStrategy :: RetryPrevious , & broadcaster, & fee_estimator, & logger,
@@ -5199,7 +5201,8 @@ mod tests {
51995201 best_block, dummy_key, channel_id) ;
52005202
52015203 let chan_id = monitor. inner . lock ( ) . unwrap ( ) . channel_id ( ) ;
5202- let context_logger = WithChannelMonitor :: from ( & logger, & monitor) ;
5204+ let payment_hash = PaymentHash ( [ 1 ; 32 ] ) ;
5205+ let context_logger = WithChannelMonitor :: from ( & logger, & monitor, Some ( payment_hash) ) ;
52035206 log_error ! ( context_logger, "This is an error" ) ;
52045207 log_warn ! ( context_logger, "This is an error" ) ;
52055208 log_debug ! ( context_logger, "This is an error" ) ;
0 commit comments