@@ -10536,25 +10536,29 @@ where
10536
10536
}
10537
10537
10538
10538
/// Check that post-splicing balance meets reserve requirements, but only if it met it pre-splice as well
10539
+ /// Check that post-splicing balance meets reserve requirements, but only if it met it pre-splice as well.
10540
+ /// Returns the minimum channel reserve (sats)
10539
10541
#[cfg(splicing)]
10540
10542
pub fn check_splice_balance_meets_v2_reserve_requirement_noerr(
10541
10543
&self, pre_balance: u64, post_balance: u64, pre_channel_value: u64,
10542
10544
post_channel_value: u64, dust_limit: u64,
10543
10545
) -> Result<(), u64> {
10544
- let post_channel_reserve = get_v2_channel_reserve_satoshis(post_channel_value, dust_limit);
10545
- if post_balance >= post_channel_reserve {
10546
+ let post_channel_reserve_sats =
10547
+ get_v2_channel_reserve_satoshis(post_channel_value, dust_limit);
10548
+ if post_balance >= post_channel_reserve_sats * 1000 {
10546
10549
return Ok(());
10547
10550
}
10548
- let pre_channel_reserve = get_v2_channel_reserve_satoshis(pre_channel_value, dust_limit);
10549
- if pre_balance >= pre_channel_reserve {
10551
+ let pre_channel_reserve_sats =
10552
+ get_v2_channel_reserve_satoshis(pre_channel_value, dust_limit);
10553
+ if pre_balance >= pre_channel_reserve_sats * 1000 {
10550
10554
// We're not allowed to dip below the reserve once we've been above.
10551
- return Err(post_channel_reserve );
10555
+ return Err(post_channel_reserve_sats );
10552
10556
}
10553
10557
// Make sure we either remain with the same balance or move towards the reserve.
10554
10558
if post_balance >= pre_balance {
10555
10559
Ok(())
10556
10560
} else {
10557
- Err(post_channel_reserve )
10561
+ Err(post_channel_reserve_sats )
10558
10562
}
10559
10563
}
10560
10564
@@ -10563,33 +10567,34 @@ where
10563
10567
/// to check with new channel value (before being committed to it).
10564
10568
#[cfg(splicing)]
10565
10569
pub fn check_splice_balances_meet_v2_reserve_requirements(
10566
- &self, self_balance_pre: u64, self_balance_post: u64, counterparty_balance_pre: u64,
10567
- counterparty_balance_post: u64, channel_value_pre: u64, channel_value_post: u64,
10570
+ &self, self_balance_pre_msat: u64, self_balance_post_msat: u64,
10571
+ counterparty_balance_pre_msat: u64, counterparty_balance_post_msat: u64,
10572
+ channel_value_pre: u64, channel_value_post: u64,
10568
10573
) -> Result<(), ChannelError> {
10569
10574
let is_ok_self = self.check_splice_balance_meets_v2_reserve_requirement_noerr(
10570
- self_balance_pre ,
10571
- self_balance_post ,
10575
+ self_balance_pre_msat ,
10576
+ self_balance_post_msat ,
10572
10577
channel_value_pre,
10573
10578
channel_value_post,
10574
10579
self.context.holder_dust_limit_satoshis,
10575
10580
);
10576
10581
if let Err(channel_reserve_self) = is_ok_self {
10577
10582
return Err(ChannelError::Warn(format!(
10578
10583
"Balance below reserve, mandated by holder, {} vs {}",
10579
- self_balance_post , channel_reserve_self,
10584
+ self_balance_post_msat , channel_reserve_self,
10580
10585
)));
10581
10586
}
10582
10587
let is_ok_cp = self.check_splice_balance_meets_v2_reserve_requirement_noerr(
10583
- counterparty_balance_pre ,
10584
- counterparty_balance_post ,
10588
+ counterparty_balance_pre_msat ,
10589
+ counterparty_balance_post_msat ,
10585
10590
channel_value_pre,
10586
10591
channel_value_post,
10587
10592
self.context.counterparty_dust_limit_satoshis,
10588
10593
);
10589
10594
if let Err(channel_reserve_cp) = is_ok_cp {
10590
10595
return Err(ChannelError::Warn(format!(
10591
10596
"Balance below reserve mandated by counterparty, {} vs {}",
10592
- counterparty_balance_post , channel_reserve_cp,
10597
+ counterparty_balance_post_msat , channel_reserve_cp,
10593
10598
)));
10594
10599
}
10595
10600
Ok(())
0 commit comments