| 902 | } |
| 903 | |
| 904 | u32 feerate_max(struct lightningd *ld, bool *unknown) |
| 905 | { |
| 906 | u32 feerate; |
| 907 | const u32 *feehistory = ld->topology->feehistory[FEERATE_MAX]; |
| 908 | |
| 909 | if (unknown) |
| 910 | *unknown = false; |
| 911 | |
| 912 | if (ld->config.ignore_fee_limits) |
| 913 | return UINT_MAX; |
| 914 | |
| 915 | /* If we don't know feerate, don't limit other side. */ |
| 916 | feerate = try_get_feerate(ld->topology, FEERATE_MAX); |
| 917 | if (!feerate) { |
| 918 | if (unknown) |
| 919 | *unknown = true; |
| 920 | return UINT_MAX; |
| 921 | } |
| 922 | |
| 923 | /* If one of last three was an outlier, use that. */ |
| 924 | for (size_t i = 0; i < FEE_HISTORY_NUM; i++) { |
| 925 | if (feehistory[i] > feerate) |
| 926 | feerate = feehistory[i]; |
| 927 | } |
| 928 | return feerate; |
| 929 | } |
| 930 | |
| 931 | /* On shutdown, channels get deleted last. That frees from our list, so |
| 932 | * do it now instead. */ |
no test coverage detected