@@ -490,6 +490,14 @@ pub enum HTLCDestination {
490
490
/// Short channel id we are requesting to forward an HTLC to.
491
491
requested_forward_scid : u64
492
492
} ,
493
+ /// We couldn't forward to the next Trampoline node. That may happen if we cannot find a route,
494
+ /// or if the route we found didn't work out
495
+ FailedTrampolineForward {
496
+ /// The node ID of the next Trampoline hop we tried forwarding to
497
+ requested_next_node_id : PublicKey ,
498
+ /// The channel we tried forwarding over, if we have settled on one
499
+ forward_scid : Option < u64 > ,
500
+ } ,
493
501
/// We couldn't decode the incoming onion to obtain the forwarding details.
494
502
InvalidOnion ,
495
503
/// Failure scenario where an HTLC may have been forwarded to be intended for us,
@@ -523,6 +531,10 @@ impl_writeable_tlv_based_enum_upgradable!(HTLCDestination,
523
531
( 4 , FailedPayment ) => {
524
532
( 0 , payment_hash, required) ,
525
533
} ,
534
+ ( 5 , FailedTrampolineForward ) => {
535
+ ( 0 , requested_next_node_id, required) ,
536
+ ( 2 , forward_scid, option) ,
537
+ } ,
526
538
) ;
527
539
528
540
/// Will be used in [`Event::HTLCIntercepted`] to identify the next hop in the HTLC's path.
0 commit comments