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