File tree Expand file tree Collapse file tree 1 file changed +11
-3
lines changed Expand file tree Collapse file tree 1 file changed +11
-3
lines changed Original file line number Diff line number Diff line change @@ -418,12 +418,20 @@ pub(super) fn construct_onion_packet(
418
418
#[ allow( unused) ]
419
419
pub ( super ) fn construct_trampoline_onion_packet (
420
420
payloads : Vec < msgs:: OutboundTrampolinePayload > , onion_keys : Vec < OnionKeys > ,
421
- prng_seed : [ u8 ; 32 ] , associated_data : & PaymentHash , length : u16 ,
421
+ prng_seed : [ u8 ; 32 ] , associated_data : & PaymentHash ,
422
422
) -> Result < msgs:: TrampolineOnionPacket , ( ) > {
423
- let mut packet_data = vec ! [ 0u8 ; length as usize ] ;
423
+ let packet_length: usize = payloads
424
+ . iter ( )
425
+ . map ( |p| {
426
+ let mut payload_len = LengthCalculatingWriter ( 0 ) ;
427
+ p. write ( & mut payload_len) . expect ( "Failed to calculate length" ) ;
428
+ payload_len. 0 + 32
429
+ } )
430
+ . sum ( ) ;
424
431
432
+ let mut packet_data = vec ! [ 0u8 ; packet_length] ;
425
433
let mut chacha = ChaCha20 :: new ( & prng_seed, & [ 0 ; 8 ] ) ;
426
- chacha. process ( & vec ! [ 0u8 ; length as usize ] , & mut packet_data) ;
434
+ chacha. process ( & vec ! [ 0u8 ; packet_length ] , & mut packet_data) ;
427
435
428
436
construct_onion_packet_with_init_noise :: < _ , _ > (
429
437
payloads,
You can’t perform that action at this time.
0 commit comments