@@ -34,6 +34,7 @@ use rustls::{
34
34
35
35
#[ cfg( any( feature = "default" , feature = "proxy" ) ) ]
36
36
use crate :: socks:: { Socks5Stream , TargetAddr , ToTargetAddr } ;
37
+ use crate :: utils:: convert_fee_rate;
37
38
38
39
use stream:: ClonableStream ;
39
40
@@ -847,6 +848,7 @@ impl<T: Read + Write> ElectrumApi for RawClient<T> {
847
848
848
849
result
849
850
. as_f64 ( )
851
+ . map ( convert_fee_rate)
850
852
. ok_or_else ( || Error :: InvalidResponse ( result. clone ( ) ) )
851
853
}
852
854
@@ -860,6 +862,7 @@ impl<T: Read + Write> ElectrumApi for RawClient<T> {
860
862
861
863
result
862
864
. as_f64 ( )
865
+ . map ( convert_fee_rate)
863
866
. ok_or_else ( || Error :: InvalidResponse ( result. clone ( ) ) )
864
867
}
865
868
@@ -1046,7 +1049,9 @@ impl<T: Read + Write> ElectrumApi for RawClient<T> {
1046
1049
I : IntoIterator + Clone ,
1047
1050
I :: Item : Borrow < usize > ,
1048
1051
{
1049
- impl_batch_call ! ( self , numbers, estimate_fee, apply_deref)
1052
+ let fee_rate_vec: Result < Vec < f64 > , Error > =
1053
+ impl_batch_call ! ( self , numbers, estimate_fee, apply_deref) ;
1054
+ Ok ( fee_rate_vec?. into_iter ( ) . map ( convert_fee_rate) . collect ( ) )
1050
1055
}
1051
1056
1052
1057
fn transaction_broadcast_raw ( & self , raw_tx : & [ u8 ] ) -> Result < Txid , Error > {
@@ -1129,12 +1134,13 @@ mod test {
1129
1134
assert_eq ! ( resp. hash_function, Some ( "sha256" . into( ) ) ) ;
1130
1135
assert_eq ! ( resp. pruning, None ) ;
1131
1136
}
1137
+
1132
1138
#[ test]
1133
1139
fn test_relay_fee ( ) {
1134
1140
let client = RawClient :: new ( get_test_server ( ) , None ) . unwrap ( ) ;
1135
1141
1136
1142
let resp = client. relay_fee ( ) . unwrap ( ) ;
1137
- assert_eq ! ( resp, 0.00001 ) ;
1143
+ assert ! ( resp > 1.0 && resp < 1.000001 ) ;
1138
1144
}
1139
1145
1140
1146
#[ test]
0 commit comments