@@ -273,8 +273,14 @@ impl_writeable_tlv_based!(ChannelCounterparty, {
273273
274274/// Details of a channel, as returned by [`ChannelManager::list_channels`] and [`ChannelManager::list_usable_channels`]
275275///
276+ /// Balances of a channel are available through [`ChainMonitor::get_claimable_balances`] and
277+ /// [`ChannelMonitor::get_claimable_balances`], calculated with respect to the corresponding on-chain
278+ /// transactions.
279+ ///
276280/// [`ChannelManager::list_channels`]: crate::ln::channelmanager::ChannelManager::list_channels
277281/// [`ChannelManager::list_usable_channels`]: crate::ln::channelmanager::ChannelManager::list_usable_channels
282+ /// [`ChainMonitor::get_claimable_balances`]: crate::chain::chainmonitor::ChainMonitor::get_claimable_balances
283+ /// [`ChannelMonitor::get_claimable_balances`]: crate::chain::channelmonitor::ChannelMonitor::get_claimable_balances
278284#[ derive( Clone , Debug , PartialEq ) ]
279285pub struct ChannelDetails {
280286 /// The channel's ID (prior to funding transaction generation, this is a random 32 bytes,
@@ -363,6 +369,7 @@ pub struct ChannelDetails {
363369 /// This does not consider any on-chain fees.
364370 ///
365371 /// See also [`ChannelDetails::outbound_capacity_msat`]
372+ #[ deprecated( since = "0.0.124" , note = "use [`ChainMonitor::get_claimable_balances`] instead" ) ]
366373 pub balance_msat : u64 ,
367374 /// The available outbound capacity for sending HTLCs to the remote peer. This does not include
368375 /// any pending HTLCs which are not yet fully resolved (and, thus, whose balance is not
@@ -495,6 +502,7 @@ impl ChannelDetails {
495502 let balance = context. get_available_balances ( fee_estimator) ;
496503 let ( to_remote_reserve_satoshis, to_self_reserve_satoshis) =
497504 context. get_holder_counterparty_selected_channel_reserve_satoshis ( ) ;
505+ #[ allow( deprecated) ] // TODO: Remove once balance_msat is removed.
498506 ChannelDetails {
499507 channel_id : context. channel_id ( ) ,
500508 counterparty : ChannelCounterparty {
@@ -561,38 +569,41 @@ impl Writeable for ChannelDetails {
561569 // versions prior to 0.0.113, the u128 is serialized as two separate u64 values.
562570 let user_channel_id_low = self . user_channel_id as u64 ;
563571 let user_channel_id_high_opt = Some ( ( self . user_channel_id >> 64 ) as u64 ) ;
564- write_tlv_fields ! ( writer, {
565- ( 1 , self . inbound_scid_alias, option) ,
566- ( 2 , self . channel_id, required) ,
567- ( 3 , self . channel_type, option) ,
568- ( 4 , self . counterparty, required) ,
569- ( 5 , self . outbound_scid_alias, option) ,
570- ( 6 , self . funding_txo, option) ,
571- ( 7 , self . config, option) ,
572- ( 8 , self . short_channel_id, option) ,
573- ( 9 , self . confirmations, option) ,
574- ( 10 , self . channel_value_satoshis, required) ,
575- ( 12 , self . unspendable_punishment_reserve, option) ,
576- ( 14 , user_channel_id_low, required) ,
577- ( 16 , self . balance_msat, required) ,
578- ( 18 , self . outbound_capacity_msat, required) ,
579- ( 19 , self . next_outbound_htlc_limit_msat, required) ,
580- ( 20 , self . inbound_capacity_msat, required) ,
581- ( 21 , self . next_outbound_htlc_minimum_msat, required) ,
582- ( 22 , self . confirmations_required, option) ,
583- ( 24 , self . force_close_spend_delay, option) ,
584- ( 26 , self . is_outbound, required) ,
585- ( 28 , self . is_channel_ready, required) ,
586- ( 30 , self . is_usable, required) ,
587- ( 32 , self . is_public, required) ,
588- ( 33 , self . inbound_htlc_minimum_msat, option) ,
589- ( 35 , self . inbound_htlc_maximum_msat, option) ,
590- ( 37 , user_channel_id_high_opt, option) ,
591- ( 39 , self . feerate_sat_per_1000_weight, option) ,
592- ( 41 , self . channel_shutdown_state, option) ,
593- ( 43 , self . pending_inbound_htlcs, optional_vec) ,
594- ( 45 , self . pending_outbound_htlcs, optional_vec) ,
595- } ) ;
572+ #[ allow( deprecated) ] // TODO: Remove once balance_msat is removed.
573+ {
574+ write_tlv_fields ! ( writer, {
575+ ( 1 , self . inbound_scid_alias, option) ,
576+ ( 2 , self . channel_id, required) ,
577+ ( 3 , self . channel_type, option) ,
578+ ( 4 , self . counterparty, required) ,
579+ ( 5 , self . outbound_scid_alias, option) ,
580+ ( 6 , self . funding_txo, option) ,
581+ ( 7 , self . config, option) ,
582+ ( 8 , self . short_channel_id, option) ,
583+ ( 9 , self . confirmations, option) ,
584+ ( 10 , self . channel_value_satoshis, required) ,
585+ ( 12 , self . unspendable_punishment_reserve, option) ,
586+ ( 14 , user_channel_id_low, required) ,
587+ ( 16 , self . balance_msat, required) ,
588+ ( 18 , self . outbound_capacity_msat, required) ,
589+ ( 19 , self . next_outbound_htlc_limit_msat, required) ,
590+ ( 20 , self . inbound_capacity_msat, required) ,
591+ ( 21 , self . next_outbound_htlc_minimum_msat, required) ,
592+ ( 22 , self . confirmations_required, option) ,
593+ ( 24 , self . force_close_spend_delay, option) ,
594+ ( 26 , self . is_outbound, required) ,
595+ ( 28 , self . is_channel_ready, required) ,
596+ ( 30 , self . is_usable, required) ,
597+ ( 32 , self . is_public, required) ,
598+ ( 33 , self . inbound_htlc_minimum_msat, option) ,
599+ ( 35 , self . inbound_htlc_maximum_msat, option) ,
600+ ( 37 , user_channel_id_high_opt, option) ,
601+ ( 39 , self . feerate_sat_per_1000_weight, option) ,
602+ ( 41 , self . channel_shutdown_state, option) ,
603+ ( 43 , self . pending_inbound_htlcs, optional_vec) ,
604+ ( 45 , self . pending_outbound_htlcs, optional_vec) ,
605+ } ) ;
606+ }
596607 Ok ( ( ) )
597608 }
598609}
@@ -640,6 +651,7 @@ impl Readable for ChannelDetails {
640651 let user_channel_id = user_channel_id_low as u128
641652 + ( ( user_channel_id_high_opt. unwrap_or ( 0 as u64 ) as u128 ) << 64 ) ;
642653
654+ #[ allow( deprecated) ] // TODO: Remove once balance_msat is removed.
643655 Ok ( Self {
644656 inbound_scid_alias,
645657 channel_id : channel_id. 0 . unwrap ( ) ,
0 commit comments