Skip to content

Commit 9164f7e

Browse files
committed
Add debug assertion in Channel::funding_signed
This is a sanity check that ChannelPhase and ChannelState do not go out of sync.
1 parent e93aa01 commit 9164f7e

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

lightning/src/ln/channel.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1392,13 +1392,16 @@ impl<SP: Deref> Channel<SP> where
13921392
{
13931393
let phase = core::mem::replace(&mut self.phase, ChannelPhase::Undefined);
13941394
let result = if let ChannelPhase::UnfundedOutboundV1(chan) = phase {
1395+
let channel_state = chan.context.channel_state;
13951396
let logger = WithChannelContext::from(logger, &chan.context, None);
13961397
match chan.funding_signed(msg, best_block, signer_provider, &&logger) {
13971398
Ok((chan, monitor)) => {
1399+
debug_assert!(matches!(chan.context.channel_state, ChannelState::AwaitingChannelReady(_)));
13981400
self.phase = ChannelPhase::Funded(chan);
13991401
Ok(monitor)
14001402
},
14011403
Err((chan, e)) => {
1404+
debug_assert_eq!(chan.context.channel_state, channel_state);
14021405
self.phase = ChannelPhase::UnfundedOutboundV1(chan);
14031406
Err(e)
14041407
},

0 commit comments

Comments
 (0)