Class Event.PaymentPathFailed

  • Enclosing class:
    Event

    public static final class Event.PaymentPathFailed
    extends Event
    Indicates an outbound HTLC we sent failed, likely due to an intermediary node being unable to handle the HTLC. Note that this does *not* indicate that all paths for an MPP payment have failed, see [`Event::PaymentFailed`]. See [`ChannelManager::abandon_payment`] for giving up on this payment before its retries have been exhausted. [`ChannelManager::abandon_payment`]: crate::ln::channelmanager::ChannelManager::abandon_payment
    • Field Detail

      • payment_id

        @Nullable
        public final byte[] payment_id
        The `payment_id` passed to [`ChannelManager::send_payment`]. [`ChannelManager::send_payment`]: crate::ln::channelmanager::ChannelManager::send_payment [`ChannelManager::abandon_payment`]: crate::ln::channelmanager::ChannelManager::abandon_payment Note that this (or a relevant inner pointer) may be NULL or all-0s to represent None
      • payment_hash

        public final byte[] payment_hash
        The hash that was given to [`ChannelManager::send_payment`]. [`ChannelManager::send_payment`]: crate::ln::channelmanager::ChannelManager::send_payment
      • payment_failed_permanently

        public final boolean payment_failed_permanently
        Indicates the payment was rejected for some reason by the recipient. This implies that the payment has failed, not just the route in question. If this is not set, the payment may be retried via a different route.
      • failure

        public final PathFailure failure
        Extra error details based on the failure type. May contain an update that needs to be applied to the [`NetworkGraph`]. [`NetworkGraph`]: crate::routing::gossip::NetworkGraph
      • path

        public final Path path
        The payment path that failed.
      • short_channel_id

        public final Option_u64Z short_channel_id
        The channel responsible for the failed payment path. Note that for route hints or for the first hop in a path this may be an SCID alias and may not refer to a channel in the public network graph. These aliases may also collide with channels in the public network graph. If this is `Some`, then the corresponding channel should be avoided when the payment is retried. May be `None` for older [`Event`] serializations.