Merge pull request #1316 from TheBlueMatt/2022-02-no-fuzztarget
authorMatt Corallo <649246+TheBlueMatt@users.noreply.github.com>
Fri, 18 Feb 2022 19:18:30 +0000 (19:18 +0000)
committerGitHub <noreply@github.com>
Fri, 18 Feb 2022 19:18:30 +0000 (19:18 +0000)
Drop `fuzztarget` feature entirely

1  2 
lightning/src/ln/channelmanager.rs

index 8d15e0793d95523d8066f4042cdc0d6782ea2030,6d8f5de28c8e32a770bd5cacfb6fc57ddb6f76b3..b47caa6aec42d10b54e2526c64c64699b6a11dd7
@@@ -1788,7 -1788,7 +1788,7 @@@ impl<Signer: Sign, M: Deref, T: Deref, 
                let mut channel_state = self.channel_state.lock().unwrap();
                match channel_state.by_id.entry(temporary_channel_id) {
                        hash_map::Entry::Occupied(_) => {
-                               if cfg!(feature = "fuzztarget") {
+                               if cfg!(fuzzing) {
                                        return Err(APIError::APIMisuseError { err: "Fuzzy bad RNG".to_owned() });
                                } else {
                                        panic!("RNG is bad???");
  
                                                                macro_rules! check_total_value {
                                                                        ($payment_data_total_msat: expr, $payment_secret: expr, $payment_preimage: expr) => {{
 -                                                                              let mut total_value = 0;
                                                                                let mut payment_received_generated = false;
                                                                                let htlcs = channel_state.claimable_htlcs.entry(payment_hash)
                                                                                        .or_insert(Vec::new());
                                                                                                continue
                                                                                        }
                                                                                }
 -                                                                              htlcs.push(claimable_htlc);
 +                                                                              let mut total_value = claimable_htlc.value;
                                                                                for htlc in htlcs.iter() {
                                                                                        total_value += htlc.value;
                                                                                        match &htlc.onion_payload {
                                                                                if total_value >= msgs::MAX_VALUE_MSAT || total_value > $payment_data_total_msat {
                                                                                        log_trace!(self.logger, "Failing HTLCs with payment_hash {} as the total value {} ran over expected value {} (or HTLCs were inconsistent)",
                                                                                                log_bytes!(payment_hash.0), total_value, $payment_data_total_msat);
 -                                                                                      for htlc in htlcs.iter() {
 -                                                                                              fail_htlc!(htlc);
 -                                                                                      }
 +                                                                                      fail_htlc!(claimable_htlc);
                                                                                } else if total_value == $payment_data_total_msat {
 +                                                                                      htlcs.push(claimable_htlc);
                                                                                        new_events.push(events::Event::PaymentReceived {
                                                                                                payment_hash,
                                                                                                purpose: events::PaymentPurpose::InvoicePayment {
                                                                                        // Nothing to do - we haven't reached the total
                                                                                        // payment value yet, wait until we receive more
                                                                                        // MPP parts.
 +                                                                                      htlcs.push(claimable_htlc);
                                                                                }
                                                                                payment_received_generated
                                                                        }}
        /// In chanmon_consistency_target, we'd like to be able to restore monitor updating without
        /// handling all pending events (i.e. not PendingHTLCsForwardable). Thus, we expose monitor
        /// update events as a separate process method here.
-       #[cfg(feature = "fuzztarget")]
+       #[cfg(fuzzing)]
        pub fn process_monitor_events(&self) {
                self.process_pending_monitor_events();
        }
                }
        }
  
-       #[cfg(any(test, feature = "fuzztarget", feature = "_test_utils"))]
+       #[cfg(any(test, fuzzing, feature = "_test_utils"))]
        pub fn get_and_clear_pending_events(&self) -> Vec<events::Event> {
                let events = core::cell::RefCell::new(Vec::new());
                let event_handler = |event: &events::Event| events.borrow_mut().push(event.clone());