@@ -3200,7 +3200,7 @@ mod tests {
3200
3200
use crate :: ln:: msgs:: { self , FinalOnionHopData , OnionErrorPacket , CommonOpenChannelFields , CommonAcceptChannelFields , TrampolineOnionPacket } ;
3201
3201
use crate :: ln:: msgs:: SocketAddress ;
3202
3202
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 } ;
3204
3204
use crate :: util:: test_utils;
3205
3205
3206
3206
use bitcoin:: hashes:: hex:: FromHex ;
@@ -4516,6 +4516,13 @@ mod tests {
4516
4516
let encoded_trampoline_packet = trampoline_packet. encode ( ) ;
4517
4517
assert_eq ! ( encoded_trampoline_packet. len( ) , 716 ) ;
4518
4518
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
+
4519
4526
let msg = msgs:: OutboundOnionPayload :: TrampolineEntrypoint {
4520
4527
multipath_trampoline_data : None ,
4521
4528
amt_to_forward : 0x0badf00d01020304 ,
0 commit comments