@@ -1677,9 +1677,10 @@ pub struct FinalOnionHopData {
16771677
16781678mod  fuzzy_internal_msgs { 
16791679	use  bitcoin:: secp256k1:: PublicKey ; 
1680+ 	use  crate :: blinded_path:: BlindedPath ; 
16801681	use  crate :: blinded_path:: payment:: { PaymentConstraints ,  PaymentContext ,  PaymentRelay } ; 
16811682	use  crate :: ln:: types:: { PaymentPreimage ,  PaymentSecret } ; 
1682- 	use  crate :: ln:: features:: BlindedHopFeatures ; 
1683+ 	use  crate :: ln:: features:: { BlindedHopFeatures ,   Bolt12InvoiceFeatures } ; 
16831684	use  super :: { FinalOnionHopData ,  TrampolineOnionPacket } ; 
16841685
16851686	#[ allow( unused_imports) ]  
@@ -1766,9 +1767,19 @@ mod fuzzy_internal_msgs {
17661767			/// The value, in msat, of the payment after this hop's fee is deducted. 
17671768 			amt_to_forward :  u64 , 
17681769			outgoing_cltv_value :  u32 , 
1769- 			/// The node id to which the trampoline node must find a route 
1770+ 			/// The node id to which the trampoline node must find a route.  
17701771 			outgoing_node_id :  PublicKey , 
1771- 		} 
1772+ 		} , 
1773+ 		#[ allow( unused) ]  
1774+ 		BlindedForward  { 
1775+ 			/// The value, in msat, of the payment after this hop's fee is deducted. 
1776+  			amt_to_forward :  u64 , 
1777+ 			outgoing_cltv_value :  u32 , 
1778+ 			/// List of blinded path options the last trampoline hop may choose to route through. 
1779+  			payment_paths :  Vec < BlindedPath > , 
1780+ 			/// If applicable, features of the BOLT12 invoice being paid. 
1781+  			invoice_features :  Option < Bolt12InvoiceFeatures > 
1782+ 		} , 
17721783	} 
17731784
17741785	pub  struct  DecodedOnionErrorPacket  { 
@@ -2665,7 +2676,15 @@ impl Writeable for OutboundTrampolinePayload {
26652676					( 4 ,  HighZeroBytesDroppedBigSize ( * outgoing_cltv_value) ,  required) , 
26662677					( 14 ,  outgoing_node_id,  required) 
26672678				} ) ; 
2668- 			} 
2679+ 			} , 
2680+ 			Self :: BlindedForward  {  amt_to_forward,  outgoing_cltv_value,  payment_paths,  invoice_features }  => { 
2681+ 				_encode_varint_length_prefixed_tlv ! ( w,  { 
2682+ 					( 2 ,  HighZeroBytesDroppedBigSize ( * amt_to_forward) ,  required) , 
2683+ 					( 4 ,  HighZeroBytesDroppedBigSize ( * outgoing_cltv_value) ,  required) , 
2684+ 					( 66097 ,  invoice_features,  option) , 
2685+ 					( 66102 ,  * payment_paths,  required_vec) 
2686+ 				} ) ; 
2687+ 			} , 
26692688		} 
26702689		Ok ( ( ) ) 
26712690	} 
0 commit comments