@@ -1130,6 +1130,9 @@ pub(super) enum ChannelPhase<SP: Deref> where SP::Target: SignerProvider {
1130
1130
#[allow(dead_code)] // TODO(dual_funding): Remove once accepting V2 channels is enabled.
1131
1131
UnfundedInboundV2(InboundV2Channel<SP>),
1132
1132
Funded(Channel<SP>),
1133
+ #[cfg(splicing)]
1134
+ /// Used during splicing, channel is funded but a new funding is being renegotiated.
1135
+ RefundingV2(Channel<SP>),
1133
1136
}
1134
1137
1135
1138
impl<'a, SP: Deref> ChannelPhase<SP> where
@@ -1143,6 +1146,8 @@ impl<'a, SP: Deref> ChannelPhase<SP> where
1143
1146
ChannelPhase::UnfundedInboundV1(chan) => &chan.context,
1144
1147
ChannelPhase::UnfundedOutboundV2(chan) => &chan.context,
1145
1148
ChannelPhase::UnfundedInboundV2(chan) => &chan.context,
1149
+ #[cfg(splicing)]
1150
+ ChannelPhase::RefundingV2(chan) => &chan.context,
1146
1151
}
1147
1152
}
1148
1153
@@ -1153,6 +1158,26 @@ impl<'a, SP: Deref> ChannelPhase<SP> where
1153
1158
ChannelPhase::UnfundedInboundV1(ref mut chan) => &mut chan.context,
1154
1159
ChannelPhase::UnfundedOutboundV2(ref mut chan) => &mut chan.context,
1155
1160
ChannelPhase::UnfundedInboundV2(ref mut chan) => &mut chan.context,
1161
+ #[cfg(splicing)]
1162
+ ChannelPhase::RefundingV2(ref mut chan) => &mut chan.context,
1163
+ }
1164
+ }
1165
+
1166
+ pub fn funded_channel(&self) -> Option<&Channel<SP>> {
1167
+ match self {
1168
+ ChannelPhase::Funded(chan) => Some(&chan),
1169
+ #[cfg(splicing)]
1170
+ ChannelPhase::RefundingV2(chan) => Some(&chan),
1171
+ _ => None
1172
+ }
1173
+ }
1174
+
1175
+ pub fn funded_channel_mut(&mut self) -> Option<&mut Channel<SP>> {
1176
+ match self {
1177
+ ChannelPhase::Funded(ref mut chan) => Some(chan),
1178
+ #[cfg(splicing)]
1179
+ ChannelPhase::RefundingV2(ref mut chan) => Some(chan),
1180
+ _ => None
1156
1181
}
1157
1182
}
1158
1183
}
0 commit comments