From: Matt Corallo Date: Mon, 17 Dec 2018 17:13:03 +0000 (-0500) Subject: Add TODOs X-Git-Url: http://git.bitcoin.ninja/?a=commitdiff_plain;h=1714065a323a88eb323b859ae3b925d35ec0b46e;p=rust-lightning Add TODOs --- diff --git a/lightning/src/ln/chanmon_update_fail_tests.rs b/lightning/src/ln/chanmon_update_fail_tests.rs index 1b2329041..d8104989b 100644 --- a/lightning/src/ln/chanmon_update_fail_tests.rs +++ b/lightning/src/ln/chanmon_update_fail_tests.rs @@ -1721,3 +1721,7 @@ fn during_funding_monitor_fail() { do_during_funding_monitor_fail(true, true, true, true, false); do_during_funding_monitor_fail(true, true, false, false, false); } + +//TODO: Add a test that creates a channel, but in the inbound direction the monitor update fails to +//persist on funding_signed, but the channelmanager gets persisted, and then when we reload it from +//disk, we need to make sure the channel gets closed! diff --git a/lightning/src/ln/channel.rs b/lightning/src/ln/channel.rs index ed984ab8f..80c8de17a 100644 --- a/lightning/src/ln/channel.rs +++ b/lightning/src/ln/channel.rs @@ -2351,6 +2351,7 @@ debug_assert!(false, "This should be triggerable, and we should add a test case let commitment_update = if self.monitor_pending_commitment_signed { Some(self.get_last_commitment_update()) } else { None }; +//XXX: Should we free_holding_cell_htlcs() here if we dont need a cs normally? self.monitor_pending_revoke_and_ack = false; self.monitor_pending_commitment_signed = false; diff --git a/lightning/src/ln/channelmanager.rs b/lightning/src/ln/channelmanager.rs index bcde81dd9..28e8cba40 100644 --- a/lightning/src/ln/channelmanager.rs +++ b/lightning/src/ln/channelmanager.rs @@ -1232,6 +1232,8 @@ impl ChannelManager where M::T /// If a payment_secret *is* provided, we assume that the invoice had the basic_mpp feature bit /// set (either as required or as available). pub fn send_payment(&self, route: Route, payment_hash: PaymentHash, payment_secret: Option<&[u8; 32]>) -> Result<(), PaymentSendFailure> { +// TODO: Check CLTV value is sane cause it may be a timestamp +// TODO: Send out via future-async-forwardable, not instantly! if route.paths.len() < 1 { return Err(PaymentSendFailure::ParameterError(APIError::RouteError{err: "There must be at least one path to send over"})); }