@@ -1085,8 +1085,9 @@ impl InputWeightPrediction {
10851085 ( 0usize , 0u32 ) ,
10861086 |( count, total_size) , elem_len| {
10871087 let elem_len = * elem_len. borrow ( ) ;
1088- let elem_size = Self :: saturate_to_u32 ( elem_len) + Self :: encoded_size ( elem_len) ;
1089- ( count + 1 , total_size + elem_size)
1088+ let elem_size =
1089+ Self :: saturate_to_u32 ( elem_len) . saturating_add ( Self :: encoded_size ( elem_len) ) ;
1090+ ( count + 1 , total_size. saturating_add ( elem_size) )
10901091 } ,
10911092 ) ;
10921093 let witness_size = if count > 0 { total_size + Self :: encoded_size ( count) } else { 0 } ;
@@ -1103,21 +1104,22 @@ impl InputWeightPrediction {
11031104 /// `new` and thus is intended to be only used in `const` context.
11041105 pub const fn from_slice ( input_script_len : usize , witness_element_lengths : & [ usize ] ) -> Self {
11051106 let mut i = 0 ;
1106- let mut total_size = 0 ;
1107+ let mut total_size: u32 = 0 ;
11071108 // for loops not supported in const fn
11081109 while i < witness_element_lengths. len ( ) {
11091110 let elem_len = witness_element_lengths[ i] ;
1110- let elem_size = Self :: saturate_to_u32 ( elem_len) + Self :: encoded_size ( elem_len) ;
1111- total_size += elem_size;
1111+ let elem_size =
1112+ Self :: saturate_to_u32 ( elem_len) . saturating_add ( Self :: encoded_size ( elem_len) ) ;
1113+ total_size = total_size. saturating_add ( elem_size) ;
11121114 i += 1 ;
11131115 }
11141116 let witness_size = if !witness_element_lengths. is_empty ( ) {
1115- total_size + Self :: encoded_size ( witness_element_lengths. len ( ) )
1117+ total_size. saturating_add ( Self :: encoded_size ( witness_element_lengths. len ( ) ) )
11161118 } else {
11171119 0
11181120 } ;
1119- let script_size =
1120- Self :: saturate_to_u32 ( input_script_len ) + Self :: encoded_size ( input_script_len) ;
1121+ let script_size = Self :: saturate_to_u32 ( input_script_len )
1122+ . saturating_add ( Self :: encoded_size ( input_script_len) ) ;
11211123
11221124 InputWeightPrediction { script_size, witness_size }
11231125 }
0 commit comments