Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
ee2467b
Stop persisting QuiescentAction and remove legacy code
jkczyz Feb 10, 2026
ea7efe0
f - remove QuiescentAction reading
jkczyz Feb 25, 2026
383bbc8
f - rename send_splice_init_internal
jkczyz Feb 25, 2026
ce35601
Split InteractiveTxConstructor::new into outbound/inbound variants
jkczyz Feb 12, 2026
079bd5d
f - remove initiator_first_message
jkczyz Feb 25, 2026
f786b81
Adjust FundingContribution for acceptor
jkczyz Feb 19, 2026
3531839
f - rewrite docs
jkczyz Feb 25, 2026
f88b567
Include change output weight in estimate_transaction_fee
jkczyz Feb 23, 2026
396f5c8
Contribute to splice as acceptor
jkczyz Feb 10, 2026
af0f73e
f - log feerate
jkczyz Feb 25, 2026
f878905
Refactor complete_interactive_funding_negotiation_for_both
jkczyz Feb 25, 2026
f17bfbb
Accept tx_init_rbf for pending splice transactions
jkczyz Feb 18, 2026
76555a8
Allow multiple RBF splice candidates in channel monitor
jkczyz Feb 19, 2026
94719fb
Add rbf_channel API for initiating splice RBF
jkczyz Feb 19, 2026
aca94c5
f - allow stfu for splice RBF
jkczyz Feb 25, 2026
69deba8
Send tx_init_rbf instead of splice_init when a splice is pending
jkczyz Feb 19, 2026
e29eb29
Handle tx_ack_rbf on the initiator side
jkczyz Feb 19, 2026
b6f81af
fixup! Handle tx_ack_rbf on the initiator side
jkczyz Feb 25, 2026
49e1730
Test end-to-end RBF splice initiator flow
jkczyz Feb 19, 2026
5eb112d
Allow acceptor contribution to RBF splice via tx_init_rbf
jkczyz Feb 19, 2026
68bef73
Preserve our funding contribution across counterparty RBF attempts
jkczyz Feb 23, 2026
3374bab
Add tests for re-using prior contribution on counterparty RBF
jkczyz Feb 23, 2026
70a7278
Add test for sequential RBF splice attempts
jkczyz Feb 23, 2026
dce4b35
Consider prior contributions when filtering unique inputs/outputs
jkczyz Feb 24, 2026
47baf7c
Filter prior contributions from SpliceFundingFailed events
jkczyz Feb 25, 2026
97858df
Add tests for prior-contribution filtering in SpliceFundingFailed events
jkczyz Feb 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions lightning/src/chain/channelmonitor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4039,9 +4039,14 @@ impl<Signer: EcdsaChannelSigner> ChannelMonitorImpl<Signer> {
}

if let Some(parent_funding_txid) = channel_parameters.splice_parent_funding_txid.as_ref() {
// Only one splice can be negotiated at a time after we've exchanged `channel_ready`
// (implying our funding is confirmed) that spends our currently locked funding.
if !self.pending_funding.is_empty() {
// Multiple RBF candidates for the same splice are allowed (they share the same
// parent funding txid). A new splice with a different parent while one is pending
// is not allowed.
let has_different_parent = self.pending_funding.iter().any(|funding| {
funding.channel_parameters.splice_parent_funding_txid.as_ref()
!= Some(parent_funding_txid)
});
if has_different_parent {
log_error!(
logger,
"Negotiated splice while channel is pending channel_ready/splice_locked"
Expand Down
Loading
Loading