@@ -4763,6 +4763,28 @@ mod tests {
4763
4763
assert_eq ! ( serialized_payload, "71020408f0d18004030c35001503020000165f032c0b7cf95324a07d05398b240174dc0c2be444d96b159aa6c7f7b1e66868099102eec7245d6b7d2ccb30380bfbe2a3648cd7a942653f5aa340edcea1f28368661900000001f4000003e800240000000000000001000000001dcd65000000" ) ;
4764
4764
}
4765
4765
4766
+ #[ test]
4767
+ fn encode_trampoline_blinded_path_payload ( ) {
4768
+ let trampoline_payload_eve = OutboundTrampolinePayload :: BlindedReceive {
4769
+ sender_intended_htlc_amt_msat : 150_000_000 ,
4770
+ total_msat : 150_000_000 ,
4771
+ cltv_expiry_height : 800_000 ,
4772
+ encrypted_tlvs : & <Vec < u8 > >:: from_hex ( "bcd747394fbd4d99588da075a623316e15a576df5bc785cccc7cd6ec7b398acce6faf520175f9ec920f2ef261cdb83dc28cc3a0eeb970107b3306489bf771ef5b1213bca811d345285405861d08a655b6c237fa247a8b4491beee20c878a60e9816492026d8feb9dafa84585b253978db6a0aa2945df5ef445c61e801fb82f43d5f00716baf9fc9b3de50bc22950a36bda8fc27bfb1242e5860c7e687438d4133e058770361a19b6c271a2a07788d34dccc27e39b9829b061a4d960eac4a2c2b0f4de506c24f9af3868c0aff6dda27281c" ) . unwrap ( ) ,
4773
+ intro_node_blinding_point : None ,
4774
+ keysend_preimage : None ,
4775
+ custom_tlvs : & vec ! [ ] ,
4776
+ } ;
4777
+ let eve_payload = trampoline_payload_eve. encode ( ) . to_lower_hex_string ( ) ;
4778
+ assert_eq ! ( eve_payload, "e4020408f0d18004030c35000ad1bcd747394fbd4d99588da075a623316e15a576df5bc785cccc7cd6ec7b398acce6faf520175f9ec920f2ef261cdb83dc28cc3a0eeb970107b3306489bf771ef5b1213bca811d345285405861d08a655b6c237fa247a8b4491beee20c878a60e9816492026d8feb9dafa84585b253978db6a0aa2945df5ef445c61e801fb82f43d5f00716baf9fc9b3de50bc22950a36bda8fc27bfb1242e5860c7e687438d4133e058770361a19b6c271a2a07788d34dccc27e39b9829b061a4d960eac4a2c2b0f4de506c24f9af3868c0aff6dda27281c120408f0d180" ) ;
4779
+
4780
+ let trampoline_payload_dave = OutboundTrampolinePayload :: BlindedForward {
4781
+ encrypted_tlvs : & <Vec < u8 > >:: from_hex ( "0ccf3c8a58deaa603f657ee2a5ed9d604eb5c8ca1e5f801989afa8f3ea6d789bbdde2c7e7a1ef9ca8c38d2c54760febad8446d3f273ddb537569ef56613846ccd3aba78a" ) . unwrap ( ) ,
4782
+ intro_node_blinding_point : Some ( PublicKey :: from_slice ( & <Vec < u8 > >:: from_hex ( "02988face71e92c345a068f740191fd8e53be14f0bb957ef730d3c5f76087b960e" ) . unwrap ( ) ) . unwrap ( ) ) ,
4783
+ } ;
4784
+ let dave_payload = trampoline_payload_dave. encode ( ) . to_lower_hex_string ( ) ;
4785
+ assert_eq ! ( dave_payload, "690a440ccf3c8a58deaa603f657ee2a5ed9d604eb5c8ca1e5f801989afa8f3ea6d789bbdde2c7e7a1ef9ca8c38d2c54760febad8446d3f273ddb537569ef56613846ccd3aba78a0c2102988face71e92c345a068f740191fd8e53be14f0bb957ef730d3c5f76087b960e" )
4786
+ }
4787
+
4766
4788
#[ test]
4767
4789
fn query_channel_range_end_blocknum ( ) {
4768
4790
let tests: Vec < ( u32 , u32 , u32 ) > = vec ! [
0 commit comments