6565//! # struct FakeRouter {};
6666//! # impl<S: routing::Score> Router<S> for FakeRouter {
6767//! # fn find_route(
68- //! # &self, payer: &PublicKey, params: &RouteParameters,
68+ //! # &self, payer: &PublicKey, params: &RouteParameters, payment_hash: &PaymentHash,
6969//! # first_hops: Option<&[&ChannelDetails]>, scorer: &S
7070//! # ) -> Result<Route, LightningError> { unimplemented!() }
7171//! # }
@@ -180,8 +180,8 @@ pub trait Payer {
180180pub trait Router < S : routing:: Score > {
181181 /// Finds a [`Route`] between `payer` and `payee` for a payment with the given values.
182182 fn find_route (
183- & self , payer : & PublicKey , params : & RouteParameters , first_hops : Option < & [ & ChannelDetails ] > ,
184- scorer : & S
183+ & self , payer : & PublicKey , params : & RouteParameters , payment_hash : & PaymentHash ,
184+ first_hops : Option < & [ & ChannelDetails ] > , scorer : & S
185185 ) -> Result < Route , LightningError > ;
186186}
187187
@@ -329,10 +329,8 @@ where
329329 let payer = self . payer . node_id ( ) ;
330330 let first_hops = self . payer . first_hops ( ) ;
331331 let route = self . router . find_route (
332- & payer,
333- params,
334- Some ( & first_hops. iter ( ) . collect :: < Vec < _ > > ( ) ) ,
335- & self . scorer . lock ( ) ,
332+ & payer, params, & payment_hash, Some ( & first_hops. iter ( ) . collect :: < Vec < _ > > ( ) ) ,
333+ & self . scorer . lock ( )
336334 ) . map_err ( |e| PaymentError :: Routing ( e) ) ?;
337335
338336 match send_payment ( & route) {
@@ -392,7 +390,10 @@ where
392390
393391 let payer = self . payer . node_id ( ) ;
394392 let first_hops = self . payer . first_hops ( ) ;
395- let route = self . router . find_route ( & payer, & params, Some ( & first_hops. iter ( ) . collect :: < Vec < _ > > ( ) ) , & self . scorer . lock ( ) ) ;
393+ let route = self . router . find_route (
394+ & payer, & params, & payment_hash, Some ( & first_hops. iter ( ) . collect :: < Vec < _ > > ( ) ) ,
395+ & self . scorer . lock ( )
396+ ) ;
396397 if route. is_err ( ) {
397398 log_trace ! ( self . logger, "Failed to find a route for payment {}; not retrying (attempts: {})" , log_bytes!( payment_hash. 0 ) , attempts) ;
398399 return Err ( ( ) ) ;
@@ -1187,11 +1188,8 @@ mod tests {
11871188
11881189 impl < S : routing:: Score > Router < S > for TestRouter {
11891190 fn find_route (
1190- & self ,
1191- _payer : & PublicKey ,
1192- params : & RouteParameters ,
1193- _first_hops : Option < & [ & ChannelDetails ] > ,
1194- _scorer : & S ,
1191+ & self , _payer : & PublicKey , params : & RouteParameters , _payment_hash : & PaymentHash ,
1192+ _first_hops : Option < & [ & ChannelDetails ] > , _scorer : & S
11951193 ) -> Result < Route , LightningError > {
11961194 Ok ( Route {
11971195 payee : Some ( params. payee . clone ( ) ) , ..Self :: route_for_value ( params. final_value_msat )
@@ -1203,11 +1201,8 @@ mod tests {
12031201
12041202 impl < S : routing:: Score > Router < S > for FailingRouter {
12051203 fn find_route (
1206- & self ,
1207- _payer : & PublicKey ,
1208- _params : & RouteParameters ,
1209- _first_hops : Option < & [ & ChannelDetails ] > ,
1210- _scorer : & S ,
1204+ & self , _payer : & PublicKey , _params : & RouteParameters , _payment_hash : & PaymentHash ,
1205+ _first_hops : Option < & [ & ChannelDetails ] > , _scorer : & S
12111206 ) -> Result < Route , LightningError > {
12121207 Err ( LightningError { err : String :: new ( ) , action : ErrorAction :: IgnoreError } )
12131208 }
@@ -1370,8 +1365,10 @@ mod tests {
13701365 struct ManualRouter ( RefCell < VecDeque < Result < Route , LightningError > > > ) ;
13711366
13721367 impl < S : routing:: Score > Router < S > for ManualRouter {
1373- fn find_route ( & self , _payer : & PublicKey , _params : & RouteParameters , _first_hops : Option < & [ & ChannelDetails ] > , _scorer : & S )
1374- -> Result < Route , LightningError > {
1368+ fn find_route (
1369+ & self , _payer : & PublicKey , _params : & RouteParameters , _payment_hash : & PaymentHash ,
1370+ _first_hops : Option < & [ & ChannelDetails ] > , _scorer : & S
1371+ ) -> Result < Route , LightningError > {
13751372 self . 0 . borrow_mut ( ) . pop_front ( ) . unwrap ( )
13761373 }
13771374 }
0 commit comments