@@ -98,7 +98,7 @@ pub(super) const MAX_TIMER_TICKS: usize = 2;
9898/// # })
9999/// # }
100100/// # fn create_blinded_paths<T: secp256k1::Signing + secp256k1::Verification>(
101- /// # &self, _recipient: PublicKey, _peers: Vec<PublicKey >, _secp_ctx: &Secp256k1<T>
101+ /// # &self, _recipient: PublicKey, _peers: Vec<ForwardNode >, _secp_ctx: &Secp256k1<T>
102102/// # ) -> Result<Vec<BlindedPath>, ()> {
103103/// # unreachable!()
104104/// # }
@@ -341,7 +341,7 @@ pub trait MessageRouter {
341341 fn create_blinded_paths <
342342 T : secp256k1:: Signing + secp256k1:: Verification
343343 > (
344- & self , recipient : PublicKey , peers : Vec < PublicKey > , secp_ctx : & Secp256k1 < T > ,
344+ & self , recipient : PublicKey , peers : Vec < ForwardNode > , secp_ctx : & Secp256k1 < T > ,
345345 ) -> Result < Vec < BlindedPath > , ( ) > ;
346346}
347347
@@ -408,7 +408,7 @@ where
408408 fn create_blinded_paths <
409409 T : secp256k1:: Signing + secp256k1:: Verification
410410 > (
411- & self , recipient : PublicKey , peers : Vec < PublicKey > , secp_ctx : & Secp256k1 < T > ,
411+ & self , recipient : PublicKey , peers : Vec < ForwardNode > , secp_ctx : & Secp256k1 < T > ,
412412 ) -> Result < Vec < BlindedPath > , ( ) > {
413413 // Limit the number of blinded paths that are computed.
414414 const MAX_PATHS : usize = 3 ;
@@ -421,13 +421,13 @@ where
421421 let is_recipient_announced =
422422 network_graph. nodes ( ) . contains_key ( & NodeId :: from_pubkey ( & recipient) ) ;
423423
424- let mut peer_info = peers. iter ( )
424+ let mut peer_info = peers. into_iter ( )
425425 // Limit to peers with announced channels
426- . filter_map ( |pubkey |
426+ . filter_map ( |peer |
427427 network_graph
428- . node ( & NodeId :: from_pubkey ( pubkey ) )
428+ . node ( & NodeId :: from_pubkey ( & peer . node_id ) )
429429 . filter ( |info| info. channels . len ( ) >= MIN_PEER_CHANNELS )
430- . map ( |info| ( * pubkey , info. is_tor_only ( ) , info. channels . len ( ) ) )
430+ . map ( |info| ( peer , info. is_tor_only ( ) , info. channels . len ( ) ) )
431431 )
432432 // Exclude Tor-only nodes when the recipient is announced.
433433 . filter ( |( _, is_tor_only, _) | !( * is_tor_only && is_recipient_announced) )
@@ -439,11 +439,8 @@ where
439439 } ) ;
440440
441441 let paths = peer_info. into_iter ( )
442- . map ( |( node_id, _, _) | vec ! [ ForwardNode { node_id, short_channel_id: None } ] )
443- . map ( |intermediate_nodes| {
444- BlindedPath :: new_for_message (
445- & intermediate_nodes, recipient, & * self . entropy_source , secp_ctx
446- )
442+ . map ( |( peer, _, _) | {
443+ BlindedPath :: new_for_message ( & [ peer] , recipient, & * self . entropy_source , secp_ctx)
447444 } )
448445 . take ( MAX_PATHS )
449446 . collect :: < Result < Vec < _ > , _ > > ( ) ;
0 commit comments