6464//! # struct FakeRouter {};
6565//! # impl<S: routing::Score> Router<S> for FakeRouter {
6666//! # fn find_route(
67- //! # &self, payer: &PublicKey, params: &RouteParameters,
67+ //! # &self, payer: &PublicKey, params: &RouteParameters, payment_hash: &PaymentHash,
6868//! # first_hops: Option<&[&ChannelDetails]>, scorer: &S
6969//! # ) -> Result<Route, LightningError> { unimplemented!() }
7070//! # }
@@ -178,8 +178,8 @@ pub trait Payer {
178178pub trait Router < S : routing:: Score > {
179179 /// Finds a [`Route`] between `payer` and `payee` for a payment with the given values.
180180 fn find_route (
181- & self , payer : & PublicKey , params : & RouteParameters , first_hops : Option < & [ & ChannelDetails ] > ,
182- scorer : & S
181+ & self , payer : & PublicKey , params : & RouteParameters , payment_hash : & PaymentHash ,
182+ first_hops : Option < & [ & ChannelDetails ] > , scorer : & S
183183 ) -> Result < Route , LightningError > ;
184184}
185185
@@ -326,10 +326,8 @@ where
326326 let payer = self . payer . node_id ( ) ;
327327 let first_hops = self . payer . first_hops ( ) ;
328328 let route = self . router . find_route (
329- & payer,
330- params,
331- Some ( & first_hops. iter ( ) . collect :: < Vec < _ > > ( ) ) ,
332- & self . scorer . lock ( ) ,
329+ & payer, params, & payment_hash, Some ( & first_hops. iter ( ) . collect :: < Vec < _ > > ( ) ) ,
330+ & self . scorer . lock ( )
333331 ) . map_err ( |e| PaymentError :: Routing ( e) ) ?;
334332
335333 match send_payment ( & route) {
@@ -389,7 +387,10 @@ where
389387
390388 let payer = self . payer . node_id ( ) ;
391389 let first_hops = self . payer . first_hops ( ) ;
392- let route = self . router . find_route ( & payer, & params, Some ( & first_hops. iter ( ) . collect :: < Vec < _ > > ( ) ) , & self . scorer . lock ( ) ) ;
390+ let route = self . router . find_route (
391+ & payer, & params, & payment_hash, Some ( & first_hops. iter ( ) . collect :: < Vec < _ > > ( ) ) ,
392+ & self . scorer . lock ( )
393+ ) ;
393394 if route. is_err ( ) {
394395 log_trace ! ( self . logger, "Failed to find a route for payment {}; not retrying (attempts: {})" , log_bytes!( payment_hash. 0 ) , attempts) ;
395396 return Err ( ( ) ) ;
@@ -1149,11 +1150,8 @@ mod tests {
11491150
11501151 impl < S : routing:: Score > Router < S > for TestRouter {
11511152 fn find_route (
1152- & self ,
1153- _payer : & PublicKey ,
1154- params : & RouteParameters ,
1155- _first_hops : Option < & [ & ChannelDetails ] > ,
1156- _scorer : & S ,
1153+ & self , _payer : & PublicKey , params : & RouteParameters , _payment_hash : & PaymentHash ,
1154+ _first_hops : Option < & [ & ChannelDetails ] > , _scorer : & S
11571155 ) -> Result < Route , LightningError > {
11581156 Ok ( Route {
11591157 payee : Some ( params. payee . clone ( ) ) , ..Self :: route_for_value ( params. final_value_msat )
@@ -1165,11 +1163,8 @@ mod tests {
11651163
11661164 impl < S : routing:: Score > Router < S > for FailingRouter {
11671165 fn find_route (
1168- & self ,
1169- _payer : & PublicKey ,
1170- _params : & RouteParameters ,
1171- _first_hops : Option < & [ & ChannelDetails ] > ,
1172- _scorer : & S ,
1166+ & self , _payer : & PublicKey , _params : & RouteParameters , _payment_hash : & PaymentHash ,
1167+ _first_hops : Option < & [ & ChannelDetails ] > , _scorer : & S
11731168 ) -> Result < Route , LightningError > {
11741169 Err ( LightningError { err : String :: new ( ) , action : ErrorAction :: IgnoreError } )
11751170 }
@@ -1334,8 +1329,10 @@ mod tests {
13341329 struct ManualRouter ( RefCell < VecDeque < Result < Route , LightningError > > > ) ;
13351330
13361331 impl < S : routing:: Score > Router < S > for ManualRouter {
1337- fn find_route ( & self , _payer : & PublicKey , _params : & RouteParameters , _first_hops : Option < & [ & ChannelDetails ] > , _scorer : & S )
1338- -> Result < Route , LightningError > {
1332+ fn find_route (
1333+ & self , _payer : & PublicKey , _params : & RouteParameters , _payment_hash : & PaymentHash ,
1334+ _first_hops : Option < & [ & ChannelDetails ] > , _scorer : & S
1335+ ) -> Result < Route , LightningError > {
13391336 self . 0 . borrow_mut ( ) . pop_front ( ) . unwrap ( )
13401337 }
13411338 }
0 commit comments