@@ -3209,7 +3209,7 @@ mod tests {
3209
3209
use crate :: ln:: msgs:: { self , FinalOnionHopData , OnionErrorPacket , CommonOpenChannelFields , CommonAcceptChannelFields , TrampolineOnionPacket } ;
3210
3210
use crate :: ln:: msgs:: SocketAddress ;
3211
3211
use crate :: routing:: gossip:: { NodeAlias , NodeId } ;
3212
- use crate :: util:: ser:: { BigSize , Hostname , Readable , ReadableArgs , TransactionU16LenLimited , Writeable } ;
3212
+ use crate :: util:: ser:: { BigSize , FixedLengthReader , Hostname , LengthReadable , Readable , ReadableArgs , TransactionU16LenLimited , Writeable } ;
3213
3213
use crate :: util:: test_utils;
3214
3214
3215
3215
use bitcoin:: hashes:: hex:: FromHex ;
@@ -4525,6 +4525,13 @@ mod tests {
4525
4525
let encoded_trampoline_packet = trampoline_packet. encode ( ) ;
4526
4526
assert_eq ! ( encoded_trampoline_packet. len( ) , 716 ) ;
4527
4527
4528
+ { // verify that a codec round trip works
4529
+ let mut reader = Cursor :: new ( & encoded_trampoline_packet) ;
4530
+ let mut trampoline_packet_reader = FixedLengthReader :: new ( & mut reader, encoded_trampoline_packet. len ( ) as u64 ) ;
4531
+ let decoded_trampoline_packet: TrampolineOnionPacket = <TrampolineOnionPacket as LengthReadable >:: read ( & mut trampoline_packet_reader) . unwrap ( ) ;
4532
+ assert_eq ! ( decoded_trampoline_packet. encode( ) , encoded_trampoline_packet) ;
4533
+ }
4534
+
4528
4535
let msg = msgs:: OutboundOnionPayload :: TrampolineEntrypoint {
4529
4536
multipath_trampoline_data : None ,
4530
4537
amt_to_forward : 0x0badf00d01020304 ,
0 commit comments