Skip to content

Commit fb2bbf3

Browse files
committed
Add RefundingV2 phase (for splicing)
1 parent e254fbe commit fb2bbf3

File tree

3 files changed

+327
-263
lines changed

3 files changed

+327
-263
lines changed

lightning/src/ln/channel.rs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1130,6 +1130,9 @@ pub(super) enum ChannelPhase<SP: Deref> where SP::Target: SignerProvider {
11301130
#[allow(dead_code)] // TODO(dual_funding): Remove once accepting V2 channels is enabled.
11311131
UnfundedInboundV2(InboundV2Channel<SP>),
11321132
Funded(Channel<SP>),
1133+
#[cfg(splicing)]
1134+
/// Used during splicing, channel is funded but a new funding is being renegotiated.
1135+
RefundingV2(Channel<SP>),
11331136
}
11341137

11351138
impl<'a, SP: Deref> ChannelPhase<SP> where
@@ -1143,6 +1146,8 @@ impl<'a, SP: Deref> ChannelPhase<SP> where
11431146
ChannelPhase::UnfundedInboundV1(chan) => &chan.context,
11441147
ChannelPhase::UnfundedOutboundV2(chan) => &chan.context,
11451148
ChannelPhase::UnfundedInboundV2(chan) => &chan.context,
1149+
#[cfg(splicing)]
1150+
ChannelPhase::RefundingV2(chan) => &chan.context,
11461151
}
11471152
}
11481153

@@ -1153,6 +1158,26 @@ impl<'a, SP: Deref> ChannelPhase<SP> where
11531158
ChannelPhase::UnfundedInboundV1(ref mut chan) => &mut chan.context,
11541159
ChannelPhase::UnfundedOutboundV2(ref mut chan) => &mut chan.context,
11551160
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
11561181
}
11571182
}
11581183
}

0 commit comments

Comments
 (0)