@@ -3203,7 +3203,7 @@ mod tests {
3203
3203
use crate :: ln:: msgs:: { self , FinalOnionHopData , OnionErrorPacket , CommonOpenChannelFields , CommonAcceptChannelFields , TrampolineOnionPacket } ;
3204
3204
use crate :: ln:: msgs:: SocketAddress ;
3205
3205
use crate :: routing:: gossip:: { NodeAlias , NodeId } ;
3206
- use crate :: util:: ser:: { BigSize , Hostname , Readable , ReadableArgs , TransactionU16LenLimited , Writeable } ;
3206
+ use crate :: util:: ser:: { BigSize , FixedLengthReader , Hostname , LengthReadable , Readable , ReadableArgs , TransactionU16LenLimited , Writeable } ;
3207
3207
use crate :: util:: test_utils;
3208
3208
3209
3209
use bitcoin:: hashes:: hex:: FromHex ;
@@ -4519,6 +4519,13 @@ mod tests {
4519
4519
let encoded_trampoline_packet = trampoline_packet. encode ( ) ;
4520
4520
assert_eq ! ( encoded_trampoline_packet. len( ) , 716 ) ;
4521
4521
4522
+ { // verify that a codec round trip works
4523
+ let mut reader = Cursor :: new ( & encoded_trampoline_packet) ;
4524
+ let mut trampoline_packet_reader = FixedLengthReader :: new ( & mut reader, encoded_trampoline_packet. len ( ) as u64 ) ;
4525
+ let decoded_trampoline_packet: TrampolineOnionPacket = <TrampolineOnionPacket as LengthReadable >:: read ( & mut trampoline_packet_reader) . unwrap ( ) ;
4526
+ assert_eq ! ( decoded_trampoline_packet. encode( ) , encoded_trampoline_packet) ;
4527
+ }
4528
+
4522
4529
let msg = msgs:: OutboundOnionPayload :: TrampolineEntrypoint {
4523
4530
multipath_trampoline_data : None ,
4524
4531
amt_to_forward : 0x0badf00d01020304 ,
0 commit comments