Coverage Report

Created: 2026-10-07 13:27

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/tmp/bitcoin/src/util/fees.cpp
Line
Count
Source
1
// Copyright (c) The Bitcoin Core developers
2
// Distributed under the MIT software license, see the accompanying
3
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5
#include <util/fees.h>
6
7
#include <util/strencodings.h>
8
9
#include <cassert>
10
#include <optional>
11
#include <string_view>
12
13
std::string_view FeeRateEstimatorTypeToString(FeeRateEstimatorType feerate_estimator_type)
14
9.36k
{
15
9.36k
    switch (feerate_estimator_type) {
16
1
    case FeeRateEstimatorType::AUTO:
17
1
        return "auto";
18
270
    case FeeRateEstimatorType::BLOCK_POLICY:
19
270
        return "block_policy";
20
9.09k
    case FeeRateEstimatorType::MEMPOOL_POLICY:
21
9.09k
        return "mempool_policy";
22
9.36k
    }
23
    // no default case, so the compiler can warn about missing cases
24
9.36k
    assert(false);
25
0
}
26
27
std::optional<FeeRateEstimatorType> FeeRateEstimatorTypeFromString(std::string_view feerate_estimator_type)
28
212
{
29
212
    const auto normalized{ToLower(feerate_estimator_type)};
30
212
    if (normalized == "auto") return FeeRateEstimatorType::AUTO;
31
191
    if (normalized == "block_policy") return FeeRateEstimatorType::BLOCK_POLICY;
32
14
    if (normalized == "mempool_policy") return FeeRateEstimatorType::MEMPOOL_POLICY;
33
6
    return std::nullopt;
34
14
}