@@ -11092,44 +11092,6 @@ where
11092
11092
))
11093
11093
}
11094
11094
11095
- /// Check that post-splicing balance meets reserve requirements, but only if it met it pre-splice as well.
11096
- /// In case of error, it returns the minimum channel reserve that was violated (in sats)
11097
- #[cfg(splicing)]
11098
- pub fn check_splice_balance_meets_v2_reserve_requirement(
11099
- &self, pre_balance_msat: u64, post_balance_msat: u64, pre_channel_value_sats: u64,
11100
- post_channel_value_sats: u64, dust_limit_sats: u64,
11101
- ) -> Result<(), u64> {
11102
- let post_channel_reserve_sats =
11103
- get_v2_channel_reserve_satoshis(post_channel_value_sats, dust_limit_sats);
11104
- if post_balance_msat >= (post_channel_reserve_sats * 1000) {
11105
- return Ok(());
11106
- }
11107
- // We're not allowed to dip below the reserve once we've been above,
11108
- // check differently for originally v1 and v2 channels
11109
- if self.is_v2_established() {
11110
- let pre_channel_reserve_sats =
11111
- get_v2_channel_reserve_satoshis(pre_channel_value_sats, dust_limit_sats);
11112
- if pre_balance_msat >= (pre_channel_reserve_sats * 1000) {
11113
- return Err(post_channel_reserve_sats);
11114
- }
11115
- } else {
11116
- if pre_balance_msat >= (self.funding.holder_selected_channel_reserve_satoshis * 1000) {
11117
- return Err(post_channel_reserve_sats);
11118
- }
11119
- if let Some(cp_reserve) = self.funding.counterparty_selected_channel_reserve_satoshis {
11120
- if pre_balance_msat >= (cp_reserve * 1000) {
11121
- return Err(post_channel_reserve_sats);
11122
- }
11123
- }
11124
- }
11125
- // Make sure we either remain with the same balance or move towards the reserve.
11126
- if post_balance_msat >= pre_balance_msat {
11127
- Ok(())
11128
- } else {
11129
- Err(post_channel_reserve_sats)
11130
- }
11131
- }
11132
-
11133
11095
/// Check that balances (self and counterparty) meet the channel reserve requirements or violates them (below reserve).
11134
11096
/// The channel value is an input as opposed to using from the FundingScope, so that this can be used in case of splicing
11135
11097
/// to check with new channel value (before being committed to it).
@@ -11168,6 +11130,44 @@ where
11168
11130
Ok(())
11169
11131
}
11170
11132
11133
+ /// Check that post-splicing balance meets reserve requirements, but only if it met it pre-splice as well.
11134
+ /// In case of error, it returns the minimum channel reserve that was violated (in sats)
11135
+ #[cfg(splicing)]
11136
+ pub fn check_splice_balance_meets_v2_reserve_requirement(
11137
+ &self, pre_balance_msat: u64, post_balance_msat: u64, pre_channel_value_sats: u64,
11138
+ post_channel_value_sats: u64, dust_limit_sats: u64,
11139
+ ) -> Result<(), u64> {
11140
+ let post_channel_reserve_sats =
11141
+ get_v2_channel_reserve_satoshis(post_channel_value_sats, dust_limit_sats);
11142
+ if post_balance_msat >= (post_channel_reserve_sats * 1000) {
11143
+ return Ok(());
11144
+ }
11145
+ // We're not allowed to dip below the reserve once we've been above,
11146
+ // check differently for originally v1 and v2 channels
11147
+ if self.is_v2_established() {
11148
+ let pre_channel_reserve_sats =
11149
+ get_v2_channel_reserve_satoshis(pre_channel_value_sats, dust_limit_sats);
11150
+ if pre_balance_msat >= (pre_channel_reserve_sats * 1000) {
11151
+ return Err(post_channel_reserve_sats);
11152
+ }
11153
+ } else {
11154
+ if pre_balance_msat >= (self.funding.holder_selected_channel_reserve_satoshis * 1000) {
11155
+ return Err(post_channel_reserve_sats);
11156
+ }
11157
+ if let Some(cp_reserve) = self.funding.counterparty_selected_channel_reserve_satoshis {
11158
+ if pre_balance_msat >= (cp_reserve * 1000) {
11159
+ return Err(post_channel_reserve_sats);
11160
+ }
11161
+ }
11162
+ }
11163
+ // Make sure we either remain with the same balance or move towards the reserve.
11164
+ if post_balance_msat >= pre_balance_msat {
11165
+ Ok(())
11166
+ } else {
11167
+ Err(post_channel_reserve_sats)
11168
+ }
11169
+ }
11170
+
11171
11171
// Send stuff to our remote peers:
11172
11172
11173
11173
/// Queues up an outbound HTLC to send by placing it in the holding cell. You should call
0 commit comments