Skip to content

Commit e8e5633

Browse files
committed
f - remove clone from OnionHopData serialization
1 parent e20d8c7 commit e8e5633

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

lightning/src/ln/msgs.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1937,12 +1937,10 @@ impl Writeable for OnionHopData {
19371937
});
19381938
},
19391939
OnionHopDataFormat::FinalNode { ref payment_data, ref payment_metadata, ref keysend_preimage, ref custom_tlvs } => {
1940-
let mut custom_tlvs = custom_tlvs.clone().unwrap_or(Vec::new());
1941-
if let &Some(preimage) = keysend_preimage {
1942-
let mut preimage_bytes = Vec::new();
1943-
preimage.write(&mut preimage_bytes)?;
1944-
custom_tlvs.push((5482373484, preimage_bytes));
1945-
}
1940+
let preimage = if let Some(ref preimage) = keysend_preimage {
1941+
Some((5482373484, preimage.encode()))
1942+
} else { None };
1943+
let mut custom_tlvs: Vec<&(u64, Vec<u8>)> = custom_tlvs.iter().flatten().chain(preimage.iter()).collect();
19461944
custom_tlvs.sort_by_key(|(typ, _)| *typ);
19471945

19481946
_encode_varint_length_prefixed_tlv!(w, {

0 commit comments

Comments
 (0)