@@ -1195,26 +1195,28 @@ pub(crate) struct WithChannelMonitor<'a, L: Deref> where L::Target: Logger {
1195
1195
logger : & ' a L ,
1196
1196
peer_id : Option < PublicKey > ,
1197
1197
channel_id : Option < ChannelId > ,
1198
+ payment_hash : Option < PaymentHash > ,
1198
1199
}
1199
1200
1200
1201
impl < ' a , L : Deref > Logger for WithChannelMonitor < ' a , L > where L :: Target : Logger {
1201
1202
fn log ( & self , mut record : Record ) {
1202
1203
record. peer_id = self . peer_id ;
1203
1204
record. channel_id = self . channel_id ;
1205
+ record. payment_hash = self . payment_hash ;
1204
1206
self . logger . log ( record)
1205
1207
}
1206
1208
}
1207
1209
1208
1210
impl < ' 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 )
1211
1213
}
1212
1214
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 {
1214
1216
let peer_id = monitor_impl. counterparty_node_id ;
1215
1217
let channel_id = Some ( monitor_impl. channel_id ( ) ) ;
1216
1218
WithChannelMonitor {
1217
- logger, peer_id, channel_id,
1219
+ logger, peer_id, channel_id, payment_hash ,
1218
1220
}
1219
1221
}
1220
1222
}
@@ -1356,7 +1358,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1356
1358
where L :: Target : Logger
1357
1359
{
1358
1360
let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1359
- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1361
+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
1360
1362
inner. provide_initial_counterparty_commitment_tx ( txid,
1361
1363
htlc_outputs, commitment_number, their_cur_per_commitment_point, feerate_per_kw,
1362
1364
to_broadcaster_value_sat, to_countersignatory_value_sat, & logger) ;
@@ -1376,7 +1378,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1376
1378
logger : & L ,
1377
1379
) where L :: Target : Logger {
1378
1380
let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1379
- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1381
+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
1380
1382
inner. provide_latest_counterparty_commitment_tx (
1381
1383
txid, htlc_outputs, commitment_number, their_per_commitment_point, & logger)
1382
1384
}
@@ -1404,7 +1406,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1404
1406
L :: Target : Logger ,
1405
1407
{
1406
1408
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 ) ) ;
1408
1410
inner. provide_payment_preimage (
1409
1411
payment_hash, payment_preimage, broadcaster, fee_estimator, & logger)
1410
1412
}
@@ -1426,7 +1428,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1426
1428
L :: Target : Logger ,
1427
1429
{
1428
1430
let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1429
- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1431
+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
1430
1432
inner. update_monitor ( updates, broadcaster, fee_estimator, & logger)
1431
1433
}
1432
1434
@@ -1461,7 +1463,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1461
1463
F :: Target : chain:: Filter , L :: Target : Logger ,
1462
1464
{
1463
1465
let lock = self . inner . lock ( ) . unwrap ( ) ;
1464
- let logger = WithChannelMonitor :: from_impl ( logger, & * lock) ;
1466
+ let logger = WithChannelMonitor :: from_impl ( logger, & * lock, None ) ;
1465
1467
log_trace ! ( & logger, "Registering funding outpoint {}" , & lock. get_funding_txo( ) . 0 ) ;
1466
1468
filter. register_tx ( & lock. get_funding_txo ( ) . 0 . txid , & lock. get_funding_txo ( ) . 1 ) ;
1467
1469
for ( txid, outputs) in lock. get_outputs_to_watch ( ) . iter ( ) {
@@ -1621,7 +1623,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1621
1623
{
1622
1624
let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1623
1625
let fee_estimator = LowerBoundedFeeEstimator :: new ( & * * fee_estimator) ;
1624
- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1626
+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
1625
1627
inner. queue_latest_holder_commitment_txn_for_broadcast ( broadcaster, & fee_estimator, & logger) ;
1626
1628
}
1627
1629
@@ -1632,7 +1634,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1632
1634
pub fn unsafe_get_latest_holder_commitment_txn < L : Deref > ( & self , logger : & L ) -> Vec < Transaction >
1633
1635
where L :: Target : Logger {
1634
1636
let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1635
- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1637
+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
1636
1638
inner. unsafe_get_latest_holder_commitment_txn ( & logger)
1637
1639
}
1638
1640
@@ -1662,7 +1664,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1662
1664
L :: Target : Logger ,
1663
1665
{
1664
1666
let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1665
- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1667
+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
1666
1668
inner. block_connected (
1667
1669
header, txdata, height, broadcaster, fee_estimator, & logger)
1668
1670
}
@@ -1682,7 +1684,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1682
1684
L :: Target : Logger ,
1683
1685
{
1684
1686
let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1685
- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1687
+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
1686
1688
inner. block_disconnected (
1687
1689
header, height, broadcaster, fee_estimator, & logger)
1688
1690
}
@@ -1710,7 +1712,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1710
1712
{
1711
1713
let bounded_fee_estimator = LowerBoundedFeeEstimator :: new ( fee_estimator) ;
1712
1714
let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1713
- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1715
+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
1714
1716
inner. transactions_confirmed (
1715
1717
header, txdata, height, broadcaster, & bounded_fee_estimator, & logger)
1716
1718
}
@@ -1734,7 +1736,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1734
1736
{
1735
1737
let bounded_fee_estimator = LowerBoundedFeeEstimator :: new ( fee_estimator) ;
1736
1738
let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1737
- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1739
+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
1738
1740
inner. transaction_unconfirmed (
1739
1741
txid, broadcaster, & bounded_fee_estimator, & logger
1740
1742
) ;
@@ -1762,7 +1764,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1762
1764
{
1763
1765
let bounded_fee_estimator = LowerBoundedFeeEstimator :: new ( fee_estimator) ;
1764
1766
let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1765
- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1767
+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
1766
1768
inner. best_block_updated (
1767
1769
header, height, broadcaster, & bounded_fee_estimator, & logger
1768
1770
)
@@ -1802,7 +1804,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1802
1804
{
1803
1805
let fee_estimator = LowerBoundedFeeEstimator :: new ( fee_estimator) ;
1804
1806
let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1805
- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1807
+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
1806
1808
let current_height = inner. best_block . height ;
1807
1809
inner. onchain_tx_handler . rebroadcast_pending_claims (
1808
1810
current_height, FeerateStrategy :: HighestOfPreviousOrNew , & broadcaster, & fee_estimator, & logger,
@@ -1821,7 +1823,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1821
1823
{
1822
1824
let fee_estimator = LowerBoundedFeeEstimator :: new ( fee_estimator) ;
1823
1825
let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1824
- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1826
+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
1825
1827
let current_height = inner. best_block . height ;
1826
1828
inner. onchain_tx_handler . rebroadcast_pending_claims (
1827
1829
current_height, FeerateStrategy :: RetryPrevious , & broadcaster, & fee_estimator, & logger,
@@ -5260,7 +5262,8 @@ mod tests {
5260
5262
best_block, dummy_key, channel_id) ;
5261
5263
5262
5264
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) ) ;
5264
5267
log_error ! ( context_logger, "This is an error" ) ;
5265
5268
log_warn ! ( context_logger, "This is an error" ) ;
5266
5269
log_debug ! ( context_logger, "This is an error" ) ;
0 commit comments