@@ -21,6 +21,7 @@ use crate::blinded_path::message::{BlindedMessagePath, ForwardTlvs, NextMessageH
2121use crate :: crypto:: streams:: { ChaChaDualPolyReadAdapter , ChaChaPolyWriteAdapter } ;
2222use crate :: ln:: msgs:: DecodeError ;
2323use crate :: ln:: onion_utils;
24+ use crate :: sign:: ReceiveAuthKey ;
2425use crate :: util:: logger:: Logger ;
2526use crate :: util:: ser:: {
2627 BigSize , FixedLengthReader , LengthLimitedRead , LengthReadable , LengthReadableArgs , Readable ,
@@ -262,11 +263,11 @@ impl<T: OnionMessageContents> Writeable for (Payload<T>, [u8; 32]) {
262263
263264// Uses the provided secret to simultaneously decode and decrypt the control TLVs and data TLV.
264265impl < H : CustomOnionMessageHandler + ?Sized , L : Logger + ?Sized >
265- ReadableArgs < ( SharedSecret , & H , [ u8 ; 32 ] , & L ) >
266+ ReadableArgs < ( SharedSecret , & H , ReceiveAuthKey , & L ) >
266267 for Payload < ParsedOnionMessageContents < <H as CustomOnionMessageHandler >:: CustomMessage > >
267268{
268269 fn read < R : Read > (
269- r : & mut R , args : ( SharedSecret , & H , [ u8 ; 32 ] , & L ) ,
270+ r : & mut R , args : ( SharedSecret , & H , ReceiveAuthKey , & L ) ,
270271 ) -> Result < Self , DecodeError > {
271272 let ( encrypted_tlvs_ss, handler, receive_tlvs_key, logger) = args;
272273
@@ -279,7 +280,7 @@ impl<H: CustomOnionMessageHandler + ?Sized, L: Logger + ?Sized>
279280 let mut message = None ;
280281 decode_tlv_stream_with_custom_tlv_decode ! ( & mut rd, {
281282 ( 2 , reply_path, option) ,
282- ( 4 , read_adapter, ( option: LengthReadableArgs , ( rho, receive_tlvs_key) ) ) ,
283+ ( 4 , read_adapter, ( option: LengthReadableArgs , ( rho, receive_tlvs_key. inner ) ) ) ,
283284 } , |msg_type, msg_reader| {
284285 if msg_type < 64 { return Ok ( false ) }
285286 // Don't allow reading more than one data TLV from an onion message.
0 commit comments