@@ -3200,7 +3200,7 @@ mod tests {
32003200 use crate :: ln:: msgs:: { self , FinalOnionHopData , OnionErrorPacket , CommonOpenChannelFields , CommonAcceptChannelFields , TrampolineOnionPacket } ;
32013201 use crate :: ln:: msgs:: SocketAddress ;
32023202 use crate :: routing:: gossip:: { NodeAlias , NodeId } ;
3203- use crate :: util:: ser:: { BigSize , Hostname , Readable , ReadableArgs , TransactionU16LenLimited , Writeable } ;
3203+ use crate :: util:: ser:: { BigSize , FixedLengthReader , Hostname , LengthReadable , Readable , ReadableArgs , TransactionU16LenLimited , Writeable } ;
32043204 use crate :: util:: test_utils;
32053205
32063206 use bitcoin:: hashes:: hex:: FromHex ;
@@ -4516,6 +4516,13 @@ mod tests {
45164516 let encoded_trampoline_packet = trampoline_packet. encode ( ) ;
45174517 assert_eq ! ( encoded_trampoline_packet. len( ) , 716 ) ;
45184518
4519+ { // verify that a codec round trip works
4520+ let mut reader = Cursor :: new ( & encoded_trampoline_packet) ;
4521+ let mut trampoline_packet_reader = FixedLengthReader :: new ( & mut reader, encoded_trampoline_packet. len ( ) as u64 ) ;
4522+ let decoded_trampoline_packet: TrampolineOnionPacket = <TrampolineOnionPacket as LengthReadable >:: read ( & mut trampoline_packet_reader) . unwrap ( ) ;
4523+ assert_eq ! ( decoded_trampoline_packet. encode( ) , encoded_trampoline_packet) ;
4524+ }
4525+
45194526 let msg = msgs:: OutboundOnionPayload :: TrampolineEntrypoint {
45204527 multipath_trampoline_data : None ,
45214528 amt_to_forward : 0x0badf00d01020304 ,
0 commit comments