diff --git a/flutter_app/lib/services/blockbook_service.dart b/flutter_app/lib/services/blockbook_service.dart index d7edf5c..f0d7dea 100644 --- a/flutter_app/lib/services/blockbook_service.dart +++ b/flutter_app/lib/services/blockbook_service.dart @@ -193,7 +193,7 @@ class BlockbookService { return rawFee.toInt(); } - return (rawFee * _satsPerCoin).ceil(); + return (rawFee * _satsPerCoin).round(); } if (rawFee is! String || rawFee.trim().isEmpty) return null; @@ -206,7 +206,7 @@ class BlockbookService { final asDouble = double.tryParse(trimmed); if (asDouble != null && asDouble > 0) { - return asDouble >= 1 ? asDouble.toInt() : (asDouble * _satsPerCoin).ceil(); + return asDouble >= 1 ? asDouble.toInt() : (asDouble * _satsPerCoin).round(); } return null; diff --git a/flutter_app/test/blockbook_service_test.dart b/flutter_app/test/blockbook_service_test.dart index ac9f852..e5fc12c 100644 --- a/flutter_app/test/blockbook_service_test.dart +++ b/flutter_app/test/blockbook_service_test.dart @@ -82,6 +82,7 @@ void main() { test('parses decimal fee response to satoshis per kb', () async { final service = BlockbookService( httpClient: MockClient((request) async { + expect(request.url.host, 'blockbook.reddcoin.com'); if (request.url.path.contains('/estimatefee/1')) { return http.Response(json.encode({'result': '0.00012000'}), 200); } @@ -92,7 +93,7 @@ void main() { final fee = await service.estimateFee(inputs: 1, outputs: 2); - expect(fee, 28); + expect(fee, 2712); }); test('throws detailed error when node rejects broadcast', () async {