@@ -126,6 +126,7 @@ pub use error::Error as NodeError;
126126use error:: Error ;
127127pub use event:: Event ;
128128use event:: { EventHandler , EventQueue } ;
129+ use fee_estimator:: { ConfirmationTarget , FeeEstimator , OnchainFeeEstimator } ;
129130#[ cfg( feature = "uniffi" ) ]
130131use ffi:: * ;
131132use gossip:: GossipSource ;
@@ -181,6 +182,7 @@ pub struct Node {
181182 wallet : Arc < Wallet > ,
182183 chain_source : Arc < ChainSource > ,
183184 tx_broadcaster : Arc < Broadcaster > ,
185+ fee_estimator : Arc < OnchainFeeEstimator > ,
184186 event_queue : Arc < EventQueue < Arc < Logger > > > ,
185187 channel_manager : Arc < ChannelManager > ,
186188 chain_monitor : Arc < ChainMonitor > ,
@@ -1270,7 +1272,7 @@ impl Node {
12701272 . to_p2wsh ( ) ,
12711273 } ;
12721274
1273- let fee_rate = self . wallet . estimate_channel_funding_fee_rate ( ) ;
1275+ let fee_rate = self . fee_estimator . estimate_fee_rate ( ConfirmationTarget :: ChannelFunding ) ;
12741276
12751277 let inputs = self
12761278 . wallet
@@ -1289,7 +1291,13 @@ impl Node {
12891291 change_script : None ,
12901292 } ;
12911293
1292- let funding_feerate_per_kw = fee_rate. to_sat_per_kwu ( ) . try_into ( ) . unwrap_or ( u32:: MAX ) ;
1294+ let funding_feerate_per_kw: u32 = match fee_rate. to_sat_per_kwu ( ) . try_into ( ) {
1295+ Ok ( fee_rate) => fee_rate,
1296+ Err ( _) => {
1297+ debug_assert ! ( false ) ;
1298+ fee_estimator:: get_fallback_rate_for_target ( ConfirmationTarget :: ChannelFunding )
1299+ } ,
1300+ } ;
12931301
12941302 self . channel_manager
12951303 . splice_channel (
0 commit comments