@@ -18,13 +18,15 @@ use crate::blinded_path::payment::{
1818} ;
1919use crate :: blinded_path:: { BlindedHop , Direction , IntroductionNode } ;
2020use crate :: crypto:: chacha20:: ChaCha20 ;
21+ use crate :: io;
2122use crate :: ln:: channel_state:: ChannelDetails ;
2223use crate :: ln:: channelmanager:: { PaymentId , RecipientOnionFields , MIN_FINAL_CLTV_EXPIRY_DELTA } ;
2324use crate :: ln:: msgs:: { DecodeError , MAX_VALUE_MSAT } ;
2425use crate :: ln:: onion_utils;
2526use crate :: offers:: invoice:: Bolt12Invoice ;
2627#[ cfg( async_payments) ]
2728use crate :: offers:: static_invoice:: StaticInvoice ;
29+ use crate :: prelude:: * ;
2830use crate :: routing:: gossip:: {
2931 DirectedChannelInfo , EffectiveCapacity , NetworkGraph , NodeId , ReadOnlyNetworkGraph ,
3032} ;
@@ -37,8 +39,6 @@ use crate::types::features::{
3739use crate :: types:: payment:: { PaymentHash , PaymentPreimage } ;
3840use crate :: util:: logger:: Logger ;
3941use crate :: util:: ser:: { Readable , ReadableArgs , Writeable , Writer } ;
40- use crate :: io;
41- use crate :: prelude:: * ;
4242use alloc:: collections:: BinaryHeap ;
4343use core:: ops:: Deref ;
4444use core:: { cmp, fmt} ;
@@ -3726,23 +3726,22 @@ where L::Target: Logger {
37263726 Ok ( route)
37273727}
37283728
3729- fn create_self_payment_route ( our_node_pubkey : & PublicKey , route_params : & RouteParameters ) -> Result < Route , & ' static str > {
3729+ fn create_self_payment_route (
3730+ our_node_pubkey : & PublicKey , route_params : & RouteParameters ,
3731+ ) -> Result < Route , & ' static str > {
37303732 let path = Path {
3731- hops : vec ! [ RouteHop {
3732- pubkey: our_node_pubkey. clone( ) ,
3733- short_channel_id: 0 , // Dummy short_channel_id specifying self payment
3734- fee_msat: 0 , // Zero fees
3735- cltv_expiry_delta: MIN_FINAL_CLTV_EXPIRY_DELTA . into( ) ,
3736- node_features: NodeFeatures :: empty( ) ,
3737- channel_features: ChannelFeatures :: empty( ) ,
3738- maybe_announced_channel: false ,
3739- } ] ,
3740- blinded_tail : None ,
3741- } ;
3742- Ok ( Route {
3743- paths : vec ! [ path] ,
3744- route_params : Some ( route_params. clone ( ) ) ,
3745- } )
3733+ hops : vec ! [ RouteHop {
3734+ pubkey: our_node_pubkey. clone( ) ,
3735+ short_channel_id: 0 , // Dummy short_channel_id specifying self payment
3736+ fee_msat: route_params. final_value_msat, // last hop send the entire amount
3737+ cltv_expiry_delta: MIN_FINAL_CLTV_EXPIRY_DELTA . into( ) ,
3738+ node_features: NodeFeatures :: empty( ) ,
3739+ channel_features: ChannelFeatures :: empty( ) ,
3740+ maybe_announced_channel: false ,
3741+ } ] ,
3742+ blinded_tail : None ,
3743+ } ;
3744+ Ok ( Route { paths : vec ! [ path] , route_params : Some ( route_params. clone ( ) ) } )
37463745}
37473746
37483747// When an adversarial intermediary node observes a payment, it may be able to infer its
0 commit comments