@@ -397,11 +397,7 @@ where
397
397
pub fn new (
398
398
kv_store : K , logger : L , maximum_pending_updates : u64 , entropy_source : ES ,
399
399
signer_provider : SP ,
400
- ) -> Self
401
- where
402
- ES :: Target : EntropySource + Sized ,
403
- SP :: Target : SignerProvider + Sized ,
404
- {
400
+ ) -> Self {
405
401
MonitorUpdatingPersister {
406
402
kv_store,
407
403
logger,
@@ -416,12 +412,10 @@ where
416
412
/// It is extremely important that your [`KVStore::read`] implementation uses the
417
413
/// [`io::ErrorKind::NotFound`] variant correctly. For more information, please see the
418
414
/// documentation for [`MonitorUpdatingPersister`].
419
- pub fn read_all_channel_monitors_with_updates < B : Deref , F : Deref + Clone > (
420
- & self , broadcaster : B , fee_estimator : F ,
415
+ pub fn read_all_channel_monitors_with_updates < B : Deref , F : Deref > (
416
+ & self , broadcaster : & B , fee_estimator : & F ,
421
417
) -> Result < Vec < ( BlockHash , ChannelMonitor < <SP :: Target as SignerProvider >:: Signer > ) > , io:: Error >
422
418
where
423
- ES :: Target : EntropySource + Sized ,
424
- SP :: Target : SignerProvider + Sized ,
425
419
B :: Target : BroadcasterInterface ,
426
420
F :: Target : FeeEstimator ,
427
421
{
@@ -432,8 +426,8 @@ where
432
426
let mut res = Vec :: with_capacity ( monitor_list. len ( ) ) ;
433
427
for monitor_key in monitor_list {
434
428
res. push ( self . read_channel_monitor_with_updates (
435
- & broadcaster,
436
- fee_estimator. clone ( ) ,
429
+ broadcaster,
430
+ fee_estimator,
437
431
monitor_key,
438
432
) ?)
439
433
}
@@ -457,12 +451,10 @@ where
457
451
///
458
452
/// Loading a large number of monitors will be faster if done in parallel. You can use this
459
453
/// function to accomplish this. Take care to limit the number of parallel readers.
460
- pub fn read_channel_monitor_with_updates < B : Deref , F : Deref + Clone > (
461
- & self , broadcaster : & B , fee_estimator : F , monitor_key : String ,
454
+ pub fn read_channel_monitor_with_updates < B : Deref , F : Deref > (
455
+ & self , broadcaster : & B , fee_estimator : & F , monitor_key : String ,
462
456
) -> Result < ( BlockHash , ChannelMonitor < <SP :: Target as SignerProvider >:: Signer > ) , io:: Error >
463
457
where
464
- ES :: Target : EntropySource + Sized ,
465
- SP :: Target : SignerProvider + Sized ,
466
458
B :: Target : BroadcasterInterface ,
467
459
F :: Target : FeeEstimator ,
468
460
{
@@ -484,7 +476,7 @@ where
484
476
Err ( err) => return Err ( err) ,
485
477
} ;
486
478
487
- monitor. update_monitor ( & update, broadcaster, fee_estimator. clone ( ) , & self . logger )
479
+ monitor. update_monitor ( & update, broadcaster, fee_estimator, & self . logger )
488
480
. map_err ( |e| {
489
481
log_error ! (
490
482
self . logger,
@@ -949,17 +941,17 @@ mod tests {
949
941
// Check that the persisted channel data is empty before any channels are
950
942
// open.
951
943
let mut persisted_chan_data_0 = persister_0. read_all_channel_monitors_with_updates (
952
- broadcaster_0, & chanmon_cfgs[ 0 ] . fee_estimator ) . unwrap ( ) ;
944
+ & broadcaster_0, & & chanmon_cfgs[ 0 ] . fee_estimator ) . unwrap ( ) ;
953
945
assert_eq ! ( persisted_chan_data_0. len( ) , 0 ) ;
954
946
let mut persisted_chan_data_1 = persister_1. read_all_channel_monitors_with_updates (
955
- broadcaster_1, & chanmon_cfgs[ 1 ] . fee_estimator ) . unwrap ( ) ;
947
+ & broadcaster_1, & & chanmon_cfgs[ 1 ] . fee_estimator ) . unwrap ( ) ;
956
948
assert_eq ! ( persisted_chan_data_1. len( ) , 0 ) ;
957
949
958
950
// Helper to make sure the channel is on the expected update ID.
959
951
macro_rules! check_persisted_data {
960
952
( $expected_update_id: expr) => {
961
953
persisted_chan_data_0 = persister_0. read_all_channel_monitors_with_updates(
962
- broadcaster_0, & chanmon_cfgs[ 0 ] . fee_estimator) . unwrap( ) ;
954
+ & broadcaster_0, & &chanmon_cfgs[ 0 ] . fee_estimator) . unwrap( ) ;
963
955
// check that we stored only one monitor
964
956
assert_eq!( persisted_chan_data_0. len( ) , 1 ) ;
965
957
for ( _, mon) in persisted_chan_data_0. iter( ) {
@@ -978,7 +970,7 @@ mod tests {
978
970
}
979
971
}
980
972
persisted_chan_data_1 = persister_1. read_all_channel_monitors_with_updates(
981
- broadcaster_1, & chanmon_cfgs[ 1 ] . fee_estimator) . unwrap( ) ;
973
+ & broadcaster_1, & &chanmon_cfgs[ 1 ] . fee_estimator) . unwrap( ) ;
982
974
assert_eq!( persisted_chan_data_1. len( ) , 1 ) ;
983
975
for ( _, mon) in persisted_chan_data_1. iter( ) {
984
976
assert_eq!( mon. get_latest_update_id( ) , $expected_update_id) ;
@@ -1043,7 +1035,7 @@ mod tests {
1043
1035
check_persisted_data ! ( CLOSED_CHANNEL_UPDATE_ID ) ;
1044
1036
1045
1037
// Make sure the expected number of stale updates is present.
1046
- let persisted_chan_data = persister_0. read_all_channel_monitors_with_updates ( broadcaster_0, & chanmon_cfgs[ 0 ] . fee_estimator ) . unwrap ( ) ;
1038
+ let persisted_chan_data = persister_0. read_all_channel_monitors_with_updates ( & broadcaster_0, & & chanmon_cfgs[ 0 ] . fee_estimator ) . unwrap ( ) ;
1047
1039
let ( _, monitor) = & persisted_chan_data[ 0 ] ;
1048
1040
let monitor_name = MonitorName :: from ( monitor. get_funding_txo ( ) . 0 ) ;
1049
1041
// The channel should have 0 updates, as it wrote a full monitor and consolidated.
@@ -1151,7 +1143,7 @@ mod tests {
1151
1143
1152
1144
// Check that the persisted channel data is empty before any channels are
1153
1145
// open.
1154
- let persisted_chan_data = persister_0. read_all_channel_monitors_with_updates ( broadcaster_0, & chanmon_cfgs[ 0 ] . fee_estimator ) . unwrap ( ) ;
1146
+ let persisted_chan_data = persister_0. read_all_channel_monitors_with_updates ( & broadcaster_0, & & chanmon_cfgs[ 0 ] . fee_estimator ) . unwrap ( ) ;
1155
1147
assert_eq ! ( persisted_chan_data. len( ) , 0 ) ;
1156
1148
1157
1149
// Create some initial channel
@@ -1162,7 +1154,7 @@ mod tests {
1162
1154
send_payment ( & nodes[ 1 ] , & vec ! [ & nodes[ 0 ] ] [ ..] , 4_000_000 ) ;
1163
1155
1164
1156
// Get the monitor and make a fake stale update at update_id=1 (lowest height of an update possible)
1165
- let persisted_chan_data = persister_0. read_all_channel_monitors_with_updates ( broadcaster_0, & chanmon_cfgs[ 0 ] . fee_estimator ) . unwrap ( ) ;
1157
+ let persisted_chan_data = persister_0. read_all_channel_monitors_with_updates ( & broadcaster_0, & & chanmon_cfgs[ 0 ] . fee_estimator ) . unwrap ( ) ;
1166
1158
let ( _, monitor) = & persisted_chan_data[ 0 ] ;
1167
1159
let monitor_name = MonitorName :: from ( monitor. get_funding_txo ( ) . 0 ) ;
1168
1160
persister_0
0 commit comments