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
@@ -327,10 +327,8 @@ where
327327 let payer = self . payer . node_id ( ) ;
328328 let first_hops = self . payer . first_hops ( ) ;
329329 let route = self . router . find_route (
330- & payer,
331- params,
332- Some ( & first_hops. iter ( ) . collect :: < Vec < _ > > ( ) ) ,
333- & self . scorer . lock ( ) ,
330+ & payer, params, & payment_hash, Some ( & first_hops. iter ( ) . collect :: < Vec < _ > > ( ) ) ,
331+ & self . scorer . lock ( )
334332 ) . map_err ( |e| PaymentError :: Routing ( e) ) ?;
335333
336334 match send_payment ( & route) {
@@ -390,7 +388,10 @@ where
390388
391389 let payer = self . payer . node_id ( ) ;
392390 let first_hops = self . payer . first_hops ( ) ;
393- let route = self . router . find_route ( & payer, & params, Some ( & first_hops. iter ( ) . collect :: < Vec < _ > > ( ) ) , & self . scorer . lock ( ) ) ;
391+ let route = self . router . find_route (
392+ & payer, & params, & payment_hash, Some ( & first_hops. iter ( ) . collect :: < Vec < _ > > ( ) ) ,
393+ & self . scorer . lock ( )
394+ ) ;
394395 if route. is_err ( ) {
395396 log_trace ! ( self . logger, "Failed to find a route for payment {}; not retrying (attempts: {})" , log_bytes!( payment_hash. 0 ) , attempts) ;
396397 return Err ( ( ) ) ;
@@ -1152,11 +1153,8 @@ mod tests {
11521153
11531154 impl < S : routing:: Score > Router < S > for TestRouter {
11541155 fn find_route (
1155- & self ,
1156- _payer : & PublicKey ,
1157- params : & RouteParameters ,
1158- _first_hops : Option < & [ & ChannelDetails ] > ,
1159- _scorer : & S ,
1156+ & self , _payer : & PublicKey , params : & RouteParameters , _payment_hash : & PaymentHash ,
1157+ _first_hops : Option < & [ & ChannelDetails ] > , _scorer : & S
11601158 ) -> Result < Route , LightningError > {
11611159 Ok ( Route {
11621160 payee : Some ( params. payee . clone ( ) ) , ..Self :: route_for_value ( params. final_value_msat )
@@ -1168,11 +1166,8 @@ mod tests {
11681166
11691167 impl < S : routing:: Score > Router < S > for FailingRouter {
11701168 fn find_route (
1171- & self ,
1172- _payer : & PublicKey ,
1173- _params : & RouteParameters ,
1174- _first_hops : Option < & [ & ChannelDetails ] > ,
1175- _scorer : & S ,
1169+ & self , _payer : & PublicKey , _params : & RouteParameters , _payment_hash : & PaymentHash ,
1170+ _first_hops : Option < & [ & ChannelDetails ] > , _scorer : & S
11761171 ) -> Result < Route , LightningError > {
11771172 Err ( LightningError { err : String :: new ( ) , action : ErrorAction :: IgnoreError } )
11781173 }
@@ -1337,8 +1332,10 @@ mod tests {
13371332 struct ManualRouter ( RefCell < VecDeque < Result < Route , LightningError > > > ) ;
13381333
13391334 impl < S : routing:: Score > Router < S > for ManualRouter {
1340- fn find_route ( & self , _payer : & PublicKey , _params : & RouteParameters , _first_hops : Option < & [ & ChannelDetails ] > , _scorer : & S )
1341- -> Result < Route , LightningError > {
1335+ fn find_route (
1336+ & self , _payer : & PublicKey , _params : & RouteParameters , _payment_hash : & PaymentHash ,
1337+ _first_hops : Option < & [ & ChannelDetails ] > , _scorer : & S
1338+ ) -> Result < Route , LightningError > {
13421339 self . 0 . borrow_mut ( ) . pop_front ( ) . unwrap ( )
13431340 }
13441341 }
0 commit comments