115115//! # let router = FakeRouter {};
116116//! # let scorer = RefCell::new(FakeScorer {});
117117//! # let logger = FakeLogger {};
118- //! let invoice_payer = InvoicePayer::new(&payer, router, &logger, event_handler, Retry::Attempts(2));
118+ //! let invoice_payer = InvoicePayer::new(&payer, & router, &logger, event_handler, Retry::Attempts(2));
119119//!
120120//! let invoice = "...";
121121//! if let Ok(invoice) = invoice.parse::<Invoice>() {
@@ -184,12 +184,13 @@ mod sealed {
184184/// (C-not exported) generally all users should use the [`InvoicePayer`] type alias.
185185pub struct InvoicePayerUsingTime <
186186 P : Deref ,
187- R : Router ,
187+ R : Deref ,
188188 L : Deref ,
189189 E : sealed:: BaseEventHandler ,
190190 T : Time
191191> where
192192 P :: Target : Payer ,
193+ R :: Target : Router ,
193194 L :: Target : Logger ,
194195{
195196 payer : P ,
@@ -316,10 +317,11 @@ pub enum PaymentError {
316317 Sending ( PaymentSendFailure ) ,
317318}
318319
319- impl < P : Deref , R : Router , L : Deref , E : sealed:: BaseEventHandler , T : Time >
320+ impl < P : Deref , R : Deref , L : Deref , E : sealed:: BaseEventHandler , T : Time >
320321 InvoicePayerUsingTime < P , R , L , E , T >
321322where
322323 P :: Target : Payer ,
324+ R :: Target : Router ,
323325 L :: Target : Logger ,
324326{
325327 /// Creates an invoice payer that retries failed payment paths.
@@ -630,10 +632,11 @@ fn has_expired(route_params: &RouteParameters) -> bool {
630632 } else { false }
631633}
632634
633- impl < P : Deref , R : Router , L : Deref , E : sealed:: BaseEventHandler , T : Time >
635+ impl < P : Deref , R : Deref , L : Deref , E : sealed:: BaseEventHandler , T : Time >
634636 InvoicePayerUsingTime < P , R , L , E , T >
635637where
636638 P :: Target : Payer ,
639+ R :: Target : Router ,
637640 L :: Target : Logger ,
638641{
639642 /// Returns a bool indicating whether the processed event should be forwarded to a user-provided
@@ -697,10 +700,11 @@ where
697700 }
698701}
699702
700- impl < P : Deref , R : Router , L : Deref , E : EventHandler , T : Time >
703+ impl < P : Deref , R : Deref , L : Deref , E : EventHandler , T : Time >
701704 EventHandler for InvoicePayerUsingTime < P , R , L , E , T >
702705where
703706 P :: Target : Payer ,
707+ R :: Target : Router ,
704708 L :: Target : Logger ,
705709{
706710 fn handle_event ( & self , event : Event ) {
@@ -711,10 +715,11 @@ where
711715 }
712716}
713717
714- impl < P : Deref , R : Router , L : Deref , T : Time , F : Future , H : Fn ( Event ) -> F >
718+ impl < P : Deref , R : Deref , L : Deref , T : Time , F : Future , H : Fn ( Event ) -> F >
715719 InvoicePayerUsingTime < P , R , L , H , T >
716720where
717721 P :: Target : Payer ,
722+ R :: Target : Router ,
718723 L :: Target : Logger ,
719724{
720725 /// Intercepts events required by the [`InvoicePayer`] and forwards them to the underlying event
@@ -746,7 +751,6 @@ mod tests {
746751 use secp256k1:: { SecretKey , PublicKey , Secp256k1 } ;
747752 use std:: cell:: RefCell ;
748753 use std:: collections:: VecDeque ;
749- use std:: ops:: DerefMut ;
750754 use std:: time:: { SystemTime , Duration } ;
751755 use crate :: time_utils:: tests:: SinceEpoch ;
752756 use crate :: DEFAULT_EXPIRY_TIME ;
@@ -831,7 +835,7 @@ mod tests {
831835 let router = TestRouter :: new ( TestScorer :: new ( ) ) ;
832836 let logger = TestLogger :: new ( ) ;
833837 let invoice_payer =
834- InvoicePayer :: new ( & payer, router, & logger, event_handler, Retry :: Attempts ( 0 ) ) ;
838+ InvoicePayer :: new ( & payer, & router, & logger, event_handler, Retry :: Attempts ( 0 ) ) ;
835839
836840 let payment_id = Some ( invoice_payer. pay_invoice ( & invoice) . unwrap ( ) ) ;
837841 assert_eq ! ( * payer. attempts. borrow( ) , 1 ) ;
@@ -859,7 +863,7 @@ mod tests {
859863 let router = TestRouter :: new ( TestScorer :: new ( ) ) ;
860864 let logger = TestLogger :: new ( ) ;
861865 let invoice_payer =
862- InvoicePayer :: new ( & payer, router, & logger, event_handler, Retry :: Attempts ( 2 ) ) ;
866+ InvoicePayer :: new ( & payer, & router, & logger, event_handler, Retry :: Attempts ( 2 ) ) ;
863867
864868 let payment_id = Some ( invoice_payer. pay_invoice ( & invoice) . unwrap ( ) ) ;
865869 assert_eq ! ( * payer. attempts. borrow( ) , 1 ) ;
@@ -903,7 +907,7 @@ mod tests {
903907 let router = TestRouter :: new ( TestScorer :: new ( ) ) ;
904908 let logger = TestLogger :: new ( ) ;
905909 let invoice_payer =
906- InvoicePayer :: new ( & payer, router, & logger, event_handler, Retry :: Attempts ( 2 ) ) ;
910+ InvoicePayer :: new ( & payer, & router, & logger, event_handler, Retry :: Attempts ( 2 ) ) ;
907911
908912 assert ! ( invoice_payer. pay_invoice( & invoice) . is_ok( ) ) ;
909913 }
@@ -924,7 +928,7 @@ mod tests {
924928 let router = TestRouter :: new ( TestScorer :: new ( ) ) ;
925929 let logger = TestLogger :: new ( ) ;
926930 let invoice_payer =
927- InvoicePayer :: new ( & payer, router, & logger, event_handler, Retry :: Attempts ( 2 ) ) ;
931+ InvoicePayer :: new ( & payer, & router, & logger, event_handler, Retry :: Attempts ( 2 ) ) ;
928932
929933 let payment_id = Some ( PaymentId ( [ 1 ; 32 ] ) ) ;
930934 let event = Event :: PaymentPathFailed {
@@ -968,7 +972,7 @@ mod tests {
968972 let router = TestRouter :: new ( TestScorer :: new ( ) ) ;
969973 let logger = TestLogger :: new ( ) ;
970974 let invoice_payer =
971- InvoicePayer :: new ( & payer, router, & logger, event_handler, Retry :: Attempts ( 2 ) ) ;
975+ InvoicePayer :: new ( & payer, & router, & logger, event_handler, Retry :: Attempts ( 2 ) ) ;
972976
973977 let payment_id = Some ( invoice_payer. pay_invoice ( & invoice) . unwrap ( ) ) ;
974978 assert_eq ! ( * payer. attempts. borrow( ) , 1 ) ;
@@ -1027,7 +1031,7 @@ mod tests {
10271031 type InvoicePayerUsingSinceEpoch < P , R , L , E > = InvoicePayerUsingTime :: < P , R , L , E , SinceEpoch > ;
10281032
10291033 let invoice_payer =
1030- InvoicePayerUsingSinceEpoch :: new ( & payer, router, & logger, event_handler, Retry :: Timeout ( Duration :: from_secs ( 120 ) ) ) ;
1034+ InvoicePayerUsingSinceEpoch :: new ( & payer, & router, & logger, event_handler, Retry :: Timeout ( Duration :: from_secs ( 120 ) ) ) ;
10311035
10321036 let payment_id = Some ( invoice_payer. pay_invoice ( & invoice) . unwrap ( ) ) ;
10331037 assert_eq ! ( * payer. attempts. borrow( ) , 1 ) ;
@@ -1066,7 +1070,7 @@ mod tests {
10661070 let router = TestRouter :: new ( TestScorer :: new ( ) ) ;
10671071 let logger = TestLogger :: new ( ) ;
10681072 let invoice_payer =
1069- InvoicePayer :: new ( & payer, router, & logger, event_handler, Retry :: Attempts ( 2 ) ) ;
1073+ InvoicePayer :: new ( & payer, & router, & logger, event_handler, Retry :: Attempts ( 2 ) ) ;
10701074
10711075 let payment_id = Some ( invoice_payer. pay_invoice ( & invoice) . unwrap ( ) ) ;
10721076 assert_eq ! ( * payer. attempts. borrow( ) , 1 ) ;
@@ -1097,7 +1101,7 @@ mod tests {
10971101 let router = TestRouter :: new ( TestScorer :: new ( ) ) ;
10981102 let logger = TestLogger :: new ( ) ;
10991103 let invoice_payer =
1100- InvoicePayer :: new ( & payer, router, & logger, event_handler, Retry :: Attempts ( 2 ) ) ;
1104+ InvoicePayer :: new ( & payer, & router, & logger, event_handler, Retry :: Attempts ( 2 ) ) ;
11011105
11021106 let payment_preimage = PaymentPreimage ( [ 1 ; 32 ] ) ;
11031107 let invoice = expired_invoice ( payment_preimage) ;
@@ -1121,7 +1125,7 @@ mod tests {
11211125 let router = TestRouter :: new ( TestScorer :: new ( ) ) ;
11221126 let logger = TestLogger :: new ( ) ;
11231127 let invoice_payer =
1124- InvoicePayer :: new ( & payer, router, & logger, event_handler, Retry :: Attempts ( 2 ) ) ;
1128+ InvoicePayer :: new ( & payer, & router, & logger, event_handler, Retry :: Attempts ( 2 ) ) ;
11251129
11261130 let payment_id = Some ( invoice_payer. pay_invoice ( & invoice) . unwrap ( ) ) ;
11271131 assert_eq ! ( * payer. attempts. borrow( ) , 1 ) ;
@@ -1161,7 +1165,7 @@ mod tests {
11611165 let router = TestRouter :: new ( TestScorer :: new ( ) ) ;
11621166 let logger = TestLogger :: new ( ) ;
11631167 let invoice_payer =
1164- InvoicePayer :: new ( & payer, router, & logger, event_handler, Retry :: Attempts ( 2 ) ) ;
1168+ InvoicePayer :: new ( & payer, & router, & logger, event_handler, Retry :: Attempts ( 2 ) ) ;
11651169
11661170 let payment_id = Some ( invoice_payer. pay_invoice ( & invoice) . unwrap ( ) ) ;
11671171 assert_eq ! ( * payer. attempts. borrow( ) , 1 ) ;
@@ -1194,7 +1198,7 @@ mod tests {
11941198 let router = TestRouter :: new ( TestScorer :: new ( ) ) ;
11951199 let logger = TestLogger :: new ( ) ;
11961200 let invoice_payer =
1197- InvoicePayer :: new ( & payer, router, & logger, event_handler, Retry :: Attempts ( 2 ) ) ;
1201+ InvoicePayer :: new ( & payer, & router, & logger, event_handler, Retry :: Attempts ( 2 ) ) ;
11981202
11991203 let payment_id = Some ( invoice_payer. pay_invoice ( & invoice) . unwrap ( ) ) ;
12001204 assert_eq ! ( * payer. attempts. borrow( ) , 1 ) ;
@@ -1229,7 +1233,7 @@ mod tests {
12291233 let router = TestRouter :: new ( TestScorer :: new ( ) ) ;
12301234 let logger = TestLogger :: new ( ) ;
12311235 let invoice_payer =
1232- InvoicePayer :: new ( & payer, router, & logger, event_handler, Retry :: Attempts ( 0 ) ) ;
1236+ InvoicePayer :: new ( & payer, & router, & logger, event_handler, Retry :: Attempts ( 0 ) ) ;
12331237
12341238 let payment_id = Some ( invoice_payer. pay_invoice ( & invoice) . unwrap ( ) ) ;
12351239
@@ -1267,7 +1271,7 @@ mod tests {
12671271 let router = FailingRouter { } ;
12681272 let logger = TestLogger :: new ( ) ;
12691273 let invoice_payer =
1270- InvoicePayer :: new ( & payer, router, & logger, |_: Event | { } , Retry :: Attempts ( 0 ) ) ;
1274+ InvoicePayer :: new ( & payer, & router, & logger, |_: Event | { } , Retry :: Attempts ( 0 ) ) ;
12711275
12721276 let payment_preimage = PaymentPreimage ( [ 1 ; 32 ] ) ;
12731277 let invoice = invoice ( payment_preimage) ;
@@ -1290,7 +1294,7 @@ mod tests {
12901294 let router = TestRouter :: new ( TestScorer :: new ( ) ) ;
12911295 let logger = TestLogger :: new ( ) ;
12921296 let invoice_payer =
1293- InvoicePayer :: new ( & payer, router, & logger, |_: Event | { } , Retry :: Attempts ( 0 ) ) ;
1297+ InvoicePayer :: new ( & payer, & router, & logger, |_: Event | { } , Retry :: Attempts ( 0 ) ) ;
12941298
12951299 match invoice_payer. pay_invoice ( & invoice) {
12961300 Err ( PaymentError :: Sending ( _) ) => { } ,
@@ -1313,7 +1317,7 @@ mod tests {
13131317 let router = TestRouter :: new ( TestScorer :: new ( ) ) ;
13141318 let logger = TestLogger :: new ( ) ;
13151319 let invoice_payer =
1316- InvoicePayer :: new ( & payer, router, & logger, event_handler, Retry :: Attempts ( 0 ) ) ;
1320+ InvoicePayer :: new ( & payer, & router, & logger, event_handler, Retry :: Attempts ( 0 ) ) ;
13171321
13181322 let payment_id =
13191323 Some ( invoice_payer. pay_zero_value_invoice ( & invoice, final_value_msat) . unwrap ( ) ) ;
@@ -1335,7 +1339,7 @@ mod tests {
13351339 let router = TestRouter :: new ( TestScorer :: new ( ) ) ;
13361340 let logger = TestLogger :: new ( ) ;
13371341 let invoice_payer =
1338- InvoicePayer :: new ( & payer, router, & logger, event_handler, Retry :: Attempts ( 0 ) ) ;
1342+ InvoicePayer :: new ( & payer, & router, & logger, event_handler, Retry :: Attempts ( 0 ) ) ;
13391343
13401344 let payment_preimage = PaymentPreimage ( [ 1 ; 32 ] ) ;
13411345 let invoice = invoice ( payment_preimage) ;
@@ -1365,7 +1369,7 @@ mod tests {
13651369 let router = TestRouter :: new ( TestScorer :: new ( ) ) ;
13661370 let logger = TestLogger :: new ( ) ;
13671371 let invoice_payer =
1368- InvoicePayer :: new ( & payer, router, & logger, event_handler, Retry :: Attempts ( 2 ) ) ;
1372+ InvoicePayer :: new ( & payer, & router, & logger, event_handler, Retry :: Attempts ( 2 ) ) ;
13691373
13701374 let payment_id = Some ( invoice_payer. pay_pubkey (
13711375 pubkey, payment_preimage, final_value_msat, final_cltv_expiry_delta
@@ -1420,7 +1424,7 @@ mod tests {
14201424 let router = TestRouter :: new ( scorer) ;
14211425 let logger = TestLogger :: new ( ) ;
14221426 let invoice_payer =
1423- InvoicePayer :: new ( & payer, router, & logger, event_handler, Retry :: Attempts ( 2 ) ) ;
1427+ InvoicePayer :: new ( & payer, & router, & logger, event_handler, Retry :: Attempts ( 2 ) ) ;
14241428
14251429 let payment_id = Some ( invoice_payer. pay_invoice ( & invoice) . unwrap ( ) ) ;
14261430 let event = Event :: PaymentPathFailed {
@@ -1455,7 +1459,7 @@ mod tests {
14551459 let router = TestRouter :: new ( scorer) ;
14561460 let logger = TestLogger :: new ( ) ;
14571461 let invoice_payer =
1458- InvoicePayer :: new ( & payer, router, & logger, event_handler, Retry :: Attempts ( 2 ) ) ;
1462+ InvoicePayer :: new ( & payer, & router, & logger, event_handler, Retry :: Attempts ( 2 ) ) ;
14591463
14601464 let payment_id = invoice_payer. pay_invoice ( & invoice) . unwrap ( ) ;
14611465 let event = Event :: PaymentPathSuccessful {
@@ -1498,7 +1502,7 @@ mod tests {
14981502 let router = TestRouter :: new ( scorer) ;
14991503 let logger = TestLogger :: new ( ) ;
15001504 let invoice_payer =
1501- InvoicePayer :: new ( & payer, router, & logger, event_handler, Retry :: Attempts ( 0 ) ) ;
1505+ InvoicePayer :: new ( & payer, & router, & logger, event_handler, Retry :: Attempts ( 0 ) ) ;
15021506
15031507 // Make first invoice payment.
15041508 invoice_payer. pay_invoice ( & payment_invoice) . unwrap ( ) ;
@@ -1552,7 +1556,7 @@ mod tests {
15521556 let router = TestRouter :: new ( scorer) ;
15531557 let logger = TestLogger :: new ( ) ;
15541558 let invoice_payer =
1555- InvoicePayer :: new ( & payer, router, & logger, event_handler, Retry :: Attempts ( 2 ) ) ;
1559+ InvoicePayer :: new ( & payer, & router, & logger, event_handler, Retry :: Attempts ( 2 ) ) ;
15561560
15571561 // Fail 1st path, leave 2nd path inflight
15581562 let payment_id = Some ( invoice_payer. pay_invoice ( & payment_invoice) . unwrap ( ) ) ;
@@ -2077,7 +2081,7 @@ mod tests {
20772081 router. expect_find_route ( Ok ( route. clone ( ) ) ) ;
20782082
20792083 let event_handler = |_: Event | { panic ! ( ) ; } ;
2080- let invoice_payer = InvoicePayer :: new ( nodes[ 0 ] . node , router, nodes[ 0 ] . logger , event_handler, Retry :: Attempts ( 1 ) ) ;
2084+ let invoice_payer = InvoicePayer :: new ( nodes[ 0 ] . node , & router, nodes[ 0 ] . logger , event_handler, Retry :: Attempts ( 1 ) ) ;
20812085
20822086 assert ! ( invoice_payer. pay_invoice( & create_invoice_from_channelmanager_and_duration_since_epoch(
20832087 & nodes[ 1 ] . node, nodes[ 1 ] . keys_manager, nodes[ 1 ] . logger, Currency :: Bitcoin ,
@@ -2122,7 +2126,7 @@ mod tests {
21222126 router. expect_find_route ( Ok ( route. clone ( ) ) ) ;
21232127
21242128 let event_handler = |_: Event | { panic ! ( ) ; } ;
2125- let invoice_payer = InvoicePayer :: new ( nodes[ 0 ] . node , router, nodes[ 0 ] . logger , event_handler, Retry :: Attempts ( 1 ) ) ;
2129+ let invoice_payer = InvoicePayer :: new ( nodes[ 0 ] . node , & router, nodes[ 0 ] . logger , event_handler, Retry :: Attempts ( 1 ) ) ;
21262130
21272131 assert ! ( invoice_payer. pay_invoice( & create_invoice_from_channelmanager_and_duration_since_epoch(
21282132 & nodes[ 1 ] . node, nodes[ 1 ] . keys_manager, nodes[ 1 ] . logger, Currency :: Bitcoin ,
@@ -2203,7 +2207,7 @@ mod tests {
22032207 let event_checker = expected_events. borrow_mut ( ) . pop_front ( ) . unwrap ( ) ;
22042208 event_checker ( event) ;
22052209 } ;
2206- let invoice_payer = InvoicePayer :: new ( nodes[ 0 ] . node , router, nodes[ 0 ] . logger , event_handler, Retry :: Attempts ( 1 ) ) ;
2210+ let invoice_payer = InvoicePayer :: new ( nodes[ 0 ] . node , & router, nodes[ 0 ] . logger , event_handler, Retry :: Attempts ( 1 ) ) ;
22072211
22082212 assert ! ( invoice_payer. pay_invoice( & create_invoice_from_channelmanager_and_duration_since_epoch(
22092213 & nodes[ 1 ] . node, nodes[ 1 ] . keys_manager, nodes[ 1 ] . logger, Currency :: Bitcoin ,
0 commit comments