@@ -60,36 +60,32 @@ pub struct DefaultRouter<
6060 L : Deref ,
6161 ES : Deref ,
6262 S : Deref ,
63- SP : Sized ,
64- Sc : ScoreLookUp < ScoreParams = SP > ,
6563> where
6664 L :: Target : Logger ,
67- S :: Target : for < ' a > LockableScore < ' a , ScoreLookUp = Sc > ,
65+ S :: Target : for < ' a > LockableScore < ' a > ,
6866 ES :: Target : EntropySource ,
6967{
7068 network_graph : G ,
7169 logger : L ,
7270 entropy_source : ES ,
7371 scorer : S ,
74- score_params : SP ,
72+ score_params : crate :: routing :: scoring :: ProbabilisticScoringFeeParameters ,
7573}
7674
7775impl <
7876 G : Deref < Target = NetworkGraph < L > > ,
7977 L : Deref ,
8078 ES : Deref ,
8179 S : Deref ,
82- SP : Sized ,
83- Sc : ScoreLookUp < ScoreParams = SP > ,
84- > DefaultRouter < G , L , ES , S , SP , Sc >
80+ > DefaultRouter < G , L , ES , S >
8581where
8682 L :: Target : Logger ,
87- S :: Target : for < ' a > LockableScore < ' a , ScoreLookUp = Sc > ,
83+ S :: Target : for < ' a > LockableScore < ' a > ,
8884 ES :: Target : EntropySource ,
8985{
9086 /// Creates a new router.
9187 pub fn new (
92- network_graph : G , logger : L , entropy_source : ES , scorer : S , score_params : SP ,
88+ network_graph : G , logger : L , entropy_source : ES , scorer : S , score_params : crate :: routing :: scoring :: ProbabilisticScoringFeeParameters ,
9389 ) -> Self {
9490 Self { network_graph, logger, entropy_source, scorer, score_params }
9591 }
@@ -100,12 +96,10 @@ impl<
10096 L : Deref ,
10197 ES : Deref ,
10298 S : Deref ,
103- SP : Sized ,
104- Sc : ScoreLookUp < ScoreParams = SP > ,
105- > Router for DefaultRouter < G , L , ES , S , SP , Sc >
99+ > Router for DefaultRouter < G , L , ES , S >
106100where
107101 L :: Target : Logger ,
108- S :: Target : for < ' a > LockableScore < ' a , ScoreLookUp = Sc > ,
102+ S :: Target : for < ' a > LockableScore < ' a > ,
109103 ES :: Target : EntropySource ,
110104{
111105 #[ rustfmt:: skip]
@@ -320,9 +314,10 @@ impl<'a, S: Deref> ScoreLookUp for ScorerAccountingForInFlightHtlcs<'a, S>
320314where
321315 S :: Target : ScoreLookUp ,
322316{
317+ #[ cfg( not( c_bindings) ) ]
323318 type ScoreParams = <S :: Target as ScoreLookUp >:: ScoreParams ;
324319 #[ rustfmt:: skip]
325- fn channel_penalty_msat ( & self , candidate : & CandidateRouteHop , usage : ChannelUsage , score_params : & Self :: ScoreParams ) -> u64 {
320+ fn channel_penalty_msat ( & self , candidate : & CandidateRouteHop , usage : ChannelUsage , score_params : & crate :: routing :: scoring :: ProbabilisticScoringFeeParameters ) -> u64 {
326321 let target = match candidate. target ( ) {
327322 Some ( target) => target,
328323 None => return self . scorer . channel_penalty_msat ( candidate, usage, score_params) ,
@@ -2420,7 +2415,7 @@ fn sort_first_hop_channels(
24202415pub fn find_route < L : Deref , GL : Deref , S : ScoreLookUp > (
24212416 our_node_pubkey : & PublicKey , route_params : & RouteParameters ,
24222417 network_graph : & NetworkGraph < GL > , first_hops : Option < & [ & ChannelDetails ] > , logger : L ,
2423- scorer : & S , score_params : & S :: ScoreParams , random_seed_bytes : & [ u8 ; 32 ]
2418+ scorer : & S , score_params : & crate :: routing :: scoring :: ProbabilisticScoringFeeParameters , random_seed_bytes : & [ u8 ; 32 ]
24242419) -> Result < Route , & ' static str >
24252420where L :: Target : Logger , GL :: Target : Logger {
24262421 let graph_lock = network_graph. read_only ( ) ;
@@ -2433,7 +2428,7 @@ where L::Target: Logger, GL::Target: Logger {
24332428#[ rustfmt:: skip]
24342429pub ( crate ) fn get_route < L : Deref , S : ScoreLookUp > (
24352430 our_node_pubkey : & PublicKey , route_params : & RouteParameters , network_graph : & ReadOnlyNetworkGraph ,
2436- first_hops : Option < & [ & ChannelDetails ] > , logger : L , scorer : & S , score_params : & S :: ScoreParams ,
2431+ first_hops : Option < & [ & ChannelDetails ] > , logger : L , scorer : & S , score_params : & crate :: routing :: scoring :: ProbabilisticScoringFeeParameters ,
24372432 _random_seed_bytes : & [ u8 ; 32 ]
24382433) -> Result < Route , & ' static str >
24392434where L :: Target : Logger {
@@ -3845,9 +3840,10 @@ fn build_route_from_hops_internal<L: Deref>(
38453840 }
38463841
38473842 impl ScoreLookUp for HopScorer {
3843+ #[ cfg( not( c_bindings) ) ]
38483844 type ScoreParams = ( ) ;
38493845 fn channel_penalty_msat ( & self , candidate : & CandidateRouteHop ,
3850- _usage : ChannelUsage , _score_params : & Self :: ScoreParams ) -> u64
3846+ _usage : ChannelUsage , _score_params : & crate :: routing :: scoring :: ProbabilisticScoringFeeParameters ) -> u64
38513847 {
38523848 let mut cur_id = self . our_node_id ;
38533849 for i in 0 ..self . hop_ids . len ( ) {
@@ -7222,9 +7218,10 @@ mod tests {
72227218 fn write < W : Writer > ( & self , _w : & mut W ) -> Result < ( ) , crate :: io:: Error > { unimplemented ! ( ) }
72237219 }
72247220 impl ScoreLookUp for BadChannelScorer {
7221+ #[ cfg( not( c_bindings) ) ]
72257222 type ScoreParams = ( ) ;
72267223 #[ rustfmt:: skip]
7227- fn channel_penalty_msat ( & self , candidate : & CandidateRouteHop , _: ChannelUsage , _score_params : & Self :: ScoreParams ) -> u64 {
7224+ fn channel_penalty_msat ( & self , candidate : & CandidateRouteHop , _: ChannelUsage , _score_params : & crate :: routing :: scoring :: ProbabilisticScoringFeeParameters ) -> u64 {
72287225 if candidate. short_channel_id ( ) == Some ( self . short_channel_id ) { u64:: max_value ( ) } else { 0 }
72297226 }
72307227 }
@@ -7240,9 +7237,10 @@ mod tests {
72407237 }
72417238
72427239 impl ScoreLookUp for BadNodeScorer {
7240+ #[ cfg( not( c_bindings) ) ]
72437241 type ScoreParams = ( ) ;
72447242 #[ rustfmt:: skip]
7245- fn channel_penalty_msat ( & self , candidate : & CandidateRouteHop , _: ChannelUsage , _score_params : & Self :: ScoreParams ) -> u64 {
7243+ fn channel_penalty_msat ( & self , candidate : & CandidateRouteHop , _: ChannelUsage , _score_params : & crate :: routing :: scoring :: ProbabilisticScoringFeeParameters ) -> u64 {
72467244 if candidate. target ( ) == Some ( self . node_id ) { u64:: max_value ( ) } else { 0 }
72477245 }
72487246 }
@@ -9385,7 +9383,7 @@ pub(crate) mod bench_utils {
93859383
93869384 #[ rustfmt:: skip]
93879385 pub ( crate ) fn generate_test_routes < S : ScoreLookUp + ScoreUpdate > ( graph : & NetworkGraph < & TestLogger > , scorer : & mut S ,
9388- score_params : & S :: ScoreParams , features : Bolt11InvoiceFeatures , mut seed : u64 ,
9386+ score_params : & crate :: routing :: scoring :: ProbabilisticScoringFeeParameters , features : Bolt11InvoiceFeatures , mut seed : u64 ,
93899387 starting_amount : u64 , route_count : usize ,
93909388 ) -> Vec < ( ChannelDetails , PaymentParameters , u64 ) > {
93919389 let payer = payer_pubkey ( ) ;
@@ -9528,7 +9526,7 @@ pub mod benches {
95289526 #[ rustfmt:: skip]
95299527 fn generate_routes < S : ScoreLookUp + ScoreUpdate > (
95309528 bench : & mut Criterion , graph : & NetworkGraph < & TestLogger > , mut scorer : S ,
9531- score_params : & S :: ScoreParams , features : Bolt11InvoiceFeatures , starting_amount : u64 ,
9529+ score_params : & crate :: routing :: scoring :: ProbabilisticScoringFeeParameters , features : Bolt11InvoiceFeatures , starting_amount : u64 ,
95329530 bench_name : & ' static str ,
95339531 ) {
95349532 // First, get 100 (source, destination) pairs for which route-getting actually succeeds...
0 commit comments