Skip to content

Commit

Permalink
Mark ChannelManager::send_payment_with_route as deprecated
Browse files Browse the repository at this point in the history
We probably should have done this long ago a release or two after
adding `send_payment`, but we didn't and the second best time is
now.

`send_payment_with_route` has particularly hard to use retry
semantics that make it unsuitable for real use. Once we get the
last of our users off of it, we'll want to remove it (or at least
mark it test-only), but we should start by deprecating it.
  • Loading branch information
TheBlueMatt committed Aug 4, 2024
1 parent 8c1b3d1 commit bebd9d0
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions lightning/src/ln/channelmanager.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4093,6 +4093,10 @@ where

/// Sends a payment along a given route.
///
/// This method is *DEPRECATED*, use [`Self::send_payment`] instead. If you wish to fix the
/// route for a payment, do so by matching the [`PaymentId`] passed to
/// [`Router::find_route_with_id`].
///
/// Value parameters are provided via the last hop in route, see documentation for [`RouteHop`]
/// fields for more info.
///
Expand Down Expand Up @@ -4142,6 +4146,7 @@ where
/// [`UpdateHTLCs`]: events::MessageSendEvent::UpdateHTLCs
/// [`PeerManager::process_events`]: crate::ln::peer_handler::PeerManager::process_events
/// [`ChannelMonitorUpdateStatus::InProgress`]: crate::chain::ChannelMonitorUpdateStatus::InProgress
#[cfg_attr(not(any(test, feature = "_test_utils")), deprecated(note = "Use `send_payment` instead"))]
pub fn send_payment_with_route(&self, route: &Route, payment_hash: PaymentHash, recipient_onion: RecipientOnionFields, payment_id: PaymentId) -> Result<(), PaymentSendFailure> {
let best_block_height = self.best_block.read().unwrap().height;
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
Expand Down

0 comments on commit bebd9d0

Please sign in to comment.