@@ -749,21 +749,19 @@ impl<'a> DirectedChannelInfo<'a> {
749749 let htlc_maximum_msat = direction. and_then ( |direction| direction. htlc_maximum_msat ) ;
750750 let capacity_msat = channel. capacity_sats . map ( |capacity_sats| capacity_sats * 1000 ) ;
751751
752- let effective_capacity = capacity_msat
753- . map ( |capacity_msat| EffectiveCapacity :: Total { capacity_msat } )
754- . or_else ( || direction. and_then ( |direction| direction. htlc_maximum_msat )
755- . map ( |amount_msat| EffectiveCapacity :: MaximumHTLC { amount_msat } ) )
756- . unwrap_or ( EffectiveCapacity :: Unknown ) ;
757-
758- // TODO: Replace with Option::zip when MSRV is 1.46
759- let htlc_maximum_msat = match ( htlc_maximum_msat, capacity_msat) {
760- ( Some ( a) , Some ( b) ) => Some ( ( a, b) ) ,
761- _ => None ,
762- }
763- . map ( |( htlc_maximum_msat, capacity_msat) | cmp:: min ( htlc_maximum_msat, capacity_msat) )
764- . or_else ( || htlc_maximum_msat)
765- . or_else ( || capacity_msat)
766- . unwrap_or ( EffectiveCapacity :: Unknown . as_msat ( ) ) ;
752+ let ( htlc_maximum_msat, effective_capacity) = match ( htlc_maximum_msat, capacity_msat) {
753+ ( Some ( amount_msat) , Some ( capacity_msat) ) => {
754+ let htlc_maximum_msat = cmp:: min ( amount_msat, capacity_msat) ;
755+ ( htlc_maximum_msat, EffectiveCapacity :: Total { capacity_msat } )
756+ } ,
757+ ( Some ( amount_msat) , None ) => {
758+ ( amount_msat, EffectiveCapacity :: MaximumHTLC { amount_msat } )
759+ } ,
760+ ( None , Some ( capacity_msat) ) => {
761+ ( capacity_msat, EffectiveCapacity :: Total { capacity_msat } )
762+ } ,
763+ ( None , None ) => ( EffectiveCapacity :: Unknown . as_msat ( ) , EffectiveCapacity :: Unknown ) ,
764+ } ;
767765
768766 Self {
769767 channel, direction, htlc_maximum_msat, effective_capacity
0 commit comments