Skip to content

Commit 1fd3b34

Browse files
committed
Test Trampoline onion (de)serialization round trip.
1 parent 6ed9d1b commit 1fd3b34

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

lightning/src/ln/msgs.rs

+8-1
Original file line numberDiff line numberDiff line change
@@ -3203,7 +3203,7 @@ mod tests {
32033203
use crate::ln::msgs::{self, FinalOnionHopData, OnionErrorPacket, CommonOpenChannelFields, CommonAcceptChannelFields, TrampolineOnionPacket};
32043204
use crate::ln::msgs::SocketAddress;
32053205
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};
32073207
use crate::util::test_utils;
32083208

32093209
use bitcoin::hashes::hex::FromHex;
@@ -4519,6 +4519,13 @@ mod tests {
45194519
let encoded_trampoline_packet = trampoline_packet.encode();
45204520
assert_eq!(encoded_trampoline_packet.len(), 716);
45214521

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+
45224529
let msg = msgs::OutboundOnionPayload::TrampolineEntrypoint {
45234530
multipath_trampoline_data: None,
45244531
amt_to_forward: 0x0badf00d01020304,

0 commit comments

Comments
 (0)