@@ -1132,6 +1132,9 @@ pub(super) enum ChannelPhase<SP: Deref> where SP::Target: SignerProvider {
11321132 UnfundedOutboundV2(OutboundV2Channel<SP>),
11331133 UnfundedInboundV2(InboundV2Channel<SP>),
11341134 Funded(Channel<SP>),
1135+ #[cfg(splicing)]
1136+ /// Used during splicing, channel is funded but a new funding is being renegotiated.
1137+ RefundingV2(Channel<SP>),
11351138}
11361139
11371140impl<'a, SP: Deref> ChannelPhase<SP> where
@@ -1145,6 +1148,8 @@ impl<'a, SP: Deref> ChannelPhase<SP> where
11451148 ChannelPhase::UnfundedInboundV1(chan) => &chan.context,
11461149 ChannelPhase::UnfundedOutboundV2(chan) => &chan.context,
11471150 ChannelPhase::UnfundedInboundV2(chan) => &chan.context,
1151+ #[cfg(splicing)]
1152+ ChannelPhase::RefundingV2(chan) => &chan.context,
11481153 }
11491154 }
11501155
@@ -1155,6 +1160,26 @@ impl<'a, SP: Deref> ChannelPhase<SP> where
11551160 ChannelPhase::UnfundedInboundV1(ref mut chan) => &mut chan.context,
11561161 ChannelPhase::UnfundedOutboundV2(ref mut chan) => &mut chan.context,
11571162 ChannelPhase::UnfundedInboundV2(ref mut chan) => &mut chan.context,
1163+ #[cfg(splicing)]
1164+ ChannelPhase::RefundingV2(ref mut chan) => &mut chan.context,
1165+ }
1166+ }
1167+
1168+ pub fn funded_channel(&self) -> Option<&Channel<SP>> {
1169+ match self {
1170+ ChannelPhase::Funded(chan) => Some(&chan),
1171+ #[cfg(splicing)]
1172+ ChannelPhase::RefundingV2(chan) => Some(&chan),
1173+ _ => None
1174+ }
1175+ }
1176+
1177+ pub fn funded_channel_mut(&mut self) -> Option<&mut Channel<SP>> {
1178+ match self {
1179+ ChannelPhase::Funded(ref mut chan) => Some(chan),
1180+ #[cfg(splicing)]
1181+ ChannelPhase::RefundingV2(ref mut chan) => Some(chan),
1182+ _ => None
11581183 }
11591184 }
11601185}
0 commit comments