@@ -1771,7 +1771,6 @@ mod fuzzy_internal_msgs {
1771
1771
payment_metadata : Option < Vec < u8 > > ,
1772
1772
keysend_preimage : Option < PaymentPreimage > ,
1773
1773
sender_custom_tlvs : Vec < ( u64 , Vec < u8 > ) > ,
1774
- user_custom_data : Vec < u8 > ,
1775
1774
sender_intended_htlc_amt_msat : u64 ,
1776
1775
cltv_expiry_height : u32 ,
1777
1776
} ,
@@ -1793,7 +1792,7 @@ mod fuzzy_internal_msgs {
1793
1792
intro_node_blinding_point : Option < PublicKey > ,
1794
1793
keysend_preimage : Option < PaymentPreimage > ,
1795
1794
sender_custom_tlvs : Vec < ( u64 , Vec < u8 > ) > ,
1796
- user_custom_data : Vec < u8 > ,
1795
+ user_custom_data : Option < Vec < u8 > > ,
1797
1796
}
1798
1797
}
1799
1798
@@ -1816,7 +1815,6 @@ mod fuzzy_internal_msgs {
1816
1815
payment_metadata : Option < & ' a Vec < u8 > > ,
1817
1816
keysend_preimage : Option < PaymentPreimage > ,
1818
1817
sender_custom_tlvs : & ' a Vec < ( u64 , Vec < u8 > ) > ,
1819
- user_custom_data : & ' a Vec < u8 > ,
1820
1818
sender_intended_htlc_amt_msat : u64 ,
1821
1819
cltv_expiry_height : u32 ,
1822
1820
} ,
@@ -1832,7 +1830,6 @@ mod fuzzy_internal_msgs {
1832
1830
intro_node_blinding_point : Option < PublicKey > , // Set if the introduction node of the blinded path is the final node
1833
1831
keysend_preimage : Option < PaymentPreimage > ,
1834
1832
sender_custom_tlvs : & ' a Vec < ( u64 , Vec < u8 > ) > ,
1835
- user_custom_data : & ' a Vec < u8 > ,
1836
1833
invoice_request : Option < & ' a InvoiceRequest > ,
1837
1834
}
1838
1835
}
@@ -1872,7 +1869,6 @@ mod fuzzy_internal_msgs {
1872
1869
intro_node_blinding_point : Option < PublicKey > , // Set if the introduction node of the blinded path is the final node
1873
1870
keysend_preimage : Option < PaymentPreimage > ,
1874
1871
sender_custom_tlvs : & ' a Vec < ( u64 , Vec < u8 > ) > ,
1875
- user_custom_data : & ' a Vec < u8 > ,
1876
1872
}
1877
1873
}
1878
1874
@@ -2745,21 +2741,20 @@ impl<'a> Writeable for OutboundOnionPayload<'a> {
2745
2741
} ,
2746
2742
Self :: Receive {
2747
2743
ref payment_data, ref payment_metadata, ref keysend_preimage, sender_intended_htlc_amt_msat,
2748
- cltv_expiry_height, ref sender_custom_tlvs, ref user_custom_data
2744
+ cltv_expiry_height, ref sender_custom_tlvs
2749
2745
} => {
2750
2746
// We need to update [`ln::outbound_payment::RecipientOnionFields::with_sender_custom_tlvs`]
2751
2747
// to reject any reserved types in the experimental range if new ones are ever
2752
2748
// standardized.
2753
- let user_custom_data = ( !user_custom_data. is_empty ( ) ) . then ( || ( 65539 , user_custom_data. to_vec ( ) ) ) ;
2754
2749
let keysend_tlv = keysend_preimage. map ( |preimage| ( 5482373484 , preimage. encode ( ) ) ) ;
2755
- let mut custom_tlvs : Vec < & ( u64 , Vec < u8 > ) > = sender_custom_tlvs. iter ( ) . chain ( keysend_tlv. iter ( ) ) . chain ( user_custom_data . iter ( ) ) . collect ( ) ;
2756
- custom_tlvs . sort_unstable_by_key ( |( typ, _) | * typ) ;
2750
+ let mut sender_custom_tlvs : Vec < & ( u64 , Vec < u8 > ) > = sender_custom_tlvs. iter ( ) . chain ( keysend_tlv. iter ( ) ) . collect ( ) ;
2751
+ sender_custom_tlvs . sort_unstable_by_key ( |( typ, _) | * typ) ;
2757
2752
_encode_varint_length_prefixed_tlv ! ( w, {
2758
2753
( 2 , HighZeroBytesDroppedBigSize ( * sender_intended_htlc_amt_msat) , required) ,
2759
2754
( 4 , HighZeroBytesDroppedBigSize ( * cltv_expiry_height) , required) ,
2760
2755
( 8 , payment_data, option) ,
2761
2756
( 16 , payment_metadata. map( |m| WithoutLength ( m) ) , option)
2762
- } , custom_tlvs . iter( ) ) ;
2757
+ } , sender_custom_tlvs . iter( ) ) ;
2763
2758
} ,
2764
2759
Self :: BlindedForward { encrypted_tlvs, intro_node_blinding_point } => {
2765
2760
_encode_varint_length_prefixed_tlv ! ( w, {
@@ -2769,27 +2764,25 @@ impl<'a> Writeable for OutboundOnionPayload<'a> {
2769
2764
} ,
2770
2765
Self :: BlindedReceive {
2771
2766
sender_intended_htlc_amt_msat, total_msat, cltv_expiry_height, encrypted_tlvs,
2772
- intro_node_blinding_point, keysend_preimage, ref invoice_request, ref sender_custom_tlvs, ref user_custom_data
2767
+ intro_node_blinding_point, keysend_preimage, ref invoice_request, ref sender_custom_tlvs
2773
2768
} => {
2774
2769
// We need to update [`ln::outbound_payment::RecipientOnionFields::with_sender_custom_tlvs`]
2775
2770
// to reject any reserved types in the experimental range if new ones are ever
2776
2771
// standardized.
2777
- let user_custom_data = ( !user_custom_data. is_empty ( ) ) . then ( || ( 65539 , user_custom_data. to_vec ( ) ) ) ;
2778
2772
let invoice_request_tlv = invoice_request. map ( |invreq| ( 77_777 , invreq. encode ( ) ) ) ; // TODO: update TLV type once the async payments spec is merged
2779
2773
let keysend_tlv = keysend_preimage. map ( |preimage| ( 5482373484 , preimage. encode ( ) ) ) ;
2780
- let mut custom_tlvs: Vec < & ( u64 , Vec < u8 > ) > = sender_custom_tlvs. iter ( )
2781
- . chain ( user_custom_data. iter ( ) )
2774
+ let mut sender_custom_tlvs: Vec < & ( u64 , Vec < u8 > ) > = sender_custom_tlvs. iter ( )
2782
2775
. chain ( invoice_request_tlv. iter ( ) )
2783
2776
. chain ( keysend_tlv. iter ( ) )
2784
2777
. collect ( ) ;
2785
- custom_tlvs . sort_unstable_by_key ( |( typ, _) | * typ) ;
2778
+ sender_custom_tlvs . sort_unstable_by_key ( |( typ, _) | * typ) ;
2786
2779
_encode_varint_length_prefixed_tlv ! ( w, {
2787
2780
( 2 , HighZeroBytesDroppedBigSize ( * sender_intended_htlc_amt_msat) , required) ,
2788
2781
( 4 , HighZeroBytesDroppedBigSize ( * cltv_expiry_height) , required) ,
2789
2782
( 10 , * * encrypted_tlvs, required_vec) ,
2790
2783
( 12 , intro_node_blinding_point, option) ,
2791
2784
( 18 , HighZeroBytesDroppedBigSize ( * total_msat) , required)
2792
- } , custom_tlvs . iter( ) ) ;
2785
+ } , sender_custom_tlvs . iter( ) ) ;
2793
2786
} ,
2794
2787
}
2795
2788
Ok ( ( ) )
@@ -2831,19 +2824,15 @@ impl<'a> Writeable for OutboundTrampolinePayload<'a> {
2831
2824
( 12 , intro_node_blinding_point, option)
2832
2825
} ) ;
2833
2826
} ,
2834
- Self :: BlindedReceive { sender_intended_htlc_amt_msat, total_msat, cltv_expiry_height, encrypted_tlvs, intro_node_blinding_point, keysend_preimage, sender_custom_tlvs, user_custom_data} => {
2835
- let user_custom_data = ( !user_custom_data. is_empty ( ) ) . then ( || ( 65539 , user_custom_data. to_vec ( ) ) ) ;
2836
- let custom_tlvs: Vec < & ( u64 , Vec < u8 > ) > = sender_custom_tlvs. iter ( )
2837
- . chain ( user_custom_data. iter ( ) )
2838
- . collect ( ) ;
2827
+ Self :: BlindedReceive { sender_intended_htlc_amt_msat, total_msat, cltv_expiry_height, encrypted_tlvs, intro_node_blinding_point, keysend_preimage, sender_custom_tlvs } => {
2839
2828
_encode_varint_length_prefixed_tlv ! ( w, {
2840
2829
( 2 , HighZeroBytesDroppedBigSize ( * sender_intended_htlc_amt_msat) , required) ,
2841
2830
( 4 , HighZeroBytesDroppedBigSize ( * cltv_expiry_height) , required) ,
2842
2831
( 10 , * * encrypted_tlvs, required_vec) ,
2843
2832
( 12 , intro_node_blinding_point, option) ,
2844
2833
( 18 , HighZeroBytesDroppedBigSize ( * total_msat) , required) ,
2845
2834
( 20 , keysend_preimage, option)
2846
- } , custom_tlvs . iter( ) ) ;
2835
+ } , sender_custom_tlvs . iter( ) ) ;
2847
2836
}
2848
2837
}
2849
2838
Ok ( ( ) )
@@ -2941,7 +2930,7 @@ impl<NS: Deref> ReadableArgs<(Option<PublicKey>, NS)> for InboundOnionPayload wh
2941
2930
intro_node_blinding_point,
2942
2931
keysend_preimage,
2943
2932
sender_custom_tlvs,
2944
- user_custom_data : vec ! [ ] ,
2933
+ user_custom_data : None ,
2945
2934
} )
2946
2935
} ,
2947
2936
}
@@ -2970,7 +2959,6 @@ impl<NS: Deref> ReadableArgs<(Option<PublicKey>, NS)> for InboundOnionPayload wh
2970
2959
sender_intended_htlc_amt_msat : amt. ok_or ( DecodeError :: InvalidValue ) ?,
2971
2960
cltv_expiry_height : cltv_value. ok_or ( DecodeError :: InvalidValue ) ?,
2972
2961
sender_custom_tlvs,
2973
- user_custom_data : vec ! [ ] ,
2974
2962
} )
2975
2963
}
2976
2964
}
@@ -4582,7 +4570,6 @@ mod tests {
4582
4570
sender_intended_htlc_amt_msat : 0x0badf00d01020304 ,
4583
4571
cltv_expiry_height : 0xffffffff ,
4584
4572
sender_custom_tlvs : & vec ! [ ] ,
4585
- user_custom_data : & vec ! [ ] ,
4586
4573
} ;
4587
4574
let encoded_value = outbound_msg. encode ( ) ;
4588
4575
let target_value = <Vec < u8 > >:: from_hex ( "1002080badf00d010203040404ffffffff" ) . unwrap ( ) ;
@@ -4611,7 +4598,6 @@ mod tests {
4611
4598
sender_intended_htlc_amt_msat : 0x0badf00d01020304 ,
4612
4599
cltv_expiry_height : 0xffffffff ,
4613
4600
sender_custom_tlvs : & vec ! [ ] ,
4614
- user_custom_data : & vec ! [ ] ,
4615
4601
} ;
4616
4602
let encoded_value = outbound_msg. encode ( ) ;
4617
4603
let target_value = <Vec < u8 > >:: from_hex ( "3602080badf00d010203040404ffffffff082442424242424242424242424242424242424242424242424242424242424242421badca1f" ) . unwrap ( ) ;
@@ -4628,13 +4614,11 @@ mod tests {
4628
4614
payment_metadata : None ,
4629
4615
keysend_preimage : None ,
4630
4616
sender_custom_tlvs,
4631
- user_custom_data,
4632
4617
} = inbound_msg {
4633
4618
assert_eq ! ( payment_secret, expected_payment_secret) ;
4634
4619
assert_eq ! ( sender_intended_htlc_amt_msat, 0x0badf00d01020304 ) ;
4635
4620
assert_eq ! ( cltv_expiry_height, 0xffffffff ) ;
4636
4621
assert_eq ! ( sender_custom_tlvs, vec![ ] ) ;
4637
- assert_eq ! ( user_custom_data, vec![ ] ) ;
4638
4622
} else { panic ! ( ) ; }
4639
4623
}
4640
4624
@@ -4651,7 +4635,6 @@ mod tests {
4651
4635
payment_metadata : None ,
4652
4636
keysend_preimage : None ,
4653
4637
sender_custom_tlvs : & bad_type_range_tlvs,
4654
- user_custom_data : & vec ! [ ] ,
4655
4638
sender_intended_htlc_amt_msat : 0x0badf00d01020304 ,
4656
4639
cltv_expiry_height : 0xffffffff ,
4657
4640
} ;
@@ -4684,7 +4667,6 @@ mod tests {
4684
4667
payment_metadata : None ,
4685
4668
keysend_preimage : None ,
4686
4669
sender_custom_tlvs : & expected_sender_custom_tlvs,
4687
- user_custom_data : & vec ! [ ] ,
4688
4670
sender_intended_htlc_amt_msat : 0x0badf00d01020304 ,
4689
4671
cltv_expiry_height : 0xffffffff ,
4690
4672
} ;
@@ -4813,7 +4795,6 @@ mod tests {
4813
4795
intro_node_blinding_point : None ,
4814
4796
keysend_preimage : None ,
4815
4797
sender_custom_tlvs : & vec ! [ ] ,
4816
- user_custom_data : & vec ! [ ] ,
4817
4798
} ;
4818
4799
let eve_payload = trampoline_payload_eve. encode ( ) . to_lower_hex_string ( ) ;
4819
4800
assert_eq ! ( eve_payload, "e4020408f0d18004030c35000ad1bcd747394fbd4d99588da075a623316e15a576df5bc785cccc7cd6ec7b398acce6faf520175f9ec920f2ef261cdb83dc28cc3a0eeb970107b3306489bf771ef5b1213bca811d345285405861d08a655b6c237fa247a8b4491beee20c878a60e9816492026d8feb9dafa84585b253978db6a0aa2945df5ef445c61e801fb82f43d5f00716baf9fc9b3de50bc22950a36bda8fc27bfb1242e5860c7e687438d4133e058770361a19b6c271a2a07788d34dccc27e39b9829b061a4d960eac4a2c2b0f4de506c24f9af3868c0aff6dda27281c120408f0d180" ) ;
0 commit comments