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!
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;
/// 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"}));
}