Merge pull request #2400 from TheBlueMatt/2023-07-kill-vec_type
[rust-lightning] / lightning / src / onion_message / packet.rs
index 9322f9489bcd42d80f5dfc6161650dedd1f0f15b..8a5628f164ca358dd8df1d7aec5e58730247c67e 100644 (file)
@@ -169,7 +169,7 @@ impl<T: CustomOnionMessageContents> Writeable for (Payload<T>, [u8; 32]) {
                match &self.0 {
                        Payload::Forward(ForwardControlTlvs::Blinded(encrypted_bytes)) => {
                                _encode_varint_length_prefixed_tlv!(w, {
-                                       (4, *encrypted_bytes, vec_type)
+                                       (4, *encrypted_bytes, required_vec)
                                })
                        },
                        Payload::Receive {
@@ -177,7 +177,7 @@ impl<T: CustomOnionMessageContents> Writeable for (Payload<T>, [u8; 32]) {
                        } => {
                                _encode_varint_length_prefixed_tlv!(w, {
                                        (2, reply_path, option),
-                                       (4, *encrypted_bytes, vec_type),
+                                       (4, *encrypted_bytes, required_vec),
                                        (message.tlv_type(), message, required)
                                })
                        },
@@ -203,7 +203,7 @@ impl<T: CustomOnionMessageContents> Writeable for (Payload<T>, [u8; 32]) {
 }
 
 // Uses the provided secret to simultaneously decode and decrypt the control TLVs and data TLV.
-impl<H: CustomOnionMessageHandler, L: Logger>
+impl<H: CustomOnionMessageHandler + ?Sized, L: Logger + ?Sized>
 ReadableArgs<(SharedSecret, &H, &L)> for Payload<<H as CustomOnionMessageHandler>::CustomMessage> {
        fn read<R: Read>(r: &mut R, args: (SharedSecret, &H, &L)) -> Result<Self, DecodeError> {
                let (encrypted_tlvs_ss, handler, logger) = args;
@@ -250,13 +250,12 @@ ReadableArgs<(SharedSecret, &H, &L)> for Payload<<H as CustomOnionMessageHandler
                                Ok(Payload::Forward(ForwardControlTlvs::Unblinded(tlvs)))
                        },
                        Some(ChaChaPolyReadAdapter { readable: ControlTlvs::Receive(tlvs)}) => {
-                               if message.is_none() { return Err(DecodeError::InvalidValue) }
                                Ok(Payload::Receive {
                                        control_tlvs: ReceiveControlTlvs::Unblinded(tlvs),
                                        reply_path,
-                                       message: message.unwrap(),
+                                       message: message.ok_or(DecodeError::InvalidValue)?,
                                })
-                       }
+                       },
                }
        }
 }