guarantees fee fast >= medium >= slow regardless of what the server returns (#9)

This commit is contained in:
Nick Klockenga 2026-04-01 14:38:59 -04:00 committed by GitHub
parent 40a7a646ea
commit e8e52adee2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -912,10 +912,18 @@ final class BitcoinService {
if medRate > maxSaneRate { medRate = 2.0 }
if lowRate > maxSaneRate { lowRate = 1.0 }
let fast = highRate > 0 ? highRate : 5.0
var medium = medRate > 0 ? medRate : 2.0
var slow = lowRate > 0 ? lowRate : 1.0
// Ensure fees are monotonically decreasing: fast >= medium >= slow
if medium > fast { medium = fast }
if slow > medium { slow = medium }
return RecommendedFees(
fast: highRate > 0 ? highRate : 5.0,
medium: medRate > 0 ? medRate : 2.0,
slow: lowRate > 0 ? lowRate : 1.0
fast: fast,
medium: medium,
slow: slow
)
}.value
}