+/// Triggers rebroadcasts of pending claims from a force-closed channel after a transaction
+/// signature generation failure.
+#[no_mangle]
+pub extern "C" fn ChannelMonitor_signer_unblocked(this_arg: &crate::lightning::chain::channelmonitor::ChannelMonitor, mut broadcaster: crate::lightning::chain::chaininterface::BroadcasterInterface, mut fee_estimator: crate::lightning::chain::chaininterface::FeeEstimator, logger: &crate::lightning::util::logger::Logger) {
+ unsafe { &*ObjOps::untweak_ptr(this_arg.inner) }.signer_unblocked(broadcaster, fee_estimator, logger)
+}
+
+/// Returns the descriptors for relevant outputs (i.e., those that we can spend) within the
+/// transaction if they exist and the transaction has at least [`ANTI_REORG_DELAY`]
+/// confirmations. For [`SpendableOutputDescriptor::DelayedPaymentOutput`] descriptors to be
+/// returned, the transaction must have at least `max(ANTI_REORG_DELAY, to_self_delay)`
+/// confirmations.
+///
+/// Descriptors returned by this method are primarily exposed via [`Event::SpendableOutputs`]
+/// once they are no longer under reorg risk. This method serves as a way to retrieve these
+/// descriptors at a later time, either for historical purposes, or to replay any
+/// missed/unhandled descriptors. For the purpose of gathering historical records, if the
+/// channel close has fully resolved (i.e., [`ChannelMonitor::get_claimable_balances`] returns
+/// an empty set), you can retrieve all spendable outputs by providing all descendant spending
+/// transactions starting from the channel's funding transaction and going down three levels.
+///
+/// `tx` is a transaction we'll scan the outputs of. Any transaction can be provided. If any
+/// outputs which can be spent by us are found, at least one descriptor is returned.
+///
+/// `confirmation_height` must be the height of the block in which `tx` was included in.
+#[must_use]
+#[no_mangle]
+pub extern "C" fn ChannelMonitor_get_spendable_outputs(this_arg: &crate::lightning::chain::channelmonitor::ChannelMonitor, mut tx: crate::c_types::Transaction, mut confirmation_height: u32) -> crate::c_types::derived::CVec_SpendableOutputDescriptorZ {
+ let mut ret = unsafe { &*ObjOps::untweak_ptr(this_arg.inner) }.get_spendable_outputs(&tx.into_bitcoin(), confirmation_height);
+ let mut local_ret = Vec::new(); for mut item in ret.drain(..) { local_ret.push( { crate::lightning::sign::SpendableOutputDescriptor::native_into(item) }); };
+ local_ret.into()
+}
+
+/// Checks if the monitor is fully resolved. Resolved monitor is one that has claimed all of
+/// its outputs and balances (i.e. [`Self::get_claimable_balances`] returns an empty set).
+///
+/// This function returns true only if [`Self::get_claimable_balances`] has been empty for at least
+/// 4032 blocks as an additional protection against any bugs resulting in spuriously empty balance sets.
+#[must_use]
+#[no_mangle]
+pub extern "C" fn ChannelMonitor_is_fully_resolved(this_arg: &crate::lightning::chain::channelmonitor::ChannelMonitor, logger: &crate::lightning::util::logger::Logger) -> bool {
+ let mut ret = unsafe { &*ObjOps::untweak_ptr(this_arg.inner) }.is_fully_resolved(logger);
+ ret
+}
+