@@ -1190,26 +1190,28 @@ pub(crate) struct WithChannelMonitor<'a, L: Deref> where L::Target: Logger {
1190
1190
logger : & ' a L ,
1191
1191
peer_id : Option < PublicKey > ,
1192
1192
channel_id : Option < ChannelId > ,
1193
+ payment_hash : Option < PaymentHash > ,
1193
1194
}
1194
1195
1195
1196
impl < ' a , L : Deref > Logger for WithChannelMonitor < ' a , L > where L :: Target : Logger {
1196
1197
fn log ( & self , mut record : Record ) {
1197
1198
record. peer_id = self . peer_id ;
1198
1199
record. channel_id = self . channel_id ;
1200
+ record. payment_hash = self . payment_hash ;
1199
1201
self . logger . log ( record)
1200
1202
}
1201
1203
}
1202
1204
1203
1205
impl < ' 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 )
1206
1208
}
1207
1209
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 {
1209
1211
let peer_id = monitor_impl. counterparty_node_id ;
1210
1212
let channel_id = Some ( monitor_impl. channel_id ( ) ) ;
1211
1213
WithChannelMonitor {
1212
- logger, peer_id, channel_id,
1214
+ logger, peer_id, channel_id, payment_hash ,
1213
1215
}
1214
1216
}
1215
1217
}
@@ -1350,7 +1352,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1350
1352
where L :: Target : Logger
1351
1353
{
1352
1354
let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1353
- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1355
+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
1354
1356
inner. provide_initial_counterparty_commitment_tx ( txid,
1355
1357
htlc_outputs, commitment_number, their_cur_per_commitment_point, feerate_per_kw,
1356
1358
to_broadcaster_value_sat, to_countersignatory_value_sat, & logger) ;
@@ -1370,7 +1372,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1370
1372
logger : & L ,
1371
1373
) where L :: Target : Logger {
1372
1374
let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1373
- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1375
+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
1374
1376
inner. provide_latest_counterparty_commitment_tx (
1375
1377
txid, htlc_outputs, commitment_number, their_per_commitment_point, & logger)
1376
1378
}
@@ -1398,7 +1400,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1398
1400
L :: Target : Logger ,
1399
1401
{
1400
1402
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 ) ) ;
1402
1404
inner. provide_payment_preimage (
1403
1405
payment_hash, payment_preimage, broadcaster, fee_estimator, & logger)
1404
1406
}
@@ -1420,7 +1422,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1420
1422
L :: Target : Logger ,
1421
1423
{
1422
1424
let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1423
- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1425
+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
1424
1426
inner. update_monitor ( updates, broadcaster, fee_estimator, & logger)
1425
1427
}
1426
1428
@@ -1455,7 +1457,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1455
1457
F :: Target : chain:: Filter , L :: Target : Logger ,
1456
1458
{
1457
1459
let lock = self . inner . lock ( ) . unwrap ( ) ;
1458
- let logger = WithChannelMonitor :: from_impl ( logger, & * lock) ;
1460
+ let logger = WithChannelMonitor :: from_impl ( logger, & * lock, None ) ;
1459
1461
log_trace ! ( & logger, "Registering funding outpoint {}" , & lock. get_funding_txo( ) . 0 ) ;
1460
1462
filter. register_tx ( & lock. get_funding_txo ( ) . 0 . txid , & lock. get_funding_txo ( ) . 1 ) ;
1461
1463
for ( txid, outputs) in lock. get_outputs_to_watch ( ) . iter ( ) {
@@ -1615,7 +1617,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1615
1617
{
1616
1618
let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1617
1619
let fee_estimator = LowerBoundedFeeEstimator :: new ( & * * fee_estimator) ;
1618
- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1620
+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
1619
1621
inner. queue_latest_holder_commitment_txn_for_broadcast ( broadcaster, & fee_estimator, & logger) ;
1620
1622
}
1621
1623
@@ -1626,7 +1628,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1626
1628
pub fn unsafe_get_latest_holder_commitment_txn < L : Deref > ( & self , logger : & L ) -> Vec < Transaction >
1627
1629
where L :: Target : Logger {
1628
1630
let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1629
- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1631
+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
1630
1632
inner. unsafe_get_latest_holder_commitment_txn ( & logger)
1631
1633
}
1632
1634
@@ -1656,7 +1658,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1656
1658
L :: Target : Logger ,
1657
1659
{
1658
1660
let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1659
- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1661
+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
1660
1662
inner. block_connected (
1661
1663
header, txdata, height, broadcaster, fee_estimator, & logger)
1662
1664
}
@@ -1676,7 +1678,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1676
1678
L :: Target : Logger ,
1677
1679
{
1678
1680
let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1679
- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1681
+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
1680
1682
inner. block_disconnected (
1681
1683
header, height, broadcaster, fee_estimator, & logger)
1682
1684
}
@@ -1704,7 +1706,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1704
1706
{
1705
1707
let bounded_fee_estimator = LowerBoundedFeeEstimator :: new ( fee_estimator) ;
1706
1708
let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1707
- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1709
+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
1708
1710
inner. transactions_confirmed (
1709
1711
header, txdata, height, broadcaster, & bounded_fee_estimator, & logger)
1710
1712
}
@@ -1728,7 +1730,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1728
1730
{
1729
1731
let bounded_fee_estimator = LowerBoundedFeeEstimator :: new ( fee_estimator) ;
1730
1732
let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1731
- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1733
+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
1732
1734
inner. transaction_unconfirmed (
1733
1735
txid, broadcaster, & bounded_fee_estimator, & logger
1734
1736
) ;
@@ -1756,7 +1758,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1756
1758
{
1757
1759
let bounded_fee_estimator = LowerBoundedFeeEstimator :: new ( fee_estimator) ;
1758
1760
let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1759
- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1761
+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
1760
1762
inner. best_block_updated (
1761
1763
header, height, broadcaster, & bounded_fee_estimator, & logger
1762
1764
)
@@ -1796,7 +1798,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1796
1798
{
1797
1799
let fee_estimator = LowerBoundedFeeEstimator :: new ( fee_estimator) ;
1798
1800
let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1799
- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1801
+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
1800
1802
let current_height = inner. best_block . height ;
1801
1803
inner. onchain_tx_handler . rebroadcast_pending_claims (
1802
1804
current_height, FeerateStrategy :: HighestOfPreviousOrNew , & broadcaster, & fee_estimator, & logger,
@@ -1815,7 +1817,7 @@ impl<Signer: WriteableEcdsaChannelSigner> ChannelMonitor<Signer> {
1815
1817
{
1816
1818
let fee_estimator = LowerBoundedFeeEstimator :: new ( fee_estimator) ;
1817
1819
let mut inner = self . inner . lock ( ) . unwrap ( ) ;
1818
- let logger = WithChannelMonitor :: from_impl ( logger, & * inner) ;
1820
+ let logger = WithChannelMonitor :: from_impl ( logger, & * inner, None ) ;
1819
1821
let current_height = inner. best_block . height ;
1820
1822
inner. onchain_tx_handler . rebroadcast_pending_claims (
1821
1823
current_height, FeerateStrategy :: RetryPrevious , & broadcaster, & fee_estimator, & logger,
@@ -5199,7 +5201,8 @@ mod tests {
5199
5201
best_block, dummy_key, channel_id) ;
5200
5202
5201
5203
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) ) ;
5203
5206
log_error ! ( context_logger, "This is an error" ) ;
5204
5207
log_warn ! ( context_logger, "This is an error" ) ;
5205
5208
log_debug ! ( context_logger, "This is an error" ) ;
0 commit comments