mirror of
https://github.com/lightningdevkit/rust-lightning.git
synced 2025-02-25 07:17:40 +01:00
Add failure mode info to BlindedForward struct.
See added docs.
This commit is contained in:
parent
f09ac1931f
commit
c37d10944e
2 changed files with 11 additions and 3 deletions
|
@ -202,7 +202,9 @@ pub struct BlindedForward {
|
|||
/// onion payload if we're the introduction node. Useful for calculating the next hop's
|
||||
/// [`msgs::UpdateAddHTLC::blinding_point`].
|
||||
pub inbound_blinding_point: PublicKey,
|
||||
// Another field will be added here when we support forwarding as a non-intro node.
|
||||
/// If needed, this determines how this HTLC should be failed backwards, based on whether we are
|
||||
/// the introduction node.
|
||||
pub failure: BlindedFailure,
|
||||
}
|
||||
|
||||
impl PendingHTLCRouting {
|
||||
|
@ -9500,6 +9502,7 @@ impl_writeable_tlv_based!(PhantomRouteHints, {
|
|||
|
||||
impl_writeable_tlv_based!(BlindedForward, {
|
||||
(0, inbound_blinding_point, required),
|
||||
(1, failure, (default_value, BlindedFailure::FromIntroductionNode)),
|
||||
});
|
||||
|
||||
impl_writeable_tlv_based_enum!(PendingHTLCRouting,
|
||||
|
|
|
@ -12,7 +12,7 @@ use crate::blinded_path;
|
|||
use crate::blinded_path::payment::{PaymentConstraints, PaymentRelay};
|
||||
use crate::chain::channelmonitor::{HTLC_FAIL_BACK_BUFFER, LATENCY_GRACE_PERIOD_BLOCKS};
|
||||
use crate::ln::PaymentHash;
|
||||
use crate::ln::channelmanager::{BlindedForward, CLTV_FAR_FAR_AWAY, HTLCFailureMsg, MIN_CLTV_EXPIRY_DELTA, PendingHTLCInfo, PendingHTLCRouting};
|
||||
use crate::ln::channelmanager::{BlindedFailure, BlindedForward, CLTV_FAR_FAR_AWAY, HTLCFailureMsg, MIN_CLTV_EXPIRY_DELTA, PendingHTLCInfo, PendingHTLCRouting};
|
||||
use crate::ln::features::BlindedHopFeatures;
|
||||
use crate::ln::msgs;
|
||||
use crate::ln::onion_utils;
|
||||
|
@ -106,7 +106,12 @@ pub(super) fn create_fwd_pending_htlc_info(
|
|||
onion_packet: outgoing_packet,
|
||||
short_channel_id,
|
||||
blinded: intro_node_blinding_point.or(msg.blinding_point)
|
||||
.map(|bp| BlindedForward { inbound_blinding_point: bp }),
|
||||
.map(|bp| BlindedForward {
|
||||
inbound_blinding_point: bp,
|
||||
failure: intro_node_blinding_point
|
||||
.map(|_| BlindedFailure::FromIntroductionNode)
|
||||
.unwrap_or(BlindedFailure::FromBlindedNode),
|
||||
}),
|
||||
},
|
||||
payment_hash: msg.payment_hash,
|
||||
incoming_shared_secret: shared_secret,
|
||||
|
|
Loading…
Add table
Reference in a new issue