Skip to content

Commit c3f51ea

Browse files
committed
Add RefundingV2 phase (for splicing)
1 parent 8349a29 commit c3f51ea

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
@@ -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

11371140
impl<'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

Comments
 (0)