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=d5d4337edc111852c83ab1dd68299bc308759673;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 ccd254057..4f5cfa147 100644 --- a/lightning/src/ln/chanmon_update_fail_tests.rs +++ b/lightning/src/ln/chanmon_update_fail_tests.rs @@ -1863,3 +1863,7 @@ fn test_path_paused_mpp() { claim_payment_along_route_with_secret(&nodes[0], &[&[&nodes[1], &nodes[3]], &[&nodes[2], &nodes[3]]], false, payment_preimage, Some(payment_secret), 200_000); } + +//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 151564e55..306d4c595 100644 --- a/lightning/src/ln/channel.rs +++ b/lightning/src/ln/channel.rs @@ -2493,6 +2493,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(logger)) } 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 b5b8d890b..0a8eb761e 100644 --- a/lightning/src/ln/channelmanager.rs +++ b/lightning/src/ln/channelmanager.rs @@ -1345,6 +1345,8 @@ impl /// bit set (either as required or as available). If multiple paths are present in the Route, /// we assume the invoice had the basic_mpp feature set. pub fn send_payment(&self, route: &Route, payment_hash: PaymentHash, payment_secret: &Option) -> 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"})); }