From 1714065a323a88eb323b859ae3b925d35ec0b46e Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Mon, 17 Dec 2018 12:13:03 -0500 Subject: [PATCH] Add TODOs --- lightning/src/ln/chanmon_update_fail_tests.rs | 4 ++++ lightning/src/ln/channel.rs | 1 + lightning/src/ln/channelmanager.rs | 2 ++ 3 files changed, 7 insertions(+) diff --git a/lightning/src/ln/chanmon_update_fail_tests.rs b/lightning/src/ln/chanmon_update_fail_tests.rs index 1b232904..d8104989 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 ed984ab8..80c8de17 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 bcde81dd..28e8cba4 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"})); } -- 2.30.2