Skip to content

Commit 257ee89

Browse files
committed
f - consistent checks for open channel
We were only checking point.is_available() on the signer unblocked case, but should just check it whenever we're getting open_channel.
1 parent 319717d commit 257ee89

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

lightning/src/ln/channel.rs

+18-18
Original file line numberDiff line numberDiff line change
@@ -8428,17 +8428,20 @@ impl<SP: Deref> OutboundV1Channel<SP> where SP::Target: SignerProvider {
84288428
panic!("Tried to send an open_channel for a channel that has already advanced");
84298429
}
84308430

8431-
let first_per_commitment_point = if let Some(holder_commitment_point) = self.unfunded_context.holder_commitment_point {
8432-
self.signer_pending_open_channel = false;
8433-
holder_commitment_point.current_point()
8434-
} else {
8435-
#[cfg(not(async_signing))] {
8436-
panic!("Failed getting commitment point for open_channel message");
8437-
}
8438-
#[cfg(async_signing)] {
8439-
log_trace!(_logger, "Unable to generate open_channel message, waiting for commitment point");
8440-
self.signer_pending_open_channel = true;
8441-
return None;
8431+
let first_per_commitment_point = match self.unfunded_context.holder_commitment_point {
8432+
Some(holder_commitment_point) if holder_commitment_point.is_available() => {
8433+
self.signer_pending_open_channel = false;
8434+
holder_commitment_point.current_point()
8435+
},
8436+
_ => {
8437+
#[cfg(not(async_signing))] {
8438+
panic!("Failed getting commitment point for open_channel message");
8439+
}
8440+
#[cfg(async_signing)] {
8441+
log_trace!(_logger, "Unable to generate open_channel message, waiting for commitment point");
8442+
self.signer_pending_open_channel = true;
8443+
return None;
8444+
}
84428445
}
84438446
};
84448447
let keys = self.context.get_holder_pubkeys();
@@ -8539,13 +8542,10 @@ impl<SP: Deref> OutboundV1Channel<SP> where SP::Target: SignerProvider {
85398542
point.try_resolve_pending(&self.context.holder_signer, &self.context.secp_ctx, logger);
85408543
}
85418544
}
8542-
let open_channel = match self.unfunded_context.holder_commitment_point {
8543-
Some(ref mut point) if point.is_available() && self.signer_pending_open_channel => {
8544-
log_trace!(logger, "Attempting to generate open_channel...");
8545-
self.get_open_channel(chain_hash, logger)
8546-
}
8547-
_ => None
8548-
};
8545+
let open_channel = if self.signer_pending_open_channel {
8546+
log_trace!(logger, "Attempting to generate open_channel...");
8547+
self.get_open_channel(chain_hash, logger)
8548+
} else { None };
85498549
let funding_created = if self.context.signer_pending_funding && self.context.is_outbound() {
85508550
log_trace!(logger, "Attempting to generate pending funding created...");
85518551
self.context.signer_pending_funding = false;

0 commit comments

Comments
 (0)