Branch data Line data Source code
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 : 9491 : std::string_view FeeRateEstimatorTypeToString(FeeRateEstimatorType feerate_estimator_type)
14 : : {
15 [ + + + - ]: 9491 : 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 : 9220 : case FeeRateEstimatorType::MEMPOOL_POLICY:
21 : 9220 : return "mempool_policy";
22 : : }
23 : : // no default case, so the compiler can warn about missing cases
24 : 0 : assert(false);
25 : : }
26 : :
27 : 212 : std::optional<FeeRateEstimatorType> FeeRateEstimatorTypeFromString(std::string_view feerate_estimator_type)
28 : : {
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 : 212 : }
|