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//! # }
@@ -179,8 +179,8 @@ pub trait Payer {
179179pub trait Router < S : routing:: Score > {
180180 /// Finds a [`Route`] between `payer` and `payee` for a payment with the given values.
181181 fn find_route (
182- & self , payer : & PublicKey , params : & RouteParameters , first_hops : Option < & [ & ChannelDetails ] > ,
183- scorer : & S
182+ & self , payer : & PublicKey , params : & RouteParameters , payment_hash : & PaymentHash ,
183+ first_hops : Option < & [ & ChannelDetails ] > , scorer : & S
184184 ) -> Result < Route , LightningError > ;
185185}
186186
@@ -328,10 +328,8 @@ where
328328 let payer = self . payer . node_id ( ) ;
329329 let first_hops = self . payer . first_hops ( ) ;
330330 let route = self . router . find_route (
331- & payer,
332- params,
333- Some ( & first_hops. iter ( ) . collect :: < Vec < _ > > ( ) ) ,
334- & self . scorer . lock ( ) ,
331+ & payer, params, & payment_hash, Some ( & first_hops. iter ( ) . collect :: < Vec < _ > > ( ) ) ,
332+ & self . scorer . lock ( )
335333 ) . map_err ( |e| PaymentError :: Routing ( e) ) ?;
336334
337335 match send_payment ( & route) {
@@ -391,7 +389,10 @@ where
391389
392390 let payer = self . payer . node_id ( ) ;
393391 let first_hops = self . payer . first_hops ( ) ;
394- let route = self . router . find_route ( & payer, & params, Some ( & first_hops. iter ( ) . collect :: < Vec < _ > > ( ) ) , & self . scorer . lock ( ) ) ;
392+ let route = self . router . find_route (
393+ & payer, & params, & payment_hash, Some ( & first_hops. iter ( ) . collect :: < Vec < _ > > ( ) ) ,
394+ & self . scorer . lock ( )
395+ ) ;
395396 if route. is_err ( ) {
396397 log_trace ! ( self . logger, "Failed to find a route for payment {}; not retrying (attempts: {})" , log_bytes!( payment_hash. 0 ) , attempts) ;
397398 return Err ( ( ) ) ;
@@ -1186,11 +1187,8 @@ mod tests {
11861187
11871188 impl < S : routing:: Score > Router < S > for TestRouter {
11881189 fn find_route (
1189- & self ,
1190- _payer : & PublicKey ,
1191- params : & RouteParameters ,
1192- _first_hops : Option < & [ & ChannelDetails ] > ,
1193- _scorer : & S ,
1190+ & self , _payer : & PublicKey , params : & RouteParameters , _payment_hash : & PaymentHash ,
1191+ _first_hops : Option < & [ & ChannelDetails ] > , _scorer : & S
11941192 ) -> Result < Route , LightningError > {
11951193 Ok ( Route {
11961194 payee : Some ( params. payee . clone ( ) ) , ..Self :: route_for_value ( params. final_value_msat )
@@ -1202,11 +1200,8 @@ mod tests {
12021200
12031201 impl < S : routing:: Score > Router < S > for FailingRouter {
12041202 fn find_route (
1205- & self ,
1206- _payer : & PublicKey ,
1207- _params : & RouteParameters ,
1208- _first_hops : Option < & [ & ChannelDetails ] > ,
1209- _scorer : & S ,
1203+ & self , _payer : & PublicKey , _params : & RouteParameters , _payment_hash : & PaymentHash ,
1204+ _first_hops : Option < & [ & ChannelDetails ] > , _scorer : & S
12101205 ) -> Result < Route , LightningError > {
12111206 Err ( LightningError { err : String :: new ( ) , action : ErrorAction :: IgnoreError } )
12121207 }
@@ -1369,8 +1364,10 @@ mod tests {
13691364 struct ManualRouter ( RefCell < VecDeque < Result < Route , LightningError > > > ) ;
13701365
13711366 impl < S : routing:: Score > Router < S > for ManualRouter {
1372- fn find_route ( & self , _payer : & PublicKey , _params : & RouteParameters , _first_hops : Option < & [ & ChannelDetails ] > , _scorer : & S )
1373- -> Result < Route , LightningError > {
1367+ fn find_route (
1368+ & self , _payer : & PublicKey , _params : & RouteParameters , _payment_hash : & PaymentHash ,
1369+ _first_hops : Option < & [ & ChannelDetails ] > , _scorer : & S
1370+ ) -> Result < Route , LightningError > {
13741371 self . 0 . borrow_mut ( ) . pop_front ( ) . unwrap ( )
13751372 }
13761373 }
0 commit comments